@openrig/cli 0.4.8 → 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 (344) 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/mission-slice-sop/SKILL.md +7 -4
  4. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +68 -17
  5. package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +2 -0
  6. package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +2 -1
  7. package/daemon/assets/plugins/openrig-core/skills/session-compaction-and-restore/SKILL.md +1 -0
  8. package/daemon/dist/adapters/claude-code-adapter.d.ts +36 -0
  9. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  10. package/daemon/dist/adapters/claude-code-adapter.js +203 -3
  11. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  12. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +12 -0
  13. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  14. package/daemon/dist/adapters/codex-runtime-adapter.js +24 -2
  15. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  16. package/daemon/dist/build-info.js +3 -3
  17. package/daemon/dist/domain/agent-activity-store.d.ts +1 -0
  18. package/daemon/dist/domain/agent-activity-store.d.ts.map +1 -1
  19. package/daemon/dist/domain/agent-activity-store.js +2 -2
  20. package/daemon/dist/domain/agent-activity-store.js.map +1 -1
  21. package/daemon/dist/domain/claude-activity-hooks.d.ts +33 -0
  22. package/daemon/dist/domain/claude-activity-hooks.d.ts.map +1 -0
  23. package/daemon/dist/domain/claude-activity-hooks.js +60 -0
  24. package/daemon/dist/domain/claude-activity-hooks.js.map +1 -0
  25. package/daemon/dist/domain/context-packs/bundle-assembler.d.ts +30 -0
  26. package/daemon/dist/domain/context-packs/bundle-assembler.d.ts.map +1 -1
  27. package/daemon/dist/domain/context-packs/bundle-assembler.js +31 -1
  28. package/daemon/dist/domain/context-packs/bundle-assembler.js.map +1 -1
  29. package/daemon/dist/domain/context-packs/context-pack-library-service.d.ts +69 -14
  30. package/daemon/dist/domain/context-packs/context-pack-library-service.d.ts.map +1 -1
  31. package/daemon/dist/domain/context-packs/context-pack-library-service.js +263 -48
  32. package/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
  33. package/daemon/dist/domain/context-packs/context-pack-types.d.ts +2 -2
  34. package/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
  35. package/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
  36. package/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
  37. package/daemon/dist/domain/context-packs/manifest-parser.js +11 -0
  38. package/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
  39. package/daemon/dist/domain/context-packs/ref-safety.d.ts +11 -0
  40. package/daemon/dist/domain/context-packs/ref-safety.d.ts.map +1 -0
  41. package/daemon/dist/domain/context-packs/ref-safety.js +46 -0
  42. package/daemon/dist/domain/context-packs/ref-safety.js.map +1 -0
  43. package/daemon/dist/domain/context-packs/token-estimate.d.ts +3 -0
  44. package/daemon/dist/domain/context-packs/token-estimate.d.ts.map +1 -0
  45. package/daemon/dist/domain/context-packs/token-estimate.js +5 -0
  46. package/daemon/dist/domain/context-packs/token-estimate.js.map +1 -0
  47. package/daemon/dist/domain/plugin-vendor-service.d.ts +14 -0
  48. package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
  49. package/daemon/dist/domain/plugin-vendor-service.js +26 -2
  50. package/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
  51. package/daemon/dist/domain/provider/claude-usage-reader.d.ts +44 -0
  52. package/daemon/dist/domain/provider/claude-usage-reader.d.ts.map +1 -0
  53. package/daemon/dist/domain/provider/claude-usage-reader.js +112 -0
  54. package/daemon/dist/domain/provider/claude-usage-reader.js.map +1 -0
  55. package/daemon/dist/domain/provider/codex-auth-reader.d.ts +18 -0
  56. package/daemon/dist/domain/provider/codex-auth-reader.d.ts.map +1 -0
  57. package/daemon/dist/domain/provider/codex-auth-reader.js +64 -0
  58. package/daemon/dist/domain/provider/codex-auth-reader.js.map +1 -0
  59. package/daemon/dist/domain/provider/host-usage-rollup.d.ts +51 -0
  60. package/daemon/dist/domain/provider/host-usage-rollup.d.ts.map +1 -0
  61. package/daemon/dist/domain/provider/host-usage-rollup.js +162 -0
  62. package/daemon/dist/domain/provider/host-usage-rollup.js.map +1 -0
  63. package/daemon/dist/domain/provider/provider-collect.d.ts +22 -0
  64. package/daemon/dist/domain/provider/provider-collect.d.ts.map +1 -0
  65. package/daemon/dist/domain/provider/provider-collect.js +74 -0
  66. package/daemon/dist/domain/provider/provider-collect.js.map +1 -0
  67. package/daemon/dist/domain/provider/provider-policy.d.ts +38 -0
  68. package/daemon/dist/domain/provider/provider-policy.d.ts.map +1 -0
  69. package/daemon/dist/domain/provider/provider-policy.js +76 -0
  70. package/daemon/dist/domain/provider/provider-policy.js.map +1 -0
  71. package/daemon/dist/domain/provider/provider-read-model.d.ts +28 -0
  72. package/daemon/dist/domain/provider/provider-read-model.d.ts.map +1 -0
  73. package/daemon/dist/domain/provider/provider-read-model.js +68 -0
  74. package/daemon/dist/domain/provider/provider-read-model.js.map +1 -0
  75. package/daemon/dist/domain/provider/provider-service-impl.d.ts +26 -0
  76. package/daemon/dist/domain/provider/provider-service-impl.d.ts.map +1 -0
  77. package/daemon/dist/domain/provider/provider-service-impl.js +83 -0
  78. package/daemon/dist/domain/provider/provider-service-impl.js.map +1 -0
  79. package/daemon/dist/domain/provider/provider-service.d.ts +33 -0
  80. package/daemon/dist/domain/provider/provider-service.d.ts.map +1 -0
  81. package/daemon/dist/domain/provider/provider-service.js +6 -0
  82. package/daemon/dist/domain/provider/provider-service.js.map +1 -0
  83. package/daemon/dist/domain/provider/provider-signals.d.ts +76 -0
  84. package/daemon/dist/domain/provider/provider-signals.d.ts.map +1 -0
  85. package/daemon/dist/domain/provider/provider-signals.js +144 -0
  86. package/daemon/dist/domain/provider/provider-signals.js.map +1 -0
  87. package/daemon/dist/domain/provider/provider-types.d.ts +101 -0
  88. package/daemon/dist/domain/provider/provider-types.d.ts.map +1 -0
  89. package/daemon/dist/domain/provider/provider-types.js +7 -0
  90. package/daemon/dist/domain/provider/provider-types.js.map +1 -0
  91. package/daemon/dist/domain/provider/reactive-tap.d.ts +29 -0
  92. package/daemon/dist/domain/provider/reactive-tap.d.ts.map +1 -0
  93. package/daemon/dist/domain/provider/reactive-tap.js +80 -0
  94. package/daemon/dist/domain/provider/reactive-tap.js.map +1 -0
  95. package/daemon/dist/domain/rigspec-instantiator.d.ts +7 -23
  96. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  97. package/daemon/dist/domain/rigspec-instantiator.js +3 -61
  98. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  99. package/daemon/dist/domain/rigspec-preflight.d.ts +11 -0
  100. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  101. package/daemon/dist/domain/rigspec-preflight.js +43 -1
  102. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  103. package/daemon/dist/domain/runtime-adapter.d.ts +2 -11
  104. package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
  105. package/daemon/dist/domain/runtime-adapter.js.map +1 -1
  106. package/daemon/dist/domain/scope/attestation-lineage.generated.d.ts +14 -0
  107. package/daemon/dist/domain/scope/attestation-lineage.generated.d.ts.map +1 -0
  108. package/daemon/dist/domain/scope/attestation-lineage.generated.js +26 -0
  109. package/daemon/dist/domain/scope/attestation-lineage.generated.js.map +1 -0
  110. package/daemon/dist/domain/scope/scope-approve.d.ts +13 -0
  111. package/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
  112. package/daemon/dist/domain/scope/scope-approve.js +50 -10
  113. package/daemon/dist/domain/scope/scope-approve.js.map +1 -1
  114. package/daemon/dist/domain/startup-validation.d.ts.map +1 -1
  115. package/daemon/dist/domain/startup-validation.js +18 -54
  116. package/daemon/dist/domain/startup-validation.js.map +1 -1
  117. package/daemon/dist/domain/stream-store.d.ts +4 -0
  118. package/daemon/dist/domain/stream-store.d.ts.map +1 -1
  119. package/daemon/dist/domain/stream-store.js +15 -2
  120. package/daemon/dist/domain/stream-store.js.map +1 -1
  121. package/daemon/dist/domain/types.d.ts +2 -9
  122. package/daemon/dist/domain/types.d.ts.map +1 -1
  123. package/daemon/dist/domain/types.js.map +1 -1
  124. package/daemon/dist/domain/workspace/default-workspace-scaffold.js +1 -1
  125. package/daemon/dist/routes/context-packs.d.ts.map +1 -1
  126. package/daemon/dist/routes/context-packs.js +157 -75
  127. package/daemon/dist/routes/context-packs.js.map +1 -1
  128. package/daemon/dist/routes/provider.d.ts +3 -0
  129. package/daemon/dist/routes/provider.d.ts.map +1 -0
  130. package/daemon/dist/routes/provider.js +124 -0
  131. package/daemon/dist/routes/provider.js.map +1 -0
  132. package/daemon/dist/routes/scope-approve.d.ts.map +1 -1
  133. package/daemon/dist/routes/scope-approve.js +6 -3
  134. package/daemon/dist/routes/scope-approve.js.map +1 -1
  135. package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
  136. package/daemon/dist/routes/scope-audit.js +4 -1
  137. package/daemon/dist/routes/scope-audit.js.map +1 -1
  138. package/daemon/dist/routes/stream.d.ts.map +1 -1
  139. package/daemon/dist/routes/stream.js +71 -1
  140. package/daemon/dist/routes/stream.js.map +1 -1
  141. package/daemon/dist/server.d.ts +3 -0
  142. package/daemon/dist/server.d.ts.map +1 -1
  143. package/daemon/dist/server.js +5 -0
  144. package/daemon/dist/server.js.map +1 -1
  145. package/daemon/dist/startup.d.ts.map +1 -1
  146. package/daemon/dist/startup.js +21 -11
  147. package/daemon/dist/startup.js.map +1 -1
  148. package/daemon/docs/reference/developing.md +39 -0
  149. package/daemon/specs/agents/apps/vault-specialist/agent.yaml +1 -1
  150. package/daemon/specs/agents/conveyor/builder/agent.yaml +1 -1
  151. package/daemon/specs/agents/conveyor/lead/agent.yaml +1 -1
  152. package/daemon/specs/agents/conveyor/planner/agent.yaml +1 -1
  153. package/daemon/specs/agents/conveyor/reviewer/agent.yaml +1 -1
  154. package/daemon/specs/agents/design/product-designer/agent.yaml +1 -1
  155. package/daemon/specs/agents/development/implementer/agent.yaml +1 -1
  156. package/daemon/specs/agents/development/qa/agent.yaml +1 -1
  157. package/daemon/specs/agents/factory-rsi/dogfood/agent.yaml +1 -1
  158. package/daemon/specs/agents/factory-rsi/release-manager/agent.yaml +1 -1
  159. package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +1 -1
  160. package/daemon/specs/agents/product-management/pm/agent.yaml +1 -0
  161. package/daemon/specs/agents/research/analyst/agent.yaml +1 -1
  162. package/daemon/specs/agents/research/synthesizer/agent.yaml +1 -1
  163. package/daemon/specs/agents/review/independent-reviewer/agent.yaml +1 -1
  164. package/daemon/specs/agents/shared/agent.yaml +6 -0
  165. package/daemon/specs/agents/shared/runtime/claude-activity-hooks.json +4 -0
  166. package/daemon/specs/agents/shared/skills/core/watchdog/SKILL.md +1 -0
  167. package/dist/bin-wrapper.d.ts.map +1 -1
  168. package/dist/bin-wrapper.js +7 -0
  169. package/dist/bin-wrapper.js.map +1 -1
  170. package/dist/build-info.js +3 -3
  171. package/dist/commands/agent-image.d.ts.map +1 -1
  172. package/dist/commands/agent-image.js +2 -1
  173. package/dist/commands/agent-image.js.map +1 -1
  174. package/dist/commands/broadcast.d.ts.map +1 -1
  175. package/dist/commands/broadcast.js +37 -2
  176. package/dist/commands/broadcast.js.map +1 -1
  177. package/dist/commands/context.d.ts +2 -7
  178. package/dist/commands/context.d.ts.map +1 -1
  179. package/dist/commands/context.js +391 -213
  180. package/dist/commands/context.js.map +1 -1
  181. package/dist/commands/provider.d.ts +4 -0
  182. package/dist/commands/provider.d.ts.map +1 -0
  183. package/dist/commands/provider.js +218 -0
  184. package/dist/commands/provider.js.map +1 -0
  185. package/dist/commands/ps.d.ts +7 -0
  186. package/dist/commands/ps.d.ts.map +1 -1
  187. package/dist/commands/ps.js +34 -4
  188. package/dist/commands/ps.js.map +1 -1
  189. package/dist/commands/queue.d.ts.map +1 -1
  190. package/dist/commands/queue.js +38 -8
  191. package/dist/commands/queue.js.map +1 -1
  192. package/dist/commands/scope.d.ts.map +1 -1
  193. package/dist/commands/scope.js +48 -4
  194. package/dist/commands/scope.js.map +1 -1
  195. package/dist/commands/send.d.ts.map +1 -1
  196. package/dist/commands/send.js +70 -11
  197. package/dist/commands/send.js.map +1 -1
  198. package/dist/commands/stream.d.ts +1 -0
  199. package/dist/commands/stream.d.ts.map +1 -1
  200. package/dist/commands/stream.js +93 -0
  201. package/dist/commands/stream.js.map +1 -1
  202. package/dist/commands/tui.d.ts +4 -0
  203. package/dist/commands/tui.d.ts.map +1 -0
  204. package/dist/commands/tui.js +29 -0
  205. package/dist/commands/tui.js.map +1 -0
  206. package/dist/commands/walk.d.ts +19 -0
  207. package/dist/commands/walk.d.ts.map +1 -0
  208. package/dist/commands/walk.js +139 -0
  209. package/dist/commands/walk.js.map +1 -0
  210. package/dist/context-resolve.d.ts +14 -0
  211. package/dist/context-resolve.d.ts.map +1 -0
  212. package/dist/context-resolve.js +40 -0
  213. package/dist/context-resolve.js.map +1 -0
  214. package/dist/front-door.d.ts +31 -0
  215. package/dist/front-door.d.ts.map +1 -0
  216. package/dist/front-door.js +114 -0
  217. package/dist/front-door.js.map +1 -0
  218. package/dist/index.d.ts +3 -1
  219. package/dist/index.d.ts.map +1 -1
  220. package/dist/index.js +19 -6
  221. package/dist/index.js.map +1 -1
  222. package/dist/lib/scope/attestation-lineage.d.ts +14 -0
  223. package/dist/lib/scope/attestation-lineage.d.ts.map +1 -0
  224. package/dist/lib/scope/attestation-lineage.js +34 -0
  225. package/dist/lib/scope/attestation-lineage.js.map +1 -0
  226. package/package.json +4 -2
  227. package/tui/dist/daemon-client.d.ts +56 -0
  228. package/tui/dist/daemon-client.d.ts.map +1 -0
  229. package/tui/dist/daemon-client.js +99 -0
  230. package/tui/dist/daemon-client.js.map +1 -0
  231. package/tui/dist/demo-data.d.ts +3 -0
  232. package/tui/dist/demo-data.d.ts.map +1 -0
  233. package/tui/dist/demo-data.js +52 -0
  234. package/tui/dist/demo-data.js.map +1 -0
  235. package/tui/dist/detail.d.ts +34 -0
  236. package/tui/dist/detail.d.ts.map +1 -0
  237. package/tui/dist/detail.js +47 -0
  238. package/tui/dist/detail.js.map +1 -0
  239. package/tui/dist/grammar.d.ts +3 -0
  240. package/tui/dist/grammar.d.ts.map +1 -0
  241. package/tui/dist/grammar.js +66 -0
  242. package/tui/dist/grammar.js.map +1 -0
  243. package/tui/dist/hydrate.d.ts +78 -0
  244. package/tui/dist/hydrate.d.ts.map +1 -0
  245. package/tui/dist/hydrate.js +294 -0
  246. package/tui/dist/hydrate.js.map +1 -0
  247. package/tui/dist/index.d.ts +12 -0
  248. package/tui/dist/index.d.ts.map +1 -0
  249. package/tui/dist/index.js +12 -0
  250. package/tui/dist/index.js.map +1 -0
  251. package/tui/dist/input.d.ts +21 -0
  252. package/tui/dist/input.d.ts.map +1 -0
  253. package/tui/dist/input.js +128 -0
  254. package/tui/dist/input.js.map +1 -0
  255. package/tui/dist/live.d.ts +20 -0
  256. package/tui/dist/live.d.ts.map +1 -0
  257. package/tui/dist/live.js +67 -0
  258. package/tui/dist/live.js.map +1 -0
  259. package/tui/dist/main.d.ts +3 -0
  260. package/tui/dist/main.d.ts.map +1 -0
  261. package/tui/dist/main.js +184 -0
  262. package/tui/dist/main.js.map +1 -0
  263. package/tui/dist/motion.d.ts +13 -0
  264. package/tui/dist/motion.d.ts.map +1 -0
  265. package/tui/dist/motion.js +31 -0
  266. package/tui/dist/motion.js.map +1 -0
  267. package/tui/dist/navigator.d.ts +21 -0
  268. package/tui/dist/navigator.d.ts.map +1 -0
  269. package/tui/dist/navigator.js +168 -0
  270. package/tui/dist/navigator.js.map +1 -0
  271. package/tui/dist/refresh.d.ts +3 -0
  272. package/tui/dist/refresh.d.ts.map +1 -0
  273. package/tui/dist/refresh.js +9 -0
  274. package/tui/dist/refresh.js.map +1 -0
  275. package/tui/dist/render.d.ts +21 -0
  276. package/tui/dist/render.d.ts.map +1 -0
  277. package/tui/dist/render.js +807 -0
  278. package/tui/dist/render.js.map +1 -0
  279. package/tui/dist/sections.d.ts +4 -0
  280. package/tui/dist/sections.d.ts.map +1 -0
  281. package/tui/dist/sections.js +19 -0
  282. package/tui/dist/sections.js.map +1 -0
  283. package/tui/dist/socket-server.d.ts +24 -0
  284. package/tui/dist/socket-server.d.ts.map +1 -0
  285. package/tui/dist/socket-server.js +85 -0
  286. package/tui/dist/socket-server.js.map +1 -0
  287. package/tui/dist/state.d.ts +51 -0
  288. package/tui/dist/state.d.ts.map +1 -0
  289. package/tui/dist/state.js +480 -0
  290. package/tui/dist/state.js.map +1 -0
  291. package/tui/dist/stylize.d.ts +4 -0
  292. package/tui/dist/stylize.d.ts.map +1 -0
  293. package/tui/dist/stylize.js +248 -0
  294. package/tui/dist/stylize.js.map +1 -0
  295. package/tui/dist/theme.d.ts +19 -0
  296. package/tui/dist/theme.d.ts.map +1 -0
  297. package/tui/dist/theme.js +86 -0
  298. package/tui/dist/theme.js.map +1 -0
  299. package/tui/dist/topology/canvas.d.ts +43 -0
  300. package/tui/dist/topology/canvas.d.ts.map +1 -0
  301. package/tui/dist/topology/canvas.js +131 -0
  302. package/tui/dist/topology/canvas.js.map +1 -0
  303. package/tui/dist/topology/fixture.d.ts +4 -0
  304. package/tui/dist/topology/fixture.d.ts.map +1 -0
  305. package/tui/dist/topology/fixture.js +71 -0
  306. package/tui/dist/topology/fixture.js.map +1 -0
  307. package/tui/dist/topology/glyphs.d.ts +21 -0
  308. package/tui/dist/topology/glyphs.d.ts.map +1 -0
  309. package/tui/dist/topology/glyphs.js +49 -0
  310. package/tui/dist/topology/glyphs.js.map +1 -0
  311. package/tui/dist/topology/graph-types.d.ts +39 -0
  312. package/tui/dist/topology/graph-types.d.ts.map +1 -0
  313. package/tui/dist/topology/graph-types.js +2 -0
  314. package/tui/dist/topology/graph-types.js.map +1 -0
  315. package/tui/dist/topology/layout.d.ts +52 -0
  316. package/tui/dist/topology/layout.d.ts.map +1 -0
  317. package/tui/dist/topology/layout.js +118 -0
  318. package/tui/dist/topology/layout.js.map +1 -0
  319. package/tui/dist/topology/render-graph.d.ts +8 -0
  320. package/tui/dist/topology/render-graph.d.ts.map +1 -0
  321. package/tui/dist/topology/render-graph.js +20 -0
  322. package/tui/dist/topology/render-graph.js.map +1 -0
  323. package/tui/dist/topology/runtime-marks.d.ts +53 -0
  324. package/tui/dist/topology/runtime-marks.d.ts.map +1 -0
  325. package/tui/dist/topology/runtime-marks.js +185 -0
  326. package/tui/dist/topology/runtime-marks.js.map +1 -0
  327. package/tui/dist/topology/styles/braille.d.ts +5 -0
  328. package/tui/dist/topology/styles/braille.d.ts.map +1 -0
  329. package/tui/dist/topology/styles/braille.js +84 -0
  330. package/tui/dist/topology/styles/braille.js.map +1 -0
  331. package/tui/dist/topology/styles/hatchet.d.ts +41 -0
  332. package/tui/dist/topology/styles/hatchet.d.ts.map +1 -0
  333. package/tui/dist/topology/styles/hatchet.js +146 -0
  334. package/tui/dist/topology/styles/hatchet.js.map +1 -0
  335. package/tui/dist/types.d.ts +362 -0
  336. package/tui/dist/types.d.ts.map +1 -0
  337. package/tui/dist/types.js +6 -0
  338. package/tui/dist/types.js.map +1 -0
  339. package/ui/dist/assets/{index-DkNi0RT8.js → index-Dv5VaLCN.js} +135 -135
  340. package/ui/dist/index.html +1 -1
  341. package/dist/commands/context-pack.d.ts +0 -4
  342. package/dist/commands/context-pack.d.ts.map +0 -1
  343. package/dist/commands/context-pack.js +0 -357
  344. package/dist/commands/context-pack.js.map +0 -1
