@pentoshi/clai 4.10.2 → 4.11.1

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 (208) hide show
  1. package/README.md +40 -7
  2. package/dist/agent/runner.js +114 -25
  3. package/dist/agent/runner.js.map +1 -1
  4. package/dist/agent/task-evidence.js +0 -63
  5. package/dist/agent/task-evidence.js.map +1 -1
  6. package/dist/app/adapters/current-store-adapter.js +8 -2
  7. package/dist/app/adapters/current-store-adapter.js.map +1 -1
  8. package/dist/app/commands/catalog.js +19 -2
  9. package/dist/app/commands/catalog.js.map +1 -1
  10. package/dist/app/controllers/session-controller.d.ts +4 -2
  11. package/dist/app/controllers/session-controller.js +26 -38
  12. package/dist/app/controllers/session-controller.js.map +1 -1
  13. package/dist/app/controllers/session-loop-recovery.d.ts +13 -0
  14. package/dist/app/controllers/session-loop-recovery.js +43 -0
  15. package/dist/app/controllers/session-loop-recovery.js.map +1 -0
  16. package/dist/app/ports/persistence-port.d.ts +3 -1
  17. package/dist/classic/bootstrap/start-classic.d.ts +1 -0
  18. package/dist/classic/bootstrap/start-classic.js +13 -4
  19. package/dist/classic/bootstrap/start-classic.js.map +1 -1
  20. package/dist/commands/providers.js +2 -0
  21. package/dist/commands/providers.js.map +1 -1
  22. package/dist/index.js +1 -0
  23. package/dist/index.js.map +1 -1
  24. package/dist/llm/capabilities.js +13 -0
  25. package/dist/llm/capabilities.js.map +1 -1
  26. package/dist/llm/free-default-model.d.ts +7 -0
  27. package/dist/llm/free-default-model.js +41 -0
  28. package/dist/llm/free-default-model.js.map +1 -0
  29. package/dist/llm/free.js +39 -0
  30. package/dist/llm/free.js.map +1 -1
  31. package/dist/llm/merge-gateway.d.ts +6 -0
  32. package/dist/llm/merge-gateway.js +157 -0
  33. package/dist/llm/merge-gateway.js.map +1 -0
  34. package/dist/llm/meta.d.ts +1 -2
  35. package/dist/llm/meta.js +31 -1140
  36. package/dist/llm/meta.js.map +1 -1
  37. package/dist/llm/provider-model-layers.js +6 -0
  38. package/dist/llm/provider-model-layers.js.map +1 -1
  39. package/dist/llm/provider-profile-layers.js +21 -0
  40. package/dist/llm/provider-profile-layers.js.map +1 -1
  41. package/dist/llm/provider.js +68 -0
  42. package/dist/llm/provider.js.map +1 -1
  43. package/dist/llm/reasoning-capability.js +8 -0
  44. package/dist/llm/reasoning-capability.js.map +1 -1
  45. package/dist/llm/responses-complete.d.ts +4 -0
  46. package/dist/llm/responses-complete.js +28 -0
  47. package/dist/llm/responses-complete.js.map +1 -0
  48. package/dist/llm/responses-config.d.ts +22 -0
  49. package/dist/llm/responses-config.js +19 -0
  50. package/dist/llm/responses-config.js.map +1 -0
  51. package/dist/llm/responses-dialect.d.ts +6 -0
  52. package/dist/llm/responses-dialect.js +6 -0
  53. package/dist/llm/responses-dialect.js.map +1 -0
  54. package/dist/llm/responses-http.d.ts +13 -0
  55. package/dist/llm/responses-http.js +88 -0
  56. package/dist/llm/responses-http.js.map +1 -0
  57. package/dist/llm/responses-parse.d.ts +42 -0
  58. package/dist/llm/responses-parse.js +242 -0
  59. package/dist/llm/responses-parse.js.map +1 -0
  60. package/dist/llm/responses-request.d.ts +15 -0
  61. package/dist/llm/responses-request.js +209 -0
  62. package/dist/llm/responses-request.js.map +1 -0
  63. package/dist/llm/responses-stream-accumulator.d.ts +38 -0
  64. package/dist/llm/responses-stream-accumulator.js +102 -0
  65. package/dist/llm/responses-stream-accumulator.js.map +1 -0
  66. package/dist/llm/responses-stream-events.d.ts +6 -0
  67. package/dist/llm/responses-stream-events.js +398 -0
  68. package/dist/llm/responses-stream-events.js.map +1 -0
  69. package/dist/llm/responses-stream-watchdog.d.ts +14 -0
  70. package/dist/llm/responses-stream-watchdog.js +64 -0
  71. package/dist/llm/responses-stream-watchdog.js.map +1 -0
  72. package/dist/llm/responses-stream.d.ts +4 -0
  73. package/dist/llm/responses-stream.js +264 -0
  74. package/dist/llm/responses-stream.js.map +1 -0
  75. package/dist/llm/router.js +3 -0
  76. package/dist/llm/router.js.map +1 -1
  77. package/dist/llm/tool-protocol.js +35 -3
  78. package/dist/llm/tool-protocol.js.map +1 -1
  79. package/dist/mcp/auth/host-credentials.d.ts +11 -0
  80. package/dist/mcp/auth/host-credentials.js +54 -0
  81. package/dist/mcp/auth/host-credentials.js.map +1 -0
  82. package/dist/mcp/auth/loopback.d.ts +16 -0
  83. package/dist/mcp/auth/loopback.js +126 -0
  84. package/dist/mcp/auth/loopback.js.map +1 -0
  85. package/dist/mcp/auth/metadata.d.ts +9 -0
  86. package/dist/mcp/auth/metadata.js +102 -0
  87. package/dist/mcp/auth/metadata.js.map +1 -0
  88. package/dist/mcp/auth/pkce.d.ts +3 -0
  89. package/dist/mcp/auth/pkce.js +17 -0
  90. package/dist/mcp/auth/pkce.js.map +1 -0
  91. package/dist/mcp/auth/provider.d.ts +24 -0
  92. package/dist/mcp/auth/provider.js +372 -0
  93. package/dist/mcp/auth/provider.js.map +1 -0
  94. package/dist/mcp/auth/registration.d.ts +12 -0
  95. package/dist/mcp/auth/registration.js +38 -0
  96. package/dist/mcp/auth/registration.js.map +1 -0
  97. package/dist/mcp/auth/security.d.ts +2 -0
  98. package/dist/mcp/auth/security.js +29 -0
  99. package/dist/mcp/auth/security.js.map +1 -0
  100. package/dist/mcp/auth/token-exchange.d.ts +24 -0
  101. package/dist/mcp/auth/token-exchange.js +66 -0
  102. package/dist/mcp/auth/token-exchange.js.map +1 -0
  103. package/dist/mcp/auth/token-store.d.ts +3 -0
  104. package/dist/mcp/auth/token-store.js +170 -0
  105. package/dist/mcp/auth/token-store.js.map +1 -0
  106. package/dist/mcp/auth/types.d.ts +62 -0
  107. package/dist/mcp/auth/types.js +2 -0
  108. package/dist/mcp/auth/types.js.map +1 -0
  109. package/dist/mcp/auth/www-authenticate.d.ts +2 -0
  110. package/dist/mcp/auth/www-authenticate.js +42 -0
  111. package/dist/mcp/auth/www-authenticate.js.map +1 -0
  112. package/dist/mcp/discovery.js +48 -1
  113. package/dist/mcp/discovery.js.map +1 -1
  114. package/dist/mcp/manager.d.ts +19 -0
  115. package/dist/mcp/manager.js +102 -10
  116. package/dist/mcp/manager.js.map +1 -1
  117. package/dist/mcp/mentions.js +2 -2
  118. package/dist/mcp/mentions.js.map +1 -1
  119. package/dist/mcp/runtime.d.ts +12 -0
  120. package/dist/mcp/runtime.js +146 -8
  121. package/dist/mcp/runtime.js.map +1 -1
  122. package/dist/mcp/transport-http.d.ts +12 -1
  123. package/dist/mcp/transport-http.js +160 -45
  124. package/dist/mcp/transport-http.js.map +1 -1
  125. package/dist/mcp/types.d.ts +18 -0
  126. package/dist/mcp/types.js.map +1 -1
  127. package/dist/mcp/validation.d.ts +10 -1
  128. package/dist/mcp/validation.js +111 -1
  129. package/dist/mcp/validation.js.map +1 -1
  130. package/dist/noninteractive/cancellation.d.ts +15 -0
  131. package/dist/noninteractive/cancellation.js +49 -0
  132. package/dist/noninteractive/cancellation.js.map +1 -0
  133. package/dist/noninteractive/readline-prompts.d.ts +1 -0
  134. package/dist/noninteractive/readline-prompts.js +14 -0
  135. package/dist/noninteractive/readline-prompts.js.map +1 -1
  136. package/dist/noninteractive/start-noninteractive.js +11 -10
  137. package/dist/noninteractive/start-noninteractive.js.map +1 -1
  138. package/dist/os/screen-sequences.d.ts +4 -0
  139. package/dist/os/screen-sequences.js +9 -0
  140. package/dist/os/screen-sequences.js.map +1 -1
  141. package/dist/os/terminal-rescue.js +2 -2
  142. package/dist/os/terminal-rescue.js.map +1 -1
  143. package/dist/os/terminal-write.d.ts +5 -0
  144. package/dist/os/terminal-write.js +45 -0
  145. package/dist/os/terminal-write.js.map +1 -0
  146. package/dist/safety/classifier.js +7 -2
  147. package/dist/safety/classifier.js.map +1 -1
  148. package/dist/session-runtime/alt-screen.js +2 -1
  149. package/dist/session-runtime/alt-screen.js.map +1 -1
  150. package/dist/session-runtime/child-bridge.d.ts +1 -1
  151. package/dist/session-runtime/child-bridge.js +7 -2
  152. package/dist/session-runtime/child-bridge.js.map +1 -1
  153. package/dist/session-runtime/client.js +13 -5
  154. package/dist/session-runtime/client.js.map +1 -1
  155. package/dist/session-runtime/host.d.ts +2 -0
  156. package/dist/session-runtime/host.js +19 -2
  157. package/dist/session-runtime/host.js.map +1 -1
  158. package/dist/session-runtime/reaper.d.ts +4 -0
  159. package/dist/session-runtime/reaper.js +64 -0
  160. package/dist/session-runtime/reaper.js.map +1 -0
  161. package/dist/session-runtime/terminal-modes.d.ts +8 -0
  162. package/dist/session-runtime/terminal-modes.js +51 -0
  163. package/dist/session-runtime/terminal-modes.js.map +1 -0
  164. package/dist/session-runtime/types.d.ts +2 -0
  165. package/dist/store/config.js +1 -0
  166. package/dist/store/config.js.map +1 -1
  167. package/dist/store/history.d.ts +9 -3
  168. package/dist/store/history.js +39 -8
  169. package/dist/store/history.js.map +1 -1
  170. package/dist/store/session-model.d.ts +29 -0
  171. package/dist/store/session-model.js +212 -0
  172. package/dist/store/session-model.js.map +1 -0
  173. package/dist/tools/definitions.d.ts +2 -0
  174. package/dist/tools/definitions.js +54 -0
  175. package/dist/tools/definitions.js.map +1 -1
  176. package/dist/tui-v2/bootstrap/renderer-handle.d.ts +2 -1
  177. package/dist/tui-v2/bootstrap/renderer-handle.js +2 -1
  178. package/dist/tui-v2/bootstrap/renderer-handle.js.map +1 -1
  179. package/dist/tui-v2/bootstrap/resize-repaint.d.ts +3 -1
  180. package/dist/tui-v2/bootstrap/resize-repaint.js +18 -2
  181. package/dist/tui-v2/bootstrap/resize-repaint.js.map +1 -1
  182. package/dist/tui-v2/bootstrap/start-tui-v2.d.ts +1 -0
  183. package/dist/tui-v2/bootstrap/start-tui-v2.js +21 -17
  184. package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
  185. package/dist/tui-v2/components/transcript/intro-card.js +2 -2
  186. package/dist/tui-v2/components/transcript/intro-card.js.map +1 -1
  187. package/dist/tui-v2/composer/composer-editor.js +4 -2
  188. package/dist/tui-v2/composer/composer-editor.js.map +1 -1
  189. package/dist/types.d.ts +1 -1
  190. package/dist/types.js +1 -0
  191. package/dist/types.js.map +1 -1
  192. package/dist/ui-core/bootstrap/composition-root.d.ts +2 -2
  193. package/dist/ui-core/bootstrap/composition-root.js +3 -1
  194. package/dist/ui-core/bootstrap/composition-root.js.map +1 -1
  195. package/dist/ui-core/bootstrap/exit-epilogue.d.ts +2 -2
  196. package/dist/ui-core/bootstrap/exit-epilogue.js +1 -1
  197. package/dist/ui-core/bootstrap/exit-epilogue.js.map +1 -1
  198. package/dist/ui-core/bootstrap/session-resume.js +10 -0
  199. package/dist/ui-core/bootstrap/session-resume.js.map +1 -1
  200. package/dist/ui-core/commands/mcp-commands.js +182 -70
  201. package/dist/ui-core/commands/mcp-commands.js.map +1 -1
  202. package/dist/ui-core/commands/picker-commands.js +10 -8
  203. package/dist/ui-core/commands/picker-commands.js.map +1 -1
  204. package/dist/ui-core/commands/session-commands.js +41 -8
  205. package/dist/ui-core/commands/session-commands.js.map +1 -1
  206. package/dist/version.generated.d.ts +2 -2
  207. package/dist/version.generated.js +2 -2
  208. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tool-protocol.js","sourceRoot":"","sources":["../../src/llm/tool-protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-protocol.js","sourceRoot":"","sources":["../../src/llm/tool-protocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export interface HostCredential {
2
+ readonly token: string;
3
+ readonly source: string;
4
+ }
5
+ export interface HostCredentialDeps {
6
+ readonly env?: Record<string, string | undefined> | undefined;
7
+ readonly readCliToken?: (() => Promise<string | undefined>) | undefined;
8
+ }
9
+ export declare function isGithubHost(serverUrl: string): boolean;
10
+ export declare function findGithubCredential(serverUrl: string, deps?: HostCredentialDeps): Promise<HostCredential | undefined>;
11
+ export declare function githubCredentialHint(): string;
@@ -0,0 +1,54 @@
1
+ import { execFile } from "node:child_process";
2
+ const GITHUB_HOSTS = ["github.com", "githubcopilot.com"];
3
+ const GITHUB_TOKEN_VARS = [
4
+ "GITHUB_MCP_TOKEN",
5
+ "GITHUB_PERSONAL_ACCESS_TOKEN",
6
+ "GITHUB_TOKEN",
7
+ "GH_TOKEN",
8
+ ];
9
+ const CLI_TIMEOUT_MS = 4_000;
10
+ export function isGithubHost(serverUrl) {
11
+ let host;
12
+ try {
13
+ host = new URL(serverUrl).hostname.toLowerCase();
14
+ }
15
+ catch {
16
+ return false;
17
+ }
18
+ return GITHUB_HOSTS.some((known) => host === known || host.endsWith(`.${known}`));
19
+ }
20
+ function fromEnv(env) {
21
+ for (const name of GITHUB_TOKEN_VARS) {
22
+ const value = env[name]?.trim();
23
+ if (value)
24
+ return { token: value, source: `$${name}` };
25
+ }
26
+ return undefined;
27
+ }
28
+ function readGhCliToken() {
29
+ return new Promise((resolve) => {
30
+ execFile("gh", ["auth", "token"], { timeout: CLI_TIMEOUT_MS, windowsHide: true }, (error, stdout) => {
31
+ if (error) {
32
+ resolve(undefined);
33
+ return;
34
+ }
35
+ const token = String(stdout).trim();
36
+ resolve(token.length > 0 ? token : undefined);
37
+ });
38
+ });
39
+ }
40
+ export async function findGithubCredential(serverUrl, deps = {}) {
41
+ if (!isGithubHost(serverUrl))
42
+ return undefined;
43
+ const env = deps.env ?? process.env;
44
+ const fromEnvironment = fromEnv(env);
45
+ if (fromEnvironment)
46
+ return fromEnvironment;
47
+ const readCliToken = deps.readCliToken ?? readGhCliToken;
48
+ const cliToken = await readCliToken().catch(() => undefined);
49
+ return cliToken ? { token: cliToken, source: "gh auth token" } : undefined;
50
+ }
51
+ export function githubCredentialHint() {
52
+ return (`set ${GITHUB_TOKEN_VARS[2]} (or run "gh auth login" so "gh auth token" works)`);
53
+ }
54
+ //# sourceMappingURL=host-credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-credentials.js","sourceRoot":"","sources":["../../../src/mcp/auth/host-credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,mBAAmB,CAAU,CAAC;AAElE,MAAM,iBAAiB,GAAG;IACxB,kBAAkB;IAClB,8BAA8B;IAC9B,cAAc;IACd,UAAU;CACF,CAAC;AAEX,MAAM,cAAc,GAAG,KAAK,CAAC;AAY7B,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC5C,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,OAAO,CAAC,GAAuC;IACtD,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;QAChC,IAAI,KAAK;YAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;IACzD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc;IACrB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,QAAQ,CACN,IAAI,EACJ,CAAC,MAAM,EAAE,OAAO,CAAC,EACjB,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,EAC9C,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAChB,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,SAAS,CAAC,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,SAAiB,EACjB,OAA2B,EAAE;IAE7B,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACpC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,eAAe;QAAE,OAAO,eAAe,CAAC;IAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,cAAc,CAAC;IACzD,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC7D,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,CACL,OAAO,iBAAiB,CAAC,CAAC,CAAC,oDAAoD,CAChF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { spawn } from "node:child_process";
2
+ import type { LoopbackAuthorizationResult } from "./types.js";
3
+ export interface OpenBrowserDeps {
4
+ readonly platform?: NodeJS.Platform | undefined;
5
+ readonly spawnImpl?: typeof spawn | undefined;
6
+ }
7
+ export declare function openSystemBrowser(rawUrl: string, deps?: OpenBrowserDeps): Promise<void>;
8
+ export interface LoopbackAuthorizationParams {
9
+ buildAuthorizationUrl(redirectUri: string, state: string): string | Promise<string>;
10
+ openBrowser(url: string): Promise<void>;
11
+ readonly timeoutMs?: number | undefined;
12
+ readonly host?: string | undefined;
13
+ readonly callbackPath?: string | undefined;
14
+ readonly successHtml?: string | undefined;
15
+ }
16
+ export declare function runLoopbackAuthorization(params: LoopbackAuthorizationParams): Promise<LoopbackAuthorizationResult>;
@@ -0,0 +1,126 @@
1
+ import { spawn } from "node:child_process";
2
+ import { createServer } from "node:http";
3
+ import { classifyHost } from "../../tools/web/ssrf-guard.js";
4
+ import { McpTransportError } from "../transport.js";
5
+ import { randomState } from "./pkce.js";
6
+ const DEFAULT_TIMEOUT_MS = 300_000;
7
+ const DEFAULT_SUCCESS_HTML = "<!doctype html><html><head><meta charset=\"utf-8\"><title>clai</title></head>" +
8
+ "<body><p>Authorization complete. You can close this tab and return to clai.</p></body></html>";
9
+ function assertBrowserUrl(raw) {
10
+ let url;
11
+ try {
12
+ url = new URL(raw);
13
+ }
14
+ catch {
15
+ throw new McpTransportError("protocol", "Refusing to open a browser for an unparseable URL.");
16
+ }
17
+ if (url.protocol === "https:")
18
+ return url;
19
+ if (url.protocol === "http:") {
20
+ const classification = classifyHost(url.hostname.replace(/^\[|\]$/g, ""));
21
+ if (classification?.class === "loopback")
22
+ return url;
23
+ }
24
+ throw new McpTransportError("protocol", `Refusing to open a browser for scheme "${url.protocol}"; only https or loopback http are allowed.`);
25
+ }
26
+ function browserCommand(platform, url) {
27
+ if (platform === "darwin")
28
+ return { command: "open", args: [url] };
29
+ if (platform === "win32") {
30
+ return { command: "rundll32", args: ["url.dll,FileProtocolHandler", url] };
31
+ }
32
+ return { command: "xdg-open", args: [url] };
33
+ }
34
+ export async function openSystemBrowser(rawUrl, deps = {}) {
35
+ const url = assertBrowserUrl(rawUrl);
36
+ const platform = deps.platform ?? process.platform;
37
+ const spawnImpl = deps.spawnImpl ?? spawn;
38
+ const { command, args } = browserCommand(platform, url.toString());
39
+ const child = spawnImpl(command, args, {
40
+ stdio: "ignore",
41
+ shell: false,
42
+ detached: false,
43
+ });
44
+ child.on("error", () => undefined);
45
+ if (typeof child.unref === "function")
46
+ child.unref();
47
+ }
48
+ function readCallback(requestUrl, callbackPath, expectedState) {
49
+ if (requestUrl.pathname !== callbackPath)
50
+ return { kind: "ignore" };
51
+ const error = requestUrl.searchParams.get("error");
52
+ if (error)
53
+ return { kind: "error", reason: `authorization server returned error "${error}"` };
54
+ const returnedState = requestUrl.searchParams.get("state");
55
+ if (!returnedState || returnedState !== expectedState) {
56
+ return { kind: "error", reason: "authorization state did not match the request (possible CSRF)" };
57
+ }
58
+ const code = requestUrl.searchParams.get("code");
59
+ if (!code)
60
+ return { kind: "error", reason: "authorization response contained no code" };
61
+ return { kind: "ok", code };
62
+ }
63
+ export function runLoopbackAuthorization(params) {
64
+ const host = params.host ?? "127.0.0.1";
65
+ const callbackPath = params.callbackPath ?? "/callback";
66
+ const successHtml = params.successHtml ?? DEFAULT_SUCCESS_HTML;
67
+ const state = randomState();
68
+ return new Promise((resolve, reject) => {
69
+ const server = createServer();
70
+ let redirectUri = "";
71
+ let settled = false;
72
+ const timer = setTimeout(() => {
73
+ finishReject(new McpTransportError("timeout", "MCP OAuth authorization timed out waiting for the browser callback."));
74
+ }, params.timeoutMs ?? DEFAULT_TIMEOUT_MS);
75
+ if (typeof timer.unref === "function")
76
+ timer.unref();
77
+ const close = () => {
78
+ clearTimeout(timer);
79
+ server.closeAllConnections?.();
80
+ server.close(() => undefined);
81
+ };
82
+ function finishResolve(result) {
83
+ if (settled)
84
+ return;
85
+ settled = true;
86
+ close();
87
+ resolve(result);
88
+ }
89
+ function finishReject(error) {
90
+ if (settled)
91
+ return;
92
+ settled = true;
93
+ close();
94
+ reject(error);
95
+ }
96
+ server.on("request", (req, res) => {
97
+ const requestUrl = new URL(req.url ?? "/", redirectUri || `http://${host}`);
98
+ const reading = readCallback(requestUrl, callbackPath, state);
99
+ if (reading.kind === "ignore") {
100
+ res.statusCode = 404;
101
+ res.end();
102
+ return;
103
+ }
104
+ const ok = reading.kind === "ok";
105
+ res.statusCode = ok ? 200 : 400;
106
+ res.setHeader("content-type", "text/html; charset=utf-8");
107
+ res.end(ok ? successHtml : "<!doctype html><html><body><p>Authorization failed.</p></body></html>");
108
+ if (reading.kind === "ok") {
109
+ finishResolve({ code: reading.code, state, redirectUri });
110
+ }
111
+ else {
112
+ finishReject(new McpTransportError("protocol", `MCP OAuth ${reading.reason}.`));
113
+ }
114
+ });
115
+ server.on("error", (error) => finishReject(error));
116
+ server.listen(0, host, () => {
117
+ const port = server.address().port;
118
+ redirectUri = `http://${host}:${port}${callbackPath}`;
119
+ Promise.resolve()
120
+ .then(() => params.buildAuthorizationUrl(redirectUri, state))
121
+ .then((authUrl) => params.openBrowser(authUrl))
122
+ .catch((error) => finishReject(error instanceof Error ? error : new Error(String(error))));
123
+ });
124
+ });
125
+ }
126
+ //# sourceMappingURL=loopback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loopback.js","sourceRoot":"","sources":["../../../src/mcp/auth/loopback.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { AuthorizationServerMetadata, ProtectedResourceMetadata } from "./types.js";
2
+ export interface MetadataFetchDeps {
3
+ readonly fetchImpl?: typeof fetch | undefined;
4
+ readonly validateUrl?: ((url: string) => URL) | undefined;
5
+ }
6
+ export declare function buildProtectedResourceMetadataUrl(resource: string): string;
7
+ export declare function discoverProtectedResourceMetadata(metadataUrl: string, deps?: MetadataFetchDeps): Promise<ProtectedResourceMetadata>;
8
+ export declare function authorizationServerMetadataCandidates(issuer: string): string[];
9
+ export declare function discoverAuthorizationServerMetadata(issuer: string, deps?: MetadataFetchDeps): Promise<AuthorizationServerMetadata>;
@@ -0,0 +1,102 @@
1
+ import { McpTransportError } from "../transport.js";
2
+ import { assertSafeDiscoveryUrl } from "./security.js";
3
+ const MAX_METADATA_BYTES = 256 * 1024;
4
+ function stringArray(value) {
5
+ if (!Array.isArray(value))
6
+ return [];
7
+ return value.filter((entry) => typeof entry === "string");
8
+ }
9
+ async function fetchJson(url, deps) {
10
+ const validate = deps.validateUrl ?? assertSafeDiscoveryUrl;
11
+ const target = validate(url);
12
+ const impl = deps.fetchImpl ?? fetch;
13
+ const response = await impl(target.toString(), {
14
+ method: "GET",
15
+ headers: { accept: "application/json" },
16
+ redirect: "manual",
17
+ });
18
+ if (response.status >= 300 && response.status < 400) {
19
+ throw new McpTransportError("protocol", `MCP OAuth discovery refused a redirect from ${url}.`);
20
+ }
21
+ if (!response.ok)
22
+ return undefined;
23
+ const text = await response.text();
24
+ if (text.length > MAX_METADATA_BYTES) {
25
+ throw new McpTransportError("too-large", "MCP OAuth metadata document exceeded the size limit.");
26
+ }
27
+ try {
28
+ const parsed = JSON.parse(text);
29
+ return typeof parsed === "object" && parsed !== null
30
+ ? parsed
31
+ : undefined;
32
+ }
33
+ catch {
34
+ return undefined;
35
+ }
36
+ }
37
+ export function buildProtectedResourceMetadataUrl(resource) {
38
+ const url = new URL(resource);
39
+ const path = url.pathname === "/" ? "" : url.pathname;
40
+ const wellKnown = "/.well-known/oauth-protected-resource";
41
+ url.pathname = `${wellKnown}${path}`;
42
+ url.search = "";
43
+ url.hash = "";
44
+ return url.toString();
45
+ }
46
+ export async function discoverProtectedResourceMetadata(metadataUrl, deps = {}) {
47
+ const record = await fetchJson(metadataUrl, deps);
48
+ if (!record) {
49
+ throw new McpTransportError("protocol", `MCP protected-resource metadata was unavailable at ${metadataUrl}.`);
50
+ }
51
+ const authorizationServers = stringArray(record.authorization_servers);
52
+ if (authorizationServers.length === 0) {
53
+ throw new McpTransportError("protocol", "MCP protected-resource metadata listed no authorization servers.");
54
+ }
55
+ return {
56
+ ...(typeof record.resource === "string" ? { resource: record.resource } : {}),
57
+ authorizationServers,
58
+ scopesSupported: stringArray(record.scopes_supported),
59
+ };
60
+ }
61
+ export function authorizationServerMetadataCandidates(issuer) {
62
+ const url = new URL(issuer);
63
+ const path = url.pathname.replace(/\/+$/, "");
64
+ const base = `${url.protocol}//${url.host}`;
65
+ const hasPath = path.length > 0 && path !== "/";
66
+ const suffix = hasPath ? path : "";
67
+ const candidates = [
68
+ `${base}/.well-known/oauth-authorization-server${suffix}`,
69
+ `${base}/.well-known/openid-configuration${suffix}`,
70
+ `${base}${suffix}/.well-known/openid-configuration`,
71
+ ];
72
+ return [...new Set(candidates)];
73
+ }
74
+ function parseAuthorizationServerMetadata(record) {
75
+ const authorizationEndpoint = record.authorization_endpoint;
76
+ const tokenEndpoint = record.token_endpoint;
77
+ if (typeof authorizationEndpoint !== "string" || typeof tokenEndpoint !== "string") {
78
+ return undefined;
79
+ }
80
+ return {
81
+ ...(typeof record.issuer === "string" ? { issuer: record.issuer } : {}),
82
+ authorizationEndpoint,
83
+ tokenEndpoint,
84
+ ...(typeof record.registration_endpoint === "string"
85
+ ? { registrationEndpoint: record.registration_endpoint }
86
+ : {}),
87
+ scopesSupported: stringArray(record.scopes_supported),
88
+ codeChallengeMethodsSupported: stringArray(record.code_challenge_methods_supported),
89
+ };
90
+ }
91
+ export async function discoverAuthorizationServerMetadata(issuer, deps = {}) {
92
+ for (const candidate of authorizationServerMetadataCandidates(issuer)) {
93
+ const record = await fetchJson(candidate, deps).catch(() => undefined);
94
+ if (!record)
95
+ continue;
96
+ const parsed = parseAuthorizationServerMetadata(record);
97
+ if (parsed)
98
+ return parsed;
99
+ }
100
+ throw new McpTransportError("protocol", `MCP authorization-server metadata was unavailable for issuer ${issuer}.`);
101
+ }
102
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/mcp/auth/metadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { PkcePair } from "./types.js";
2
+ export declare function createPkcePair(): PkcePair;
3
+ export declare function randomState(): string;
@@ -0,0 +1,17 @@
1
+ import { createHash, randomBytes } from "node:crypto";
2
+ function base64Url(buffer) {
3
+ return buffer
4
+ .toString("base64")
5
+ .replace(/\+/g, "-")
6
+ .replace(/\//g, "_")
7
+ .replace(/=+$/, "");
8
+ }
9
+ export function createPkcePair() {
10
+ const verifier = base64Url(randomBytes(48));
11
+ const challenge = base64Url(createHash("sha256").update(verifier).digest());
12
+ return { verifier, challenge, method: "S256" };
13
+ }
14
+ export function randomState() {
15
+ return base64Url(randomBytes(32));
16
+ }
17
+ //# sourceMappingURL=pkce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pkce.js","sourceRoot":"","sources":["../../../src/mcp/auth/pkce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGtD,SAAS,SAAS,CAAC,MAAc;IAC/B,OAAO,MAAM;SACV,QAAQ,CAAC,QAAQ,CAAC;SAClB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { McpAuthConfig } from "../types.js";
2
+ import { type LoopbackAuthorizationParams } from "./loopback.js";
3
+ import type { LoopbackAuthorizationResult, McpAuthProvider, OAuthTokenStore } from "./types.js";
4
+ export interface OAuthConsentInfo {
5
+ readonly serverUrl: string;
6
+ readonly issuer: string | undefined;
7
+ readonly authorizationEndpoint: string;
8
+ readonly scope: string | undefined;
9
+ }
10
+ export interface AuthProviderDeps {
11
+ readonly serverUrl: string;
12
+ readonly fetchImpl?: typeof fetch | undefined;
13
+ readonly now?: (() => number) | undefined;
14
+ readonly tokenStore?: OAuthTokenStore | undefined;
15
+ readonly openBrowser?: ((url: string) => Promise<void>) | undefined;
16
+ readonly requestConsent?: ((info: OAuthConsentInfo) => Promise<boolean>) | undefined;
17
+ readonly interactive?: boolean | undefined;
18
+ readonly clientName?: string | undefined;
19
+ readonly validateUrl?: ((url: string) => URL) | undefined;
20
+ readonly runLoopback?: ((params: LoopbackAuthorizationParams) => Promise<LoopbackAuthorizationResult>) | undefined;
21
+ readonly env?: Record<string, string | undefined> | undefined;
22
+ readonly readHostToken?: (() => Promise<string | undefined>) | undefined;
23
+ }
24
+ export declare function createAuthProvider(config: McpAuthConfig | undefined, deps: AuthProviderDeps): McpAuthProvider;