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
@@ -34,12 +34,18 @@ export {
34
34
  } from "./canonical.ts";
35
35
  export {
36
36
  ADAPTER_CAPABILITY_PROFILES_V3,
37
+ ADAPTER_WAIT_KINDS_V3,
37
38
  type AdapterCapabilityProfileV3,
38
39
  type AdapterSignalV3,
40
+ type AdapterWaitKindV3,
39
41
  adapterCapabilityProfileDigestV3,
40
42
  adapterCapabilityProfileV3,
41
43
  adapterSignalSupportV3,
44
+ adapterWaitCoverageMatrixV3,
45
+ adapterWaitKindSupportV3,
42
46
  type CapabilitySupportV3,
47
+ type CursorExecutionModeV3,
48
+ type WaitKindCapabilityV3,
43
49
  } from "./capabilities.ts";
44
50
  export {
45
51
  type CapabilityDeliveryV3,
@@ -86,10 +92,10 @@ export {
86
92
  type EventV3WriteMode,
87
93
  eventV3WriteGateOpen,
88
94
  readEventV3ControlState,
89
- repairEventV3ControlPair,
90
95
  validateActivationManifestV3,
91
96
  validateCandidateGenesisManifestV3,
92
97
  } from "./control.ts";
98
+ export { repairEventV3ControlPair } from "./control-writer.ts";
93
99
  export {
94
100
  type CoordinationGenerationViewV3,
95
101
  type CoordinationViewV3,
@@ -153,8 +159,12 @@ export {
153
159
  type LatencyProjectionDiagnosticV3,
154
160
  type LatencyProjectionV3,
155
161
  projectLatencyV3,
162
+ type ResponseLatencyV3,
163
+ runtimeTelemetryEvidenceKeyV3,
156
164
  type ToolLatencyV3,
157
165
  type TurnLatencyV3,
166
+ type WaitKindCompletenessV3,
167
+ type WaitKindCoverageV3,
158
168
  } from "./latency.ts";
159
169
  export {
160
170
  EVENT_V3_LIVE_RELATIVE_ROOT,
@@ -169,11 +179,14 @@ export {
169
179
  writeLiveDisplayV3,
170
180
  } from "./live-feed.ts";
171
181
  export type { LiveCoordinationObservationV3 } from "./live-observation.ts";
182
+ export {
183
+ type LiveEventLedgerRouteV3,
184
+ observeLiveEventLedgerRouteV3,
185
+ } from "./live-route-observer.ts";
172
186
  export {
173
187
  hookSignalV3,
174
188
  LIVE_COMMAND_V3_PRODUCER_ID,
175
189
  LIVE_HOOK_V3_PRODUCER_ID,
176
- type LiveEventLedgerRouteV3,
177
190
  liveEventV3BuildId,
178
191
  liveInstanceIdV3,
179
192
  livePlatformV3,
@@ -245,6 +258,7 @@ export {
245
258
  } from "./projection.ts";
246
259
  export {
247
260
  digestEventV3AuthorityDirectoryV3,
261
+ eventV3ActiveWatchPath,
248
262
  inspectInvalidActiveAuthorityV3,
249
263
  type LedgerCursorV3,
250
264
  type LedgerDiagnosticCodeV3,
@@ -277,6 +291,16 @@ export {
277
291
  validateEventV3RecoveryIntent,
278
292
  validateEventV3RecoveryReceipt,
279
293
  } from "./recovery-record.ts";
294
+ export {
295
+ effectiveRuntimeTelemetryCapabilitiesV3,
296
+ type RuntimeContextCapabilityEvidenceV3,
297
+ type RuntimeTelemetryCapabilitiesV3,
298
+ type RuntimeTelemetryCapabilityEvidenceV3,
299
+ type RuntimeTelemetryCapabilityObservationV3,
300
+ type RuntimeTelemetryCapabilityValueV3,
301
+ type RuntimeTelemetryChannelV3,
302
+ type RuntimeTelemetryCompletenessV3,
303
+ } from "./runtime-telemetry-capabilities.ts";
280
304
  export {
281
305
  type CloseSpanV3Input,
282
306
  captureSpanClockV3,
@@ -1,6 +1,9 @@
1
+ import { canonicalJsonV3, sha256V3 } from "./canonical.ts";
2
+ import { ADAPTER_WAIT_KINDS_V3, type AdapterWaitKindV3 } from "./capabilities.ts";
1
3
  import type { ReadLedgerV3Result } from "./reader.ts";
4
+ import type { RuntimeTelemetryCapabilitiesV3 } from "./runtime-telemetry-capabilities.ts";
2
5
 
3
- export const EVENT_V3_LATENCY_PROJECTION_VERSION = "event-v3-latency-v1" as const;
6
+ export const EVENT_V3_LATENCY_PROJECTION_VERSION = "event-v3-latency-v3" as const;
4
7
 
5
8
  export type LatencyMetricV3 =
6
9
  | { state: "observed"; value_ms: number }
@@ -25,6 +28,30 @@ export interface ContextCoverageV3 {
25
28
  reason: string | null;
26
29
  }
27
30
 
31
+ export interface ResponseLatencyV3 {
32
+ /** Turn start to first tool request, or terminal response for an attested no-tool turn. */
33
+ agent_action_ms: LatencyMetricV3;
34
+ /** Turn start to first tool request; unknown with `no_tool_request` for no-tool turns. */
35
+ first_tool_request_ms: LatencyMetricV3;
36
+ /** Last complete tool terminal to the turn terminal. */
37
+ post_tool_response_ms: LatencyMetricV3;
38
+ /** Turn start to terminal response, only when an attested turn used no tools. */
39
+ no_tool_terminal_response_ms: LatencyMetricV3;
40
+ method: "canonical_event_timestamps_v1";
41
+ }
42
+
43
+ export type WaitKindCompletenessV3 = "complete" | "lower_bound" | "unknown" | "unsupported";
44
+
45
+ export interface WaitKindCoverageV3 {
46
+ kind: AdapterWaitKindV3;
47
+ started_count: number;
48
+ ended_count: number;
49
+ open_count: number;
50
+ duration_ms: LatencyMetricV3;
51
+ completeness: WaitKindCompletenessV3;
52
+ reason: string | null;
53
+ }
54
+
28
55
  export interface TurnLatencyV3 {
29
56
  generation_id: string;
30
57
  turn_id: string;
@@ -39,6 +66,7 @@ export interface TurnLatencyV3 {
39
66
  wait_ms: LatencyMetricV3;
40
67
  occupied_ms: LatencyMetricV3;
41
68
  inference_ms: LatencyMetricV3;
69
+ response_latency: ResponseLatencyV3;
42
70
  harness_ms: LatencyMetricV3;
43
71
  slowest_hook: string | null;
44
72
  slowest_hook_ms: number | null;
@@ -46,6 +74,10 @@ export interface TurnLatencyV3 {
46
74
  over_attributed_ms: number;
47
75
  context_percent: number | null;
48
76
  context_coverage: ContextCoverageV3;
77
+ telemetry_capabilities: RuntimeTelemetryCapabilitiesV3 | null;
78
+ /** Equal keys are required before a report compares telemetry-backed values. */
79
+ telemetry_evidence_key: `sha256:${string}` | null;
80
+ wait_coverage_by_kind: Record<AdapterWaitKindV3, WaitKindCoverageV3>;
49
81
  span_counts: { tool: number; command: number; wait: number };
50
82
  tool_breakdown: ToolLatencyV3[];
51
83
  }
@@ -72,6 +104,7 @@ interface EventShape {
72
104
  event_id: string;
73
105
  event_type: string;
74
106
  scope: { generation_id?: string; turn_id?: string };
107
+ time: { observed_at?: string };
75
108
  payload: Record<string, unknown>;
76
109
  }
77
110
 
@@ -92,6 +125,7 @@ export function projectLatencyV3(read: ReadLedgerV3Result): LatencyProjectionV3
92
125
  const events = read.events.map(({ event }) => event as unknown as EventShape);
93
126
  const diagnostics: LatencyProjectionDiagnosticV3[] = [];
94
127
  const terminalByTurn = new Map<string, EventShape>();
128
+ const telemetryByGeneration = latestTelemetryByGeneration(events);
95
129
 
96
130
  for (const event of events) {
97
131
  if (event.event_type !== "turn.completed") continue;
@@ -104,7 +138,12 @@ export function projectLatencyV3(read: ReadLedgerV3Result): LatencyProjectionV3
104
138
  const turns = [...terminalByTurn.values()].map((terminal) => {
105
139
  const key = turnKey(terminal);
106
140
  const turnEvents = events.filter((event) => turnKey(event) === key);
107
- return projectTurn(terminal, turnEvents, diagnostics);
141
+ return projectTurn(
142
+ terminal,
143
+ turnEvents,
144
+ diagnostics,
145
+ telemetryByGeneration.get(terminal.scope.generation_id ?? "") ?? null,
146
+ );
108
147
  });
109
148
  turns.sort(
110
149
  (left, right) =>
@@ -118,6 +157,7 @@ function projectTurn(
118
157
  terminal: EventShape,
119
158
  events: EventShape[],
120
159
  diagnostics: LatencyProjectionDiagnosticV3[],
160
+ telemetryCapabilities: RuntimeTelemetryCapabilitiesV3 | null,
121
161
  ): TurnLatencyV3 {
122
162
  const span = record(terminal.payload.span);
123
163
  const wall = metricFromObservation(span.duration_ms, "turn_duration_unknown");
@@ -157,6 +197,10 @@ function projectTurn(
157
197
  ) {
158
198
  waits.reasons.push("wait_terminal_count_mismatch");
159
199
  }
200
+ const waitCoverageComplete =
201
+ expectedWaitCount !== undefined &&
202
+ expectedWaitCount === endedWaitIds.size &&
203
+ !waitStartEvents.some(({ payload }) => !endedWaitIds.has(string(record(payload).wait_id)));
160
204
 
161
205
  const tool = metricFromIntervals(tools);
162
206
  const command = metricFromIntervals(commands);
@@ -176,6 +220,7 @@ function projectTurn(
176
220
  "api_time_ms",
177
221
  "inference_timing_unknown",
178
222
  );
223
+ const responseLatency = projectResponseLatency(terminal, events, wall, tools, expectedToolCount);
179
224
  const harness = metricFromNestedObservation(
180
225
  terminal.payload.harness,
181
226
  "hook_time_ms",
@@ -217,6 +262,7 @@ function projectTurn(
217
262
  wait_ms: wait,
218
263
  occupied_ms: occupied,
219
264
  inference_ms: inference,
265
+ response_latency: responseLatency,
220
266
  harness_ms: harness,
221
267
  slowest_hook: slowestHook.name,
222
268
  slowest_hook_ms: slowestHook.duration_ms,
@@ -224,6 +270,18 @@ function projectTurn(
224
270
  over_attributed_ms: overAttributed,
225
271
  context_percent: context.percent,
226
272
  context_coverage: context.coverage,
273
+ telemetry_capabilities: telemetryCapabilities,
274
+ telemetry_evidence_key: telemetryCapabilities
275
+ ? runtimeTelemetryEvidenceKeyV3(telemetryCapabilities)
276
+ : null,
277
+ wait_coverage_by_kind: projectWaitCoverageByKind(
278
+ waitStartEvents,
279
+ waitEvents,
280
+ wallInterval,
281
+ waitCoverageComplete,
282
+ waitCount,
283
+ diagnostics,
284
+ ),
227
285
  span_counts: {
228
286
  tool: toolEvents.length,
229
287
  command: commandEvents.length,
@@ -233,6 +291,159 @@ function projectTurn(
233
291
  };
234
292
  }
235
293
 
294
+ /** Reports may compare a telemetry-backed channel only inside one evidence key. */
295
+ export function runtimeTelemetryEvidenceKeyV3(
296
+ telemetry: RuntimeTelemetryCapabilitiesV3,
297
+ ): `sha256:${string}` {
298
+ return sha256V3(canonicalJsonV3(telemetry));
299
+ }
300
+
301
+ function latestTelemetryByGeneration(
302
+ events: EventShape[],
303
+ ): Map<string, RuntimeTelemetryCapabilitiesV3> {
304
+ const result = new Map<string, RuntimeTelemetryCapabilitiesV3>();
305
+ for (const event of events) {
306
+ if (
307
+ event.event_type !== "session.started" &&
308
+ event.event_type !== "session.attestation_changed"
309
+ ) {
310
+ continue;
311
+ }
312
+ const attestation = record(event.payload.runtime_attestation);
313
+ const telemetry = record(attestation.telemetry);
314
+ if (Object.keys(telemetry).length === 0) continue;
315
+ result.set(event.scope.generation_id ?? "", telemetry as RuntimeTelemetryCapabilitiesV3);
316
+ }
317
+ return result;
318
+ }
319
+
320
+ function projectResponseLatency(
321
+ terminal: EventShape,
322
+ events: EventShape[],
323
+ wall: LatencyMetricV3,
324
+ tools: IntervalSet,
325
+ expectedToolCount: number | undefined,
326
+ ): ResponseLatencyV3 {
327
+ const turnStart = Date.parse(string(record(terminal.payload.span).opened_at));
328
+ const turnEnd =
329
+ Number.isFinite(turnStart) && wall.state === "observed" ? turnStart + wall.value_ms : undefined;
330
+ const requests = events
331
+ .filter(({ event_type }) => event_type === "tool.requested")
332
+ .map(({ time }) => Date.parse(string(time.observed_at)))
333
+ .filter(Number.isFinite)
334
+ .sort((left, right) => left - right);
335
+ const firstRequest = requests[0];
336
+ const firstTool =
337
+ Number.isFinite(turnStart) && firstRequest !== undefined
338
+ ? observedLatency(firstRequest - turnStart)
339
+ : unknownLatency(expectedToolCount === 0 ? "no_tool_request" : "tool_request_unobserved");
340
+ const noToolTerminal =
341
+ expectedToolCount === 0
342
+ ? wall
343
+ : unknownLatency(
344
+ expectedToolCount === undefined ? "tool_channel_unattested" : "turn_contains_tools",
345
+ );
346
+ const agentAction =
347
+ firstRequest !== undefined
348
+ ? firstTool
349
+ : expectedToolCount === 0
350
+ ? noToolTerminal
351
+ : unknownLatency(
352
+ expectedToolCount === undefined ? "tool_channel_unattested" : "tool_request_unobserved",
353
+ );
354
+
355
+ let postTool = unknownLatency(
356
+ expectedToolCount === 0
357
+ ? "no_tool_completion"
358
+ : expectedToolCount === undefined
359
+ ? "tool_channel_unattested"
360
+ : "final_tool_completion_unknown",
361
+ );
362
+ if (
363
+ turnEnd !== undefined &&
364
+ expectedToolCount !== undefined &&
365
+ expectedToolCount > 0 &&
366
+ tools.reasons.length === 0 &&
367
+ tools.intervals.length === expectedToolCount
368
+ ) {
369
+ postTool = observedLatency(turnEnd - Math.max(...tools.intervals.map(({ end }) => end)));
370
+ }
371
+
372
+ return {
373
+ agent_action_ms: agentAction,
374
+ first_tool_request_ms: firstTool,
375
+ post_tool_response_ms: postTool,
376
+ no_tool_terminal_response_ms: noToolTerminal,
377
+ method: "canonical_event_timestamps_v1",
378
+ };
379
+ }
380
+
381
+ function projectWaitCoverageByKind(
382
+ starts: EventShape[],
383
+ ends: EventShape[],
384
+ wall: Interval | undefined,
385
+ complete: boolean,
386
+ waitCount: Record<string, unknown>,
387
+ diagnostics: LatencyProjectionDiagnosticV3[],
388
+ ): Record<AdapterWaitKindV3, WaitKindCoverageV3> {
389
+ const endedIds = new Set(ends.map(({ payload }) => string(record(payload).wait_id)));
390
+ const unsupported = waitCount.state === "unsupported";
391
+ return Object.fromEntries(
392
+ ADAPTER_WAIT_KINDS_V3.map((kind) => {
393
+ const kindStarts = starts.filter(({ payload }) => waitKind(payload) === kind);
394
+ const kindEnds = ends.filter(({ payload }) => waitKind(payload) === kind);
395
+ const openCount = kindStarts.filter(
396
+ ({ payload }) => !endedIds.has(string(record(payload).wait_id)),
397
+ ).length;
398
+ const set = intervalSet(kindEnds, wall, diagnostics);
399
+ if (!complete) set.reasons.push("wait_kind_completeness_unattested");
400
+ const completeness: WaitKindCompletenessV3 = complete
401
+ ? "complete"
402
+ : unsupported
403
+ ? kindStarts.length > 0 || kindEnds.length > 0
404
+ ? "lower_bound"
405
+ : "unsupported"
406
+ : kindStarts.length > 0 || kindEnds.length > 0
407
+ ? "lower_bound"
408
+ : "unknown";
409
+ const reason = complete
410
+ ? null
411
+ : unsupported
412
+ ? "turn_wait_count_unsupported"
413
+ : "turn_wait_count_unattested";
414
+ return [
415
+ kind,
416
+ {
417
+ kind,
418
+ started_count: kindStarts.length,
419
+ ended_count: kindEnds.length,
420
+ open_count: openCount,
421
+ duration_ms: metricFromIntervals(set),
422
+ completeness,
423
+ reason,
424
+ },
425
+ ];
426
+ }),
427
+ ) as Record<AdapterWaitKindV3, WaitKindCoverageV3>;
428
+ }
429
+
430
+ function waitKind(payload: Record<string, unknown>): AdapterWaitKindV3 {
431
+ const value = string(record(payload).kind);
432
+ return ADAPTER_WAIT_KINDS_V3.includes(value as AdapterWaitKindV3)
433
+ ? (value as AdapterWaitKindV3)
434
+ : "unknown";
435
+ }
436
+
437
+ function observedLatency(value: number): LatencyMetricV3 {
438
+ return Number.isFinite(value) && value >= 0
439
+ ? { state: "observed", value_ms: Math.floor(value) }
440
+ : unknownLatency("event_time_order_invalid");
441
+ }
442
+
443
+ function unknownLatency(reason: string): LatencyMetricV3 {
444
+ return { state: "unknown", known_ms: 0, reasons: [reason] };
445
+ }
446
+
236
447
  function groupByTool(events: EventShape[]): Map<string, EventShape[]> {
237
448
  const groups = new Map<string, EventShape[]>();
238
449
  for (const event of events) {
@@ -0,0 +1,80 @@
1
+ import { createHash } from "node:crypto";
2
+ import { canonicalJsonV3, sha256V3 } from "./canonical.ts";
3
+ import { ADAPTER_CAPABILITY_PROFILES_V3 } from "./capabilities.ts";
4
+ import {
5
+ type EventV3ControlState,
6
+ type EventV3WriteMode,
7
+ readEventV3ControlState,
8
+ } from "./control.ts";
9
+ import { liveEventV3BuildId } from "./runtime-identity.ts";
10
+
11
+ export type LiveEventLedgerRouteV3 =
12
+ | {
13
+ state: "v3";
14
+ mode: EventV3WriteMode;
15
+ build_id: `build_${string}`;
16
+ /** Genesis id of the epoch this route was resolved against: the epoch fence for derived writes. */
17
+ genesis_id: `gex_${string}`;
18
+ }
19
+ | { state: "blocked"; reason: string };
20
+
21
+ /**
22
+ * Observe the V3-only ledger route without repairing control pairs, replacing
23
+ * epochs, launching processes, or writing files. Read-only consumers fail
24
+ * closed until a command or producer repairs the route.
25
+ */
26
+ export function observeLiveEventLedgerRouteV3(coordRoot: string): LiveEventLedgerRouteV3 {
27
+ return liveEventLedgerRouteFromControlV3(readEventV3ControlState(coordRoot));
28
+ }
29
+
30
+ /** Project one already-read control state into the passive route contract. */
31
+ export function liveEventLedgerRouteFromControlV3(
32
+ control: EventV3ControlState,
33
+ ): LiveEventLedgerRouteV3 {
34
+ if (control.state === "closed") return { state: "blocked", reason: "v3_not_initialized" };
35
+ if (control.state !== "candidate" && control.state !== "active") {
36
+ return { state: "blocked", reason: `${control.state}:${control.reason}` };
37
+ }
38
+ if (!runtimeCapabilityProfileCurrentV3(control)) {
39
+ return { state: "blocked", reason: "runtime_capability_profile_incompatible" };
40
+ }
41
+ const buildId = liveEventV3BuildId(control.genesis.profile.harnery_commit);
42
+ if (!control.genesis.profile.producer_build_ids.includes(buildId)) {
43
+ return { state: "blocked", reason: "live_producer_build_not_approved" };
44
+ }
45
+ return {
46
+ state: "v3",
47
+ mode: control.state,
48
+ build_id: buildId,
49
+ genesis_id: control.genesis.event.payload.genesis_id as `gex_${string}`,
50
+ };
51
+ }
52
+
53
+ export function runtimeCapabilityProfileCurrentV3(
54
+ control: Extract<EventV3ControlState, { state: "candidate" | "active" }>,
55
+ ): boolean {
56
+ const expected = Object.values(ADAPTER_CAPABILITY_PROFILES_V3).map((profile) =>
57
+ sha256V3(canonicalJsonV3(profile)),
58
+ );
59
+ const approved = control.genesis.profile.adapter_capability_profile_digests;
60
+ const expectedDigests = new Set<string>(expected);
61
+ return control.state === "candidate"
62
+ ? approved.some((digest) => expectedDigests.has(digest))
63
+ : expected.every((digest) => approved.includes(digest));
64
+ }
65
+
66
+ export function liveInstanceIdV3(instanceId: string): `inst_${string}` {
67
+ if (/^inst_[a-zA-Z0-9._-]{1,128}$/.test(instanceId)) return instanceId as `inst_${string}`;
68
+ if (/^[a-zA-Z0-9._-]{1,128}$/.test(instanceId)) return `inst_${instanceId}`;
69
+ return `inst_${createHash("sha256").update(instanceId.normalize("NFC")).digest("hex")}`;
70
+ }
71
+
72
+ /**
73
+ * The adapter-native id a canonical `inst_*` id carries, for display and for
74
+ * joins against native-keyed records. Only the direct prefix form round-trips:
75
+ * a hashed id has no recoverable native form and is returned unchanged, so
76
+ * never treat this as a guaranteed inverse of `liveInstanceIdV3`.
77
+ */
78
+ export function nativeInstanceIdV3(instanceId: string): string {
79
+ return instanceId.startsWith("inst_") ? instanceId.slice("inst_".length) : instanceId;
80
+ }