@agentteams/cli 0.1.82 → 0.1.84

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 (111) hide show
  1. package/.eslintcache +1 -1
  2. package/README.md +4 -3
  3. package/dist/auth/activeCredential.d.ts +22 -0
  4. package/dist/auth/activeCredential.d.ts.map +1 -0
  5. package/dist/auth/activeCredential.js +25 -0
  6. package/dist/auth/activeCredential.js.map +1 -0
  7. package/dist/auth/credentialStore.d.ts +89 -0
  8. package/dist/auth/credentialStore.d.ts.map +1 -0
  9. package/dist/auth/credentialStore.js +254 -0
  10. package/dist/auth/credentialStore.js.map +1 -0
  11. package/dist/auth/personalTokenClient.d.ts +155 -0
  12. package/dist/auth/personalTokenClient.d.ts.map +1 -0
  13. package/dist/auth/personalTokenClient.js +312 -0
  14. package/dist/auth/personalTokenClient.js.map +1 -0
  15. package/dist/auth/personalTokenStore.d.ts +16 -0
  16. package/dist/auth/personalTokenStore.d.ts.map +1 -0
  17. package/dist/auth/personalTokenStore.js +27 -0
  18. package/dist/auth/personalTokenStore.js.map +1 -0
  19. package/dist/commands/agentConfig.d.ts.map +1 -1
  20. package/dist/commands/agentConfig.js +8 -6
  21. package/dist/commands/agentConfig.js.map +1 -1
  22. package/dist/commands/auth.d.ts +97 -0
  23. package/dist/commands/auth.d.ts.map +1 -0
  24. package/dist/commands/auth.js +245 -0
  25. package/dist/commands/auth.js.map +1 -0
  26. package/dist/commands/config.d.ts.map +1 -1
  27. package/dist/commands/config.js +16 -2
  28. package/dist/commands/config.js.map +1 -1
  29. package/dist/commands/convention.d.ts +11 -0
  30. package/dist/commands/convention.d.ts.map +1 -1
  31. package/dist/commands/convention.js +35 -11
  32. package/dist/commands/convention.js.map +1 -1
  33. package/dist/commands/dependency.d.ts.map +1 -1
  34. package/dist/commands/dependency.js +8 -6
  35. package/dist/commands/dependency.js.map +1 -1
  36. package/dist/commands/doctor.d.ts.map +1 -1
  37. package/dist/commands/doctor.js +75 -2
  38. package/dist/commands/doctor.js.map +1 -1
  39. package/dist/commands/index.d.ts.map +1 -1
  40. package/dist/commands/index.js +19 -14
  41. package/dist/commands/index.js.map +1 -1
  42. package/dist/commands/init.d.ts +18 -1
  43. package/dist/commands/init.d.ts.map +1 -1
  44. package/dist/commands/init.js +114 -20
  45. package/dist/commands/init.js.map +1 -1
  46. package/dist/index.js +101 -15
  47. package/dist/index.js.map +1 -1
  48. package/dist/mcp/context.d.ts +15 -1
  49. package/dist/mcp/context.d.ts.map +1 -1
  50. package/dist/mcp/context.js +24 -5
  51. package/dist/mcp/context.js.map +1 -1
  52. package/dist/mcp/server.d.ts +1 -1
  53. package/dist/mcp/server.d.ts.map +1 -1
  54. package/dist/mcp/server.js +5 -2
  55. package/dist/mcp/server.js.map +1 -1
  56. package/dist/mcp/tools.d.ts.map +1 -1
  57. package/dist/mcp/tools.js +25 -22
  58. package/dist/mcp/tools.js.map +1 -1
  59. package/dist/mcp-registration/atomicWrite.d.ts +9 -3
  60. package/dist/mcp-registration/atomicWrite.d.ts.map +1 -1
  61. package/dist/mcp-registration/atomicWrite.js +58 -15
  62. package/dist/mcp-registration/atomicWrite.js.map +1 -1
  63. package/dist/mcp-registration/clients.d.ts.map +1 -1
  64. package/dist/mcp-registration/clients.js +1 -9
  65. package/dist/mcp-registration/clients.js.map +1 -1
  66. package/dist/mcp-registration/doctor.d.ts +38 -0
  67. package/dist/mcp-registration/doctor.d.ts.map +1 -0
  68. package/dist/mcp-registration/doctor.js +379 -0
  69. package/dist/mcp-registration/doctor.js.map +1 -0
  70. package/dist/mcp-registration/index.d.ts +7 -5
  71. package/dist/mcp-registration/index.d.ts.map +1 -1
  72. package/dist/mcp-registration/index.js +46 -21
  73. package/dist/mcp-registration/index.js.map +1 -1
  74. package/dist/mcp-registration/install.d.ts.map +1 -1
  75. package/dist/mcp-registration/install.js +12 -15
  76. package/dist/mcp-registration/install.js.map +1 -1
  77. package/dist/mcp-registration/render.d.ts +8 -6
  78. package/dist/mcp-registration/render.d.ts.map +1 -1
  79. package/dist/mcp-registration/render.js +15 -36
  80. package/dist/mcp-registration/render.js.map +1 -1
  81. package/dist/mcp-registration/serverSpec.d.ts +31 -18
  82. package/dist/mcp-registration/serverSpec.d.ts.map +1 -1
  83. package/dist/mcp-registration/serverSpec.js +36 -20
  84. package/dist/mcp-registration/serverSpec.js.map +1 -1
  85. package/dist/mcp-registration/types.d.ts +0 -3
  86. package/dist/mcp-registration/types.d.ts.map +1 -1
  87. package/dist/types/index.d.ts +10 -0
  88. package/dist/types/index.d.ts.map +1 -1
  89. package/dist/utils/apiKeyInput.d.ts +16 -0
  90. package/dist/utils/apiKeyInput.d.ts.map +1 -0
  91. package/dist/utils/apiKeyInput.js +47 -0
  92. package/dist/utils/apiKeyInput.js.map +1 -0
  93. package/dist/utils/authServer.d.ts +39 -4
  94. package/dist/utils/authServer.d.ts.map +1 -1
  95. package/dist/utils/authServer.js +146 -62
  96. package/dist/utils/authServer.js.map +1 -1
  97. package/dist/utils/config.d.ts +121 -10
  98. package/dist/utils/config.d.ts.map +1 -1
  99. package/dist/utils/config.js +204 -5
  100. package/dist/utils/config.js.map +1 -1
  101. package/dist/utils/errors.d.ts.map +1 -1
  102. package/dist/utils/errors.js +16 -0
  103. package/dist/utils/errors.js.map +1 -1
  104. package/dist/utils/httpClient.d.ts.map +1 -1
  105. package/dist/utils/httpClient.js +25 -0
  106. package/dist/utils/httpClient.js.map +1 -1
  107. package/dist/utils/initOutput.d.ts.map +1 -1
  108. package/dist/utils/initOutput.js +30 -0
  109. package/dist/utils/initOutput.js.map +1 -1
  110. package/package.json +1 -1
  111. package/web-compatibility.json +4 -0
