@pentoshi/clai 4.11.9 → 4.11.11

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 (178) hide show
  1. package/dist/agent/injected-blocks.d.ts +6 -0
  2. package/dist/agent/injected-blocks.js +29 -13
  3. package/dist/agent/injected-blocks.js.map +1 -1
  4. package/dist/agent/plan-tool.js +5 -1
  5. package/dist/agent/plan-tool.js.map +1 -1
  6. package/dist/agent/responder-context.js +8 -12
  7. package/dist/agent/responder-context.js.map +1 -1
  8. package/dist/agent/stream-recovery.js +15 -1
  9. package/dist/agent/stream-recovery.js.map +1 -1
  10. package/dist/agent/tool-history.js +3 -3
  11. package/dist/agent/tool-history.js.map +1 -1
  12. package/dist/agent/turn/history-writer.d.ts +1 -1
  13. package/dist/agent/turn/history-writer.js +8 -6
  14. package/dist/agent/turn/history-writer.js.map +1 -1
  15. package/dist/agent/turn/loop/deps.d.ts +1 -1
  16. package/dist/agent/turn/loop/round-request.js +2 -0
  17. package/dist/agent/turn/loop/round-request.js.map +1 -1
  18. package/dist/agent/turn/loop/run-rounds.js +1 -1
  19. package/dist/agent/turn/loop/run-rounds.js.map +1 -1
  20. package/dist/agent/turn/loop/stream-failure.d.ts +1 -0
  21. package/dist/agent/turn/loop/stream-failure.js +1 -0
  22. package/dist/agent/turn/loop/stream-failure.js.map +1 -1
  23. package/dist/agent/turn/mcp-agent-tools.js +6 -0
  24. package/dist/agent/turn/mcp-agent-tools.js.map +1 -1
  25. package/dist/classic/panels/confirm-panel.js +1 -0
  26. package/dist/classic/panels/confirm-panel.js.map +1 -1
  27. package/dist/llm/adapters/openai-tools.js +3 -1
  28. package/dist/llm/adapters/openai-tools.js.map +1 -1
  29. package/dist/llm/anthropic.d.ts +1 -1
  30. package/dist/llm/anthropic.js +20 -15
  31. package/dist/llm/anthropic.js.map +1 -1
  32. package/dist/llm/capabilities.d.ts +5 -3
  33. package/dist/llm/capabilities.js +49 -17
  34. package/dist/llm/capabilities.js.map +1 -1
  35. package/dist/llm/capability/state.js +4 -8
  36. package/dist/llm/capability/state.js.map +1 -1
  37. package/dist/llm/custom-providers.d.ts +2 -0
  38. package/dist/llm/custom-providers.js +69 -7
  39. package/dist/llm/custom-providers.js.map +1 -1
  40. package/dist/llm/free.d.ts +2 -0
  41. package/dist/llm/free.js +32 -2
  42. package/dist/llm/free.js.map +1 -1
  43. package/dist/llm/key-rotation.js +2 -5
  44. package/dist/llm/key-rotation.js.map +1 -1
  45. package/dist/llm/learned-capabilities.d.ts +2 -0
  46. package/dist/llm/learned-capabilities.js +31 -7
  47. package/dist/llm/learned-capabilities.js.map +1 -1
  48. package/dist/llm/model-families.js +9 -0
  49. package/dist/llm/model-families.js.map +1 -1
  50. package/dist/llm/model-layers/model-rules.js +1 -0
  51. package/dist/llm/model-layers/model-rules.js.map +1 -1
  52. package/dist/llm/provider-profile-layers.js +1 -1
  53. package/dist/llm/provider-profile-layers.js.map +1 -1
  54. package/dist/llm/provider-profiles.js +3 -1
  55. package/dist/llm/provider-profiles.js.map +1 -1
  56. package/dist/llm/quota-signals.d.ts +4 -0
  57. package/dist/llm/quota-signals.js +22 -0
  58. package/dist/llm/quota-signals.js.map +1 -0
  59. package/dist/llm/request-plan.js +15 -5
  60. package/dist/llm/request-plan.js.map +1 -1
  61. package/dist/llm/responses-request.js +3 -1
  62. package/dist/llm/responses-request.js.map +1 -1
  63. package/dist/llm/router.d.ts +1 -0
  64. package/dist/llm/router.js +6 -0
  65. package/dist/llm/router.js.map +1 -1
  66. package/dist/llm/routing/attempt-complete.js +13 -4
  67. package/dist/llm/routing/attempt-complete.js.map +1 -1
  68. package/dist/llm/routing/attempt-request.js +9 -1
  69. package/dist/llm/routing/attempt-request.js.map +1 -1
  70. package/dist/llm/routing/attempt-stream.js +13 -4
  71. package/dist/llm/routing/attempt-stream.js.map +1 -1
  72. package/dist/llm/routing/error-classification.d.ts +1 -0
  73. package/dist/llm/routing/error-classification.js +40 -6
  74. package/dist/llm/routing/error-classification.js.map +1 -1
  75. package/dist/llm/routing/failure-report.js +13 -0
  76. package/dist/llm/routing/failure-report.js.map +1 -1
  77. package/dist/llm/routing/key-rotation.d.ts +1 -0
  78. package/dist/llm/routing/key-rotation.js +5 -0
  79. package/dist/llm/routing/key-rotation.js.map +1 -1
  80. package/dist/llm/wire/response-errors.d.ts +1 -0
  81. package/dist/llm/wire/response-errors.js +67 -0
  82. package/dist/llm/wire/response-errors.js.map +1 -1
  83. package/dist/llm/wire/responses-failure.d.ts +7 -0
  84. package/dist/llm/wire/responses-failure.js +49 -0
  85. package/dist/llm/wire/responses-failure.js.map +1 -0
  86. package/dist/llm/wire/responses-first.js +15 -56
  87. package/dist/llm/wire/responses-first.js.map +1 -1
  88. package/dist/mcp/auth/device.d.ts +29 -0
  89. package/dist/mcp/auth/device.js +125 -0
  90. package/dist/mcp/auth/device.js.map +1 -0
  91. package/dist/mcp/auth/loopback.d.ts +1 -0
  92. package/dist/mcp/auth/loopback.js +22 -2
  93. package/dist/mcp/auth/loopback.js.map +1 -1
  94. package/dist/mcp/auth/metadata.js +3 -0
  95. package/dist/mcp/auth/metadata.js.map +1 -1
  96. package/dist/mcp/auth/provider.d.ts +7 -1
  97. package/dist/mcp/auth/provider.js +111 -6
  98. package/dist/mcp/auth/provider.js.map +1 -1
  99. package/dist/mcp/auth/registration.d.ts +1 -0
  100. package/dist/mcp/auth/registration.js +4 -2
  101. package/dist/mcp/auth/registration.js.map +1 -1
  102. package/dist/mcp/auth/types.d.ts +8 -0
  103. package/dist/mcp/coerce.d.ts +5 -0
  104. package/dist/mcp/coerce.js +104 -0
  105. package/dist/mcp/coerce.js.map +1 -0
  106. package/dist/mcp/config-file.d.ts +6 -0
  107. package/dist/mcp/config-file.js +18 -2
  108. package/dist/mcp/config-file.js.map +1 -1
  109. package/dist/mcp/index.d.ts +3 -1
  110. package/dist/mcp/index.js +3 -1
  111. package/dist/mcp/index.js.map +1 -1
  112. package/dist/mcp/known-servers.d.ts +36 -0
  113. package/dist/mcp/known-servers.js +265 -0
  114. package/dist/mcp/known-servers.js.map +1 -0
  115. package/dist/mcp/manager.d.ts +6 -1
  116. package/dist/mcp/manager.js +51 -1
  117. package/dist/mcp/manager.js.map +1 -1
  118. package/dist/mcp/runtime.d.ts +6 -0
  119. package/dist/mcp/runtime.js +109 -6
  120. package/dist/mcp/runtime.js.map +1 -1
  121. package/dist/mcp/transport-http.js +4 -4
  122. package/dist/mcp/transport-http.js.map +1 -1
  123. package/dist/mcp/transport.d.ts +3 -2
  124. package/dist/mcp/transport.js +3 -1
  125. package/dist/mcp/transport.js.map +1 -1
  126. package/dist/mcp/validation.js +4 -1
  127. package/dist/mcp/validation.js.map +1 -1
  128. package/dist/noninteractive/start-noninteractive.js +6 -1
  129. package/dist/noninteractive/start-noninteractive.js.map +1 -1
  130. package/dist/safety/tool-classification.js +2 -1
  131. package/dist/safety/tool-classification.js.map +1 -1
  132. package/dist/session-runtime/attach-output.d.ts +12 -0
  133. package/dist/session-runtime/attach-output.js +52 -0
  134. package/dist/session-runtime/attach-output.js.map +1 -0
  135. package/dist/session-runtime/client.js +144 -69
  136. package/dist/session-runtime/client.js.map +1 -1
  137. package/dist/session-runtime/host.js +10 -11
  138. package/dist/session-runtime/host.js.map +1 -1
  139. package/dist/store/session-model.js +9 -7
  140. package/dist/store/session-model.js.map +1 -1
  141. package/dist/tools/definitions/aggregate.js +14 -0
  142. package/dist/tools/definitions/aggregate.js.map +1 -1
  143. package/dist/tools/definitions.js +2 -1
  144. package/dist/tools/definitions.js.map +1 -1
  145. package/dist/tui-v2/bootstrap/resize-repaint.d.ts +1 -37
  146. package/dist/tui-v2/bootstrap/resize-repaint.js +9 -77
  147. package/dist/tui-v2/bootstrap/resize-repaint.js.map +1 -1
  148. package/dist/tui-v2/bootstrap/start-tui-v2.js +13 -27
  149. package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
  150. package/dist/tui-v2/components/jobs/jobs-panel.d.ts +2 -5
  151. package/dist/tui-v2/components/jobs/jobs-panel.js +4 -6
  152. package/dist/tui-v2/components/jobs/jobs-panel.js.map +1 -1
  153. package/dist/tui-v2/components/modal/confirm-modal.js +1 -0
  154. package/dist/tui-v2/components/modal/confirm-modal.js.map +1 -1
  155. package/dist/tui-v2/components/status/status-line.d.ts +1 -3
  156. package/dist/tui-v2/components/status/status-line.js +2 -3
  157. package/dist/tui-v2/components/status/status-line.js.map +1 -1
  158. package/dist/tui-v2/components/transcript/thinking-presentation.js +2 -6
  159. package/dist/tui-v2/components/transcript/thinking-presentation.js.map +1 -1
  160. package/dist/tui-v2/components/transcript/transcript-scrollbar.d.ts +2 -4
  161. package/dist/tui-v2/components/transcript/transcript-scrollbar.js +2 -3
  162. package/dist/tui-v2/components/transcript/transcript-scrollbar.js.map +1 -1
  163. package/dist/tui-v2/composer/composer-editor.d.ts +1 -3
  164. package/dist/tui-v2/composer/composer-editor.js +2 -3
  165. package/dist/tui-v2/composer/composer-editor.js.map +1 -1
  166. package/dist/ui-core/bootstrap/composition-root.js +44 -3
  167. package/dist/ui-core/bootstrap/composition-root.js.map +1 -1
  168. package/dist/ui-core/commands/mcp-commands.js +84 -34
  169. package/dist/ui-core/commands/mcp-commands.js.map +1 -1
  170. package/dist/ui-core/commands/picker-commands.js +1 -1
  171. package/dist/ui-core/commands/picker-commands.js.map +1 -1
  172. package/dist/ui-core/commands/pickers/custom-provider.js +25 -7
  173. package/dist/ui-core/commands/pickers/custom-provider.js.map +1 -1
  174. package/dist/ui-core/controllers/overlay-controller.d.ts +1 -1
  175. package/dist/version.generated.d.ts +2 -2
  176. package/dist/version.generated.js +2 -2
  177. package/dist/version.generated.js.map +1 -1
  178. package/package.json +1 -14
