@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.
- package/README.md +82 -7
- package/build/authFetch.d.ts +24 -0
- package/build/authFetch.d.ts.map +1 -0
- package/build/authFetch.js +44 -0
- package/build/authFetch.js.map +1 -0
- package/build/client.d.ts.map +1 -1
- package/build/client.js +5 -1
- package/build/client.js.map +1 -1
- package/build/commands/api.d.ts.map +1 -1
- package/build/commands/api.js +12 -1
- package/build/commands/api.js.map +1 -1
- package/build/commands/auth.d.ts +4 -1
- package/build/commands/auth.d.ts.map +1 -1
- package/build/commands/auth.js +326 -13
- package/build/commands/auth.js.map +1 -1
- package/build/commands/formatSetup.d.ts +12 -0
- package/build/commands/formatSetup.d.ts.map +1 -1
- package/build/commands/formatSetup.js +32 -1
- package/build/commands/formatSetup.js.map +1 -1
- package/build/commands/setup.d.ts.map +1 -1
- package/build/commands/setup.js +14 -38
- package/build/commands/setup.js.map +1 -1
- package/build/commands/setupErrors.d.ts +10 -0
- package/build/commands/setupErrors.d.ts.map +1 -0
- package/build/commands/setupErrors.js +54 -0
- package/build/commands/setupErrors.js.map +1 -0
- package/build/commands/setupMcp.d.ts +15 -0
- package/build/commands/setupMcp.d.ts.map +1 -0
- package/build/commands/setupMcp.js +141 -0
- package/build/commands/setupMcp.js.map +1 -0
- package/build/config.d.ts +15 -0
- package/build/config.d.ts.map +1 -1
- package/build/config.js +54 -7
- package/build/config.js.map +1 -1
- package/build/exitCodes.d.ts +6 -0
- package/build/exitCodes.d.ts.map +1 -1
- package/build/exitCodes.js +18 -0
- package/build/exitCodes.js.map +1 -1
- package/build/index.js +2 -1
- package/build/index.js.map +1 -1
- package/build/oauth.d.ts +138 -0
- package/build/oauth.d.ts.map +1 -0
- package/build/oauth.js +465 -0
- package/build/oauth.js.map +1 -0
- package/build/oauthCallbackPage.d.ts +9 -0
- package/build/oauthCallbackPage.d.ts.map +1 -0
- package/build/oauthCallbackPage.js +111 -0
- package/build/oauthCallbackPage.js.map +1 -0
- package/build/pxi/client.d.ts.map +1 -1
- package/build/pxi/client.js +11 -2
- package/build/pxi/client.js.map +1 -1
- package/build/settings.d.ts +19 -0
- package/build/settings.d.ts.map +1 -1
- package/build/settings.js +21 -0
- package/build/settings.js.map +1 -1
- package/build/setup/agents/registry.d.ts +61 -0
- package/build/setup/agents/registry.d.ts.map +1 -1
- package/build/setup/agents/registry.js +52 -3
- package/build/setup/agents/registry.js.map +1 -1
- package/build/setup/copy.d.ts +32 -0
- package/build/setup/copy.d.ts.map +1 -1
- package/build/setup/copy.js +44 -0
- package/build/setup/copy.js.map +1 -1
- package/build/setup/deps/buildDefaultDeps.d.ts.map +1 -1
- package/build/setup/deps/buildDefaultDeps.js +2 -0
- package/build/setup/deps/buildDefaultDeps.js.map +1 -1
- package/build/setup/deps/index.d.ts +4 -0
- package/build/setup/deps/index.d.ts.map +1 -1
- package/build/setup/deps/index.js.map +1 -1
- package/build/setup/deps/oauthLogin.d.ts +64 -0
- package/build/setup/deps/oauthLogin.d.ts.map +1 -0
- package/build/setup/deps/oauthLogin.js +82 -0
- package/build/setup/deps/oauthLogin.js.map +1 -0
- package/build/setup/deps/prompter.d.ts +7 -0
- package/build/setup/deps/prompter.d.ts.map +1 -1
- package/build/setup/mcp/agents.d.ts +91 -0
- package/build/setup/mcp/agents.d.ts.map +1 -0
- package/build/setup/mcp/agents.js +265 -0
- package/build/setup/mcp/agents.js.map +1 -0
- package/build/setup/mcp/install.d.ts +34 -0
- package/build/setup/mcp/install.d.ts.map +1 -0
- package/build/setup/mcp/install.js +76 -0
- package/build/setup/mcp/install.js.map +1 -0
- package/build/setup/mcp/runSetupMcp.d.ts +68 -0
- package/build/setup/mcp/runSetupMcp.d.ts.map +1 -0
- package/build/setup/mcp/runSetupMcp.js +235 -0
- package/build/setup/mcp/runSetupMcp.js.map +1 -0
- package/build/setup/options.d.ts +11 -0
- package/build/setup/options.d.ts.map +1 -1
- package/build/setup/options.js +1 -0
- package/build/setup/options.js.map +1 -1
- package/build/setup/prompts/instrumentationPrompt.d.ts +7 -1
- package/build/setup/prompts/instrumentationPrompt.d.ts.map +1 -1
- package/build/setup/prompts/instrumentationPrompt.js +6 -2
- package/build/setup/prompts/instrumentationPrompt.js.map +1 -1
- package/build/setup/runSetup.d.ts +3 -0
- package/build/setup/runSetup.d.ts.map +1 -1
- package/build/setup/runSetup.js +13 -12
- package/build/setup/runSetup.js.map +1 -1
- package/build/setup/steps/establishConnection.d.ts +6 -3
- package/build/setup/steps/establishConnection.d.ts.map +1 -1
- package/build/setup/steps/establishConnection.js +120 -11
- package/build/setup/steps/establishConnection.js.map +1 -1
- package/build/setup/steps/instrumentApp.d.ts +23 -4
- package/build/setup/steps/instrumentApp.d.ts.map +1 -1
- package/build/setup/steps/instrumentApp.js +89 -41
- package/build/setup/steps/instrumentApp.js.map +1 -1
- package/build/setup/steps/offerDocsMcp.d.ts +48 -0
- package/build/setup/steps/offerDocsMcp.d.ts.map +1 -0
- package/build/setup/steps/offerDocsMcp.js +134 -0
- package/build/setup/steps/offerDocsMcp.js.map +1 -0
- package/build/setup/ui/clackPrompter.d.ts.map +1 -1
- package/build/setup/ui/clackPrompter.js +15 -0
- package/build/setup/ui/clackPrompter.js.map +1 -1
- package/build/setup/util/mcpConfig.d.ts +38 -0
- package/build/setup/util/mcpConfig.d.ts.map +1 -0
- package/build/setup/util/mcpConfig.js +64 -0
- package/build/setup/util/mcpConfig.js.map +1 -0
- package/package.json +3 -3
package/build/setup/copy.js
CHANGED
|
@@ -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 = {
|
package/build/setup/copy.js.map
CHANGED
|
@@ -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;
|
|
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;
|
|
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;
|
|
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"}
|