@zhin.js/workroom 0.0.5 → 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 +7 -7
  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":"dynamic-workflow-planner.js","sourceRoot":"","sources":["../../src/workroom/dynamic-workflow-planner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dynamic-workflow-planner.js","sourceRoot":"","sources":["../../src/workroom/dynamic-workflow-planner.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n compareCanonicalWorkroomText,\n canonicalWorkroomJson,\n deepFreezeWorkroomValue as deepFreeze,\n} from './canonical-value.js';\nimport type { HumanIngressPlanningInput, HumanIngressPlanningPort } from './human-ingress-orchestrator.js';\nimport {\n WorkflowPlanBuilder,\n type WorkflowPlanProposal,\n type WorkflowStrategyReference,\n type WorkflowTaskCapabilityRequirement,\n} from './workflow-plan-builder.js';\nimport type {\n WorkroomSchedulerPolicySnapshot,\n WorkroomSponsorLane,\n WorkroomTaskPreemptibility,\n} from './workroom-scheduler.js';\n\nexport interface DynamicWorkflowPlanningProfileSnapshot {\n readonly revisionId: string;\n readonly digest: string;\n readonly strategies: readonly WorkflowStrategyReference[];\n readonly roles: readonly string[];\n readonly capabilities: Readonly<Required<WorkflowTaskCapabilityRequirement>>;\n}\n\nexport interface DynamicWorkflowPlanningPolicySnapshot {\n readonly revisionId: string;\n readonly digest: string;\n readonly maxTasks: number;\n readonly maxTotalAttempts: number;\n readonly maxAttemptsPerTask: number;\n readonly allowOptionalTasks: boolean;\n readonly approvalRequiredAuthorities: readonly string[];\n readonly sponsorGate: Readonly<{\n owner: string;\n decisionTimeoutMs: number;\n }>;\n readonly schedulerPolicy: WorkroomSchedulerPolicySnapshot;\n readonly defaultSponsorLane: WorkroomSponsorLane;\n readonly defaultTaskDeadlineMs: number;\n readonly defaultPreemptibility: WorkroomTaskPreemptibility;\n}\n\n/** Trusted, exact Project/Profile/Orchestrator authority resolved outside the model. */\nexport interface DynamicWorkflowPlanningAuthority {\n readonly version: 1;\n readonly projectId: string;\n readonly projectRevision: string;\n readonly projectDigest: string;\n readonly orchestratorAgentDefinitionId: string;\n readonly orchestratorAuthorityDigest: string;\n readonly profile: DynamicWorkflowPlanningProfileSnapshot;\n readonly policy: DynamicWorkflowPlanningPolicySnapshot;\n}\n\nexport interface DynamicWorkflowDagCandidateTask {\n readonly key: string;\n readonly title: string;\n readonly role: string;\n readonly required: boolean;\n readonly maxAttempts: number;\n readonly localRank: number;\n readonly dependsOn: readonly string[];\n readonly requires: Readonly<Required<WorkflowTaskCapabilityRequirement>>;\n readonly approval: 'none' | 'sponsor_required';\n}\n\n/** This entire value is untrusted, even when produced with model structured output. */\nexport interface DynamicWorkflowDagCandidate {\n readonly version: 1;\n readonly strategy: WorkflowStrategyReference;\n readonly tasks: readonly DynamicWorkflowDagCandidateTask[];\n}\n\nexport interface DynamicWorkflowPlanningRequest {\n readonly version: 1;\n readonly operationId: string;\n readonly principalId: string;\n readonly authority: DynamicWorkflowPlanningAuthority;\n readonly source: Readonly<{\n ref: string;\n digest: string;\n sequence: number;\n conversationKey: string;\n text: string;\n }>;\n}\n\nexport interface UntrustedWorkflowDagPlannerPort {\n propose(input: DynamicWorkflowPlanningRequest): unknown | Promise<unknown>;\n}\n\nexport interface DynamicWorkflowPlanningPortOptions {\n readonly resolveAuthority: (\n input: HumanIngressPlanningInput,\n ) => DynamicWorkflowPlanningAuthority | Promise<DynamicWorkflowPlanningAuthority>;\n readonly planner: UntrustedWorkflowDagPlannerPort;\n}\n\n/**\n * Production planning boundary. A model/strategy can only return an untrusted\n * DAG candidate. Identity, Profile, policy, budget and approval authority are\n * supplied by trusted ports and re-materialized by WorkflowPlanBuilder.\n */\nexport class DynamicWorkflowPlanningPort implements HumanIngressPlanningPort {\n constructor(readonly options: DynamicWorkflowPlanningPortOptions) {}\n\n async propose(input: HumanIngressPlanningInput): Promise<WorkflowPlanProposal> {\n const authority = validateAuthority(await this.options.resolveAuthority(input), input);\n const request = deepFreeze<DynamicWorkflowPlanningRequest>({\n version: 1,\n operationId: input.operationId,\n principalId: input.principalId,\n authority,\n source: {\n ref: input.source.ref,\n digest: input.source.digest,\n sequence: input.source.sequence,\n conversationKey: input.source.conversationKey,\n text: input.source.text,\n },\n });\n const candidate = parseCandidate(await this.options.planner.propose(request));\n const strategy = authority.profile.strategies.find(item =>\n canonicalWorkroomJson(item) === canonicalWorkroomJson(candidate.strategy));\n if (!strategy) throw new Error('Dynamic Workflow strategy is not authorized by the exact Profile');\n if (candidate.tasks.length > authority.policy.maxTasks) {\n throw new Error('Dynamic Workflow candidate exceeds the authorized Task budget');\n }\n let builder = WorkflowPlanBuilder.create({\n proposalId: input.operationId,\n projectId: input.projectId,\n strategy,\n parameterDigest: input.source.digest,\n authority: {\n projectRevision: authority.projectRevision,\n projectDigest: authority.projectDigest,\n profileRevisionId: authority.profile.revisionId,\n profileDigest: authority.profile.digest,\n planningPolicyRevisionId: authority.policy.revisionId,\n planningPolicyDigest: authority.policy.digest,\n orchestratorAgentDefinitionId: authority.orchestratorAgentDefinitionId,\n orchestratorAuthorityDigest: authority.orchestratorAuthorityDigest,\n },\n budget: {\n maxTasks: authority.policy.maxTasks,\n maxTotalAttempts: authority.policy.maxTotalAttempts,\n },\n schedulerPolicy: authority.policy.schedulerPolicy,\n });\n for (const task of candidate.tasks) {\n assertTaskAuthorized(task, authority);\n builder = builder.addTask({\n key: task.key,\n title: task.title,\n role: task.role,\n required: task.required,\n maxAttempts: task.maxAttempts,\n dependsOn: task.dependsOn,\n requires: task.requires,\n scheduler: {\n sponsorLane: authority.policy.defaultSponsorLane,\n localRank: task.localRank,\n enqueuedAt: input.source.event.timestamp,\n deadline: input.source.event.timestamp + authority.policy.defaultTaskDeadlineMs,\n preemptibility: authority.policy.defaultPreemptibility,\n },\n ...(task.approval === 'sponsor_required'\n ? {\n approvalGate: {\n id: `approval:${task.key}`,\n kind: 'sponsor' as const,\n owner: authority.policy.sponsorGate.owner,\n decisionTimeoutMs: authority.policy.sponsorGate.decisionTimeoutMs,\n deadline: input.source.event.timestamp + authority.policy.sponsorGate.decisionTimeoutMs,\n policyRevisionId: authority.policy.revisionId,\n policyDigest: authority.policy.digest,\n },\n }\n : {}),\n });\n }\n return builder.build();\n }\n}\n\nfunction validateAuthority(\n value: DynamicWorkflowPlanningAuthority,\n input: HumanIngressPlanningInput,\n): DynamicWorkflowPlanningAuthority {\n if (!value || typeof value !== 'object' || value.version !== 1) {\n throw new Error('Dynamic Workflow planning authority is invalid');\n }\n if (value.projectId !== input.projectId\n || value.projectRevision !== input.projectRevision\n || value.projectDigest !== input.projectDigest\n || value.orchestratorAgentDefinitionId !== input.orchestratorAgentDefinitionId\n || value.orchestratorAuthorityDigest !== input.orchestratorAuthorityDigest) {\n throw new Error('Dynamic Workflow planning authority drifted from the canonical Project/Orchestrator input');\n }\n text(value.profile.revisionId, 'Profile revision');\n digest(value.profile.digest, 'Profile digest');\n if (!Array.isArray(value.profile.strategies) || value.profile.strategies.length === 0) {\n throw new Error('Dynamic Workflow Profile has no authorized Strategy');\n }\n for (const strategy of value.profile.strategies) {\n text(strategy.id, 'Strategy id'); text(strategy.version, 'Strategy version'); digest(strategy.digest, 'Strategy digest');\n }\n canonicalNames(value.profile.roles, 'Profile roles');\n canonicalRequirements(value.profile.capabilities, 'Profile capabilities');\n text(value.policy.revisionId, 'Planning policy revision');\n digest(value.policy.digest, 'Planning policy digest');\n positive(value.policy.maxTasks, 'Planning policy maxTasks');\n positive(value.policy.maxTotalAttempts, 'Planning policy maxTotalAttempts');\n positive(value.policy.maxAttemptsPerTask, 'Planning policy maxAttemptsPerTask');\n if (typeof value.policy.allowOptionalTasks !== 'boolean') {\n throw new Error('Planning policy allowOptionalTasks must be boolean');\n }\n canonicalNames(value.policy.approvalRequiredAuthorities, 'Planning policy approval authorities');\n text(value.policy.sponsorGate.owner, 'Planning policy Sponsor Gate owner');\n positive(value.policy.sponsorGate.decisionTimeoutMs, 'Planning policy Sponsor Gate timeout');\n if (!['urgent', 'high', 'normal', 'low'].includes(value.policy.defaultSponsorLane)) {\n throw new Error('Planning policy default Sponsor lane is invalid');\n }\n positive(value.policy.defaultTaskDeadlineMs, 'Planning policy default Task deadline');\n if (!['checkpointable', 'atomic'].includes(value.policy.defaultPreemptibility)) {\n throw new Error('Planning policy default preemptibility is invalid');\n }\n return deepFreeze(structuredClone(value));\n}\n\nfunction parseCandidate(value: unknown): DynamicWorkflowDagCandidate {\n record(value, 'Dynamic Workflow candidate');\n exactKeys(value, ['version', 'strategy', 'tasks'], 'Dynamic Workflow candidate');\n if (value.version !== 1) throw new Error('Dynamic Workflow candidate version is unsupported');\n record(value.strategy, 'Dynamic Workflow strategy');\n exactKeys(value.strategy, ['id', 'version', 'digest'], 'Dynamic Workflow strategy');\n text(value.strategy.id, 'Dynamic Workflow strategy id');\n text(value.strategy.version, 'Dynamic Workflow strategy version');\n digest(value.strategy.digest, 'Dynamic Workflow strategy digest');\n if (!Array.isArray(value.tasks)) throw new Error('Dynamic Workflow candidate tasks must be an array');\n const tasks = value.tasks.map((item, index) => parseTask(item, index));\n return deepFreeze({\n version: 1,\n strategy: {\n id: value.strategy.id,\n version: value.strategy.version,\n digest: value.strategy.digest,\n },\n tasks,\n });\n}\n\nfunction parseTask(value: unknown, index: number): DynamicWorkflowDagCandidateTask {\n const label = `Dynamic Workflow candidate task ${index}`;\n record(value, label);\n exactKeys(value, [\n 'key', 'title', 'role', 'required', 'maxAttempts', 'localRank', 'dependsOn', 'requires', 'approval',\n ], label);\n text(value.key, `${label} key`); text(value.title, `${label} title`); text(value.role, `${label} role`);\n if (typeof value.required !== 'boolean') throw new Error(`${label} required must be boolean`);\n positive(value.maxAttempts, `${label} maxAttempts`);\n if (typeof value.localRank !== 'number' || !Number.isSafeInteger(value.localRank) || value.localRank < 0) {\n throw new Error(`${label} localRank must be a non-negative safe integer`);\n }\n const localRank = value.localRank;\n const dependsOn = canonicalNames(value.dependsOn, `${label} dependencies`, false);\n record(value.requires, `${label} requirements`);\n exactKeys(value.requires, ['tools', 'skills', 'integrations', 'authorities'], `${label} requirements`);\n const requires = canonicalRequirements(value.requires as unknown as Required<WorkflowTaskCapabilityRequirement>, `${label} requirements`, false);\n if (value.approval !== 'none' && value.approval !== 'sponsor_required') {\n throw new Error(`${label} approval is invalid`);\n }\n return deepFreeze({\n key: value.key,\n title: value.title,\n role: value.role,\n required: value.required,\n maxAttempts: value.maxAttempts,\n localRank,\n dependsOn,\n requires,\n approval: value.approval,\n });\n}\n\nfunction assertTaskAuthorized(\n task: DynamicWorkflowDagCandidateTask,\n authority: DynamicWorkflowPlanningAuthority,\n): void {\n if (!authority.profile.roles.includes(task.role)) {\n throw new Error(`Dynamic Workflow Task ${task.key} role is outside the exact Profile`);\n }\n if (!task.required && !authority.policy.allowOptionalTasks) {\n throw new Error(`Dynamic Workflow Task ${task.key} is optional but the planning policy forbids optional Tasks`);\n }\n if (task.maxAttempts > authority.policy.maxAttemptsPerTask) {\n throw new Error(`Dynamic Workflow Task ${task.key} exceeds the per-Task attempt budget`);\n }\n for (const kind of ['tools', 'skills', 'integrations', 'authorities'] as const) {\n for (const name of task.requires[kind]) {\n if (!authority.profile.capabilities[kind].includes(name)) {\n throw new Error(`Dynamic Workflow Task ${task.key} ${kind} requirement ${name} is outside the exact Profile`);\n }\n }\n }\n const requiresApproval = task.requires.authorities.some(item =>\n authority.policy.approvalRequiredAuthorities.includes(item));\n if (requiresApproval && task.approval !== 'sponsor_required') {\n throw new Error(`Dynamic Workflow Task ${task.key} requires a Sponsor approval gate`);\n }\n}\n\nfunction canonicalRequirements(\n value: Required<WorkflowTaskCapabilityRequirement>,\n label: string,\n requireCanonical = true,\n): Readonly<Required<WorkflowTaskCapabilityRequirement>> {\n return deepFreeze({\n tools: canonicalNames(value.tools, `${label}.tools`, requireCanonical),\n skills: canonicalNames(value.skills, `${label}.skills`, requireCanonical),\n integrations: canonicalNames(value.integrations, `${label}.integrations`, requireCanonical),\n authorities: canonicalNames(value.authorities, `${label}.authorities`, requireCanonical),\n });\n}\n\nfunction canonicalNames(value: unknown, label: string, requireCanonical = true): readonly string[] {\n if (!Array.isArray(value)) throw new Error(`${label} must be an array`);\n for (const item of value) text(item, label);\n const names = [...new Set(value as string[])].sort((left, right) => compareCanonicalWorkroomText(left, right));\n if (requireCanonical && canonicalWorkroomJson(value) !== canonicalWorkroomJson(names)) {\n throw new Error(`${label} must be sorted and unique`);\n }\n return Object.freeze(names);\n}\n\nfunction exactKeys(value: Record<string, unknown>, keys: readonly string[], label: string): void {\n const allowed = new Set(keys);\n for (const key of Object.keys(value)) {\n if (!allowed.has(key)) throw new Error(`${label} contains unexpected field ${key}`);\n }\n for (const key of keys) {\n if (!(key in value)) throw new Error(`${label} is missing field ${key}`);\n }\n}\n\nfunction record(value: unknown, label: string): asserts value is Record<string, unknown> {\n if (!value || typeof value !== 'object' || Array.isArray(value)) throw new Error(`${label} must be an object`);\n}\n\nfunction text(value: unknown, label: string): asserts value is string {\n if (typeof value !== 'string' || !value.trim() || value !== value.trim()) throw new Error(`${label} is invalid`);\n}\n\nfunction digest(value: unknown, label: string): asserts value is string {\n if (typeof value !== 'string' || !/^sha256:[a-f0-9]{64}$/u.test(value)) throw new Error(`${label} is invalid`);\n}\n\nfunction positive(value: unknown, label: string): asserts value is number {\n if (!Number.isSafeInteger(value) || Number(value) < 1) throw new Error(`${label} must be a positive safe integer`);\n}\n"]}
