@springbrand/cli 0.1.9 → 0.2.0

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/README.md +25 -12
  2. package/dist/commands/auth.d.ts.map +1 -1
  3. package/dist/commands/auth.js +156 -40
  4. package/dist/commands/auth.js.map +1 -1
  5. package/dist/commands/connect.d.ts +2 -0
  6. package/dist/commands/connect.d.ts.map +1 -1
  7. package/dist/commands/connect.js +38 -22
  8. package/dist/commands/connect.js.map +1 -1
  9. package/dist/commands/doctor.js +2 -2
  10. package/dist/commands/doctor.js.map +1 -1
  11. package/dist/lib/auth.d.ts +23 -12
  12. package/dist/lib/auth.d.ts.map +1 -1
  13. package/dist/lib/auth.js +243 -55
  14. package/dist/lib/auth.js.map +1 -1
  15. package/dist/lib/codex-plugin.d.ts +8 -0
  16. package/dist/lib/codex-plugin.d.ts.map +1 -1
  17. package/dist/lib/codex-plugin.js +191 -21
  18. package/dist/lib/codex-plugin.js.map +1 -1
  19. package/dist/lib/connect-all-uninstall.d.ts +2 -2
  20. package/dist/lib/connect-all-uninstall.d.ts.map +1 -1
  21. package/dist/lib/connect-all-uninstall.js +70 -32
  22. package/dist/lib/connect-all-uninstall.js.map +1 -1
  23. package/dist/lib/connect-all.d.ts +4 -0
  24. package/dist/lib/connect-all.d.ts.map +1 -1
  25. package/dist/lib/connect-all.js +8 -5
  26. package/dist/lib/connect-all.js.map +1 -1
  27. package/dist/lib/connect-auth.d.ts +4 -2
  28. package/dist/lib/connect-auth.d.ts.map +1 -1
  29. package/dist/lib/connect-auth.js +14 -9
  30. package/dist/lib/connect-auth.js.map +1 -1
  31. package/dist/lib/connect-clients.d.ts +1 -1
  32. package/dist/lib/connect-clients.d.ts.map +1 -1
  33. package/dist/lib/connect-clients.js +17 -10
  34. package/dist/lib/connect-clients.js.map +1 -1
  35. package/dist/lib/connect-fallback.d.ts +2 -0
  36. package/dist/lib/connect-fallback.d.ts.map +1 -1
  37. package/dist/lib/connect-fallback.js +18 -4
  38. package/dist/lib/connect-fallback.js.map +1 -1
  39. package/dist/lib/connect-generic.d.ts +2 -0
  40. package/dist/lib/connect-generic.d.ts.map +1 -1
  41. package/dist/lib/connect-generic.js +3 -2
  42. package/dist/lib/connect-generic.js.map +1 -1
  43. package/dist/lib/connect-preflight.d.ts +1 -0
  44. package/dist/lib/connect-preflight.d.ts.map +1 -1
  45. package/dist/lib/connect-preflight.js +31 -19
  46. package/dist/lib/connect-preflight.js.map +1 -1
  47. package/dist/lib/connect-result.d.ts +1 -1
  48. package/dist/lib/constants.d.ts +2 -0
  49. package/dist/lib/constants.d.ts.map +1 -1
  50. package/dist/lib/constants.js +4 -1
  51. package/dist/lib/constants.js.map +1 -1
  52. package/dist/lib/cursor-config.d.ts +2 -2
  53. package/dist/lib/cursor-config.d.ts.map +1 -1
  54. package/dist/lib/cursor-config.js +5 -5
  55. package/dist/lib/cursor-config.js.map +1 -1
  56. package/dist/lib/devin-config.d.ts +1 -1
  57. package/dist/lib/devin-config.d.ts.map +1 -1
  58. package/dist/lib/devin-config.js +5 -5
  59. package/dist/lib/devin-config.js.map +1 -1
  60. package/dist/lib/doctor-checks.d.ts +1 -1
  61. package/dist/lib/doctor-checks.d.ts.map +1 -1
  62. package/dist/lib/doctor-checks.js +7 -4
  63. package/dist/lib/doctor-checks.js.map +1 -1
  64. package/dist/lib/doctor-report.d.ts +2 -2
  65. package/dist/lib/install-report.d.ts +1 -1
  66. package/dist/lib/key-environment.d.ts +14 -0
  67. package/dist/lib/key-environment.d.ts.map +1 -0
  68. package/dist/lib/key-environment.js +8 -0
  69. package/dist/lib/key-environment.js.map +1 -0
  70. package/dist/lib/mcp-endpoint.d.ts +4 -1
  71. package/dist/lib/mcp-endpoint.d.ts.map +1 -1
  72. package/dist/lib/mcp-endpoint.js +5 -0
  73. package/dist/lib/mcp-endpoint.js.map +1 -1
  74. package/dist/lib/mcp-json-config.d.ts +2 -0
  75. package/dist/lib/mcp-json-config.d.ts.map +1 -1
  76. package/dist/lib/mcp-json-config.js +10 -4
  77. package/dist/lib/mcp-json-config.js.map +1 -1
  78. package/dist/lib/omp-config.d.ts +2 -2
  79. package/dist/lib/omp-config.d.ts.map +1 -1
  80. package/dist/lib/omp-config.js +5 -5
  81. package/dist/lib/omp-config.js.map +1 -1
  82. package/dist/lib/pi-config.d.ts +2 -2
  83. package/dist/lib/pi-config.d.ts.map +1 -1
  84. package/dist/lib/pi-config.js +5 -5
  85. package/dist/lib/pi-config.js.map +1 -1
  86. package/dist/lib/registration-detect.js +5 -5
  87. package/dist/lib/registration-detect.js.map +1 -1
  88. package/dist/lib/skill-install.d.ts.map +1 -1
  89. package/dist/lib/skill-install.js +19 -12
  90. package/dist/lib/skill-install.js.map +1 -1
  91. package/dist/lib/workbuddy-config.d.ts +1 -1
  92. package/dist/lib/workbuddy-config.d.ts.map +1 -1
  93. package/dist/lib/workbuddy-config.js +5 -5
  94. package/dist/lib/workbuddy-config.js.map +1 -1
  95. package/package.json +1 -1
  96. package/skill/springbrand-action-api/SKILL.md +4 -2
  97. package/skill/springbrand-action-api/references/action-discovery.md +5 -4
  98. package/skill/springbrand-connector/SKILL.md +3 -2
  99. package/skill/springbrand-gtm/SKILL.md +38 -5
  100. package/skill/springbrand-platform/SKILL.md +4 -2
  101. package/skill/springbrand-platform/references/plugin-discovery.md +5 -4
  102. package/skill/use-springbrand/SKILL.md +110 -12
