Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ yarn-error.log
codegen.log
Brewfile.lock.json
dist
/deno
dist-deno
/*.tgz
.idea/

2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.1.0-alpha.3"
".": "0.1.0-alpha.4"
}
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# Changelog

## 0.1.0-alpha.4 (2024-11-15)

Full Changelog: [v0.1.0-alpha.3...v0.1.0-alpha.4](https://github.com/OmniStack-sh/omnistack-node/compare/v0.1.0-alpha.3...v0.1.0-alpha.4)

### Chores

* rebuild project due to codegen change ([#10](https://github.com/OmniStack-sh/omnistack-node/issues/10)) ([60aca76](https://github.com/OmniStack-sh/omnistack-node/commit/60aca76a6b443d636eeae13750f1858bc8fd07f9))
* rebuild project due to codegen change ([#11](https://github.com/OmniStack-sh/omnistack-node/issues/11)) ([ed48ff3](https://github.com/OmniStack-sh/omnistack-node/commit/ed48ff3f6f4d51be5a5bfa5994eed3b3a430fb48))
* rebuild project due to codegen change ([#12](https://github.com/OmniStack-sh/omnistack-node/issues/12)) ([89300f5](https://github.com/OmniStack-sh/omnistack-node/commit/89300f553297cfa4b100b5a4958c0323610abfb9))
* rebuild project due to codegen change ([#8](https://github.com/OmniStack-sh/omnistack-node/issues/8)) ([f4f7860](https://github.com/OmniStack-sh/omnistack-node/commit/f4f78606f5ec44dd99cfb6983e583d48315a3e28))

## 0.1.0-alpha.3 (2024-10-18)

Full Changelog: [v0.1.0-alpha.2...v0.1.0-alpha.3](https://github.com/OmniStack-sh/omnistack-node/compare/v0.1.0-alpha.2...v0.1.0-alpha.3)
Expand Down
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,15 @@ TypeScript >= 4.5 is supported.

The following runtimes are supported:

- Web browsers (Up-to-date Chrome, Firefox, Safari, Edge, and more)
- Node.js 18 LTS or later ([non-EOL](https://endoflife.date/nodejs)) versions.
- Deno v1.28.0 or higher, using `import Omnistack from "npm:omnistack-node"`.
- Bun 1.0 or later.
- Cloudflare Workers.
- Vercel Edge Runtime.
- Jest 28 or greater with the `"node"` environment (`"jsdom"` is not supported at this time).
- Nitro v2.6 or greater.

Note that React Native is not supported at this time.

If you are interested in other runtime environments, please open or upvote an issue on GitHub.
Expand Down
5 changes: 2 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "omnistack-node",
"version": "0.1.0-alpha.3",
"version": "0.1.0-alpha.4",
"description": "The official TypeScript library for the Omnistack API",
"author": "Omnistack <[email protected]>",
"types": "dist/index.d.ts",
Expand All @@ -10,7 +10,7 @@
"license": "Apache-2.0",
"packageManager": "[email protected]",
"files": [
"*"
"**/*"
],
"private": false,
"scripts": {
Expand Down Expand Up @@ -45,7 +45,6 @@
"jest": "^29.4.0",
"prettier": "^3.0.0",
"ts-jest": "^29.1.0",
"ts-morph": "^19.0.0",
"ts-node": "^10.5.0",
"tsc-multi": "^1.1.0",
"tsconfig-paths": "^4.0.0",
Expand Down
2 changes: 1 addition & 1 deletion scripts/build
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ node scripts/utils/postprocess-files.cjs
(cd dist && node -e 'require("omnistack-node")')
(cd dist && node -e 'import("omnistack-node")' --input-type=module)

if command -v deno &> /dev/null && [ -e ./scripts/build-deno ]
if [ -e ./scripts/build-deno ]
then
./scripts/build-deno
fi
20 changes: 12 additions & 8 deletions src/core.ts
Original file line number Diff line number Diff line change
Expand Up @@ -351,9 +351,13 @@ export abstract class APIClient {
delete reqHeaders['content-type'];
}

// Don't set the retry count header if it was already set or removed by the caller. We check `headers`,
// which can contain nulls, instead of `reqHeaders` to account for the removal case.
if (getHeader(headers, 'x-stainless-retry-count') === undefined) {
// Don't set the retry count header if it was already set or removed through default headers or by the
// caller. We check `defaultHeaders` and `headers`, which can contain nulls, instead of `reqHeaders` to
// account for the removal case.
if (
getHeader(defaultHeaders, 'x-stainless-retry-count') === undefined &&
getHeader(headers, 'x-stainless-retry-count') === undefined
) {
reqHeaders['x-stainless-retry-count'] = String(retryCount);
}

Expand Down Expand Up @@ -392,7 +396,7 @@ export abstract class APIClient {
error: Object | undefined,
message: string | undefined,
headers: Headers | undefined,
) {
): APIError {
return APIError.generate(status, error, message, headers);
}

Expand Down Expand Up @@ -664,17 +668,17 @@ export abstract class AbstractPage<Item> implements AsyncIterable<Item> {
return await this.#client.requestAPIList(this.constructor as any, nextOptions);
}

async *iterPages() {
async *iterPages(): AsyncGenerator<this> {
// eslint-disable-next-line @typescript-eslint/no-this-alias
let page: AbstractPage<Item> = this;
let page: this = this;
yield page;
while (page.hasNextPage()) {
page = await page.getNextPage();
yield page;
}
}

async *[Symbol.asyncIterator]() {
async *[Symbol.asyncIterator](): AsyncGenerator<Item> {
for await (const page of this.iterPages()) {
for (const item of page.getPaginatedItems()) {
yield item;
Expand Down Expand Up @@ -717,7 +721,7 @@ export class PagePromise<
* console.log(item)
* }
*/
async *[Symbol.asyncIterator]() {
async *[Symbol.asyncIterator](): AsyncGenerator<Item> {
const page = await this;
for await (const item of page) {
yield item;
Expand Down
2 changes: 1 addition & 1 deletion src/error.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ export class APIError extends OmnistackError {
errorResponse: Object | undefined,
message: string | undefined,
headers: Headers | undefined,
) {
): APIError {
if (!status) {
return new APIConnectionError({ message, cause: castToError(errorResponse) });
}
Expand Down
46 changes: 25 additions & 21 deletions src/index.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

import * as Errors from './error';
import * as Uploads from './uploads';
import { type Agent } from './_shims/index';
import * as Core from './core';
import * as Errors from './error';
import * as Uploads from './uploads';
import * as API from './resources/index';
import { CompletionCreateParams, CompletionCreateResponse, Completions } from './resources/completions';
import { Chats } from './resources/chats/chats';

export interface ClientOptions {
/**
Expand Down Expand Up @@ -158,7 +160,26 @@ export class Omnistack extends Core.APIClient {
static fileFromPath = Uploads.fileFromPath;
}

export const {
Omnistack.Chats = Chats;
Omnistack.Completions = Completions;
export declare namespace Omnistack {
export type RequestOptions = Core.RequestOptions;

export { Chats as Chats };

export {
Completions as Completions,
type CompletionCreateResponse as CompletionCreateResponse,
type CompletionCreateParams as CompletionCreateParams,
};

export type ProjectAPIKey = API.ProjectAPIKey;
export type ProjectServiceAccount = API.ProjectServiceAccount;
export type ProjectUser = API.ProjectUser;
}

export { toFile, fileFromPath } from './uploads';
export {
OmnistackError,
APIError,
APIConnectionError,
Expand All @@ -172,23 +193,6 @@ export const {
InternalServerError,
PermissionDeniedError,
UnprocessableEntityError,
} = Errors;

export import toFile = Uploads.toFile;
export import fileFromPath = Uploads.fileFromPath;

export namespace Omnistack {
export import RequestOptions = Core.RequestOptions;

export import Chats = API.Chats;

export import Completions = API.Completions;
export import CompletionCreateResponse = API.CompletionCreateResponse;
export import CompletionCreateParams = API.CompletionCreateParams;

export import ProjectAPIKey = API.ProjectAPIKey;
export import ProjectServiceAccount = API.ProjectServiceAccount;
export import ProjectUser = API.ProjectUser;
}
} from './error';

export default Omnistack;
13 changes: 0 additions & 13 deletions src/internal/qs/LICENSE.md

This file was deleted.

3 changes: 0 additions & 3 deletions src/internal/qs/README.md

This file was deleted.

9 changes: 0 additions & 9 deletions src/internal/qs/formats.ts

This file was deleted.

13 changes: 0 additions & 13 deletions src/internal/qs/index.ts

This file was deleted.

Loading