@@ -1,17 +1,23 @@
1
1
  // Rig Context / Composable Context Injection v0 (PL-014) — daemon HTTP
2
2
  // routes for context_packs.
3
3
  //
4
- // Endpoints:
5
- // GET /api/context-packs/library — list all packs
6
- // POST /api/context-packs/library/sync — re-walk discovery roots
7
- // GET /api/context-packs/library/:id pack manifest + files
8
- // GET /api/context-packs/library/:id/preview assembled bundle (dry-run shape)
9
- // POST /api/context-packs/library/:id/send send to a destination session
4
+ // Endpoints (Slice-03 Atom 5 — ref-primary; colon-id `/library/:id` removed):
5
+ // GET /api/context-packs/library — list all packs
6
+ // POST /api/context-packs/library/sync — re-walk discovery roots
7
+ // POST /api/context-packs/library/compose compose files into a durable ref
8
+ // GET /api/context-packs/library/by-ref?ref= pack manifest + files
9
+ // DELETE /api/context-packs/library/by-ref?ref= remove a pack
10
+ // GET /api/context-packs/library/by-ref/preview?ref= — assembled bundle (dry-run shape)
10
11
  //
11
- // :id is `context-pack:<name>:<version>` same shape as
12
- // SpecLibraryEntry.id for workflows, so URL-encoding rules carry over.
12
+ // A pack is addressed by its path-like ref (e.g. `packs/compaction-restore`);
13
+ // the entry's opaque `id` is `context-pack:<ref>` (UI routing key only).
13
14
  import { Hono } from "hono";
