@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
@@ -2,9 +2,10 @@ import { HttpError } from "@arizeai/phoenix-client";
2
2
  import { Command } from "commander";
3
3
  import { createPhoenixClient } from "../client.js";
4
4
  import { resolveConfig } from "../config.js";
5
- import { ExitCode, getExitCodeForError } from "../exitCodes.js";
5
+ import { AuthRequiredError, ExitCode, NetworkError, getExitCodeForError, } from "../exitCodes.js";
6
6
  import { writeError, writeOutput } from "../io.js";
7
- import { ProfileResolutionError, getProfileByName, getStoredActiveProfile, loadSettings, } from "../settings.js";
7
+ import { resolveTargetProfileName, revokeOAuthToken, runBrowserLoginFlow, tokenResponseToOAuthTokens, withSettingsLock, } from "../oauth.js";
8
+ import { ProfileResolutionError, getProfileByName, getSettingsPath, getStoredActiveProfile, loadSettings, saveSettings, } from "../settings.js";
8
9
  /**
9
10
  * Obscure an API key for display using asterisks.
10
11
  * Shows a fixed number of asterisks regardless of key length for security.
@@ -26,10 +27,12 @@ async function fetchViewer(config) {
26
27
  return { status: "success", user: response.data.data };
27
28
  }
28
29
  catch (error) {
29
- // TypeError is thrown by the Fetch API for network-level failures
30
30
  if (error instanceof TypeError) {
31
31
  return { status: "network_error", message: error.message };
32
32
  }
33
+ if (error instanceof AuthRequiredError) {
34
+ return { status: "auth_error", message: error.message };
35
+ }
33
36
  if (error instanceof HttpError) {
34
37
  if (error.status === 401 || error.status === 403) {
35
38
  return { status: "auth_error", message: error.message };
@@ -47,7 +50,23 @@ async function fetchViewer(config) {
47
50
  /**
48
51
  * Format auth status output in gh-style format.
49
52
  */
