@xenosystem/agent-sdk 0.8.12

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 (175) hide show
  1. package/LICENSE +15 -0
  2. package/README.md +511 -0
  3. package/dist/agents/index.cjs +17 -0
  4. package/dist/agents/index.d.cts +244 -0
  5. package/dist/agents/index.d.ts +244 -0
  6. package/dist/agents/index.js +17 -0
  7. package/dist/agents/metafile-cjs.json +1 -0
  8. package/dist/agents/metafile-esm.json +1 -0
  9. package/dist/artifacts/browser.cjs +1 -0
  10. package/dist/artifacts/browser.d.cts +8 -0
  11. package/dist/artifacts/browser.d.ts +8 -0
  12. package/dist/artifacts/browser.js +1 -0
  13. package/dist/artifacts/diff-artifact-C2tQZWcs.d.cts +354 -0
  14. package/dist/artifacts/diff-artifact-C2tQZWcs.d.ts +354 -0
  15. package/dist/artifacts/index.cjs +10 -0
  16. package/dist/artifacts/index.d.cts +588 -0
  17. package/dist/artifacts/index.d.ts +588 -0
  18. package/dist/artifacts/index.js +10 -0
  19. package/dist/artifacts/metafile-cjs.json +1 -0
  20. package/dist/artifacts/metafile-esm.json +1 -0
  21. package/dist/automation/index.cjs +438 -0
  22. package/dist/automation/index.d.cts +878 -0
  23. package/dist/automation/index.d.ts +878 -0
  24. package/dist/automation/index.js +438 -0
  25. package/dist/automation/metafile-cjs.json +1 -0
  26. package/dist/automation/metafile-esm.json +1 -0
  27. package/dist/control-plane/index.cjs +7 -0
  28. package/dist/control-plane/index.d.cts +403 -0
  29. package/dist/control-plane/index.d.ts +403 -0
  30. package/dist/control-plane/index.js +7 -0
  31. package/dist/control-plane/metafile-cjs.json +1 -0
  32. package/dist/control-plane/metafile-esm.json +1 -0
  33. package/dist/control-room/index.cjs +1 -0
  34. package/dist/control-room/index.d.cts +216 -0
  35. package/dist/control-room/index.d.ts +216 -0
  36. package/dist/control-room/index.js +1 -0
  37. package/dist/control-room/metafile-cjs.json +1 -0
  38. package/dist/control-room/metafile-esm.json +1 -0
  39. package/dist/electron/index.cjs +1476 -0
  40. package/dist/electron/index.d.cts +1583 -0
  41. package/dist/electron/index.d.ts +1583 -0
  42. package/dist/electron/index.js +1476 -0
  43. package/dist/electron/metafile-cjs.json +1 -0
  44. package/dist/electron/metafile-esm.json +1 -0
  45. package/dist/governance/index.cjs +33 -0
  46. package/dist/governance/index.d.cts +397 -0
  47. package/dist/governance/index.d.ts +397 -0
  48. package/dist/governance/index.js +33 -0
  49. package/dist/governance/metafile-cjs.json +1 -0
  50. package/dist/governance/metafile-esm.json +1 -0
  51. package/dist/hooks/index.cjs +9 -0
  52. package/dist/hooks/index.d.cts +198 -0
  53. package/dist/hooks/index.d.ts +198 -0
  54. package/dist/hooks/index.js +9 -0
  55. package/dist/hooks/metafile-cjs.json +1 -0
  56. package/dist/hooks/metafile-esm.json +1 -0
  57. package/dist/hosted/index.cjs +1 -0
  58. package/dist/hosted/index.d.cts +490 -0
  59. package/dist/hosted/index.d.ts +490 -0
  60. package/dist/hosted/index.js +1 -0
  61. package/dist/hosted/metafile-cjs.json +1 -0
  62. package/dist/hosted/metafile-esm.json +1 -0
  63. package/dist/index.cjs +2161 -0
  64. package/dist/index.d.cts +12259 -0
  65. package/dist/index.d.ts +12259 -0
  66. package/dist/index.js +2161 -0
  67. package/dist/intelligence/index.cjs +10 -0
  68. package/dist/intelligence/index.d.cts +220 -0
  69. package/dist/intelligence/index.d.ts +220 -0
  70. package/dist/intelligence/index.js +10 -0
  71. package/dist/intelligence/metafile-cjs.json +1 -0
  72. package/dist/intelligence/metafile-esm.json +1 -0
  73. package/dist/mcp/index.cjs +28 -0
  74. package/dist/mcp/index.d.cts +960 -0
  75. package/dist/mcp/index.d.ts +960 -0
  76. package/dist/mcp/index.js +28 -0
  77. package/dist/mcp/metafile-cjs.json +1 -0
  78. package/dist/mcp/metafile-esm.json +1 -0
  79. package/dist/metafile-cjs.json +1 -0
  80. package/dist/metafile-esm.json +1 -0
  81. package/dist/oracle/index.cjs +1 -0
  82. package/dist/oracle/index.d.cts +310 -0
  83. package/dist/oracle/index.d.ts +310 -0
  84. package/dist/oracle/index.js +1 -0
  85. package/dist/oracle/metafile-cjs.json +1 -0
  86. package/dist/oracle/metafile-esm.json +1 -0
  87. package/dist/providers/index.cjs +11 -0
  88. package/dist/providers/index.d.cts +462 -0
  89. package/dist/providers/index.d.ts +462 -0
  90. package/dist/providers/index.js +11 -0
  91. package/dist/providers/metafile-cjs.json +1 -0
  92. package/dist/providers/metafile-esm.json +1 -0
  93. package/dist/recipes/index.cjs +2 -0
  94. package/dist/recipes/index.d.cts +86 -0
  95. package/dist/recipes/index.d.ts +86 -0
  96. package/dist/recipes/index.js +2 -0
  97. package/dist/recipes/metafile-cjs.json +1 -0
  98. package/dist/recipes/metafile-esm.json +1 -0
  99. package/dist/research/index.cjs +3 -0
  100. package/dist/research/index.d.cts +285 -0
  101. package/dist/research/index.d.ts +285 -0
  102. package/dist/research/index.js +3 -0
  103. package/dist/research/metafile-cjs.json +1 -0
  104. package/dist/research/metafile-esm.json +1 -0
  105. package/dist/session/index.cjs +56 -0
  106. package/dist/session/index.d.cts +523 -0
  107. package/dist/session/index.d.ts +523 -0
  108. package/dist/session/index.js +56 -0
  109. package/dist/session/metafile-cjs.json +1 -0
  110. package/dist/session/metafile-esm.json +1 -0
  111. package/dist/sharing/index.cjs +4 -0
  112. package/dist/sharing/index.d.cts +272 -0
  113. package/dist/sharing/index.d.ts +272 -0
  114. package/dist/sharing/index.js +4 -0
  115. package/dist/sharing/metafile-cjs.json +1 -0
  116. package/dist/sharing/metafile-esm.json +1 -0
  117. package/dist/skills/index.cjs +6 -0
  118. package/dist/skills/index.d.cts +277 -0
  119. package/dist/skills/index.d.ts +277 -0
  120. package/dist/skills/index.js +6 -0
  121. package/dist/skills/metafile-cjs.json +1 -0
  122. package/dist/skills/metafile-esm.json +1 -0
  123. package/dist/soul/index.cjs +32 -0
  124. package/dist/soul/index.d.cts +138 -0
  125. package/dist/soul/index.d.ts +138 -0
  126. package/dist/soul/index.js +32 -0
  127. package/dist/soul/metafile-cjs.json +1 -0
  128. package/dist/soul/metafile-esm.json +1 -0
  129. package/dist/terminal/index.cjs +4 -0
  130. package/dist/terminal/index.d.cts +55 -0
  131. package/dist/terminal/index.d.ts +55 -0
  132. package/dist/terminal/index.js +4 -0
  133. package/dist/terminal/metafile-cjs.json +1 -0
  134. package/dist/terminal/metafile-esm.json +1 -0
  135. package/dist/ui/index.cjs +35 -0
  136. package/dist/ui/index.d.cts +298 -0
  137. package/dist/ui/index.d.ts +298 -0
  138. package/dist/ui/index.js +35 -0
  139. package/dist/ui/metafile-cjs.json +1 -0
  140. package/dist/ui/metafile-esm.json +1 -0
  141. package/dist/utils/index.cjs +23 -0
  142. package/dist/utils/index.d.cts +245 -0
  143. package/dist/utils/index.d.ts +245 -0
  144. package/dist/utils/index.js +23 -0
  145. package/dist/utils/metafile-cjs.json +1 -0
  146. package/dist/utils/metafile-esm.json +1 -0
  147. package/native/mxc/LICENSE.microsoft-mxc-sdk.md +21 -0
  148. package/native/mxc/README.md +25 -0
  149. package/native/mxc/bin/arm64/lxc-exec +0 -0
  150. package/native/mxc/bin/arm64/mxc-exec-mac +0 -0
  151. package/native/mxc/bin/arm64/wxc-exec.exe +0 -0
  152. package/native/mxc/bin/arm64/wxc-host-prep.exe +0 -0
  153. package/native/mxc/bin/x64/lxc-exec +0 -0
  154. package/native/mxc/bin/x64/wxc-exec.exe +0 -0
  155. package/native/mxc/bin/x64/wxc-host-prep.exe +0 -0
  156. package/native/mxc/package.json +58 -0
  157. package/ownership/CLEAN_ROOM_CONTRIBUTOR_GUIDE.md +63 -0
  158. package/ownership/audit.mjs +727 -0
  159. package/ownership/evidence/PROPRIETARY-COMMAND-1/implementation-record.md +77 -0
  160. package/ownership/evidence/PROPRIETARY-COMMAND-1/provenance-review.md +51 -0
  161. package/ownership/evidence/PROPRIETARY-MEDIA-1/implementation-record.md +131 -0
  162. package/ownership/evidence/PROPRIETARY-MEDIA-1/provenance-review.md +50 -0
  163. package/ownership/evidence/PROPRIETARY-PTY-1/implementation-record.md +86 -0
  164. package/ownership/evidence/PROPRIETARY-PTY-1/provenance-review.md +52 -0
  165. package/ownership/evidence/PROPRIETARY-RUNTIME-1/implementation-record.md +68 -0
  166. package/ownership/evidence/PROPRIETARY-RUNTIME-1/provenance-review.md +32 -0
  167. package/ownership/evidence/PROPRIETARY-TOOLCHAIN-1/implementation-record.md +53 -0
  168. package/ownership/evidence/PROPRIETARY-TOOLCHAIN-1/provenance-review.md +32 -0
  169. package/ownership/evidence/PROPRIETARY-UI-1/implementation-record.md +96 -0
  170. package/ownership/evidence/PROPRIETARY-UI-1/provenance-review.md +46 -0
  171. package/ownership/ownership-policy.json +232 -0
  172. package/ownership/ownership-policy.schema.json +192 -0
  173. package/ownership/templates/clean-room-implementation-record.md +70 -0
  174. package/ownership/templates/provenance-review.md +51 -0
  175. package/package.json +209 -0
