@openrig/cli 0.4.2 → 0.4.3
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.
- package/daemon/assets/plugins/openrig-core/hooks/scripts/activity-relay.cjs +42 -2
- package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +87 -0
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts +46 -0
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js +167 -3
- package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/tmux.d.ts +31 -0
- package/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/daemon/dist/adapters/tmux.js +62 -0
- package/daemon/dist/adapters/tmux.js.map +1 -1
- package/daemon/dist/db/migrations/045_resume_verification.d.ts +29 -0
- package/daemon/dist/db/migrations/045_resume_verification.d.ts.map +1 -0
- package/daemon/dist/db/migrations/045_resume_verification.js +34 -0
- package/daemon/dist/db/migrations/045_resume_verification.js.map +1 -0
- package/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts +41 -0
- package/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts.map +1 -0
- package/daemon/dist/db/migrations/046_seat_identity_verdicts.js +56 -0
- package/daemon/dist/db/migrations/046_seat_identity_verdicts.js.map +1 -0
- package/daemon/dist/db/migrations/047_events_node_type_index.d.ts +48 -0
- package/daemon/dist/db/migrations/047_events_node_type_index.d.ts.map +1 -0
- package/daemon/dist/db/migrations/047_events_node_type_index.js +52 -0
- package/daemon/dist/db/migrations/047_events_node_type_index.js.map +1 -0
- package/daemon/dist/domain/activity-endpoint.d.ts +25 -0
- package/daemon/dist/domain/activity-endpoint.d.ts.map +1 -0
- package/daemon/dist/domain/activity-endpoint.js +91 -0
- package/daemon/dist/domain/activity-endpoint.js.map +1 -0
- package/daemon/dist/domain/claim-service.d.ts +36 -0
- package/daemon/dist/domain/claim-service.d.ts.map +1 -1
- package/daemon/dist/domain/claim-service.js +90 -0
- package/daemon/dist/domain/claim-service.js.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts +57 -0
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.js +149 -3
- package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
- package/daemon/dist/domain/event-loop-monitor.d.ts +100 -0
- package/daemon/dist/domain/event-loop-monitor.d.ts.map +1 -0
- package/daemon/dist/domain/event-loop-monitor.js +127 -0
- package/daemon/dist/domain/event-loop-monitor.js.map +1 -0
- package/daemon/dist/domain/gate-predicate.d.ts +29 -0
- package/daemon/dist/domain/gate-predicate.d.ts.map +1 -0
- package/daemon/dist/domain/gate-predicate.js +73 -0
- package/daemon/dist/domain/gate-predicate.js.map +1 -0
- package/daemon/dist/domain/graph-projection.d.ts +7 -1
- package/daemon/dist/domain/graph-projection.d.ts.map +1 -1
- package/daemon/dist/domain/graph-projection.js +19 -1
- package/daemon/dist/domain/graph-projection.js.map +1 -1
- package/daemon/dist/domain/node-inventory.d.ts +7 -1
- package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/daemon/dist/domain/node-inventory.js +84 -5
- package/daemon/dist/domain/node-inventory.js.map +1 -1
- package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts +4 -0
- package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts.map +1 -1
- package/daemon/dist/domain/periodic-snapshot-scheduler.js +11 -0
- package/daemon/dist/domain/periodic-snapshot-scheduler.js.map +1 -1
- package/daemon/dist/domain/policies/idle-gate-qitem.d.ts +14 -0
- package/daemon/dist/domain/policies/idle-gate-qitem.d.ts.map +1 -0
- package/daemon/dist/domain/policies/idle-gate-qitem.js +114 -0
- package/daemon/dist/domain/policies/idle-gate-qitem.js.map +1 -0
- package/daemon/dist/domain/restore-orchestrator.d.ts +8 -0
- package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.js +109 -27
- package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/daemon/dist/domain/restore-plan-preview.d.ts +25 -1
- package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
- package/daemon/dist/domain/restore-plan-preview.js +72 -4
- package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
- package/daemon/dist/domain/resume-metadata-refresher.d.ts +44 -2
- package/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
- package/daemon/dist/domain/resume-metadata-refresher.js +92 -6
- package/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
- package/daemon/dist/domain/resume-token-capture.d.ts +50 -0
- package/daemon/dist/domain/resume-token-capture.d.ts.map +1 -0
- package/daemon/dist/domain/resume-token-capture.js +63 -0
- package/daemon/dist/domain/resume-token-capture.js.map +1 -0
- package/daemon/dist/domain/rig-status-compose.d.ts +62 -0
- package/daemon/dist/domain/rig-status-compose.d.ts.map +1 -0
- package/daemon/dist/domain/rig-status-compose.js +149 -0
- package/daemon/dist/domain/rig-status-compose.js.map +1 -0
- package/daemon/dist/domain/rig-teardown.d.ts +3 -1
- package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
- package/daemon/dist/domain/rig-teardown.js +4 -19
- package/daemon/dist/domain/rig-teardown.js.map +1 -1
- package/daemon/dist/domain/route-timing-recorder.d.ts +42 -0
- package/daemon/dist/domain/route-timing-recorder.d.ts.map +1 -0
- package/daemon/dist/domain/route-timing-recorder.js +62 -0
- package/daemon/dist/domain/route-timing-recorder.js.map +1 -0
- package/daemon/dist/domain/scope/scope-audit.d.ts +3 -1
- package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scope-audit.js +30 -1
- package/daemon/dist/domain/scope/scope-audit.js.map +1 -1
- package/daemon/dist/domain/seat-handover-service.d.ts +50 -7
- package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-handover-service.js +273 -33
- package/daemon/dist/domain/seat-handover-service.js.map +1 -1
- package/daemon/dist/domain/seat-identity-reconciler.d.ts +59 -0
- package/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -0
- package/daemon/dist/domain/seat-identity-reconciler.js +207 -0
- package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -0
- package/daemon/dist/domain/seat-identity-store.d.ts +27 -0
- package/daemon/dist/domain/seat-identity-store.d.ts.map +1 -0
- package/daemon/dist/domain/seat-identity-store.js +106 -0
- package/daemon/dist/domain/seat-identity-store.js.map +1 -0
- package/daemon/dist/domain/seat-switch-client-service.d.ts +57 -0
- package/daemon/dist/domain/seat-switch-client-service.d.ts.map +1 -0
- package/daemon/dist/domain/seat-switch-client-service.js +168 -0
- package/daemon/dist/domain/seat-switch-client-service.js.map +1 -0
- package/daemon/dist/domain/self-attach-service.d.ts +8 -0
- package/daemon/dist/domain/self-attach-service.d.ts.map +1 -1
- package/daemon/dist/domain/self-attach-service.js +20 -7
- package/daemon/dist/domain/self-attach-service.js.map +1 -1
- package/daemon/dist/domain/session-registry.d.ts +35 -4
- package/daemon/dist/domain/session-registry.d.ts.map +1 -1
- package/daemon/dist/domain/session-registry.js +89 -10
- package/daemon/dist/domain/session-registry.js.map +1 -1
- package/daemon/dist/domain/session-transport.d.ts +8 -1
- package/daemon/dist/domain/session-transport.d.ts.map +1 -1
- package/daemon/dist/domain/session-transport.js +143 -37
- package/daemon/dist/domain/session-transport.js.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.js +34 -2
- package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
- package/daemon/dist/domain/startup-proof.d.ts +63 -0
- package/daemon/dist/domain/startup-proof.d.ts.map +1 -0
- package/daemon/dist/domain/startup-proof.js +165 -0
- package/daemon/dist/domain/startup-proof.js.map +1 -0
- package/daemon/dist/domain/successor-session-launcher.d.ts +103 -0
- package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -0
- package/daemon/dist/domain/successor-session-launcher.js +246 -0
- package/daemon/dist/domain/successor-session-launcher.js.map +1 -0
- package/daemon/dist/domain/types.d.ts +81 -0
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.js +8 -0
- package/daemon/dist/domain/types.js.map +1 -1
- package/daemon/dist/domain/watchdog-jobs-repository.d.ts +2 -2
- package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-jobs-repository.js +4 -0
- package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.js +19 -0
- package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
- package/daemon/dist/index.d.ts.map +1 -1
- package/daemon/dist/index.js +18 -1
- package/daemon/dist/index.js.map +1 -1
- package/daemon/dist/routes/activity.d.ts.map +1 -1
- package/daemon/dist/routes/activity.js +26 -0
- package/daemon/dist/routes/activity.js.map +1 -1
- package/daemon/dist/routes/agent-images.d.ts.map +1 -1
- package/daemon/dist/routes/agent-images.js +139 -0
- package/daemon/dist/routes/agent-images.js.map +1 -1
- package/daemon/dist/routes/compaction.d.ts +17 -0
- package/daemon/dist/routes/compaction.d.ts.map +1 -0
- package/daemon/dist/routes/compaction.js +125 -0
- package/daemon/dist/routes/compaction.js.map +1 -0
- package/daemon/dist/routes/restore-check.d.ts +10 -0
- package/daemon/dist/routes/restore-check.d.ts.map +1 -1
- package/daemon/dist/routes/restore-check.js +46 -37
- package/daemon/dist/routes/restore-check.js.map +1 -1
- package/daemon/dist/routes/rigs.d.ts.map +1 -1
- package/daemon/dist/routes/rigs.js +70 -1
- package/daemon/dist/routes/rigs.js.map +1 -1
- package/daemon/dist/routes/seat.d.ts.map +1 -1
- package/daemon/dist/routes/seat.js +53 -2
- package/daemon/dist/routes/seat.js.map +1 -1
- package/daemon/dist/routes/sessions.d.ts.map +1 -1
- package/daemon/dist/routes/sessions.js +44 -9
- package/daemon/dist/routes/sessions.js.map +1 -1
- package/daemon/dist/routes/snapshots.d.ts.map +1 -1
- package/daemon/dist/routes/snapshots.js +16 -1
- package/daemon/dist/routes/snapshots.js.map +1 -1
- package/daemon/dist/routes/transport.d.ts.map +1 -1
- package/daemon/dist/routes/transport.js +12 -5
- package/daemon/dist/routes/transport.js.map +1 -1
- package/daemon/dist/server.d.ts +32 -0
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +28 -1
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/startup.d.ts +1 -0
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +91 -18
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +1 -1
- package/dist/commands/compact.d.ts +15 -0
- package/dist/commands/compact.d.ts.map +1 -0
- package/dist/commands/compact.js +62 -0
- package/dist/commands/compact.js.map +1 -0
- package/dist/commands/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +18 -2
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/fork.d.ts +4 -0
- package/dist/commands/fork.d.ts.map +1 -0
- package/dist/commands/fork.js +101 -0
- package/dist/commands/fork.js.map +1 -0
- package/dist/commands/launch.d.ts.map +1 -1
- package/dist/commands/launch.js +34 -4
- package/dist/commands/launch.js.map +1 -1
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +14 -4
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/queue.d.ts +6 -0
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +78 -4
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/reconcile-session.d.ts.map +1 -1
- package/dist/commands/reconcile-session.js +2 -2
- package/dist/commands/reconcile-session.js.map +1 -1
- package/dist/commands/restore-check.d.ts.map +1 -1
- package/dist/commands/restore-check.js +93 -0
- package/dist/commands/restore-check.js.map +1 -1
- package/dist/commands/scope.d.ts.map +1 -1
- package/dist/commands/scope.js +51 -1
- package/dist/commands/scope.js.map +1 -1
- package/dist/commands/seat.d.ts +17 -0
- package/dist/commands/seat.d.ts.map +1 -1
- package/dist/commands/seat.js +145 -32
- package/dist/commands/seat.js.map +1 -1
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +151 -10
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/start.d.ts +5 -0
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/startup-proof.d.ts +24 -0
- package/dist/commands/startup-proof.d.ts.map +1 -0
- package/dist/commands/startup-proof.js +100 -0
- package/dist/commands/startup-proof.js.map +1 -0
- package/dist/commands/unclaim.js +2 -2
- package/dist/commands/unclaim.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +10 -0
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/watchdog.js +2 -2
- package/dist/commands/watchdog.js.map +1 -1
- package/dist/daemon-lifecycle.d.ts +23 -0
- package/dist/daemon-lifecycle.d.ts.map +1 -1
- package/dist/daemon-lifecycle.js +50 -5
- package/dist/daemon-lifecycle.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/codex-auth.d.ts +24 -0
- package/dist/lib/codex-auth.d.ts.map +1 -1
- package/dist/lib/codex-auth.js +89 -17
- package/dist/lib/codex-auth.js.map +1 -1
- package/dist/lib/scope/scope-audit.d.ts +3 -1
- package/dist/lib/scope/scope-audit.d.ts.map +1 -1
- package/dist/lib/scope/scope-audit.js +30 -1
- package/dist/lib/scope/scope-audit.js.map +1 -1
- package/dist/lib/scope-templates/mission-placeholder.md +41 -0
- package/dist/lib/scope-templates/mission-progress.md +2 -0
- package/dist/lib/scope-templates/mission-release.md +41 -0
- package/dist/lib/scope-templates/placeholder.md +4 -0
- package/dist/lib/scope-templates/proof.md +2 -0
- package/dist/lib/scope-templates/slice-progress.md +2 -0
- package/dist/openrig-compat.d.ts +19 -0
- package/dist/openrig-compat.d.ts.map +1 -1
- package/dist/openrig-compat.js +31 -1
- package/dist/openrig-compat.js.map +1 -1
- package/package.json +1 -1
- package/ui/dist/assets/index-DYZniQcc.js +597 -0
- package/ui/dist/assets/index-trcb4Yf_.css +32 -0
- package/ui/dist/index.html +23 -2
- package/ui/dist/assets/index-CnqRX7A3.css +0 -32
- package/ui/dist/assets/index-CtL9jXFt.js +0 -582
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmux.d.ts","sourceRoot":"","sources":["../../src/adapters/tmux.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,+EAA+E;IAC/E,OAAO,IAAI,MAAM,CAAC;IAClB,uFAAuF;IACvF,UAAU,IAAI,MAAM,CAAC;CACtB;AAqBD,MAAM,MAAM,UAAU,GAClB;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"tmux.d.ts","sourceRoot":"","sources":["../../src/adapters/tmux.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,7 @@ const LARGE_PAYLOAD_THRESHOLD_BYTES = 100 * 1024;
|
|
|
22
22
|
const SESSION_FORMAT = "#{session_name}\t#{session_windows}\t#{session_created}\t#{session_attached}";
|
|
23
23
|
const WINDOW_FORMAT = "#{window_index}\t#{window_name}\t#{window_panes}\t#{window_active}";
|
|
24
24
|
const PANE_FORMAT = "#{pane_id}\t#{pane_index}\t#{pane_current_path}\t#{pane_width}\t#{pane_height}\t#{pane_active}";
|
|
25
|
+
const CLIENT_FORMAT = "#{client_name}\t#{client_session}";
|
|
25
26
|
function isNoServerError(err) {
|
|
26
27
|
return err instanceof Error && err.message.includes("no server running");
|
|
27
28
|
}
|
|
@@ -88,6 +89,18 @@ function parseSessionLine(line) {
|
|
|
88
89
|
attached: parts[3] === "1",
|
|
89
90
|
};
|
|
90
91
|
}
|
|
92
|
+
function parseClientLine(line) {
|
|
93
|
+
const parts = line.split("\t");
|
|
94
|
+
if (parts.length < 2)
|
|
95
|
+
return null;
|
|
96
|
+
const name = parts[0];
|
|
97
|
+
if (name === "")
|
|
98
|
+
return null;
|
|
99
|
+
return {
|
|
100
|
+
name,
|
|
101
|
+
session: parts[1],
|
|
102
|
+
};
|
|
103
|
+
}
|
|
91
104
|
function parseWindowLine(line) {
|
|
92
105
|
const parts = line.split("\t");
|
|
93
106
|
if (parts.length < 4)
|
|
@@ -331,6 +344,20 @@ export class TmuxAdapter {
|
|
|
331
344
|
return null;
|
|
332
345
|
}
|
|
333
346
|
}
|
|
347
|
+
/** OPR.0.4.3.28 Part C — presence-only check for a session-env variable.
|
|
348
|
+
* Returns whether the var is SET, NEVER its value (the producer-link
|
|
349
|
+
* diagnostic must never surface a token value). `tmux show-environment`
|
|
350
|
+
* prints `VAR=value` when set and `-VAR` when explicitly unset. */
|
|
351
|
+
async hasSessionEnv(sessionName, varName) {
|
|
352
|
+
try {
|
|
353
|
+
const output = await this.exec(`tmux show-environment -t ${shellQuote(sessionName)} ${shellQuote(varName)}`);
|
|
354
|
+
const line = output.trim();
|
|
355
|
+
return line.length > 0 && !line.startsWith("-") && line.includes("=");
|
|
356
|
+
}
|
|
357
|
+
catch {
|
|
358
|
+
return false;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
334
361
|
/** Start pipe-pane to capture terminal output to a file. */
|
|
335
362
|
async startPipePane(sessionName, outputPath) {
|
|
336
363
|
// Shell-quote the path for safe injection into the pipe-pane command.
|
|
@@ -462,5 +489,40 @@ export class TmuxAdapter {
|
|
|
462
489
|
return null;
|
|
463
490
|
}
|
|
464
491
|
}
|
|
492
|
+
/**
|
|
493
|
+
* OPR.0.4.3.26 — list the tmux clients (human terminals / CMUX tiles) attached
|
|
494
|
+
* to the server. VIEW-ONLY probe: it never mutates routing, bindings, or
|
|
495
|
+
* sessions. Mirrors the read/parse/error-swallow shape of `listSessions`:
|
|
496
|
+
* a "no server running" / socket-absent server yields `[]` (no attachable
|
|
497
|
+
* client) so the caller emits an honest "attach first" error rather than
|
|
498
|
+
* crashing. Unexpected failures (permission, etc.) rethrow.
|
|
499
|
+
*/
|
|
500
|
+
async listClients() {
|
|
501
|
+
try {
|
|
502
|
+
const output = await this.exec(`tmux list-clients -F "${CLIENT_FORMAT}"`);
|
|
503
|
+
return parseLines(output, parseClientLine);
|
|
504
|
+
}
|
|
505
|
+
catch (err) {
|
|
506
|
+
if (isNoServerError(err) || isTmuxTransportAbsentError(err))
|
|
507
|
+
return [];
|
|
508
|
+
throw err;
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
/**
|
|
512
|
+
* OPR.0.4.3.26 — retarget an already-attached client's VIEW to `target`
|
|
513
|
+
* (`<session>` or `<session>:<window>`). This is the whole point of the
|
|
514
|
+
* seat-recovery slice: it changes only what a client SEES; it never creates,
|
|
515
|
+
* kills, or rebinds a session and never touches OpenRig routing/identity.
|
|
516
|
+
*/
|
|
517
|
+
async switchClient(client, target) {
|
|
518
|
+
const cmd = `tmux switch-client -c ${shellQuote(client)} -t ${shellQuote(target)}`;
|
|
519
|
+
try {
|
|
520
|
+
await this.exec(cmd);
|
|
521
|
+
return { ok: true };
|
|
522
|
+
}
|
|
523
|
+
catch (err) {
|
|
524
|
+
return classifyWriteError(err);
|
|
525
|
+
}
|
|
526
|
+
}
|
|
465
527
|
}
|
|
466
528
|
//# sourceMappingURL=tmux.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmux.js","sourceRoot":"","sources":["../../src/adapters/tmux.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tmux.js","sourceRoot":"","sources":["../../src/adapters/tmux.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Migration } from "../migrate.js";
|
|
2
|
+
/**
|
|
3
|
+
* OPR.0.4.3.20 FR-6 — resume-token verification freshness columns.
|
|
4
|
+
*
|
|
5
|
+
* Adds two additive, NULLABLE columns to `sessions` so the restore plan can
|
|
6
|
+
* surface per-seat token FRESHNESS (present / missing / stale / unverified):
|
|
7
|
+
*
|
|
8
|
+
* - `resume_last_verified` (TEXT, nullable) — the last time the token was
|
|
9
|
+
* confirmed current (stamped whenever it is written/re-derived from live
|
|
10
|
+
* state, or a live resume probe returns `resumable`). NULL = never verified.
|
|
11
|
+
* - `resume_last_probe_status` (TEXT, nullable) — the last resume-probe outcome:
|
|
12
|
+
* `resumable | not_resumable | inconclusive`. NULL = never probed.
|
|
13
|
+
*
|
|
14
|
+
* Together these make a PRESENT-but-stale token representable (a present token
|
|
15
|
+
* whose probe returned `not_resumable`, or whose last-verified age is past the
|
|
16
|
+
* freshness threshold) — the survival-critical case FR-6 surfaces as
|
|
17
|
+
* `stale/unverified — re-verify` instead of a silent restore failure. A lone
|
|
18
|
+
* last-verified column could not distinguish "never probed" from "probe failed".
|
|
19
|
+
*
|
|
20
|
+
* NULLABLE + degrading by contract: all pre-45 rows (and every old snapshot's
|
|
21
|
+
* serialized sessions) read NULL and render as `unverified` — never a crash,
|
|
22
|
+
* never a false `present`. Do NOT make these NOT NULL or backfill a default.
|
|
23
|
+
*
|
|
24
|
+
* Base table: 002_bindings_sessions.ts (sessions); resume columns from
|
|
25
|
+
* 006_resume_metadata.ts + 043_resume_provenance.ts. Next free number after
|
|
26
|
+
* 044_queue_item_summary.ts.
|
|
27
|
+
*/
|
|
28
|
+
export declare const resumeVerificationSchema: Migration;
|
|
29
|
+
//# sourceMappingURL=045_resume_verification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"045_resume_verification.d.ts","sourceRoot":"","sources":["../../../src/db/migrations/045_resume_verification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAMtC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OPR.0.4.3.20 FR-6 — resume-token verification freshness columns.
|
|
3
|
+
*
|
|
4
|
+
* Adds two additive, NULLABLE columns to `sessions` so the restore plan can
|
|
5
|
+
* surface per-seat token FRESHNESS (present / missing / stale / unverified):
|
|
6
|
+
*
|
|
7
|
+
* - `resume_last_verified` (TEXT, nullable) — the last time the token was
|
|
8
|
+
* confirmed current (stamped whenever it is written/re-derived from live
|
|
9
|
+
* state, or a live resume probe returns `resumable`). NULL = never verified.
|
|
10
|
+
* - `resume_last_probe_status` (TEXT, nullable) — the last resume-probe outcome:
|
|
11
|
+
* `resumable | not_resumable | inconclusive`. NULL = never probed.
|
|
12
|
+
*
|
|
13
|
+
* Together these make a PRESENT-but-stale token representable (a present token
|
|
14
|
+
* whose probe returned `not_resumable`, or whose last-verified age is past the
|
|
15
|
+
* freshness threshold) — the survival-critical case FR-6 surfaces as
|
|
16
|
+
* `stale/unverified — re-verify` instead of a silent restore failure. A lone
|
|
17
|
+
* last-verified column could not distinguish "never probed" from "probe failed".
|
|
18
|
+
*
|
|
19
|
+
* NULLABLE + degrading by contract: all pre-45 rows (and every old snapshot's
|
|
20
|
+
* serialized sessions) read NULL and render as `unverified` — never a crash,
|
|
21
|
+
* never a false `present`. Do NOT make these NOT NULL or backfill a default.
|
|
22
|
+
*
|
|
23
|
+
* Base table: 002_bindings_sessions.ts (sessions); resume columns from
|
|
24
|
+
* 006_resume_metadata.ts + 043_resume_provenance.ts. Next free number after
|
|
25
|
+
* 044_queue_item_summary.ts.
|
|
26
|
+
*/
|
|
27
|
+
export const resumeVerificationSchema = {
|
|
28
|
+
name: "045_resume_verification.sql",
|
|
29
|
+
sql: `
|
|
30
|
+
ALTER TABLE sessions ADD COLUMN resume_last_verified TEXT;
|
|
31
|
+
ALTER TABLE sessions ADD COLUMN resume_last_probe_status TEXT;
|
|
32
|
+
`,
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=045_resume_verification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"045_resume_verification.js","sourceRoot":"","sources":["../../../src/db/migrations/045_resume_verification.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAc;IACjD,IAAI,EAAE,6BAA6B;IACnC,GAAG,EAAE;;;GAGJ;CACF,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { Migration } from "../migrate.js";
|
|
2
|
+
/**
|
|
3
|
+
* OPR.0.4.3.19 — seat liveness PID/identity verdicts (no false-running).
|
|
4
|
+
*
|
|
5
|
+
* A durable, per-node identity verdict reconciling the current tmux pane's
|
|
6
|
+
* PID/command with the registered managed seat. This is the persisted backing
|
|
7
|
+
* store for the THIRD liveness axis (orthogonal to slice-15's `terminalActive`
|
|
8
|
+
* and `hasAssignedWork`): does the process in the seat's registered pane still
|
|
9
|
+
* match the seat we are reporting `running`/`active`?
|
|
10
|
+
*
|
|
11
|
+
* The verdict is written by the periodic SeatIdentityReconciler (mirrors the
|
|
12
|
+
* SeatActivityService poll cadence) and read cheaply at projection time by
|
|
13
|
+
* node-inventory. Persisting the verdict (rather than computing it read-time,
|
|
14
|
+
* or holding it only in transient in-memory state) keeps `getNodeInventory`
|
|
15
|
+
* synchronous + cheap and makes the durable liveness truth explicit, per the
|
|
16
|
+
* dev-guard plan-review caveat.
|
|
17
|
+
*
|
|
18
|
+
* Columns:
|
|
19
|
+
* - `node_id` (PK) — the managed node; stable across session churn.
|
|
20
|
+
* - `verdict` — verified | mismatch | pane_missing | tmux_unavailable.
|
|
21
|
+
* Only `mismatch` and `pane_missing` down-rank a `running` projection;
|
|
22
|
+
* `verified` and `tmux_unavailable` (a transient/unknown observation) leave
|
|
23
|
+
* the projection unchanged, and an ABSENT row (never polled) also leaves it
|
|
24
|
+
* unchanged (fail-open on unknown — never flip a live fleet non-green on a
|
|
25
|
+
* missing observation).
|
|
26
|
+
* - `evidence_source` — pane_process | tmux_session (which axis produced it).
|
|
27
|
+
* - `reason` — process_identity_mismatch | pane_pid_gone | session_missing |
|
|
28
|
+
* tmux_unavailable. Mirrors the AgentActivity evidence vocabulary so
|
|
29
|
+
* consumers stay uniform.
|
|
30
|
+
* - `registered_pane` / `observed_pid` / `observed_command` / `matched_layer`
|
|
31
|
+
* — the evidence payload (cf. FingerprintEvidence).
|
|
32
|
+
* - `session_name` — the session the verdict was computed against.
|
|
33
|
+
* - `observed_at` — ISO timestamp of the observation.
|
|
34
|
+
*
|
|
35
|
+
* No FK to `nodes`: stale rows for a deleted node are harmless (node-inventory
|
|
36
|
+
* only reads verdicts for nodes it is already projecting) and the reconciler
|
|
37
|
+
* prunes rows for no-longer-running nodes each poll. Next free number after
|
|
38
|
+
* 045_resume_verification.ts.
|
|
39
|
+
*/
|
|
40
|
+
export declare const seatIdentityVerdictsSchema: Migration;
|
|
41
|
+
//# sourceMappingURL=046_seat_identity_verdicts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"046_seat_identity_verdicts.d.ts","sourceRoot":"","sources":["../../../src/db/migrations/046_seat_identity_verdicts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAgBxC,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OPR.0.4.3.19 — seat liveness PID/identity verdicts (no false-running).
|
|
3
|
+
*
|
|
4
|
+
* A durable, per-node identity verdict reconciling the current tmux pane's
|
|
5
|
+
* PID/command with the registered managed seat. This is the persisted backing
|
|
6
|
+
* store for the THIRD liveness axis (orthogonal to slice-15's `terminalActive`
|
|
7
|
+
* and `hasAssignedWork`): does the process in the seat's registered pane still
|
|
8
|
+
* match the seat we are reporting `running`/`active`?
|
|
9
|
+
*
|
|
10
|
+
* The verdict is written by the periodic SeatIdentityReconciler (mirrors the
|
|
11
|
+
* SeatActivityService poll cadence) and read cheaply at projection time by
|
|
12
|
+
* node-inventory. Persisting the verdict (rather than computing it read-time,
|
|
13
|
+
* or holding it only in transient in-memory state) keeps `getNodeInventory`
|
|
14
|
+
* synchronous + cheap and makes the durable liveness truth explicit, per the
|
|
15
|
+
* dev-guard plan-review caveat.
|
|
16
|
+
*
|
|
17
|
+
* Columns:
|
|
18
|
+
* - `node_id` (PK) — the managed node; stable across session churn.
|
|
19
|
+
* - `verdict` — verified | mismatch | pane_missing | tmux_unavailable.
|
|
20
|
+
* Only `mismatch` and `pane_missing` down-rank a `running` projection;
|
|
21
|
+
* `verified` and `tmux_unavailable` (a transient/unknown observation) leave
|
|
22
|
+
* the projection unchanged, and an ABSENT row (never polled) also leaves it
|
|
23
|
+
* unchanged (fail-open on unknown — never flip a live fleet non-green on a
|
|
24
|
+
* missing observation).
|
|
25
|
+
* - `evidence_source` — pane_process | tmux_session (which axis produced it).
|
|
26
|
+
* - `reason` — process_identity_mismatch | pane_pid_gone | session_missing |
|
|
27
|
+
* tmux_unavailable. Mirrors the AgentActivity evidence vocabulary so
|
|
28
|
+
* consumers stay uniform.
|
|
29
|
+
* - `registered_pane` / `observed_pid` / `observed_command` / `matched_layer`
|
|
30
|
+
* — the evidence payload (cf. FingerprintEvidence).
|
|
31
|
+
* - `session_name` — the session the verdict was computed against.
|
|
32
|
+
* - `observed_at` — ISO timestamp of the observation.
|
|
33
|
+
*
|
|
34
|
+
* No FK to `nodes`: stale rows for a deleted node are harmless (node-inventory
|
|
35
|
+
* only reads verdicts for nodes it is already projecting) and the reconciler
|
|
36
|
+
* prunes rows for no-longer-running nodes each poll. Next free number after
|
|
37
|
+
* 045_resume_verification.ts.
|
|
38
|
+
*/
|
|
39
|
+
export const seatIdentityVerdictsSchema = {
|
|
40
|
+
name: "046_seat_identity_verdicts.sql",
|
|
41
|
+
sql: `
|
|
42
|
+
CREATE TABLE IF NOT EXISTS seat_identity_verdicts (
|
|
43
|
+
node_id TEXT PRIMARY KEY,
|
|
44
|
+
verdict TEXT NOT NULL,
|
|
45
|
+
evidence_source TEXT,
|
|
46
|
+
reason TEXT,
|
|
47
|
+
registered_pane TEXT,
|
|
48
|
+
observed_pid INTEGER,
|
|
49
|
+
observed_command TEXT,
|
|
50
|
+
matched_layer INTEGER,
|
|
51
|
+
session_name TEXT,
|
|
52
|
+
observed_at TEXT NOT NULL
|
|
53
|
+
);
|
|
54
|
+
`,
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=046_seat_identity_verdicts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"046_seat_identity_verdicts.js","sourceRoot":"","sources":["../../../src/db/migrations/046_seat_identity_verdicts.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAc;IACnD,IAAI,EAAE,gCAAgC;IACtC,GAAG,EAAE;;;;;;;;;;;;;GAaJ;CACF,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { Migration } from "../migrate.js";
|
|
2
|
+
/**
|
|
3
|
+
* OPR.0.4.3 hotfix — events per-node/per-rig+type indexes (daemon /healthz-wedge cure).
|
|
4
|
+
*
|
|
5
|
+
* ROOT CAUSE (root-caused from a live CPU sample of the wedged daemon, 98-100%
|
|
6
|
+
* CPU): `GET /api/ps` (polled every 3s by the UI) runs a two-level nested map
|
|
7
|
+
* (ps-projection over rigs -> getNodeInventory -> node-inventory over nodes)
|
|
8
|
+
* whose per-node derivations reverse-scan the append-only `events` table with
|
|
9
|
+
* NO supporting index. The only pre-existing index is
|
|
10
|
+
* `idx_events_rig_seq(rig_id, seq)` — nothing leads with `node_id`, and no
|
|
11
|
+
* index makes the `type` filter selective. So:
|
|
12
|
+
* - `deriveOriented` (startup-proof.ts): `WHERE node_id=? AND type IN (...)
|
|
13
|
+
* ORDER BY seq DESC` had NO usable index -> a full backward PK-btree walk
|
|
14
|
+
* of the WHOLE events log, per node, every 3s (the btreePrevious/pread
|
|
15
|
+
* signature in the sample). This is the primary wedge.
|
|
16
|
+
* - `deriveRestoreOutcome` (node-inventory.ts): `WHERE rig_id=? AND type IN
|
|
17
|
+
* ('restore.*') ORDER BY seq DESC` rode `idx_events_rig_seq` but, with
|
|
18
|
+
* `type` unindexed, walked ALL of the rig's events (incl. high-volume
|
|
19
|
+
* `agent.activity`) in reverse to find the latest restore event.
|
|
20
|
+
* - `getLatestForNode` (agent-activity-store.ts) + `deriveHeldReason`'s
|
|
21
|
+
* `node.held` lookup are the same `node_id`-filtered reverse pattern.
|
|
22
|
+
* The `events` table is append-only with zero prune (survives rig/node
|
|
23
|
+
* deletion for audit), so it grows forever and each scan lengthens until the
|
|
24
|
+
* single-threaded better-sqlite3 loop starves `/healthz`.
|
|
25
|
+
*
|
|
26
|
+
* FIX (additive, index-only — no data change): the covering index that turns
|
|
27
|
+
* the primary wedge's reverse walk into a bounded index seek over only the
|
|
28
|
+
* relevant (node_id, type) partition instead of the whole log.
|
|
29
|
+
* - idx_events_node_type_seq (node_id, type, seq) — serves the PRIMARY wedge
|
|
30
|
+
* `deriveOriented` (node_id + type filtered, ORDER BY seq DESC — previously
|
|
31
|
+
* UNINDEXED → the full-table reverse scan in the CPU sample), plus
|
|
32
|
+
* `getLatestForNode` and `deriveHeldReason`'s node.held lookup (same
|
|
33
|
+
* node_id + type reverse pattern).
|
|
34
|
+
* `deriveRestoreOutcome` (rig_id + type filtered) is NOT addressed here: it
|
|
35
|
+
* already rides the existing `idx_events_rig_seq(rig_id, seq)` (the SQLite
|
|
36
|
+
* planner prefers it because it satisfies ORDER BY seq DESC with no sort; a
|
|
37
|
+
* (rig_id, type, seq) index would go UNUSED — verified via EXPLAIN QUERY PLAN),
|
|
38
|
+
* so it is rig-bounded (not the full-table wedge) — a second-order cost the
|
|
39
|
+
* per-node N+1 collapse (a single per-rig windowed query) addresses as the
|
|
40
|
+
* separate, gated follow-on. An agent.activity retention/prune is the other
|
|
41
|
+
* gated follow-on. Neither is in this hotfix.
|
|
42
|
+
* CREATE INDEX IF NOT EXISTS is idempotent + safe to apply to a live/populated
|
|
43
|
+
* events table (SQLite builds the index in one pass; no schema/data rewrite).
|
|
44
|
+
*
|
|
45
|
+
* Next free number after 046_seat_identity_verdicts.ts.
|
|
46
|
+
*/
|
|
47
|
+
export declare const eventsNodeTypeIndexSchema: Migration;
|
|
48
|
+
//# sourceMappingURL=047_events_node_type_index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"047_events_node_type_index.d.ts","sourceRoot":"","sources":["../../../src/db/migrations/047_events_node_type_index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAKvC,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OPR.0.4.3 hotfix — events per-node/per-rig+type indexes (daemon /healthz-wedge cure).
|
|
3
|
+
*
|
|
4
|
+
* ROOT CAUSE (root-caused from a live CPU sample of the wedged daemon, 98-100%
|
|
5
|
+
* CPU): `GET /api/ps` (polled every 3s by the UI) runs a two-level nested map
|
|
6
|
+
* (ps-projection over rigs -> getNodeInventory -> node-inventory over nodes)
|
|
7
|
+
* whose per-node derivations reverse-scan the append-only `events` table with
|
|
8
|
+
* NO supporting index. The only pre-existing index is
|
|
9
|
+
* `idx_events_rig_seq(rig_id, seq)` — nothing leads with `node_id`, and no
|
|
10
|
+
* index makes the `type` filter selective. So:
|
|
11
|
+
* - `deriveOriented` (startup-proof.ts): `WHERE node_id=? AND type IN (...)
|
|
12
|
+
* ORDER BY seq DESC` had NO usable index -> a full backward PK-btree walk
|
|
13
|
+
* of the WHOLE events log, per node, every 3s (the btreePrevious/pread
|
|
14
|
+
* signature in the sample). This is the primary wedge.
|
|
15
|
+
* - `deriveRestoreOutcome` (node-inventory.ts): `WHERE rig_id=? AND type IN
|
|
16
|
+
* ('restore.*') ORDER BY seq DESC` rode `idx_events_rig_seq` but, with
|
|
17
|
+
* `type` unindexed, walked ALL of the rig's events (incl. high-volume
|
|
18
|
+
* `agent.activity`) in reverse to find the latest restore event.
|
|
19
|
+
* - `getLatestForNode` (agent-activity-store.ts) + `deriveHeldReason`'s
|
|
20
|
+
* `node.held` lookup are the same `node_id`-filtered reverse pattern.
|
|
21
|
+
* The `events` table is append-only with zero prune (survives rig/node
|
|
22
|
+
* deletion for audit), so it grows forever and each scan lengthens until the
|
|
23
|
+
* single-threaded better-sqlite3 loop starves `/healthz`.
|
|
24
|
+
*
|
|
25
|
+
* FIX (additive, index-only — no data change): the covering index that turns
|
|
26
|
+
* the primary wedge's reverse walk into a bounded index seek over only the
|
|
27
|
+
* relevant (node_id, type) partition instead of the whole log.
|
|
28
|
+
* - idx_events_node_type_seq (node_id, type, seq) — serves the PRIMARY wedge
|
|
29
|
+
* `deriveOriented` (node_id + type filtered, ORDER BY seq DESC — previously
|
|
30
|
+
* UNINDEXED → the full-table reverse scan in the CPU sample), plus
|
|
31
|
+
* `getLatestForNode` and `deriveHeldReason`'s node.held lookup (same
|
|
32
|
+
* node_id + type reverse pattern).
|
|
33
|
+
* `deriveRestoreOutcome` (rig_id + type filtered) is NOT addressed here: it
|
|
34
|
+
* already rides the existing `idx_events_rig_seq(rig_id, seq)` (the SQLite
|
|
35
|
+
* planner prefers it because it satisfies ORDER BY seq DESC with no sort; a
|
|
36
|
+
* (rig_id, type, seq) index would go UNUSED — verified via EXPLAIN QUERY PLAN),
|
|
37
|
+
* so it is rig-bounded (not the full-table wedge) — a second-order cost the
|
|
38
|
+
* per-node N+1 collapse (a single per-rig windowed query) addresses as the
|
|
39
|
+
* separate, gated follow-on. An agent.activity retention/prune is the other
|
|
40
|
+
* gated follow-on. Neither is in this hotfix.
|
|
41
|
+
* CREATE INDEX IF NOT EXISTS is idempotent + safe to apply to a live/populated
|
|
42
|
+
* events table (SQLite builds the index in one pass; no schema/data rewrite).
|
|
43
|
+
*
|
|
44
|
+
* Next free number after 046_seat_identity_verdicts.ts.
|
|
45
|
+
*/
|
|
46
|
+
export const eventsNodeTypeIndexSchema = {
|
|
47
|
+
name: "047_events_node_type_index.sql",
|
|
48
|
+
sql: `
|
|
49
|
+
CREATE INDEX IF NOT EXISTS idx_events_node_type_seq ON events(node_id, type, seq);
|
|
50
|
+
`,
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=047_events_node_type_index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"047_events_node_type_index.js","sourceRoot":"","sources":["../../../src/db/migrations/047_events_node_type_index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAc;IAClD,IAAI,EAAE,gCAAgC;IACtC,GAAG,EAAE;;GAEJ;CACF,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** OPR.0.4.3.28 B2 — derive the activity ingest URL the daemon injects into seats
|
|
2
|
+
* from its OWN bound host+port, so the seat's relay posts to an address the
|
|
3
|
+
* daemon is actually listening on. When OPENRIG_HOST is an explicit host
|
|
4
|
+
* (loopback, localhost, a tailnet IP, a hostname) the daemon binds ONLY that
|
|
5
|
+
* host, so the URL MUST use it — a hardcoded 127.0.0.1 would be unreachable.
|
|
6
|
+
* Wildcard/bind-all hosts (0.0.0.0 / ::) are not connectable addresses and the
|
|
7
|
+
* daemon also binds loopback there, so they map to 127.0.0.1. An absent host
|
|
8
|
+
* (the default loopback+tailscale multi-bind) also uses loopback. */
|
|
9
|
+
export declare function deriveActivityUrl(host: string | undefined, port: string | undefined): string;
|
|
10
|
+
/** Read the durable activity-hook token from state, or generate + persist one.
|
|
11
|
+
* Stable across restarts (so frozen-env seats keep authenticating). */
|
|
12
|
+
export declare function ensureActivityHookToken(stateDir: string): string;
|
|
13
|
+
/** Snapshot the current {baseUrl, token} to activity-endpoint.json (mode 0600)
|
|
14
|
+
* for the relay file-discovery fallback (B3). Best-effort. */
|
|
15
|
+
export declare function writeActivityEndpointFile(stateDir: string, endpoint: {
|
|
16
|
+
baseUrl: string;
|
|
17
|
+
token: string;
|
|
18
|
+
}): void;
|
|
19
|
+
/** Read {baseUrl, token} from activity-endpoint.json, or null if absent/invalid.
|
|
20
|
+
* (The relay .cjs reads the file directly; this is for daemon-side use + tests.) */
|
|
21
|
+
export declare function readActivityEndpointFile(stateDir: string): {
|
|
22
|
+
baseUrl: string;
|
|
23
|
+
token: string;
|
|
24
|
+
} | null;
|
|
25
|
+
//# sourceMappingURL=activity-endpoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-endpoint.d.ts","sourceRoot":"","sources":["../../src/domain/activity-endpoint.ts"],"names":[],"mappings":"AA0BA;;;;;;;sEAOsE;AACtE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAK5F;AAED;wEACwE;AACxE,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAkBhE;AAED;+DAC+D;AAC/D,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAS9G;AAED;qFACqF;AACrF,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAYpG"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
// OPR.0.4.3.28 B2/B3 — self-provisioned activity-hook endpoint (url + token).
|
|
2
|
+
//
|
|
3
|
+
// The daemon generates a per-install activity-hook token and derives its own
|
|
4
|
+
// ingest URL so launched seats can reach /api/activity/hooks WITHOUT the
|
|
5
|
+
// operator seeding OPENRIG_URL / OPENRIG_ACTIVITY_HOOK_TOKEN into their shell
|
|
6
|
+
// (the confirmed live break — see the slice-28 IMPL-SPEC §1.1).
|
|
7
|
+
//
|
|
8
|
+
// The token is a LOCALHOST internal-auth HANDLE, not a founder-secret: kept out
|
|
9
|
+
// of logs/prints and stored mode-0600, but no redaction machinery is built
|
|
10
|
+
// around it (orch-advisor ruling 2026-07-02).
|
|
11
|
+
//
|
|
12
|
+
// - activity-hook-token : durable token, STABLE across daemon restarts so
|
|
13
|
+
// already-launched seats (whose env froze the token at launch) still
|
|
14
|
+
// authenticate after a restart.
|
|
15
|
+
// - activity-endpoint.json : {baseUrl, token} snapshot, re-written each boot,
|
|
16
|
+
// read by the relay's file-discovery fallback for reconcile/restored seats
|
|
17
|
+
// whose frozen process env carries no OpenRig activity vars (B3).
|
|
18
|
+
import fs from "node:fs";
|
|
19
|
+
import nodePath from "node:path";
|
|
20
|
+
import { randomBytes } from "node:crypto";
|
|
21
|
+
const TOKEN_FILE = "activity-hook-token";
|
|
22
|
+
const ENDPOINT_FILE = "activity-endpoint.json";
|
|
23
|
+
const DEFAULT_DAEMON_PORT = "7433";
|
|
24
|
+
/** OPR.0.4.3.28 B2 — derive the activity ingest URL the daemon injects into seats
|
|
25
|
+
* from its OWN bound host+port, so the seat's relay posts to an address the
|
|
26
|
+
* daemon is actually listening on. When OPENRIG_HOST is an explicit host
|
|
27
|
+
* (loopback, localhost, a tailnet IP, a hostname) the daemon binds ONLY that
|
|
28
|
+
* host, so the URL MUST use it — a hardcoded 127.0.0.1 would be unreachable.
|
|
29
|
+
* Wildcard/bind-all hosts (0.0.0.0 / ::) are not connectable addresses and the
|
|
30
|
+
* daemon also binds loopback there, so they map to 127.0.0.1. An absent host
|
|
31
|
+
* (the default loopback+tailscale multi-bind) also uses loopback. */
|
|
32
|
+
export function deriveActivityUrl(host, port) {
|
|
33
|
+
const p = port && port.trim().length > 0 ? port.trim() : DEFAULT_DAEMON_PORT;
|
|
34
|
+
const h = host?.trim();
|
|
35
|
+
const wildcard = !h || h === "0.0.0.0" || h === "::" || h === "[::]" || h === "*";
|
|
36
|
+
return `http://${wildcard ? "127.0.0.1" : h}:${p}`;
|
|
37
|
+
}
|
|
38
|
+
/** Read the durable activity-hook token from state, or generate + persist one.
|
|
39
|
+
* Stable across restarts (so frozen-env seats keep authenticating). */
|
|
40
|
+
export function ensureActivityHookToken(stateDir) {
|
|
41
|
+
const tokenPath = nodePath.join(stateDir, TOKEN_FILE);
|
|
42
|
+
try {
|
|
43
|
+
const existing = fs.readFileSync(tokenPath, "utf-8").trim();
|
|
44
|
+
if (existing.length > 0)
|
|
45
|
+
return existing;
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
// not present yet — generate below
|
|
49
|
+
}
|
|
50
|
+
const token = randomBytes(32).toString("hex");
|
|
51
|
+
try {
|
|
52
|
+
fs.mkdirSync(stateDir, { recursive: true });
|
|
53
|
+
fs.writeFileSync(tokenPath, token, { mode: 0o600 });
|
|
54
|
+
fs.chmodSync(tokenPath, 0o600); // enforce mode even if the file pre-existed
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
// best-effort persist — an in-memory token still works for this daemon run,
|
|
58
|
+
// it just won't survive a restart (falls back to regenerate).
|
|
59
|
+
}
|
|
60
|
+
return token;
|
|
61
|
+
}
|
|
62
|
+
/** Snapshot the current {baseUrl, token} to activity-endpoint.json (mode 0600)
|
|
63
|
+
* for the relay file-discovery fallback (B3). Best-effort. */
|
|
64
|
+
export function writeActivityEndpointFile(stateDir, endpoint) {
|
|
65
|
+
const endpointPath = nodePath.join(stateDir, ENDPOINT_FILE);
|
|
66
|
+
try {
|
|
67
|
+
fs.mkdirSync(stateDir, { recursive: true });
|
|
68
|
+
fs.writeFileSync(endpointPath, JSON.stringify({ baseUrl: endpoint.baseUrl, token: endpoint.token }), { mode: 0o600 });
|
|
69
|
+
fs.chmodSync(endpointPath, 0o600);
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
// best-effort — reconcile/restored seats simply won't get file-discovery.
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/** Read {baseUrl, token} from activity-endpoint.json, or null if absent/invalid.
|
|
76
|
+
* (The relay .cjs reads the file directly; this is for daemon-side use + tests.) */
|
|
77
|
+
export function readActivityEndpointFile(stateDir) {
|
|
78
|
+
const endpointPath = nodePath.join(stateDir, ENDPOINT_FILE);
|
|
79
|
+
try {
|
|
80
|
+
const parsed = JSON.parse(fs.readFileSync(endpointPath, "utf-8"));
|
|
81
|
+
if (typeof parsed.baseUrl === "string" && parsed.baseUrl.length > 0
|
|
82
|
+
&& typeof parsed.token === "string" && parsed.token.length > 0) {
|
|
83
|
+
return { baseUrl: parsed.baseUrl, token: parsed.token };
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
// absent or malformed
|
|
88
|
+
}
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=activity-endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-endpoint.js","sourceRoot":"","sources":["../../src/domain/activity-endpoint.ts"],"names":[],"mappings":"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"}
|