@springbrand/cli 0.1.4 → 0.1.5-alpha.2

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 (78) hide show
  1. package/README.md +13 -22
  2. package/dist/commands/connect.d.ts +4 -2
  3. package/dist/commands/connect.d.ts.map +1 -1
  4. package/dist/commands/connect.js +184 -64
  5. package/dist/commands/connect.js.map +1 -1
  6. package/dist/commands/doctor.d.ts.map +1 -1
  7. package/dist/commands/doctor.js +24 -4
  8. package/dist/commands/doctor.js.map +1 -1
  9. package/dist/index.js +0 -0
  10. package/dist/lib/auth.d.ts +1 -1
  11. package/dist/lib/auth.d.ts.map +1 -1
  12. package/dist/lib/auth.js +2 -2
  13. package/dist/lib/auth.js.map +1 -1
  14. package/dist/lib/command-code-config.d.ts +1 -1
  15. package/dist/lib/command-code-config.d.ts.map +1 -1
  16. package/dist/lib/command-code-config.js +3 -3
  17. package/dist/lib/command-code-config.js.map +1 -1
  18. package/dist/lib/connect-all-summary.d.ts.map +1 -1
  19. package/dist/lib/connect-all-summary.js +8 -2
  20. package/dist/lib/connect-all-summary.js.map +1 -1
  21. package/dist/lib/connect-all.d.ts +3 -1
  22. package/dist/lib/connect-all.d.ts.map +1 -1
  23. package/dist/lib/connect-all.js +14 -6
  24. package/dist/lib/connect-all.js.map +1 -1
  25. package/dist/lib/connect-auth.d.ts +4 -3
  26. package/dist/lib/connect-auth.d.ts.map +1 -1
  27. package/dist/lib/connect-auth.js +14 -48
  28. package/dist/lib/connect-auth.js.map +1 -1
  29. package/dist/lib/connect-preflight.d.ts +1 -0
  30. package/dist/lib/connect-preflight.d.ts.map +1 -1
  31. package/dist/lib/connect-preflight.js +12 -7
  32. package/dist/lib/connect-preflight.js.map +1 -1
  33. package/dist/lib/connect-result.d.ts +135 -0
  34. package/dist/lib/connect-result.d.ts.map +1 -0
  35. package/dist/lib/connect-result.js +146 -0
  36. package/dist/lib/connect-result.js.map +1 -0
  37. package/dist/lib/connect-runtime.d.ts +1 -1
  38. package/dist/lib/connect-runtime.d.ts.map +1 -1
  39. package/dist/lib/connect-runtime.js +4 -2
  40. package/dist/lib/connect-runtime.js.map +1 -1
  41. package/dist/lib/cursor-config.d.ts +1 -1
  42. package/dist/lib/cursor-config.d.ts.map +1 -1
  43. package/dist/lib/cursor-config.js +3 -3
  44. package/dist/lib/cursor-config.js.map +1 -1
  45. package/dist/lib/doctor-checks.d.ts.map +1 -1
  46. package/dist/lib/doctor-checks.js +2 -4
  47. package/dist/lib/doctor-checks.js.map +1 -1
  48. package/dist/lib/doctor-machine.d.ts.map +1 -1
  49. package/dist/lib/doctor-machine.js +10 -2
  50. package/dist/lib/doctor-machine.js.map +1 -1
  51. package/dist/lib/doctor-repairs.d.ts.map +1 -1
  52. package/dist/lib/doctor-repairs.js +7 -8
  53. package/dist/lib/doctor-repairs.js.map +1 -1
  54. package/dist/lib/doctor-report.d.ts +152 -0
  55. package/dist/lib/doctor-report.d.ts.map +1 -1
  56. package/dist/lib/doctor-report.js +4 -1
  57. package/dist/lib/doctor-report.js.map +1 -1
  58. package/dist/lib/harness-spec.d.ts +2 -0
  59. package/dist/lib/harness-spec.d.ts.map +1 -1
  60. package/dist/lib/harness-spec.js +23 -7
  61. package/dist/lib/harness-spec.js.map +1 -1
  62. package/dist/lib/omp-config.d.ts +1 -1
  63. package/dist/lib/omp-config.d.ts.map +1 -1
  64. package/dist/lib/omp-config.js +3 -3
  65. package/dist/lib/omp-config.js.map +1 -1
  66. package/dist/lib/pi-config.d.ts +1 -1
  67. package/dist/lib/pi-config.d.ts.map +1 -1
  68. package/dist/lib/pi-config.js +3 -3
  69. package/dist/lib/pi-config.js.map +1 -1
  70. package/dist/lib/registration-detect.d.ts +2 -2
  71. package/dist/lib/registration-detect.d.ts.map +1 -1
  72. package/dist/lib/registration-detect.js +60 -43
  73. package/dist/lib/registration-detect.js.map +1 -1
  74. package/dist/lib/workbuddy-config.d.ts +1 -1
  75. package/dist/lib/workbuddy-config.d.ts.map +1 -1
  76. package/dist/lib/workbuddy-config.js +3 -3
  77. package/dist/lib/workbuddy-config.js.map +1 -1
  78. package/package.json +1 -1