@@ -48,4 +48,3 @@ export declare class DurableWorkroomEffectBlockerControl implements WorkroomEffe
48
48
  block(input: WorkroomEffectBlockerInput): Promise<void>;
49
49
  recover(projectId: string, effectId: string): Promise<void>;
50
50
  }
51
- //# sourceMappingURL=effect-blocker-repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"effect-blocker-repository.js","sourceRoot":"","sources":["../../src/workroom/effect-blocker-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,qBAAqB,EACrB,uBAAuB,IAAI,UAAU,EACrC,4BAA4B,IAAI,MAAM,GACvC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AA6C3D,MAAM,OAAO,mCAAmC;IAGzB;IAFZ,MAAM,CAAmB;IAElC,YAAqB,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAiB,EAAE,QAAgB;QAC5C,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC/C,IAAI,KAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC/C,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,KAA8C,CAAC;QACnD,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5C,IAAI,IAAI,KAAK,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC5D,CAAC;YACD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YAChF,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;mBAC/D,OAAO,CAAC,QAAQ,KAAK,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE,MAAM,EAAE,CAAC;gBAChF,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC3D,CAAC;YACD,KAAK,GAAG,OAAO,CAAC;QAClB,CAAC;QACD,IAAI,KAAK;YAAE,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,MAAM,CACV,KAA8F,EAC9F,cAAuB;QAEvB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjE,IAAI,OAAO,EAAE,MAAM,KAAK,cAAc;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAClG,MAAM,IAAI,GAAG,UAAU,CAAC;YACtB,OAAO,EAAE,CAAU;YACnB,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC;YACjD,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC;YAC9C,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;YACtC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;YAChC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC;YACxC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC;YAC9C,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC9D,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,CAAC;SACpG,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,CAA8B,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1F,cAAc,CAAC,MAAM,CAAC,CAAC;QACvB,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;YACjD,MAAM;YACN,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC;YACtC,YAAY,EAAE,MAAM;YACpB,UAAU,EAAE,KAAK,IAAI,EAAE;gBACrB,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC7D,IAAI,qBAAqB,CAAC,QAAQ,CAAC,KAAK,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBAC5D,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;SACF,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;CACF;AAED,MAAM,OAAO,mCAAmC;IAEnC;IACA;IAFX,YACW,UAA2C,EAC3C,MAAoB,IAAI,CAAC,GAAG;QAD5B,eAAU,GAAV,UAAU,CAAiC;QAC3C,QAAG,GAAH,GAAG,CAAyB;IACpC,CAAC;IAEJ,KAAK,CAAC,KAAK,CAAC,KAAiC;QAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5E,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE;eAC7D,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;eAChE,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC;eAC7E,qBAAqB,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,qBAAqB,CAAC,KAAK,CAAC,iBAAiB,CAAC;YAAE,OAAO;QACjH,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAC3B,GAAG,KAAK;YACR,MAAM,EAAE,SAAS;SAClB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,QAAgB;QAC/C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU;YAAE,OAAO;QACtD,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAC3B,SAAS;YACT,QAAQ;YACR,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;SACvB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;CACF;AAED,SAAS,WAAW,CAAC,UAAkB;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAgC,CAAC;IACpE,cAAc,CAAC,KAAK,CAAC,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC3C,KAAK,OAAO,CAAC;IACb,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,KAAK,qBAAqB,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/H,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,cAAc,CAAC,KAAkC;IACxD,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACrC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS;QAAE,cAAc,CAAC,KAAK,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAC/F,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;QAChF,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAAC;IAClD,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC9D,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;WAC9E,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC5F,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,UAAU,CAAC,SAAiB,EAAE,QAAgB;IACrD,OAAO,kBAAkB,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,KAAK,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;AACrG,CAAC;AACD,SAAS,QAAQ,CAAC,SAAiB,EAAE,QAAgB,EAAE,QAAgB;IACrE,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC;AACxF,CAAC;AACD,SAAS,QAAQ,CAAC,KAAc,EAAE,KAAa;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC;IACjH,OAAO,KAAK,CAAC;AACf,CAAC;AACD,SAAS,cAAc,CAAC,KAAc,EAAE,KAAa;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC;IAC/G,OAAO,KAAK,CAAC;AACf,CAAC;AACD,SAAS,QAAQ,CAAC,KAAc,EAAE,KAAa;IAC7C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC;IAC9F,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,SAAS,OAAO,CAAC,KAAc,EAAE,IAAY;IAC3C,OAAO,OAAO,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK;WAC9D,KAA4B,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"effect-blocker-repository.js","sourceRoot":"","sources":["../../src/workroom/effect-blocker-repository.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHash } from 'node:crypto';\nimport { readFile, readdir } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport {\n canonicalWorkroomJson,\n deepFreezeWorkroomValue as deepFreeze,\n digestCanonicalWorkroomValue as digest,\n} from './canonical-value.js';\nimport { DurableFileStore } from './durable-file-store.js';\n\nexport interface WorkroomEffectBlockerInput {\n readonly projectId: string;\n readonly effectId: string;\n readonly owner: string;\n readonly policy: Readonly<{\n kind: 'pinned_profile' | 'root_emergency_fallback';\n ref: string;\n digest: string;\n }>;\n readonly reason: string;\n readonly deadline: number;\n readonly allowedSuccessors: readonly ('retry' | 'reconcile' | 'cancel')[];\n}\n\nexport interface WorkroomEffectBlockerControlPort {\n block(input: WorkroomEffectBlockerInput): Promise<void>;\n recover(projectId: string, effectId: string): Promise<void>;\n}\n\nexport interface WorkroomEffectBlockerRecord {\n readonly version: 1;\n readonly projectId: string;\n readonly effectId: string;\n readonly revision: number;\n readonly previousDigest?: string;\n readonly status: 'blocked' | 'resolved';\n readonly owner: WorkroomEffectBlockerInput['owner'];\n readonly policy: WorkroomEffectBlockerInput['policy'];\n readonly reason: string;\n readonly deadline: number;\n readonly allowedSuccessors: WorkroomEffectBlockerInput['allowedSuccessors'];\n readonly resolvedAt?: number;\n readonly digest: string;\n}\n\nexport interface WorkroomEffectBlockerRepository {\n read(projectId: string, effectId: string): Promise<WorkroomEffectBlockerRecord | undefined>;\n append(\n input: Omit<WorkroomEffectBlockerRecord, 'version' | 'revision' | 'previousDigest' | 'digest'>,\n expectedDigest?: string,\n ): Promise<WorkroomEffectBlockerRecord>;\n}\n\nexport class FileWorkroomEffectBlockerRepository implements WorkroomEffectBlockerRepository {\n readonly #store: DurableFileStore;\n\n constructor(readonly directory: string) {\n this.#store = new DurableFileStore(directory);\n }\n\n async read(projectId: string, effectId: string): Promise<WorkroomEffectBlockerRecord | undefined> {\n const prefix = filePrefix(projectId, effectId);\n let names: readonly string[];\n try {\n names = (await readdir(this.directory)).filter(name => name.startsWith(prefix)).sort();\n } catch (error) {\n if (hasCode(error, 'ENOENT')) return undefined;\n throw error;\n }\n let prior: WorkroomEffectBlockerRecord | undefined;\n for (const [index, name] of names.entries()) {\n if (name !== fileName(projectId, effectId, index + 1)) {\n throw new Error('Effect blocker repository sequence gap');\n }\n const current = parseRecord(await readFile(join(this.directory, name), 'utf8'));\n if (current.projectId !== projectId || current.effectId !== effectId\n || current.revision !== index + 1 || current.previousDigest !== prior?.digest) {\n throw new Error('Effect blocker repository chain drift');\n }\n prior = current;\n }\n if (prior) await this.#store.syncLeaf();\n return prior;\n }\n\n async append(\n input: Omit<WorkroomEffectBlockerRecord, 'version' | 'revision' | 'previousDigest' | 'digest'>,\n expectedDigest?: string,\n ): Promise<WorkroomEffectBlockerRecord> {\n const current = await this.read(input.projectId, input.effectId);\n if (current?.digest !== expectedDigest) throw new Error('Effect blocker repository CAS conflict');\n const body = deepFreeze({\n version: 1 as const,\n projectId: required(input.projectId, 'projectId'),\n effectId: required(input.effectId, 'effectId'),\n revision: (current?.revision ?? 0) + 1,\n ...(current ? { previousDigest: current.digest } : {}),\n status: input.status,\n owner: input.owner,\n policy: deepFreeze(input.policy),\n reason: required(input.reason, 'reason'),\n deadline: positive(input.deadline, 'deadline'),\n allowedSuccessors: Object.freeze([...input.allowedSuccessors]),\n ...(input.resolvedAt === undefined ? {} : { resolvedAt: positive(input.resolvedAt, 'resolvedAt') }),\n });\n const record = deepFreeze<WorkroomEffectBlockerRecord>({ ...body, digest: digest(body) });\n validateRecord(record);\n await this.#store.ensureDurableLeaf('Effect blocker repository');\n const target = join(this.directory, fileName(input.projectId, input.effectId, record.revision));\n const result = await this.#store.publishCreateOnly({\n target,\n content: canonicalWorkroomJson(record),\n createdValue: record,\n onConflict: async () => {\n const existing = parseRecord(await readFile(target, 'utf8'));\n if (canonicalWorkroomJson(existing) !== canonicalWorkroomJson(record)) {\n throw new Error('Effect blocker repository CAS conflict');\n }\n return existing;\n },\n });\n return result.value;\n }\n}\n\nexport class DurableWorkroomEffectBlockerControl implements WorkroomEffectBlockerControlPort {\n constructor(\n readonly repository: WorkroomEffectBlockerRepository,\n readonly now: () => number = Date.now,\n ) {}\n\n async block(input: WorkroomEffectBlockerInput): Promise<void> {\n const current = await this.repository.read(input.projectId, input.effectId);\n if (current?.status === 'blocked' && current.deadline > this.now()\n && current.owner === input.owner && current.reason === input.reason\n && canonicalWorkroomJson(current.policy) === canonicalWorkroomJson(input.policy)\n && canonicalWorkroomJson(current.allowedSuccessors) === canonicalWorkroomJson(input.allowedSuccessors)) return;\n await this.repository.append({\n ...input,\n status: 'blocked',\n }, current?.digest);\n }\n\n async recover(projectId: string, effectId: string): Promise<void> {\n const current = await this.repository.read(projectId, effectId);\n if (!current || current.status === 'resolved') return;\n await this.repository.append({\n projectId,\n effectId,\n status: 'resolved',\n owner: current.owner,\n policy: current.policy,\n reason: current.reason,\n deadline: current.deadline,\n allowedSuccessors: current.allowedSuccessors,\n resolvedAt: this.now(),\n }, current.digest);\n }\n}\n\nfunction parseRecord(serialized: string): WorkroomEffectBlockerRecord {\n const value = JSON.parse(serialized) as WorkroomEffectBlockerRecord;\n validateRecord(value);\n const { digest: ignored, ...body } = value;\n void ignored;\n if (value.digest !== digest(body) || canonicalWorkroomJson(value) !== canonicalWorkroomJson({ ...body, digest: digest(body) })) {\n throw new Error('Effect blocker record digest drift');\n }\n return deepFreeze(value);\n}\n\nfunction validateRecord(value: WorkroomEffectBlockerRecord): void {\n if (value.version !== 1 || !['blocked', 'resolved'].includes(value.status)) {\n throw new Error('Effect blocker record is invalid');\n }\n required(value.projectId, 'projectId');\n required(value.effectId, 'effectId');\n positive(value.revision, 'revision');\n if (value.previousDigest !== undefined) requiredDigest(value.previousDigest, 'previousDigest');\n required(value.owner, 'owner');\n if (!['pinned_profile', 'root_emergency_fallback'].includes(value.policy?.kind)) {\n throw new Error('Effect blocker policy kind is invalid');\n }\n required(value.policy?.ref, 'blocker policy ref');\n requiredDigest(value.policy?.digest, 'blocker policy digest');\n required(value.reason, 'reason');\n positive(value.deadline, 'deadline');\n if (!Array.isArray(value.allowedSuccessors) || value.allowedSuccessors.length === 0\n || value.allowedSuccessors.some(item => !['retry', 'reconcile', 'cancel'].includes(item))) {\n throw new Error('Effect blocker allowed successors are invalid');\n }\n if (value.status === 'resolved' && value.resolvedAt === undefined) {\n throw new Error('Resolved Effect blocker requires resolvedAt');\n }\n requiredDigest(value.digest, 'digest');\n}\n\nfunction filePrefix(projectId: string, effectId: string): string {\n return `effect-blocker-${createHash('sha256').update(`${projectId}\\0${effectId}`).digest('hex')}-`;\n}\nfunction fileName(projectId: string, effectId: string, revision: number): string {\n return `${filePrefix(projectId, effectId)}${String(revision).padStart(12, '0')}.json`;\n}\nfunction required(value: unknown, label: string): string {\n if (typeof value !== 'string' || !value.trim() || value !== value.trim()) throw new Error(`${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)) throw new Error(`${label} is invalid`);\n return value;\n}\nfunction positive(value: unknown, label: string): number {\n if (!Number.isSafeInteger(value) || Number(value) < 1) throw new Error(`${label} is invalid`);\n return Number(value);\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"]}
@@ -208,4 +208,3 @@ export declare class WorkroomEffectLedger {
208
208
  export declare function replayWorkroomEffectLedger(projectId: string, events: readonly WorkroomEffectEvent[]): Readonly<Record<string, WorkroomEffectState>>;
209
209
  export declare function createWorkroomEffectEvent(projectId: string, sequence: number, draft: WorkroomEffectEventDraft): WorkroomEffectEvent;
210
210
  export declare function assertWorkroomEffectEvent(event: WorkroomEffectEvent, projectId: string, sequence: number): void;
211
- //# sourceMappingURL=effect-ledger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"effect-ledger.js","sourceRoot":"","sources":["../../src/workroom/effect-ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"effect-ledger.js","sourceRoot":"","sources":["../../src/workroom/effect-ledger.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n canonicalWorkroomJson,\n deepFreezeWorkroomValue as deepFreeze,\n digestCanonicalWorkroomValue as digest,\n} from './canonical-value.js';\n\nexport type WorkroomEffectOutcome = 'committed' | 'failed' | 'outcome_unknown';\nexport type WorkroomEffectStatus =\n | 'pending_authorization'\n | 'executing'\n | 'committed'\n | 'failed'\n | 'outcome_unknown'\n | 'cancelled';\n\nexport interface WorkroomEffectIntentInput {\n readonly projectId: string;\n readonly runId: string;\n readonly taskKey: string;\n readonly taskRevision: number;\n readonly candidateHash: string;\n readonly capability: Readonly<{ ref: string; digest: string }>;\n readonly operation:\n | Readonly<{\n kind: 'git_push';\n parameters: { repositoryId: string; ref: string; headSha: string; changedPaths: readonly string[] };\n }>\n | Readonly<{ kind: 'git_open_pr'; parameters: { repositoryId: string; headRef: string; baseRef: string; headSha: string } }>\n | Readonly<{ kind: 'git_merge_pr'; parameters: { repositoryId: string; pullNumber: number; headSha: string; baseRef: string; baseSha: string; protectionDigest: string; checksDigest: string } }>\n | Readonly<{ kind: 'git_cancel_remote'; parameters: { repositoryId: string; remoteOperationId: string } }>\n | Readonly<{ kind: 'delivery_release'; parameters: {\n repositoryId: string; headSha: string; artifactDigest: string; environment: string; pipelineRef: string;\n } }>\n | Readonly<{ kind: 'processor_recall'; parameters: {\n purgeId: string;\n objectId: string;\n locationId: string;\n locationAuthorityDigest: string;\n locationManifestDigest: string;\n attempt: number;\n fence: number;\n requestDigest: string;\n } }>\n | Readonly<{ kind: 'compensation'; parameters: { originalEffectId: string; operation: string; receiptRef: string } }>;\n readonly target: Readonly<{ ref: string; digest: string }>;\n readonly preconditions: readonly Readonly<{ ref: string; digest: string }>[];\n readonly risk: Readonly<{\n assessmentRef: string;\n assessmentDigest: string;\n tier: 'low' | 'medium' | 'high' | 'critical';\n }>;\n readonly reversibility:\n | Readonly<{ kind: 'discard_only' | 'irreversible' }>\n | Readonly<{\n kind: 'compensatable';\n compensation: Readonly<{ operation: string; requiresReceipt: true }>;\n }>;\n readonly idempotencyKey: string;\n readonly createdAt: number;\n}\n\nexport interface WorkroomEffectIntent extends WorkroomEffectIntentInput {\n readonly version: 1;\n readonly id: string;\n readonly digest: string;\n}\n\nexport interface WorkroomEffectAuthorization {\n readonly version: 1;\n readonly authorized: true;\n readonly intentId: string;\n readonly intentDigest: string;\n readonly candidateHash: string;\n readonly authorizationId: string;\n readonly authorizationDigest: string;\n readonly policy: Readonly<{ id: string; revision: number; digest: string }>;\n readonly authorizedBy: string;\n readonly expiresAt: number;\n}\n\nexport interface WorkroomEffectAuthorizationPort {\n authorize(input: Readonly<{\n projectId: string;\n expectedSequence: number;\n now: number;\n intent: WorkroomEffectIntent;\n }>): Promise<WorkroomEffectAuthorization>;\n}\n\nexport interface WorkroomEffectAttempt {\n readonly id: string;\n readonly operationId: string;\n readonly workerId: string;\n readonly fence: number;\n readonly startedAt: number;\n readonly idempotencyKey: string;\n readonly intentDigest: string;\n readonly authorizationDigest: string;\n}\n\nexport interface WorkroomEffectGatewayReceipt {\n readonly version: 1;\n readonly receiptId: string;\n readonly intentId: string;\n readonly intentDigest: string;\n readonly authorizationDigest: string;\n readonly attemptId: string;\n readonly fence: number;\n readonly provider: Readonly<{ id: string; digest: string }>;\n readonly outcome: WorkroomEffectOutcome;\n readonly remoteRef: string;\n readonly remoteDigest: string;\n readonly observedAt: number;\n readonly authenticatedBy: string;\n}\n\nexport interface WorkroomEffectState {\n readonly projectId: string;\n readonly sequence: number;\n readonly status: WorkroomEffectStatus;\n readonly intent: WorkroomEffectIntent;\n readonly authorization?: WorkroomEffectAuthorization;\n readonly attempt?: WorkroomEffectAttempt;\n readonly receipt?: WorkroomEffectGatewayReceipt;\n readonly cancelledAt?: number;\n}\n\nexport type WorkroomEffectEventType =\n | 'effect.intent_recorded'\n | 'effect.attempt_started'\n | 'effect.receipt_recorded'\n | 'effect.cancelled';\n\nexport interface WorkroomEffectEventDraft {\n readonly type: WorkroomEffectEventType;\n readonly payload: Readonly<Record<string, unknown>>;\n}\n\nexport interface WorkroomEffectEvent extends WorkroomEffectEventDraft {\n readonly version: 1;\n readonly projectId: string;\n readonly sequence: number;\n readonly digest: string;\n}\n\nexport interface WorkroomEffectJournal {\n read(projectId: string): Promise<readonly WorkroomEffectEvent[]>;\n append(\n projectId: string,\n expectedSequence: number,\n drafts: readonly WorkroomEffectEventDraft[],\n ): Promise<readonly WorkroomEffectEvent[]>;\n}\n\nexport class WorkroomEffectSequenceConflictError extends Error {\n constructor(readonly expected: number, readonly actual: number) {\n super(`Workroom Effect Ledger sequence conflict: expected ${expected}, actual ${actual}`);\n this.name = 'WorkroomEffectSequenceConflictError';\n }\n}\n\nexport class MemoryWorkroomEffectJournal implements WorkroomEffectJournal {\n readonly #projects = new Map<string, readonly WorkroomEffectEvent[]>();\n\n async read(projectId: string): Promise<readonly WorkroomEffectEvent[]> {\n return this.#projects.get(required(projectId, 'projectId')) ?? Object.freeze([]);\n }\n\n async append(\n projectId: string,\n expectedSequence: number,\n drafts: readonly WorkroomEffectEventDraft[],\n ): Promise<readonly WorkroomEffectEvent[]> {\n // Keep compare-and-append synchronous: yielding after the read lets two\n // writers both claim the same sequence and dispatch the same side effect.\n const current = this.#projects.get(required(projectId, 'projectId')) ?? Object.freeze([]);\n const actual = current.length - 1;\n if (actual !== expectedSequence) throw new WorkroomEffectSequenceConflictError(expectedSequence, actual);\n const appended = drafts.map((draft, index) => createWorkroomEffectEvent(\n projectId,\n expectedSequence + index + 1,\n draft,\n ));\n const next = Object.freeze([...current, ...appended]);\n replayWorkroomEffectLedger(projectId, next);\n this.#projects.set(projectId, next);\n return appended;\n }\n}\n\nexport function createWorkroomEffectIntent(input: WorkroomEffectIntentInput): WorkroomEffectIntent {\n const body = normalizeIntent(input);\n const intentDigest = digest(body);\n return deepFreeze({\n ...body,\n id: `effect:${intentDigest}`,\n digest: intentDigest,\n });\n}\n\nexport class WorkroomEffectLedger {\n constructor(\n readonly journal: WorkroomEffectJournal,\n readonly authorization?: WorkroomEffectAuthorizationPort,\n ) {}\n\n async recordIntent(projectId: string, intent: WorkroomEffectIntent): Promise<WorkroomEffectState> {\n const canonical = assertIntent(intent);\n if (canonical.projectId !== projectId) throw new Error('Workroom Effect Project binding drift');\n const events = await this.journal.read(projectId);\n const states = replayWorkroomEffectLedger(projectId, events);\n const existing = states[canonical.id];\n if (existing) {\n if (canonicalWorkroomJson(existing.intent) !== canonicalWorkroomJson(canonical)) {\n throw new Error('Workroom Effect Intent identity drift');\n }\n return existing;\n }\n await this.journal.append(projectId, events.length - 1, [{\n type: 'effect.intent_recorded', payload: { intent: canonical },\n }]);\n return await this.read(projectId, canonical.id);\n }\n\n async startAuthorizedAttempt(\n projectId: string,\n effectId: string,\n input: Readonly<{ operationId: string; workerId: string; fence: number; startedAt: number }>,\n signal?: AbortSignal,\n ): Promise<WorkroomEffectState> {\n const events = await this.journal.read(projectId);\n const state = requireState(replayWorkroomEffectLedger(projectId, events), effectId);\n if (state.status === 'outcome_unknown') {\n throw new Error('Workroom Effect outcome requires reconciliation before another attempt');\n }\n if (state.status !== 'pending_authorization') {\n if (state.attempt?.operationId === input.operationId) return state;\n throw new Error(`Workroom Effect cannot start from ${state.status}`);\n }\n if (!this.authorization) throw new Error('Trusted Workroom Effect Authorization Port is unavailable');\n signal?.throwIfAborted();\n const authorization = await this.authorization.authorize({\n projectId,\n expectedSequence: events.length - 1,\n now: input.startedAt,\n intent: state.intent,\n });\n signal?.throwIfAborted();\n assertAuthorization(authorization, state.intent, input.startedAt);\n const attempt = createAttempt(input, state.intent, authorization);\n // Authorization and the externally-visible attempt are one durable fact. A\n // crash must never leave an authorization-only state that can be replayed\n // into a second operation.\n await this.journal.append(projectId, events.length - 1, [{\n type: 'effect.attempt_started', payload: { effectId, authorization, attempt },\n }]);\n return await this.read(projectId, effectId);\n }\n\n async recordReceipt(\n projectId: string,\n effectId: string,\n receipt: WorkroomEffectGatewayReceipt,\n ): Promise<WorkroomEffectState> {\n const events = await this.journal.read(projectId);\n const state = requireState(replayWorkroomEffectLedger(projectId, events), effectId);\n if (state.receipt?.receiptId === receipt.receiptId) {\n if (canonicalWorkroomJson(state.receipt) !== canonicalWorkroomJson(receipt)) {\n throw new Error('Workroom Effect receipt identity drift');\n }\n return state;\n }\n if (state.status !== 'executing' && state.status !== 'outcome_unknown') {\n throw new Error(`Workroom Effect cannot record receipt from ${state.status}`);\n }\n assertGatewayReceipt(receipt, state);\n await this.journal.append(projectId, events.length - 1, [{\n type: 'effect.receipt_recorded', payload: { effectId, receipt: deepFreeze(receipt) },\n }]);\n return await this.read(projectId, effectId);\n }\n\n async cancelPending(\n projectId: string,\n effectId: string,\n operationId: string,\n cancelledAt: number,\n ): Promise<WorkroomEffectState> {\n const events = await this.journal.read(projectId);\n const state = requireState(replayWorkroomEffectLedger(projectId, events), effectId);\n if (state.status !== 'pending_authorization') {\n throw new Error('Workroom Effect already started and cannot be cancelled as unexecuted');\n }\n await this.journal.append(projectId, events.length - 1, [{\n type: 'effect.cancelled', payload: {\n effectId, operationId: required(operationId, 'cancel operationId'),\n cancelledAt: nonNegative(cancelledAt, 'cancelledAt'),\n },\n }]);\n return await this.read(projectId, effectId);\n }\n\n async read(projectId: string, effectId: string): Promise<WorkroomEffectState> {\n return requireState(\n replayWorkroomEffectLedger(projectId, await this.journal.read(projectId)),\n effectId,\n );\n }\n}\n\nexport function replayWorkroomEffectLedger(\n projectId: string,\n events: readonly WorkroomEffectEvent[],\n): Readonly<Record<string, WorkroomEffectState>> {\n const states: Record<string, WorkroomEffectState> = {};\n const idempotencyKeys = new Set<string>();\n events.forEach((event, sequence) => {\n assertWorkroomEffectEvent(event, projectId, sequence);\n if (event.type === 'effect.intent_recorded') {\n const intent = assertIntent(event.payload.intent as WorkroomEffectIntent);\n if (intent.projectId !== projectId) throw new Error('Workroom Effect Project binding drift');\n if (states[intent.id]) throw new Error(`Duplicate Workroom Effect Intent ${intent.id}`);\n if (idempotencyKeys.has(intent.idempotencyKey)) {\n throw new Error('Workroom Effect idempotency key is already bound to an Intent');\n }\n idempotencyKeys.add(intent.idempotencyKey);\n states[intent.id] = deepFreeze({\n projectId, sequence, status: 'pending_authorization', intent,\n });\n return;\n }\n const effectId = required(event.payload.effectId, 'effectId');\n const current = states[effectId];\n if (!current) throw new Error(`Workroom Effect ${effectId} is absent`);\n if (event.type === 'effect.attempt_started') {\n if (current.status !== 'pending_authorization') {\n throw new Error('Effect attempt started without authorization');\n }\n const authorization = event.payload.authorization as WorkroomEffectAuthorization;\n const attempt = event.payload.attempt as WorkroomEffectAttempt;\n assertAuthorization(authorization, current.intent, attempt.startedAt);\n const authorizedState = deepFreeze({ ...current, authorization });\n assertAttempt(attempt, authorizedState);\n states[effectId] = deepFreeze({ ...authorizedState, sequence, status: 'executing', attempt });\n return;\n }\n if (event.type === 'effect.receipt_recorded') {\n if (current.status !== 'executing' && current.status !== 'outcome_unknown') {\n throw new Error('Effect receipt state drift');\n }\n const receipt = event.payload.receipt as WorkroomEffectGatewayReceipt;\n assertGatewayReceipt(receipt, current);\n states[effectId] = deepFreeze({\n ...current, sequence, status: receipt.outcome, receipt,\n });\n return;\n }\n if (current.status !== 'pending_authorization') throw new Error('Effect cancellation state drift');\n required(event.payload.operationId, 'cancel operationId');\n states[effectId] = deepFreeze({\n ...current, sequence, status: 'cancelled',\n cancelledAt: nonNegative(event.payload.cancelledAt, 'cancelledAt'),\n });\n });\n return deepFreeze(states);\n}\n\nfunction normalizeIntent(input: WorkroomEffectIntentInput) {\n required(input.projectId, 'projectId');\n required(input.runId, 'runId');\n required(input.taskKey, 'taskKey');\n positive(input.taskRevision, 'taskRevision');\n requiredDigest(input.candidateHash, 'candidateHash');\n const operation = normalizeOperation(input.operation);\n const reversibility = normalizeReversibility(input.reversibility);\n const body = deepFreeze({\n version: 1 as const,\n projectId: input.projectId,\n runId: input.runId,\n taskKey: input.taskKey,\n taskRevision: input.taskRevision,\n candidateHash: input.candidateHash,\n capability: reference(input.capability, 'capability'),\n operation,\n target: reference(input.target, 'target'),\n preconditions: Object.freeze(input.preconditions.map(item => reference(item, 'precondition'))),\n risk: deepFreeze({\n assessmentRef: required(input.risk.assessmentRef, 'risk assessmentRef'),\n assessmentDigest: requiredDigest(input.risk.assessmentDigest, 'risk assessmentDigest'),\n tier: enumValue(input.risk.tier, ['low', 'medium', 'high', 'critical'], 'risk tier'),\n }),\n reversibility,\n idempotencyKey: required(input.idempotencyKey, 'idempotencyKey'),\n createdAt: nonNegative(input.createdAt, 'createdAt'),\n });\n rejectForbiddenKeys(body);\n return body;\n}\n\nfunction normalizeOperation(operation: WorkroomEffectIntentInput['operation']) {\n if (operation.kind === 'git_push') {\n assertParameterKeys(operation.parameters, ['repositoryId', 'ref', 'headSha', 'changedPaths']);\n if (!Array.isArray(operation.parameters.changedPaths) || operation.parameters.changedPaths.length === 0) {\n throw new Error('Git push Effect requires changed paths');\n }\n return deepFreeze({\n kind: operation.kind,\n parameters: deepFreeze({\n repositoryId: required(operation.parameters.repositoryId, 'repositoryId'),\n ref: required(operation.parameters.ref, 'ref'),\n headSha: gitSha(operation.parameters.headSha, 'headSha'),\n changedPaths: Object.freeze(operation.parameters.changedPaths.map(path => required(path, 'changed path')).sort()),\n }),\n });\n }\n if (operation.kind === 'git_open_pr') {\n assertParameterKeys(operation.parameters, ['repositoryId', 'headRef', 'baseRef', 'headSha']);\n return deepFreeze({\n kind: operation.kind,\n parameters: deepFreeze({\n repositoryId: required(operation.parameters.repositoryId, 'repositoryId'),\n headRef: required(operation.parameters.headRef, 'headRef'),\n baseRef: required(operation.parameters.baseRef, 'baseRef'),\n headSha: gitSha(operation.parameters.headSha, 'headSha'),\n }),\n });\n }\n if (operation.kind === 'git_merge_pr') {\n assertParameterKeys(operation.parameters, ['repositoryId', 'pullNumber', 'headSha', 'baseRef', 'baseSha', 'protectionDigest', 'checksDigest']);\n return deepFreeze({ kind: operation.kind, parameters: deepFreeze({\n repositoryId: required(operation.parameters.repositoryId, 'repositoryId'),\n pullNumber: positive(operation.parameters.pullNumber, 'pullNumber'),\n headSha: gitSha(operation.parameters.headSha, 'headSha'),\n baseRef: required(operation.parameters.baseRef, 'baseRef'),\n baseSha: gitSha(operation.parameters.baseSha, 'baseSha'),\n protectionDigest: requiredDigest(operation.parameters.protectionDigest, 'protectionDigest'),\n checksDigest: requiredDigest(operation.parameters.checksDigest, 'checksDigest'),\n }) });\n }\n if (operation.kind === 'git_cancel_remote') {\n assertParameterKeys(operation.parameters, ['repositoryId', 'remoteOperationId']);\n return deepFreeze({\n kind: operation.kind,\n parameters: deepFreeze({\n repositoryId: required(operation.parameters.repositoryId, 'repositoryId'),\n remoteOperationId: required(operation.parameters.remoteOperationId, 'remoteOperationId'),\n }),\n });\n }\n if (operation.kind === 'delivery_release') {\n assertParameterKeys(operation.parameters, ['repositoryId', 'headSha', 'artifactDigest', 'environment', 'pipelineRef']);\n return deepFreeze({\n kind: operation.kind,\n parameters: deepFreeze({\n repositoryId: required(operation.parameters.repositoryId, 'repositoryId'),\n headSha: gitSha(operation.parameters.headSha, 'headSha'),\n artifactDigest: requiredDigest(operation.parameters.artifactDigest, 'artifactDigest'),\n environment: required(operation.parameters.environment, 'environment'),\n pipelineRef: required(operation.parameters.pipelineRef, 'pipelineRef'),\n }),\n });\n }\n if (operation.kind === 'processor_recall') {\n assertParameterKeys(operation.parameters, [\n 'purgeId', 'objectId', 'locationId', 'locationAuthorityDigest',\n 'locationManifestDigest', 'attempt', 'fence', 'requestDigest',\n ]);\n return deepFreeze({\n kind: operation.kind,\n parameters: deepFreeze({\n purgeId: required(operation.parameters.purgeId, 'purgeId'),\n objectId: required(operation.parameters.objectId, 'objectId'),\n locationId: required(operation.parameters.locationId, 'locationId'),\n locationAuthorityDigest: requiredDigest(\n operation.parameters.locationAuthorityDigest, 'locationAuthorityDigest',\n ),\n locationManifestDigest: requiredDigest(\n operation.parameters.locationManifestDigest, 'locationManifestDigest',\n ),\n attempt: positive(operation.parameters.attempt, 'processor recall attempt'),\n fence: positive(operation.parameters.fence, 'processor recall fence'),\n requestDigest: requiredDigest(operation.parameters.requestDigest, 'processor recall requestDigest'),\n }),\n });\n }\n if (operation.kind === 'compensation') {\n assertParameterKeys(operation.parameters, ['originalEffectId', 'operation', 'receiptRef']);\n return deepFreeze({\n kind: operation.kind,\n parameters: deepFreeze({\n originalEffectId: required(operation.parameters.originalEffectId, 'originalEffectId'),\n operation: required(operation.parameters.operation, 'compensation operation'),\n receiptRef: required(operation.parameters.receiptRef, 'receiptRef'),\n }),\n });\n }\n throw new Error('Workroom Effect operation kind is invalid');\n}\n\nfunction normalizeReversibility(value: WorkroomEffectIntentInput['reversibility']) {\n if (value.kind === 'compensatable') {\n if (value.compensation?.requiresReceipt !== true) {\n throw new Error('Compensation requires the original Effect receipt');\n }\n return deepFreeze({\n kind: value.kind,\n compensation: deepFreeze({\n operation: required(value.compensation.operation, 'compensation operation'),\n requiresReceipt: true as const,\n }),\n });\n }\n return deepFreeze({ kind: enumValue(value.kind, ['discard_only', 'irreversible'], 'reversibility') });\n}\n\nfunction assertIntent(intent: WorkroomEffectIntent): WorkroomEffectIntent {\n const canonical = createWorkroomEffectIntent(intent);\n if (intent.id !== canonical.id || intent.digest !== canonical.digest\n || canonicalWorkroomJson(intent) !== canonicalWorkroomJson(canonical)) {\n throw new Error('Workroom Effect Intent content address drift');\n }\n return canonical;\n}\n\nfunction createAttempt(\n input: Readonly<{ operationId: string; workerId: string; fence: number; startedAt: number }>,\n intent: WorkroomEffectIntent,\n authorization: WorkroomEffectAuthorization,\n): WorkroomEffectAttempt {\n return deepFreeze({\n id: `effect-attempt:${required(input.operationId, 'operationId')}`,\n operationId: input.operationId,\n workerId: required(input.workerId, 'workerId'),\n fence: positive(input.fence, 'fence'),\n startedAt: nonNegative(input.startedAt, 'startedAt'),\n idempotencyKey: intent.idempotencyKey,\n intentDigest: intent.digest,\n authorizationDigest: authorization.authorizationDigest,\n });\n}\n\nfunction assertAuthorization(\n value: WorkroomEffectAuthorization,\n intent: WorkroomEffectIntent,\n now: number,\n): void {\n if (value.version !== 1 || value.authorized !== true\n || value.intentId !== intent.id || value.intentDigest !== intent.digest\n || value.candidateHash !== intent.candidateHash) {\n throw new Error('Workroom Effect authorization binding drift');\n }\n required(value.authorizationId, 'authorizationId');\n requiredDigest(value.authorizationDigest, 'authorizationDigest');\n required(value.policy?.id, 'authorization policy id');\n positive(value.policy?.revision, 'authorization policy revision');\n requiredDigest(value.policy?.digest, 'authorization policy digest');\n required(value.authorizedBy, 'authorizedBy');\n if (!Number.isSafeInteger(value.expiresAt) || value.expiresAt <= now) {\n throw new Error('Workroom Effect authorization is expired');\n }\n}\n\nfunction assertAttempt(attempt: WorkroomEffectAttempt, state: WorkroomEffectState): void {\n if (!state.authorization || attempt.intentDigest !== state.intent.digest\n || attempt.authorizationDigest !== state.authorization.authorizationDigest\n || attempt.idempotencyKey !== state.intent.idempotencyKey) {\n throw new Error('Workroom Effect attempt binding drift');\n }\n required(attempt.operationId, 'attempt operationId');\n required(attempt.workerId, 'attempt workerId');\n if (attempt.id !== `effect-attempt:${attempt.operationId}`) {\n throw new Error('Workroom Effect attempt identity drift');\n }\n positive(attempt.fence, 'attempt fence');\n nonNegative(attempt.startedAt, 'attempt startedAt');\n}\n\nfunction assertGatewayReceipt(receipt: WorkroomEffectGatewayReceipt, state: WorkroomEffectState): void {\n if (!state.authorization || !state.attempt\n || receipt.version !== 1\n || receipt.intentId !== state.intent.id\n || receipt.intentDigest !== state.intent.digest\n || receipt.authorizationDigest !== state.authorization.authorizationDigest\n || receipt.attemptId !== state.attempt.id\n || receipt.fence !== state.attempt.fence) {\n throw new Error('Workroom Effect gateway receipt binding drift');\n }\n required(receipt.receiptId, 'receiptId');\n required(receipt.provider?.id, 'provider id');\n requiredDigest(receipt.provider?.digest, 'provider digest');\n enumValue(receipt.outcome, ['committed', 'failed', 'outcome_unknown'], 'Effect outcome');\n required(receipt.remoteRef, 'remoteRef');\n requiredDigest(receipt.remoteDigest, 'remoteDigest');\n nonNegative(receipt.observedAt, 'observedAt');\n required(receipt.authenticatedBy, 'authenticatedBy');\n}\n\nexport function createWorkroomEffectEvent(\n projectId: string,\n sequence: number,\n draft: WorkroomEffectEventDraft,\n): WorkroomEffectEvent {\n const body = deepFreeze({\n version: 1 as const,\n projectId: required(projectId, 'projectId'),\n sequence: nonNegative(sequence, 'sequence'),\n type: draft.type,\n payload: deepFreeze(draft.payload),\n });\n return deepFreeze({ ...body, digest: digest(body) });\n}\n\nexport function assertWorkroomEffectEvent(event: WorkroomEffectEvent, projectId: string, sequence: number): void {\n const canonical = createWorkroomEffectEvent(projectId, sequence, event);\n if (event.digest !== canonical.digest\n || canonicalWorkroomJson(event) !== canonicalWorkroomJson(canonical)) {\n throw new Error('Workroom Effect Journal event drift');\n }\n const keysByType: Record<WorkroomEffectEventType, readonly string[]> = {\n 'effect.intent_recorded': ['intent'],\n 'effect.attempt_started': ['effectId', 'authorization', 'attempt'],\n 'effect.receipt_recorded': ['effectId', 'receipt'],\n 'effect.cancelled': ['effectId', 'operationId', 'cancelledAt'],\n };\n const keys = keysByType[event.type];\n if (!keys) throw new Error('Workroom Effect Journal event type is invalid');\n assertParameterKeys(event.payload as Record<string, unknown>, keys);\n}\n\nfunction requireState(\n states: Readonly<Record<string, WorkroomEffectState>>,\n effectId: string,\n): WorkroomEffectState {\n const state = states[required(effectId, 'effectId')];\n if (!state) throw new Error(`Workroom Effect ${effectId} not found`);\n return state;\n}\n\nfunction reference(value: Readonly<{ ref: string; digest: string }>, label: string) {\n return deepFreeze({\n ref: required(value?.ref, `${label} ref`),\n digest: requiredDigest(value?.digest, `${label} digest`),\n });\n}\n\nfunction assertParameterKeys(input: Record<string, unknown>, keys: readonly string[]): void {\n const actual = Object.keys(input).sort();\n if (actual.length !== keys.length || keys.some(key => !actual.includes(key))) {\n throw new Error(`Workroom Effect operation contains forbidden field ${actual.find(key => !keys.includes(key)) ?? 'missing'}`);\n }\n}\n\nfunction rejectForbiddenKeys(value: unknown): void {\n if (!value || typeof value !== 'object') return;\n for (const [key, child] of Object.entries(value)) {\n if (/(credential|token|password|secret|privatekey|content|body)/iu.test(key)) {\n throw new Error(`Workroom Effect contains forbidden field ${key}`);\n }\n rejectForbiddenKeys(child);\n }\n}\n\nfunction required(value: unknown, label: string): string {\n if (typeof value !== 'string' || !value.trim() || value !== value.trim()) throw new Error(`${label} is invalid`);\n return value;\n}\n\nfunction requiredDigest(value: unknown, label: string): string {\n if (typeof value !== 'string' || !/^sha256:[a-f0-9]{64}$/u.test(value)) throw new Error(`${label} is invalid`);\n return value;\n}\n\nfunction gitSha(value: unknown, label: string): string {\n if (typeof value !== 'string' || !/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/u.test(value)) throw new Error(`${label} is invalid`);\n return value;\n}\n\nfunction positive(value: unknown, label: string): number {\n if (!Number.isSafeInteger(value) || Number(value) < 1) throw new Error(`${label} is invalid`);\n return Number(value);\n}\n\nfunction nonNegative(value: unknown, label: string): number {\n if (!Number.isSafeInteger(value) || Number(value) < 0) throw new Error(`${label} is invalid`);\n return Number(value);\n}\n\nfunction enumValue<T extends string>(value: unknown, allowed: readonly T[], label: string): T {\n if (!allowed.includes(value as T)) throw new Error(`${label} is invalid`);\n return value as T;\n}\n"]}
@@ -12,4 +12,3 @@ export declare class FileProjectMemoryApplicationRepository implements ProjectMe
12
12
  read(projectId: string): Promise<readonly WorkroomAcceptedSourceApplicationEvent[]>;
13
13
  append(projectId: string, expectedStateRevision: number, projection: WorkroomAcceptedSourceProjection): Promise<WorkroomAcceptedSourceApplicationEvent>;
14
14
  }
