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();