harnery 0.34.1 → 0.36.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 (692) hide show
  1. package/dist/commander.d.ts +30 -5
  2. package/dist/commander.d.ts.map +1 -1
  3. package/dist/commander.js +124 -94
  4. package/dist/commands/agents.d.ts +37 -6
  5. package/dist/commands/agents.d.ts.map +1 -1
  6. package/dist/commands/agents.js +466 -371
  7. package/dist/commands/backup.d.ts.map +1 -1
  8. package/dist/commands/backup.js +10 -10
  9. package/dist/commands/browse-session.d.ts.map +1 -1
  10. package/dist/commands/browse-session.js +12 -0
  11. package/dist/commands/browse.d.ts +1 -1
  12. package/dist/commands/browse.d.ts.map +1 -1
  13. package/dist/commands/browse.js +31 -6
  14. package/dist/commands/conversations.d.ts +10 -0
  15. package/dist/commands/conversations.d.ts.map +1 -0
  16. package/dist/commands/conversations.js +201 -0
  17. package/dist/commands/decision.d.ts.map +1 -1
  18. package/dist/commands/decision.js +2 -2
  19. package/dist/commands/deinit.d.ts.map +1 -1
  20. package/dist/commands/deinit.js +5 -0
  21. package/dist/commands/docs.d.ts.map +1 -1
  22. package/dist/commands/docs.js +13 -2
  23. package/dist/commands/doctor.d.ts +5 -0
  24. package/dist/commands/doctor.d.ts.map +1 -1
  25. package/dist/commands/doctor.js +51 -7
  26. package/dist/commands/events.d.ts.map +1 -1
  27. package/dist/commands/events.js +18 -1
  28. package/dist/commands/fetch.js +6 -5
  29. package/dist/commands/files.d.ts +22 -0
  30. package/dist/commands/files.d.ts.map +1 -0
  31. package/dist/commands/files.js +113 -0
  32. package/dist/commands/governor.js +14 -12
  33. package/dist/commands/inbox.d.ts +5 -0
  34. package/dist/commands/inbox.d.ts.map +1 -0
  35. package/dist/commands/inbox.js +57 -0
  36. package/dist/commands/init.d.ts +4 -5
  37. package/dist/commands/init.d.ts.map +1 -1
  38. package/dist/commands/init.js +63 -13
  39. package/dist/commands/ledger-v3.d.ts.map +1 -1
  40. package/dist/commands/ledger-v3.js +347 -1
  41. package/dist/commands/logs.d.ts +4 -0
  42. package/dist/commands/logs.d.ts.map +1 -0
  43. package/dist/commands/logs.js +169 -0
  44. package/dist/commands/messages.d.ts +5 -0
  45. package/dist/commands/messages.d.ts.map +1 -0
  46. package/dist/commands/messages.js +45 -0
  47. package/dist/commands/outline.d.ts +1 -1
  48. package/dist/commands/outline.d.ts.map +1 -1
  49. package/dist/commands/outline.js +2 -2
  50. package/dist/commands/presence.d.ts.map +1 -1
  51. package/dist/commands/presence.js +2 -2
  52. package/dist/commands/read.d.ts +1 -1
  53. package/dist/commands/read.d.ts.map +1 -1
  54. package/dist/commands/read.js +2 -2
  55. package/dist/commands/semantic.d.ts +4 -0
  56. package/dist/commands/semantic.d.ts.map +1 -0
  57. package/dist/commands/semantic.js +199 -0
  58. package/dist/commands/storage.d.ts +4 -0
  59. package/dist/commands/storage.d.ts.map +1 -0
  60. package/dist/commands/storage.js +238 -0
  61. package/dist/commands/tunnel.d.ts +5 -1
  62. package/dist/commands/tunnel.d.ts.map +1 -1
  63. package/dist/commands/tunnel.js +44 -31
  64. package/dist/commands/web.d.ts +3 -0
  65. package/dist/commands/web.d.ts.map +1 -1
  66. package/dist/commands/web.js +84 -7
  67. package/dist/commands/work.js +3 -3
  68. package/dist/commands/workflow.js +13 -13
  69. package/dist/core/adapters/profiles.d.ts +1 -1
  70. package/dist/core/agents/canonical-emit.d.ts +3 -0
  71. package/dist/core/agents/canonical-emit.d.ts.map +1 -1
  72. package/dist/core/agents/canonical-emit.js +12 -0
  73. package/dist/core/agents/claim-path.d.ts +11 -0
  74. package/dist/core/agents/claim-path.d.ts.map +1 -0
  75. package/dist/core/agents/claim-path.js +22 -0
  76. package/dist/core/agents/cli.js +209 -39
  77. package/dist/core/agents/coord-client.d.ts +29 -3
  78. package/dist/core/agents/coord-client.d.ts.map +1 -1
  79. package/dist/core/agents/coord-client.js +88 -9
  80. package/dist/core/agents/live-authority-v3.d.ts +47 -1
  81. package/dist/core/agents/live-authority-v3.d.ts.map +1 -1
  82. package/dist/core/agents/live-authority-v3.js +245 -13
  83. package/dist/core/agents/live-lifecycle-v3.js +9 -4
  84. package/dist/core/agents/live-observation-v3.d.ts.map +1 -1
  85. package/dist/core/agents/live-observation-v3.js +8 -3
  86. package/dist/core/agents/render/prompt-context.d.ts +9 -3
  87. package/dist/core/agents/render/prompt-context.d.ts.map +1 -1
  88. package/dist/core/agents/render/prompt-context.js +36 -17
  89. package/dist/core/agents/rules/stop-hook.d.ts +2 -0
  90. package/dist/core/agents/rules/stop-hook.d.ts.map +1 -1
  91. package/dist/core/agents/rules/stop-hook.js +115 -22
  92. package/dist/core/agents/rules/verdict.d.ts +1 -0
  93. package/dist/core/agents/rules/verdict.d.ts.map +1 -1
  94. package/dist/core/agents/session-events.d.ts.map +1 -1
  95. package/dist/core/agents/session-events.js +4 -0
  96. package/dist/core/agents/session-finalization-state-v3.js +1 -1
  97. package/dist/core/agents/session-finalizer-v3.js +5 -1
  98. package/dist/core/agents/session-name-display.d.ts +1 -0
  99. package/dist/core/agents/session-name-display.d.ts.map +1 -1
  100. package/dist/core/agents/session-name-display.js +8 -1
  101. package/dist/core/agents/state/activity-log.d.ts +3 -0
  102. package/dist/core/agents/state/activity-log.d.ts.map +1 -1
  103. package/dist/core/agents/state/activity-log.js +6 -3
  104. package/dist/core/agents/state/heartbeat-reader.d.ts +46 -0
  105. package/dist/core/agents/state/heartbeat-reader.d.ts.map +1 -0
  106. package/dist/core/agents/state/heartbeat-reader.js +25 -0
  107. package/dist/core/agents/state/heartbeat-writer.d.ts +9 -48
  108. package/dist/core/agents/state/heartbeat-writer.d.ts.map +1 -1
  109. package/dist/core/agents/state/heartbeat-writer.js +34 -34
  110. package/dist/core/agents/state/live-coordination-view.d.ts +6 -8
  111. package/dist/core/agents/state/live-coordination-view.d.ts.map +1 -1
  112. package/dist/core/agents/state/live-coordination-view.js +16 -67
  113. package/dist/core/agents/state/live-coordination-writer.d.ts +12 -0
  114. package/dist/core/agents/state/live-coordination-writer.d.ts.map +1 -0
  115. package/dist/core/agents/state/live-coordination-writer.js +92 -0
  116. package/dist/core/agents/state/names.d.ts +9 -1
  117. package/dist/core/agents/state/names.d.ts.map +1 -1
  118. package/dist/core/agents/state/names.js +190 -182
  119. package/dist/core/agents/state/stale-sweep.d.ts.map +1 -1
  120. package/dist/core/agents/state/stale-sweep.js +23 -5
  121. package/dist/core/artifacts/constants.d.ts +5 -0
  122. package/dist/core/artifacts/constants.d.ts.map +1 -0
  123. package/dist/core/artifacts/constants.js +4 -0
  124. package/dist/core/artifacts/index.d.ts +24 -3
  125. package/dist/core/artifacts/index.d.ts.map +1 -1
  126. package/dist/core/artifacts/index.js +96 -8
  127. package/dist/core/config.d.ts +62 -4
  128. package/dist/core/config.d.ts.map +1 -1
  129. package/dist/core/config.js +98 -4
  130. package/dist/core/conversations/archive.d.ts +49 -0
  131. package/dist/core/conversations/archive.d.ts.map +1 -0
  132. package/dist/core/conversations/archive.js +136 -0
  133. package/dist/core/conversations/catalog.d.ts +10 -0
  134. package/dist/core/conversations/catalog.d.ts.map +1 -0
  135. package/dist/core/conversations/catalog.js +72 -0
  136. package/dist/core/conversations/context-pack.d.ts +6 -0
  137. package/dist/core/conversations/context-pack.d.ts.map +1 -0
  138. package/dist/core/conversations/context-pack.js +60 -0
  139. package/dist/core/conversations/contract.d.ts +155 -0
  140. package/dist/core/conversations/contract.d.ts.map +1 -0
  141. package/dist/core/conversations/contract.js +1 -0
  142. package/dist/core/conversations/evaluation.d.ts +16 -0
  143. package/dist/core/conversations/evaluation.d.ts.map +1 -0
  144. package/dist/core/conversations/evaluation.js +9 -0
  145. package/dist/core/conversations/index.d.ts +10 -0
  146. package/dist/core/conversations/index.d.ts.map +1 -0
  147. package/dist/core/conversations/index.js +9 -0
  148. package/dist/core/conversations/lifecycle.d.ts +28 -0
  149. package/dist/core/conversations/lifecycle.d.ts.map +1 -0
  150. package/dist/core/conversations/lifecycle.js +29 -0
  151. package/dist/core/conversations/normalize.d.ts +14 -0
  152. package/dist/core/conversations/normalize.d.ts.map +1 -0
  153. package/dist/core/conversations/normalize.js +82 -0
  154. package/dist/core/conversations/query.d.ts +8 -0
  155. package/dist/core/conversations/query.d.ts.map +1 -0
  156. package/dist/core/conversations/query.js +280 -0
  157. package/dist/core/conversations/search-index.d.ts +9 -0
  158. package/dist/core/conversations/search-index.d.ts.map +1 -0
  159. package/dist/core/conversations/search-index.js +29 -0
  160. package/dist/core/events/legacy-storage/canary.d.ts +18 -0
  161. package/dist/core/events/legacy-storage/canary.d.ts.map +1 -0
  162. package/dist/core/events/legacy-storage/canary.js +150 -0
  163. package/dist/core/events/legacy-storage/fence.d.ts +15 -0
  164. package/dist/core/events/legacy-storage/fence.d.ts.map +1 -0
  165. package/dist/core/events/legacy-storage/fence.js +115 -0
  166. package/dist/core/events/legacy-storage/index.d.ts +6 -0
  167. package/dist/core/events/legacy-storage/index.d.ts.map +1 -0
  168. package/dist/core/events/legacy-storage/index.js +5 -0
  169. package/dist/core/events/legacy-storage/inventory.d.ts +10 -0
  170. package/dist/core/events/legacy-storage/inventory.d.ts.map +1 -0
  171. package/dist/core/events/legacy-storage/inventory.js +40 -0
  172. package/dist/core/events/legacy-storage/manifest.d.ts +23 -0
  173. package/dist/core/events/legacy-storage/manifest.d.ts.map +1 -0
  174. package/dist/core/events/legacy-storage/manifest.js +108 -0
  175. package/dist/core/events/legacy-storage/reader.d.ts +15 -0
  176. package/dist/core/events/legacy-storage/reader.d.ts.map +1 -0
  177. package/dist/core/events/legacy-storage/reader.js +154 -0
  178. package/dist/core/events/v3/authority-outbox.d.ts +7 -2
  179. package/dist/core/events/v3/authority-outbox.d.ts.map +1 -1
  180. package/dist/core/events/v3/authority-outbox.js +16 -3
  181. package/dist/core/events/v3/base-contract.d.ts +851 -16
  182. package/dist/core/events/v3/base-contract.d.ts.map +1 -1
  183. package/dist/core/events/v3/base-contract.js +50 -7
  184. package/dist/core/events/v3/bootstrap.d.ts +39 -0
  185. package/dist/core/events/v3/bootstrap.d.ts.map +1 -1
  186. package/dist/core/events/v3/bootstrap.js +167 -3
  187. package/dist/core/events/v3/capabilities.d.ts +11 -0
  188. package/dist/core/events/v3/capabilities.d.ts.map +1 -1
  189. package/dist/core/events/v3/capabilities.js +26 -3
  190. package/dist/core/events/v3/control-witness.d.ts +44 -0
  191. package/dist/core/events/v3/control-witness.d.ts.map +1 -0
  192. package/dist/core/events/v3/control-witness.js +233 -0
  193. package/dist/core/events/v3/control-writer.d.ts +4 -0
  194. package/dist/core/events/v3/control-writer.d.ts.map +1 -0
  195. package/dist/core/events/v3/control-writer.js +16 -0
  196. package/dist/core/events/v3/control.d.ts +8 -2
  197. package/dist/core/events/v3/control.d.ts.map +1 -1
  198. package/dist/core/events/v3/control.js +46 -18
  199. package/dist/core/events/v3/coordination-transaction-recovery.d.ts +42 -0
  200. package/dist/core/events/v3/coordination-transaction-recovery.d.ts.map +1 -0
  201. package/dist/core/events/v3/coordination-transaction-recovery.js +342 -0
  202. package/dist/core/events/v3/coordination-view.d.ts.map +1 -1
  203. package/dist/core/events/v3/coordination-view.js +16 -1
  204. package/dist/core/events/v3/generated.d.ts +1 -1
  205. package/dist/core/events/v3/generated.js +1 -1
  206. package/dist/core/events/v3/index.d.ts +8 -5
  207. package/dist/core/events/v3/index.d.ts.map +1 -1
  208. package/dist/core/events/v3/index.js +7 -4
  209. package/dist/core/events/v3/latency.d.ts +31 -1
  210. package/dist/core/events/v3/latency.d.ts.map +1 -1
  211. package/dist/core/events/v3/latency.js +127 -3
  212. package/dist/core/events/v3/live-route-observer.d.ts +31 -0
  213. package/dist/core/events/v3/live-route-observer.d.ts.map +1 -0
  214. package/dist/core/events/v3/live-route-observer.js +58 -0
  215. package/dist/core/events/v3/live-routing.d.ts +42 -20
  216. package/dist/core/events/v3/live-routing.d.ts.map +1 -1
  217. package/dist/core/events/v3/live-routing.js +153 -41
  218. package/dist/core/events/v3/producers/command-recorder.d.ts.map +1 -1
  219. package/dist/core/events/v3/producers/command-recorder.js +10 -1
  220. package/dist/core/events/v3/producers/coordination-recorder.d.ts +11 -1
  221. package/dist/core/events/v3/producers/coordination-recorder.d.ts.map +1 -1
  222. package/dist/core/events/v3/producers/coordination-recorder.js +90 -13
  223. package/dist/core/events/v3/producers/diagnostic-summaries.d.ts +129 -0
  224. package/dist/core/events/v3/producers/diagnostic-summaries.d.ts.map +1 -0
  225. package/dist/core/events/v3/producers/diagnostic-summaries.js +499 -0
  226. package/dist/core/events/v3/producers/hook-base.d.ts +17 -1
  227. package/dist/core/events/v3/producers/hook-base.d.ts.map +1 -1
  228. package/dist/core/events/v3/producers/hook-base.js +83 -2
  229. package/dist/core/events/v3/producers/intake.d.ts +13 -0
  230. package/dist/core/events/v3/producers/intake.d.ts.map +1 -1
  231. package/dist/core/events/v3/producers/intake.js +36 -2
  232. package/dist/core/events/v3/producers/producer-state-observer.d.ts +8 -0
  233. package/dist/core/events/v3/producers/producer-state-observer.d.ts.map +1 -0
  234. package/dist/core/events/v3/producers/producer-state-observer.js +45 -0
  235. package/dist/core/events/v3/producers/recorder.d.ts +117 -1
  236. package/dist/core/events/v3/producers/recorder.d.ts.map +1 -1
  237. package/dist/core/events/v3/producers/recorder.js +992 -27
  238. package/dist/core/events/v3/reader.d.ts +51 -0
  239. package/dist/core/events/v3/reader.d.ts.map +1 -1
  240. package/dist/core/events/v3/reader.js +181 -1
  241. package/dist/core/events/v3/rotation-config.d.ts +9 -0
  242. package/dist/core/events/v3/rotation-config.d.ts.map +1 -0
  243. package/dist/core/events/v3/rotation-config.js +91 -0
  244. package/dist/core/events/v3/runtime-build.d.ts +11 -0
  245. package/dist/core/events/v3/runtime-build.d.ts.map +1 -0
  246. package/dist/core/events/v3/runtime-build.js +39 -0
  247. package/dist/core/events/v3/runtime-identity.d.ts +5 -0
  248. package/dist/core/events/v3/runtime-identity.d.ts.map +1 -0
  249. package/dist/core/events/v3/runtime-identity.js +18 -0
  250. package/dist/core/events/v3/runtime-telemetry-capabilities.d.ts +52 -0
  251. package/dist/core/events/v3/runtime-telemetry-capabilities.d.ts.map +1 -0
  252. package/dist/core/events/v3/runtime-telemetry-capabilities.js +54 -0
  253. package/dist/core/events/v3/support-storage/classify.d.ts +46 -0
  254. package/dist/core/events/v3/support-storage/classify.d.ts.map +1 -0
  255. package/dist/core/events/v3/support-storage/classify.js +149 -0
  256. package/dist/core/events/v3/support-storage/eligibility.d.ts +29 -0
  257. package/dist/core/events/v3/support-storage/eligibility.d.ts.map +1 -0
  258. package/dist/core/events/v3/support-storage/eligibility.js +35 -0
  259. package/dist/core/events/v3/support-storage/index.d.ts +10 -0
  260. package/dist/core/events/v3/support-storage/index.d.ts.map +1 -0
  261. package/dist/core/events/v3/support-storage/index.js +9 -0
  262. package/dist/core/events/v3/support-storage/inventory.d.ts +30 -0
  263. package/dist/core/events/v3/support-storage/inventory.d.ts.map +1 -0
  264. package/dist/core/events/v3/support-storage/inventory.js +94 -0
  265. package/dist/core/events/v3/support-storage/logical-authority.d.ts +14 -0
  266. package/dist/core/events/v3/support-storage/logical-authority.d.ts.map +1 -0
  267. package/dist/core/events/v3/support-storage/logical-authority.js +104 -0
  268. package/dist/core/events/v3/support-storage/maintenance.d.ts +98 -0
  269. package/dist/core/events/v3/support-storage/maintenance.d.ts.map +1 -0
  270. package/dist/core/events/v3/support-storage/maintenance.js +352 -0
  271. package/dist/core/events/v3/support-storage/pack-contract.d.ts +59 -0
  272. package/dist/core/events/v3/support-storage/pack-contract.d.ts.map +1 -0
  273. package/dist/core/events/v3/support-storage/pack-contract.js +249 -0
  274. package/dist/core/events/v3/support-storage/pack-reader.d.ts +34 -0
  275. package/dist/core/events/v3/support-storage/pack-reader.d.ts.map +1 -0
  276. package/dist/core/events/v3/support-storage/pack-reader.js +258 -0
  277. package/dist/core/events/v3/support-storage/pack-writer.d.ts +30 -0
  278. package/dist/core/events/v3/support-storage/pack-writer.d.ts.map +1 -0
  279. package/dist/core/events/v3/support-storage/pack-writer.js +268 -0
  280. package/dist/core/events/v3/support-storage/recovery.d.ts +15 -0
  281. package/dist/core/events/v3/support-storage/recovery.d.ts.map +1 -0
  282. package/dist/core/events/v3/support-storage/recovery.js +22 -0
  283. package/dist/core/events/v3/turn-telemetry.d.ts +21 -6
  284. package/dist/core/events/v3/turn-telemetry.d.ts.map +1 -1
  285. package/dist/core/events/v3/turn-telemetry.js +32 -2
  286. package/dist/core/events/v3/writer.d.ts +13 -1
  287. package/dist/core/events/v3/writer.d.ts.map +1 -1
  288. package/dist/core/events/v3/writer.js +126 -12
  289. package/dist/core/governor/plan-read.d.ts.map +1 -1
  290. package/dist/core/governor/plan-read.js +5 -21
  291. package/dist/core/governor/planning.js +6 -8
  292. package/dist/core/governor/service-read.d.ts +12 -0
  293. package/dist/core/governor/service-read.d.ts.map +1 -1
  294. package/dist/core/governor/service-read.js +266 -2
  295. package/dist/core/governor/service.d.ts +1 -0
  296. package/dist/core/governor/service.d.ts.map +1 -1
  297. package/dist/core/governor/service.js +53 -18
  298. package/dist/core/guard/evidence-v3.d.ts.map +1 -1
  299. package/dist/core/guard/evidence-v3.js +2 -0
  300. package/dist/core/hooks/adapter/events.d.ts.map +1 -1
  301. package/dist/core/hooks/adapter/events.js +1 -0
  302. package/dist/core/hooks/adapter/output.d.ts +4 -2
  303. package/dist/core/hooks/adapter/output.d.ts.map +1 -1
  304. package/dist/core/hooks/adapter/output.js +13 -5
  305. package/dist/core/hooks/adapter/parse.d.ts +3 -0
  306. package/dist/core/hooks/adapter/parse.d.ts.map +1 -1
  307. package/dist/core/hooks/adapter/parse.js +14 -0
  308. package/dist/core/hooks/adapter/runtime-telemetry.d.ts +142 -0
  309. package/dist/core/hooks/adapter/runtime-telemetry.d.ts.map +1 -0
  310. package/dist/core/hooks/adapter/runtime-telemetry.js +869 -0
  311. package/dist/core/hooks/cli.js +318 -61
  312. package/dist/core/hooks/effects/image-capture.d.ts +1 -1
  313. package/dist/core/hooks/effects/image-capture.d.ts.map +1 -1
  314. package/dist/core/hooks/effects/image-capture.js +4 -2
  315. package/dist/core/hooks/remediation-cap.d.ts +39 -0
  316. package/dist/core/hooks/remediation-cap.d.ts.map +1 -0
  317. package/dist/core/hooks/remediation-cap.js +63 -0
  318. package/dist/core/hooks/resolve/coord-root.d.ts +22 -9
  319. package/dist/core/hooks/resolve/coord-root.d.ts.map +1 -1
  320. package/dist/core/hooks/resolve/coord-root.js +92 -11
  321. package/dist/core/hooks/resolve/owner.d.ts.map +1 -1
  322. package/dist/core/hooks/resolve/owner.js +5 -0
  323. package/dist/core/hooks/resolve/transcript.d.ts +33 -9
  324. package/dist/core/hooks/resolve/transcript.d.ts.map +1 -1
  325. package/dist/core/hooks/resolve/transcript.js +33 -10
  326. package/dist/core/inbox/contract.d.ts +64 -0
  327. package/dist/core/inbox/contract.d.ts.map +1 -0
  328. package/dist/core/inbox/contract.js +13 -0
  329. package/dist/core/inbox/index.d.ts +5 -0
  330. package/dist/core/inbox/index.d.ts.map +1 -0
  331. package/dist/core/inbox/index.js +4 -0
  332. package/dist/core/inbox/lifecycle.d.ts +22 -0
  333. package/dist/core/inbox/lifecycle.d.ts.map +1 -0
  334. package/dist/core/inbox/lifecycle.js +41 -0
  335. package/dist/core/inbox/service.d.ts +36 -0
  336. package/dist/core/inbox/service.d.ts.map +1 -0
  337. package/dist/core/inbox/service.js +210 -0
  338. package/dist/core/inbox/watcher.d.ts +7 -0
  339. package/dist/core/inbox/watcher.d.ts.map +1 -0
  340. package/dist/core/inbox/watcher.js +26 -0
  341. package/dist/core/presence/codec-digest.d.ts.map +1 -1
  342. package/dist/core/presence/codec-digest.js +14 -3
  343. package/dist/core/presence/relay-client.d.ts +1 -0
  344. package/dist/core/presence/relay-client.d.ts.map +1 -1
  345. package/dist/core/presence/relay-client.js +52 -8
  346. package/dist/core/semantic/adapters.d.ts +37 -0
  347. package/dist/core/semantic/adapters.d.ts.map +1 -0
  348. package/dist/core/semantic/adapters.js +360 -0
  349. package/dist/core/semantic/contract.d.ts +1072 -0
  350. package/dist/core/semantic/contract.d.ts.map +1 -0
  351. package/dist/core/semantic/contract.js +331 -0
  352. package/dist/core/semantic/evidence.d.ts +11 -0
  353. package/dist/core/semantic/evidence.d.ts.map +1 -0
  354. package/dist/core/semantic/evidence.js +262 -0
  355. package/dist/core/semantic/index.d.ts +14 -0
  356. package/dist/core/semantic/index.d.ts.map +1 -0
  357. package/dist/core/semantic/index.js +13 -0
  358. package/dist/core/semantic/once.d.ts +38 -0
  359. package/dist/core/semantic/once.d.ts.map +1 -0
  360. package/dist/core/semantic/once.js +364 -0
  361. package/dist/core/semantic/prompt.d.ts +12 -0
  362. package/dist/core/semantic/prompt.d.ts.map +1 -0
  363. package/dist/core/semantic/prompt.js +83 -0
  364. package/dist/core/semantic/review.d.ts +144 -0
  365. package/dist/core/semantic/review.d.ts.map +1 -0
  366. package/dist/core/semantic/review.js +544 -0
  367. package/dist/core/semantic/routes.d.ts +10 -0
  368. package/dist/core/semantic/routes.d.ts.map +1 -0
  369. package/dist/core/semantic/routes.js +21 -0
  370. package/dist/core/semantic/scheduler.d.ts +27 -0
  371. package/dist/core/semantic/scheduler.d.ts.map +1 -0
  372. package/dist/core/semantic/scheduler.js +91 -0
  373. package/dist/core/semantic/service-status.d.ts +51 -0
  374. package/dist/core/semantic/service-status.d.ts.map +1 -0
  375. package/dist/core/semantic/service-status.js +140 -0
  376. package/dist/core/semantic/service.d.ts +52 -0
  377. package/dist/core/semantic/service.d.ts.map +1 -0
  378. package/dist/core/semantic/service.js +559 -0
  379. package/dist/core/semantic/soak.d.ts +75 -0
  380. package/dist/core/semantic/soak.d.ts.map +1 -0
  381. package/dist/core/semantic/soak.js +476 -0
  382. package/dist/core/semantic/storage.d.ts +81 -0
  383. package/dist/core/semantic/storage.d.ts.map +1 -0
  384. package/dist/core/semantic/storage.js +180 -0
  385. package/dist/core/semantic/usage.d.ts +43 -0
  386. package/dist/core/semantic/usage.d.ts.map +1 -0
  387. package/dist/core/semantic/usage.js +193 -0
  388. package/dist/core/semantic/validate.d.ts +18 -0
  389. package/dist/core/semantic/validate.d.ts.map +1 -0
  390. package/dist/core/semantic/validate.js +207 -0
  391. package/dist/core/storage/buffer.d.ts +28 -0
  392. package/dist/core/storage/buffer.d.ts.map +1 -0
  393. package/dist/core/storage/buffer.js +101 -0
  394. package/dist/core/storage/builtins.d.ts +3 -0
  395. package/dist/core/storage/builtins.d.ts.map +1 -0
  396. package/dist/core/storage/builtins.js +683 -0
  397. package/dist/core/storage/catalog.d.ts +19 -0
  398. package/dist/core/storage/catalog.d.ts.map +1 -0
  399. package/dist/core/storage/catalog.js +365 -0
  400. package/dist/core/storage/config.d.ts +16 -0
  401. package/dist/core/storage/config.d.ts.map +1 -0
  402. package/dist/core/storage/config.js +311 -0
  403. package/dist/core/storage/contract.d.ts +275 -0
  404. package/dist/core/storage/contract.d.ts.map +1 -0
  405. package/dist/core/storage/contract.js +3 -0
  406. package/dist/core/storage/durable-history.d.ts +36 -0
  407. package/dist/core/storage/durable-history.d.ts.map +1 -0
  408. package/dist/core/storage/durable-history.js +606 -0
  409. package/dist/core/storage/health.d.ts +4 -0
  410. package/dist/core/storage/health.d.ts.map +1 -0
  411. package/dist/core/storage/health.js +65 -0
  412. package/dist/core/storage/index.d.ts +16 -0
  413. package/dist/core/storage/index.d.ts.map +1 -0
  414. package/dist/core/storage/index.js +15 -0
  415. package/dist/core/storage/inventory.d.ts +25 -0
  416. package/dist/core/storage/inventory.d.ts.map +1 -0
  417. package/dist/core/storage/inventory.js +666 -0
  418. package/dist/core/storage/jsonl.d.ts +52 -0
  419. package/dist/core/storage/jsonl.d.ts.map +1 -0
  420. package/dist/core/storage/jsonl.js +156 -0
  421. package/dist/core/storage/log-retention.d.ts +52 -0
  422. package/dist/core/storage/log-retention.d.ts.map +1 -0
  423. package/dist/core/storage/log-retention.js +419 -0
  424. package/dist/core/storage/logger.d.ts +82 -0
  425. package/dist/core/storage/logger.d.ts.map +1 -0
  426. package/dist/core/storage/logger.js +411 -0
  427. package/dist/core/storage/maintenance-providers.d.ts +26 -0
  428. package/dist/core/storage/maintenance-providers.d.ts.map +1 -0
  429. package/dist/core/storage/maintenance-providers.js +141 -0
  430. package/dist/core/storage/maintenance.d.ts +125 -0
  431. package/dist/core/storage/maintenance.d.ts.map +1 -0
  432. package/dist/core/storage/maintenance.js +609 -0
  433. package/dist/core/storage/metrics.d.ts +60 -0
  434. package/dist/core/storage/metrics.d.ts.map +1 -0
  435. package/dist/core/storage/metrics.js +134 -0
  436. package/dist/core/storage/policy.d.ts +7 -0
  437. package/dist/core/storage/policy.d.ts.map +1 -0
  438. package/dist/core/storage/policy.js +110 -0
  439. package/dist/core/storage/process-log.d.ts +38 -0
  440. package/dist/core/storage/process-log.d.ts.map +1 -0
  441. package/dist/core/storage/process-log.js +165 -0
  442. package/dist/core/storage/query.d.ts +34 -0
  443. package/dist/core/storage/query.d.ts.map +1 -0
  444. package/dist/core/storage/query.js +295 -0
  445. package/dist/core/storage/receipts.d.ts +23 -0
  446. package/dist/core/storage/receipts.d.ts.map +1 -0
  447. package/dist/core/storage/receipts.js +117 -0
  448. package/dist/core/storage/segments.d.ts +84 -0
  449. package/dist/core/storage/segments.d.ts.map +1 -0
  450. package/dist/core/storage/segments.js +542 -0
  451. package/dist/core/storage/sink-graph.d.ts +65 -0
  452. package/dist/core/storage/sink-graph.d.ts.map +1 -0
  453. package/dist/core/storage/sink-graph.js +213 -0
  454. package/dist/core/storage/storm-control.d.ts +23 -0
  455. package/dist/core/storage/storm-control.d.ts.map +1 -0
  456. package/dist/core/storage/storm-control.js +59 -0
  457. package/dist/core/work/state.d.ts.map +1 -1
  458. package/dist/core/work/state.js +10 -14
  459. package/dist/core/workflow/live-session-v3.d.ts.map +1 -1
  460. package/dist/core/workflow/live-session-v3.js +2 -1
  461. package/dist/index.d.ts +2 -0
  462. package/dist/index.d.ts.map +1 -1
  463. package/dist/index.js +2 -0
  464. package/dist/lazy-commands.d.ts +26 -0
  465. package/dist/lazy-commands.d.ts.map +1 -0
  466. package/dist/lazy-commands.js +210 -0
  467. package/dist/lib/browser/client.d.ts +11 -0
  468. package/dist/lib/browser/client.d.ts.map +1 -1
  469. package/dist/lib/browser/client.js +13 -0
  470. package/dist/lib/browser/index.d.ts +1 -0
  471. package/dist/lib/browser/index.d.ts.map +1 -1
  472. package/dist/lib/browser/standalone-html.d.ts +25 -0
  473. package/dist/lib/browser/standalone-html.d.ts.map +1 -0
  474. package/dist/lib/browser/standalone-html.js +284 -0
  475. package/dist/lib/docs-lint.d.ts +2 -0
  476. package/dist/lib/docs-lint.d.ts.map +1 -1
  477. package/dist/lib/docs-lint.js +45 -80
  478. package/dist/lib/docs-metadata-audit.d.ts +3 -0
  479. package/dist/lib/docs-metadata-audit.d.ts.map +1 -1
  480. package/dist/lib/docs-metadata-audit.js +13 -23
  481. package/dist/lib/docs-metadata-sync.d.ts +1 -0
  482. package/dist/lib/docs-metadata-sync.d.ts.map +1 -1
  483. package/dist/lib/docs-metadata-sync.js +28 -10
  484. package/dist/lib/docs-repository-view.d.ts +22 -0
  485. package/dist/lib/docs-repository-view.d.ts.map +1 -0
  486. package/dist/lib/docs-repository-view.js +185 -0
  487. package/dist/lib/http/client.d.ts +11 -5
  488. package/dist/lib/http/client.d.ts.map +1 -1
  489. package/dist/lib/http/client.js +22 -4
  490. package/dist/lib/http/index.d.ts +1 -1
  491. package/dist/lib/http/index.d.ts.map +1 -1
  492. package/dist/lib/http/index.js +1 -1
  493. package/dist/lib/indexer-exclusions.d.ts +27 -0
  494. package/dist/lib/indexer-exclusions.d.ts.map +1 -0
  495. package/dist/lib/indexer-exclusions.js +176 -0
  496. package/dist/lib/instructions/apply.d.ts.map +1 -1
  497. package/dist/lib/instructions/apply.js +1 -0
  498. package/dist/lib/instructions/templates.d.ts +2 -0
  499. package/dist/lib/instructions/templates.d.ts.map +1 -1
  500. package/dist/lib/instructions/templates.js +149 -4
  501. package/dist/lib/local-file-url.d.ts +9 -0
  502. package/dist/lib/local-file-url.d.ts.map +1 -0
  503. package/dist/lib/local-file-url.js +20 -0
  504. package/dist/lib/web-performance.d.ts +118 -0
  505. package/dist/lib/web-performance.d.ts.map +1 -0
  506. package/dist/lib/web-performance.js +192 -0
  507. package/package.json +34 -2
  508. package/schemas/config.schema.json +58 -0
  509. package/schemas/event-v3.schema.json +3073 -581
  510. package/src/commander.ts +462 -93
  511. package/src/commands/agents.ts +617 -355
  512. package/src/commands/backup.ts +18 -14
  513. package/src/commands/browse-session.ts +12 -0
  514. package/src/commands/browse.ts +31 -9
  515. package/src/commands/conversations.ts +279 -0
  516. package/src/commands/decision.ts +8 -2
  517. package/src/commands/deinit.ts +6 -0
  518. package/src/commands/docs.ts +25 -6
  519. package/src/commands/doctor.ts +75 -9
  520. package/src/commands/events.ts +21 -1
  521. package/src/commands/fetch.ts +7 -6
  522. package/src/commands/files.ts +143 -0
  523. package/src/commands/governor.ts +13 -12
  524. package/src/commands/inbox.ts +61 -0
  525. package/src/commands/init.ts +78 -16
  526. package/src/commands/ledger-v3.ts +421 -1
  527. package/src/commands/logs.ts +224 -0
  528. package/src/commands/messages.ts +61 -0
  529. package/src/commands/outline.ts +6 -2
  530. package/src/commands/presence.ts +7 -2
  531. package/src/commands/read.ts +6 -2
  532. package/src/commands/semantic.ts +244 -0
  533. package/src/commands/storage.ts +310 -0
  534. package/src/commands/tunnel.ts +66 -52
  535. package/src/commands/web.ts +92 -7
  536. package/src/commands/work.ts +3 -3
  537. package/src/commands/workflow.ts +13 -13
  538. package/src/core/agents/canonical-emit.ts +15 -0
  539. package/src/core/agents/claim-path.ts +23 -0
  540. package/src/core/agents/cli.ts +259 -53
  541. package/src/core/agents/coord-client.ts +92 -8
  542. package/src/core/agents/live-authority-v3.ts +342 -14
  543. package/src/core/agents/live-lifecycle-v3.ts +14 -4
  544. package/src/core/agents/live-observation-v3.ts +13 -3
  545. package/src/core/agents/render/prompt-context.ts +40 -16
  546. package/src/core/agents/rules/stop-hook.ts +129 -25
  547. package/src/core/agents/rules/verdict.ts +1 -0
  548. package/src/core/agents/session-events.ts +4 -0
  549. package/src/core/agents/session-finalization-state-v3.ts +1 -1
  550. package/src/core/agents/session-finalizer-v3.ts +4 -1
  551. package/src/core/agents/session-name-display.ts +9 -1
  552. package/src/core/agents/state/activity-log.ts +7 -2
  553. package/src/core/agents/state/heartbeat-reader.ts +69 -0
  554. package/src/core/agents/state/heartbeat-writer.ts +47 -84
  555. package/src/core/agents/state/live-coordination-view.ts +17 -81
  556. package/src/core/agents/state/live-coordination-writer.ts +141 -0
  557. package/src/core/agents/state/names.ts +190 -182
  558. package/src/core/agents/state/stale-sweep.ts +25 -5
  559. package/src/core/artifacts/constants.ts +4 -0
  560. package/src/core/artifacts/index.ts +113 -8
  561. package/src/core/config.ts +126 -5
  562. package/src/core/conversations/archive.ts +237 -0
  563. package/src/core/conversations/catalog.ts +79 -0
  564. package/src/core/conversations/context-pack.ts +72 -0
  565. package/src/core/conversations/contract.ts +178 -0
  566. package/src/core/conversations/evaluation.ts +30 -0
  567. package/src/core/conversations/index.ts +9 -0
  568. package/src/core/conversations/lifecycle.ts +63 -0
  569. package/src/core/conversations/normalize.ts +105 -0
  570. package/src/core/conversations/query.ts +318 -0
  571. package/src/core/conversations/search-index.ts +48 -0
  572. package/src/core/events/legacy-storage/canary.ts +177 -0
  573. package/src/core/events/legacy-storage/fence.ts +129 -0
  574. package/src/core/events/legacy-storage/index.ts +5 -0
  575. package/src/core/events/legacy-storage/inventory.ts +51 -0
  576. package/src/core/events/legacy-storage/manifest.ts +136 -0
  577. package/src/core/events/legacy-storage/reader.ts +178 -0
  578. package/src/core/events/v3/authority-outbox.ts +22 -1
  579. package/src/core/events/v3/base-contract.ts +56 -7
  580. package/src/core/events/v3/bootstrap.ts +195 -2
  581. package/src/core/events/v3/capabilities.ts +37 -3
  582. package/src/core/events/v3/control-witness.ts +339 -0
  583. package/src/core/events/v3/control-writer.ts +16 -0
  584. package/src/core/events/v3/control.ts +54 -18
  585. package/src/core/events/v3/coordination-transaction-recovery.ts +477 -0
  586. package/src/core/events/v3/coordination-view.ts +17 -1
  587. package/src/core/events/v3/generated.ts +1 -1
  588. package/src/core/events/v3/index.ts +26 -2
  589. package/src/core/events/v3/latency.ts +213 -2
  590. package/src/core/events/v3/live-route-observer.ts +80 -0
  591. package/src/core/events/v3/live-routing.ts +182 -45
  592. package/src/core/events/v3/producers/command-recorder.ts +10 -1
  593. package/src/core/events/v3/producers/coordination-recorder.ts +112 -15
  594. package/src/core/events/v3/producers/diagnostic-summaries.ts +593 -0
  595. package/src/core/events/v3/producers/hook-base.ts +116 -2
  596. package/src/core/events/v3/producers/intake.ts +48 -2
  597. package/src/core/events/v3/producers/producer-state-observer.ts +52 -0
  598. package/src/core/events/v3/producers/recorder.ts +1403 -30
  599. package/src/core/events/v3/reader.ts +243 -2
  600. package/src/core/events/v3/rotation-config.ts +98 -0
  601. package/src/core/events/v3/runtime-build.ts +41 -0
  602. package/src/core/events/v3/runtime-identity.ts +16 -0
  603. package/src/core/events/v3/runtime-telemetry-capabilities.ts +143 -0
  604. package/src/core/events/v3/support-storage/classify.ts +209 -0
  605. package/src/core/events/v3/support-storage/eligibility.ts +58 -0
  606. package/src/core/events/v3/support-storage/index.ts +9 -0
  607. package/src/core/events/v3/support-storage/inventory.ts +135 -0
  608. package/src/core/events/v3/support-storage/logical-authority.ts +117 -0
  609. package/src/core/events/v3/support-storage/maintenance.ts +501 -0
  610. package/src/core/events/v3/support-storage/pack-contract.ts +337 -0
  611. package/src/core/events/v3/support-storage/pack-reader.ts +346 -0
  612. package/src/core/events/v3/support-storage/pack-writer.ts +352 -0
  613. package/src/core/events/v3/support-storage/recovery.ts +43 -0
  614. package/src/core/events/v3/turn-telemetry.ts +66 -5
  615. package/src/core/events/v3/writer.ts +168 -16
  616. package/src/core/governor/plan-read.ts +5 -18
  617. package/src/core/governor/planning.ts +5 -8
  618. package/src/core/governor/service-read.ts +320 -2
  619. package/src/core/governor/service.ts +49 -22
  620. package/src/core/guard/evidence-v3.ts +1 -0
  621. package/src/core/hooks/adapter/events.ts +1 -0
  622. package/src/core/hooks/adapter/output.ts +12 -5
  623. package/src/core/hooks/adapter/parse.ts +16 -0
  624. package/src/core/hooks/adapter/runtime-telemetry.ts +1200 -0
  625. package/src/core/hooks/cli.ts +342 -64
  626. package/src/core/hooks/effects/image-capture.ts +4 -1
  627. package/src/core/hooks/remediation-cap.ts +83 -0
  628. package/src/core/hooks/resolve/coord-root.ts +91 -11
  629. package/src/core/hooks/resolve/owner.ts +4 -0
  630. package/src/core/hooks/resolve/transcript.ts +55 -11
  631. package/src/core/inbox/contract.ts +81 -0
  632. package/src/core/inbox/index.ts +4 -0
  633. package/src/core/inbox/lifecycle.ts +104 -0
  634. package/src/core/inbox/service.ts +305 -0
  635. package/src/core/inbox/watcher.ts +36 -0
  636. package/src/core/presence/codec-digest.ts +15 -9
  637. package/src/core/presence/relay-client.ts +55 -7
  638. package/src/core/semantic/adapters.ts +452 -0
  639. package/src/core/semantic/contract.ts +430 -0
  640. package/src/core/semantic/evidence.ts +336 -0
  641. package/src/core/semantic/index.ts +201 -0
  642. package/src/core/semantic/once.ts +496 -0
  643. package/src/core/semantic/prompt.ts +96 -0
  644. package/src/core/semantic/review.ts +803 -0
  645. package/src/core/semantic/routes.ts +30 -0
  646. package/src/core/semantic/scheduler.ts +151 -0
  647. package/src/core/semantic/service-status.ts +212 -0
  648. package/src/core/semantic/service.ts +681 -0
  649. package/src/core/semantic/soak.ts +638 -0
  650. package/src/core/semantic/storage.ts +300 -0
  651. package/src/core/semantic/usage.ts +272 -0
  652. package/src/core/semantic/validate.ts +243 -0
  653. package/src/core/storage/buffer.ts +124 -0
  654. package/src/core/storage/builtins.ts +916 -0
  655. package/src/core/storage/catalog.ts +467 -0
  656. package/src/core/storage/config.ts +423 -0
  657. package/src/core/storage/contract.ts +342 -0
  658. package/src/core/storage/durable-history.ts +738 -0
  659. package/src/core/storage/health.ts +76 -0
  660. package/src/core/storage/index.ts +15 -0
  661. package/src/core/storage/inventory.ts +859 -0
  662. package/src/core/storage/jsonl.ts +213 -0
  663. package/src/core/storage/log-retention.ts +555 -0
  664. package/src/core/storage/logger.ts +546 -0
  665. package/src/core/storage/maintenance-providers.ts +200 -0
  666. package/src/core/storage/maintenance.ts +929 -0
  667. package/src/core/storage/metrics.ts +199 -0
  668. package/src/core/storage/policy.ts +141 -0
  669. package/src/core/storage/process-log.ts +203 -0
  670. package/src/core/storage/query.ts +360 -0
  671. package/src/core/storage/receipts.ts +162 -0
  672. package/src/core/storage/segments.ts +721 -0
  673. package/src/core/storage/sink-graph.ts +343 -0
  674. package/src/core/storage/storm-control.ts +91 -0
  675. package/src/core/work/state.ts +12 -21
  676. package/src/core/workflow/live-session-v3.ts +2 -4
  677. package/src/index.ts +2 -0
  678. package/src/lazy-commands.ts +294 -0
  679. package/src/lib/browser/client.ts +21 -0
  680. package/src/lib/browser/index.ts +4 -0
  681. package/src/lib/browser/standalone-html.ts +312 -0
  682. package/src/lib/docs-lint.ts +58 -77
  683. package/src/lib/docs-metadata-audit.ts +26 -21
  684. package/src/lib/docs-metadata-sync.ts +32 -9
  685. package/src/lib/docs-repository-view.ts +220 -0
  686. package/src/lib/http/client.ts +44 -8
  687. package/src/lib/http/index.ts +6 -1
  688. package/src/lib/indexer-exclusions.ts +173 -0
  689. package/src/lib/instructions/apply.ts +1 -0
  690. package/src/lib/instructions/templates.ts +154 -4
  691. package/src/lib/local-file-url.ts +31 -0
  692. package/src/lib/web-performance.ts +335 -0