15
- //# sourceMappingURL=file-accepted-source-memory-repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-accepted-source-memory-repository.js","sourceRoot":"","sources":["../../src/workroom/file-accepted-source-memory-repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-accepted-source-memory-repository.js","sourceRoot":"","sources":["../../src/workroom/file-accepted-source-memory-repository.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHash } from 'node:crypto';\nimport { readFile, readdir } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport {\n ProjectMemoryStateRevisionConflictError,\n assertProjectMemoryApplicationEvent,\n createProjectMemoryApplicationEvent,\n findExactProjectMemoryApplicationReplay,\n replayProjectMemoryApplication,\n type ProjectMemoryApplicationRepository,\n type WorkroomAcceptedSourceApplicationEvent,\n} from './accepted-source-memory-application.js';\nimport type { WorkroomAcceptedSourceProjection } from './accepted-source-projector.js';\nimport {\n canonicalWorkroomJson,\n deepFreezeWorkroomValue as deepFreeze,\n digestCanonicalWorkroomValue as digest,\n} from './canonical-value.js';\nimport { DurableFileStore, isDurableFileStagingName } from './durable-file-store.js';\n\ninterface ProjectMemorySegmentPayload {\n readonly version: 1;\n readonly projectId: string;\n readonly expectedStateRevision: number;\n readonly event: WorkroomAcceptedSourceApplicationEvent;\n}\n\ninterface ProjectMemorySegment extends ProjectMemorySegmentPayload {\n readonly payloadDigest: string;\n}\n\n/**\n * Crash-durable accepted-source journal. Each State Revision is published by a\n * create-only hard link; its immutable segment contains Task Memory, State\n * Patch and the context-release eligibility in one atomic fact.\n */\nexport class FileProjectMemoryApplicationRepository implements ProjectMemoryApplicationRepository {\n readonly #store: DurableFileStore;\n\n constructor(readonly directory: string) {\n this.#store = new DurableFileStore(directory);\n }\n\n async read(projectId: string): Promise<readonly WorkroomAcceptedSourceApplicationEvent[]> {\n const id = canonicalId(projectId);\n const prefix = projectPrefix(id);\n let names: readonly string[];\n try {\n names = await readdir(this.directory);\n } catch (error) {\n if (hasCode(error, 'ENOENT')) return Object.freeze([]);\n throw error;\n }\n const pattern = segmentPattern(prefix);\n // Ignore only unpublished staging files; malformed segment names remain errors.\n const candidates = names.filter(name => name.startsWith(prefix)\n && !isDurableFileStagingName(name, pattern));\n if (candidates.some(name => !pattern.test(name))) {\n throw new Error('Invalid Project Memory Journal segment name');\n }\n const events = await Promise.all(candidates.sort().map(async name =>\n (await parseSegment(\n await readFile(join(this.directory, name), 'utf8'),\n id,\n Number(name.slice(prefix.length, prefix.length + 16)),\n )).event));\n replayProjectMemoryApplication(id, events);\n if (events.length > 0) await this.#store.syncLeaf();\n return deepFreeze(events);\n }\n\n async append(\n projectId: string,\n expectedStateRevision: number,\n projection: WorkroomAcceptedSourceProjection,\n ): Promise<WorkroomAcceptedSourceApplicationEvent> {\n const id = canonicalId(projectId);\n assertRevision(expectedStateRevision);\n const current = await this.read(id);\n const replay = findExactProjectMemoryApplicationReplay(current, projection);\n if (replay) return replay;\n const actual = current.at(-1)?.stateRevision ?? 0;\n if (actual !== expectedStateRevision) {\n throw new ProjectMemoryStateRevisionConflictError(id, expectedStateRevision, actual);\n }\n const event = createProjectMemoryApplicationEvent(id, expectedStateRevision + 1, projection);\n replayProjectMemoryApplication(id, Object.freeze([...current, event]));\n const payload = deepFreeze<ProjectMemorySegmentPayload>({\n version: 1,\n projectId: id,\n expectedStateRevision,\n event,\n });\n const segment = deepFreeze<ProjectMemorySegment>({\n ...payload,\n payloadDigest: digest(payload),\n });\n await this.#store.ensureDurableLeaf('Project Memory Journal');\n const target = join(this.directory, segmentName(id, event.stateRevision));\n const published = await this.#store.publishCreateOnly({\n target,\n content: canonicalWorkroomJson(segment),\n createdValue: event,\n onConflict: async () => {\n const winner = await this.read(id);\n const exact = findExactProjectMemoryApplicationReplay(winner, projection);\n if (exact) return exact;\n throw new ProjectMemoryStateRevisionConflictError(\n id,\n expectedStateRevision,\n winner.at(-1)?.stateRevision ?? 0,\n );\n },\n });\n return published.value;\n }\n}\n\nasync function parseSegment(\n serialized: string,\n projectId: string,\n stateRevision: number,\n): Promise<ProjectMemorySegment> {\n let parsed: unknown;\n try {\n parsed = JSON.parse(serialized);\n } catch (error) {\n throw new Error('Project Memory Journal segment is not valid JSON', { cause: error });\n }\n if (!isRecord(parsed) || parsed.version !== 1 || parsed.projectId !== projectId\n || parsed.expectedStateRevision !== stateRevision - 1 || !isRecord(parsed.event)\n || typeof parsed.payloadDigest !== 'string') {\n throw new Error('Invalid Project Memory Journal segment');\n }\n const segment = parsed as unknown as ProjectMemorySegment;\n const payload: ProjectMemorySegmentPayload = {\n version: segment.version,\n projectId: segment.projectId,\n expectedStateRevision: segment.expectedStateRevision,\n event: segment.event,\n };\n if (segment.payloadDigest !== digest(payload)) {\n throw new Error('Project Memory Journal segment digest mismatch');\n }\n assertProjectMemoryApplicationEvent(segment.event, projectId, stateRevision);\n return deepFreeze(segment);\n}\n\nfunction projectPrefix(projectId: string): string {\n return createHash('sha256').update(projectId).digest('hex') + '.';\n}\n\nfunction segmentName(projectId: string, revision: number): string {\n return projectPrefix(projectId) + String(revision).padStart(16, '0') + '.json';\n}\n\nfunction segmentPattern(prefix: string): RegExp {\n return new RegExp(`^${prefix}[0-9]{16}\\\\.json$`, 'u');\n}\n\nfunction canonicalId(value: string): string {\n if (typeof value !== 'string' || value.trim().length === 0 || value !== value.trim()) {\n throw new Error('projectId must be a non-empty canonical string');\n }\n return value;\n}\n\nfunction assertRevision(value: number): void {\n if (!Number.isSafeInteger(value) || value < 0) throw new Error('Invalid Project State revision');\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value && typeof value === 'object' && !Array.isArray(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"]}
@@ -22,4 +22,3 @@ export declare class FileCodingExecutionStore implements CodingReportPort {
22
22
  }>;
