@arizeai/phoenix-cli 1.9.0 → 1.10.0

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 (119) hide show
  1. package/README.md +82 -7
  2. package/build/authFetch.d.ts +24 -0
  3. package/build/authFetch.d.ts.map +1 -0
  4. package/build/authFetch.js +44 -0
  5. package/build/authFetch.js.map +1 -0
  6. package/build/client.d.ts.map +1 -1
  7. package/build/client.js +5 -1
  8. package/build/client.js.map +1 -1
  9. package/build/commands/api.d.ts.map +1 -1
  10. package/build/commands/api.js +12 -1
  11. package/build/commands/api.js.map +1 -1
  12. package/build/commands/auth.d.ts +4 -1
  13. package/build/commands/auth.d.ts.map +1 -1
  14. package/build/commands/auth.js +326 -13
  15. package/build/commands/auth.js.map +1 -1
  16. package/build/commands/formatSetup.d.ts +12 -0
  17. package/build/commands/formatSetup.d.ts.map +1 -1
  18. package/build/commands/formatSetup.js +32 -1
  19. package/build/commands/formatSetup.js.map +1 -1
  20. package/build/commands/setup.d.ts.map +1 -1
  21. package/build/commands/setup.js +14 -38
  22. package/build/commands/setup.js.map +1 -1
  23. package/build/commands/setupErrors.d.ts +10 -0
  24. package/build/commands/setupErrors.d.ts.map +1 -0
  25. package/build/commands/setupErrors.js +54 -0
  26. package/build/commands/setupErrors.js.map +1 -0
  27. package/build/commands/setupMcp.d.ts +15 -0
  28. package/build/commands/setupMcp.d.ts.map +1 -0
  29. package/build/commands/setupMcp.js +141 -0
  30. package/build/commands/setupMcp.js.map +1 -0
  31. package/build/config.d.ts +15 -0
  32. package/build/config.d.ts.map +1 -1
  33. package/build/config.js +54 -7
  34. package/build/config.js.map +1 -1
  35. package/build/exitCodes.d.ts +6 -0
  36. package/build/exitCodes.d.ts.map +1 -1
  37. package/build/exitCodes.js +18 -0
  38. package/build/exitCodes.js.map +1 -1
  39. package/build/index.js +2 -1
  40. package/build/index.js.map +1 -1
  41. package/build/oauth.d.ts +138 -0
  42. package/build/oauth.d.ts.map +1 -0
  43. package/build/oauth.js +465 -0
  44. package/build/oauth.js.map +1 -0
  45. package/build/oauthCallbackPage.d.ts +9 -0
  46. package/build/oauthCallbackPage.d.ts.map +1 -0
  47. package/build/oauthCallbackPage.js +111 -0
  48. package/build/oauthCallbackPage.js.map +1 -0
  49. package/build/pxi/client.d.ts.map +1 -1
  50. package/build/pxi/client.js +11 -2
  51. package/build/pxi/client.js.map +1 -1
  52. package/build/settings.d.ts +19 -0
  53. package/build/settings.d.ts.map +1 -1
  54. package/build/settings.js +21 -0
  55. package/build/settings.js.map +1 -1
  56. package/build/setup/agents/registry.d.ts +61 -0
  57. package/build/setup/agents/registry.d.ts.map +1 -1
  58. package/build/setup/agents/registry.js +52 -3
  59. package/build/setup/agents/registry.js.map +1 -1
  60. package/build/setup/copy.d.ts +32 -0
  61. package/build/setup/copy.d.ts.map +1 -1
  62. package/build/setup/copy.js +44 -0
  63. package/build/setup/copy.js.map +1 -1
  64. package/build/setup/deps/buildDefaultDeps.d.ts.map +1 -1
  65. package/build/setup/deps/buildDefaultDeps.js +2 -0
  66. package/build/setup/deps/buildDefaultDeps.js.map +1 -1
  67. package/build/setup/deps/index.d.ts +4 -0
  68. package/build/setup/deps/index.d.ts.map +1 -1
  69. package/build/setup/deps/index.js.map +1 -1
  70. package/build/setup/deps/oauthLogin.d.ts +64 -0
  71. package/build/setup/deps/oauthLogin.d.ts.map +1 -0
  72. package/build/setup/deps/oauthLogin.js +82 -0
  73. package/build/setup/deps/oauthLogin.js.map +1 -0
  74. package/build/setup/deps/prompter.d.ts +7 -0
  75. package/build/setup/deps/prompter.d.ts.map +1 -1
  76. package/build/setup/mcp/agents.d.ts +91 -0
  77. package/build/setup/mcp/agents.d.ts.map +1 -0
  78. package/build/setup/mcp/agents.js +265 -0
  79. package/build/setup/mcp/agents.js.map +1 -0
  80. package/build/setup/mcp/install.d.ts +34 -0
  81. package/build/setup/mcp/install.d.ts.map +1 -0
  82. package/build/setup/mcp/install.js +76 -0
  83. package/build/setup/mcp/install.js.map +1 -0
  84. package/build/setup/mcp/runSetupMcp.d.ts +68 -0
  85. package/build/setup/mcp/runSetupMcp.d.ts.map +1 -0
  86. package/build/setup/mcp/runSetupMcp.js +235 -0
  87. package/build/setup/mcp/runSetupMcp.js.map +1 -0
  88. package/build/setup/options.d.ts +11 -0
  89. package/build/setup/options.d.ts.map +1 -1
  90. package/build/setup/options.js +1 -0
  91. package/build/setup/options.js.map +1 -1
  92. package/build/setup/prompts/instrumentationPrompt.d.ts +7 -1
  93. package/build/setup/prompts/instrumentationPrompt.d.ts.map +1 -1
  94. package/build/setup/prompts/instrumentationPrompt.js +6 -2
  95. package/build/setup/prompts/instrumentationPrompt.js.map +1 -1
  96. package/build/setup/runSetup.d.ts +3 -0
  97. package/build/setup/runSetup.d.ts.map +1 -1
  98. package/build/setup/runSetup.js +13 -12
  99. package/build/setup/runSetup.js.map +1 -1
  100. package/build/setup/steps/establishConnection.d.ts +6 -3
  101. package/build/setup/steps/establishConnection.d.ts.map +1 -1
  102. package/build/setup/steps/establishConnection.js +120 -11
  103. package/build/setup/steps/establishConnection.js.map +1 -1
  104. package/build/setup/steps/instrumentApp.d.ts +23 -4
  105. package/build/setup/steps/instrumentApp.d.ts.map +1 -1
  106. package/build/setup/steps/instrumentApp.js +89 -41
  107. package/build/setup/steps/instrumentApp.js.map +1 -1
  108. package/build/setup/steps/offerDocsMcp.d.ts +48 -0
  109. package/build/setup/steps/offerDocsMcp.d.ts.map +1 -0
  110. package/build/setup/steps/offerDocsMcp.js +134 -0
  111. package/build/setup/steps/offerDocsMcp.js.map +1 -0
  112. package/build/setup/ui/clackPrompter.d.ts.map +1 -1
  113. package/build/setup/ui/clackPrompter.js +15 -0
  114. package/build/setup/ui/clackPrompter.js.map +1 -1
  115. package/build/setup/util/mcpConfig.d.ts +38 -0
  116. package/build/setup/util/mcpConfig.d.ts.map +1 -0
  117. package/build/setup/util/mcpConfig.js +64 -0
  118. package/build/setup/util/mcpConfig.js.map +1 -0
  119. package/package.json +3 -3