@@ -0,0 +1,342 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { chmodSync, closeSync, existsSync, fsyncSync, linkSync, mkdirSync, openSync, readdirSync, readFileSync, unlinkSync, writeFileSync, } from "node:fs";
3
+ import { join } from "node:path";
4
+ import { fsyncParentDirectory } from "../../workflow/durable-record.js";
5
+ import { authorityRecoveryIntentPathV3, readAuthorityTransactionV3, } from "./authority-outbox.js";
6
+ import { canonicalJsonV3, sha256V3 } from "./canonical.js";
7
+ import { findPendingCoordinationTransactionV3, withPendingCoordinationTransactionRecoveryV3, } from "./producers/coordination-recorder.js";
8
+ import { readLedgerV3 } from "./reader.js";
9
+ import { ensureEventV3Layout } from "./writer.js";
10
+ const SHA256_PATTERN = /^sha256:[a-f0-9]{64}$/;
11
+ const TX_PATTERN = /^txn_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;
12
+ const INSTANCE_PATTERN = /^inst_[a-zA-Z0-9._-]{1,128}$/;
13
+ const PRODUCER_STATE_PATTERN = /^hid_[a-f0-9]{64}\.json$/;
14
+ const APPROVAL_PATTERN = /^[a-zA-Z0-9][a-zA-Z0-9._:/-]{0,199}$/;
15
+ /**
16
+ * Abandon one authority transaction only after proving that normal recovery is
17
+ * impossible and that its event never entered the ledger or ready spool.
18
+ */
19
+ export function quarantineConflictingCoordinationTransactionV3(coordRoot, input) {
20
+ assertTransactionId(input.transaction_id);
21
+ assertInstanceId(input.actor_instance_id);
22
+ assertDigest(input.observed_current_state_digest, "observed current state digest");
23
+ assertApprovalRecordId(input.approval_record_id);
24
+ const paths = recoveryPaths(coordRoot, input.transaction_id);
25
+ ensureRecoveryLayout(paths);
26
+ if (existsSync(paths.receipt)) {
27
+ const receipt = readReceipt(paths.receipt);
28
+ assertRecoveryBinding(receipt, input);
29
+ removeIfExists(paths.intent);
30
+ return receipt;
31
+ }
32
+ let intent;
33
+ let transaction;
34
+ let serializedTransaction;
35
+ const recoveryAlreadyStarted = existsSync(paths.intent);
36
+ if (recoveryAlreadyStarted) {
37
+ intent = readIntent(paths.intent);
38
+ assertRecoveryBinding(intent, input);
39
+ ({ transaction, serialized: serializedTransaction } = readQuarantinedOrReadyTransaction(paths));
40
+ assertTransactionMatchesIntent(transaction, serializedTransaction, intent);
41
+ }
42
+ else {
43
+ if (!existsSync(paths.ready)) {
44
+ throw new Error("authority transaction is not ready for recovery");
45
+ }
46
+ transaction = readAuthorityTransactionV3(paths.ready);
47
+ serializedTransaction = readFileSync(paths.ready, "utf8");
48
+ if (transaction.actor_instance_id !== input.actor_instance_id) {
49
+ throw new Error("authority transaction actor does not match the recovery target");
50
+ }
51
+ if (input.observed_current_state_digest === transaction.expected_prior_state_digest ||
52
+ input.observed_current_state_digest === transaction.desired_state_digest) {
53
+ throw new Error("authority transaction is still reconcilable and cannot be quarantined");
54
+ }
55
+ assertEventNeverCommitted(coordRoot, transaction.event_id, paths.committed);
56
+ const pending = findPendingCoordinationTransactionV3(coordRoot, transaction.transaction_id);
57
+ if (!pending)
58
+ throw new Error("authority transaction has no matching pending producer state");
59
+ if (canonicalJsonV3(pending.transaction) !== canonicalJsonV3(transaction)) {
60
+ throw new Error("authority outbox and producer state transactions do not match");
61
+ }
62
+ const createdAt = (input.now ?? (() => new Date()))().toISOString();
63
+ intent = {
64
+ format: "harnery-v3-coordination-transaction-quarantine-intent",
65
+ format_version: 1,
66
+ ...transactionFacts(transaction, serializedTransaction),
67
+ observed_current_state_digest: input.observed_current_state_digest,
68
+ approval_record_id: input.approval_record_id,
69
+ producer_state_file: pending.producer_state_file,
70
+ reason: "current_state_conflict",
71
+ created_at: createdAt,
72
+ };
73
+ }
74
+ return withPendingCoordinationTransactionRecoveryV3(coordRoot, intent.producer_state_file, transaction, recoveryAlreadyStarted, ({ clearPending }) => {
75
+ assertEventNeverCommitted(coordRoot, transaction.event_id, paths.committed);
76
+ publishCanonicalExclusive(paths.intent, intent);
77
+ input.onStep?.("intent_published");
78
+ publishSerializedExclusive(paths.quarantine, serializedTransaction);
79
+ input.onStep?.("transaction_quarantined");
80
+ clearPending();
81
+ input.onStep?.("producer_pending_cleared");
82
+ if (existsSync(paths.ready)) {
83
+ if (readFileSync(paths.ready, "utf8") !== serializedTransaction) {
84
+ throw new Error("authority ready transaction changed during recovery");
85
+ }
86
+ unlinkSync(paths.ready);
87
+ fsyncParentDirectory(paths.ready);
88
+ }
89
+ input.onStep?.("outbox_ready_removed");
90
+ const receipt = {
91
+ format: "harnery-v3-coordination-transaction-quarantine-receipt",
92
+ format_version: 1,
93
+ ...commonIntentFields(intent),
94
+ completed_at: (input.now ?? (() => new Date()))().toISOString(),
95
+ quarantine_file: `quarantine/${input.transaction_id}.json`,
96
+ };
97
+ if (Date.parse(receipt.completed_at) < Date.parse(receipt.created_at)) {
98
+ throw new Error("authority transaction recovery clock moved backwards");
99
+ }
100
+ publishCanonicalExclusive(paths.receipt, receipt);
101
+ input.onStep?.("receipt_committed");
102
+ removeIfExists(paths.intent);
103
+ return receipt;
104
+ });
105
+ }
106
+ function transactionFacts(transaction, serialized) {
107
+ return {
108
+ transaction_id: transaction.transaction_id,
109
+ transaction_digest: sha256V3(serialized),
110
+ event_id: transaction.event_id,
111
+ event_row_digest: sha256V3(transaction.event_row),
112
+ actor_instance_id: transaction.actor_instance_id,
113
+ subject_instance_id: transaction.subject_instance_id,
114
+ mutation_kind: transaction.mutation.kind,
115
+ expected_prior_state_digest: transaction.expected_prior_state_digest,
116
+ desired_state_digest: transaction.desired_state_digest,
117
+ };
118
+ }
119
+ function commonIntentFields(intent) {
120
+ const { format: _format, format_version: _formatVersion, ...common } = intent;
121
+ return common;
122
+ }
123
+ function assertEventNeverCommitted(coordRoot, eventId, committedReceiptPath) {
124
+ if (existsSync(committedReceiptPath)) {
125
+ throw new Error("authority transaction already has a committed receipt");
126
+ }
127
+ if (readLedgerV3(coordRoot).events.some(({ event }) => event.event_id === eventId)) {
128
+ throw new Error("authority transaction event is already present in the ledger");
129
+ }
130
+ const spool = ensureEventV3Layout(coordRoot).spool;
131
+ for (const name of readdirSync(spool)
132
+ .filter((entry) => entry.endsWith(".ready"))
133
+ .sort()) {
134
+ let event;
135
+ try {
136
+ event = JSON.parse(readFileSync(join(spool, name), "utf8"));
137
+ }
138
+ catch {
139
+ throw new Error("V3 ready spool is unreadable during authority recovery");
140
+ }
141
+ if (event &&
142
+ typeof event === "object" &&
143
+ !Array.isArray(event) &&
144
+ event.event_id === eventId) {
145
+ throw new Error("authority transaction event is already present in the ready spool");
146
+ }
147
+ }
148
+ }
149
+ function readQuarantinedOrReadyTransaction(paths) {
150
+ const path = existsSync(paths.quarantine) ? paths.quarantine : paths.ready;
151
+ if (!existsSync(path))
152
+ throw new Error("authority transaction recovery lost its durable record");
153
+ return { transaction: readAuthorityTransactionV3(path), serialized: readFileSync(path, "utf8") };
154
+ }
155
+ function assertTransactionMatchesIntent(transaction, serialized, intent) {
156
+ const facts = transactionFacts(transaction, serialized);
157
+ for (const [key, value] of Object.entries(facts)) {
158
+ if (intent[key] !== value) {
159
+ throw new Error("authority transaction recovery intent no longer matches its transaction");
160
+ }
161
+ }
162
+ }
163
+ function assertRecoveryBinding(record, input) {
164
+ if (record.transaction_id !== input.transaction_id ||
165
+ record.actor_instance_id !== input.actor_instance_id ||
166
+ record.approval_record_id !== input.approval_record_id) {
167
+ throw new Error("authority transaction recovery record does not match this request");
168
+ }
169
+ }
170
+ function recoveryPaths(coordRoot, transactionId) {
171
+ const ledger = ensureEventV3Layout(coordRoot);
172
+ const root = join(ledger.root, "authority-recoveries");
173
+ return {
174
+ root,
175
+ quarantineRoot: join(root, "quarantine"),
176
+ intent: authorityRecoveryIntentPathV3(coordRoot, transactionId),
177
+ receipt: join(root, `${transactionId}.committed.json`),
178
+ quarantine: join(root, "quarantine", `${transactionId}.json`),
179
+ ready: join(ledger.authorityOutbox, `${transactionId}.ready.json`),
180
+ committed: join(ledger.authorityOutbox, `${transactionId}.committed.json`),
181
+ };
182
+ }
183
+ function ensureRecoveryLayout(paths) {
184
+ for (const path of [paths.root, paths.quarantineRoot]) {
185
+ mkdirSync(path, { recursive: true, mode: 0o700 });
186
+ chmodSync(path, 0o700);
187
+ }
188
+ }
189
+ function publishCanonicalExclusive(path, value) {
190
+ publishSerializedExclusive(path, `${canonicalJsonV3(value)}\n`);
191
+ }
192
+ function publishSerializedExclusive(path, serialized) {
193
+ if (existsSync(path)) {
194
+ if (readFileSync(path, "utf8") !== serialized) {
195
+ throw new Error("authority transaction recovery record conflicts with an existing record");
196
+ }
197
+ return;
198
+ }
199
+ const temporary = `${path}.tmp-${process.pid}-${randomUUID()}`;
200
+ let fd;
201
+ try {
202
+ fd = openSync(temporary, "wx", 0o600);
203
+ writeFileSync(fd, serialized, "utf8");
204
+ fsyncSync(fd);
205
+ closeSync(fd);
206
+ fd = undefined;
207
+ linkSync(temporary, path);
208
+ fsyncParentDirectory(path);
209
+ unlinkSync(temporary);
210
+ }
211
+ finally {
212
+ if (fd !== undefined)
213
+ closeSync(fd);
214
+ if (existsSync(temporary))
215
+ unlinkSync(temporary);
216
+ }
217
+ }
218
+ function readIntent(path) {
219
+ return readCanonicalRecord(path, validateIntent);
220
+ }
221
+ function readReceipt(path) {
222
+ return readCanonicalRecord(path, validateReceipt);
223
+ }
224
+ function readCanonicalRecord(path, validate) {
225
+ let text;
226
+ let parsed;
227
+ try {
228
+ text = readFileSync(path, "utf8");
229
+ parsed = JSON.parse(text);
230
+ }
231
+ catch {
232
+ throw new Error("authority transaction recovery record is malformed");
233
+ }
234
+ const value = validate(parsed);
235
+ if (text !== `${canonicalJsonV3(value)}\n`) {
236
+ throw new Error("authority transaction recovery record is not canonical");
237
+ }
238
+ return value;
239
+ }
240
+ function validateIntent(value) {
241
+ const record = validateCommon(value, ["format", "format_version"]);
242
+ if (record.format !== "harnery-v3-coordination-transaction-quarantine-intent" ||
243
+ record.format_version !== 1) {
244
+ throw new Error("authority transaction recovery intent is invalid");
245
+ }
246
+ return record;
247
+ }
248
+ function validateReceipt(value) {
249
+ const record = validateCommon(value, [
250
+ "completed_at",
251
+ "format",
252
+ "format_version",
253
+ "quarantine_file",
254
+ ]);
255
+ if (record.format !== "harnery-v3-coordination-transaction-quarantine-receipt" ||
256
+ record.format_version !== 1 ||
257
+ !timestamp(record.completed_at) ||
258
+ Date.parse(String(record.completed_at)) < Date.parse(String(record.created_at)) ||
259
+ record.quarantine_file !== `quarantine/${record.transaction_id}.json`) {
260
+ throw new Error("authority transaction recovery receipt is invalid");
261
+ }
262
+ return record;
263
+ }
264
+ function validateCommon(value, extraKeys) {
265
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
266
+ throw new Error("authority transaction recovery record is invalid");
267
+ }
268
+ const record = value;
269
+ const commonKeys = [
270
+ "actor_instance_id",
271
+ "approval_record_id",
272
+ "created_at",
273
+ "desired_state_digest",
274
+ "event_id",
275
+ "event_row_digest",
276
+ "expected_prior_state_digest",
277
+ "mutation_kind",
278
+ "observed_current_state_digest",
279
+ "producer_state_file",
280
+ "reason",
281
+ "subject_instance_id",
282
+ "transaction_digest",
283
+ "transaction_id",
284
+ ];
285
+ if (Object.keys(record).sort().join("\0") !== [...commonKeys, ...extraKeys].sort().join("\0")) {
286
+ throw new Error("authority transaction recovery record has unsupported fields");
287
+ }
288
+ if (typeof record.transaction_id !== "string" ||
289
+ !TX_PATTERN.test(record.transaction_id) ||
290
+ typeof record.transaction_digest !== "string" ||
291
+ !SHA256_PATTERN.test(record.transaction_digest) ||
292
+ typeof record.event_id !== "string" ||
293
+ record.event_id.length === 0 ||
294
+ typeof record.event_row_digest !== "string" ||
295
+ !SHA256_PATTERN.test(record.event_row_digest) ||
296
+ typeof record.actor_instance_id !== "string" ||
297
+ !INSTANCE_PATTERN.test(record.actor_instance_id) ||
298
+ typeof record.subject_instance_id !== "string" ||
299
+ !INSTANCE_PATTERN.test(record.subject_instance_id) ||
300
+ typeof record.mutation_kind !== "string" ||
301
+ record.mutation_kind.length === 0 ||
302
+ typeof record.expected_prior_state_digest !== "string" ||
303
+ !SHA256_PATTERN.test(record.expected_prior_state_digest) ||
304
+ typeof record.desired_state_digest !== "string" ||
305
+ !SHA256_PATTERN.test(record.desired_state_digest) ||
306
+ typeof record.observed_current_state_digest !== "string" ||
307
+ !SHA256_PATTERN.test(record.observed_current_state_digest) ||
308
+ typeof record.approval_record_id !== "string" ||
309
+ !APPROVAL_PATTERN.test(record.approval_record_id) ||
310
+ typeof record.producer_state_file !== "string" ||
311
+ !PRODUCER_STATE_PATTERN.test(record.producer_state_file) ||
312
+ record.reason !== "current_state_conflict" ||
313
+ !timestamp(record.created_at)) {
314
+ throw new Error("authority transaction recovery record values are invalid");
315
+ }
316
+ return record;
317
+ }
318
+ function assertTransactionId(value) {
319
+ if (!TX_PATTERN.test(value))
320
+ throw new Error("authority transaction ID is invalid");
321
+ }
322
+ function assertInstanceId(value) {
323
+ if (!INSTANCE_PATTERN.test(value))
324
+ throw new Error("authority recovery actor is invalid");
325
+ }
326
+ function assertDigest(value, label) {
327
+ if (!SHA256_PATTERN.test(value))
328
+ throw new Error(`${label} is invalid`);
329
+ }
330
+ function assertApprovalRecordId(value) {
331
+ if (!APPROVAL_PATTERN.test(value))
332
+ throw new Error("approval record ID is invalid");
333
+ }
334
+ function timestamp(value) {
335
+ return typeof value === "string" && Number.isFinite(Date.parse(value));
336
+ }
337
+ function removeIfExists(path) {
338
+ if (!existsSync(path))
339
+ return;
340
+ unlinkSync(path);
341
+ fsyncParentDirectory(path);
342
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"coordination-view.d.ts","sourceRoot":"","sources":["../../../../src/core/events/v3/coordination-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coordination-view.d.ts","sourceRoot":"","sources":["../../../../src/core/events/v3/coordination-view.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,16 @@ export class CoordinationViewV3Error extends Error {
9
9
  this.name = "CoordinationViewV3Error";
10
10
  }
11
11
  }
12
+ /**
13
+ * A canonical ledger read is immutable and readLedgerV3 returns the same result
14
+ * object until the authority changes. Several web helpers derive the
15
+ * coordination view independently during one server render; without this
16
+ * cache each helper reduces the complete append-only history again.
17
+ *
18
+ * Weak keys bind the projection lifetime to the reader snapshot. A newly
19
+ * appended event produces a new ReadLedgerV3Result and therefore a fresh view.
20
+ */
21
+ const coordinationViewCacheV3 = new WeakMap();
12
22
  /** Read the complete V3 catalog and derive the disposable coordination view. */
13
23
  export function readCoordinationViewV3(coordRoot) {
14
24
  return projectCoordinationViewV3(readLedgerV3(coordRoot));
@@ -18,6 +28,9 @@ export function readCoordinationViewV3(coordRoot) {
18
28
  * finalization, web, and Codec adapters. This function performs no writes.
19
29
  */
20
30
  export function projectCoordinationViewV3(read) {
31
+ const cached = coordinationViewCacheV3.get(read);
32
+ if (cached)
33
+ return cached;
21
34
  const safety = reduceSafetyProjectionV3(read);
22
35
  const starts = new Map();
23
36
  const eventGeneration = new Map();
@@ -97,7 +110,7 @@ export function projectCoordinationViewV3(read) {
97
110
  instances[state.instance_id] = view;
98
111
  }
99
112
  }
100
- return {
113
+ const view = {
101
114
  projection_version: EVENT_V3_COORDINATION_VIEW_VERSION,
102
115
  contract_major: 2,
103
116
  reducer_build_id: EVENT_V3_SAFETY_REDUCER_BUILD,
@@ -110,6 +123,8 @@ export function projectCoordinationViewV3(read) {
110
123
  decisions: safety.decisions,
111
124
  health: safety.health,
112
125
  };
126
+ coordinationViewCacheV3.set(read, view);
127
+ return view;
113
128
  }
114
129
  /** Refuse authority decisions while still allowing callers to render diagnostics. */
115
130
  export function requireAuthoritySafeCoordinationViewV3(view) {
@@ -1,4 +1,4 @@
1
1
  /** Generated by scripts/generate-event-v3-contract.ts. Do not edit. */
2
- export declare const EVENT_V3_SCHEMA_DIGEST: "sha256:682272a35f16177217a272e119c4dea2bf1980a522a183fefd6dceaf1e4509b8";
2
+ export declare const EVENT_V3_SCHEMA_DIGEST: "sha256:bdcee8d7839add0c786740ba9d5cfd0b6573f0ad4974bf53272737468734aa36";
3
3
  export declare const EVENT_V3_GENERATED_CORE_TYPES: readonly ["ledger.genesis", "ledger.activated", "ledger.schema_advanced", "ledger.comparability_advanced", "session.started", "session.attestation_changed", "session.resumed", "session.ended", "session.termination_observed", "run.started", "run.completed", "turn.started", "turn.completed", "tool.requested", "tool.completed", "command.started", "command.output_observed", "command.completed", "context.observed", "context.compaction_started", "context.compaction_completed", "context.checkpointed", "context.recovery_injected", "agent.delegated", "agent.started", "agent.completed", "artifact.observed", "progress.observed", "coord.task_changed", "coord.lifecycle_changed", "coord.status_observed", "coord.claim_changed", "coord.presence_changed", "coord.message_observed", "coord.identity_attested", "council.state_changed", "decision.state_changed", "lifecycle.recovered", "lifecycle.sweep_observed", "health.observed", "wait.started", "wait.ended", "health.capability_drift"];
4
4
  //# sourceMappingURL=generated.d.ts.map
@@ -1,5 +1,5 @@
1
1
  /** Generated by scripts/generate-event-v3-contract.ts. Do not edit. */
2
- export const EVENT_V3_SCHEMA_DIGEST = "sha256:682272a35f16177217a272e119c4dea2bf1980a522a183fefd6dceaf1e4509b8";
2
+ export const EVENT_V3_SCHEMA_DIGEST = "sha256:bdcee8d7839add0c786740ba9d5cfd0b6573f0ad4974bf53272737468734aa36";
3
3
  export const EVENT_V3_GENERATED_CORE_TYPES = [
4
4
  "ledger.genesis",
5
5
  "ledger.activated",
@@ -3,20 +3,22 @@ export { type AuthorityMutationV3, type AuthorityReceiptV3, type AuthorityReconc
3
3
  export { ensureEventLedgerV3, type InitializeEventLedgerV3Input, type InitializeEventLedgerV3Result, initializeEventLedgerV3, } from "./bootstrap.js";
4
4
  export { type BuildEventV3Input, buildEventV3 } from "./builder.js";
5
5
  export { canonicalJsonV3, EVENT_V3_CANONICALIZER, type FingerprintContextV3, type FingerprintV3, fingerprintV3, normalizeNativeIdV3, sha256V3, } from "./canonical.js";
6
- export { ADAPTER_CAPABILITY_PROFILES_V3, type AdapterCapabilityProfileV3, type AdapterSignalV3, adapterCapabilityProfileDigestV3, adapterCapabilityProfileV3, adapterSignalSupportV3, type CapabilitySupportV3, } from "./capabilities.js";
6
+ export { ADAPTER_CAPABILITY_PROFILES_V3, ADAPTER_WAIT_KINDS_V3, type AdapterCapabilityProfileV3, type AdapterSignalV3, type AdapterWaitKindV3, adapterCapabilityProfileDigestV3, adapterCapabilityProfileV3, adapterSignalSupportV3, adapterWaitCoverageMatrixV3, adapterWaitKindSupportV3, type CapabilitySupportV3, type CursorExecutionModeV3, type WaitKindCapabilityV3, } from "./capabilities.js";
7
7
  export { type CapabilityDeliveryV3, type CapabilityDriftPayloadV3, capabilityDriftPayloadsV3, measurableDeliveriesV3, } from "./capability-drift.js";
8
8
  export { EVENT_V3_CONTRACT_MAJOR, EVENT_V3_CONTRACT_NAME, EVENT_V3_CORE_EVENT_TYPES, EVENT_V3_SCHEMA_ID, type EventOfTypeV3, type EventPayloadV3, type EventTypeV3, type EventV3, EventV3Schema, ObservationV3Schema, OutcomeV3Schema, RecoveryV3Schema, type SpanSummaryV3, SpanSummaryV3Schema, type TurnHarnessV3, type TurnInferenceV3, type TurnUsageV3, type WaitKindV3, WaitKindV3Schema, } from "./contract.js";
9
- export { type ActivationManifestV3, type BuildActivationManifestV3Input, type BuildCandidateGenesisManifestV3Input, buildActivationManifestV3, buildCandidateGenesisManifestV3, type CandidateGenesisManifestV3, type CandidateProfileV3, type ControlManifestValidationV3, type ControlProducerV3, candidateManifestDigestV3, candidateProfileDigestV3, EVENT_V3_ACTIVATION_MANIFEST, EVENT_V3_GENESIS_MANIFEST, type EventV3ControlState, type EventV3WriteMode, eventV3WriteGateOpen, readEventV3ControlState, repairEventV3ControlPair, validateActivationManifestV3, validateCandidateGenesisManifestV3, } from "./control.js";
9
+ export { type ActivationManifestV3, type BuildActivationManifestV3Input, type BuildCandidateGenesisManifestV3Input, buildActivationManifestV3, buildCandidateGenesisManifestV3, type CandidateGenesisManifestV3, type CandidateProfileV3, type ControlManifestValidationV3, type ControlProducerV3, candidateManifestDigestV3, candidateProfileDigestV3, EVENT_V3_ACTIVATION_MANIFEST, EVENT_V3_GENESIS_MANIFEST, type EventV3ControlState, type EventV3WriteMode, eventV3WriteGateOpen, readEventV3ControlState, validateActivationManifestV3, validateCandidateGenesisManifestV3, } from "./control.js";
10
+ export { repairEventV3ControlPair } from "./control-writer.js";
10
11
  export { type CoordinationGenerationViewV3, type CoordinationViewV3, CoordinationViewV3Error, EVENT_V3_COORDINATION_VIEW_VERSION, projectCoordinationViewV3, readCoordinationViewV3, requireAuthoritySafeCoordinationViewV3, } from "./coordination-view.js";
11
12
  export { type CostMetricV3, type DelegationRollupDiagnosticCodeV3, type DelegationRollupV3, type EconomicsProjectionOptionsV3, type EconomicsProjectionV3, EVENT_V3_ECONOMICS_PROJECTION_VERSION, type GenerationEconomicsV3, type ModelPricingV3, projectDelegationRollupV3, projectEconomicsV3, type TokenTotalsMetricV3, type TokenTotalsV3, type TurnEconomicsV3, } from "./economics.js";
12
13
  export { EVENT_V3_FINALIZATION_VIEW_VERSION, type FinalizationScopeV3, FinalizationScopeV3Error, type FinalizationScopeV3ErrorCode, projectFinalizationScopeV3, readFinalizationScopeV3, } from "./finalization-view.js";
13
14
  export { FINGERPRINT_KEY_STORE_RELATIVE_PATH, type FingerprintKeyEpochV3, type FingerprintKeyStoreV3, fingerprintContextV3, fingerprintKeyStorePathV3, loadOrCreateFingerprintKeyStoreV3, type RotateFingerprintEpochV3Options, readFingerprintKeyStoreV3, rotateFingerprintEpochV3, } from "./fingerprint-keys.js";
14
15
  export { EVENT_V3_SCHEMA_DIGEST } from "./generated.js";
15
16
  export { activationIdV3, attestationIdV3, clockIdV3, delegationIdV3, eventIdV3, generationIdV3, genesisIdV3, spanIdV3, } from "./ids.js";
16
- export { type ContextCoverageStateV3, type ContextCoverageV3, EVENT_V3_LATENCY_PROJECTION_VERSION, type LatencyMetricV3, type LatencyProjectionDiagnosticCodeV3, type LatencyProjectionDiagnosticV3, type LatencyProjectionV3, projectLatencyV3, type ToolLatencyV3, type TurnLatencyV3, } from "./latency.js";
17
+ export { type ContextCoverageStateV3, type ContextCoverageV3, EVENT_V3_LATENCY_PROJECTION_VERSION, type LatencyMetricV3, type LatencyProjectionDiagnosticCodeV3, type LatencyProjectionDiagnosticV3, type LatencyProjectionV3, projectLatencyV3, type ResponseLatencyV3, runtimeTelemetryEvidenceKeyV3, type ToolLatencyV3, type TurnLatencyV3, type WaitKindCompletenessV3, type WaitKindCoverageV3, } from "./latency.js";
17
18
  export { EVENT_V3_LIVE_RELATIVE_ROOT, janitorLiveDisplayV3, type LiveDisplayInputV3, type LiveDisplayJanitorResultV3, type LiveDisplayRowV3, listLiveDisplayV3, readLiveDisplayV3, safeIntentDisplayV3, tryWriteLiveDisplayV3, writeLiveDisplayV3, } from "./live-feed.js";
18
19
  export type { LiveCoordinationObservationV3 } from "./live-observation.js";
19
- export { hookSignalV3, LIVE_COMMAND_V3_PRODUCER_ID, LIVE_HOOK_V3_PRODUCER_ID, type LiveEventLedgerRouteV3, liveEventV3BuildId, liveInstanceIdV3, livePlatformV3, nativeInstanceIdV3, recordLiveHookSignalV3, resolveLiveEventLedgerRouteV3, } from "./live-routing.js";
20
+ export { type LiveEventLedgerRouteV3, observeLiveEventLedgerRouteV3, } from "./live-route-observer.js";
21
+ export { hookSignalV3, LIVE_COMMAND_V3_PRODUCER_ID, LIVE_HOOK_V3_PRODUCER_ID, liveEventV3BuildId, liveInstanceIdV3, livePlatformV3, nativeInstanceIdV3, recordLiveHookSignalV3, resolveLiveEventLedgerRouteV3, } from "./live-routing.js";
20
22
  export { type CommandObservationV3, type CommandProducerContextV3, type CommandSignalV3, normalizeCommandEventV3, } from "./producers/command.js";
21
23
  export { type RecordCommandSignalV3Input, type RecordCommandSignalV3Result, recordCommandSignalV3, } from "./producers/command-recorder.js";
22
24
  export { type ClaimChangedObservationV3, type CoordinationAuthoritySignalV3, type CoordinationObservationBySignalV3, type CoordinationProducerContextV3, type DecisionStateChangedObservationV3, type IdentityAttestedObservationV3, type LifecycleChangedObservationV3, type NormalizedCoordinationAuthorityV3, normalizeCoordinationAuthorityV3, type TaskChangedObservationV3, type WaitEndedObservationV3, type WaitStartedObservationV3, } from "./producers/coordination.js";
@@ -24,9 +26,10 @@ export { type RecordCoordinationAuthorityV3Input, type RecordCoordinationAuthori
24
26
  export { type HookEventV3, type HookProducerContextV3, normalizeHookEventV3, upgradeHookEventV3, } from "./producers/hook.js";
25
27
  export { type ApprovedSessionEndReasonV3, type DrainHookIntakeSpoolV3Result, drainHookIntakeSpoolV3, type HookProducerStateRecordV3, type HookProducerStateV3, listHookProducerStateRecordsV3, type RecordApprovedSessionEndV3Input, type RecordApprovedSessionEndV3Result, type RecordHookSignalV3Input, type RecordHookSignalV3Result, readHookProducerStateV3, recordApprovedSessionEndV3, recordHookSignalV3, } from "./producers/recorder.js";
26
28
  export { type ClaimProjectionV3, type DelegationProjectionV3, EVENT_V3_SAFETY_REDUCER_BUILD, type GenerationSafetyStateV3, reduceSafetyProjectionV3, type SafetyProjectionDiagnosticCodeV3, type SafetyProjectionDiagnosticV3, type SafetyProjectionV3, type WaitProjectionV3, } from "./projection.js";
27
- export { digestEventV3AuthorityDirectoryV3, inspectInvalidActiveAuthorityV3, type LedgerCursorV3, type LedgerDiagnosticCodeV3, type LedgerDiagnosticV3, type LedgerFrameV3, type PositionedEventV3, type ReadLedgerV3Options, type ReadLedgerV3Result, type ReadLedgerV3SinceResult, readLedgerFramesV3, readLedgerFramesV3Since, readLedgerV3, readLedgerV3Since, type SchemaAdvanceV3, } from "./reader.js";
29
+ export { digestEventV3AuthorityDirectoryV3, eventV3ActiveWatchPath, inspectInvalidActiveAuthorityV3, type LedgerCursorV3, type LedgerDiagnosticCodeV3, type LedgerDiagnosticV3, type LedgerFrameV3, type PositionedEventV3, type ReadLedgerV3Options, type ReadLedgerV3Result, type ReadLedgerV3SinceResult, readLedgerFramesV3, readLedgerFramesV3Since, readLedgerV3, readLedgerV3Since, type SchemaAdvanceV3, } from "./reader.js";
28
30
  export { type RecoverInvalidEventLedgerV3Input, type RecoverInvalidEventLedgerV3Result, recoverInvalidEventLedgerV3, } from "./recovery.js";
29
31
  export { type EventV3RecoveryDiagnostic, type EventV3RecoveryFailure, type EventV3RecoveryIntent, type EventV3RecoveryReceipt, eventV3RecoveryRecordsRoot, listEventV3RecoveryReceipts, readEventV3RecoveryIntent, readEventV3RecoveryReceipt, validateEventV3RecoveryIntent, validateEventV3RecoveryReceipt, } from "./recovery-record.js";
32
+ export { effectiveRuntimeTelemetryCapabilitiesV3, type RuntimeContextCapabilityEvidenceV3, type RuntimeTelemetryCapabilitiesV3, type RuntimeTelemetryCapabilityEvidenceV3, type RuntimeTelemetryCapabilityObservationV3, type RuntimeTelemetryCapabilityValueV3, type RuntimeTelemetryChannelV3, type RuntimeTelemetryCompletenessV3, } from "./runtime-telemetry-capabilities.js";
30
33
  export { type CloseSpanV3Input, captureSpanClockV3, closeSpanStateV3, linuxUptimeNanosecondsV3, type OpenSpanStateV3, type OpenSpanV3Input, openSpanStateV3, type SpanClockV3, } from "./span-state.js";
31
34
  export { type DescribePathTargetV3Input, describePathTargetV3, type ExtractTargetsV3Input, exactToolInputFingerprintV3, extractTargetsV3, type TargetDescriptorV3, } from "./targets.js";
32
35
  export { type ContextMeasurementV3, emptyHarnessTimingV3, extractTurnTelemetryV3, type HarnessTimingAccumulatorV3, harnessObservationV3, recordHarnessTimingV3, type TelemetryObservationV3, type TurnTelemetryV3, } from "./turn-telemetry.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/events/v3/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/events/v3/index.ts"],"names":[],"mappings":"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"}
@@ -3,18 +3,20 @@ export { buildAuthorityTransactionV3, listPendingAuthorityTransactionsV3, prepar
3
3
  export { ensureEventLedgerV3, initializeEventLedgerV3, } from "./bootstrap.js";
4
4
  export { buildEventV3 } from "./builder.js";
5
5
  export { canonicalJsonV3, EVENT_V3_CANONICALIZER, fingerprintV3, normalizeNativeIdV3, sha256V3, } from "./canonical.js";
6
- export { ADAPTER_CAPABILITY_PROFILES_V3, adapterCapabilityProfileDigestV3, adapterCapabilityProfileV3, adapterSignalSupportV3, } from "./capabilities.js";
6
+ export { ADAPTER_CAPABILITY_PROFILES_V3, ADAPTER_WAIT_KINDS_V3, adapterCapabilityProfileDigestV3, adapterCapabilityProfileV3, adapterSignalSupportV3, adapterWaitCoverageMatrixV3, adapterWaitKindSupportV3, } from "./capabilities.js";
7
7
  export { capabilityDriftPayloadsV3, measurableDeliveriesV3, } from "./capability-drift.js";
8
8
  export { EVENT_V3_CONTRACT_MAJOR, EVENT_V3_CONTRACT_NAME, EVENT_V3_CORE_EVENT_TYPES, EVENT_V3_SCHEMA_ID, EventV3Schema, ObservationV3Schema, OutcomeV3Schema, RecoveryV3Schema, SpanSummaryV3Schema, WaitKindV3Schema, } from "./contract.js";
9
- export { buildActivationManifestV3, buildCandidateGenesisManifestV3, candidateManifestDigestV3, candidateProfileDigestV3, EVENT_V3_ACTIVATION_MANIFEST, EVENT_V3_GENESIS_MANIFEST, eventV3WriteGateOpen, readEventV3ControlState, repairEventV3ControlPair, validateActivationManifestV3, validateCandidateGenesisManifestV3, } from "./control.js";
9
+ export { buildActivationManifestV3, buildCandidateGenesisManifestV3, candidateManifestDigestV3, candidateProfileDigestV3, EVENT_V3_ACTIVATION_MANIFEST, EVENT_V3_GENESIS_MANIFEST, eventV3WriteGateOpen, readEventV3ControlState, validateActivationManifestV3, validateCandidateGenesisManifestV3, } from "./control.js";
10
+ export { repairEventV3ControlPair } from "./control-writer.js";
10
11
  export { CoordinationViewV3Error, EVENT_V3_COORDINATION_VIEW_VERSION, projectCoordinationViewV3, readCoordinationViewV3, requireAuthoritySafeCoordinationViewV3, } from "./coordination-view.js";
11
12
  export { EVENT_V3_ECONOMICS_PROJECTION_VERSION, projectDelegationRollupV3, projectEconomicsV3, } from "./economics.js";
12
13
  export { EVENT_V3_FINALIZATION_VIEW_VERSION, FinalizationScopeV3Error, projectFinalizationScopeV3, readFinalizationScopeV3, } from "./finalization-view.js";
13
14
  export { FINGERPRINT_KEY_STORE_RELATIVE_PATH, fingerprintContextV3, fingerprintKeyStorePathV3, loadOrCreateFingerprintKeyStoreV3, readFingerprintKeyStoreV3, rotateFingerprintEpochV3, } from "./fingerprint-keys.js";
14
15
  export { EVENT_V3_SCHEMA_DIGEST } from "./generated.js";
15
16
  export { activationIdV3, attestationIdV3, clockIdV3, delegationIdV3, eventIdV3, generationIdV3, genesisIdV3, spanIdV3, } from "./ids.js";
16
- export { EVENT_V3_LATENCY_PROJECTION_VERSION, projectLatencyV3, } from "./latency.js";
17
+ export { EVENT_V3_LATENCY_PROJECTION_VERSION, projectLatencyV3, runtimeTelemetryEvidenceKeyV3, } from "./latency.js";
17
18
  export { EVENT_V3_LIVE_RELATIVE_ROOT, janitorLiveDisplayV3, listLiveDisplayV3, readLiveDisplayV3, safeIntentDisplayV3, tryWriteLiveDisplayV3, writeLiveDisplayV3, } from "./live-feed.js";
19
+ export { observeLiveEventLedgerRouteV3, } from "./live-route-observer.js";
18
20
  export { hookSignalV3, LIVE_COMMAND_V3_PRODUCER_ID, LIVE_HOOK_V3_PRODUCER_ID, liveEventV3BuildId, liveInstanceIdV3, livePlatformV3, nativeInstanceIdV3, recordLiveHookSignalV3, resolveLiveEventLedgerRouteV3, } from "./live-routing.js";
19
21
  export { normalizeCommandEventV3, } from "./producers/command.js";
20
22
  export { recordCommandSignalV3, } from "./producers/command-recorder.js";
@@ -23,9 +25,10 @@ export { recordCoordinationAuthorityV3, } from "./producers/coordination-recorde
23
25
  export { normalizeHookEventV3, upgradeHookEventV3, } from "./producers/hook.js";
24
26
  export { drainHookIntakeSpoolV3, listHookProducerStateRecordsV3, readHookProducerStateV3, recordApprovedSessionEndV3, recordHookSignalV3, } from "./producers/recorder.js";
25
27
  export { EVENT_V3_SAFETY_REDUCER_BUILD, reduceSafetyProjectionV3, } from "./projection.js";
26
- export { digestEventV3AuthorityDirectoryV3, inspectInvalidActiveAuthorityV3, readLedgerFramesV3, readLedgerFramesV3Since, readLedgerV3, readLedgerV3Since, } from "./reader.js";
28
+ export { digestEventV3AuthorityDirectoryV3, eventV3ActiveWatchPath, inspectInvalidActiveAuthorityV3, readLedgerFramesV3, readLedgerFramesV3Since, readLedgerV3, readLedgerV3Since, } from "./reader.js";
27
29
  export { recoverInvalidEventLedgerV3, } from "./recovery.js";
28
30
  export { eventV3RecoveryRecordsRoot, listEventV3RecoveryReceipts, readEventV3RecoveryIntent, readEventV3RecoveryReceipt, validateEventV3RecoveryIntent, validateEventV3RecoveryReceipt, } from "./recovery-record.js";
31
+ export { effectiveRuntimeTelemetryCapabilitiesV3, } from "./runtime-telemetry-capabilities.js";
29
32
  export { captureSpanClockV3, closeSpanStateV3, linuxUptimeNanosecondsV3, openSpanStateV3, } from "./span-state.js";
30
33
  export { describePathTargetV3, exactToolInputFingerprintV3, extractTargetsV3, } from "./targets.js";
31
34
  export { emptyHarnessTimingV3, extractTurnTelemetryV3, harnessObservationV3, recordHarnessTimingV3, } from "./turn-telemetry.js";
@@ -1,5 +1,7 @@
1
+ import { type AdapterWaitKindV3 } from "./capabilities.js";
1
2
  import type { ReadLedgerV3Result } from "./reader.js";
2
- export declare const EVENT_V3_LATENCY_PROJECTION_VERSION: "event-v3-latency-v1";
3
+ import type { RuntimeTelemetryCapabilitiesV3 } from "./runtime-telemetry-capabilities.js";
4
+ export declare const EVENT_V3_LATENCY_PROJECTION_VERSION: "event-v3-latency-v3";
3
5
  export type LatencyMetricV3 = {
4
6
  state: "observed";
5
7
  value_ms: number;
@@ -21,6 +23,27 @@ export interface ContextCoverageV3 {
21
23
  event_id: string | null;
22
24
  reason: string | null;
23
25
  }
26
+ export interface ResponseLatencyV3 {
27
+ /** Turn start to first tool request, or terminal response for an attested no-tool turn. */
28
+ agent_action_ms: LatencyMetricV3;
29
+ /** Turn start to first tool request; unknown with `no_tool_request` for no-tool turns. */
30
+ first_tool_request_ms: LatencyMetricV3;
31
+ /** Last complete tool terminal to the turn terminal. */
32
+ post_tool_response_ms: LatencyMetricV3;
33
+ /** Turn start to terminal response, only when an attested turn used no tools. */
34
+ no_tool_terminal_response_ms: LatencyMetricV3;
35
+ method: "canonical_event_timestamps_v1";
36
+ }
37
+ export type WaitKindCompletenessV3 = "complete" | "lower_bound" | "unknown" | "unsupported";
38
+ export interface WaitKindCoverageV3 {
39
+ kind: AdapterWaitKindV3;
40
+ started_count: number;
41
+ ended_count: number;
42
+ open_count: number;
43
+ duration_ms: LatencyMetricV3;
44
+ completeness: WaitKindCompletenessV3;
45
+ reason: string | null;
46
+ }
24
47
  export interface TurnLatencyV3 {
25
48
  generation_id: string;
26
49
  turn_id: string;
@@ -35,6 +58,7 @@ export interface TurnLatencyV3 {
35
58
  wait_ms: LatencyMetricV3;
36
59
  occupied_ms: LatencyMetricV3;
37
60
  inference_ms: LatencyMetricV3;
61
+ response_latency: ResponseLatencyV3;
38
62
  harness_ms: LatencyMetricV3;
39
63
  slowest_hook: string | null;
40
64
  slowest_hook_ms: number | null;
@@ -42,6 +66,10 @@ export interface TurnLatencyV3 {
42
66
  over_attributed_ms: number;
43
67
  context_percent: number | null;
44
68
  context_coverage: ContextCoverageV3;
69
+ telemetry_capabilities: RuntimeTelemetryCapabilitiesV3 | null;
70
+ /** Equal keys are required before a report compares telemetry-backed values. */
71
+ telemetry_evidence_key: `sha256:${string}` | null;
72
+ wait_coverage_by_kind: Record<AdapterWaitKindV3, WaitKindCoverageV3>;
45
73
  span_counts: {
46
74
  tool: number;
47
75
  command: number;
@@ -60,4 +88,6 @@ export interface LatencyProjectionV3 {
60
88
  diagnostics: LatencyProjectionDiagnosticV3[];
61
89
  }
62
90
  export declare function projectLatencyV3(read: ReadLedgerV3Result): LatencyProjectionV3;
91
+ /** Reports may compare a telemetry-backed channel only inside one evidence key. */
92
+ export declare function runtimeTelemetryEvidenceKeyV3(telemetry: RuntimeTelemetryCapabilitiesV3): `sha256:${string}`;
63
93
  //# sourceMappingURL=latency.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"latency.d.ts","sourceRoot":"","sources":["../../../../src/core/events/v3/latency.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,eAAO,MAAM,mCAAmC,EAAG,qBAA8B,CAAC;AAElF,MAAM,MAAM,eAAe,GACvB;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEvF,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,MAAM,sBAAsB,GAC9B,UAAU,GACV,SAAS,GACT,aAAa,GACb,sBAAsB,CAAC;AAE3B,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,sBAAsB,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,eAAe,CAAC;IACzB,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,UAAU,EAAE,eAAe,CAAC;IAC5B,oBAAoB,EAAE,eAAe,CAAC;IACtC,OAAO,EAAE,eAAe,CAAC;IACzB,WAAW,EAAE,eAAe,CAAC;IAC7B,YAAY,EAAE,eAAe,CAAC;IAC9B,UAAU,EAAE,eAAe,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,eAAe,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC;AAED,MAAM,MAAM,iCAAiC,GACzC,yBAAyB,GACzB,yBAAyB,GACzB,mBAAmB,GACnB,kCAAkC,GAClC,iBAAiB,CAAC;AAEtB,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,iCAAiC,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,OAAO,mCAAmC,CAAC;IAC/D,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,WAAW,EAAE,6BAA6B,EAAE,CAAC;CAC9C;AAqBD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,GAAG,mBAAmB,CAyB9E"}
1
+ {"version":3,"file":"latency.d.ts","sourceRoot":"","sources":["../../../../src/core/events/v3/latency.ts"],"names":[],"mappings":"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"}