@@ -4,10 +4,11 @@ import * as path from 'node:path';
4
4
  import { fileURLToPath } from 'node:url';
5
5
  import spawn from 'cross-spawn';
6
6
  import { bundledSkillDir, bundledSkillNames } from './bundled-skill.js';
7
- import { SPRINGBRAND_API_KEY_VAR } from './constants.js';
8
- import { mcpServerName } from './mcp-endpoint.js';
7
+ import { apiKeyEnvVar } from './key-environment.js';
8
+ import { environmentOf, mcpServerName } from './mcp-endpoint.js';
9
9
  export const CODEX_PLUGIN_NAME = 'springbrand-cli';
10
10
  export const CODEX_MARKETPLACE_NAME = 'springbrand-cli-local';
11
+ const DEFAULT_TOOL_TIMEOUT_SECONDS = 15 * 60;
11
12
  function isJsonObject(value) {
12
13
  return value !== null && typeof value === 'object' && !Array.isArray(value);
13
14
  }
@@ -23,32 +24,139 @@ function writeJson(file, value) {
23
24
  fs.writeFileSync(temporary, `${JSON.stringify(value, null, 2)}\n`, { mode: 0o600 });
24
25
  fs.renameSync(temporary, file);
25
26
  }
26
- function renderSkill(source, serverName) {
27
- return source
28
- .replaceAll('MCP server named `springbrand`', `MCP server named \`${serverName}\``)
29
- .replaceAll('MCP server `springbrand`', `MCP server \`${serverName}\``);
27
+ function writeJsonWithBackup(file, value) {
28
+ if (fs.existsSync(file)) {
29
+ const backup = `${file}.bak-${Date.now()}-${process.pid}`;
30
+ fs.copyFileSync(file, backup);
31
+ }
32
+ writeJson(file, value);
33
+ }
34
+ const SHARED_SERVER_GUIDANCE = 'Use the configured SpringBrand MCP server (`springbrand` for production or `springbrand-dev` for development) for SpringBrand work. The CLI owns installation, endpoint configuration, and API-key authentication. Do not ask the user to copy credentials into a prompt or configure a second MCP server.';
35
+ const SPRINGBRAND_SERVERS = ['springbrand', 'springbrand-dev'];
36
+ function serverGuidance(serverNames) {
37
+ const names = SPRINGBRAND_SERVERS.filter((name) => serverNames.includes(name));
38
+ if (names.length === 0)
39
+ throw new Error('The SpringBrand Codex Plugin has no SpringBrand MCP server');
40
+ if (names.length === 1) {
41
+ const name = names[0];
42
+ return `Use the configured MCP server named \`${name}\` for SpringBrand work.` +
43
+ (name === 'springbrand-dev' ? ' It is the development environment.' : '') +
44
+ ' The CLI owns installation, endpoint configuration, and API-key authentication. Do not ask the user to copy credentials into a prompt or configure a second MCP server.';
45
+ }
46
+ return [
47
+ 'Two SpringBrand MCP servers are configured:',
48
+ '- `springbrand`: production. Use it for normal work.',
49
+ '- `springbrand-dev`: development. Use it only when the user explicitly asks to test the development environment.',
50
+ '',
51
+ 'The CLI owns installation, endpoint configuration, and API-key authentication. Do not ask the user to copy credentials into a prompt or configure a second MCP server.',
52
+ '',
53
+ 'Never fall back from one environment to the other. If an operation fails or a connection is missing, report that for the selected environment; do not retry the same operation on the other server without the user\'s request.',
54
+ ].join('\n');
30
55
  }
31
- function copySkills(root, serverName) {
56
+ function renderSkill(source, serverNames) {
57
+ return source.replace(SHARED_SERVER_GUIDANCE, serverGuidance(serverNames));
58
+ }
59
+ function copySkills(root, serverNames) {
32
60
  for (const name of bundledSkillNames()) {
33
61
  const source = path.join(bundledSkillDir(name), 'SKILL.md');
34
62
  const target = path.join(root, 'skills', name, 'SKILL.md');
35
63
  fs.mkdirSync(path.dirname(target), { recursive: true });
36
64
  const content = fs.readFileSync(source, 'utf8');
37
- fs.writeFileSync(target, name === 'use-springbrand' ? renderSkill(content, serverName) : content, { mode: 0o600 });
65
+ if (name === 'use-springbrand' && !content.includes(SHARED_SERVER_GUIDANCE))
66
+ throw new Error('The bundled use-springbrand Skill is missing its shared server guidance');
67
+ fs.writeFileSync(target, name === 'use-springbrand' ? renderSkill(content, serverNames) : content, { mode: 0o600 });
38
68
  }
39
69
  }
40
- function writePlugin(root, mcpUrl, apiKey) {
70
+ function parsePluginMcpFile(file) {
71
+ let parsed;
72
+ try {
73
+ parsed = JSON.parse(fs.readFileSync(file, 'utf8'));
74
+ }
75
+ catch (error) {
76
+ throw new Error(`Could not read the SpringBrand Codex Plugin MCP config at ${file}`, { cause: error });
77
+ }
78
+ if (!isJsonObject(parsed))
79
+ throw new Error(`The SpringBrand Codex Plugin MCP config at ${file} is not an object`);
80
+ if ('mcpServers' in parsed && !isJsonObject(parsed.mcpServers))
81
+ throw new Error(`The SpringBrand Codex Plugin MCP config at ${file} has an invalid mcpServers map`);
82
+ return {
83
+ ...parsed,
84
+ mcpServers: isJsonObject(parsed.mcpServers) ? { ...parsed.mcpServers } : {},
85
+ };
86
+ }
87
+ /** Read the plugin's MCP map without silently replacing an unreadable file. */
88
+ function readPluginMcp(root) {
89
+ const files = [path.join(root, 'mcp.json'), path.join(root, '.mcp.json')]
90
+ .filter((file) => fs.existsSync(file));
91
+ // Validate both copies: a corrupt second file must not be overwritten merely because
92
+ // the primary copy happened to parse.
93
+ const parsed = files.map(parsePluginMcpFile);
94
+ return parsed[0] ?? { mcpServers: {} };
95
+ }
96
+ function orderServers(servers) {
97
+ const ordered = {};
98
+ for (const name of SPRINGBRAND_SERVERS) {
99
+ if (name in servers)
100
+ ordered[name] = servers[name];
101
+ }
102
+ for (const [name, entry] of Object.entries(servers)) {
103
+ if (!(name in ordered))
104
+ ordered[name] = entry;
105
+ }
106
+ return ordered;
107
+ }
108
+ function mergePluginMcp(existing, mcpUrl, apiKey) {
109
+ const servers = isJsonObject(existing.mcpServers) ? { ...existing.mcpServers } : {};
41
110
  const serverName = mcpServerName(mcpUrl);
42
- const mcp = {
111
+ servers[serverName] = {
112
+ type: 'streamable-http',
113
+ url: mcpUrl,
114
+ ...(apiKey ? { bearer_token_env_var: apiKeyEnvVar(environmentOf(mcpUrl) ?? 'production') } : {}),
115
+ };
116
+ return {
43
117
  $schema: 'https://agent-plugins.org/schemas/1.0.0/mcp.schema.json',
44
- mcpServers: {
45
- [serverName]: {
46
- type: 'streamable-http',
47
- url: mcpUrl,
48
- ...(apiKey ? { bearer_token_env_var: SPRINGBRAND_API_KEY_VAR } : {}),
49
- },
50
- },
118
+ ...existing,
119
+ mcpServers: orderServers(servers),
120
+ };
121
+ }
122
+ function pluginToolTimeout(root, serverName) {
123
+ let previous;
124
+ try {
125
+ previous = JSON.parse(fs.readFileSync(path.join(root, '.mcp.json'), 'utf8'));
126
+ }
127
+ catch (error) {
128
+ if (error.code !== 'ENOENT' && !(error instanceof SyntaxError))
129
+ throw error;
130
+ }
131
+ const servers = isJsonObject(previous) ? previous.mcpServers : undefined;
132
+ const server = isJsonObject(servers) ? servers[serverName] : undefined;
133
+ const timeout = isJsonObject(server) ? server.tool_timeout_sec : undefined;
134
+ return typeof timeout === 'number' && Number.isFinite(timeout)
135
+ ? Math.max(DEFAULT_TOOL_TIMEOUT_SECONDS, timeout)
136
+ : DEFAULT_TOOL_TIMEOUT_SECONDS;
137
+ }
138
+ /** The portable map stays timeout-free; Codex's copy carries its extension. */
139
+ function codexMcpFor(root, mcp) {
140
+ const servers = isJsonObject(mcp.mcpServers) ? mcp.mcpServers : {};
141
+ const codexServers = {};
142
+ for (const [name, entry] of Object.entries(servers)) {
143
+ const springbrand = name === 'springbrand' || name === 'springbrand-dev';
144
+ codexServers[name] = springbrand && isJsonObject(entry)
145
+ ? { ...entry, tool_timeout_sec: pluginToolTimeout(root, name) }
146
+ : entry;
147
+ }
148
+ return {
149
+ ...mcp,
150
+ mcpServers: codexServers,
51
151
  };
152
+ }
153
+ function writePluginMcpPair(root, mcp) {
154
+ writeJsonWithBackup(path.join(root, 'mcp.json'), mcp);
155
+ writeJsonWithBackup(path.join(root, '.mcp.json'), codexMcpFor(root, mcp));
156
+ }
157
+ function writePlugin(root, mcpUrl, apiKey) {
158
+ const mcp = mergePluginMcp(readPluginMcp(root), mcpUrl, apiKey);
159
+ const serverNames = Object.keys(isJsonObject(mcp.mcpServers) ? mcp.mcpServers : {});
52
160
  const manifest = {
53
161
  $schema: 'https://agent-plugins.org/schemas/1.0.0/plugin.schema.json',
54
162
  name: CODEX_PLUGIN_NAME,
@@ -68,8 +176,7 @@ function writePlugin(root, mcpUrl, apiKey) {
68
176
  logo: './assets/springbrand-icon.svg',
69
177
  },
70
178
  };
71
- writeJson(path.join(root, 'mcp.json'), mcp);
72
- writeJson(path.join(root, '.mcp.json'), mcp);
179
+ writePluginMcpPair(root, mcp);
73
180
  const codexManifest = {
74
181
  name: CODEX_PLUGIN_NAME,
75
182
  version: 'local',
@@ -83,7 +190,7 @@ function writePlugin(root, mcpUrl, apiKey) {
83
190
  const icon = fileURLToPath(new URL('../../assets/springbrand-icon.svg', import.meta.url));
84
191
  fs.mkdirSync(path.join(root, 'assets'), { recursive: true });
85
192
  fs.copyFileSync(icon, path.join(root, 'assets', 'springbrand-icon.svg'));
86
- copySkills(root, serverName);
193
+ copySkills(root, serverNames);
87
194
  }
88
195
  function updateMarketplace() {
89
196
  const file = marketplacePath();
@@ -119,14 +226,77 @@ function updateMarketplace() {
119
226
  if (addPlugin.error || addPlugin.status !== 0)
120
227
  throw new Error('Could not register the SpringBrand CLI Codex Plugin', { cause: addPlugin.error });
121
228
  }
229
+ /** Remove the plugin from the Personal Marketplace and ask Codex to unregister it. */
230
+ function removeMarketplaceEntry() {
231
+ const file = marketplacePath();
232
+ if (!fs.existsSync(file))
233
+ return false;
234
+ let marketplace;
235
+ try {
236
+ const parsed = JSON.parse(fs.readFileSync(file, 'utf8'));
237
+ if (!isJsonObject(parsed))
238
+ throw new Error('Marketplace JSON must contain an object');
239
+ marketplace = parsed;
240
+ }
241
+ catch (error) {
242
+ throw new Error('Could not read the Codex Personal Marketplace file', { cause: error });
243
+ }
244
+ const plugins = Array.isArray(marketplace.plugins) ? marketplace.plugins : [];
245
+ const filtered = plugins.filter((plugin) => plugin?.name !== CODEX_PLUGIN_NAME);
246
+ if (filtered.length === plugins.length)
247
+ return false;
248
+ writeJson(file, { ...marketplace, plugins: filtered });
249
+ // Best-effort: the marketplace entry is the CLI-owned registration source; an old
250
+ // Codex build without `plugin remove` must not strand the remaining removal.
251
+ spawn.sync('codex', ['plugin', 'remove', CODEX_PLUGIN_NAME], { encoding: 'utf8' });
252
+ return true;
253
+ }
254
+ /**
255
+ * Remove one environment's server, or both when no URL is selected. When no SpringBrand
256
+ * server remains, unregister the local plugin as well.
257
+ */
258
+ export function removeCodexPluginServers(mcpUrl) {
259
+ const root = pluginRoot();
260
+ const existing = readPluginMcp(root);
261
+ const servers = isJsonObject(existing.mcpServers) ? { ...existing.mcpServers } : {};
262
+ const names = mcpUrl ? [mcpServerName(mcpUrl)] : [...SPRINGBRAND_SERVERS];
263
+ let removed = false;
264
+ for (const name of names) {
265
+ if (name in servers) {
266
+ delete servers[name];
267
+ removed = true;
268
+ }
269
+ }
270
+ const remainingSpringbrand = SPRINGBRAND_SERVERS.filter((name) => name in servers);
271
+ if (remainingSpringbrand.length > 0) {
272
+ const next = { ...existing, mcpServers: orderServers(servers) };
273
+ writePluginMcpPair(root, next);
274
+ copySkills(root, remainingSpringbrand);
275
+ // The server files are already consistent. Re-registering is best-effort during
276
+ // uninstall, which must still work when the Codex binary is temporarily absent.
277
+ try {
278
+ updateMarketplace();
279
+ }
280
+ catch {
281
+ // Leave the existing marketplace entry; the next connect refreshes it.
282
+ }
283
+ return { removed, pluginRemoved: false };
284
+ }
285
+ // An empty plugin must not stay registered. Keep unrelated server entries on disk
286
+ // for a manual owner, but remove the SpringBrand registration and marketplace entry.
287
+ if (removed || fs.existsSync(path.join(root, 'mcp.json')) || fs.existsSync(path.join(root, '.mcp.json')))
288
+ writePluginMcpPair(root, { ...existing, mcpServers: orderServers(servers) });
289
+ const pluginRemoved = removeMarketplaceEntry();
290
+ return { removed, pluginRemoved };
291
+ }
122
292
  export function installCodexPlugin(options) {
123
293
  const root = pluginRoot();
124
294
  fs.mkdirSync(root, { recursive: true });
295
+ writePlugin(root, options.mcpUrl, options.apiKey);
125
296
  // Older CLI builds wrote a portable root manifest. Codex prefers that file
126
297
  // over the `.codex-plugin` adapter and then drops bearer-auth MCP entries;
127
298
  // remove only this CLI-owned stale file during the migration.
128
299
  fs.rmSync(path.join(root, 'plugin.json'), { force: true });
129
- writePlugin(root, options.mcpUrl, options.apiKey);
130
300
  updateMarketplace();
131
301
  }
132
302
  //# sourceMappingURL=codex-plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex-plugin.js","sourceRoot":"","sources":["../../src/lib/codex-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-plugin.js","sourceRoot":"","sources":["../../src/lib/codex-plugin.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,6 @@
2
2
  import type { Harness } from './harness-detect.js';
3
3
  import type { HarnessRunResult } from './connect-all.js';
4
4
  export declare function planText(harness: Harness, mcpUrl: string, apiKey?: string): string;
5
- export declare function uninstallPlanText(harness: Harness): string;
6
- export declare function uninstallHarness(harness: Harness, configPath: string, verbose: boolean, binaryOnPath: boolean): HarnessRunResult;
5
+ export declare function uninstallPlanText(harness: Harness, mcpUrl?: string): string;
6
+ export declare function uninstallHarness(harness: Harness, configPath: string, verbose: boolean, binaryOnPath: boolean, mcpUrl?: string): HarnessRunResult;
7
7
  //# sourceMappingURL=connect-all-uninstall.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connect-all-uninstall.d.ts","sourceRoot":"","sources":["../../src/lib/connect-all-uninstall.ts"],"names":[],"mappings":"AAAA,wFAAwF;AAExF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAezD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAkBlF;AACD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAwB1D;AAoMD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,GAAG,gBAAgB,CAyBhI"}
1
+ {"version":3,"file":"connect-all-uninstall.d.ts","sourceRoot":"","sources":["../../src/lib/connect-all-uninstall.ts"],"names":[],"mappings":"AAAA,wFAAwF;AAExF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AA0BzD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAkBlF;AACD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CA4B3E;AAmND,wBAAgB,gBAAgB,CAC5B,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,OAAO,EACrB,MAAM,CAAC,EAAE,MAAM,GAChB,gBAAgB,CA4ClB"}
@@ -1,6 +1,7 @@
1
1
  /** 复刻自 tiny-fish CLI 编译产物:connect-all-uninstall.d.ts + connect-all-uninstall.impl.js */
2
2
  import { clearConnectContext, connectContextState } from './auth.js';
3
3
  import { NATIVE_BY_HARNESS, openclawSkillUninstall } from './connect-clients.js';
4
+ import { removeCodexPluginServers } from './codex-plugin.js';
4
5
  import { ConnectInterruptedError, spawnRemoval } from './connect-runtime.js';
5
6
  import { removeCursorMcpServer, planCursorWrite } from './cursor-config.js';
6
7
  import { planOmpWrite, removeOmpMcpServer } from './omp-config.js';
@@ -10,9 +11,19 @@ import { planWorkbuddyWrite, removeWorkbuddyMcpServer, workbuddyMcpPath } from '
10
11
  import { devinMcpPath, planDevinWrite, removeDevinMcpServer } from './devin-config.js';
11
12
  import { clearHermesWebBackends, HERMES_PLUGIN_SHA } from './hermes-plugin.js';
12
13
  import { HARNESS_DISPLAY_NAMES as DISPLAY_NAMES } from './harness-detect.js';
14
+ import { springbrandServerNamesFor } from './mcp-endpoint.js';
13
15
  import { errLine } from './output.js';
14
16
  // OpenCode ships no `mcp remove`, so the only removal is editing the config it wrote.
15
- const OPENCODE_UNINSTALL_POINTER = 'remove the springbrand entry from ~/.config/opencode/opencode.json';
17
+ function opencodeUninstallPointer(mcpUrl) {
18
+ const names = springbrandServerNamesFor(mcpUrl);
19
+ return `remove the ${names.join(' and ')} entr${names.length === 1 ? 'y' : 'ies'} from ~/.config/opencode/opencode.json`;
20
+ }
21
+ function removalTarget(mcpUrl) {
22
+ const names = springbrandServerNamesFor(mcpUrl);
23
+ return names.length === 1
24
+ ? `the ${names[0]} entry`
25
+ : `the ${names.join(' and ')} entries`;
26
+ }
16
27
  export function planText(harness, mcpUrl, apiKey) {
17
28
  if (harness === 'cursor')
18
29
  return planCursorWrite(mcpUrl, apiKey);
@@ -32,32 +43,36 @@ export function planText(harness, mcpUrl, apiKey) {
32
43
  }
33
44
  return `would run \`sp connect ${harness}\` (harness-owned MCP write; no local file touched by the CLI)`;
34
45
  }
35
- export function uninstallPlanText(harness) {
46
+ export function uninstallPlanText(harness, mcpUrl) {
47
+ const target = removalTarget(mcpUrl);
36
48
  if (harness === 'cursor') {
37
- return 'would remove the springbrand entry from ~/.cursor/mcp.json';
49
+ return `would remove ${target} from ~/.cursor/mcp.json`;
38
50
  }
39
51
  if (harness === 'omp') {
40
- return "would remove the springbrand entry from omp's mcp.json (located via `omp config path`)";
52
+ return `would remove ${target} from omp's mcp.json (located via \`omp config path\`)`;
41
53
  }
42
54
  if (harness === 'pi') {
43
- return `would remove the springbrand entry from ${piMcpPath()}`;
55
+ return `would remove ${target} from ${piMcpPath()}`;
44
56
  }
45
57
  if (harness === 'workbuddy-ai') {
46
- return `would remove the springbrand entry from ${workbuddyMcpPath()}`;
58
+ return `would remove ${target} from ${workbuddyMcpPath()}`;
59
+ }
60
+ if (harness === 'codex') {
61
+ return `would remove ${target} from the Codex plugin and run \`${uninstallPointer(harness, mcpUrl)}\``;
47
62
  }
48
63
  if (harness === 'devin') {
49
- return `would remove the springbrand entry from ${devinMcpPath()}`;
64
+ return `would remove ${target} from ${devinMcpPath()}`;
50
65
  }
51
- if (!uninstallRuns(harness)) {
52
- return `would print \`${uninstallPointer(harness)}\` (no removal command exists)`;
66
+ if (!uninstallRuns(harness, mcpUrl)) {
67
+ return `would print \`${uninstallPointer(harness, mcpUrl)}\` (no removal command exists)`;
53
68
  }
54
69
  // Hermes alone leaves a seeded key behind; `mcp remove` never clears it.
55
70
  const envNote = harness === 'hermes'
56
71
  ? ` and clear ${HERMES_KEY_VAR} from Hermes' .env plus its springbrand web backends`
57
72
  : '';
58
- return `would run \`${uninstallPointer(harness)}\`${envNote}`;
73
+ return `would run \`${uninstallPointer(harness, mcpUrl)}\`${envNote}`;
59
74
  }
60
- function uninstallRuns(harness) {
75
+ function uninstallRuns(harness, mcpUrl) {
61
76
  if (harness === 'openclaw') {
62
77
  const removal = openclawSkillUninstall();
63
78
  return { command: removal.command, runs: [removal.args], timeoutMs: removal.timeoutMs };
@@ -66,13 +81,17 @@ function uninstallRuns(harness) {
66
81
  if (!native || native.removals.length === 0)
67
82
  return undefined;
68
83
  const extra = native.uninstallExtra ? [native.uninstallExtra.args] : [];
69
- return { command: native.command, runs: [...native.removals.map((r) => r.args), ...extra] };
84
+ const names = springbrandServerNamesFor(mcpUrl);
85
+ const runs = [...native.removals.map((r) => r.args), ...extra].flatMap((args) => args.includes('springbrand')
86
+ ? names.map((name) => args.map((arg) => arg === 'springbrand' ? name : arg))
87
+ : [args]);
88
+ return { command: native.command, runs };
70
89
  }
71
90
  /** Derived from the same args the spawn runs, so the advice cannot drift. */
72
- function uninstallPointer(harness) {
73
- const removal = uninstallRuns(harness);
91
+ function uninstallPointer(harness, mcpUrl) {
92
+ const removal = uninstallRuns(harness, mcpUrl);
74
93
  if (!removal)
75
- return OPENCODE_UNINSTALL_POINTER;
94
+ return opencodeUninstallPointer(mcpUrl);
76
95
  // `;` runs every removal but breaks cmd.exe; `&&` is the reverse — see
77
96
  // internal-docs/install-command-shell-quirks.md (PS 5.1 stays a known gap).
78
97
  const joiner = process.platform === 'win32' ? ' && ' : ' ; ';
@@ -122,7 +141,7 @@ function hermesKeyKeptAdvisory() {
122
141
  return (`left ${HERMES_KEY_VAR} in Hermes' .env because the entry was not removed. ` +
123
142
  'Run the command above, then re-run `sp connect --all --uninstall` to clear it.');
124
143
  }
125
- function runRemovalCommands(detection, removal, verbose) {
144
+ function runRemovalCommands(detection, removal, verbose, mcpUrl) {
126
145
  const { harness } = detection;
127
146
  let removed = false;
128
147
  try {
@@ -139,7 +158,7 @@ function runRemovalCommands(detection, removal, verbose) {
139
158
  outcome: 'uninstalled',
140
159
  removalFailed: true,
141
160
  errorMessage: `could not run \`${removal.command} ${args.join(' ')}\` (${result.error.message}) — nothing removed.`,
142
- fixCommand: uninstallPointer(harness),
161
+ fixCommand: uninstallPointer(harness, mcpUrl),
143
162
  };
144
163
  }
145
164
  // Non-zero is ambiguous (nothing registered vs real failure) — the pointer covers both.
@@ -159,11 +178,11 @@ function runRemovalCommands(detection, removal, verbose) {
159
178
  }
160
179
  return { kind: 'continue', removed };
161
180
  }
162
- function uninstallViaCommands(detection, verbose, binaryOnPath) {
181
+ function uninstallViaCommands(detection, verbose, binaryOnPath, mcpUrl) {
163
182
  const { harness } = detection;
164
- const removal = uninstallRuns(harness);
183
+ const removal = uninstallRuns(harness, mcpUrl);
165
184
  if (!removal) {
166
- return { ...detection, outcome: 'uninstall_pointer', fixCommand: uninstallPointer(harness) };
185
+ return { ...detection, outcome: 'uninstall_pointer', fixCommand: uninstallPointer(harness, mcpUrl) };
167
186
  }
168
187
  // Stale config: the harness binary is gone, so its removal command cannot run.
169
188
  // openclaw is exempt — its removal runs through npx, not the harness binary.
@@ -172,18 +191,18 @@ function uninstallViaCommands(detection, verbose, binaryOnPath) {
172
191
  ...detection,
173
192
  outcome: 'uninstall_pointer',
174
193
  errorMessage: `no \`${removal.command}\` binary on PATH — nothing to run.`,
175
- fixCommand: `Reinstall ${DISPLAY_NAMES[harness]} first, then: ${uninstallPointer(harness)}`,
194
+ fixCommand: `Reinstall ${DISPLAY_NAMES[harness]} first, then: ${uninstallPointer(harness, mcpUrl)}`,
176
195
  };
177
196
  }
178
197
  // Absent marker = never connected here, so a non-zero removal exit is a no-op.
179
198
  // Unreadable config cannot prove that, so it keeps the pointer.
180
- const connectedBefore = connectContextState(harness) !== 'absent';
181
- const ran = runRemovalCommands(detection, removal, verbose);
199
+ const connectedBefore = connectContextState(harness, mcpUrl) !== 'absent';
200
+ const ran = runRemovalCommands(detection, removal, verbose, mcpUrl);
182
201
  if (!('kind' in ran))
183
202
  return ran;
184
203
  if (ran.removed) {
185
204
  // Kept marker makes doctor emit a registration-lost repair that undoes this.
186
- clearConnectContext(harness);
205
+ clearConnectContext(harness, mcpUrl);
187
206
  return { ...detection, outcome: 'uninstalled' };
188
207
  }
189
208
  if (!connectedBefore)
@@ -192,7 +211,7 @@ function uninstallViaCommands(detection, verbose, binaryOnPath) {
192
211
  ...detection,
193
212
  outcome: 'uninstall_pointer',
194
213
  errorMessage: 'could not confirm removal (command exited non-zero; there may have been nothing to remove).',
195
- fixCommand: `Retry by hand: ${uninstallPointer(harness)}`,
214
+ fixCommand: `Retry by hand: ${uninstallPointer(harness, mcpUrl)}`,
196
215
  };
197
216
  }
198
217
  const MCP_JSON_UNINSTALLS = {
@@ -217,10 +236,10 @@ const MCP_JSON_UNINSTALLS = {
217
236
  fix: `Fix ${devinMcpPath()} by hand, then re-run: sp connect --all --uninstall`,
218
237
  },
219
238
  };
220
- function uninstallMcpJson(detection, spec) {
239
+ function uninstallMcpJson(detection, spec, mcpUrl) {
221
240
  let result;
222
241
  try {
223
- result = spec.remove();
242
+ result = spec.remove(mcpUrl);
224
243
  }
225
244
  catch (e) {
226
245
  result = { status: 'corrupt_skip', error: e instanceof Error ? e.message : String(e) };
@@ -237,10 +256,10 @@ function uninstallMcpJson(detection, spec) {
237
256
  if (result.status === 'unchanged') {
238
257
  return { ...detection, outcome: 'uninstall_noop' };
239
258
  }
240
- clearConnectContext(detection.harness);
259
+ clearConnectContext(detection.harness, mcpUrl);
241
260
  return { ...detection, outcome: 'uninstalled' };
242
261
  }
243
- export function uninstallHarness(harness, configPath, verbose, binaryOnPath) {
262
+ export function uninstallHarness(harness, configPath, verbose, binaryOnPath, mcpUrl) {
244
263
  const detection = {
245
264
  harness,
246
265
  detected: true,
@@ -248,10 +267,29 @@ export function uninstallHarness(harness, configPath, verbose, binaryOnPath) {
248
267
  installed: false,
249
268
  outcome: 'uninstall_noop',
250
269
  };
270
+ let pluginRemoval;
271
+ if (harness === 'codex') {
272
+ try {
273
+ pluginRemoval = removeCodexPluginServers(mcpUrl);
274
+ }
275
+ catch (error) {
276
+ return {
277
+ ...detection,
278
+ outcome: 'uninstalled',
279
+ removalFailed: true,
280
+ errorMessage: `could not update the Codex plugin (${error instanceof Error ? error.message : String(error)}) — nothing removed.`,
281
+ fixCommand: 'Fix ~/.agents/plugins/springbrand-cli/mcp.json by hand, then re-run: sp connect --all --uninstall',
282
+ };
283
+ }
284
+ }
251
285
  const mcpJson = MCP_JSON_UNINSTALLS[harness];
252
- const result = mcpJson
253
- ? uninstallMcpJson(detection, mcpJson)
254
- : uninstallViaCommands(detection, verbose, binaryOnPath);
286
+ let result = mcpJson
287
+ ? uninstallMcpJson(detection, mcpJson, mcpUrl)
288
+ : uninstallViaCommands(detection, verbose, binaryOnPath, mcpUrl);
289
+ if (pluginRemoval && (pluginRemoval.removed || pluginRemoval.pluginRemoved) &&
290
+ result.outcome === 'uninstall_noop') {
291
+ result = { ...result, outcome: 'uninstalled' };
292
+ }
255
293
  if (harness !== 'hermes')
256
294
  return result;
257
295
  // Clearing a key the entry still references would break a working install.
@@ -1 +1 @@
1
- {"version":3,"file":"connect-all-uninstall.js","sourceRoot":"","sources":["../../src/lib/connect-all-uninstall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connect-all-uninstall.js","sourceRoot":"","sources":["../../src/lib/connect-all-uninstall.ts"],"names":[],"mappings":"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"}
@@ -32,9 +32,13 @@ export interface HarnessRunResult extends HarnessResultBase {
32
32
  }
33
33
  export interface ConnectAllOptions {
34
34
  apiKey?: string;
35
+ /** Force keyless OAuth for every selected harness. */
36
+ oauth?: boolean;
35
37
  mcpUrl: string;
36
38
  dryRun: boolean;
37
39
  uninstall: boolean;
40
+ /** Explicit --url target for uninstall; absent means remove both environments. */
41
+ uninstallUrl?: string;
38
42
  /** Skip the end-of-install agent launch (finale still prints the ask). */
39
43
  noLaunch?: boolean;
40
44
  /** Bare connect: offer the checkbox picker over the detected harnesses. */
@@ -1 +1 @@
1
- {"version":3,"file":"connect-all.d.ts","sourceRoot":"","sources":["../../src/lib/connect-all.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAEpE,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAgC7D,wBAAsB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAUvI;AA+FD,4FAA4F;AAC5F,wBAAgB,aAAa,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAElE;AAiKD,wBAAsB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAyD5E;AACD,eAAO,MAAM,iBAAiB,EAAE,MAWH,CAAC;AAyC9B,MAAM,MAAM,OAAO,GAAG,cAAc,GAAG,eAAe,GAAG,cAAc,GAAG,iBAAiB,GAAG,WAAW,GAAG,cAAc,GAAG,QAAQ,GAAG,iBAAiB,GAAG,aAAa,GAAG,cAAc,GAAG,kBAAkB,GAAG,aAAa,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,SAAS,GAAG,aAAa,GAAG,YAAY,CAAC;AAEpT,MAAM,MAAM,iBAAiB,GAAG;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACvD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,qEAAqE;IACrE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wEAAwE;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"connect-all.d.ts","sourceRoot":"","sources":["../../src/lib/connect-all.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAEpE,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAgC7D,wBAAsB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAUvI;AAgGD,4FAA4F;AAC5F,wBAAgB,aAAa,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAElE;AAmKD,wBAAsB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAyD5E;AACD,eAAO,MAAM,iBAAiB,EAAE,MAWH,CAAC;AAyC9B,MAAM,MAAM,OAAO,GAAG,cAAc,GAAG,eAAe,GAAG,cAAc,GAAG,iBAAiB,GAAG,WAAW,GAAG,cAAc,GAAG,QAAQ,GAAG,iBAAiB,GAAG,aAAa,GAAG,cAAc,GAAG,kBAAkB,GAAG,aAAa,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,SAAS,GAAG,aAAa,GAAG,YAAY,CAAC;AAEpT,MAAM,MAAM,iBAAiB,GAAG;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACvD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,qEAAqE;IACrE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wEAAwE;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB"}