@springbrand/cli 0.1.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 (222) hide show
  1. package/README.md +167 -0
  2. package/dist/commands/auth.d.ts +4 -0
  3. package/dist/commands/auth.d.ts.map +1 -0
  4. package/dist/commands/auth.js +241 -0
  5. package/dist/commands/auth.js.map +1 -0
  6. package/dist/commands/check-version.d.ts +3 -0
  7. package/dist/commands/check-version.d.ts.map +1 -0
  8. package/dist/commands/check-version.js +112 -0
  9. package/dist/commands/check-version.js.map +1 -0
  10. package/dist/commands/config-claude.d.ts +4 -0
  11. package/dist/commands/config-claude.d.ts.map +1 -0
  12. package/dist/commands/config-claude.js +78 -0
  13. package/dist/commands/config-claude.js.map +1 -0
  14. package/dist/commands/connect.d.ts +41 -0
  15. package/dist/commands/connect.d.ts.map +1 -0
  16. package/dist/commands/connect.js +901 -0
  17. package/dist/commands/connect.js.map +1 -0
  18. package/dist/commands/doctor.d.ts +6 -0
  19. package/dist/commands/doctor.d.ts.map +1 -0
  20. package/dist/commands/doctor.js +124 -0
  21. package/dist/commands/doctor.js.map +1 -0
  22. package/dist/commands/upgrade.d.ts +9 -0
  23. package/dist/commands/upgrade.d.ts.map +1 -0
  24. package/dist/commands/upgrade.js +133 -0
  25. package/dist/commands/upgrade.js.map +1 -0
  26. package/dist/index.d.ts +4 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +15 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/lib/agent-detect.d.ts +33 -0
  31. package/dist/lib/agent-detect.d.ts.map +1 -0
  32. package/dist/lib/agent-detect.js +81 -0
  33. package/dist/lib/agent-detect.js.map +1 -0
  34. package/dist/lib/agent-launcher.d.ts +22 -0
  35. package/dist/lib/agent-launcher.d.ts.map +1 -0
  36. package/dist/lib/agent-launcher.js +67 -0
  37. package/dist/lib/agent-launcher.js.map +1 -0
  38. package/dist/lib/auth.d.ts +90 -0
  39. package/dist/lib/auth.d.ts.map +1 -0
  40. package/dist/lib/auth.js +327 -0
  41. package/dist/lib/auth.js.map +1 -0
  42. package/dist/lib/bundled-skill.d.ts +5 -0
  43. package/dist/lib/bundled-skill.d.ts.map +1 -0
  44. package/dist/lib/bundled-skill.js +13 -0
  45. package/dist/lib/bundled-skill.js.map +1 -0
  46. package/dist/lib/claude-config.d.ts +19 -0
  47. package/dist/lib/claude-config.d.ts.map +1 -0
  48. package/dist/lib/claude-config.js +202 -0
  49. package/dist/lib/claude-config.js.map +1 -0
  50. package/dist/lib/cli-install.d.ts +40 -0
  51. package/dist/lib/cli-install.d.ts.map +1 -0
  52. package/dist/lib/cli-install.js +42 -0
  53. package/dist/lib/cli-install.js.map +1 -0
  54. package/dist/lib/command-code-config.d.ts +5 -0
  55. package/dist/lib/command-code-config.d.ts.map +1 -0
  56. package/dist/lib/command-code-config.js +16 -0
  57. package/dist/lib/command-code-config.js.map +1 -0
  58. package/dist/lib/connect-all-auth.d.ts +21 -0
  59. package/dist/lib/connect-all-auth.d.ts.map +1 -0
  60. package/dist/lib/connect-all-auth.js +113 -0
  61. package/dist/lib/connect-all-auth.js.map +1 -0
  62. package/dist/lib/connect-all-summary.d.ts +10 -0
  63. package/dist/lib/connect-all-summary.d.ts.map +1 -0
  64. package/dist/lib/connect-all-summary.js +153 -0
  65. package/dist/lib/connect-all-summary.js.map +1 -0
  66. package/dist/lib/connect-all-uninstall.d.ts +7 -0
  67. package/dist/lib/connect-all-uninstall.d.ts.map +1 -0
  68. package/dist/lib/connect-all-uninstall.js +249 -0
  69. package/dist/lib/connect-all-uninstall.js.map +1 -0
  70. package/dist/lib/connect-all.d.ts +42 -0
  71. package/dist/lib/connect-all.d.ts.map +1 -0
  72. package/dist/lib/connect-all.js +438 -0
  73. package/dist/lib/connect-all.js.map +1 -0
  74. package/dist/lib/connect-auth.d.ts +7 -0
  75. package/dist/lib/connect-auth.d.ts.map +1 -0
  76. package/dist/lib/connect-auth.js +50 -0
  77. package/dist/lib/connect-auth.js.map +1 -0
  78. package/dist/lib/connect-clients.d.ts +108 -0
  79. package/dist/lib/connect-clients.d.ts.map +1 -0
  80. package/dist/lib/connect-clients.js +358 -0
  81. package/dist/lib/connect-clients.js.map +1 -0
  82. package/dist/lib/connect-fallback.d.ts +27 -0
  83. package/dist/lib/connect-fallback.d.ts.map +1 -0
  84. package/dist/lib/connect-fallback.js +166 -0
  85. package/dist/lib/connect-fallback.js.map +1 -0
  86. package/dist/lib/connect-picker.d.ts +19 -0
  87. package/dist/lib/connect-picker.d.ts.map +1 -0
  88. package/dist/lib/connect-picker.js +155 -0
  89. package/dist/lib/connect-picker.js.map +1 -0
  90. package/dist/lib/connect-preflight.d.ts +17 -0
  91. package/dist/lib/connect-preflight.d.ts.map +1 -0
  92. package/dist/lib/connect-preflight.js +81 -0
  93. package/dist/lib/connect-preflight.js.map +1 -0
  94. package/dist/lib/connect-runtime.d.ts +109 -0
  95. package/dist/lib/connect-runtime.d.ts.map +1 -0
  96. package/dist/lib/connect-runtime.js +360 -0
  97. package/dist/lib/connect-runtime.js.map +1 -0
  98. package/dist/lib/constants.d.ts +23 -0
  99. package/dist/lib/constants.d.ts.map +1 -0
  100. package/dist/lib/constants.js +87 -0
  101. package/dist/lib/constants.js.map +1 -0
  102. package/dist/lib/cursor-config.d.ts +16 -0
  103. package/dist/lib/cursor-config.d.ts.map +1 -0
  104. package/dist/lib/cursor-config.js +34 -0
  105. package/dist/lib/cursor-config.js.map +1 -0
  106. package/dist/lib/doctor-checks.d.ts +21 -0
  107. package/dist/lib/doctor-checks.d.ts.map +1 -0
  108. package/dist/lib/doctor-checks.js +312 -0
  109. package/dist/lib/doctor-checks.js.map +1 -0
  110. package/dist/lib/doctor-repairs.d.ts +11 -0
  111. package/dist/lib/doctor-repairs.d.ts.map +1 -0
  112. package/dist/lib/doctor-repairs.js +130 -0
  113. package/dist/lib/doctor-repairs.js.map +1 -0
  114. package/dist/lib/doctor-report.d.ts +195 -0
  115. package/dist/lib/doctor-report.d.ts.map +1 -0
  116. package/dist/lib/doctor-report.js +102 -0
  117. package/dist/lib/doctor-report.js.map +1 -0
  118. package/dist/lib/doctor-telemetry.d.ts +9 -0
  119. package/dist/lib/doctor-telemetry.d.ts.map +1 -0
  120. package/dist/lib/doctor-telemetry.js +63 -0
  121. package/dist/lib/doctor-telemetry.js.map +1 -0
  122. package/dist/lib/harness-detect.d.ts +33 -0
  123. package/dist/lib/harness-detect.d.ts.map +1 -0
  124. package/dist/lib/harness-detect.js +70 -0
  125. package/dist/lib/harness-detect.js.map +1 -0
  126. package/dist/lib/harness-spec.d.ts +285 -0
  127. package/dist/lib/harness-spec.d.ts.map +1 -0
  128. package/dist/lib/harness-spec.js +268 -0
  129. package/dist/lib/harness-spec.js.map +1 -0
  130. package/dist/lib/harness.d.ts +27 -0
  131. package/dist/lib/harness.d.ts.map +1 -0
  132. package/dist/lib/harness.js +125 -0
  133. package/dist/lib/harness.js.map +1 -0
  134. package/dist/lib/hermes-config.d.ts +22 -0
  135. package/dist/lib/hermes-config.d.ts.map +1 -0
  136. package/dist/lib/hermes-config.js +76 -0
  137. package/dist/lib/hermes-config.js.map +1 -0
  138. package/dist/lib/hermes-env.d.ts +19 -0
  139. package/dist/lib/hermes-env.d.ts.map +1 -0
  140. package/dist/lib/hermes-env.js +169 -0
  141. package/dist/lib/hermes-env.js.map +1 -0
  142. package/dist/lib/hermes-plugin.d.ts +40 -0
  143. package/dist/lib/hermes-plugin.d.ts.map +1 -0
  144. package/dist/lib/hermes-plugin.js +168 -0
  145. package/dist/lib/hermes-plugin.js.map +1 -0
  146. package/dist/lib/install-root.d.ts +18 -0
  147. package/dist/lib/install-root.d.ts.map +1 -0
  148. package/dist/lib/install-root.js +55 -0
  149. package/dist/lib/install-root.js.map +1 -0
  150. package/dist/lib/mcp-config.d.ts +36 -0
  151. package/dist/lib/mcp-config.d.ts.map +1 -0
  152. package/dist/lib/mcp-config.js +90 -0
  153. package/dist/lib/mcp-config.js.map +1 -0
  154. package/dist/lib/mcp-endpoint.d.ts +16 -0
  155. package/dist/lib/mcp-endpoint.d.ts.map +1 -0
  156. package/dist/lib/mcp-endpoint.js +41 -0
  157. package/dist/lib/mcp-endpoint.js.map +1 -0
  158. package/dist/lib/mcp-json-config.d.ts +43 -0
  159. package/dist/lib/mcp-json-config.d.ts.map +1 -0
  160. package/dist/lib/mcp-json-config.js +164 -0
  161. package/dist/lib/mcp-json-config.js.map +1 -0
  162. package/dist/lib/notice.d.ts +13 -0
  163. package/dist/lib/notice.d.ts.map +1 -0
  164. package/dist/lib/notice.js +73 -0
  165. package/dist/lib/notice.js.map +1 -0
  166. package/dist/lib/omp-config.d.ts +18 -0
  167. package/dist/lib/omp-config.d.ts.map +1 -0
  168. package/dist/lib/omp-config.js +73 -0
  169. package/dist/lib/omp-config.js.map +1 -0
  170. package/dist/lib/output.d.ts +22 -0
  171. package/dist/lib/output.d.ts.map +1 -0
  172. package/dist/lib/output.js +92 -0
  173. package/dist/lib/output.js.map +1 -0
  174. package/dist/lib/pi-config.d.ts +27 -0
  175. package/dist/lib/pi-config.d.ts.map +1 -0
  176. package/dist/lib/pi-config.js +113 -0
  177. package/dist/lib/pi-config.js.map +1 -0
  178. package/dist/lib/registration-detect.d.ts +28 -0
  179. package/dist/lib/registration-detect.d.ts.map +1 -0
  180. package/dist/lib/registration-detect.js +563 -0
  181. package/dist/lib/registration-detect.js.map +1 -0
  182. package/dist/lib/setup-telemetry.d.ts +273 -0
  183. package/dist/lib/setup-telemetry.d.ts.map +1 -0
  184. package/dist/lib/setup-telemetry.js +309 -0
  185. package/dist/lib/setup-telemetry.js.map +1 -0
  186. package/dist/lib/signals.d.ts +14 -0
  187. package/dist/lib/signals.d.ts.map +1 -0
  188. package/dist/lib/signals.js +29 -0
  189. package/dist/lib/signals.js.map +1 -0
  190. package/dist/lib/skill-install.d.ts +10 -0
  191. package/dist/lib/skill-install.d.ts.map +1 -0
  192. package/dist/lib/skill-install.js +94 -0
  193. package/dist/lib/skill-install.js.map +1 -0
  194. package/dist/lib/skill-paths.d.ts +7 -0
  195. package/dist/lib/skill-paths.d.ts.map +1 -0
  196. package/dist/lib/skill-paths.js +37 -0
  197. package/dist/lib/skill-paths.js.map +1 -0
  198. package/dist/lib/skill-vendor.d.ts +20 -0
  199. package/dist/lib/skill-vendor.d.ts.map +1 -0
  200. package/dist/lib/skill-vendor.js +215 -0
  201. package/dist/lib/skill-vendor.js.map +1 -0
  202. package/dist/lib/skill.d.ts +14 -0
  203. package/dist/lib/skill.d.ts.map +1 -0
  204. package/dist/lib/skill.js +87 -0
  205. package/dist/lib/skill.js.map +1 -0
  206. package/dist/lib/verify.d.ts +35 -0
  207. package/dist/lib/verify.d.ts.map +1 -0
  208. package/dist/lib/verify.js +169 -0
  209. package/dist/lib/verify.js.map +1 -0
  210. package/dist/program.d.ts +8 -0
  211. package/dist/program.d.ts.map +1 -0
  212. package/dist/program.js +54 -0
  213. package/dist/program.js.map +1 -0
  214. package/package.json +55 -0
  215. package/skill/springbrand-action-api/SKILL.md +49 -0
  216. package/skill/springbrand-action-api/references/action-aliases.md +156 -0
  217. package/skill/springbrand-action-api/references/action-discovery.md +95 -0
  218. package/skill/springbrand-connector/SKILL.md +49 -0
  219. package/skill/springbrand-gtm/SKILL.md +34 -0
  220. package/skill/springbrand-platform/SKILL.md +55 -0
  221. package/skill/springbrand-platform/references/plugin-discovery.md +94 -0
  222. package/skill/use-springbrand/SKILL.md +70 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /** 复刻自 tiny-fish CLI 编译产物:doctor.d.ts + doctor.impl.js */
