@agent-os-sdk/client 0.9.9 → 0.9.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/client/AgentOsClient.d.ts +2 -0
  2. package/dist/client/AgentOsClient.d.ts.map +1 -1
  3. package/dist/client/AgentOsClient.js +4 -0
  4. package/dist/client/HttpRequestBuilder.d.ts +1 -0
  5. package/dist/client/HttpRequestBuilder.d.ts.map +1 -1
  6. package/dist/client/HttpRequestBuilder.js +6 -2
  7. package/dist/client/auth.d.ts +4 -0
  8. package/dist/client/auth.d.ts.map +1 -1
  9. package/dist/client/raw.d.ts +12 -0
  10. package/dist/client/raw.d.ts.map +1 -1
  11. package/dist/client/raw.js +67 -3
  12. package/dist/index.d.ts +1 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +1 -0
  15. package/dist/modules/agents.d.ts +29 -0
  16. package/dist/modules/agents.d.ts.map +1 -1
  17. package/dist/modules/agents.js +23 -0
  18. package/dist/modules/builder.d.ts +0 -4
  19. package/dist/modules/builder.d.ts.map +1 -1
  20. package/dist/modules/files.d.ts +34 -13
  21. package/dist/modules/files.d.ts.map +1 -1
  22. package/dist/modules/files.js +86 -19
  23. package/dist/modules/graphs.d.ts +1 -1
  24. package/dist/modules/graphs.d.ts.map +1 -1
  25. package/dist/modules/members.d.ts +0 -6
  26. package/dist/modules/members.d.ts.map +1 -1
  27. package/dist/modules/members.js +0 -6
  28. package/dist/modules/observability.d.ts +19 -0
  29. package/dist/modules/observability.d.ts.map +1 -0
  30. package/dist/modules/observability.js +14 -0
  31. package/dist/modules/runs.d.ts +2 -0
  32. package/dist/modules/runs.d.ts.map +1 -1
  33. package/dist/modules/runs.js +2 -2
  34. package/dist/modules/threads.js +2 -2
  35. package/dist/modules/vectorStores.d.ts +6 -3
  36. package/dist/modules/vectorStores.d.ts.map +1 -1
  37. package/dist/modules/vectorStores.js +86 -14
  38. package/package.json +2 -2
  39. package/src/client/AgentOsClient.ts +4 -0
  40. package/src/client/HttpRequestBuilder.ts +7 -2
  41. package/src/client/auth.ts +4 -0
  42. package/src/client/raw.ts +91 -4
  43. package/src/index.ts +1 -0
  44. package/src/modules/agents.ts +52 -0
  45. package/src/modules/builder.ts +0 -7
  46. package/src/modules/files.ts +125 -29
  47. package/src/modules/graphs.ts +1 -1
  48. package/src/modules/members.ts +0 -7
  49. package/src/modules/observability.ts +28 -0
  50. package/src/modules/runs.ts +4 -2
  51. package/src/modules/threads.ts +2 -2
  52. package/src/modules/vectorStores.ts +115 -18
  53. package/dist/modules/dlq.d.ts +0 -81
  54. package/dist/modules/dlq.d.ts.map +0 -1
  55. package/dist/modules/dlq.js +0 -66
  56. package/dist/modules/mcp.d.ts +0 -39
  57. package/dist/modules/mcp.d.ts.map +0 -1
  58. package/dist/modules/mcp.js +0 -38
