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 .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "1.15.0"
".": "1.16.0"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -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
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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)
Expand Down
1 change: 1 addition & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ Types:

Methods:

- <code title="post /v1/admin/secrets/{secret_key}">client.admin.secrets.<a href="./src/resources/admin/secrets.ts">create</a>(secretKey, { ...params }) -> SecretResponse</code>
- <code title="get /v1/admin/secrets">client.admin.secrets.<a href="./src/resources/admin/secrets.ts">list</a>() -> SecretListResponse</code>
- <code title="delete /v1/admin/secrets/{secret_id}">client.admin.secrets.<a href="./src/resources/admin/secrets.ts">delete</a>(secretId) -> void</code>

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>",
"types": "dist/index.d.ts",
Expand Down
3 changes: 2 additions & 1 deletion src/resources/admin/admin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -54,5 +54,6 @@ export declare namespace Admin {
Secrets as Secrets,
type SecretResponse as SecretResponse,
type SecretListResponse as SecretListResponse,
type SecretCreateParams as SecretCreateParams,
};
}
2 changes: 1 addition & 1 deletion src/resources/admin/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
23 changes: 22 additions & 1 deletion src/resources/admin/secrets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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<SecretResponse> {
return this._client.post(`/v1/admin/secrets/${secretKey}`, { body, ...options });
}

/**
* List all secrets that are visible to the caller
*/
Expand Down Expand Up @@ -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,
};
}
2 changes: 1 addition & 1 deletion src/version.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export const VERSION = '1.15.0'; // x-release-please-version
export const VERSION = '1.16.0'; // x-release-please-version
18 changes: 18 additions & 0 deletions tests/api-resources/admin/secrets.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down