diff --git a/.release-please-manifest.json b/.release-please-manifest.json index a25d1bc..5677a32 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.15.0" + ".": "1.16.0" } diff --git a/.stats.yml b/.stats.yml index 104433a..59d6b2e 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ -configured_endpoints: 29 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/arcade-ai%2Farcade-engine-4dc4e58ef402ce5362e0a8988b3928a8bfa0d5ba847f7ad8b14226a0cf282f28.yml -openapi_spec_hash: fb72b9121306240c419669a3d42e45f6 -config_hash: 70cdb57c982c578d1961657c07b8b397 +configured_endpoints: 30 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/arcade-ai%2Farcade-engine-7ecb40b6650ff002eed02efd1b59c630abe1fb9eb70c9c916c15b115260e5003.yml +openapi_spec_hash: 2e5c04d1a50afcd0bdbd9737cec227c9 +config_hash: b31a3f1bbe9abcc7bb144942d88ad1b6 diff --git a/CHANGELOG.md b/CHANGELOG.md index 810f135..c4669ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,25 @@ # Changelog +## 1.16.0 (2025-12-13) + +Full Changelog: [v1.15.0...v1.16.0](https://github.com/ArcadeAI/arcade-js/compare/v1.15.0...v1.16.0) + +### Features + +* **api:** api update ([b7ca2d2](https://github.com/ArcadeAI/arcade-js/commit/b7ca2d24fa2454a3ee1451728261ac716be89f12)) + + +### Bug Fixes + +* **mcp:** correct code tool API endpoint ([fc6bf5a](https://github.com/ArcadeAI/arcade-js/commit/fc6bf5a6ca643e49747cf4ce663493f7bcd42ff4)) +* **mcp:** return correct lines on typescript errors ([d9e2e83](https://github.com/ArcadeAI/arcade-js/commit/d9e2e8373bccfaf57fd379b305ed6b01629d02a0)) + + +### Chores + +* **internal:** codegen related update ([b0959a9](https://github.com/ArcadeAI/arcade-js/commit/b0959a9b2c05d9343e6eb34e86d007b47913ec25)) +* **internal:** codegen related update ([ca10d38](https://github.com/ArcadeAI/arcade-js/commit/ca10d381ea557762282aa9441b070a7abdfa9e2d)) + ## 1.15.0 (2025-12-08) Full Changelog: [v1.14.0...v1.15.0](https://github.com/ArcadeAI/arcade-js/compare/v1.14.0...v1.15.0) diff --git a/api.md b/api.md index f9bb2b6..753db04 100644 --- a/api.md +++ b/api.md @@ -45,6 +45,7 @@ Types: Methods: +- client.admin.secrets.create(secretKey, { ...params }) -> SecretResponse - client.admin.secrets.list() -> SecretListResponse - client.admin.secrets.delete(secretId) -> void diff --git a/package.json b/package.json index 3d0d4e6..2a410b9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@arcadeai/arcadejs", - "version": "1.15.0", + "version": "1.16.0", "description": "The official TypeScript library for the Arcade API", "author": "Arcade ", "types": "dist/index.d.ts", diff --git a/src/resources/admin/admin.ts b/src/resources/admin/admin.ts index d1285d9..c1c15cf 100644 --- a/src/resources/admin/admin.ts +++ b/src/resources/admin/admin.ts @@ -12,7 +12,7 @@ import { AuthProviders, } from './auth-providers'; import * as SecretsAPI from './secrets'; -import { SecretListResponse, SecretResponse, Secrets } from './secrets'; +import { SecretCreateParams, SecretListResponse, SecretResponse, Secrets } from './secrets'; import * as UserConnectionsAPI from './user-connections'; import { UserConnectionListParams, @@ -54,5 +54,6 @@ export declare namespace Admin { Secrets as Secrets, type SecretResponse as SecretResponse, type SecretListResponse as SecretListResponse, + type SecretCreateParams as SecretCreateParams, }; } diff --git a/src/resources/admin/index.ts b/src/resources/admin/index.ts index e53c667..e55b32d 100644 --- a/src/resources/admin/index.ts +++ b/src/resources/admin/index.ts @@ -10,7 +10,7 @@ export { type AuthProviderCreateParams, type AuthProviderPatchParams, } from './auth-providers'; -export { Secrets, type SecretResponse, type SecretListResponse } from './secrets'; +export { Secrets, type SecretResponse, type SecretListResponse, type SecretCreateParams } from './secrets'; export { UserConnectionResponsesOffsetPage, UserConnections, diff --git a/src/resources/admin/secrets.ts b/src/resources/admin/secrets.ts index ec5cdc9..b5a085a 100644 --- a/src/resources/admin/secrets.ts +++ b/src/resources/admin/secrets.ts @@ -4,6 +4,17 @@ import { APIResource } from '../../resource'; import * as Core from '../../core'; export class Secrets extends APIResource { + /** + * Create or update a secret + */ + create( + secretKey: string, + body: SecretCreateParams, + options?: Core.RequestOptions, + ): Core.APIPromise { + return this._client.post(`/v1/admin/secrets/${secretKey}`, { body, ...options }); + } + /** * List all secrets that are visible to the caller */ @@ -60,6 +71,16 @@ export interface SecretListResponse { total_count?: number; } +export interface SecretCreateParams { + value: string; + + description?: string; +} + export declare namespace Secrets { - export { type SecretResponse as SecretResponse, type SecretListResponse as SecretListResponse }; + export { + type SecretResponse as SecretResponse, + type SecretListResponse as SecretListResponse, + type SecretCreateParams as SecretCreateParams, + }; } diff --git a/src/version.ts b/src/version.ts index 3bddfe0..b94d5b1 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const VERSION = '1.15.0'; // x-release-please-version +export const VERSION = '1.16.0'; // x-release-please-version diff --git a/tests/api-resources/admin/secrets.test.ts b/tests/api-resources/admin/secrets.test.ts index 3e175e8..9909857 100644 --- a/tests/api-resources/admin/secrets.test.ts +++ b/tests/api-resources/admin/secrets.test.ts @@ -9,6 +9,24 @@ const client = new Arcade({ }); describe('resource secrets', () => { + test('create: only required params', async () => { + const responsePromise = client.admin.secrets.create('secret_key', { value: 'value' }); + const rawResponse = await responsePromise.asResponse(); + expect(rawResponse).toBeInstanceOf(Response); + const response = await responsePromise; + expect(response).not.toBeInstanceOf(Response); + const dataAndResponse = await responsePromise.withResponse(); + expect(dataAndResponse.data).toBe(response); + expect(dataAndResponse.response).toBe(rawResponse); + }); + + test('create: required and optional params', async () => { + const response = await client.admin.secrets.create('secret_key', { + value: 'value', + description: 'description', + }); + }); + test('list', async () => { const responsePromise = client.admin.secrets.list(); const rawResponse = await responsePromise.asResponse();