diff options
| author | Paolo Ricciuti <[email protected]> | 2026-01-04 16:12:54 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-01-04 09:12:54 -0600 |
| commit | 21dc3c24d9243d81fdc1c3b23aa1f160df213a50 (patch) | |
| tree | 23a8f343c93a1a4d2fa418c8329433ecd7686708 /packages/sdk/js | |
| parent | e00621cb171b21b2d1d7fd8c55b04601a469a214 (diff) | |
| download | opencode-21dc3c24d9243d81fdc1c3b23aa1f160df213a50.tar.gz opencode-21dc3c24d9243d81fdc1c3b23aa1f160df213a50.zip | |
feat: mcp resources (#6542)
Diffstat (limited to 'packages/sdk/js')
| -rw-r--r-- | packages/sdk/js/src/v2/gen/sdk.gen.ts | 28 | ||||
| -rw-r--r-- | packages/sdk/js/src/v2/gen/types.gen.ts | 38 |
2 files changed, 65 insertions, 1 deletions
diff --git a/packages/sdk/js/src/v2/gen/sdk.gen.ts b/packages/sdk/js/src/v2/gen/sdk.gen.ts index 01de8c183..81d50b28e 100644 --- a/packages/sdk/js/src/v2/gen/sdk.gen.ts +++ b/packages/sdk/js/src/v2/gen/sdk.gen.ts @@ -21,6 +21,7 @@ import type { EventTuiPromptAppend, EventTuiSessionSelect, EventTuiToastShow, + ExperimentalResourceListResponses, FileListResponses, FilePartInput, FileReadResponses, @@ -2431,6 +2432,31 @@ export class Mcp extends HeyApiClient { auth = new Auth({ client: this.client }) } +export class Resource extends HeyApiClient { + /** + * Get MCP resources + * + * Get all available MCP resources from connected servers. Optionally filter by name. + */ + public list<ThrowOnError extends boolean = false>( + parameters?: { + directory?: string + }, + options?: Options<never, ThrowOnError>, + ) { + const params = buildClientParams([parameters], [{ args: [{ in: "query", key: "directory" }] }]) + return (options?.client ?? this.client).get<ExperimentalResourceListResponses, unknown, ThrowOnError>({ + url: "/experimental/resource", + ...options, + ...params, + }) + } +} + +export class Experimental extends HeyApiClient { + resource = new Resource({ client: this.client }) +} + export class Lsp extends HeyApiClient { /** * Get LSP status @@ -2873,6 +2899,8 @@ export class OpencodeClient extends HeyApiClient { mcp = new Mcp({ client: this.client }) + experimental = new Experimental({ client: this.client }) + lsp = new Lsp({ client: this.client }) formatter = new Formatter({ client: this.client }) diff --git a/packages/sdk/js/src/v2/gen/types.gen.ts b/packages/sdk/js/src/v2/gen/types.gen.ts index e42d2ed22..5ca8fa8f6 100644 --- a/packages/sdk/js/src/v2/gen/types.gen.ts +++ b/packages/sdk/js/src/v2/gen/types.gen.ts @@ -252,7 +252,14 @@ export type SymbolSource = { kind: number } -export type FilePartSource = FileSource | SymbolSource +export type ResourceSource = { + text: FilePartSourceText + type: "resource" + clientName: string + uri: string +} + +export type FilePartSource = FileSource | SymbolSource | ResourceSource export type FilePart = { id: string @@ -1953,6 +1960,14 @@ export type McpStatus = | McpStatusNeedsAuth | McpStatusNeedsClientRegistration +export type McpResource = { + name: string + uri: string + description?: string + mimeType?: string + client: string +} + export type LspStatus = { id: string name: string @@ -4155,6 +4170,27 @@ export type McpDisconnectResponses = { export type McpDisconnectResponse = McpDisconnectResponses[keyof McpDisconnectResponses] +export type ExperimentalResourceListData = { + body?: never + path?: never + query?: { + directory?: string + } + url: "/experimental/resource" +} + +export type ExperimentalResourceListResponses = { + /** + * MCP resources + */ + 200: { + [key: string]: McpResource + } +} + +export type ExperimentalResourceListResponse = + ExperimentalResourceListResponses[keyof ExperimentalResourceListResponses] + export type LspStatusData = { body?: never path?: never |
