@openrig/cli 0.4.1 → 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.
Files changed (264) hide show
  1. package/daemon/assets/plugins/openrig-core/hooks/scripts/activity-relay.cjs +42 -2
  2. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +87 -0
  3. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +46 -0
  4. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  5. package/daemon/dist/adapters/codex-runtime-adapter.js +167 -3
  6. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  7. package/daemon/dist/adapters/tmux.d.ts +31 -0
  8. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  9. package/daemon/dist/adapters/tmux.js +62 -0
  10. package/daemon/dist/adapters/tmux.js.map +1 -1
  11. package/daemon/dist/db/migrations/045_resume_verification.d.ts +29 -0
  12. package/daemon/dist/db/migrations/045_resume_verification.d.ts.map +1 -0
  13. package/daemon/dist/db/migrations/045_resume_verification.js +34 -0
  14. package/daemon/dist/db/migrations/045_resume_verification.js.map +1 -0
  15. package/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts +41 -0
  16. package/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts.map +1 -0
  17. package/daemon/dist/db/migrations/046_seat_identity_verdicts.js +56 -0
  18. package/daemon/dist/db/migrations/046_seat_identity_verdicts.js.map +1 -0
  19. package/daemon/dist/db/migrations/047_events_node_type_index.d.ts +48 -0
  20. package/daemon/dist/db/migrations/047_events_node_type_index.d.ts.map +1 -0
  21. package/daemon/dist/db/migrations/047_events_node_type_index.js +52 -0
  22. package/daemon/dist/db/migrations/047_events_node_type_index.js.map +1 -0
  23. package/daemon/dist/domain/activity-endpoint.d.ts +25 -0
  24. package/daemon/dist/domain/activity-endpoint.d.ts.map +1 -0
  25. package/daemon/dist/domain/activity-endpoint.js +91 -0
  26. package/daemon/dist/domain/activity-endpoint.js.map +1 -0
  27. package/daemon/dist/domain/claim-service.d.ts +36 -0
  28. package/daemon/dist/domain/claim-service.d.ts.map +1 -1
  29. package/daemon/dist/domain/claim-service.js +90 -0
  30. package/daemon/dist/domain/claim-service.js.map +1 -1
  31. package/daemon/dist/domain/claude-compaction-enforcer.d.ts +57 -0
  32. package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
  33. package/daemon/dist/domain/claude-compaction-enforcer.js +149 -3
  34. package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
  35. package/daemon/dist/domain/event-loop-monitor.d.ts +100 -0
  36. package/daemon/dist/domain/event-loop-monitor.d.ts.map +1 -0
  37. package/daemon/dist/domain/event-loop-monitor.js +127 -0
  38. package/daemon/dist/domain/event-loop-monitor.js.map +1 -0
  39. package/daemon/dist/domain/gate-predicate.d.ts +29 -0
  40. package/daemon/dist/domain/gate-predicate.d.ts.map +1 -0
  41. package/daemon/dist/domain/gate-predicate.js +73 -0
  42. package/daemon/dist/domain/gate-predicate.js.map +1 -0
  43. package/daemon/dist/domain/graph-projection.d.ts +7 -1
  44. package/daemon/dist/domain/graph-projection.d.ts.map +1 -1
  45. package/daemon/dist/domain/graph-projection.js +19 -1
  46. package/daemon/dist/domain/graph-projection.js.map +1 -1
  47. package/daemon/dist/domain/node-inventory.d.ts +7 -1
  48. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  49. package/daemon/dist/domain/node-inventory.js +84 -5
  50. package/daemon/dist/domain/node-inventory.js.map +1 -1
  51. package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts +4 -0
  52. package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts.map +1 -1
  53. package/daemon/dist/domain/periodic-snapshot-scheduler.js +11 -0
  54. package/daemon/dist/domain/periodic-snapshot-scheduler.js.map +1 -1
  55. package/daemon/dist/domain/policies/idle-gate-qitem.d.ts +14 -0
  56. package/daemon/dist/domain/policies/idle-gate-qitem.d.ts.map +1 -0
  57. package/daemon/dist/domain/policies/idle-gate-qitem.js +114 -0
  58. package/daemon/dist/domain/policies/idle-gate-qitem.js.map +1 -0
  59. package/daemon/dist/domain/restore-orchestrator.d.ts +8 -0
  60. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  61. package/daemon/dist/domain/restore-orchestrator.js +109 -27
  62. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  63. package/daemon/dist/domain/restore-plan-preview.d.ts +25 -1
  64. package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
  65. package/daemon/dist/domain/restore-plan-preview.js +72 -4
  66. package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
  67. package/daemon/dist/domain/resume-metadata-refresher.d.ts +44 -2
  68. package/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
  69. package/daemon/dist/domain/resume-metadata-refresher.js +92 -6
  70. package/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
  71. package/daemon/dist/domain/resume-token-capture.d.ts +50 -0
  72. package/daemon/dist/domain/resume-token-capture.d.ts.map +1 -0
  73. package/daemon/dist/domain/resume-token-capture.js +63 -0
  74. package/daemon/dist/domain/resume-token-capture.js.map +1 -0
  75. package/daemon/dist/domain/rig-status-compose.d.ts +62 -0
  76. package/daemon/dist/domain/rig-status-compose.d.ts.map +1 -0
  77. package/daemon/dist/domain/rig-status-compose.js +149 -0
  78. package/daemon/dist/domain/rig-status-compose.js.map +1 -0
  79. package/daemon/dist/domain/rig-teardown.d.ts +3 -1
  80. package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
  81. package/daemon/dist/domain/rig-teardown.js +4 -19
  82. package/daemon/dist/domain/rig-teardown.js.map +1 -1
  83. package/daemon/dist/domain/route-timing-recorder.d.ts +42 -0
  84. package/daemon/dist/domain/route-timing-recorder.d.ts.map +1 -0
  85. package/daemon/dist/domain/route-timing-recorder.js +62 -0
  86. package/daemon/dist/domain/route-timing-recorder.js.map +1 -0
  87. package/daemon/dist/domain/scope/scope-audit.d.ts +3 -1
  88. package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
  89. package/daemon/dist/domain/scope/scope-audit.js +30 -1
  90. package/daemon/dist/domain/scope/scope-audit.js.map +1 -1
  91. package/daemon/dist/domain/seat-handover-service.d.ts +50 -7
  92. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  93. package/daemon/dist/domain/seat-handover-service.js +273 -33
  94. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  95. package/daemon/dist/domain/seat-identity-reconciler.d.ts +59 -0
  96. package/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -0
  97. package/daemon/dist/domain/seat-identity-reconciler.js +207 -0
  98. package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -0
  99. package/daemon/dist/domain/seat-identity-store.d.ts +27 -0
  100. package/daemon/dist/domain/seat-identity-store.d.ts.map +1 -0
  101. package/daemon/dist/domain/seat-identity-store.js +106 -0
  102. package/daemon/dist/domain/seat-identity-store.js.map +1 -0
  103. package/daemon/dist/domain/seat-switch-client-service.d.ts +57 -0
  104. package/daemon/dist/domain/seat-switch-client-service.d.ts.map +1 -0
  105. package/daemon/dist/domain/seat-switch-client-service.js +168 -0
  106. package/daemon/dist/domain/seat-switch-client-service.js.map +1 -0
  107. package/daemon/dist/domain/self-attach-service.d.ts +8 -0
  108. package/daemon/dist/domain/self-attach-service.d.ts.map +1 -1
  109. package/daemon/dist/domain/self-attach-service.js +20 -7
  110. package/daemon/dist/domain/self-attach-service.js.map +1 -1
  111. package/daemon/dist/domain/session-registry.d.ts +35 -4
  112. package/daemon/dist/domain/session-registry.d.ts.map +1 -1
  113. package/daemon/dist/domain/session-registry.js +89 -10
  114. package/daemon/dist/domain/session-registry.js.map +1 -1
  115. package/daemon/dist/domain/session-transport.d.ts +8 -1
  116. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  117. package/daemon/dist/domain/session-transport.js +143 -37
  118. package/daemon/dist/domain/session-transport.js.map +1 -1
  119. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  120. package/daemon/dist/domain/startup-orchestrator.js +34 -2
  121. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  122. package/daemon/dist/domain/startup-proof.d.ts +63 -0
  123. package/daemon/dist/domain/startup-proof.d.ts.map +1 -0
  124. package/daemon/dist/domain/startup-proof.js +165 -0
  125. package/daemon/dist/domain/startup-proof.js.map +1 -0
  126. package/daemon/dist/domain/successor-session-launcher.d.ts +103 -0
  127. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -0
  128. package/daemon/dist/domain/successor-session-launcher.js +246 -0
  129. package/daemon/dist/domain/successor-session-launcher.js.map +1 -0
  130. package/daemon/dist/domain/types.d.ts +81 -0
  131. package/daemon/dist/domain/types.d.ts.map +1 -1
  132. package/daemon/dist/domain/types.js +8 -0
  133. package/daemon/dist/domain/types.js.map +1 -1
  134. package/daemon/dist/domain/watchdog-jobs-repository.d.ts +2 -2
  135. package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
  136. package/daemon/dist/domain/watchdog-jobs-repository.js +4 -0
  137. package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
  138. package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  139. package/daemon/dist/domain/watchdog-policy-engine.js +19 -0
  140. package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  141. package/daemon/dist/index.d.ts.map +1 -1
  142. package/daemon/dist/index.js +18 -1
  143. package/daemon/dist/index.js.map +1 -1
  144. package/daemon/dist/routes/activity.d.ts.map +1 -1
  145. package/daemon/dist/routes/activity.js +26 -0
  146. package/daemon/dist/routes/activity.js.map +1 -1
  147. package/daemon/dist/routes/agent-images.d.ts.map +1 -1
  148. package/daemon/dist/routes/agent-images.js +139 -0
  149. package/daemon/dist/routes/agent-images.js.map +1 -1
  150. package/daemon/dist/routes/compaction.d.ts +17 -0
  151. package/daemon/dist/routes/compaction.d.ts.map +1 -0
  152. package/daemon/dist/routes/compaction.js +125 -0
  153. package/daemon/dist/routes/compaction.js.map +1 -0
  154. package/daemon/dist/routes/restore-check.d.ts +10 -0
  155. package/daemon/dist/routes/restore-check.d.ts.map +1 -1
  156. package/daemon/dist/routes/restore-check.js +46 -37
  157. package/daemon/dist/routes/restore-check.js.map +1 -1
  158. package/daemon/dist/routes/rigs.d.ts.map +1 -1
  159. package/daemon/dist/routes/rigs.js +70 -1
  160. package/daemon/dist/routes/rigs.js.map +1 -1
  161. package/daemon/dist/routes/seat.d.ts.map +1 -1
  162. package/daemon/dist/routes/seat.js +53 -2
  163. package/daemon/dist/routes/seat.js.map +1 -1
  164. package/daemon/dist/routes/sessions.d.ts.map +1 -1
  165. package/daemon/dist/routes/sessions.js +44 -9
  166. package/daemon/dist/routes/sessions.js.map +1 -1
  167. package/daemon/dist/routes/snapshots.d.ts.map +1 -1
  168. package/daemon/dist/routes/snapshots.js +16 -1
  169. package/daemon/dist/routes/snapshots.js.map +1 -1
  170. package/daemon/dist/routes/transport.d.ts.map +1 -1
  171. package/daemon/dist/routes/transport.js +12 -5
  172. package/daemon/dist/routes/transport.js.map +1 -1
  173. package/daemon/dist/server.d.ts +32 -0
  174. package/daemon/dist/server.d.ts.map +1 -1
  175. package/daemon/dist/server.js +28 -1
  176. package/daemon/dist/server.js.map +1 -1
  177. package/daemon/dist/startup.d.ts +1 -0
  178. package/daemon/dist/startup.d.ts.map +1 -1
  179. package/daemon/dist/startup.js +91 -18
  180. package/daemon/dist/startup.js.map +1 -1
  181. package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +1 -1
  182. package/dist/commands/compact.d.ts +15 -0
  183. package/dist/commands/compact.d.ts.map +1 -0
  184. package/dist/commands/compact.js +62 -0
  185. package/dist/commands/compact.js.map +1 -0
  186. package/dist/commands/daemon.d.ts.map +1 -1
  187. package/dist/commands/daemon.js +18 -2
  188. package/dist/commands/daemon.js.map +1 -1
  189. package/dist/commands/fork.d.ts +4 -0
  190. package/dist/commands/fork.d.ts.map +1 -0
  191. package/dist/commands/fork.js +101 -0
  192. package/dist/commands/fork.js.map +1 -0
  193. package/dist/commands/launch.d.ts.map +1 -1
  194. package/dist/commands/launch.js +34 -4
  195. package/dist/commands/launch.js.map +1 -1
  196. package/dist/commands/ps.d.ts.map +1 -1
  197. package/dist/commands/ps.js +14 -4
  198. package/dist/commands/ps.js.map +1 -1
  199. package/dist/commands/queue.d.ts +6 -0
  200. package/dist/commands/queue.d.ts.map +1 -1
  201. package/dist/commands/queue.js +78 -4
  202. package/dist/commands/queue.js.map +1 -1
  203. package/dist/commands/reconcile-session.d.ts.map +1 -1
  204. package/dist/commands/reconcile-session.js +2 -2
  205. package/dist/commands/reconcile-session.js.map +1 -1
  206. package/dist/commands/restore-check.d.ts.map +1 -1
  207. package/dist/commands/restore-check.js +93 -0
  208. package/dist/commands/restore-check.js.map +1 -1
  209. package/dist/commands/scope.d.ts.map +1 -1
  210. package/dist/commands/scope.js +51 -1
  211. package/dist/commands/scope.js.map +1 -1
  212. package/dist/commands/seat.d.ts +17 -0
  213. package/dist/commands/seat.d.ts.map +1 -1
  214. package/dist/commands/seat.js +145 -32
  215. package/dist/commands/seat.js.map +1 -1
  216. package/dist/commands/send.d.ts.map +1 -1
  217. package/dist/commands/send.js +151 -10
  218. package/dist/commands/send.js.map +1 -1
  219. package/dist/commands/start.d.ts +5 -0
  220. package/dist/commands/start.d.ts.map +1 -1
  221. package/dist/commands/start.js.map +1 -1
  222. package/dist/commands/startup-proof.d.ts +24 -0
  223. package/dist/commands/startup-proof.d.ts.map +1 -0
  224. package/dist/commands/startup-proof.js +100 -0
  225. package/dist/commands/startup-proof.js.map +1 -0
  226. package/dist/commands/unclaim.js +2 -2
  227. package/dist/commands/unclaim.js.map +1 -1
  228. package/dist/commands/up.d.ts.map +1 -1
  229. package/dist/commands/up.js +10 -0
  230. package/dist/commands/up.js.map +1 -1
  231. package/dist/commands/watchdog.js +2 -2
  232. package/dist/commands/watchdog.js.map +1 -1
  233. package/dist/daemon-lifecycle.d.ts +24 -0
  234. package/dist/daemon-lifecycle.d.ts.map +1 -1
  235. package/dist/daemon-lifecycle.js +85 -8
  236. package/dist/daemon-lifecycle.js.map +1 -1
  237. package/dist/index.d.ts +5 -0
  238. package/dist/index.d.ts.map +1 -1
  239. package/dist/index.js +8 -1
  240. package/dist/index.js.map +1 -1
  241. package/dist/lib/codex-auth.d.ts +24 -0
  242. package/dist/lib/codex-auth.d.ts.map +1 -1
  243. package/dist/lib/codex-auth.js +89 -17
  244. package/dist/lib/codex-auth.js.map +1 -1
  245. package/dist/lib/scope/scope-audit.d.ts +3 -1
  246. package/dist/lib/scope/scope-audit.d.ts.map +1 -1
  247. package/dist/lib/scope/scope-audit.js +30 -1
  248. package/dist/lib/scope/scope-audit.js.map +1 -1
  249. package/dist/lib/scope-templates/mission-placeholder.md +41 -0
  250. package/dist/lib/scope-templates/mission-progress.md +2 -0
  251. package/dist/lib/scope-templates/mission-release.md +41 -0
  252. package/dist/lib/scope-templates/placeholder.md +4 -0
  253. package/dist/lib/scope-templates/proof.md +2 -0
  254. package/dist/lib/scope-templates/slice-progress.md +2 -0
  255. package/dist/openrig-compat.d.ts +19 -0
  256. package/dist/openrig-compat.d.ts.map +1 -1
  257. package/dist/openrig-compat.js +31 -1
  258. package/dist/openrig-compat.js.map +1 -1
  259. package/package.json +1 -1
  260. package/ui/dist/assets/index-DYZniQcc.js +597 -0
  261. package/ui/dist/assets/index-trcb4Yf_.css +32 -0
  262. package/ui/dist/index.html +23 -2
  263. package/ui/dist/assets/index-CnqRX7A3.css +0 -32
  264. package/ui/dist/assets/index-CtL9jXFt.js +0 -582