@@ -0,0 +1,960 @@
1
+ import { ChildProcess } from "node:child_process";
2
+ type PermissionProfileName = "default" | "read-only" | "trusted-dev";
3
+ type PermissionProfileDecision = "allow" | "ask" | "deny";
4
+ type PermissionProfileMode = "default" | "acceptEdits" | "bypassPermissions" | "auto";
5
+ interface PermissionProfile {
6
+ schemaVersion: 1;
7
+ name: PermissionProfileName;
8
+ displayName: string;
9
+ description: string;
10
+ permissionMode: PermissionProfileMode;
11
+ filesystem: {
12
+ scope: "workspace" | "workspace-readonly" | "unrestricted";
13
+ read: PermissionProfileDecision;
14
+ write: PermissionProfileDecision;
15
+ allowedPaths: string[];
16
+ deniedPaths: string[];
17
+ };
18
+ shell: {
19
+ default: PermissionProfileDecision;
20
+ allowedCommands: string[];
21
+ deniedCommands: string[];
22
+ };
23
+ network: {
24
+ default: PermissionProfileDecision;
25
+ allowDomains: string[];
26
+ denyDomains: string[];
27
+ };
28
+ mcp: {
29
+ remoteServers: PermissionProfileDecision;
30
+ allowedServers: string[];
31
+ deniedServers: string[];
32
+ };
33
+ lsp: {
34
+ enabled: boolean;
35
+ diagnostics: PermissionProfileDecision;
36
+ navigation: PermissionProfileDecision;
37
+ startProcesses: PermissionProfileDecision;
38
+ };
39
+ }
40
+ declare const MCP_APPS_EXTENSION_ID: "io.modelcontextprotocol/ui";
41
+ declare const MCP_APP_RESOURCE_SCHEME: "ui:";
42
+ declare const MCP_APP_MIME_TYPE: "text/html;profile=mcp-app";
43
+ type MCPAppVisibility = "model" | "app";
44
+ interface MCPAppCapabilities {
45
+ mimeTypes: string[];
46
+ }
47
+ interface MCPAppContentSecurityPolicy {
48
+ connectDomains?: string[];
49
+ resourceDomains?: string[];
50
+ frameDomains?: string[];
51
+ baseUriDomains?: string[];
52
+ }
53
+ interface MCPAppPermissions {
54
+ camera?: boolean;
55
+ microphone?: boolean;
56
+ geolocation?: boolean;
57
+ clipboardWrite?: boolean;
58
+ }
59
+ interface MCPAppMetadata {
60
+ resourceUri?: string;
61
+ visibility?: MCPAppVisibility[];
62
+ csp?: MCPAppContentSecurityPolicy;
63
+ permissions?: MCPAppPermissions;
64
+ }
65
+ interface MCPAppExtensionMetadata {
66
+ ui?: MCPAppMetadata;
67
+ [key: string]: unknown;
68
+ }
69
+ interface MCPAppResourceDescriptor {
70
+ uri: string;
71
+ mimeType?: string;
72
+ _meta?: MCPAppExtensionMetadata;
73
+ }
74
+ interface MCPAppValidationResult {
75
+ valid: boolean;
76
+ errors: string[];
77
+ }
78
+ declare function createMcpAppCapabilities(mimeTypes?: string[]): MCPAppCapabilities;
79
+ declare function createMcpAppExtensionCapabilities(capabilities?: MCPAppCapabilities): Record<string, MCPAppCapabilities>;
80
+ declare function getMcpAppMetadata(metadata: MCPAppExtensionMetadata | Record<string, unknown> | undefined): MCPAppMetadata | undefined;
81
+ declare function normalizeMcpAppVisibility(metadata: MCPAppExtensionMetadata | Record<string, unknown> | undefined): MCPAppVisibility[];
82
+ declare function isMcpToolVisibleToModel(metadata: MCPAppExtensionMetadata | Record<string, unknown> | undefined): boolean;
83
+ declare function isMcpToolVisibleToApp(metadata: MCPAppExtensionMetadata | Record<string, unknown> | undefined): boolean;
84
+ declare function getMcpAppResourceUri(metadata: MCPAppExtensionMetadata | Record<string, unknown> | undefined): string | undefined;
85
+ declare function isMcpAppResourceUri(uri: string): boolean;
86
+ declare function validateMcpAppResource(resource: MCPAppResourceDescriptor): MCPAppValidationResult;
87
+ declare function assertValidMcpAppResource(resource: MCPAppResourceDescriptor): void;
88
+ type MCPTransport = "stdio" | "streamable-http" | "sse";
89
+ type MCPServerScope = "project" | "mcprc" | "user" | "session";
90
+ type MCPApprovalDecision = "approved" | "denied";
91
+ interface MCPOAuthConfig {
92
+ protectedResourceMetadataUrl?: string;
93
+ authorizationServerMetadataUrl?: string;
94
+ scopes?: string[];
95
+ clientId?: string;
96
+ clientSecretEnv?: string;
97
+ clientMetadataUrl?: string;
98
+ allowDynamicRegistration?: boolean;
99
+ }
100
+ interface MCPServerConfig {
101
+ name: string;
102
+ transport?: MCPTransport;
103
+ command?: string;
104
+ args?: string[];
105
+ env?: Record<string, string>;
106
+ cwd?: string;
107
+ url?: string;
108
+ headers?: Record<string, string>;
109
+ bearerTokenEnv?: string;
110
+ oauth?: MCPOAuthConfig;
111
+ legacySseFallback?: boolean;
112
+ approvalRequired?: boolean;
113
+ scope?: MCPServerScope;
114
+ sourcePath?: string;
115
+ approvalKey?: string;
116
+ approvalState?: MCPApprovalDecision;
117
+ disabled?: boolean;
118
+ }
119
+ interface MCPServerState {
120
+ config: MCPServerConfig;
121
+ status: "connecting" | "ready" | "error" | "disconnected";
122
+ tools: MCPTool[];
123
+ prompts?: MCPPrompt[];
124
+ resources?: MCPResource[];
125
+ capabilities?: MCPInitializeResult["capabilities"];
126
+ protocolVersion?: string;
127
+ instructions?: string;
128
+ error?: string;
129
+ approvalState?: MCPApprovalDecision;
130
+ subscribedResources?: string[];
131
+ }
132
+ interface MCPTool {
133
+ name: string;
134
+ description: string;
135
+ inputSchema: Record<string, unknown>;
136
+ server: string;
137
+ _meta?: MCPAppExtensionMetadata;
138
+ appResourceUri?: string;
139
+ visibility: MCPAppVisibility[];
140
+ }
141
+ interface MCPPrompt {
142
+ name: string;
143
+ description: string;
144
+ arguments?: Array<{
145
+ name: string;
146
+ description?: string;
147
+ required?: boolean;
148
+ }>;
149
+ server: string;
150
+ }
151
+ interface MCPResource {
152
+ uri: string;
153
+ name?: string;
154
+ description?: string;
155
+ mimeType?: string;
156
+ server: string;
157
+ _meta?: MCPAppExtensionMetadata;
158
+ }
159
+ interface JsonRpcRequest {
160
+ jsonrpc: "2.0";
161
+ id: number | string;
162
+ method: string;
163
+ params?: Record<string, unknown>;
164
+ }
165
+ interface JsonRpcSuccessResponse {
166
+ jsonrpc: "2.0";
167
+ id: number | string;
168
+ result: unknown;
169
+ }
170
+ interface JsonRpcErrorResponse {
171
+ jsonrpc: "2.0";
172
+ id: number | string;
173
+ error: {
174
+ code: number;
175
+ message: string;
176
+ data?: unknown;
177
+ };
178
+ }
179
+ interface JsonRpcNotification {
180
+ jsonrpc: "2.0";
181
+ method: string;
182
+ params?: Record<string, unknown>;
183
+ }
184
+ type JsonRpcResponse = JsonRpcSuccessResponse | JsonRpcErrorResponse;
185
+ type JsonRpcMessage = JsonRpcRequest | JsonRpcResponse | JsonRpcNotification;
186
+ interface MCPInitializeParams {
187
+ protocolVersion: string;
188
+ capabilities: {
189
+ roots?: {
190
+ listChanged?: boolean;
191
+ };
192
+ elicitation?: Record<string, unknown>;
193
+ sampling?: Record<string, unknown>;
194
+ tasks?: Record<string, unknown>;
195
+ experimental?: Record<string, unknown>;
196
+ extensions?: Record<string, unknown>;
197
+ };
198
+ clientInfo: {
199
+ name: string;
200
+ version: string;
201
+ };
202
+ }
203
+ interface MCPInitializeResult {
204
+ protocolVersion: string;
205
+ capabilities: {
206
+ tools?: {
207
+ listChanged?: boolean;
208
+ };
209
+ resources?: {
210
+ subscribe?: boolean;
211
+ listChanged?: boolean;
212
+ };
213
+ prompts?: {
214
+ listChanged?: boolean;
215
+ };
216
+ logging?: Record<string, unknown>;
217
+ completions?: Record<string, unknown>;
218
+ tasks?: Record<string, unknown>;
219
+ experimental?: Record<string, unknown>;
220
+ extensions?: Record<string, unknown>;
221
+ };
222
+ serverInfo: {
223
+ name: string;
224
+ version: string;
225
+ };
226
+ instructions?: string;
227
+ }
228
+ interface MCPToolsListResult {
229
+ tools: Array<{
230
+ name: string;
231
+ description?: string;
232
+ inputSchema: Record<string, unknown>;
233
+ _meta?: MCPAppExtensionMetadata;
234
+ }>;
235
+ }
236
+ interface MCPPromptsListResult {
237
+ prompts: Array<{
238
+ name: string;
239
+ description?: string;
240
+ arguments?: Array<{
241
+ name: string;
242
+ description?: string;
243
+ required?: boolean;
244
+ }>;
245
+ }>;
246
+ }
247
+ interface MCPPromptGetParams {
248
+ name: string;
249
+ arguments?: Record<string, string>;
250
+ }
251
+ interface MCPPromptGetResult {
252
+ description?: string;
253
+ messages: Array<{
254
+ role: "user" | "assistant" | "system";
255
+ content: string | {
256
+ type: "text" | "image" | "resource";
257
+ text?: string;
258
+ data?: string;
259
+ mimeType?: string;
260
+ };
261
+ }>;
262
+ }
263
+ interface MCPResourcesListResult {
264
+ resources: Array<{
265
+ uri: string;
266
+ name?: string;
267
+ description?: string;
268
+ mimeType?: string;
269
+ _meta?: MCPAppExtensionMetadata;
270
+ }>;
271
+ }
272
+ interface MCPResourceReadParams {
273
+ uri: string;
274
+ }
275
+ interface MCPResourceReadResult {
276
+ contents: Array<{
277
+ uri: string;
278
+ mimeType?: string;
279
+ text?: string;
280
+ blob?: string;
281
+ _meta?: MCPAppExtensionMetadata;
282
+ }>;
283
+ }
284
+ interface MCPResourceSubscribeParams {
285
+ uri: string;
286
+ }
287
+ interface MCPResourceUnsubscribeParams {
288
+ uri: string;
289
+ }
290
+ interface MCPToolCallParams {
291
+ name: string;
292
+ arguments?: Record<string, unknown>;
293
+ }
294
+ interface MCPToolCallResult {
295
+ content: Array<{
296
+ type: "text" | "image" | "resource";
297
+ text?: string;
298
+ data?: string;
299
+ mimeType?: string;
300
+ }>;
301
+ isError?: boolean;
302
+ structuredContent?: Record<string, unknown>;
303
+ _meta?: Record<string, unknown>;
304
+ }
305
+ type MCPElicitationAction = "accept" | "decline" | "cancel";
306
+ interface MCPElicitationRequest {
307
+ serverName: string;
308
+ message: string;
309
+ requestedSchema?: Record<string, unknown>;
310
+ params: Record<string, unknown>;
311
+ }
312
+ interface MCPElicitationResponse {
313
+ action: MCPElicitationAction;
314
+ content?: Record<string, unknown>;
315
+ }
316
+ type MCPElicitationHandler = (request: MCPElicitationRequest) => Promise<MCPElicitationResponse> | MCPElicitationResponse;
317
+ type MCPBearerTokenResolver = (server: MCPServerConfig) => string | null | undefined | Promise<string | null | undefined>;
318
+ interface MCPHttpAuthChallenge {
319
+ status: 401 | 403;
320
+ wwwAuthenticate?: string;
321
+ resourceMetadataUrl?: string;
322
+ error?: string;
323
+ errorDescription?: string;
324
+ scopes: string[];
325
+ }
326
+ type MCPBearerTokenRefreshHandler = (server: MCPServerConfig, challenge: MCPHttpAuthChallenge) => string | null | undefined | Promise<string | null | undefined>;
327
+ interface MCPManagerOptions {
328
+ handleElicitation?: MCPElicitationHandler;
329
+ resolveBearerToken?: MCPBearerTokenResolver;
330
+ refreshBearerToken?: MCPBearerTokenRefreshHandler;
331
+ permissionProfile?: PermissionProfile;
332
+ fetch?: typeof globalThis.fetch;
333
+ appCapabilities?: MCPAppCapabilities | false;
334
+ }
335
+ interface MCPConfigFile {
336
+ mcpServers: Record<string, Omit<MCPServerConfig, "name" | "scope" | "sourcePath" | "approvalKey">>;
337
+ }
338
+ interface MCPConfiguredServer extends MCPServerConfig {
339
+ scope: Exclude<MCPServerScope, "session">;
340
+ sourcePath: string;
341
+ approvalKey: string;
342
+ approvalState?: MCPApprovalDecision;
343
+ }
344
+ interface ConnectConfiguredMCPServersOptions {
345
+ cwd: string;
346
+ promptForApproval?: (server: MCPConfiguredServer) => Promise<MCPApprovalDecision>;
347
+ }
348
+ interface ConnectConfiguredMCPServersResult {
349
+ connected: string[];
350
+ skipped: string[];
351
+ denied: string[];
352
+ errors: Array<{
353
+ name: string;
354
+ error: string;
355
+ }>;
356
+ }
357
+ interface MCPServerPromptRegistration {
358
+ name: string;
359
+ description?: string;
360
+ arguments?: Array<{
361
+ name: string;
362
+ description?: string;
363
+ required?: boolean;
364
+ }>;
365
+ get?: (args?: Record<string, string>) => Promise<MCPPromptGetResult> | MCPPromptGetResult;
366
+ result?: MCPPromptGetResult;
367
+ }
368
+ interface MCPServerResourceRegistration {
369
+ uri: string;
370
+ name?: string;
371
+ description?: string;
372
+ mimeType?: string;
373
+ _meta?: MCPAppExtensionMetadata;
374
+ read?: () => Promise<MCPResourceReadResult> | MCPResourceReadResult;
375
+ result?: MCPResourceReadResult;
376
+ }
377
+ interface MCPServerModeOptions {
378
+ name?: string;
379
+ version?: string;
380
+ instructions?: string;
381
+ toolListChanged?: boolean;
382
+ prompts?: MCPServerPromptRegistration[];
383
+ resources?: MCPServerResourceRegistration[];
384
+ toolMetadata?: Record<string, MCPAppExtensionMetadata>;
385
+ appCapabilities?: MCPAppCapabilities | false;
386
+ }
387
+ type MCPServerChangeReason = "connected" | "disconnected" | "tools_changed" | "prompts_changed" | "resources_changed" | "resource_updated" | "error";
388
+ interface MCPServerChangeEvent {
389
+ serverName: string;
390
+ reason: MCPServerChangeReason;
391
+ state: MCPServerState;
392
+ resourceUri?: string;
393
+ }
394
+ type MCPServerChangeListener = (event: MCPServerChangeEvent) => void | Promise<void>;
395
+ declare class MCPManager {
396
+ private servers;
397
+ private nextRequestId;
398
+ private pendingRequests;
399
+ private disposed;
400
+ private changeListeners;
401
+ private readonly elicitationHandler?;
402
+ private readonly resolveBearerToken?;
403
+ private readonly refreshBearerToken?;
404
+ private readonly permissionProfile?;
405
+ private readonly fetcher?;
406
+ private readonly appCapabilities?;
407
+ constructor(options?: MCPManagerOptions);
408
+ onServerStateChanged(listener: MCPServerChangeListener): () => void;
409
+ addServer(config: MCPServerConfig): Promise<void>;
410
+ connectConfiguredServers(options: ConnectConfiguredMCPServersOptions): Promise<ConnectConfiguredMCPServersResult>;
411
+ removeServer(name: string): void;
412
+ listTools(serverName?: string): MCPTool[];
413
+ listAllTools(serverName?: string): MCPTool[];
414
+ listAppTools(serverName?: string): MCPTool[];
415
+ listPrompts(serverName?: string): MCPPrompt[];
416
+ listResources(serverName?: string): MCPResource[];
417
+ listServers(): MCPServerState[];
418
+ loadConfiguredServers(cwd?: string): MCPConfiguredServer[];
419
+ callTool(serverName: string, toolName: string, input: Record<string, unknown>): Promise<MCPToolCallResult>;
420
+ getPrompt(serverName: string, promptName: string, input?: Record<string, string>): Promise<MCPPromptGetResult>;
421
+ readResource(serverName: string, uri: string): Promise<MCPResourceReadResult>;
422
+ subscribeResource(serverName: string, uri: string): Promise<void>;
423
+ unsubscribeResource(serverName: string, uri: string): Promise<void>;
424
+ dispose(): void;
425
+ static loadConfigFile(cwd?: string): MCPServerConfig[];
426
+ static loadConfiguredServers(cwd?: string): MCPConfiguredServer[];
427
+ private createTransport;
428
+ private discoverServerState;
429
+ private refreshTools;
430
+ private refreshPrompts;
431
+ private refreshResources;
432
+ private listFromServers;
433
+ private getReadyServer;
434
+ private sendRequest;
435
+ private sendNotification;
436
+ private sendResponse;
437
+ private sendError;
438
+ private handleMessage;
439
+ private handleRequest;
440
+ private handleElicitationCreate;
441
+ private handleNotification;
442
+ private resolveApprovalDecision;
443
+ private emitServerStateChanged;
444
+ }
445
+ interface ToolDefinition {
446
+ name: string;
447
+ description: string;
448
+ input_schema: {
449
+ type: "object";
450
+ properties: Record<string, unknown>;
451
+ required?: string[];
452
+ additionalProperties?: boolean | Record<string, unknown>;
453
+ [keyword: string]: unknown;
454
+ };
455
+ }
456
+ interface ImageUrlBlock {
457
+ type: "image_url";
458
+ image_url: {
459
+ url: string;
460
+ detail?: "auto" | "low" | "high";
461
+ };
462
+ }
463
+ interface ResourceContentBlock {
464
+ type: "resource";
465
+ uri?: string;
466
+ mimeType?: string;
467
+ text?: string;
468
+ data?: string;
469
+ }
470
+ type ToolAssistantContentBlock = TextBlock | ImageUrlBlock | ResourceContentBlock;
471
+ type ToolOperationState = "registered" | "starting" | "running_foreground" | "running_background" | "waiting_for_input" | "stalled" | "verifying" | "completed" | "failed" | "timed_out" | "cancelled" | "orphaned";
472
+ type ToolCompletionPolicy = "await" | "observe" | "detach";
473
+ interface ExpectedOutputContract {
474
+ path: string;
475
+ kind?: "file" | "directory";
476
+ nonEmpty?: boolean;
477
+ }
478
+ interface ToolEvidence {
479
+ id: string;
480
+ kind: "artifact" | "process" | "verification";
481
+ status: "pending" | "verified" | "failed";
482
+ path?: string;
483
+ observedAt: string;
484
+ operationId: string;
485
+ detail?: Record<string, string | number | boolean | null>;
486
+ }
487
+ interface ToolOperationSnapshot {
488
+ schemaVersion: 1;
489
+ operationId: string;
490
+ turnId: string;
491
+ generation: number;
492
+ toolCallId: string;
493
+ toolName: string;
494
+ ownerSessionId?: string;
495
+ state: ToolOperationState;
496
+ terminal: boolean;
497
+ presentation: "foreground" | "background";
498
+ completionPolicy: ToolCompletionPolicy;
499
+ promotable: boolean;
500
+ processId?: string;
501
+ taskId?: string;
502
+ pid?: number;
503
+ commandFingerprint?: string;
504
+ outputPath?: string;
505
+ startedAt: string;
506
+ lastActivityAt: string;
507
+ deadlineAt?: string;
508
+ elapsedMs: number;
509
+ idleMs: number;
510
+ outputBytes: number;
511
+ nextOffset: number;
512
+ exitCode?: number | null;
513
+ completionReason?: string;
514
+ suggestedNextAction?: string;
515
+ expectedOutputs?: ExpectedOutputContract[];
516
+ evidence?: ToolEvidence[];
517
+ }
518
+ interface ToolProgressUpdate {
519
+ activity?: "stdout" | "stderr" | "input" | "waiting_for_input" | "heartbeat" | "state";
520
+ message?: string;
521
+ bytes?: number;
522
+ outputBytes?: number;
523
+ nextOffset?: number;
524
+ }
525
+ interface ToolAuthorizationReceipt {
526
+ turnId: string;
527
+ toolCallId: string;
528
+ toolName: string;
529
+ iteration: number;
530
+ policy: {
531
+ allowed: true;
532
+ reason: string;
533
+ temporaryOverride: boolean;
534
+ };
535
+ permission: {
536
+ allowed: true;
537
+ reason: string;
538
+ };
539
+ }
540
+ interface ToolResult {
541
+ success: boolean;
542
+ output: string;
543
+ error?: string;
544
+ errorCode?: string;
545
+ errorDetails?: Record<string, unknown>;
546
+ assistantContent?: ToolAssistantContentBlock[];
547
+ assistantOnlyContent?: ToolAssistantContentBlock[];
548
+ operation?: ToolOperationSnapshot;
549
+ evidence?: ToolEvidence[];
550
+ retryable?: boolean;
551
+ }
552
+ interface ToolExecutionContext {
553
+ signal?: AbortSignal;
554
+ operationId?: string;
555
+ reportProgress?: (event: ToolProgressUpdate) => void;
556
+ authorization?: ToolAuthorizationReceipt;
557
+ }
558
+ type ToolExecutor = (input: Record<string, unknown>, context?: ToolExecutionContext) => Promise<ToolResult>;
559
+ interface ToolPolicyProjection {
560
+ observabilityInput: Record<string, unknown>;
561
+ permissionInput: Record<string, unknown>;
562
+ permissionPreview?: string;
563
+ approvalKey?: string;
564
+ riskLevel?: "low" | "medium" | "high";
565
+ }
566
+ interface RegisteredTool {
567
+ definition: ToolDefinition;
568
+ execute: ToolExecutor;
569
+ projectPolicyInput?: (input: Record<string, unknown>) => ToolPolicyProjection | {
570
+ error: ToolResult;
571
+ };
572
+ }
573
+ interface TextBlock {
574
+ type: "text";
575
+ text: string;
576
+ }
577
+ interface ToolRegistryOptions {
578
+ validateInputs?: boolean;
579
+ toolSchemaMode?: "all" | "demand";
580
+ }
581
+ declare class ToolRegistry {
582
+ private tools;
583
+ private compiledSchemas;
584
+ private changeListeners;
585
+ private aliasNames;
586
+ private validateInputs;
587
+ private readonly toolSchemaMode;
588
+ private readonly activatedDefinitions;
589
+ constructor(options?: ToolRegistryOptions);
590
+ setValidateInputs(enabled: boolean): this;
591
+ get inputValidationEnabled(): boolean;
592
+ get schemaLoadingMode(): "all" | "demand";
593
+ register(tool: RegisteredTool): void;
594
+ registerAlias(tool: RegisteredTool): void;
595
+ registerAll(tools: Iterable<RegisteredTool>): void;
596
+ unregister(name: string): boolean;
597
+ onChange(listener: () => void): () => void;
598
+ private emitChange;
599
+ get(name: string): RegisteredTool | undefined;
600
+ getDefinitions(): ToolDefinition[];
601
+ getDefinitionsForRequest(): ToolDefinition[];
602
+ getCapabilityCatalog(): string;
603
+ activateMatchingDefinitions(query: string, limit?: number): ToolDefinition[];
604
+ private static namespaceOf;
605
+ getDefinitionsByNamespace(namespace: string): ToolDefinition[];
606
+ listNamespaces(): string[];
607
+ execute(name: string, input: Record<string, unknown>, context?: ToolExecutionContext): Promise<ToolResult>;
608
+ listNames(): string[];
609
+ has(name: string): boolean;
610
+ projectPolicyInput(name: string, input: Record<string, unknown>): ToolPolicyProjection | {
611
+ error: ToolResult;
612
+ };
613
+ get size(): number;
614
+ private compileDefinition;
615
+ private assertDefinitionsExportable;
616
+ }
617
+ declare class MCPServer {
618
+ private toolRegistry;
619
+ private name;
620
+ private version;
621
+ private initialized;
622
+ private buffer;
623
+ private running;
624
+ private prompts;
625
+ private resources;
626
+ private instructions?;
627
+ private toolMetadata;
628
+ private appCapabilities?;
629
+ private resourceSubscriptions;
630
+ private unsubscribeToolRegistryChange?;
631
+ constructor(toolRegistry: ToolRegistry, options?: MCPServerModeOptions);
632
+ start(): void;
633
+ stop(): void;
634
+ get isRunning(): boolean;
635
+ private processBuffer;
636
+ private handleMessage;
637
+ private handleNotification;
638
+ private handleInitialize;
639
+ private handleToolsList;
640
+ private handlePromptsList;
641
+ private handlePromptGet;
642
+ private handleResourcesList;
643
+ private handleResourceRead;
644
+ private handleResourceSubscribe;
645
+ private handleResourceUnsubscribe;
646
+ private handleToolCall;
647
+ private sendResponse;
648
+ private sendError;
649
+ private writeMessage;
650
+ private validateAppRegistrations;
651
+ setPrompts(prompts: MCPServerPromptRegistration[]): void;
652
+ setResources(resources: MCPServerResourceRegistration[]): void;
653
+ notifyResourceUpdated(uri: string): void;
654
+ private notifyListChanged;
655
+ }
656
+ type MessageHandler$2 = (message: JsonRpcMessage) => void;
657
+ type ErrorHandler$2 = (error: Error) => void;
658
+ type CloseHandler$2 = (code: number | null) => void;
659
+ interface MCPTransportConnection {
660
+ setMessageHandler(handler: MessageHandler$2): void;
661
+ setErrorHandler(handler: ErrorHandler$2): void;
662
+ setCloseHandler(handler: CloseHandler$2): void;
663
+ send(message: JsonRpcMessage): void | Promise<void>;
664
+ close(): void;
665
+ readonly isAlive: boolean;
666
+ }
667
+ declare class StdioTransport implements MCPTransportConnection {
668
+ private process;
669
+ private buffer;
670
+ private onMessage;
671
+ private onError;
672
+ private onClose;
673
+ private closed;
674
+ constructor(process: ChildProcess);
675
+ setMessageHandler(handler: MessageHandler$2): void;
676
+ setErrorHandler(handler: ErrorHandler$2): void;
677
+ setCloseHandler(handler: CloseHandler$2): void;
678
+ send(message: JsonRpcMessage): void;
679
+ close(): void;
680
+ get isAlive(): boolean;
681
+ private setupListeners;
682
+ private processBuffer;
683
+ }
684
+ type MessageHandler$1 = (message: JsonRpcMessage) => void;
685
+ type ErrorHandler$1 = (error: Error) => void;
686
+ type CloseHandler$1 = (code: number | null) => void;
687
+ interface SSETransportOptions {
688
+ validateUrl?: (url: string, phase: "stream" | "post") => void;
689
+ }
690
+ declare class SSETransport implements MCPTransportConnection {
691
+ private readonly url;
692
+ private readonly headers?;
693
+ private readonly options;
694
+ private onMessage;
695
+ private onError;
696
+ private onClose;
697
+ private closed;
698
+ private buffer;
699
+ private eventName;
700
+ private dataLines;
701
+ private endpointUrl?;
702
+ private readonly streamAbortController;
703
+ private readonly readyPromise;
704
+ private endpointResolver;
705
+ private readonly endpointPromise;
706
+ constructor(url: string, headers?: Record<string, string> | undefined, options?: SSETransportOptions);
707
+ waitUntilReady(): Promise<void>;
708
+ setMessageHandler(handler: MessageHandler$1): void;
709
+ setErrorHandler(handler: ErrorHandler$1): void;
710
+ setCloseHandler(handler: CloseHandler$1): void;
711
+ send(message: JsonRpcMessage): Promise<void>;
712
+ close(): void;
713
+ get isAlive(): boolean;
714
+ private connect;
715
+ private consumeStream;
716
+ private processBuffer;
717
+ private dispatchEvent;
718
+ private resolvePostUrl;
719
+ }
720
+ type MessageHandler = (message: JsonRpcMessage) => void;
721
+ type ErrorHandler = (error: Error) => void;
722
+ type CloseHandler = (code: number | null) => void;
723
+ type MCPHttpUrlPhase = "post" | "stream" | "resume" | "delete" | "redirect";
724
+ interface StreamableHTTPTransportOptions {
725
+ headers?: Record<string, string>;
726
+ resolveHeaders?: () => Record<string, string> | undefined | Promise<Record<string, string> | undefined>;
727
+ handleAuthChallenge?: (challenge: MCPHttpAuthChallenge) => Record<string, string> | undefined | Promise<Record<string, string> | undefined>;
728
+ validateUrl?: (url: string, phase: MCPHttpUrlPhase) => void | Promise<void>;
729
+ fetch?: typeof globalThis.fetch;
730
+ protocolVersion?: string;
731
+ legacySseFallback?: boolean;
732
+ allowInsecureRemoteHttp?: boolean;
733
+ allowCrossOriginRedirects?: boolean;
734
+ maxRedirects?: number;
735
+ maxResponseBytes?: number;
736
+ defaultReconnectDelayMs?: number;
737
+ }
738
+ interface StreamableHTTPTransportSnapshot {
739
+ mode: "streamable-http" | "legacy-sse";
740
+ sessionId?: string;
741
+ protocolVersion: string;
742
+ lastEventId?: string;
743
+ receiveLoopActive: boolean;
744
+ }
745
+ declare class MCPHttpTransportError extends Error {
746
+ readonly status?: number | undefined;
747
+ readonly challenge?: MCPHttpAuthChallenge | undefined;
748
+ constructor(message: string, status?: number | undefined, challenge?: MCPHttpAuthChallenge | undefined);
749
+ }
750
+ declare class StreamableHTTPTransport implements MCPTransportConnection {
751
+ private readonly options;
752
+ private onMessage;
753
+ private onError;
754
+ private onClose;
755
+ private readonly fetcher;
756
+ private readonly abortController;
757
+ private readonly endpoint;
758
+ private readonly maxRedirects;
759
+ private readonly maxResponseBytes;
760
+ private readonly defaultReconnectDelayMs;
761
+ private closed;
762
+ private legacy?;
763
+ private sessionId?;
764
+ private protocolVersion;
765
+ private initializeRequest?;
766
+ private sessionExpired;
767
+ private lastEventId?;
768
+ private retryMs?;
769
+ private receiveLoopPromise?;
770
+ private receiveLoopActive;
771
+ private reinitializePromise?;
772
+ private challengeHeaders?;
773
+ private readonly seenEventIds;
774
+ constructor(url: string, options?: StreamableHTTPTransportOptions);
775
+ setMessageHandler(handler: MessageHandler): void;
776
+ setErrorHandler(handler: ErrorHandler): void;
777
+ setCloseHandler(handler: CloseHandler): void;
778
+ send(message: JsonRpcMessage): Promise<void>;
779
+ close(): void;
780
+ get isAlive(): boolean;
781
+ get snapshot(): StreamableHTTPTransportSnapshot;
782
+ private postMessage;
783
+ private reinitialize;
784
+ private startReceiveLoop;
785
+ private runReceiveLoop;
786
+ private consumeSse;
787
+ private activateLegacySse;
788
+ private fetchEndpoint;
789
+ private readJsonMessage;
790
+ private captureSessionHeader;
791
+ private captureProtocolVersion;
792
+ private resolveHeaders;
793
+ private assertUrl;
794
+ private rememberEventId;
795
+ private deleteSessionBestEffort;
796
+ }
797
+ declare const MCP_PROTOCOL_VERSION: "2025-11-25";
798
+ declare const MCP_SUPPORTED_PROTOCOL_VERSIONS: readonly [
799
+ "2025-11-25",
800
+ "2025-06-18",
801
+ "2025-03-26",
802
+ "2024-11-05"
803
+ ];
804
+ type MCPSupportedProtocolVersion = typeof MCP_SUPPORTED_PROTOCOL_VERSIONS[number];
805
+ declare function isSupportedMcpProtocolVersion(value: string): value is MCPSupportedProtocolVersion;
806
+ declare function assertSupportedMcpProtocolVersion(value: string): MCPSupportedProtocolVersion;
807
+ type MCPOAuthUrlPhase = "protected-resource-metadata" | "authorization-server-metadata" | "client-registration" | "authorization" | "token" | "redirect";
808
+ interface MCPOAuthProtectedResourceMetadata {
809
+ resource?: string;
810
+ authorizationServers: string[];
811
+ scopesSupported: string[];
812
+ bearerMethodsSupported: string[];
813
+ resourceName?: string;
814
+ raw: Record<string, unknown>;
815
+ }
816
+ interface MCPOAuthAuthorizationServerMetadata {
817
+ issuer: string;
818
+ authorizationEndpoint: string;
819
+ tokenEndpoint: string;
820
+ registrationEndpoint?: string;
821
+ deviceAuthorizationEndpoint?: string;
822
+ codeChallengeMethodsSupported: string[];
823
+ scopesSupported: string[];
824
+ clientIdMetadataDocumentSupported: boolean;
825
+ raw: Record<string, unknown>;
826
+ }
827
+ type MCPOAuthClientRegistrationSource = "pre-registered" | "client-id-metadata-document" | "dynamic";
828
+ interface MCPOAuthClientRegistration {
829
+ clientId: string;
830
+ clientSecret?: string;
831
+ clientIdIssuedAt?: number;
832
+ clientSecretExpiresAt?: number;
833
+ tokenEndpointAuthMethod?: string;
834
+ source: MCPOAuthClientRegistrationSource;
835
+ }
836
+ interface MCPOAuthDiscoveryResult {
837
+ resource: string;
838
+ protectedResourceMetadata?: MCPOAuthProtectedResourceMetadata;
839
+ protectedResourceMetadataUrl?: string;
840
+ authorizationServer: string;
841
+ authorizationServerMetadata: MCPOAuthAuthorizationServerMetadata;
842
+ authorizationServerMetadataUrl: string;
843
+ scopes: string[];
844
+ challenge?: MCPHttpAuthChallenge;
845
+ }
846
+ interface MCPOAuthAuthorizationSession {
847
+ authorizationUrl: string;
848
+ state: string;
849
+ codeVerifier: string;
850
+ redirectUri: string;
851
+ resource: string;
852
+ scopes: string[];
853
+ discovery: MCPOAuthDiscoveryResult;
854
+ registration: MCPOAuthClientRegistration;
855
+ }
856
+ interface MCPOAuthTokenSet {
857
+ accessToken: string;
858
+ tokenType: string;
859
+ expiresAt?: string;
860
+ refreshToken?: string;
861
+ scope?: string;
862
+ resource: string;
863
+ authorizationServer: string;
864
+ clientId: string;
865
+ clientSecret?: string;
866
+ tokenEndpointAuthMethod?: string;
867
+ }
868
+ interface MCPOAuthTokenStore {
869
+ get(resource: string): MCPOAuthTokenSet | null | Promise<MCPOAuthTokenSet | null>;
870
+ set(resource: string, token: MCPOAuthTokenSet): void | Promise<void>;
871
+ delete(resource: string): boolean | void | Promise<boolean | void>;
872
+ }
873
+ interface MCPOAuthClientOptions {
874
+ resource: string;
875
+ protectedResourceMetadataUrl?: string;
876
+ authorizationServerMetadataUrl?: string;
877
+ scopes?: string[];
878
+ clientId?: string;
879
+ clientSecret?: string;
880
+ clientMetadataUrl?: string;
881
+ clientName?: string;
882
+ clientUri?: string;
883
+ allowDynamicRegistration?: boolean;
884
+ fetch?: typeof globalThis.fetch;
885
+ validateUrl?: (url: string, phase: MCPOAuthUrlPhase) => void | Promise<void>;
886
+ selectAuthorizationServer?: (servers: string[]) => string | Promise<string>;
887
+ allowInsecureLoopback?: boolean;
888
+ maxMetadataBytes?: number;
889
+ maxRedirects?: number;
890
+ now?: () => Date;
891
+ }
892
+ interface PrepareMCPOAuthAuthorizationOptions {
893
+ redirectUri: string;
894
+ scopes?: string[];
895
+ challenge?: string | MCPHttpAuthChallenge;
896
+ prompt?: string;
897
+ }
898
+ interface ExchangeMCPOAuthCodeOptions {
899
+ code: string;
900
+ returnedState: string;
901
+ }
902
+ declare function canonicalizeMcpResourceUri(input: string): string;
903
+ declare function parseMcpWwwAuthenticate(value: string | null | undefined): MCPHttpAuthChallenge | undefined;
904
+ declare function getMcpProtectedResourceMetadataUrls(resource: string): string[];
905
+ declare function getMcpAuthorizationServerMetadataUrls(issuer: string): string[];
906
+ declare function createMcpPkcePair(): {
907
+ verifier: string;
908
+ challenge: string;
909
+ };
910
+ declare function isMcpOAuthTokenExpired(token: Pick<MCPOAuthTokenSet, "expiresAt">, now?: Date, skewMs?: number): boolean;
911
+ declare class MCPOAuthClient {
912
+ private readonly options;
913
+ private readonly resource;
914
+ private readonly fetcher;
915
+ private readonly maxMetadataBytes;
916
+ private readonly maxRedirects;
917
+ constructor(options: MCPOAuthClientOptions);
918
+ discover(challengeInput?: string | MCPHttpAuthChallenge): Promise<MCPOAuthDiscoveryResult>;
919
+ prepareAuthorization(input: PrepareMCPOAuthAuthorizationOptions): Promise<MCPOAuthAuthorizationSession>;
920
+ exchangeAuthorizationCode(session: MCPOAuthAuthorizationSession, input: ExchangeMCPOAuthCodeOptions): Promise<MCPOAuthTokenSet>;
921
+ refresh(token: MCPOAuthTokenSet, scopes?: string[]): Promise<MCPOAuthTokenSet>;
922
+ private resolveRegistration;
923
+ private postToken;
924
+ private tokenSet;
925
+ private firstJson;
926
+ private fetchJson;
927
+ private requestJson;
928
+ private request;
929
+ private assertUrl;
930
+ }
931
+ type PersistentMcpScope = Exclude<MCPServerScope, "session">;
932
+ declare function loadMcpConfigFile(configPath: string, scope?: PersistentMcpScope): MCPConfigFile;
933
+ declare function saveMcpConfigFile(configPath: string, config: MCPConfigFile, scope?: PersistentMcpScope): void;
934
+ declare function loadConfiguredMcpServers(cwd?: string): MCPConfiguredServer[];
935
+ declare function upsertMcpServerConfig(scope: PersistentMcpScope, cwd: string | undefined, config: MCPServerConfig): string;
936
+ declare function removeMcpServerConfig(scope: PersistentMcpScope, cwd: string | undefined, name: string): string;
937
+ declare function approveMcpServer(cwd: string, approvalKey: string): void;
938
+ declare function denyMcpServer(cwd: string, approvalKey: string): void;
939
+ declare function clearMcpServerApproval(cwd: string, approvalKey: string): void;
940
+ declare function getMcpApprovalDecision(cwd: string, approvalKey: string): MCPApprovalDecision | undefined;
941
+ declare function resetMcpServerApprovals(cwd: string, scope?: PersistentMcpScope): number;
942
+ type MCPRegistryEntryKind = "tool" | "prompt" | "resource";
943
+ type MCPRegistryAccessPolicy = "none" | "prompts" | "resources" | "context" | "all";
944
+ interface MCPRegistryEntryDescriptor {
945
+ kind: MCPRegistryEntryKind;
946
+ server: string;
947
+ name: string;
948
+ description?: string;
949
+ uri?: string;
950
+ }
951
+ type MCPRegistryFilter = (entry: MCPRegistryEntryDescriptor) => boolean;
952
+ declare function matchesMcpRegistryEntryPolicy(entry: MCPRegistryEntryDescriptor, policy: MCPRegistryAccessPolicy): boolean;
953
+ declare function getMcpToolName(serverName: string, toolName: string): string;
954
+ declare function getMcpPromptToolName(serverName: string, promptName: string): string;
955
+ declare function getMcpResourceToolName(serverName: string, resource: MCPResource): string;
956
+ declare function createMcpRegisteredTool(manager: MCPManager, tool: MCPTool): RegisteredTool;
957
+ declare function createMcpPromptRegisteredTool(manager: MCPManager, prompt: MCPPrompt): RegisteredTool;
958
+ declare function createMcpResourceRegisteredTool(manager: MCPManager, resource: MCPResource): RegisteredTool;
959
+ declare function syncMcpToolsToRegistry(manager: MCPManager, registry: ToolRegistry, previouslyRegistered?: string[], filter?: MCPRegistryFilter): string[];
960
+ export { type ConnectConfiguredMCPServersOptions, type ConnectConfiguredMCPServersResult, type ExchangeMCPOAuthCodeOptions, type JsonRpcErrorResponse, type JsonRpcMessage, type JsonRpcNotification, type JsonRpcRequest, type JsonRpcResponse, type JsonRpcSuccessResponse, type MCPAppCapabilities, type MCPAppContentSecurityPolicy, type MCPAppExtensionMetadata, type MCPAppMetadata, type MCPAppPermissions, type MCPAppResourceDescriptor, type MCPAppValidationResult, type MCPAppVisibility, type MCPApprovalDecision, type MCPBearerTokenRefreshHandler, type MCPBearerTokenResolver, type MCPConfigFile, type MCPConfiguredServer, type MCPElicitationAction, type MCPElicitationHandler, type MCPElicitationRequest, type MCPElicitationResponse, type MCPHttpAuthChallenge, MCPHttpTransportError, type MCPHttpUrlPhase, type MCPInitializeParams, type MCPInitializeResult, MCPManager, type MCPManagerOptions, type MCPOAuthAuthorizationServerMetadata, type MCPOAuthAuthorizationSession, MCPOAuthClient, type MCPOAuthClientOptions, type MCPOAuthClientRegistration, type MCPOAuthClientRegistrationSource, type MCPOAuthConfig, type MCPOAuthDiscoveryResult, type MCPOAuthProtectedResourceMetadata, type MCPOAuthTokenSet, type MCPOAuthTokenStore, type MCPOAuthUrlPhase, type MCPPrompt, type MCPPromptGetParams, type MCPPromptGetResult, type MCPPromptsListResult, type MCPRegistryAccessPolicy, type MCPRegistryEntryDescriptor, type MCPRegistryEntryKind, type MCPRegistryFilter, type MCPResource, type MCPResourceReadParams, type MCPResourceReadResult, type MCPResourceSubscribeParams, type MCPResourceUnsubscribeParams, type MCPResourcesListResult, MCPServer, type MCPServerConfig, type MCPServerModeOptions, type MCPServerPromptRegistration, type MCPServerResourceRegistration, type MCPServerScope, type MCPServerState, type MCPTool, type MCPToolCallParams, type MCPToolCallResult, type MCPToolsListResult, type MCPTransport, type MCPTransportConnection, MCP_APPS_EXTENSION_ID, MCP_APP_MIME_TYPE, MCP_APP_RESOURCE_SCHEME, MCP_PROTOCOL_VERSION, MCP_SUPPORTED_PROTOCOL_VERSIONS, type PrepareMCPOAuthAuthorizationOptions, SSETransport, StdioTransport, StreamableHTTPTransport, type StreamableHTTPTransportOptions, type StreamableHTTPTransportSnapshot, approveMcpServer, assertSupportedMcpProtocolVersion, assertValidMcpAppResource, canonicalizeMcpResourceUri, clearMcpServerApproval, createMcpAppCapabilities, createMcpAppExtensionCapabilities, createMcpPkcePair, createMcpPromptRegisteredTool, createMcpRegisteredTool, createMcpResourceRegisteredTool, denyMcpServer, getMcpAppMetadata, getMcpAppResourceUri, getMcpApprovalDecision, getMcpAuthorizationServerMetadataUrls, getMcpPromptToolName, getMcpProtectedResourceMetadataUrls, getMcpResourceToolName, getMcpToolName, isMcpAppResourceUri, isMcpOAuthTokenExpired, isMcpToolVisibleToApp, isMcpToolVisibleToModel, isSupportedMcpProtocolVersion, loadConfiguredMcpServers, loadMcpConfigFile, matchesMcpRegistryEntryPolicy, normalizeMcpAppVisibility, parseMcpWwwAuthenticate, removeMcpServerConfig, resetMcpServerApprovals, saveMcpConfigFile, syncMcpToolsToRegistry, upsertMcpServerConfig, validateMcpAppResource };