23
23
  }
24
24
  export {};
25
- //# sourceMappingURL=file-coding-execution-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-coding-execution-store.js","sourceRoot":"","sources":["../../src/workroom/file-coding-execution-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-coding-execution-store.js","sourceRoot":"","sources":["../../src/workroom/file-coding-execution-store.ts"],"names":[],"mappings":"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","sourcesContent":["import { lstat, readFile } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport { assertAssignmentExecutionEnvelope, type AssignmentExecutionEnvelope } from './assignment-executor.js';\nimport { deepFreezeWorkroomValue as freeze, digestCanonicalWorkroomValue as digest } from './canonical-value.js';\nimport type { CodingReportPort } from './coding-assignment-executor.js';\nimport { DurableFileStore, type DurableFileSystem } from './durable-file-store.js';\n\ntype StoredReport = { ref: string; digest: string; report: Readonly<Record<string, unknown>> };\ninterface Claim { version: 1; kind: 'coding_dispatch'; envelope: AssignmentExecutionEnvelope }\n\n/**\n * Immutable dispatch/production facts only. This store grants no lease or permission:\n * SnapshotPort.assertCurrent must still consult the existing Assignment authority.\n * A claim without a report is query/manual-reconciliation only and is never redispatched.\n */\nexport class FileCodingExecutionStore implements CodingReportPort {\n readonly #store: DurableFileStore;\n constructor(directory: string, fileSystem?: DurableFileSystem) {\n this.#store = new DurableFileStore(directory, fileSystem);\n }\n\n async claimExecution(envelope: AssignmentExecutionEnvelope, signal: AbortSignal): Promise<void> {\n assertAssignmentExecutionEnvelope(envelope);\n signal.throwIfAborted();\n await this.#store.ensureDurableLeaf('Coding execution facts');\n const record: Claim = { version: 1, kind: 'coding_dispatch', envelope };\n const content = JSON.stringify(record);\n signal.throwIfAborted();\n await this.#store.publishCreateOnly({\n target: this.#path('claim', envelope.digest), content, createdValue: undefined,\n onConflict: async () => {\n const existing = await this.#claim(envelope.digest);\n if (!existing || digest(existing) !== digest(record)) throw new Error('Coding dispatch claim collision or incomplete record');\n throw new Error('Coding execution already dispatched; recover report or reconcile manually');\n },\n });\n // A cancellation after durable publication retains the fact and prevents unsafe retries.\n signal.throwIfAborted();\n }\n\n async find(envelopeDigest: string, signal: AbortSignal): Promise<StoredReport | undefined> {\n signal.throwIfAborted();\n const claim = await this.#claim(envelopeDigest);\n const value = await this.#read(this.#path('report', envelopeDigest));\n if (value === undefined) return undefined;\n if (!claim) throw new Error('Coding report has no dispatch claim');\n const stored = this.#validateStored(value, envelopeDigest, claim);\n // Complete a previous publication whose response/directory sync may have been lost.\n await this.#store.syncLeaf();\n signal.throwIfAborted();\n return stored;\n }\n\n async save(input: Readonly<Record<string, unknown>>, signal: AbortSignal): Promise<{ ref: string; digest: string }> {\n signal.throwIfAborted();\n const report = JSON.parse(JSON.stringify(input)) as Readonly<Record<string, unknown>>;\n const envelopeDigest = report.envelopeDigest;\n if (typeof envelopeDigest !== 'string') throw new Error('Coding report requires envelope digest');\n const claim = await this.#claim(envelopeDigest);\n if (!claim) throw new Error('Coding report requires a durable dispatch claim');\n const stored = this.#validateStored({ ref: `coding-report:${envelopeDigest}`, digest: digest(report), report }, envelopeDigest, claim);\n const content = JSON.stringify(stored);\n if (Buffer.byteLength(content) > 1024 * 1024) throw new Error('Coding report exceeds storage budget');\n signal.throwIfAborted();\n await this.#store.publishCreateOnly({\n target: this.#path('report', envelopeDigest), content, createdValue: stored,\n onConflict: async () => {\n const existing = await this.find(envelopeDigest, signal);\n if (!existing || existing.digest !== stored.digest) throw new Error('Coding immutable report collision');\n return existing;\n },\n });\n signal.throwIfAborted();\n return { ref: stored.ref, digest: stored.digest };\n }\n\n #path(kind: 'claim' | 'report', envelopeDigest: string): string {\n if (!/^sha256:[a-f0-9]{64}$/u.test(envelopeDigest)) throw new Error('Coding storage requires exact envelope digest');\n return join(this.#store.directory, `${kind}-${envelopeDigest.slice(7)}.json`);\n }\n async #read(file: string): Promise<unknown | undefined> {\n try {\n const stat = await lstat(file);\n if (!stat.isFile() || stat.isSymbolicLink() || stat.size > 1024 * 1024) throw new Error('Invalid coding immutable fact file');\n return JSON.parse(await readFile(file, 'utf8')) as unknown;\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code === 'ENOENT') return undefined;\n throw new Error('Coding immutable fact is corrupt or incomplete', { cause: error });\n }\n }\n async #claim(envelopeDigest: string): Promise<Claim | undefined> {\n const value = await this.#read(this.#path('claim', envelopeDigest));\n if (value === undefined) return undefined;\n if (!value || typeof value !== 'object') throw new Error('Invalid coding dispatch claim');\n const claim = value as Claim;\n if (Object.keys(claim).sort().join() !== 'envelope,kind,version' || claim.version !== 1 || claim.kind !== 'coding_dispatch') throw new Error('Invalid coding dispatch claim');\n assertAssignmentExecutionEnvelope(freeze(claim.envelope));\n if (claim.envelope.digest !== envelopeDigest) throw new Error('Coding claim envelope digest mismatch');\n return claim;\n }\n #validateStored(value: unknown, envelopeDigest: string, claim: Claim): StoredReport {\n if (!value || typeof value !== 'object') throw new Error('Invalid coding stored report');\n const stored = value as StoredReport;\n if (Object.keys(stored).sort().join() !== 'digest,ref,report' || !stored.report || typeof stored.report !== 'object'\n || stored.ref !== `coding-report:${envelopeDigest}` || stored.digest !== digest(stored.report)) throw new Error('Coding stored report digest mismatch');\n const report = stored.report;\n if (report.version !== 1 || report.envelopeDigest !== envelopeDigest\n || report.baseCommit !== claim.envelope.workspace.baseRevision.replace(/^git:/u, '')\n || typeof report.commit !== 'string' || !/^[a-f0-9]{40}$/u.test(report.commit)) throw new Error('Coding report candidate authority mismatch');\n return freeze(stored);\n }\n}\n"]}
@@ -7,4 +7,3 @@ export declare class FileWorkroomEffectJournal implements WorkroomEffectJournal
7
7
  read(projectId: string): Promise<readonly WorkroomEffectEvent[]>;
