rivet-design 0.14.19 → 0.14.21

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 (112) hide show
  1. package/dist/agent-variants/WorkerExecutorService.d.ts +3 -0
  2. package/dist/agent-variants/WorkerExecutorService.d.ts.map +1 -1
  3. package/dist/agent-variants/WorkerExecutorService.js +54 -9
  4. package/dist/agent-variants/WorkerExecutorService.js.map +1 -1
  5. package/dist/agent-variants/contracts.d.ts +1 -1
  6. package/dist/agent-variants/workItemBriefing.d.ts.map +1 -1
  7. package/dist/agent-variants/workItemBriefing.js +3 -2
  8. package/dist/agent-variants/workItemBriefing.js.map +1 -1
  9. package/dist/agent-variants/workerRuntime.d.ts +17 -3
  10. package/dist/agent-variants/workerRuntime.d.ts.map +1 -1
  11. package/dist/agent-variants/workerRuntime.js +26 -12
  12. package/dist/agent-variants/workerRuntime.js.map +1 -1
  13. package/dist/cli/callerRunnerPaths.d.ts +59 -0
  14. package/dist/cli/callerRunnerPaths.d.ts.map +1 -0
  15. package/dist/cli/callerRunnerPaths.js +155 -0
  16. package/dist/cli/callerRunnerPaths.js.map +1 -0
  17. package/dist/cli/client.d.ts +11 -5
  18. package/dist/cli/client.d.ts.map +1 -1
  19. package/dist/cli/client.js +23 -14
  20. package/dist/cli/client.js.map +1 -1
  21. package/dist/cli/commands/mcpServe.d.ts.map +1 -1
  22. package/dist/cli/commands/mcpServe.js +5 -3
  23. package/dist/cli/commands/mcpServe.js.map +1 -1
  24. package/dist/cli/commands/open.d.ts.map +1 -1
  25. package/dist/cli/commands/open.js +38 -10
  26. package/dist/cli/commands/open.js.map +1 -1
  27. package/dist/cli/commands/serve.d.ts.map +1 -1
  28. package/dist/cli/commands/serve.js +25 -10
  29. package/dist/cli/commands/serve.js.map +1 -1
  30. package/dist/cli/commands/shared.d.ts +22 -1
  31. package/dist/cli/commands/shared.d.ts.map +1 -1
  32. package/dist/cli/commands/shared.js +86 -9
  33. package/dist/cli/commands/shared.js.map +1 -1
  34. package/dist/cli/commands/stop.d.ts.map +1 -1
  35. package/dist/cli/commands/stop.js +21 -3
  36. package/dist/cli/commands/stop.js.map +1 -1
  37. package/dist/cli/envelope.d.ts +19 -2
  38. package/dist/cli/envelope.d.ts.map +1 -1
  39. package/dist/cli/envelope.js +2 -2
  40. package/dist/cli/envelope.js.map +1 -1
  41. package/dist/cli/hostWorkNextAction.d.ts.map +1 -1
  42. package/dist/cli/hostWorkNextAction.js +13 -6
  43. package/dist/cli/hostWorkNextAction.js.map +1 -1
  44. package/dist/cli/router.d.ts.map +1 -1
  45. package/dist/cli/router.js +1 -0
  46. package/dist/cli/router.js.map +1 -1
  47. package/dist/cli/runnerSelection.d.ts +34 -11
  48. package/dist/cli/runnerSelection.d.ts.map +1 -1
  49. package/dist/cli/runnerSelection.js +28 -28
  50. package/dist/cli/runnerSelection.js.map +1 -1
  51. package/dist/cli/serverHandshake.d.ts +13 -0
  52. package/dist/cli/serverHandshake.d.ts.map +1 -1
  53. package/dist/cli/serverHandshake.js +32 -10
  54. package/dist/cli/serverHandshake.js.map +1 -1
  55. package/dist/cli/serverUnavailable.d.ts +6 -0
  56. package/dist/cli/serverUnavailable.d.ts.map +1 -0
  57. package/dist/cli/serverUnavailable.js +22 -0
  58. package/dist/cli/serverUnavailable.js.map +1 -0
  59. package/dist/cli/telemetry.d.ts +4 -0
  60. package/dist/cli/telemetry.d.ts.map +1 -1
  61. package/dist/cli/telemetry.js +11 -1
  62. package/dist/cli/telemetry.js.map +1 -1
  63. package/dist/hosts/workerDefaults.d.ts +16 -13
  64. package/dist/hosts/workerDefaults.d.ts.map +1 -1
  65. package/dist/hosts/workerDefaults.js +46 -13
  66. package/dist/hosts/workerDefaults.js.map +1 -1
  67. package/dist/install/harnesses.d.ts.map +1 -1
  68. package/dist/install/harnesses.js +12 -6
  69. package/dist/install/harnesses.js.map +1 -1
  70. package/dist/services/ConfigManager.d.ts +8 -0
  71. package/dist/services/ConfigManager.d.ts.map +1 -1
  72. package/dist/services/ConfigManager.js +6 -0
  73. package/dist/services/ConfigManager.js.map +1 -1
  74. package/dist/services/DevServerRuntimeService.d.ts +3 -4
  75. package/dist/services/DevServerRuntimeService.d.ts.map +1 -1
  76. package/dist/services/DevServerRuntimeService.js +19 -21
  77. package/dist/services/DevServerRuntimeService.js.map +1 -1
  78. package/dist/services/OperatingSystemServices.d.ts +43 -0
  79. package/dist/services/OperatingSystemServices.d.ts.map +1 -0
  80. package/dist/services/OperatingSystemServices.js +158 -0
  81. package/dist/services/OperatingSystemServices.js.map +1 -0
  82. package/dist/services/SessionBridgeService.d.ts +2 -0
  83. package/dist/services/SessionBridgeService.d.ts.map +1 -1
  84. package/dist/services/SessionBridgeService.js +3 -0
  85. package/dist/services/SessionBridgeService.js.map +1 -1
  86. package/dist/services/TelemetryService.d.ts +2 -1
  87. package/dist/services/TelemetryService.d.ts.map +1 -1
  88. package/dist/services/TelemetryService.js +1 -0
  89. package/dist/services/TelemetryService.js.map +1 -1
  90. package/dist/services/VariantsRuntime.d.ts.map +1 -1
  91. package/dist/services/VariantsRuntime.js +1 -0
  92. package/dist/services/VariantsRuntime.js.map +1 -1
  93. package/dist/services/WorktreeManager.d.ts +8 -4
  94. package/dist/services/WorktreeManager.d.ts.map +1 -1
  95. package/dist/services/WorktreeManager.js +33 -14
  96. package/dist/services/WorktreeManager.js.map +1 -1
  97. package/dist/types/change-request-types.d.ts +3 -3
  98. package/dist/types/change-request-types.d.ts.map +1 -1
  99. package/dist/utils/skillWriter.d.ts +4 -2
  100. package/dist/utils/skillWriter.d.ts.map +1 -1
  101. package/dist/utils/skillWriter.js +17 -11
  102. package/dist/utils/skillWriter.js.map +1 -1
  103. package/dist/utils/skills/claude-skill.d.ts +1 -1
  104. package/dist/utils/skills/claude-skill.js +1 -1
  105. package/dist/utils/skills/cli-guidance.d.ts +1 -1
  106. package/dist/utils/skills/cli-guidance.js +3 -3
  107. package/dist/utils/skills/cursor-rules.d.ts +1 -1
  108. package/dist/utils/skills/cursor-rules.js +1 -1
  109. package/package.json +1 -1
  110. package/src/ui/dist/assets/main-BvCYfVyA.js +423 -0
  111. package/src/ui/dist/index.html +1 -1
  112. package/src/ui/dist/assets/main-BJDmnLTY.js +0 -422