2
+ import type { Command } from 'commander';
3
+ import type { DoctorOptions, DoctorReport } from '../lib/doctor-report.js';
4
+ export declare function runDoctor(options: DoctorOptions): Promise<DoctorReport>;
5
+ export declare function registerDoctor(program: Command): void;
6
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAE1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAuB3E,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAyC7E;AACD,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0DrD"}
@@ -0,0 +1,124 @@
1
+ /** 复刻自 tiny-fish CLI 编译产物:doctor.d.ts + doctor.impl.js */
2
+ import { CLI_VERSION } from '../lib/constants.js';
3
+ import { checkAuthCall, checkCliVersion, checkConnectivity, checkCredential, checkHermesPlugin, checkPiAdapter, checkRegistration, provesHarnessReach, verifyHarnessKey, } from '../lib/doctor-checks.js';
4
+ import { DOCTOR_COULD_NOT_RUN, DOCTOR_INVALID_INPUT, DOCTOR_SCHEMA_VERSION, doctorReportSchema, exitCodeFor, renderPretty, verdictFor, } from '../lib/doctor-report.js';
5
+ import { applyRepairs, repairsFor } from '../lib/doctor-repairs.js';
6
+ import { couldNotRunPayload, telemetryPayload } from '../lib/doctor-telemetry.js';
7
+ import { ALL_HARNESSES } from '../lib/harness-detect.js';
8
+ import { err, errLine, out, outLine } from '../lib/output.js';
9
+ import { detectRegistrations } from '../lib/registration-detect.js';
10
+ import { sendDoctorCompleted } from '../lib/setup-telemetry.js';
11
+ import { verifyMcpAuth } from '../lib/verify.js';
12
+ import { HERMES_PLUGIN_VERSION } from '../lib/hermes-plugin.js';
13
+ import { DEFAULT_MCP_URL } from '../lib/mcp-endpoint.js';
14
+ /** Skips mean no Hermes; stamping those buries the drift share. */
15
+ function hermesPluginVersions(result) {
16
+ if (!result || result.check.status === 'skip')
17
+ return {};
18
+ return {
19
+ hermes_plugin_expected_version: HERMES_PLUGIN_VERSION,
20
+ ...(result.observedVersion ? { hermes_plugin_version: result.observedVersion } : {}),
21
+ };
22
+ }
23
+ export async function runDoctor(options) {
24
+ const statuses = detectRegistrations(options.harness ? [options.harness] : undefined);
25
+ const credential = checkCredential();
26
+ const cliAuth = credential.key ? verifyMcpAuth(credential.key) : undefined;
27
+ const [connectivity, cliAuthResult, keyAuths] = await Promise.all([
28
+ checkConnectivity(options.mcpUrl),
29
+ cliAuth,
30
+ Promise.all(statuses.map((status) => verifyHarnessKey(status, cliAuth, options.mcpUrl))),
31
+ ]);
32
+ const hermesStatus = statuses.find((status) => status.harness === 'hermes');
33
+ const hermesPlugin = hermesStatus ? checkHermesPlugin(hermesStatus) : undefined;
34
+ const piStatus = statuses.find((status) => status.harness === 'pi');
35
+ const checks = [
36
+ checkCliVersion(),
37
+ connectivity,
38
+ ...statuses.map((status, i) => checkRegistration(status, options.mcpUrl, keyAuths[i], !credential.key)),
39
+ ...(hermesPlugin ? [hermesPlugin.check] : []),
40
+ ...(piStatus ? [checkPiAdapter(piStatus)] : []),
41
+ credential.check,
42
+ checkAuthCall(cliAuthResult),
43
+ ];
44
+ const healthOk = checks.some((c) => c.id === 'mcp-connectivity' && c.status === 'pass');
45
+ const harnesses = statuses.map((status, i) => ({
46
+ harness: status.harness,
47
+ detected: status.detected,
48
+ registered: status.registered,
49
+ auth_mode: status.authMode,
50
+ ...(status.recordedAuthMode ? { recorded_auth_mode: status.recordedAuthMode } : {}),
51
+ proves_harness_reach: provesHarnessReach(status, keyAuths[i], healthOk, options.mcpUrl),
52
+ }));
53
+ const body = {
54
+ schema_version: DOCTOR_SCHEMA_VERSION,
55
+ cli_version: CLI_VERSION,
56
+ ...verdictFor(checks),
57
+ checks,
58
+ harnesses,
59
+ repairs: repairsFor(checks, statuses),
60
+ ...hermesPluginVersions(hermesPlugin),
61
+ };
62
+ // The one unauthored string is bounded before it lands here.
63
+ return doctorReportSchema.parse(body);
64
+ }
65
+ export function registerDoctor(program) {
66
+ program
67
+ .command('doctor')
68
+ .description('Diagnose your SpringBrand setup')
69
+ .option('--pretty', 'Human-readable check list instead of JSON')
70
+ .option('--harness <name>', `Restrict to one harness (${ALL_HARNESSES.join(', ')})`)
71
+ .option('--url <mcpUrl>', 'MCP endpoint override')
72
+ .option('--fix', 'Repair what can be repaired by re-running sp connect')
73
+ .option('--yes', 'Allow --fix to run without a terminal (unattended-safe repairs only)')
74
+ .action(async (options) => {
75
+ if (options.harness && !ALL_HARNESSES.includes(options.harness)) {
76
+ err({ error: `Unknown --harness value: ${options.harness}`, valid: ALL_HARNESSES });
77
+ process.exitCode = DOCTOR_INVALID_INPUT;
78
+ return;
79
+ }
80
+ const doctorOptions = {
81
+ mcpUrl: options.url ?? DEFAULT_MCP_URL,
82
+ fix: Boolean(options.fix),
83
+ yes: Boolean(options.yes),
84
+ ...(options.harness ? { harness: options.harness } : {}),
85
+ };
86
+ let report;
87
+ let offered;
88
+ let outcomes = [];
89
+ const startedAt = performance.now();
90
+ try {
91
+ report = await runDoctor(doctorOptions);
92
+ offered = report.repairs;
93
+ if (doctorOptions.fix && report.repairs.length > 0) {
94
+ outcomes = await applyRepairs(report.repairs, doctorOptions);
95
+ for (const outcome of outcomes) {
96
+ const reason = outcome.reason ? ` (${outcome.reason})` : '';
97
+ errLine(`${outcome.status}: ${outcome.repair.command}${reason}`);
98
+ }
99
+ // Re-diagnose so the emitted report describes the machine after repair, not before.
100
+ report = await runDoctor(doctorOptions);
101
+ }
102
+ }
103
+ catch (e) {
104
+ // Exit 2 means doctor itself broke, a different claim from "your setup is broken".
105
+ // Authored, like every other string a user might paste; raw text is behind --debug.
106
+ if (process.env['SPRINGBRAND_DEBUG']) {
107
+ errLine(e instanceof Error ? (e.stack ?? e.message) : String(e));
108
+ }
109
+ err({ error: 'doctor could not complete; re-run with --debug for the raw error' });
110
+ process.exitCode = DOCTOR_COULD_NOT_RUN;
111
+ // After the exit code is set: telemetry never decides how doctor exits.
112
+ await sendDoctorCompleted(doctorOptions.mcpUrl, couldNotRunPayload(e, doctorOptions, Math.round(performance.now() - startedAt)));
113
+ return;
114
+ }
115
+ if (options.pretty)
116
+ outLine(renderPretty(report));
117
+ else
118
+ out(report);
119
+ process.exitCode = exitCodeFor(report.checks);
120
+ // After the exit code is set: telemetry never decides how doctor exits.
121
+ await sendDoctorCompleted(doctorOptions.mcpUrl, telemetryPayload(report, offered, outcomes, doctorOptions, Math.round(performance.now() - startedAt)));
122
+ });
123
+ }
124
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAI1D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,GAAG,MAAM,yBAAyB,CAAC;AAC1M,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,GAAG,MAAM,yBAAyB,CAAC;AAExK,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,mEAAmE;AACnE,SAAS,oBAAoB,CAAC,MAAiE;IAC3F,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM;QACzC,OAAO,EAAE,CAAC;IACd,OAAO;QACH,8BAA8B,EAAE,qBAAqB;QACrD,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvF,CAAC;AACN,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAsB;IAClD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACtF,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,MAAM,CAAC,YAAY,EAAE,aAAa,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9D,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC;QACjC,OAAO;QACP,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;KAC3F,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;IAC5E,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG;QACX,eAAe,EAAE;QACjB,YAAY;QACZ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,UAAU,CAAC,KAAK;QAChB,aAAa,CAAC,aAAa,CAAC;KAC/B,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,kBAAkB,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IACxF,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS,EAAE,MAAM,CAAC,QAAQ;QAC1B,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,oBAAoB,EAAE,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC;KAC1F,CAAC,CAAC,CAAC;IACJ,MAAM,IAAI,GAAG;QACT,cAAc,EAAE,qBAAqB;QACrC,WAAW,EAAE,WAAW;QACxB,GAAG,UAAU,CAAC,MAAM,CAAC;QACrB,MAAM;QACN,SAAS;QACT,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC;QACrC,GAAG,oBAAoB,CAAC,YAAY,CAAC;KACxC,CAAC;IACF,6DAA6D;IAC7D,OAAO,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AACD,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC3C,OAAO;SACF,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,iCAAiC,CAAC;SAC9C,MAAM,CAAC,UAAU,EAAE,2CAA2C,CAAC;SAC/D,MAAM,CAAC,kBAAkB,EAAE,4BAA4B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;SACnF,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;SACjD,MAAM,CAAC,OAAO,EAAE,sDAAsD,CAAC;SACvE,MAAM,CAAC,OAAO,EAAE,sEAAsE,CAAC;SACvF,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC1B,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,EAAE,KAAK,EAAE,4BAA4B,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;YACpF,OAAO,CAAC,QAAQ,GAAG,oBAAoB,CAAC;YACxC,OAAO;QACX,CAAC;QACD,MAAM,aAAa,GAAG;YAClB,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,eAAe;YACtC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;YACzB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;YACzB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC;QACF,IAAI,MAAM,CAAC;QACX,IAAI,OAAO,CAAC;QACZ,IAAI,QAAQ,GAAoB,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC;YACD,MAAM,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,CAAC;YACxC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YACzB,IAAI,aAAa,CAAC,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjD,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;gBAC7D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5D,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,EAAE,CAAC,CAAC;gBACrE,CAAC;gBACD,oFAAoF;gBACpF,MAAM,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,mFAAmF;YACnF,oFAAoF;YACpF,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,CAAC;YACD,GAAG,CAAC,EAAE,KAAK,EAAE,kEAAkE,EAAE,CAAC,CAAC;YACnF,OAAO,CAAC,QAAQ,GAAG,oBAAoB,CAAC;YACxC,wEAAwE;YACxE,MAAM,mBAAmB,CAAC,aAAa,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACjI,OAAO;QACX,CAAC;QACD,IAAI,OAAO,CAAC,MAAM;YACd,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;;YAE9B,GAAG,CAAC,MAAM,CAAC,CAAC;QAChB,OAAO,CAAC,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,wEAAwE;QACxE,MAAM,mBAAmB,CAAC,aAAa,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3J,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,9 @@
1
+ /** 复刻自 tiny-fish CLI 编译产物:upgrade.d.ts + upgrade.impl.js */
2
+ import type { Command } from 'commander';
3
+ import type { UpgradeScope } from '../lib/setup-telemetry.js';
4
+ /** Returns the version now installed, so the caller reports exactly what the user was told. */
5
+ export declare function runUpgrade(verbose?: boolean, scope?: UpgradeScope): string | null;
6
+ /** `runUpgrade` plus its outcome telemetry, which must never change what the upgrade does. */
7
+ export declare function runUpgradeCommand(verbose?: boolean, scope?: UpgradeScope): Promise<void>;
8
+ export declare function registerUpgrade(program: Command): void;
9
+ //# sourceMappingURL=upgrade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,2BAA2B,CAAC;AA4B9E,+FAA+F;AAC/F,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAkCjF;AAiBD,8FAA8F;AAC9F,wBAAsB,iBAAiB,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAoC9F;AACD,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CActD"}
@@ -0,0 +1,133 @@
1
+ /** 复刻自 tiny-fish CLI 编译产物:upgrade.d.ts + upgrade.impl.js */
2
+ import spawn from 'cross-spawn';
3
+ import { CLI_VERSION, SPRINGBRAND_CLI_PACKAGE } from '../lib/constants.js';
4
+ import { installRoot, readInstalledVersion } from '../lib/install-root.js';
5
+ import { suppressNotice } from '../lib/notice.js';
6
+ import { errLine } from '../lib/output.js';
7
+ import { sendUpgradeCompleted, telemetryDisabled, } from '../lib/setup-telemetry.js';
8
+ import { installSignalGuard, SIGNAL_EXIT_CODES } from '../lib/signals.js';
9
+ import { installSpringBrandCli } from '../lib/cli-install.js';
10
+ import { updateWebSkill } from '../lib/skill-install.js';
11
+ import { ConnectInterruptedError } from '../lib/connect-runtime.js';
12
+ const VERSION_READ_TIMEOUT_MS = 2_000;
13
+ const INTERRUPTED_MESSAGE = 'Upgrade interrupted — run `sp upgrade` again to finish.';
14
+ function attempt(label, run) {
15
+ try {
16
+ run();
17
+ errLine(`✓ ${label}: done`);
18
+ return undefined;
19
+ }
20
+ catch (error) {
21
+ // Ctrl+C is abandonment, not failure — neither step should be reported as broken.
22
+ if (error instanceof ConnectInterruptedError)
23
+ throw error;
24
+ const message = error instanceof Error ? error.message : String(error);
25
+ errLine(`✗ ${label}: ${message}`);
26
+ return message;
27
+ }
28
+ }
29
+ /** Returns the version now installed, so the caller reports exactly what the user was told. */
30
+ export function runUpgrade(verbose, scope) {
31
+ errLine('Upgrading SpringBrand...');
32
+ let refreshed = false;
33
+ try {
34
+ // Every selected step runs: one failing must not stall the other.
35
+ const failures = [
36
+ scope === 'skill'
37
+ ? undefined
38
+ : attempt('update the SpringBrand CLI', () => installSpringBrandCli({ verbose: verbose ?? false, announce: verbose ?? false })),
39
+ scope === 'cli'
40
+ ? undefined
41
+ : attempt('refresh the SpringBrand web skill', () => {
42
+ refreshed = updateWebSkill({ verbose: verbose ?? false });
43
+ }),
44
+ ].filter((failure) => failure !== undefined);
45
+ if (failures.length > 0)
46
+ throw new Error(`sp upgrade failed: ${failures.join('; ')}`);
47
+ }
48
+ catch (error) {
49
+ if (!(error instanceof ConnectInterruptedError))
50
+ throw error;
51
+ errLine(INTERRUPTED_MESSAGE);
52
+ process.exitCode = SIGNAL_EXIT_CODES.SIGINT;
53
+ return null;
54
+ }
55
+ const version = installedCliVersion();
56
+ // --skill-only never checked the CLI, so no versioned claim.
57
+ const upToDate = version && scope !== 'skill'
58
+ ? `SpringBrand CLI ${version} is up to date.`
59
+ : 'SpringBrand is up to date.';
60
+ // Only a rewritten skill needs an agent restart.
61
+ errLine(refreshed ? `${upToDate} Restart your agent to pick up the refreshed skill.` : upToDate);
62
+ return version;
63
+ }
64
+ /** The version now on disk. Only the upgrade's own npm call knows what "latest" resolved to. */
65
+ function installedCliVersion() {
66
+ const root = installRoot();
67
+ return (root ? readInstalledVersion(root.nodeModules) : null) ?? globalCliVersion();
68
+ }
69
+ /** Fallback when no prefix was detected: npm's own global tree is the only place left to look. */
70
+ function globalCliVersion() {
71
+ try {
72
+ const result = spawn.sync('npm', ['ls', '--global', '--depth=0', '--json', SPRINGBRAND_CLI_PACKAGE], { encoding: 'utf8', timeout: VERSION_READ_TIMEOUT_MS });
73
+ const parsed = JSON.parse(result.stdout ?? '');
74
+ return parsed.dependencies?.[SPRINGBRAND_CLI_PACKAGE]?.version ?? null;
75
+ }
76
+ catch {
77
+ return null;
78
+ }
79
+ }
80
+ /** `runUpgrade` plus its outcome telemetry, which must never change what the upgrade does. */
81
+ export async function runUpgradeCommand(verbose, scope) {
82
+ // This command is the upgrade, so a trailing "an update is available" would be noise.
83
+ suppressNotice();
84
+ let reported = false;
85
+ let printedVersion = null;
86
+ // Read on the failed path too: a failed skill refresh still leaves an upgraded CLI, so
87
+ // `outcome` reports whether every step ran and `to_version` whether the binary moved.
88
+ const report = async (outcome) => {
89
+ if (reported)
90
+ return;
91
+ reported = true;
92
+ if (telemetryDisabled())
93
+ return;
94
+ // Interrupted skips the read — racing the exit. Undercounts; see posthog-events.md.
95
+ const toVersion = outcome === 'interrupted' ? null : (printedVersion ?? installedCliVersion());
96
+ await sendUpgradeCompleted(CLI_VERSION, toVersion, outcome, scope ?? 'both');
97
+ };
98
+ const uninstallSignalGuard = installSignalGuard(async () => {
99
+ errLine(INTERRUPTED_MESSAGE);
100
+ await report('interrupted');
101
+ });
102
+ let outcome = 'updated';
103
+ try {
104
+ printedVersion = runUpgrade(verbose, scope);
105
+ if (process.exitCode === SIGNAL_EXIT_CODES.SIGINT)
106
+ outcome = 'interrupted';
107
+ }
108
+ catch (error) {
109
+ outcome = 'failed';
110
+ throw error;
111
+ }
112
+ finally {
113
+ uninstallSignalGuard();
114
+ // Swallowed: a throw here would replace the upgrade's own error, or fail a good upgrade.
115
+ await report(outcome).catch(() => { });
116
+ }
117
+ }
118
+ export function registerUpgrade(program) {
119
+ program
120
+ .command('upgrade')
121
+ .description('Update the SpringBrand CLI and refresh its bundled SpringBrand Skill set')
122
+ .option('--verbose', 'Print the full npm output instead of only on failure')
123
+ .option('--cli-only', 'Update only the SpringBrand CLI, leaving the skill untouched')
124
+ .option('--skill-only', "Rewrite the skill from the installed CLI's bundle, skipping npm")
125
+ .action(async (options) => {
126
+ if (options.cliOnly && options.skillOnly) {
127
+ throw new Error('Pass either --cli-only or --skill-only, not both.');
128
+ }
129
+ const scope = options.cliOnly ? 'cli' : options.skillOnly ? 'skill' : 'both';
130
+ await runUpgradeCommand(Boolean(options.verbose), scope);
131
+ });
132
+ }
133
+ //# sourceMappingURL=upgrade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ /** 复刻自 tiny-fish CLI 编译产物:index.d.ts + index.impl.js */
3
+ export {};
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,wDAAwD"}
package/dist/index.js ADDED
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env node
2
+ /** 复刻自 tiny-fish CLI 编译产物:index.d.ts + index.impl.js */
3
+ import { buildProgram } from './program.js';
4
+ // Await parseAsync so async command handlers complete before the process exits
5
+ buildProgram()
6
+ .then(({ program }) => program.parseAsync(process.argv))
7
+ .catch((e) => {
8
+ process.stderr.write(JSON.stringify({ error: e instanceof Error ? e.message : String(e) }) + '\n');
9
+ // A failed command import reads as a bare message; the stack names the module.
10
+ if (process.env['SPRINGBRAND_DEBUG'] && e instanceof Error && e.stack) {
11
+ process.stderr.write(e.stack + '\n');
12
+ }
13
+ process.exit(1);
14
+ });
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,wDAAwD;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,+EAA+E;AAC/E,YAAY,EAAE;KACT,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACvD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACnG,+EAA+E;IAC/E,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACpE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Supported agents and their detection/config
3
+ */
4
+ export type AgentType = 'claude-code' | 'cursor' | 'windsurf' | 'cline';
5
+ export interface AgentInfo {
6
+ type: AgentType;
7
+ displayName: string;
8
+ detected: boolean;
9
+ configPath?: string;
10
+ version?: string;
11
+ command?: string;
12
+ }
13
+ export interface AgentConfig {
14
+ type: AgentType;
15
+ displayName: string;
16
+ configPaths: string[];
17
+ skillPath: string;
18
+ command?: string;
19
+ launchCommand?: string;
20
+ }
21
+ /**
22
+ * Detect installed agents on this system
23
+ */
24
+ export declare function detectAgents(): AgentInfo[];
25
+ /**
26
+ * Get config for a specific agent type
27
+ */
28
+ export declare function getAgentConfig(type: AgentType): AgentConfig;
29
+ /**
30
+ * Detect specific agent
31
+ */
32
+ export declare function detectAgent(type: AgentType): AgentInfo;
33
+ //# sourceMappingURL=agent-detect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-detect.d.ts","sourceRoot":"","sources":["../../src/lib/agent-detect.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAExE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAyCD;;GAEG;AACH,wBAAgB,YAAY,IAAI,SAAS,EAAE,CAiB1C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,CAE3D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAYtD"}
@@ -0,0 +1,81 @@
1
+ import { existsSync } from 'fs';
2
+ import { homedir } from 'os';
3
+ import { join } from 'path';
4
+ const AGENT_CONFIGS = {
5
+ 'claude-code': {
6
+ type: 'claude-code',
7
+ displayName: 'Claude Code',
8
+ configPaths: [
9
+ join(homedir(), '.claude', 'mcp.json'),
10
+ join(homedir(), '.claude', 'config.json'),
11
+ ],
12
+ skillPath: join(homedir(), '.claude', 'skills', 'use-mcp-gateway'),
13
+ command: 'claude',
14
+ launchCommand: 'claude',
15
+ },
16
+ 'cursor': {
17
+ type: 'cursor',
18
+ displayName: 'Cursor',
19
+ configPaths: [
20
+ join(homedir(), '.cursor', 'mcp.json'),
21
+ join(homedir(), 'Library', 'Application Support', 'Cursor', 'User', 'globalStorage', 'rooveterinaryinc.roo-cline', 'settings', 'cline_mcp_settings.json'),
22
+ ],
23
+ skillPath: join(homedir(), '.cursor', 'skills', 'use-mcp-gateway'),
24
+ },
25
+ 'windsurf': {
26
+ type: 'windsurf',
27
+ displayName: 'Windsurf',
28
+ configPaths: [
29
+ join(homedir(), '.windsurf', 'mcp.json'),
30
+ ],
31
+ skillPath: join(homedir(), '.windsurf', 'skills', 'use-mcp-gateway'),
32
+ },
33
+ 'cline': {
34
+ type: 'cline',
35
+ displayName: 'Cline',
36
+ configPaths: [
37
+ join(homedir(), 'Library', 'Application Support', 'Code', 'User', 'globalStorage', 'saoudrizwan.claude-dev', 'settings', 'cline_mcp_settings.json'),
38
+ ],
39
+ skillPath: join(homedir(), '.vscode', 'skills', 'use-mcp-gateway'),
40
+ },
41
+ };
42
+ /**
43
+ * Detect installed agents on this system
44
+ */
45
+ export function detectAgents() {
46
+ const results = [];
47
+ for (const [type, config] of Object.entries(AGENT_CONFIGS)) {
48
+ const detected = config.configPaths.some(p => existsSync(p));
49
+ const configPath = config.configPaths.find(p => existsSync(p));
50
+ results.push({
51
+ type: type,
52
+ displayName: config.displayName,
53
+ detected,
54
+ configPath,
55
+ command: config.command,
56
+ });
57
+ }
58
+ return results;
59
+ }
60
+ /**
61
+ * Get config for a specific agent type
62
+ */
63
+ export function getAgentConfig(type) {
64
+ return AGENT_CONFIGS[type];
65
+ }
66
+ /**
67
+ * Detect specific agent
68
+ */
69
+ export function detectAgent(type) {
70
+ const config = AGENT_CONFIGS[type];
71
+ const detected = config.configPaths.some(p => existsSync(p));
72
+ const configPath = config.configPaths.find(p => existsSync(p));
73
+ return {
74
+ type,
75
+ displayName: config.displayName,
76
+ detected,
77
+ configPath,
78
+ command: config.command,
79
+ };
80
+ }
81
+ //# sourceMappingURL=agent-detect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-detect.js","sourceRoot":"","sources":["../../src/lib/agent-detect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { AgentType } from './agent-detect';
2
+ /**
3
+ * Agent launcher - start agent with optional prompt
4
+ */
5
+ export interface LaunchOptions {
6
+ agent: AgentType;
7
+ prompt?: string;
8
+ cwd?: string;
9
+ }
10
+ /**
11
+ * Launch an agent with optional onboarding prompt
12
+ */
13
+ export declare function launchAgent(options: LaunchOptions): Promise<void>;
14
+ /**
15
+ * Check if agent command is available
16
+ */
17
+ export declare function isAgentAvailable(agent: AgentType): boolean;
18
+ /**
19
+ * Default onboarding prompts for each agent
20
+ */
21
+ export declare const ONBOARDING_PROMPTS: Record<AgentType, string>;
22
+ //# sourceMappingURL=agent-launcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-launcher.d.ts","sourceRoot":"","sources":["../../src/lib/agent-launcher.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCvE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAqB1D;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAKxD,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { spawn } from 'child_process';
2
+ /**
3
+ * Launch an agent with optional onboarding prompt
4
+ */
5
+ export async function launchAgent(options) {
6
+ const { agent, prompt, cwd } = options;
7
+ // Agent-specific launch commands
8
+ const launchCommands = {
9
+ 'claude-code': ['claude', prompt ? ['--prompt', prompt] : []].flat(),
10
+ 'cursor': ['cursor', cwd || '.'],
11
+ 'windsurf': ['windsurf', cwd || '.'],
12
+ 'cline': ['code', cwd || '.'],
13
+ };
14
+ const command = launchCommands[agent];
15
+ if (!command || command.length === 0) {
16
+ throw new Error(`No launch command configured for ${agent}`);
17
+ }
18
+ const [cmd, ...args] = command;
19
+ return new Promise((resolve, reject) => {
20
+ const child = spawn(cmd, args, {
21
+ detached: true,
22
+ stdio: 'ignore',
23
+ });
24
+ child.on('error', (error) => {
25
+ reject(new Error(`Failed to launch ${agent}: ${error.message}`));
26
+ });
27
+ // Detach and let it run independently
28
+ child.unref();
29
+ // Give it a moment to start
30
+ setTimeout(() => resolve(), 1000);
31
+ });
32
+ }
33
+ /**
34
+ * Check if agent command is available
35
+ */
36
+ export function isAgentAvailable(agent) {
37
+ const commands = {
38
+ 'claude-code': 'claude',
39
+ 'cursor': 'cursor',
40
+ 'windsurf': 'windsurf',
41
+ 'cline': 'code',
42
+ };
43
+ const cmd = commands[agent];
44
+ if (!cmd)
45
+ return false;
46
+ try {
47
+ const { spawnSync } = require('child_process');
48
+ const result = spawnSync(cmd, ['--version'], {
49
+ stdio: 'ignore',
50
+ timeout: 5000,
51
+ });
52
+ return result.status === 0;
53
+ }
54
+ catch {
55
+ return false;
56
+ }
57
+ }
58
+ /**
59
+ * Default onboarding prompts for each agent
60
+ */
61
+ export const ONBOARDING_PROMPTS = {
62
+ 'claude-code': 'Show me how to use MCP Gateway to search and execute tools',
63
+ 'cursor': 'Help me get started with MCP Gateway',
64
+ 'windsurf': 'What can I do with MCP Gateway?',
65
+ 'cline': 'Guide me through using MCP Gateway',
66
+ };
67
+ //# sourceMappingURL=agent-launcher.js.map