50
- export function formatAuthStatus(endpoint, result, apiKey, profileName) {
53
+ export function formatAuthStatus(endpoint, result, apiKey, profileName, credentialSource = apiKey
54
+ ? "profile-key"
55
+ : "none", oauthTokens, format = "pretty") {
56
+ const source = credentialSource ?? "none";
57
+ const structured = buildAuthOutput({
58
+ endpoint,
59
+ result,
60
+ profileName,
61
+ credentialSource: source,
62
+ oauthTokens,
63
+ });
64
+ if (format === "raw") {
65
+ return JSON.stringify(structured);
66
+ }
67
+ if (format === "json") {
68
+ return JSON.stringify(structured, null, 2);
69
+ }
51
70
  const lines = [endpoint];
52
71
  if (profileName) {
53
72
  lines.push(` - Profile: ${profileName}`);
@@ -58,7 +77,7 @@ export function formatAuthStatus(endpoint, result, apiKey, profileName) {
58
77
  lines.push(" \u2713 Authentication not required (anonymous)");
59
78
  }
60
79
  else {
61
- lines.push(` \u2713 Logged in as ${user.username} (api key)`);
80
+ lines.push(` \u2713 Logged in as ${user.username} (${formatCredentialSource(source)})`);
62
81
  lines.push(` - Role: ${user.role}`);
63
82
  }
64
83
  }
@@ -68,18 +87,80 @@ export function formatAuthStatus(endpoint, result, apiKey, profileName) {
68
87
  else if (result.status === "not_found") {
69
88
  lines.push(" - Could not verify token (server does not support user endpoint)");
70
89
  }
90
+ else if (apiKey || oauthTokens) {
91
+ lines.push(" \u2717 Token configured but could not verify (server unreachable)");
92
+ }
71
93
  else {
72
- // network_error or unknown_error
73
- if (apiKey) {
74
- lines.push(" \u2717 Token configured but could not verify (server unreachable)");
75
- }
76
- else {
77
- lines.push(" \u2717 Could not connect to server");
78
- }
94
+ lines.push(" \u2717 Could not connect to server");
79
95
  }
80
96
  if (apiKey) {
81
97
  lines.push(` - Token: ${obscureApiKey(apiKey)}`);
82
98
  }
99
+ if (oauthTokens) {
100
+ lines.push(` - Expires: ${oauthTokens.expiresAt}`);
101
+ }
102
+ return lines.join("\n");
103
+ }
104
+ function buildAuthOutput({ endpoint, result, profileName, credentialSource, oauthTokens, }) {
105
+ const base = {
106
+ endpoint,
107
+ ...(profileName ? { profile: profileName } : {}),
108
+ credentialSource,
109
+ ...(oauthTokens
110
+ ? {
111
+ expiresAt: oauthTokens.expiresAt,
112
+ }
113
+ : {}),
114
+ };
115
+ if (result.status === "success") {
116
+ return {
117
+ ...base,
118
+ status: result.user.auth_method === "ANONYMOUS" ? "anonymous" : "authenticated",
119
+ user: result.user,
120
+ };
121
+ }
122
+ return { ...base, status: "unverified" };
123
+ }
124
+ function formatCredentialSource(source) {
125
+ switch (source) {
126
+ case "flag":
127
+ return "flag";
128
+ case "env":
129
+ return "env";
130
+ case "profile-key":
131
+ return "profile api key";
132
+ case "oauth":
133
+ return "oauth";
134
+ case "none":
135
+ return "none";
136
+ }
137
+ }
138
+ function formatAuthOutput(output, format = "pretty") {
139
+ if (format === "raw") {
140
+ return JSON.stringify(output);
141
+ }
142
+ if (format === "json") {
143
+ return JSON.stringify(output, null, 2);
144
+ }
145
+ const lines = [output.endpoint];
146
+ if (output.profile) {
147
+ lines.push(` - Profile: ${output.profile}`);
148
+ }
149
+ if (output.status === "logged_out") {
150
+ lines.push(" \u2713 Logged out");
151
+ }
152
+ else if (output.user?.auth_method === "ANONYMOUS") {
153
+ lines.push(" \u2713 Authentication not required (anonymous)");
154
+ }
155
+ else if (output.user?.username) {
156
+ lines.push(` \u2713 Logged in as ${output.user.username} (${formatCredentialSource(output.credentialSource)})`);
157
+ if ("role" in output.user && output.user.role) {
158
+ lines.push(` - Role: ${output.user.role}`);
159
+ }
160
+ }
161
+ if (output.expiresAt) {
162
+ lines.push(` - Expires: ${output.expiresAt}`);
163
+ }
83
164
  return lines.join("\n");
84
165
  }
85
166
  function exitCodeForResult(result) {
@@ -97,6 +178,22 @@ function exitCodeForResult(result) {
97
178
  return ExitCode.FAILURE;
98
179
  }
99
180
  }
181
+ async function verifyViewerOrExit(config) {
182
+ const result = await fetchViewer(config);
183
+ if (result.status === "success") {
184
+ return result.user;
185
+ }
186
+ if (result.status === "auth_error") {
187
+ writeError({ message: "Authentication failed." });
188
+ process.exit(ExitCode.AUTH_REQUIRED);
189
+ }
190
+ if (result.status === "network_error") {
191
+ writeError({ message: `Network error: ${result.message}` });
192
+ process.exit(ExitCode.NETWORK_ERROR);
193
+ }
194
+ writeError({ message: `Could not verify login: ${result.message}` });
195
+ process.exit(ExitCode.FAILURE);
196
+ }
100
197
  /**
101
198
  * Auth status command handler
102
199
  */
@@ -131,13 +228,188 @@ async function authStatusHandler(options) {
131
228
  ? getProfileByName(settingsFile, options.profile)?.name
132
229
  : getStoredActiveProfile(settingsFile)?.name;
133
230
  const result = await fetchViewer(config);
134
- const output = formatAuthStatus(config.endpoint, result, config.apiKey, activeProfileName);
231
+ const oauthTokens = loadCurrentOAuthTokens({
232
+ config,
233
+ profileName: activeProfileName,
234
+ });
235
+ const output = formatAuthStatus(config.endpoint, result, config.apiKey, activeProfileName, config.credentialSource, oauthTokens, options.format);
135
236
  writeOutput({ message: output });
136
237
  const code = exitCodeForResult(result);
137
238
  if (code !== ExitCode.SUCCESS) {
138
239
  process.exit(code);
139
240
  }
140
241
  }
242
+ function loadCurrentOAuthTokens({ config, profileName, }) {
243
+ if (config.credentialSource !== "oauth" || !profileName) {
244
+ return config.oauthTokens;
245
+ }
246
+ return getProfileByName(loadSettings(), profileName)?.entry.oauthTokens;
247
+ }
248
+ async function authLoginHandler(options) {
249
+ try {
250
+ const config = resolveConfig({
251
+ cliOptions: {
252
+ endpoint: options.endpoint,
253
+ apiKey: options.apiKey,
254
+ },
255
+ profileName: options.profile,
256
+ });
257
+ const endpoint = config.endpoint;
258
+ if (!endpoint) {
259
+ writeError({
260
+ message: "Configuration Error:\n - Phoenix endpoint not configured",
261
+ });
262
+ process.exit(ExitCode.INVALID_ARGUMENT);
263
+ }
264
+ const settingsAtLogin = loadSettings({ strict: true });
265
+ const targetProfileName = resolveTargetProfileName(settingsAtLogin, options.profile);
266
+ const profileHasApiKey = Boolean(settingsAtLogin.profiles[targetProfileName]?.apiKey);
267
+ const loginResult = await runBrowserLoginFlow({
268
+ endpoint,
269
+ onAuthorizationUrl: (url) => writeError({ message: `Open this URL to log in:\n${url}` }),
270
+ openBrowserWindow: options.browser !== false,
271
+ onBrowserOpenFailed: (error) => writeError({
272
+ message: `Could not open a browser automatically: ${error instanceof Error ? error.message : String(error)}`,
273
+ }),
274
+ allowPastedRedirect: options.input !== false,
275
+ });
276
+ if (loginResult.status === "cancelled") {
277
+ writeError({ message: "OAuth login cancelled." });
278
+ process.exit(ExitCode.CANCELLED);
279
+ }
280
+ if (loginResult.status === "invalid") {
281
+ writeError({ message: loginResult.message });
282
+ process.exit(ExitCode.FAILURE);
283
+ }
284
+ const oauthTokens = tokenResponseToOAuthTokens({
285
+ response: loginResult.tokens,
286
+ });
287
+ // Re-read and write under the settings lock so a token rotation running
288
+ // in another px process cannot be clobbered by this stale snapshot.
289
+ await withSettingsLock(getSettingsPath(), async () => {
290
+ saveSettings(persistOAuthTokens({
291
+ settingsFile: loadSettings({ strict: true }),
292
+ profileName: targetProfileName,
293
+ endpoint,
294
+ oauthTokens,
295
+ }));
296
+ });
297
+ const user = await verifyViewerOrExit({
298
+ ...config,
299
+ endpoint,
300
+ oauthTokens,
301
+ profileName: targetProfileName,
302
+ apiKey: undefined,
303
+ credentialSource: "oauth",
304
+ });
305
+ if (profileHasApiKey) {
306
+ writeError({
307
+ message: `Note: profile "${targetProfileName}" also has an API key, which takes precedence over the OAuth session. ` +
308
+ "Remove the API key from the profile to use OAuth credentials.",
309
+ });
310
+ }
311
+ writeOutput({
312
+ message: formatAuthOutput({
313
+ endpoint,
314
+ profile: targetProfileName,
315
+ credentialSource: "oauth",
316
+ expiresAt: oauthTokens.expiresAt,
317
+ user,
318
+ status: user.auth_method === "ANONYMOUS" ? "anonymous" : "authenticated",
319
+ }, options.format),
320
+ });
321
+ }
322
+ catch (error) {
323
+ if (error instanceof AuthRequiredError ||
324
+ error instanceof NetworkError ||
325
+ error instanceof ProfileResolutionError) {
326
+ writeError({ message: error.message });
327
+ process.exit(getExitCodeForError(error));
328
+ }
329
+ throw error;
330
+ }
331
+ }
332
+ async function authLogoutHandler(options) {
333
+ let config;
334
+ try {
335
+ config = resolveConfig({
336
+ cliOptions: {
337
+ endpoint: options.endpoint,
338
+ apiKey: options.apiKey,
339
+ },
340
+ profileName: options.profile,
341
+ });
342
+ }
343
+ catch (error) {
344
+ if (error instanceof ProfileResolutionError) {
345
+ writeError({ message: error.message });
346
+ process.exit(getExitCodeForError(error));
347
+ }
348
+ throw error;
349
+ }
350
+ const settingsFile = loadSettings({ strict: true });
351
+ const targetProfileName = resolveTargetProfileName(settingsFile, options.profile);
352
+ const profile = getProfileByName(settingsFile, targetProfileName);
353
+ const refreshToken = profile?.entry.oauthTokens?.refreshToken;
354
+ // Revoke against the endpoint stored on the profile — the server that
355
+ // issued the tokens — never a --endpoint/PHOENIX_HOST override, which would
356
+ // leak the refresh token to a host that never issued it.
357
+ const issuingEndpoint = profile?.entry.endpoint;
358
+ if (refreshToken && issuingEndpoint) {
359
+ try {
360
+ await revokeOAuthToken({ endpoint: issuingEndpoint, refreshToken });
361
+ }
362
+ catch (error) {
363
+ writeError({
364
+ message: `Warning: Could not revoke OAuth token: ${error instanceof Error ? error.message : String(error)}`,
365
+ });
366
+ }
367
+ }
368
+ if (profile) {
369
+ // Re-read and write under the settings lock so a token rotation running
370
+ // in another px process is not clobbered by the pre-revoke snapshot.
371
+ await withSettingsLock(getSettingsPath(), async () => {
372
+ const latestSettings = loadSettings({ strict: true });
373
+ const latestProfile = getProfileByName(latestSettings, targetProfileName);
374
+ if (!latestProfile) {
375
+ return;
376
+ }
377
+ const { oauthTokens: _oauthTokens, ...entryWithoutOAuth } = latestProfile.entry;
378
+ saveSettings({
379
+ ...latestSettings,
380
+ profiles: {
381
+ ...latestSettings.profiles,
382
+ [targetProfileName]: entryWithoutOAuth,
383
+ },
384
+ });
385
+ });
386
+ }
387
+ writeOutput({
388
+ message: formatAuthOutput({
389
+ endpoint: config.endpoint ?? "",
390
+ profile: targetProfileName,
391
+ credentialSource: config.apiKey
392
+ ? (config.credentialSource ?? "profile-key")
393
+ : "none",
394
+ status: "logged_out",
395
+ }, options.format),
396
+ });
397
+ }
398
+ function persistOAuthTokens({ settingsFile, profileName, endpoint, oauthTokens, }) {
399
+ const existingProfile = settingsFile.profiles[profileName] ?? {};
400
+ return {
401
+ ...settingsFile,
402
+ activeProfile: settingsFile.activeProfile ?? profileName,
403
+ profiles: {
404
+ ...settingsFile.profiles,
405
+ [profileName]: {
406
+ ...existingProfile,
407
+ endpoint,
408
+ oauthTokens,
409
+ },
410
+ },
411
+ };
412
+ }
141
413
  /**
142
414
  * Create the auth status subcommand
143
415
  */
@@ -148,9 +420,48 @@ function createAuthStatusCommand() {
148
420
  .option("--endpoint <url>", "Phoenix API endpoint")
149
421
  .option("--api-key <key>", "Phoenix API key for authentication")
150
422
  .option("--profile <name>", "Profile to use")
423
+ .option("--format <format>", 'Output format: pretty, json, or raw (default: "pretty")')
424
+ .addHelpText("after", `
425
+ Examples:
426
+ px auth status
427
+ px auth status --profile staging
428
+ px auth status --format raw
429
+ `)
151
430
  .action(authStatusHandler);
152
431
  return command;
153
432
  }
433
+ function createAuthLoginCommand() {
434
+ return new Command("login")
435
+ .description("Log in to Phoenix with browser-based OAuth.")
436
+ .option("--endpoint <url>", "Phoenix API endpoint")
437
+ .option("--api-key <key>", "Phoenix API key for authentication")
438
+ .option("--profile <name>", "Profile to store OAuth tokens in")
439
+ .option("--no-browser", "Print the login URL without opening a browser")
440
+ .option("--no-input", "Do not prompt for a pasted redirect URL")
441
+ .option("--format <format>", 'Output format: pretty, json, or raw (default: "pretty")')
442
+ .addHelpText("after", `
443
+ Examples:
444
+ px auth login
445
+ px auth login --no-browser
446
+ px auth login --profile staging --format raw
447
+ `)
448
+ .action(authLoginHandler);
449
+ }
450
+ function createAuthLogoutCommand() {
451
+ return new Command("logout")
452
+ .description("Log out of the current Phoenix OAuth session")
453
+ .option("--endpoint <url>", "Phoenix API endpoint")
454
+ .option("--api-key <key>", "Phoenix API key for authentication")
455
+ .option("--profile <name>", "Profile to clear OAuth tokens from")
456
+ .option("--format <format>", 'Output format: pretty, json, or raw (default: "pretty")')
457
+ .addHelpText("after", `
458
+ Examples:
459
+ px auth logout
460
+ px auth logout --profile staging
461
+ px auth logout --format raw
462
+ `)
463
+ .action(authLogoutHandler);
464
+ }
154
465
  /**
155
466
  * Create the auth command with subcommands
156
467
  */
@@ -158,6 +469,8 @@ export function createAuthCommand() {
158
469
  const command = new Command("auth");
159
470
  command.description("Manage Phoenix authentication");
160
471
  // Add subcommands
472
+ command.addCommand(createAuthLoginCommand());
473
+ command.addCommand(createAuthLogoutCommand());
161
474
  command.addCommand(createAuthStatusCommand());
162
475
  return command;
163
476
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAsB,aAAa,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EACL,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,mBAAmB,EACnB,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAGL,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,YAAY,EACZ,YAAY,GACb,MAAM,aAAa,CAAC;AAsCrB;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,sCAAsC,CAAC;AAChD,CAAC;AAcD;;;GAGG;AACH,KAAK,UAAU,WAAW,CAAC,MAAqB;IAC9C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAK,CAAC,IAAI,EAAE,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;YAC/B,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAC7D,CAAC;QACD,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;YACvC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAC1D,CAAC;QACD,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;YAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACjD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAC1D,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACzB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YACzD,CAAC;QACH,CAAC;QACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAC7D,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAC7D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,MAAyB,EACzB,MAAe,EACf,WAAoB,EACpB,gBAAgB,GAAsC,MAAM;IAC1D,CAAC,CAAC,aAAa;IACf,CAAC,CAAC,MAAM,EACV,WAAyB,EACzB,MAAM,GAAiB,QAAQ;IAE/B,MAAM,MAAM,GAAG,gBAAgB,IAAI,MAAM,CAAC;IAC1C,MAAM,UAAU,GAAG,eAAe,CAAC;QACjC,QAAQ;QACR,MAAM;QACN,WAAW;QACX,gBAAgB,EAAE,MAAM;QACxB,WAAW;KACZ,CAAC,CAAC;IACH,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,KAAK,GAAa,CAAC,QAAQ,CAAC,CAAC;IAEnC,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,gBAAgB,WAAW,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CACR,yBAAyB,IAAI,CAAC,QAAQ,KAAK,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAC7E,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IAC1E,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CACR,oEAAoE,CACrE,CAAC;IACJ,CAAC;SAAM,IAAI,MAAM,IAAI,WAAW,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CACR,qEAAqE,CACtE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,CAAC,IAAI,CAAC,cAAc,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,gBAAgB,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,eAAe,CAAC,EACvB,QAAQ,EACR,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,WAAW,GAOZ;IACC,MAAM,IAAI,GAAG;QACX,QAAQ;QACR,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,gBAAgB;QAChB,GAAG,CAAC,WAAW;YACb,CAAC,CAAC;gBACE,SAAS,EAAE,WAAW,CAAC,SAAS;aACjC;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EACJ,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe;YACzE,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,sBAAsB,CAC7B,MAAsD;IAEtD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,KAAK;YACR,OAAO,KAAK,CAAC;QACf,KAAK,aAAa;YAChB,OAAO,iBAAiB,CAAC;QAC3B,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,MAAkB,EAClB,MAAM,GAAiB,QAAQ;IAE/B,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACpC,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,EAAE,WAAW,KAAK,WAAW,EAAE,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IACjE,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CACR,yBAAyB,MAAM,CAAC,IAAI,CAAC,QAAQ,KAAK,sBAAsB,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CACrG,CAAC;QACF,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAyB;IAClD,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,SAAS,CAAC;QACf,wEAAwE;QACxE,8DAA8D;QAC9D,KAAK,WAAW;YACd,OAAO,QAAQ,CAAC,OAAO,CAAC;QAC1B,KAAK,YAAY;YACf,OAAO,QAAQ,CAAC,aAAa,CAAC;QAChC,KAAK,eAAe;YAClB,OAAO,QAAQ,CAAC,aAAa,CAAC;QAChC,KAAK,eAAe;YAClB,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,MAAqB;IACrD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACnC,UAAU,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;QACtC,UAAU,CAAC,EAAE,OAAO,EAAE,kBAAkB,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;IACD,UAAU,CAAC,EAAE,OAAO,EAAE,2BAA2B,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACrE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAAC,OAA0B;IACzD,IAAI,MAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,GAAG,aAAa,CAAC;YACrB,UAAU,EAAE;gBACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB;YACD,WAAW,EAAE,OAAO,CAAC,OAAO;SAC7B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,sBAAsB,EAAE,CAAC;YAC1C,UAAU,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,UAAU,CAAC;YACT,OAAO,EAAE,2DAA2D;SACrE,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC;IAED,oEAAoE;IACpE,kEAAkE;IAClE,MAAM,YAAY,GAAG,YAAY,EAAE,CAAC;IACpC,MAAM,iBAAiB,GACrB,OAAO,CAAC,OAAO,KAAK,SAAS;QAC3B,CAAC,CAAC,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI;QACvD,CAAC,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC;IAEjD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,sBAAsB,CAAC;QACzC,MAAM;QACN,WAAW,EAAE,iBAAiB;KAC/B,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,gBAAgB,CAC7B,MAAM,CAAC,QAAQ,EACf,MAAM,EACN,MAAM,CAAC,MAAM,EACb,iBAAiB,EACjB,MAAM,CAAC,gBAAgB,EACvB,WAAW,EACX,OAAO,CAAC,MAAM,CACf,CAAC;IACF,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAEjC,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,IAAI,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,EAC9B,MAAM,EACN,WAAW,GAIZ;IACC,IAAI,MAAM,CAAC,gBAAgB,KAAK,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QACxD,OAAO,MAAM,CAAC,WAAW,CAAC;IAC5B,CAAC;IACD,OAAO,gBAAgB,CAAC,YAAY,EAAE,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;AAC1E,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,OAAyB;IACvD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC;YAC3B,UAAU,EAAE;gBACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB;YACD,WAAW,EAAE,OAAO,CAAC,OAAO;SAC7B,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,UAAU,CAAC;gBACT,OAAO,EAAE,2DAA2D;aACrE,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,eAAe,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,MAAM,iBAAiB,GAAG,wBAAwB,CAChD,eAAe,EACf,OAAO,CAAC,OAAO,CAChB,CAAC;QACF,MAAM,gBAAgB,GAAG,OAAO,CAC9B,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CACpD,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC;YAC5C,QAAQ;YACR,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE,CAC1B,UAAU,CAAC,EAAE,OAAO,EAAE,6BAA6B,GAAG,EAAE,EAAE,CAAC;YAC7D,iBAAiB,EAAE,OAAO,CAAC,OAAO,KAAK,KAAK;YAC5C,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC7B,UAAU,CAAC;gBACT,OAAO,EAAE,2CACP,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE;aACH,CAAC;YACJ,mBAAmB,EAAE,OAAO,CAAC,KAAK,KAAK,KAAK;SAC7C,CAAC,CAAC;QAEH,IAAI,WAAW,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACvC,UAAU,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACrC,UAAU,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,WAAW,GAAG,0BAA0B,CAAC;YAC7C,QAAQ,EAAE,WAAW,CAAC,MAAM;SAC7B,CAAC,CAAC;QACH,wEAAwE;QACxE,oEAAoE;QACpE,MAAM,gBAAgB,CAAC,eAAe,EAAE,EAAE,KAAK,IAAI,EAAE;YACnD,YAAY,CACV,kBAAkB,CAAC;gBACjB,YAAY,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAC5C,WAAW,EAAE,iBAAiB;gBAC9B,QAAQ;gBACR,WAAW;aACZ,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC;YACpC,GAAG,MAAM;YACT,QAAQ;YACR,WAAW;YACX,WAAW,EAAE,iBAAiB;YAC9B,MAAM,EAAE,SAAS;YACjB,gBAAgB,EAAE,OAAO;SAC1B,CAAC,CAAC;QACH,IAAI,gBAAgB,EAAE,CAAC;YACrB,UAAU,CAAC;gBACT,OAAO,EACL,kBAAkB,iBAAiB,wEAAwE;oBAC3G,+DAA+D;aAClE,CAAC,CAAC;QACL,CAAC;QACD,WAAW,CAAC;YACV,OAAO,EAAE,gBAAgB,CACvB;gBACE,QAAQ;gBACR,OAAO,EAAE,iBAAiB;gBAC1B,gBAAgB,EAAE,OAAO;gBACzB,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,IAAI;gBACJ,MAAM,EACJ,IAAI,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe;aACnE,EACD,OAAO,CAAC,MAAM,CACf;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,iBAAiB;YAClC,KAAK,YAAY,YAAY;YAC7B,KAAK,YAAY,sBAAsB,EACvC,CAAC;YACD,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAA0B;IACzD,IAAI,MAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,GAAG,aAAa,CAAC;YACrB,UAAU,EAAE;gBACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB;YACD,WAAW,EAAE,OAAO,CAAC,OAAO;SAC7B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;YAC5C,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,iBAAiB,GAAG,wBAAwB,CAChD,YAAY,EACZ,OAAO,CAAC,OAAO,CAChB,CAAC;IACF,MAAM,OAAO,GAAG,gBAAgB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC;IAC9D,sEAAsE;IACtE,4EAA4E;IAC5E,yDAAyD;IACzD,MAAM,eAAe,GAAG,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC;IAChD,IAAI,YAAY,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,gBAAgB,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC;gBACT,OAAO,EAAE,0CACP,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE;aACH,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,wEAAwE;QACxE,qEAAqE;QACrE,MAAM,gBAAgB,CAAC,eAAe,EAAE,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,cAAc,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACtD,MAAM,aAAa,GAAG,gBAAgB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;YAC1E,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,iBAAiB,EAAE,GACvD,aAAa,CAAC,KAAK,CAAC;YACtB,YAAY,CAAC;gBACX,GAAG,cAAc;gBACjB,QAAQ,EAAE;oBACR,GAAG,cAAc,CAAC,QAAQ;oBAC1B,CAAC,iBAAiB,CAAC,EAAE,iBAAiB;iBACvC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC;QACV,OAAO,EAAE,gBAAgB,CACvB;YACE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;YAC/B,OAAO,EAAE,iBAAiB;YAC1B,gBAAgB,EAAE,MAAM,CAAC,MAAM;gBAC7B,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,IAAI,aAAa,CAAC;gBAC5C,CAAC,CAAC,MAAM;YACV,MAAM,EAAE,YAAY;SACrB,EACD,OAAO,CAAC,MAAM,CACf;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,EAC1B,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,WAAW,GAMZ;IACC,MAAM,eAAe,GAAG,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACjE,OAAO;QACL,GAAG,YAAY;QACf,aAAa,EAAE,YAAY,CAAC,aAAa,IAAI,WAAW;QACxD,QAAQ,EAAE;YACR,GAAG,YAAY,CAAC,QAAQ;YACxB,CAAC,WAAW,CAAC,EAAE;gBACb,GAAG,eAAe;gBAClB,QAAQ;gBACR,WAAW;aACZ;SACF;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB;IAC9B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEtC,OAAO;SACJ,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;SAClD,MAAM,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;SAC/D,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;SAC5C,MAAM,CACL,mBAAmB,EACnB,yDAAyD,CAC1D;SACA,WAAW,CACV,OAAO,EACP;;;;;CAKL,CACI;SACA,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE7B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,sBAAsB;IAC7B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;SACxB,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;SAClD,MAAM,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;SAC/D,MAAM,CAAC,kBAAkB,EAAE,kCAAkC,CAAC;SAC9D,MAAM,CAAC,cAAc,EAAE,+CAA+C,CAAC;SACvE,MAAM,CAAC,YAAY,EAAE,yCAAyC,CAAC;SAC/D,MAAM,CACL,mBAAmB,EACnB,yDAAyD,CAC1D;SACA,WAAW,CACV,OAAO,EACP;;;;;CAKL,CACI;SACA,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,uBAAuB;IAC9B,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;SACzB,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;SAClD,MAAM,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;SAC/D,MAAM,CAAC,kBAAkB,EAAE,oCAAoC,CAAC;SAChE,MAAM,CACL,mBAAmB,EACnB,yDAAyD,CAC1D;SACA,WAAW,CACV,OAAO,EACP;;;;;CAKL,CACI;SACA,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpC,OAAO,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;IAErD,kBAAkB;IAClB,OAAO,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAE9C,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -5,6 +5,7 @@
5
5
  * agent reads to learn where it connected, what was written, and — the field
6
6
  * that actually matters — whether traces were verified arriving.
7
7
  */
8
+ import type { McpSetupReport } from "../setup/mcp/runSetupMcp.js";
8
9
  import type { SetupReport } from "../setup/runSetup.js";
9
10
  import type { ToolingResult } from "../setup/steps/installTooling.js";
10
11
  export type OutputFormat = "pretty" | "json" | "raw";
@@ -23,6 +24,12 @@ export interface SetupOutput {
23
24
  /** Pages that failed to download; the agent reads those from the web. */
24
25
  failed: number;
25
26
  };
27
+ /** The docs MCP offer; "configured" means the docs prefetch was replaced. */
28
+ docsMcp?: {
29
+ outcome: "configured" | "declined" | "failed";
30
+ agents: string[];
31
+ files: string[];
32
+ };
26
33
  instrumentation?: {
27
34
  lane: "agent" | "clipboard" | "manual";
28
35
  agent?: string;
@@ -41,6 +48,11 @@ export interface FormatSetupOutputOptions {
41
48
  format?: OutputFormat;
42
49
  }
43
50
  export declare function formatSetupOutput({ report, format, }: FormatSetupOutputOptions): string;
51
+ export interface FormatMcpSetupOutputOptions {
52
+ report: McpSetupReport;
53
+ format?: OutputFormat;
54
+ }
55
+ export declare function formatMcpSetupOutput({ report, format, }: FormatMcpSetupOutputOptions): string;
44
56
  export interface FormatToolingOutputOptions {
45
57
  tooling: ToolingResult;
46
58
  format?: OutputFormat;
@@ -1 +1 @@
1
- {"version":3,"file":"formatSetup.d.ts","sourceRoot":"","sources":["../../src/commands/formatSetup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAErD,uEAAuE;AACvE,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,yEAAyE;QACzE,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,eAAe,CAAC,EAAE;QAChB,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,QAAQ,CAAC;QACvC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,2EAA2E;QAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,0EAA0E;IAC1E,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CA2B9D;AAaD,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAQ3D;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,MAAiB,GAClB,EAAE,wBAAwB,GAAG,MAAM,CAEnC;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,4DAA4D;AAC5D,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,MAAiB,GAClB,EAAE,0BAA0B,GAAG,MAAM,CAKrC"}
1
+ {"version":3,"file":"formatSetup.d.ts","sourceRoot":"","sources":["../../src/commands/formatSetup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAErD,uEAAuE;AACvE,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,yEAAyE;QACzE,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,6EAA6E;IAC7E,OAAO,CAAC,EAAE;QACR,OAAO,EAAE,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;QAC9C,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;IACF,eAAe,CAAC,EAAE;QAChB,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,QAAQ,CAAC;QACvC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,2EAA2E;QAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,0EAA0E;IAC1E,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAqC9D;AAaD,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAQ3D;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,MAAiB,GAClB,EAAE,wBAAwB,GAAG,MAAM,CAEnC;AAuBD,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,MAAiB,GAClB,EAAE,2BAA2B,GAAG,MAAM,CAEtC;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,4DAA4D;AAC5D,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,MAAiB,GAClB,EAAE,0BAA0B,GAAG,MAAM,CAKrC"}
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import * as COPY from "../setup/copy.js";
9
9
  export function toSetupOutput(report) {
10
- const { docs, instrumentation } = report;
10
+ const { docs, docsMcp, instrumentation } = report;
11
11
  return {
12
12
  endpoint: report.connection.endpoint,
13
13
  project: report.connection.projectName,
@@ -21,6 +21,15 @@ export function toSetupOutput(report) {
21
21
  pages: docs.written,
22
22
  failed: docs.failed,
23
23
  },
24
+ // The report already omits a skipped offer; the guard also narrows the
25
+ // outcome union for the flat envelope.
26
+ docsMcp: docsMcp && docsMcp.outcome !== "skipped"
27
+ ? {
28
+ outcome: docsMcp.outcome,
29
+ agents: docsMcp.agents,
30
+ files: docsMcp.files,
31
+ }
32
+ : undefined,
24
33
  instrumentation: instrumentation &&
25
34
  (instrumentation.kind === "agent"
26
35
  ? {
@@ -56,6 +65,28 @@ export function headlessSummary(report) {
56
65
  export function formatSetupOutput({ report, format = "pretty", }) {
57
66
  return renderJson(toSetupOutput(report), format) ?? headlessSummary(report);
58
67
  }
68
+ // ---------------------------------------------------------------------------
69
+ // `px setup mcp`
70
+ // ---------------------------------------------------------------------------
71
+ /**
72
+ * The pretty rendering — what a headless `px setup mcp` prints on stdout. The
73
+ * `json`/`raw` renderings serialize the {@link McpSetupReport} verbatim, so the
74
+ * report interface itself is the documented JSON envelope.
75
+ */
76
+ function mcpHeadlessSummary(report) {
77
+ const lines = [
78
+ `Configured the "${report.serverName}" MCP server with ${report.agent} (${report.scope}).`,
79
+ `url: ${report.url}`,
80
+ `auth: ${report.auth}`,
81
+ ];
82
+ if (report.file) {
83
+ lines.push(`config: ${report.file}`);
84
+ }
85
+ return lines.join("\n");
86
+ }
87
+ export function formatMcpSetupOutput({ report, format = "pretty", }) {
88
+ return renderJson(report, format) ?? mcpHeadlessSummary(report);
89
+ }
59
90
  /** `px setup skills` reports only what the installs did. */
60
91
  export function formatToolingOutput({ tooling, format = "pretty", }) {
61
92
  return (renderJson({ tooling }, format) ??
@@ -1 +1 @@
1
- {"version":3,"file":"formatSetup.js","sourceRoot":"","sources":["../../src/commands/formatSetup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AAgCtC,MAAM,UAAU,aAAa,CAAC,MAAmB;IAC/C,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IACzC,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ;QACpC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW;QACtC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,IAAI,EAAE,IAAI,IAAI;YACZ,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,OAAO;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB;QACD,eAAe,EACb,eAAe;YACf,CAAC,eAAe,CAAC,IAAI,KAAK,OAAO;gBAC/B,CAAC,CAAC;oBACE,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,eAAe,CAAC,KAAK;oBAC5B,QAAQ,EAAE,eAAe,CAAC,QAAQ;iBACnC;gBACH,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;QACrC,cAAc,EAAE,MAAM,CAAC,cAAc,KAAK,IAAI;QAC9C,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;AACJ,CAAC;AAED,yDAAyD;AACzD,SAAS,UAAU,CAAC,KAAc,EAAE,MAAoB;IACtD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,eAAe,CAAC,MAAmB;IACjD,OAAO;QACL,aAAa,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE;QACzC,YAAY,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE;QAC3C,UAAU,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACnC,EAAE;QACF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;KAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAOD,MAAM,UAAU,iBAAiB,CAAC,EAChC,MAAM,EACN,MAAM,GAAG,QAAQ,GACQ;IACzB,OAAO,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;AAC9E,CAAC;AAOD,4DAA4D;AAC5D,MAAM,UAAU,mBAAmB,CAAC,EAClC,OAAO,EACP,MAAM,GAAG,QAAQ,GACU;IAC3B,OAAO,CACL,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC;QAC/B,CAAC,WAAW,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACnE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"formatSetup.js","sourceRoot":"","sources":["../../src/commands/formatSetup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0ZpC,wBAAgB,kBAAkB,IAAI,OAAO,CAoC5C"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkYpC,wBAAgB,kBAAkB,IAAI,OAAO,CA4C5C"}