@openrig/cli 0.1.9 → 0.1.11

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 (80) hide show
  1. package/daemon/dist/adapters/claude-code-adapter.d.ts +13 -0
  2. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  3. package/daemon/dist/adapters/claude-code-adapter.js +93 -8
  4. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  5. package/daemon/dist/adapters/cmux-transport.d.ts +7 -2
  6. package/daemon/dist/adapters/cmux-transport.d.ts.map +1 -1
  7. package/daemon/dist/adapters/cmux-transport.js +149 -24
  8. package/daemon/dist/adapters/cmux-transport.js.map +1 -1
  9. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +11 -0
  10. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  11. package/daemon/dist/adapters/codex-runtime-adapter.js +65 -7
  12. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  13. package/daemon/dist/domain/graph-projection.d.ts +2 -2
  14. package/daemon/dist/domain/graph-projection.d.ts.map +1 -1
  15. package/daemon/dist/domain/pod-bundle-assembler.d.ts.map +1 -1
  16. package/daemon/dist/domain/pod-bundle-assembler.js +10 -0
  17. package/daemon/dist/domain/pod-bundle-assembler.js.map +1 -1
  18. package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
  19. package/daemon/dist/domain/rigspec-codec.js +2 -0
  20. package/daemon/dist/domain/rigspec-codec.js.map +1 -1
  21. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  22. package/daemon/dist/domain/rigspec-schema.js +28 -0
  23. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  24. package/daemon/dist/domain/session-registry.d.ts +1 -1
  25. package/daemon/dist/domain/session-registry.d.ts.map +1 -1
  26. package/daemon/dist/domain/session-registry.js.map +1 -1
  27. package/daemon/dist/domain/startup-orchestrator.d.ts +1 -1
  28. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  29. package/daemon/dist/domain/startup-orchestrator.js +21 -22
  30. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  31. package/daemon/dist/domain/types.d.ts +6 -2
  32. package/daemon/dist/domain/types.d.ts.map +1 -1
  33. package/daemon/docs/reference/agent-startup-guide.md +19 -0
  34. package/daemon/docs/reference/rig-bundle.md +367 -0
  35. package/daemon/docs/reference/rig-spec.md +5 -0
  36. package/daemon/specs/agents/product-management/pm/agent.yaml +37 -0
  37. package/daemon/specs/agents/product-management/pm/guidance/role.md +43 -0
  38. package/daemon/specs/agents/shared/agent.yaml +15 -0
  39. package/daemon/specs/agents/shared/skills/pm/backlog-capture/SKILL.md +43 -0
  40. package/daemon/specs/agents/shared/skills/pm/context-builder/SKILL.md +87 -0
  41. package/daemon/specs/agents/shared/skills/pm/exec-summary/SKILL.md +84 -0
  42. package/daemon/specs/agents/shared/skills/pm/office-hours/SKILL.md +129 -0
  43. package/daemon/specs/agents/shared/skills/pm/plan-review/SKILL.md +98 -0
  44. package/daemon/specs/agents/shared/skills/pm/requirements-writer/SKILL.md +113 -0
  45. package/daemon/specs/agents/shared/skills/pm/ui-mockup/SKILL.md +76 -0
  46. package/daemon/specs/agents/shared/skills/rig-architect/SKILL.md +11 -1
  47. package/daemon/specs/rigs/focused/pm-team/CULTURE.md +17 -0
  48. package/daemon/specs/rigs/focused/pm-team/rig.yaml +51 -0
  49. package/dist/cmux-config.d.ts +15 -0
  50. package/dist/cmux-config.d.ts.map +1 -0
  51. package/dist/cmux-config.js +67 -0
  52. package/dist/cmux-config.js.map +1 -0
  53. package/dist/commands/daemon.d.ts.map +1 -1
  54. package/dist/commands/daemon.js +3 -2
  55. package/dist/commands/daemon.js.map +1 -1
  56. package/dist/commands/doctor.d.ts +1 -0
  57. package/dist/commands/doctor.d.ts.map +1 -1
  58. package/dist/commands/doctor.js +47 -23
  59. package/dist/commands/doctor.js.map +1 -1
  60. package/dist/commands/setup.d.ts +11 -1
  61. package/dist/commands/setup.d.ts.map +1 -1
  62. package/dist/commands/setup.js +256 -16
  63. package/dist/commands/setup.js.map +1 -1
  64. package/dist/daemon-lifecycle.d.ts.map +1 -1
  65. package/dist/daemon-lifecycle.js +71 -11
  66. package/dist/daemon-lifecycle.js.map +1 -1
  67. package/dist/index.js +0 -0
  68. package/package.json +2 -1
  69. package/ui/dist/assets/index-DlMH-REm.css +1 -0
  70. package/ui/dist/assets/{index-CXZYxZbF.js → index-lEO-zBxz.js} +26 -26
  71. package/ui/dist/index.html +2 -2
  72. package/dist/commands/claim.d.ts +0 -4
  73. package/dist/commands/claim.d.ts.map +0 -1
  74. package/dist/commands/claim.js +0 -40
  75. package/dist/commands/claim.js.map +0 -1
  76. package/dist/commands/docs.d.ts +0 -3
  77. package/dist/commands/docs.d.ts.map +0 -1
  78. package/dist/commands/docs.js +0 -55
  79. package/dist/commands/docs.js.map +0 -1
  80. package/ui/dist/assets/index-BsXbqPEl.css +0 -1