@@ -75,9 +75,48 @@ function buildOpenRigPayload(providerPayload, env = process.env, now = () => new
75
75
  };
76
76
  }
77
77
 
78
+ // OPR.0.4.3.28 B1+B3 — resolve the ingest base URL + token without depending on
79
+ // the operator seeding OPENRIG_URL/OPENRIG_ACTIVITY_HOOK_TOKEN into the shell:
80
+ // 1. env OPENRIG_URL / token (unchanged fast path).
81
+ // 2. B1: synthesize the base URL from OPENRIG_HOST + OPENRIG_PORT (both present
82
+ // in a launched seat's env) when the URL is absent.
83
+ // 3. B3: file-discovery — read {baseUrl, token} from
84
+ // OPENRIG_HOME/activity-endpoint.json (default ~/.openrig) for reconcile /
85
+ // restored seats whose frozen process env lacks the activity vars. The
86
+ // daemon writes this file at startup. Identity (session/node/runtime) still
87
+ // comes from env, which previously-launched-then-reconciled seats inherit
88
+ // from the tmux session env.
89
+ function resolveEndpoint(env = process.env) {
90
+ let baseUrl = firstString(env.OPENRIG_URL, env.RIGGED_URL);
91
+ let token = firstString(env.OPENRIG_ACTIVITY_HOOK_TOKEN, env.RIGGED_ACTIVITY_HOOK_TOKEN);
92
+
93
+ if (!baseUrl) {
94
+ const port = firstString(env.OPENRIG_PORT, env.RIGGED_PORT);
95
+ if (port) {
96
+ const host = firstString(env.OPENRIG_HOST, env.RIGGED_HOST) || "127.0.0.1";
97
+ baseUrl = `http://${host}:${port}`;
98
+ }
99
+ }
100
+
101
+ if (!baseUrl || !token) {
102
+ try {
103
+ const fs = require("node:fs");
104
+ const path = require("node:path");
105
+ const os = require("node:os");
106
+ const home = firstString(env.OPENRIG_HOME, env.RIGGED_HOME) || path.join(os.homedir(), ".openrig");
107
+ const parsed = JSON.parse(fs.readFileSync(path.join(home, "activity-endpoint.json"), "utf8"));
108
+ if (!baseUrl && typeof parsed.baseUrl === "string" && parsed.baseUrl.length > 0) baseUrl = parsed.baseUrl;
109
+ if (!token && typeof parsed.token === "string" && parsed.token.length > 0) token = parsed.token;
110
+ } catch {
111
+ // absent/malformed — the caller no-ops safely below.
112
+ }
113
+ }
114
+
115
+ return { baseUrl, token };
116
+ }
117
+
78
118
  async function postHookPayload(payload, env = process.env) {
79
- const baseUrl = firstString(env.OPENRIG_URL, env.RIGGED_URL);
80
- const token = firstString(env.OPENRIG_ACTIVITY_HOOK_TOKEN, env.RIGGED_ACTIVITY_HOOK_TOKEN);
119
+ const { baseUrl, token } = resolveEndpoint(env);
81
120
  if (!baseUrl || !token || !payload || typeof fetch !== "function") return;
82
121
 
83
122
  const controller = new AbortController();
@@ -147,4 +186,5 @@ module.exports = {
147
186
  buildSessionIdentityPayload,
148
187
  parseJson,
149
188
  postHookPayload,
189
+ resolveEndpoint,
150
190
  };
@@ -0,0 +1,87 @@
1
+ ---
2
+ name: mission-slice-sop
3
+ description: Use when working a mission or slice — how to track, prove, hand off, and carry state across agents and compaction via the canonical files (PROGRESS.md / PROOF.md / MISSION_NOTES.md / MISSION_BRIEF.md / README.md). Covers the per-file WHO/WHEN/HOW rules, the four-legs lifecycle (SCAFFOLD/POPULATE/PROJECT/VERIFY), hot-potato queue handoffs, the moment-of-truth checklist, the deterministic `rig scope audit` backstop, and the known ghost-text gotcha when reading terminal captures.
4
+ metadata:
5
+ openrig:
6
+ stage: shipped
7
+ last_verified: "2026-07-03"
8
+ distribution_scope: product-bound
9
+ source_evidence: |
10
+ Authored + embedded in release-0.4.3 slice 32 (mission-slice-sop). The
11
+ canonical SOP is the operating surface for mission/slice work: the
12
+ PROGRESS / PROOF / MISSION_NOTES / MISSION_BRIEF files drive the workspace
13
+ UI and carry state across agents + compaction. Operationalizes the
14
+ markdown-control-plane convention (loose freeform write + deterministic
15
+ verify) and the shipped `rig scope audit` classifier — the deterministic
16
+ backstop is the audit, not standalone check scripts.
17
+ sibling_skills:
18
+ - queue-handoff
19
+ - seat-continuity-and-handover
20
+ - claude-compaction-restore
21
+ ---
22
+
23
+ # Mission/Slice SOP — how you work a mission & slice
24
+
25
+ Use this skill to actually **do** mission/slice work the way OpenRig expects: track on the canonical files, prove on them, hand off through them, and survive compaction on them. **Do the work described here; do not merely explain the protocol.** The deterministic backstop is `rig scope audit` — there are no separate bundled check scripts; the audit classifier is the source of truth for adherence.
26
+
27
+ > The canonical files below are the **operating surface of the work** — you track on them, prove on them, hand off through them, and survive compaction on them. They are NOT side-artifacts to "maintain"; keeping them current *is* the work.
28
+
29
+ ## The canonical files (the operating surface)
30
+
31
+ - **README.md** (mission + slice) — the overview: what the mission/slice is + why. The **mission README carries this SOP at its bottom.**
32
+ - **PROGRESS.md** — the live delivery state. One line per outcome; links down for detail.
33
+ - **MISSION_NOTES.md** — the accruing handoff + tribal-knowledge doc. Blank-slate onboarding + **compaction-restore** read it. `§1` top-of-mind + per-seat `§A–§X`.
34
+ - **MISSION_BRIEF.md** — the steering doc (the UI "Steering" tab). The 7-section schema.
35
+ - **PROOF.md** (+ `proof/`) — acceptance evidence. **A slice is not done until every plan success-criterion has proof.**
36
+
37
+ ## Per-file rules — WHO / WHEN / HOW
38
+
39
+ ### PROGRESS.md
40
+ - **WHO:** the orchestrator owns `§1` (current state); every agent logs its own outcomes.
41
+ - **WHEN:** after every slice-done **AND every commit**; on any material state change.
42
+ - **HOW:** one line per outcome (checkbox), link down for detail (workstream-continuity format); keep frontmatter `stage`/`verified` honest.
43
+
44
+ ### PROOF.md
45
+ - **WHO:** the impl/QA pair that worked the slice.
46
+ - **WHEN:** a slice is **NOT "done"** until PROOF.md exists and every plan success-criterion has evidence.
47
+ - **HOW:** proof maps **1:1 to the plan's acceptance/success criteria** — each criterion gets an evidence artifact (screenshot/capture/log) in `proof/` + a line in PROOF.md stating what it proves. No proof → not done.
48
+
49
+ ### MISSION_NOTES.md
50
+ - **WHO:** any agent updates `§1` (top-of-mind); each seat owns + appends to its own `§A–§X` section.
51
+ - **WHEN:** on any material change; a compacting agent **files its state here BEFORE compaction and reads it on restore.**
52
+ - **HOW:** accruing tribal knowledge — `§1` ≤ 5–15 lines (gates, open decisions, surprises); per-seat continuation entries (latest = truth; other seats read-only). Pointer-first; don't duplicate.
53
+
54
+ ### MISSION_BRIEF.md
55
+ - **WHO:** product/design (steering owner).
56
+ - **WHEN:** when steering changes.
57
+ - **HOW:** the 7-section steering schema (the UI "Steering" tab reads it).
58
+
59
+ ### README.md
60
+ - **WHO:** the author at creation; refreshed on rescope.
61
+ - **WHEN:** at mission/slice creation + when scope/theme changes.
62
+ - **HOW:** overview + honest frontmatter (`id`/`stage`/`verified`); the mission README carries this SOP at its bottom.
63
+
64
+ ## The lifecycle (4 legs)
65
+
66
+ **SCAFFOLD** (`rig scope` creates the files from templates) → **POPULATE** (agents fill them as work happens, per the rules above) → **PROJECT** (the workspace UI reads them into tabs) → **VERIFY** (`rig scope audit` + the validation scripts check adherence). "Loose freeform write + deterministic verify."
67
+
68
+ ## Hot-potato (handoffs)
69
+
70
+ End every turn by passing the ball — a `rig queue` handoff to the next agent (close the qitem with a `closure_reason`). The **durable ball-pass is the queue close, not a chat message.** Never go idle without a handoff.
71
+
72
+ ## Verify (deterministic backstop)
73
+
74
+ Run `rig scope audit` at slice-close. The validation scripts flag: committed-without-touching-PROGRESS; slice-marked-done-without-PROOF; active-mission-without-MISSION_NOTES; MISSION_BRIEF off-schema. **Fix the flag, don't suppress it.**
75
+
76
+ ## Reading terminal captures — KNOWN GOTCHA: ghost-text autocomplete is NOT real
77
+
78
+ When you `rig capture` a pane, **greyed / ghost autocomplete suggestions are NOT real content** — they are autocomplete *previews* (shell autosuggestion, the input-box ghost-text completion), not typed, staged, or committed input. **This is known, expected, and has been faking agents out a lot** — reading a ghost suggestion in a peer's input box as "staged text they're about to send," or as a real prompt, and then reasoning/acting on a string that was never actually there.
79
+
80
+ **Rule:** ignore ghost/autosuggest text entirely. Only *committed/rendered* pane output is real. If a `❯` input line shows text, treat it as an autocomplete artifact unless you have independent evidence it was actually entered. Do not build decisions (or worry about "colliding with staged text") on ghost text. When it matters, verify at source (git, the queue, the actual event) — never off a capture's ghost line.
81
+
82
+ ## Moment-of-truth checklist
83
+
84
+ - **Finishing a slice?** → PROOF complete (every criterion has evidence)? PROGRESS updated? MISSION_NOTES `§1` refreshed? Handed off via queue?
85
+ - **Committing?** → PROGRESS updated?
86
+ - **Compacting?** → filed your state in MISSION_NOTES?
87
+ - **Starting on a mission?** → read the mission README (incl. this SOP) + MISSION_NOTES?
@@ -73,6 +73,17 @@ export declare class CodexRuntimeAdapter implements RuntimeAdapter {
73
73
  * launches seats.)
74
74
  */
75
75
  ensureCodexActivityHooks(): void;
76
+ /**
77
+ * OPR.0.4.3.33 — compute + splice Codex's `[hooks.state."<key>"] trusted_hash` for our 4
78
+ * authored activity hooks into `content`. `key_source` is the canonicalized config path
79
+ * (Codex keys trust by `std::fs::canonicalize(config.toml).display()`); we best-effort
80
+ * `realpathSync` the config path to match — on a miss (file not yet on real disk, or a mock
81
+ * fs in tests) we fall back to the plain absolute path, and any resulting key mismatch just
82
+ * degrades to the launch-time trust gate (Layer-2 floor), never a broken run. The command
83
+ * string is the value Codex deserializes from our TOML literal `'node "<relay>"'` — i.e.
84
+ * `node "<relay>"` WITHOUT the outer TOML quote delimiters. Timeout=5, matcher/status None.
85
+ */
86
+ private applyCodexActivityHookTrust;
76
87
  /**
77
88
  * OPR.0.4.1.10 B3 — durable disable. When runtime.codex.hooks_enabled is false, strip the
78
89
  * OpenRig-managed activity-hooks sentinel block from ~/.codex/config.toml so a seat that was
@@ -117,5 +128,40 @@ export declare class CodexRuntimeAdapter implements RuntimeAdapter {
117
128
  private findCodexDescendantPids;
118
129
  private readThreadIdFromLogs;
119
130
  }
131
+ export interface CodexHookTrustInput {
132
+ /** Codex hook_key source identity: canonicalized `~/.codex/config.toml` path. */
133
+ keySource: string;
134
+ /** The command as Codex DESERIALIZES it — `node "<relay>"` (no outer TOML quote delimiters). */
135
+ command: string;
136
+ /** Our authored hook timeout (seconds). */
137
+ timeoutSec: number;
138
+ /** None for our hooks; folded into the hash when present (kept for faithful reproduction). */
139
+ matcher?: string | null;
140
+ /** None for our hooks; folded into the hash when present. */
141
+ statusMessage?: string | null;
142
+ /** Positional group index within the event's matcher-group list (our hooks: 0). */
143
+ groupIndex?: number;
144
+ /** Positional handler index within the group's handler list (our hooks: 0). */
145
+ handlerIndex?: number;
146
+ }
147
+ /**
148
+ * Reproduce Codex's persisted hook trust `{ key, trusted_hash }` for one authored activity
149
+ * hook. Pure + deterministic. See the block comment above for the full RTFM derivation and the
150
+ * PROVISIONAL-until-VM-read-back caveat.
151
+ */
152
+ export declare function computeCodexHookTrust(event: (typeof OPENRIG_ACTIVITY_HOOK_EVENTS)[number], input: CodexHookTrustInput): {
153
+ key: string;
154
+ hash: string;
155
+ };
156
+ /**
157
+ * OPR.0.4.3.33 — idempotent, non-clobbering, section-scoped writer for a single
158
+ * `[hooks.state."<key>"] trusted_hash = "<hash>"` record. Mirrors upsertCodexProjectTrust:
159
+ * find/create the exact table header, splice ONLY its `trusted_hash` line, leave every other
160
+ * `[hooks.state]` / `[projects]` entry and the managed hook block byte-identical. Same key+hash
161
+ * ⇒ no-op. Only ever called for OUR 4 authored hook keys (never a blanket/wildcard trust).
162
+ */
163
+ export declare function upsertCodexHookTrust(content: string, key: string, hash: string): string;
120
164
  export declare function isCodex013xOrLater(version: string): boolean;