@@ -1 +1 @@
1
- {"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/open.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAgFnC,KAAK,iBAAiB,GAAG;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB,KAAK,iBAAiB,CAAC;AA2QxB,MAAM,MAAM,uBAAuB,GAAG;IACpC,yEAAyE;IACzE,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,6DAA6D;IAC7D,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC;IAChC,8CAA8C;IAC9C,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,CAAC;AAyBF;;;;GAIG;AACH,eAAO,MAAM,UAAU,GACrB,MAAM,MAAM,EAAE,EACd,IAAI,KAAK,EACT,eAAc,uBAA4B,KACzC,OAAO,CAAC,gBAAgB,CAgJ1B,CAAC"}
1
+ {"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/open.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,gBAAgB,EAEtB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAsFnC,KAAK,iBAAiB,GAAG;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB,KAAK,iBAAiB,CAAC;AA+QxB,MAAM,MAAM,uBAAuB,GAAG;IACpC,yEAAyE;IACzE,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,6DAA6D;IAC7D,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC;IAChC,8CAA8C;IAC9C,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,CAAC;AAoDF;;;;GAIG;AACH,eAAO,MAAM,UAAU,GACrB,MAAM,MAAM,EAAE,EACd,IAAI,KAAK,EACT,eAAc,uBAA4B,KACzC,OAAO,CAAC,gBAAgB,CAyI1B,CAAC"}
@@ -46,6 +46,7 @@ const client_1 = require("../client");
46
46
  const serverHandshake_1 = require("../serverHandshake");
47
47
  const serverVersion_1 = require("../serverVersion");
48
48
  const handoff_1 = require("../handoff");
49
+ const callerRunnerPaths_1 = require("../callerRunnerPaths");
49
50
  const runnerSelection_1 = require("../runnerSelection");
50
51
  const shared_1 = require("./shared");
51
52
  const COMMAND = 'open';
@@ -65,6 +66,11 @@ const SERVER_START_POLL_INTERVAL_MS = 300;
65
66
  const DEFAULT_LOCK_WAIT_TIMEOUT_MS = 150_000;
66
67
  const SERVER_START_TIMEOUT_ENV = 'RIVET_SERVER_START_TIMEOUT_MS';
67
68
  const LOCK_WAIT_TIMEOUT_ENV = 'RIVET_LOCK_WAIT_TIMEOUT_MS';
69
+ const OPEN_RETRY_DELAY_MS = 1_000;
70
+ const RETRY_OPEN_RECOVERY = {
71
+ isRecoverable: true,
72
+ nextAction: { action: 'retry', delayMs: OPEN_RETRY_DELAY_MS },
73
+ };
68
74
  const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
69
75
  /** Poll for a healthy server until it appears or the deadline passes. */
