@agentteams/cli 0.1.86 → 0.1.89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintcache +1 -1
- package/dist/api/comment.d.ts +30 -8
- package/dist/api/comment.d.ts.map +1 -1
- package/dist/api/comment.js +19 -8
- package/dist/api/comment.js.map +1 -1
- package/dist/api/document.d.ts +7 -1
- package/dist/api/document.d.ts.map +1 -1
- package/dist/api/document.js +4 -1
- package/dist/api/document.js.map +1 -1
- package/dist/auth/activeCredential.d.ts +8 -3
- package/dist/auth/activeCredential.d.ts.map +1 -1
- package/dist/auth/activeCredential.js +12 -3
- package/dist/auth/activeCredential.js.map +1 -1
- package/dist/commands/comment.d.ts.map +1 -1
- package/dist/commands/comment.js +32 -6
- package/dist/commands/comment.js.map +1 -1
- package/dist/commands/document.d.ts.map +1 -1
- package/dist/commands/document.js +7 -1
- package/dist/commands/document.js.map +1 -1
- package/dist/commands/init.d.ts +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +8 -2
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/mcp.d.ts +1 -0
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +1 -0
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/plan.d.ts +2 -8
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/commands/plan.js +4 -14
- package/dist/commands/plan.js.map +1 -1
- package/dist/index.js +11 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp/catalog.d.ts +9 -0
- package/dist/mcp/catalog.d.ts.map +1 -0
- package/dist/mcp/catalog.js +18 -0
- package/dist/mcp/catalog.js.map +1 -0
- package/dist/mcp/context.d.ts +11 -1
- package/dist/mcp/context.d.ts.map +1 -1
- package/dist/mcp/context.js +16 -8
- package/dist/mcp/context.js.map +1 -1
- package/dist/mcp/guides.d.ts +2 -2
- package/dist/mcp/guides.d.ts.map +1 -1
- package/dist/mcp/guides.js +3 -2
- package/dist/mcp/guides.js.map +1 -1
- package/dist/mcp/resources.d.ts +5 -3
- package/dist/mcp/resources.d.ts.map +1 -1
- package/dist/mcp/resources.js +2 -1
- package/dist/mcp/resources.js.map +1 -1
- package/dist/mcp/server.d.ts +2 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +17 -12
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/toolProfile.d.ts +3 -0
- package/dist/mcp/toolProfile.d.ts.map +1 -0
- package/dist/mcp/toolProfile.js +9 -0
- package/dist/mcp/toolProfile.js.map +1 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +3 -1
- package/dist/mcp/tools.js.map +1 -1
- package/dist/mcp/writeTools.d.ts +2 -0
- package/dist/mcp/writeTools.d.ts.map +1 -1
- package/dist/mcp/writeTools.js +267 -8
- package/dist/mcp/writeTools.js.map +1 -1
- package/dist/mcp-registration/clients.d.ts.map +1 -1
- package/dist/mcp-registration/clients.js +55 -0
- package/dist/mcp-registration/clients.js.map +1 -1
- package/dist/mcp-registration/index.d.ts +1 -0
- package/dist/mcp-registration/index.d.ts.map +1 -1
- package/dist/mcp-registration/index.js +35 -8
- package/dist/mcp-registration/index.js.map +1 -1
- package/dist/mcp-registration/install.d.ts +3 -0
- package/dist/mcp-registration/install.d.ts.map +1 -1
- package/dist/mcp-registration/install.js +4 -0
- package/dist/mcp-registration/install.js.map +1 -1
- package/dist/mcp-registration/serverSpec.d.ts +3 -0
- package/dist/mcp-registration/serverSpec.d.ts.map +1 -1
- package/dist/mcp-registration/serverSpec.js +7 -3
- package/dist/mcp-registration/serverSpec.js.map +1 -1
- package/dist/mcp-registration/types.d.ts +10 -0
- package/dist/mcp-registration/types.d.ts.map +1 -1
- package/dist/utils/agentIdentity.d.ts +21 -0
- package/dist/utils/agentIdentity.d.ts.map +1 -0
- package/dist/utils/agentIdentity.js +24 -0
- package/dist/utils/agentIdentity.js.map +1 -0
- package/dist/utils/config.d.ts +4 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +57 -4
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +27 -2
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/machineId.d.ts +28 -0
- package/dist/utils/machineId.d.ts.map +1 -0
- package/dist/utils/machineId.js +72 -0
- package/dist/utils/machineId.js.map +1 -0
- package/package.json +2 -2
|
@@ -22,6 +22,7 @@ export interface McpRegistrationCommandOptions {
|
|
|
22
22
|
apiUrl?: string;
|
|
23
23
|
projectId?: string;
|
|
24
24
|
teamId?: string;
|
|
25
|
+
toolProfile?: string;
|
|
25
26
|
}
|
|
26
27
|
/** Injection seams so tests drive a temporary HOME/cwd and a fake vendor CLI. */
|
|
27
28
|
export interface McpRegistrationDependencies {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp-registration/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp-registration/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGzD,OAAO,EAAoC,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,KAAK,EAIV,cAAc,EAGf,MAAM,YAAY,CAAC;AACpB,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;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;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;AAmFD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,6BAA6B,EACtC,YAAY,CAAC,EAAE,2BAA2B,GACzC,aAAa,CAmDf;AAsBD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,6BAA6B,EACtC,YAAY,CAAC,EAAE,2BAA2B,GACzC,aAAa,CA0Gf"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { homedir } from 'node:os';
|
|
2
2
|
import { getConfigurationNotFoundMessage, loadConfigIdentity } from '../utils/config.js';
|
|
3
3
|
import { buildConfigOverrides } from '../utils/apiContext.js';
|
|
4
|
+
import { parseToolProfile } from '../mcp/toolProfile.js';
|
|
4
5
|
import { findClient, listClientIds } from './clients.js';
|
|
5
6
|
import { buildBatchPlan, installClient, resolveInstallExitCode, runBatchInstall } from './install.js';
|
|
6
7
|
import { renderConfigSnippet, renderVendorCommandLine } from './render.js';
|
|
@@ -63,6 +64,18 @@ function describeRuntime(spec) {
|
|
|
63
64
|
? '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
65
|
: 'The entry runs the globally installed `agentteams` executable.';
|
|
65
66
|
}
|
|
67
|
+
function describeNativeDiscovery(client, toolProfile) {
|
|
68
|
+
const capability = client.nativeDiscovery;
|
|
69
|
+
const version = capability.version ? ` (${capability.version})` : '';
|
|
70
|
+
const evidence = capability.evidenceUrl ? ` Evidence: ${capability.evidenceUrl}` : '';
|
|
71
|
+
if (capability.status === 'verified') {
|
|
72
|
+
return `Native tool discovery: verified${version}. The full profile preserves the complete catalog while the client loads definitions on demand.${evidence}`;
|
|
73
|
+
}
|
|
74
|
+
const recommendation = toolProfile === 'full'
|
|
75
|
+
? 'If upfront schema cost matters, re-run with --tool-profile read, documents, or comments.'
|
|
76
|
+
: `The explicit ${toolProfile} profile limits the catalog exposed to this client.`;
|
|
77
|
+
return `Native tool discovery: ${capability.status}${version}. ${capability.reason ?? ''} ${recommendation}${evidence}`.replace(/\s+/g, ' ');
|
|
78
|
+
}
|
|
66
79
|
function parseClientId(value) {
|
|
67
80
|
const client = findClient(value);
|
|
68
81
|
if (!client) {
|
|
@@ -80,8 +93,9 @@ export function runMcpConfigCommand(options, dependencies) {
|
|
|
80
93
|
const credentials = resolveCredentials(options, dependencies);
|
|
81
94
|
const context = resolvePathContext(dependencies?.context);
|
|
82
95
|
const scope = parseScope(options.scope);
|
|
96
|
+
const toolProfile = parseToolProfile(options.toolProfile);
|
|
83
97
|
const clientIds = options.client ? [parseClientId(options.client)] : MCP_CLIENT_ID_LIST;
|
|
84
|
-
const spec = buildServerSpec({ serverEntry: options.serverEntry, context });
|
|
98
|
+
const spec = buildServerSpec({ serverEntry: options.serverEntry, context, toolProfile });
|
|
85
99
|
const sections = clientIds.map((clientId) => {
|
|
86
100
|
const client = findClient(clientId);
|
|
87
101
|
if (!client)
|
|
@@ -96,6 +110,10 @@ export function runMcpConfigCommand(options, dependencies) {
|
|
|
96
110
|
strategy: definition.strategy,
|
|
97
111
|
docsUrl: client.docsUrl,
|
|
98
112
|
verifiedAt: client.verifiedAt,
|
|
113
|
+
nativeDiscovery: client.nativeDiscovery,
|
|
114
|
+
profileGuidance: describeNativeDiscovery(client, toolProfile),
|
|
115
|
+
toolProfile,
|
|
116
|
+
server: spec,
|
|
99
117
|
snippet: renderConfigSnippet(client, scope, spec, MCP_SERVER_NAME),
|
|
100
118
|
vendorCommand: renderVendorCommandLine(client, scope, spec, MCP_SERVER_NAME),
|
|
101
119
|
configOnlyReason: definition.configOnlyReason ?? null,
|
|
@@ -104,6 +122,7 @@ export function runMcpConfigCommand(options, dependencies) {
|
|
|
104
122
|
const lines = [
|
|
105
123
|
`AgentTeams MCP config (${scope} scope) — project ${credentials.projectId}, team ${credentials.teamId}`,
|
|
106
124
|
'No credentials or project binding are embedded. The MCP server resolves local configuration and the OS credential store at request time.',
|
|
125
|
+
`Tool profile: ${toolProfile}${toolProfile === 'full' ? ' (default; all tools)' : ' (explicit limited catalog)'}.`,
|
|
107
126
|
describeRuntime(spec),
|
|
108
127
|
];
|
|
109
128
|
for (const section of sections) {
|
|
@@ -115,9 +134,10 @@ export function runMcpConfigCommand(options, dependencies) {
|
|
|
115
134
|
if (section.vendorCommand)
|
|
116
135
|
lines.push(`Command: ${section.vendorCommand}`);
|
|
117
136
|
lines.push(section.snippet);
|
|
137
|
+
lines.push(section.profileGuidance);
|
|
118
138
|
lines.push(`Docs: ${section.docsUrl} (verified ${section.verifiedAt})`);
|
|
119
139
|
}
|
|
120
|
-
return { text: lines.join('\n'), json: { scope, clients: sections }, exitCode: 0 };
|
|
140
|
+
return { text: lines.join('\n'), json: { scope, toolProfile, server: spec, clients: sections }, exitCode: 0 };
|
|
121
141
|
}
|
|
122
142
|
function formatDetectionEvidence(entry) {
|
|
123
143
|
if (entry.evidence === 'none')
|
|
@@ -149,6 +169,8 @@ export function runMcpInstallCommand(options, dependencies) {
|
|
|
149
169
|
const credentials = resolveCredentials(options, dependencies);
|
|
150
170
|
const context = resolvePathContext(dependencies?.context);
|
|
151
171
|
const scope = parseScope(options.scope);
|
|
172
|
+
const toolProfile = parseToolProfile(options.toolProfile);
|
|
173
|
+
const spec = buildServerSpec({ serverEntry: options.serverEntry, context, toolProfile });
|
|
152
174
|
if (options.client) {
|
|
153
175
|
const client = findClient(parseClientId(options.client));
|
|
154
176
|
if (!client)
|
|
@@ -159,13 +181,15 @@ export function runMcpInstallCommand(options, dependencies) {
|
|
|
159
181
|
credentials,
|
|
160
182
|
context,
|
|
161
183
|
serverEntry: options.serverEntry,
|
|
184
|
+
toolProfile,
|
|
162
185
|
vendorRunner: dependencies?.vendorRunner,
|
|
163
186
|
});
|
|
164
187
|
const lines = [
|
|
165
188
|
`AgentTeams MCP install — ${client.label} (${scope} scope)`,
|
|
166
189
|
`Project ${credentials.projectId}, team ${credentials.teamId}`,
|
|
167
190
|
'The server entry contains no credentials or project binding; runtime resolution uses local configuration and the OS credential store.',
|
|
168
|
-
|
|
191
|
+
`Tool profile: ${toolProfile}${toolProfile === 'full' ? ' (default; all tools)' : ' (explicit limited catalog)'}.`,
|
|
192
|
+
describeRuntime(spec),
|
|
169
193
|
];
|
|
170
194
|
lines.push(renderResultLine(result));
|
|
171
195
|
if (result.backupPath)
|
|
@@ -176,7 +200,7 @@ export function runMcpInstallCommand(options, dependencies) {
|
|
|
176
200
|
}
|
|
177
201
|
return {
|
|
178
202
|
text: lines.join('\n'),
|
|
179
|
-
json: { scope, results: [result], summary: summarize([result]) },
|
|
203
|
+
json: { scope, toolProfile, server: spec, results: [result], summary: summarize([result]) },
|
|
180
204
|
exitCode: resolveInstallExitCode([result]),
|
|
181
205
|
};
|
|
182
206
|
}
|
|
@@ -194,7 +218,8 @@ export function runMcpInstallCommand(options, dependencies) {
|
|
|
194
218
|
'AgentTeams MCP install — dry run (no files were changed)',
|
|
195
219
|
`Plan: register "${MCP_SERVER_NAME}" at ${scope} scope for project ${plan.binding.projectId}, team ${plan.binding.teamId}`,
|
|
196
220
|
'The server entries contain no credentials or project binding; runtime resolution uses local configuration and the OS credential store.',
|
|
197
|
-
|
|
221
|
+
`Tool profile: ${toolProfile}${toolProfile === 'full' ? ' (default; all tools)' : ' (explicit limited catalog)'}.`,
|
|
222
|
+
describeRuntime(spec),
|
|
198
223
|
'',
|
|
199
224
|
];
|
|
200
225
|
for (const entry of plan.entries) {
|
|
@@ -207,27 +232,29 @@ export function runMcpInstallCommand(options, dependencies) {
|
|
|
207
232
|
lines.push(scope === 'user'
|
|
208
233
|
? 'Re-run with --yes to apply, or use `agentteams mcp config --client <id> --scope user` for a manual snippet.'
|
|
209
234
|
: 'Choose one client and run `agentteams mcp install --client <id> --scope project`, or use `agentteams mcp config --client <id> --scope project` for a manual snippet.');
|
|
210
|
-
return { text: lines.join('\n'), json: { scope, dryRun: true, plan }, exitCode: 0 };
|
|
235
|
+
return { text: lines.join('\n'), json: { scope, toolProfile, server: spec, dryRun: true, plan }, exitCode: 0 };
|
|
211
236
|
}
|
|
212
237
|
const { plan, results } = runBatchInstall({
|
|
213
238
|
context,
|
|
214
239
|
credentials,
|
|
215
240
|
scope,
|
|
216
241
|
serverEntry: options.serverEntry,
|
|
242
|
+
toolProfile,
|
|
217
243
|
vendorRunner: dependencies?.vendorRunner,
|
|
218
244
|
detectionDependencies: dependencies?.detectionDependencies,
|
|
219
245
|
});
|
|
220
246
|
const summary = summarize(results);
|
|
221
247
|
const lines = [
|
|
222
248
|
`AgentTeams MCP install — applied at ${scope} scope for project ${plan.binding.projectId}, team ${plan.binding.teamId}`,
|
|
223
|
-
|
|
249
|
+
`Tool profile: ${toolProfile}${toolProfile === 'full' ? ' (default; all tools)' : ' (explicit limited catalog)'}.`,
|
|
250
|
+
describeRuntime(spec),
|
|
224
251
|
...results.map(renderResultLine),
|
|
225
252
|
'',
|
|
226
253
|
`Summary: ${summary.applied} registered, ${summary.skipped} skipped, ${summary.failed} failed.`,
|
|
227
254
|
];
|
|
228
255
|
return {
|
|
229
256
|
text: lines.join('\n'),
|
|
230
|
-
json: { scope, dryRun: false, plan, results, summary },
|
|
257
|
+
json: { scope, toolProfile, server: spec, dryRun: false, plan, results, summary },
|
|
231
258
|
exitCode: resolveInstallExitCode(results),
|
|
232
259
|
};
|
|
233
260
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp-registration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,+BAA+B,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp-registration/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ToolProfile } from '@agentteams/context-tools';
|
|
1
2
|
import { type DetectionDependencies } from './detect.js';
|
|
2
3
|
import { renderConfigSnippet, renderVendorCommandLine } from './render.js';
|
|
3
4
|
import { type McpCredentials } from './serverSpec.js';
|
|
@@ -11,6 +12,7 @@ export interface InstallClientOptions {
|
|
|
11
12
|
serverEntry?: string;
|
|
12
13
|
serverName?: string;
|
|
13
14
|
vendorRunner?: VendorRunner;
|
|
15
|
+
toolProfile?: ToolProfile;
|
|
14
16
|
}
|
|
15
17
|
/** Apply (or explicitly decline to apply) the AgentTeams entry for one client/scope. */
|
|
16
18
|
export declare function installClient(options: InstallClientOptions): InstallResult;
|
|
@@ -51,6 +53,7 @@ export interface RunBatchInstallOptions extends BuildBatchPlanOptions {
|
|
|
51
53
|
serverEntry?: string;
|
|
52
54
|
serverName?: string;
|
|
53
55
|
vendorRunner?: VendorRunner;
|
|
56
|
+
toolProfile?: ToolProfile;
|
|
54
57
|
}
|
|
55
58
|
/**
|
|
56
59
|
* Apply the plan client by client. One client's failure must not strand the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/mcp-registration/install.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/mcp-registration/install.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG7D,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;IAC5B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AA2JD,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;IAC5B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,aAAa,EAAE,CAAA;CAAE,CAoC9G;AAED,kGAAkG;AAClG,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,CAEvE;AAED,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -24,6 +24,7 @@ function installViaVendorCommand(options, configPath, manualSnippet) {
|
|
|
24
24
|
const spec = buildServerSpec({
|
|
25
25
|
serverEntry: options.serverEntry,
|
|
26
26
|
context: options.context,
|
|
27
|
+
toolProfile: options.toolProfile,
|
|
27
28
|
});
|
|
28
29
|
const executable = client.executables[0];
|
|
29
30
|
const runner = options.vendorRunner ?? runVendorCommand;
|
|
@@ -76,6 +77,7 @@ function installViaJsonMerge(options, configPath, manualSnippet) {
|
|
|
76
77
|
const spec = buildServerSpec({
|
|
77
78
|
serverEntry: options.serverEntry,
|
|
78
79
|
context: options.context,
|
|
80
|
+
toolProfile: options.toolProfile,
|
|
79
81
|
});
|
|
80
82
|
let source = '';
|
|
81
83
|
if (existsSync(configPath)) {
|
|
@@ -144,6 +146,7 @@ export function installClient(options) {
|
|
|
144
146
|
const displaySpec = buildServerSpec({
|
|
145
147
|
serverEntry: options.serverEntry,
|
|
146
148
|
context: options.context,
|
|
149
|
+
toolProfile: options.toolProfile,
|
|
147
150
|
});
|
|
148
151
|
const manualSnippet = renderConfigSnippet(client, scope, displaySpec, serverName);
|
|
149
152
|
if (definition.strategy === 'configOnly') {
|
|
@@ -230,6 +233,7 @@ export function runBatchInstall(options) {
|
|
|
230
233
|
serverEntry: options.serverEntry,
|
|
231
234
|
serverName: options.serverName,
|
|
232
235
|
vendorRunner: options.vendorRunner,
|
|
236
|
+
toolProfile: options.toolProfile,
|
|
233
237
|
}));
|
|
234
238
|
}
|
|
235
239
|
return { plan, results };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/mcp-registration/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/mcp-registration/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnD,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,aAAa,EAA8B,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC/G,OAAO,EAAE,eAAe,EAAE,eAAe,EAAuB,MAAM,iBAAiB,CAAC;AAExF,OAAO,EAAE,gBAAgB,EAAqB,MAAM,oBAAoB,CAAC;AAazE,SAAS,UAAU,CAAC,IAAY,EAAE,KAAK,GAAG,CAAC;IACzC,OAAO,IAAI;SACR,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;SACf,IAAI,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAA6B,EAC7B,UAAkB,EAClB,aAAqB;IAErB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,eAAe,CAAC;IACzD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACjC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC;IAEvF,MAAM,IAAI,GAAG,eAAe,CAAC;QAC3B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,IAAI,gBAAgB,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAE/G,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAW,CAAC;IAEhG,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO;YACL,GAAG,IAAI;YACP,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,mBAAmB,UAAU,OAAO,OAAO,CAAC,UAAU,EAAE;YAChE,aAAa;SACd,CAAC;IACJ,CAAC;IAED,oFAAoF;IACpF,qFAAqF;IACrF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE3E,MAAM,iBAAiB,GAAG,CAAC,MAAM,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7G,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO;YACL,GAAG,IAAI;YACP,OAAO,EAAE,oBAAoB;YAC7B,MAAM,EAAE,KAAK,UAAU,eAAe,UAAU,wJAAwJ;YACxM,aAAa;SACd,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,GAAG,IAAI;YACP,OAAO,EAAE,WAAW;YACpB,MAAM,EACJ,MAAM,CAAC,aAAa,KAAK,QAAQ;gBAC/B,CAAC,CAAC,eAAe,UAAU,WAAW,UAAU,qDAAqD;gBACrG,CAAC,CAAC,eAAe,UAAU,WAAW,UAAU,aAAa;SAClE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,IAAI;QACP,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,KAAK,UAAU,+BAA+B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,QAAQ,CAAC,IAAI,WAAW,EAAE;QACtH,aAAa;KACd,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,OAA6B,EAAE,UAAkB,EAAE,aAAqB;IACnG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAClC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,eAAe,CAAC;IACzD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;IAC7C,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC;IAE5F,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAW,CAAC;IAEhG,MAAM,IAAI,GAAG,eAAe,CAAC;QAC3B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC,CAAC;IAEH,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,GAAG,IAAI;gBACP,OAAO,EAAE,QAAQ;gBACjB,MAAM,EAAE,kBAAkB,UAAU,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACjG,aAAa;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAE;YACpC,YAAY;YACZ,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,eAAe,CAAC,UAAU,CAAC,UAAU,IAAI,OAAO,EAAE,IAAI,CAAC;SACpE,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpF,OAAO;YACL,GAAG,IAAI;YACP,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,GAAG,UAAU,yBAAyB,MAAM,wEAAwE;YAC5H,aAAa;SACd,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO;YACL,GAAG,IAAI;YACP,OAAO,EAAE,oBAAoB;YAC7B,MAAM,EAAE,IAAI,UAAU,2BAA2B,UAAU,gDAAgD;SAC5G,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,yBAAyB,CACvC,UAAU,EACV,MAAM,CAAC,IAAI,EACX,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,uBAAuB,EACjE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CACpD,CAAC;QACF,OAAO;YACL,GAAG,IAAI;YACP,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE,MAAM,CAAC,OAAO;gBACpB,CAAC,CAAC,gBAAgB,UAAU,cAAc,UAAU,GAAG;gBACvD,CAAC,CAAC,UAAU,UAAU,QAAQ,UAAU,GAAG;YAC7C,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;SAC5C,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,GAAG,IAAI;YACP,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,mBAAmB,UAAU,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC;YACzI,aAAa;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,aAAa,CAAC,OAA6B;IACzD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAClC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,eAAe,CAAC;IACzD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1D,MAAM,WAAW,GAAG,eAAe,CAAC;QAClC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IAElF,IAAI,UAAU,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QACzC,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,KAAK;YACL,QAAQ,EAAE,YAAY;YACtB,UAAU;YACV,OAAO,EAAE,qBAAqB;YAC9B,MAAM,EAAE,UAAU,CAAC,gBAAgB,IAAI,qDAAqD;YAC5F,aAAa;SACd,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,CAAC,QAAQ,KAAK,eAAe,EAAE,CAAC;QAC5C,OAAO,uBAAuB,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AACjE,CAAC;AA8BD;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,OAA8B;IAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC;IACtC,MAAM,SAAS,GACb,OAAO,CAAC,SAAS,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,qBAAqB,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAE7G,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/E,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,KAAK,CAAC;QAC3C,MAAM,UAAU,GAAG,QAAQ,IAAI,UAAU,CAAC,QAAQ,KAAK,YAAY,CAAC;QAEpE,IAAI,MAA0B,CAAC;QAC/B,IAAI,CAAC,QAAQ;YAAE,MAAM,GAAG,+BAA+B,CAAC;aACnD,IAAI,UAAU,CAAC,QAAQ,KAAK,YAAY;YAAE,MAAM,GAAG,UAAU,CAAC,gBAAgB,CAAC;QAEpF,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,MAAM;YACpC,cAAc,EAAE,MAAM,EAAE,cAAc,IAAI,IAAI;YAC9C,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,EAAE;YACtC,KAAK;YACL,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;YAClD,UAAU;YACV,MAAM;SACP,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,KAAK;QACL,OAAO;QACP,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE;KAC1F,CAAC;AACJ,CAAC;AASD;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAA+B;IAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC;IACtC,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,MAAM,OAAO,GAAoB,EAAE,CAAC;IAEpC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM;YAAE,SAAS;QAEtB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC;gBACX,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,OAAO,EAAE,KAAK,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,sBAAsB;gBACzF,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,UAAU;aACnC,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,OAAO,CAAC,IAAI,CACV,aAAa,CAAC;YACZ,MAAM;YACN,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,sBAAsB,CAAC,OAAwB;IAC7D,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ToolProfile } from '@agentteams/context-tools';
|
|
1
2
|
import type { McpPathContext, McpServerSpec } from './types.js';
|
|
2
3
|
/** Server name registered in every client. Kept stable so re-runs update rather than duplicate. */
|
|
3
4
|
export declare const MCP_SERVER_NAME = "agentteams";
|
|
@@ -27,6 +28,8 @@ export interface BuildServerSpecOptions {
|
|
|
27
28
|
context?: McpPathContext;
|
|
28
29
|
/** Injection seam so tests drive a fake PATH instead of the developer's machine. */
|
|
29
30
|
fileExists?: (path: string) => boolean;
|
|
31
|
+
/** `full` stays implicit for compatibility; limited profiles are explicit argv. */
|
|
32
|
+
toolProfile?: ToolProfile;
|
|
30
33
|
}
|
|
31
34
|
/** Is a bare `agentteams` resolvable from this context's PATH? */
|
|
32
35
|
export declare function hasGlobalExecutable(context: McpPathContext, fileExists?: (path: string) => boolean): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverSpec.d.ts","sourceRoot":"","sources":["../../src/mcp-registration/serverSpec.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhE,mGAAmG;AACnG,eAAO,MAAM,eAAe,eAAe,CAAC;AAE5C,iDAAiD;AACjD,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AAErD,oEAAoE;AACpE,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,oFAAoF;IACpF,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"serverSpec.d.ts","sourceRoot":"","sources":["../../src/mcp-registration/serverSpec.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhE,mGAAmG;AACnG,eAAO,MAAM,eAAe,eAAe,CAAC;AAE5C,iDAAiD;AACjD,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AAErD,oEAAoE;AACpE,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,oFAAoF;IACpF,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,mFAAmF;IACnF,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAUD,kEAAkE;AAClE,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,cAAc,EACvB,UAAU,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAoB,GACjD,OAAO,CAUT;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,aAAa,CAe9E"}
|
|
@@ -6,6 +6,9 @@ export const MCP_SERVER_NAME = 'agentteams';
|
|
|
6
6
|
export const MCP_RUNTIME_PACKAGE = '@agentteams/cli';
|
|
7
7
|
/** Name of the globally installed executable, when there is one. */
|
|
8
8
|
export const MCP_GLOBAL_EXECUTABLE = 'agentteams';
|
|
9
|
+
function profileArgs(toolProfile = 'full') {
|
|
10
|
+
return toolProfile === 'full' ? [] : ['--tool-profile', toolProfile];
|
|
11
|
+
}
|
|
9
12
|
function executableSuffixes() {
|
|
10
13
|
return process.platform === 'win32' ? ['', '.cmd', '.exe', '.bat', '.ps1'] : [''];
|
|
11
14
|
}
|
|
@@ -33,13 +36,14 @@ export function hasGlobalExecutable(context, fileExists = existsSync) {
|
|
|
33
36
|
export function buildServerSpec(options) {
|
|
34
37
|
const { serverEntry } = options;
|
|
35
38
|
const env = {};
|
|
39
|
+
const args = profileArgs(options.toolProfile);
|
|
36
40
|
if (serverEntry) {
|
|
37
41
|
const entryPath = isAbsolute(serverEntry) ? serverEntry : resolve(serverEntry);
|
|
38
|
-
return { command: 'node', args: [entryPath, 'mcp'], env };
|
|
42
|
+
return { command: 'node', args: [entryPath, 'mcp', ...args], env };
|
|
39
43
|
}
|
|
40
44
|
if (options.context && !hasGlobalExecutable(options.context, options.fileExists)) {
|
|
41
|
-
return { command: 'npx', args: ['-y', MCP_RUNTIME_PACKAGE, 'mcp'], env };
|
|
45
|
+
return { command: 'npx', args: ['-y', MCP_RUNTIME_PACKAGE, 'mcp', ...args], env };
|
|
42
46
|
}
|
|
43
|
-
return { command: MCP_GLOBAL_EXECUTABLE, args: ['mcp'], env };
|
|
47
|
+
return { command: MCP_GLOBAL_EXECUTABLE, args: ['mcp', ...args], env };
|
|
44
48
|
}
|
|
45
49
|
//# sourceMappingURL=serverSpec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverSpec.js","sourceRoot":"","sources":["../../src/mcp-registration/serverSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"serverSpec.js","sourceRoot":"","sources":["../../src/mcp-registration/serverSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIjE,mGAAmG;AACnG,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC;AAE5C,iDAAiD;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAErD,oEAAoE;AACpE,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC;AA6BlD,SAAS,WAAW,CAAC,cAA2B,MAAM;IACpD,OAAO,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACpF,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,mBAAmB,CACjC,OAAuB,EACvB,aAAwC,UAAU;IAElD,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE/F,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;QACjC,KAAK,MAAM,MAAM,IAAI,kBAAkB,EAAE,EAAE,CAAC;YAC1C,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,qBAAqB,GAAG,MAAM,EAAE,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;QACpF,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,OAA+B;IAC7D,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAChC,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAE9C,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACrE,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACjF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACpF,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;AACzE,CAAC"}
|
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
export declare const MCP_CLIENT_IDS: readonly ["claude-code", "codex", "copilot-cli", "opencode", "amp", "cursor-cli", "kimi-cli", "antigravity"];
|
|
3
3
|
export type McpClientId = (typeof MCP_CLIENT_IDS)[number];
|
|
4
4
|
export type McpScope = 'user' | 'project';
|
|
5
|
+
export type McpNativeDiscoveryStatus = 'verified' | 'unsupported' | 'unknown';
|
|
6
|
+
export interface McpNativeDiscoveryCapability {
|
|
7
|
+
status: McpNativeDiscoveryStatus;
|
|
8
|
+
verifiedAt: string;
|
|
9
|
+
evidenceUrl?: string;
|
|
10
|
+
version?: string;
|
|
11
|
+
reason?: string;
|
|
12
|
+
}
|
|
5
13
|
/** How the AgentTeams entry reaches the client's configuration. */
|
|
6
14
|
export type McpInstallStrategy =
|
|
7
15
|
/** The client owns the format; we shell out to its documented non-interactive command. */
|
|
@@ -67,6 +75,8 @@ export interface McpClientDefinition {
|
|
|
67
75
|
docsUrl: string;
|
|
68
76
|
/** Date the contract above was verified against the vendor's docs and a local install. */
|
|
69
77
|
verifiedAt: string;
|
|
78
|
+
/** Native host-side progressive discovery; never changes the profile automatically. */
|
|
79
|
+
nativeDiscovery: McpNativeDiscoveryCapability;
|
|
70
80
|
scopes: Record<McpScope, McpScopeDefinition>;
|
|
71
81
|
}
|
|
72
82
|
export type InstallOutcome = 'INSTALLED' | 'ALREADY_REGISTERED' | 'SKIPPED_CONFIG_ONLY' | 'SKIPPED_NOT_DETECTED' | 'FAILED';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp-registration/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp-registration/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Environment variable every daemon runner sets to the agentConfigId of the
|
|
3
|
+
* session it is spawning (`daemon/src/runners/*`).
|
|
4
|
+
*/
|
|
5
|
+
export declare const AGENT_NAME_ENV = "AGENTTEAMS_AGENT_NAME";
|
|
6
|
+
/**
|
|
7
|
+
* Which agent config (tool) this session runs as, when the daemon spawned it.
|
|
8
|
+
*
|
|
9
|
+
* This is the tool axis of attribution, orthogonal to who the actor is. The server
|
|
10
|
+
* prefers the `agentConfigId` carried by an agent API key (`key_{configId}_{secret}`)
|
|
11
|
+
* and ignores a declared value, because a proven identity must not be overridable by
|
|
12
|
+
* the caller. It matters for credentials that carry no agent: a personal token
|
|
13
|
+
* identifies a person, so without this the request has no agent at all and the record
|
|
14
|
+
* silently loses its tool axis — a change in how you authenticate must not change what
|
|
15
|
+
* gets recorded.
|
|
16
|
+
*
|
|
17
|
+
* Returns `undefined` outside a daemon-spawned session (desktop, manual runs). Callers
|
|
18
|
+
* must then send nothing at all rather than an empty string or a placeholder.
|
|
19
|
+
*/
|
|
20
|
+
export declare function resolveSessionAgentConfigId(env?: NodeJS.ProcessEnv): string | undefined;
|
|
21
|
+
//# sourceMappingURL=agentIdentity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentIdentity.d.ts","sourceRoot":"","sources":["../../src/utils/agentIdentity.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,cAAc,0BAA0B,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,SAAS,CAEpG"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { toNonEmptyString } from './parsers.js';
|
|
2
|
+
/**
|
|
3
|
+
* Environment variable every daemon runner sets to the agentConfigId of the
|
|
4
|
+
* session it is spawning (`daemon/src/runners/*`).
|
|
5
|
+
*/
|
|
6
|
+
export const AGENT_NAME_ENV = 'AGENTTEAMS_AGENT_NAME';
|
|
7
|
+
/**
|
|
8
|
+
* Which agent config (tool) this session runs as, when the daemon spawned it.
|
|
9
|
+
*
|
|
10
|
+
* This is the tool axis of attribution, orthogonal to who the actor is. The server
|
|
11
|
+
* prefers the `agentConfigId` carried by an agent API key (`key_{configId}_{secret}`)
|
|
12
|
+
* and ignores a declared value, because a proven identity must not be overridable by
|
|
13
|
+
* the caller. It matters for credentials that carry no agent: a personal token
|
|
14
|
+
* identifies a person, so without this the request has no agent at all and the record
|
|
15
|
+
* silently loses its tool axis — a change in how you authenticate must not change what
|
|
16
|
+
* gets recorded.
|
|
17
|
+
*
|
|
18
|
+
* Returns `undefined` outside a daemon-spawned session (desktop, manual runs). Callers
|
|
19
|
+
* must then send nothing at all rather than an empty string or a placeholder.
|
|
20
|
+
*/
|
|
21
|
+
export function resolveSessionAgentConfigId(env = process.env) {
|
|
22
|
+
return toNonEmptyString(env[AGENT_NAME_ENV]);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=agentIdentity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentIdentity.js","sourceRoot":"","sources":["../../src/utils/agentIdentity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,uBAAuB,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC9E,OAAO,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;AAC/C,CAAC"}
|
package/dist/utils/config.d.ts
CHANGED
|
@@ -56,13 +56,17 @@ export interface ResolvedCredential {
|
|
|
56
56
|
*/
|
|
57
57
|
apiKey: string;
|
|
58
58
|
expiresAt?: number;
|
|
59
|
+
/** True when long-running callers can resolve a replacement access token. */
|
|
60
|
+
refreshable?: true;
|
|
59
61
|
}
|
|
60
62
|
export declare class CredentialResolutionError extends Error {
|
|
61
63
|
constructor(message: string);
|
|
62
64
|
}
|
|
63
65
|
export type ResolvedConfig = Config & {
|
|
64
66
|
credentialSource: CredentialSource;
|
|
67
|
+
credentialRefreshable: boolean;
|
|
65
68
|
};
|
|
69
|
+
export declare const INJECTED_PERSONAL_TOKEN_MEMBER_ID_ENV = "AGENTTEAMS_MCP_MEMBER_ID";
|
|
66
70
|
export interface ResolveCredentialDeps {
|
|
67
71
|
/** Injection point for tests; production always uses the per-server singleton. */
|
|
68
72
|
getClient?: (apiUrl: string) => PersonalTokenClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACxB,MAAM,gCAAgC,CAAC;AAMxC,eAAO,MAAM,eAAe,+BAA+B,CAAC;AAE5D,6FAA6F;AAC7F,eAAO,MAAM,gBAAgB,MAAQ,CAAC;AACtC,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC;AAClH,MAAM,MAAM,2BAA2B,GAAG,eAAe,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAenF,yFAAyF;AACzF,wBAAgB,iBAAiB,CAAC,QAAQ,GAAE,MAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAG1F;AAuBD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA+BjE;AAED,wBAAgB,+BAA+B,CAC7C,QAAQ,GAAE,MAAsB,EAChC,WAAW,GAAE,MAAkB,GAC9B,MAAM,CAmBR;AAoCD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAUnE;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;CAC/B;AAED,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,cAAc,GAAG,IAAI,CAUnF;AAED;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAExF,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,gBAAgB,CAAC;IACzB;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,yBAA0B,SAAQ,KAAK;gBACtC,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG;IAAE,gBAAgB,EAAE,gBAAgB,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/config.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { chmodSync, existsSync, mkdirSync, readFileSync, renameSync, unlinkSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { join, dirname, resolve } from 'node:path';
|
|
3
3
|
import { homedir } from 'node:os';
|
|
4
|
-
import { setActiveCredential } from '../auth/activeCredential.js';
|
|
4
|
+
import { setActiveCredential, setInjectedPersonalTokenRefreshBlockReason } from '../auth/activeCredential.js';
|
|
5
5
|
import { getPersonalTokenClient, } from '../auth/personalTokenClient.js';
|
|
6
6
|
import { resolveGitTopLevel, resolveMainCheckoutRoot } from './git.js';
|
|
7
7
|
import { canonicalizePath } from './path.js';
|
|
@@ -166,6 +166,7 @@ export class CredentialResolutionError extends Error {
|
|
|
166
166
|
this.name = 'CredentialResolutionError';
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
|
+
export const INJECTED_PERSONAL_TOKEN_MEMBER_ID_ENV = 'AGENTTEAMS_MCP_MEMBER_ID';
|
|
169
170
|
let legacyApiKeyWarningPrinted = false;
|
|
170
171
|
function warnAboutLegacyApiKey() {
|
|
171
172
|
if (legacyApiKeyWarningPrinted)
|
|
@@ -237,6 +238,52 @@ export function describeUnusableCredential(state) {
|
|
|
237
238
|
export async function resolveCredential(options, deps = {}) {
|
|
238
239
|
const plan = planCredential(options);
|
|
239
240
|
if (plan.source === 'explicit-api-key') {
|
|
241
|
+
if (plan.apiKey.startsWith('atp_')) {
|
|
242
|
+
const expectedMemberId = process.env[INJECTED_PERSONAL_TOKEN_MEMBER_ID_ENV]?.trim();
|
|
243
|
+
if (!expectedMemberId) {
|
|
244
|
+
setActiveCredential(null);
|
|
245
|
+
setInjectedPersonalTokenRefreshBlockReason('IDENTITY_MISSING');
|
|
246
|
+
return { source: 'explicit-api-key', apiKey: plan.apiKey };
|
|
247
|
+
}
|
|
248
|
+
const client = (deps.getClient ?? getPersonalTokenClient)(plan.apiUrl);
|
|
249
|
+
if (!client.hasCredential()) {
|
|
250
|
+
setActiveCredential(null);
|
|
251
|
+
setInjectedPersonalTokenRefreshBlockReason('CLI_CREDENTIAL_MISSING');
|
|
252
|
+
return { source: 'explicit-api-key', apiKey: plan.apiKey };
|
|
253
|
+
}
|
|
254
|
+
const resolveMatchingToken = async () => {
|
|
255
|
+
const accessToken = await client.getAccessToken();
|
|
256
|
+
if (!accessToken) {
|
|
257
|
+
setInjectedPersonalTokenRefreshBlockReason('CLI_CREDENTIAL_UNAVAILABLE');
|
|
258
|
+
return null;
|
|
259
|
+
}
|
|
260
|
+
if (client.state().identity?.memberId !== expectedMemberId) {
|
|
261
|
+
client.invalidateAccessToken();
|
|
262
|
+
setActiveCredential(null);
|
|
263
|
+
setInjectedPersonalTokenRefreshBlockReason('IDENTITY_MISMATCH');
|
|
264
|
+
return null;
|
|
265
|
+
}
|
|
266
|
+
setActiveCredential(refreshableCredential);
|
|
267
|
+
return accessToken;
|
|
268
|
+
};
|
|
269
|
+
const refreshableCredential = {
|
|
270
|
+
resolve: resolveMatchingToken,
|
|
271
|
+
refresh: async () => {
|
|
272
|
+
client.invalidateAccessToken();
|
|
273
|
+
return resolveMatchingToken();
|
|
274
|
+
},
|
|
275
|
+
};
|
|
276
|
+
// 일시 실패여도 MCP 컨텍스트가 같은 resolver로 재시도할 수 있어야 한다.
|
|
277
|
+
setActiveCredential(refreshableCredential);
|
|
278
|
+
const accessToken = await resolveMatchingToken();
|
|
279
|
+
if (!accessToken) {
|
|
280
|
+
if (client.state().identity && client.state().identity?.memberId !== expectedMemberId) {
|
|
281
|
+
throw new CredentialResolutionError("The Desktop personal token and the stored CLI login belong to different members. Run 'agentteams auth login' with the same account used in AgentTeams Desktop.");
|
|
282
|
+
}
|
|
283
|
+
return { source: 'explicit-api-key', apiKey: plan.apiKey, refreshable: true };
|
|
284
|
+
}
|
|
285
|
+
return { source: 'explicit-api-key', apiKey: plan.apiKey, refreshable: true };
|
|
286
|
+
}
|
|
240
287
|
setActiveCredential(null);
|
|
241
288
|
return { source: 'explicit-api-key', apiKey: plan.apiKey };
|
|
242
289
|
}
|
|
@@ -257,6 +304,7 @@ export async function resolveCredential(options, deps = {}) {
|
|
|
257
304
|
// Only this branch arms the HTTP layer's 401 retry. A `key_` has nothing
|
|
258
305
|
// to refresh, so leaving the slot empty is the guard.
|
|
259
306
|
setActiveCredential({
|
|
307
|
+
resolve: () => client.getAccessToken(),
|
|
260
308
|
refresh: async () => {
|
|
261
309
|
client.invalidateAccessToken();
|
|
262
310
|
return client.getAccessToken();
|
|
@@ -264,8 +312,8 @@ export async function resolveCredential(options, deps = {}) {
|
|
|
264
312
|
});
|
|
265
313
|
const expiresAt = client.state().expiresAt;
|
|
266
314
|
return expiresAt === null
|
|
267
|
-
? { source: 'personal-token', apiKey: accessToken }
|
|
268
|
-
: { source: 'personal-token', apiKey: accessToken, expiresAt };
|
|
315
|
+
? { source: 'personal-token', apiKey: accessToken, refreshable: true }
|
|
316
|
+
: { source: 'personal-token', apiKey: accessToken, expiresAt, refreshable: true };
|
|
269
317
|
}
|
|
270
318
|
// A stored-but-unusable token is only fatal when there is nothing else to
|
|
271
319
|
// try; otherwise the `key_` below still works and the user sees nothing.
|
|
@@ -294,7 +342,12 @@ export async function loadConfigWithCredential(options, deps = {}) {
|
|
|
294
342
|
const credential = await resolveCredential(options, deps);
|
|
295
343
|
if (!credential)
|
|
296
344
|
return null;
|
|
297
|
-
return {
|
|
345
|
+
return {
|
|
346
|
+
...merged,
|
|
347
|
+
apiKey: credential.apiKey,
|
|
348
|
+
credentialSource: credential.source,
|
|
349
|
+
credentialRefreshable: credential.refreshable === true,
|
|
350
|
+
};
|
|
298
351
|
}
|
|
299
352
|
/**
|
|
300
353
|
* Flip a project between the two auth paths without disturbing anything else in
|