@@ -0,0 +1,265 @@
1
+ const ENV_REF = (name) => `\${env:${name}}`;
2
+ export const KNOWN_MCP_SERVERS = [
3
+ {
4
+ id: "github",
5
+ title: "GitHub",
6
+ summary: "Repos, issues, PRs, code search via the hosted GitHub MCP server.",
7
+ homepage: "https://github.com/github/github-mcp-server",
8
+ oauth: true,
9
+ secrets: [
10
+ {
11
+ env: "GITHUB_OAUTH_CLIENT_ID",
12
+ label: "GitHub OAuth App client ID (optional — enables device-code sign-in without a browser)",
13
+ hint: "https://github.com/settings/developers",
14
+ optional: true,
15
+ target: "auth.clientId",
16
+ },
17
+ ],
18
+ entry: {
19
+ url: "https://api.githubcopilot.com/mcp/",
20
+ auth: { kind: "oauth" },
21
+ },
22
+ },
23
+ {
24
+ id: "notion",
25
+ title: "Notion",
26
+ summary: "Search and edit Notion workspaces via the hosted Notion MCP server.",
27
+ homepage: "https://developers.notion.com/docs/mcp",
28
+ oauth: true,
29
+ secrets: [],
30
+ entry: {
31
+ url: "https://mcp.notion.com/mcp",
32
+ auth: { kind: "oauth" },
33
+ },
34
+ },
35
+ {
36
+ id: "context7",
37
+ title: "Context7",
38
+ summary: "Up-to-date library documentation for the agent.",
39
+ homepage: "https://context7.com",
40
+ secrets: [
41
+ {
42
+ env: "CONTEXT7_API_KEY",
43
+ label: "Context7 API key (optional — raises rate limits)",
44
+ hint: "https://context7.com/dashboard",
45
+ optional: true,
46
+ password: true,
47
+ },
48
+ ],
49
+ entry: {
50
+ url: "https://mcp.context7.com/mcp",
51
+ },
52
+ },
53
+ {
54
+ id: "fetch",
55
+ title: "Fetch",
56
+ summary: "Fetch and read web pages as markdown.",
57
+ homepage: "https://github.com/modelcontextprotocol/servers/tree/main/src/fetch",
58
+ requires: "uv (https://docs.astral.sh/uv/)",
59
+ secrets: [],
60
+ entry: {
61
+ command: "uvx",
62
+ args: ["mcp-server-fetch"],
63
+ },
64
+ },
65
+ {
66
+ id: "filesystem",
67
+ title: "Filesystem",
68
+ summary: "Read/write access to chosen directories.",
69
+ homepage: "https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem",
70
+ requires: "npx",
71
+ secrets: [],
72
+ entry: {
73
+ command: "npx",
74
+ args: ["-y", "@modelcontextprotocol/server-filesystem"],
75
+ },
76
+ defaultArgs: ({ workspaceFolder }) => [workspaceFolder],
77
+ },
78
+ {
79
+ id: "memory",
80
+ title: "Memory",
81
+ summary: "Persistent knowledge-graph memory between sessions.",
82
+ homepage: "https://github.com/modelcontextprotocol/servers/tree/main/src/memory",
83
+ requires: "npx",
84
+ secrets: [
85
+ {
86
+ env: "MEMORY_FILE_PATH",
87
+ label: "Memory storage file path (optional)",
88
+ optional: true,
89
+ },
90
+ ],
91
+ entry: {
92
+ command: "npx",
93
+ args: ["-y", "@modelcontextprotocol/server-memory"],
94
+ },
95
+ },
96
+ {
97
+ id: "sequential-thinking",
98
+ title: "Sequential Thinking",
99
+ summary: "Structured step-by-step reasoning scratchpad.",
100
+ homepage: "https://github.com/modelcontextprotocol/servers/tree/main/src/sequentialthinking",
101
+ requires: "npx",
102
+ secrets: [],
103
+ entry: {
104
+ command: "npx",
105
+ args: ["-y", "@modelcontextprotocol/server-sequential-thinking"],
106
+ },
107
+ },
108
+ {
109
+ id: "brave-search",
110
+ title: "Brave Search",
111
+ summary: "Web and local search via the Brave Search API.",
112
+ homepage: "https://github.com/modelcontextprotocol/servers/tree/main/src/brave-search",
113
+ requires: "npx",
114
+ secrets: [
115
+ {
116
+ env: "BRAVE_API_KEY",
117
+ label: "Brave Search API key",
118
+ hint: "https://brave.com/search/api/",
119
+ password: true,
120
+ },
121
+ ],
122
+ entry: {
123
+ command: "npx",
124
+ args: ["-y", "@modelcontextprotocol/server-brave-search"],
125
+ env: { BRAVE_API_KEY: ENV_REF("BRAVE_API_KEY") },
126
+ },
127
+ },
128
+ {
129
+ id: "mongodb",
130
+ title: "MongoDB",
131
+ summary: "Query and manage MongoDB databases and Atlas clusters.",
132
+ homepage: "https://github.com/mongodb-js/mongodb-mcp-server",
133
+ requires: "npx",
134
+ secrets: [
135
+ {
136
+ env: "MDB_MCP_CONNECTION_STRING",
137
+ label: "MongoDB connection string",
138
+ hint: "mongodb+srv://user:pass@cluster/db",
139
+ password: true,
140
+ },
141
+ ],
142
+ entry: {
143
+ command: "npx",
144
+ args: ["-y", "mongodb-mcp-server"],
145
+ env: { MDB_MCP_CONNECTION_STRING: ENV_REF("MDB_MCP_CONNECTION_STRING") },
146
+ },
147
+ },
148
+ {
149
+ id: "puppeteer",
150
+ title: "Puppeteer",
151
+ summary: "Browser automation and screenshots.",
152
+ homepage: "https://github.com/modelcontextprotocol/servers/tree/main/src/puppeteer",
153
+ requires: "npx",
154
+ secrets: [],
155
+ entry: {
156
+ command: "npx",
157
+ args: ["-y", "@modelcontextprotocol/server-puppeteer"],
158
+ },
159
+ },
160
+ {
161
+ id: "slack",
162
+ title: "Slack",
163
+ summary: "Read and post Slack messages.",
164
+ homepage: "https://github.com/modelcontextprotocol/servers/tree/main/src/slack",
165
+ requires: "npx",
166
+ secrets: [
167
+ {
168
+ env: "SLACK_BOT_TOKEN",
169
+ label: "Slack bot token (xoxb-…)",
170
+ password: true,
171
+ },
172
+ {
173
+ env: "SLACK_TEAM_ID",
174
+ label: "Slack team/workspace ID (T…)",
175
+ },
176
+ ],
177
+ entry: {
178
+ command: "npx",
179
+ args: ["-y", "@modelcontextprotocol/server-slack"],
180
+ env: {
181
+ SLACK_BOT_TOKEN: ENV_REF("SLACK_BOT_TOKEN"),
182
+ SLACK_TEAM_ID: ENV_REF("SLACK_TEAM_ID"),
183
+ },
184
+ },
185
+ },
186
+ ];
187
+ export function knownMcpServer(query) {
188
+ const needle = query.trim().toLowerCase();
189
+ if (!needle)
190
+ return undefined;
191
+ const exact = KNOWN_MCP_SERVERS.find((server) => server.id === needle || server.title.toLowerCase() === needle);
192
+ if (exact)
193
+ return exact;
194
+ const partial = KNOWN_MCP_SERVERS.filter((server) => server.id.includes(needle) || server.title.toLowerCase().includes(needle));
195
+ return partial.length === 1 ? partial[0] : undefined;
196
+ }
197
+ function withEnvValue(envRef, secrets) {
198
+ return secrets.get(envRef) ?? ENV_REF(envRef);
199
+ }
200
+ export function planKnownMcpInstall(server, options = {}) {
201
+ const env = options.env ?? process.env;
202
+ const provided = new Map(Object.entries(options.secrets ?? {}));
203
+ const missing = [];
204
+ const adopted = [];
205
+ const literals = new Map();
206
+ for (const secret of server.secrets) {
207
+ const live = env[secret.env];
208
+ if (live !== undefined && live.length > 0) {
209
+ adopted.push(secret.env);
210
+ continue;
211
+ }
212
+ const given = provided.get(secret.env);
213
+ if (given !== undefined && given.length > 0) {
214
+ literals.set(secret.env, given);
215
+ continue;
216
+ }
217
+ if (!secret.optional)
218
+ missing.push(secret);
219
+ }
220
+ const entry = JSON.parse(JSON.stringify(server.entry));
221
+ if (entry.env && typeof entry.env === "object") {
222
+ const envBlock = { ...entry.env };
223
+ for (const [key, value] of Object.entries(envBlock)) {
224
+ if (typeof value === "string")
225
+ envBlock[key] = withEnvValue(key, literals);
226
+ }
227
+ entry.env = envBlock;
228
+ }
229
+ for (const secret of server.secrets) {
230
+ if (secret.target === "auth.clientId") {
231
+ const literal = literals.get(secret.env) ?? (adopted.includes(secret.env) ? ENV_REF(secret.env) : undefined);
232
+ if (literal) {
233
+ const auth = { ...(entry.auth ?? { kind: "oauth" }) };
234
+ auth.clientId = literal;
235
+ entry.auth = auth;
236
+ }
237
+ continue;
238
+ }
239
+ const literal = literals.get(secret.env);
240
+ const adoptedRef = adopted.includes(secret.env);
241
+ if (!literal && !adoptedRef)
242
+ continue;
243
+ const envBlock = { ...(entry.env ?? {}) };
244
+ if (!(secret.env in envBlock)) {
245
+ envBlock[secret.env] = literal ?? ENV_REF(secret.env);
246
+ entry.env = envBlock;
247
+ }
248
+ }
249
+ if (server.defaultArgs) {
250
+ const extra = server.defaultArgs({
251
+ workspaceFolder: options.workspaceFolder ?? process.cwd(),
252
+ });
253
+ if (extra.length > 0) {
254
+ const current = Array.isArray(entry.args) ? entry.args : [];
255
+ entry.args = [...current, ...extra];
256
+ }
257
+ }
258
+ return {
259
+ server,
260
+ entry,
261
+ missingSecrets: missing,
262
+ adoptedEnvRefs: adopted,
263
+ };
264
+ }
265
+ //# sourceMappingURL=known-servers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"known-servers.js","sourceRoot":"","sources":["../../src/mcp/known-servers.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type McpClientOptions } from "./client.js";
2
2
  import { type McpTransport } from "./transport.js";