165
+ declare const OPENRIG_ACTIVITY_HOOK_EVENTS: readonly ["SessionStart", "UserPromptSubmit", "Stop", "PermissionRequest"];
166
+ export {};
121
167
  //# sourceMappingURL=codex-runtime-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex-runtime-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/codex-runtime-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-runtime-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/codex-runtime-adapter.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EACV,cAAc,EAAE,WAAW,EAAE,mBAAmB,EAChD,iBAAiB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,eAAe,EAC3E,mBAAmB,EACpB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,iCAAiC,CAAC;AACvF,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,8BAA8B,CAAC;AAKtC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,cAAc;IACxD,QAAQ,CAAC,OAAO,WAAW;IAC3B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,aAAa,CAA8D;IACnF,OAAO,CAAC,iBAAiB,CAAsC;IAC/D,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,mBAAmB,CAAsB;IAKjD,OAAO,CAAC,iBAAiB,CAAC,CAAS;gBAEvB,IAAI,EAAE;QAChB,IAAI,EAAE,WAAW,CAAC;QAClB,KAAK,EAAE,iBAAiB,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,KAAK,CAAC;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC5E,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;QACxD,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;QAC1C,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B;IAUD;;;;;;;;;;;OAWG;IACH,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAehF;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,wBAAwB,IAAI,IAAI;IA+BhC;;;;;;;;;OASG;IACH,OAAO,CAAC,2BAA2B;IAiBnC;;;;;;OAMG;IACH,wBAAwB,IAAI,IAAI;IAY1B,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAWjE,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0B9E,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAgDlG,aAAa,CACjB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,8BAA8B,EAAE,UAAU,CAAA;KAAE,GAC3G,OAAO,CAAC,mBAAmB,CAAC;IAkG/B,OAAO,CAAC,wBAAwB;IAW1B,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;YAqBlD,iCAAiC;YAiCjC,4BAA4B;IAuC1C,sBAAsB,CAAC,OAAO,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI;IAI9D,OAAO,CAAC,YAAY;IA2CpB,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,oBAAoB;IAe5B;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,uBAAuB;IAsB/B,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,kBAAkB;YAUZ,oBAAoB;YAsBpB,kBAAkB;IAsGhC,OAAO,CAAC,uBAAuB;IAK/B,OAAO,CAAC,oBAAoB;CAO7B;AAsGD,MAAM,WAAW,mBAAmB;IAClC,iFAAiF;IACjF,SAAS,EAAE,MAAM,CAAC;IAClB,gGAAgG;IAChG,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,8FAA8F;IAC9F,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,mFAAmF;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,EACpD,KAAK,EAAE,mBAAmB,GACzB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAoB/B;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CA8BvF;AAuBD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAO3D;AA4DD,QAAA,MAAM,4BAA4B,4EAA6E,CAAC"}
