@zhin.js/workroom 0.0.4 → 0.0.6

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 (610) hide show
  1. package/lib/data-governance/canonical-value.d.ts +0 -1
  2. package/lib/data-governance/canonical-value.js.map +1 -1
  3. package/lib/data-governance/data-governance.d.ts +0 -1
  4. package/lib/data-governance/data-governance.js.map +1 -1
  5. package/lib/data-governance/database-payload-lifecycle-repository.d.ts +0 -1
  6. package/lib/data-governance/database-payload-lifecycle-repository.js.map +1 -1
  7. package/lib/data-governance/disclosure-authority.d.ts +0 -1
  8. package/lib/data-governance/disclosure-authority.js.map +1 -1
  9. package/lib/data-governance/disclosure-manifest.d.ts +0 -1
  10. package/lib/data-governance/disclosure-manifest.js.map +1 -1
  11. package/lib/data-governance/durable-file-store.d.ts +0 -1
  12. package/lib/data-governance/durable-file-store.js.map +1 -1
  13. package/lib/data-governance/encrypted-database-payload-vault.d.ts +0 -1
  14. package/lib/data-governance/encrypted-database-payload-vault.js.map +1 -1
  15. package/lib/data-governance/encrypted-file-payload-vault.d.ts +0 -1
  16. package/lib/data-governance/encrypted-file-payload-vault.js.map +1 -1
  17. package/lib/data-governance/file-payload-lifecycle-repository.d.ts +0 -1
  18. package/lib/data-governance/file-payload-lifecycle-repository.js.map +1 -1
  19. package/lib/data-governance/governance-authority-repository.d.ts +0 -1
  20. package/lib/data-governance/governance-authority-repository.js.map +1 -1
  21. package/lib/data-governance/governed-payload-write-saga.d.ts +0 -1
  22. package/lib/data-governance/governed-payload-write-saga.js.map +1 -1
  23. package/lib/data-governance/payload-hold-overdue-projection.d.ts +0 -1
  24. package/lib/data-governance/payload-hold-overdue-projection.js.map +1 -1
  25. package/lib/data-governance/payload-lifecycle.d.ts +0 -1
  26. package/lib/data-governance/payload-lifecycle.js.map +1 -1
  27. package/lib/data-governance/payload-vault-storage-handoff.d.ts +0 -1
  28. package/lib/data-governance/payload-vault-storage-handoff.js.map +1 -1
  29. package/lib/data-governance.d.ts +0 -1
  30. package/lib/data-governance.js.map +1 -1
  31. package/lib/index.d.ts +0 -1
  32. package/lib/index.js.map +1 -1
  33. package/lib/portfolio/capacity-control-outbox.d.ts +0 -1
  34. package/lib/portfolio/capacity-control-outbox.js.map +1 -1
  35. package/lib/portfolio/database-capacity-control-outbox.d.ts +0 -1
  36. package/lib/portfolio/database-capacity-control-outbox.js.map +1 -1
  37. package/lib/portfolio/file-capacity-control-outbox.d.ts +0 -1
  38. package/lib/portfolio/file-capacity-control-outbox.js.map +1 -1
  39. package/lib/portfolio/file-portfolio-journal.d.ts +0 -1
  40. package/lib/portfolio/file-portfolio-journal.js.map +1 -1
  41. package/lib/portfolio/portfolio-admission.d.ts +0 -1
  42. package/lib/portfolio/portfolio-admission.js.map +1 -1
  43. package/lib/portfolio/portfolio-journal.d.ts +0 -1
  44. package/lib/portfolio/portfolio-journal.js.map +1 -1
  45. package/lib/portfolio/resource-bundle.d.ts +0 -1
  46. package/lib/portfolio/resource-bundle.js.map +1 -1
  47. package/lib/portfolio/sponsor-projection.d.ts +0 -1
  48. package/lib/portfolio/sponsor-projection.js.map +1 -1
  49. package/lib/portfolio.d.ts +0 -1
  50. package/lib/portfolio.js.map +1 -1
  51. package/lib/remote.d.ts +0 -1
  52. package/lib/remote.js.map +1 -1
  53. package/lib/room/database-room-task-journal.d.ts +0 -1
  54. package/lib/room/database-room-task-journal.js.map +1 -1
  55. package/lib/room/index.d.ts +0 -1
  56. package/lib/room/index.js.map +1 -1
  57. package/lib/room/room-bus.d.ts +0 -1
  58. package/lib/room/room-bus.js.map +1 -1
  59. package/lib/room/room-definition.d.ts +0 -1
  60. package/lib/room/room-definition.js.map +1 -1
  61. package/lib/room/room-event-sequencer.d.ts +0 -1
  62. package/lib/room/room-event-sequencer.js.map +1 -1
  63. package/lib/room/room-guards.d.ts +0 -1
  64. package/lib/room/room-guards.js.map +1 -1
  65. package/lib/room/room-membership.d.ts +0 -1
  66. package/lib/room/room-membership.js.map +1 -1
  67. package/lib/room/room-registry.d.ts +0 -1
  68. package/lib/room/room-registry.js.map +1 -1
  69. package/lib/room/room-router.d.ts +0 -1
  70. package/lib/room/room-router.js.map +1 -1
  71. package/lib/room/room-send-limiter.d.ts +0 -1
  72. package/lib/room/room-send-limiter.js.map +1 -1
  73. package/lib/room/room-task-authorizer.d.ts +0 -1
  74. package/lib/room/room-task-authorizer.js.map +1 -1
  75. package/lib/room/room-task-journal.d.ts +0 -1
  76. package/lib/room/room-task-journal.js.map +1 -1
  77. package/lib/room/room-task-service.d.ts +0 -1
  78. package/lib/room/room-task-service.js.map +1 -1
  79. package/lib/room/room-task.d.ts +0 -1
  80. package/lib/room/room-task.js.map +1 -1
  81. package/lib/room/validate-room.d.ts +0 -1
  82. package/lib/room/validate-room.js.map +1 -1
  83. package/lib/scheduler.d.ts +0 -1
  84. package/lib/scheduler.js.map +1 -1
  85. package/lib/workroom/acceptance-control.d.ts +0 -1
  86. package/lib/workroom/acceptance-control.js.map +1 -1
  87. package/lib/workroom/acceptance-policy.d.ts +0 -1
  88. package/lib/workroom/acceptance-policy.js.map +1 -1
  89. package/lib/workroom/accepted-source-memory-application.d.ts +0 -1
  90. package/lib/workroom/accepted-source-memory-application.js.map +1 -1
  91. package/lib/workroom/accepted-source-projector.d.ts +0 -1
  92. package/lib/workroom/accepted-source-projector.js.map +1 -1
  93. package/lib/workroom/assignment-authority-grant-application.d.ts +0 -1
  94. package/lib/workroom/assignment-authority-grant-application.js.map +1 -1
  95. package/lib/workroom/assignment-authority-grant-repository.d.ts +0 -1
  96. package/lib/workroom/assignment-authority-grant-repository.js.map +1 -1
  97. package/lib/workroom/assignment-authority.d.ts +0 -1
  98. package/lib/workroom/assignment-authority.js.map +1 -1
  99. package/lib/workroom/assignment-executor.d.ts +0 -1
  100. package/lib/workroom/assignment-executor.js.map +1 -1
  101. package/lib/workroom/assignment-observation-ingress.d.ts +0 -1
  102. package/lib/workroom/assignment-observation-ingress.js.map +1 -1
  103. package/lib/workroom/canonical-value.d.ts +0 -1
  104. package/lib/workroom/canonical-value.js.map +1 -1
  105. package/lib/workroom/catalog-definition.d.ts +0 -1
  106. package/lib/workroom/catalog-definition.js.map +1 -1
  107. package/lib/workroom/catalog.d.ts +0 -1
  108. package/lib/workroom/catalog.js.map +1 -1
  109. package/lib/workroom/coding-assignment-executor.d.ts +0 -1
  110. package/lib/workroom/coding-assignment-executor.js.map +1 -1
  111. package/lib/workroom/coding-git-objects.d.ts +0 -1
  112. package/lib/workroom/coding-git-objects.js.map +1 -1
  113. package/lib/workroom/database-project-knowledge-journal.d.ts +0 -1
  114. package/lib/workroom/database-project-knowledge-journal.js.map +1 -1
  115. package/lib/workroom/durable-file-store.d.ts +0 -1
  116. package/lib/workroom/durable-file-store.js.map +1 -1
  117. package/lib/workroom/dynamic-workflow-planner.d.ts +0 -1
  118. package/lib/workroom/dynamic-workflow-planner.js.map +1 -1
  119. package/lib/workroom/effect-blocker-repository.d.ts +0 -1
  120. package/lib/workroom/effect-blocker-repository.js.map +1 -1
  121. package/lib/workroom/effect-ledger.d.ts +0 -1
  122. package/lib/workroom/effect-ledger.js.map +1 -1
  123. package/lib/workroom/file-accepted-source-memory-repository.d.ts +0 -1
  124. package/lib/workroom/file-accepted-source-memory-repository.js.map +1 -1
  125. package/lib/workroom/file-coding-execution-store.d.ts +0 -1
  126. package/lib/workroom/file-coding-execution-store.js.map +1 -1
  127. package/lib/workroom/file-effect-ledger.d.ts +0 -1
  128. package/lib/workroom/file-effect-ledger.js.map +1 -1
  129. package/lib/workroom/file-human-ingress-application.d.ts +0 -1
  130. package/lib/workroom/file-human-ingress-application.js.map +1 -1
  131. package/lib/workroom/file-human-ingress.d.ts +0 -1
  132. package/lib/workroom/file-human-ingress.js.map +1 -1
  133. package/lib/workroom/file-interaction-space-binding-repository.d.ts +0 -1
  134. package/lib/workroom/file-interaction-space-binding-repository.js.map +1 -1
  135. package/lib/workroom/file-profile-journal.d.ts +0 -1
  136. package/lib/workroom/file-profile-journal.js.map +1 -1
  137. package/lib/workroom/git-workspace-gateway.d.ts +0 -1
  138. package/lib/workroom/git-workspace-gateway.js.map +1 -1
  139. package/lib/workroom/github-workspace-transport.d.ts +0 -1
  140. package/lib/workroom/github-workspace-transport.js.map +1 -1
  141. package/lib/workroom/governed-dispatch-reasons.d.ts +0 -1
  142. package/lib/workroom/governed-dispatch-reasons.js.map +1 -1
  143. package/lib/workroom/human-ingress-application.d.ts +0 -1
  144. package/lib/workroom/human-ingress-application.js.map +1 -1
  145. package/lib/workroom/human-ingress-orchestrator.d.ts +0 -1
  146. package/lib/workroom/human-ingress-orchestrator.js.map +1 -1
  147. package/lib/workroom/human-ingress-source-reader.d.ts +0 -1
  148. package/lib/workroom/human-ingress-source-reader.js.map +1 -1
  149. package/lib/workroom/human-ingress.d.ts +0 -1
  150. package/lib/workroom/human-ingress.js.map +1 -1
  151. package/lib/workroom/interaction-space-binding-service.d.ts +0 -1
  152. package/lib/workroom/interaction-space-binding-service.js.map +1 -1
  153. package/lib/workroom/interaction-space-router.d.ts +0 -1
  154. package/lib/workroom/interaction-space-router.js.map +1 -1
  155. package/lib/workroom/journal/activatable-journal.d.ts +0 -1
  156. package/lib/workroom/journal/activatable-journal.js.map +1 -1
  157. package/lib/workroom/journal/contracts.d.ts +0 -1
  158. package/lib/workroom/journal/contracts.js.map +1 -1
  159. package/lib/workroom/journal/database-journal.d.ts +0 -1
  160. package/lib/workroom/journal/database-journal.js.map +1 -1
  161. package/lib/workroom/journal/event-codec.d.ts +0 -1
  162. package/lib/workroom/journal/event-codec.js.map +1 -1
  163. package/lib/workroom/journal/event-validation.d.ts +0 -1
  164. package/lib/workroom/journal/event-validation.js.map +1 -1
  165. package/lib/workroom/journal/file-journal.d.ts +0 -1
  166. package/lib/workroom/journal/file-journal.js.map +1 -1
  167. package/lib/workroom/journal/index.d.ts +0 -1
  168. package/lib/workroom/journal/index.js.map +1 -1
  169. package/lib/workroom/journal/legacy-payload-guard.d.ts +0 -1
  170. package/lib/workroom/journal/legacy-payload-guard.js.map +1 -1
  171. package/lib/workroom/journal/memory-journal.d.ts +0 -1
  172. package/lib/workroom/journal/memory-journal.js.map +1 -1
  173. package/lib/workroom/journal/payload-governance.d.ts +0 -1
  174. package/lib/workroom/journal/payload-governance.js.map +1 -1
  175. package/lib/workroom/journal/payload-reference.d.ts +0 -1
  176. package/lib/workroom/journal/payload-reference.js.map +1 -1
  177. package/lib/workroom/journal/stored-event-projection.d.ts +0 -1
  178. package/lib/workroom/journal/stored-event-projection.js.map +1 -1
  179. package/lib/workroom/journal-model.d.ts +0 -1
  180. package/lib/workroom/journal-model.js.map +1 -1
  181. package/lib/workroom/kernel-contracts.d.ts +0 -1
  182. package/lib/workroom/kernel-contracts.js.map +1 -1
  183. package/lib/workroom/kernel-state.d.ts +0 -1
  184. package/lib/workroom/kernel-state.js.map +1 -1
  185. package/lib/workroom/local-assignment-issuance.d.ts +0 -1
  186. package/lib/workroom/local-assignment-issuance.js.map +1 -1
  187. package/lib/workroom/plan-approval-control.d.ts +0 -1
  188. package/lib/workroom/plan-approval-control.js.map +1 -1
  189. package/lib/workroom/plan-revision.d.ts +0 -1
  190. package/lib/workroom/plan-revision.js.map +1 -1
  191. package/lib/workroom/profile-compiler.d.ts +0 -1
  192. package/lib/workroom/profile-compiler.js.map +1 -1
  193. package/lib/workroom/profile-registry.d.ts +0 -1
  194. package/lib/workroom/profile-registry.js.map +1 -1
  195. package/lib/workroom/project-knowledge-registry.d.ts +0 -1
  196. package/lib/workroom/project-knowledge-registry.js.map +1 -1
  197. package/lib/workroom/projection-outbox/contracts.d.ts +0 -1
  198. package/lib/workroom/projection-outbox/contracts.js.map +1 -1
  199. package/lib/workroom/projection-outbox/delivery-worker.d.ts +0 -1
  200. package/lib/workroom/projection-outbox/delivery-worker.js.map +1 -1
  201. package/lib/workroom/projection-outbox/file-repository.d.ts +0 -1
  202. package/lib/workroom/projection-outbox/file-repository.js.map +1 -1
  203. package/lib/workroom/projection-outbox/index.d.ts +0 -1
  204. package/lib/workroom/projection-outbox/index.js.map +1 -1
  205. package/lib/workroom/projection-outbox/memory-repository.d.ts +0 -1
  206. package/lib/workroom/projection-outbox/memory-repository.js.map +1 -1
  207. package/lib/workroom/projection-outbox/projector.d.ts +0 -1
  208. package/lib/workroom/projection-outbox/projector.js.map +1 -1
  209. package/lib/workroom/projection-outbox/repository-state.d.ts +0 -1
  210. package/lib/workroom/projection-outbox/repository-state.js.map +1 -1
  211. package/lib/workroom/projection-outbox/tracer.d.ts +0 -1
  212. package/lib/workroom/projection-outbox/tracer.js.map +1 -1
  213. package/lib/workroom/remote-assignment-dispatch-command.d.ts +0 -1
  214. package/lib/workroom/remote-assignment-dispatch-command.js.map +1 -1
  215. package/lib/workroom/remote-assignment-issuance.d.ts +0 -1
  216. package/lib/workroom/remote-assignment-issuance.js.map +1 -1
  217. package/lib/workroom/remote-callback-application.d.ts +0 -1
  218. package/lib/workroom/remote-callback-application.js.map +1 -1
  219. package/lib/workroom/remote-callback-gateway.d.ts +0 -1
  220. package/lib/workroom/remote-callback-gateway.js.map +1 -1
  221. package/lib/workroom/remote-callback-inbox.d.ts +0 -1
  222. package/lib/workroom/remote-callback-inbox.js.map +1 -1
  223. package/lib/workroom/remote-callback-reconciliation-worker.d.ts +0 -1
  224. package/lib/workroom/remote-callback-reconciliation-worker.js.map +1 -1
  225. package/lib/workroom/remote-dispatch-admission.d.ts +0 -1
  226. package/lib/workroom/remote-dispatch-admission.js.map +1 -1
  227. package/lib/workroom/remote-dispatch-outbox.d.ts +0 -1
  228. package/lib/workroom/remote-dispatch-outbox.js.map +1 -1
  229. package/lib/workroom/remote-dispatch-scheduler.d.ts +0 -1
  230. package/lib/workroom/remote-dispatch-scheduler.js.map +1 -1
  231. package/lib/workroom/remote-dispatch-worker.d.ts +0 -1
  232. package/lib/workroom/remote-dispatch-worker.js.map +1 -1
  233. package/lib/workroom/remote-dispatch.d.ts +0 -1
  234. package/lib/workroom/remote-dispatch.js.map +1 -1
  235. package/lib/workroom/remote-executor.d.ts +0 -1
  236. package/lib/workroom/remote-executor.js.map +1 -1
  237. package/lib/workroom/role-capability-snapshot.d.ts +0 -1
  238. package/lib/workroom/role-capability-snapshot.js.map +1 -1
  239. package/lib/workroom/runtime.d.ts +0 -1
  240. package/lib/workroom/runtime.js.map +1 -1
  241. package/lib/workroom/scheduler-priority-control.d.ts +0 -1
  242. package/lib/workroom/scheduler-priority-control.js.map +1 -1
  243. package/lib/workroom/software-delivery-plan.d.ts +0 -1
  244. package/lib/workroom/software-delivery-plan.js.map +1 -1
  245. package/lib/workroom/validate-catalog.d.ts +0 -1
  246. package/lib/workroom/validate-catalog.js.map +1 -1
  247. package/lib/workroom/workflow-plan-builder.d.ts +0 -1
  248. package/lib/workroom/workflow-plan-builder.js.map +1 -1
  249. package/lib/workroom/workroom-assignment-knowledge-context.d.ts +0 -1
  250. package/lib/workroom/workroom-assignment-knowledge-context.js.map +1 -1
  251. package/lib/workroom/workroom-kernel.d.ts +0 -1
  252. package/lib/workroom/workroom-kernel.js.map +1 -1
  253. package/lib/workroom/workroom-preemption.d.ts +0 -1
  254. package/lib/workroom/workroom-preemption.js.map +1 -1
  255. package/lib/workroom/workroom-run-control.d.ts +0 -1
  256. package/lib/workroom/workroom-run-control.js.map +1 -1
  257. package/lib/workroom/workroom-scheduler-application.d.ts +0 -1
  258. package/lib/workroom/workroom-scheduler-application.js.map +1 -1
  259. package/lib/workroom/workroom-scheduler.d.ts +0 -1
  260. package/lib/workroom/workroom-scheduler.js.map +1 -1
  261. package/lib/workroom/workroom-task-report-store.d.ts +0 -1
  262. package/lib/workroom/workroom-task-report-store.js.map +1 -1
  263. package/lib/workroom-runtime/database-overlay-pack-promotion-repository.d.ts +0 -1
  264. package/lib/workroom-runtime/database-overlay-pack-promotion-repository.js.map +1 -1
  265. package/lib/workroom-runtime/github-actions-delivery-provider.d.ts +0 -1
  266. package/lib/workroom-runtime/github-actions-delivery-provider.js.map +1 -1
  267. package/lib/workroom-runtime/github-exact-merge-gateway.d.ts +0 -1
  268. package/lib/workroom-runtime/github-exact-merge-gateway.js.map +1 -1
  269. package/lib/workroom-runtime/github-workroom-capability.d.ts +0 -1
  270. package/lib/workroom-runtime/github-workroom-capability.js.map +1 -1
  271. package/lib/workroom-runtime/self-delivery-project-composition.d.ts +0 -1
  272. package/lib/workroom-runtime/self-delivery-project-composition.js.map +1 -1
  273. package/lib/workroom-runtime/self-delivery-project.d.ts +0 -1
  274. package/lib/workroom-runtime/self-delivery-project.js.map +1 -1
  275. package/lib/workroom-runtime/workroom-acceptance-authority.d.ts +0 -1
  276. package/lib/workroom-runtime/workroom-acceptance-authority.js.map +1 -1
  277. package/lib/workroom-runtime/workroom-acceptance-fact-providers.d.ts +0 -1
  278. package/lib/workroom-runtime/workroom-acceptance-fact-providers.js.map +1 -1
  279. package/lib/workroom-runtime/workroom-acceptance-internal-providers.d.ts +0 -1
  280. package/lib/workroom-runtime/workroom-acceptance-internal-providers.js.map +1 -1
  281. package/lib/workroom-runtime/workroom-acceptance-policy.d.ts +0 -1
  282. package/lib/workroom-runtime/workroom-acceptance-policy.js.map +1 -1
  283. package/lib/workroom-runtime/workroom-acceptance-production-composition.d.ts +0 -1
  284. package/lib/workroom-runtime/workroom-acceptance-production-composition.js.map +1 -1
  285. package/lib/workroom-runtime/workroom-acceptance-provider-composition.d.ts +0 -1
  286. package/lib/workroom-runtime/workroom-acceptance-provider-composition.js.map +1 -1
  287. package/lib/workroom-runtime/workroom-accepted-source-runtime.d.ts +0 -1
  288. package/lib/workroom-runtime/workroom-accepted-source-runtime.js.map +1 -1
  289. package/lib/workroom-runtime/workroom-assignment-authority-grant-runtime.d.ts +0 -1
  290. package/lib/workroom-runtime/workroom-assignment-authority-grant-runtime.js.map +1 -1
  291. package/lib/workroom-runtime/workroom-assignment-authority-provider.d.ts +0 -1
  292. package/lib/workroom-runtime/workroom-assignment-authority-provider.js.map +1 -1
  293. package/lib/workroom-runtime/workroom-assignment-knowledge-composition.d.ts +0 -1
  294. package/lib/workroom-runtime/workroom-assignment-knowledge-composition.js.map +1 -1
  295. package/lib/workroom-runtime/workroom-bot-identity.d.ts +0 -1
  296. package/lib/workroom-runtime/workroom-bot-identity.js.map +1 -1
  297. package/lib/workroom-runtime/workroom-capability-realization.d.ts +0 -1
  298. package/lib/workroom-runtime/workroom-capability-realization.js.map +1 -1
  299. package/lib/workroom-runtime/workroom-data-governance-authority-writer.d.ts +0 -1
  300. package/lib/workroom-runtime/workroom-data-governance-authority-writer.js.map +1 -1
  301. package/lib/workroom-runtime/workroom-data-governance-bootstrap.d.ts +0 -1
  302. package/lib/workroom-runtime/workroom-data-governance-bootstrap.js.map +1 -1
  303. package/lib/workroom-runtime/workroom-data-governance-composition.d.ts +0 -1
  304. package/lib/workroom-runtime/workroom-data-governance-composition.js.map +1 -1
  305. package/lib/workroom-runtime/workroom-data-governance-root-provider.d.ts +0 -1
  306. package/lib/workroom-runtime/workroom-data-governance-root-provider.js.map +1 -1
  307. package/lib/workroom-runtime/workroom-data-governance-runtime.d.ts +0 -1
  308. package/lib/workroom-runtime/workroom-data-governance-runtime.js.map +1 -1
  309. package/lib/workroom-runtime/workroom-data-governance-storage.d.ts +0 -1
  310. package/lib/workroom-runtime/workroom-data-governance-storage.js.map +1 -1
  311. package/lib/workroom-runtime/workroom-data-lifecycle-composition.d.ts +0 -1
  312. package/lib/workroom-runtime/workroom-data-lifecycle-composition.js.map +1 -1
  313. package/lib/workroom-runtime/workroom-data-lifecycle-console.d.ts +0 -1
  314. package/lib/workroom-runtime/workroom-data-lifecycle-console.js.map +1 -1
  315. package/lib/workroom-runtime/workroom-data-lifecycle-human-ingress.d.ts +0 -1
  316. package/lib/workroom-runtime/workroom-data-lifecycle-human-ingress.js.map +1 -1
  317. package/lib/workroom-runtime/workroom-database-models.d.ts +0 -1
  318. package/lib/workroom-runtime/workroom-database-models.js.map +1 -1
  319. package/lib/workroom-runtime/workroom-database-storage.d.ts +0 -1
  320. package/lib/workroom-runtime/workroom-database-storage.js.map +1 -1
  321. package/lib/workroom-runtime/workroom-delivery-gateway.d.ts +0 -1
  322. package/lib/workroom-runtime/workroom-delivery-gateway.js.map +1 -1
  323. package/lib/workroom-runtime/workroom-dynamic-planning-provider.d.ts +0 -1
  324. package/lib/workroom-runtime/workroom-dynamic-planning-provider.js.map +1 -1
  325. package/lib/workroom-runtime/workroom-dynamic-planning.d.ts +0 -1
  326. package/lib/workroom-runtime/workroom-dynamic-planning.js.map +1 -1
  327. package/lib/workroom-runtime/workroom-effect-composition.d.ts +0 -1
  328. package/lib/workroom-runtime/workroom-effect-composition.js.map +1 -1
  329. package/lib/workroom-runtime/workroom-effect-production.d.ts +0 -1
  330. package/lib/workroom-runtime/workroom-effect-production.js.map +1 -1
  331. package/lib/workroom-runtime/workroom-effect-runtime.d.ts +0 -1
  332. package/lib/workroom-runtime/workroom-effect-runtime.js.map +1 -1
  333. package/lib/workroom-runtime/workroom-governed-dispatch-composition.d.ts +0 -1
  334. package/lib/workroom-runtime/workroom-governed-dispatch-composition.js.map +1 -1
  335. package/lib/workroom-runtime/workroom-host-port.d.ts +0 -1
  336. package/lib/workroom-runtime/workroom-host-port.js.map +1 -1
  337. package/lib/workroom-runtime/workroom-journal-payload-composition.d.ts +0 -1
  338. package/lib/workroom-runtime/workroom-journal-payload-composition.js.map +1 -1
  339. package/lib/workroom-runtime/workroom-local-agent-core-adapter.d.ts +0 -1
  340. package/lib/workroom-runtime/workroom-local-agent-core-adapter.js.map +1 -1
  341. package/lib/workroom-runtime/workroom-local-agent-loop.d.ts +0 -1
  342. package/lib/workroom-runtime/workroom-local-agent-loop.js.map +1 -1
  343. package/lib/workroom-runtime/workroom-local-assignment-authority.d.ts +0 -1
  344. package/lib/workroom-runtime/workroom-local-assignment-authority.js.map +1 -1
  345. package/lib/workroom-runtime/workroom-local-assignment-executor.d.ts +0 -1
  346. package/lib/workroom-runtime/workroom-local-assignment-executor.js.map +1 -1
  347. package/lib/workroom-runtime/workroom-local-assignment-runtime.d.ts +0 -1
  348. package/lib/workroom-runtime/workroom-local-assignment-runtime.js.map +1 -1
  349. package/lib/workroom-runtime/workroom-local-assignment-supply.d.ts +0 -1
  350. package/lib/workroom-runtime/workroom-local-assignment-supply.js.map +1 -1
  351. package/lib/workroom-runtime/workroom-overlay-pack-promotion.d.ts +0 -1
  352. package/lib/workroom-runtime/workroom-overlay-pack-promotion.js.map +1 -1
  353. package/lib/workroom-runtime/workroom-payload-processor-recall.d.ts +0 -1
  354. package/lib/workroom-runtime/workroom-payload-processor-recall.js.map +1 -1
  355. package/lib/workroom-runtime/workroom-plan-gate-authority.d.ts +0 -1
  356. package/lib/workroom-runtime/workroom-plan-gate-authority.js.map +1 -1
  357. package/lib/workroom-runtime/workroom-portfolio-capacity.d.ts +0 -1
  358. package/lib/workroom-runtime/workroom-portfolio-capacity.js.map +1 -1
  359. package/lib/workroom-runtime/workroom-portfolio-checkpoint-ack.d.ts +0 -1
  360. package/lib/workroom-runtime/workroom-portfolio-checkpoint-ack.js.map +1 -1
  361. package/lib/workroom-runtime/workroom-portfolio-control-composition.d.ts +0 -1
  362. package/lib/workroom-runtime/workroom-portfolio-control-composition.js.map +1 -1
  363. package/lib/workroom-runtime/workroom-portfolio-control-runtime.d.ts +0 -1
  364. package/lib/workroom-runtime/workroom-portfolio-control-runtime.js.map +1 -1
  365. package/lib/workroom-runtime/workroom-portfolio-grant-assignment.d.ts +0 -1
  366. package/lib/workroom-runtime/workroom-portfolio-grant-assignment.js.map +1 -1
  367. package/lib/workroom-runtime/workroom-portfolio-kernel-authority.d.ts +0 -1
  368. package/lib/workroom-runtime/workroom-portfolio-kernel-authority.js.map +1 -1
  369. package/lib/workroom-runtime/workroom-portfolio-sponsor.d.ts +0 -1
  370. package/lib/workroom-runtime/workroom-portfolio-sponsor.js.map +1 -1
  371. package/lib/workroom-runtime/workroom-preemption-runtime.d.ts +0 -1
  372. package/lib/workroom-runtime/workroom-preemption-runtime.js.map +1 -1
  373. package/lib/workroom-runtime/workroom-priority-authority.d.ts +0 -1
  374. package/lib/workroom-runtime/workroom-priority-authority.js.map +1 -1
  375. package/lib/workroom-runtime/workroom-profile-authority-composition.d.ts +0 -1
  376. package/lib/workroom-runtime/workroom-profile-authority-composition.js.map +1 -1
  377. package/lib/workroom-runtime/workroom-profile-authority-runtime.d.ts +0 -1
  378. package/lib/workroom-runtime/workroom-profile-authority-runtime.js.map +1 -1
  379. package/lib/workroom-runtime/workroom-projection-outbound.d.ts +0 -1
  380. package/lib/workroom-runtime/workroom-projection-outbound.js.map +1 -1
  381. package/lib/workroom-runtime/workroom-projection-runtime.d.ts +0 -1
  382. package/lib/workroom-runtime/workroom-projection-runtime.js.map +1 -1
  383. package/lib/workroom-runtime/workroom-remote-assignment-authority.d.ts +0 -1
  384. package/lib/workroom-runtime/workroom-remote-assignment-authority.js.map +1 -1
  385. package/lib/workroom-runtime/workroom-remote-callback-runtime.d.ts +0 -1
  386. package/lib/workroom-runtime/workroom-remote-callback-runtime.js.map +1 -1
  387. package/lib/workroom-runtime/workroom-remote-executor.d.ts +0 -1
  388. package/lib/workroom-runtime/workroom-remote-executor.js.map +1 -1
  389. package/lib/workroom-runtime/workroom-reviewer-authority-runtime.d.ts +0 -1
  390. package/lib/workroom-runtime/workroom-reviewer-authority-runtime.js.map +1 -1
  391. package/lib/workroom-runtime/workroom-risk-acceptance-runtime.d.ts +0 -1
  392. package/lib/workroom-runtime/workroom-risk-acceptance-runtime.js.map +1 -1
  393. package/lib/workroom-runtime/workroom-run-profile-pin-authority.d.ts +0 -1
  394. package/lib/workroom-runtime/workroom-run-profile-pin-authority.js.map +1 -1
  395. package/lib/workroom-runtime/workroom-scheduler-portfolio-composition.d.ts +0 -1
  396. package/lib/workroom-runtime/workroom-scheduler-portfolio-composition.js.map +1 -1
  397. package/lib/workroom-runtime/workroom-scheduler-portfolio-contract.d.ts +0 -1
  398. package/lib/workroom-runtime/workroom-scheduler-portfolio-contract.js.map +1 -1
  399. package/lib/workroom-runtime/workroom-scheduler-portfolio-request-authority.d.ts +0 -1
  400. package/lib/workroom-runtime/workroom-scheduler-portfolio-request-authority.js.map +1 -1
  401. package/lib/workroom-runtime/workroom-scheduler-portfolio-supply.d.ts +0 -1
  402. package/lib/workroom-runtime/workroom-scheduler-portfolio-supply.js.map +1 -1
  403. package/lib/workroom-runtime/workroom-scheduler-route-registry.d.ts +0 -1
  404. package/lib/workroom-runtime/workroom-scheduler-route-registry.js.map +1 -1
  405. package/lib/workroom-runtime/workroom-scheduler-runtime.d.ts +0 -1
  406. package/lib/workroom-runtime/workroom-scheduler-runtime.js.map +1 -1
  407. package/package.json +8 -8
  408. package/lib/data-governance/canonical-value.d.ts.map +0 -1
  409. package/lib/data-governance/data-governance.d.ts.map +0 -1
  410. package/lib/data-governance/database-payload-lifecycle-repository.d.ts.map +0 -1
  411. package/lib/data-governance/disclosure-authority.d.ts.map +0 -1
  412. package/lib/data-governance/disclosure-manifest.d.ts.map +0 -1
  413. package/lib/data-governance/durable-file-store.d.ts.map +0 -1
  414. package/lib/data-governance/encrypted-database-payload-vault.d.ts.map +0 -1
  415. package/lib/data-governance/encrypted-file-payload-vault.d.ts.map +0 -1
  416. package/lib/data-governance/file-payload-lifecycle-repository.d.ts.map +0 -1
  417. package/lib/data-governance/governance-authority-repository.d.ts.map +0 -1
  418. package/lib/data-governance/governed-payload-write-saga.d.ts.map +0 -1
  419. package/lib/data-governance/payload-hold-overdue-projection.d.ts.map +0 -1
  420. package/lib/data-governance/payload-lifecycle.d.ts.map +0 -1
  421. package/lib/data-governance/payload-vault-storage-handoff.d.ts.map +0 -1
  422. package/lib/data-governance.d.ts.map +0 -1
  423. package/lib/index.d.ts.map +0 -1
  424. package/lib/portfolio/capacity-control-outbox.d.ts.map +0 -1
  425. package/lib/portfolio/database-capacity-control-outbox.d.ts.map +0 -1
  426. package/lib/portfolio/file-capacity-control-outbox.d.ts.map +0 -1
  427. package/lib/portfolio/file-portfolio-journal.d.ts.map +0 -1
  428. package/lib/portfolio/portfolio-admission.d.ts.map +0 -1
  429. package/lib/portfolio/portfolio-journal.d.ts.map +0 -1
  430. package/lib/portfolio/resource-bundle.d.ts.map +0 -1
  431. package/lib/portfolio/sponsor-projection.d.ts.map +0 -1
  432. package/lib/portfolio.d.ts.map +0 -1
  433. package/lib/remote.d.ts.map +0 -1
  434. package/lib/room/database-room-task-journal.d.ts.map +0 -1
  435. package/lib/room/index.d.ts.map +0 -1
  436. package/lib/room/room-bus.d.ts.map +0 -1
  437. package/lib/room/room-definition.d.ts.map +0 -1
  438. package/lib/room/room-event-sequencer.d.ts.map +0 -1
  439. package/lib/room/room-guards.d.ts.map +0 -1
  440. package/lib/room/room-membership.d.ts.map +0 -1
  441. package/lib/room/room-registry.d.ts.map +0 -1
  442. package/lib/room/room-router.d.ts.map +0 -1
  443. package/lib/room/room-send-limiter.d.ts.map +0 -1
  444. package/lib/room/room-task-authorizer.d.ts.map +0 -1
  445. package/lib/room/room-task-journal.d.ts.map +0 -1
  446. package/lib/room/room-task-service.d.ts.map +0 -1
  447. package/lib/room/room-task.d.ts.map +0 -1
  448. package/lib/room/validate-room.d.ts.map +0 -1
  449. package/lib/scheduler.d.ts.map +0 -1
  450. package/lib/workroom/acceptance-control.d.ts.map +0 -1
  451. package/lib/workroom/acceptance-policy.d.ts.map +0 -1
  452. package/lib/workroom/accepted-source-memory-application.d.ts.map +0 -1
  453. package/lib/workroom/accepted-source-projector.d.ts.map +0 -1
  454. package/lib/workroom/assignment-authority-grant-application.d.ts.map +0 -1
  455. package/lib/workroom/assignment-authority-grant-repository.d.ts.map +0 -1
  456. package/lib/workroom/assignment-authority.d.ts.map +0 -1
  457. package/lib/workroom/assignment-executor.d.ts.map +0 -1
  458. package/lib/workroom/assignment-observation-ingress.d.ts.map +0 -1
  459. package/lib/workroom/canonical-value.d.ts.map +0 -1
  460. package/lib/workroom/catalog-definition.d.ts.map +0 -1
  461. package/lib/workroom/catalog.d.ts.map +0 -1
  462. package/lib/workroom/coding-assignment-executor.d.ts.map +0 -1
  463. package/lib/workroom/coding-git-objects.d.ts.map +0 -1
  464. package/lib/workroom/database-project-knowledge-journal.d.ts.map +0 -1
  465. package/lib/workroom/durable-file-store.d.ts.map +0 -1
  466. package/lib/workroom/dynamic-workflow-planner.d.ts.map +0 -1
  467. package/lib/workroom/effect-blocker-repository.d.ts.map +0 -1
  468. package/lib/workroom/effect-ledger.d.ts.map +0 -1
  469. package/lib/workroom/file-accepted-source-memory-repository.d.ts.map +0 -1
  470. package/lib/workroom/file-coding-execution-store.d.ts.map +0 -1
  471. package/lib/workroom/file-effect-ledger.d.ts.map +0 -1
  472. package/lib/workroom/file-human-ingress-application.d.ts.map +0 -1
  473. package/lib/workroom/file-human-ingress.d.ts.map +0 -1
  474. package/lib/workroom/file-interaction-space-binding-repository.d.ts.map +0 -1
  475. package/lib/workroom/file-profile-journal.d.ts.map +0 -1
  476. package/lib/workroom/git-workspace-gateway.d.ts.map +0 -1
  477. package/lib/workroom/github-workspace-transport.d.ts.map +0 -1
  478. package/lib/workroom/governed-dispatch-reasons.d.ts.map +0 -1
  479. package/lib/workroom/human-ingress-application.d.ts.map +0 -1
  480. package/lib/workroom/human-ingress-orchestrator.d.ts.map +0 -1
  481. package/lib/workroom/human-ingress-source-reader.d.ts.map +0 -1
  482. package/lib/workroom/human-ingress.d.ts.map +0 -1
  483. package/lib/workroom/interaction-space-binding-service.d.ts.map +0 -1
  484. package/lib/workroom/interaction-space-router.d.ts.map +0 -1
  485. package/lib/workroom/journal/activatable-journal.d.ts.map +0 -1
  486. package/lib/workroom/journal/contracts.d.ts.map +0 -1
  487. package/lib/workroom/journal/database-journal.d.ts.map +0 -1
  488. package/lib/workroom/journal/event-codec.d.ts.map +0 -1
  489. package/lib/workroom/journal/event-validation.d.ts.map +0 -1
  490. package/lib/workroom/journal/file-journal.d.ts.map +0 -1
  491. package/lib/workroom/journal/index.d.ts.map +0 -1
  492. package/lib/workroom/journal/legacy-payload-guard.d.ts.map +0 -1
  493. package/lib/workroom/journal/memory-journal.d.ts.map +0 -1
  494. package/lib/workroom/journal/payload-governance.d.ts.map +0 -1
  495. package/lib/workroom/journal/payload-reference.d.ts.map +0 -1
  496. package/lib/workroom/journal/stored-event-projection.d.ts.map +0 -1
  497. package/lib/workroom/journal-model.d.ts.map +0 -1
  498. package/lib/workroom/kernel-contracts.d.ts.map +0 -1
  499. package/lib/workroom/kernel-state.d.ts.map +0 -1
  500. package/lib/workroom/local-assignment-issuance.d.ts.map +0 -1
  501. package/lib/workroom/plan-approval-control.d.ts.map +0 -1
  502. package/lib/workroom/plan-revision.d.ts.map +0 -1
  503. package/lib/workroom/profile-compiler.d.ts.map +0 -1
  504. package/lib/workroom/profile-registry.d.ts.map +0 -1
  505. package/lib/workroom/project-knowledge-registry.d.ts.map +0 -1
  506. package/lib/workroom/projection-outbox/contracts.d.ts.map +0 -1
  507. package/lib/workroom/projection-outbox/delivery-worker.d.ts.map +0 -1
  508. package/lib/workroom/projection-outbox/file-repository.d.ts.map +0 -1
  509. package/lib/workroom/projection-outbox/index.d.ts.map +0 -1
  510. package/lib/workroom/projection-outbox/memory-repository.d.ts.map +0 -1
  511. package/lib/workroom/projection-outbox/projector.d.ts.map +0 -1
  512. package/lib/workroom/projection-outbox/repository-state.d.ts.map +0 -1
  513. package/lib/workroom/projection-outbox/tracer.d.ts.map +0 -1
  514. package/lib/workroom/remote-assignment-dispatch-command.d.ts.map +0 -1
  515. package/lib/workroom/remote-assignment-issuance.d.ts.map +0 -1
  516. package/lib/workroom/remote-callback-application.d.ts.map +0 -1
  517. package/lib/workroom/remote-callback-gateway.d.ts.map +0 -1
  518. package/lib/workroom/remote-callback-inbox.d.ts.map +0 -1
  519. package/lib/workroom/remote-callback-reconciliation-worker.d.ts.map +0 -1
  520. package/lib/workroom/remote-dispatch-admission.d.ts.map +0 -1
  521. package/lib/workroom/remote-dispatch-outbox.d.ts.map +0 -1
  522. package/lib/workroom/remote-dispatch-scheduler.d.ts.map +0 -1
  523. package/lib/workroom/remote-dispatch-worker.d.ts.map +0 -1
  524. package/lib/workroom/remote-dispatch.d.ts.map +0 -1
  525. package/lib/workroom/remote-executor.d.ts.map +0 -1
  526. package/lib/workroom/role-capability-snapshot.d.ts.map +0 -1
  527. package/lib/workroom/runtime.d.ts.map +0 -1
  528. package/lib/workroom/scheduler-priority-control.d.ts.map +0 -1
  529. package/lib/workroom/software-delivery-plan.d.ts.map +0 -1
  530. package/lib/workroom/validate-catalog.d.ts.map +0 -1
  531. package/lib/workroom/workflow-plan-builder.d.ts.map +0 -1
  532. package/lib/workroom/workroom-assignment-knowledge-context.d.ts.map +0 -1
  533. package/lib/workroom/workroom-kernel.d.ts.map +0 -1
  534. package/lib/workroom/workroom-preemption.d.ts.map +0 -1
  535. package/lib/workroom/workroom-run-control.d.ts.map +0 -1
  536. package/lib/workroom/workroom-scheduler-application.d.ts.map +0 -1
  537. package/lib/workroom/workroom-scheduler.d.ts.map +0 -1
  538. package/lib/workroom/workroom-task-report-store.d.ts.map +0 -1
  539. package/lib/workroom-runtime/database-overlay-pack-promotion-repository.d.ts.map +0 -1
  540. package/lib/workroom-runtime/github-actions-delivery-provider.d.ts.map +0 -1
  541. package/lib/workroom-runtime/github-exact-merge-gateway.d.ts.map +0 -1
  542. package/lib/workroom-runtime/github-workroom-capability.d.ts.map +0 -1
  543. package/lib/workroom-runtime/self-delivery-project-composition.d.ts.map +0 -1
  544. package/lib/workroom-runtime/self-delivery-project.d.ts.map +0 -1
  545. package/lib/workroom-runtime/workroom-acceptance-authority.d.ts.map +0 -1
  546. package/lib/workroom-runtime/workroom-acceptance-fact-providers.d.ts.map +0 -1
  547. package/lib/workroom-runtime/workroom-acceptance-internal-providers.d.ts.map +0 -1
  548. package/lib/workroom-runtime/workroom-acceptance-policy.d.ts.map +0 -1
  549. package/lib/workroom-runtime/workroom-acceptance-production-composition.d.ts.map +0 -1
  550. package/lib/workroom-runtime/workroom-acceptance-provider-composition.d.ts.map +0 -1
  551. package/lib/workroom-runtime/workroom-accepted-source-runtime.d.ts.map +0 -1
  552. package/lib/workroom-runtime/workroom-assignment-authority-grant-runtime.d.ts.map +0 -1
  553. package/lib/workroom-runtime/workroom-assignment-authority-provider.d.ts.map +0 -1
  554. package/lib/workroom-runtime/workroom-assignment-knowledge-composition.d.ts.map +0 -1
  555. package/lib/workroom-runtime/workroom-bot-identity.d.ts.map +0 -1
  556. package/lib/workroom-runtime/workroom-capability-realization.d.ts.map +0 -1
  557. package/lib/workroom-runtime/workroom-data-governance-authority-writer.d.ts.map +0 -1
  558. package/lib/workroom-runtime/workroom-data-governance-bootstrap.d.ts.map +0 -1
  559. package/lib/workroom-runtime/workroom-data-governance-composition.d.ts.map +0 -1
  560. package/lib/workroom-runtime/workroom-data-governance-root-provider.d.ts.map +0 -1
  561. package/lib/workroom-runtime/workroom-data-governance-runtime.d.ts.map +0 -1
  562. package/lib/workroom-runtime/workroom-data-governance-storage.d.ts.map +0 -1
  563. package/lib/workroom-runtime/workroom-data-lifecycle-composition.d.ts.map +0 -1
  564. package/lib/workroom-runtime/workroom-data-lifecycle-console.d.ts.map +0 -1
  565. package/lib/workroom-runtime/workroom-data-lifecycle-human-ingress.d.ts.map +0 -1
  566. package/lib/workroom-runtime/workroom-database-models.d.ts.map +0 -1
  567. package/lib/workroom-runtime/workroom-database-storage.d.ts.map +0 -1
  568. package/lib/workroom-runtime/workroom-delivery-gateway.d.ts.map +0 -1
  569. package/lib/workroom-runtime/workroom-dynamic-planning-provider.d.ts.map +0 -1
  570. package/lib/workroom-runtime/workroom-dynamic-planning.d.ts.map +0 -1
  571. package/lib/workroom-runtime/workroom-effect-composition.d.ts.map +0 -1
  572. package/lib/workroom-runtime/workroom-effect-production.d.ts.map +0 -1
  573. package/lib/workroom-runtime/workroom-effect-runtime.d.ts.map +0 -1
  574. package/lib/workroom-runtime/workroom-governed-dispatch-composition.d.ts.map +0 -1
  575. package/lib/workroom-runtime/workroom-host-port.d.ts.map +0 -1
  576. package/lib/workroom-runtime/workroom-journal-payload-composition.d.ts.map +0 -1
  577. package/lib/workroom-runtime/workroom-local-agent-core-adapter.d.ts.map +0 -1
  578. package/lib/workroom-runtime/workroom-local-agent-loop.d.ts.map +0 -1
  579. package/lib/workroom-runtime/workroom-local-assignment-authority.d.ts.map +0 -1
  580. package/lib/workroom-runtime/workroom-local-assignment-executor.d.ts.map +0 -1
  581. package/lib/workroom-runtime/workroom-local-assignment-runtime.d.ts.map +0 -1
  582. package/lib/workroom-runtime/workroom-local-assignment-supply.d.ts.map +0 -1
  583. package/lib/workroom-runtime/workroom-overlay-pack-promotion.d.ts.map +0 -1
  584. package/lib/workroom-runtime/workroom-payload-processor-recall.d.ts.map +0 -1
  585. package/lib/workroom-runtime/workroom-plan-gate-authority.d.ts.map +0 -1
  586. package/lib/workroom-runtime/workroom-portfolio-capacity.d.ts.map +0 -1
  587. package/lib/workroom-runtime/workroom-portfolio-checkpoint-ack.d.ts.map +0 -1
  588. package/lib/workroom-runtime/workroom-portfolio-control-composition.d.ts.map +0 -1
  589. package/lib/workroom-runtime/workroom-portfolio-control-runtime.d.ts.map +0 -1
  590. package/lib/workroom-runtime/workroom-portfolio-grant-assignment.d.ts.map +0 -1
  591. package/lib/workroom-runtime/workroom-portfolio-kernel-authority.d.ts.map +0 -1
  592. package/lib/workroom-runtime/workroom-portfolio-sponsor.d.ts.map +0 -1
  593. package/lib/workroom-runtime/workroom-preemption-runtime.d.ts.map +0 -1
  594. package/lib/workroom-runtime/workroom-priority-authority.d.ts.map +0 -1
  595. package/lib/workroom-runtime/workroom-profile-authority-composition.d.ts.map +0 -1
  596. package/lib/workroom-runtime/workroom-profile-authority-runtime.d.ts.map +0 -1
  597. package/lib/workroom-runtime/workroom-projection-outbound.d.ts.map +0 -1
  598. package/lib/workroom-runtime/workroom-projection-runtime.d.ts.map +0 -1
  599. package/lib/workroom-runtime/workroom-remote-assignment-authority.d.ts.map +0 -1
  600. package/lib/workroom-runtime/workroom-remote-callback-runtime.d.ts.map +0 -1
  601. package/lib/workroom-runtime/workroom-remote-executor.d.ts.map +0 -1
  602. package/lib/workroom-runtime/workroom-reviewer-authority-runtime.d.ts.map +0 -1
  603. package/lib/workroom-runtime/workroom-risk-acceptance-runtime.d.ts.map +0 -1
  604. package/lib/workroom-runtime/workroom-run-profile-pin-authority.d.ts.map +0 -1
  605. package/lib/workroom-runtime/workroom-scheduler-portfolio-composition.d.ts.map +0 -1
  606. package/lib/workroom-runtime/workroom-scheduler-portfolio-contract.d.ts.map +0 -1
  607. package/lib/workroom-runtime/workroom-scheduler-portfolio-request-authority.d.ts.map +0 -1
  608. package/lib/workroom-runtime/workroom-scheduler-portfolio-supply.d.ts.map +0 -1
  609. package/lib/workroom-runtime/workroom-scheduler-route-registry.d.ts.map +0 -1
  610. package/lib/workroom-runtime/workroom-scheduler-runtime.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"workroom-preemption.js","sourceRoot":"","sources":["../../src/workroom/workroom-preemption.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workroom-preemption.js","sourceRoot":"","sources":["../../src/workroom/workroom-preemption.ts"],"names":[],"mappings":"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","sourcesContent":["import type { WorkroomEvent, WorkroomEventDraft } from './kernel-contracts.js';\nimport type { WorkroomJournal } from './journal/index.js';\nimport {\n deepFreezeWorkroomValue as deepFreeze,\n digestCanonicalWorkroomValue as digest,\n} from './canonical-value.js';\nimport {\n parseWorkroomPreemptionPrepareDecision,\n type WorkroomPreemptionPrepareDecision,\n} from './workroom-scheduler.js';\n\nexport type WorkroomPreemptionStatus =\n | 'prepared'\n | 'checkpoint_requested'\n | 'checkpoint_acknowledged'\n | 'takeover_ready'\n | 'timed_out';\n\nexport interface WorkroomPreemptionState extends WorkroomPreemptionPrepareDecision {\n readonly status: WorkroomPreemptionStatus;\n readonly checkpoint?: Readonly<{ ref: string; digest: string }>;\n readonly observationId?: string;\n readonly observationDigest?: string;\n readonly acknowledgedAt?: number;\n readonly timeoutBlockerId?: string;\n}\n\nexport interface WorkroomPreemptionProjection {\n readonly byDecisionId: Readonly<Record<string, WorkroomPreemptionState>>;\n readonly pending?: WorkroomPreemptionState;\n}\n\nexport interface WorkroomPreemptionCheckpointAck {\n readonly version: 1;\n readonly decisionId: string;\n readonly projectId: string;\n readonly runId: string;\n readonly victimTaskKey: string;\n readonly reservedTaskKey: string;\n readonly assignmentId: string;\n readonly assignmentAttempt: number;\n readonly assignmentFence: number;\n readonly takeoverFence: number;\n readonly envelopeDigest: string;\n readonly observationId: string;\n readonly observationDigest: string;\n readonly checkpoint: Readonly<{ ref: string; digest: string }>;\n readonly producer: Readonly<{ principalId: string; authorityRef: string; authorityDigest: string }>;\n readonly acknowledgedAt: number;\n readonly digest: string;\n}\n\nexport interface WorkroomCheckpointRequestDeliveryPort {\n /** Must be idempotent by decisionId; success never implies checkpoint acknowledgement. */\n request(preemption: WorkroomPreemptionState, signal: AbortSignal): Promise<void>;\n}\n\nexport interface WorkroomPreemptionCheckpointApplicationOptions {\n readonly journal: Pick<WorkroomJournal, 'listRunIds' | 'read'>;\n readonly delivery: WorkroomCheckpointRequestDeliveryPort;\n}\n\n/** Journal-backed at-least-once checkpoint request consumer; only Assignment observations can ack. */\nexport class WorkroomPreemptionCheckpointApplication {\n constructor(readonly options: WorkroomPreemptionCheckpointApplicationOptions) {}\n\n async recover(signal: AbortSignal): Promise<number> {\n let delivered = 0;\n for (const runId of [...await this.options.journal.listRunIds()].sort()) {\n signal.throwIfAborted();\n const pending = replayWorkroomPreemptions(await this.options.journal.read(runId)).pending;\n if (!pending) continue;\n await this.options.delivery.request(pending, signal);\n delivered += 1;\n }\n return delivered;\n }\n}\n\n/** The Journal is the only preemption state; this projection is restart-safe and I/O-free. */\nexport function replayWorkroomPreemptions(events: readonly WorkroomEvent[]): WorkroomPreemptionProjection {\n const byDecisionId: Record<string, WorkroomPreemptionState> = {};\n const checkpoints = new Map<string, Readonly<{\n observationId: string; observationDigest: string; envelopeDigest: string;\n checkpointRef: string; checkpointDigest: string;\n }>>();\n let pending: WorkroomPreemptionState | undefined;\n let prepared: WorkroomPreemptionState | undefined;\n for (const event of events) {\n if (event.type === 'assignment.checkpointed') {\n checkpoints.set(required(event.payload.assignmentId, 'checkpoint assignmentId'), {\n observationId: required(event.payload.observationId, 'checkpoint observationId'),\n observationDigest: requiredDigest(event.payload.observationDigest, 'checkpoint observationDigest'),\n envelopeDigest: requiredDigest(event.payload.envelopeDigest, 'checkpoint Envelope digest'),\n checkpointRef: required(event.payload.checkpointRef, 'checkpoint ref'),\n checkpointDigest: requiredDigest(event.payload.checkpointDigest, 'checkpoint digest'),\n });\n continue;\n }\n if (event.type === 'scheduler.preemption_requested') {\n const decision = parseWorkroomPreemptionPrepareDecision(event.payload);\n if (byDecisionId[decision.decisionId] || pending || prepared) {\n throw new Error('Workroom preemption prepare overlaps an existing request');\n }\n const state = deepFreeze({ ...decision, status: 'prepared' as const });\n byDecisionId[decision.decisionId] = state;\n prepared = state;\n continue;\n }\n if (event.type === 'assignment.checkpoint_requested') {\n const decisionId = required(event.payload.decisionId, 'checkpoint request decisionId');\n const state = byDecisionId[decisionId];\n if (!state || state.status !== 'prepared' || prepared?.decisionId !== decisionId\n || event.payload.assignmentId !== state.assignmentId\n || event.payload.envelopeDigest !== state.assignmentEnvelopeDigest\n || event.payload.deadline !== state.deadline\n || event.payload.takeoverFence !== state.takeoverFence) {\n throw new Error('Workroom checkpoint request is not bound to its preemption prepare');\n }\n const requested = deepFreeze({ ...state, status: 'checkpoint_requested' as const });\n byDecisionId[decisionId] = requested;\n pending = requested;\n prepared = undefined;\n continue;\n }\n if (event.type === 'scheduler.preemption_checkpoint_acknowledged') {\n const decisionId = required(event.payload.decisionId, 'checkpoint ack decisionId');\n const state = byDecisionId[decisionId];\n const checkpoint = checkpoints.get(String(event.payload.assignmentId));\n if (!state || state.status !== 'checkpoint_requested'\n || event.payload.assignmentId !== state.assignmentId\n || event.payload.envelopeDigest !== state.assignmentEnvelopeDigest\n || event.payload.assignmentAttempt !== state.assignmentAttempt\n || event.payload.assignmentFence !== state.assignmentFence\n || event.payload.takeoverFence !== state.takeoverFence\n || !checkpoint\n || checkpoint.envelopeDigest !== state.assignmentEnvelopeDigest\n || checkpoint.observationId !== event.payload.observationId\n || checkpoint.observationDigest !== event.payload.observationDigest\n || checkpoint.checkpointRef !== event.payload.checkpointRef\n || checkpoint.checkpointDigest !== event.payload.checkpointDigest) {\n throw new Error('Workroom checkpoint acknowledgement is stale');\n }\n const acknowledged = deepFreeze({\n ...state,\n status: 'checkpoint_acknowledged' as const,\n checkpoint: {\n ref: required(event.payload.checkpointRef, 'checkpoint ref'),\n digest: requiredDigest(event.payload.checkpointDigest, 'checkpoint digest'),\n },\n observationId: required(event.payload.observationId, 'checkpoint observationId'),\n observationDigest: requiredDigest(event.payload.observationDigest, 'checkpoint observationDigest'),\n acknowledgedAt: nonNegative(event.occurredAt, 'checkpoint acknowledgedAt'),\n });\n byDecisionId[decisionId] = acknowledged;\n pending = undefined;\n checkpoints.delete(state.assignmentId);\n continue;\n }\n if (event.type === 'assignment.preempted') {\n const decisionId = required(event.payload.decisionId, 'Assignment preempted decisionId');\n const state = byDecisionId[decisionId];\n if (!state || state.status !== 'checkpoint_acknowledged'\n || event.payload.assignmentId !== state.assignmentId\n || event.payload.checkpointRef !== state.checkpoint?.ref\n || event.payload.checkpointDigest !== state.checkpoint?.digest\n || event.payload.outcome !== 'interrupted') {\n throw new Error('Workroom Assignment preemption is not bound to an authenticated checkpoint');\n }\n byDecisionId[decisionId] = deepFreeze({ ...state, status: 'takeover_ready' as const });\n continue;\n }\n if (event.type === 'scheduler.preemption_timed_out') {\n const decisionId = required(event.payload.decisionId, 'preemption timeout decisionId');\n const state = byDecisionId[decisionId];\n if (!state || state.status !== 'checkpoint_requested'\n || event.payload.assignmentId !== state.assignmentId\n || event.payload.reservedTaskKey !== state.reservedTaskKey) {\n throw new Error('Workroom preemption timeout is stale');\n }\n const timedOut = deepFreeze({\n ...state,\n status: 'timed_out' as const,\n timeoutBlockerId: required(event.payload.blockerId, 'preemption timeout blockerId'),\n });\n byDecisionId[decisionId] = timedOut;\n pending = undefined;\n }\n }\n if (prepared) throw new Error('Workroom preemption prepare has no checkpoint request');\n if (Object.values(byDecisionId).some(state => state.status === 'checkpoint_acknowledged')) {\n throw new Error('Workroom preemption checkpoint acknowledgement has no atomic takeover release');\n }\n return deepFreeze({\n byDecisionId,\n ...(pending ? { pending } : {}),\n });\n}\n\n/** Exact authenticated fact P11 may consume; it cannot create or mutate this acknowledgement. */\nexport function readWorkroomPreemptionCheckpointAck(\n events: readonly WorkroomEvent[],\n decisionId: string,\n): WorkroomPreemptionCheckpointAck | undefined {\n const state = replayWorkroomPreemptions(events).byDecisionId[required(decisionId, 'decisionId')];\n if (!state || state.status !== 'takeover_ready' || !state.checkpoint\n || !state.observationId || !state.observationDigest || state.acknowledgedAt === undefined) return undefined;\n const body = deepFreeze({\n version: 1 as const,\n decisionId: state.decisionId,\n projectId: state.projectId,\n runId: state.runId,\n victimTaskKey: state.victimTaskKey,\n reservedTaskKey: state.reservedTaskKey,\n assignmentId: state.assignmentId,\n assignmentAttempt: state.assignmentAttempt,\n assignmentFence: state.assignmentFence,\n takeoverFence: state.takeoverFence,\n envelopeDigest: state.assignmentEnvelopeDigest,\n observationId: state.observationId,\n observationDigest: state.observationDigest,\n checkpoint: state.checkpoint,\n producer: {\n principalId: state.owner,\n authorityRef: `assignment-envelope:${state.assignmentId}:${state.assignmentFence}`,\n authorityDigest: state.assignmentEnvelopeDigest,\n },\n acknowledgedAt: state.acknowledgedAt,\n });\n return deepFreeze({ ...body, digest: digest(body) });\n}\n\nexport function decideWorkroomPreemptionTimeout(\n events: readonly WorkroomEvent[],\n now: number,\n event: (type: WorkroomEvent['type'], payload: Record<string, unknown>) => WorkroomEventDraft,\n): readonly WorkroomEventDraft[] {\n const pending = replayWorkroomPreemptions(events).pending;\n if (!pending || pending.deadline > now) return Object.freeze([]);\n const blockerId = `preemption-timeout:${encodeURIComponent(pending.decisionId)}`;\n return Object.freeze([\n event('scheduler.preemption_timed_out', {\n decisionId: pending.decisionId,\n assignmentId: pending.assignmentId,\n reservedTaskKey: pending.reservedTaskKey,\n blockerId,\n owner: `orchestrator:${pending.projectId}`,\n deadline: now,\n allowedSuccessors: ['replan', 'cancel_run'],\n reason: 'Checkpoint deadline expired; owner and resource remain held until explicit recovery',\n }),\n event('task.blocked', {\n taskKey: pending.reservedTaskKey,\n blockerId,\n kind: 'external',\n owner: `orchestrator:${pending.projectId}`,\n reason: 'Preemption checkpoint timed out; replan or cancel without assuming resource release',\n deadline: now,\n allowedActions: ['replan', 'cancel'],\n }),\n ]);\n}\n\nfunction required(value: unknown, label: string): string {\n if (typeof value !== 'string' || !value.trim()) throw new Error(`Workroom preemption ${label} is invalid`);\n return value;\n}\nfunction requiredDigest(value: unknown, label: string): string {\n if (typeof value !== 'string' || !/^sha256:[a-f0-9]{64}$/u.test(value)) {\n throw new Error(`Workroom preemption ${label} is invalid`);\n }\n return value;\n}\nfunction nonNegative(value: unknown, label: string): number {\n if (typeof value !== 'number' || !Number.isFinite(value) || value < 0) {\n throw new Error(`Workroom preemption ${label} is invalid`);\n }\n return value;\n}\n"]}