70
76
  const waitForServer = async (projectPath, timeoutMs, isSpawnDead) => {
@@ -153,6 +159,10 @@ const passthroughServeArgs = (context) => {
153
159
  */
154
160
  const serveEnvFor = (handoff, baseEnv) => ({
155
161
  ...baseEnv,
162
+ // This process runs in the caller's environment — the truth-bearing
163
+ // context for where vendor binaries live. Declare absolute paths so the
164
+ // detached server consumes facts instead of reconstructing them.
165
+ ...(0, callerRunnerPaths_1.callerRunnerPathsEnvEntry)(baseEnv),
156
166
  ...(handoff
157
167
  ? {
158
168
  [handoff_1.HANDOFF_ENV_VARS.agent]: handoff.agent,
@@ -288,6 +298,21 @@ const maybeOpenBrowser = async (context, editorUrl, io, openBrowser) => {
288
298
  io.writeProgress(`Open ${editorUrl} in your browser to start editing.`);
289
299
  }
290
300
  };
301
+ /**
302
+ * Shared tail of every successful open: launch the browser, then surface a
303
+ * failed runner resolution LOUDLY — an unavailable runner means variant work
304
+ * silently degrades to slow host-mode later, and the person who can fix it
305
+ * (symlink the alias install, set `runnerPaths` config) is reading this
306
+ * output right now.
307
+ */
308
+ const finishOpen = async (context, data, io, openBrowser) => {
309
+ await maybeOpenBrowser(context, data.editorUrl, io, openBrowser);
310
+ const runner = data.resolvedRunner;
311
+ if (runner?.mode === 'unavailable') {
312
+ io.writeProgress(`⚠ No runner available — variant runs will fall back to the host agent.${runner.reason ? ` ${runner.reason}` : ''}`);
313
+ }
314
+ return (0, envelope_1.okResult)(COMMAND, data);
315
+ };
291
316
  /**
292
317
  * Start-or-attach the project's Rivet server. Idempotent per project root:
293
318
  * a live server is attached to; otherwise the start lock elects one starter
@@ -321,12 +346,11 @@ const handleOpen = async (args, io, dependencies = {}) => {
321
346
  if (existing) {
322
347
  const outcome = await replaceStaleServer(existing, io, timeoutFromEnv(env, UPGRADE_SHUTDOWN_TIMEOUT_ENV, DEFAULT_UPGRADE_SHUTDOWN_TIMEOUT_MS));
323
348
  if (outcome === 'shutdown_pending') {
324
- return (0, envelope_1.errorResult)(COMMAND, 'SERVER_UNAVAILABLE', 'The stale project server accepted shutdown but has not exited yet — retry `rivet open` in a moment.');
349
+ return (0, envelope_1.errorResult)(COMMAND, 'SERVER_UNAVAILABLE', 'The stale project server accepted shutdown but has not exited yet — retry `rivet open` in a moment.', { serverUnavailableReason: 'server_shutdown_pending' }, RETRY_OPEN_RECOVERY);
325
350
  }
326
351
  if (outcome === 'attach') {
327
352
  const data = await openedData(existing, true);
328
- await maybeOpenBrowser(context, data.editorUrl, io, dependencies.openBrowser);
329
- return (0, envelope_1.okResult)(COMMAND, data);
353
+ return finishOpen(context, data, io, dependencies.openBrowser);
330
354
  }
331
355
  // 'spawn': the old server is confirmed down — fall through and start
332
356
  // a fresh one through the normal start-lock path.
@@ -338,11 +362,10 @@ const handleOpen = async (args, io, dependencies = {}) => {
338
362
  io.writeProgress('Another rivet invocation is starting this project — attaching…');
339
363
  const attached = await waitForServer(projectPath, lockWaitTimeoutMs);
340
364
  if (!attached) {
341
- return (0, envelope_1.errorResult)(COMMAND, 'SERVER_UNAVAILABLE', 'Timed out waiting for the concurrent rivet open to bring the server up.');
365
+ return (0, envelope_1.errorResult)(COMMAND, 'SERVER_UNAVAILABLE', 'Timed out waiting for the concurrent rivet open to bring the server up.', { serverUnavailableReason: 'server_start_timeout' }, RETRY_OPEN_RECOVERY);
342
366
  }
343
367
  const data = await openedData(attached, true);
344
- await maybeOpenBrowser(context, data.editorUrl, io, dependencies.openBrowser);
345
- return (0, envelope_1.okResult)(COMMAND, data);
368
+ return finishOpen(context, data, io, dependencies.openBrowser);
346
369
  }
347
370
  let shouldReleaseStartLock = true;
348
371
  try {
@@ -358,14 +381,19 @@ const handleOpen = async (args, io, dependencies = {}) => {
358
381
  const attached = await waitForServer(projectPath, serverStartTimeoutMs, handle.isDead);
359
382
  if (!attached) {
360
383
  const logTail = tailServerLog(projectPath);
361
- if (!handle.isDead()) {
384
+ const isSpawnDead = handle.isDead();
385
+ if (!isSpawnDead) {
362
386
  shouldReleaseStartLock = false;
363
387
  }
364
- return (0, envelope_1.errorResult)(COMMAND, 'SERVER_UNAVAILABLE', 'The Rivet server did not come up. See .rivet/cli/server.log for details.', logTail ? { serverLog: logTail } : undefined);
388
+ return (0, envelope_1.errorResult)(COMMAND, 'SERVER_UNAVAILABLE', 'The Rivet server did not come up. See .rivet/cli/server.log for details.', {
389
+ serverUnavailableReason: isSpawnDead
390
+ ? 'server_process_exited'
391
+ : 'server_start_timeout',
392
+ ...(logTail ? { serverLog: logTail } : {}),
393
+ }, isSpawnDead ? { isRecoverable: false } : RETRY_OPEN_RECOVERY);
365
394
  }
366
395
  const data = await openedData(attached, false);
367
- await maybeOpenBrowser(context, data.editorUrl, io, dependencies.openBrowser);
368
- return (0, envelope_1.okResult)(COMMAND, data);
396
+ return finishOpen(context, data, io, dependencies.openBrowser);
369
397
  }
370
398
  finally {
371
399
  if (shouldReleaseStartLock) {
@@ -1 +1 @@
1
- {"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/cli/commands/open.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/cli/commands/open.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAiBnC;;;;GAIG;AACH,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,EAAE,EACd,IAAI,KAAK,KACR,OAAO,CAAC,gBAAgB,CA8O1B,CAAC"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAiBnC;;;;GAIG;AACH,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,EAAE,EACd,IAAI,KAAK,KACR,OAAO,CAAC,gBAAgB,CAqQ1B,CAAC"}
@@ -60,6 +60,15 @@ const handleServe = async (args, io) => {
60
60
  return context;
61
61
  }
62
62
  const { flags, projectPath, handoff } = context;
63
+ // Mirror the server's log stream to PostHog logs (same pipeline the desktop
64
+ // app uses) so field failures are diagnosable without the local server.log.
65
+ // Initialized FIRST so PATH-enrichment diagnostics below are captured —
66
+ // they are the evidence trail for "runner unavailable" field reports.
67
+ const { CliLogForwarder } = await Promise.resolve().then(() => __importStar(require('../../services/CliLogForwarder')));
68
+ const logForwarder = new CliLogForwarder({
69
+ enabled: flags.values['no-telemetry'] !== true,
70
+ });
71
+ logForwarder.init();
63
72
  // GUI-spawned daemons (Cursor / Claude Desktop → mcp serve → __serve)
64
73
  // inherit the desktop session's minimal PATH; enrich from the login shell
65
74
  // BEFORE runner resolution and the worker executor's binary preflight,
@@ -68,6 +77,7 @@ const handleServe = async (args, io) => {
68
77
  ensureLoginShellPath();
69
78
  const agentSelectionError = (0, runnerSelection_1.explicitRunnerSelectionError)((0, flags_1.stringFlag)(flags, 'agent'));
70
79
  if (agentSelectionError) {
80
+ await logForwarder.shutdown();
71
81
  return (0, envelope_1.errorResult)(COMMAND, 'USAGE_ERROR', agentSelectionError);
72
82
  }
73
83
  // Imported lazily: `../index` re-exports the dev-server resolution helpers
@@ -82,13 +92,6 @@ const handleServe = async (args, io) => {
82
92
  enabled: flags.values['no-telemetry'] !== true,
83
93
  source: 'cli',
84
94
  });
85
- // Mirror the server's log stream to PostHog logs (same pipeline the desktop
86
- // app uses) so field failures are diagnosable without the local server.log.
87
- const { CliLogForwarder } = await Promise.resolve().then(() => __importStar(require('../../services/CliLogForwarder')));
88
- const logForwarder = new CliLogForwarder({
89
- enabled: flags.values['no-telemetry'] !== true,
90
- });
91
- logForwarder.init();
92
95
  const serverStartStartedAt = Date.now();
93
96
  const framework = (0, flags_1.stringFlag)(flags, 'framework');
94
97
  telemetry.trackServerStartStarted({
@@ -112,7 +115,8 @@ const handleServe = async (args, io) => {
112
115
  durationMs: Date.now() - serverStartStartedAt,
113
116
  });
114
117
  await telemetry.shutdown();
115
- return (0, envelope_1.errorResult)(COMMAND, 'SERVER_UNAVAILABLE', error instanceof Error ? error.message : String(error));
118
+ await logForwarder.shutdown();
119
+ return (0, envelope_1.errorResult)(COMMAND, 'SERVER_UNAVAILABLE', error instanceof Error ? error.message : String(error), { serverUnavailableReason: 'dev_server_resolution_failed' });
116
120
  }
117
121
  const { project, userDevServerPort, devServerContext } = agentDevServer;
118
122
  try {
@@ -131,6 +135,7 @@ const handleServe = async (args, io) => {
131
135
  // used to justify slow host-mode implementation. Depends on the
132
136
  // login-shell PATH enrichment above for GUI-spawned daemons.
133
137
  const { resolveRunner } = await Promise.resolve().then(() => __importStar(require('../runnerSelection')));
138
+ const { parseCallerRunnerPaths, verifiedRunnerPaths } = await Promise.resolve().then(() => __importStar(require('../callerRunnerPaths')));
134
139
  const { getConfigManager } = await Promise.resolve().then(() => __importStar(require('../../services/ConfigManager')));
135
140
  bridge.setSessionRuntimeInfo({
136
141
  sessionInitiator,
@@ -138,6 +143,14 @@ const handleServe = async (args, io) => {
138
143
  explicitAgent: (0, flags_1.stringFlag)(flags, 'agent'),
139
144
  configuredRunner: getConfigManager().getConfiguredRunner(),
140
145
  handoff,
146
+ // The only availability signal: the caller's declaration (rivet open
147
+ // resolves binaries in the invoking environment) merged under the
148
+ // user's explicit `runnerPaths` config. No probing — when this map
149
+ // is empty, resolution fails with the reason.
150
+ runnerPaths: {
151
+ ...parseCallerRunnerPaths(),
152
+ ...verifiedRunnerPaths(getConfigManager().getConfiguredRunnerPaths(), 'config'),
153
+ },
141
154
  }),
142
155
  });
143
156
  // Durable, owner-only attribution record; the chat session id lives only
@@ -216,7 +229,8 @@ const handleServe = async (args, io) => {
216
229
  durationMs: Date.now() - serverStartStartedAt,
217
230
  });
218
231
  await telemetry.shutdown();
219
- return (0, envelope_1.errorResult)(COMMAND, 'SERVER_UNAVAILABLE', `Could not start the Rivet server after ${maxRetries} attempts.`);
232
+ await logForwarder.shutdown();
233
+ return (0, envelope_1.errorResult)(COMMAND, 'SERVER_UNAVAILABLE', `Could not start the Rivet server after ${maxRetries} attempts.`, { serverUnavailableReason: 'rivet_port_unavailable' });
220
234
  }
221
235
  // Same predicate as startServer: static mode moves the editor to `/` and
222
236
  // turns `/rivet` into a redirect, so record which mode this instance
@@ -251,7 +265,8 @@ const handleServe = async (args, io) => {
251
265
  durationMs: Date.now() - serverStartStartedAt,
252
266
  });
253
267
  await telemetry.shutdown();
254
- return (0, envelope_1.errorResult)(COMMAND, 'SERVER_UNAVAILABLE', error instanceof Error ? error.message : String(error));
268
+ await logForwarder.shutdown();
269
+ return (0, envelope_1.errorResult)(COMMAND, 'SERVER_UNAVAILABLE', error instanceof Error ? error.message : String(error), { serverUnavailableReason: 'editor_server_start_failed' });
255
270
  }
256
271
  };
257
272
  exports.handleServe = handleServe;
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/cli/commands/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/cli/commands/serve.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { ParsedFlags } from '../flags';
2
2
  import { type FlagSpec } from '../flags';
3
3
  import { type CliCommandResult } from '../envelope';
4
- import { type AttachedServer } from '../client';
4
+ import { type AttachedServer, type ServerAttachFailureReason } from '../client';
5
5
  import { type CallerHandoff } from '../handoff';
6
6
  /** Flags accepted by every control-plane subcommand. */
7
7
  export declare const SHARED_FLAG_SPEC: FlagSpec;
@@ -11,6 +11,19 @@ export type CommandContext = {
11
11
  projectPath: string;
12
12
  handoff: CallerHandoff | null;
13
13
  };
14
+ export type AttachUnavailableReason = ServerAttachFailureReason | 'server_starting';
15
+ export type ServerAvailability = {
16
+ status: 'attached';
17
+ server: AttachedServer;
18
+ } | {
19
+ status: 'unavailable';
20
+ reason: AttachUnavailableReason;
21
+ };
22
+ type ServerUnavailableResultOptions = {
23
+ command: string;
24
+ projectPath: string;
25
+ reason: AttachUnavailableReason;
26
+ };
14
27
  /**
15
28
  * Parse a subcommand's argv: shared flags, the project root, and the
16
29
  * optional caller handoff. Returns a usage-error result when the invocation
@@ -18,6 +31,13 @@ export type CommandContext = {
18
31
  */
19
32
  export declare const parseCommandContext: (command: string, args: string[], spec?: FlagSpec, env?: NodeJS.ProcessEnv) => CommandContext | CliCommandResult;
20
33
  export declare const isCommandResult: (value: CommandContext | CliCommandResult) => value is CliCommandResult;
34
+ /**
35
+ * Resolve the project's server after allowing bounded startup and health
36
+ * races to settle.
37
+ */
38
+ export declare const inspectServerAvailability: (projectPath: string) => Promise<ServerAvailability>;
39
+ /** Build the standard unavailable response for commands that need a server. */
40
+ export declare const serverUnavailableResult: (options: ServerUnavailableResultOptions) => CliCommandResult;
21
41
  /**
22
42
  * Attach to the project's live server or produce the documented
23
43
  * server-unavailable error (exit code 4).
@@ -27,4 +47,5 @@ export declare const isAttached: (value: AttachedServer | CliCommandResult) => v
27
47
  export declare const serverErrorResult: (command: string, status: number, body: unknown) => CliCommandResult;
28
48
  /** Map a transport-level failure onto the server-unavailable envelope. */
29
49
  export declare const transportErrorResult: (command: string, error: unknown) => CliCommandResult;
50
+ export {};
30
51
  //# sourceMappingURL=shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/shared.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAA0B,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAE9D,wDAAwD;AACxD,eAAO,MAAM,gBAAgB,EAAE,QAS9B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,MAAM,QAAQ,KAAG,QAG/C,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,MAAM,MAAM,EAAE,EACd,OAAM,QAAa,EACnB,MAAK,MAAM,CAAC,UAAwB,KACnC,cAAc,GAAG,gBA+BnB,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,OAAO,cAAc,GAAG,gBAAgB,KACvC,KAAK,IAAI,gBAAuC,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,aAAa,MAAM,KAClB,OAAO,CAAC,cAAc,GAAG,gBAAgB,CAU3C,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,OAAO,cAAc,GAAG,gBAAgB,KACvC,KAAK,IAAI,cAAoC,CAAC;AAQjD,eAAO,MAAM,iBAAiB,GAC5B,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,MAAM,OAAO,KACZ,gBAWF,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,oBAAoB,GAC/B,SAAS,MAAM,EACf,OAAO,OAAO,KACb,gBAOA,CAAC"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/shared.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAA0B,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAEL,KAAK,gBAAgB,EAEtB,MAAM,aAAa,CAAC;AAErB,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,yBAAyB,EAC/B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAE9D,wDAAwD;AACxD,eAAO,MAAM,gBAAgB,EAAE,QAS9B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,MAAM,QAAQ,KAAG,QAG/C,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAC/B,yBAAyB,GACzB,iBAAiB,CAAC;AAEtB,MAAM,MAAM,kBAAkB,GAC1B;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,GAC9C;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,uBAAuB,CAAA;CAAE,CAAC;AAE/D,KAAK,8BAA8B,GAAG;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,uBAAuB,CAAC;CACjC,CAAC;AAaF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,MAAM,MAAM,EAAE,EACd,OAAM,QAAa,EACnB,MAAK,MAAM,CAAC,UAAwB,KACnC,cAAc,GAAG,gBAmCnB,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,OAAO,cAAc,GAAG,gBAAgB,KACvC,KAAK,IAAI,gBAAuC,CAAC;AASpD;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GACpC,aAAa,MAAM,KAClB,OAAO,CAAC,kBAAkB,CA8B5B,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB,GAClC,SAAS,8BAA8B,KACtC,gBA8BF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,aAAa,MAAM,KAClB,OAAO,CAAC,cAAc,GAAG,gBAAgB,CAU3C,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,OAAO,cAAc,GAAG,gBAAgB,KACvC,KAAK,IAAI,cAAoC,CAAC;AAQjD,eAAO,MAAM,iBAAiB,GAC5B,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,MAAM,OAAO,KACZ,gBAWF,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,oBAAoB,GAC/B,SAAS,MAAM,EACf,OAAO,OAAO,KACb,gBAYA,CAAC"}
@@ -3,12 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.transportErrorResult = exports.serverErrorResult = exports.isAttached = exports.attachOrUnavailable = exports.isCommandResult = exports.parseCommandContext = exports.withSharedFlags = exports.SHARED_FLAG_SPEC = void 0;
6
+ exports.transportErrorResult = exports.serverErrorResult = exports.isAttached = exports.attachOrUnavailable = exports.serverUnavailableResult = exports.inspectServerAvailability = exports.isCommandResult = exports.parseCommandContext = exports.withSharedFlags = exports.SHARED_FLAG_SPEC = void 0;
7
7
  const fs_1 = __importDefault(require("fs"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const flags_1 = require("../flags");
10
10
  const envelope_1 = require("../envelope");
11
11
  const client_1 = require("../client");
12
+ const serverHandshake_1 = require("../serverHandshake");
12
13
  const handoff_1 = require("../handoff");
13
14
  /** Flags accepted by every control-plane subcommand. */
14
15
  exports.SHARED_FLAG_SPEC = {
@@ -26,6 +27,14 @@ const withSharedFlags = (spec) => ({
26
27
  ...spec,
27
28
  });
28
29
  exports.withSharedFlags = withSharedFlags;
30
+ const ATTACH_RETRY_DELAYS_MS = [100, 250, 500];
31
+ const RETRY_ACTION_DELAY_MS = 1_000;
32
+ const RETRY_SERVER_RECOVERY = {
33
+ isRecoverable: true,
34
+ nextAction: { action: 'retry', delayMs: RETRY_ACTION_DELAY_MS },
35
+ };
36
+ /** Pause between bounded server-attach attempts. */
37
+ const sleep = (delayMs) => new Promise((resolve) => setTimeout(resolve, delayMs));
29
38
  /**
30
39
  * Parse a subcommand's argv: shared flags, the project root, and the
31
40
  * optional caller handoff. Returns a usage-error result when the invocation
@@ -36,10 +45,12 @@ const parseCommandContext = (command, args, spec = {}, env = process.env) => {
36
45
  if (flags.errors.length > 0) {
37
46
  return (0, envelope_1.errorResult)(command, 'USAGE_ERROR', flags.errors.join('; '));
38
47
  }
39
- const projectPath = path_1.default.resolve((0, flags_1.stringFlag)(flags, 'project') ?? process.cwd());
40
- if (!fs_1.default.existsSync(projectPath) || !fs_1.default.statSync(projectPath).isDirectory()) {
41
- return (0, envelope_1.errorResult)(command, 'USAGE_ERROR', `Project path is not a directory: ${projectPath}`);
48
+ const resolvedProjectPath = path_1.default.resolve((0, flags_1.stringFlag)(flags, 'project') ?? process.cwd());
49
+ if (!fs_1.default.existsSync(resolvedProjectPath) ||
50
+ !fs_1.default.statSync(resolvedProjectPath).isDirectory()) {
51
+ return (0, envelope_1.errorResult)(command, 'USAGE_ERROR', `Project path is not a directory: ${resolvedProjectPath}`);
42
52
  }
53
+ const projectPath = fs_1.default.realpathSync.native(resolvedProjectPath);
43
54
  const handoffResult = (0, handoff_1.parseHandoff)({
44
55
  callerAgent: (0, flags_1.stringFlag)(flags, 'caller-agent'),
45
56
  callerModel: (0, flags_1.stringFlag)(flags, 'caller-model'),
@@ -54,16 +65,79 @@ const parseCommandContext = (command, args, spec = {}, env = process.env) => {
54
65
  exports.parseCommandContext = parseCommandContext;
55
66
  const isCommandResult = (value) => 'envelope' in value;
56
67
  exports.isCommandResult = isCommandResult;
68
+ const isStartupAvailabilityReason = (reason) => reason === 'handshake_missing' ||
69
+ reason === 'handshake_invalid' ||
70
+ reason === 'process_not_running';
71
+ /**
72
+ * Resolve the project's server after allowing bounded startup and health
73
+ * races to settle.
74
+ */
75
+ const inspectServerAvailability = async (projectPath) => {
76
+ let result = await (0, client_1.inspectServer)(projectPath);
77
+ let hasRetriedHealthCheck = false;
78
+ for (const retryDelayMs of ATTACH_RETRY_DELAYS_MS) {
79
+ if (result.status === 'attached') {
80
+ return result;
81
+ }
82
+ const isHealthRace = result.reason === 'health_check_failed' && !hasRetriedHealthCheck;
83
+ const isStartupRace = (0, serverHandshake_1.isServerStartInProgress)(projectPath) &&
84
+ isStartupAvailabilityReason(result.reason);
85
+ if (!isHealthRace && !isStartupRace) {
86
+ break;
87
+ }
88
+ hasRetriedHealthCheck =
89
+ hasRetriedHealthCheck || result.reason === 'health_check_failed';
90
+ await sleep(retryDelayMs);
91
+ result = await (0, client_1.inspectServer)(projectPath);
92
+ }
93
+ if (result.status === 'attached') {
94
+ return result;
95
+ }
96
+ if ((0, serverHandshake_1.isServerStartInProgress)(projectPath) &&
97
+ isStartupAvailabilityReason(result.reason)) {
98
+ return { status: 'unavailable', reason: 'server_starting' };
99
+ }
100
+ return result;
101
+ };
102
+ exports.inspectServerAvailability = inspectServerAvailability;
103
+ /** Build the standard unavailable response for commands that need a server. */
104
+ const serverUnavailableResult = (options) => {
105
+ const { command, projectPath, reason } = options;
106
+ const openRecovery = {
107
+ isRecoverable: true,
108
+ nextAction: {
109
+ action: 'open_project',
110
+ command: 'rivet open',
111
+ args: ['--project', projectPath],
112
+ },
113
+ };
114
+ const recovery = reason === 'health_check_failed' || reason === 'server_starting'
115
+ ? RETRY_SERVER_RECOVERY
116
+ : openRecovery;
117
+ const messageByReason = {
118
+ handshake_missing: `Rivet is not open for ${projectPath}. Start it with \`rivet open --project ${projectPath}\`.`,
119
+ handshake_invalid: `Rivet's server registration for ${projectPath} is invalid. Restart it with \`rivet open --project ${projectPath}\`.`,
120
+ process_not_running: `The previous Rivet server for ${projectPath} exited. Restart it with \`rivet open --project ${projectPath}\`.`,
121
+ health_check_failed: 'The Rivet server process is running but is not healthy yet. Retry this command in a moment; if it persists, inspect .rivet/cli/server.log and restart the owning Rivet process.',
122
+ server_starting: 'The Rivet server is still starting. Retry this command in a moment.',
123
+ };
124
+ return (0, envelope_1.errorResult)(command, 'SERVER_UNAVAILABLE', messageByReason[reason], { serverUnavailableReason: reason }, recovery);
125
+ };
126
+ exports.serverUnavailableResult = serverUnavailableResult;
57
127
  /**
58
128
  * Attach to the project's live server or produce the documented
59
129
  * server-unavailable error (exit code 4).
60
130
  */
61
131
  const attachOrUnavailable = async (command, projectPath) => {
62
- const attached = await (0, client_1.attachToServer)(projectPath);
63
- if (attached) {
64
- return attached;
132
+ const availability = await (0, exports.inspectServerAvailability)(projectPath);
133
+ if (availability.status === 'attached') {
134
+ return availability.server;
65
135
  }
66
- return (0, envelope_1.errorResult)(command, 'SERVER_UNAVAILABLE', `No running Rivet server for ${projectPath}. Run \`rivet open\` first.`);
136
+ return (0, exports.serverUnavailableResult)({
137
+ command,
138
+ projectPath,
139
+ reason: availability.reason,
140
+ });
67
141
  };
68
142
  exports.attachOrUnavailable = attachOrUnavailable;
69
143
  const isAttached = (value) => 'baseUrl' in value;
@@ -85,6 +159,9 @@ const serverErrorResult = (command, status, body) => {
85
159
  };
86
160
  exports.serverErrorResult = serverErrorResult;
87
161
  /** Map a transport-level failure onto the server-unavailable envelope. */
88
- const transportErrorResult = (command, error) => (0, envelope_1.errorResult)(command, 'SERVER_UNAVAILABLE', `Could not reach the Rivet server: ${error instanceof Error ? error.message : String(error)}`);
162
+ const transportErrorResult = (command, error) => (0, envelope_1.errorResult)(command, 'SERVER_UNAVAILABLE', `Could not reach the Rivet server: ${error instanceof Error ? error.message : String(error)}`, { serverUnavailableReason: 'transport_failed' }, {
163
+ isRecoverable: true,
164
+ nextAction: { action: 'retry', delayMs: RETRY_ACTION_DELAY_MS },
165
+ });
89
166
  exports.transportErrorResult = transportErrorResult;
90
167
  //# sourceMappingURL=shared.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/cli/commands/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/cli/commands/shared.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAa3E;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAU,MAAM,MAAM,EAAE,KAAG,OAAO,CAAC,gBAAgB,CAoCzE,CAAC"}
1
+ {"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA+C3E;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAU,MAAM,MAAM,EAAE,KAAG,OAAO,CAAC,gBAAgB,CAwCzE,CAAC"}
@@ -5,6 +5,23 @@ const envelope_1 = require("../envelope");
5
5
  const client_1 = require("../client");
6
6
  const shared_1 = require("./shared");
7
7
  const COMMAND = 'stop';
8
+ /** Describe why a server could not be stopped without suggesting `open`. */
9
+ const stoppedServerUnavailableResult = (projectPath, reason) => {
10
+ switch (reason) {
11
+ case 'health_check_failed':
12
+ case 'server_starting':
13
+ return (0, shared_1.serverUnavailableResult)({
14
+ command: COMMAND,
15
+ projectPath,
16
+ reason,
17
+ });
18
+ case 'handshake_invalid':
19
+ return (0, envelope_1.errorResult)(COMMAND, 'SERVER_UNAVAILABLE', `Rivet's server registration for ${projectPath} is invalid, so the running process cannot be identified or stopped.`, { serverUnavailableReason: reason }, { isRecoverable: false });
20
+ case 'handshake_missing':
21
+ case 'process_not_running':
22
+ return (0, envelope_1.errorResult)(COMMAND, 'SERVER_UNAVAILABLE', `Nothing is running for ${projectPath}; there is no Rivet server to stop.`, { serverUnavailableReason: reason }, { isRecoverable: false });
23
+ }
24
+ };
8
25
  /**
9
26
  * Gracefully stop the project's CLI-owned server. Host-managed sessions
10
27
  * (opened by an MCP host agent) refuse with guidance — their host owns the
@@ -15,10 +32,11 @@ const handleStop = async (args) => {
15
32
  if ((0, shared_1.isCommandResult)(context)) {
16
33
  return context;
17
34
  }
18
- const attached = await (0, shared_1.attachOrUnavailable)(COMMAND, context.projectPath);
19
- if (!(0, shared_1.isAttached)(attached)) {
20
- return attached;
35
+ const availability = await (0, shared_1.inspectServerAvailability)(context.projectPath);
36
+ if (availability.status === 'unavailable') {
37
+ return stoppedServerUnavailableResult(context.projectPath, availability.reason);
21
38
  }
39
+ const { server: attached } = availability;
22
40
  try {
23
41
  const response = await (0, client_1.requestServer)(attached, '/api/cli/shutdown', { method: 'POST', body: {} });
24
42
  if (response.status === 409) {
@@ -1 +1 @@
1
- {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/cli/commands/stop.ts"],"names":[],"mappings":";;;AAAA,0CAA2E;AAC3E,sCAA0C;AAC1C,qCAOkB;AAElB,MAAM,OAAO,GAAG,MAAM,CAAC;AAEvB;;;;GAIG;AACI,MAAM,UAAU,GAAG,KAAK,EAAE,IAAc,EAA6B,EAAE;IAC5E,MAAM,OAAO,GAAG,IAAA,4BAAmB,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI,IAAA,wBAAe,EAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,IAAA,4BAAmB,EAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACzE,IAAI,CAAC,IAAA,mBAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAa,EAClC,QAAQ,EACR,mBAAmB,EACnB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAC7B,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,IAAA,sBAAW,EAChB,OAAO,EACP,kBAAkB,EAClB,QAAQ,CAAC,IAAI,CAAC,KAAK;gBACjB,sEAAsE,EACxE,QAAQ,CAAC,IAAI,CACd,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,IAAA,0BAAiB,EAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,IAAA,mBAAQ,EAAC,OAAO,EAAE;YACvB,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,SAAS;SACxC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAA,6BAAoB,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC,CAAC;AApCW,QAAA,UAAU,cAoCrB"}
1
+ {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/cli/commands/stop.ts"],"names":[],"mappings":";;;AAAA,0CAA2E;AAC3E,sCAA0C;AAC1C,qCAQkB;AAElB,MAAM,OAAO,GAAG,MAAM,CAAC;AAEvB,4EAA4E;AAC5E,MAAM,8BAA8B,GAAG,CACrC,WAAmB,EACnB,MAA+B,EACb,EAAE;IACpB,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,qBAAqB,CAAC;QAC3B,KAAK,iBAAiB;YACpB,OAAO,IAAA,gCAAuB,EAAC;gBAC7B,OAAO,EAAE,OAAO;gBAChB,WAAW;gBACX,MAAM;aACP,CAAC,CAAC;QACL,KAAK,mBAAmB;YACtB,OAAO,IAAA,sBAAW,EAChB,OAAO,EACP,oBAAoB,EACpB,mCAAmC,WAAW,sEAAsE,EACpH,EAAE,uBAAuB,EAAE,MAAM,EAAE,EACnC,EAAE,aAAa,EAAE,KAAK,EAAE,CACzB,CAAC;QACJ,KAAK,mBAAmB,CAAC;QACzB,KAAK,qBAAqB;YACxB,OAAO,IAAA,sBAAW,EAChB,OAAO,EACP,oBAAoB,EACpB,0BAA0B,WAAW,qCAAqC,EAC1E,EAAE,uBAAuB,EAAE,MAAM,EAAE,EACnC,EAAE,aAAa,EAAE,KAAK,EAAE,CACzB,CAAC;IACN,CAAC;AACH,CAAC,CAAC;AAEF;;;;GAIG;AACI,MAAM,UAAU,GAAG,KAAK,EAAE,IAAc,EAA6B,EAAE;IAC5E,MAAM,OAAO,GAAG,IAAA,4BAAmB,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI,IAAA,wBAAe,EAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,IAAA,kCAAyB,EAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1E,IAAI,YAAY,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QAC1C,OAAO,8BAA8B,CACnC,OAAO,CAAC,WAAW,EACnB,YAAY,CAAC,MAAM,CACpB,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC;IAE1C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAa,EAClC,QAAQ,EACR,mBAAmB,EACnB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAC7B,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,IAAA,sBAAW,EAChB,OAAO,EACP,kBAAkB,EAClB,QAAQ,CAAC,IAAI,CAAC,KAAK;gBACjB,sEAAsE,EACxE,QAAQ,CAAC,IAAI,CACd,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,IAAA,0BAAiB,EAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,IAAA,mBAAQ,EAAC,OAAO,EAAE;YACvB,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,SAAS;SACxC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAA,6BAAoB,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC,CAAC;AAxCW,QAAA,UAAU,cAwCrB"}
@@ -35,6 +35,23 @@ export type CliLoginAction = {
35
35
  command: 'rivet login';
36
36
  mcpTool: 'rivet_login';
37
37
  };
38
+ export type CliOpenProjectAction = {
39
+ action: 'open_project';
40
+ command: 'rivet open';
41
+ args: ['--project', string];
42
+ };
43
+ export type CliRetryAction = {
44
+ action: 'retry';
45
+ delayMs: number;
46
+ };
47
+ export type CliRecoveryAction = CliLoginAction | CliOpenProjectAction | CliRetryAction;
48
+ export type CliErrorRecovery = {
49
+ isRecoverable: true;
50
+ nextAction?: CliRecoveryAction;
51
+ } | {
52
+ isRecoverable: false;
53
+ nextAction?: never;
54
+ };
38
55
  export type CliErrorEnvelope = {
39
56
  schemaVersion: typeof CLI_SCHEMA_VERSION;
40
57
  ok: false;
@@ -43,7 +60,7 @@ export type CliErrorEnvelope = {
43
60
  code: CliErrorCode;
44
61
  message: string;
45
62
  isRecoverable?: boolean;
46
- nextAction?: CliLoginAction;
63
+ nextAction?: CliRecoveryAction;
47
64
  /** Optional structured detail (e.g. server error payloads). */
48
65
  details?: unknown;
49
66
  };
@@ -61,7 +78,7 @@ export type CliCommandResult = {
61
78
  exitCode: CliExitCode;
62
79
  };
63
80
  export declare const okResult: (command: string, data: unknown) => CliCommandResult;
64
- export declare const errorResult: (command: string, code: CliErrorCode, message: string, details?: unknown) => CliCommandResult;
81
+ export declare const errorResult: (command: string, code: CliErrorCode, message: string, details?: unknown, explicitRecovery?: CliErrorRecovery) => CliCommandResult;
65
82
  /** Serialize one envelope as a single stdout line (NDJSON-compatible). */
66
83
  export declare const serializeEnvelope: (envelope: CliEnvelope) => string;
67
84
  //# sourceMappingURL=envelope.d.ts.map