@@ -4,6 +4,11 @@ import { readFileSync, writeFileSync, existsSync, accessSync, constants, mkdirSy
4
4
  import path from "node:path";
5
5
  import { runDoctorChecks } from "./doctor.js";
6
6
  import { ConfigStore } from "../config-store.js";
7
+ import { CMUX_SETTINGS_DISCLOSURE_PATH, isCmuxSocketControlCompatible, readCmuxSocketControlModeFromText, resolveCmuxSettingsPath, upsertCmuxSocketControlMode, } from "../cmux-config.js";
8
+ const DEFAULT_COMMAND_TIMEOUT_MS = 30_000;
9
+ const INSTALL_COMMAND_TIMEOUT_MS = 5 * 60_000;
10
+ const CMUX_READY_ATTEMPTS = 5;
11
+ const CMUX_READY_DELAY_MS = 1_000;
7
12
  const CORE_STEP_IDS = [
8
13
  "brew",
9
14
  "tmux_install",
@@ -16,9 +21,50 @@ const CORE_STEP_IDS = [
16
21
  "verify",
17
22
  ];
18
23
  const FULL_EXTRA_STEP_IDS = ["jq_install", "gh_install"];
24
+ const BASE_RUNTIME_CONFIG_DISCLOSURE = [
25
+ {
26
+ scope: "global",
27
+ runtime: "claude-code",
28
+ path: "~/.claude/settings.json",
29
+ purpose: "Allow OpenRig commands without Claude permission prompts.",
30
+ },
31
+ {
32
+ scope: "global",
33
+ runtime: "claude-code",
34
+ path: "~/.claude.json",
35
+ purpose: "Pre-trust managed workspaces and mark Claude onboarding complete.",
36
+ },
37
+ {
38
+ scope: "project",
39
+ runtime: "claude-code",
40
+ path: ".claude/settings.local.json",
41
+ purpose: "Apply managed-session Claude permissions and context-collector statusLine config within the project.",
42
+ },
43
+ {
44
+ scope: "project",
45
+ runtime: "claude-code",
46
+ path: ".mcp.json",
47
+ purpose: "Configure project-local MCP servers for Claude-managed workspaces.",
48
+ },
49
+ {
50
+ scope: "global",
51
+ runtime: "codex",
52
+ path: "~/.codex/config.toml",
53
+ purpose: "Pre-trust managed workspaces and configure Codex MCP servers.",
54
+ },
55
+ ];
56
+ const DARWIN_RUNTIME_CONFIG_DISCLOSURE = {
57
+ scope: "global",
58
+ runtime: "cmux",
59
+ path: CMUX_SETTINGS_DISCLOSURE_PATH,
60
+ purpose: "Set cmux socket control to an OpenRig-compatible automation mode.",
61
+ };
19
62
  function defaultDeps() {
20
63
  return {
21
- exec: (cmd) => execSync(cmd, { encoding: "utf-8", timeout: 30_000 }),
64
+ exec: (cmd, opts) => execSync(cmd, {
65
+ encoding: "utf-8",
66
+ timeout: opts?.timeoutMs ?? DEFAULT_COMMAND_TIMEOUT_MS,
67
+ }),
22
68
  readFile: (p) => { try {
23
69
  return readFileSync(p, "utf-8");
24
70
  }
@@ -27,18 +73,108 @@ function defaultDeps() {
27
73
  } },
28
74
  writeFile: (p, c) => writeFileSync(p, c, "utf-8"),
29
75
  exists: (p) => existsSync(p),
76
+ mkdirp: (p) => mkdirSync(p, { recursive: true }),
30
77
  };
31
78
  }
79
+ function installCommand(deps, cmd) {
80
+ return deps.exec(cmd, { timeoutMs: INSTALL_COMMAND_TIMEOUT_MS });
81
+ }
82
+ function sleep(ms) {
83
+ return new Promise((resolve) => setTimeout(resolve, ms));
84
+ }
85
+ async function waitForCmuxCapabilities(deps, attempts = CMUX_READY_ATTEMPTS) {
86
+ for (let index = 0; index < attempts; index += 1) {
87
+ try {
88
+ deps.exec("cmux capabilities --json");
89
+ return true;
90
+ }
91
+ catch {
92
+ if (index < attempts - 1) {
93
+ await sleep(CMUX_READY_DELAY_MS);
94
+ }
95
+ }
96
+ }
97
+ return false;
98
+ }
99
+ async function tryEnableCmuxControl(deps, platform) {
100
+ if (platform !== "darwin")
101
+ return false;
102
+ const settingsPath = resolveCmuxSettingsPath();
103
+ const settingsText = deps.readFile(settingsPath);
104
+ const currentMode = readCmuxSocketControlModeFromText(settingsText);
105
+ if (currentMode.error) {
106
+ return false;
107
+ }
108
+ try {
109
+ deps.mkdirp?.(path.dirname(settingsPath));
110
+ const next = upsertCmuxSocketControlMode(settingsText, "automation");
111
+ if (next.changed) {
112
+ deps.writeFile(settingsPath, next.content);
113
+ }
114
+ }
115
+ catch {
116
+ return false;
117
+ }
118
+ const shellReady = await waitForCmuxCapabilities(deps, 1);
119
+ if (shellReady) {
120
+ try {
121
+ deps.exec("cmux reload-config");
122
+ }
123
+ catch {
124
+ // Best effort: if reload fails, the daemon-side verification will surface it honestly.
125
+ }
126
+ return waitForCmuxCapabilities(deps, 1);
127
+ }
128
+ try {
129
+ deps.exec("open -a /Applications/cmux.app");
130
+ }
131
+ catch {
132
+ // Best effort: cmux may already be running or the app open may be blocked; capability probe decides readiness.
133
+ }
134
+ return waitForCmuxCapabilities(deps);
135
+ }
136
+ function buildRuntimeConfigDisclosure(platform) {
137
+ return platform === "darwin"
138
+ ? [...BASE_RUNTIME_CONFIG_DISCLOSURE, DARWIN_RUNTIME_CONFIG_DISCLOSURE]
139
+ : [...BASE_RUNTIME_CONFIG_DISCLOSURE];
140
+ }
141
+ async function probeDaemonCmuxStatus(doctorDeps) {
142
+ const fetchFn = doctorDeps?.fetch;
143
+ if (!fetchFn)
144
+ return "skipped";
145
+ const config = doctorDeps.configStore.resolve();
146
+ const host = config.daemon.host;
147
+ const port = config.daemon.port;
148
+ try {
149
+ const healthRes = await fetchFn(`http://${host}:${port}/healthz`);
150
+ if (!healthRes.ok)
151
+ return "skipped";
152
+ }
153
+ catch {
154
+ return "skipped";
155
+ }
156
+ try {
157
+ const cmuxRes = await fetchFn(`http://${host}:${port}/api/adapters/cmux/status`);
158
+ if (!cmuxRes.ok || !cmuxRes.json)
159
+ return "unavailable";
160
+ const data = (await cmuxRes.json());
161
+ return data.available ? "available" : "unavailable";
162
+ }
163
+ catch {
164
+ return "unavailable";
165
+ }
166
+ }
32
167
  export async function runSetup(deps, opts) {
33
168
  const profile = opts.full ? "full" : "core";
34
169
  const platform = deps.platform ?? process.platform;
170
+ const runtimeConfig = buildRuntimeConfigDisclosure(platform);
35
171
  const stepIds = opts.full ? [...CORE_STEP_IDS, ...FULL_EXTRA_STEP_IDS] : [...CORE_STEP_IDS];
36
172
  const steps = [];
37
173
  if (opts.dryRun) {
38
174
  for (const id of stepIds) {
39
175
  steps.push({ id, status: "skipped", message: `Dry run: ${id} would be attempted.` });
40
176
  }
41
- return { profile, platform, ready: false, steps };
177
+ return { profile, platform, ready: false, steps, runtimeConfig };
42
178
  }
43
179
  // Core steps
44
180
  // 1. Homebrew (macOS-first setup path)
@@ -77,7 +213,7 @@ export async function runSetup(deps, opts) {
77
213
  }
78
214
  else {
79
215
  try {
80
- deps.exec("brew install tmux");
216
+ installCommand(deps, "brew install tmux");
81
217
  steps.push({ id: "tmux_install", status: "applied", message: "Installed tmux with Homebrew." });
82
218
  }
83
219
  catch (err) {
@@ -86,14 +222,94 @@ export async function runSetup(deps, opts) {
86
222
  }
87
223
  }
88
224
  // 3. cmux
89
- try {
90
- deps.exec("cmux capabilities --json");
91
- steps.push({ id: "cmux_install", status: "pass", message: "cmux available." });
225
+ const daemonCmuxBefore = await probeDaemonCmuxStatus(opts.doctorDeps);
226
+ if (await waitForCmuxCapabilities(deps, 1)) {
227
+ const socketMode = readCmuxSocketControlModeFromText(deps.readFile(resolveCmuxSettingsPath()));
228
+ if (platform === "darwin" && socketMode.error) {
229
+ steps.push({
230
+ id: "cmux_install",
231
+ status: "fail",
232
+ message: "cmux settings file is unreadable.",
233
+ reason: `OpenRig could not parse ${CMUX_SETTINGS_DISCLOSURE_PATH}: ${socketMode.error}`,
234
+ fixHint: "Repair or remove the cmux settings file, then rerun `rig setup`.",
235
+ });
236
+ }
237
+ else if (platform === "darwin" && !isCmuxSocketControlCompatible(socketMode.mode)) {
238
+ if (await tryEnableCmuxControl(deps, platform)) {
239
+ const daemonCmuxAfter = await probeDaemonCmuxStatus(opts.doctorDeps);
240
+ if (daemonCmuxAfter === "unavailable") {
241
+ steps.push({
242
+ id: "cmux_install",
243
+ status: "fail",
244
+ message: "OpenRig updated cmux settings, but the running daemon still cannot control cmux.",
245
+ reason: "The cmux settings file is now compatible, so the remaining blocker is in the live daemon/cmux session state.",
246
+ fixHint: "Restart the daemon with `rig daemon start`, then rerun `rig doctor` to confirm cmux daemon control.",
247
+ });
248
+ }
249
+ else {
250
+ steps.push({
251
+ id: "cmux_install",
252
+ status: "applied",
253
+ message: "Normalized cmux socket control to automation mode in ~/.config/cmux/settings.json.",
254
+ });
255
+ }
256
+ }
257
+ else {
258
+ steps.push({
259
+ id: "cmux_install",
260
+ status: "fail",
261
+ message: "cmux shell control works, but OpenRig could not normalize cmux socket control.",
262
+ reason: "OpenRig needs a compatible cmux socket control mode so the daemon can open CMUX surfaces reliably.",
263
+ fixHint: `Set automation.socketControlMode to "automation" in ${CMUX_SETTINGS_DISCLOSURE_PATH}, then rerun \`rig setup\` or \`rig doctor\`.`,
264
+ });
265
+ }
266
+ }
267
+ else if (daemonCmuxBefore === "unavailable") {
268
+ steps.push({
269
+ id: "cmux_install",
270
+ status: "fail",
271
+ message: "cmux shell control works, but the running daemon still cannot control cmux.",
272
+ reason: "Current cmux settings already look compatible, so the remaining blocker is outside the cmux settings file OpenRig can repair automatically.",
273
+ fixHint: "Run `rig doctor` for the exact daemon cmux diagnosis, then restart the daemon after clearing the underlying blocker.",
274
+ });
275
+ }
276
+ else {
277
+ steps.push({ id: "cmux_install", status: "pass", message: "cmux available." });
278
+ }
92
279
  }
93
- catch {
280
+ else {
94
281
  try {
95
282
  deps.exec("cmux --help");
96
- steps.push({ id: "cmux_install", status: "warn", message: "cmux installed but control unavailable.", fixHint: "Open cmux and enable socket control." });
283
+ if (await tryEnableCmuxControl(deps, platform)) {
284
+ const daemonCmuxAfter = await probeDaemonCmuxStatus(opts.doctorDeps);
285
+ if (daemonCmuxAfter === "unavailable") {
286
+ steps.push({
287
+ id: "cmux_install",
288
+ status: "fail",
289
+ message: "OpenRig enabled cmux socket control, but the running daemon still cannot control cmux.",
290
+ reason: "The cmux app and settings are now in place, so the remaining blocker is in the live daemon/cmux session state.",
291
+ fixHint: "Restart the daemon with `rig daemon start`, then rerun `rig doctor` to confirm cmux daemon control.",
292
+ });
293
+ }
294
+ else {
295
+ steps.push({
296
+ id: "cmux_install",
297
+ status: "applied",
298
+ message: "Enabled cmux socket control in ~/.config/cmux/settings.json.",
299
+ });
300
+ }
301
+ }
302
+ else {
303
+ steps.push({
304
+ id: "cmux_install",
305
+ status: platform === "darwin" ? "fail" : "warn",
306
+ message: "cmux installed but control unavailable.",
307
+ reason: "Open CMUX workflows need cmux socket control to be enabled.",
308
+ fixHint: platform === "darwin"
309
+ ? `Set automation.socketControlMode to "automation" in ${CMUX_SETTINGS_DISCLOSURE_PATH}, then rerun \`rig setup\` or \`rig doctor\`.`
310
+ : "Open cmux, approve any first-run prompts, and rerun `rig setup` or `rig doctor`.",
311
+ });
312
+ }
97
313
  }
98
314
  catch {
99
315
  if (!brewOk) {
@@ -101,11 +317,28 @@ export async function runSetup(deps, opts) {
101
317
  }
102
318
  else {
103
319
  try {
104
- deps.exec("brew install --cask cmux");
105
- steps.push({ id: "cmux_install", status: "applied", message: "Installed cmux with Homebrew." });
320
+ installCommand(deps, "brew install --cask cmux");
321
+ if (await tryEnableCmuxControl(deps, platform) || await waitForCmuxCapabilities(deps, 1)) {
322
+ steps.push({ id: "cmux_install", status: "applied", message: "Installed cmux with Homebrew." });
323
+ }
324
+ else {
325
+ steps.push({
326
+ id: "cmux_install",
327
+ status: platform === "darwin" ? "fail" : "warn",
328
+ message: "Installed cmux, but control is still unavailable.",
329
+ reason: "Open CMUX workflows need the cmux app to expose socket control after installation.",
330
+ fixHint: "Open cmux, approve any first-run prompts, and rerun `rig setup` or `rig doctor`.",
331
+ });
332
+ }
106
333
  }
107
- catch {
108
- steps.push({ id: "cmux_install", status: "warn", message: "cmux not installed. Open CMUX workflows will be unavailable.", fixHint: "Install cmux manually if needed." });
334
+ catch (err) {
335
+ steps.push({
336
+ id: "cmux_install",
337
+ status: "fail",
338
+ message: `Failed to install cmux: ${err.message}`,
339
+ reason: "Open CMUX workflows stay unavailable until the cmux app and CLI are installed.",
340
+ fixHint: "Retry `brew install --cask cmux` after connectivity stabilizes, or install cmux manually.",
341
+ });
109
342
  }
110
343
  }
111
344
  }
@@ -120,7 +353,7 @@ export async function runSetup(deps, opts) {
120
353
  }
121
354
  catch {
122
355
  try {
123
- deps.exec("npm install -g @anthropic-ai/claude-code");
356
+ installCommand(deps, "npm install -g @anthropic-ai/claude-code");
124
357
  deps.exec("claude --version");
125
358
  claudeInstalled = true;
126
359
  steps.push({ id: "claude_install", status: "applied", message: "Installed Claude Code with npm." });
@@ -167,7 +400,7 @@ export async function runSetup(deps, opts) {
167
400
  }
168
401
  catch {
169
402
  try {
170
- deps.exec("npm install -g @openai/codex");
403
+ installCommand(deps, "npm install -g @openai/codex");
171
404
  deps.exec("codex --version");
172
405
  codexInstalled = true;
173
406
  steps.push({ id: "codex_install", status: "applied", message: "Installed Codex with npm." });
@@ -255,7 +488,7 @@ export async function runSetup(deps, opts) {
255
488
  }
256
489
  else {
257
490
  try {
258
- deps.exec(`brew install ${tool.brew}`);
491
+ installCommand(deps, `brew install ${tool.brew}`);
259
492
  steps.push({ id: tool.id, status: "applied", message: `Installed ${tool.cmd} with Homebrew.` });
260
493
  }
261
494
  catch {
@@ -286,7 +519,7 @@ export async function runSetup(deps, opts) {
286
519
  const stepsFailed = steps.some((s) => s.status === "fail");
287
520
  const verificationFailed = verification?.checks.some((c) => c.status === "fail") ?? false;
288
521
  const ready = !stepsFailed && !verificationFailed;
289
- return { profile, platform, ready, steps, ...(verification ? { verification } : {}) };
522
+ return { profile, platform, ready, steps, runtimeConfig, ...(verification ? { verification } : {}) };
290
523
  }
291
524
  function buildDefaultDoctorDeps(setupDeps) {
292
525
  const platform = setupDeps.platform ?? process.platform;
@@ -294,6 +527,7 @@ function buildDefaultDoctorDeps(setupDeps) {
294
527
  return {
295
528
  exists: setupDeps.exists,
296
529
  baseDir,
530
+ readFile: setupDeps.readFile,
297
531
  exec: setupDeps.exec,
298
532
  checkPort: async (port) => {
299
533
  const net = await import("node:net");
@@ -308,6 +542,7 @@ function buildDefaultDoctorDeps(setupDeps) {
308
542
  platform: platform,
309
543
  mkdirp: (p) => mkdirSync(p, { recursive: true }),
310
544
  checkWritable: (p) => accessSync(p, constants.W_OK),
545
+ fetch: globalThis.fetch,
311
546
  };
312
547
  }
313
548
  export function setupCommand(depsOverride) {
@@ -328,6 +563,11 @@ export function setupCommand(depsOverride) {
328
563
  }
329
564
  console.log(`\nProfile: ${result.profile}`);
330
565
  console.log(`Platform: ${result.platform}\n`);
566
+ console.log("OpenRig may modify runtime config in these locations:");
567
+ for (const item of result.runtimeConfig) {
568
+ console.log(` - [${item.scope}] ${item.runtime} ${item.path} — ${item.purpose}`);
569
+ }
570
+ console.log(" - Note: already-running adopted sessions may need restart to pick up runtime config changes.\n");
331
571
  for (const step of result.steps) {
332
572
  const icon = step.status === "pass" ? "OK" : step.status === "applied" ? "APPLIED" : step.status === "warn" ? "WARN" : step.status === "skipped" ? "SKIP" : "FAIL";
333
573
  console.log(` [${icon}] ${step.id}: ${step.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"daemon-lifecycle.d.ts","sourceRoot":"","sources":["../src/daemon-lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon-lifecycle.d.ts","sourceRoot":"","sources":["../src/daemon-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import path from "node:path";
2
2
  import { existsSync } from "node:fs";
3
+ import { ConfigStore } from "./config-store.js";
3
4
  import { OPENRIG_HOME, LEGACY_RIGGED_HOME, readOpenRigEnv } from "./openrig-compat.js";
4
5
  /** Build the daemon HTTP URL from status. Uses persisted host or defaults to 127.0.0.1. */
5
6
  export function getDaemonUrl(status) {
6
- return `http://${status.host ?? "127.0.0.1"}:${status.port}`;
7
+ return `http://${status.host ?? DEFAULT_HOST}:${status.port}`;
7
8
  }
8
9
  export const OPENRIG_DIR = OPENRIG_HOME;
9
10
  export const RIGGED_DIR = OPENRIG_DIR;
@@ -11,6 +12,7 @@ export const STATE_FILE = path.join(OPENRIG_DIR, "daemon.json");
11
12
  export const LOG_FILE = path.join(OPENRIG_DIR, "daemon.log");
12
13
  export const LEGACY_STATE_FILE = path.join(LEGACY_RIGGED_HOME, "daemon.json");
13
14
  export const LEGACY_LOG_FILE = path.join(LEGACY_RIGGED_HOME, "daemon.log");
15
+ const DEFAULT_HOST = "127.0.0.1";
14
16
  const DEFAULT_PORT = 7433;
15
17
  const DEFAULT_DB = "openrig.sqlite";
16
18
  const HEALTHZ_RETRIES = 20;
@@ -94,7 +96,7 @@ function resolveLifecycleFile(deps, filename) {
94
96
  async function checkPid(state, deps) {
95
97
  if (!deps.isProcessAlive(state.pid))
96
98
  return "dead";
97
- const host = state.host ?? "127.0.0.1";
99
+ const host = state.host ?? DEFAULT_HOST;
98
100
  try {
99
101
  await fetchDaemonProbe(deps, `http://${host}:${state.port}/healthz`);
100
102
  // Any response (ok or not) means something is listening on our port → OpenRig
@@ -107,6 +109,21 @@ async function checkPid(state, deps) {
107
109
  return "not_openrig";
108
110
  }
109
111
  }
112
+ function resolveConfiguredDaemonTarget() {
113
+ try {
114
+ const config = new ConfigStore().resolve();
115
+ return {
116
+ host: config.daemon.host,
117
+ port: config.daemon.port,
118
+ };
119
+ }
120
+ catch {
121
+ return {
122
+ host: DEFAULT_HOST,
123
+ port: DEFAULT_PORT,
124
+ };
125
+ }
126
+ }
110
127
  /**
111
128
  * Scrub list: environment variable prefixes and exact names that should NOT
112
129
  * be forwarded from the operator shell into the daemon process. These are
@@ -146,6 +163,9 @@ export function buildDaemonEnv(baseEnv, opts) {
146
163
  return env;
147
164
  }
148
165
  export async function startDaemon(opts, deps) {
166
+ const port = opts.port ?? DEFAULT_PORT;
167
+ const host = opts.host ?? DEFAULT_HOST;
168
+ const db = opts.db ?? DEFAULT_DB;
149
169
  // Check if already running
150
170
  const existing = readState(deps);
151
171
  if (existing) {
@@ -159,9 +179,21 @@ export async function startDaemon(opts, deps) {
159
179
  }
160
180
  // "dead" or "not_rigged" → stale state, safe to proceed
161
181
  }
162
- const port = opts.port ?? DEFAULT_PORT;
163
- const host = opts.host ?? "127.0.0.1";
164
- const db = opts.db ?? DEFAULT_DB;
182
+ else {
183
+ let recoveredRunning = false;
184
+ try {
185
+ await fetchDaemonProbe(deps, `http://${host}:${port}/healthz`);
186
+ recoveredRunning = true;
187
+ }
188
+ catch (err) {
189
+ if (err instanceof HealthProbeTimeoutError) {
190
+ throw new Error(`Daemon on port ${port} is unresponsive, and daemon state is missing — recover it before starting a new daemon.`);
191
+ }
192
+ }
193
+ if (recoveredRunning) {
194
+ throw new Error(`Daemon already running on port ${port}, but daemon state is missing`);
195
+ }
196
+ }
165
197
  const daemonEntry = path.join(getDaemonPath(), "dist/index.js");
166
198
  deps.mkdirp(OPENRIG_DIR);
167
199
  const logFd = deps.openForAppend(LOG_FILE);
@@ -214,8 +246,23 @@ export async function startDaemon(opts, deps) {
214
246
  }
215
247
  export async function stopDaemon(deps) {
216
248
  const state = readState(deps);
217
- if (!state)
218
- return; // Not running — clean exit
249
+ if (!state) {
250
+ const configured = resolveConfiguredDaemonTarget();
251
+ let recoveredRunning = false;
252
+ try {
253
+ await fetchDaemonProbe(deps, `http://${configured.host}:${configured.port}/healthz`);
254
+ recoveredRunning = true;
255
+ }
256
+ catch (err) {
257
+ if (err instanceof HealthProbeTimeoutError) {
258
+ throw new Error(`Daemon state is missing and port ${configured.port} is unresponsive — cannot stop safely.`);
259
+ }
260
+ }
261
+ if (recoveredRunning) {
262
+ throw new Error(`Daemon is running on port ${configured.port}, but daemon state is missing — cannot stop safely.`);
263
+ }
264
+ return;
265
+ }
219
266
  const stateFile = resolveLifecycleFile(deps, "daemon.json");
220
267
  const pidState = await checkPid(state, deps);
221
268
  if (pidState === "dead") {
@@ -253,22 +300,35 @@ export async function getDaemonStatus(deps) {
253
300
  try {
254
301
  const res = await fetchDaemonProbe(deps, `${openrigUrl}/healthz`);
255
302
  const url = new URL(openrigUrl);
256
- return { state: "running", port: Number(url.port) || 7433, host: url.hostname || "127.0.0.1", healthy: res.ok };
303
+ return { state: "running", port: Number(url.port) || DEFAULT_PORT, host: url.hostname || DEFAULT_HOST, healthy: res.ok };
257
304
  }
258
305
  catch {
259
306
  return { state: "stopped" };
260
307
  }
261
308
  }
262
309
  const state = readState(deps);
263
- if (!state)
264
- return { state: "stopped" };
310
+ if (!state) {
311
+ const configured = resolveConfiguredDaemonTarget();
312
+ try {
313
+ const res = await fetchDaemonProbe(deps, `http://${configured.host}:${configured.port}/healthz`);
314
+ return {
315
+ state: "running",
316
+ port: configured.port,
317
+ host: configured.host,
318
+ healthy: res.ok,
319
+ };
320
+ }
321
+ catch {
322
+ return { state: "stopped" };
323
+ }
324
+ }
265
325
  if (!deps.isProcessAlive(state.pid)) {
266
326
  // Process dead — stale state
267
327
  deps.removeFile(resolveLifecycleFile(deps, "daemon.json"));
268
328
  return { state: "stale" };
269
329
  }
270
330
  // Process alive — check healthz
271
- const host = state.host ?? "127.0.0.1";
331
+ const host = state.host ?? DEFAULT_HOST;
272
332
  let healthy = false;
273
333
  try {
274
334
  const res = await fetchDaemonProbe(deps, `http://${host}:${state.port}/healthz`);