14
- import { assembleBundle } from "../domain/context-packs/bundle-assembler.js";
15
+ import { readFileSync } from "node:fs";
16
+ import { assembleBundle, assemblePlainFiles } from "../domain/context-packs/bundle-assembler.js";
17
+ import { ContextPackError } from "../domain/context-packs/context-pack-types.js";
18
+ function jsonError(status, error, message, details) {
19
+ return { status, body: { error, message, ...(details ?? {}) } };
20
+ }
15
21
  export function contextPacksRoutes() {
16
22
  const router = new Hono();
17
23
  // GET /library
@@ -29,35 +35,132 @@ export function contextPacksRoutes() {
29
35
  const result = lib.scan();
30
36
  return c.json({ ...result, entries: lib.list() });
31
37
  });
32
- // GET /library/:id
33
- router.get("/library/:id", (c) => {
38
+ // POST /library/compose — Atom 3's delivery-free file -> durable-ref path.
39
+ router.post("/library/compose", async (c) => {
34
40
  const lib = c.get("contextPackLibrary");
35
41
  if (!lib)
36
42
  return c.json({ error: "context_pack_library_unavailable" }, 503);
37
- const id = decodeURIComponent(c.req.param("id"));
38
- // Guard: literal /sync is handled above; reject as 404 here so a
39
- // pack with id="sync" (which can't exist since ids carry a colon)
40
- // doesn't shadow the literal.
41
- if (id === "sync")
42
- return c.notFound();
43
- const entry = lib.get(id);
44
- if (!entry)
45
- return c.json({ error: `Context pack '${id}' not found in library` }, 404);
46
- return c.json(entry);
43
+ const body = await c.req.json().catch(() => ({}));
44
+ if (typeof body.outRef !== "string" ||
45
+ !Array.isArray(body.sources) ||
46
+ body.sources.some((source) => typeof source !== "object" ||
47
+ source === null ||
48
+ Array.isArray(source) ||
49
+ typeof source.path !== "string" ||
50
+ typeof source.label !== "string")) {
51
+ return c.json({
52
+ error: "invalid_compose_request",
53
+ message: "body must include { outRef, sources: [{ path, label }, ...] }",
54
+ }, 400);
55
+ }
56
+ try {
57
+ const result = lib.composeFromFiles({
58
+ outRef: body.outRef,
59
+ sources: body.sources,
60
+ });
61
+ return c.json(result, 201);
62
+ }
63
+ catch (err) {
64
+ if (err instanceof ContextPackError) {
65
+ const status = err.code === "pack_exists"
66
+ ? 409
67
+ : err.code === "store_unavailable"
68
+ ? 503
69
+ : err.code === "pack_write_failed"
70
+ ? 500
71
+ : 400;
72
+ return c.json({ error: err.code, message: err.message, ...(err.details ?? {}) }, status);
73
+ }
74
+ return c.json({ error: "compose_failed", message: err.message }, 500);
75
+ }
47
76
  });
48
- // GET /library/:id/previewassembled bundle (read-only, no send)
49
- router.get("/library/:id/preview", (c) => {
77
+ // Slice-03 Atom 4 the ref-primary read/delete surface. A path-like ref
78
+ // carries '/', so it travels as a `?ref=` query, never a `:id` path segment.
79
+ // Registered BEFORE `/library/:id` so the static `by-ref` segment is never
80
+ // captured as a colon-id. Both verbs flow through the store's sealed
81
+ // getByRef/removeByRef boundary (assertSafePackRef before any effect).
82
+ // GET /library/by-ref?ref=<path-like-ref>
83
+ router.get("/library/by-ref", (c) => {
50
84
  const lib = c.get("contextPackLibrary");
51
85
  if (!lib)
52
86
  return c.json({ error: "context_pack_library_unavailable" }, 503);
53
- const id = decodeURIComponent(c.req.param("id"));
54
- const entry = lib.get(id);
87
+ const ref = c.req.query("ref");
88
+ if (!ref)
89
+ return c.json({ error: "ref_required", message: "query must include ?ref=<path-like-ref>" }, 400);
90
+ try {
91
+ const entry = lib.getByRef(ref);
92
+ if (!entry)
93
+ return c.json({ error: "pack_not_found", message: `Context pack '${ref}' not found in library` }, 404);
94
+ return c.json(entry);
95
+ }
96
+ catch (err) {
97
+ if (err instanceof ContextPackError) {
98
+ const status = err.code === "unsafe_ref" ? 400 : 500;
99
+ return c.json({ error: err.code, message: err.message, ...(err.details ?? {}) }, status);
100
+ }
101
+ return c.json({ error: "by_ref_failed", message: err.message }, 500);
102
+ }
103
+ });
104
+ // DELETE /library/by-ref?ref=<path-like-ref>
105
+ router.delete("/library/by-ref", (c) => {
106
+ const lib = c.get("contextPackLibrary");
107
+ if (!lib)
108
+ return c.json({ error: "context_pack_library_unavailable" }, 503);
109
+ const ref = c.req.query("ref");
110
+ if (!ref)
111
+ return c.json({ error: "ref_required", message: "query must include ?ref=<path-like-ref>" }, 400);
112
+ try {
113
+ const result = lib.removeByRef(ref);
114
+ return c.json({ ...result, count: lib.list().length });
115
+ }
116
+ catch (err) {
117
+ if (err instanceof ContextPackError) {
118
+ const status = err.code === "unsafe_ref"
119
+ ? 400
120
+ : err.code === "pack_not_found"
121
+ ? 404
122
+ : err.code === "pack_not_removable"
123
+ ? 403
124
+ : 500;
125
+ return c.json({ error: err.code, message: err.message, ...(err.details ?? {}) }, status);
126
+ }
127
+ return c.json({ error: "rm_failed", message: err.message }, 500);
128
+ }
129
+ });
130
+ // Slice-03 Atom 5 — preview migrated off the removed colon-id `/library/:id`
131
+ // route onto the ref-primary `?ref=` surface (getByRef-backed). A resolved
132
+ // entry's opaque `id` (context-pack:<ref>) is echoed for the UI, but resolution
133
+ // is by ref only.
134
+ const resolveByRef = (lib, ref) => {
135
+ if (!ref)
136
+ return { error: jsonError(400, "ref_required", "query must include ?ref=<path-like-ref>") };
137
+ let entry;
138
+ try {
139
+ entry = lib.getByRef(ref);
140
+ }
141
+ catch (err) {
142
+ if (err instanceof ContextPackError) {
143
+ return { error: jsonError(err.code === "unsafe_ref" ? 400 : 500, err.code, err.message, err.details) };
144
+ }
145
+ return { error: jsonError(500, "by_ref_failed", err.message) };
146
+ }
55
147
  if (!entry)
56
- return c.json({ error: `Context pack '${id}' not found in library` }, 404);
148
+ return { error: jsonError(404, "pack_not_found", `Context pack '${ref}' not found in library`) };
149
+ return { entry };
150
+ };
151
+ // GET /library/by-ref/preview?ref=<path-like-ref> — assembled bundle (read-only)
152
+ router.get("/library/by-ref/preview", (c) => {
153
+ const lib = c.get("contextPackLibrary");
154
+ if (!lib)
155
+ return c.json({ error: "context_pack_library_unavailable" }, 503);
156
+ const resolved = resolveByRef(lib, c.req.query("ref"));
157
+ if ("error" in resolved)
158
+ return c.json(resolved.error.body, resolved.error.status);
159
+ const entry = resolved.entry;
57
160
  try {
58
161
  const bundle = assembleBundle({ packEntry: entry });
59
162
  return c.json({
60
- id,
163
+ id: entry.id,
61
164
  name: entry.name,
62
165
  version: entry.version,
63
166
  bundleText: bundle.text,
@@ -71,58 +174,37 @@ export function contextPacksRoutes() {
71
174
  return c.json({ error: err.message }, 500);
72
175
  }
73
176
  });
74
- // POST /library/:id/send
75
- router.post("/library/:id/send", async (c) => {
177
+ // GET /library/by-ref/pieces?ref=<path-like-ref> — ordered per-member
178
+ // contents for `rig walk`; missing members are reported before delivery.
179
+ router.get("/library/by-ref/pieces", (c) => {
76
180
  const lib = c.get("contextPackLibrary");
77
- const transport = c.get("sessionTransport");
78
181
  if (!lib)
79
182
  return c.json({ error: "context_pack_library_unavailable" }, 503);
80
- if (!transport)
81
- return c.json({ error: "session_transport_unavailable" }, 503);
82
- const id = decodeURIComponent(c.req.param("id"));
83
- const entry = lib.get(id);
84
- if (!entry)
85
- return c.json({ error: `Context pack '${id}' not found in library` }, 404);
86
- const body = await c.req.json().catch(() => ({}));
87
- const destinationSession = body.destinationSession;
88
- const dryRun = !!body.dryRun;
89
- if (typeof destinationSession !== "string" || destinationSession.length === 0) {
90
- return c.json({
91
- error: "destinationSession_required",
92
- hint: "POST body must include { destinationSession: <session-name> }",
93
- }, 400);
94
- }
95
- let bundle;
96
- try {
97
- bundle = assembleBundle({ packEntry: entry });
98
- }
99
- catch (err) {
100
- return c.json({ error: err.message }, 500);
101
- }
102
- const previewPayload = {
103
- id,
104
- name: entry.name,
105
- version: entry.version,
106
- destinationSession,
107
- bundleBytes: bundle.bytes,
108
- estimatedTokens: bundle.estimatedTokens,
109
- files: bundle.files,
110
- missingFiles: bundle.missingFiles,
111
- dryRun,
112
- };
113
- if (dryRun) {
114
- return c.json({ ...previewPayload, bundleText: bundle.text });
115
- }
116
- const result = await transport.send(destinationSession, bundle.text);
117
- if (!result.ok) {
118
- return c.json({
119
- ...previewPayload,
120
- sent: false,
121
- error: result.error ?? result.reason ?? "send_failed",
122
- reason: result.reason,
123
- }, 502);
183
+ const resolved = resolveByRef(lib, c.req.query("ref"));
184
+ if ("error" in resolved)
185
+ return c.json(resolved.error.body, resolved.error.status);
186
+ const entry = resolved.entry;
187
+ const pieces = [];
188
+ const missingFiles = [];
189
+ for (const file of entry.files) {
190
+ if (file.absolutePath === null) {
191
+ missingFiles.push({ path: file.path, role: file.role });
192
+ continue;
193
+ }
194
+ try {
195
+ const absolutePath = lib.resolveFileWithinPack(entry, file.path);
196
+ pieces.push({ path: file.path, role: file.role, content: readFileSync(absolutePath, "utf-8") });
197
+ }
198
+ catch {
199
+ missingFiles.push({ path: file.path, role: file.role });
200
+ }
124
201
  }
125
- return c.json({ ...previewPayload, sent: true });
202
+ // Slice-03 Atom 6b: `text` = the WHOLE plain content (present members joined
203
+ // by the sealed compose separator via assemblePlainFiles, read-only) — the
204
+ // one-payload form the --context/--body-context delivery flags inject/snapshot,
205
+ // vs `pieces` which walk paces separately. `bytes` lets a caller size-warn.
206
+ const assembled = assemblePlainFiles({ files: pieces.map((p) => ({ path: p.path, content: p.content })) });
207
+ return c.json({ ref: entry.relativePath, id: entry.id, pieces, missingFiles, text: assembled.text, bytes: assembled.bytes });
126
208
  });
127
209
  return router;
128
210
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context-packs.js","sourceRoot":"","sources":["../../src/routes/context-packs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-packs.js","sourceRoot":"","sources":["../../src/routes/context-packs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Hono } from "hono";
2
+ export declare function providerRoutes(): Hono;
3
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/routes/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAgB,MAAM,MAAM,CAAC;AAU1C,wBAAgB,cAAc,IAAI,IAAI,CAwHrC"}
@@ -0,0 +1,124 @@
1
+ import { Hono } from "hono";
2
+ // Slice-04 (OPR.0.5.0.4) seam B — the `/api/provider` routes (packet 3ffa3c22 §3). Thin handlers
3
+ // over ONE service read model (filtered projections cannot diverge). Edge validation -> 400; an
4
+ // unsafe precheck is a 200 verdict; switch business outcomes are 200 payloads; an unwired service
5
+ // is a loud 503 (never an empty/fabricated four-block). No collection or policy logic lives here.
6
+ const VALID_PROVIDERS = new Set(["codex", "claude"]);
7
+ export function providerRoutes() {
8
+ const router = new Hono();
9
+ const svcOf = (c) => c.get("providerService") ?? null;
10
+ const unavailable = 503;
11
+ const okProvider = (p) => p === undefined || VALID_PROVIDERS.has(p);
12
+ // When present, an account filter must be a non-empty, non-whitespace ref.
13
+ const okAccount = (a) => a === undefined || a.trim().length > 0;
14
+ // A malformed filter (bad provider enum or empty account) is a 400; returns the message or null.
15
+ const filterError = (provider, account) => {
16
+ if (!okProvider(provider))
17
+ return `invalid provider: ${provider}`;
18
+ if (!okAccount(account))
19
+ return "account must be a non-empty ref";
20
+ return null;
21
+ };
22
+ router.get("/status", async (c) => {
23
+ const svc = svcOf(c);
24
+ if (!svc)
25
+ return c.json({ error: "provider_service_unavailable" }, unavailable);
26
+ return c.json(await svc.getReadModel(), 200);
27
+ });
28
+ // S-B (OPR.0.5.0.4-B) — the external status site's ENTIRE contract: GET /api/provider/usage
29
+ // SERVES the S-A host-level rollup rows (model.hostUsage) verbatim from the one read model. No
30
+ // derivation here — state/windows/resets_at/anomalies/provenance are built in S-A's rollupHostUsage
31
+ // (and the rows carry NO account identity by construction, only (host, provider) + topology seats).
32
+ // Absent block -> honest empty array (never a fabricated row); unwired service -> loud 503.
33
+ router.get("/usage", async (c) => {
34
+ const svc = svcOf(c);
35
+ if (!svc)
36
+ return c.json({ error: "provider_service_unavailable" }, unavailable);
37
+ const model = await svc.getReadModel();
38
+ return c.json({ hostUsage: model.hostUsage ?? [] }, 200);
39
+ });
40
+ router.get("/accounts", async (c) => {
41
+ const svc = svcOf(c);
42
+ if (!svc)
43
+ return c.json({ error: "provider_service_unavailable" }, unavailable);
44
+ const provider = c.req.query("provider");
45
+ const account = c.req.query("account");
46
+ const filterErr = filterError(provider, account);
47
+ if (filterErr)
48
+ return c.json({ error: filterErr }, 400);
49
+ const model = await svc.getReadModel();
50
+ const accounts = model.accounts.filter((a) => (provider === undefined || a.provider === provider) && (account === undefined || a.accountId === account));
51
+ return c.json({ accounts }, 200);
52
+ });
53
+ router.get("/bindings", async (c) => {
54
+ const svc = svcOf(c);
55
+ if (!svc)
56
+ return c.json({ error: "provider_service_unavailable" }, unavailable);
57
+ const provider = c.req.query("provider");
58
+ const account = c.req.query("account");
59
+ const filterErr = filterError(provider, account);
60
+ if (filterErr)
61
+ return c.json({ error: filterErr }, 400);
62
+ const model = await svc.getReadModel();
63
+ const providerOf = new Map(model.accounts.map((a) => [a.accountId, a.provider]));
64
+ const bindings = model.bindings.filter((b) => (account === undefined || b.accountId === account) &&
65
+ (provider === undefined || (b.accountId !== null && providerOf.get(b.accountId) === provider)));
66
+ return c.json({ bindings }, 200);
67
+ });
68
+ router.get("/signals", async (c) => {
69
+ const svc = svcOf(c);
70
+ if (!svc)
71
+ return c.json({ error: "provider_service_unavailable" }, unavailable);
72
+ const provider = c.req.query("provider");
73
+ const account = c.req.query("account");
74
+ const filterErr = filterError(provider, account);
75
+ if (filterErr)
76
+ return c.json({ error: filterErr }, 400);
77
+ const model = await svc.getReadModel();
78
+ const signals = model.signals.filter((s) => (provider === undefined || s.provider === provider) && (account === undefined || s.accountRef === account));
79
+ return c.json({ signals }, 200);
80
+ });
81
+ router.get("/precheck", async (c) => {
82
+ const svc = svcOf(c);
83
+ if (!svc)
84
+ return c.json({ error: "provider_service_unavailable" }, unavailable);
85
+ const seat = c.req.query("seat");
86
+ const toAccount = c.req.query("toAccount");
87
+ // Trim for VALIDATION only — the opaque refs are passed through unrewritten.
88
+ if (!seat || !seat.trim() || !toAccount || !toAccount.trim()) {
89
+ return c.json({ error: "seat and toAccount are required" }, 400);
90
+ }
91
+ // An unsafe verdict is a valid 200 response, not an error.
92
+ return c.json(await svc.precheck({ seat, toAccount }), 200);
93
+ });
94
+ router.post("/switch", async (c) => {
95
+ const svc = svcOf(c);
96
+ if (!svc)
97
+ return c.json({ error: "provider_service_unavailable" }, unavailable);
98
+ let raw;
99
+ try {
100
+ raw = await c.req.json();
101
+ }
102
+ catch {
103
+ return c.json({ error: "invalid JSON body" }, 400);
104
+ }
105
+ // JSON null/array/primitive is malformed (400), not a 500 from reading a field off null.
106
+ if (raw === null || typeof raw !== "object" || Array.isArray(raw)) {
107
+ return c.json({ error: "body must be a JSON object" }, 400);
108
+ }
109
+ const body = raw;
110
+ const seat = body["seat"];
111
+ const toAccount = body["toAccount"];
112
+ const forceUnsafe = body["forceUnsafe"] ?? false;
113
+ if (typeof seat !== "string" || seat.trim() === "" || typeof toAccount !== "string" || toAccount.trim() === "") {
114
+ return c.json({ error: "seat and toAccount are required" }, 400);
115
+ }
116
+ if (typeof forceUnsafe !== "boolean") {
117
+ return c.json({ error: "forceUnsafe must be a boolean" }, 400);
118
+ }
119
+ // Business outcome (incl. failed_safely / rebind_in_progress) is an explicit 200 payload.
120
+ return c.json(await svc.switchAccount({ seat, toAccount, forceUnsafe }), 200);
121
+ });
122
+ return router;
123
+ }
124
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/routes/provider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scope-approve.d.ts","sourceRoot":"","sources":["../../src/routes/scope-approve.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAK5B,wBAAgB,kBAAkB,IAAI,IAAI,CAuDzC"}
1
+ {"version":3,"file":"scope-approve.d.ts","sourceRoot":"","sources":["../../src/routes/scope-approve.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAK5B,wBAAgB,kBAAkB,IAAI,IAAI,CA4DzC"}
@@ -35,6 +35,8 @@ export function scopeApproveRoutes() {
35
35
  approvalScope,
36
36
  actorSession: body.actorSession,
37
37
  onBehalfOf: body.onBehalfOf ?? null,
38
+ reApprove: body.reApprove === true,
39
+ reason: typeof body.reason === "string" ? body.reason : null,
38
40
  });
39
41
  return c.json(result, 201);
40
42
  }
@@ -42,9 +44,10 @@ export function scopeApproveRoutes() {
42
44
  if (err instanceof ScopeApproveError) {
43
45
  const status = err.code === "scope_not_found" ? 404
44
46
  : err.code === "already_approved" ? 409
45
- : err.code === "workspace_not_configured" ? 503
46
- : err.code === "audit_write_failed" ? 500
47
- : 400;
47
+ : err.code === "nothing_to_reapprove" ? 409
48
+ : err.code === "workspace_not_configured" ? 503
49
+ : err.code === "audit_write_failed" ? 500
50
+ : 400;
48
51
  return c.json({ error: err.code, message: err.message, ...(err.details ?? {}) }, status);
49
52
  }
50
53
  return c.json({ error: "internal", message: err instanceof Error ? err.message : "internal error" }, 500);
@@ -1 +1 @@
1
- {"version":3,"file":"scope-approve.js","sourceRoot":"","sources":["../../src/routes/scope-approve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope-approve.js","sourceRoot":"","sources":["../../src/routes/scope-approve.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scope-audit.d.ts","sourceRoot":"","sources":["../../src/routes/scope-audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAqC5B,wBAAgB,gBAAgB,IAAI,IAAI,CAsLvC"}
1
+ {"version":3,"file":"scope-audit.d.ts","sourceRoot":"","sources":["../../src/routes/scope-audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAuC5B,wBAAgB,gBAAgB,IAAI,IAAI,CAwLvC"}
@@ -1,4 +1,5 @@
1
1
  import { Hono } from "hono";
2
+ import { attestationLineage } from "../domain/scope/attestation-lineage.generated.js";
2
3
  import * as fs from "node:fs";
3
4
  import * as path from "node:path";
4
5
  import { classifyScopeItem } from "../domain/scope/scope-audit.js";
@@ -177,7 +178,7 @@ export function scopeAuditRoutes() {
177
178
  remediation: "Rename to NN-slug format or move out of slices/",
178
179
  });
179
180
  }
180
- sliceResults.push({ name: entry, result: sliceResult });
181
+ sliceResults.push({ name: entry, result: sliceResult, attestations: attestationLineage(sliceFm) });
181
182
  }
182
183
  }
183
184
  const allFindings = [
@@ -198,6 +199,8 @@ export function scopeAuditRoutes() {
198
199
  railStatus: s.result.railStatus,
199
200
  frontmatterError: s.result.frontmatterError,
200
201
  findings: s.result.findings,
202
+ // OPR.0.5.0.18 — amendment lineage (present only when re-stamped).
203
+ ...(s.attestations ? { attestations: s.attestations } : {}),
201
204
  })),
202
205
  totalFindings: allFindings.length,
203
206
  });
@@ -1 +1 @@
1
- {"version":3,"file":"scope-audit.js","sourceRoot":"","sources":["../../src/routes/scope-audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope-audit.js","sourceRoot":"","sources":["../../src/routes/scope-audit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/routes/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAK5B;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,IAAI,CA+HnC"}
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/routes/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAoC5B;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAuKnC"}