@agentteams/cli 0.1.75 → 0.1.77

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 (93) hide show
  1. package/.eslintcache +1 -1
  2. package/dist/api/convention.d.ts +11 -0
  3. package/dist/api/convention.d.ts.map +1 -0
  4. package/dist/api/convention.js +26 -0
  5. package/dist/api/convention.js.map +1 -0
  6. package/dist/api/worktree.d.ts +13 -0
  7. package/dist/api/worktree.d.ts.map +1 -0
  8. package/dist/api/worktree.js +8 -0
  9. package/dist/api/worktree.js.map +1 -0
  10. package/dist/commands/convention.d.ts.map +1 -1
  11. package/dist/commands/convention.js +6 -8
  12. package/dist/commands/convention.js.map +1 -1
  13. package/dist/commands/index.d.ts.map +1 -1
  14. package/dist/commands/index.js +4 -19
  15. package/dist/commands/index.js.map +1 -1
  16. package/dist/commands/mcp.d.ts +13 -0
  17. package/dist/commands/mcp.d.ts.map +1 -0
  18. package/dist/commands/mcp.js +13 -0
  19. package/dist/commands/mcp.js.map +1 -0
  20. package/dist/commands/search.d.ts.map +1 -1
  21. package/dist/commands/search.js +8 -35
  22. package/dist/commands/search.js.map +1 -1
  23. package/dist/commands/worktree.d.ts +9 -0
  24. package/dist/commands/worktree.d.ts.map +1 -0
  25. package/dist/commands/worktree.js +119 -0
  26. package/dist/commands/worktree.js.map +1 -0
  27. package/dist/index.js +101 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/mcp/context.d.ts +15 -0
  30. package/dist/mcp/context.d.ts.map +1 -0
  31. package/dist/mcp/context.js +47 -0
  32. package/dist/mcp/context.js.map +1 -0
  33. package/dist/mcp/resources.d.ts +17 -0
  34. package/dist/mcp/resources.d.ts.map +1 -0
  35. package/dist/mcp/resources.js +50 -0
  36. package/dist/mcp/resources.js.map +1 -0
  37. package/dist/mcp/server.d.ts +20 -0
  38. package/dist/mcp/server.d.ts.map +1 -0
  39. package/dist/mcp/server.js +106 -0
  40. package/dist/mcp/server.js.map +1 -0
  41. package/dist/mcp/tools.d.ts +20 -0
  42. package/dist/mcp/tools.d.ts.map +1 -0
  43. package/dist/mcp/tools.js +172 -0
  44. package/dist/mcp/tools.js.map +1 -0
  45. package/dist/mcp-registration/atomicWrite.d.ts +26 -0
  46. package/dist/mcp-registration/atomicWrite.d.ts.map +1 -0
  47. package/dist/mcp-registration/atomicWrite.js +58 -0
  48. package/dist/mcp-registration/atomicWrite.js.map +1 -0
  49. package/dist/mcp-registration/clients.d.ts +5 -0
  50. package/dist/mcp-registration/clients.d.ts.map +1 -0
  51. package/dist/mcp-registration/clients.js +300 -0
  52. package/dist/mcp-registration/clients.js.map +1 -0
  53. package/dist/mcp-registration/detect.d.ts +23 -0
  54. package/dist/mcp-registration/detect.d.ts.map +1 -0
  55. package/dist/mcp-registration/detect.js +48 -0
  56. package/dist/mcp-registration/detect.js.map +1 -0
  57. package/dist/mcp-registration/index.d.ts +50 -0
  58. package/dist/mcp-registration/index.d.ts.map +1 -0
  59. package/dist/mcp-registration/index.js +205 -0
  60. package/dist/mcp-registration/index.js.map +1 -0
  61. package/dist/mcp-registration/install.d.ts +66 -0
  62. package/dist/mcp-registration/install.d.ts.map +1 -0
  63. package/dist/mcp-registration/install.js +244 -0
  64. package/dist/mcp-registration/install.js.map +1 -0
  65. package/dist/mcp-registration/jsonc.d.ts +44 -0
  66. package/dist/mcp-registration/jsonc.d.ts.map +1 -0
  67. package/dist/mcp-registration/jsonc.js +266 -0
  68. package/dist/mcp-registration/jsonc.js.map +1 -0
  69. package/dist/mcp-registration/render.d.ts +18 -0
  70. package/dist/mcp-registration/render.d.ts.map +1 -0
  71. package/dist/mcp-registration/render.js +91 -0
  72. package/dist/mcp-registration/render.js.map +1 -0
  73. package/dist/mcp-registration/serverSpec.d.ts +31 -0
  74. package/dist/mcp-registration/serverSpec.d.ts.map +1 -0
  75. package/dist/mcp-registration/serverSpec.js +29 -0
  76. package/dist/mcp-registration/serverSpec.js.map +1 -0
  77. package/dist/mcp-registration/types.d.ts +98 -0
  78. package/dist/mcp-registration/types.d.ts.map +1 -0
  79. package/dist/mcp-registration/types.js +12 -0
  80. package/dist/mcp-registration/types.js.map +1 -0
  81. package/dist/mcp-registration/vendorCommand.d.ts +18 -0
  82. package/dist/mcp-registration/vendorCommand.d.ts.map +1 -0
  83. package/dist/mcp-registration/vendorCommand.js +27 -0
  84. package/dist/mcp-registration/vendorCommand.js.map +1 -0
  85. package/dist/utils/apiContext.d.ts +13 -0
  86. package/dist/utils/apiContext.d.ts.map +1 -0
  87. package/dist/utils/apiContext.js +26 -0
  88. package/dist/utils/apiContext.js.map +1 -0
  89. package/dist/utils/searchParams.d.ts +21 -0
  90. package/dist/utils/searchParams.d.ts.map +1 -0
  91. package/dist/utils/searchParams.js +47 -0
  92. package/dist/utils/searchParams.js.map +1 -0
  93. package/package.json +5 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonc.js","sourceRoot":"","sources":["../../src/mcp-registration/jsonc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { McpClientDefinition, McpEntryShape, McpScope, McpSecretReference, McpServerSpec } from './types.js';
