harnery 0.35.0 → 0.37.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 (843) hide show
  1. package/dist/commander.d.ts +30 -5
  2. package/dist/commander.d.ts.map +1 -1
  3. package/dist/commander.js +128 -96
  4. package/dist/commands/agents.d.ts +23 -3
  5. package/dist/commands/agents.d.ts.map +1 -1
  6. package/dist/commands/agents.js +464 -242
  7. package/dist/commands/artifacts.d.ts.map +1 -1
  8. package/dist/commands/artifacts.js +26 -1
  9. package/dist/commands/backup.d.ts.map +1 -1
  10. package/dist/commands/backup.js +10 -10
  11. package/dist/commands/browse-session.d.ts.map +1 -1
  12. package/dist/commands/browse-session.js +12 -0
  13. package/dist/commands/browse.d.ts +1 -1
  14. package/dist/commands/browse.d.ts.map +1 -1
  15. package/dist/commands/browse.js +16 -4
  16. package/dist/commands/conversations.d.ts +10 -0
  17. package/dist/commands/conversations.d.ts.map +1 -0
  18. package/dist/commands/conversations.js +201 -0
  19. package/dist/commands/deinit.d.ts.map +1 -1
  20. package/dist/commands/deinit.js +5 -0
  21. package/dist/commands/diagnostics.d.ts +4 -0
  22. package/dist/commands/diagnostics.d.ts.map +1 -0
  23. package/dist/commands/diagnostics.js +229 -0
  24. package/dist/commands/docs.d.ts.map +1 -1
  25. package/dist/commands/docs.js +13 -2
  26. package/dist/commands/doctor.d.ts +5 -0
  27. package/dist/commands/doctor.d.ts.map +1 -1
  28. package/dist/commands/doctor.js +51 -7
  29. package/dist/commands/fetch.js +6 -5
  30. package/dist/commands/files.d.ts +34 -0
  31. package/dist/commands/files.d.ts.map +1 -0
  32. package/dist/commands/files.js +166 -0
  33. package/dist/commands/governor.d.ts.map +1 -1
  34. package/dist/commands/governor.js +18 -12
  35. package/dist/commands/inbox.d.ts +5 -0
  36. package/dist/commands/inbox.d.ts.map +1 -0
  37. package/dist/commands/inbox.js +57 -0
  38. package/dist/commands/init.d.ts +4 -5
  39. package/dist/commands/init.d.ts.map +1 -1
  40. package/dist/commands/init.js +63 -13
  41. package/dist/commands/ledger-v3.d.ts.map +1 -1
  42. package/dist/commands/ledger-v3.js +417 -2
  43. package/dist/commands/logs.d.ts +4 -0
  44. package/dist/commands/logs.d.ts.map +1 -0
  45. package/dist/commands/logs.js +169 -0
  46. package/dist/commands/messages.d.ts +5 -0
  47. package/dist/commands/messages.d.ts.map +1 -0
  48. package/dist/commands/messages.js +45 -0
  49. package/dist/commands/outline.d.ts +1 -1
  50. package/dist/commands/outline.d.ts.map +1 -1
  51. package/dist/commands/outline.js +2 -2
  52. package/dist/commands/qa-run.d.ts +4 -0
  53. package/dist/commands/qa-run.d.ts.map +1 -0
  54. package/dist/commands/qa-run.js +141 -0
  55. package/dist/commands/read.d.ts +1 -1
  56. package/dist/commands/read.d.ts.map +1 -1
  57. package/dist/commands/read.js +2 -2
  58. package/dist/commands/resources.d.ts +4 -0
  59. package/dist/commands/resources.d.ts.map +1 -0
  60. package/dist/commands/resources.js +29 -0
  61. package/dist/commands/semantic.d.ts.map +1 -1
  62. package/dist/commands/semantic.js +54 -2
  63. package/dist/commands/storage.d.ts +4 -0
  64. package/dist/commands/storage.d.ts.map +1 -0
  65. package/dist/commands/storage.js +238 -0
  66. package/dist/commands/supervisor.d.ts +4 -0
  67. package/dist/commands/supervisor.d.ts.map +1 -0
  68. package/dist/commands/supervisor.js +101 -0
  69. package/dist/commands/tunnel.d.ts +5 -1
  70. package/dist/commands/tunnel.d.ts.map +1 -1
  71. package/dist/commands/tunnel.js +44 -31
  72. package/dist/commands/web.d.ts +3 -0
  73. package/dist/commands/web.d.ts.map +1 -1
  74. package/dist/commands/web.js +84 -7
  75. package/dist/commands/work.js +3 -3
  76. package/dist/commands/workflow.d.ts.map +1 -1
  77. package/dist/commands/workflow.js +17 -13
  78. package/dist/core/adapters/profiles.d.ts +1 -1
  79. package/dist/core/agents/cli.js +215 -41
  80. package/dist/core/agents/health.d.ts +17 -0
  81. package/dist/core/agents/health.d.ts.map +1 -0
  82. package/dist/core/agents/health.js +109 -0
  83. package/dist/core/agents/live-authority-v3.d.ts +47 -1
  84. package/dist/core/agents/live-authority-v3.d.ts.map +1 -1
  85. package/dist/core/agents/live-authority-v3.js +244 -10
  86. package/dist/core/agents/live-lifecycle-v3.js +6 -1
  87. package/dist/core/agents/live-observation-v3.d.ts.map +1 -1
  88. package/dist/core/agents/live-observation-v3.js +6 -1
  89. package/dist/core/agents/mailbox.d.ts +92 -0
  90. package/dist/core/agents/mailbox.d.ts.map +1 -0
  91. package/dist/core/agents/mailbox.js +325 -0
  92. package/dist/core/agents/reconcile-coordination-v3.d.ts +44 -0
  93. package/dist/core/agents/reconcile-coordination-v3.d.ts.map +1 -0
  94. package/dist/core/agents/reconcile-coordination-v3.js +58 -0
  95. package/dist/core/agents/render/prompt-context.d.ts +14 -3
  96. package/dist/core/agents/render/prompt-context.d.ts.map +1 -1
  97. package/dist/core/agents/render/prompt-context.js +54 -16
  98. package/dist/core/agents/render/session-context.d.ts +8 -0
  99. package/dist/core/agents/render/session-context.d.ts.map +1 -1
  100. package/dist/core/agents/render/session-context.js +34 -3
  101. package/dist/core/agents/rules/commit-conflict.d.ts.map +1 -1
  102. package/dist/core/agents/rules/commit-conflict.js +50 -1
  103. package/dist/core/agents/rules/stop-hook.d.ts +2 -0
  104. package/dist/core/agents/rules/stop-hook.d.ts.map +1 -1
  105. package/dist/core/agents/rules/stop-hook.js +93 -16
  106. package/dist/core/agents/rules/verdict.d.ts +1 -0
  107. package/dist/core/agents/rules/verdict.d.ts.map +1 -1
  108. package/dist/core/agents/session-events.d.ts.map +1 -1
  109. package/dist/core/agents/session-events.js +4 -0
  110. package/dist/core/agents/session-finalization-state-v3.js +1 -1
  111. package/dist/core/agents/session-finalizer-v3.js +9 -2
  112. package/dist/core/agents/state/activity-log.d.ts +3 -0
  113. package/dist/core/agents/state/activity-log.d.ts.map +1 -1
  114. package/dist/core/agents/state/activity-log.js +6 -3
  115. package/dist/core/agents/state/heartbeat-writer.d.ts +6 -0
  116. package/dist/core/agents/state/heartbeat-writer.d.ts.map +1 -1
  117. package/dist/core/agents/state/heartbeat-writer.js +18 -0
  118. package/dist/core/agents/state/live-coordination-view.d.ts +5 -7
  119. package/dist/core/agents/state/live-coordination-view.d.ts.map +1 -1
  120. package/dist/core/agents/state/live-coordination-view.js +15 -90
  121. package/dist/core/agents/state/live-coordination-writer.d.ts +12 -0
  122. package/dist/core/agents/state/live-coordination-writer.d.ts.map +1 -0
  123. package/dist/core/agents/state/live-coordination-writer.js +92 -0
  124. package/dist/core/artifacts/index.d.ts +47 -1
  125. package/dist/core/artifacts/index.d.ts.map +1 -1
  126. package/dist/core/artifacts/index.js +191 -6
  127. package/dist/core/config.d.ts +74 -4
  128. package/dist/core/config.d.ts.map +1 -1
  129. package/dist/core/config.js +141 -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/diagnostics/advice.d.ts +9 -0
  161. package/dist/core/diagnostics/advice.d.ts.map +1 -0
  162. package/dist/core/diagnostics/advice.js +112 -0
  163. package/dist/core/diagnostics/bundle.d.ts +35 -0
  164. package/dist/core/diagnostics/bundle.d.ts.map +1 -0
  165. package/dist/core/diagnostics/bundle.js +874 -0
  166. package/dist/core/diagnostics/comparison.d.ts +5 -0
  167. package/dist/core/diagnostics/comparison.d.ts.map +1 -0
  168. package/dist/core/diagnostics/comparison.js +444 -0
  169. package/dist/core/diagnostics/contract.d.ts +245 -0
  170. package/dist/core/diagnostics/contract.d.ts.map +1 -0
  171. package/dist/core/diagnostics/contract.js +18 -0
  172. package/dist/core/diagnostics/identity.d.ts +3 -0
  173. package/dist/core/diagnostics/identity.d.ts.map +1 -0
  174. package/dist/core/diagnostics/identity.js +10 -0
  175. package/dist/core/diagnostics/index.d.ts +8 -0
  176. package/dist/core/diagnostics/index.d.ts.map +1 -0
  177. package/dist/core/diagnostics/index.js +7 -0
  178. package/dist/core/diagnostics/replay.d.ts +8 -0
  179. package/dist/core/diagnostics/replay.d.ts.map +1 -0
  180. package/dist/core/diagnostics/replay.js +213 -0
  181. package/dist/core/diagnostics/sanitize.d.ts +9 -0
  182. package/dist/core/diagnostics/sanitize.d.ts.map +1 -0
  183. package/dist/core/diagnostics/sanitize.js +84 -0
  184. package/dist/core/events/legacy-storage/canary.d.ts +18 -0
  185. package/dist/core/events/legacy-storage/canary.d.ts.map +1 -0
  186. package/dist/core/events/legacy-storage/canary.js +150 -0
  187. package/dist/core/events/legacy-storage/compression.d.ts +13 -0
  188. package/dist/core/events/legacy-storage/compression.d.ts.map +1 -0
  189. package/dist/core/events/legacy-storage/compression.js +107 -0
  190. package/dist/core/events/legacy-storage/fence.d.ts +15 -0
  191. package/dist/core/events/legacy-storage/fence.d.ts.map +1 -0
  192. package/dist/core/events/legacy-storage/fence.js +115 -0
  193. package/dist/core/events/legacy-storage/index.d.ts +7 -0
  194. package/dist/core/events/legacy-storage/index.d.ts.map +1 -0
  195. package/dist/core/events/legacy-storage/index.js +6 -0
  196. package/dist/core/events/legacy-storage/inventory.d.ts +10 -0
  197. package/dist/core/events/legacy-storage/inventory.d.ts.map +1 -0
  198. package/dist/core/events/legacy-storage/inventory.js +40 -0
  199. package/dist/core/events/legacy-storage/manifest.d.ts +23 -0
  200. package/dist/core/events/legacy-storage/manifest.d.ts.map +1 -0
  201. package/dist/core/events/legacy-storage/manifest.js +108 -0
  202. package/dist/core/events/legacy-storage/reader.d.ts +15 -0
  203. package/dist/core/events/legacy-storage/reader.d.ts.map +1 -0
  204. package/dist/core/events/legacy-storage/reader.js +154 -0
  205. package/dist/core/events/v3/archive-retention.d.ts +33 -0
  206. package/dist/core/events/v3/archive-retention.d.ts.map +1 -0
  207. package/dist/core/events/v3/archive-retention.js +195 -0
  208. package/dist/core/events/v3/authority-outbox.d.ts +7 -2
  209. package/dist/core/events/v3/authority-outbox.d.ts.map +1 -1
  210. package/dist/core/events/v3/authority-outbox.js +16 -3
  211. package/dist/core/events/v3/base-contract.d.ts +81 -41
  212. package/dist/core/events/v3/base-contract.d.ts.map +1 -1
  213. package/dist/core/events/v3/base-contract.js +17 -7
  214. package/dist/core/events/v3/bootstrap.d.ts +39 -0
  215. package/dist/core/events/v3/bootstrap.d.ts.map +1 -1
  216. package/dist/core/events/v3/bootstrap.js +167 -3
  217. package/dist/core/events/v3/capabilities.d.ts +1 -1
  218. package/dist/core/events/v3/capabilities.d.ts.map +1 -1
  219. package/dist/core/events/v3/capabilities.js +4 -3
  220. package/dist/core/events/v3/control-witness.d.ts +44 -0
  221. package/dist/core/events/v3/control-witness.d.ts.map +1 -0
  222. package/dist/core/events/v3/control-witness.js +233 -0
  223. package/dist/core/events/v3/control-writer.d.ts +4 -0
  224. package/dist/core/events/v3/control-writer.d.ts.map +1 -0
  225. package/dist/core/events/v3/control-writer.js +16 -0
  226. package/dist/core/events/v3/control.d.ts +8 -2
  227. package/dist/core/events/v3/control.d.ts.map +1 -1
  228. package/dist/core/events/v3/control.js +46 -18
  229. package/dist/core/events/v3/coordination-transaction-recovery.d.ts +42 -0
  230. package/dist/core/events/v3/coordination-transaction-recovery.d.ts.map +1 -0
  231. package/dist/core/events/v3/coordination-transaction-recovery.js +342 -0
  232. package/dist/core/events/v3/coordination-view.d.ts.map +1 -1
  233. package/dist/core/events/v3/coordination-view.js +16 -1
  234. package/dist/core/events/v3/generated.d.ts +1 -1
  235. package/dist/core/events/v3/generated.js +1 -1
  236. package/dist/core/events/v3/index.d.ts +5 -2
  237. package/dist/core/events/v3/index.d.ts.map +1 -1
  238. package/dist/core/events/v3/index.js +4 -1
  239. package/dist/core/events/v3/live-route-observer.d.ts +31 -0
  240. package/dist/core/events/v3/live-route-observer.d.ts.map +1 -0
  241. package/dist/core/events/v3/live-route-observer.js +58 -0
  242. package/dist/core/events/v3/live-routing.d.ts +13 -21
  243. package/dist/core/events/v3/live-routing.d.ts.map +1 -1
  244. package/dist/core/events/v3/live-routing.js +46 -41
  245. package/dist/core/events/v3/producers/coordination-recorder.d.ts +11 -1
  246. package/dist/core/events/v3/producers/coordination-recorder.d.ts.map +1 -1
  247. package/dist/core/events/v3/producers/coordination-recorder.js +76 -10
  248. package/dist/core/events/v3/producers/diagnostic-summaries.d.ts +129 -0
  249. package/dist/core/events/v3/producers/diagnostic-summaries.d.ts.map +1 -0
  250. package/dist/core/events/v3/producers/diagnostic-summaries.js +499 -0
  251. package/dist/core/events/v3/producers/hook-base.d.ts +1 -1
  252. package/dist/core/events/v3/producers/hook-base.d.ts.map +1 -1
  253. package/dist/core/events/v3/producers/hook-base.js +14 -3
  254. package/dist/core/events/v3/producers/intake.d.ts +7 -0
  255. package/dist/core/events/v3/producers/intake.d.ts.map +1 -1
  256. package/dist/core/events/v3/producers/intake.js +26 -2
  257. package/dist/core/events/v3/producers/producer-state-observer.d.ts +8 -0
  258. package/dist/core/events/v3/producers/producer-state-observer.d.ts.map +1 -0
  259. package/dist/core/events/v3/producers/producer-state-observer.js +45 -0
  260. package/dist/core/events/v3/producers/recorder.d.ts +71 -1
  261. package/dist/core/events/v3/producers/recorder.d.ts.map +1 -1
  262. package/dist/core/events/v3/producers/recorder.js +441 -25
  263. package/dist/core/events/v3/reader.d.ts +51 -0
  264. package/dist/core/events/v3/reader.d.ts.map +1 -1
  265. package/dist/core/events/v3/reader.js +181 -1
  266. package/dist/core/events/v3/rotation-config.d.ts +9 -0
  267. package/dist/core/events/v3/rotation-config.d.ts.map +1 -0
  268. package/dist/core/events/v3/rotation-config.js +91 -0
  269. package/dist/core/events/v3/runtime-build.d.ts +11 -0
  270. package/dist/core/events/v3/runtime-build.d.ts.map +1 -0
  271. package/dist/core/events/v3/runtime-build.js +39 -0
  272. package/dist/core/events/v3/runtime-identity.d.ts +5 -0
  273. package/dist/core/events/v3/runtime-identity.d.ts.map +1 -0
  274. package/dist/core/events/v3/runtime-identity.js +18 -0
  275. package/dist/core/events/v3/runtime-telemetry-capabilities.d.ts +6 -5
  276. package/dist/core/events/v3/runtime-telemetry-capabilities.d.ts.map +1 -1
  277. package/dist/core/events/v3/runtime-telemetry-capabilities.js +1 -1
  278. package/dist/core/events/v3/support-storage/classify.d.ts +46 -0
  279. package/dist/core/events/v3/support-storage/classify.d.ts.map +1 -0
  280. package/dist/core/events/v3/support-storage/classify.js +149 -0
  281. package/dist/core/events/v3/support-storage/eligibility.d.ts +29 -0
  282. package/dist/core/events/v3/support-storage/eligibility.d.ts.map +1 -0
  283. package/dist/core/events/v3/support-storage/eligibility.js +35 -0
  284. package/dist/core/events/v3/support-storage/index.d.ts +10 -0
  285. package/dist/core/events/v3/support-storage/index.d.ts.map +1 -0
  286. package/dist/core/events/v3/support-storage/index.js +9 -0
  287. package/dist/core/events/v3/support-storage/inventory.d.ts +30 -0
  288. package/dist/core/events/v3/support-storage/inventory.d.ts.map +1 -0
  289. package/dist/core/events/v3/support-storage/inventory.js +94 -0
  290. package/dist/core/events/v3/support-storage/logical-authority.d.ts +14 -0
  291. package/dist/core/events/v3/support-storage/logical-authority.d.ts.map +1 -0
  292. package/dist/core/events/v3/support-storage/logical-authority.js +104 -0
  293. package/dist/core/events/v3/support-storage/maintenance.d.ts +98 -0
  294. package/dist/core/events/v3/support-storage/maintenance.d.ts.map +1 -0
  295. package/dist/core/events/v3/support-storage/maintenance.js +352 -0
  296. package/dist/core/events/v3/support-storage/pack-contract.d.ts +59 -0
  297. package/dist/core/events/v3/support-storage/pack-contract.d.ts.map +1 -0
  298. package/dist/core/events/v3/support-storage/pack-contract.js +249 -0
  299. package/dist/core/events/v3/support-storage/pack-reader.d.ts +34 -0
  300. package/dist/core/events/v3/support-storage/pack-reader.d.ts.map +1 -0
  301. package/dist/core/events/v3/support-storage/pack-reader.js +258 -0
  302. package/dist/core/events/v3/support-storage/pack-writer.d.ts +30 -0
  303. package/dist/core/events/v3/support-storage/pack-writer.d.ts.map +1 -0
  304. package/dist/core/events/v3/support-storage/pack-writer.js +268 -0
  305. package/dist/core/events/v3/support-storage/recovery.d.ts +15 -0
  306. package/dist/core/events/v3/support-storage/recovery.d.ts.map +1 -0
  307. package/dist/core/events/v3/support-storage/recovery.js +22 -0
  308. package/dist/core/events/v3/turn-telemetry.d.ts +14 -8
  309. package/dist/core/events/v3/turn-telemetry.d.ts.map +1 -1
  310. package/dist/core/events/v3/turn-telemetry.js +32 -2
  311. package/dist/core/events/v3/writer.d.ts +13 -1
  312. package/dist/core/events/v3/writer.d.ts.map +1 -1
  313. package/dist/core/events/v3/writer.js +126 -12
  314. package/dist/core/governor/plan-read.d.ts.map +1 -1
  315. package/dist/core/governor/plan-read.js +5 -21
  316. package/dist/core/governor/planning.js +6 -8
  317. package/dist/core/governor/service-read.d.ts +12 -0
  318. package/dist/core/governor/service-read.d.ts.map +1 -1
  319. package/dist/core/governor/service-read.js +266 -2
  320. package/dist/core/governor/service.d.ts +1 -0
  321. package/dist/core/governor/service.d.ts.map +1 -1
  322. package/dist/core/governor/service.js +53 -18
  323. package/dist/core/guard/evidence-v3.d.ts.map +1 -1
  324. package/dist/core/guard/evidence-v3.js +2 -0
  325. package/dist/core/hooks/adapter/events.d.ts.map +1 -1
  326. package/dist/core/hooks/adapter/events.js +1 -0
  327. package/dist/core/hooks/adapter/output.d.ts +12 -2
  328. package/dist/core/hooks/adapter/output.d.ts.map +1 -1
  329. package/dist/core/hooks/adapter/output.js +23 -5
  330. package/dist/core/hooks/adapter/runtime-telemetry.d.ts +27 -4
  331. package/dist/core/hooks/adapter/runtime-telemetry.d.ts.map +1 -1
  332. package/dist/core/hooks/adapter/runtime-telemetry.js +307 -6
  333. package/dist/core/hooks/cli.js +380 -207
  334. package/dist/core/hooks/effects/image-capture.d.ts +1 -1
  335. package/dist/core/hooks/effects/image-capture.d.ts.map +1 -1
  336. package/dist/core/hooks/effects/image-capture.js +4 -2
  337. package/dist/core/hooks/health.d.ts +59 -0
  338. package/dist/core/hooks/health.d.ts.map +1 -0
  339. package/dist/core/hooks/health.js +84 -0
  340. package/dist/core/hooks/remediation-cap.d.ts +8 -3
  341. package/dist/core/hooks/remediation-cap.d.ts.map +1 -1
  342. package/dist/core/hooks/remediation-cap.js +3 -11
  343. package/dist/core/hooks/resolve/coord-root.d.ts +22 -9
  344. package/dist/core/hooks/resolve/coord-root.d.ts.map +1 -1
  345. package/dist/core/hooks/resolve/coord-root.js +92 -11
  346. package/dist/core/hooks/resolve/owner.d.ts.map +1 -1
  347. package/dist/core/hooks/resolve/owner.js +5 -0
  348. package/dist/core/hooks/resolve/transcript.d.ts +8 -0
  349. package/dist/core/hooks/resolve/transcript.d.ts.map +1 -1
  350. package/dist/core/hooks/resolve/transcript.js +11 -0
  351. package/dist/core/inbox/contract.d.ts +64 -0
  352. package/dist/core/inbox/contract.d.ts.map +1 -0
  353. package/dist/core/inbox/contract.js +13 -0
  354. package/dist/core/inbox/index.d.ts +5 -0
  355. package/dist/core/inbox/index.d.ts.map +1 -0
  356. package/dist/core/inbox/index.js +4 -0
  357. package/dist/core/inbox/lifecycle.d.ts +22 -0
  358. package/dist/core/inbox/lifecycle.d.ts.map +1 -0
  359. package/dist/core/inbox/lifecycle.js +41 -0
  360. package/dist/core/inbox/service.d.ts +36 -0
  361. package/dist/core/inbox/service.d.ts.map +1 -0
  362. package/dist/core/inbox/service.js +210 -0
  363. package/dist/core/inbox/watcher.d.ts +7 -0
  364. package/dist/core/inbox/watcher.d.ts.map +1 -0
  365. package/dist/core/inbox/watcher.js +26 -0
  366. package/dist/core/presence/codec-digest.d.ts.map +1 -1
  367. package/dist/core/presence/codec-digest.js +14 -3
  368. package/dist/core/presence/relay-client.d.ts +1 -0
  369. package/dist/core/presence/relay-client.d.ts.map +1 -1
  370. package/dist/core/presence/relay-client.js +52 -8
  371. package/dist/core/resources/contract.d.ts +90 -0
  372. package/dist/core/resources/contract.d.ts.map +1 -0
  373. package/dist/core/resources/contract.js +2 -0
  374. package/dist/core/resources/index.d.ts +6 -0
  375. package/dist/core/resources/index.d.ts.map +1 -0
  376. package/dist/core/resources/index.js +5 -0
  377. package/dist/core/resources/sampler.d.ts +27 -0
  378. package/dist/core/resources/sampler.d.ts.map +1 -0
  379. package/dist/core/resources/sampler.js +357 -0
  380. package/dist/core/resources/service-status.d.ts +3 -0
  381. package/dist/core/resources/service-status.d.ts.map +1 -0
  382. package/dist/core/resources/service-status.js +48 -0
  383. package/dist/core/resources/service.d.ts +26 -0
  384. package/dist/core/resources/service.d.ts.map +1 -0
  385. package/dist/core/resources/service.js +292 -0
  386. package/dist/core/resources/storage.d.ts +13 -0
  387. package/dist/core/resources/storage.d.ts.map +1 -0
  388. package/dist/core/resources/storage.js +30 -0
  389. package/dist/core/semantic/adapters.d.ts +11 -8
  390. package/dist/core/semantic/adapters.d.ts.map +1 -1
  391. package/dist/core/semantic/adapters.js +169 -31
  392. package/dist/core/semantic/contract.d.ts +532 -48
  393. package/dist/core/semantic/contract.d.ts.map +1 -1
  394. package/dist/core/semantic/contract.js +104 -3
  395. package/dist/core/semantic/index.d.ts +7 -3
  396. package/dist/core/semantic/index.d.ts.map +1 -1
  397. package/dist/core/semantic/index.js +7 -3
  398. package/dist/core/semantic/once.d.ts +6 -1
  399. package/dist/core/semantic/once.d.ts.map +1 -1
  400. package/dist/core/semantic/once.js +80 -9
  401. package/dist/core/semantic/prompt.d.ts.map +1 -1
  402. package/dist/core/semantic/prompt.js +14 -1
  403. package/dist/core/semantic/review.d.ts +144 -0
  404. package/dist/core/semantic/review.d.ts.map +1 -0
  405. package/dist/core/semantic/review.js +544 -0
  406. package/dist/core/semantic/routes.d.ts +10 -0
  407. package/dist/core/semantic/routes.d.ts.map +1 -0
  408. package/dist/core/semantic/routes.js +21 -0
  409. package/dist/core/semantic/scheduler.d.ts +14 -3
  410. package/dist/core/semantic/scheduler.d.ts.map +1 -1
  411. package/dist/core/semantic/scheduler.js +30 -6
  412. package/dist/core/semantic/service-status.d.ts +20 -0
  413. package/dist/core/semantic/service-status.d.ts.map +1 -1
  414. package/dist/core/semantic/service-status.js +60 -4
  415. package/dist/core/semantic/service.d.ts +1 -0
  416. package/dist/core/semantic/service.d.ts.map +1 -1
  417. package/dist/core/semantic/service.js +104 -15
  418. package/dist/core/semantic/soak.d.ts +75 -0
  419. package/dist/core/semantic/soak.d.ts.map +1 -0
  420. package/dist/core/semantic/soak.js +476 -0
  421. package/dist/core/semantic/storage.d.ts +11 -1
  422. package/dist/core/semantic/storage.d.ts.map +1 -1
  423. package/dist/core/semantic/storage.js +4 -3
  424. package/dist/core/semantic/usage.d.ts +43 -0
  425. package/dist/core/semantic/usage.d.ts.map +1 -0
  426. package/dist/core/semantic/usage.js +193 -0
  427. package/dist/core/semantic/validate.d.ts +3 -1
  428. package/dist/core/semantic/validate.d.ts.map +1 -1
  429. package/dist/core/semantic/validate.js +34 -1
  430. package/dist/core/storage/atomic-json.d.ts +3 -0
  431. package/dist/core/storage/atomic-json.d.ts.map +1 -0
  432. package/dist/core/storage/atomic-json.js +15 -0
  433. package/dist/core/storage/buffer.d.ts +28 -0
  434. package/dist/core/storage/buffer.d.ts.map +1 -0
  435. package/dist/core/storage/buffer.js +101 -0
  436. package/dist/core/storage/builtins.d.ts +3 -0
  437. package/dist/core/storage/builtins.d.ts.map +1 -0
  438. package/dist/core/storage/builtins.js +722 -0
  439. package/dist/core/storage/catalog.d.ts +19 -0
  440. package/dist/core/storage/catalog.d.ts.map +1 -0
  441. package/dist/core/storage/catalog.js +365 -0
  442. package/dist/core/storage/config.d.ts +16 -0
  443. package/dist/core/storage/config.d.ts.map +1 -0
  444. package/dist/core/storage/config.js +311 -0
  445. package/dist/core/storage/contract.d.ts +275 -0
  446. package/dist/core/storage/contract.d.ts.map +1 -0
  447. package/dist/core/storage/contract.js +3 -0
  448. package/dist/core/storage/durable-history.d.ts +36 -0
  449. package/dist/core/storage/durable-history.d.ts.map +1 -0
  450. package/dist/core/storage/durable-history.js +606 -0
  451. package/dist/core/storage/health.d.ts +4 -0
  452. package/dist/core/storage/health.d.ts.map +1 -0
  453. package/dist/core/storage/health.js +65 -0
  454. package/dist/core/storage/index.d.ts +16 -0
  455. package/dist/core/storage/index.d.ts.map +1 -0
  456. package/dist/core/storage/index.js +15 -0
  457. package/dist/core/storage/inventory.d.ts +25 -0
  458. package/dist/core/storage/inventory.d.ts.map +1 -0
  459. package/dist/core/storage/inventory.js +666 -0
  460. package/dist/core/storage/jsonl.d.ts +52 -0
  461. package/dist/core/storage/jsonl.d.ts.map +1 -0
  462. package/dist/core/storage/jsonl.js +156 -0
  463. package/dist/core/storage/log-retention.d.ts +52 -0
  464. package/dist/core/storage/log-retention.d.ts.map +1 -0
  465. package/dist/core/storage/log-retention.js +419 -0
  466. package/dist/core/storage/logger.d.ts +84 -0
  467. package/dist/core/storage/logger.d.ts.map +1 -0
  468. package/dist/core/storage/logger.js +413 -0
  469. package/dist/core/storage/maintenance-providers.d.ts +26 -0
  470. package/dist/core/storage/maintenance-providers.d.ts.map +1 -0
  471. package/dist/core/storage/maintenance-providers.js +141 -0
  472. package/dist/core/storage/maintenance.d.ts +125 -0
  473. package/dist/core/storage/maintenance.d.ts.map +1 -0
  474. package/dist/core/storage/maintenance.js +609 -0
  475. package/dist/core/storage/metrics.d.ts +60 -0
  476. package/dist/core/storage/metrics.d.ts.map +1 -0
  477. package/dist/core/storage/metrics.js +134 -0
  478. package/dist/core/storage/policy.d.ts +7 -0
  479. package/dist/core/storage/policy.d.ts.map +1 -0
  480. package/dist/core/storage/policy.js +110 -0
  481. package/dist/core/storage/process-log.d.ts +38 -0
  482. package/dist/core/storage/process-log.d.ts.map +1 -0
  483. package/dist/core/storage/process-log.js +165 -0
  484. package/dist/core/storage/query.d.ts +48 -0
  485. package/dist/core/storage/query.d.ts.map +1 -0
  486. package/dist/core/storage/query.js +346 -0
  487. package/dist/core/storage/receipts.d.ts +23 -0
  488. package/dist/core/storage/receipts.d.ts.map +1 -0
  489. package/dist/core/storage/receipts.js +117 -0
  490. package/dist/core/storage/segments.d.ts +84 -0
  491. package/dist/core/storage/segments.d.ts.map +1 -0
  492. package/dist/core/storage/segments.js +542 -0
  493. package/dist/core/storage/sink-graph.d.ts +65 -0
  494. package/dist/core/storage/sink-graph.d.ts.map +1 -0
  495. package/dist/core/storage/sink-graph.js +213 -0
  496. package/dist/core/storage/storm-control.d.ts +23 -0
  497. package/dist/core/storage/storm-control.d.ts.map +1 -0
  498. package/dist/core/storage/storm-control.js +59 -0
  499. package/dist/core/supervisor/activity.d.ts +4 -0
  500. package/dist/core/supervisor/activity.d.ts.map +1 -0
  501. package/dist/core/supervisor/activity.js +141 -0
  502. package/dist/core/supervisor/contract.d.ts +268 -0
  503. package/dist/core/supervisor/contract.d.ts.map +1 -0
  504. package/dist/core/supervisor/contract.js +35 -0
  505. package/dist/core/supervisor/explanations.d.ts +4 -0
  506. package/dist/core/supervisor/explanations.d.ts.map +1 -0
  507. package/dist/core/supervisor/explanations.js +71 -0
  508. package/dist/core/supervisor/findings.d.ts +20 -0
  509. package/dist/core/supervisor/findings.d.ts.map +1 -0
  510. package/dist/core/supervisor/findings.js +399 -0
  511. package/dist/core/supervisor/history.d.ts +9 -0
  512. package/dist/core/supervisor/history.d.ts.map +1 -0
  513. package/dist/core/supervisor/history.js +46 -0
  514. package/dist/core/supervisor/hook-health-alerts.d.ts +14 -0
  515. package/dist/core/supervisor/hook-health-alerts.d.ts.map +1 -0
  516. package/dist/core/supervisor/hook-health-alerts.js +70 -0
  517. package/dist/core/supervisor/hook-health-storage.d.ts +5 -0
  518. package/dist/core/supervisor/hook-health-storage.d.ts.map +1 -0
  519. package/dist/core/supervisor/hook-health-storage.js +24 -0
  520. package/dist/core/supervisor/hook-health.d.ts +72 -0
  521. package/dist/core/supervisor/hook-health.d.ts.map +1 -0
  522. package/dist/core/supervisor/hook-health.js +203 -0
  523. package/dist/core/supervisor/hooks.d.ts +10 -0
  524. package/dist/core/supervisor/hooks.d.ts.map +1 -0
  525. package/dist/core/supervisor/hooks.js +28 -0
  526. package/dist/core/supervisor/index.d.ts +15 -0
  527. package/dist/core/supervisor/index.d.ts.map +1 -0
  528. package/dist/core/supervisor/index.js +14 -0
  529. package/dist/core/supervisor/log-feed.d.ts +9 -0
  530. package/dist/core/supervisor/log-feed.d.ts.map +1 -0
  531. package/dist/core/supervisor/log-feed.js +103 -0
  532. package/dist/core/supervisor/service.d.ts +29 -0
  533. package/dist/core/supervisor/service.d.ts.map +1 -0
  534. package/dist/core/supervisor/service.js +450 -0
  535. package/dist/core/supervisor/services.d.ts +11 -0
  536. package/dist/core/supervisor/services.d.ts.map +1 -0
  537. package/dist/core/supervisor/services.js +155 -0
  538. package/dist/core/supervisor/status.d.ts +3 -0
  539. package/dist/core/supervisor/status.d.ts.map +1 -0
  540. package/dist/core/supervisor/status.js +48 -0
  541. package/dist/core/supervisor/storage.d.ts +30 -0
  542. package/dist/core/supervisor/storage.d.ts.map +1 -0
  543. package/dist/core/supervisor/storage.js +73 -0
  544. package/dist/core/supervisor/timeline.d.ts +3 -0
  545. package/dist/core/supervisor/timeline.d.ts.map +1 -0
  546. package/dist/core/supervisor/timeline.js +87 -0
  547. package/dist/core/work/state.d.ts.map +1 -1
  548. package/dist/core/work/state.js +10 -14
  549. package/dist/core/workflow/admission.d.ts +23 -0
  550. package/dist/core/workflow/admission.d.ts.map +1 -0
  551. package/dist/core/workflow/admission.js +136 -0
  552. package/dist/core/workflow/engine.d.ts.map +1 -1
  553. package/dist/core/workflow/engine.js +77 -2
  554. package/dist/core/workflow/index.d.ts +3 -2
  555. package/dist/core/workflow/index.d.ts.map +1 -1
  556. package/dist/core/workflow/index.js +2 -1
  557. package/dist/core/workflow/live-session-v3.d.ts.map +1 -1
  558. package/dist/core/workflow/live-session-v3.js +2 -1
  559. package/dist/core/workflow/proof.d.ts +2 -1
  560. package/dist/core/workflow/proof.d.ts.map +1 -1
  561. package/dist/core/workflow/proof.js +39 -1
  562. package/dist/core/workflow/run-state.d.ts +3 -2
  563. package/dist/core/workflow/run-state.d.ts.map +1 -1
  564. package/dist/core/workflow/run-state.js +8 -1
  565. package/dist/core/workflow/types.d.ts +33 -1
  566. package/dist/core/workflow/types.d.ts.map +1 -1
  567. package/dist/core/workflow/types.js +2 -1
  568. package/dist/index.d.ts +2 -0
  569. package/dist/index.d.ts.map +1 -1
  570. package/dist/index.js +2 -0
  571. package/dist/lazy-commands.d.ts +26 -0
  572. package/dist/lazy-commands.d.ts.map +1 -0
  573. package/dist/lazy-commands.js +210 -0
  574. package/dist/lib/browser/client.d.ts +5 -0
  575. package/dist/lib/browser/client.d.ts.map +1 -1
  576. package/dist/lib/browser/client.js +1 -0
  577. package/dist/lib/browser/index.d.ts +2 -0
  578. package/dist/lib/browser/index.d.ts.map +1 -1
  579. package/dist/lib/browser/index.js +2 -0
  580. package/dist/lib/browser/qa-run-contracts.d.ts +173 -0
  581. package/dist/lib/browser/qa-run-contracts.d.ts.map +1 -0
  582. package/dist/lib/browser/qa-run-contracts.js +226 -0
  583. package/dist/lib/browser/qa-run.d.ts +51 -0
  584. package/dist/lib/browser/qa-run.d.ts.map +1 -0
  585. package/dist/lib/browser/qa-run.js +684 -0
  586. package/dist/lib/coord-root-id.d.ts +9 -0
  587. package/dist/lib/coord-root-id.d.ts.map +1 -0
  588. package/dist/lib/coord-root-id.js +17 -0
  589. package/dist/lib/docs-lint.d.ts +2 -0
  590. package/dist/lib/docs-lint.d.ts.map +1 -1
  591. package/dist/lib/docs-lint.js +45 -80
  592. package/dist/lib/docs-metadata-audit.d.ts +3 -0
  593. package/dist/lib/docs-metadata-audit.d.ts.map +1 -1
  594. package/dist/lib/docs-metadata-audit.js +13 -23
  595. package/dist/lib/docs-metadata-sync.d.ts +1 -0
  596. package/dist/lib/docs-metadata-sync.d.ts.map +1 -1
  597. package/dist/lib/docs-metadata-sync.js +28 -10
  598. package/dist/lib/docs-repository-view.d.ts +22 -0
  599. package/dist/lib/docs-repository-view.d.ts.map +1 -0
  600. package/dist/lib/docs-repository-view.js +185 -0
  601. package/dist/lib/http/client.d.ts +11 -5
  602. package/dist/lib/http/client.d.ts.map +1 -1
  603. package/dist/lib/http/client.js +22 -4
  604. package/dist/lib/http/index.d.ts +1 -1
  605. package/dist/lib/http/index.d.ts.map +1 -1
  606. package/dist/lib/http/index.js +1 -1
  607. package/dist/lib/indexer-exclusions.d.ts +27 -0
  608. package/dist/lib/indexer-exclusions.d.ts.map +1 -0
  609. package/dist/lib/indexer-exclusions.js +176 -0
  610. package/dist/lib/instructions/apply.d.ts +3 -1
  611. package/dist/lib/instructions/apply.d.ts.map +1 -1
  612. package/dist/lib/instructions/apply.js +74 -3
  613. package/dist/lib/instructions/templates.d.ts.map +1 -1
  614. package/dist/lib/instructions/templates.js +11 -0
  615. package/dist/lib/local-file-url.d.ts +9 -0
  616. package/dist/lib/local-file-url.d.ts.map +1 -0
  617. package/dist/lib/local-file-url.js +20 -0
  618. package/dist/lib/web-performance.d.ts +118 -0
  619. package/dist/lib/web-performance.d.ts.map +1 -0
  620. package/dist/lib/web-performance.js +192 -0
  621. package/package.json +40 -2
  622. package/schemas/config.schema.json +58 -0
  623. package/schemas/event-v3.schema.json +324 -112
  624. package/src/commander.ts +488 -95
  625. package/src/commands/agents.ts +617 -237
  626. package/src/commands/artifacts.ts +40 -2
  627. package/src/commands/backup.ts +18 -14
  628. package/src/commands/browse-session.ts +12 -0
  629. package/src/commands/browse.ts +21 -7
  630. package/src/commands/conversations.ts +279 -0
  631. package/src/commands/deinit.ts +6 -0
  632. package/src/commands/diagnostics.ts +271 -0
  633. package/src/commands/docs.ts +25 -6
  634. package/src/commands/doctor.ts +75 -9
  635. package/src/commands/fetch.ts +7 -6
  636. package/src/commands/files.ts +243 -0
  637. package/src/commands/governor.ts +21 -12
  638. package/src/commands/inbox.ts +61 -0
  639. package/src/commands/init.ts +78 -16
  640. package/src/commands/ledger-v3.ts +503 -1
  641. package/src/commands/logs.ts +224 -0
  642. package/src/commands/messages.ts +61 -0
  643. package/src/commands/outline.ts +6 -2
  644. package/src/commands/qa-run.ts +184 -0
  645. package/src/commands/read.ts +6 -2
  646. package/src/commands/resources.ts +38 -0
  647. package/src/commands/semantic.ts +66 -1
  648. package/src/commands/storage.ts +310 -0
  649. package/src/commands/supervisor.ts +141 -0
  650. package/src/commands/tunnel.ts +66 -52
  651. package/src/commands/web.ts +96 -7
  652. package/src/commands/work.ts +3 -3
  653. package/src/commands/workflow.ts +21 -13
  654. package/src/core/agents/cli.ts +265 -55
  655. package/src/core/agents/health.ts +142 -0
  656. package/src/core/agents/live-authority-v3.ts +341 -10
  657. package/src/core/agents/live-lifecycle-v3.ts +6 -1
  658. package/src/core/agents/live-observation-v3.ts +6 -1
  659. package/src/core/agents/mailbox.ts +373 -0
  660. package/src/core/agents/reconcile-coordination-v3.ts +77 -0
  661. package/src/core/agents/render/prompt-context.ts +66 -15
  662. package/src/core/agents/render/session-context.ts +37 -3
  663. package/src/core/agents/rules/commit-conflict.ts +58 -1
  664. package/src/core/agents/rules/stop-hook.ts +105 -20
  665. package/src/core/agents/rules/verdict.ts +1 -0
  666. package/src/core/agents/session-events.ts +4 -0
  667. package/src/core/agents/session-finalization-state-v3.ts +1 -1
  668. package/src/core/agents/session-finalizer-v3.ts +8 -2
  669. package/src/core/agents/state/activity-log.ts +7 -2
  670. package/src/core/agents/state/heartbeat-writer.ts +27 -0
  671. package/src/core/agents/state/live-coordination-view.ts +16 -105
  672. package/src/core/agents/state/live-coordination-writer.ts +141 -0
  673. package/src/core/artifacts/index.ts +260 -11
  674. package/src/core/config.ts +235 -5
  675. package/src/core/conversations/archive.ts +237 -0
  676. package/src/core/conversations/catalog.ts +79 -0
  677. package/src/core/conversations/context-pack.ts +72 -0
  678. package/src/core/conversations/contract.ts +178 -0
  679. package/src/core/conversations/evaluation.ts +30 -0
  680. package/src/core/conversations/index.ts +9 -0
  681. package/src/core/conversations/lifecycle.ts +63 -0
  682. package/src/core/conversations/normalize.ts +105 -0
  683. package/src/core/conversations/query.ts +318 -0
  684. package/src/core/conversations/search-index.ts +48 -0
  685. package/src/core/diagnostics/advice.ts +147 -0
  686. package/src/core/diagnostics/bundle.ts +1142 -0
  687. package/src/core/diagnostics/comparison.ts +565 -0
  688. package/src/core/diagnostics/contract.ts +311 -0
  689. package/src/core/diagnostics/identity.ts +11 -0
  690. package/src/core/diagnostics/index.ts +7 -0
  691. package/src/core/diagnostics/replay.ts +314 -0
  692. package/src/core/diagnostics/sanitize.ts +97 -0
  693. package/src/core/events/legacy-storage/canary.ts +177 -0
  694. package/src/core/events/legacy-storage/compression.ts +130 -0
  695. package/src/core/events/legacy-storage/fence.ts +129 -0
  696. package/src/core/events/legacy-storage/index.ts +6 -0
  697. package/src/core/events/legacy-storage/inventory.ts +51 -0
  698. package/src/core/events/legacy-storage/manifest.ts +136 -0
  699. package/src/core/events/legacy-storage/reader.ts +178 -0
  700. package/src/core/events/v3/archive-retention.ts +251 -0
  701. package/src/core/events/v3/authority-outbox.ts +22 -1
  702. package/src/core/events/v3/base-contract.ts +17 -7
  703. package/src/core/events/v3/bootstrap.ts +195 -2
  704. package/src/core/events/v3/capabilities.ts +5 -3
  705. package/src/core/events/v3/control-witness.ts +339 -0
  706. package/src/core/events/v3/control-writer.ts +16 -0
  707. package/src/core/events/v3/control.ts +54 -18
  708. package/src/core/events/v3/coordination-transaction-recovery.ts +477 -0
  709. package/src/core/events/v3/coordination-view.ts +17 -1
  710. package/src/core/events/v3/generated.ts +1 -1
  711. package/src/core/events/v3/index.ts +14 -2
  712. package/src/core/events/v3/live-route-observer.ts +80 -0
  713. package/src/core/events/v3/live-routing.ts +65 -46
  714. package/src/core/events/v3/producers/coordination-recorder.ts +95 -10
  715. package/src/core/events/v3/producers/diagnostic-summaries.ts +593 -0
  716. package/src/core/events/v3/producers/hook-base.ts +15 -3
  717. package/src/core/events/v3/producers/intake.ts +31 -2
  718. package/src/core/events/v3/producers/producer-state-observer.ts +52 -0
  719. package/src/core/events/v3/producers/recorder.ts +681 -34
  720. package/src/core/events/v3/reader.ts +243 -2
  721. package/src/core/events/v3/rotation-config.ts +98 -0
  722. package/src/core/events/v3/runtime-build.ts +41 -0
  723. package/src/core/events/v3/runtime-identity.ts +16 -0
  724. package/src/core/events/v3/runtime-telemetry-capabilities.ts +14 -8
  725. package/src/core/events/v3/support-storage/classify.ts +209 -0
  726. package/src/core/events/v3/support-storage/eligibility.ts +58 -0
  727. package/src/core/events/v3/support-storage/index.ts +9 -0
  728. package/src/core/events/v3/support-storage/inventory.ts +135 -0
  729. package/src/core/events/v3/support-storage/logical-authority.ts +117 -0
  730. package/src/core/events/v3/support-storage/maintenance.ts +501 -0
  731. package/src/core/events/v3/support-storage/pack-contract.ts +337 -0
  732. package/src/core/events/v3/support-storage/pack-reader.ts +346 -0
  733. package/src/core/events/v3/support-storage/pack-writer.ts +352 -0
  734. package/src/core/events/v3/support-storage/recovery.ts +43 -0
  735. package/src/core/events/v3/turn-telemetry.ts +58 -7
  736. package/src/core/events/v3/writer.ts +168 -16
  737. package/src/core/governor/plan-read.ts +5 -18
  738. package/src/core/governor/planning.ts +5 -8
  739. package/src/core/governor/service-read.ts +320 -2
  740. package/src/core/governor/service.ts +49 -22
  741. package/src/core/guard/evidence-v3.ts +1 -0
  742. package/src/core/hooks/adapter/events.ts +1 -0
  743. package/src/core/hooks/adapter/output.ts +23 -5
  744. package/src/core/hooks/adapter/runtime-telemetry.ts +408 -13
  745. package/src/core/hooks/cli.ts +404 -233
  746. package/src/core/hooks/effects/image-capture.ts +4 -1
  747. package/src/core/hooks/health.ts +146 -0
  748. package/src/core/hooks/remediation-cap.ts +12 -6
  749. package/src/core/hooks/resolve/coord-root.ts +91 -11
  750. package/src/core/hooks/resolve/owner.ts +4 -0
  751. package/src/core/hooks/resolve/transcript.ts +18 -0
  752. package/src/core/inbox/contract.ts +81 -0
  753. package/src/core/inbox/index.ts +4 -0
  754. package/src/core/inbox/lifecycle.ts +104 -0
  755. package/src/core/inbox/service.ts +305 -0
  756. package/src/core/inbox/watcher.ts +36 -0
  757. package/src/core/presence/codec-digest.ts +15 -9
  758. package/src/core/presence/relay-client.ts +55 -7
  759. package/src/core/resources/contract.ts +98 -0
  760. package/src/core/resources/index.ts +5 -0
  761. package/src/core/resources/sampler.ts +458 -0
  762. package/src/core/resources/service-status.ts +62 -0
  763. package/src/core/resources/service.ts +337 -0
  764. package/src/core/resources/storage.ts +44 -0
  765. package/src/core/semantic/adapters.ts +200 -41
  766. package/src/core/semantic/contract.ts +135 -3
  767. package/src/core/semantic/index.ts +76 -2
  768. package/src/core/semantic/once.ts +93 -7
  769. package/src/core/semantic/prompt.ts +13 -1
  770. package/src/core/semantic/review.ts +803 -0
  771. package/src/core/semantic/routes.ts +30 -0
  772. package/src/core/semantic/scheduler.ts +49 -5
  773. package/src/core/semantic/service-status.ts +99 -5
  774. package/src/core/semantic/service.ts +116 -15
  775. package/src/core/semantic/soak.ts +638 -0
  776. package/src/core/semantic/storage.ts +20 -6
  777. package/src/core/semantic/usage.ts +272 -0
  778. package/src/core/semantic/validate.ts +31 -0
  779. package/src/core/storage/atomic-json.ts +15 -0
  780. package/src/core/storage/buffer.ts +124 -0
  781. package/src/core/storage/builtins.ts +972 -0
  782. package/src/core/storage/catalog.ts +467 -0
  783. package/src/core/storage/config.ts +423 -0
  784. package/src/core/storage/contract.ts +342 -0
  785. package/src/core/storage/durable-history.ts +738 -0
  786. package/src/core/storage/health.ts +76 -0
  787. package/src/core/storage/index.ts +15 -0
  788. package/src/core/storage/inventory.ts +859 -0
  789. package/src/core/storage/jsonl.ts +213 -0
  790. package/src/core/storage/log-retention.ts +555 -0
  791. package/src/core/storage/logger.ts +548 -0
  792. package/src/core/storage/maintenance-providers.ts +200 -0
  793. package/src/core/storage/maintenance.ts +929 -0
  794. package/src/core/storage/metrics.ts +199 -0
  795. package/src/core/storage/policy.ts +141 -0
  796. package/src/core/storage/process-log.ts +203 -0
  797. package/src/core/storage/query.ts +418 -0
  798. package/src/core/storage/receipts.ts +162 -0
  799. package/src/core/storage/segments.ts +721 -0
  800. package/src/core/storage/sink-graph.ts +343 -0
  801. package/src/core/storage/storm-control.ts +91 -0
  802. package/src/core/supervisor/activity.ts +193 -0
  803. package/src/core/supervisor/contract.ts +312 -0
  804. package/src/core/supervisor/explanations.ts +104 -0
  805. package/src/core/supervisor/findings.ts +788 -0
  806. package/src/core/supervisor/history.ts +61 -0
  807. package/src/core/supervisor/hook-health-alerts.ts +108 -0
  808. package/src/core/supervisor/hook-health-storage.ts +25 -0
  809. package/src/core/supervisor/hook-health.ts +301 -0
  810. package/src/core/supervisor/hooks.ts +35 -0
  811. package/src/core/supervisor/index.ts +14 -0
  812. package/src/core/supervisor/log-feed.ts +131 -0
  813. package/src/core/supervisor/service.ts +511 -0
  814. package/src/core/supervisor/services.ts +203 -0
  815. package/src/core/supervisor/status.ts +59 -0
  816. package/src/core/supervisor/storage.ts +126 -0
  817. package/src/core/supervisor/timeline.ts +133 -0
  818. package/src/core/work/state.ts +12 -21
  819. package/src/core/workflow/admission.ts +215 -0
  820. package/src/core/workflow/engine.ts +93 -1
  821. package/src/core/workflow/index.ts +10 -0
  822. package/src/core/workflow/live-session-v3.ts +2 -4
  823. package/src/core/workflow/proof.ts +54 -1
  824. package/src/core/workflow/run-state.ts +13 -1
  825. package/src/core/workflow/types.ts +39 -1
  826. package/src/index.ts +2 -0
  827. package/src/lazy-commands.ts +294 -0
  828. package/src/lib/browser/client.ts +6 -0
  829. package/src/lib/browser/index.ts +29 -0
  830. package/src/lib/browser/qa-run-contracts.ts +380 -0
  831. package/src/lib/browser/qa-run.ts +784 -0
  832. package/src/lib/coord-root-id.ts +23 -0
  833. package/src/lib/docs-lint.ts +58 -77
  834. package/src/lib/docs-metadata-audit.ts +26 -21
  835. package/src/lib/docs-metadata-sync.ts +32 -9
  836. package/src/lib/docs-repository-view.ts +220 -0
  837. package/src/lib/http/client.ts +44 -8
  838. package/src/lib/http/index.ts +6 -1
  839. package/src/lib/indexer-exclusions.ts +173 -0
  840. package/src/lib/instructions/apply.ts +81 -2
  841. package/src/lib/instructions/templates.ts +11 -0
  842. package/src/lib/local-file-url.ts +31 -0
  843. package/src/lib/web-performance.ts +335 -0