8
8
  append(projectId: string, expectedSequence: number, drafts: readonly WorkroomEffectEventDraft[]): Promise<readonly WorkroomEffectEvent[]>;
9
9
  }
10
- //# sourceMappingURL=file-effect-ledger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-effect-ledger.js","sourceRoot":"","sources":["../../src/workroom/file-effect-ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-effect-ledger.js","sourceRoot":"","sources":["../../src/workroom/file-effect-ledger.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHash } from 'node:crypto';\nimport { readFile, readdir } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport {\n WorkroomEffectSequenceConflictError,\n assertWorkroomEffectEvent,\n createWorkroomEffectEvent,\n replayWorkroomEffectLedger,\n type WorkroomEffectEvent,\n type WorkroomEffectEventDraft,\n type WorkroomEffectJournal,\n} from './effect-ledger.js';\nimport {\n canonicalWorkroomJson,\n deepFreezeWorkroomValue as deepFreeze,\n digestCanonicalWorkroomValue as digest,\n} from './canonical-value.js';\nimport { DurableFileStore, isDurableFileStagingName } from './durable-file-store.js';\n\ninterface EffectSegment {\n readonly version: 1;\n readonly projectId: string;\n readonly expectedSequence: number;\n readonly event: WorkroomEffectEvent;\n readonly payloadDigest: string;\n}\n\n/** Crash-durable append-only Effect Ledger; one create-only slot owns each sequence. */\nexport class FileWorkroomEffectJournal implements WorkroomEffectJournal {\n readonly #store: DurableFileStore;\n\n constructor(readonly directory: string) {\n this.#store = new DurableFileStore(directory);\n }\n\n async read(projectId: string): Promise<readonly WorkroomEffectEvent[]> {\n const id = required(projectId, 'projectId');\n const prefix = segmentPrefix(id);\n let names: readonly string[];\n try {\n names = await readdir(this.directory);\n } catch (error) {\n if (hasCode(error, 'ENOENT')) return Object.freeze([]);\n throw error;\n }\n const pattern = segmentPattern(prefix);\n // Ignore only unpublished staging files; malformed segment names remain errors.\n const candidates = names.filter(name => name.startsWith(prefix)\n && !isDurableFileStagingName(name, pattern)).sort();\n if (candidates.some(name => !pattern.test(name))) {\n throw new Error('Invalid Workroom Effect Journal segment name');\n }\n const events = await Promise.all(candidates.map(async (name, index) =>\n parseSegment(await readFile(join(this.directory, name), 'utf8'), id, index).event));\n replayWorkroomEffectLedger(id, events);\n if (events.length > 0) await this.#store.syncLeaf();\n return deepFreeze(events);\n }\n\n async append(\n projectId: string,\n expectedSequence: number,\n drafts: readonly WorkroomEffectEventDraft[],\n ): Promise<readonly WorkroomEffectEvent[]> {\n const id = required(projectId, 'projectId');\n if (!Number.isSafeInteger(expectedSequence) || expectedSequence < -1) {\n throw new Error('Workroom Effect expectedSequence is invalid');\n }\n if (!Array.isArray(drafts) || drafts.length === 0) {\n throw new Error('Workroom Effect append requires events');\n }\n if (drafts.length !== 1) {\n throw new Error('File Workroom Effect Journal requires one atomic event per append');\n }\n const current = await this.read(id);\n const actual = current.length - 1;\n if (actual !== expectedSequence) throw new WorkroomEffectSequenceConflictError(expectedSequence, actual);\n const appended = drafts.map((draft, index) => createWorkroomEffectEvent(\n id,\n expectedSequence + index + 1,\n draft,\n ));\n replayWorkroomEffectLedger(id, Object.freeze([...current, ...appended]));\n await this.#store.ensureDurableLeaf('Workroom Effect Journal');\n for (const event of appended) {\n const body = deepFreeze({\n version: 1 as const,\n projectId: id,\n expectedSequence: event.sequence - 1,\n event,\n });\n const segment = deepFreeze<EffectSegment>({ ...body, payloadDigest: digest(body) });\n const target = join(this.directory, segmentName(id, event.sequence));\n await this.#store.publishCreateOnly({\n target,\n content: canonicalWorkroomJson(segment),\n createdValue: segment,\n onConflict: async () => {\n const existing = parseSegment(await readFile(target, 'utf8'), id, event.sequence);\n if (canonicalWorkroomJson(existing) !== canonicalWorkroomJson(segment)) {\n throw new WorkroomEffectSequenceConflictError(event.sequence - 1, event.sequence);\n }\n return existing;\n },\n });\n }\n return deepFreeze(appended);\n }\n}\n\nfunction parseSegment(serialized: string, projectId: string, sequence: number): EffectSegment {\n const value = JSON.parse(serialized) as EffectSegment;\n if (value.version !== 1 || value.projectId !== projectId\n || value.expectedSequence !== sequence - 1 || value.event?.sequence !== sequence) {\n throw new Error('Invalid Workroom Effect Journal segment binding');\n }\n assertWorkroomEffectEvent(value.event, projectId, sequence);\n const body = deepFreeze({\n version: 1 as const,\n projectId,\n expectedSequence: sequence - 1,\n event: value.event,\n });\n const canonical = deepFreeze({ ...body, payloadDigest: digest(body) });\n if (value.payloadDigest !== canonical.payloadDigest\n || canonicalWorkroomJson(value) !== canonicalWorkroomJson(canonical)) {\n throw new Error('Invalid Workroom Effect Journal segment digest');\n }\n return canonical;\n}\n\nfunction segmentPrefix(projectId: string): string {\n return `effect-${createHash('sha256').update(projectId).digest('hex')}-`;\n}\n\nfunction segmentName(projectId: string, sequence: number): string {\n return `${segmentPrefix(projectId)}${String(sequence).padStart(16, '0')}.json`;\n}\n\nfunction segmentPattern(prefix: string): RegExp {\n return new RegExp(`^${prefix}[0-9]{16}\\\\.json$`, 'u');\n}\n\nfunction required(value: unknown, label: string): string {\n if (typeof value !== 'string' || !value.trim() || value !== value.trim()) throw new Error(`${label} is invalid`);\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"]}
@@ -7,4 +7,3 @@ export declare class FileHumanIngressApplicationRepository implements HumanIngre
7
7
  read(projectId: string): Promise<readonly HumanIngressApplicationEvent[]>;