2
+ /** Serialize the AgentTeams server entry in the shape the target client expects. */
3
+ export declare function buildEntryValue(shape: McpEntryShape, spec: McpServerSpec, reference?: McpSecretReference): Record<string, unknown>;
4
+ /**
5
+ * The copy-pasteable config fragment for one client/scope. This is the escape
6
+ * hatch every failure path points at, so it must be complete on its own: the
7
+ * full container wrapper, not just the inner entry.
8
+ */
9
+ export declare function renderConfigSnippet(client: McpClientDefinition, scope: McpScope, spec: McpServerSpec, serverName: string): string;
10
+ /** The equivalent vendor command, for users who prefer to run it themselves. */
11
+ export declare function renderVendorCommandLine(client: McpClientDefinition, scope: McpScope, spec: McpServerSpec, serverName: string): string | null;
12
+ /**
13
+ * Strip credential values from anything that reaches a terminal, a log or a
14
+ * test snapshot. Vendor CLIs echo their own arguments on failure, so their
15
+ * captured output has to pass through here before it is shown.
16
+ */
17
+ export declare function redactSecrets(text: string, secrets: string[]): string;
18
+ //# sourceMappingURL=render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/mcp-registration/render.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAYlH,oFAAoF;AACpF,wBAAgB,eAAe,CAC7B,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,aAAa,EACnB,SAAS,GAAE,kBAAmC,GAC7C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiBzB;AA+BD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE,MAAM,GACjB,MAAM,CAWR;AAED,gFAAgF;AAChF,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CAMf;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAOrE"}
@@ -0,0 +1,91 @@
1
+ import { CREDENTIAL_ENV_KEYS } from './serverSpec.js';
2
+ function referencedSpec(spec, reference) {
3
+ if (reference !== 'opencodeEnv')
4
+ return spec;
5
+ const apiKey = spec.env[CREDENTIAL_ENV_KEYS.apiKey];
6
+ if (apiKey !== `\${${CREDENTIAL_ENV_KEYS.apiKey}}`)
7
+ return spec;
8
+ return {
9
+ ...spec,
10
+ env: { ...spec.env, [CREDENTIAL_ENV_KEYS.apiKey]: `{env:${CREDENTIAL_ENV_KEYS.apiKey}}` },
11
+ };
12
+ }
13
+ /** Serialize the AgentTeams server entry in the shape the target client expects. */
14
+ export function buildEntryValue(shape, spec, reference = 'dollarBraces') {
15
+ const clientSpec = referencedSpec(spec, reference);
16
+ if (shape === 'opencode') {
17
+ return {
18
+ type: 'local',
19
+ command: [clientSpec.command, ...clientSpec.args],
20
+ environment: { ...clientSpec.env },
21
+ enabled: true,
22
+ };
23
+ }
24
+ const entry = {};
25
+ if (shape === 'stdio')
26
+ entry.type = 'stdio';
27
+ entry.command = clientSpec.command;
28
+ entry.args = [...clientSpec.args];
29
+ entry.env = { ...clientSpec.env };
30
+ return entry;
31
+ }
32
+ function tomlString(value) {
33
+ return JSON.stringify(value);
34
+ }
35
+ function renderCodexToml(serverName, spec) {
36
+ const lines = [
37
+ `[mcp_servers.${serverName}]`,
38
+ `command = ${tomlString(spec.command)}`,
39
+ `args = [${spec.args.map(tomlString).join(', ')}]`,
40
+ ];
41
+ const apiKey = spec.env[CREDENTIAL_ENV_KEYS.apiKey];
42
+ if (apiKey === `\${${CREDENTIAL_ENV_KEYS.apiKey}}`) {
43
+ lines.push(`env_vars = [${tomlString(CREDENTIAL_ENV_KEYS.apiKey)}]`);
44
+ }
45
+ const envEntries = Object.entries(spec.env).filter(([key, value]) => key !== CREDENTIAL_ENV_KEYS.apiKey || value !== `\${${CREDENTIAL_ENV_KEYS.apiKey}}`);
46
+ if (envEntries.length > 0) {
47
+ lines.push('', `[mcp_servers.${serverName}.env]`);
48
+ for (const [key, value] of envEntries) {
49
+ lines.push(`${key} = ${tomlString(value)}`);
50
+ }
51
+ }
52
+ return lines.join('\n');
53
+ }
54
+ /**
55
+ * The copy-pasteable config fragment for one client/scope. This is the escape
56
+ * hatch every failure path points at, so it must be complete on its own: the
57
+ * full container wrapper, not just the inner entry.
58
+ */
59
+ export function renderConfigSnippet(client, scope, spec, serverName) {
60
+ const definition = client.scopes[scope];
61
+ if (definition.format === 'toml') {
62
+ return renderCodexToml(serverName, spec);
63
+ }
64
+ const containerKey = definition.containerKey;
65
+ const entry = buildEntryValue(definition.entryShape ?? 'plain', spec, client.secretReference);
66
+ const document = containerKey ? { [containerKey]: { [serverName]: entry } } : { [serverName]: entry };
67
+ return JSON.stringify(document, null, 2);
68
+ }
69
+ /** The equivalent vendor command, for users who prefer to run it themselves. */
70
+ export function renderVendorCommandLine(client, scope, spec, serverName) {
71
+ const vendor = client.scopes[scope].vendor;
72
+ if (!vendor)
73
+ return null;
74
+ const args = vendor.buildArgs(spec, serverName).map((arg) => (/[\s"'$]/.test(arg) ? `'${arg}'` : arg));
75
+ return [client.executables[0], ...args].join(' ');
76
+ }
77
+ /**
78
+ * Strip credential values from anything that reaches a terminal, a log or a
79
+ * test snapshot. Vendor CLIs echo their own arguments on failure, so their
80
+ * captured output has to pass through here before it is shown.
81
+ */
82
+ export function redactSecrets(text, secrets) {
83
+ let redacted = text;
84
+ for (const secret of secrets) {
85
+ if (!secret || secret.length < 4)
86
+ continue;
87
+ redacted = redacted.split(secret).join('***');
88
+ }
89
+ return redacted;
90
+ }
91
+ //# sourceMappingURL=render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/mcp-registration/render.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { McpServerSpec } from './types.js';
2
+ /** Server name registered in every client. Kept stable so re-runs update rather than duplicate. */
3
+ export declare const MCP_SERVER_NAME = "agentteams";
4
+ export declare const CREDENTIAL_ENV_KEYS: {
5
+ readonly apiKey: "AGENTTEAMS_API_KEY";
6
+ readonly projectId: "AGENTTEAMS_PROJECT_ID";
7
+ readonly teamId: "AGENTTEAMS_TEAM_ID";
8
+ readonly apiUrl: "AGENTTEAMS_API_URL";
9
+ };
10
+ export interface McpCredentials {
11
+ apiKey: string;
12
+ projectId: string;
13
+ teamId: string;
14
+ apiUrl: string;
15
+ }
16
+ /**
17
+ * `literal` writes the real API key into the client's own config file — only
18
+ * ever used for user-scope `install`, where the file lives outside the repo and
19
+ * is chmod 0600. Everything a human can read (`config` output, dry-run plans,
20
+ * project-scope files that get committed) uses `reference`. The renderer then
21
+ * converts that marker to each client's supported inheritance syntax.
22
+ */
23
+ export type SecretMode = 'literal' | 'reference';
24
+ export interface BuildServerSpecOptions {
25
+ credentials: McpCredentials;
26
+ secretMode: SecretMode;
27
+ /** Absolute path to a local `cli/dist/index.js`; omit to use the published package. */
28
+ serverEntry?: string;
29
+ }
30
+ export declare function buildServerSpec(options: BuildServerSpecOptions): McpServerSpec;
31
+ //# sourceMappingURL=serverSpec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverSpec.d.ts","sourceRoot":"","sources":["../../src/mcp-registration/serverSpec.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,mGAAmG;AACnG,eAAO,MAAM,eAAe,eAAe,CAAC;AAE5C,eAAO,MAAM,mBAAmB;;;;;CAKtB,CAAC;AAEX,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;AAEjD,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,cAAc,CAAC;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,aAAa,CAqB9E"}
@@ -0,0 +1,29 @@
1
+ import { isAbsolute, resolve } from 'node:path';
2
+ import { DEFAULT_API_URL } from '../utils/config.js';
3
+ /** Server name registered in every client. Kept stable so re-runs update rather than duplicate. */
4
+ export const MCP_SERVER_NAME = 'agentteams';
5
+ export const CREDENTIAL_ENV_KEYS = {
6
+ apiKey: 'AGENTTEAMS_API_KEY',
7
+ projectId: 'AGENTTEAMS_PROJECT_ID',
8
+ teamId: 'AGENTTEAMS_TEAM_ID',
9
+ apiUrl: 'AGENTTEAMS_API_URL',
10
+ };
11
+ export function buildServerSpec(options) {
12
+ const { credentials, secretMode, serverEntry } = options;
13
+ const env = {
14
+ [CREDENTIAL_ENV_KEYS.apiKey]: secretMode === 'literal' ? credentials.apiKey : `\${${CREDENTIAL_ENV_KEYS.apiKey}}`,
15
+ [CREDENTIAL_ENV_KEYS.projectId]: credentials.projectId,
16
+ [CREDENTIAL_ENV_KEYS.teamId]: credentials.teamId,
17
+ };
18
+ // Only non-default API URLs are worth pinning; emitting the default would make
19
+ // every generated config break the day the hosted URL changes.
20
+ if (credentials.apiUrl && credentials.apiUrl !== DEFAULT_API_URL) {
21
+ env[CREDENTIAL_ENV_KEYS.apiUrl] = credentials.apiUrl;
22
+ }
23
+ if (serverEntry) {
24
+ const entryPath = isAbsolute(serverEntry) ? serverEntry : resolve(serverEntry);
25
+ return { command: 'node', args: [entryPath, 'mcp'], env };
26
+ }
27
+ return { command: 'npx', args: ['-y', '@agentteams/cli', 'mcp'], env };
28
+ }
29
+ //# sourceMappingURL=serverSpec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverSpec.js","sourceRoot":"","sources":["../../src/mcp-registration/serverSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,mGAAmG;AACnG,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC;AAE5C,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,oBAAoB;IAC5B,SAAS,EAAE,uBAAuB;IAClC,MAAM,EAAE,oBAAoB;IAC5B,MAAM,EAAE,oBAAoB;CACpB,CAAC;AAyBX,MAAM,UAAU,eAAe,CAAC,OAA+B;IAC7D,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAEzD,MAAM,GAAG,GAA2B;QAClC,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,mBAAmB,CAAC,MAAM,GAAG;QACjH,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,SAAS;QACtD,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM;KACjD,CAAC;IAEF,+EAA+E;IAC/E,+DAA+D;IAC/D,IAAI,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;QACjE,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;IACvD,CAAC;IAED,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,CAAC,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;AACzE,CAAC"}
@@ -0,0 +1,98 @@
1
+ /** Client ids accepted by `--client`. Orca is not a client and GEMINI is a deprecated runner type, so neither appears here. */
2
+ export declare const MCP_CLIENT_IDS: readonly ["claude-code", "codex", "copilot-cli", "opencode", "amp", "cursor-cli", "kimi-cli", "antigravity"];
3
+ export type McpClientId = (typeof MCP_CLIENT_IDS)[number];
4
+ export type McpScope = 'user' | 'project';
5
+ /** Syntax the client uses to inherit a secret from its parent process. */
6
+ export type McpSecretReference = 'dollarBraces' | 'opencodeEnv' | 'codexEnvVars';
7
+ /** How the AgentTeams entry reaches the client's configuration. */
8
+ export type McpInstallStrategy =
9
+ /** The client owns the format; we shell out to its documented non-interactive command. */
10
+ 'vendorCommand'
11
+ /** We own the merge: surgical JSONC upsert with backup and atomic rename. */
12
+ | 'jsonMerge'
13
+ /** No automated path we can prove safe — `install` prints the snippet instead of writing. */
14
+ | 'configOnly';
15
+ /** What the vendor command does when the server name is already registered. */
16
+ export type VendorRerunBehavior = 'update' | 'refuse';
17
+ /** Serialized shape of a single server entry in the client's config. */
18
+ export type McpEntryShape =
19
+ /** `{ type: "stdio", command, args, env }` */
20
+ 'stdio'
21
+ /** `{ command, args, env }` */
22
+ | 'plain'
23
+ /** `{ type: "local", command: [...], environment, enabled }` */
24
+ | 'opencode';
25
+ export interface McpPathContext {
26
+ homeDir: string;
27
+ cwd: string;
28
+ env: NodeJS.ProcessEnv;
29
+ }
30
+ export interface McpServerSpec {
31
+ command: string;
32
+ args: string[];
33
+ env: Record<string, string>;
34
+ }
35
+ export interface VendorCommandPlan {
36
+ executable: string;
37
+ args: string[];
38
+ }
39
+ export interface McpScopeDefinition {
40
+ /** Absolute path of the config file this scope writes to. */
41
+ configPath: (context: McpPathContext) => string;
42
+ format: 'json' | 'jsonc' | 'toml';
43
+ /** Top-level key holding the server map. Absent for TOML. */
44
+ containerKey?: string;
45
+ entryShape?: McpEntryShape;
46
+ strategy: McpInstallStrategy;
47
+ /** Present when `strategy === 'vendorCommand'`. */
48
+ vendor?: {
49
+ buildArgs: (spec: McpServerSpec, serverName: string) => string[];
50
+ rerunBehavior: VendorRerunBehavior;
51
+ /** Patterns that mean "already registered", not "failed". */
52
+ alreadyRegisteredPatterns?: RegExp[];
53
+ };
54
+ /** Present when `strategy === 'configOnly'`; explains why nothing is written. */
55
+ configOnlyReason?: string;
56
+ }
57
+ export interface McpClientDefinition {
58
+ id: McpClientId;
59
+ /** RunnerType key in packages/core-constants. Enforced by a monorepo drift test. */
60
+ runnerType: string;
61
+ label: string;
62
+ /** Executable names looked up on PATH. */
63
+ executables: string[];
64
+ secretReference: McpSecretReference;
65
+ /** Extra directories to probe when the client installs outside PATH (e.g. Kimi). */
66
+ extraBinDirs?: (context: McpPathContext) => string[];
67
+ /** Files/directories whose presence proves the client has been configured on this machine. */
68
+ configSignals: (context: McpPathContext) => string[];
69
+ /** Official documentation for the config contract encoded above. */
70
+ docsUrl: string;
71
+ /** Date the contract above was verified against the vendor's docs and a local install. */
72
+ verifiedAt: string;
73
+ scopes: Record<McpScope, McpScopeDefinition>;
74
+ }
75
+ export type InstallOutcome = 'INSTALLED' | 'ALREADY_REGISTERED' | 'SKIPPED_CONFIG_ONLY' | 'SKIPPED_NOT_DETECTED' | 'FAILED';
76
+ export interface InstallResult {
77
+ clientId: McpClientId;
78
+ scope: McpScope;
79
+ outcome: InstallOutcome;
80
+ strategy: McpInstallStrategy;
81
+ /** The config file the outcome refers to. */
82
+ configPath: string;
83
+ /** Redacted, user-facing explanation. Never contains credentials. */
84
+ detail: string;
85
+ backupPath?: string;
86
+ /** Manual fallback, always present for non-INSTALLED outcomes. */
87
+ manualSnippet?: string;
88
+ }
89
+ export interface DetectionSignal {
90
+ clientId: McpClientId;
91
+ label: string;
92
+ /** Why the client is considered present: config traces, an executable, or both. */
93
+ evidence: 'configured' | 'executable' | 'both' | 'none';
94
+ executablePath: string | null;
95
+ configPaths: string[];
96
+ detected: boolean;
97
+ }
98
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp-registration/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /** Client ids accepted by `--client`. Orca is not a client and GEMINI is a deprecated runner type, so neither appears here. */
2
+ export const MCP_CLIENT_IDS = [
3
+ 'claude-code',
4
+ 'codex',
5
+ 'copilot-cli',
6
+ 'opencode',
7
+ 'amp',
8
+ 'cursor-cli',
9
+ 'kimi-cli',
10
+ 'antigravity',
11
+ ];
12
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/mcp-registration/types.ts"],"names":[],"mappings":"AAAA,+HAA+H;AAC/H,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,aAAa;IACb,OAAO;IACP,aAAa;IACb,UAAU;IACV,KAAK;IACL,YAAY;IACZ,UAAU;IACV,aAAa;CACL,CAAC"}
@@ -0,0 +1,18 @@
1
+ export interface VendorCommandResult {
2
+ status: number | null;
3
+ stdout: string;
4
+ stderr: string;
5
+ /** Set when the process could not be started at all (e.g. ENOENT). */
6
+ spawnError?: string;
7
+ }
8
+ export type VendorRunner = (executable: string, args: string[], options: {
9
+ cwd: string;
10
+ env: NodeJS.ProcessEnv;
11
+ }) => VendorCommandResult;
12
+ /**
13
+ * Vendor CLIs are invoked without a shell: the argument vector carries the
14
+ * user's API key for user-scope installs, and a shell would expose it to
15
+ * word-splitting and to shell history/tracing.
16
+ */
17
+ export declare const runVendorCommand: VendorRunner;
18
+ //# sourceMappingURL=vendorCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vendorCommand.d.ts","sourceRoot":"","sources":["../../src/mcp-registration/vendorCommand.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,YAAY,GAAG,CACzB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,KAC7C,mBAAmB,CAAC;AAEzB;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,YAqB9B,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { spawnSync } from 'node:child_process';
2
+ /**
3
+ * Vendor CLIs are invoked without a shell: the argument vector carries the
4
+ * user's API key for user-scope installs, and a shell would expose it to
5
+ * word-splitting and to shell history/tracing.
6
+ */
7
+ export const runVendorCommand = (executable, args, options) => {
8
+ const result = spawnSync(executable, args, {
9
+ cwd: options.cwd,
10
+ env: options.env,
11
+ encoding: 'utf-8',
12
+ shell: false,
13
+ // Some registration commands prompt when they detect a TTY; an explicit
14
+ // empty stdin keeps them non-interactive.
15
+ input: '',
16
+ timeout: 120_000,
17
+ });
18
+ if (result.error) {
19
+ return { status: null, stdout: '', stderr: '', spawnError: result.error.message };
20
+ }
21
+ return {
22
+ status: result.status,
23
+ stdout: result.stdout ?? '',
24
+ stderr: result.stderr ?? '',
25
+ };
26
+ };
27
+ //# sourceMappingURL=vendorCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vendorCommand.js","sourceRoot":"","sources":["../../src/mcp-registration/vendorCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAgB/C;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAiB,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IAC1E,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE;QACzC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,KAAK;QACZ,wEAAwE;QACxE,0CAA0C;QAC1C,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IACpF,CAAC;IAED,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;KAC5B,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Config } from '../types/index.js';
2
+ /**
3
+ * Collect config overrides passed as CLI options.
4
+ *
5
+ * Shared with long-running entry points (e.g. `mcp`) that never reach
6
+ * `executeCommand()` but must honour the same override contract.
7
+ */
8
+ export declare function buildConfigOverrides(options: Record<string, unknown>): Partial<Config>;
9
+ export declare function resolveApiContext(config: Config): {
10
+ apiUrl: string;
11
+ headers: Record<string, string>;
12
+ };
13
+ //# sourceMappingURL=apiContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiContext.d.ts","sourceRoot":"","sources":["../../src/utils/apiContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAIhD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAStF;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAOrG"}
@@ -0,0 +1,26 @@
1
+ const CONFIG_OVERRIDE_KEYS = ['apiKey', 'apiUrl', 'teamId', 'projectId'];
2
+ /**
3
+ * Collect config overrides passed as CLI options.
4
+ *
5
+ * Shared with long-running entry points (e.g. `mcp`) that never reach
6
+ * `executeCommand()` but must honour the same override contract.
7
+ */
8
+ export function buildConfigOverrides(options) {
9
+ const overrides = {};
10
+ for (const key of CONFIG_OVERRIDE_KEYS) {
11
+ const value = options[key];
12
+ if (typeof value === 'string' && value.length > 0) {
13
+ overrides[key] = value;
14
+ }
15
+ }
16
+ return overrides;
17
+ }
18
+ export function resolveApiContext(config) {
19
+ const apiUrl = config.apiUrl.endsWith('/') ? config.apiUrl.slice(0, -1) : config.apiUrl;
20
+ const headers = {
21
+ 'X-API-Key': config.apiKey,
22
+ 'Content-Type': 'application/json',
23
+ };
24
+ return { apiUrl, headers };
25
+ }
26
+ //# sourceMappingURL=apiContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiContext.js","sourceRoot":"","sources":["../../src/utils/apiContext.ts"],"names":[],"mappings":"AAEA,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAU,CAAC;AAElF;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAgC;IACnE,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IACxF,MAAM,OAAO,GAAG;QACd,WAAW,EAAE,MAAM,CAAC,MAAM;QAC1B,cAAc,EAAE,kBAAkB;KACnC,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Entity types accepted by `GET /api/projects/:projectId/search`.
3
+ * Mirrors the backend's `SearchEntityType` — keep the two in step.
4
+ */
5
+ export declare const VALID_TYPES: readonly ["PLAN", "CO_ACTION", "COMPLETION_REPORT", "POST_MORTEM", "CONVENTION", "COMMENT", "CODE_REVIEW", "DOCUMENT", "GITHUB_ISSUE", "GITHUB_PR", "GITLAB_ISSUE", "GITLAB_MERGE_REQUEST", "BITBUCKET_ISSUE", "BITBUCKET_PR", "LINEAR_ISSUE"];
6
+ export type SearchEntityType = (typeof VALID_TYPES)[number];
7
+ export interface SearchParamsInput {
8
+ query: string;
9
+ types?: readonly string[];
10
+ limit?: number;
11
+ maxTokens?: number;
12
+ }
13
+ /** Parse and validate a comma-separated `--types` value. */
14
+ export declare function parseSearchTypes(raw: string): string[];
15
+ /**
16
+ * Build the query params for the search endpoint. Shared by the `search`
17
+ * command and the MCP tool so both speak the same contract; optional values are
18
+ * omitted rather than defaulted, leaving the backend defaults authoritative.
19
+ */
20
+ export declare function buildSearchParams(input: SearchParamsInput): Record<string, string | number | string[]>;
21
+ //# sourceMappingURL=searchParams.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchParams.d.ts","sourceRoot":"","sources":["../../src/utils/searchParams.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,WAAW,gPAgBd,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,4DAA4D;AAC5D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAOtD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAQtG"}
@@ -0,0 +1,47 @@
1
+ import { splitCsv } from './parsers.js';
2
+ /**
3
+ * Entity types accepted by `GET /api/projects/:projectId/search`.
4
+ * Mirrors the backend's `SearchEntityType` — keep the two in step.
5
+ */
6
+ export const VALID_TYPES = [
7
+ 'PLAN',
8
+ 'CO_ACTION',
9
+ 'COMPLETION_REPORT',
10
+ 'POST_MORTEM',
11
+ 'CONVENTION',
12
+ 'COMMENT',
13
+ 'CODE_REVIEW',
14
+ 'DOCUMENT',
15
+ 'GITHUB_ISSUE',
16
+ 'GITHUB_PR',
17
+ 'GITLAB_ISSUE',
18
+ 'GITLAB_MERGE_REQUEST',
19
+ 'BITBUCKET_ISSUE',
20
+ 'BITBUCKET_PR',
21
+ 'LINEAR_ISSUE',
22
+ ];
23
+ /** Parse and validate a comma-separated `--types` value. */
24
+ export function parseSearchTypes(raw) {
25
+ const types = splitCsv(raw).map((type) => type.toUpperCase());
26
+ const invalid = types.filter((type) => !VALID_TYPES.includes(type));
27
+ if (invalid.length > 0) {
28
+ throw new Error(`Invalid type(s): ${invalid.join(', ')}. Valid types: ${VALID_TYPES.join(', ')}`);
29
+ }
30
+ return types;
31
+ }
32
+ /**
33
+ * Build the query params for the search endpoint. Shared by the `search`
34
+ * command and the MCP tool so both speak the same contract; optional values are
35
+ * omitted rather than defaulted, leaving the backend defaults authoritative.
36
+ */
37
+ export function buildSearchParams(input) {
38
+ const params = { q: input.query };
39
+ if (input.types !== undefined)
40
+ params.types = [...input.types];
41
+ if (input.limit !== undefined)
42
+ params.limit = input.limit;
43
+ if (input.maxTokens !== undefined)
44
+ params.maxTokens = input.maxTokens;
45
+ return params;
46
+ }
47
+ //# sourceMappingURL=searchParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchParams.js","sourceRoot":"","sources":["../../src/utils/searchParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM;IACN,WAAW;IACX,mBAAmB;IACnB,aAAa;IACb,YAAY;IACZ,SAAS;IACT,aAAa;IACb,UAAU;IACV,cAAc;IACd,WAAW;IACX,cAAc;IACd,sBAAsB;IACtB,iBAAiB;IACjB,cAAc;IACd,cAAc;CACN,CAAC;AAWX,4DAA4D;AAC5D,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAwB,CAAC,CAAC,CAAC;IACxF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAwB;IACxD,MAAM,MAAM,GAA+C,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IAE9E,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/D,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1D,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAEtE,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentteams/cli",
3
- "version": "0.1.75",
3
+ "version": "0.1.77",
4
4
  "description": "CLI tool for AgentTeams API",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -36,17 +36,19 @@
36
36
  },
37
37
  "homepage": "https://agentteams.run",
38
38
  "engines": {
39
- "node": ">=18"
39
+ "node": ">=20.12.0"
40
40
  },
41
41
  "dependencies": {
42
42
  "@clack/prompts": "^1.4.0",
43
+ "@modelcontextprotocol/server": "2.0.0-beta.5",
43
44
  "axios": "^1.16.1",
44
45
  "chalk": "^5.6.2",
45
46
  "commander": "^12.1.0",
46
47
  "diff": "^8.0.4",
47
48
  "gray-matter": "^4.0.3",
48
49
  "open": "^10.1.0",
49
- "ora": "^9.4.0"
50
+ "ora": "^9.4.0",
51
+ "zod": "4.4.3"
50
52
  },
51
53
  "devDependencies": {
52
54
  "@eslint/js": "^9.39.4",