@@ -4,8 +4,9 @@ import { constants, createCipheriv, publicEncrypt, randomBytes } from 'node:cryp
4
4
  import { multiselect, isCancel, cancel } from '@clack/prompts';
5
5
  import httpClient from '../utils/httpClient.js';
6
6
  import open from 'open';
7
- import { startLocalAuthServer } from '../utils/authServer.js';
8
- import { DEFAULT_API_URL, saveConfig } from '../utils/config.js';
7
+ import { createAuthState, startLocalAuthServer } from '../utils/authServer.js';
8
+ import { DEFAULT_API_URL, saveConfig, saveLegacyApiKeyConfig, } from '../utils/config.js';
9
+ import { performPersonalTokenLogin } from './auth.js';
9
10
  import { createSpinner, withSpinner } from '../utils/spinner.js';
10
11
  import { withCommandContext } from '../utils/commandContext.js';
11
12
  import { conventionDownload } from './convention.js';
@@ -70,7 +71,7 @@ export function detectOsType() {
70
71
  }
71
72
  return undefined;
72
73
  }
73
- export function buildAuthorizeUrl(port, projectName, authPathEnc, osType) {
74
+ export function buildAuthorizeUrl(port, projectName, authPathEnc, osType, state) {
74
75
  const params = new URLSearchParams({
75
76
  port: String(port),
76
77
  projectName,
@@ -81,6 +82,11 @@ export function buildAuthorizeUrl(port, projectName, authPathEnc, osType) {
81
82
  if (osType && osType.length > 0) {
82
83
  params.set('ot', osType);
83
84
  }
85
+ // The web page echoes this back through the callback; without it the local
86
+ // server cannot tell this login apart from one someone else started.
87
+ if (state && state.length > 0) {
88
+ params.set('state', state);
89
+ }
84
90
  return `${AUTH_BASE_URL}/cli/authorize?${params.toString()}`;
85
91
  }
86
92
  function printAuthorizeUrl(url) {
@@ -114,20 +120,50 @@ async function tryOpenBrowser(url) {
114
120
  function normalizeApiUrl(apiUrl) {
115
121
  return apiUrl.replace(/\/+$/, '');
116
122
  }
117
- function toConfig(authResult) {
123
+ /**
124
+ * Where the CLI talks to is the CLI's own decision. It used to come from the
125
+ * browser callback payload, so anything that reached the local callback port
126
+ * could redirect every later request — including the convention download whose
127
+ * content becomes always-on agent rules.
128
+ */
129
+ function resolveApiUrl() {
130
+ return normalizeApiUrl(process.env.AGENTTEAMS_API_URL || DEFAULT_API_URL);
131
+ }
132
+ /**
133
+ * What actually lands in `.agentteams/config.json`.
134
+ *
135
+ * The default document is deliberately secret-free. The callback's agent key is
136
+ * used only in-process to fetch conventions and is revoked before init exits.
137
+ * `apiUrl` is always explicit so the persisted schema is stable across default
138
+ * and custom deployments.
139
+ *
140
+ * `authMode` is not decoration: it is the only on-disk marker that this project
141
+ * *chose* the personal login. `planCredential` keys `optedIn` off it, and that
142
+ * flag is what turns "config exists, credential missing" into "run `agentteams
143
+ * auth login`" instead of the misleading "run `agentteams init` first" — the
144
+ * exact state after `auth logout`, a fresh clone, or a wiped OS keychain.
145
+ */
146
+ function toConfig(authResult, apiUrl) {
147
+ return {
148
+ teamId: authResult.teamId,
149
+ projectId: authResult.projectId,
150
+ apiUrl,
151
+ authMode: 'personal-token',
152
+ };
153
+ }
154
+ /** Preserve the original config shape only for the explicit compatibility flag. */
155
+ function toLegacyApiKeyConfig(authResult, apiUrl) {
118
156
  const config = {
119
157
  teamId: authResult.teamId,
120
158
  projectId: authResult.projectId,
121
159
  apiKey: authResult.apiKey,
122
160
  };
123
- const apiUrl = authResult.apiUrl ? normalizeApiUrl(authResult.apiUrl) : undefined;
124
- if (apiUrl && apiUrl !== DEFAULT_API_URL) {
161
+ if (apiUrl !== DEFAULT_API_URL) {
125
162
  config.apiUrl = apiUrl;
126
163
  }
127
164
  return config;
128
165
  }
129
- async function fetchConventionTemplate(authResult) {
130
- const apiUrl = normalizeApiUrl(authResult.apiUrl || DEFAULT_API_URL);
166
+ async function fetchConventionTemplate(authResult, apiUrl) {
131
167
  const response = await httpClient.get(`${apiUrl}/api/projects/${authResult.projectId}/agent-configs/${authResult.configId}/convention`, {
132
168
  headers: {
133
169
  ...buildAuthHeaders(authResult.apiKey),
@@ -140,6 +176,27 @@ async function fetchConventionTemplate(authResult) {
140
176
  }
141
177
  return content;
142
178
  }
179
+ /**
180
+ * Hand the agent key back at the end of a personal-token init.
181
+ *
182
+ * The browser round trip mints a `key_` no matter which auth mode was asked
183
+ * for — it is the only credential that can read the convention template. On the
184
+ * personal-token path that key is never written to disk, so leaving it live
185
+ * would mean a long-lived secret the user cannot see, use or cancel. The agent
186
+ * config itself stays: it is the project's record of this machine, and only its
187
+ * credential is the liability.
188
+ */
189
+ async function revokeInitAgentKey(authResult, apiUrl) {
190
+ try {
191
+ await httpClient.delete(`${apiUrl}/api/projects/${authResult.projectId}/agent-configs/${authResult.configId}/api-keys`, { headers: buildAuthHeaders(authResult.apiKey) });
192
+ return true;
193
+ }
194
+ catch {
195
+ // Not fatal: init has everything it needs, and the caller warns instead so
196
+ // the user can revoke it from the web app.
197
+ return false;
198
+ }
199
+ }
143
200
  async function promptAgentFileSelection() {
144
201
  if (!process.stdin.isTTY) {
145
202
  return AGENT_ENTRY_POINT_FILES.map((f) => f.value);
@@ -228,7 +285,7 @@ function generateAgentEntryPointFiles(cwd, selectedFiles) {
228
285
  function isConfiguredMainCheckout(sourcePath) {
229
286
  try {
230
287
  const config = JSON.parse(readFileSync(join(sourcePath, CONFIG_FILE), 'utf-8'));
231
- return ['teamId', 'projectId', 'apiKey'].every((field) => typeof config[field] === 'string' && config[field].length > 0);
288
+ return ['teamId', 'projectId'].every((field) => typeof config[field] === 'string' && config[field].length > 0);
232
289
  }
233
290
  catch {
234
291
  return false;
@@ -335,10 +392,11 @@ function findCopyOnlyFiles(backupPath, sourcePath) {
335
392
  * Park the copy outside every tracked surface while the link is created. A
336
393
  * backup next to `.agentteams` would show up in `git status` — the anchored
337
394
  * `/.agentteams` exclude is an exact match and does not cover a sibling name —
338
- * and the copied `config.json` carries the project apiKey. `git-common-dir` is
339
- * part of no working tree, so nothing can surface from there. A worktree on a
340
- * different volume cannot be renamed into it, and only then does the
341
- * in-worktree fallback apply — after registering its own exclude pattern.
395
+ * and a copied legacy `config.json` may carry the project apiKey.
396
+ * `git-common-dir` is part of no working tree, so nothing can surface from
397
+ * there. A worktree on a different volume cannot be renamed into it, and only
398
+ * then does the in-worktree fallback apply — after registering its own exclude
399
+ * pattern.
342
400
  */
343
401
  function moveConventionCopyAside(worktreePath, targetPath) {
344
402
  const failures = [];
@@ -551,6 +609,8 @@ export async function executeInitCommand(options) {
551
609
  }
552
610
  async function executeInitCommandWithContext(options) {
553
611
  const cwd = resolve(options?.cwd ?? process.cwd());
612
+ // Only an explicit compatibility request persists the callback's agent key.
613
+ const authMode = options?.authMode === 'api-key' ? 'api-key' : 'personal-token';
554
614
  const worktreeResult = bootstrapLinkedWorktree(cwd);
555
615
  if (worktreeResult)
556
616
  return worktreeResult;
@@ -559,7 +619,7 @@ async function executeInitCommandWithContext(options) {
559
619
  const projectName = basename(cwd);
560
620
  let authContext;
561
621
  try {
562
- authContext = await startLocalAuthServer();
622
+ authContext = await startLocalAuthServer({ state: createAuthState() });
563
623
  }
564
624
  catch (error) {
565
625
  throw new Error(`Failed to start local OAuth server: ${error instanceof Error ? error.message : String(error)}`);
@@ -571,7 +631,7 @@ async function executeInitCommandWithContext(options) {
571
631
  catch {
572
632
  authPathEnc = undefined;
573
633
  }
574
- const authUrl = buildAuthorizeUrl(authContext.port, projectName, authPathEnc, detectOsType());
634
+ const authUrl = buildAuthorizeUrl(authContext.port, projectName, authPathEnc, detectOsType(), authContext.state);
575
635
  await tryOpenBrowser(authUrl);
576
636
  const authSpinner = createSpinner('Waiting for authentication... (Ctrl+C to cancel)');
577
637
  const cleanup = () => {
@@ -612,15 +672,45 @@ async function executeInitCommandWithContext(options) {
612
672
  .catch(reject);
613
673
  });
614
674
  authSpinner?.succeed();
615
- const config = toConfig(authResult);
675
+ const apiUrl = resolveApiUrl();
616
676
  const runtimeConfig = {
617
- ...config,
618
- apiUrl: authResult.apiUrl || DEFAULT_API_URL,
677
+ teamId: authResult.teamId,
678
+ projectId: authResult.projectId,
679
+ apiKey: authResult.apiKey,
680
+ apiUrl,
619
681
  };
620
- const conventionContent = await withSpinner('Fetching convention template...', () => fetchConventionTemplate(authResult));
621
- saveConfig(configPath, config);
682
+ const conventionContent = await withSpinner('Fetching convention template...', () => fetchConventionTemplate(authResult, apiUrl));
683
+ // The project is known now, so the personal login can run before anything is
684
+ // written: a failed login must not leave a config with no usable credential.
685
+ // A login that cannot be stored throws here, which is the point — init stops
686
+ // before `saveConfig` rather than leaving a half-configured project behind.
687
+ let personalLogin;
688
+ const warnings = [];
689
+ if (authMode === 'personal-token') {
690
+ const outcome = await performPersonalTokenLogin({ apiUrl, projectName });
691
+ personalLogin = {
692
+ email: outcome.identity.email,
693
+ nickname: outcome.identity.nickname,
694
+ persisted: outcome.persisted,
695
+ };
696
+ }
697
+ if (authMode === 'api-key') {
698
+ saveLegacyApiKeyConfig(configPath, toLegacyApiKeyConfig(authResult, apiUrl));
699
+ }
700
+ else {
701
+ saveConfig(configPath, toConfig(authResult, apiUrl));
702
+ }
622
703
  writeFileSync(conventionPath, conventionContent, 'utf-8');
623
704
  await conventionDownload({ cwd, config: runtimeConfig });
705
+ // Last use of the agent key is the convention download above.
706
+ let agentKeyRevoked;
707
+ if (authMode === 'personal-token') {
708
+ agentKeyRevoked = await revokeInitAgentKey(authResult, apiUrl);
709
+ if (!agentKeyRevoked) {
710
+ warnings.push(`The agent key created for "${authResult.agentName}" could not be revoked and is still valid. ` +
711
+ 'Revoke it in the AgentTeams web app (project settings → agents) — it was never written to this repository.');
712
+ }
713
+ }
624
714
  ensureGitignore(cwd);
625
715
  const selectedFiles = await promptAgentFileSelection();
626
716
  if (selectedFiles.includes('GEMINI.md')) {
@@ -650,6 +740,10 @@ async function executeInitCommandWithContext(options) {
650
740
  seedPlanId,
651
741
  seedPlanWebUrl,
652
742
  postCheckoutHook,
743
+ authMode,
744
+ ...(personalLogin ? { personalLogin } : {}),
745
+ ...(agentKeyRevoked === undefined ? {} : { agentKeyRevoked }),
746
+ ...(warnings.length > 0 ? { warning: warnings.join(' ') } : {}),
653
747
  };
654
748
  }
655
749
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -12,9 +12,36 @@ import { printDoctorResult, resolveDoctorExitCode } from './utils/doctorOutput.j
12
12
  import { executeValidatedInteractiveCommand, normalizeInteractiveFormat } from './utils/interactiveCommand.js';
13
13
  import { startUpdateCheck, readCache, compareVersions, formatUpdateMessage } from './utils/updateCheck.js';
14
14
  import { MCP_CLIENT_IDS } from './mcp-registration/types.js';
15
+ import { resolveApiKeyInput } from './utils/apiKeyInput.js';
15
16
  const require = createRequire(import.meta.url);
16
17
  const pkg = require('../package.json');
17
18
  const program = new Command();
19
+ function createApiKeyOption() {
20
+ return new Option('--api-key <key>', 'Deprecated: pass an API key in argv. Prefer AGENTTEAMS_API_KEY or --api-key-file.');
21
+ }
22
+ function createApiKeyFileOption() {
23
+ return new Option('--api-key-file <path>', 'Read the API key from a file, or use "-" to read stdin.');
24
+ }
25
+ program.hook('preAction', (_thisCommand, actionCommand) => {
26
+ try {
27
+ const commands = [];
28
+ for (let command = actionCommand; command; command = command.parent) {
29
+ commands.push(command);
30
+ }
31
+ const apiKeyCommand = commands.find((command) => command.opts().apiKey !== undefined);
32
+ const apiKeyFileCommand = commands.find((command) => command.opts().apiKeyFile !== undefined);
33
+ if (!apiKeyCommand && !apiKeyFileCommand)
34
+ return;
35
+ const apiKey = apiKeyCommand?.opts().apiKey;
36
+ const apiKeyFile = apiKeyFileCommand?.opts().apiKeyFile;
37
+ const resolved = resolveApiKeyInput({ apiKey, apiKeyFile });
38
+ (apiKeyFileCommand ?? apiKeyCommand ?? actionCommand).setOptionValue('apiKey', resolved);
39
+ }
40
+ catch (error) {
41
+ console.error(handleError(error));
42
+ process.exit(1);
43
+ }
44
+ });
18
45
  function normalizeFormat(format) {
19
46
  if (format === undefined || format === null || format === '')
20
47
  return 'json';
@@ -66,13 +93,16 @@ program.name('agentteams').description('CLI tool for AgentTeams API').version(pk
66
93
  program
67
94
  .command('init')
68
95
  .description('Initialize AgentTeams CLI via OAuth')
96
+ .addOption(new Option('--auth <mode>', 'Credential to configure. `personal-token` (default) stores a rotating login in the OS credential store and refreshes itself; `api-key` writes a legacy agent key into .agentteams/config.json, which expires 30 days after issue and must be reissued by hand.')
97
+ .choices(['api-key', 'personal-token'])
98
+ .default('personal-token'))
69
99
  .option('--format <format>', 'Output format (json; defaults to human-readable view)')
70
100
  .option('--output-file <path>', 'Write full output to a file (stdout prints a short summary)')
71
101
  .option('--verbose', 'Print full raw output to stdout; with --output-file, also echo it', false)
72
102
  .addHelpText('after', CONVENTION_HINT)
73
103
  .action(async (options) => {
74
104
  try {
75
- const result = await executeCommand('init', 'start', {});
105
+ const result = await executeCommand('init', 'start', { authMode: options.auth });
76
106
  const format = normalizeInteractiveFormat(options.format);
77
107
  printInitResult(result, format);
78
108
  }
@@ -81,6 +111,31 @@ program
81
111
  process.exit(1);
82
112
  }
83
113
  });
114
+ program
115
+ .command('auth')
116
+ .description('Manage the personal AgentTeams login used by default')
117
+ .argument('<action>', 'Action to perform (login, status, logout)')
118
+ .option('--api-url <url>', 'API server to authenticate against (defaults to the project config or env)')
119
+ .option('--local', 'logout only: clear the local credential without contacting the server (the token stays valid — revoke it in the web app)', false)
120
+ .option('--format <format>', 'Output format (json)', 'json')
121
+ .option('--output-file <path>', 'Write full output to a file (stdout prints a short summary)')
122
+ .option('--verbose', 'Print full raw output to stdout; with --output-file, also echo it', false)
123
+ .addHelpText('after', CONVENTION_HINT)
124
+ .action(async (action, options) => {
125
+ try {
126
+ const result = await executeCommand('auth', action, { apiUrl: options.apiUrl, local: options.local === true });
127
+ printCommandResult({
128
+ result,
129
+ format: normalizeFormat(options.format),
130
+ outputFile: options.outputFile,
131
+ verbose: options.verbose,
132
+ });
133
+ }
134
+ catch (error) {
135
+ console.error(handleError(error));
136
+ process.exit(1);
137
+ }
138
+ });
84
139
  program
85
140
  .command('doctor')
86
141
  .description('Diagnose convention reachability and install the worktree bootstrap hook')
@@ -370,7 +425,8 @@ program
370
425
  .option('--code-review-id <id>', 'Attach to this code review (create)')
371
426
  .option('--completion-report-id <id>', 'Attach to this completion report (create)')
372
427
  .option('--api-url <url>', 'Override API URL (optional)')
373
- .option('--api-key <key>', 'Override API key (optional)')
428
+ .addOption(createApiKeyOption())
429
+ .addOption(createApiKeyFileOption())
374
430
  .option('--project-id <id>', 'Override project ID (optional)')
375
431
  .option('--team-id <id>', 'Override team ID (optional)')
376
432
  .option('--format <format>', 'Output format (json)')
@@ -437,7 +493,8 @@ program
437
493
  .option('--search <text>', 'Title keyword search (list only)')
438
494
  .option('--limit <n>', 'Max results per page, alias for --page-size (list only)')
439
495
  .option('--api-url <url>', 'Override API URL (optional)')
440
- .option('--api-key <key>', 'Override API key (optional)')
496
+ .addOption(createApiKeyOption())
497
+ .addOption(createApiKeyFileOption())
441
498
  .option('--project-id <id>', 'Override project ID (optional)')
442
499
  .option('--team-id <id>', 'Override team ID (optional)')
443
500
  .option('--format <format>', 'Output format (json)')
@@ -528,7 +585,8 @@ program
528
585
  .option('--page <number>', 'Page number (list only)')
529
586
  .option('--page-size <number>', 'Page size (list only)')
530
587
  .option('--api-url <url>', 'Override API URL (optional)')
531
- .option('--api-key <key>', 'Override API key (optional)')
588
+ .addOption(createApiKeyOption())
589
+ .addOption(createApiKeyFileOption())
532
590
  .option('--project-id <id>', 'Override project ID (optional)')
533
591
  .option('--team-id <id>', 'Override team ID (optional)')
534
592
  .option('--format <format>', 'Output format (json)')
@@ -610,7 +668,8 @@ program
610
668
  .option('--page <number>', 'Page number (list only)')
611
669
  .option('--page-size <number>', 'Page size (list only)')
612
670
  .option('--api-url <url>', 'Override API URL (optional)')
613
- .option('--api-key <key>', 'Override API key (optional)')
671
+ .addOption(createApiKeyOption())
672
+ .addOption(createApiKeyFileOption())
614
673
  .option('--project-id <id>', 'Override project ID (optional)')
615
674
  .option('--team-id <id>', 'Override team ID (optional)')
616
675
  .option('--format <format>', 'Output format (json)')
@@ -653,7 +712,8 @@ program
653
712
  .option('--search <text>', 'Title keyword search (list only)')
654
713
  .option('--limit <n>', 'Max results per page, alias for --page-size (list only)')
655
714
  .option('--api-url <url>', 'Override API URL (optional)')
656
- .option('--api-key <key>', 'Override API key (optional)')
715
+ .addOption(createApiKeyOption())
716
+ .addOption(createApiKeyFileOption())
657
717
  .option('--project-id <id>', 'Override project ID (optional)')
658
718
  .option('--team-id <id>', 'Override team ID (optional)')
659
719
  .option('--format <format>', 'Output format (json)')
@@ -716,7 +776,8 @@ program
716
776
  .option('--search <text>', 'Title keyword search (list only)')
717
777
  .option('--limit <n>', 'Max results per page, alias for --page-size (list only)')
718
778
  .option('--api-url <url>', 'Override API URL (optional)')
719
- .option('--api-key <key>', 'Override API key (optional)')
779
+ .addOption(createApiKeyOption())
780
+ .addOption(createApiKeyFileOption())
720
781
  .option('--project-id <id>', 'Override project ID (optional)')
721
782
  .option('--team-id <id>', 'Override team ID (optional)')
722
783
  .option('--format <format>', 'Output format (json)')
@@ -769,7 +830,8 @@ program
769
830
  .option('--title <title>', 'Feedback title')
770
831
  .option('--content <content>', 'Feedback content')
771
832
  .option('--api-url <url>', 'Override API URL (optional)')
772
- .option('--api-key <key>', 'Override API key (optional)')
833
+ .addOption(createApiKeyOption())
834
+ .addOption(createApiKeyFileOption())
773
835
  .option('--project-id <id>', 'Override project ID (optional)')
774
836
  .option('--team-id <id>', 'Override team ID (optional)')
775
837
  .option('--format <format>', 'Output format (json)')
@@ -857,7 +919,8 @@ program
857
919
  .option('--page <number>', 'Page number (list/revisions/comment-list)')
858
920
  .option('--page-size <number>', 'Page size (list/revisions/comment-list)')
859
921
  .option('--api-url <url>', 'Override API URL (optional)')
860
- .option('--api-key <key>', 'Override API key (optional)')
922
+ .addOption(createApiKeyOption())
923
+ .addOption(createApiKeyFileOption())
861
924
  .option('--project-id <id>', 'Override project ID (optional)')
862
925
  .option('--team-id <id>', 'Override team ID (optional)')
863
926
  .option('--format <format>', 'Output format (json)', 'json')
@@ -969,7 +1032,8 @@ program
969
1032
  .option('--limit <n>', 'Max results (1-100, default: 20)')
970
1033
  .option('--max-tokens <n>', 'Token budget for response')
971
1034
  .option('--api-url <url>', 'Override API URL (optional)')
972
- .option('--api-key <key>', 'Override API key (optional)')
1035
+ .addOption(createApiKeyOption())
1036
+ .addOption(createApiKeyFileOption())
973
1037
  .option('--project-id <id>', 'Override project ID (optional)')
974
1038
  .option('--team-id <id>', 'Override team ID (optional)')
975
1039
  .option('--format <format>', 'Output format (json)', 'json')
@@ -1007,7 +1071,8 @@ const mcpCommand = program
1007
1071
  .command('mcp')
1008
1072
  .description('Run an MCP server over stdio, exposing AgentTeams reads to MCP-capable coding agents')
1009
1073
  .option('--api-url <url>', 'Override API URL (optional)')
1010
- .option('--api-key <key>', 'Override API key (optional)')
1074
+ .addOption(createApiKeyOption())
1075
+ .addOption(createApiKeyFileOption())
1011
1076
  .option('--project-id <id>', 'Override project ID (optional)')
1012
1077
  .option('--team-id <id>', 'Override team ID (optional)')
1013
1078
  .addHelpText('after', CONVENTION_HINT)
@@ -1018,7 +1083,7 @@ const mcpCommand = program
1018
1083
  const { startMcpServer } = await import('./commands/mcp.js');
1019
1084
  // stdout carries JSON-RPC frames only: this action deliberately bypasses
1020
1085
  // executeCommand()/printCommandResult() and never writes to stdout.
1021
- startMcpServer({
1086
+ await startMcpServer({
1022
1087
  apiUrl: options.apiUrl,
1023
1088
  apiKey: options.apiKey,
1024
1089
  projectId: options.projectId,
@@ -1039,7 +1104,8 @@ function addMcpRegistrationOptions(command) {
1039
1104
  .option('--server-entry <path>', 'Use a local `cli/dist/index.js` instead of the published package (for pre-release testing)')
1040
1105
  .option('--json', 'Print the machine-readable result instead of the human-readable report', false)
1041
1106
  .option('--api-url <url>', 'Override API URL (optional)')
1042
- .option('--api-key <key>', 'Override API key (optional)')
1107
+ .addOption(createApiKeyOption())
1108
+ .addOption(createApiKeyFileOption())
1043
1109
  .option('--project-id <id>', 'Override project ID (optional)')
1044
1110
  .option('--team-id <id>', 'Override team ID (optional)');
1045
1111
  }
@@ -1073,6 +1139,24 @@ addMcpRegistrationOptions(mcpCommand
1073
1139
  .option('--yes', 'Apply an explicitly selected user-scope batch plan instead of only printing it', false)
1074
1140
  .addHelpText('after', CONVENTION_HINT)
1075
1141
  .action((options, command) => runMcpRegistration('install', options, command));
1142
+ mcpCommand
1143
+ .command('doctor')
1144
+ .description('Find legacy plaintext MCP key copies; cleanup is applied only with explicit --yes confirmation.')
1145
+ .option('--yes', 'Confirm safe cleanup after the audit', false)
1146
+ .option('--json', 'Print the machine-readable result instead of the human-readable report', false)
1147
+ .addHelpText('after', CONVENTION_HINT)
1148
+ .action(async (options) => {
1149
+ try {
1150
+ const { runMcpDoctorCommand } = await import('./mcp-registration/doctor.js');
1151
+ const output = await runMcpDoctorCommand({ yes: options.yes === true });
1152
+ console.log(options.json ? formatOutput(output.json) : output.text);
1153
+ process.exitCode = output.exitCode;
1154
+ }
1155
+ catch (error) {
1156
+ console.error(handleError(error));
1157
+ process.exit(1);
1158
+ }
1159
+ });
1076
1160
  const linearCommand = program
1077
1161
  .command('linear')
1078
1162
  .description('Read Linear issues and add comments through the AgentTeams API')
@@ -1088,7 +1172,8 @@ linearCommand
1088
1172
  .option('--state <name>', 'Issue state name, e.g. "Done", "Todo" (required for update, optional for create)')
1089
1173
  .option('--parent-id <id>', 'Linear parent issue UUID for creating a sub-issue (optional, for create)')
1090
1174
  .option('--api-url <url>', 'Override API URL (optional)')
1091
- .option('--api-key <key>', 'Override API key (optional)')
1175
+ .addOption(createApiKeyOption())
1176
+ .addOption(createApiKeyFileOption())
1092
1177
  .option('--project-id <id>', 'Override project ID (optional)')
1093
1178
  .option('--format <format>', 'Output format (json)', 'json')
1094
1179
  .option('--output-file <path>', 'Write full output to a file (stdout prints a short summary)')
@@ -1134,7 +1219,8 @@ linearCommand
1134
1219
  .option('--issue-id <id>', 'Linear issue ID')
1135
1220
  .option('--body <text>', 'Comment body')
1136
1221
  .option('--api-url <url>', 'Override API URL (optional)')
1137
- .option('--api-key <key>', 'Override API key (optional)')
1222
+ .addOption(createApiKeyOption())
1223
+ .addOption(createApiKeyFileOption())
1138
1224
  .option('--project-id <id>', 'Override project ID (optional)')
1139
1225
  .option('--team-id <id>', 'Override team ID (optional)')
1140
1226
  .option('--format <format>', 'Output format (json)', 'json')