@@ -11,7 +11,6 @@ type VectorStoreFileResponse = components["schemas"]["VectorStoreFileResponse"];
11
11
  export interface VectorStore {
12
12
  id: string;
13
13
  name: string;
14
- workspace_id: string;
15
14
  embedding_provider: string;
16
15
  embedding_model: string;
17
16
  dimension: number;
@@ -52,6 +51,42 @@ export interface VectorStoreFilesResponse {
52
51
  total: number;
53
52
  }
54
53
 
54
+ type VectorStoreLike = VectorStoreResponse & {
55
+ embeddingProvider?: string;
56
+ embeddingModel?: string;
57
+ credentialBindingAlias?: string;
58
+ fileCount?: number;
59
+ createdAt?: string;
60
+ };
61
+
62
+ type VectorStoreFileLike = VectorStoreFileResponse & {
63
+ fileId?: string;
64
+ createdAt?: string;
65
+ };
66
+
67
+ function toVectorStore(item: VectorStoreLike): VectorStore {
68
+ return {
69
+ id: item.id ?? "",
70
+ name: item.name ?? "",
71
+ embedding_provider: item.embedding_provider ?? item.embeddingProvider ?? "",
72
+ embedding_model: item.embedding_model ?? item.embeddingModel ?? "",
73
+ dimension: item.dimension ?? 0,
74
+ credential_binding_alias: item.credential_binding_alias ?? item.credentialBindingAlias ?? undefined,
75
+ file_count: item.file_count ?? item.fileCount ?? 0,
76
+ created_at: item.created_at ?? item.createdAt ?? "",
77
+ };
78
+ }
79
+
80
+ function toVectorStoreFile(item: VectorStoreFileLike): VectorStoreFile {
81
+ return {
82
+ id: item.id ?? "",
83
+ file_id: item.file_id ?? item.fileId ?? "",
84
+ filename: item.filename ?? "",
85
+ status: (item.status ?? "pending") as VectorStoreFile["status"],
86
+ created_at: item.created_at ?? item.createdAt ?? "",
87
+ };
88
+ }
89
+
55
90
  export class VectorStoresModule {
56
91
  constructor(private client: RawClient, private headers: () => Record<string, string>) { }
57
92
 
@@ -63,20 +98,41 @@ export class VectorStoresModule {
63
98
  limit?: number;
64
99
  offset?: number;
65
100
  }): Promise<APIResponse<VectorStoreListResponse>> {
66
- return this.client.GET<VectorStoreListResponse>("/v1/api/vector-stores", {
101
+ const response = await this.client.GET<VectorStoreResponse[]>("/v1/api/vector-stores", {
67
102
  params: { query: params },
68
103
  headers: this.headers(),
69
104
  });
105
+
106
+ const items = Array.isArray(response.data)
107
+ ? response.data.map((item) => toVectorStore(item))
108
+ : [];
109
+
110
+ return {
111
+ ...response,
112
+ data: {
113
+ items,
114
+ total: items.length,
115
+ },
116
+ };
70
117
  }
71
118
 
72
119
  /**
73
120
  * Get a vector store by ID.
74
121
  */
75
122
  async get(storeId: string): Promise<APIResponse<VectorStore>> {
76
- return this.client.GET<VectorStore>("/v1/api/vector-stores/{id}", {
77
- params: { path: { id: storeId } },
123
+ const response = await this.client.GET<VectorStoreResponse>("/v1/api/vector-stores/{vectorStoreId}", {
124
+ params: { path: { vectorStoreId: storeId } },
78
125
  headers: this.headers(),
79
126
  });
127
+
128
+ if (!response.data) {
129
+ return response as APIResponse<VectorStore>;
130
+ }
131
+
132
+ return {
133
+ ...response,
134
+ data: toVectorStore(response.data),
135
+ };
80
136
  }
81
137
 
82
138
  /**
@@ -89,18 +145,27 @@ export class VectorStoresModule {
89
145
  dimension?: number;
90
146
  credential_binding_alias?: string;
91
147
  }): Promise<APIResponse<VectorStore>> {
92
- return this.client.POST<VectorStore>("/v1/api/vector-stores", {
148
+ const response = await this.client.POST<VectorStoreResponse>("/v1/api/vector-stores", {
93
149
  body,
94
150
  headers: this.headers(),
95
151
  });
152
+
153
+ if (!response.data) {
154
+ return response as APIResponse<VectorStore>;
155
+ }
156
+
157
+ return {
158
+ ...response,
159
+ data: toVectorStore(response.data),
160
+ };
96
161
  }
97
162
 
98
163
  /**
99
164
  * Delete a vector store.
100
165
  */
101
166
  async delete(storeId: string): Promise<APIResponse<void>> {
102
- return this.client.DELETE<void>("/v1/api/vector-stores/{id}", {
103
- params: { path: { id: storeId } },
167
+ return this.client.DELETE<void>("/v1/api/vector-stores/{vectorStoreId}", {
168
+ params: { path: { vectorStoreId: storeId } },
104
169
  headers: this.headers(),
105
170
  });
106
171
  }
@@ -115,11 +180,11 @@ export class VectorStoresModule {
115
180
  top_k?: number;
116
181
  min_score?: number;
117
182
  }): Promise<APIResponse<VectorQueryResult>> {
118
- return this.client.POST<VectorQueryResult>("/v1/api/vector-stores/{id}/query", {
119
- params: { path: { id: storeId } },
183
+ return this.client.POST<VectorQueryResponse>("/v1/api/vector-stores/{vectorStoreId}/query", {
184
+ params: { path: { vectorStoreId: storeId } },
120
185
  body,
121
186
  headers: this.headers(),
122
- });
187
+ }) as Promise<APIResponse<VectorQueryResult>>;
123
188
  }
124
189
 
125
190
  // ======================== Files ========================
@@ -128,32 +193,64 @@ export class VectorStoresModule {
128
193
  * List files in a vector store.
129
194
  */
130
195
  async listFiles(storeId: string, params?: {
131
- limit?: number;
132
- offset?: number;
196
+ skip?: number;
197
+ take?: number;
133
198
  }): Promise<APIResponse<VectorStoreFilesResponse>> {
134
- return this.client.GET<VectorStoreFilesResponse>("/v1/api/vector-stores/{id}/files", {
135
- params: { path: { id: storeId }, query: params },
199
+ const response = await this.client.GET<VectorStoreFileResponse[]>("/v1/api/vector-stores/{vectorStoreId}/files", {
200
+ params: { path: { vectorStoreId: storeId }, query: params },
136
201
  headers: this.headers(),
137
202
  });
203
+
204
+ const items = Array.isArray(response.data)
205
+ ? response.data.map((item) => toVectorStoreFile(item))
206
+ : [];
207
+
208
+ return {
209
+ ...response,
210
+ data: {
211
+ items,
212
+ total: items.length,
213
+ },
214
+ };
138
215
  }
139
216
 
140
217
  /**
141
218
  * Attach a file to a vector store.
142
219
  */
143
220
  async attachFile(storeId: string, fileId: string): Promise<APIResponse<VectorStoreFile>> {
144
- return this.client.POST<VectorStoreFile>("/v1/api/vector-stores/{id}/files", {
145
- params: { path: { id: storeId } },
221
+ const response = await this.client.POST<VectorStoreFileResponse>("/v1/api/vector-stores/{vectorStoreId}/files", {
222
+ params: { path: { vectorStoreId: storeId } },
146
223
  body: { file_id: fileId },
147
224
  headers: this.headers(),
148
225
  });
226
+
227
+ if (!response.data) {
228
+ return response as APIResponse<VectorStoreFile>;
229
+ }
230
+
231
+ return {
232
+ ...response,
233
+ data: toVectorStoreFile(response.data),
234
+ };
149
235
  }
150
236
 
151
237
  /**
152
238
  * Remove a file from a vector store.
153
239
  */
154
240
  async removeFile(storeId: string, fileId: string): Promise<APIResponse<void>> {
155
- return this.client.DELETE<void>("/v1/api/vector-stores/{id}/files/{fileId}", {
156
- params: { path: { id: storeId, fileId } },
241
+ return this.client.DELETE<void>("/v1/api/vector-stores/{vectorStoreId}/files/{fileId}", {
242
+ params: { path: { vectorStoreId: storeId, fileId } },
243
+ headers: this.headers(),
244
+ });
245
+ }
246
+
247
+ /**
248
+ * Bind a vector store to an agent.
249
+ */
250
+ async bindAgent(storeId: string, agentId: string): Promise<APIResponse<void>> {
251
+ return this.client.POST<void>("/v1/api/vector-stores/{vectorStoreId}/bind-agent", {
252
+ params: { path: { vectorStoreId: storeId } },
253
+ body: { agent_id: agentId },
157
254
  headers: this.headers(),
158
255
  });
159
256
  }
@@ -1,81 +0,0 @@
1
- /**
2
- * DLQ Module - Fully Typed
3
- */
4
- import type { RawClient, APIResponse } from "../client/raw.js";
5
- export interface DlqMessage {
6
- id: string;
7
- workspace_id: string;
8
- message_type: string;
9
- original_run_id?: string;
10
- bundle_id?: string;
11
- error_code?: string;
12
- error_detail?: string;
13
- is_poison: boolean;
14
- retry_count: number;
15
- failed_at: string;
16
- created_at: string;
17
- payload?: unknown;
18
- dead_letter_reason?: string;
19
- attempt_id?: string;
20
- }
21
- export interface DlqListItem {
22
- id: string;
23
- message_type: string;
24
- original_run_id?: string;
25
- bundle_id?: string;
26
- error_code?: string;
27
- error_detail?: string;
28
- is_poison: boolean;
29
- retry_count: number;
30
- failed_at: string;
31
- created_at: string;
32
- }
33
- export interface DlqListResponse {
34
- items: DlqListItem[];
35
- total: number;
36
- skip: number;
37
- take: number;
38
- }
39
- export interface DlqRetryResponse {
40
- retried: boolean;
41
- new_run_id?: string;
42
- retry_count?: number;
43
- removed_from_dlq?: boolean;
44
- message?: string;
45
- error?: string;
46
- }
47
- export interface DlqPurgeResponse {
48
- deleted_count: number;
49
- }
50
- export declare class DlqModule {
51
- private client;
52
- private headers;
53
- constructor(client: RawClient, headers: () => Record<string, string>);
54
- /**
55
- * List DLQ messages.
56
- */
57
- list(params?: {
58
- queue_name?: string;
59
- limit?: number;
60
- offset?: number;
61
- }): Promise<APIResponse<DlqListResponse>>;
62
- /**
63
- * Get a DLQ message by ID.
64
- */
65
- get(messageId: string): Promise<APIResponse<DlqMessage>>;
66
- /**
67
- * Retry a DLQ message.
68
- */
69
- retry(messageId: string): Promise<APIResponse<DlqRetryResponse>>;
70
- /**
71
- * Delete a DLQ message.
72
- */
73
- delete(messageId: string): Promise<APIResponse<void>>;
74
- /**
75
- * Purge DLQ messages.
76
- */
77
- purge(params?: {
78
- queue_name?: string;
79
- }): Promise<APIResponse<DlqPurgeResponse>>;
80
- }
81
- //# sourceMappingURL=dlq.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dlq.d.ts","sourceRoot":"","sources":["../../src/modules/dlq.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/D,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC7B,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,SAAS;IACN,OAAO,CAAC,MAAM;IAAa,OAAO,CAAC,OAAO;gBAAlC,MAAM,EAAE,SAAS,EAAU,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAEpF;;OAEG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IAazC;;OAEG;IACG,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAO9D;;OAEG;IACG,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAOtE;;OAEG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAO3D;;OAEG;IACG,KAAK,CAAC,MAAM,CAAC,EAAE;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;CAS7C"}
@@ -1,66 +0,0 @@
1
- /**
2
- * DLQ Module - Fully Typed
3
- */
4
- export class DlqModule {
5
- client;
6
- headers;
7
- constructor(client, headers) {
8
- this.client = client;
9
- this.headers = headers;
10
- }
11
- /**
12
- * List DLQ messages.
13
- */
14
- async list(params) {
15
- const queryParams = {};
16
- if (params?.queue_name)
17
- queryParams.messageType = params.queue_name;
18
- if (params?.limit !== undefined)
19
- queryParams.take = params.limit;
20
- if (params?.offset !== undefined)
21
- queryParams.skip = params.offset;
22
- return this.client.GET("/v1/api/runs/dlq", {
23
- params: { query: queryParams },
24
- headers: this.headers(),
25
- });
26
- }
27
- /**
28
- * Get a DLQ message by ID.
29
- */
30
- async get(messageId) {
31
- return this.client.GET("/v1/api/runs/dlq/{id}", {
32
- params: { path: { id: messageId } },
33
- headers: this.headers(),
34
- });
35
- }
36
- /**
37
- * Retry a DLQ message.
38
- */
39
- async retry(messageId) {
40
- return this.client.POST("/v1/api/runs/dlq/{id}/retry", {
41
- params: { path: { id: messageId } },
42
- headers: this.headers(),
43
- });
44
- }
45
- /**
46
- * Delete a DLQ message.
47
- */
48
- async delete(messageId) {
49
- return this.client.DELETE("/v1/api/runs/dlq/{id}", {
50
- params: { path: { id: messageId } },
51
- headers: this.headers(),
52
- });
53
- }
54
- /**
55
- * Purge DLQ messages.
56
- */
57
- async purge(params) {
58
- const queryParams = {};
59
- if (params?.queue_name)
60
- queryParams.messageType = params.queue_name;
61
- return this.client.DELETE("/v1/api/runs/dlq/purge", {
62
- params: { query: queryParams },
63
- headers: this.headers(),
64
- });
65
- }
66
- }
@@ -1,39 +0,0 @@
1
- /**
2
- * MCP Module - Fully Typed (Model Context Protocol)
3
- */
4
- import type { RawClient, APIResponse } from "../client/raw.js";
5
- export interface McpServer {
6
- id: string;
7
- name: string;
8
- url: string;
9
- status: "connected" | "disconnected" | "error";
10
- capabilities?: string[];
11
- created_at: string;
12
- }
13
- export interface McpServerListResponse {
14
- items: McpServer[];
15
- total: number;
16
- }
17
- export interface McpToolCallResult {
18
- success: boolean;
19
- output?: unknown;
20
- error?: string;
21
- }
22
- export declare class McpModule {
23
- private client;
24
- private headers;
25
- constructor(client: RawClient, headers: () => Record<string, string>);
26
- /**
27
- * List MCP servers.
28
- */
29
- listServers(): Promise<APIResponse<McpServerListResponse>>;
30
- /**
31
- * Get an MCP server.
32
- */
33
- getServer(serverId: string): Promise<APIResponse<McpServer>>;
34
- /**
35
- * Call an MCP tool.
36
- */
37
- callTool(serverId: string, toolName: string, args: unknown): Promise<APIResponse<McpToolCallResult>>;
38
- }
39
- //# sourceMappingURL=mcp.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/modules/mcp.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/D,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,WAAW,GAAG,cAAc,GAAG,OAAO,CAAC;IAC/C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,SAAS;IACN,OAAO,CAAC,MAAM;IAAa,OAAO,CAAC,OAAO;gBAAlC,MAAM,EAAE,SAAS,EAAU,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAEpF;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAMhE;;OAEG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAOlE;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;CAO7G"}
@@ -1,38 +0,0 @@
1
- /**
2
- * MCP Module - Fully Typed (Model Context Protocol)
3
- */
4
- export class McpModule {
5
- client;
6
- headers;
7
- constructor(client, headers) {
8
- this.client = client;
9
- this.headers = headers;
10
- }
11
- /**
12
- * List MCP servers.
13
- */
14
- async listServers() {
15
- return this.client.GET("/v1/api/mcp/servers", {
16
- headers: this.headers(),
17
- });
18
- }
19
- /**
20
- * Get an MCP server.
21
- */
22
- async getServer(serverId) {
23
- return this.client.GET("/v1/api/mcp/servers/{id}", {
24
- params: { path: { id: serverId } },
25
- headers: this.headers(),
26
- });
27
- }
28
- /**
29
- * Call an MCP tool.
30
- */
31
- async callTool(serverId, toolName, args) {
32
- return this.client.POST("/v1/api/mcp/servers/{id}/tools/{toolName}/call", {
33
- params: { path: { id: serverId, toolName } },
34
- body: { arguments: args },
35
- headers: this.headers(),
36
- });
37
- }
38
- }