From d004cb0bd1730ce86d6eb0a825afcb11a438f2e2 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 3 Feb 2026 18:04:07 +0000 Subject: [PATCH 01/10] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 0b9b042..0c8dd4d 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 30 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/arcade-ai%2Farcade-engine-ba1aa76b54891af8c72220bd811d652cb2e743c4f86b8a589dd6cb2938b09f1c.yml -openapi_spec_hash: 10de3e6e4b87644087c976b62b571405 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/arcade-ai%2Farcade-engine-85fa40a220e2009303b6dcda87d3526d6b85d4fd7d847f3087fa1c25298c9b73.yml +openapi_spec_hash: 89b272ca7a371506a472167cbd606f13 config_hash: bf64816643634a621cd0ffd93d9c4347 From 96fb78b0625c87abd7f1fa6ee65cce34cfbe283a Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 4 Feb 2026 00:37:41 +0000 Subject: [PATCH 02/10] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 0c8dd4d..30e5c6a 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 30 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/arcade-ai%2Farcade-engine-85fa40a220e2009303b6dcda87d3526d6b85d4fd7d847f3087fa1c25298c9b73.yml -openapi_spec_hash: 89b272ca7a371506a472167cbd606f13 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/arcade-ai%2Farcade-engine-6d52b634f482cc502a90e01d73d216d52df3010d85bd9c6eba8a2feb1c2af5a1.yml +openapi_spec_hash: 3c9e7b5b2f87fb31340dca9394023a7e config_hash: bf64816643634a621cd0ffd93d9c4347 From bf937d46ddcc369e9da2032d2f5935a70ef0d3ab Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 4 Feb 2026 01:24:27 +0000 Subject: [PATCH 03/10] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 30e5c6a..87c7138 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 30 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/arcade-ai%2Farcade-engine-6d52b634f482cc502a90e01d73d216d52df3010d85bd9c6eba8a2feb1c2af5a1.yml -openapi_spec_hash: 3c9e7b5b2f87fb31340dca9394023a7e +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/arcade-ai%2Farcade-engine-d076f9130b9b5c626e52ca3ed9fecb5773255d64bfc57d6ec976a026ff1846ad.yml +openapi_spec_hash: b1d571389ebc7f6010d5d5e6bae3d245 config_hash: bf64816643634a621cd0ffd93d9c4347 From 1a83b3057f9879f7eb0c7252d0baadbd479e51bf Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 5 Feb 2026 04:47:29 +0000 Subject: [PATCH 04/10] chore(client): restructure abort controller binding --- src/client.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/client.ts b/src/client.ts index 990b945..a283aab 100644 --- a/src/client.ts +++ b/src/client.ts @@ -534,7 +534,7 @@ export class Arcade { controller: AbortController, ): Promise { const { signal, method, ...options } = init || {}; - const abort = controller.abort.bind(controller); + const abort = this._makeAbort(controller); if (signal) signal.addEventListener('abort', abort, { once: true }); const timeout = setTimeout(abort, ms); @@ -560,6 +560,7 @@ export class Arcade { return await this.fetch.call(undefined, url, fetchOptions); } finally { clearTimeout(timeout); + if (signal) signal.removeEventListener('abort', abort); } } @@ -704,6 +705,12 @@ export class Arcade { return headers.values; } + private _makeAbort(controller: AbortController) { + // note: we can't just inline this method inside `fetchWithTimeout()` because then the closure + // would capture all request options, and cause a memory leak. + return () => controller.abort(); + } + private buildBody({ options: { body, headers: rawHeaders } }: { options: FinalRequestOptions }): { bodyHeaders: HeadersLike; body: BodyInit | undefined; From bf01d02cfddbacf1270c1372461c08b38c322d6f Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 6 Feb 2026 02:11:30 +0000 Subject: [PATCH 05/10] feat(api): api update --- .stats.yml | 4 ++-- api.md | 2 +- src/resources/tools/formatted.ts | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.stats.yml b/.stats.yml index 87c7138..d5ba916 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 30 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/arcade-ai%2Farcade-engine-d076f9130b9b5c626e52ca3ed9fecb5773255d64bfc57d6ec976a026ff1846ad.yml -openapi_spec_hash: b1d571389ebc7f6010d5d5e6bae3d245 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/arcade-ai%2Farcade-engine-d9b4234b0e2a59b51f0152901538c963dfd29a16d744a2b5602ab527606f90bd.yml +openapi_spec_hash: 665bdf1916cf0ddaa3c320e966af1bb4 config_hash: bf64816643634a621cd0ffd93d9c4347 diff --git a/api.md b/api.md index a43259c..e9a9769 100644 --- a/api.md +++ b/api.md @@ -129,7 +129,7 @@ Types: Methods: - client.tools.formatted.list({ ...params }) -> FormattedListResponsesOffsetPage -- client.tools.formatted.get(name, { ...params }) -> unknown +- client.tools.formatted.get(name, { ...params }) -> FormattedGetResponse # Workers diff --git a/src/resources/tools/formatted.ts b/src/resources/tools/formatted.ts index 6c35ef8..b6f04d4 100644 --- a/src/resources/tools/formatted.ts +++ b/src/resources/tools/formatted.ts @@ -28,16 +28,16 @@ export class Formatted extends APIResource { name: string, query: FormattedGetParams | null | undefined = {}, options?: RequestOptions, - ): APIPromise { + ): APIPromise { return this._client.get(path`/v1/formatted_tools/${name}`, { query, ...options }); } } export type FormattedListResponsesOffsetPage = OffsetPage; -export type FormattedListResponse = unknown; +export type FormattedListResponse = { [key: string]: unknown }; -export type FormattedGetResponse = unknown; +export type FormattedGetResponse = { [key: string]: unknown }; export interface FormattedListParams extends OffsetPageParams { /** From 9c4802e63244418cf2e04f58c2c2e34b8735ba78 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 6 Feb 2026 06:29:05 +0000 Subject: [PATCH 06/10] fix(client): avoid removing abort listener too early --- src/client.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/client.ts b/src/client.ts index a283aab..cd76d0f 100644 --- a/src/client.ts +++ b/src/client.ts @@ -560,7 +560,6 @@ export class Arcade { return await this.fetch.call(undefined, url, fetchOptions); } finally { clearTimeout(timeout); - if (signal) signal.removeEventListener('abort', abort); } } From 6f96352e7736a1c9c7776f6c5917ec6ce5356040 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 6 Feb 2026 06:29:46 +0000 Subject: [PATCH 07/10] chore(internal): fix pagination internals not accepting option promises --- src/client.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/client.ts b/src/client.ts index cd76d0f..1f3d181 100644 --- a/src/client.ts +++ b/src/client.ts @@ -511,9 +511,14 @@ export class Arcade { getAPIList = Pagination.AbstractPage>( path: string, Page: new (...args: any[]) => PageClass, - opts?: RequestOptions, + opts?: PromiseOrValue, ): Pagination.PagePromise { - return this.requestAPIList(Page, { method: 'get', path, ...opts }); + return this.requestAPIList( + Page, + opts && 'then' in opts ? + opts.then((opts) => ({ method: 'get', path, ...opts })) + : { method: 'get', path, ...opts }, + ); } requestAPIList< @@ -521,7 +526,7 @@ export class Arcade { PageClass extends Pagination.AbstractPage = Pagination.AbstractPage, >( Page: new (...args: ConstructorParameters) => PageClass, - options: FinalRequestOptions, + options: PromiseOrValue, ): Pagination.PagePromise { const request = this.makeRequest(options, null, undefined); return new Pagination.PagePromise(this as any as Arcade, request, Page); From 332eae981cc04b4611cd47d354636bc66dd9d8f0 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 6 Feb 2026 06:31:42 +0000 Subject: [PATCH 08/10] chore(internal): upgrade pnpm --- .github/workflows/ci.yml | 6 +++--- package.json | 2 +- pnpm-lock.yaml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 842da6f..b52c109 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,7 +29,7 @@ jobs: - name: Set up pnpm uses: pnpm/action-setup@v4 with: - version: '10.24.0' + version: '10.27.0' - name: Bootstrap run: ./scripts/bootstrap @@ -56,7 +56,7 @@ jobs: - name: Set up pnpm uses: pnpm/action-setup@v4 with: - version: '10.24.0' + version: '10.27.0' - name: Bootstrap run: ./scripts/bootstrap @@ -94,7 +94,7 @@ jobs: - name: Set up pnpm uses: pnpm/action-setup@v4 with: - version: '10.24.0' + version: '10.27.0' - name: Bootstrap run: ./scripts/bootstrap diff --git a/package.json b/package.json index e1affe4..28672c6 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "type": "commonjs", "repository": "github:ArcadeAI/arcade-js", "license": "MIT", - "packageManager": "pnpm@10.24.0", + "packageManager": "pnpm@10.27.0", "files": [ "**/*" ], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9643a97..7a6d1aa 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1898,7 +1898,7 @@ packages: optional: true tsc-multi@https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz: - resolution: {tarball: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz} + resolution: {integrity: sha512-tWyCXnx0WqCkVlo5s+4KMj7HC0/0YrCZY0PustUwX9F2lNwd8Kp07q/Q56uGvV9q80XaSDrhy0YqBmrX5TDNpQ==, tarball: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz} version: 1.1.9 engines: {node: '>=14'} hasBin: true From b77308f5015f756200fa92f3aa9a1b0f3e995907 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 6 Feb 2026 21:30:47 +0000 Subject: [PATCH 09/10] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index d5ba916..d87998c 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 30 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/arcade-ai%2Farcade-engine-d9b4234b0e2a59b51f0152901538c963dfd29a16d744a2b5602ab527606f90bd.yml -openapi_spec_hash: 665bdf1916cf0ddaa3c320e966af1bb4 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/arcade-ai%2Farcade-engine-b0c6cc68de341e8d1e6f38b60aadfbffbeaf333804191a1e001f21b7524dcacb.yml +openapi_spec_hash: 772eb395f3ca214821653a6185ee0e4e config_hash: bf64816643634a621cd0ffd93d9c4347 From 74ae2891db67a853ee431621a05331dddace38fa Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 6 Feb 2026 21:31:07 +0000 Subject: [PATCH 10/10] release: 2.2.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 20 ++++++++++++++++++++ package.json | 2 +- src/version.ts | 2 +- 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 48fbed9..a5d1cf2 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "2.1.1" + ".": "2.2.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index b95f336..287c8ae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,25 @@ # Changelog +## 2.2.0 (2026-02-06) + +Full Changelog: [v2.1.1...v2.2.0](https://github.com/ArcadeAI/arcade-js/compare/v2.1.1...v2.2.0) + +### Features + +* **api:** api update ([bf01d02](https://github.com/ArcadeAI/arcade-js/commit/bf01d02cfddbacf1270c1372461c08b38c322d6f)) + + +### Bug Fixes + +* **client:** avoid removing abort listener too early ([9c4802e](https://github.com/ArcadeAI/arcade-js/commit/9c4802e63244418cf2e04f58c2c2e34b8735ba78)) + + +### Chores + +* **client:** restructure abort controller binding ([1a83b30](https://github.com/ArcadeAI/arcade-js/commit/1a83b3057f9879f7eb0c7252d0baadbd479e51bf)) +* **internal:** fix pagination internals not accepting option promises ([6f96352](https://github.com/ArcadeAI/arcade-js/commit/6f96352e7736a1c9c7776f6c5917ec6ce5356040)) +* **internal:** upgrade pnpm ([332eae9](https://github.com/ArcadeAI/arcade-js/commit/332eae981cc04b4611cd47d354636bc66dd9d8f0)) + ## 2.1.1 (2026-02-03) Full Changelog: [v2.1.0...v2.1.1](https://github.com/ArcadeAI/arcade-js/compare/v2.1.0...v2.1.1) diff --git a/package.json b/package.json index 28672c6..e21d4fb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@arcadeai/arcadejs", - "version": "2.1.1", + "version": "2.2.0", "description": "The official TypeScript library for the Arcade API", "author": "Arcade ", "types": "dist/index.d.ts", diff --git a/src/version.ts b/src/version.ts index 834ee24..7240400 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const VERSION = '2.1.1'; // x-release-please-version +export const VERSION = '2.2.0'; // x-release-please-version