@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
@@ -43,7 +43,6 @@ export const MCP_CLIENTS = [
43
43
  runnerType: 'CLAUDE_CODE',
44
44
  label: 'Claude Code',
45
45
  executables: ['claude'],
46
- secretReference: 'dollarBraces',
47
46
  configSignals: (context) => [join(context.homeDir, '.claude.json'), join(context.homeDir, '.claude')],
48
47
  docsUrl: 'https://code.claude.com/docs/en/mcp',
49
48
  verifiedAt: '2026-07-25',
@@ -84,7 +83,6 @@ export const MCP_CLIENTS = [
84
83
  runnerType: 'CODEX',
85
84
  label: 'Codex',
86
85
  executables: ['codex'],
87
- secretReference: 'codexEnvVars',
88
86
  configSignals: (context) => [join(codexHome(context), 'config.toml'), codexHome(context)],
89
87
  docsUrl: 'https://developers.openai.com/codex/mcp',
90
88
  verifiedAt: '2026-07-25',
@@ -93,7 +91,7 @@ export const MCP_CLIENTS = [
93
91
  configPath: (context) => join(codexHome(context), 'config.toml'),
94
92
  format: 'toml',
95
93
  strategy: 'configOnly',
96
- configOnlyReason: 'Codex inherits secrets through `env_vars`, but `codex mcp add --env` accepts values only through argv. The CLI therefore prints a safe TOML snippet instead of exposing the API key in the process list.',
94
+ configOnlyReason: 'Codex user config is TOML. The CLI prints a complete snippet instead of rewriting that user-owned file and dropping comments or key order.',
97
95
  },
98
96
  project: {
99
97
  configPath: (context) => join(context.cwd, '.codex', 'config.toml'),
@@ -108,7 +106,6 @@ export const MCP_CLIENTS = [
108
106
  runnerType: 'COPILOT_CLI',
109
107
  label: 'GitHub Copilot CLI',
110
108
  executables: ['copilot'],
111
- secretReference: 'dollarBraces',
112
109
  configSignals: (context) => [join(copilotHome(context), 'mcp-config.json'), copilotHome(context)],
113
110
  docsUrl: 'https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers',
114
111
  verifiedAt: '2026-07-25',
@@ -134,7 +131,6 @@ export const MCP_CLIENTS = [
134
131
  runnerType: 'OPENCODE',
135
132
  label: 'OpenCode',
136
133
  executables: ['opencode'],
137
- secretReference: 'opencodeEnv',
138
134
  configSignals: (context) => [
139
135
  join(xdgConfigHome(context), 'opencode', 'opencode.jsonc'),
140
136
  join(xdgConfigHome(context), 'opencode', 'opencode.json'),
@@ -164,7 +160,6 @@ export const MCP_CLIENTS = [
164
160
  runnerType: 'AMP',
165
161
  label: 'Amp',
166
162
  executables: ['amp'],
167
- secretReference: 'dollarBraces',
168
163
  configSignals: (context) => [
169
164
  join(xdgConfigHome(context), 'amp', 'settings.json'),
170
165
  join(xdgConfigHome(context), 'amp'),
@@ -207,7 +202,6 @@ export const MCP_CLIENTS = [
207
202
  runnerType: 'CURSOR_CLI',
208
203
  label: 'Cursor CLI',
209
204
  executables: ['cursor-agent'],
210
- secretReference: 'dollarBraces',
211
205
  configSignals: (context) => [join(context.homeDir, '.cursor', 'mcp.json'), join(context.homeDir, '.cursor')],
212
206
  docsUrl: 'https://docs.cursor.com/context/model-context-protocol',
213
207
  verifiedAt: '2026-07-25',
@@ -235,7 +229,6 @@ export const MCP_CLIENTS = [
235
229
  runnerType: 'KIMI_CLI',
236
230
  label: 'Kimi CLI',
237
231
  executables: ['kimi'],
238
- secretReference: 'dollarBraces',
239
232
  extraBinDirs: (context) => [join(kimiHome(context), 'bin')],
240
233
  configSignals: (context) => [join(kimiHome(context), 'mcp.json'), kimiHome(context)],
241
234
  docsUrl: 'https://www.kimi.com/code/docs/en/kimi-code-cli/customization/mcp.html',
@@ -264,7 +257,6 @@ export const MCP_CLIENTS = [
264
257
  runnerType: 'ANTIGRAVITY',
265
258
  label: 'Antigravity',
266
259
  executables: ['agy', 'antigravity'],
267
- secretReference: 'dollarBraces',
268
260
  configSignals: (context) => [
269
261
  join(context.homeDir, '.gemini', 'config', 'mcp_config.json'),
270
262
  join(context.homeDir, '.gemini', 'antigravity'),
@@ -1 +1 @@
1
- {"version":3,"file":"clients.js","sourceRoot":"","sources":["../../src/mcp-registration/clients.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clients.js","sourceRoot":"","sources":["../../src/mcp-registration/clients.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { McpClientId, McpPathContext, McpScope } from './types.js';
2
+ type FindingKind = 'project-config' | 'mcp-config' | 'backup';
3
+ type CleanupOutcome = 'CLEANED' | 'SKIPPED' | 'FAILED';
4
+ export interface McpDoctorFinding {
5
+ path: string;
6
+ kind: FindingKind;
7
+ occurrences: number;
8
+ clientIds: McpClientId[];
9
+ scopes: McpScope[];
10
+ }
11
+ export interface McpDoctorCleanup {
12
+ path: string;
13
+ outcome: CleanupOutcome;
14
+ detail: string;
15
+ }
16
+ export interface McpDoctorReport {
17
+ confirmed: boolean;
18
+ scannedFiles: number;
19
+ findings: McpDoctorFinding[];
20
+ cleanup: McpDoctorCleanup[];
21
+ remainingFindings: McpDoctorFinding[];
22
+ }
23
+ export interface McpDoctorCommandOptions {
24
+ /** Explicit confirmation. Without it doctor is a read-only audit. */
25
+ yes?: boolean;
26
+ }
27
+ export interface McpDoctorDependencies {
28
+ context?: Partial<McpPathContext>;
29
+ hasValidPersonalCredential?: (apiUrl: string) => Promise<boolean>;
30
+ }
31
+ export interface McpDoctorCommandOutput {
32
+ text: string;
33
+ json: McpDoctorReport;
34
+ exitCode: number;
35
+ }
36
+ export declare function runMcpDoctorCommand(options: McpDoctorCommandOptions, dependencies?: McpDoctorDependencies): Promise<McpDoctorCommandOutput>;
37
+ export {};
38
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/mcp-registration/doctor.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAiB,cAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAYvF,KAAK,WAAW,GAAG,gBAAgB,GAAG,YAAY,GAAG,QAAQ,CAAC;AAC9D,KAAK,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAiBvD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,MAAM,EAAE,QAAQ,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,uBAAuB;IACtC,qEAAqE;IACrE,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAClC,0BAA0B,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACnE;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAkWD,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,uBAAuB,EAChC,YAAY,GAAE,qBAA0B,GACvC,OAAO,CAAC,sBAAsB,CAAC,CA6CjC"}
@@ -0,0 +1,379 @@
1
+ import { existsSync, readFileSync, unlinkSync } from 'node:fs';
2
+ import { homedir } from 'node:os';
3
+ import { DEFAULT_API_URL, findProjectConfig, saveConfig } from '../utils/config.js';
4
+ import { getPersonalTokenClient } from '../auth/personalTokenClient.js';
5
+ import { BACKUP_SUFFIX, PROJECT_SCOPE_FILE_MODE, USER_SCOPE_FILE_MODE, writeConfigFileAtomically, } from './atomicWrite.js';
6
+ import { MCP_CLIENTS } from './clients.js';
7
+ import { McpConfigParseError, readContainerEntry, upsertContainerEntry } from './jsonc.js';
8
+ import { buildEntryValue } from './render.js';
9
+ import { buildServerSpec, MCP_SERVER_NAME } from './serverSpec.js';
10
+ /**
11
+ * A `key_` that starts a value, not one embedded in a longer identifier.
12
+ *
13
+ * The lookbehind is what keeps `license_key_path` or `api_key_source` out of the
14
+ * scan, and the length floor keeps a bare `key_x` out of it: an agent key is
15
+ * always `key_{uuid}_{uuid}`. Matching those would make doctor report — and,
16
+ * before the entry check below, rewrite — files that never held a credential.
17
+ */
18
+ const KEY_PATTERN = /(?<![A-Za-z0-9_-])key_[A-Za-z0-9][A-Za-z0-9_-]{7,}/g;
19
+ function resolvePathContext(overrides) {
20
+ return {
21
+ homeDir: overrides?.homeDir ?? homedir(),
22
+ cwd: overrides?.cwd ?? process.cwd(),
23
+ env: overrides?.env ?? process.env,
24
+ };
25
+ }
26
+ function countKeyMaterial(source) {
27
+ return source.match(KEY_PATTERN)?.length ?? 0;
28
+ }
29
+ function redactKeyMaterial(value) {
30
+ return value.replace(KEY_PATTERN, '***');
31
+ }
32
+ function readSource(path) {
33
+ try {
34
+ return readFileSync(path, 'utf-8');
35
+ }
36
+ catch {
37
+ return null;
38
+ }
39
+ }
40
+ function buildCandidates(context) {
41
+ const candidates = new Map();
42
+ const projectConfigPath = findProjectConfig(context.cwd);
43
+ if (projectConfigPath) {
44
+ candidates.set(projectConfigPath, {
45
+ path: projectConfigPath,
46
+ kind: 'project-config',
47
+ definitions: [],
48
+ });
49
+ }
50
+ for (const client of MCP_CLIENTS) {
51
+ for (const scope of ['user', 'project']) {
52
+ const definition = client.scopes[scope];
53
+ const path = definition.configPath(context);
54
+ const candidate = candidates.get(path) ?? { path, kind: 'mcp-config', definitions: [] };
55
+ candidate.definitions.push({
56
+ clientId: client.id,
57
+ scope,
58
+ format: definition.format,
59
+ containerKey: definition.containerKey,
60
+ entryShape: definition.entryShape,
61
+ });
62
+ candidates.set(path, candidate);
63
+ }
64
+ }
65
+ for (const primary of [...candidates.values()]) {
66
+ const backupPath = `${primary.path}${BACKUP_SUFFIX}`;
67
+ candidates.set(backupPath, {
68
+ path: backupPath,
69
+ kind: 'backup',
70
+ primaryPath: primary.path,
71
+ definitions: [...primary.definitions],
72
+ });
73
+ }
74
+ return [...candidates.values()];
75
+ }
76
+ function scanCandidates(candidates) {
77
+ let scannedFiles = 0;
78
+ const findings = [];
79
+ for (const candidate of candidates) {
80
+ if (!existsSync(candidate.path))
81
+ continue;
82
+ scannedFiles += 1;
83
+ const source = readSource(candidate.path);
84
+ if (source === null)
85
+ continue;
86
+ const occurrences = countKeyMaterial(source);
87
+ if (occurrences === 0)
88
+ continue;
89
+ findings.push({
90
+ path: redactKeyMaterial(candidate.path),
91
+ kind: candidate.kind,
92
+ occurrences,
93
+ clientIds: [...new Set(candidate.definitions.map((definition) => definition.clientId))],
94
+ scopes: [...new Set(candidate.definitions.map((definition) => definition.scope))],
95
+ });
96
+ }
97
+ return { scannedFiles, findings };
98
+ }
99
+ async function hasValidPersonalCredential(apiUrl) {
100
+ const client = getPersonalTokenClient(apiUrl);
101
+ if (!client.hasCredential())
102
+ return false;
103
+ try {
104
+ return Boolean(await client.getAccessToken());
105
+ }
106
+ catch {
107
+ return false;
108
+ }
109
+ }
110
+ async function cleanProjectConfig(candidate, dependencies) {
111
+ const displayPath = redactKeyMaterial(candidate.path);
112
+ const source = readSource(candidate.path);
113
+ if (source === null) {
114
+ return {
115
+ path: displayPath,
116
+ outcome: 'FAILED',
117
+ detail: 'Could not read the project config; it was left unchanged.',
118
+ };
119
+ }
120
+ let config;
121
+ try {
122
+ const parsed = JSON.parse(source);
123
+ if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed))
124
+ throw new Error('not an object');
125
+ config = parsed;
126
+ }
127
+ catch {
128
+ return {
129
+ path: displayPath,
130
+ outcome: 'SKIPPED',
131
+ detail: 'The project config format was not recognized and was left unchanged.',
132
+ };
133
+ }
134
+ if (typeof config.teamId !== 'string' ||
135
+ config.teamId.length === 0 ||
136
+ typeof config.projectId !== 'string' ||
137
+ config.projectId.length === 0 ||
138
+ typeof config.apiKey !== 'string' ||
139
+ countKeyMaterial(config.apiKey) === 0) {
140
+ return {
141
+ path: displayPath,
142
+ outcome: 'SKIPPED',
143
+ detail: 'The project config did not contain a removable legacy apiKey field and was left unchanged.',
144
+ };
145
+ }
146
+ if (config.authMode !== 'personal-token') {
147
+ return {
148
+ path: displayPath,
149
+ outcome: 'SKIPPED',
150
+ detail: "The project has not completed personal-token migration. Run 'agentteams auth login' before removing its only credential.",
151
+ };
152
+ }
153
+ const apiUrl = typeof config.apiUrl === 'string' && config.apiUrl.length > 0 ? config.apiUrl : DEFAULT_API_URL;
154
+ const credentialCheck = dependencies.hasValidPersonalCredential ?? hasValidPersonalCredential;
155
+ if (!(await credentialCheck(apiUrl))) {
156
+ return {
157
+ path: displayPath,
158
+ outcome: 'SKIPPED',
159
+ detail: "No valid personal credential is available. Run 'agentteams auth login' and retry; the legacy apiKey was preserved.",
160
+ };
161
+ }
162
+ const next = { ...config };
163
+ delete next.apiKey;
164
+ try {
165
+ saveConfig(candidate.path, next);
166
+ return {
167
+ path: displayPath,
168
+ outcome: 'CLEANED',
169
+ detail: 'Removed only apiKey after validating the personal credential; all other project fields were preserved.',
170
+ };
171
+ }
172
+ catch {
173
+ return {
174
+ path: displayPath,
175
+ outcome: 'FAILED',
176
+ detail: 'Could not atomically update the project config; it was left unchanged.',
177
+ };
178
+ }
179
+ }
180
+ function cleanMcpConfig(candidate, context) {
181
+ const displayPath = redactKeyMaterial(candidate.path);
182
+ const editable = candidate.definitions.find((definition) => definition.format !== 'toml' && typeof definition.containerKey === 'string');
183
+ if (!editable?.containerKey) {
184
+ return {
185
+ path: displayPath,
186
+ outcome: 'SKIPPED',
187
+ detail: 'This config format has no safe comment-preserving editor; it was left unchanged.',
188
+ };
189
+ }
190
+ const source = readSource(candidate.path);
191
+ if (source === null) {
192
+ return { path: displayPath, outcome: 'FAILED', detail: 'Could not read the MCP config; it was left unchanged.' };
193
+ }
194
+ // Doctor cleans an entry it already owns; it never creates one. `upsertContainerEntry`
195
+ // below is an upsert, so reaching it with no existing entry would register an MCP
196
+ // server the user never asked for — in a file (`~/.claude.json` at user scope) that
197
+ // also holds unrelated history whose `key_` traces are what pulled it into the scan.
198
+ let existingEntry;
199
+ try {
200
+ existingEntry = readContainerEntry(source, editable.containerKey, MCP_SERVER_NAME);
201
+ }
202
+ catch (error) {
203
+ return {
204
+ path: displayPath,
205
+ outcome: 'SKIPPED',
206
+ detail: error instanceof McpConfigParseError
207
+ ? 'The MCP config could not be parsed and was left unchanged.'
208
+ : 'The MCP config format was not recognized and was left unchanged.',
209
+ };
210
+ }
211
+ if (existingEntry === undefined) {
212
+ return {
213
+ path: displayPath,
214
+ outcome: 'SKIPPED',
215
+ detail: 'AgentTeams is not registered in this config, so nothing was inserted; the key material it holds belongs to another tool and needs manual removal.',
216
+ };
217
+ }
218
+ if (countKeyMaterial(JSON.stringify(existingEntry) ?? '') === 0) {
219
+ return {
220
+ path: displayPath,
221
+ outcome: 'SKIPPED',
222
+ detail: 'The AgentTeams entry was already secret-free; key material elsewhere in the file was left unchanged.',
223
+ };
224
+ }
225
+ let edited;
226
+ try {
227
+ edited = upsertContainerEntry(source, {
228
+ containerKey: editable.containerKey,
229
+ entryKey: MCP_SERVER_NAME,
230
+ entryValue: buildEntryValue(editable.entryShape ?? 'plain', buildServerSpec({ context })),
231
+ });
232
+ }
233
+ catch (error) {
234
+ return {
235
+ path: displayPath,
236
+ outcome: 'SKIPPED',
237
+ detail: error instanceof McpConfigParseError
238
+ ? 'The MCP config could not be parsed and was left unchanged.'
239
+ : 'The MCP config format was not recognized and was left unchanged.',
240
+ };
241
+ }
242
+ if (edited.unchanged) {
243
+ return {
244
+ path: displayPath,
245
+ outcome: 'SKIPPED',
246
+ detail: 'The AgentTeams entry was already secret-free; key material elsewhere in the file was left unchanged.',
247
+ };
248
+ }
249
+ const isUserScope = candidate.definitions.some((definition) => definition.scope === 'user');
250
+ const mode = isUserScope ? USER_SCOPE_FILE_MODE : PROJECT_SCOPE_FILE_MODE;
251
+ let written;
252
+ try {
253
+ written = writeConfigFileAtomically(candidate.path, edited.text, mode, isUserScope ? mode : undefined);
254
+ }
255
+ catch {
256
+ return {
257
+ path: displayPath,
258
+ outcome: 'FAILED',
259
+ detail: 'Could not atomically update the MCP config; the remaining location is reported below.',
260
+ };
261
+ }
262
+ // The config is already rewritten at this point. A backup that refuses to unlink is a
263
+ // leftover copy to report, not a reason to tell the user the cleanup failed and have
264
+ // them repeat it.
265
+ let backupNote = '';
266
+ if (written.backupPath) {
267
+ try {
268
+ unlinkSync(written.backupPath);
269
+ }
270
+ catch {
271
+ backupNote = ` The pre-edit backup still holds the old key material and could not be removed; delete it manually: ${written.backupPath}`;
272
+ }
273
+ }
274
+ const remaining = countKeyMaterial(readSource(candidate.path) ?? '');
275
+ return {
276
+ path: displayPath,
277
+ outcome: remaining === 0 ? 'CLEANED' : 'SKIPPED',
278
+ detail: (remaining === 0
279
+ ? 'Rewrote only the AgentTeams MCP entry with the secret-free runtime spec.'
280
+ : 'The AgentTeams entry was cleaned, but unrelated key material remains and was not modified.') + backupNote,
281
+ };
282
+ }
283
+ function cleanBackup(candidate) {
284
+ const displayPath = redactKeyMaterial(candidate.path);
285
+ if (!existsSync(candidate.path)) {
286
+ return { path: displayPath, outcome: 'CLEANED', detail: 'The stale AgentTeams backup was already removed.' };
287
+ }
288
+ const primarySource = candidate.primaryPath ? readSource(candidate.primaryPath) : null;
289
+ if (primarySource === null || countKeyMaterial(primarySource) > 0) {
290
+ return {
291
+ path: displayPath,
292
+ outcome: 'SKIPPED',
293
+ detail: 'The primary config is missing or still contains key material, so its recovery backup was preserved.',
294
+ };
295
+ }
296
+ try {
297
+ unlinkSync(candidate.path);
298
+ return {
299
+ path: displayPath,
300
+ outcome: 'CLEANED',
301
+ detail: 'Removed the stale AgentTeams backup after its primary was clean.',
302
+ };
303
+ }
304
+ catch {
305
+ return { path: displayPath, outcome: 'FAILED', detail: 'Could not remove the stale AgentTeams backup.' };
306
+ }
307
+ }
308
+ function renderFinding(finding) {
309
+ const clients = finding.clientIds.length > 0 ? ` (${finding.clientIds.join(', ')})` : '';
310
+ return `- ${finding.kind}: ${finding.path}${clients} — ${finding.occurrences} redacted key location(s)`;
311
+ }
312
+ function renderReport(report) {
313
+ const lines = [
314
+ `AgentTeams MCP doctor — scanned ${report.scannedFiles} existing config/backup file(s)`,
315
+ `Found ${report.findings.length} file(s) containing legacy key material.`,
316
+ ...report.findings.map(renderFinding),
317
+ ];
318
+ if (!report.confirmed) {
319
+ lines.push('');
320
+ lines.push('Audit only: no files were changed.');
321
+ if (report.findings.length > 0) {
322
+ lines.push('Re-run `agentteams mcp doctor --yes` to confirm the safe cleanup actions.');
323
+ }
324
+ return redactKeyMaterial(lines.join('\n'));
325
+ }
326
+ lines.push('');
327
+ lines.push('Confirmed cleanup results:');
328
+ lines.push(...report.cleanup.map((result) => `- [${result.outcome}] ${result.path} — ${result.detail}`));
329
+ lines.push('');
330
+ lines.push(`Remaining: ${report.remainingFindings.length} file(s) containing legacy key material.`);
331
+ lines.push(...report.remainingFindings.map(renderFinding));
332
+ return redactKeyMaterial(lines.join('\n'));
333
+ }
334
+ export async function runMcpDoctorCommand(options, dependencies = {}) {
335
+ const context = resolvePathContext(dependencies.context);
336
+ const candidates = buildCandidates(context);
337
+ const initial = scanCandidates(candidates);
338
+ if (!options.yes) {
339
+ const report = {
340
+ confirmed: false,
341
+ scannedFiles: initial.scannedFiles,
342
+ findings: initial.findings,
343
+ cleanup: [],
344
+ remainingFindings: initial.findings,
345
+ };
346
+ return { text: renderReport(report), json: report, exitCode: 0 };
347
+ }
348
+ const candidateByPath = new Map(candidates.map((candidate) => [redactKeyMaterial(candidate.path), candidate]));
349
+ const cleanup = [];
350
+ for (const finding of initial.findings.filter((item) => item.kind === 'project-config')) {
351
+ const candidate = candidateByPath.get(finding.path);
352
+ if (candidate)
353
+ cleanup.push(await cleanProjectConfig(candidate, dependencies));
354
+ }
355
+ for (const finding of initial.findings.filter((item) => item.kind === 'mcp-config')) {
356
+ const candidate = candidateByPath.get(finding.path);
357
+ if (candidate)
358
+ cleanup.push(cleanMcpConfig(candidate, context));
359
+ }
360
+ for (const finding of initial.findings.filter((item) => item.kind === 'backup')) {
361
+ const candidate = candidateByPath.get(finding.path);
362
+ if (candidate)
363
+ cleanup.push(cleanBackup(candidate));
364
+ }
365
+ const after = scanCandidates(candidates);
366
+ const report = {
367
+ confirmed: true,
368
+ scannedFiles: initial.scannedFiles,
369
+ findings: initial.findings,
370
+ cleanup,
371
+ remainingFindings: after.findings,
372
+ };
373
+ return {
374
+ text: renderReport(report),
375
+ json: report,
376
+ exitCode: after.findings.length === 0 ? 0 : 1,
377
+ };
378
+ }
379
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/mcp-registration/doctor.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,11 @@ import type { McpPathContext } from './types.js';
4
4
  import type { VendorRunner } from './vendorCommand.js';
5
5
  export { MCP_CLIENTS, findClient, listClientIds } from './clients.js';
6
6
  export { detectClients } from './detect.js';
7
+ export { runMcpDoctorCommand } from './doctor.js';
8
+ export type { McpDoctorCleanup, McpDoctorCommandOptions, McpDoctorCommandOutput, McpDoctorDependencies, McpDoctorFinding, McpDoctorReport, } from './doctor.js';
7
9
  export { buildBatchPlan, installClient, resolveInstallExitCode, runBatchInstall } from './install.js';
8
- export { renderConfigSnippet, renderVendorCommandLine, redactSecrets } from './render.js';
9
- export { buildServerSpec, MCP_SERVER_NAME, CREDENTIAL_ENV_KEYS } from './serverSpec.js';
10
+ export { renderConfigSnippet, renderVendorCommandLine, redactKeyMaterial } from './render.js';
11
+ export { buildServerSpec, MCP_SERVER_NAME } from './serverSpec.js';
10
12
  export type { McpCredentials } from './serverSpec.js';
11
13
  export * from './types.js';
12
14
  declare const MCP_CLIENT_ID_LIST: ("claude-code" | "codex" | "copilot-cli" | "opencode" | "amp" | "cursor-cli" | "kimi-cli" | "antigravity")[];
@@ -35,9 +37,9 @@ export interface CommandOutput {
35
37
  }
36
38
  /**
37
39
  * `config` is the escape hatch: it renders the exact fragment each client
38
- * expects and never touches a file, a vendor CLI or the network. The API key is
39
- * always emitted with the target client's environment-reference contract so
40
- * the output stays safe to paste into a terminal, an issue or a code review.
40
+ * expects and never touches a file, a vendor CLI or the network. The spawned
41
+ * server resolves local project identity and credentials for itself, so the
42
+ * fragment is safe to paste without any environment values.
41
43
  */
42
44
  export declare function runMcpConfigCommand(options: McpRegistrationCommandOptions, dependencies?: McpRegistrationDependencies): CommandOutput;
43
45
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp-registration/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGzD,OAAO,EAAoC,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,KAAK,EAA8B,cAAc,EAAY,MAAM,YAAY,CAAC;AACvF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACxF,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,cAAc,YAAY,CAAC;AAE3B,QAAA,MAAM,kBAAkB,8GAAkB,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,MAAM,WAAW,6BAA6B;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,iFAAiF;AACjF,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,qBAAqB,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAwCD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,6BAA6B,EACtC,YAAY,CAAC,EAAE,2BAA2B,GACzC,aAAa,CA2Cf;AAyBD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,6BAA6B,EACtC,YAAY,CAAC,EAAE,2BAA2B,GACzC,aAAa,CA+Ff"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp-registration/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGzD,OAAO,EAAoC,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,KAAK,EAA8B,cAAc,EAA2B,MAAM,YAAY,CAAC;AACtG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,cAAc,YAAY,CAAC;AAE3B,QAAA,MAAM,kBAAkB,8GAAkB,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,MAAM,WAAW,6BAA6B;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,iFAAiF;AACjF,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,qBAAqB,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAgED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,6BAA6B,EACtC,YAAY,CAAC,EAAE,2BAA2B,GACzC,aAAa,CA4Cf;AAsBD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,6BAA6B,EACtC,YAAY,CAAC,EAAE,2BAA2B,GACzC,aAAa,CAmGf"}