@@ -3,6 +3,9 @@
3
3
  * them. Control flow references copy; copy never references control flow.
4
4
  * Keep prose here so wording changes never touch step logic.
5
5
  */
6
+ // The one allowed inbound name: the MCP server's registered name must read
7
+ // the same in the prose as in the agent configs it lands in.
8
+ import { DOCS_MCP_SERVER_NAME } from "./agents/registry.js";
6
9
  // ---------------------------------------------------------------------------
7
10
  // Docs contract — the only doc URLs setup emits.
8
11
  // ---------------------------------------------------------------------------
@@ -121,6 +124,25 @@ export const CONNECT = {
121
124
  // ---------------------------------------------------------------------------
122
125
  // Auth-on credential entry
123
126
  // ---------------------------------------------------------------------------
127
+ export const CREDENTIALS = {
128
+ methodMessage: "How do you want to connect to Phoenix?",
129
+ loginLabel: "Log in with your browser (recommended)",
130
+ loginHint: "approve once in Phoenix; setup creates an API key for you",
131
+ pasteLabel: "Paste an existing API key",
132
+ pasteHint: "create or copy one in Phoenix under Settings",
133
+ authorizationUrl: (url) => [
134
+ "Complete the login in your browser. If it didn't open, visit:",
135
+ url,
136
+ "",
137
+ "Press Ctrl-C to skip and paste an API key instead.",
138
+ ].join("\n"),
139
+ browserOpenFailed: (detail) => `Couldn't open a browser (${detail}). Open the URL above by hand, or press Ctrl-C to paste an API key instead.`,
140
+ keyCreated: (name) => `Logged in — created API key "${name}" for this project.`,
141
+ // Covers both ways out of the login: declining consent, and Ctrl-C.
142
+ loginCancelled: "Login didn't finish — paste an API key instead.",
143
+ loginFailed: (detail) => `Browser login didn't complete (${detail}) — paste an API key instead.`,
144
+ keyCreateFailed: (detail) => `Logged in, but couldn't create an API key (${detail}) — paste one instead.`,
145
+ };
124
146
  export const API_KEY = {
125
147
  instructionsTitle: "Phoenix API key",
126
148
  instructions: [
@@ -259,6 +281,28 @@ export const TOOLING = {
259
281
  },
260
282
  };
261
283
  // ---------------------------------------------------------------------------
284
+ // Docs MCP offer
285
+ // ---------------------------------------------------------------------------
286
+ export const DOCS_MCP = {
287
+ message: (agentLabel) => `Connect the Phoenix docs MCP server to ${agentLabel}? (it searches the docs on demand — no download needed)`,
288
+ yes: `Yes, connect ${DOCS_MCP_SERVER_NAME} (recommended)`,
289
+ yesHint: "fastest setup; pulls only the doc sections the agent needs",
290
+ no: "No, download the docs instead",
291
+ noHint: "writes ~100 pages to .px/docs for offline reading",
292
+ /** The decline pair when `--no-docs` means declining downloads nothing. */
293
+ noWithoutDownload: "No, skip it",
294
+ noWithoutDownloadHint: "the docs download is off (--no-docs); the agent reads the docs from the web",
295
+ configured: (files) => `Added the ${DOCS_MCP_SERVER_NAME} MCP server to ${files.join(", ")} — skipping the docs download.`,
296
+ configuredCli: (agentLabel) => `Connected the ${DOCS_MCP_SERVER_NAME} MCP server to ${agentLabel} — skipping the docs download.`,
297
+ failedFor: (agentLabel, reason) => `Couldn't register the ${agentLabel} MCP config (${reason}).`,
298
+ verifyFailed: "the entry did not show up in the agent's own MCP listing after adding it",
299
+ fallback: "The MCP server was not connected — downloading the docs instead.",
300
+ fallbackWithoutDownload: "The MCP server was not connected — the agent will read the docs from the web.",
301
+ /** Printed when an explicit --docs-mcp met a lane with no agent to configure. */
302
+ noAgentLane: `The clipboard and manual lanes have no coding agent to connect the ${DOCS_MCP_SERVER_NAME} MCP server to — skipping the offer.`,
303
+ unsupported: (agentLabel) => `${agentLabel} has no per-project MCP config — skipping the offer.`,
304
+ };
305
+ // ---------------------------------------------------------------------------
262
306
  // Docs prefetch
263
307
  // ---------------------------------------------------------------------------
264
308
  export const DOCS_PREFETCH = {
@@ -1 +1 @@
1
- {"version":3,"file":"copy.js","sourceRoot":"","sources":["../../src/setup/copy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copy.js","sourceRoot":"","sources":["../../src/setup/copy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildDefaultDeps.d.ts","sourceRoot":"","sources":["../../../src/setup/deps/buildDefaultDeps.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,GACP,GAAE;IACD,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;CACZ,GAAG,SAAS,CAajB"}
1
+ {"version":3,"file":"buildDefaultDeps.d.ts","sourceRoot":"","sources":["../../../src/setup/deps/buildDefaultDeps.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,GACP,GAAE;IACD,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;CACZ,GAAG,SAAS,CAcjB"}
@@ -10,6 +10,7 @@ import { createSystemClipboardWriter } from "./clipboard.js";
10
10
  import { createSystemClock } from "./clock.js";
11
11
  import { captureRunContext } from "./context.js";
12
12
  import { fetchDocs } from "./docs.js";
13
+ import { createSystemOAuthLogin } from "./oauthLogin.js";
13
14
  import { createPhoenixClientFactory } from "./phoenixClient.js";
14
15
  import { createSystemProcessRunner } from "./processes.js";
15
16
  export function buildDefaultDeps({ apiUrl, } = {}) {
@@ -24,6 +25,7 @@ export function buildDefaultDeps({ apiUrl, } = {}) {
24
25
  writeClipboard: createSystemClipboardWriter(processes.exec),
25
26
  createClient: createPhoenixClientFactory({ apiUrl }),
26
27
  fetchDocs,
28
+ oauthLogin: createSystemOAuthLogin({ apiUrl, fetchImpl: fetch }),
27
29
  };
28
30
  }
29
31
  //# sourceMappingURL=buildDefaultDeps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildDefaultDeps.js","sourceRoot":"","sources":["../../../src/setup/deps/buildDefaultDeps.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAGxD,MAAM,UAAU,gBAAgB,CAAC,EAC/B,MAAM,GACP,GAGG,EAAE;IACJ,MAAM,SAAS,GAAG,yBAAyB,EAAE,CAAC;IAC9C,OAAO;QACL,OAAO,EAAE,iBAAiB,EAAE;QAC5B,QAAQ,EAAE,mBAAmB,EAAE;QAC/B,SAAS;QACT,KAAK,EAAE,iBAAiB,EAAE;QAC1B,wEAAwE;QACxE,oBAAoB;QACpB,cAAc,EAAE,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC;QAC3D,YAAY,EAAE,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;QACpD,SAAS;KACV,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"buildDefaultDeps.js","sourceRoot":"","sources":["../../../src/setup/deps/buildDefaultDeps.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAGxD,MAAM,UAAU,gBAAgB,CAAC,EAC/B,MAAM,GACP,GAGG,EAAE;IACJ,MAAM,SAAS,GAAG,yBAAyB,EAAE,CAAC;IAC9C,OAAO;QACL,OAAO,EAAE,iBAAiB,EAAE;QAC5B,QAAQ,EAAE,mBAAmB,EAAE;QAC/B,SAAS;QACT,KAAK,EAAE,iBAAiB,EAAE;QAC1B,wEAAwE;QACxE,oBAAoB;QACpB,cAAc,EAAE,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC;QAC3D,YAAY,EAAE,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;QACpD,SAAS;QACT,UAAU,EAAE,sBAAsB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC"}
@@ -16,6 +16,7 @@ import type { ClipboardWriter } from "./clipboard.js";
16
16
  import type { Clock } from "./clock.js";
17
17
  import type { RunContext } from "./context.js";
18
18
  import type { DocsFetcher } from "./docs.js";
19
+ import type { OAuthLogin } from "./oauthLogin.js";
19
20
  import type { PhoenixClientFactory } from "./phoenixClient.js";
20
21
  import type { ProcessRunner } from "./processes.js";
21
22
  import type { Prompter } from "./prompter.js";
@@ -30,12 +31,15 @@ export interface SetupDeps {
30
31
  /** Typed Phoenix client; tests inject a fake transport beneath it. */
31
32
  createClient: PhoenixClientFactory;
32
33
  fetchDocs: DocsFetcher;
34
+ /** Browser OAuth login for minting an API key; tests script outcomes. */
35
+ oauthLogin: OAuthLogin;
33
36
  }
34
37
  export type { ClipboardWriter } from "./clipboard.js";
35
38
  export type { Clock } from "./clock.js";
36
39
  export type { RunContext } from "./context.js";
37
40
  export { unknownWorkflowWarning } from "./docs.js";
38
41
  export type { DocsFetcher, DocsPrefetchOptions, DocsPrefetchResult, } from "./docs.js";
42
+ export type { OAuthLogin, OAuthLoginArgs, OAuthLoginOutcome, } from "./oauthLogin.js";
39
43
  export type { PhoenixClientArgs, PhoenixClientFactory } from "./phoenixClient.js";
40
44
  export type { CommandSpec, ExecResult, ProcessRunner } from "./processes.js";
41
45
  export type { Prompter, SelectOption } from "./prompter.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/setup/deps/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,SAAS;IACxB,8DAA8D;IAC9D,OAAO,EAAE,UAAU,CAAC;IACpB,uEAAuE;IACvE,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,aAAa,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,EAAE,eAAe,CAAC;IAChC,sEAAsE;IACtE,YAAY,EAAE,oBAAoB,CAAC;IACnC,SAAS,EAAE,WAAW,CAAC;CACxB;AAED,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,YAAY,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AAChD,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,QAAQ,CAAC;AAChB,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC1E,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/setup/deps/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,SAAS;IACxB,8DAA8D;IAC9D,OAAO,EAAE,UAAU,CAAC;IACpB,uEAAuE;IACvE,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,aAAa,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,EAAE,eAAe,CAAC;IAChC,sEAAsE;IACtE,YAAY,EAAE,oBAAoB,CAAC;IACnC,SAAS,EAAE,WAAW,CAAC;IACvB,yEAAyE;IACzE,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,YAAY,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AAChD,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,QAAQ,CAAC;AAChB,YAAY,EACV,UAAU,EACV,cAAc,EACd,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC1E,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/setup/deps/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA0BH,OAAO,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/setup/deps/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA6BH,OAAO,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * The browser-login capability: an ephemeral OAuth2 Authorization Code +
3
+ * PKCE flow, used by setup to obtain a short-lived access token so it can
4
+ * mint an API key on the user's behalf instead of asking them to paste one.
5
+ *
6
+ * Contract plus the real, system-backed implementation (the flow is system
7
+ * glue: an HTTP callback server, a browser launch, and token exchange —
8
+ * exactly the effects the seam exists to keep out of steps). Tests script
9
+ * outcomes through a fake.
10
+ */
11
+ export interface OAuthLoginArgs {
12
+ /** Normalized origin, no trailing slash. */
13
+ endpoint: string;
14
+ /**
15
+ * Called with the authorization URL before the browser opens, so the user
16
+ * can complete the login by hand when the launch fails or goes unnoticed.
17
+ */
18
+ onAuthorizationUrl: (url: string) => void;
19
+ /**
20
+ * The browser could not be launched (no `xdg-open`, a headless container).
21
+ * The URL was already narrated, so this is a nudge, not a failure.
22
+ */
23
+ onBrowserOpenFailed: (detail: string) => void;
24
+ /** Abandons an unanswered login, yielding a `cancelled` outcome. */
25
+ signal?: AbortSignal;
26
+ }
27
+ export type OAuthLoginOutcome = {
28
+ status: "success";
29
+ accessToken: string;
30
+ /**
31
+ * End the grant this login just created, once its token has served its
32
+ * purpose. Scoped to that grant alone — an existing `px auth login`
33
+ * session is a separate grant and survives. Best-effort: the tokens
34
+ * expire on their own regardless.
35
+ */
36
+ revoke: () => Promise<void>;
37
+ }
38
+ /** The user declined the consent screen — a choice, not a failure. */
39
+ | {
40
+ status: "cancelled";
41
+ } | {
42
+ status: "error";
43
+ detail: string;
44
+ };
45
+ export interface OAuthLogin {
46
+ /**
47
+ * Whether the instance runs the OAuth2 authorization server. False on any
48
+ * failure — an unreachable or older server simply keeps the paste lane.
49
+ */
50
+ isSupported(endpoint: string): Promise<boolean>;
51
+ login(args: OAuthLoginArgs): Promise<OAuthLoginOutcome>;
52
+ }
53
+ /**
54
+ * `apiUrl` is the hidden `--api-url` dev override. It must reach every hop of
55
+ * the flow: the token this mints is spent against the same override by the
56
+ * client factory, so an authorization server at a different host would issue a
57
+ * token the key-minting server rejects. `fetchImpl` is the same transport seam
58
+ * the Phoenix client takes, so the probe is injectable rather than global.
59
+ */
60
+ export declare function createSystemOAuthLogin({ apiUrl, fetchImpl, }?: {
61
+ apiUrl?: string;
62
+ fetchImpl?: typeof fetch;
63
+ }): OAuthLogin;
64
+ //# sourceMappingURL=oauthLogin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauthLogin.d.ts","sourceRoot":"","sources":["../../../src/setup/deps/oauthLogin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAWH,MAAM,WAAW,cAAc;IAC7B,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C;;;OAGG;IACH,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,oEAAoE;IACpE,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,GACzB;IACE,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AACH,sEAAsE;GACpE;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,GACvB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACzD;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,SAAiB,GAClB,GAAE;IACD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CACrB,GAAG,UAAU,CAsElB"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * The browser-login capability: an ephemeral OAuth2 Authorization Code +
3
+ * PKCE flow, used by setup to obtain a short-lived access token so it can
4
+ * mint an API key on the user's behalf instead of asking them to paste one.
5
+ *
6
+ * Contract plus the real, system-backed implementation (the flow is system
7
+ * glue: an HTTP callback server, a browser launch, and token exchange —
8
+ * exactly the effects the seam exists to keep out of steps). Tests script
9
+ * outcomes through a fake.
10
+ */
11
+ import { OAuthAuthorizationServerMetadataSchema, normalizeEndpoint, revokeOAuthToken, runBrowserLoginFlow, } from "../../oauth.js";
12
+ const SUPPORT_PROBE_TIMEOUT_MS = 5_000;
13
+ /**
14
+ * `apiUrl` is the hidden `--api-url` dev override. It must reach every hop of
15
+ * the flow: the token this mints is spent against the same override by the
16
+ * client factory, so an authorization server at a different host would issue a
17
+ * token the key-minting server rejects. `fetchImpl` is the same transport seam
18
+ * the Phoenix client takes, so the probe is injectable rather than global.
19
+ */
20
+ export function createSystemOAuthLogin({ apiUrl, fetchImpl = fetch, } = {}) {
21
+ // Resolved once: the probe and the flow must agree on which host they talk
22
+ // to, and two `??` expressions are two chances to disagree.
23
+ const apiOrigin = (endpoint) => apiUrl ?? endpoint;
24
+ return {
25
+ async isSupported(endpoint) {
26
+ try {
27
+ const response = await fetchImpl(new URL(".well-known/oauth-authorization-server", normalizeEndpoint(apiOrigin(endpoint))), { signal: AbortSignal.timeout(SUPPORT_PROBE_TIMEOUT_MS) });
28
+ if (!response.ok) {
29
+ return false;
30
+ }
31
+ const document = await response.json();
32
+ return OAuthAuthorizationServerMetadataSchema.safeParse(document)
33
+ .success;
34
+ }
35
+ catch {
36
+ return false;
37
+ }
38
+ },
39
+ async login({ endpoint, onAuthorizationUrl, onBrowserOpenFailed, signal }) {
40
+ const origin = apiOrigin(endpoint);
41
+ try {
42
+ const result = await runBrowserLoginFlow({
43
+ endpoint: origin,
44
+ onAuthorizationUrl,
45
+ onBrowserOpenFailed: (error) => onBrowserOpenFailed(error instanceof Error ? error.message : String(error)),
46
+ // No pasted-redirect lane here, unlike `px auth login`. It reads a
47
+ // raw readline off stdin, which would both land unannounced in the
48
+ // middle of the clack wizard and — because readline in terminal mode
49
+ // intercepts Ctrl-C itself — kill the interrupt this login promises
50
+ // as its way out. Setup's fallback is pasting an API key, which the
51
+ // prompter asks for properly.
52
+ allowPastedRedirect: false,
53
+ signal,
54
+ });
55
+ if (result.status === "cancelled") {
56
+ return { status: "cancelled" };
57
+ }
58
+ if (result.status === "invalid") {
59
+ return { status: "error", detail: result.message };
60
+ }
61
+ return {
62
+ status: "success",
63
+ accessToken: result.tokens.access_token,
64
+ revoke: () => revokeOAuthToken({
65
+ endpoint: origin,
66
+ refreshToken: result.tokens.refresh_token,
67
+ }),
68
+ };
69
+ }
70
+ catch (error) {
71
+ // Every failure — a loopback port that will not bind, a token endpoint
72
+ // that never answers — is an outcome the wizard falls back from, never
73
+ // an exception that ends setup.
74
+ return {
75
+ status: "error",
76
+ detail: error instanceof Error ? error.message : String(error),
77
+ };
78
+ }
79
+ },
80
+ };
81
+ }
82
+ //# sourceMappingURL=oauthLogin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauthLogin.js","sourceRoot":"","sources":["../../../src/setup/deps/oauthLogin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,sCAAsC,EACtC,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,MAAM,wBAAwB,GAAG,KAAK,CAAC;AA4CvC;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,EACrC,MAAM,EACN,SAAS,GAAG,KAAK,GAClB,GAGG,EAAE;IACJ,2EAA2E;IAC3E,4DAA4D;IAC5D,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,MAAM,IAAI,QAAQ,CAAC;IAC3D,OAAO;QACL,KAAK,CAAC,WAAW,CAAC,QAAQ;YACxB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,IAAI,GAAG,CACL,wCAAwC,EACxC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CACvC,EACD,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,CAC1D,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,MAAM,QAAQ,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAChD,OAAO,sCAAsC,CAAC,SAAS,CAAC,QAAQ,CAAC;qBAC9D,OAAO,CAAC;YACb,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,EAAE;YACvE,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC;oBACvC,QAAQ,EAAE,MAAM;oBAChB,kBAAkB;oBAClB,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC7B,mBAAmB,CACjB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD;oBACH,mEAAmE;oBACnE,mEAAmE;oBACnE,qEAAqE;oBACrE,oEAAoE;oBACpE,oEAAoE;oBACpE,8BAA8B;oBAC9B,mBAAmB,EAAE,KAAK;oBAC1B,MAAM;iBACP,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBAClC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;gBACjC,CAAC;gBACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAChC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;gBACrD,CAAC;gBACD,OAAO;oBACL,MAAM,EAAE,SAAS;oBACjB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY;oBACvC,MAAM,EAAE,GAAG,EAAE,CACX,gBAAgB,CAAC;wBACf,QAAQ,EAAE,MAAM;wBAChB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa;qBAC1C,CAAC;iBACL,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,uEAAuE;gBACvE,uEAAuE;gBACvE,gCAAgC;gBAChC,OAAO;oBACL,MAAM,EAAE,OAAO;oBACf,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC/D,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -30,6 +30,13 @@ export interface Prompter {
30
30
  message: string;
31
31
  validate?: (value: string) => string | undefined;
32
32
  }): Promise<string>;
33
+ /**
34
+ * Run `work` with a signal that aborts on Ctrl-C rather than raising
35
+ * SetupCancelledError. For the waits that have no prompt on screen to
36
+ * cancel — a browser login, say: this seam owns the terminal, so it owns the
37
+ * signal, and `work` decides what an interruption means.
38
+ */
39
+ runInterruptible<T>(work: (signal: AbortSignal) => Promise<T>): Promise<T>;
33
40
  /** Non-interactive display of a block of text between prompts. */
34
41
  note(message: string, title?: string): void;
35
42
  /** One-line status/warning between prompts (stderr). */
@@ -1 +1 @@
1
- {"version":3,"file":"prompter.d.ts","sourceRoot":"","sources":["../../../src/setup/deps/prompter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,qDAAqD;IACrD,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;KACjC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,qDAAqD;IACrD,SAAS,CAAC,IAAI,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;KAClD,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpB,+EAA+E;IAC/E,aAAa,CAAC,IAAI,EAAE;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;KAClD,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpB,kEAAkE;IAClE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,wDAAwD;IACxD,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,oCAAoC;IACpC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,qCAAqC;IACrC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B"}
1
+ {"version":3,"file":"prompter.d.ts","sourceRoot":"","sources":["../../../src/setup/deps/prompter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,qDAAqD;IACrD,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;KACjC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,qDAAqD;IACrD,SAAS,CAAC,IAAI,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;KAClD,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpB,+EAA+E;IAC/E,aAAa,CAAC,IAAI,EAAE;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;KAClD,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpB;;;;;OAKG;IACH,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3E,kEAAkE;IAClE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,wDAAwD;IACxD,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,oCAAoC;IACpC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,qCAAqC;IACrC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * The coding agents `px setup mcp` can register the Phoenix remote MCP server
3
+ * with, and how each one is configured per scope.
4
+ *
5
+ * Separate from the launch-focused instrumentation registry in
6
+ * `../agents/registry.ts`: MCP configuration has no launch, two scopes, and six
7
+ * agents (including VS Code and Gemini), so it gets its own registry rather than
8
+ * adding unused fields to that one.
9
+ *
10
+ * Each agent declares a per-scope {@link McpInstallAction}: `cli` runs the
11
+ * agent's own `mcp add` (so the format can't drift from the agent's schema);
12
+ * `file` merges into a config file. The file shapes mirror
13
+ * `docs/phoenix/integrations/remote-mcp.mdx`.
14
+ */
15
+ /** The name the Phoenix MCP server is registered under in every agent config. */
16
+ export declare const PHOENIX_MCP_SERVER_NAME = "phoenix";
17
+ export type McpAgentId = "claude" | "codex" | "gemini" | "cursor" | "opencode" | "vscode";
18
+ export type McpScope = "global" | "local";
19
+ /** A single HTTP header to attach for the API-key bearer fallback. */
20
+ export interface McpHeader {
21
+ name: string;
22
+ value: string;
23
+ }
24
+ /** The filesystem facts an install needs to resolve its target path. */
25
+ export interface McpInstallContext {
26
+ /** The user's home directory — where global configs live. */
27
+ home: string;
28
+ /** The repo root — where local (repo-scoped) configs live. */
29
+ cwd: string;
30
+ }
31
+ /**
32
+ * How one agent is configured for one scope.
33
+ *
34
+ * `cli` runs the agent's own `mcp add`; `removeArgs`/`verifyArgs` are optional
35
+ * because not every agent ships a `remove`/`get` (Gemini and `code --add-mcp`
36
+ * do not). When `verifyArgs` is absent the executor trusts the add's exit code;
37
+ * when `removeArgs` is absent it cannot retry an add refused for already
38
+ * existing, and reports the refusal instead.
39
+ *
40
+ * `file` merges a JSON fragment into a config file — absolute for a global
41
+ * install (`~/.cursor/mcp.json`), repo-relative for a local one.
42
+ */
43
+ export type McpInstallAction = {
44
+ kind: "cli";
45
+ /** Binary that owns the config it writes. */
46
+ binary: string;
47
+ /** argv (after the binary) that registers the server. */
48
+ addArgs: (url: string, headers: McpHeader[]) => string[];
49
+ /** Best-effort removal to make a re-run idempotent when `add` refuses. */
50
+ removeArgs?: string[];
51
+ /** Read-back that confirms the entry actually landed. */
52
+ verifyArgs?: string[];
53
+ /**
54
+ * The subset of `headers` this agent's `mcp add` cannot persist; a
55
+ * non-empty result stops the run rather than write a config that looks
56
+ * authenticated but isn't. Codex, for example, stores only a bearer token
57
+ * via `--bearer-token-env-var`, so it drops any other header (and any
58
+ * bearer value that isn't `${VAR}`-shaped). Absent means every header is
59
+ * honored (the raw `--header` agents).
60
+ */
61
+ droppedHeaders?: (headers: McpHeader[]) => McpHeader[];
62
+ } | {
63
+ kind: "file";
64
+ /** Absolute path to the config file for this scope. */
65
+ path: (ctx: McpInstallContext) => string;
66
+ /** How that path reads in the report (repo-relative, or `~/…`). */
67
+ displayPath: (ctx: McpInstallContext) => string;
68
+ /** Keys applied only when the file is created (e.g. `$schema`). */
69
+ createDefaults?: Record<string, unknown>;
70
+ /** The JSON fragment to merge in. */
71
+ patch: (url: string, headers: McpHeader[]) => Record<string, unknown>;
72
+ };
73
+ export interface McpAgent {
74
+ id: McpAgentId;
75
+ /** "Claude Code", "Codex", … */
76
+ label: string;
77
+ /** Binary name for PATH detection. */
78
+ binary: string;
79
+ /**
80
+ * Per-scope install. A scope absent from the map is unsupported by the agent
81
+ * — Codex reads only a single global `~/.codex/config.toml`, so it has no
82
+ * `local` entry, and the command says so when `--local` names it.
83
+ */
84
+ install: Partial<Record<McpScope, McpInstallAction>>;
85
+ }
86
+ export declare const MCP_AGENTS: readonly McpAgent[];
87
+ /** The agent with this id, or undefined when the id is unknown. */
88
+ export declare function getMcpAgent(id: string): McpAgent | undefined;
89
+ /** Every id `--agent` accepts, for help text and error messages. */
90
+ export declare const MCP_AGENT_IDS: readonly McpAgentId[];
91
+ //# sourceMappingURL=agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../src/setup/mcp/agents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,iFAAiF;AACjF,eAAO,MAAM,uBAAuB,YAAY,CAAC;AAEjD,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE1C,sEAAsE;AACtE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wEAAwE;AACxE,MAAM,WAAW,iBAAiB;IAChC,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,gBAAgB,GACxB;IACE,IAAI,EAAE,KAAK,CAAC;IACZ,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,MAAM,EAAE,CAAC;IACzD,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,CAAC;CACxD,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,IAAI,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,MAAM,CAAC;IACzC,mEAAmE;IACnE,WAAW,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,MAAM,CAAC;IAChD,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,qCAAqC;IACrC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvE,CAAC;AAEN,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,UAAU,CAAC;IACf,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;CACtD;AAwID,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAwIzC,CAAC;AAEF,mEAAmE;AACnE,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAE5D;AAED,oEAAoE;AACpE,eAAO,MAAM,aAAa,EAAE,SAAS,UAAU,EAE9C,CAAC"}