3
- import { type OAuthConsentInfo } from "./auth/provider.js";
3
+ import { type AuthProviderDeps, type OAuthConsentInfo } from "./auth/provider.js";
4
4
  import type { McpAuthProvider } from "./auth/types.js";
5
5
  import type { McpDiscoveryOptions, McpDiscoveryResult, McpNormalizedResult, McpRequestOptions, McpServerDefinition, McpSnapshot, McpToolMetadata } from "./types.js";
6
6
  export type McpTransportFactory = (definition: McpServerDefinition) => McpTransport;
@@ -14,6 +14,8 @@ export interface McpManagerOptions {
14
14
  readonly openBrowser?: ((url: string) => Promise<void>) | undefined;
15
15
  readonly requestOAuthConsent?: ((info: OAuthConsentInfo) => Promise<boolean>) | undefined;
16
16
  readonly oauthInteractive?: boolean | undefined;
17
+ readonly onDeviceAuthorization?: AuthProviderDeps["onDeviceAuthorization"];
18
+ readonly onAuthorizationUrl?: AuthProviderDeps["onAuthorizationUrl"];
17
19
  readonly authProviderFactory?: ((definition: McpServerDefinition) => McpAuthProvider | undefined) | undefined;
18
20
  }
19
21
  export declare class McpManager {
@@ -34,12 +36,15 @@ export declare class McpManager {
34
36
  liveSecrets(serverName: string): readonly string[];
35
37
  private mergedSecrets;
36
38
  getDiscovery(): McpDiscoveryResult;
39
+ get discoveryWorkspaceFolder(): string | undefined;
37
40
  refresh(options?: {
38
41
  force?: boolean;
39
42
  }): Promise<McpSnapshot>;
40
43
  forceRefresh(): Promise<McpSnapshot>;
41
44
  reconnect(name: string): Promise<McpSnapshot>;
42
45
  private connect;
46
+ private fallbackTransportFor;
47
+ private attemptConnect;
43
48
  private reconcileToolNames;
44
49
  private disposeConnection;
45
50
  closeAll(): Promise<void>;
@@ -83,6 +83,12 @@ export class McpManager {
83
83
  ...(this.options.oauthInteractive !== undefined
84
84
  ? { interactive: this.options.oauthInteractive }
85
85
  : {}),
86
+ ...(this.options.onDeviceAuthorization
87
+ ? { onDeviceAuthorization: this.options.onDeviceAuthorization }
88
+ : {}),
89
+ ...(this.options.onAuthorizationUrl
90
+ ? { onAuthorizationUrl: this.options.onAuthorizationUrl }
91
+ : {}),
86
92
  };
87
93
  const provider = createAuthProvider(config.auth ?? { kind: "oauth" }, deps);
88
94
  this.rememberAuthProvider(definition, provider);
@@ -121,6 +127,9 @@ export class McpManager {
121
127
  getDiscovery() {
122
128
  return this.discovery;
123
129
  }
130
+ get discoveryWorkspaceFolder() {
131
+ return this.options.discovery?.workspaceFolder;
132
+ }
124
133
  async refresh(options = {}) {
125
134
  this.discovery = discoverMcpServers(this.options.discovery ?? {});
126
135
  const next = new Map();
@@ -213,9 +222,48 @@ export class McpManager {
213
222
  const state = this.connections.get(definition.name);
214
223
  if (!state)
215
224
  return;
225
+ const primaryError = await this.attemptConnect(definition, state, this.createTransport(definition));
226
+ if (primaryError === undefined)
227
+ return;
228
+ const fallback = this.fallbackTransportFor(definition, primaryError);
229
+ if (!fallback)
230
+ return;
231
+ const fallbackError = await this.attemptConnect(definition, state, fallback);
232
+ if (fallbackError !== undefined)
233
+ return;
234
+ const status = primaryError instanceof McpTransportError && primaryError.status !== undefined
235
+ ? ` ${primaryError.status}`
236
+ : "";
237
+ const note = `primary ${definition.config.transport} transport failed with${status || " an error"}; connected via ${fallback.kind} fallback`;
238
+ state.detail = state.detail ? `${state.detail} · ${note}` : note;
239
+ }
240
+ fallbackTransportFor(definition, error) {
241
+ if (this.options.transportFactory)
242
+ return undefined;
243
+ if (!(error instanceof McpTransportError))
244
+ return undefined;
245
+ const status = error.status ?? 0;
246
+ if (![400, 404, 405, 410, 415].includes(status))
247
+ return undefined;
248
+ const config = definition.config;
249
+ if (config.transport === "stdio")
250
+ return undefined;
251
+ const alternate = {
252
+ ...config,
253
+ transport: config.transport === "sse" ? "http" : "sse",
254
+ };
255
+ const authProvider = this.buildAuthProvider(definition, config);
256
+ const httpOptions = {
257
+ requestTimeoutMs: this.requestTimeoutMs,
258
+ ...(authProvider ? { authProvider } : {}),
259
+ };
260
+ return alternate.transport === "sse"
261
+ ? new LegacySseTransport(alternate, httpOptions)
262
+ : new StreamableHttpTransport(alternate, httpOptions);
263
+ }
264
+ async attemptConnect(definition, state, transport) {
216
265
  let client;
217
266
  try {
218
- const transport = this.createTransport(definition);
219
267
  client = new McpClient(transport, this.options.clientOptions ?? {});
220
268
  const init = await client.initialize({ timeoutMs: this.connectTimeoutMs });
221
269
  state.client = client;
@@ -249,7 +297,9 @@ export class McpManager {
249
297
  if (client)
250
298
  await client.close().catch(() => undefined);
251
299
  state.client = undefined;
300
+ return error;
252
301
  }
302
+ return undefined;
253
303
  }
254
304
  reconcileToolNames() {
255
305
  const all = [...this.connections.values()].flatMap((state) => state.status === "ready"
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/mcp/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/mcp/manager.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,8 @@ export interface McpRuntimeOptions {
30
30
  readonly openBrowser?: ((url: string) => Promise<void>) | undefined;
31
31
  readonly requestOAuthConsent?: ((info: OAuthConsentInfo) => Promise<boolean>) | undefined;
32
32
  readonly oauthInteractive?: boolean | undefined;
33
+ readonly onDeviceAuthorization?: McpManagerOptions["onDeviceAuthorization"];
34
+ readonly onAuthorizationUrl?: McpManagerOptions["onAuthorizationUrl"];
33
35
  }
34
36
  export declare function mcpSelectionLabel(selection: McpRuntimeSelection): string;
35
37
  export interface McpTurnLease {
@@ -93,6 +95,10 @@ export declare class McpRuntime {
93
95
  private enabledSummary;
94
96
  agentEnable(target?: string | readonly string[]): Promise<ToolResult>;
95
97
  agentConnect(serverName: string): Promise<ToolResult>;
98
+ agentAdd(options: {
99
+ name?: string;
100
+ json?: string;
101
+ }): Promise<ToolResult>;
96
102
  agentLogin(serverName: string): Promise<ToolResult>;
97
103
  canLogin(serverName: string): boolean;
98
104
  promptContext(options: {