@@ -98,12 +98,51 @@ export class CodexRuntimeAdapter {
98
98
  return;
99
99
  const configPath = nodePath.join(homedir, ".codex", "config.toml");
100
100
  const existing = this.fs.exists(configPath) ? this.fs.readFile(configPath) : "";
101
- const updated = upsertCodexActivityHooks(existing, relay);
102
- if (updated !== existing) {
101
+ const withHooks = upsertCodexActivityHooks(existing, relay);
102
+ if (withHooks !== existing) {
103
103
  this.fs.mkdirp(nodePath.dirname(configPath));
104
- this.fs.writeFile(configPath, updated);
104
+ this.fs.writeFile(configPath, withHooks);
105
+ }
106
+ // OPR.0.4.3.33 hook-trust-autoclear — pre-write Codex's OWN hook trust record
107
+ // ([hooks.state."<key>"] trusted_hash) for exactly our 4 authored hooks, on the SAME
108
+ // seam that provisions them, so the daemon's unmanaged inline hooks are trusted from
109
+ // clean config on EVERY path a fresh Codex process reads config (launch/adopt/reconcile)
110
+ // — not just the launch keystroke gate. Layer-2 floor (dismissCodexInteractiveGates)
111
+ // stays as the fail-safe if a Codex-version drift changes the identity/hash. Idempotent
112
+ // + non-clobbering; only touches our 4 keys. See applyCodexActivityHookTrust for the RTFM.
113
+ const trusted = this.applyCodexActivityHookTrust(withHooks, configPath, relay);
114
+ if (trusted !== withHooks) {
115
+ this.fs.mkdirp(nodePath.dirname(configPath));
116
+ this.fs.writeFile(configPath, trusted);
105
117
  }
106
118
  }
119
+ /**
120
+ * OPR.0.4.3.33 — compute + splice Codex's `[hooks.state."<key>"] trusted_hash` for our 4
121
+ * authored activity hooks into `content`. `key_source` is the canonicalized config path
122
+ * (Codex keys trust by `std::fs::canonicalize(config.toml).display()`); we best-effort
123
+ * `realpathSync` the config path to match — on a miss (file not yet on real disk, or a mock
124
+ * fs in tests) we fall back to the plain absolute path, and any resulting key mismatch just
125
+ * degrades to the launch-time trust gate (Layer-2 floor), never a broken run. The command
126
+ * string is the value Codex deserializes from our TOML literal `'node "<relay>"'` — i.e.
127
+ * `node "<relay>"` WITHOUT the outer TOML quote delimiters. Timeout=5, matcher/status None.
128
+ */
129
+ applyCodexActivityHookTrust(content, configPath, relay) {
130
+ let keySource = configPath;
131
+ try {
132
+ keySource = fs.realpathSync(configPath);
133
+ }
134
+ catch {
135
+ // config.toml not on the real filesystem (first write / unit-test mock fs) — the plain
136
+ // absolute path is the honest best guess; a canonicalization delta is fail-safe (gate reappears).
137
+ }
138
+ const command = `node "${relay}"`;
139
+ let next = content;
140
+ for (const event of OPENRIG_ACTIVITY_HOOK_EVENTS) {
141
+ const { key, hash } = computeCodexHookTrust(event, { keySource, command, timeoutSec: 5 });
142
+ next = upsertCodexHookTrust(next, key, hash);
143
+ }
144
+ return next;
145
+ }
107
146
  /**
108
147
  * OPR.0.4.1.10 B3 — durable disable. When runtime.codex.hooks_enabled is false, strip the
109
148
  * OpenRig-managed activity-hooks sentinel block from ~/.codex/config.toml so a seat that was
@@ -693,6 +732,131 @@ function upsertCodexProjectTrust(content, projectPath) {
693
732
  }
694
733
  return `${lines.join("\n").replace(/\n*$/, "\n")}`;
695
734
  }
735
+ // ── OPR.0.4.3.33 hook-trust-autoclear ────────────────────────────────────────────────────
736
+ // Pre-write Codex's OWN hook trust record so the daemon's provisioned (unmanaged) inline
737
+ // activity hooks are trusted on every path (launch/adopt/reconcile) without a manual `/hooks`
738
+ // "Trust all" keystroke. Codex is a private impl; the key+hash below are REPRODUCED from the
739
+ // open source (RTFM, cited) and are PROVISIONAL until pinned by a byte-for-byte read-back of a
740
+ // real Codex `[hooks.state]` after `/hooks`->"Trust all" (the QA VM proof — see the unit test
741
+ // fixture marked PIN-TO-VM). A mismatch is fail-safe: Codex re-shows the gate and the launch-time
742
+ // Layer-2 keystroke floor (dismissCodexInteractiveGates) clears it — never a false-trusted run.
743
+ //
744
+ // RTFM sources (cite):
745
+ // - https://developers.openai.com/codex/hooks
746
+ // - openai/codex PR #20321 "hook trust metadata and enforcement" (merge commit 0452dca;
747
+ // typed-identity commit ffcc9cc) — key file codex-rs/hooks/src/engine/discovery.rs.
748
+ // - openai/codex issue #21615 (the `[hooks.state]` pre-write workaround for exactly this
749
+ // local-wrapper-installer case) + #23259 (positional path-keying fragility).
750
+ //
751
+ // KEY — codex-rs/hooks/src/lib.rs `hook_key`:
752
+ // `{key_source}:{event_label}:{group_index}:{handler_index}`
753
+ // - key_source: `std::fs::canonicalize(~/.codex/config.toml).display()` (the config source
754
+ // layer identity; confirmed by codex-rs/app-server/tests/suite/v2/hooks_list.rs which keys
755
+ // `{canonicalize(config.toml).display()}:pre_tool_use:0:0`).
756
+ // - event_label: `hook_event_key_label()` — SessionStart→session_start,
757
+ // UserPromptSubmit→user_prompt_submit, Stop→stop, PermissionRequest→permission_request.
758
+ // - group_index/handler_index: positional. Our managed block writes exactly one
759
+ // `[[hooks.<Ev>]]` group (0) with one `[[hooks.<Ev>.hooks]]` handler (0) per event ⇒ 0:0.
760
+ // (Positional keying is a known upstream fragility (#23259); if a user pre-authored hooks
761
+ // for the same event in the same layer our index would shift → gate reappears → fail-safe.)
762
+ //
763
+ // HASH — codex-rs/hooks/src/engine/discovery.rs `command_hook_hash`
764
+ // → codex-rs/config/src/fingerprint.rs `version_for_toml`:
765
+ // hash = "sha256:" + hex( sha256( canonical_json( toml_value( NormalizedHookIdentity ) ) ) )
766
+ // NormalizedHookIdentity { event_name: <label>, #[serde(flatten)] group: MatcherGroup }
767
+ // MatcherGroup { matcher: Option<String>, hooks: Vec<HookHandlerConfig> }
768
+ // HookHandlerConfig::Command (codex-rs/config/src/hook_config.rs, `#[serde(tag="type")]`,
769
+ // rename "command"): { command: String, commandWindows: Option, timeout(=timeout_sec):
770
+ // Option<u64>, async: bool, statusMessage: Option }
771
+ // Load-bearing serialization facts:
772
+ // * `TomlValue::try_from` DROPS None fields (TOML has no null) → matcher / commandWindows /
773
+ // statusMessage are omitted for our hooks; `async` is a plain bool (not Option) so
774
+ // `async = false` IS present.
775
+ // * event_name uses the snake_case label (session_start …), NOT the CamelCase event.
776
+ // * `version_for_toml` converts the TomlValue → serde_json Value, `canonical_json` sorts
777
+ // every object's keys recursively, then sha256's the COMPACT JSON bytes. serde_json's
778
+ // compact output (no spaces, `/` unescaped, `"`/`\` JSON-escaped) matches JSON.stringify.
779
+ // CONFIDENCE: the HASH is fully deterministic from the open source (JSON+sha256) — HIGH.
780
+ // The KEY's exact key_source canonical form + the positional indices are what the VM
781
+ // read-back must confirm — PROVISIONAL until then.
782
+ /** Recursively sort object keys (mirrors codex-rs fingerprint.rs `canonical_json`). */
783
+ function canonicalizeJsonValue(value) {
784
+ if (Array.isArray(value))
785
+ return value.map(canonicalizeJsonValue);
786
+ if (value !== null && typeof value === "object") {
787
+ const src = value;
788
+ const out = {};
789
+ for (const key of Object.keys(src).sort())
790
+ out[key] = canonicalizeJsonValue(src[key]);
791
+ return out;
792
+ }
793
+ return value;
794
+ }
795
+ const CODEX_HOOK_EVENT_KEY_LABEL = {
796
+ SessionStart: "session_start",
797
+ UserPromptSubmit: "user_prompt_submit",
798
+ Stop: "stop",
799
+ PermissionRequest: "permission_request",
800
+ };
801
+ /**
802
+ * Reproduce Codex's persisted hook trust `{ key, trusted_hash }` for one authored activity
803
+ * hook. Pure + deterministic. See the block comment above for the full RTFM derivation and the
804
+ * PROVISIONAL-until-VM-read-back caveat.
805
+ */
806
+ export function computeCodexHookTrust(event, input) {
807
+ const label = CODEX_HOOK_EVENT_KEY_LABEL[event];
808
+ const groupIndex = input.groupIndex ?? 0;
809
+ const handlerIndex = input.handlerIndex ?? 0;
810
+ const key = `${input.keySource}:${label}:${groupIndex}:${handlerIndex}`;
811
+ // Build NormalizedHookIdentity exactly as `TomlValue::try_from` would: None fields dropped.
812
+ const handler = {
813
+ type: "command",
814
+ command: input.command,
815
+ timeout: input.timeoutSec,
816
+ async: false,
817
+ };
818
+ if (input.statusMessage != null)
819
+ handler.statusMessage = input.statusMessage;
820
+ const identity = { event_name: label, hooks: [handler] };
821
+ if (input.matcher != null)
822
+ identity.matcher = input.matcher;
823
+ const serialized = JSON.stringify(canonicalizeJsonValue(identity));
824
+ const hex = createHash("sha256").update(serialized, "utf8").digest("hex");
825
+ return { key, hash: `sha256:${hex}` };
826
+ }
827
+ /**
828
+ * OPR.0.4.3.33 — idempotent, non-clobbering, section-scoped writer for a single
829
+ * `[hooks.state."<key>"] trusted_hash = "<hash>"` record. Mirrors upsertCodexProjectTrust:
830
+ * find/create the exact table header, splice ONLY its `trusted_hash` line, leave every other
831
+ * `[hooks.state]` / `[projects]` entry and the managed hook block byte-identical. Same key+hash
832
+ * ⇒ no-op. Only ever called for OUR 4 authored hook keys (never a blanket/wildcard trust).
833
+ */
834
+ export function upsertCodexHookTrust(content, key, hash) {
835
+ const header = `[hooks.state.${JSON.stringify(key)}]`;
836
+ const trustLine = `trusted_hash = ${JSON.stringify(hash)}`;
837
+ const lines = content.length > 0 ? content.split("\n") : [];
838
+ const headerIndex = lines.findIndex((line) => line.trim() === header);
839
+ if (headerIndex === -1) {
840
+ const trimmed = content.trimEnd();
841
+ const prefix = trimmed.length > 0 ? `${trimmed}\n\n` : "";
842
+ return `${prefix}${header}\n${trustLine}\n`;
843
+ }
844
+ let nextSectionIndex = lines.length;
845
+ for (let i = headerIndex + 1; i < lines.length; i++) {
846
+ if (lines[i].trim().startsWith("[")) {
847
+ nextSectionIndex = i;
848
+ break;
849
+ }
850
+ }
851
+ const hashIndex = lines.findIndex((line, index) => index > headerIndex && index < nextSectionIndex && line.trim().startsWith("trusted_hash"));
852
+ if (hashIndex >= 0) {
853
+ lines[hashIndex] = trustLine;
854
+ }
855
+ else {
856
+ lines.splice(headerIndex + 1, 0, trustLine);
857
+ }
858
+ return `${lines.join("\n").replace(/\n*$/, "\n")}`;
859
+ }
696
860
  function parseCanonicalSessionName(sessionName) {
697
861
  const trimmed = sessionName.trim();
698
862
  const atIndex = trimmed.indexOf("@");
@@ -1 +1 @@
1
- {"version":3,"file":"codex-runtime-adapter.js","sourceRoot":"","sources":["../../src/adapters/codex-runtime-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-runtime-adapter.js","sourceRoot":"","sources":["../../src/adapters/codex-runtime-adapter.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,16 @@ export interface TmuxCursorPosition {
51
51
  width: number;
52
52
  height: number;
53
53
  }
54
+ /**
55
+ * An attached tmux client — the human's terminal/CMUX tile. `name` is the
56
+ * client identifier accepted by `switch-client -c` (the client tty by default);
57
+ * `session` is the session the client is CURRENTLY viewing (may be the wrong or
58
+ * a dead view, which is exactly the recovery case OPR.0.4.3.26 retargets).
59
+ */
60
+ export interface TmuxClient {
61
+ name: string;
62
+ session: string;
63
+ }
54
64
  export declare class TmuxAdapter {
55
65
  private exec;
56
66
  private fileOps;
@@ -86,6 +96,11 @@ export declare class TmuxAdapter {
86
96
  getPanePid(paneId: string): Promise<number | null>;
87
97
  /** Get the current foreground command in a pane. Returns null if unavailable. */
88
98
  getPaneCommand(paneId: string): Promise<string | null>;
99
+ /** OPR.0.4.3.28 Part C — presence-only check for a session-env variable.
100
+ * Returns whether the var is SET, NEVER its value (the producer-link
101
+ * diagnostic must never surface a token value). `tmux show-environment`
102
+ * prints `VAR=value` when set and `-VAR` when explicitly unset. */
103
+ hasSessionEnv(sessionName: string, varName: string): Promise<boolean>;
89
104
  /** Start pipe-pane to capture terminal output to a file. */
90
105
  startPipePane(sessionName: string, outputPath: string): Promise<TmuxResult>;
91
106
  /** Stop pipe-pane on a session. */
@@ -132,5 +147,21 @@ export declare class TmuxAdapter {
132
147
  * (consumers treat null as "no signal", distinct from "idle").
133
148
  */
134
149
  readPaneLastActivity(paneId: string): Promise<number | null>;
150
+ /**
151
+ * OPR.0.4.3.26 — list the tmux clients (human terminals / CMUX tiles) attached
152
+ * to the server. VIEW-ONLY probe: it never mutates routing, bindings, or
153
+ * sessions. Mirrors the read/parse/error-swallow shape of `listSessions`:
154
+ * a "no server running" / socket-absent server yields `[]` (no attachable
155
+ * client) so the caller emits an honest "attach first" error rather than
156
+ * crashing. Unexpected failures (permission, etc.) rethrow.
157
+ */
158
+ listClients(): Promise<TmuxClient[]>;
159
+ /**
160
+ * OPR.0.4.3.26 — retarget an already-attached client's VIEW to `target`
161
+ * (`<session>` or `<session>:<window>`). This is the whole point of the
162
+ * seat-recovery slice: it changes only what a client SEES; it never creates,
163
+ * kills, or rebinds a session and never touches OpenRig routing/identity.
164
+ */
165
+ switchClient(client: string, target: string): Promise<TmuxResult>;
135
166
  }
136
167
  //# sourceMappingURL=tmux.d.ts.map