@@ -66,4 +66,3 @@ export declare function workroomRunControlRequestDigest(command: WorkroomRunCont
66
66
  export declare function createCatalogWorkroomRunControlAuthority(catalog: Pick<WorkroomCatalog, 'read'>): WorkroomRunControlAuthorityPort;
67
67
  export declare function isWorkroomRunCancelReasonCode(value: unknown): value is WorkroomRunCancelReasonCode;
68
68
  export declare function isWorkroomRunReplanReasonCode(value: unknown): value is WorkroomRunReplanReasonCode;
69
- //# sourceMappingURL=workroom-run-control.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workroom-run-control.js","sourceRoot":"","sources":["../../src/workroom/workroom-run-control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workroom-run-control.js","sourceRoot":"","sources":["../../src/workroom/workroom-run-control.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AA0EpE,MAAM,OAAO,mCAAoC,SAAQ,KAAK;IACvC;IAArB,YAAqB,MAAc;QACjC,KAAK,CAAC,yCAAyC,MAAM,EAAE,CAAC,CAAC;QADtC,WAAM,GAAN,MAAM,CAAQ;QAEjC,IAAI,CAAC,IAAI,GAAG,qCAAqC,CAAC;IACpD,CAAC;CACF;AAED,MAAM,UAAU,+BAA+B,CAC7C,OAAkC;IAElC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAClG,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,kCAAkC,CAAC,CAAC;IACrE,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,gCAAgC,CAAC,CAAC;IACjE,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAAC;IACzD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;QACpF,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YAClF,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QACD,eAAe,CAAC,OAAO,EAAE;YACvB,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB;YAClE,QAAQ,EAAE,YAAY,EAAE,iBAAiB;SAC1C,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,gBAAgB,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9F,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,eAAe,CAAC,OAAO,EAAE;QACvB,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,YAAY;KAC3F,CAAC,CAAC;AACL,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,8BAA8B,CAAC,KAAc;IAC3D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,CAAC,GAAW,EAAU,EAAE;QACnC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,OAAO,SAAS,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,aAAa,CAAC,CAAC;QAC7F,WAAW,CAAC,SAAS,EAAE,wBAAwB,GAAG,EAAE,CAAC,CAAC;QACtD,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC,CAAC;IACF,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC;WACnE,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,CAAU;QACnB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;KACjD,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,UAAU,CAAC;eAC/C,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YACvF,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,eAAe,CAAC,KAAK,EAAE;YACrB,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB;YAClE,QAAQ,EAAE,YAAY,EAAE,iBAAiB;SAC1C,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,GAAG,MAAM;YACT,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;SAC/C,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,gBAAgB,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1F,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IACD,eAAe,CAAC,KAAK,EAAE;QACrB,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,YAAY;KAC3F,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;AAC9F,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,OAAkC,EAClC,wBAAgC;IAEhC,+BAA+B,CAAC,OAAO,CAAC,CAAC;IACzC,WAAW,CAAC,wBAAwB,EAAE,8CAA8C,CAAC,CAAC;IACtF,OAAO,4BAA4B,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;AACzF,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,wCAAwC,CACtD,OAAsC;IAEtC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,KAAK,CAAC,SAAS,CACb,KAA2C;YAE3C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACtC,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,aAAa;mBAC5D,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,KAAK,KAAK,CAAC,aAAa,CAAC;mBACzF,KAAK,CAAC,aAAa,KAAK,+BAA+B,CACxD,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,wBAAwB,CAC/B;mBACE,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC;YACjF,CAAC;YACD,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACjE,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBAChD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,CAAC;gBACnE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,kCAAkC,EAAE,CAAC,CAAC;YAC1F,CAAC;YACD,MAAM,aAAa,GAAG,4BAA4B,CAAC,UAAU,CAAC,CAAC;YAC/D,OAAO,MAAM,CAAC,MAAM,CAAC;gBACnB,UAAU,EAAE,IAAI;gBAChB,WAAW,EAAE,KAAK,CAAC,wBAAwB;gBAC3C,eAAe,EAAE,QAAQ,CAAC,QAAQ;gBAClC,aAAa;gBACb,gBAAgB,EAAE;oBAChB,yBAAyB,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS;oBACrE,aAAa,EAAE,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa;iBACzF,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;aACpC,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAAc;IAC1D,OAAO,KAAK,KAAK,kBAAkB,IAAI,KAAK,KAAK,oBAAoB;WAChE,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,eAAe,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAAc;IAC1D,OAAO,KAAK,KAAK,sBAAsB,IAAI,KAAK,KAAK,kBAAkB;WAClE,KAAK,KAAK,eAAe,IAAI,KAAK,KAAK,kBAAkB,CAAC;AACjE,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,KAAa;IAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,eAAe,CAAC,KAAa,EAAE,QAA2B;IACjE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IAClC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACtF,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC","sourcesContent":["import type { WorkroomRunState, WorkroomRunStatus } from './kernel-contracts.js';\nimport { digestCanonicalWorkroomValue } from './canonical-value.js';\nimport type { WorkroomCatalog } from './catalog.js';\n\nexport type WorkroomRunCancelReasonCode =\n | 'operator_request'\n | 'no_longer_required'\n | 'superseded'\n | 'policy_change';\n\nexport type WorkroomRunReplanReasonCode =\n | 'requirements_changed'\n | 'blocker_recovery'\n | 'policy_change'\n | 'operator_request';\n\nexport type WorkroomRunControlCommand =\n | Readonly<{\n version: 1;\n operationId: string;\n projectId: string;\n runId: string;\n expectedSequence: number;\n action: 'cancel';\n reasonCode: WorkroomRunCancelReasonCode;\n controlDeadline: number;\n }>\n | Readonly<{\n version: 1;\n operationId: string;\n projectId: string;\n runId: string;\n expectedSequence: number;\n action: 'request_replan';\n reasonCode: WorkroomRunReplanReasonCode;\n }>;\n\nexport interface WorkroomRunControlAuthorizationInput {\n readonly version: 1;\n readonly purpose: 'commit' | 'stale_probe';\n readonly command: WorkroomRunControlCommand;\n readonly authenticatedPrincipalId: string;\n readonly requestDigest: string;\n readonly stateSequence: number;\n readonly stateStatus: WorkroomRunStatus;\n readonly stateDigest: string;\n}\n\nexport type WorkroomRunControlAuthorizationDecision =\n | Readonly<{\n authorized: true;\n principalId: string;\n catalogRevision: string;\n projectDigest: string;\n authorizationRef: string;\n }>\n | Readonly<{ authorized: false; reason: string }>;\n\nexport interface WorkroomRunControlAuthorityPort {\n authorize(\n input: WorkroomRunControlAuthorizationInput,\n ): WorkroomRunControlAuthorizationDecision | Promise<WorkroomRunControlAuthorizationDecision>;\n}\n\nexport type WorkroomRunControlReceipt =\n | Readonly<{\n status: 'committed' | 'duplicate';\n action: WorkroomRunControlCommand['action'];\n operationId: string;\n receiptRef: string;\n receiptDigest: string;\n state: WorkroomRunState;\n }>\n | Readonly<{ status: 'stale'; actualSequence: number }>;\n\nexport class WorkroomRunControlUnauthorizedError extends Error {\n constructor(readonly reason: string) {\n super(`Workroom Run control is unauthorized: ${reason}`);\n this.name = 'WorkroomRunControlUnauthorizedError';\n }\n}\n\nexport function assertWorkroomRunControlCommand(\n command: WorkroomRunControlCommand,\n): void {\n if (!command || command.version !== 1) throw new Error('Workroom Run control version is invalid');\n requireText(command.operationId, 'Workroom Run control operationId');\n requireText(command.projectId, 'Workroom Run control projectId');\n requireText(command.runId, 'Workroom Run control runId');\n if (!Number.isSafeInteger(command.expectedSequence) || command.expectedSequence < 0) {\n throw new Error('Workroom Run control expectedSequence is invalid');\n }\n if (command.action === 'cancel') {\n if (!isWorkroomRunCancelReasonCode(command.reasonCode)) {\n throw new Error('Workroom Run cancellation reasonCode is invalid');\n }\n if (!Number.isSafeInteger(command.controlDeadline) || command.controlDeadline < 0) {\n throw new Error('Workroom Run cancellation controlDeadline is invalid');\n }\n assertExactKeys(command, [\n 'version', 'operationId', 'projectId', 'runId', 'expectedSequence',\n 'action', 'reasonCode', 'controlDeadline',\n ]);\n return;\n }\n if (command.action !== 'request_replan' || !isWorkroomRunReplanReasonCode(command.reasonCode)) {\n throw new Error('Workroom Run replan reasonCode is invalid');\n }\n assertExactKeys(command, [\n 'version', 'operationId', 'projectId', 'runId', 'expectedSequence', 'action', 'reasonCode',\n ]);\n}\n\n/** Closed transport parser shared by Host and other trusted composition roots. */\nexport function parseWorkroomRunControlCommand(value: unknown): WorkroomRunControlCommand {\n if (!isRecord(value)) throw new Error('Workroom Run control body is invalid');\n const text = (key: string): string => {\n const candidate = value[key];\n if (typeof candidate !== 'string') throw new Error(`Workroom Run control ${key} is invalid`);\n requireText(candidate, `Workroom Run control ${key}`);\n return candidate.trim();\n };\n if (value.version !== 1 || !Number.isSafeInteger(value.expectedSequence)\n || Number(value.expectedSequence) < 0) {\n throw new Error('Workroom Run control version or expectedSequence is invalid');\n }\n const common = {\n version: 1 as const,\n operationId: text('operationId'),\n projectId: text('projectId'),\n runId: text('runId'),\n expectedSequence: Number(value.expectedSequence),\n };\n if (value.action === 'cancel') {\n if (!isWorkroomRunCancelReasonCode(value.reasonCode)\n || !Number.isSafeInteger(value.controlDeadline) || Number(value.controlDeadline) < 0) {\n throw new Error('Workroom Run cancellation scope is invalid');\n }\n assertExactKeys(value, [\n 'version', 'operationId', 'projectId', 'runId', 'expectedSequence',\n 'action', 'reasonCode', 'controlDeadline',\n ]);\n return Object.freeze({\n ...common,\n action: 'cancel',\n reasonCode: value.reasonCode,\n controlDeadline: Number(value.controlDeadline),\n });\n }\n if (value.action !== 'request_replan' || !isWorkroomRunReplanReasonCode(value.reasonCode)) {\n throw new Error('Workroom Run replan scope is invalid');\n }\n assertExactKeys(value, [\n 'version', 'operationId', 'projectId', 'runId', 'expectedSequence', 'action', 'reasonCode',\n ]);\n return Object.freeze({ ...common, action: 'request_replan', reasonCode: value.reasonCode });\n}\n\nexport function workroomRunControlRequestDigest(\n command: WorkroomRunControlCommand,\n authenticatedPrincipalId: string,\n): string {\n assertWorkroomRunControlCommand(command);\n requireText(authenticatedPrincipalId, 'Workroom Run control authenticated principal');\n return digestCanonicalWorkroomValue({ version: 1, command, authenticatedPrincipalId });\n}\n\n/** Current persistent Catalog Sponsor membership is the only standard mutation authority. */\nexport function createCatalogWorkroomRunControlAuthority(\n catalog: Pick<WorkroomCatalog, 'read'>,\n): WorkroomRunControlAuthorityPort {\n return Object.freeze({\n async authorize(\n input: WorkroomRunControlAuthorizationInput,\n ): Promise<WorkroomRunControlAuthorizationDecision> {\n const snapshot = await catalog.read();\n if (input.purpose !== 'commit' && input.purpose !== 'stale_probe'\n || (input.purpose === 'commit') !== (input.command.expectedSequence === input.stateSequence)\n || input.requestDigest !== workroomRunControlRequestDigest(\n input.command,\n input.authenticatedPrincipalId,\n )\n || !/^sha256:[a-f0-9]{64}$/u.test(input.stateDigest)) {\n return Object.freeze({ authorized: false, reason: 'control_scope_not_exact' });\n }\n const definition = snapshot.definitions[input.command.projectId];\n if (!definition || definition.enabled === false) {\n return Object.freeze({ authorized: false, reason: 'project_not_active' });\n }\n if (!definition.sponsors?.includes(input.authenticatedPrincipalId)) {\n return Object.freeze({ authorized: false, reason: 'principal_is_not_project_sponsor' });\n }\n const projectDigest = digestCanonicalWorkroomValue(definition);\n return Object.freeze({\n authorized: true,\n principalId: input.authenticatedPrincipalId,\n catalogRevision: snapshot.revision,\n projectDigest,\n authorizationRef: [\n 'workroom-run-control:v1', snapshot.revision, input.command.projectId,\n projectDigest, input.authenticatedPrincipalId, input.command.action, input.requestDigest,\n ].map(encodeURIComponent).join(':'),\n });\n },\n });\n}\n\nexport function isWorkroomRunCancelReasonCode(value: unknown): value is WorkroomRunCancelReasonCode {\n return value === 'operator_request' || value === 'no_longer_required'\n || value === 'superseded' || value === 'policy_change';\n}\n\nexport function isWorkroomRunReplanReasonCode(value: unknown): value is WorkroomRunReplanReasonCode {\n return value === 'requirements_changed' || value === 'blocker_recovery'\n || value === 'policy_change' || value === 'operator_request';\n}\n\nfunction requireText(value: string, label: string): void {\n if (!value.trim() || value.length > 256) throw new Error(`${label} is invalid`);\n}\n\nfunction assertExactKeys(value: object, expected: readonly string[]): void {\n const actual = Object.keys(value).sort();\n const keys = [...expected].sort();\n if (actual.length !== keys.length || actual.some((key, index) => key !== keys[index])) {\n throw new Error('Workroom Run control keys are invalid');\n }\n}\n\nfunction isRecord(value: unknown): value is Readonly<Record<string, unknown>> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n"]}
@@ -40,4 +40,3 @@ export declare class WorkroomSchedulerApplication {
40
40
  runOnce(runId: string): Promise<WorkroomSchedulerApplicationResult>;
41
41
  recover(): Promise<readonly WorkroomSchedulerApplicationResult[]>;
42
42
  }
43
- //# sourceMappingURL=workroom-scheduler-application.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workroom-scheduler-application.js","sourceRoot":"","sources":["../../src/workroom/workroom-scheduler-application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workroom-scheduler-application.js","sourceRoot":"","sources":["../../src/workroom/workroom-scheduler-application.ts"],"names":[],"mappings":"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","sourcesContent":["import { WorkroomSequenceConflictError, type WorkroomJournal } from './journal/index.js';\nimport {\n decideWorkroomSchedule,\n type WorkroomScheduleDecision,\n} from './workroom-scheduler.js';\nimport { deepFreezeWorkroomValue as deepFreeze } from './canonical-value.js';\nimport type { WorkroomKernel } from './workroom-kernel.js';\n\nexport type WorkroomSchedulerKernelCommitReceipt = Readonly<{\n status: 'committed' | 'duplicate';\n decisionId: string;\n sequence: number;\n}>;\n\n/**\n * Role-scoped Kernel CAS seam. Implementations may validate and append the\n * typed Scheduler event; the Scheduler Application never receives a raw\n * Journal writer and cannot directly mutate Run/Task/Assignment state.\n */\nexport interface WorkroomSchedulerKernelCommandPort {\n commit(\n decision: WorkroomScheduleDecision,\n ): Promise<WorkroomSchedulerKernelCommitReceipt>;\n}\n\nexport function createWorkroomSchedulerKernelCommandPort(\n kernel: Pick<WorkroomKernel, 'commitSchedulerDecision'>,\n): WorkroomSchedulerKernelCommandPort {\n return Object.freeze({\n commit: (decision: WorkroomScheduleDecision) => kernel.commitSchedulerDecision(decision),\n });\n}\n\nexport type WorkroomSchedulerApplicationResult =\n | Readonly<{ status: 'idle'; runId: string }>\n | Readonly<{\n status: 'committed' | 'duplicate';\n runId: string;\n taskKey: string;\n decisionType: WorkroomScheduleDecision['type'];\n expectedSequence: number;\n committedSequence: number;\n decisionId: string;\n }>;\n\nexport interface WorkroomSchedulerApplicationOptions {\n readonly journal: Pick<WorkroomJournal, 'listRunIds' | 'read'>;\n readonly commands: WorkroomSchedulerKernelCommandPort;\n readonly maxCasRetries?: number;\n}\n\n/** Stateless, restart-safe Journal consumer for deterministic Task selection. */\nexport class WorkroomSchedulerApplication {\n readonly #maxCasRetries: number;\n\n constructor(readonly options: WorkroomSchedulerApplicationOptions) {\n this.#maxCasRetries = nonNegativeInteger(options.maxCasRetries ?? 3, 'maxCasRetries');\n }\n\n async runOnce(runId: string): Promise<WorkroomSchedulerApplicationResult> {\n text(runId, 'Workroom Scheduler runId');\n for (let attempt = 0; attempt <= this.#maxCasRetries; attempt += 1) {\n const decision = decideWorkroomSchedule(await this.options.journal.read(runId));\n if (!decision) return deepFreeze({ status: 'idle', runId });\n try {\n const receipt = normalizeReceipt(await this.options.commands.commit(decision), decision);\n return deepFreeze({\n status: receipt.status,\n runId,\n taskKey: decision.type === 'dispatch_task' ? decision.taskKey : decision.reservedTaskKey,\n decisionType: decision.type,\n expectedSequence: decision.expectedSequence,\n committedSequence: receipt.sequence,\n decisionId: decision.decisionId,\n });\n } catch (error) {\n if (!(error instanceof WorkroomSequenceConflictError) || attempt === this.#maxCasRetries) {\n throw error;\n }\n }\n }\n throw new Error('Workroom Scheduler CAS retry loop exhausted');\n }\n\n async recover(): Promise<readonly WorkroomSchedulerApplicationResult[]> {\n const results: WorkroomSchedulerApplicationResult[] = [];\n for (const runId of [...await this.options.journal.listRunIds()].sort()) {\n results.push(await this.runOnce(runId));\n }\n return deepFreeze(results);\n }\n}\n\nfunction normalizeReceipt(\n value: WorkroomSchedulerKernelCommitReceipt,\n decision: WorkroomScheduleDecision,\n): WorkroomSchedulerKernelCommitReceipt {\n if (!value || !['committed', 'duplicate'].includes(value.status)\n || value.decisionId !== decision.decisionId\n || !Number.isSafeInteger(value.sequence)\n || value.sequence < decision.expectedSequence + 1) {\n throw new Error('Workroom Scheduler Kernel command returned an invalid receipt');\n }\n return deepFreeze({ ...value });\n}\n\nfunction text(value: unknown, label: string): string {\n if (typeof value !== 'string' || !value.trim()) throw new Error(`${label} is required`);\n return value;\n}\n\nfunction nonNegativeInteger(value: unknown, label: string): number {\n if (!Number.isSafeInteger(value) || Number(value) < 0) {\n throw new Error(`Workroom Scheduler ${label} must be a non-negative safe integer`);\n }\n return Number(value);\n}\n"]}
@@ -132,4 +132,3 @@ export declare function parseWorkroomPriorityChangeProposal(value: unknown): Wor
132
132
  export declare function getWorkroomScheduledTaskSnapshot(events: readonly WorkroomEvent[], taskKey: string): WorkroomScheduledTaskSnapshot;
133
133
  export declare function getWorkroomScheduledTaskCapacitySnapshot(events: readonly WorkroomEvent[], taskKey: string): WorkroomScheduledTaskCapacitySnapshot;
134
134
  export {};
135
- //# sourceMappingURL=workroom-scheduler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workroom-scheduler.js","sourceRoot":"","sources":["../../src/workroom/workroom-scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workroom-scheduler.js","sourceRoot":"","sources":["../../src/workroom/workroom-scheduler.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n canonicalWorkroomJson,\n compareCanonicalWorkroomText,\n deepFreezeWorkroomValue as deepFreeze,\n digestCanonicalWorkroomValue,\n} from './canonical-value.js';\nimport type { WorkroomEvent } from './kernel-contracts.js';\n\nexport type WorkroomSponsorLane = 'urgent' | 'high' | 'normal' | 'low';\nexport type WorkroomTaskPreemptibility = 'checkpointable' | 'atomic';\n\nexport interface WorkroomSchedulerPolicySnapshotInput {\n readonly policyRef: string;\n readonly revision: number;\n readonly pinnedAtSequence: number;\n readonly capacity: number;\n readonly agingStepMs: number;\n readonly starvationBoundMs: Readonly<Record<WorkroomSponsorLane, number>>;\n readonly preemptionDeadlineMs: number;\n}\n\nexport interface WorkroomSchedulerPolicySnapshot\nextends WorkroomSchedulerPolicySnapshotInput {\n readonly version: 1;\n readonly comparatorVersion: 1;\n readonly digest: string;\n}\n\nexport interface WorkroomDispatchTaskDecision {\n readonly version: 1;\n readonly type: 'dispatch_task';\n readonly decisionId: string;\n readonly digest: string;\n readonly projectId: string;\n readonly runId: string;\n readonly expectedSequence: number;\n readonly taskKey: string;\n readonly taskRevision: number;\n readonly role: string;\n readonly sponsorLane: WorkroomSponsorLane;\n readonly reason: 'scheduler_order' | 'starvation_bound' | 'preemption_reservation';\n readonly policy: Readonly<{\n ref: string;\n revision: number;\n digest: string;\n }>;\n}\n\nexport interface WorkroomPreemptionPrepareDecision {\n readonly version: 1;\n readonly type: 'prepare_preemption';\n readonly decisionId: string;\n readonly digest: string;\n readonly projectId: string;\n readonly runId: string;\n readonly expectedSequence: number;\n readonly victimTaskKey: string;\n readonly victimTaskRevision: number;\n readonly reservedTaskKey: string;\n readonly reservedTaskRevision: number;\n readonly assignmentId: string;\n readonly assignmentAttempt: number;\n readonly assignmentFence: number;\n readonly assignmentEnvelopeDigest: string;\n readonly owner: string;\n readonly requestedAt: number;\n readonly deadline: number;\n readonly takeoverFence: number;\n readonly reason: 'higher_priority' | 'starvation_bound';\n readonly allowedSuccessors: readonly ['replan', 'cancel_run'];\n readonly policy: Readonly<{ ref: string; revision: number; digest: string }>;\n}\n\nexport type WorkroomScheduleDecision = WorkroomDispatchTaskDecision | WorkroomPreemptionPrepareDecision;\n\nexport function parseWorkroomDispatchTaskDecision(value: unknown): WorkroomDispatchTaskDecision {\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n throw new Error('Workroom Scheduler dispatch decision shape is invalid');\n }\n const input = value as Partial<WorkroomDispatchTaskDecision>;\n const actualKeys = Object.keys(input).sort();\n const expectedKeys = [\n 'decisionId', 'digest', 'expectedSequence', 'policy', 'projectId', 'reason',\n 'role', 'runId', 'sponsorLane', 'taskKey', 'taskRevision', 'type', 'version',\n ].sort();\n if (actualKeys.length !== expectedKeys.length\n || actualKeys.some((key, index) => key !== expectedKeys[index])) {\n throw new Error('Workroom Scheduler dispatch decision keys are invalid');\n }\n if (input.version !== 1 || input.type !== 'dispatch_task') {\n throw new Error('Workroom Scheduler dispatch decision version/type is invalid');\n }\n const body = deepFreeze({\n version: 1 as const,\n type: 'dispatch_task' as const,\n projectId: text(input.projectId, 'Scheduler decision projectId'),\n runId: text(input.runId, 'Scheduler decision runId'),\n expectedSequence: nonNegativeInteger(input.expectedSequence, 'Scheduler decision expectedSequence'),\n taskKey: text(input.taskKey, 'Scheduler decision taskKey'),\n taskRevision: positiveInteger(input.taskRevision, 'Scheduler decision taskRevision'),\n role: text(input.role, 'Scheduler decision role'),\n sponsorLane: lane(input.sponsorLane),\n reason: schedulerReason(input.reason),\n policy: {\n ref: text(input.policy?.ref, 'Scheduler decision policy ref'),\n revision: positiveInteger(input.policy?.revision, 'Scheduler decision policy revision'),\n digest: canonicalDigest(input.policy?.digest, 'Scheduler decision policy digest'),\n },\n });\n const digest = digestCanonicalWorkroomValue(body);\n const expectedId = `scheduler:${digest.slice('sha256:'.length)}`;\n if (input.digest !== digest || input.decisionId !== expectedId) {\n throw new Error('Workroom Scheduler dispatch decision digest/identity is invalid');\n }\n return deepFreeze({ ...body, digest, decisionId: expectedId });\n}\n\nexport function parseWorkroomPreemptionPrepareDecision(value: unknown): WorkroomPreemptionPrepareDecision {\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n throw new Error('Workroom preemption prepare decision shape is invalid');\n }\n const input = value as Partial<WorkroomPreemptionPrepareDecision>;\n const actualKeys = Object.keys(input).sort();\n const expectedKeys = [\n 'allowedSuccessors', 'assignmentAttempt', 'assignmentEnvelopeDigest', 'assignmentFence',\n 'assignmentId', 'deadline', 'decisionId', 'digest', 'expectedSequence', 'owner', 'policy',\n 'projectId', 'reason', 'requestedAt', 'reservedTaskKey', 'reservedTaskRevision', 'runId',\n 'takeoverFence', 'type', 'version', 'victimTaskKey', 'victimTaskRevision',\n ].sort();\n if (actualKeys.length !== expectedKeys.length\n || actualKeys.some((key, index) => key !== expectedKeys[index])) {\n throw new Error('Workroom preemption prepare decision keys are invalid');\n }\n const body = deepFreeze({\n version: 1 as const,\n type: 'prepare_preemption' as const,\n projectId: text(input.projectId, 'Preemption projectId'),\n runId: text(input.runId, 'Preemption runId'),\n expectedSequence: nonNegativeInteger(input.expectedSequence, 'Preemption expectedSequence'),\n victimTaskKey: text(input.victimTaskKey, 'Preemption victimTaskKey'),\n victimTaskRevision: positiveInteger(input.victimTaskRevision, 'Preemption victimTaskRevision'),\n reservedTaskKey: text(input.reservedTaskKey, 'Preemption reservedTaskKey'),\n reservedTaskRevision: positiveInteger(input.reservedTaskRevision, 'Preemption reservedTaskRevision'),\n assignmentId: text(input.assignmentId, 'Preemption assignmentId'),\n assignmentAttempt: positiveInteger(input.assignmentAttempt, 'Preemption assignmentAttempt'),\n assignmentFence: positiveInteger(input.assignmentFence, 'Preemption assignmentFence'),\n assignmentEnvelopeDigest: canonicalDigest(input.assignmentEnvelopeDigest, 'Preemption Envelope digest'),\n owner: text(input.owner, 'Preemption owner'),\n requestedAt: finiteTime(input.requestedAt, 'Preemption requestedAt'),\n deadline: finiteTime(input.deadline, 'Preemption deadline'),\n takeoverFence: positiveInteger(input.takeoverFence, 'Preemption takeoverFence'),\n reason: preemptionReason(input.reason),\n allowedSuccessors: ['replan', 'cancel_run'] as const,\n policy: {\n ref: text(input.policy?.ref, 'Preemption policy ref'),\n revision: positiveInteger(input.policy?.revision, 'Preemption policy revision'),\n digest: canonicalDigest(input.policy?.digest, 'Preemption policy digest'),\n },\n });\n if (body.deadline <= body.requestedAt || body.takeoverFence !== body.assignmentFence + 1\n || canonicalWorkroomJson(input.allowedSuccessors) !== canonicalWorkroomJson(body.allowedSuccessors)) {\n throw new Error('Workroom preemption deadline/fence/successors are invalid');\n }\n const digest = digestCanonicalWorkroomValue(body);\n const decisionId = `scheduler-preemption:${digest.slice('sha256:'.length)}`;\n if (input.digest !== digest || input.decisionId !== decisionId) {\n throw new Error('Workroom preemption prepare decision digest/identity is invalid');\n }\n return deepFreeze({ ...body, digest, decisionId });\n}\n\nexport interface WorkroomPriorityChangeProposalInput {\n readonly projectId: string;\n readonly runId: string;\n readonly taskKey: string;\n readonly taskRevision: number;\n readonly expectedSequence: number;\n readonly currentLane: WorkroomSponsorLane;\n readonly requestedLane: WorkroomSponsorLane;\n readonly localRank: number;\n readonly principalId: string;\n readonly authority: 'sponsor' | 'orchestrator';\n readonly authorityRef: string;\n readonly deadline: number;\n}\n\nexport interface WorkroomPriorityChangeProposal\nextends WorkroomPriorityChangeProposalInput {\n readonly version: 1;\n readonly type: 'priority_change';\n readonly owner: string;\n readonly allowedSuccessors: readonly ['restore', 'rebase', 'cancel_run'];\n readonly proposalId: string;\n readonly digest: string;\n}\n\nexport interface WorkroomScheduledTaskSnapshot {\n readonly taskRevision: number;\n readonly sponsorLane: WorkroomSponsorLane;\n readonly localRank: number;\n}\n\n/** Content-free Kernel facts required to project one Portfolio Capacity Request. */\nexport interface WorkroomScheduledTaskCapacitySnapshot {\n readonly taskKey: string;\n readonly taskRevision: number;\n readonly role: string;\n readonly preemptibility: WorkroomTaskPreemptibility;\n readonly status: ScheduledTaskProjection['status'];\n}\n\ninterface ScheduledTaskProjection {\n readonly key: string;\n readonly revision: number;\n readonly role: string;\n readonly sponsorLane: WorkroomSponsorLane;\n readonly localRank: number;\n readonly deadline?: number;\n readonly enqueuedAt: number;\n readonly enqueueSequence: number;\n readonly dependsOn: readonly string[];\n readonly preemptibility: WorkroomTaskPreemptibility;\n readonly status: 'ready' | 'blocked' | 'executing' | 'awaiting_acceptance' | 'accepted' | 'failed' | 'cancelled';\n readonly blockers: ReadonlyMap<string, Readonly<{ owner: string; deadline: number; allowedSuccessors: readonly string[] }>>;\n}\n\ninterface SchedulerProjection {\n readonly runId: string;\n readonly projectId: string;\n readonly sequence: number;\n readonly now: number;\n readonly cancelRequested: boolean;\n readonly replanRequested: boolean;\n readonly policy: WorkroomSchedulerPolicySnapshot;\n readonly tasks: ReadonlyMap<string, ScheduledTaskProjection>;\n readonly activeAssignments: ReadonlyMap<string, Readonly<{\n taskKey: string; status: string; attempt: number; fence: number; envelopeDigest: string; owner: string;\n }>>;\n readonly pendingDispatches: ReadonlySet<string>;\n readonly reservedTaskKey?: string;\n readonly pendingPreemptionDecisionId?: string;\n}\n\nconst LANE_ORDER: Readonly<Record<WorkroomSponsorLane, number>> = Object.freeze({\n urgent: 0,\n high: 1,\n normal: 2,\n low: 3,\n});\n\nexport function createWorkroomSchedulerPolicySnapshot(\n input: WorkroomSchedulerPolicySnapshotInput,\n): WorkroomSchedulerPolicySnapshot {\n text(input.policyRef, 'Scheduler policyRef');\n positiveInteger(input.revision, 'Scheduler policy revision');\n nonNegativeInteger(input.pinnedAtSequence, 'Scheduler policy pinnedAtSequence');\n positiveInteger(input.capacity, 'Scheduler capacity');\n positiveInteger(input.agingStepMs, 'Scheduler agingStepMs');\n positiveInteger(input.preemptionDeadlineMs, 'Scheduler preemptionDeadlineMs');\n const starvationBoundMs = deepFreeze({\n urgent: positiveInteger(input.starvationBoundMs?.urgent, 'Scheduler urgent starvation bound'),\n high: positiveInteger(input.starvationBoundMs?.high, 'Scheduler high starvation bound'),\n normal: positiveInteger(input.starvationBoundMs?.normal, 'Scheduler normal starvation bound'),\n low: positiveInteger(input.starvationBoundMs?.low, 'Scheduler low starvation bound'),\n });\n const body = deepFreeze({\n version: 1 as const,\n comparatorVersion: 1 as const,\n policyRef: input.policyRef,\n revision: input.revision,\n pinnedAtSequence: input.pinnedAtSequence,\n capacity: input.capacity,\n agingStepMs: input.agingStepMs,\n starvationBoundMs,\n preemptionDeadlineMs: input.preemptionDeadlineMs,\n });\n return deepFreeze({ ...body, digest: digestCanonicalWorkroomValue(body) });\n}\n\nexport function assertWorkroomSchedulerPolicySnapshot(\n value: WorkroomSchedulerPolicySnapshot,\n pinnedAtSequence?: number,\n): void {\n if (!value || value.version !== 1 || value.comparatorVersion !== 1) {\n throw new Error('Workroom Scheduler Policy Snapshot shape is invalid');\n }\n const rebuilt = createWorkroomSchedulerPolicySnapshot(value);\n if (rebuilt.digest !== value.digest) {\n throw new Error('Workroom Scheduler Policy Snapshot digest does not match its canonical body');\n }\n if (pinnedAtSequence !== undefined && value.pinnedAtSequence !== pinnedAtSequence) {\n throw new Error('Workroom Scheduler Policy Snapshot is pinned at another Journal sequence');\n }\n}\n\n/** Pure `Journal facts + pinned policy -> one typed decision` boundary. */\nexport function decideWorkroomSchedule(\n events: readonly WorkroomEvent[],\n): WorkroomScheduleDecision | null {\n const state = projectScheduler(events);\n if (state.cancelRequested || state.replanRequested) return null;\n assertWaitRecoveryMetadata(state.tasks);\n const used = state.activeAssignments.size + state.pendingDispatches.size;\n const candidates = [...state.tasks.values()].filter(task =>\n task.status === 'ready'\n && !state.pendingDispatches.has(task.key)\n && task.dependsOn.every(key => state.tasks.get(key)?.status === 'accepted'));\n const selected = candidates.sort((left, right) => compareTasks(state, left, right))[0];\n if (!selected) return null;\n if (used >= state.policy.capacity) {\n if (state.pendingPreemptionDecisionId) return null;\n const incomingStarved = isStarved(state, selected);\n const victims = [...state.activeAssignments.entries()].flatMap(([assignmentId, assignment]) => {\n const task = state.tasks.get(assignment.taskKey);\n if (!task || assignment.status !== 'running' || task.preemptibility !== 'checkpointable') return [];\n if (!incomingStarved && LANE_ORDER[selected.sponsorLane] >= LANE_ORDER[task.sponsorLane]) return [];\n return [{ assignmentId, assignment, task }];\n }).sort((left, right) => {\n const laneOrder = LANE_ORDER[right.task.sponsorLane] - LANE_ORDER[left.task.sponsorLane];\n if (laneOrder !== 0) return laneOrder;\n return compareCanonicalWorkroomText(left.task.key, right.task.key);\n });\n const victim = victims[0];\n if (!victim) return null;\n const body = deepFreeze({\n version: 1 as const,\n type: 'prepare_preemption' as const,\n projectId: state.projectId,\n runId: state.runId,\n expectedSequence: state.sequence,\n victimTaskKey: victim.task.key,\n victimTaskRevision: victim.task.revision,\n reservedTaskKey: selected.key,\n reservedTaskRevision: selected.revision,\n assignmentId: victim.assignmentId,\n assignmentAttempt: victim.assignment.attempt,\n assignmentFence: victim.assignment.fence,\n assignmentEnvelopeDigest: victim.assignment.envelopeDigest,\n owner: victim.assignment.owner,\n requestedAt: state.now,\n deadline: state.now + state.policy.preemptionDeadlineMs,\n takeoverFence: victim.assignment.fence + 1,\n reason: incomingStarved ? 'starvation_bound' as const : 'higher_priority' as const,\n allowedSuccessors: ['replan', 'cancel_run'] as const,\n policy: {\n ref: state.policy.policyRef,\n revision: state.policy.revision,\n digest: state.policy.digest,\n },\n });\n const digest = digestCanonicalWorkroomValue(body);\n return deepFreeze({\n ...body,\n decisionId: `scheduler-preemption:${digest.slice('sha256:'.length)}`,\n digest,\n });\n }\n const reason = state.reservedTaskKey === selected.key\n ? 'preemption_reservation' as const\n : isStarved(state, selected) ? 'starvation_bound' as const : 'scheduler_order' as const;\n const body = deepFreeze({\n version: 1 as const,\n type: 'dispatch_task' as const,\n projectId: state.projectId,\n runId: state.runId,\n expectedSequence: state.sequence,\n taskKey: selected.key,\n taskRevision: selected.revision,\n role: selected.role,\n sponsorLane: selected.sponsorLane,\n reason,\n policy: {\n ref: state.policy.policyRef,\n revision: state.policy.revision,\n digest: state.policy.digest,\n },\n });\n const digest = digestCanonicalWorkroomValue(body);\n return deepFreeze({\n ...body,\n decisionId: `scheduler:${digest.slice('sha256:'.length)}`,\n digest,\n });\n}\n\n/**\n * Creates a typed proposal only. The Sponsor/Orchestrator principal and\n * authorityRef must be injected by a trusted role-scoped command port before\n * a Kernel CAS adapter may persist it.\n */\nexport function proposeWorkroomPriorityChange(\n input: WorkroomPriorityChangeProposalInput,\n): WorkroomPriorityChangeProposal {\n for (const [value, label] of [\n [input.projectId, 'projectId'], [input.runId, 'runId'], [input.taskKey, 'taskKey'],\n [input.principalId, 'principalId'], [input.authorityRef, 'authorityRef'],\n ] as const) text(value, `Priority change ${label}`);\n positiveInteger(input.taskRevision, 'Priority change taskRevision');\n nonNegativeInteger(input.expectedSequence, 'Priority change expectedSequence');\n nonNegativeInteger(input.localRank, 'Priority change localRank');\n finiteTime(input.deadline, 'Priority change deadline');\n lane(input.currentLane);\n lane(input.requestedLane);\n if (input.authority === 'orchestrator' && input.requestedLane !== input.currentLane) {\n throw new Error('Orchestrator cannot move a Task across Sponsor lanes');\n }\n const body = deepFreeze({\n version: 1 as const,\n type: 'priority_change' as const,\n ...structuredClone(input),\n owner: input.principalId,\n allowedSuccessors: ['restore', 'rebase', 'cancel_run'] as const,\n });\n const digest = digestCanonicalWorkroomValue(body);\n return deepFreeze({\n ...body,\n proposalId: `scheduler-priority:${digest.slice('sha256:'.length)}`,\n digest,\n });\n}\n\nexport function parseWorkroomPriorityChangeProposal(value: unknown): WorkroomPriorityChangeProposal {\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n throw new Error('Workroom priority change proposal shape is invalid');\n }\n const input = value as WorkroomPriorityChangeProposal;\n const rebuilt = proposeWorkroomPriorityChange({\n projectId: input.projectId,\n runId: input.runId,\n taskKey: input.taskKey,\n taskRevision: input.taskRevision,\n expectedSequence: input.expectedSequence,\n currentLane: input.currentLane,\n requestedLane: input.requestedLane,\n localRank: input.localRank,\n principalId: input.principalId,\n authority: input.authority,\n authorityRef: input.authorityRef,\n deadline: input.deadline,\n });\n if (canonicalWorkroomJson(rebuilt) !== canonicalWorkroomJson(input)) {\n throw new Error('Workroom priority change proposal is not canonical');\n }\n return rebuilt;\n}\n\nexport function getWorkroomScheduledTaskSnapshot(\n events: readonly WorkroomEvent[],\n taskKey: string,\n): WorkroomScheduledTaskSnapshot {\n const task = projectScheduler(events).tasks.get(text(taskKey, 'Scheduled Task key'));\n if (!task) throw new Error(`Scheduled Task ${taskKey} not found`);\n return deepFreeze({\n taskRevision: task.revision,\n sponsorLane: task.sponsorLane,\n localRank: task.localRank,\n });\n}\n\nexport function getWorkroomScheduledTaskCapacitySnapshot(\n events: readonly WorkroomEvent[],\n taskKey: string,\n): WorkroomScheduledTaskCapacitySnapshot {\n const task = projectScheduler(events).tasks.get(text(taskKey, 'Scheduled Task key'));\n if (!task) throw new Error(`Scheduled Task ${taskKey} not found`);\n return deepFreeze({\n taskKey: task.key,\n taskRevision: task.revision,\n role: task.role,\n preemptibility: task.preemptibility,\n status: task.status,\n });\n}\n\nfunction projectScheduler(events: readonly WorkroomEvent[]): SchedulerProjection {\n const created = events[0];\n if (!created || created.sequence !== 0 || created.type !== 'run.created') {\n throw new Error('Workroom Scheduler requires a Run Journal beginning at sequence 0');\n }\n const tasks = new Map<string, ScheduledTaskProjection>();\n const activeAssignments = new Map<string, {\n taskKey: string; status: string; attempt: number; fence: number; envelopeDigest: string; owner: string;\n }>();\n const pendingDispatches = new Set<string>();\n let policy: WorkroomSchedulerPolicySnapshot | undefined;\n let now = created.occurredAt;\n let cancelRequested = false;\n let replanRequested = false;\n let reservedTaskKey: string | undefined;\n let pendingPreemptionDecisionId: string | undefined;\n for (const [index, event] of events.entries()) {\n if (event.runId !== created.runId || event.sequence !== index) {\n throw new Error('Workroom Scheduler Journal scope/sequence is not contiguous');\n }\n now = event.type === 'clock.advanced'\n ? finiteTime(event.payload.now, 'Scheduler clock')\n : Math.max(now, finiteTime(event.occurredAt, 'Scheduler event time'));\n switch (event.type as string) {\n case 'plan.admitted': {\n if (policy) throw new Error('Workroom Scheduler Policy Snapshot is duplicated');\n const plan = event.payload.plan && typeof event.payload.plan === 'object'\n ? event.payload.plan as Readonly<Record<string, unknown>>\n : undefined;\n const candidate = (event.payload.schedulerPolicy ?? plan?.schedulerPolicy) as WorkroomSchedulerPolicySnapshot | undefined;\n if (!candidate) throw new Error('Workroom Scheduler Policy Snapshot is not pinned');\n assertWorkroomSchedulerPolicySnapshot(candidate, event.sequence);\n policy = candidate;\n break;\n }\n case 'run.cancel_requested':\n case 'run.cancelled': cancelRequested = true; break;\n case 'run.replan_requested': replanRequested = true; break;\n case 'plan.revision_applied': replanRequested = false; break;\n case 'task.planned': {\n const key = text(event.payload.taskKey, 'Scheduled Task key');\n if (tasks.has(key)) throw new Error(`Scheduled Task ${key} is duplicated`);\n tasks.set(key, Object.freeze({\n key,\n revision: 1,\n role: text(event.payload.role, `Scheduled Task ${key} role`),\n sponsorLane: lane(event.payload.sponsorLane),\n localRank: nonNegativeInteger(event.payload.localRank, `Scheduled Task ${key} localRank`),\n ...(event.payload.deadline === undefined\n ? {}\n : { deadline: finiteTime(event.payload.deadline, `Scheduled Task ${key} deadline`) }),\n enqueuedAt: finiteTime(event.payload.enqueuedAt, `Scheduled Task ${key} enqueuedAt`),\n enqueueSequence: event.sequence,\n dependsOn: stringList(event.payload.dependsOn, `Scheduled Task ${key} dependsOn`),\n preemptibility: preemptibility(event.payload.preemptibility),\n status: 'ready',\n blockers: new Map(),\n }));\n break;\n }\n case 'task.blocked': {\n const task = requireTask(tasks, event.payload.taskKey);\n const blockers = new Map(task.blockers);\n blockers.set(text(event.payload.blockerId, 'Task Blocker id'), Object.freeze({\n owner: typeof event.payload.owner === 'string' ? event.payload.owner : '',\n deadline: typeof event.payload.deadline === 'number' ? event.payload.deadline : Number.NaN,\n allowedSuccessors: Array.isArray(event.payload.allowedActions)\n ? event.payload.allowedActions.map(String)\n : ['resolve', 'replan', 'cancel'],\n }));\n tasks.set(task.key, Object.freeze({ ...task, status: 'blocked', blockers }));\n break;\n }\n case 'task.blocker_resolved': {\n const task = requireTask(tasks, event.payload.taskKey);\n const blockers = new Map(task.blockers);\n blockers.delete(String(event.payload.blockerId));\n tasks.set(task.key, Object.freeze({\n ...task,\n status: blockers.size === 0 ? 'ready' : 'blocked',\n enqueuedAt: blockers.size === 0 ? event.occurredAt : task.enqueuedAt,\n enqueueSequence: blockers.size === 0 ? event.sequence : task.enqueueSequence,\n blockers,\n }));\n break;\n }\n case 'assignment.claimed': {\n const assignmentId = text(event.payload.assignmentId, 'Assignment id');\n const task = requireTask(tasks, event.payload.taskKey);\n activeAssignments.set(assignmentId, {\n taskKey: task.key,\n status: 'leased',\n attempt: positiveInteger(event.payload.attempt, 'Assignment attempt'),\n fence: positiveInteger(event.payload.fence, 'Assignment fence'),\n envelopeDigest: canonicalDigest(event.payload.envelopeDigest, 'Assignment Envelope digest'),\n owner: text(event.payload.owner, 'Assignment owner'),\n });\n pendingDispatches.delete(task.key);\n tasks.set(task.key, Object.freeze({ ...task, status: 'executing' }));\n break;\n }\n case 'assignment.started': {\n const assignment = activeAssignments.get(String(event.payload.assignmentId));\n if (assignment) activeAssignments.set(String(event.payload.assignmentId), { ...assignment, status: 'running' });\n break;\n }\n case 'assignment.execution_completed': {\n const assignment = activeAssignments.get(String(event.payload.assignmentId));\n if (assignment) {\n activeAssignments.delete(String(event.payload.assignmentId));\n const task = requireTask(tasks, assignment.taskKey);\n tasks.set(task.key, Object.freeze({ ...task, status: 'awaiting_acceptance' }));\n }\n break;\n }\n case 'assignment.cancelled':\n case 'assignment.preempted':\n case 'assignment.lease_expired': {\n const assignment = activeAssignments.get(String(event.payload.assignmentId));\n if (assignment) {\n activeAssignments.delete(String(event.payload.assignmentId));\n const task = requireTask(tasks, assignment.taskKey);\n tasks.set(task.key, Object.freeze({\n ...task, status: 'ready', enqueuedAt: event.occurredAt, enqueueSequence: event.sequence,\n }));\n }\n break;\n }\n case 'task.accepted': setTaskStatus(tasks, event.payload.taskKey, 'accepted'); break;\n case 'task.failed': setTaskStatus(tasks, event.payload.taskKey, 'failed'); break;\n case 'task.cancelled': setTaskStatus(tasks, event.payload.taskKey, 'cancelled'); break;\n case 'task.rework_requested':\n case 'task.revised': {\n const task = requireTask(tasks, event.payload.taskKey);\n tasks.set(task.key, Object.freeze({\n ...task,\n revision: task.revision + 1,\n status: 'ready',\n enqueuedAt: event.occurredAt,\n enqueueSequence: event.sequence,\n }));\n break;\n }\n case 'task.plan_revised': {\n const task = requireTask(tasks, event.payload.taskKey);\n if (Number(event.payload.expectedTaskRevision) !== task.revision\n || Number(event.payload.newTaskRevision) !== task.revision + 1) {\n throw new Error('Persisted Plan Revision targets another Task revision');\n }\n tasks.set(task.key, Object.freeze({\n ...task,\n revision: task.revision + 1,\n role: text(event.payload.role, `Scheduled Task ${task.key} role`),\n sponsorLane: lane(event.payload.sponsorLane),\n localRank: nonNegativeInteger(event.payload.localRank, `Scheduled Task ${task.key} localRank`),\n deadline: finiteTime(event.payload.deadline, `Scheduled Task ${task.key} deadline`),\n enqueuedAt: finiteTime(event.payload.enqueuedAt, `Scheduled Task ${task.key} enqueuedAt`),\n enqueueSequence: event.sequence,\n dependsOn: stringList(event.payload.dependsOn, `Scheduled Task ${task.key} dependsOn`),\n preemptibility: preemptibility(event.payload.preemptibility),\n status: 'ready',\n blockers: new Map(),\n }));\n break;\n }\n case 'scheduler.priority_changed': {\n if (finiteTime(event.payload.deadline, 'Persisted priority deadline') <= now) {\n throw new Error('Workroom priority proposal is expired');\n }\n const task = requireTask(tasks, event.payload.taskKey);\n if (Number(event.payload.taskRevision) !== task.revision) {\n throw new Error('Persisted Workroom priority change targets another Task revision');\n }\n tasks.set(task.key, Object.freeze({\n ...task,\n sponsorLane: lane(event.payload.requestedLane),\n localRank: nonNegativeInteger(event.payload.localRank, 'Persisted priority localRank'),\n }));\n break;\n }\n case 'scheduler.dispatch_requested':\n pendingDispatches.add(text(event.payload.taskKey, 'Scheduler dispatch Task key'));\n break;\n case 'scheduler.preemption_requested':\n reservedTaskKey = text(event.payload.reservedTaskKey, 'Scheduler reserved Task key');\n pendingPreemptionDecisionId = text(event.payload.decisionId, 'Scheduler preemption decision id');\n break;\n case 'scheduler.preemption_checkpoint_acknowledged':\n if (event.payload.decisionId === pendingPreemptionDecisionId) {\n pendingPreemptionDecisionId = undefined;\n }\n break;\n case 'scheduler.preemption_timed_out':\n if (event.payload.decisionId === pendingPreemptionDecisionId) {\n pendingPreemptionDecisionId = undefined;\n reservedTaskKey = undefined;\n }\n break;\n }\n }\n if (!policy) throw new Error('Workroom Scheduler Policy Snapshot is not pinned');\n return Object.freeze({\n runId: created.runId,\n projectId: text(created.payload.projectId, 'Workroom Project id'),\n sequence: events.at(-1)!.sequence,\n now,\n cancelRequested,\n replanRequested,\n policy,\n tasks,\n activeAssignments,\n pendingDispatches,\n ...(reservedTaskKey === undefined ? {} : { reservedTaskKey }),\n ...(pendingPreemptionDecisionId === undefined ? {} : { pendingPreemptionDecisionId }),\n });\n}\n\nfunction compareTasks(\n state: SchedulerProjection,\n left: ScheduledTaskProjection,\n right: ScheduledTaskProjection,\n): number {\n const leftReserved = left.key === state.reservedTaskKey;\n const rightReserved = right.key === state.reservedTaskKey;\n if (leftReserved !== rightReserved) return leftReserved ? -1 : 1;\n const leftStarved = isStarved(state, left);\n const rightStarved = isStarved(state, right);\n if (leftStarved !== rightStarved) return leftStarved ? -1 : 1;\n if (leftStarved && rightStarved) {\n const leftAt = left.enqueuedAt + state.policy.starvationBoundMs[left.sponsorLane];\n const rightAt = right.enqueuedAt + state.policy.starvationBoundMs[right.sponsorLane];\n if (leftAt !== rightAt) return leftAt - rightAt;\n }\n const laneOrder = LANE_ORDER[left.sponsorLane] - LANE_ORDER[right.sponsorLane];\n if (laneOrder !== 0) return laneOrder;\n const leftDeadline = left.deadline ?? Number.POSITIVE_INFINITY;\n const rightDeadline = right.deadline ?? Number.POSITIVE_INFINITY;\n if (leftDeadline !== rightDeadline) return leftDeadline - rightDeadline;\n const rank = effectiveRank(state, right) - effectiveRank(state, left);\n if (rank !== 0) return rank;\n if (left.enqueueSequence !== right.enqueueSequence) {\n return left.enqueueSequence - right.enqueueSequence;\n }\n return compareCanonicalWorkroomText(left.key, right.key);\n}\n\nfunction effectiveRank(state: SchedulerProjection, task: ScheduledTaskProjection): number {\n return task.localRank + Math.floor(Math.max(0, state.now - task.enqueuedAt) / state.policy.agingStepMs);\n}\n\nfunction isStarved(state: SchedulerProjection, task: ScheduledTaskProjection): boolean {\n return state.now - task.enqueuedAt >= state.policy.starvationBoundMs[task.sponsorLane];\n}\n\nfunction assertWaitRecoveryMetadata(tasks: ReadonlyMap<string, ScheduledTaskProjection>): void {\n for (const task of tasks.values()) {\n for (const blocker of task.blockers.values()) {\n if (!blocker.owner.trim() || !Number.isFinite(blocker.deadline) || blocker.deadline < 0\n || blocker.allowedSuccessors.length === 0\n || !blocker.allowedSuccessors.includes('cancel')) {\n throw new Error('Workroom wait requires owner, deadline and allowed successors including cancel');\n }\n }\n }\n}\n\nfunction setTaskStatus(\n tasks: Map<string, ScheduledTaskProjection>,\n key: unknown,\n status: ScheduledTaskProjection['status'],\n): void {\n const task = requireTask(tasks, key);\n tasks.set(task.key, Object.freeze({ ...task, status }));\n}\n\nfunction requireTask(\n tasks: ReadonlyMap<string, ScheduledTaskProjection>,\n key: unknown,\n): ScheduledTaskProjection {\n const id = text(key, 'Scheduled Task key');\n const task = tasks.get(id);\n if (!task) throw new Error(`Scheduled Task ${id} is absent from the admitted Plan`);\n return task;\n}\n\nfunction lane(value: unknown): WorkroomSponsorLane {\n if (!['urgent', 'high', 'normal', 'low'].includes(String(value))) {\n throw new Error('Workroom Sponsor lane is invalid');\n }\n return value as WorkroomSponsorLane;\n}\n\nfunction preemptibility(value: unknown): WorkroomTaskPreemptibility {\n if (value !== 'checkpointable' && value !== 'atomic') {\n throw new Error('Workroom Task preemptibility is invalid');\n }\n return value;\n}\n\nfunction schedulerReason(value: unknown): WorkroomDispatchTaskDecision['reason'] {\n if (!['scheduler_order', 'starvation_bound', 'preemption_reservation'].includes(String(value))) {\n throw new Error('Workroom Scheduler dispatch reason is invalid');\n }\n return value as WorkroomDispatchTaskDecision['reason'];\n}\n\nfunction preemptionReason(value: unknown): WorkroomPreemptionPrepareDecision['reason'] {\n if (value !== 'higher_priority' && value !== 'starvation_bound') {\n throw new Error('Workroom preemption reason is invalid');\n }\n return value;\n}\n\nfunction canonicalDigest(value: unknown, label: string): string {\n if (typeof value !== 'string' || !/^sha256:[a-f0-9]{64}$/u.test(value)) {\n throw new Error(`${label} must be a canonical SHA-256 digest`);\n }\n return value;\n}\n\nfunction text(value: unknown, label: string): string {\n if (typeof value !== 'string' || !value.trim() || value !== value.trim()) {\n throw new Error(`${label} is required`);\n }\n return value;\n}\n\nfunction stringList(value: unknown, label: string): readonly string[] {\n if (!Array.isArray(value) || value.some(item => typeof item !== 'string' || !item.trim())) {\n throw new Error(`${label} must be a string list`);\n }\n return Object.freeze([...new Set(value)].sort());\n}\n\nfunction positiveInteger(value: unknown, label: string): number {\n if (!Number.isSafeInteger(value) || Number(value) < 1) throw new Error(`${label} must be a positive safe integer`);\n return Number(value);\n}\n\nfunction nonNegativeInteger(value: unknown, label: string): number {\n if (!Number.isSafeInteger(value) || Number(value) < 0) throw new Error(`${label} must be a non-negative safe integer`);\n return Number(value);\n}\n\nfunction finiteTime(value: unknown, label: string): number {\n if (typeof value !== 'number' || !Number.isFinite(value) || value < 0) {\n throw new Error(`${label} must be a non-negative finite timestamp`);\n }\n return value;\n}\n"]}
@@ -128,4 +128,3 @@ export declare class FileWorkroomTaskReportStore implements WorkroomTaskReportSt
128
128
  }>>;
