@agentteams/cli 0.1.83 → 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 (102) hide show
  1. package/.eslintcache +1 -1
  2. package/dist/auth/activeCredential.d.ts +22 -0
  3. package/dist/auth/activeCredential.d.ts.map +1 -0
  4. package/dist/auth/activeCredential.js +25 -0
  5. package/dist/auth/activeCredential.js.map +1 -0
  6. package/dist/auth/credentialStore.d.ts +89 -0
  7. package/dist/auth/credentialStore.d.ts.map +1 -0
  8. package/dist/auth/credentialStore.js +254 -0
  9. package/dist/auth/credentialStore.js.map +1 -0
  10. package/dist/auth/personalTokenClient.d.ts +155 -0
  11. package/dist/auth/personalTokenClient.d.ts.map +1 -0
  12. package/dist/auth/personalTokenClient.js +312 -0
  13. package/dist/auth/personalTokenClient.js.map +1 -0
  14. package/dist/auth/personalTokenStore.d.ts +16 -0
  15. package/dist/auth/personalTokenStore.d.ts.map +1 -0
  16. package/dist/auth/personalTokenStore.js +27 -0
  17. package/dist/auth/personalTokenStore.js.map +1 -0
  18. package/dist/commands/agentConfig.d.ts.map +1 -1
  19. package/dist/commands/agentConfig.js +8 -6
  20. package/dist/commands/agentConfig.js.map +1 -1
  21. package/dist/commands/auth.d.ts +97 -0
  22. package/dist/commands/auth.d.ts.map +1 -0
  23. package/dist/commands/auth.js +245 -0
  24. package/dist/commands/auth.js.map +1 -0
  25. package/dist/commands/config.d.ts.map +1 -1
  26. package/dist/commands/config.js +16 -2
  27. package/dist/commands/config.js.map +1 -1
  28. package/dist/commands/convention.d.ts +11 -0
  29. package/dist/commands/convention.d.ts.map +1 -1
  30. package/dist/commands/convention.js +35 -11
  31. package/dist/commands/convention.js.map +1 -1
  32. package/dist/commands/dependency.d.ts.map +1 -1
  33. package/dist/commands/dependency.js +8 -6
  34. package/dist/commands/dependency.js.map +1 -1
  35. package/dist/commands/index.d.ts.map +1 -1
  36. package/dist/commands/index.js +19 -14
  37. package/dist/commands/index.js.map +1 -1
  38. package/dist/commands/init.d.ts +17 -0
  39. package/dist/commands/init.d.ts.map +1 -1
  40. package/dist/commands/init.js +90 -9
  41. package/dist/commands/init.js.map +1 -1
  42. package/dist/index.js +101 -15
  43. package/dist/index.js.map +1 -1
  44. package/dist/mcp/context.d.ts +15 -1
  45. package/dist/mcp/context.d.ts.map +1 -1
  46. package/dist/mcp/context.js +24 -5
  47. package/dist/mcp/context.js.map +1 -1
  48. package/dist/mcp/server.d.ts +1 -1
  49. package/dist/mcp/server.d.ts.map +1 -1
  50. package/dist/mcp/server.js +5 -2
  51. package/dist/mcp/server.js.map +1 -1
  52. package/dist/mcp/tools.d.ts.map +1 -1
  53. package/dist/mcp/tools.js +25 -22
  54. package/dist/mcp/tools.js.map +1 -1
  55. package/dist/mcp-registration/clients.d.ts.map +1 -1
  56. package/dist/mcp-registration/clients.js +1 -9
  57. package/dist/mcp-registration/clients.js.map +1 -1
  58. package/dist/mcp-registration/doctor.d.ts +38 -0
  59. package/dist/mcp-registration/doctor.d.ts.map +1 -0
  60. package/dist/mcp-registration/doctor.js +379 -0
  61. package/dist/mcp-registration/doctor.js.map +1 -0
  62. package/dist/mcp-registration/index.d.ts +7 -5
  63. package/dist/mcp-registration/index.d.ts.map +1 -1
  64. package/dist/mcp-registration/index.js +46 -21
  65. package/dist/mcp-registration/index.js.map +1 -1
  66. package/dist/mcp-registration/install.d.ts.map +1 -1
  67. package/dist/mcp-registration/install.js +12 -15
  68. package/dist/mcp-registration/install.js.map +1 -1
  69. package/dist/mcp-registration/render.d.ts +8 -6
  70. package/dist/mcp-registration/render.d.ts.map +1 -1
  71. package/dist/mcp-registration/render.js +15 -36
  72. package/dist/mcp-registration/render.js.map +1 -1
  73. package/dist/mcp-registration/serverSpec.d.ts +31 -18
  74. package/dist/mcp-registration/serverSpec.d.ts.map +1 -1
  75. package/dist/mcp-registration/serverSpec.js +36 -20
  76. package/dist/mcp-registration/serverSpec.js.map +1 -1
  77. package/dist/mcp-registration/types.d.ts +0 -3
  78. package/dist/mcp-registration/types.d.ts.map +1 -1
  79. package/dist/types/index.d.ts +10 -0
  80. package/dist/types/index.d.ts.map +1 -1
  81. package/dist/utils/apiKeyInput.d.ts +16 -0
  82. package/dist/utils/apiKeyInput.d.ts.map +1 -0
  83. package/dist/utils/apiKeyInput.js +47 -0
  84. package/dist/utils/apiKeyInput.js.map +1 -0
  85. package/dist/utils/authServer.d.ts +32 -3
  86. package/dist/utils/authServer.d.ts.map +1 -1
  87. package/dist/utils/authServer.js +46 -6
  88. package/dist/utils/authServer.js.map +1 -1
  89. package/dist/utils/config.d.ts +118 -15
  90. package/dist/utils/config.d.ts.map +1 -1
  91. package/dist/utils/config.js +182 -8
  92. package/dist/utils/config.js.map +1 -1
  93. package/dist/utils/errors.d.ts.map +1 -1
  94. package/dist/utils/errors.js +16 -0
  95. package/dist/utils/errors.js.map +1 -1
  96. package/dist/utils/httpClient.d.ts.map +1 -1
  97. package/dist/utils/httpClient.js +25 -0
  98. package/dist/utils/httpClient.js.map +1 -1
  99. package/dist/utils/initOutput.d.ts.map +1 -1
  100. package/dist/utils/initOutput.js +30 -0
  101. package/dist/utils/initOutput.js.map +1 -1
  102. package/package.json +1 -1
