@openrig/cli 0.4.7 → 0.5.0

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 (463) hide show
  1. package/daemon/assets/claude-statusline-context.cjs +40 -8
  2. package/daemon/assets/plugins/openrig-core/hooks/scripts/activity-relay.cjs +0 -0
  3. package/daemon/assets/plugins/openrig-core/skills/applying-a-permission-policy/SKILL.md +120 -0
  4. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +0 -0
  5. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs +0 -0
  6. package/daemon/assets/plugins/openrig-core/skills/delegating-work/SKILL.md +43 -0
  7. package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +2 -0
  8. package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +50 -57
  9. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +84 -19
  10. package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +2 -0
  11. package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +2 -1
  12. package/daemon/assets/plugins/openrig-core/skills/session-compaction-and-restore/SKILL.md +1 -0
  13. package/daemon/dist/adapters/claude-code-adapter.d.ts +36 -9
  14. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  15. package/daemon/dist/adapters/claude-code-adapter.js +216 -49
  16. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  17. package/daemon/dist/adapters/claude-resume.d.ts +1 -1
  18. package/daemon/dist/adapters/claude-resume.d.ts.map +1 -1
  19. package/daemon/dist/adapters/claude-resume.js +8 -2
  20. package/daemon/dist/adapters/claude-resume.js.map +1 -1
  21. package/daemon/dist/adapters/codex-resume.d.ts +1 -1
  22. package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
  23. package/daemon/dist/adapters/codex-resume.js +4 -2
  24. package/daemon/dist/adapters/codex-resume.js.map +1 -1
  25. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +12 -0
  26. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  27. package/daemon/dist/adapters/codex-runtime-adapter.js +34 -7
  28. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  29. package/daemon/dist/adapters/pi-resume.d.ts +1 -1
  30. package/daemon/dist/adapters/pi-resume.d.ts.map +1 -1
  31. package/daemon/dist/adapters/pi-resume.js +7 -2
  32. package/daemon/dist/adapters/pi-resume.js.map +1 -1
  33. package/daemon/dist/adapters/pi-runtime-adapter.d.ts.map +1 -1
  34. package/daemon/dist/adapters/pi-runtime-adapter.js +4 -1
  35. package/daemon/dist/adapters/pi-runtime-adapter.js.map +1 -1
  36. package/daemon/dist/adapters/yolo-mode.d.ts +23 -0
  37. package/daemon/dist/adapters/yolo-mode.d.ts.map +1 -0
  38. package/daemon/dist/adapters/yolo-mode.js +49 -0
  39. package/daemon/dist/adapters/yolo-mode.js.map +1 -0
  40. package/daemon/dist/build-info.js +3 -3
  41. package/daemon/dist/db/migrations/055_node_permission_policy.d.ts +13 -0
  42. package/daemon/dist/db/migrations/055_node_permission_policy.d.ts.map +1 -0
  43. package/daemon/dist/db/migrations/055_node_permission_policy.js +17 -0
  44. package/daemon/dist/db/migrations/055_node_permission_policy.js.map +1 -0
  45. package/daemon/dist/db/migrations/056_rig_permission_policy.d.ts +13 -0
  46. package/daemon/dist/db/migrations/056_rig_permission_policy.d.ts.map +1 -0
  47. package/daemon/dist/db/migrations/056_rig_permission_policy.js +17 -0
  48. package/daemon/dist/db/migrations/056_rig_permission_policy.js.map +1 -0
  49. package/daemon/dist/db/migrations/057_node_policy_provenance.d.ts +19 -0
  50. package/daemon/dist/db/migrations/057_node_policy_provenance.d.ts.map +1 -0
  51. package/daemon/dist/db/migrations/057_node_policy_provenance.js +26 -0
  52. package/daemon/dist/db/migrations/057_node_policy_provenance.js.map +1 -0
  53. package/daemon/dist/db/migrations/058_rig_policy_provenance.d.ts +15 -0
  54. package/daemon/dist/db/migrations/058_rig_policy_provenance.d.ts.map +1 -0
  55. package/daemon/dist/db/migrations/058_rig_policy_provenance.js +22 -0
  56. package/daemon/dist/db/migrations/058_rig_policy_provenance.js.map +1 -0
  57. package/daemon/dist/domain/agent-activity-store.d.ts +1 -0
  58. package/daemon/dist/domain/agent-activity-store.d.ts.map +1 -1
  59. package/daemon/dist/domain/agent-activity-store.js +2 -2
  60. package/daemon/dist/domain/agent-activity-store.js.map +1 -1
  61. package/daemon/dist/domain/builtin-policy-reference.d.ts +13 -0
  62. package/daemon/dist/domain/builtin-policy-reference.d.ts.map +1 -0
  63. package/daemon/dist/domain/builtin-policy-reference.js +58 -0
  64. package/daemon/dist/domain/builtin-policy-reference.js.map +1 -0
  65. package/daemon/dist/domain/claude-activity-hooks.d.ts +33 -0
  66. package/daemon/dist/domain/claude-activity-hooks.d.ts.map +1 -0
  67. package/daemon/dist/domain/claude-activity-hooks.js +60 -0
  68. package/daemon/dist/domain/claude-activity-hooks.js.map +1 -0
  69. package/daemon/dist/domain/context-packs/bundle-assembler.d.ts +30 -0
  70. package/daemon/dist/domain/context-packs/bundle-assembler.d.ts.map +1 -1
  71. package/daemon/dist/domain/context-packs/bundle-assembler.js +31 -1
  72. package/daemon/dist/domain/context-packs/bundle-assembler.js.map +1 -1
  73. package/daemon/dist/domain/context-packs/context-pack-library-service.d.ts +69 -14
  74. package/daemon/dist/domain/context-packs/context-pack-library-service.d.ts.map +1 -1
  75. package/daemon/dist/domain/context-packs/context-pack-library-service.js +263 -48
  76. package/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
  77. package/daemon/dist/domain/context-packs/context-pack-types.d.ts +2 -2
  78. package/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
  79. package/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
  80. package/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
  81. package/daemon/dist/domain/context-packs/manifest-parser.js +11 -0
  82. package/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
  83. package/daemon/dist/domain/context-packs/ref-safety.d.ts +11 -0
  84. package/daemon/dist/domain/context-packs/ref-safety.d.ts.map +1 -0
  85. package/daemon/dist/domain/context-packs/ref-safety.js +46 -0
  86. package/daemon/dist/domain/context-packs/ref-safety.js.map +1 -0
  87. package/daemon/dist/domain/context-packs/token-estimate.d.ts +3 -0
  88. package/daemon/dist/domain/context-packs/token-estimate.d.ts.map +1 -0
  89. package/daemon/dist/domain/context-packs/token-estimate.js +5 -0
  90. package/daemon/dist/domain/context-packs/token-estimate.js.map +1 -0
  91. package/daemon/dist/domain/native-resume-probe.d.ts +1 -1
  92. package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
  93. package/daemon/dist/domain/native-resume-probe.js +11 -4
  94. package/daemon/dist/domain/native-resume-probe.js.map +1 -1
  95. package/daemon/dist/domain/node-inventory.js +2 -2
  96. package/daemon/dist/domain/node-inventory.js.map +1 -1
  97. package/daemon/dist/domain/permission-policy/policy-ref.d.ts +89 -0
  98. package/daemon/dist/domain/permission-policy/policy-ref.d.ts.map +1 -0
  99. package/daemon/dist/domain/permission-policy/policy-ref.js +171 -0
  100. package/daemon/dist/domain/permission-policy/policy-ref.js.map +1 -0
  101. package/daemon/dist/domain/permission-policy/policy-spec.d.ts +34 -0
  102. package/daemon/dist/domain/permission-policy/policy-spec.d.ts.map +1 -0
  103. package/daemon/dist/domain/permission-policy/policy-spec.js +106 -0
  104. package/daemon/dist/domain/permission-policy/policy-spec.js.map +1 -0
  105. package/daemon/dist/domain/plugin-vendor-service.d.ts +14 -0
  106. package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
  107. package/daemon/dist/domain/plugin-vendor-service.js +26 -2
  108. package/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
  109. package/daemon/dist/domain/provider/claude-usage-reader.d.ts +44 -0
  110. package/daemon/dist/domain/provider/claude-usage-reader.d.ts.map +1 -0
  111. package/daemon/dist/domain/provider/claude-usage-reader.js +112 -0
  112. package/daemon/dist/domain/provider/claude-usage-reader.js.map +1 -0
  113. package/daemon/dist/domain/provider/codex-auth-reader.d.ts +18 -0
  114. package/daemon/dist/domain/provider/codex-auth-reader.d.ts.map +1 -0
  115. package/daemon/dist/domain/provider/codex-auth-reader.js +64 -0
  116. package/daemon/dist/domain/provider/codex-auth-reader.js.map +1 -0
  117. package/daemon/dist/domain/provider/host-usage-rollup.d.ts +51 -0
  118. package/daemon/dist/domain/provider/host-usage-rollup.d.ts.map +1 -0
  119. package/daemon/dist/domain/provider/host-usage-rollup.js +162 -0
  120. package/daemon/dist/domain/provider/host-usage-rollup.js.map +1 -0
  121. package/daemon/dist/domain/provider/provider-collect.d.ts +22 -0
  122. package/daemon/dist/domain/provider/provider-collect.d.ts.map +1 -0
  123. package/daemon/dist/domain/provider/provider-collect.js +74 -0
  124. package/daemon/dist/domain/provider/provider-collect.js.map +1 -0
  125. package/daemon/dist/domain/provider/provider-policy.d.ts +38 -0
  126. package/daemon/dist/domain/provider/provider-policy.d.ts.map +1 -0
  127. package/daemon/dist/domain/provider/provider-policy.js +76 -0
  128. package/daemon/dist/domain/provider/provider-policy.js.map +1 -0
  129. package/daemon/dist/domain/provider/provider-read-model.d.ts +28 -0
  130. package/daemon/dist/domain/provider/provider-read-model.d.ts.map +1 -0
  131. package/daemon/dist/domain/provider/provider-read-model.js +68 -0
  132. package/daemon/dist/domain/provider/provider-read-model.js.map +1 -0
  133. package/daemon/dist/domain/provider/provider-service-impl.d.ts +26 -0
  134. package/daemon/dist/domain/provider/provider-service-impl.d.ts.map +1 -0
  135. package/daemon/dist/domain/provider/provider-service-impl.js +83 -0
  136. package/daemon/dist/domain/provider/provider-service-impl.js.map +1 -0
  137. package/daemon/dist/domain/provider/provider-service.d.ts +33 -0
  138. package/daemon/dist/domain/provider/provider-service.d.ts.map +1 -0
  139. package/daemon/dist/domain/provider/provider-service.js +6 -0
  140. package/daemon/dist/domain/provider/provider-service.js.map +1 -0
  141. package/daemon/dist/domain/provider/provider-signals.d.ts +76 -0
  142. package/daemon/dist/domain/provider/provider-signals.d.ts.map +1 -0
  143. package/daemon/dist/domain/provider/provider-signals.js +144 -0
  144. package/daemon/dist/domain/provider/provider-signals.js.map +1 -0
  145. package/daemon/dist/domain/provider/provider-types.d.ts +101 -0
  146. package/daemon/dist/domain/provider/provider-types.d.ts.map +1 -0
  147. package/daemon/dist/domain/provider/provider-types.js +7 -0
  148. package/daemon/dist/domain/provider/provider-types.js.map +1 -0
  149. package/daemon/dist/domain/provider/reactive-tap.d.ts +29 -0
  150. package/daemon/dist/domain/provider/reactive-tap.d.ts.map +1 -0
  151. package/daemon/dist/domain/provider/reactive-tap.js +80 -0
  152. package/daemon/dist/domain/provider/reactive-tap.js.map +1 -0
  153. package/daemon/dist/domain/restore-orchestrator.d.ts +14 -0
  154. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  155. package/daemon/dist/domain/restore-orchestrator.js +90 -6
  156. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  157. package/daemon/dist/domain/rig-expansion-service.d.ts.map +1 -1
  158. package/daemon/dist/domain/rig-expansion-service.js +10 -1
  159. package/daemon/dist/domain/rig-expansion-service.js.map +1 -1
  160. package/daemon/dist/domain/rig-repository.d.ts +45 -0
  161. package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  162. package/daemon/dist/domain/rig-repository.js +75 -1
  163. package/daemon/dist/domain/rig-repository.js.map +1 -1
  164. package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
  165. package/daemon/dist/domain/rigspec-codec.js +6 -0
  166. package/daemon/dist/domain/rigspec-codec.js.map +1 -1
  167. package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
  168. package/daemon/dist/domain/rigspec-exporter.js +8 -0
  169. package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
  170. package/daemon/dist/domain/rigspec-instantiator.d.ts +25 -24
  171. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  172. package/daemon/dist/domain/rigspec-instantiator.js +190 -69
  173. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  174. package/daemon/dist/domain/rigspec-preflight.d.ts +22 -0
  175. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  176. package/daemon/dist/domain/rigspec-preflight.js +76 -0
  177. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  178. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  179. package/daemon/dist/domain/rigspec-schema.js +25 -0
  180. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  181. package/daemon/dist/domain/runtime-adapter.d.ts +7 -11
  182. package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
  183. package/daemon/dist/domain/runtime-adapter.js.map +1 -1
  184. package/daemon/dist/domain/scope/attestation-lineage.generated.d.ts +14 -0
  185. package/daemon/dist/domain/scope/attestation-lineage.generated.d.ts.map +1 -0
  186. package/daemon/dist/domain/scope/attestation-lineage.generated.js +26 -0
  187. package/daemon/dist/domain/scope/attestation-lineage.generated.js.map +1 -0
  188. package/daemon/dist/domain/scope/scope-approve.d.ts +13 -0
  189. package/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
  190. package/daemon/dist/domain/scope/scope-approve.js +50 -10
  191. package/daemon/dist/domain/scope/scope-approve.js.map +1 -1
  192. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  193. package/daemon/dist/domain/seat-handover-service.js +7 -1
  194. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  195. package/daemon/dist/domain/startup-validation.d.ts.map +1 -1
  196. package/daemon/dist/domain/startup-validation.js +18 -54
  197. package/daemon/dist/domain/startup-validation.js.map +1 -1
  198. package/daemon/dist/domain/stream-store.d.ts +4 -0
  199. package/daemon/dist/domain/stream-store.d.ts.map +1 -1
  200. package/daemon/dist/domain/stream-store.js +15 -2
  201. package/daemon/dist/domain/stream-store.js.map +1 -1
  202. package/daemon/dist/domain/successor-session-launcher.d.ts +4 -0
  203. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  204. package/daemon/dist/domain/successor-session-launcher.js +2 -0
  205. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  206. package/daemon/dist/domain/types.d.ts +19 -9
  207. package/daemon/dist/domain/types.d.ts.map +1 -1
  208. package/daemon/dist/domain/types.js.map +1 -1
  209. package/daemon/dist/domain/workspace/default-workspace-scaffold.js +1 -1
  210. package/daemon/dist/routes/agent-images.d.ts.map +1 -1
  211. package/daemon/dist/routes/agent-images.js +2 -0
  212. package/daemon/dist/routes/agent-images.js.map +1 -1
  213. package/daemon/dist/routes/context-packs.d.ts.map +1 -1
  214. package/daemon/dist/routes/context-packs.js +157 -75
  215. package/daemon/dist/routes/context-packs.js.map +1 -1
  216. package/daemon/dist/routes/provider.d.ts +3 -0
  217. package/daemon/dist/routes/provider.d.ts.map +1 -0
  218. package/daemon/dist/routes/provider.js +124 -0
  219. package/daemon/dist/routes/provider.js.map +1 -0
  220. package/daemon/dist/routes/rigs.js +8 -0
  221. package/daemon/dist/routes/rigs.js.map +1 -1
  222. package/daemon/dist/routes/scope-approve.d.ts.map +1 -1
  223. package/daemon/dist/routes/scope-approve.js +6 -3
  224. package/daemon/dist/routes/scope-approve.js.map +1 -1
  225. package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
  226. package/daemon/dist/routes/scope-audit.js +4 -1
  227. package/daemon/dist/routes/scope-audit.js.map +1 -1
  228. package/daemon/dist/routes/stream.d.ts.map +1 -1
  229. package/daemon/dist/routes/stream.js +71 -1
  230. package/daemon/dist/routes/stream.js.map +1 -1
  231. package/daemon/dist/server.d.ts +3 -0
  232. package/daemon/dist/server.d.ts.map +1 -1
  233. package/daemon/dist/server.js +5 -0
  234. package/daemon/dist/server.js.map +1 -1
  235. package/daemon/dist/startup.d.ts.map +1 -1
  236. package/daemon/dist/startup.js +38 -12
  237. package/daemon/dist/startup.js.map +1 -1
  238. package/daemon/docs/reference/developing.md +39 -0
  239. package/daemon/docs/reference/rig-spec.md +19 -0
  240. package/daemon/policies/builtin/locked.policy.md +24 -0
  241. package/daemon/policies/builtin/open.policy.md +24 -0
  242. package/daemon/policies/builtin/standard.policy.md +25 -0
  243. package/daemon/policies/builtin/yolo.policy.md +20 -0
  244. package/daemon/policies/examples/my-cautious-dev.policy.md +40 -0
  245. package/daemon/specs/agents/apps/vault-specialist/agent.yaml +1 -1
  246. package/daemon/specs/agents/conveyor/builder/agent.yaml +1 -1
  247. package/daemon/specs/agents/conveyor/lead/agent.yaml +1 -1
  248. package/daemon/specs/agents/conveyor/planner/agent.yaml +1 -1
  249. package/daemon/specs/agents/conveyor/reviewer/agent.yaml +1 -1
  250. package/daemon/specs/agents/design/product-designer/agent.yaml +1 -1
  251. package/daemon/specs/agents/development/implementer/agent.yaml +1 -1
  252. package/daemon/specs/agents/development/qa/agent.yaml +1 -1
  253. package/daemon/specs/agents/factory-rsi/dogfood/agent.yaml +1 -1
  254. package/daemon/specs/agents/factory-rsi/release-manager/agent.yaml +1 -1
  255. package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +1 -1
  256. package/daemon/specs/agents/product-management/pm/agent.yaml +1 -0
  257. package/daemon/specs/agents/research/analyst/agent.yaml +1 -1
  258. package/daemon/specs/agents/research/synthesizer/agent.yaml +1 -1
  259. package/daemon/specs/agents/review/independent-reviewer/agent.yaml +1 -1
  260. package/daemon/specs/agents/shared/agent.yaml +6 -0
  261. package/daemon/specs/agents/shared/runtime/claude-activity-hooks.json +4 -0
  262. package/daemon/specs/agents/shared/runtime/claude-settings.fragment.json +1 -20
  263. package/daemon/specs/agents/shared/skills/core/openrig-architect/SKILL.md +0 -2
  264. package/daemon/specs/agents/shared/skills/core/watchdog/SKILL.md +1 -0
  265. package/daemon/specs/agents/shared/skills/process/systematic-debugging/find-polluter.sh +0 -0
  266. package/daemon/specs/agents/shared/skills/process/verification-before-completion/SKILL.md +1 -0
  267. package/dist/bin-wrapper.d.ts.map +1 -1
  268. package/dist/bin-wrapper.js +7 -0
  269. package/dist/bin-wrapper.js.map +1 -1
  270. package/dist/build-info.js +3 -3
  271. package/dist/commands/agent-image.d.ts.map +1 -1
  272. package/dist/commands/agent-image.js +2 -1
  273. package/dist/commands/agent-image.js.map +1 -1
  274. package/dist/commands/broadcast.d.ts.map +1 -1
  275. package/dist/commands/broadcast.js +37 -2
  276. package/dist/commands/broadcast.js.map +1 -1
  277. package/dist/commands/context.d.ts +2 -7
  278. package/dist/commands/context.d.ts.map +1 -1
  279. package/dist/commands/context.js +391 -213
  280. package/dist/commands/context.js.map +1 -1
  281. package/dist/commands/provider.d.ts +4 -0
  282. package/dist/commands/provider.d.ts.map +1 -0
  283. package/dist/commands/provider.js +218 -0
  284. package/dist/commands/provider.js.map +1 -0
  285. package/dist/commands/ps.d.ts +7 -0
  286. package/dist/commands/ps.d.ts.map +1 -1
  287. package/dist/commands/ps.js +34 -4
  288. package/dist/commands/ps.js.map +1 -1
  289. package/dist/commands/queue.d.ts.map +1 -1
  290. package/dist/commands/queue.js +38 -8
  291. package/dist/commands/queue.js.map +1 -1
  292. package/dist/commands/scope.d.ts.map +1 -1
  293. package/dist/commands/scope.js +48 -4
  294. package/dist/commands/scope.js.map +1 -1
  295. package/dist/commands/send.d.ts.map +1 -1
  296. package/dist/commands/send.js +70 -11
  297. package/dist/commands/send.js.map +1 -1
  298. package/dist/commands/setup.d.ts +14 -0
  299. package/dist/commands/setup.d.ts.map +1 -1
  300. package/dist/commands/setup.js +131 -8
  301. package/dist/commands/setup.js.map +1 -1
  302. package/dist/commands/stream.d.ts +1 -0
  303. package/dist/commands/stream.d.ts.map +1 -1
  304. package/dist/commands/stream.js +93 -0
  305. package/dist/commands/stream.js.map +1 -1
  306. package/dist/commands/tui.d.ts +4 -0
  307. package/dist/commands/tui.d.ts.map +1 -0
  308. package/dist/commands/tui.js +29 -0
  309. package/dist/commands/tui.js.map +1 -0
  310. package/dist/commands/walk.d.ts +19 -0
  311. package/dist/commands/walk.d.ts.map +1 -0
  312. package/dist/commands/walk.js +139 -0
  313. package/dist/commands/walk.js.map +1 -0
  314. package/dist/context-resolve.d.ts +14 -0
  315. package/dist/context-resolve.d.ts.map +1 -0
  316. package/dist/context-resolve.js +40 -0
  317. package/dist/context-resolve.js.map +1 -0
  318. package/dist/front-door.d.ts +31 -0
  319. package/dist/front-door.d.ts.map +1 -0
  320. package/dist/front-door.js +114 -0
  321. package/dist/front-door.js.map +1 -0
  322. package/dist/index.d.ts +3 -1
  323. package/dist/index.d.ts.map +1 -1
  324. package/dist/index.js +19 -6
  325. package/dist/index.js.map +1 -1
  326. package/dist/lib/scope/attestation-lineage.d.ts +14 -0
  327. package/dist/lib/scope/attestation-lineage.d.ts.map +1 -0
  328. package/dist/lib/scope/attestation-lineage.js +34 -0
  329. package/dist/lib/scope/attestation-lineage.js.map +1 -0
  330. package/package.json +4 -2
  331. package/tui/dist/daemon-client.d.ts +56 -0
  332. package/tui/dist/daemon-client.d.ts.map +1 -0
  333. package/tui/dist/daemon-client.js +99 -0
  334. package/tui/dist/daemon-client.js.map +1 -0
  335. package/tui/dist/demo-data.d.ts +3 -0
  336. package/tui/dist/demo-data.d.ts.map +1 -0
  337. package/tui/dist/demo-data.js +52 -0
  338. package/tui/dist/demo-data.js.map +1 -0
  339. package/tui/dist/detail.d.ts +34 -0
  340. package/tui/dist/detail.d.ts.map +1 -0
  341. package/tui/dist/detail.js +47 -0
  342. package/tui/dist/detail.js.map +1 -0
  343. package/tui/dist/grammar.d.ts +3 -0
  344. package/tui/dist/grammar.d.ts.map +1 -0
  345. package/tui/dist/grammar.js +66 -0
  346. package/tui/dist/grammar.js.map +1 -0
  347. package/tui/dist/hydrate.d.ts +78 -0
  348. package/tui/dist/hydrate.d.ts.map +1 -0
  349. package/tui/dist/hydrate.js +294 -0
  350. package/tui/dist/hydrate.js.map +1 -0
  351. package/tui/dist/index.d.ts +12 -0
  352. package/tui/dist/index.d.ts.map +1 -0
  353. package/tui/dist/index.js +12 -0
  354. package/tui/dist/index.js.map +1 -0
  355. package/tui/dist/input.d.ts +21 -0
  356. package/tui/dist/input.d.ts.map +1 -0
  357. package/tui/dist/input.js +128 -0
  358. package/tui/dist/input.js.map +1 -0
  359. package/tui/dist/live.d.ts +20 -0
  360. package/tui/dist/live.d.ts.map +1 -0
  361. package/tui/dist/live.js +67 -0
  362. package/tui/dist/live.js.map +1 -0
  363. package/tui/dist/main.d.ts +3 -0
  364. package/tui/dist/main.d.ts.map +1 -0
  365. package/tui/dist/main.js +184 -0
  366. package/tui/dist/main.js.map +1 -0
  367. package/tui/dist/motion.d.ts +13 -0
  368. package/tui/dist/motion.d.ts.map +1 -0
  369. package/tui/dist/motion.js +31 -0
  370. package/tui/dist/motion.js.map +1 -0
  371. package/tui/dist/navigator.d.ts +21 -0
  372. package/tui/dist/navigator.d.ts.map +1 -0
  373. package/tui/dist/navigator.js +168 -0
  374. package/tui/dist/navigator.js.map +1 -0
  375. package/tui/dist/refresh.d.ts +3 -0
  376. package/tui/dist/refresh.d.ts.map +1 -0
  377. package/tui/dist/refresh.js +9 -0
  378. package/tui/dist/refresh.js.map +1 -0
  379. package/tui/dist/render.d.ts +21 -0
  380. package/tui/dist/render.d.ts.map +1 -0
  381. package/tui/dist/render.js +807 -0
  382. package/tui/dist/render.js.map +1 -0
  383. package/tui/dist/sections.d.ts +4 -0
  384. package/tui/dist/sections.d.ts.map +1 -0
  385. package/tui/dist/sections.js +19 -0
  386. package/tui/dist/sections.js.map +1 -0
  387. package/tui/dist/socket-server.d.ts +24 -0
  388. package/tui/dist/socket-server.d.ts.map +1 -0
  389. package/tui/dist/socket-server.js +85 -0
  390. package/tui/dist/socket-server.js.map +1 -0
  391. package/tui/dist/state.d.ts +51 -0
  392. package/tui/dist/state.d.ts.map +1 -0
  393. package/tui/dist/state.js +480 -0
  394. package/tui/dist/state.js.map +1 -0
  395. package/tui/dist/stylize.d.ts +4 -0
  396. package/tui/dist/stylize.d.ts.map +1 -0
  397. package/tui/dist/stylize.js +248 -0
  398. package/tui/dist/stylize.js.map +1 -0
  399. package/tui/dist/theme.d.ts +19 -0
  400. package/tui/dist/theme.d.ts.map +1 -0
  401. package/tui/dist/theme.js +86 -0
  402. package/tui/dist/theme.js.map +1 -0
  403. package/tui/dist/topology/canvas.d.ts +43 -0
  404. package/tui/dist/topology/canvas.d.ts.map +1 -0
  405. package/tui/dist/topology/canvas.js +131 -0
  406. package/tui/dist/topology/canvas.js.map +1 -0
  407. package/tui/dist/topology/fixture.d.ts +4 -0
  408. package/tui/dist/topology/fixture.d.ts.map +1 -0
  409. package/tui/dist/topology/fixture.js +71 -0
  410. package/tui/dist/topology/fixture.js.map +1 -0
  411. package/tui/dist/topology/glyphs.d.ts +21 -0
  412. package/tui/dist/topology/glyphs.d.ts.map +1 -0
  413. package/tui/dist/topology/glyphs.js +49 -0
  414. package/tui/dist/topology/glyphs.js.map +1 -0
  415. package/tui/dist/topology/graph-types.d.ts +39 -0
  416. package/tui/dist/topology/graph-types.d.ts.map +1 -0
  417. package/tui/dist/topology/graph-types.js +2 -0
  418. package/tui/dist/topology/graph-types.js.map +1 -0
  419. package/tui/dist/topology/layout.d.ts +52 -0
  420. package/tui/dist/topology/layout.d.ts.map +1 -0
  421. package/tui/dist/topology/layout.js +118 -0
  422. package/tui/dist/topology/layout.js.map +1 -0
  423. package/tui/dist/topology/render-graph.d.ts +8 -0
  424. package/tui/dist/topology/render-graph.d.ts.map +1 -0
  425. package/tui/dist/topology/render-graph.js +20 -0
  426. package/tui/dist/topology/render-graph.js.map +1 -0
  427. package/tui/dist/topology/runtime-marks.d.ts +53 -0
  428. package/tui/dist/topology/runtime-marks.d.ts.map +1 -0
  429. package/tui/dist/topology/runtime-marks.js +185 -0
  430. package/tui/dist/topology/runtime-marks.js.map +1 -0
  431. package/tui/dist/topology/styles/braille.d.ts +5 -0
  432. package/tui/dist/topology/styles/braille.d.ts.map +1 -0
  433. package/tui/dist/topology/styles/braille.js +84 -0
  434. package/tui/dist/topology/styles/braille.js.map +1 -0
  435. package/tui/dist/topology/styles/hatchet.d.ts +41 -0
  436. package/tui/dist/topology/styles/hatchet.d.ts.map +1 -0
  437. package/tui/dist/topology/styles/hatchet.js +146 -0
  438. package/tui/dist/topology/styles/hatchet.js.map +1 -0
  439. package/tui/dist/types.d.ts +362 -0
  440. package/tui/dist/types.d.ts.map +1 -0
  441. package/tui/dist/types.js +6 -0
  442. package/tui/dist/types.js.map +1 -0
  443. package/ui/dist/assets/{index-DkNi0RT8.js → index-Dv5VaLCN.js} +135 -135
  444. package/ui/dist/index.html +1 -1
  445. package/daemon/specs/agents/shared/skills/pm/backlog-capture/SKILL.md +0 -43
  446. package/daemon/specs/agents/shared/skills/pm/context-builder/SKILL.md +0 -87
  447. package/daemon/specs/agents/shared/skills/pm/exec-summary/SKILL.md +0 -84
  448. package/daemon/specs/agents/shared/skills/pm/office-hours/SKILL.md +0 -129
  449. package/daemon/specs/agents/shared/skills/pm/plan-review/SKILL.md +0 -98
  450. package/daemon/specs/agents/shared/skills/pm/requirements-writer/SKILL.md +0 -113
  451. package/daemon/specs/agents/shared/skills/pm/ui-mockup/SKILL.md +0 -76
  452. package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +0 -148
  453. package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +0 -266
  454. package/daemon/specs/agents/shared/skills/pods/review-team/SKILL.md +0 -213
  455. package/daemon/specs/agents/shared/skills/process/systematic-debugging/CREATION-LOG.md +0 -119
  456. package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-academic.md +0 -14
  457. package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-pressure-1.md +0 -58
  458. package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-pressure-2.md +0 -68
  459. package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-pressure-3.md +0 -69
  460. package/dist/commands/context-pack.d.ts +0 -4
  461. package/dist/commands/context-pack.d.ts.map +0 -1
  462. package/dist/commands/context-pack.js +0 -357
  463. package/dist/commands/context-pack.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"055_node_permission_policy.d.ts","sourceRoot":"","sources":["../../../src/db/migrations/055_node_permission_policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAKxC,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * OPR.0.4.8.3 Seam B — nodes.permission_policy column.
3
+ *
4
+ * Adds `permission_policy TEXT` to the nodes table. Holds the per-seat
5
+ * permission_policy REF (`builtin:<name>` or a spec-relative custom path)
6
+ * when a seat declares one, written by createMemberNode → addNode.
7
+ * NULL when the seat attaches no policy (= the floor). Mirrors migration
8
+ * 022 (node codex_config_profile); the repository probes for the column
9
+ * so a seat attribute round-trips only on DBs that have the column.
10
+ */
11
+ export const nodePermissionPolicySchema = {
12
+ name: "055_node_permission_policy.sql",
13
+ sql: `
14
+ ALTER TABLE nodes ADD COLUMN permission_policy TEXT;
15
+ `,
16
+ };
17
+ //# sourceMappingURL=055_node_permission_policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"055_node_permission_policy.js","sourceRoot":"","sources":["../../../src/db/migrations/055_node_permission_policy.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAc;IACnD,IAAI,EAAE,gCAAgC;IACtC,GAAG,EAAE;;GAEJ;CACF,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Migration } from "../migrate.js";
2
+ /**
3
+ * OPR.0.4.8.3 Seam B — rigs.permission_policy column.
4
+ *
5
+ * Adds `permission_policy TEXT` to the rigs table. Holds the rig-level
6
+ * permission_policy REF (`builtin:<name>` or a spec-relative custom path)
7
+ * when a rig declares one, populated by RigRepository.setRigPermissionPolicy
8
+ * at instantiate time and read back via getRigPermissionPolicy (exporter /
9
+ * discovery). NULL for rigs without an attached policy (= the floor).
10
+ * Mirrors migration 038 (rigs.workspace_json).
11
+ */
12
+ export declare const rigPermissionPolicySchema: Migration;
13
+ //# sourceMappingURL=056_rig_permission_policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"056_rig_permission_policy.d.ts","sourceRoot":"","sources":["../../../src/db/migrations/056_rig_permission_policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAKvC,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * OPR.0.4.8.3 Seam B — rigs.permission_policy column.
3
+ *
4
+ * Adds `permission_policy TEXT` to the rigs table. Holds the rig-level
5
+ * permission_policy REF (`builtin:<name>` or a spec-relative custom path)
6
+ * when a rig declares one, populated by RigRepository.setRigPermissionPolicy
7
+ * at instantiate time and read back via getRigPermissionPolicy (exporter /
8
+ * discovery). NULL for rigs without an attached policy (= the floor).
9
+ * Mirrors migration 038 (rigs.workspace_json).
10
+ */
11
+ export const rigPermissionPolicySchema = {
12
+ name: "056_rig_permission_policy.sql",
13
+ sql: `
14
+ ALTER TABLE rigs ADD COLUMN permission_policy TEXT;
15
+ `,
16
+ };
17
+ //# sourceMappingURL=056_rig_permission_policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"056_rig_permission_policy.js","sourceRoot":"","sources":["../../../src/db/migrations/056_rig_permission_policy.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAc;IAClD,IAAI,EAAE,+BAA+B;IACrC,GAAG,EAAE;;GAEJ;CACF,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { Migration } from "../migrate.js";
2
+ /**
3
+ * OPR.0.4.8.3 Seam B (R2 — dev-guard restart-provenance ruling): additive restart-stable
4
+ * provenance columns for a node's RESOLVED permission-policy attachment. The raw ref
5
+ * (migration 055) alone is NOT restart-complete — a restore must be able to re-derive
6
+ * surface + launch posture without the original in-memory RigSpec:
7
+ * - policy_origin 'builtin' | 'custom' (origin honesty, never reclassified)
8
+ * - policy_resolved_target custom: the absolute resolved policy path.
9
+ * builtin: the canonical shipped package-copy path ONCE the
10
+ * packaging leg rules it (PM lane c76c7153) — NULL until then;
11
+ * never a `builtin:<name>` echo of the raw ref.
12
+ * - policy_declaring_dir custom: the canonical declaring RigSpec directory.
13
+ * - policy_launch_posture 'floor' | 'full_bypass' — the resolved posture at materialize;
14
+ * restore re-resolves and reconciles (a custom flag policy must
15
+ * restore to full_bypass — the ruling's crux).
16
+ * Additive only: no rework of 055/056. NULLs = no policy attached (honest absence).
17
+ */
18
+ export declare const nodePolicyProvenanceSchema: Migration;
19
+ //# sourceMappingURL=057_node_policy_provenance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"057_node_policy_provenance.d.ts","sourceRoot":"","sources":["../../../src/db/migrations/057_node_policy_provenance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAQxC,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * OPR.0.4.8.3 Seam B (R2 — dev-guard restart-provenance ruling): additive restart-stable
3
+ * provenance columns for a node's RESOLVED permission-policy attachment. The raw ref
4
+ * (migration 055) alone is NOT restart-complete — a restore must be able to re-derive
5
+ * surface + launch posture without the original in-memory RigSpec:
6
+ * - policy_origin 'builtin' | 'custom' (origin honesty, never reclassified)
7
+ * - policy_resolved_target custom: the absolute resolved policy path.
8
+ * builtin: the canonical shipped package-copy path ONCE the
9
+ * packaging leg rules it (PM lane c76c7153) — NULL until then;
10
+ * never a `builtin:<name>` echo of the raw ref.
11
+ * - policy_declaring_dir custom: the canonical declaring RigSpec directory.
12
+ * - policy_launch_posture 'floor' | 'full_bypass' — the resolved posture at materialize;
13
+ * restore re-resolves and reconciles (a custom flag policy must
14
+ * restore to full_bypass — the ruling's crux).
15
+ * Additive only: no rework of 055/056. NULLs = no policy attached (honest absence).
16
+ */
17
+ export const nodePolicyProvenanceSchema = {
18
+ name: "057_node_policy_provenance.sql",
19
+ sql: `
20
+ ALTER TABLE nodes ADD COLUMN policy_origin TEXT;
21
+ ALTER TABLE nodes ADD COLUMN policy_resolved_target TEXT;
22
+ ALTER TABLE nodes ADD COLUMN policy_declaring_dir TEXT;
23
+ ALTER TABLE nodes ADD COLUMN policy_launch_posture TEXT;
24
+ `,
25
+ };
26
+ //# sourceMappingURL=057_node_policy_provenance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"057_node_policy_provenance.js","sourceRoot":"","sources":["../../../src/db/migrations/057_node_policy_provenance.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAc;IACnD,IAAI,EAAE,gCAAgC;IACtC,GAAG,EAAE;;;;;GAKJ;CACF,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { Migration } from "../migrate.js";
2
+ /**
3
+ * OPR.0.4.8.3 Seam B (Guard NOT-CLEAR at 9e94c274, finding 1): additive restart-stable
4
+ * provenance for the RIG-level resolved permission-policy attachment. The raw rig ref
5
+ * (migration 056) alone is not restart-complete for a RELATIVE custom policy: organic
6
+ * claim/self-attach seats have no node provenance, structured add-member runs under a
7
+ * DIFFERENT operation root, and restore/successor must never resolve a persisted relative
8
+ * ref against an unrelated cwd. Columns mirror the node-level 057 set:
9
+ * rig_policy_origin / rig_policy_resolved_target / rig_policy_declaring_dir /
10
+ * rig_policy_launch_posture
11
+ * declaring_dir = the ORIGINAL declaring RigSpec directory (the materialize rigRoot).
12
+ * Additive only; NULLs = no rig-level policy attached.
13
+ */
14
+ export declare const rigPolicyProvenanceSchema: Migration;
15
+ //# sourceMappingURL=058_rig_policy_provenance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"058_rig_policy_provenance.d.ts","sourceRoot":"","sources":["../../../src/db/migrations/058_rig_policy_provenance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAQvC,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * OPR.0.4.8.3 Seam B (Guard NOT-CLEAR at 9e94c274, finding 1): additive restart-stable
3
+ * provenance for the RIG-level resolved permission-policy attachment. The raw rig ref
4
+ * (migration 056) alone is not restart-complete for a RELATIVE custom policy: organic
5
+ * claim/self-attach seats have no node provenance, structured add-member runs under a
6
+ * DIFFERENT operation root, and restore/successor must never resolve a persisted relative
7
+ * ref against an unrelated cwd. Columns mirror the node-level 057 set:
8
+ * rig_policy_origin / rig_policy_resolved_target / rig_policy_declaring_dir /
9
+ * rig_policy_launch_posture
10
+ * declaring_dir = the ORIGINAL declaring RigSpec directory (the materialize rigRoot).
11
+ * Additive only; NULLs = no rig-level policy attached.
12
+ */
13
+ export const rigPolicyProvenanceSchema = {
14
+ name: "058_rig_policy_provenance.sql",
15
+ sql: `
16
+ ALTER TABLE rigs ADD COLUMN rig_policy_origin TEXT;
17
+ ALTER TABLE rigs ADD COLUMN rig_policy_resolved_target TEXT;
18
+ ALTER TABLE rigs ADD COLUMN rig_policy_declaring_dir TEXT;
19
+ ALTER TABLE rigs ADD COLUMN rig_policy_launch_posture TEXT;
20
+ `,
21
+ };
22
+ //# sourceMappingURL=058_rig_policy_provenance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"058_rig_policy_provenance.js","sourceRoot":"","sources":["../../../src/db/migrations/058_rig_policy_provenance.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAc;IAClD,IAAI,EAAE,+BAA+B;IACrC,GAAG,EAAE;;;;;GAKJ;CACF,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type Database from "better-sqlite3";
2
2
  import type { EventBus } from "./event-bus.js";
3
3
  import type { AgentActivity, PersistedEvent } from "./types.js";
4
+ export declare const AGENT_ACTIVITY_FRESHNESS_MS: number;
4
5
  export interface HookActivityInput {
5
6
  runtime: string | null;
6
7
  sessionName?: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-activity-store.d.ts","sourceRoot":"","sources":["../../src/domain/agent-activity-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIhE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,MAAM,wBAAwB,GAChC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GAC5D;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,0BAA0B,GAAG,mBAAmB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzF,UAAU,sBAAsB;IAC9B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAaD,qBAAa,kBAAkB;IAC7B,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEzB,IAAI,EAAE,sBAAsB;IAOxC,eAAe,CAAC,KAAK,EAAE,iBAAiB,GAAG,wBAAwB;IAwCnE,gBAAgB,CAAC,KAAK,EAAE;QACtB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,GAAG,CAAC,EAAE,IAAI,CAAC;KACZ,GAAG,aAAa,GAAG,IAAI;IAqCxB,cAAc,CAAC,KAAK,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAUzL,OAAO,CAAC,eAAe;CAwBxB"}
1
+ {"version":3,"file":"agent-activity-store.d.ts","sourceRoot":"","sources":["../../src/domain/agent-activity-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhE,eAAO,MAAM,2BAA2B,QAAgB,CAAC;AAEzD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,MAAM,wBAAwB,GAChC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GAC5D;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,0BAA0B,GAAG,mBAAmB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzF,UAAU,sBAAsB;IAC9B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAaD,qBAAa,kBAAkB;IAC7B,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEzB,IAAI,EAAE,sBAAsB;IAOxC,eAAe,CAAC,KAAK,EAAE,iBAAiB,GAAG,wBAAwB;IAwCnE,gBAAgB,CAAC,KAAK,EAAE;QACtB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,GAAG,CAAC,EAAE,IAAI,CAAC;KACZ,GAAG,aAAa,GAAG,IAAI;IAqCxB,cAAc,CAAC,KAAK,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAUzL,OAAO,CAAC,eAAe;CAwBxB"}
@@ -1,4 +1,4 @@
1
- const DEFAULT_FRESHNESS_MS = 5 * 60 * 1000;
1
+ export const AGENT_ACTIVITY_FRESHNESS_MS = 5 * 60 * 1000;
2
2
  export class AgentActivityStore {
3
3
  db;
4
4
  eventBus;
@@ -8,7 +8,7 @@ export class AgentActivityStore {
8
8
  this.db = deps.db;
9
9
  this.eventBus = deps.eventBus;
10
10
  this.now = deps.now ?? (() => new Date());
11
- this.freshnessMs = deps.freshnessMs ?? DEFAULT_FRESHNESS_MS;
11
+ this.freshnessMs = deps.freshnessMs ?? AGENT_ACTIVITY_FRESHNESS_MS;
12
12
  }
13
13
  recordHookEvent(input) {
14
14
  if (!input.sessionName && !input.nodeId) {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-activity-store.js","sourceRoot":"","sources":["../../src/domain/agent-activity-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-activity-store.js","sourceRoot":"","sources":["../../src/domain/agent-activity-store.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAiCzD,MAAM,OAAO,kBAAkB;IACpB,EAAE,CAAoB;IACd,QAAQ,CAAW;IACnB,GAAG,CAAa;IAChB,WAAW,CAAS;IAErC,YAAY,IAA4B;QACtC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,2BAA2B,CAAC;IACrE,CAAC;IAED,eAAe,CAAC,KAAwB;QACtC,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACxC,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,0BAA0B;gBAChC,KAAK,EAAE,wDAAwD;aAChE,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,mBAAmB;gBACzB,KAAK,EAAE,gFAAgF;aACxF,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC;QAC9D,MAAM,QAAQ,GAAG,qBAAqB,CAAC;YACrC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;YACzC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;YAC9B,SAAS;YACT,OAAO;SACR,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/B,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,MAAM,EAAE,OAAO,CAAC,OAAO;YACvB,WAAW,EAAE,OAAO,CAAC,YAAY;YACjC,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;YAC5C,QAAQ;SACT,CAAC,CAAC;QAEH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACvC,CAAC;IAED,gBAAgB,CAAC,KAIhB;QACC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9H,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACzB,oGAAoG,CACrG,CAAC,GAAG,CAAC,MAAM,CAAgC,CAAC;QAC7C,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAEtB,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,EAAE,QAAQ;YAAE,OAAO,IAAI,CAAC;QAEpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,KAAK,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAEhF,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACxE,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACzF,OAAO;gBACL,GAAG,QAAQ;gBACX,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,oBAAoB;gBAC5B,cAAc,EAAE,cAAc;gBAC9B,SAAS,EAAE,aAAa,CAAC,WAAW,EAAE;gBACtC,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,IAAI;aACZ,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,QAAQ;YACX,SAAS,EAAE,aAAa,CAAC,WAAW,EAAE;YACtC,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,KAAK;SACb,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,KAAuF;QACpG,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAChC,yEAAyE,CAC1E,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAA+B,CAAC;QACtD,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAC7B,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC;IAC7G,CAAC;IAEO,eAAe,CAAC,KAA8D;QACpF,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;OAO3B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAiC,CAAC;YACrD,IAAI,GAAG,EAAE,YAAY;gBAAE,OAAO,GAAG,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;KAO3B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAiC,CAAC;QAC1D,OAAO,GAAG,IAAI,IAAI,CAAC;IACrB,CAAC;CACF;AAED,SAAS,qBAAqB,CAAC,KAM9B;IACC,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;IACjC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC;IACjC,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,IAAI,QAAQ,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,IAAI,KAAK,GAA2B,SAAS,CAAC;IAC9C,IAAI,gBAAgB,GAAG,MAAM,CAAC;IAE9B,IAAI,QAAQ,KAAK,kBAAkB,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1F,KAAK,GAAG,SAAS,CAAC;IACpB,CAAC;SAAM,IAAI,QAAQ,KAAK,mBAAmB,EAAE,CAAC;QAC5C,8FAA8F;QAC9F,oGAAoG;QACpG,qGAAqG;QACrG,oGAAoG;QACpG,mGAAmG;QACnG,kGAAkG;QAClG,4FAA4F;QAC5F,KAAK,GAAG,aAAa,CAAC;QACtB,gBAAgB,GAAG,oBAAoB,CAAC;IAC1C,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;QACvC,IAAI,UAAU,KAAK,mBAAmB,IAAI,UAAU,KAAK,oBAAoB,EAAE,CAAC;YAC9E,KAAK,GAAG,aAAa,CAAC;QACxB,CAAC;aAAM,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;YACxC,KAAK,GAAG,MAAM,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,SAAS,CAAC;YAClB,gBAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;QAC1D,CAAC;IACH,CAAC;SAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC1G,KAAK,GAAG,MAAM,CAAC;IACjB,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;QACvC,KAAK,GAAG,SAAS,CAAC;QAClB,gBAAgB,GAAG,wBAAwB,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,SAAS,CAAC;QAClB,gBAAgB,GAAG,uBAAuB,CAAC;IAC7C,CAAC;IAED,OAAO;QACL,KAAK;QACL,MAAM,EAAE,gBAAgB;QACxB,cAAc,EAAE,cAAc;QAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ,EAAE,UAAU,IAAI,QAAQ;QAChC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ;QACR,UAAU;QACV,OAAO;QACP,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,KAAK;KACb,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,KAAK;SACT,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;SACtC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,WAAW,EAAE,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,KAAgC;IACtD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe;IAC3C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAuD,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,13 @@
1
+ export declare const BUILTIN_POLICY_NAMES: readonly ["locked", "standard", "open", "yolo"];
2
+ export interface MaterializeBuiltinPolicyReferenceDeps {
3
+ /** the packaged source dir (…/policies/builtin next to the daemon dist) */
4
+ bundledDir: string;
5
+ /** the stable target dir ($OPENRIG_HOME/reference/policies/builtin) */
6
+ targetDir: string;
7
+ }
8
+ export interface MaterializeBuiltinPolicyReferenceResult {
9
+ written: string[];
10
+ skipped: string[];
11
+ }
12
+ export declare function materializeBuiltinPolicyReference(deps: MaterializeBuiltinPolicyReferenceDeps): MaterializeBuiltinPolicyReferenceResult;
13
+ //# sourceMappingURL=builtin-policy-reference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtin-policy-reference.d.ts","sourceRoot":"","sources":["../../src/domain/builtin-policy-reference.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,oBAAoB,iDAAkD,CAAC;AAEpF,MAAM,WAAW,qCAAqC;IACpD,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uCAAuC;IACtD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAID,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,qCAAqC,GAC1C,uCAAuC,CAkCzC"}
@@ -0,0 +1,58 @@
1
+ // OPR.0.4.8.3 — built-in policy reference materializer (guard-sealed plan v2
2
+ // eea3c778). Projects the packaged built-in policies to the stable inspection
3
+ // path $OPENRIG_HOME/reference/policies/builtin/ so operators can read (and
4
+ // copy-to-customize) them without spelunking the install tree.
5
+ //
6
+ // Contract (guard ruling):
7
+ // - EXACTLY the known four built-ins — locked|standard|open|yolo — are ever
8
+ // materialized; stranger files in the bundled dir are never copied.
9
+ // - Copies are byte-identical, mode 0444 read-only INSPECTION copies. The
10
+ // mode is a copy-to-customize affordance, not a security boundary; it is
11
+ // reconciled on BOTH the refresh and content-skip paths, and it never
12
+ // applies to user-custom copies (this module only writes the four stable
13
+ // names under targetDir).
14
+ // - Best-effort: a missing bundled dir or file is a named skip, never a
15
+ // throw. No resolver, no writer surface — paths are injected by the
16
+ // caller (startup wires the packaged geometry).
17
+ import * as fs from "node:fs";
18
+ import * as nodePath from "node:path";
19
+ export const BUILTIN_POLICY_NAMES = ["locked", "standard", "open", "yolo"];
20
+ const READ_ONLY_MODE = 0o444;
21
+ export function materializeBuiltinPolicyReference(deps) {
22
+ const written = [];
23
+ const skipped = [];
24
+ fs.mkdirSync(deps.targetDir, { recursive: true });
25
+ for (const name of BUILTIN_POLICY_NAMES) {
26
+ const file = `${name}.policy.md`;
27
+ const source = nodePath.join(deps.bundledDir, file);
28
+ const target = nodePath.join(deps.targetDir, file);
29
+ let bytes;
30
+ try {
31
+ bytes = fs.readFileSync(source);
32
+ }
33
+ catch {
34
+ skipped.push(file); // missing source: named, never thrown (best-effort)
35
+ continue;
36
+ }
37
+ const upToDate = (() => {
38
+ try {
39
+ return fs.readFileSync(target).equals(bytes);
40
+ }
41
+ catch {
42
+ return false;
43
+ }
44
+ })();
45
+ if (upToDate) {
46
+ // content-skip path still reconciles the inspection mode
47
+ fs.chmodSync(target, READ_ONLY_MODE);
48
+ continue;
49
+ }
50
+ // refresh over a possibly read-only copy: unlink-then-write (no chmod race)
51
+ fs.rmSync(target, { force: true });
52
+ fs.writeFileSync(target, bytes, { mode: READ_ONLY_MODE });
53
+ fs.chmodSync(target, READ_ONLY_MODE); // umask-proof: the mode is the contract
54
+ written.push(file);
55
+ }
56
+ return { written, skipped };
57
+ }
58
+ //# sourceMappingURL=builtin-policy-reference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtin-policy-reference.js","sourceRoot":"","sources":["../../src/domain/builtin-policy-reference.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,8EAA8E;AAC9E,4EAA4E;AAC5E,+DAA+D;AAC/D,EAAE;AACF,2BAA2B;AAC3B,8EAA8E;AAC9E,wEAAwE;AACxE,4EAA4E;AAC5E,6EAA6E;AAC7E,0EAA0E;AAC1E,6EAA6E;AAC7E,8BAA8B;AAC9B,0EAA0E;AAC1E,wEAAwE;AACxE,oDAAoD;AACpD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AAEtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAcpF,MAAM,cAAc,GAAG,KAAK,CAAC;AAE7B,MAAM,UAAU,iCAAiC,CAC/C,IAA2C;IAE3C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,KAAK,MAAM,IAAI,IAAI,oBAAoB,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,GAAG,IAAI,YAAY,CAAC;QACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACnD,IAAI,KAAa,CAAC;QAClB,IAAI,CAAC;YACH,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,oDAAoD;YACxE,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;YACrB,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,QAAQ,EAAE,CAAC;YACb,yDAAyD;YACzD,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YACrC,SAAS;QACX,CAAC;QACD,4EAA4E;QAC5E,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnC,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAC1D,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,wCAAwC;QAC9E,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,33 @@
1
+ /** The `type` of the shipped runtime_resource that selects managed Claude activity hooks. */
2
+ export declare const CLAUDE_ACTIVITY_HOOKS_RESOURCE_TYPE = "claude_activity_hooks";
3
+ /** Minimal read surface (satisfied by both the adapter fs ops and the preflight fs ops). */
4
+ export interface ActivityHookFsRead {
5
+ exists(path: string): boolean;
6
+ readFile(path: string): string;
7
+ }
8
+ export interface ActivityRelayEvent {
9
+ event: string;
10
+ timeout?: number;
11
+ }
12
+ export interface ActivityHookDelivery {
13
+ /** The relay asset source is present. */
14
+ relaySourceOk: boolean;
15
+ /** Relay events derived from the canonical claude.json manifest (compaction excluded). */
16
+ events: ActivityRelayEvent[];
17
+ /** Enable is deliverable: relay source present AND >= 1 relay event derived. */
18
+ deliverable: boolean;
19
+ }
20
+ /**
21
+ * Validate the delivery inputs: the relay source is present AND the canonical manifest yields
22
+ * a nonempty relay event set. This is the ONE gate — both the adapter (before any strip/copy/
23
+ * write) and preflight (to warn) call it with the same asset-path inputs.
24
+ */
25
+ export declare function validateClaudeActivityHookDelivery(fs: ActivityHookFsRead, relayPath: string | null | undefined, manifestPath: string | null | undefined): ActivityHookDelivery;
26
+ /**
27
+ * Relay event vocabulary DERIVED from the canonical claude.json manifest: the events whose
28
+ * group invokes activity-relay.cjs (compaction/bridge groups excluded), with each event's
29
+ * declared timeout. Empty when the manifest is absent / unreadable / non-object / has no
30
+ * relay-backed events.
31
+ */
32
+ export declare function deriveRelayEvents(fs: ActivityHookFsRead, manifestPath: string | null | undefined): ActivityRelayEvent[];
33
+ //# sourceMappingURL=claude-activity-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-activity-hooks.d.ts","sourceRoot":"","sources":["../../src/domain/claude-activity-hooks.ts"],"names":[],"mappings":"AAMA,6FAA6F;AAC7F,eAAO,MAAM,mCAAmC,0BAA0B,CAAC;AAE3E,4FAA4F;AAC5F,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,yCAAyC;IACzC,aAAa,EAAE,OAAO,CAAC;IACvB,0FAA0F;IAC1F,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,gFAAgF;IAChF,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAChD,EAAE,EAAE,kBAAkB,EACtB,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACpC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC,oBAAoB,CAItB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,kBAAkB,EAAE,CAwBvH"}
@@ -0,0 +1,60 @@
1
+ // Single source of truth for whether the OpenRig-managed Claude activity-relay hooks can be
2
+ // DELIVERED, and which events to inject. Consumed by BOTH the ClaudeCodeAdapter reconcile (to
3
+ // gate enable) AND rigspec-preflight (to warn) — one validation + one manifest parser, so the
4
+ // two seams cannot drift. The event COMMANDS are constructed by the adapter (absolute, shell-
5
+ // quoted); this module owns only the delivery-possibility + the derived event VOCABULARY.
6
+ /** The `type` of the shipped runtime_resource that selects managed Claude activity hooks. */
7
+ export const CLAUDE_ACTIVITY_HOOKS_RESOURCE_TYPE = "claude_activity_hooks";
8
+ /**
9
+ * Validate the delivery inputs: the relay source is present AND the canonical manifest yields
10
+ * a nonempty relay event set. This is the ONE gate — both the adapter (before any strip/copy/
11
+ * write) and preflight (to warn) call it with the same asset-path inputs.
12
+ */
13
+ export function validateClaudeActivityHookDelivery(fs, relayPath, manifestPath) {
14
+ const relaySourceOk = !!relayPath && fs.exists(relayPath);
15
+ const events = deriveRelayEvents(fs, manifestPath);
16
+ return { relaySourceOk, events, deliverable: relaySourceOk && events.length > 0 };
17
+ }
18
+ /**
19
+ * Relay event vocabulary DERIVED from the canonical claude.json manifest: the events whose
20
+ * group invokes activity-relay.cjs (compaction/bridge groups excluded), with each event's
21
+ * declared timeout. Empty when the manifest is absent / unreadable / non-object / has no
22
+ * relay-backed events.
23
+ */
24
+ export function deriveRelayEvents(fs, manifestPath) {
25
+ if (!manifestPath || !fs.exists(manifestPath))
26
+ return [];
27
+ let manifest;
28
+ try {
29
+ manifest = JSON.parse(fs.readFile(manifestPath));
30
+ }
31
+ catch {
32
+ return [];
33
+ }
34
+ const hooks = isPlainObject(manifest) && isPlainObject(manifest["hooks"]) ? manifest["hooks"] : {};
35
+ const out = [];
36
+ const seen = new Set();
37
+ for (const [event, groups] of Object.entries(hooks)) {
38
+ if (seen.has(event) || !Array.isArray(groups))
39
+ continue;
40
+ for (const group of groups) {
41
+ if (!isPlainObject(group) || !Array.isArray(group["hooks"]))
42
+ continue;
43
+ const relay = group["hooks"].find((h) => {
44
+ const c = isPlainObject(h) && typeof h["command"] === "string" ? h["command"] : "";
45
+ return c.includes("activity-relay.cjs");
46
+ });
47
+ if (relay) {
48
+ const t = isPlainObject(relay) ? relay["timeout"] : undefined;
49
+ out.push({ event, timeout: typeof t === "number" ? t : undefined });
50
+ seen.add(event);
51
+ break;
52
+ }
53
+ }
54
+ }
55
+ return out;
56
+ }
57
+ function isPlainObject(v) {
58
+ return typeof v === "object" && v !== null && !Array.isArray(v);
59
+ }
60
+ //# sourceMappingURL=claude-activity-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-activity-hooks.js","sourceRoot":"","sources":["../../src/domain/claude-activity-hooks.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,36 @@ export interface AssembleOpts {
26
26
  /** Defaults to readFileSync; injected for tests. */
27
27
  readFile?: (absPath: string) => string;
28
28
  }
29
+ /** Atom 3's deliberately dumb composition separator. Source bytes are
30
+ * otherwise untouched: no trim, framing headers, or forced final newline. */
31
+ export declare const PLAIN_COMPOSE_SEPARATOR = "\n\n";
32
+ export interface PlainFileInput {
33
+ path: string;
34
+ /** null records an honestly missing member. */
35
+ content: string | null;
36
+ }
37
+ export interface PlainFileAssembly {
38
+ text: string;
39
+ bytes: number;
40
+ estimatedTokens: number;
41
+ files: Array<{
42
+ path: string;
43
+ bytes: number;
44
+ estimatedTokens: number;
45
+ }>;
46
+ missingFiles: Array<{
47
+ path: string;
48
+ }>;
49
+ }
50
+ /**
51
+ * Atom 3 compose core: concatenate present file contents in declared order.
52
+ * The durable store retains each source as its own member; this projection is
53
+ * the exact content future delivery verbs can resolve without coupling the
54
+ * context noun to SessionTransport.
55
+ */
56
+ export declare function assemblePlainFiles(opts: {
57
+ files: PlainFileInput[];
58
+ }): PlainFileAssembly;
29
59
  /**
30
60
  * Assembles a context pack into a single paste-ready string.
31
61
  *
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-assembler.d.ts","sourceRoot":"","sources":["../../../src/domain/context-packs/bundle-assembler.ts"],"names":[],"mappings":"AAaA,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGlF,MAAM,WAAW,eAAe;IAC9B,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,eAAe,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrF;;+BAE2B;IAC3B,YAAY,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;CACxC;AAKD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,eAAe,CAmDlE"}
1
+ {"version":3,"file":"bundle-assembler.d.ts","sourceRoot":"","sources":["../../../src/domain/context-packs/bundle-assembler.ts"],"names":[],"mappings":"AAaA,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGlF,MAAM,WAAW,eAAe;IAC9B,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,eAAe,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrF;;+BAE2B;IAC3B,YAAY,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;CACxC;AAED;6EAC6E;AAC7E,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAE9C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvE,YAAY,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,cAAc,EAAE,CAAA;CAAE,GAAG,iBAAiB,CAsBvF;AAKD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,eAAe,CAmDlE"}
@@ -11,7 +11,37 @@
11
11
  // seat receives the pack as a single coherent priming injection."
12
12
  import { readFileSync } from "node:fs";
13
13
  import { ContextPackError } from "./context-pack-types.js";
14
- import { estimateTokensFromBytes } from "./context-pack-library-service.js";
14
+ import { estimateTokensFromBytes } from "./token-estimate.js";
15
+ /** Atom 3's deliberately dumb composition separator. Source bytes are
16
+ * otherwise untouched: no trim, framing headers, or forced final newline. */
17
+ export const PLAIN_COMPOSE_SEPARATOR = "\n\n";
18
+ /**
19
+ * Atom 3 compose core: concatenate present file contents in declared order.
20
+ * The durable store retains each source as its own member; this projection is
21
+ * the exact content future delivery verbs can resolve without coupling the
22
+ * context noun to SessionTransport.
23
+ */
24
+ export function assemblePlainFiles(opts) {
25
+ const present = opts.files.filter((file) => file.content !== null);
26
+ const text = present.map((file) => file.content).join(PLAIN_COMPOSE_SEPARATOR);
27
+ const bytes = Buffer.byteLength(text, "utf-8");
28
+ return {
29
+ text,
30
+ bytes,
31
+ estimatedTokens: estimateTokensFromBytes(bytes),
32
+ files: present.map((file) => {
33
+ const fileBytes = Buffer.byteLength(file.content, "utf-8");
34
+ return {
35
+ path: file.path,
36
+ bytes: fileBytes,
37
+ estimatedTokens: estimateTokensFromBytes(fileBytes),
38
+ };
39
+ }),
40
+ missingFiles: opts.files
41
+ .filter((file) => file.content === null)
42
+ .map((file) => ({ path: file.path })),
43
+ };
44
+ }
15
45
  const PACK_HEADER_PREFIX = "# OpenRig Context Pack:";
16
46
  const FILE_HEADER_PREFIX = "## File:";
17
47
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-assembler.js","sourceRoot":"","sources":["../../../src/domain/context-packs/bundle-assembler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundle-assembler.js","sourceRoot":"","sources":["../../../src/domain/context-packs/bundle-assembler.ts"],"names":[],"mappings":"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"}