@@ -1,9 +1,10 @@
1
1
  /** 复刻自 tiny-fish CLI 编译产物:connect-all.d.ts + connect-all.impl.js */
2
2
  import * as readline from 'node:readline/promises';
3
+ import { connectApiKey } from './connect-auth.js';
3
4
  import { harnessSpec } from './harness-spec.js';
4
5
  import spawn from 'cross-spawn';
5
6
  import { connectHarness } from '../commands/connect.js';
6
- import { loadConfig, validatedApiKey } from './auth.js';
7
+ import { loadConfig } from './auth.js';
7
8
  import { installSpringBrandCli, } from './cli-install.js';
8
9
  import { authGate, mapConnectError, OAUTH_SIGN_IN_TIMEOUT_MS } from './connect-all-auth.js';
9
10
  import { actionable, computeExitCode, reloadHint, renderSummary } from './connect-all-summary.js';
@@ -62,7 +63,7 @@ function settleWithoutConnect(detection, opts, base) {
62
63
  if (opts.dryRun) {
63
64
  const plan = opts.uninstall
64
65
  ? uninstallPlanText(harness)
65
- : planText(harness, opts.mcpUrl, validatedApiKey(opts.apiKey));
66
+ : planText(harness, opts.mcpUrl, connectApiKey(opts.apiKey));
66
67
  return { ...base, outcome: 'dry_run', fixCommand: plan };
67
68
  }
68
69
  if (opts.uninstall) {
@@ -72,12 +73,12 @@ function settleWithoutConnect(detection, opts, base) {
72
73
  }
73
74
  async function processHarness(detection, opts, prompt, oauthBudget, hoistedCliInstall, deferOutro) {
74
75
  const { harness, configPath, detected } = detection;
75
- const base = { harness, detected, configPath, installed: false };
76
+ const base = { harness, detected, configPath, installed: false, mcpUrl: opts.mcpUrl };
76
77
  const settled = settleWithoutConnect(detection, opts, base);
77
78
  if (settled)
78
79
  return settled;
79
80
  const isTTY = detectHumanInitiated();
80
- const apiKey = validatedApiKey(opts.apiKey);
81
+ const apiKey = connectApiKey(opts.apiKey);
81
82
  // All harnesses carry a key; one that cannot fails harness_too_old.
82
83
  const keyed = !!apiKey;
83
84
  const fixCommand = `sp connect ${harness}`;
@@ -116,10 +117,17 @@ async function processHarness(detection, opts, prompt, oauthBudget, hoistedCliIn
116
117
  const verify = await verifyHarness(harness, opts.mcpUrl, keyAuthed, apiKey);
117
118
  // Bounded probe, so a slow plugin CLI cannot stall the run it is reporting on.
118
119
  const legacyPlugin = detectLegacyPlugin(harness)?.registered === true;
120
+ let outcome = 'installed';
121
+ if (!verify.ok && verify.depth === 'health')
122
+ outcome = 'failed';
123
+ else if (!keyAuthed)
124
+ outcome = 'auth_pending';
125
+ else if (harnessSpec(harness).reloadAction)
126
+ outcome = 'needs_reload';
119
127
  return {
120
128
  ...base,
121
129
  installed: true,
122
- outcome: 'installed',
130
+ outcome,
123
131
  verifyDepth: verify.depth,
124
132
  verifyOk: verify.ok,
125
133
  verifyReason: verify.reason,
@@ -340,7 +348,7 @@ export async function runConnectAll(opts) {
340
348
  // Open interface holds stdin raw; hermes' input() then wedges.
341
349
  const prompt = isTTY ? createStdinPrompt() : undefined;
342
350
  const detections = detectInstalledHarnesses();
343
- const gateKey = validatedApiKey(opts.apiKey);
351
+ const gateKey = connectApiKey(opts.apiKey);
344
352
  const pick = await resolvePick(detections, opts, prompt);
345
353
  if (pick.cancelled) {
346
354
  // Before summary and telemetry: an explicit nothing is not a setup.
@@ -1 +1 @@
1
- {"version":3,"file":"connect-all.js","sourceRoot":"","sources":["../../src/lib/connect-all.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connect-all.js","sourceRoot":"","sources":["../../src/lib/connect-all.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- /** 复刻自 tiny-fish CLI 编译产物:connect-auth.d.ts + connect-auth.impl.js */
2
- import type { AgentClient } from './connect-runtime.js';
3
1
  export declare const SPRINGBRAND_CLI_NOT_FOUND_MESSAGE = "SpringBrand CLI installed but is not available on PATH. Open a new terminal and retry.";
4
- export declare function ensureCliAuthenticated(source: AgentClient | 'cli', apiKey?: string, opts?: {
2
+ /** A saved key is not input to a new OAuth-first installation. */
3
+ export declare function connectApiKey(explicit?: string): string | undefined;
4
+ /** Called only after preflight accepted this exact key. Never starts a browser. */
5
+ export declare function ensureCliAuthenticated(_source: string, apiKey?: string, _opts?: {
5
6
  interactiveLogin?: boolean;
6
7
  mcpUrl?: string;
7
8
  }): void;
@@ -1 +1 @@
1
- {"version":3,"file":"connect-auth.d.ts","sourceRoot":"","sources":["../../src/lib/connect-auth.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAMxD,eAAO,MAAM,iCAAiC,2FAA2F,CAAC;AAC1I,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IACxF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,IAAI,CA4CP"}
1
+ {"version":3,"file":"connect-auth.d.ts","sourceRoot":"","sources":["../../src/lib/connect-auth.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,iCAAiC,2FAA2F,CAAC;AAE1I,kEAAkE;AAClE,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEnE;AAED,mFAAmF;AACnF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;IAC7E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,IAAI,CAOP"}
@@ -1,53 +1,19 @@
1
- /** 复刻自 tiny-fish CLI 编译产物:connect-auth.d.ts + connect-auth.impl.js */
2
- import spawn from 'cross-spawn';
1
+ /** Credential selection for installation; OAuth never opens the CLI key manager. */
3
2
  import { SPRINGBRAND_API_KEY_VAR } from './constants.js';
4
3
  import { persistApiKeyToEnvironment, validateKeyFormat, writeConfig } from './auth.js';
5
- import { commandNotFound, ConnectStepError, spawnStepError, throwIfInterrupted, NON_INTERACTIVE_TIMEOUT_MS, } from './connect-runtime.js';
6
- import { errLine } from './output.js';
4
+ import { ConnectStepError } from './connect-runtime.js';
7
5
  export const SPRINGBRAND_CLI_NOT_FOUND_MESSAGE = 'SpringBrand CLI installed but is not available on PATH. Open a new terminal and retry.';
8
- export function ensureCliAuthenticated(source, apiKey, opts) {
9
- const envKey = apiKey ?? process.env[SPRINGBRAND_API_KEY_VAR];
10
- if (envKey) {
11
- if (!validateKeyFormat(envKey)) {
12
- throw new ConnectStepError('SPRINGBRAND_API_KEY has invalid format', 'invalid_config', {
13
- failureDetail: 'env_key_invalid_format',
14
- });
15
- }
16
- // Throwing variant: a write failure must reach connect's catch/flush, not exit(1) past it.
17
- writeConfig(envKey);
18
- persistApiKeyToEnvironment(envKey);
19
- return;
20
- }
21
- const authStatus = spawn.sync('sp', ['auth', 'status'], {
22
- stdio: 'ignore',
23
- timeout: NON_INTERACTIVE_TIMEOUT_MS,
24
- });
25
- if (commandNotFound(authStatus.error)) {
26
- throw spawnStepError(SPRINGBRAND_CLI_NOT_FOUND_MESSAGE, authStatus);
27
- }
28
- if (authStatus.status === 0)
29
- return;
30
- // A crashed or timed-out probe says nothing about the stored key, so it must not read as
31
- // "not signed in" and drop the user into an interactive login they never asked for.
32
- throwIfInterrupted(authStatus);
33
- if (authStatus.error) {
34
- throw spawnStepError('Could not read SpringBrand CLI auth status', authStatus);
35
- }
36
- if (opts?.interactiveLogin === false) {
37
- throw new Error('The SpringBrand CLI is not signed in. Run: sp auth login');
38
- }
39
- errLine('Signing in to the SpringBrand CLI...');
40
- const loginArgs = ['auth', 'login', '--source', source];
41
- if (opts?.mcpUrl)
42
- loginArgs.push('--url', opts.mcpUrl);
43
- const loginResult = spawn.sync('sp', loginArgs, {
44
- stdio: 'inherit',
45
- });
46
- if (commandNotFound(loginResult.error)) {
47
- throw spawnStepError(SPRINGBRAND_CLI_NOT_FOUND_MESSAGE, loginResult);
48
- }
49
- if (loginResult.error || loginResult.status !== 0) {
50
- throw spawnStepError('Could not authenticate the SpringBrand CLI', loginResult);
51
- }
6
+ /** A saved key is not input to a new OAuth-first installation. */
7
+ export function connectApiKey(explicit) {
8
+ return explicit ?? (process.env[SPRINGBRAND_API_KEY_VAR] || undefined);
9
+ }
10
+ /** Called only after preflight accepted this exact key. Never starts a browser. */
11
+ export function ensureCliAuthenticated(_source, apiKey, _opts) {
12
+ const key = connectApiKey(apiKey);
13
+ if (!key || !validateKeyFormat(key))
14
+ throw new ConnectStepError('Supply a valid API key for this key-only operation.', 'invalid_config');
15
+ persistApiKeyToEnvironment(key);
16
+ writeConfig(key);
17
+ process.env[SPRINGBRAND_API_KEY_VAR] = key;
52
18
  }
53
19
  //# sourceMappingURL=connect-auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connect-auth.js","sourceRoot":"","sources":["../../src/lib/connect-auth.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAGtE,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,kBAAkB,EAAE,0BAA0B,GAAG,MAAM,sBAAsB,CAAC;AAC1I,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,MAAM,CAAC,MAAM,iCAAiC,GAAG,wFAAwF,CAAC;AAC1I,MAAM,UAAU,sBAAsB,CAAC,MAA2B,EAAE,MAAe,EAAE,IAGpF;IACG,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC9D,IAAI,MAAM,EAAE,CAAC;QACT,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,gBAAgB,CAAC,wCAAwC,EAAE,gBAAgB,EAAE;gBACnF,aAAa,EAAE,wBAAwB;aAC1C,CAAC,CAAC;QACP,CAAC;QACD,2FAA2F;QAC3F,WAAW,CAAC,MAAM,CAAC,CAAC;QACpB,0BAA0B,CAAC,MAAM,CAAC,CAAC;QACnC,OAAO;IACX,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;QACpD,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,0BAA0B;KACtC,CAAC,CAAC;IACH,IAAI,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,MAAM,cAAc,CAAC,iCAAiC,EAAE,UAAU,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QACvB,OAAO;IACX,yFAAyF;IACzF,oFAAoF;IACpF,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC/B,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,cAAc,CAAC,4CAA4C,EAAE,UAAU,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,IAAI,EAAE,gBAAgB,KAAK,KAAK,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,CAAC,sCAAsC,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACxD,IAAI,IAAI,EAAE,MAAM;QACZ,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE;QAC5C,KAAK,EAAE,SAAS;KACnB,CAAC,CAAC;IACH,IAAI,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,cAAc,CAAC,iCAAiC,EAAE,WAAW,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,cAAc,CAAC,4CAA4C,EAAE,WAAW,CAAC,CAAC;IACpF,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"connect-auth.js","sourceRoot":"","sources":["../../src/lib/connect-auth.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,CAAC,MAAM,iCAAiC,GAAG,wFAAwF,CAAC;AAE1I,kEAAkE;AAClE,MAAM,UAAU,aAAa,CAAC,QAAiB;IAC3C,OAAO,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,SAAS,CAAC,CAAC;AAC3E,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,sBAAsB,CAAC,OAAe,EAAE,MAAe,EAAE,KAGxE;IACG,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;QAC/B,MAAM,IAAI,gBAAgB,CAAC,qDAAqD,EAAE,gBAAgB,CAAC,CAAC;IACxG,0BAA0B,CAAC,GAAG,CAAC,CAAC;IAChC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,GAAG,CAAC;AAC/C,CAAC"}
@@ -12,6 +12,7 @@ interface PreflightOptions {
12
12
  retryCommand: string;
13
13
  mode: SetupBlockedMode;
14
14
  attemptId?: string;
15
+ strict?: boolean;
15
16
  }
16
17
  export {};
17
18
  //# sourceMappingURL=connect-preflight.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connect-preflight.d.ts","sourceRoot":"","sources":["../../src/lib/connect-preflight.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAEhF,OAAO,KAAK,EAAoB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAmC/E;;;GAGG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6CrF;AAGD,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC;AAEhD,UAAU,gBAAgB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"connect-preflight.d.ts","sourceRoot":"","sources":["../../src/lib/connect-preflight.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAEhF,OAAO,KAAK,EAAoB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAoC/E;;;GAGG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgDrF;AAGD,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC;AAEhD,UAAU,gBAAgB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB"}
@@ -1,9 +1,10 @@
1
1
  /** 复刻自 tiny-fish CLI 编译产物:connect-preflight.d.ts + connect-preflight.impl.js */
2
- import { KEY_FORMAT_HINT, apiKeyStatus, configFile, parseKeyIdentity, validateKeyFormat } from './auth.js';
2
+ import { KEY_FORMAT_HINT, configFile, parseKeyIdentity, validateKeyFormat } from './auth.js';
3
3
  import { SPRINGBRAND_API_KEY_VAR } from './constants.js';
4
4
  import { apiBaseFromMcpUrl, endpointOf, environmentOf } from './mcp-endpoint.js';
5
5
  import { errLine, warnLine } from './output.js';
6
6
  import { sendSetupBlocked, } from './setup-telemetry.js';
7
+ import { connectApiKey } from './connect-auth.js';
7
8
  import { verifyMcpAuth } from './verify.js';
8
9
  function sourceAdvice(source) {
9
10
  switch (source) {
@@ -33,14 +34,12 @@ async function block(detail, options) {
33
34
  * A bad key otherwise fails all seven installs the slow way, and Hermes refuses outright.
34
35
  */
35
36
  export async function gateApiKey(options) {
36
- const status = apiKeyStatus(options.apiKey);
37
- // No key at all is a valid answer: the OAuth harnesses still connect without one.
38
- if (status.source === 'none')
37
+ const key = connectApiKey(options.apiKey);
38
+ if (key === undefined)
39
39
  return 'ok';
40
+ const status = { key, source: options.apiKey !== undefined ? 'explicit' : 'env' };
41
+ // No key at all is a valid answer: the OAuth harnesses still connect without one.
40
42
  const source = status.source;
41
- if (!('key' in status)) {
42
- return block({ reason: 'key_unreadable', source, message: `${status.error}.` }, options);
43
- }
44
43
  // Downstream this key is dropped as unusable, which reads as "no key" and silently
45
44
  // downgrades every install to a browser sign-in Hermes cannot take.
46
45
  if (!validateKeyFormat(status.key)) {
@@ -67,6 +66,12 @@ export async function gateApiKey(options) {
67
66
  // Rate limits, verification outages and network faults keep the credential: blocking a whole
68
67
  // setup on them would strand a user whose key is fine.
69
68
  if (verified.kind !== 'credential_rejected') {
69
+ if (options.strict) {
70
+ const retry = verified.retryAfter === undefined ? '' : ` Retry in ${verified.retryAfter}s.`;
71
+ errLine(`Could not check your SpringBrand API key (${verified.code ?? 'unknown'}). Nothing was written.${retry}`);
72
+ errLine(`Retry with the same API-key input: ${options.retryCommand}`);
73
+ return 'blocked';
74
+ }
70
75
  const retry = verified.retryAfter === undefined ? '' : ` Retry in ${verified.retryAfter}s.`;
71
76
  warnLine(`Could not check your SpringBrand API key (${verified.code ?? 'unknown'}); continuing.${retry}`);
72
77
  return 'ok';
@@ -1 +1 @@
1
- {"version":3,"file":"connect-preflight.js","sourceRoot":"","sources":["../../src/lib/connect-preflight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connect-preflight.js","sourceRoot":"","sources":["../../src/lib/connect-preflight.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,135 @@
1
+ /** Machine-readable result for the single-host OAuth-first bootstrap flow. */
2
+ import type { AgentClient, ConnectAuthMode } from './connect-runtime.js';
3
+ import type { VerifyResult } from './verify.js';
4
+ import { z } from 'zod';
5
+ export declare const CONNECT_RESULT_SCHEMA_VERSION = 1;
6
+ export type ConnectResultOutcome = 'installed' | 'auth_pending' | 'needs_reload' | 'verified' | 'failed' | 'unsupported';
7
+ export type ConnectResultStatus = 'verified' | 'pending' | 'unverified' | 'failed' | 'not_checked';
8
+ export interface ConnectResult {
9
+ schema_version: number;
10
+ host: string;
11
+ environment: 'production' | 'development' | 'unknown';
12
+ mcp_entry_name: 'springbrand' | 'springbrand-dev';
13
+ mcp_url: string;
14
+ transport: 'streamable-http';
15
+ installed: boolean;
16
+ auth: {
17
+ mode: 'oauth' | 'api_key';
18
+ status: ConnectResultStatus;
19
+ };
20
+ health: {
21
+ status: ConnectResultStatus;
22
+ detail?: string;
23
+ };
24
+ identity: {
25
+ status: ConnectResultStatus;
26
+ account_id?: string;
27
+ key_id?: string;
28
+ environment?: string;
29
+ };
30
+ outcome: ConnectResultOutcome;
31
+ failed_phase: 'input' | 'registration' | 'authentication' | 'health' | 'verification' | null;
32
+ next_action: string | null;
33
+ continuation: string;
34
+ fixCommand: string;
35
+ error?: {
36
+ code: string;
37
+ message: string;
38
+ };
39
+ /** Additive aliases make the result easy to consume from shell and JS hosts. */
40
+ nextAction: string | null;
41
+ }
42
+ export declare const connectResultSchema: z.ZodObject<{
43
+ schema_version: z.ZodLiteral<1>;
44
+ host: z.ZodString;
45
+ environment: z.ZodEnum<{
46
+ unknown: "unknown";
47
+ production: "production";
48
+ development: "development";
49
+ }>;
50
+ mcp_entry_name: z.ZodEnum<{
51
+ springbrand: "springbrand";
52
+ "springbrand-dev": "springbrand-dev";
53
+ }>;
54
+ mcp_url: z.ZodString;
55
+ transport: z.ZodLiteral<"streamable-http">;
56
+ installed: z.ZodBoolean;
57
+ auth: z.ZodObject<{
58
+ mode: z.ZodEnum<{
59
+ oauth: "oauth";
60
+ api_key: "api_key";
61
+ }>;
62
+ status: z.ZodEnum<{
63
+ verified: "verified";
64
+ failed: "failed";
65
+ pending: "pending";
66
+ unverified: "unverified";
67
+ not_checked: "not_checked";
68
+ }>;
69
+ }, z.core.$strip>;
70
+ health: z.ZodObject<{
71
+ status: z.ZodEnum<{
72
+ verified: "verified";
73
+ failed: "failed";
74
+ pending: "pending";
75
+ unverified: "unverified";
76
+ not_checked: "not_checked";
77
+ }>;
78
+ detail: z.ZodOptional<z.ZodString>;
79
+ }, z.core.$strip>;
80
+ identity: z.ZodObject<{
81
+ status: z.ZodEnum<{
82
+ verified: "verified";
83
+ failed: "failed";
84
+ pending: "pending";
85
+ unverified: "unverified";
86
+ not_checked: "not_checked";
87
+ }>;
88
+ account_id: z.ZodOptional<z.ZodString>;
89
+ key_id: z.ZodOptional<z.ZodString>;
90
+ environment: z.ZodOptional<z.ZodString>;
91
+ }, z.core.$strip>;
92
+ outcome: z.ZodEnum<{
93
+ verified: "verified";
94
+ installed: "installed";
95
+ failed: "failed";
96
+ auth_pending: "auth_pending";
97
+ needs_reload: "needs_reload";
98
+ unsupported: "unsupported";
99
+ }>;
100
+ failed_phase: z.ZodNullable<z.ZodEnum<{
101
+ health: "health";
102
+ input: "input";
103
+ registration: "registration";
104
+ authentication: "authentication";
105
+ verification: "verification";
106
+ }>>;
107
+ next_action: z.ZodNullable<z.ZodString>;
108
+ continuation: z.ZodString;
109
+ fixCommand: z.ZodString;
110
+ error: z.ZodOptional<z.ZodObject<{
111
+ code: z.ZodString;
112
+ message: z.ZodString;
113
+ }, z.core.$strip>>;
114
+ nextAction: z.ZodNullable<z.ZodString>;
115
+ }, z.core.$strip>;
116
+ export declare function buildConnectResult(input: {
117
+ host: AgentClient | string;
118
+ mcpUrl: string;
119
+ authMode?: ConnectAuthMode;
120
+ installed?: boolean;
121
+ health: VerifyResult;
122
+ auth?: VerifyResult;
123
+ registrationConnected?: boolean;
124
+ registrationMatches?: boolean;
125
+ keyMatchesRegistration?: boolean;
126
+ continuationCheck?: boolean;
127
+ error?: {
128
+ code: string;
129
+ message: string;
130
+ phase?: ConnectResult['failed_phase'];
131
+ };
132
+ }): ConnectResult;
133
+ /** Endpoint and selected Host survive every continuation, including dev and local installs. */
134
+ export declare function doctorContinuation(host: AgentClient | undefined, mcpUrl: string): string;
135
+ //# sourceMappingURL=connect-result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect-result.d.ts","sourceRoot":"","sources":["../../src/lib/connect-result.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAE9E,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAE/C,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,cAAc,GAAG,cAAc,GAAG,UAAU,GAAG,QAAQ,GAAG,aAAa,CAAC;AACzH,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,aAAa,CAAC;AAEnG,MAAM,WAAW,aAAa;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,YAAY,GAAG,aAAa,GAAG,SAAS,CAAC;IACtD,cAAc,EAAE,aAAa,GAAG,iBAAiB,CAAC;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE;QACF,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;QAC1B,MAAM,EAAE,mBAAmB,CAAC;KAC/B,CAAC;IACF,MAAM,EAAE;QACJ,MAAM,EAAE,mBAAmB,CAAC;QAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,QAAQ,EAAE;QACN,MAAM,EAAE,mBAAmB,CAAC;QAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,OAAO,EAAE,oBAAoB,CAAC;IAC9B,YAAY,EAAE,OAAO,GAAG,cAAc,GAAG,gBAAgB,GAAG,QAAQ,GAAG,cAAc,GAAG,IAAI,CAAC;IAC7F,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,gFAAgF;IAChF,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkB9B,CAAC;AAoBH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACtC,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;KAAE,CAAC;CACpF,GAAG,aAAa,CAmFhB;AAED,+FAA+F;AAC/F,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAIxF"}
@@ -0,0 +1,146 @@
1
+ /** Machine-readable result for the single-host OAuth-first bootstrap flow. */
2
+ import { environmentOf, endpointOf, mcpServerName, DEFAULT_MCP_URL } from './mcp-endpoint.js';
3
+ import { harnessOauthAction, harnessReloadAction } from './harness-spec.js';
4
+ import { ALL_HARNESSES } from './harness-detect.js';
5
+ import { z } from 'zod';
6
+ export const CONNECT_RESULT_SCHEMA_VERSION = 1;
7
+ export const connectResultSchema = z.object({
8
+ schema_version: z.literal(CONNECT_RESULT_SCHEMA_VERSION),
9
+ host: z.string(),
10
+ environment: z.enum(['production', 'development', 'unknown']),
11
+ mcp_entry_name: z.enum(['springbrand', 'springbrand-dev']),
12
+ mcp_url: z.string(),
13
+ transport: z.literal('streamable-http'),
14
+ installed: z.boolean(),
15
+ auth: z.object({ mode: z.enum(['oauth', 'api_key']), status: z.enum(['verified', 'pending', 'unverified', 'failed', 'not_checked']) }),
16
+ health: z.object({ status: z.enum(['verified', 'pending', 'unverified', 'failed', 'not_checked']), detail: z.string().optional() }),
17
+ identity: z.object({ status: z.enum(['verified', 'pending', 'unverified', 'failed', 'not_checked']), account_id: z.string().optional(), key_id: z.string().optional(), environment: z.string().optional() }),
18
+ outcome: z.enum(['installed', 'auth_pending', 'needs_reload', 'verified', 'failed', 'unsupported']),
19
+ failed_phase: z.enum(['input', 'registration', 'authentication', 'health', 'verification']).nullable(),
20
+ next_action: z.string().nullable(),
21
+ continuation: z.string(),
22
+ fixCommand: z.string(),
23
+ error: z.object({ code: z.string(), message: z.string() }).optional(),
24
+ nextAction: z.string().nullable(),
25
+ });
26
+ function environmentName(url) {
27
+ const value = environmentOf(url);
28
+ return value === 'production' ? 'production' : value === 'dev' ? 'development' : 'unknown';
29
+ }
30
+ function safeEndpoint(url) {
31
+ try {
32
+ return endpointOf(url);
33
+ }
34
+ catch {
35
+ return url;
36
+ }
37
+ }
38
+ function authStatus(mode, verify, registrationConnected) {
39
+ if (mode === 'api_key') {
40
+ if (verify?.ok)
41
+ return 'verified';
42
+ if (verify?.kind === 'credential_rejected')
43
+ return 'failed';
44
+ return verify ? 'unverified' : 'not_checked';
45
+ }
46
+ return registrationConnected === true ? 'verified' : 'pending';
47
+ }
48
+ export function buildConnectResult(input) {
49
+ const mode = input.authMode === 'api-key' ? 'api_key' : 'oauth';
50
+ const auth = authStatus(mode, input.keyMatchesRegistration !== false ? input.auth : undefined, input.registrationConnected);
51
+ const registrationMatches = input.registrationMatches !== false;
52
+ const health = input.health.ok ? 'verified' : 'failed';
53
+ const identity = input.auth?.identity;
54
+ const knownHost = ALL_HARNESSES.includes(input.host) ? input.host : undefined;
55
+ const hostAction = knownHost ? harnessOauthAction(knownHost, input.mcpUrl) : undefined;
56
+ const reloadAction = knownHost ? harnessReloadAction(knownHost) : undefined;
57
+ const continuation = doctorContinuation(knownHost, input.mcpUrl);
58
+ let outcome = 'installed';
59
+ let failedPhase = null;
60
+ let nextAction = null;
61
+ if (input.error) {
62
+ outcome = input.error.code === 'unsupported' ? 'unsupported' : 'failed';
63
+ failedPhase = input.error.phase ?? 'registration';
64
+ nextAction = input.error.message;
65
+ }
66
+ else if (!registrationMatches) {
67
+ outcome = input.installed ? 'installed' : 'failed';
68
+ failedPhase = 'registration';
69
+ nextAction = `Open the selected Host and check its MCP entry, then run ${continuation}.`;
70
+ }
71
+ else if (health === 'failed') {
72
+ outcome = 'failed';
73
+ failedPhase = 'health';
74
+ nextAction = `Retry ${continuation} after the MCP endpoint is reachable.`;
75
+ }
76
+ else if (auth === 'failed') {
77
+ outcome = 'failed';
78
+ failedPhase = 'authentication';
79
+ nextAction = `Fix the API key, then run ${continuation}.`;
80
+ }
81
+ else if (auth === 'unverified' || auth === 'not_checked') {
82
+ outcome = 'failed';
83
+ failedPhase = 'verification';
84
+ nextAction = `Run ${continuation} to verify the Host after the configuration is loaded.`;
85
+ }
86
+ else if (auth === 'pending') {
87
+ outcome = 'auth_pending';
88
+ failedPhase = 'authentication';
89
+ nextAction = hostAction ?? continuation;
90
+ }
91
+ else if (input.registrationConnected === true && input.continuationCheck) {
92
+ outcome = 'verified';
93
+ }
94
+ else if (reloadAction) {
95
+ outcome = 'needs_reload';
96
+ nextAction = reloadAction;
97
+ failedPhase = 'verification';
98
+ }
99
+ else if (auth === 'verified' && health === 'verified') {
100
+ outcome = 'verified';
101
+ }
102
+ const identityStatus = !registrationMatches
103
+ ? 'unverified'
104
+ : auth === 'pending'
105
+ ? 'pending'
106
+ : auth === 'failed'
107
+ ? 'failed'
108
+ : mode === 'api_key'
109
+ ? identity
110
+ ? 'verified'
111
+ : 'unverified'
112
+ : input.registrationConnected === true
113
+ ? 'verified'
114
+ : 'unverified';
115
+ const result = {
116
+ schema_version: CONNECT_RESULT_SCHEMA_VERSION,
117
+ host: input.host,
118
+ environment: environmentName(input.mcpUrl),
119
+ mcp_entry_name: mcpServerName(input.mcpUrl),
120
+ mcp_url: safeEndpoint(input.mcpUrl),
121
+ transport: 'streamable-http',
122
+ installed: input.installed ?? !input.error,
123
+ auth: { mode, status: auth },
124
+ health: { status: health, ...(input.health.code ? { detail: input.health.code } : {}) },
125
+ identity: {
126
+ status: identityStatus,
127
+ ...(identity && input.keyMatchesRegistration
128
+ ? { account_id: identity.accountId, key_id: identity.keyId, environment: identity.environment } : {}),
129
+ },
130
+ outcome,
131
+ failed_phase: failedPhase,
132
+ next_action: nextAction,
133
+ continuation,
134
+ fixCommand: continuation,
135
+ ...(input.error ? { error: { code: input.error.code, message: input.error.message } } : {}),
136
+ nextAction,
137
+ };
138
+ return connectResultSchema.parse(result);
139
+ }
140
+ /** Endpoint and selected Host survive every continuation, including dev and local installs. */
141
+ export function doctorContinuation(host, mcpUrl) {
142
+ const endpoint = endpointOf(mcpUrl);
143
+ const quoted = "'" + endpoint.replaceAll("'", "'\\''") + "'";
144
+ return `sp doctor${host ? ` --harness ${host}` : ''} --json${endpoint === DEFAULT_MCP_URL ? '' : ` --url ${quoted}`}`;
145
+ }
146
+ //# sourceMappingURL=connect-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect-result.js","sourceRoot":"","sources":["../../src/lib/connect-result.ts"],"names":[],"mappings":"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"}