@@ -6,23 +6,22 @@ import { promisify } from "node:util";
6
6
  import type { TSchema } from "@sinclair/typebox";
7
7
  import { whichBin } from "../../lib/headless/index.ts";
8
8
  import {
9
- type SemanticConfiguredModel,
10
9
  type SemanticHarness,
11
10
  SemanticModelReplyV2Schema,
11
+ type SemanticUsageReceiptV1,
12
12
  } from "./contract.ts";
13
+ import { SEMANTIC_READER_ROUTES, type SemanticReaderRoute } from "./routes.ts";
13
14
  import type { SemanticReaderResolution } from "./storage.ts";
15
+ import {
16
+ estimateVisibleSemanticUsage,
17
+ nativeSemanticUsage,
18
+ unreportedSemanticUsage,
19
+ } from "./usage.ts";
14
20
 
15
21
  const execFileAsync = promisify(execFile);
16
22
  const MAX_OUTPUT_BYTES = 512 * 1024;
17
23
  const DEFAULT_TIMEOUT_MS = 90_000;
18
24
 
19
- export interface SemanticReaderRoute {
20
- harness: SemanticHarness;
21
- binary: string;
22
- configured_model: SemanticConfiguredModel;
23
- invocation_model_id: string;
24
- }
25
-
26
25
  export interface SemanticAdapterSuccess {
27
26
  ok: true;
28
27
  text: string;
@@ -30,6 +29,7 @@ export interface SemanticAdapterSuccess {
30
29
  model_attestation: "verified" | "requested-only";
31
30
  duration_ms: number;
32
31
  output_bytes: number;
32
+ usage: SemanticUsageReceiptV1;
33
33
  }
34
34
 
35
35
  export interface SemanticAdapterFailure {
@@ -42,6 +42,7 @@ export interface SemanticAdapterFailure {
42
42
  resolved_model_id?: string;
43
43
  model_attestation?: "verified" | "requested-only";
44
44
  duration_ms: number;
45
+ usage: SemanticUsageReceiptV1;
45
46
  }
46
47
 
47
48
  export type SemanticAdapterResult = SemanticAdapterSuccess | SemanticAdapterFailure;
@@ -56,26 +57,7 @@ export interface SemanticAdapter {
56
57
  ): Promise<SemanticAdapterResult>;
57
58
  }
58
59
 
59
- export const SEMANTIC_READER_ROUTES: Record<SemanticHarness, SemanticReaderRoute> = {
60
- "claude-code": {
61
- harness: "claude-code",
62
- binary: "claude",
63
- configured_model: "haiku-4.5",
64
- invocation_model_id: "claude-haiku-4-5-20251001",
65
- },
66
- codex: {
67
- harness: "codex",
68
- binary: "codex",
69
- configured_model: "gpt-5.6-luna",
70
- invocation_model_id: "gpt-5.6-luna",
71
- },
72
- cursor: {
73
- harness: "cursor",
74
- binary: "cursor-agent",
75
- configured_model: "composer-2.5",
76
- invocation_model_id: "composer-2.5",
77
- },
78
- };
60
+ export { SEMANTIC_READER_ROUTES, type SemanticReaderRoute } from "./routes.ts";
79
61
 
80
62
  export function createSemanticAdapters(): Record<SemanticHarness, SemanticAdapter> {
81
63
  return {
@@ -119,7 +101,12 @@ function createAdapter(route: SemanticReaderRoute): SemanticAdapter {
119
101
  responseSchema = SemanticModelReplyV2Schema,
120
102
  ) {
121
103
  if (!whichBin(route.binary)) {
122
- return { ok: false, reason_code: "harness_unavailable", duration_ms: 0 };
104
+ return {
105
+ ok: false,
106
+ reason_code: "harness_unavailable",
107
+ duration_ms: 0,
108
+ usage: unreportedSemanticUsage(),
109
+ };
123
110
  }
124
111
  return await invokeRoute(route, prompt, timeoutMs, responseSchema);
125
112
  },
@@ -144,16 +131,22 @@ async function invokeRoute(
144
131
  });
145
132
  pending.child.stdin?.end();
146
133
  const { stdout } = await pending;
147
- const raw = invocation.outputFile ? readFileSync(invocation.outputFile, "utf8") : stdout;
148
- const parsed = parseHarnessOutput(route.harness, raw);
134
+ const outputFileText = invocation.outputFile
135
+ ? readFileSync(invocation.outputFile, "utf8")
136
+ : undefined;
137
+ const parsed = parseSemanticHarnessOutput(route.harness, stdout, outputFileText);
149
138
  if (!parsed.text.trim()) throw new Error("empty semantic response");
150
- if (parsed.executedModelId && parsed.executedModelId !== route.invocation_model_id) {
139
+ if (
140
+ parsed.executedModelId &&
141
+ !modelIdsMatch(parsed.executedModelId, route.invocation_model_id)
142
+ ) {
151
143
  return {
152
144
  ok: false,
153
145
  reason_code: "model_mismatch",
154
146
  resolved_model_id: parsed.executedModelId,
155
147
  model_attestation: "verified",
156
148
  duration_ms: Date.now() - started,
149
+ usage: parsed.usage ?? unreportedSemanticUsage(),
157
150
  };
158
151
  }
159
152
  return {
@@ -163,6 +156,7 @@ async function invokeRoute(
163
156
  model_attestation: parsed.executedModelId ? "verified" : "requested-only",
164
157
  duration_ms: Date.now() - started,
165
158
  output_bytes: Buffer.byteLength(parsed.text),
159
+ usage: parsed.usage ?? estimateVisibleSemanticUsage(prompt, parsed.text),
166
160
  };
167
161
  } catch (error) {
168
162
  return {
@@ -171,6 +165,7 @@ async function invokeRoute(
171
165
  resolved_model_id: route.invocation_model_id,
172
166
  model_attestation: "requested-only",
173
167
  duration_ms: Date.now() - started,
168
+ usage: unreportedSemanticUsage(),
174
169
  };
175
170
  } finally {
176
171
  rmSync(dir, { recursive: true, force: true });
@@ -222,6 +217,7 @@ function buildInvocation(
222
217
  "--ephemeral",
223
218
  "--ignore-user-config",
224
219
  "--ignore-rules",
220
+ "--json",
225
221
  "--output-last-message",
226
222
  outputFile,
227
223
  "--cd",
@@ -235,7 +231,7 @@ function buildInvocation(
235
231
  "-p",
236
232
  prompt,
237
233
  "--output-format",
238
- "json",
234
+ "stream-json",
239
235
  "--mode",
240
236
  "ask",
241
237
  "--sandbox",
@@ -247,28 +243,191 @@ function buildInvocation(
247
243
  };
248
244
  }
249
245
 
250
- function parseHarnessOutput(
246
+ export interface ParsedSemanticHarnessOutput {
247
+ text: string;
248
+ executedModelId?: string;
249
+ usage?: SemanticUsageReceiptV1;
250
+ }
251
+
252
+ export function parseSemanticHarnessOutput(
251
253
  harness: SemanticHarness,
252
- raw: string,
253
- ): { text: string; executedModelId?: string } {
254
- if (harness === "codex") return { text: raw };
254
+ stdout: string,
255
+ outputFileText?: string,
256
+ ): ParsedSemanticHarnessOutput {
257
+ if (harness === "codex") return parseCodexOutput(stdout, outputFileText);
258
+ if (harness === "cursor") return parseCursorOutput(stdout);
255
259
  try {
256
- const envelope = JSON.parse(raw) as {
260
+ const envelope = JSON.parse(stdout) as {
257
261
  is_error?: boolean;
258
262
  result?: unknown;
263
+ structured_output?: unknown;
259
264
  model?: unknown;
265
+ usage?: unknown;
266
+ modelUsage?: unknown;
267
+ model_usage?: unknown;
260
268
  };
261
269
  if (envelope.is_error) throw new Error("harness returned an error envelope");
270
+ const structured = envelope.structured_output;
271
+ const modelUsage = objectValue(envelope.modelUsage) ?? objectValue(envelope.model_usage);
272
+ const modelUsageEntries = modelUsage ? Object.entries(modelUsage) : [];
273
+ const executedModelId =
274
+ typeof envelope.model === "string"
275
+ ? envelope.model
276
+ : modelUsageEntries.length === 1
277
+ ? modelUsageEntries[0]![0]
278
+ : undefined;
279
+ const usage = parseClaudeUsage(envelope.usage) ?? aggregateClaudeModelUsage(modelUsageEntries);
262
280
  return {
263
- text: typeof envelope.result === "string" ? envelope.result : "",
264
- ...(typeof envelope.model === "string" ? { executedModelId: envelope.model } : {}),
281
+ text:
282
+ structured !== undefined
283
+ ? JSON.stringify(structured)
284
+ : typeof envelope.result === "string"
285
+ ? envelope.result
286
+ : "",
287
+ ...(executedModelId ? { executedModelId } : {}),
288
+ ...(usage ? { usage } : {}),
265
289
  };
266
290
  } catch (error) {
267
- if (error instanceof SyntaxError) return { text: raw };
291
+ if (error instanceof SyntaxError) return { text: stdout };
268
292
  throw error;
269
293
  }
270
294
  }
271
295
 
296
+ function parseCodexOutput(stdout: string, outputFileText?: string): ParsedSemanticHarnessOutput {
297
+ const events = parseJsonLines(stdout);
298
+ const completed = [...events]
299
+ .reverse()
300
+ .find((event) => event.type === "turn.completed" && objectValue(event.usage));
301
+ const usage = completed ? parseCodexUsage(completed.usage) : undefined;
302
+ const streamedText = [...events]
303
+ .reverse()
304
+ .map((event) => objectValue(event.item))
305
+ .find((item) => item?.type === "agent_message" && typeof item.text === "string")?.text;
306
+ return {
307
+ text: outputFileText ?? (typeof streamedText === "string" ? streamedText : ""),
308
+ ...(usage ? { usage } : {}),
309
+ };
310
+ }
311
+
312
+ function parseCursorOutput(stdout: string): ParsedSemanticHarnessOutput {
313
+ const events = parseJsonLines(stdout);
314
+ const init = events.find(
315
+ (event) =>
316
+ event.type === "system" && event.subtype === "init" && typeof event.model === "string",
317
+ );
318
+ const terminal = [...events]
319
+ .reverse()
320
+ .find((event) => event.type === "result" && typeof event.result === "string");
321
+ if (!terminal) {
322
+ try {
323
+ const envelope = JSON.parse(stdout) as Record<string, unknown>;
324
+ if (envelope.is_error) throw new Error("harness returned an error envelope");
325
+ return {
326
+ text: typeof envelope.result === "string" ? envelope.result : "",
327
+ ...(typeof envelope.model === "string" ? { executedModelId: envelope.model } : {}),
328
+ ...(parseCursorUsage(envelope.usage) ? { usage: parseCursorUsage(envelope.usage) } : {}),
329
+ };
330
+ } catch (error) {
331
+ if (error instanceof SyntaxError) return { text: stdout };
332
+ throw error;
333
+ }
334
+ }
335
+ if (terminal.is_error) throw new Error("harness returned an error envelope");
336
+ const usage = parseCursorUsage(terminal.usage);
337
+ return {
338
+ text: terminal.result as string,
339
+ ...(typeof init?.model === "string" ? { executedModelId: init.model } : {}),
340
+ ...(usage ? { usage } : {}),
341
+ };
342
+ }
343
+
344
+ function parseClaudeUsage(value: unknown): SemanticUsageReceiptV1 | undefined {
345
+ const usage = objectValue(value);
346
+ if (!usage) return undefined;
347
+ return nativeSemanticUsage({
348
+ input_tokens: usage.input_tokens,
349
+ cached_input_tokens: usage.cache_read_input_tokens,
350
+ cache_creation_input_tokens: usage.cache_creation_input_tokens,
351
+ output_tokens: usage.output_tokens,
352
+ reasoning_tokens: usage.reasoning_tokens ?? usage.reasoning_output_tokens,
353
+ total_tokens: usage.total_tokens,
354
+ });
355
+ }
356
+
357
+ function aggregateClaudeModelUsage(
358
+ entries: [string, unknown][],
359
+ ): SemanticUsageReceiptV1 | undefined {
360
+ const values: Record<string, number> = {};
361
+ for (const [, raw] of entries) {
362
+ const usage = objectValue(raw);
363
+ if (!usage) continue;
364
+ addNumber(values, "input_tokens", usage.inputTokens);
365
+ addNumber(values, "cached_input_tokens", usage.cacheReadInputTokens);
366
+ addNumber(values, "cache_creation_input_tokens", usage.cacheCreationInputTokens);
367
+ addNumber(values, "output_tokens", usage.outputTokens);
368
+ }
369
+ return nativeSemanticUsage(values);
370
+ }
371
+
372
+ function parseCodexUsage(value: unknown): SemanticUsageReceiptV1 | undefined {
373
+ const usage = objectValue(value);
374
+ if (!usage) return undefined;
375
+ return nativeSemanticUsage({
376
+ input_tokens: usage.input_tokens,
377
+ cached_input_tokens: usage.cached_input_tokens,
378
+ cache_creation_input_tokens: usage.cache_write_input_tokens,
379
+ output_tokens: usage.output_tokens,
380
+ reasoning_tokens: usage.reasoning_output_tokens,
381
+ total_tokens: usage.total_tokens,
382
+ });
383
+ }
384
+
385
+ function parseCursorUsage(value: unknown): SemanticUsageReceiptV1 | undefined {
386
+ const usage = objectValue(value);
387
+ if (!usage) return undefined;
388
+ return nativeSemanticUsage({
389
+ input_tokens: usage.inputTokens ?? usage.input_tokens,
390
+ cached_input_tokens:
391
+ usage.cacheReadTokens ?? usage.cachedInputTokens ?? usage.cached_input_tokens,
392
+ cache_creation_input_tokens:
393
+ usage.cacheWriteTokens ?? usage.cacheCreationInputTokens ?? usage.cache_write_input_tokens,
394
+ output_tokens: usage.outputTokens ?? usage.output_tokens,
395
+ reasoning_tokens: usage.reasoningTokens ?? usage.reasoning_output_tokens,
396
+ total_tokens: usage.totalTokens ?? usage.total_tokens,
397
+ });
398
+ }
399
+
400
+ function parseJsonLines(raw: string): Record<string, unknown>[] {
401
+ return raw
402
+ .split(/\r?\n/)
403
+ .filter((line) => line.trim().length > 0)
404
+ .flatMap((line) => {
405
+ try {
406
+ const value = JSON.parse(line) as unknown;
407
+ return objectValue(value) ? [value as Record<string, unknown>] : [];
408
+ } catch {
409
+ return [];
410
+ }
411
+ });
412
+ }
413
+
414
+ function objectValue(value: unknown): Record<string, unknown> | undefined {
415
+ return value !== null && typeof value === "object" && !Array.isArray(value)
416
+ ? (value as Record<string, unknown>)
417
+ : undefined;
418
+ }
419
+
420
+ function addNumber(target: Record<string, number>, field: string, value: unknown): void {
421
+ if (typeof value === "number" && Number.isSafeInteger(value) && value >= 0) {
422
+ target[field] = (target[field] ?? 0) + value;
423
+ }
424
+ }
425
+
426
+ function modelIdsMatch(attested: string, requested: string): boolean {
427
+ const normalize = (value: string) => value.toLowerCase().replace(/[^a-z0-9]+/g, "-");
428
+ return normalize(attested) === normalize(requested);
429
+ }
430
+
272
431
  function semanticChildEnv(): NodeJS.ProcessEnv {
273
432
  const env = { ...process.env };
274
433
  for (const key of Object.keys(env)) {
@@ -3,7 +3,10 @@ import { type Static, type TProperties, type TSchema, Type } from "@sinclair/typ
3
3
  export const SEMANTIC_EVIDENCE_SCHEMA_VERSION = 1 as const;
4
4
  export const SEMANTIC_READ_MODEL_SCHEMA_VERSION = 2 as const;
5
5
  export const SEMANTIC_EVIDENCE_CONTRACT_VERSION = 1 as const;
6
- export const SEMANTIC_PROMPT_CONTRACT_VERSION = 3 as const;
6
+ export const SEMANTIC_PROMPT_CONTRACT_VERSION = 4 as const;
7
+ export const SEMANTIC_USAGE_SCHEMA_VERSION = 1 as const;
8
+ export const SEMANTIC_VISIBLE_USAGE_ESTIMATOR_ID = "visible-o200k-base" as const;
9
+ export const SEMANTIC_VISIBLE_USAGE_ESTIMATOR_VERSION = 1 as const;
7
10
 
8
11
  const StrictObject = <T extends TProperties>(properties: T) =>
9
12
  Type.Object(properties, { additionalProperties: false });
@@ -74,6 +77,16 @@ export const SEMANTIC_EVIDENCE_KINDS = [
74
77
  "recovery",
75
78
  "claim-conflict",
76
79
  ] as const;
80
+ export const SEMANTIC_INVALID_REASON_CODES = [
81
+ "schema",
82
+ "identity",
83
+ "citation",
84
+ "basis",
85
+ "confidence",
86
+ "privacy",
87
+ "unsupported_claim",
88
+ "unknown",
89
+ ] as const;
77
90
 
78
91
  export type SemanticHarness = (typeof SEMANTIC_HARNESSES)[number];
79
92
  export type SemanticConfiguredModel = (typeof SEMANTIC_CONFIGURED_MODELS)[number];
@@ -81,6 +94,7 @@ export type SemanticPhase = (typeof SEMANTIC_PHASES)[number];
81
94
  export type SemanticExpressionCue = (typeof SEMANTIC_EXPRESSION_CUES)[number];
82
95
  export type SemanticTag = (typeof SEMANTIC_TAGS)[number];
83
96
  export type SemanticEvidenceKind = (typeof SEMANTIC_EVIDENCE_KINDS)[number];
97
+ export type SemanticInvalidReasonCode = (typeof SEMANTIC_INVALID_REASON_CODES)[number];
84
98
  export type SemanticBasis =
85
99
  | "direct-fact"
86
100
  | "deterministic-projection"
@@ -98,12 +112,67 @@ const ExpressionCueSchema = Type.Union(
98
112
  );
99
113
  const TagSchema = Type.Union(SEMANTIC_TAGS.map((value) => Type.Literal(value)));
100
114
  const EvidenceKindSchema = Type.Union(SEMANTIC_EVIDENCE_KINDS.map((value) => Type.Literal(value)));
115
+ const InvalidReasonCodeSchema = Type.Union(
116
+ SEMANTIC_INVALID_REASON_CODES.map((value) => Type.Literal(value)),
117
+ );
101
118
  const ConfidenceSchema = Type.Union([
102
119
  Type.Literal("high"),
103
120
  Type.Literal("medium"),
104
121
  Type.Literal("low"),
105
122
  ]);
106
123
 
124
+ const NativeUsageTokenSchema = StrictObject({
125
+ value: Type.Integer({ minimum: 0 }),
126
+ provenance: Type.Literal("native"),
127
+ });
128
+ const EstimatedUsageTokenSchema = StrictObject({
129
+ value: Type.Integer({ minimum: 0 }),
130
+ provenance: Type.Literal("estimated"),
131
+ });
132
+ const NativeUsageTokensSchema = StrictObject({
133
+ input_tokens: Type.Optional(NativeUsageTokenSchema),
134
+ cached_input_tokens: Type.Optional(NativeUsageTokenSchema),
135
+ cache_creation_input_tokens: Type.Optional(NativeUsageTokenSchema),
136
+ output_tokens: Type.Optional(NativeUsageTokenSchema),
137
+ reasoning_tokens: Type.Optional(NativeUsageTokenSchema),
138
+ total_tokens: Type.Optional(NativeUsageTokenSchema),
139
+ });
140
+ const EstimatedUsageTokensSchema = StrictObject({
141
+ input_tokens: EstimatedUsageTokenSchema,
142
+ output_tokens: EstimatedUsageTokenSchema,
143
+ total_tokens: EstimatedUsageTokenSchema,
144
+ });
145
+
146
+ export const SemanticNativeUsageReceiptV1Schema = StrictObject({
147
+ schema_version: Type.Literal(SEMANTIC_USAGE_SCHEMA_VERSION),
148
+ source: Type.Literal("native"),
149
+ scope: Type.Literal("harness-call"),
150
+ tokens: NativeUsageTokensSchema,
151
+ });
152
+
153
+ export const SemanticEstimatedUsageReceiptV1Schema = StrictObject({
154
+ schema_version: Type.Literal(SEMANTIC_USAGE_SCHEMA_VERSION),
155
+ source: Type.Literal("estimated"),
156
+ scope: Type.Literal("visible-payload"),
157
+ estimator: StrictObject({
158
+ id: Type.Literal(SEMANTIC_VISIBLE_USAGE_ESTIMATOR_ID),
159
+ version: Type.Literal(SEMANTIC_VISIBLE_USAGE_ESTIMATOR_VERSION),
160
+ }),
161
+ tokens: EstimatedUsageTokensSchema,
162
+ });
163
+
164
+ export const SemanticUnreportedUsageReceiptV1Schema = StrictObject({
165
+ schema_version: Type.Literal(SEMANTIC_USAGE_SCHEMA_VERSION),
166
+ source: Type.Literal("unreported"),
167
+ scope: Type.Literal("unreported"),
168
+ });
169
+
170
+ export const SemanticUsageReceiptV1Schema = Type.Union([
171
+ SemanticNativeUsageReceiptV1Schema,
172
+ SemanticEstimatedUsageReceiptV1Schema,
173
+ SemanticUnreportedUsageReceiptV1Schema,
174
+ ]);
175
+
107
176
  function SemanticFieldSchema<T extends TSchema>(
108
177
  value: T,
109
178
  options: {
@@ -207,12 +276,56 @@ export const SemanticModelReplyV2Schema = StrictObject({
207
276
  export function semanticModelReplyV2SchemaFor(expected: {
208
277
  generation_id: string;
209
278
  evidence_digest: string;
279
+ evidence_event_ids: string[];
210
280
  }) {
281
+ const citationSchema = Type.Union(
282
+ expected.evidence_event_ids.map((value) => Type.Literal(value)),
283
+ );
284
+ const field = <T extends TSchema>(
285
+ value: T,
286
+ options: {
287
+ allowEmptyCitations?: boolean;
288
+ kind?: "synthesis" | "prediction" | "expression";
289
+ } = {},
290
+ ) => {
291
+ const kind = options.kind ?? "synthesis";
292
+ return StrictObject({
293
+ value,
294
+ basis: Type.Literal(kind === "prediction" ? "prediction" : "model-synthesis"),
295
+ confidence:
296
+ kind === "prediction"
297
+ ? Type.Literal("low")
298
+ : kind === "expression"
299
+ ? Type.Union([Type.Literal("medium"), Type.Literal("low")])
300
+ : ConfidenceSchema,
301
+ evidence_event_ids: Type.Array(citationSchema, {
302
+ minItems: options.allowEmptyCitations ? 0 : 1,
303
+ maxItems: 16,
304
+ uniqueItems: true,
305
+ }),
306
+ });
307
+ };
211
308
  return StrictObject({
212
309
  schema_version: Type.Literal(SEMANTIC_READ_MODEL_SCHEMA_VERSION),
213
310
  generation_id: Type.Literal(expected.generation_id),
214
311
  evidence_digest: Type.Literal(expected.evidence_digest),
215
- meaning: SemanticMeaningV2Schema,
312
+ meaning: StrictObject({
313
+ headline: field(Type.String({ minLength: 1, maxLength: 60 })),
314
+ summary: field(Type.String({ minLength: 1, maxLength: 240 })),
315
+ phase: field(PhaseSchema),
316
+ expression_cue: Type.Optional(field(ExpressionCueSchema, { kind: "expression" })),
317
+ purpose: Type.Optional(field(Type.String({ minLength: 1, maxLength: 180 }))),
318
+ recent_result: Type.Optional(field(Type.String({ minLength: 1, maxLength: 180 }))),
319
+ attention: Type.Optional(field(Type.String({ minLength: 1, maxLength: 180 }))),
320
+ next_step: Type.Optional(
321
+ field(Type.String({ minLength: 1, maxLength: 180 }), { kind: "prediction" }),
322
+ ),
323
+ tags: Type.Optional(
324
+ field(Type.Array(TagSchema, { maxItems: 8, uniqueItems: true }), {
325
+ allowEmptyCitations: true,
326
+ }),
327
+ ),
328
+ }),
216
329
  });
217
330
  }
218
331
 
@@ -246,6 +359,7 @@ export const SemanticAcceptedReadModelV2Schema = StrictObject({
246
359
  ...ReadModelBase,
247
360
  reader_outcome: Type.Literal("accepted"),
248
361
  reader: ResolvedReaderSchema,
362
+ receipt: Type.Optional(StrictObject({ usage: SemanticUsageReceiptV1Schema })),
249
363
  meaning: SemanticMeaningV2Schema,
250
364
  });
251
365
 
@@ -260,6 +374,7 @@ export const SemanticUnavailableReadModelV2Schema = StrictObject({
260
374
  Type.Literal("model_unavailable"),
261
375
  Type.Literal("model_mismatch"),
262
376
  ]),
377
+ usage: Type.Optional(SemanticUsageReceiptV1Schema),
263
378
  }),
264
379
  });
265
380
 
@@ -267,7 +382,15 @@ export const SemanticInvalidReadModelV2Schema = StrictObject({
267
382
  ...ReadModelBase,
268
383
  reader_outcome: Type.Literal("invalid"),
269
384
  reader: ResolvedReaderSchema,
270
- receipt: StrictObject({ reason_code: Type.Literal("invalid_output") }),
385
+ receipt: StrictObject({
386
+ reason_code: Type.Literal("invalid_output"),
387
+ validation_issue_codes: Type.Array(InvalidReasonCodeSchema, {
388
+ minItems: 1,
389
+ maxItems: SEMANTIC_INVALID_REASON_CODES.length,
390
+ uniqueItems: true,
391
+ }),
392
+ usage: Type.Optional(SemanticUsageReceiptV1Schema),
393
+ }),
271
394
  });
272
395
 
273
396
  export const SemanticDeferredReadModelV2Schema = StrictObject({
@@ -294,5 +417,14 @@ export type SemanticField<T> = {
294
417
  };
295
418
  export type SemanticMeaningV2 = Static<typeof SemanticMeaningV2Schema>;
296
419
  export type SemanticModelReplyV2 = Static<typeof SemanticModelReplyV2Schema>;
420
+ export type SemanticUsageToken =
421
+ | Static<typeof NativeUsageTokenSchema>
422
+ | Static<typeof EstimatedUsageTokenSchema>;
423
+ export type SemanticNativeUsageReceiptV1 = Static<typeof SemanticNativeUsageReceiptV1Schema>;
424
+ export type SemanticEstimatedUsageReceiptV1 = Static<typeof SemanticEstimatedUsageReceiptV1Schema>;
425
+ export type SemanticUnreportedUsageReceiptV1 = Static<
426
+ typeof SemanticUnreportedUsageReceiptV1Schema
427
+ >;
428
+ export type SemanticUsageReceiptV1 = Static<typeof SemanticUsageReceiptV1Schema>;
297
429
  export type SemanticAcceptedReadModelV2 = Static<typeof SemanticAcceptedReadModelV2Schema>;
298
430
  export type SemanticAgentReadModelV2 = Static<typeof SemanticAgentReadModelV2Schema>;
@@ -1,12 +1,10 @@
1
1
  export {
2
2
  createSemanticAdapters,
3
3
  discoverSemanticReaders,
4
- SEMANTIC_READER_ROUTES,
5
4
  type SemanticAdapter,
6
5
  type SemanticAdapterFailure,
7
6
  type SemanticAdapterResult,
8
7
  type SemanticAdapterSuccess,
9
- type SemanticReaderRoute,
10
8
  } from "./adapters.ts";
11
9
  export {
12
10
  SEMANTIC_CONFIGURED_MODELS,
@@ -15,10 +13,14 @@ export {
15
13
  SEMANTIC_EVIDENCE_SCHEMA_VERSION,
16
14
  SEMANTIC_EXPRESSION_CUES,
17
15
  SEMANTIC_HARNESSES,
16
+ SEMANTIC_INVALID_REASON_CODES,
18
17
  SEMANTIC_PHASES,
19
18
  SEMANTIC_PROMPT_CONTRACT_VERSION,
20
19
  SEMANTIC_READ_MODEL_SCHEMA_VERSION,
21
20
  SEMANTIC_TAGS,
21
+ SEMANTIC_USAGE_SCHEMA_VERSION,
22
+ SEMANTIC_VISIBLE_USAGE_ESTIMATOR_ID,
23
+ SEMANTIC_VISIBLE_USAGE_ESTIMATOR_VERSION,
22
24
  type SemanticAcceptedReadModelV2,
23
25
  SemanticAcceptedReadModelV2Schema,
24
26
  type SemanticAgentReadModelV2,
@@ -27,6 +29,8 @@ export {
27
29
  type SemanticConfidence,
28
30
  type SemanticConfiguredModel,
29
31
  SemanticDeferredReadModelV2Schema,
32
+ type SemanticEstimatedUsageReceiptV1,
33
+ SemanticEstimatedUsageReceiptV1Schema,
30
34
  type SemanticEvidenceKind,
31
35
  type SemanticEvidenceObservationV1,
32
36
  SemanticEvidenceObservationV1Schema,
@@ -36,13 +40,21 @@ export {
36
40
  type SemanticField,
37
41
  type SemanticHarness,
38
42
  SemanticInvalidReadModelV2Schema,
43
+ type SemanticInvalidReasonCode,
39
44
  type SemanticMeaningV2,
40
45
  SemanticMeaningV2Schema,
41
46
  type SemanticModelReplyV2,
42
47
  SemanticModelReplyV2Schema,
48
+ type SemanticNativeUsageReceiptV1,
49
+ SemanticNativeUsageReceiptV1Schema,
43
50
  type SemanticPhase,
44
51
  type SemanticTag,
45
52
  SemanticUnavailableReadModelV2Schema,
53
+ type SemanticUnreportedUsageReceiptV1,
54
+ SemanticUnreportedUsageReceiptV1Schema,
55
+ type SemanticUsageReceiptV1,
56
+ SemanticUsageReceiptV1Schema,
57
+ type SemanticUsageToken,
46
58
  } from "./contract.ts";
47
59
  export {
48
60
  buildSemanticEvidenceV1,
@@ -62,15 +74,53 @@ export {
62
74
  SEMANTIC_MAX_REQUEST_BYTES,
63
75
  type SemanticPromptEnvelope,
64
76
  } from "./prompt.ts";
77
+ export {
78
+ backfillSemanticReviewCandidates,
79
+ captureSemanticReviewCandidate,
80
+ listSemanticReviewCandidates,
81
+ listSemanticReviewReceipts,
82
+ prepareSemanticReviewStudy,
83
+ pruneSemanticReviewStorage,
84
+ SEMANTIC_REVIEW_CONFIDENCE,
85
+ SEMANTIC_REVIEW_FIELD_VERDICTS,
86
+ SEMANTIC_REVIEW_NO_EXPRESSION,
87
+ SEMANTIC_REVIEW_OVERALL_VERDICTS,
88
+ SEMANTIC_REVIEW_PORTRAIT_VERDICTS,
89
+ SEMANTIC_REVIEW_SCHEMA_VERSION,
90
+ SEMANTIC_REVIEW_TRANSITION_VERDICTS,
91
+ type SemanticReviewCandidateV1,
92
+ type SemanticReviewConfidence,
93
+ type SemanticReviewEvidenceSnapshotV1,
94
+ type SemanticReviewExpression,
95
+ type SemanticReviewFieldVerdict,
96
+ type SemanticReviewObservationV1,
97
+ type SemanticReviewOverallVerdict,
98
+ type SemanticReviewPortraitVerdict,
99
+ type SemanticReviewProposalFieldV1,
100
+ type SemanticReviewProposalV1,
101
+ type SemanticReviewReceiptRowV1,
102
+ type SemanticReviewReceiptV1,
103
+ type SemanticReviewResponseV1,
104
+ type SemanticReviewStudyCandidateV1,
105
+ type SemanticReviewStudyV1,
106
+ type SemanticReviewSubmissionV1,
107
+ type SemanticReviewTransitionVerdict,
108
+ semanticReviewPaths,
109
+ storeSemanticReviewSubmission,
110
+ } from "./review.ts";
111
+ export { SEMANTIC_READER_ROUTES, type SemanticReaderRoute } from "./routes.ts";
65
112
  export {
66
113
  activeSemanticCallHistory,
67
114
  enqueueSemanticPending,
68
115
  SEMANTIC_HARD_CALLS_PER_HOUR,
69
116
  SEMANTIC_INVALID_RETRY_COOLDOWN_MS,
117
+ SEMANTIC_MIN_AMBIENT_GENERATION_CALL_INTERVAL_MS,
70
118
  SEMANTIC_MIN_GENERATION_CALL_INTERVAL_MS,
119
+ SEMANTIC_MIN_PRIORITY_GENERATION_CALL_INTERVAL_MS,
71
120
  selectSemanticPending,
72
121
  semanticDocumentEligible,
73
122
  semanticGenerationCallEligible,
123
+ semanticPendingCallIntervalMs,
74
124
  semanticPriorityBand,
75
125
  semanticRateCap,
76
126
  } from "./scheduler.ts";
@@ -94,6 +144,15 @@ export {
94
144
  type SemanticServiceStatusRecord,
95
145
  spawnSemanticService,
96
146
  } from "./service.ts";
147
+ export {
148
+ readSemanticSoakReport,
149
+ SEMANTIC_SOAK_DEFAULT_MINUTES,
150
+ SEMANTIC_SOAK_REVERSAL_WINDOW_MS,
151
+ SEMANTIC_SOAK_SCHEMA_VERSION,
152
+ type SemanticSoakReadingV1,
153
+ type SemanticSoakReportV1,
154
+ semanticSoakReadings,
155
+ } from "./soak.ts";
97
156
  export {
98
157
  inspectSemanticDocument,
99
158
  invalidateSemanticDerivedState,
@@ -115,6 +174,21 @@ export {
115
174
  writeSemanticCache,
116
175
  writeSemanticManifest,
117
176
  } from "./storage.ts";
177
+ export {
178
+ aggregateSemanticUsage,
179
+ emptySemanticUsageAggregate,
180
+ estimateVisibleSemanticUsage,
181
+ mergeSemanticUsageAggregates,
182
+ nativeSemanticUsage,
183
+ SEMANTIC_USAGE_TOKEN_FIELDS,
184
+ type SemanticUsageAggregate,
185
+ type SemanticUsageBreakdown,
186
+ type SemanticUsageEvent,
187
+ type SemanticUsageOutcome,
188
+ type SemanticUsageTokenField,
189
+ type SemanticUsageTokenTotals,
190
+ unreportedSemanticUsage,
191
+ } from "./usage.ts";
118
192
  export {
119
193
  isSemanticPrivacySafe,
120
194
  type SemanticValidationFailure,