8
8
  append(projectId: string, expectedSequence: number, drafts: readonly HumanIngressApplicationEventDraft[]): Promise<readonly HumanIngressApplicationEvent[]>;
9
9
  }
10
- //# sourceMappingURL=file-human-ingress-application.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-human-ingress-application.js","sourceRoot":"","sources":["../../src/workroom/file-human-ingress-application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-human-ingress-application.js","sourceRoot":"","sources":["../../src/workroom/file-human-ingress-application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,qBAAqB,EACrB,uBAAuB,IAAI,UAAU,EACrC,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,4CAA4C,EAC5C,uCAAuC,GAIxC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAe3D,2EAA2E;AAC3E,MAAM,OAAO,qCAAqC;IAI3B;IAFZ,QAAQ,CAAmB;IAEpC,YAAqB,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;QACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAiB;QAC1B,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CACV,SAAiB,EACjB,gBAAwB,EACxB,MAAoD;QAEpD,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,CAAC,MAAM,CAAwC,CAAC,CAAC;QAC7F,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;QAC3E,MAAM,cAAc,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC;QACtD,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,cAAc,CAAC,EAAE,CAAC;YAC5D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACvD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC;QAC1C,MAAM,OAAO,GAAG,UAAU,CAA4B;YACpD,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,EAAE;YACb,gBAAgB;YAChB,aAAa;YACb,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,QAAQ;YACrC,MAAM;SACP,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,UAAU,CAAqB;YAC7C,GAAG,OAAO;YACV,aAAa,EAAE,4BAA4B,CAAC,OAAO,CAAC;SACrD,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,sCAAsC,CAAC,CAAC;QAC9E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACtD,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YAC5D,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAChC,YAAY,EAAE,MAAM;YACpB,UAAU,EAAE,KAAK,IAAI,EAAE;gBACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC;gBAC7C,IAAI,gBAAgB,GAAG,SAAS,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;oBACjD,MAAM,IAAI,4CAA4C,CAAC,EAAE,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBACvF,CAAC;gBACD,OAAO,MAAM,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;YACpE,CAAC;SACF,CAAC,CAAC;QACH,OAAO,SAAS,CAAC,KAAK,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAiB;QACjC,IAAI,KAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAAE,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;YACpD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK;aACtC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aACtC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3F,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC;aAClD,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QACnE,MAAM,MAAM,GAAmC,EAAE,CAAC;QAClD,IAAI,gBAAgB,GAAG,CAAC,CAAC,CAAC;QAC1B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,gBAAgB,KAAK,gBAAgB;mBAC5C,OAAO,CAAC,aAAa,KAAK,gBAAgB,GAAG,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACpE,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/B,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC;QAC1C,CAAC;QACD,OAAO,MAAM,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;CACF;AAED,KAAK,UAAU,WAAW,CACxB,SAAiB,EACjB,OAAgD,EAChD,gBAAwB,EACxB,MAAoD;IAEpD,MAAM,UAAU,GAAG,IAAI,uCAAuC,EAAE,CAAC;IACjE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACrF,OAAO,MAAM,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;AACtE,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,SAAiB,EACjB,MAA+C;IAE/C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,uCAAuC,EAAE,CAAC;IACjE,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9E,IAAI,qBAAqB,CAAC,SAAS,CAAC,KAAK,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,OAAO,CAAC,KAAmC;IAClD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IAC3G,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,OAAe;IACjD,MAAM,KAAK,GAAG,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAC9E,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,gDAAgD,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,OAAO,GAAG,KAAoC,CAAC;IACrD,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC;WACpB,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ;WACrC,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC;WAC/C,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC;WAC5C,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC;WAC3C,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;WAC9B,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACvD,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAiB,CAAC;IACnD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAc,CAAC;IAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,YAAa,CAAC;IAC3C,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC;QAC9E,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAmC,CAAC,CAAC;IAC7F,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;WAClB,aAAa,KAAK,gBAAgB,GAAG,CAAC;WACtC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,KAAK,aAAa;WACrC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAA4B;QACpD,OAAO,EAAE,CAAC;QACV,SAAS;QACT,gBAAgB;QAChB,aAAa;QACb,YAAY;QACZ,MAAM;KACP,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,aAAa,KAAK,4BAA4B,CAAC,OAAO,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,UAAU,CAAC,EAAE,GAAG,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,WAAW,CAAC,SAAiB,EAAE,aAAqB;IAC3D,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC;AACrF,CAAC;AAED,SAAS,WAAW,CAAC,SAAiB;IACpC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,IAAI,CAAC,KAAc,EAAE,KAAa;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,yBAAyB,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,OAAO,CAAC,KAAc,EAAE,IAAY;IAC3C,OAAO,OAAO,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK;WAC9D,KAA4B,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACpD,CAAC","sourcesContent":["import { createHash } from 'node:crypto';\nimport { readFile, readdir } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport {\n canonicalWorkroomJson,\n deepFreezeWorkroomValue as deepFreeze,\n digestCanonicalWorkroomValue,\n} from './canonical-value.js';\nimport {\n HumanIngressApplicationSequenceConflictError,\n MemoryHumanIngressApplicationRepository,\n type HumanIngressApplicationEvent,\n type HumanIngressApplicationEventDraft,\n type HumanIngressApplicationRepository,\n} from './human-ingress-application.js';\nimport { DurableFileStore } from './durable-file-store.js';\n\ninterface ApplicationSegmentPayload {\n readonly version: 1;\n readonly projectId: string;\n readonly expectedSequence: number;\n readonly firstSequence: number;\n readonly lastSequence: number;\n readonly events: readonly HumanIngressApplicationEvent[];\n}\n\ninterface ApplicationSegment extends ApplicationSegmentPayload {\n readonly payloadDigest: string;\n}\n\n/** Crash-durable lifecycle journal for the Orchestrator Inbox consumer. */\nexport class FileHumanIngressApplicationRepository\nimplements HumanIngressApplicationRepository {\n readonly #durable: DurableFileStore;\n\n constructor(readonly directory: string) {\n this.#durable = new DurableFileStore(directory);\n }\n\n async read(projectId: string): Promise<readonly HumanIngressApplicationEvent[]> {\n const id = text(projectId, 'projectId');\n const events = await this.#readEvents(id);\n if (events.length > 0) await this.#durable.syncLeaf();\n return events;\n }\n\n async append(\n projectId: string,\n expectedSequence: number,\n drafts: readonly HumanIngressApplicationEventDraft[],\n ): Promise<readonly HumanIngressApplicationEvent[]> {\n const id = text(projectId, 'projectId');\n const snapshots = deepFreeze(structuredClone(drafts) as HumanIngressApplicationEventDraft[]);\n const current = await this.#readEvents(id);\n const events = await materialize(id, current, expectedSequence, snapshots);\n const actualSequence = current.at(-1)?.sequence ?? -1;\n if (events.every(event => event.sequence <= actualSequence)) {\n if (current.length > 0) await this.#durable.syncLeaf();\n return events;\n }\n const firstSequence = events[0]!.sequence;\n const payload = deepFreeze<ApplicationSegmentPayload>({\n version: 1,\n projectId: id,\n expectedSequence,\n firstSequence,\n lastSequence: events.at(-1)!.sequence,\n events,\n });\n const segment = deepFreeze<ApplicationSegment>({\n ...payload,\n payloadDigest: digestCanonicalWorkroomValue(payload),\n });\n await this.#durable.ensureDurableLeaf('Human ingress application repository');\n const published = await this.#durable.publishCreateOnly({\n target: join(this.directory, segmentName(id, firstSequence)),\n content: JSON.stringify(segment),\n createdValue: events,\n onConflict: async () => {\n const winner = await this.#readEvents(id);\n const actual = winner.at(-1)?.sequence ?? -1;\n if (expectedSequence + snapshots.length > actual) {\n throw new HumanIngressApplicationSequenceConflictError(id, expectedSequence, actual);\n }\n return await materialize(id, winner, expectedSequence, snapshots);\n },\n });\n return published.value;\n }\n\n async #readEvents(projectId: string): Promise<readonly HumanIngressApplicationEvent[]> {\n let names: readonly string[];\n try {\n names = await readdir(this.directory);\n } catch (error) {\n if (hasCode(error, 'ENOENT')) return deepFreeze([]);\n throw error;\n }\n const segments = (await Promise.all(names\n .filter(name => name.endsWith('.json'))\n .map(async name => parseSegment(name, await readFile(join(this.directory, name), 'utf8')))))\n .filter(segment => segment.projectId === projectId)\n .sort((left, right) => left.firstSequence - right.firstSequence);\n const events: HumanIngressApplicationEvent[] = [];\n let expectedSequence = -1;\n for (const segment of segments) {\n if (segment.expectedSequence !== expectedSequence\n || segment.firstSequence !== expectedSequence + 1) {\n throw new Error('Human ingress application segment sequence gap');\n }\n events.push(...segment.events);\n expectedSequence = segment.lastSequence;\n }\n return await validateHistory(projectId, events);\n }\n}\n\nasync function materialize(\n projectId: string,\n current: readonly HumanIngressApplicationEvent[],\n expectedSequence: number,\n drafts: readonly HumanIngressApplicationEventDraft[],\n): Promise<readonly HumanIngressApplicationEvent[]> {\n const repository = new MemoryHumanIngressApplicationRepository();\n if (current.length > 0) await repository.append(projectId, -1, current.map(toDraft));\n return await repository.append(projectId, expectedSequence, drafts);\n}\n\nasync function validateHistory(\n projectId: string,\n events: readonly HumanIngressApplicationEvent[],\n): Promise<readonly HumanIngressApplicationEvent[]> {\n if (events.length === 0) return deepFreeze([]);\n const repository = new MemoryHumanIngressApplicationRepository();\n const canonical = await repository.append(projectId, -1, events.map(toDraft));\n if (canonicalWorkroomJson(canonical) !== canonicalWorkroomJson(events)) {\n throw new Error('Human ingress application event digest or payload is corrupt');\n }\n return canonical;\n}\n\nfunction toDraft(event: HumanIngressApplicationEvent): HumanIngressApplicationEventDraft {\n const { version: _version, projectId: _projectId, sequence: _sequence, digest: _digest, ...draft } = event;\n return draft;\n}\n\nfunction parseSegment(name: string, encoded: string): ApplicationSegment {\n const match = /^([a-f0-9]{64})\\.(\\d{16})\\.json$/u.exec(name);\n if (!match) throw new Error('Invalid Human ingress application segment name');\n let value: unknown;\n try {\n value = JSON.parse(encoded);\n } catch (error) {\n throw new Error('Invalid Human ingress application segment JSON', { cause: error });\n }\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n throw new Error('Invalid Human ingress application segment');\n }\n const segment = value as Partial<ApplicationSegment>;\n if (segment.version !== 1\n || typeof segment.projectId !== 'string'\n || !Number.isSafeInteger(segment.expectedSequence)\n || !Number.isSafeInteger(segment.firstSequence)\n || !Number.isSafeInteger(segment.lastSequence)\n || !Array.isArray(segment.events)\n || typeof segment.payloadDigest !== 'string') {\n throw new Error('Invalid Human ingress application segment');\n }\n const projectId = text(segment.projectId, 'projectId');\n const expectedSequence = segment.expectedSequence!;\n const firstSequence = segment.firstSequence!;\n const lastSequence = segment.lastSequence!;\n if (match[1] !== projectHash(projectId) || Number(match[2]) !== firstSequence) {\n throw new Error('Human ingress application segment name binding mismatch');\n }\n const events = deepFreeze(structuredClone(segment.events) as HumanIngressApplicationEvent[]);\n if (events.length === 0\n || firstSequence !== expectedSequence + 1\n || events[0]?.sequence !== firstSequence\n || events.at(-1)?.sequence !== lastSequence) {\n throw new Error('Invalid Human ingress application segment position');\n }\n const payload = deepFreeze<ApplicationSegmentPayload>({\n version: 1,\n projectId,\n expectedSequence,\n firstSequence,\n lastSequence,\n events,\n });\n if (segment.payloadDigest !== digestCanonicalWorkroomValue(payload)) {\n throw new Error('Human ingress application segment payload digest mismatch');\n }\n return deepFreeze({ ...payload, payloadDigest: segment.payloadDigest });\n}\n\nfunction segmentName(projectId: string, firstSequence: number): string {\n return `${projectHash(projectId)}.${String(firstSequence).padStart(16, '0')}.json`;\n}\n\nfunction projectHash(projectId: string): string {\n return createHash('sha256').update(projectId).digest('hex');\n}\n\nfunction text(value: unknown, field: string): string {\n if (typeof value !== 'string' || !value.trim() || value !== value.trim()) {\n throw new Error(`Human ingress application ${field} must be canonical text`);\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"]}
@@ -21,4 +21,3 @@ export declare class FileHumanIngressProposalRepository implements HumanIngressP
21
21
  read(projectId: string): Promise<readonly HumanIngressProposalEvent[]>;
22
22
  append(projectId: string, expectedSequence: number, drafts: readonly HumanIngressProposalEventDraft[]): Promise<readonly HumanIngressProposalEvent[]>;
23
23
  }
24
- //# sourceMappingURL=file-human-ingress.d.ts.map