@@ -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"}
@@ -1,5 +1,5 @@
1
1
  import { homedir } from 'node:os';
2
- import { getConfigurationNotFoundMessage, loadConfig } from '../utils/config.js';
2
+ import { getConfigurationNotFoundMessage, loadConfigIdentity } from '../utils/config.js';
3
3
  import { buildConfigOverrides } from '../utils/apiContext.js';
4
4
  import { findClient, listClientIds } from './clients.js';
5
5
  import { buildBatchPlan, installClient, resolveInstallExitCode, runBatchInstall } from './install.js';
@@ -7,23 +7,34 @@ import { renderConfigSnippet, renderVendorCommandLine } from './render.js';
7
7
  import { buildServerSpec, MCP_SERVER_NAME } from './serverSpec.js';
8
8
  export { MCP_CLIENTS, findClient, listClientIds } from './clients.js';
9
9
  export { detectClients } from './detect.js';
10
+ export { runMcpDoctorCommand } from './doctor.js';
10
11
  export { buildBatchPlan, installClient, resolveInstallExitCode, runBatchInstall } from './install.js';
11
- export { renderConfigSnippet, renderVendorCommandLine, redactSecrets } from './render.js';
12
- export { buildServerSpec, MCP_SERVER_NAME, CREDENTIAL_ENV_KEYS } from './serverSpec.js';
12
+ export { renderConfigSnippet, renderVendorCommandLine, redactKeyMaterial } from './render.js';
13
+ export { buildServerSpec, MCP_SERVER_NAME } from './serverSpec.js';
13
14
  export * from './types.js';
14
15
  const MCP_CLIENT_ID_LIST = listClientIds();
15
16
  export { MCP_CLIENT_ID_LIST };