129
129
  read(input: WorkroomAcceptedReportReadInput): Promise<PersistedWorkroomStructuredTaskReport | undefined>;
130
130
  }
131
- //# sourceMappingURL=workroom-task-report-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workroom-task-report-store.js","sourceRoot":"","sources":["../../src/workroom/workroom-task-report-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workroom-task-report-store.js","sourceRoot":"","sources":["../../src/workroom/workroom-task-report-store.ts"],"names":[],"mappings":"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","sourcesContent":["import { readFile, readdir } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport type {\n WorkroomAcceptedReportReadInput,\n WorkroomAcceptedReportReader,\n} from './accepted-source-memory-application.js';\nimport type {\n WorkroomStructuredReportClaim,\n WorkroomStructuredTaskReport,\n} from './accepted-source-projector.js';\nimport {\n canonicalWorkroomJson,\n deepFreezeWorkroomValue as deepFreeze,\n digestCanonicalWorkroomValue as digest,\n} from './canonical-value.js';\nimport { DurableFileStore } from './durable-file-store.js';\nimport type {\n GovernedPayloadPublicationVerification,\n GovernedPayloadWriteSagaSnapshot,\n} from '../data-governance/governed-payload-write-saga.js';\n\nexport interface WorkroomGovernedPayloadReceipt {\n readonly descriptor: Readonly<{\n vaultObjectId: string;\n objectId: string;\n payloadHash: string;\n descriptorDigest: string;\n locationManifestDigest: string;\n bytes: number;\n }>;\n readonly source: Readonly<{\n kind: 'command' | 'file' | 'url' | 'tool' | 'human';\n ref: string;\n digest: string;\n bindingDigest: string;\n verification: 'verified' | 'unverified';\n }>;\n}\n\nexport interface WorkroomGovernedPayloadPublicationResult {\n readonly publicationDigest: string;\n}\n\n/**\n * Short-lived inverse port owned by the durable header repository. Payload\n * bodies and raw Vault access never cross this boundary.\n */\nexport interface WorkroomGovernedPayloadPublicationPort {\n publish(\n receipt: WorkroomGovernedPayloadReceipt,\n signal: AbortSignal,\n ): Promise<WorkroomGovernedPayloadPublicationResult>;\n}\n\n/** Exact create-only header conflict; the prepared payload must be purged. */\nexport class WorkroomGovernedPayloadHeaderCasLostError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'WorkroomGovernedPayloadHeaderCasLostError';\n }\n}\n\n/** Header repository proved no durable header was published. */\nexport class WorkroomGovernedPayloadPublicationAbandonedError extends Error {\n readonly reason = 'write_failed' as const;\n\n constructor(message: string) {\n super(message);\n this.name = 'WorkroomGovernedPayloadPublicationAbandonedError';\n }\n}\n\nexport interface WorkroomEvidenceInput extends WorkroomGovernedPayloadReceipt {\n readonly mediaType: string;\n}\n\nexport interface WorkroomEvidence extends WorkroomEvidenceInput {\n readonly version: 1;\n readonly ref: string;\n readonly digest: string;\n}\n\nexport interface WorkroomStructuredTaskReportInput {\n readonly projectId: string;\n readonly runId: string;\n readonly planRef: string;\n readonly planRevision: number;\n readonly taskKey: string;\n readonly taskRevision: number;\n readonly assignmentId: string;\n readonly assignmentAttempt: number;\n readonly assignmentFence: number;\n readonly claims: readonly WorkroomStructuredTaskReportClaimInput[];\n}\n\nexport interface WorkroomStructuredTaskReportClaimInput\n extends Omit<WorkroomStructuredReportClaim, 'id'> {\n /** Untrusted producer label. It is governed payload content, never a durable header identifier. */\n readonly label: string;\n}\n\nexport interface PersistedWorkroomStructuredReportClaim extends WorkroomStructuredReportClaim {\n /** Untrusted producer label retained only inside the governed Task Report payload. */\n readonly label: string;\n}\n\nexport interface PersistedWorkroomStructuredTaskReport extends WorkroomStructuredTaskReport {\n readonly version: 2;\n readonly assignmentId: string;\n readonly assignmentAttempt: number;\n readonly assignmentFence: number;\n /** Digest of the normalized producer report before host claim identifiers are assigned. */\n readonly reportDigest: string;\n readonly claims: readonly PersistedWorkroomStructuredReportClaim[];\n readonly digest: string;\n}\n\nexport interface WorkroomTaskReportPayloadWriteInput {\n readonly report: PersistedWorkroomStructuredTaskReport;\n readonly attribution: Readonly<{\n projectId: string;\n runId: string;\n taskKey: string;\n taskRevision: number;\n }>;\n readonly publication: WorkroomGovernedPayloadPublicationPort;\n}\n\nexport interface WorkroomTaskReportPayloadReadInput {\n readonly receipt: WorkroomGovernedPayloadReceipt;\n readonly projectId: string;\n readonly runId: string;\n readonly taskKey: string;\n readonly reportRef: string;\n readonly candidateHash: string;\n readonly purpose: 'accepted-source-memory-projector' | 'acceptance-evaluation' | 'acceptance-review';\n}\n\n/** Governed derived-payload boundary; implementations own disclosure/read authority. */\nexport interface WorkroomTaskReportPayloadPort {\n write(\n input: WorkroomTaskReportPayloadWriteInput,\n signal: AbortSignal,\n ): Promise<WorkroomGovernedPayloadReceipt>;\n read(\n input: WorkroomTaskReportPayloadReadInput,\n signal: AbortSignal,\n ): Promise<PersistedWorkroomStructuredTaskReport>;\n}\n\nexport interface WorkroomTaskReportStore extends WorkroomAcceptedReportReader {\n writeEvidence(evidence: WorkroomEvidence): Promise<Readonly<{ ref: string; digest: string }>>;\n writeReport(\n report: PersistedWorkroomStructuredTaskReport,\n ): Promise<Readonly<{ ref: string; digest: string }>>;\n}\n\ninterface WorkroomTaskReportClaimHeader {\n readonly claimId: string;\n readonly status: WorkroomStructuredReportClaim['status'];\n readonly evidenceRefs: readonly string[];\n}\n\ninterface PersistedWorkroomTaskReportHeader {\n readonly version: 2;\n readonly ref: string;\n readonly candidateHash: string;\n readonly projectId: string;\n readonly runId: string;\n readonly planRef: string;\n readonly planRevision: number;\n readonly taskKey: string;\n readonly taskRevision: number;\n readonly assignmentId: string;\n readonly assignmentAttempt: number;\n readonly assignmentFence: number;\n readonly reportDigest: string;\n readonly claims: readonly WorkroomTaskReportClaimHeader[];\n readonly payload: WorkroomGovernedPayloadReceipt;\n readonly digest: string;\n}\n\nexport function createWorkroomEvidence(input: WorkroomEvidenceInput): WorkroomEvidence {\n const governed = assertGovernedPayloadReceipt(input);\n const projection = deepFreeze({\n version: 1 as const,\n mediaType: requiredText(input.mediaType, 'Evidence mediaType'),\n descriptor: deepFreeze({\n ...governed.descriptor,\n }),\n source: deepFreeze({\n ...governed.source,\n }),\n });\n const contentDigest = digest(projection);\n return deepFreeze({\n ...projection,\n ref: `workroom-evidence:${contentDigest}`,\n digest: contentDigest,\n });\n}\n\nexport function createWorkroomStructuredTaskReport(\n input: WorkroomStructuredTaskReportInput,\n): PersistedWorkroomStructuredTaskReport {\n const attribution = deepFreeze({\n projectId: requiredText(input.projectId, 'Report projectId'),\n runId: requiredText(input.runId, 'Report runId'),\n planRef: requiredText(input.planRef, 'Report planRef'),\n planRevision: positiveInteger(input.planRevision, 'Report planRevision'),\n taskKey: requiredText(input.taskKey, 'Report taskKey'),\n taskRevision: positiveInteger(input.taskRevision, 'Report taskRevision'),\n assignmentId: requiredText(input.assignmentId, 'Report assignmentId'),\n assignmentAttempt: positiveInteger(input.assignmentAttempt, 'Report assignmentAttempt'),\n assignmentFence: positiveInteger(input.assignmentFence, 'Report assignmentFence'),\n });\n const sourceClaims = normalizeClaimInputs(input.claims);\n const reportDigest = digest(deepFreeze({\n version: 1 as const,\n ...attribution,\n claims: sourceClaims,\n }));\n const claims = Object.freeze(sourceClaims.map((claim, ordinal) => deepFreeze({\n id: canonicalClaimId(attribution, reportDigest, ordinal),\n ...claim,\n })));\n const body = deepFreeze({\n version: 2 as const,\n ...attribution,\n reportDigest,\n claims,\n });\n const candidateHash = digest(body);\n const projection = deepFreeze({\n ...body,\n ref: `workroom-report:${candidateHash}`,\n candidateHash,\n });\n return deepFreeze({ ...projection, digest: digest(projection) });\n}\n\nfunction createReportHeader(\n report: PersistedWorkroomStructuredTaskReport,\n payload: WorkroomGovernedPayloadReceipt,\n): PersistedWorkroomTaskReportHeader {\n const body = deepFreeze({\n version: 2 as const,\n ref: report.ref,\n candidateHash: report.candidateHash,\n projectId: report.projectId,\n runId: report.runId,\n planRef: report.planRef,\n planRevision: report.planRevision,\n taskKey: report.taskKey,\n taskRevision: report.taskRevision,\n assignmentId: report.assignmentId,\n assignmentAttempt: report.assignmentAttempt,\n assignmentFence: report.assignmentFence,\n reportDigest: report.reportDigest,\n claims: Object.freeze(report.claims.map(claim => deepFreeze({\n claimId: claim.id,\n status: claim.status,\n evidenceRefs: claim.evidenceRefs,\n }))),\n payload: assertGovernedPayloadReceipt(payload),\n });\n return deepFreeze({ ...body, digest: digest(body) });\n}\n\nfunction assertReportHeader(value: PersistedWorkroomTaskReportHeader): PersistedWorkroomTaskReportHeader {\n if (!value || typeof value !== 'object' || value.version !== 2) {\n throw new Error('Workroom Task Report header version is invalid');\n }\n const body = deepFreeze({\n version: 2 as const,\n ref: requiredText(value.ref, 'Report header ref'),\n candidateHash: requiredDigest(value.candidateHash, 'Report header candidate hash'),\n projectId: requiredText(value.projectId, 'Report header projectId'),\n runId: requiredText(value.runId, 'Report header runId'),\n planRef: requiredText(value.planRef, 'Report header planRef'),\n planRevision: positiveInteger(value.planRevision, 'Report header planRevision'),\n taskKey: requiredText(value.taskKey, 'Report header taskKey'),\n taskRevision: positiveInteger(value.taskRevision, 'Report header taskRevision'),\n assignmentId: requiredText(value.assignmentId, 'Report header assignmentId'),\n assignmentAttempt: positiveInteger(value.assignmentAttempt, 'Report header assignmentAttempt'),\n assignmentFence: positiveInteger(value.assignmentFence, 'Report header assignmentFence'),\n reportDigest: requiredDigest(value.reportDigest, 'Report header report digest'),\n claims: normalizeClaimHeaders(value.claims),\n payload: assertGovernedPayloadReceipt(value.payload),\n });\n if (body.ref !== `workroom-report:${body.candidateHash}`) {\n throw new Error('Workroom Task Report header ref does not bind candidate hash');\n }\n body.claims.forEach((claim, ordinal) => {\n const expected = canonicalClaimId(body, body.reportDigest, ordinal);\n if (claim.claimId !== expected) {\n throw new Error(`Workroom Task Report header claim ${claim.claimId} is not host canonical`);\n }\n });\n const canonical = deepFreeze({ ...body, digest: digest(body) });\n if (value.digest !== canonical.digest\n || canonicalWorkroomJson(value) !== canonicalWorkroomJson(canonical)) {\n throw new Error('Workroom Task Report header digest drift');\n }\n return canonical;\n}\n\nfunction assertReportMatchesHeader(\n report: PersistedWorkroomStructuredTaskReport,\n header: PersistedWorkroomTaskReportHeader,\n): void {\n const projected = createReportHeader(report, header.payload);\n if (canonicalWorkroomJson(projected) !== canonicalWorkroomJson(header)) {\n throw new Error('Governed Workroom Task Report payload does not match persisted header');\n }\n}\n\n/** Crash-durable content-addressed source for completion and accepted-source memory. */\nexport class FileWorkroomTaskReportStore implements WorkroomTaskReportStore {\n readonly #root: DurableFileStore;\n readonly #reports: DurableFileStore;\n readonly #evidence: DurableFileStore;\n readonly #payloads: WorkroomTaskReportPayloadPort;\n readonly #signal: AbortSignal;\n\n constructor(\n readonly directory: string,\n payloads: WorkroomTaskReportPayloadPort,\n signal: AbortSignal = new AbortController().signal,\n ) {\n this.#root = new DurableFileStore(directory);\n this.#reports = new DurableFileStore(join(directory, 'reports'));\n this.#evidence = new DurableFileStore(join(directory, 'evidence'));\n this.#payloads = payloads;\n this.#signal = signal;\n }\n\n /** Content-free generation handoff verifier; it never materializes payload bodies. */\n async verifyGovernedPayloadPublication(\n intent: GovernedPayloadWriteSagaSnapshot,\n ): Promise<GovernedPayloadPublicationVerification> {\n if (intent.consumer === 'task_report_header') {\n if (!intent.publicationScope?.startsWith('workroom-report:')) return { status: 'missing' };\n try {\n const header = await this.#readReportHeader(intent.publicationScope);\n return receiptMatchesIntent(header.payload, intent)\n ? deepFreeze({ status: 'exact' as const, publicationDigest: header.digest })\n : deepFreeze({ status: 'missing' as const });\n } catch {\n return deepFreeze({ status: 'missing' as const });\n }\n }\n if (intent.consumer !== 'evidence_header') return deepFreeze({ status: 'unknown' as const });\n let names: string[];\n try {\n names = (await readdir(this.#evidence.directory)).filter(name => name.endsWith('.json')).sort();\n } catch (error) {\n return hasCode(error, 'ENOENT')\n ? deepFreeze({ status: 'missing' as const })\n : deepFreeze({ status: 'unknown' as const });\n }\n for (const name of names) {\n try {\n const evidence = assertEvidence(JSON.parse(await readFile(\n join(this.#evidence.directory, name),\n 'utf8',\n )) as WorkroomEvidence);\n if (receiptMatchesIntent(evidence, intent)) {\n return deepFreeze({ status: 'exact' as const, publicationDigest: evidence.digest });\n }\n } catch {\n return deepFreeze({ status: 'unknown' as const });\n }\n }\n return deepFreeze({ status: 'missing' as const });\n }\n\n async writeEvidence(\n evidence: WorkroomEvidence,\n ): Promise<Readonly<{ ref: string; digest: string }>> {\n const canonical = assertEvidence(evidence);\n await this.#ensureDirectories();\n const target = join(this.#evidence.directory, `${canonical.digest.slice(7)}.json`);\n await this.#evidence.publishCreateOnly({\n target,\n content: canonicalWorkroomJson(canonical),\n createdValue: canonical,\n onConflict: async () => {\n let existing: WorkroomEvidence;\n try {\n existing = await this.#readEvidence(canonical.ref);\n } catch {\n throw new WorkroomGovernedPayloadHeaderCasLostError(\n `Workroom Evidence content address collision: ${canonical.ref}`,\n );\n }\n if (canonicalWorkroomJson(existing) !== canonicalWorkroomJson(canonical)) {\n throw new WorkroomGovernedPayloadHeaderCasLostError(\n `Workroom Evidence content address collision: ${canonical.ref}`,\n );\n }\n return existing;\n },\n });\n return deepFreeze({ ref: canonical.ref, digest: canonical.digest });\n }\n\n async writeReport(\n report: PersistedWorkroomStructuredTaskReport,\n ): Promise<Readonly<{ ref: string; digest: string }>> {\n const canonical = assertReport(report);\n this.#signal.throwIfAborted();\n await this.#ensureDirectories();\n for (const claim of canonical.claims) {\n if (claim.status !== 'verified') continue;\n for (const evidenceRef of claim.evidenceRefs) {\n try {\n await this.#readEvidence(evidenceRef);\n } catch (error) {\n if (hasCode(error, 'ENOENT')) {\n throw new Error(`Evidence is not durably published: ${evidenceRef}`, { cause: error });\n }\n throw error;\n }\n }\n }\n const target = join(this.#reports.directory, `${canonical.candidateHash.slice(7)}.json`);\n let publishedHeader: PersistedWorkroomTaskReportHeader | undefined;\n const payload = assertGovernedPayloadReceipt(await this.#payloads.write({\n report: canonical,\n attribution: deepFreeze({\n projectId: canonical.projectId,\n runId: canonical.runId,\n taskKey: canonical.taskKey,\n taskRevision: canonical.taskRevision,\n }),\n publication: Object.freeze({\n publish: async (\n candidate: WorkroomGovernedPayloadReceipt,\n signal: AbortSignal,\n ) => {\n signal.throwIfAborted();\n const governed = assertGovernedPayloadReceipt(candidate);\n if (governed.source.verification !== 'verified') {\n throw new WorkroomGovernedPayloadPublicationAbandonedError(\n 'Governed Workroom Task Report payload lacks verified source lineage',\n );\n }\n const header = createReportHeader(canonical, governed);\n await this.#reports.publishCreateOnly({\n target,\n content: canonicalWorkroomJson(header),\n createdValue: header,\n onConflict: async () => {\n const existing = await this.#readReportHeader(canonical.ref);\n if (canonicalWorkroomJson(existing) !== canonicalWorkroomJson(header)) {\n throw new WorkroomGovernedPayloadHeaderCasLostError(\n `Workroom Task Report content address collision: ${canonical.ref}`,\n );\n }\n return existing;\n },\n });\n publishedHeader = header;\n return deepFreeze({ publicationDigest: header.digest });\n },\n }),\n }, this.#signal));\n if (!publishedHeader) {\n throw new Error('Governed Workroom Task Report Writer did not publish the durable header');\n }\n const header = publishedHeader;\n if (canonicalWorkroomJson(header.payload) !== canonicalWorkroomJson(payload)) {\n throw new Error('Governed Workroom Task Report publication receipt drift');\n }\n return deepFreeze({ ref: canonical.ref, digest: header.digest });\n }\n\n async read(\n input: WorkroomAcceptedReportReadInput,\n ): Promise<PersistedWorkroomStructuredTaskReport | undefined> {\n let header: PersistedWorkroomTaskReportHeader;\n try {\n header = await this.#readReportHeader(requiredText(input.reportRef, 'Report ref'));\n } catch (error) {\n if (hasCode(error, 'ENOENT')) return undefined;\n throw error;\n }\n if (header.projectId !== input.projectId\n || header.runId !== input.runId\n || header.taskKey !== input.taskKey\n || header.candidateHash !== input.candidateHash) {\n throw new Error('Workroom Task Report read authority scope does not match persisted content');\n }\n this.#signal.throwIfAborted();\n const report = assertReport(await this.#payloads.read({\n receipt: header.payload,\n projectId: header.projectId,\n runId: header.runId,\n taskKey: header.taskKey,\n reportRef: header.ref,\n candidateHash: header.candidateHash,\n purpose: input.purpose ?? 'accepted-source-memory-projector',\n }, this.#signal));\n assertReportMatchesHeader(report, header);\n return report;\n }\n\n async #ensureDirectories(): Promise<void> {\n await this.#root.ensureDurableLeaf('Workroom Task Report Store');\n await this.#reports.ensureDurableLeaf('Workroom Task Report Store reports');\n await this.#evidence.ensureDurableLeaf('Workroom Task Report Store evidence');\n }\n\n async #readEvidence(ref: string): Promise<WorkroomEvidence> {\n const contentHash = contentAddress(ref, 'workroom-evidence');\n return assertEvidence(JSON.parse(await readFile(\n join(this.#evidence.directory, `${contentHash.slice(7)}.json`),\n 'utf8',\n )) as WorkroomEvidence);\n }\n\n async #readReportHeader(ref: string): Promise<PersistedWorkroomTaskReportHeader> {\n const contentHash = contentAddress(ref, 'workroom-report');\n return assertReportHeader(JSON.parse(await readFile(\n join(this.#reports.directory, `${contentHash.slice(7)}.json`),\n 'utf8',\n )) as PersistedWorkroomTaskReportHeader);\n }\n}\n\nfunction assertEvidence(value: WorkroomEvidence): WorkroomEvidence {\n const canonical = createWorkroomEvidence(value);\n if (value.ref !== canonical.ref || value.digest !== canonical.digest\n || canonicalWorkroomJson(value) !== canonicalWorkroomJson(canonical)) {\n throw new Error('Workroom Evidence content address or digest drift');\n }\n return canonical;\n}\n\nfunction assertReport(\n value: PersistedWorkroomStructuredTaskReport,\n): PersistedWorkroomStructuredTaskReport {\n if (!value || typeof value !== 'object' || value.version !== 2) {\n throw new Error('Workroom Task Report payload version is invalid');\n }\n const canonical = createWorkroomStructuredTaskReport({\n projectId: value.projectId,\n runId: value.runId,\n planRef: value.planRef,\n planRevision: value.planRevision,\n taskKey: value.taskKey,\n taskRevision: value.taskRevision,\n assignmentId: value.assignmentId,\n assignmentAttempt: value.assignmentAttempt,\n assignmentFence: value.assignmentFence,\n claims: value.claims.map(claim => ({\n label: claim.label,\n key: claim.key,\n value: claim.value,\n status: claim.status,\n evidenceRefs: claim.evidenceRefs,\n artifactRefs: claim.artifactRefs,\n ...(claim.validUntil === undefined ? {} : { validUntil: claim.validUntil }),\n ...(claim.supersedesFactIds === undefined\n ? {}\n : { supersedesFactIds: claim.supersedesFactIds }),\n })),\n });\n if (value.ref !== canonical.ref\n || value.candidateHash !== canonical.candidateHash\n || value.reportDigest !== canonical.reportDigest\n || value.digest !== canonical.digest\n || canonicalWorkroomJson(value) !== canonicalWorkroomJson(canonical)) {\n throw new Error('Workroom Task Report content address or digest drift');\n }\n return canonical;\n}\n\nfunction normalizeClaimInputs(\n claims: readonly WorkroomStructuredTaskReportClaimInput[],\n): readonly WorkroomStructuredTaskReportClaimInput[] {\n if (!Array.isArray(claims)) throw new Error('Report claims must be an array');\n const labels = new Set<string>();\n const normalized = claims.map((claim, ordinal) => {\n const claimPath = `Report claim at ordinal ${ordinal}`;\n const label = requiredText(claim.label, 'Report claim label');\n if (labels.has(label)) throw new Error('Workroom Task Report contains duplicate producer claim labels');\n labels.add(label);\n if (claim.status !== 'verified' && claim.status !== 'assumed') {\n throw new Error(`${claimPath} status is invalid`);\n }\n const evidenceRefs = textSet(claim.evidenceRefs, `${claimPath} evidenceRefs`);\n if (claim.status === 'verified' && evidenceRefs.length === 0) {\n throw new Error(`Verified ${claimPath} requires evidence`);\n }\n const validUntil = claim.validUntil === undefined\n ? undefined\n : nonNegativeInteger(claim.validUntil, `${claimPath} validUntil`);\n return deepFreeze({\n label,\n key: requiredText(claim.key, `${claimPath} key`),\n value: requiredText(claim.value, `${claimPath} value`),\n status: claim.status,\n evidenceRefs,\n artifactRefs: textSet(claim.artifactRefs, `${claimPath} artifactRefs`),\n ...(validUntil === undefined ? {} : { validUntil }),\n ...(claim.supersedesFactIds === undefined\n ? {}\n : { supersedesFactIds: textSet(claim.supersedesFactIds, `${claimPath} supersedes`) }),\n });\n });\n return Object.freeze(normalized);\n}\n\nfunction normalizeClaimHeaders(\n claims: readonly WorkroomTaskReportClaimHeader[],\n): readonly WorkroomTaskReportClaimHeader[] {\n if (!Array.isArray(claims)) throw new Error('Report header claims must be an array');\n const ids = new Set<string>();\n return Object.freeze(claims.map((claim) => {\n const claimId = requiredClaimId(claim?.claimId, 'Report header claim id');\n if (ids.has(claimId)) throw new Error(`Duplicate Workroom Task Report header claim ${claimId}`);\n ids.add(claimId);\n if (claim.status !== 'verified' && claim.status !== 'assumed') {\n throw new Error(`Workroom Task Report header claim ${claimId} status is invalid`);\n }\n return deepFreeze({\n claimId,\n status: claim.status,\n evidenceRefs: textSet(claim.evidenceRefs, `Report header claim ${claimId} evidenceRefs`),\n });\n }));\n}\n\nfunction canonicalClaimId(\n attribution: Readonly<{\n projectId: string;\n runId: string;\n taskKey: string;\n taskRevision: number;\n assignmentId: string;\n assignmentAttempt: number;\n assignmentFence: number;\n }>,\n reportDigest: string,\n ordinal: number,\n): string {\n return `workroom-claim:${digest(deepFreeze({\n version: 1 as const,\n projectId: attribution.projectId,\n runId: attribution.runId,\n taskKey: attribution.taskKey,\n taskRevision: attribution.taskRevision,\n assignmentId: attribution.assignmentId,\n assignmentAttempt: attribution.assignmentAttempt,\n assignmentFence: attribution.assignmentFence,\n reportDigest: requiredDigest(reportDigest, 'Report digest for canonical claim id'),\n ordinal: nonNegativeInteger(ordinal, 'Report claim ordinal'),\n }))}`;\n}\n\nfunction assertGovernedPayloadReceipt(\n value: WorkroomGovernedPayloadReceipt,\n): WorkroomGovernedPayloadReceipt {\n if (!value || typeof value !== 'object') {\n throw new Error('Governed Workroom payload receipt is missing');\n }\n return deepFreeze({\n descriptor: deepFreeze({\n vaultObjectId: requiredText(value.descriptor?.vaultObjectId, 'Payload Vault object id'),\n objectId: requiredText(value.descriptor?.objectId, 'Payload object id'),\n payloadHash: requiredDigest(value.descriptor?.payloadHash, 'Payload hash'),\n descriptorDigest: requiredDigest(value.descriptor?.descriptorDigest, 'Payload descriptor digest'),\n locationManifestDigest: requiredDigest(\n value.descriptor?.locationManifestDigest,\n 'Payload location manifest digest',\n ),\n bytes: nonNegativeInteger(value.descriptor?.bytes, 'Payload bytes'),\n }),\n source: deepFreeze({\n kind: evidenceSourceKind(value.source?.kind),\n ref: requiredText(value.source?.ref, 'Payload canonical source ref'),\n digest: requiredDigest(value.source?.digest, 'Payload canonical source digest'),\n bindingDigest: requiredDigest(value.source?.bindingDigest, 'Payload source binding digest'),\n verification: evidenceVerification(value.source?.verification),\n }),\n });\n}\n\nfunction contentAddress(ref: string, kind: 'workroom-evidence' | 'workroom-report'): string {\n const prefix = `${kind}:`;\n if (!ref.startsWith(prefix) || !/^sha256:[a-f0-9]{64}$/u.test(ref.slice(prefix.length))) {\n throw new Error(`${kind} ref is not a canonical content address`);\n }\n return ref.slice(prefix.length);\n}\n\nfunction textSet(value: readonly string[], label: string): readonly string[] {\n if (!Array.isArray(value)) throw new Error(`${label} must be an array`);\n const result = value.map(item => requiredText(item, label));\n if (new Set(result).size !== result.length) throw new Error(`${label} contains duplicates`);\n return Object.freeze([...result].sort());\n}\n\nfunction requiredText(value: unknown, label: string): string {\n if (typeof value !== 'string' || !value.trim() || value !== value.trim()) {\n throw new Error(`${label} requires canonical non-empty text`);\n }\n return value;\n}\n\nfunction positiveInteger(value: unknown, label: string): number {\n if (!Number.isSafeInteger(value) || Number(value) < 1) {\n throw new Error(`${label} must be a positive safe integer`);\n }\n return Number(value);\n}\n\nfunction nonNegativeInteger(value: unknown, label: string): number {\n if (!Number.isSafeInteger(value) || Number(value) < 0) {\n throw new Error(`${label} must be a non-negative safe integer`);\n }\n return Number(value);\n}\n\nfunction requiredDigest(value: unknown, label: string): string {\n if (typeof value !== 'string' || !/^sha256:[a-f0-9]{64}$/u.test(value)) {\n throw new Error(`${label} must be a canonical SHA-256 digest`);\n }\n return value;\n}\n\nfunction requiredClaimId(value: unknown, label: string): string {\n if (typeof value !== 'string' || !/^workroom-claim:sha256:[a-f0-9]{64}$/u.test(value)) {\n throw new Error(`${label} must be a host-generated canonical Workroom claim id`);\n }\n return value;\n}\n\nfunction evidenceSourceKind(value: unknown): WorkroomEvidenceInput['source']['kind'] {\n if (!['command', 'file', 'url', 'tool', 'human'].includes(String(value))) {\n throw new Error('Evidence source kind is invalid');\n }\n return value as WorkroomEvidenceInput['source']['kind'];\n}\n\nfunction evidenceVerification(value: unknown): WorkroomEvidenceInput['source']['verification'] {\n if (value !== 'verified' && value !== 'unverified') {\n throw new Error('Evidence source verification is invalid');\n }\n return value;\n}\n\nfunction hasCode(error: unknown, code: string): boolean {\n return Boolean(error && typeof error === 'object' && 'code' in error\n && (error as { code?: unknown }).code === code);\n}\n\nfunction receiptMatchesIntent(\n receipt: WorkroomGovernedPayloadReceipt,\n intent: GovernedPayloadWriteSagaSnapshot,\n): boolean {\n return receipt.descriptor.objectId === intent.objectId\n && receipt.descriptor.payloadHash === intent.payloadHash\n && receipt.descriptor.descriptorDigest === intent.descriptorDigest\n && receipt.source.bindingDigest === intent.sourceBindingDigest;\n}\n"]}
@@ -67,4 +67,3 @@ export declare const WORKROOM_OVERLAY_PACK_PROMOTIONS_MODEL: {
67
67
  export declare function defineOverlayPackPromotionDatabaseModel(database: Readonly<{
68
68
  define(name: string, definition: unknown): void;
69
69
  }>): void;
70
- //# sourceMappingURL=database-overlay-pack-promotion-repository.d.ts.map