17
+ /**
18
+ * What goes into a client's config file.
19
+ *
20
+ * Registration uses identity only for command context and human-readable
21
+ * output. The generated server spec never receives these values:
22
+ * `agentteams mcp` resolves project identity and credentials at request time.
23
+ */
16
24
  function resolveCredentials(options, dependencies) {
17
25
  if (dependencies?.credentials)
18
26
  return dependencies.credentials;
19
- const config = loadConfig(buildConfigOverrides(options));
20
- if (!config)
27
+ const overrides = buildConfigOverrides(options);
28
+ const identity = loadConfigIdentity(overrides);
29
+ if (!identity)
21
30
  throw new Error(getConfigurationNotFoundMessage());
31
+ // Identity only. Asking for a credential plan here would be dead work — the spec
32
+ // embeds nothing — and it would attach a side effect (the legacy `key_` warning)
33
+ // to `mcp config`, which renders a snippet and touches no file.
22
34
  return {
23
- apiKey: config.apiKey,
24
- projectId: config.projectId,
25
- teamId: config.teamId,
26
- apiUrl: config.apiUrl,
35
+ projectId: identity.projectId,
36
+ teamId: identity.teamId,
37
+ apiUrl: identity.apiUrl,
27
38
  };
28
39
  }
29
40
  function resolvePathContext(overrides) {
@@ -40,6 +51,18 @@ function parseScope(value) {
40
51
  return value;
41
52
  throw new Error(`Unsupported scope: ${String(value)}. Use "user" or "project".`);
42
53
  }
54
+ /**
55
+ * Say which runtime the entry will spawn, so the choice is never silent.
56
+ *
57
+ * The bare executable is the fast path; `npx` is what a machine without a global install
58
+ * gets. Either way the user sees the reason here instead of discovering it as a client-side
59
+ * "server failed to start" (or as an unexplained cold start on every request).
60
+ */
61
+ function describeRuntime(spec) {
62
+ return spec.command === 'npx'
63
+ ? 'No global `agentteams` was found on PATH, so the entry runs the published package with npx. Run `npm install -g @agentteams/cli` and re-register for a faster start.'
64
+ : 'The entry runs the globally installed `agentteams` executable.';
65
+ }
43
66
  function parseClientId(value) {
44
67
  const client = findClient(value);
45
68
  if (!client) {
@@ -49,16 +72,16 @@ function parseClientId(value) {
49
72
  }
50
73
  /**
51
74
  * `config` is the escape hatch: it renders the exact fragment each client
52
- * expects and never touches a file, a vendor CLI or the network. The API key is
53
- * always emitted with the target client's environment-reference contract so
54
- * the output stays safe to paste into a terminal, an issue or a code review.
75
+ * expects and never touches a file, a vendor CLI or the network. The spawned
76
+ * server resolves local project identity and credentials for itself, so the
77
+ * fragment is safe to paste without any environment values.
55
78
  */
56
79
  export function runMcpConfigCommand(options, dependencies) {
57
80
  const credentials = resolveCredentials(options, dependencies);
58
81
  const context = resolvePathContext(dependencies?.context);
59
82
  const scope = parseScope(options.scope);
60
83
  const clientIds = options.client ? [parseClientId(options.client)] : MCP_CLIENT_ID_LIST;
61
- const spec = buildServerSpec({ credentials, secretMode: 'reference', serverEntry: options.serverEntry });
84
+ const spec = buildServerSpec({ serverEntry: options.serverEntry, context });
62
85
  const sections = clientIds.map((clientId) => {
63
86
  const client = findClient(clientId);
64
87
  if (!client)
@@ -80,7 +103,8 @@ export function runMcpConfigCommand(options, dependencies) {
80
103
  });
81
104
  const lines = [
82
105
  `AgentTeams MCP config (${scope} scope) — project ${credentials.projectId}, team ${credentials.teamId}`,
83
- 'The API key is rendered with the selected client’s environment-reference syntax. Export AGENTTEAMS_API_KEY before the client starts.',
106
+ 'No credentials or project binding are embedded. The MCP server resolves local configuration and the OS credential store at request time.',
107
+ describeRuntime(spec),
84
108
  ];
85
109
  for (const section of sections) {
86
110
  lines.push('');
@@ -115,7 +139,6 @@ function summarize(results) {
115
139
  failed: results.filter((r) => r.outcome === 'FAILED').length,
116
140
  };
117
141
  }
118
- const USER_SCOPE_BINDING_WARNING = 'Warning: a user-scope registration is machine-wide. If this client already has an "agentteams" server pointing at a different AgentTeams project, applying this plan re-points it.';
119
142
  /**
120
143
  * `install` has two modes:
121
144
  * - `--client <id>`: apply a single client/scope (project scope allowed here).
@@ -141,9 +164,9 @@ export function runMcpInstallCommand(options, dependencies) {
141
164
  const lines = [
142
165
  `AgentTeams MCP install — ${client.label} (${scope} scope)`,
143
166
  `Project ${credentials.projectId}, team ${credentials.teamId}`,
167
+ 'The server entry contains no credentials or project binding; runtime resolution uses local configuration and the OS credential store.',
168
+ describeRuntime(buildServerSpec({ serverEntry: options.serverEntry, context })),
144
169
  ];
145
- if (scope === 'user')
146
- lines.push(USER_SCOPE_BINDING_WARNING);
147
170
  lines.push(renderResultLine(result));
148
171
  if (result.backupPath)
149
172
  lines.push(`Backup: ${result.backupPath}`);
@@ -170,10 +193,10 @@ export function runMcpInstallCommand(options, dependencies) {
170
193
  const lines = [
171
194
  'AgentTeams MCP install — dry run (no files were changed)',
172
195
  `Plan: register "${MCP_SERVER_NAME}" at ${scope} scope for project ${plan.binding.projectId}, team ${plan.binding.teamId}`,
196
+ 'The server entries contain no credentials or project binding; runtime resolution uses local configuration and the OS credential store.',
197
+ describeRuntime(buildServerSpec({ serverEntry: options.serverEntry, context })),
173
198
  '',
174
199
  ];
175
- if (scope === 'user')
176
- lines.splice(2, 0, USER_SCOPE_BINDING_WARNING);
177
200
  for (const entry of plan.entries) {
178
201
  lines.push(`- ${entry.clientId} [${entry.applicable ? 'will apply' : 'skip'}] ${formatDetectionEvidence(entry)}`);
179
202
  lines.push(` target: ${entry.targetPath} via ${entry.strategy}`);
@@ -189,20 +212,22 @@ export function runMcpInstallCommand(options, dependencies) {
189
212
  const { plan, results } = runBatchInstall({
190
213
  context,
191
214
  credentials,
215
+ scope,
192
216
  serverEntry: options.serverEntry,
193
217
  vendorRunner: dependencies?.vendorRunner,
194
218
  detectionDependencies: dependencies?.detectionDependencies,
195
219
  });
196
220
  const summary = summarize(results);
197
221
  const lines = [
198
- `AgentTeams MCP install — applied at user scope for project ${plan.binding.projectId}, team ${plan.binding.teamId}`,
222
+ `AgentTeams MCP install — applied at ${scope} scope for project ${plan.binding.projectId}, team ${plan.binding.teamId}`,
223
+ describeRuntime(buildServerSpec({ serverEntry: options.serverEntry, context })),
199
224
  ...results.map(renderResultLine),
200
225
  '',
201
226
  `Summary: ${summary.applied} registered, ${summary.skipped} skipped, ${summary.failed} failed.`,
202
227
  ];
203
228
  return {
204
229
  text: lines.join('\n'),
205
- json: { scope: 'user', dryRun: false, plan, results, summary },
230
+ json: { scope, dryRun: false, plan, results, summary },
206
231
  exitCode: resolveInstallExitCode(results),
207
232
  };
208
233
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp-registration/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp-registration/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/mcp-registration/install.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAExE,OAAO,EAAkC,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC3G,OAAO,EAAoC,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,mBAAmB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAChH,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE,QAAQ,CAAC;IAChB,WAAW,EAAE,cAAc,CAAC;IAC5B,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AA4JD,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CA8B1E;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACtC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,mFAAmF;IACnF,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,EAAE,cAAc,CAAC;IAC5B,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,qBAAqB,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;CAChE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,SAAS,CAkCxE;AAED,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,aAAa,EAAE,CAAA;CAAE,CAkC9G;AAED,kGAAkG;AAClG,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,CAEvE;AAED,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,CAAC"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/mcp-registration/install.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAExE,OAAO,EAAsC,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC/G,OAAO,EAAoC,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,mBAAmB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAChH,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE,QAAQ,CAAC;IAChB,WAAW,EAAE,cAAc,CAAC;IAC5B,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAyJD,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CA6B1E;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACtC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,mFAAmF;IACnF,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,EAAE,cAAc,CAAC;IAC5B,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,qBAAqB,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;CAChE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,SAAS,CAkCxE;AAED,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,aAAa,EAAE,CAAA;CAAE,CAmC9G;AAED,kGAAkG;AAClG,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,CAEvE;AAED,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,CAAC"}