@zhin.js/workroom 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (610) hide show
  1. package/lib/data-governance/canonical-value.d.ts +0 -1
  2. package/lib/data-governance/canonical-value.js.map +1 -1
  3. package/lib/data-governance/data-governance.d.ts +0 -1
  4. package/lib/data-governance/data-governance.js.map +1 -1
  5. package/lib/data-governance/database-payload-lifecycle-repository.d.ts +0 -1
  6. package/lib/data-governance/database-payload-lifecycle-repository.js.map +1 -1
  7. package/lib/data-governance/disclosure-authority.d.ts +0 -1
  8. package/lib/data-governance/disclosure-authority.js.map +1 -1
  9. package/lib/data-governance/disclosure-manifest.d.ts +0 -1
  10. package/lib/data-governance/disclosure-manifest.js.map +1 -1
  11. package/lib/data-governance/durable-file-store.d.ts +0 -1
  12. package/lib/data-governance/durable-file-store.js.map +1 -1
  13. package/lib/data-governance/encrypted-database-payload-vault.d.ts +0 -1
  14. package/lib/data-governance/encrypted-database-payload-vault.js.map +1 -1
  15. package/lib/data-governance/encrypted-file-payload-vault.d.ts +0 -1
  16. package/lib/data-governance/encrypted-file-payload-vault.js.map +1 -1
  17. package/lib/data-governance/file-payload-lifecycle-repository.d.ts +0 -1
  18. package/lib/data-governance/file-payload-lifecycle-repository.js.map +1 -1
  19. package/lib/data-governance/governance-authority-repository.d.ts +0 -1
  20. package/lib/data-governance/governance-authority-repository.js.map +1 -1
  21. package/lib/data-governance/governed-payload-write-saga.d.ts +0 -1
  22. package/lib/data-governance/governed-payload-write-saga.js.map +1 -1
  23. package/lib/data-governance/payload-hold-overdue-projection.d.ts +0 -1
  24. package/lib/data-governance/payload-hold-overdue-projection.js.map +1 -1
  25. package/lib/data-governance/payload-lifecycle.d.ts +0 -1
  26. package/lib/data-governance/payload-lifecycle.js.map +1 -1
  27. package/lib/data-governance/payload-vault-storage-handoff.d.ts +0 -1
  28. package/lib/data-governance/payload-vault-storage-handoff.js.map +1 -1
  29. package/lib/data-governance.d.ts +0 -1
  30. package/lib/data-governance.js.map +1 -1
  31. package/lib/index.d.ts +0 -1
  32. package/lib/index.js.map +1 -1
  33. package/lib/portfolio/capacity-control-outbox.d.ts +0 -1
  34. package/lib/portfolio/capacity-control-outbox.js.map +1 -1
  35. package/lib/portfolio/database-capacity-control-outbox.d.ts +0 -1
  36. package/lib/portfolio/database-capacity-control-outbox.js.map +1 -1
  37. package/lib/portfolio/file-capacity-control-outbox.d.ts +0 -1
  38. package/lib/portfolio/file-capacity-control-outbox.js.map +1 -1
  39. package/lib/portfolio/file-portfolio-journal.d.ts +0 -1
  40. package/lib/portfolio/file-portfolio-journal.js.map +1 -1
  41. package/lib/portfolio/portfolio-admission.d.ts +0 -1
  42. package/lib/portfolio/portfolio-admission.js.map +1 -1
  43. package/lib/portfolio/portfolio-journal.d.ts +0 -1
  44. package/lib/portfolio/portfolio-journal.js.map +1 -1
  45. package/lib/portfolio/resource-bundle.d.ts +0 -1
  46. package/lib/portfolio/resource-bundle.js.map +1 -1
  47. package/lib/portfolio/sponsor-projection.d.ts +0 -1
  48. package/lib/portfolio/sponsor-projection.js.map +1 -1
  49. package/lib/portfolio.d.ts +0 -1
  50. package/lib/portfolio.js.map +1 -1
  51. package/lib/remote.d.ts +0 -1
  52. package/lib/remote.js.map +1 -1
  53. package/lib/room/database-room-task-journal.d.ts +0 -1
  54. package/lib/room/database-room-task-journal.js.map +1 -1
  55. package/lib/room/index.d.ts +0 -1
  56. package/lib/room/index.js.map +1 -1
  57. package/lib/room/room-bus.d.ts +0 -1
  58. package/lib/room/room-bus.js.map +1 -1
  59. package/lib/room/room-definition.d.ts +0 -1
  60. package/lib/room/room-definition.js.map +1 -1
  61. package/lib/room/room-event-sequencer.d.ts +0 -1
  62. package/lib/room/room-event-sequencer.js.map +1 -1
  63. package/lib/room/room-guards.d.ts +0 -1
  64. package/lib/room/room-guards.js.map +1 -1
  65. package/lib/room/room-membership.d.ts +0 -1
  66. package/lib/room/room-membership.js.map +1 -1
  67. package/lib/room/room-registry.d.ts +0 -1
  68. package/lib/room/room-registry.js.map +1 -1
  69. package/lib/room/room-router.d.ts +0 -1
  70. package/lib/room/room-router.js.map +1 -1
  71. package/lib/room/room-send-limiter.d.ts +0 -1
  72. package/lib/room/room-send-limiter.js.map +1 -1
  73. package/lib/room/room-task-authorizer.d.ts +0 -1
  74. package/lib/room/room-task-authorizer.js.map +1 -1
  75. package/lib/room/room-task-journal.d.ts +0 -1
  76. package/lib/room/room-task-journal.js.map +1 -1
  77. package/lib/room/room-task-service.d.ts +0 -1
  78. package/lib/room/room-task-service.js.map +1 -1
  79. package/lib/room/room-task.d.ts +0 -1
  80. package/lib/room/room-task.js.map +1 -1
  81. package/lib/room/validate-room.d.ts +0 -1
  82. package/lib/room/validate-room.js.map +1 -1
  83. package/lib/scheduler.d.ts +0 -1
  84. package/lib/scheduler.js.map +1 -1
  85. package/lib/workroom/acceptance-control.d.ts +0 -1
  86. package/lib/workroom/acceptance-control.js.map +1 -1
  87. package/lib/workroom/acceptance-policy.d.ts +0 -1
  88. package/lib/workroom/acceptance-policy.js.map +1 -1
  89. package/lib/workroom/accepted-source-memory-application.d.ts +0 -1
  90. package/lib/workroom/accepted-source-memory-application.js.map +1 -1
  91. package/lib/workroom/accepted-source-projector.d.ts +0 -1
  92. package/lib/workroom/accepted-source-projector.js.map +1 -1
  93. package/lib/workroom/assignment-authority-grant-application.d.ts +0 -1
  94. package/lib/workroom/assignment-authority-grant-application.js.map +1 -1
  95. package/lib/workroom/assignment-authority-grant-repository.d.ts +0 -1
  96. package/lib/workroom/assignment-authority-grant-repository.js.map +1 -1
  97. package/lib/workroom/assignment-authority.d.ts +0 -1
  98. package/lib/workroom/assignment-authority.js.map +1 -1
  99. package/lib/workroom/assignment-executor.d.ts +0 -1
  100. package/lib/workroom/assignment-executor.js.map +1 -1
  101. package/lib/workroom/assignment-observation-ingress.d.ts +0 -1
  102. package/lib/workroom/assignment-observation-ingress.js.map +1 -1
  103. package/lib/workroom/canonical-value.d.ts +0 -1
  104. package/lib/workroom/canonical-value.js.map +1 -1
  105. package/lib/workroom/catalog-definition.d.ts +0 -1
  106. package/lib/workroom/catalog-definition.js.map +1 -1
  107. package/lib/workroom/catalog.d.ts +0 -1
  108. package/lib/workroom/catalog.js.map +1 -1
  109. package/lib/workroom/coding-assignment-executor.d.ts +0 -1
  110. package/lib/workroom/coding-assignment-executor.js.map +1 -1
  111. package/lib/workroom/coding-git-objects.d.ts +0 -1
  112. package/lib/workroom/coding-git-objects.js.map +1 -1
  113. package/lib/workroom/database-project-knowledge-journal.d.ts +0 -1
  114. package/lib/workroom/database-project-knowledge-journal.js.map +1 -1
  115. package/lib/workroom/durable-file-store.d.ts +0 -1
  116. package/lib/workroom/durable-file-store.js.map +1 -1
  117. package/lib/workroom/dynamic-workflow-planner.d.ts +0 -1
  118. package/lib/workroom/dynamic-workflow-planner.js.map +1 -1
  119. package/lib/workroom/effect-blocker-repository.d.ts +0 -1
  120. package/lib/workroom/effect-blocker-repository.js.map +1 -1
  121. package/lib/workroom/effect-ledger.d.ts +0 -1
  122. package/lib/workroom/effect-ledger.js.map +1 -1
  123. package/lib/workroom/file-accepted-source-memory-repository.d.ts +0 -1
  124. package/lib/workroom/file-accepted-source-memory-repository.js.map +1 -1
  125. package/lib/workroom/file-coding-execution-store.d.ts +0 -1
  126. package/lib/workroom/file-coding-execution-store.js.map +1 -1
  127. package/lib/workroom/file-effect-ledger.d.ts +0 -1
  128. package/lib/workroom/file-effect-ledger.js.map +1 -1
  129. package/lib/workroom/file-human-ingress-application.d.ts +0 -1
  130. package/lib/workroom/file-human-ingress-application.js.map +1 -1
  131. package/lib/workroom/file-human-ingress.d.ts +0 -1
  132. package/lib/workroom/file-human-ingress.js.map +1 -1
  133. package/lib/workroom/file-interaction-space-binding-repository.d.ts +0 -1
  134. package/lib/workroom/file-interaction-space-binding-repository.js.map +1 -1
  135. package/lib/workroom/file-profile-journal.d.ts +0 -1
  136. package/lib/workroom/file-profile-journal.js.map +1 -1
  137. package/lib/workroom/git-workspace-gateway.d.ts +0 -1
  138. package/lib/workroom/git-workspace-gateway.js.map +1 -1
  139. package/lib/workroom/github-workspace-transport.d.ts +0 -1
  140. package/lib/workroom/github-workspace-transport.js.map +1 -1
  141. package/lib/workroom/governed-dispatch-reasons.d.ts +0 -1
  142. package/lib/workroom/governed-dispatch-reasons.js.map +1 -1
  143. package/lib/workroom/human-ingress-application.d.ts +0 -1
  144. package/lib/workroom/human-ingress-application.js.map +1 -1
  145. package/lib/workroom/human-ingress-orchestrator.d.ts +0 -1
  146. package/lib/workroom/human-ingress-orchestrator.js.map +1 -1
  147. package/lib/workroom/human-ingress-source-reader.d.ts +0 -1
  148. package/lib/workroom/human-ingress-source-reader.js.map +1 -1
  149. package/lib/workroom/human-ingress.d.ts +0 -1
  150. package/lib/workroom/human-ingress.js.map +1 -1
  151. package/lib/workroom/interaction-space-binding-service.d.ts +0 -1
  152. package/lib/workroom/interaction-space-binding-service.js.map +1 -1
  153. package/lib/workroom/interaction-space-router.d.ts +0 -1
  154. package/lib/workroom/interaction-space-router.js.map +1 -1
  155. package/lib/workroom/journal/activatable-journal.d.ts +0 -1
  156. package/lib/workroom/journal/activatable-journal.js.map +1 -1
  157. package/lib/workroom/journal/contracts.d.ts +0 -1
  158. package/lib/workroom/journal/contracts.js.map +1 -1
  159. package/lib/workroom/journal/database-journal.d.ts +0 -1
  160. package/lib/workroom/journal/database-journal.js.map +1 -1
  161. package/lib/workroom/journal/event-codec.d.ts +0 -1
  162. package/lib/workroom/journal/event-codec.js.map +1 -1
  163. package/lib/workroom/journal/event-validation.d.ts +0 -1
  164. package/lib/workroom/journal/event-validation.js.map +1 -1
  165. package/lib/workroom/journal/file-journal.d.ts +0 -1
  166. package/lib/workroom/journal/file-journal.js.map +1 -1
  167. package/lib/workroom/journal/index.d.ts +0 -1
  168. package/lib/workroom/journal/index.js.map +1 -1
  169. package/lib/workroom/journal/legacy-payload-guard.d.ts +0 -1
  170. package/lib/workroom/journal/legacy-payload-guard.js.map +1 -1
  171. package/lib/workroom/journal/memory-journal.d.ts +0 -1
  172. package/lib/workroom/journal/memory-journal.js.map +1 -1
  173. package/lib/workroom/journal/payload-governance.d.ts +0 -1
  174. package/lib/workroom/journal/payload-governance.js.map +1 -1
  175. package/lib/workroom/journal/payload-reference.d.ts +0 -1
  176. package/lib/workroom/journal/payload-reference.js.map +1 -1
  177. package/lib/workroom/journal/stored-event-projection.d.ts +0 -1
  178. package/lib/workroom/journal/stored-event-projection.js.map +1 -1
  179. package/lib/workroom/journal-model.d.ts +0 -1
  180. package/lib/workroom/journal-model.js.map +1 -1
  181. package/lib/workroom/kernel-contracts.d.ts +0 -1
  182. package/lib/workroom/kernel-contracts.js.map +1 -1
  183. package/lib/workroom/kernel-state.d.ts +0 -1
  184. package/lib/workroom/kernel-state.js.map +1 -1
  185. package/lib/workroom/local-assignment-issuance.d.ts +0 -1
  186. package/lib/workroom/local-assignment-issuance.js.map +1 -1
  187. package/lib/workroom/plan-approval-control.d.ts +0 -1
  188. package/lib/workroom/plan-approval-control.js.map +1 -1
  189. package/lib/workroom/plan-revision.d.ts +0 -1
  190. package/lib/workroom/plan-revision.js.map +1 -1
  191. package/lib/workroom/profile-compiler.d.ts +0 -1
  192. package/lib/workroom/profile-compiler.js.map +1 -1
  193. package/lib/workroom/profile-registry.d.ts +0 -1
  194. package/lib/workroom/profile-registry.js.map +1 -1
  195. package/lib/workroom/project-knowledge-registry.d.ts +0 -1
  196. package/lib/workroom/project-knowledge-registry.js.map +1 -1
  197. package/lib/workroom/projection-outbox/contracts.d.ts +0 -1
  198. package/lib/workroom/projection-outbox/contracts.js.map +1 -1
  199. package/lib/workroom/projection-outbox/delivery-worker.d.ts +0 -1
  200. package/lib/workroom/projection-outbox/delivery-worker.js.map +1 -1
  201. package/lib/workroom/projection-outbox/file-repository.d.ts +0 -1
  202. package/lib/workroom/projection-outbox/file-repository.js.map +1 -1
  203. package/lib/workroom/projection-outbox/index.d.ts +0 -1
  204. package/lib/workroom/projection-outbox/index.js.map +1 -1
  205. package/lib/workroom/projection-outbox/memory-repository.d.ts +0 -1
  206. package/lib/workroom/projection-outbox/memory-repository.js.map +1 -1
  207. package/lib/workroom/projection-outbox/projector.d.ts +0 -1
  208. package/lib/workroom/projection-outbox/projector.js.map +1 -1
  209. package/lib/workroom/projection-outbox/repository-state.d.ts +0 -1
  210. package/lib/workroom/projection-outbox/repository-state.js.map +1 -1
  211. package/lib/workroom/projection-outbox/tracer.d.ts +0 -1
  212. package/lib/workroom/projection-outbox/tracer.js.map +1 -1
  213. package/lib/workroom/remote-assignment-dispatch-command.d.ts +0 -1
  214. package/lib/workroom/remote-assignment-dispatch-command.js.map +1 -1
  215. package/lib/workroom/remote-assignment-issuance.d.ts +0 -1
  216. package/lib/workroom/remote-assignment-issuance.js.map +1 -1
  217. package/lib/workroom/remote-callback-application.d.ts +0 -1
  218. package/lib/workroom/remote-callback-application.js.map +1 -1
  219. package/lib/workroom/remote-callback-gateway.d.ts +0 -1
  220. package/lib/workroom/remote-callback-gateway.js.map +1 -1
  221. package/lib/workroom/remote-callback-inbox.d.ts +0 -1
  222. package/lib/workroom/remote-callback-inbox.js.map +1 -1
  223. package/lib/workroom/remote-callback-reconciliation-worker.d.ts +0 -1
  224. package/lib/workroom/remote-callback-reconciliation-worker.js.map +1 -1
  225. package/lib/workroom/remote-dispatch-admission.d.ts +0 -1
  226. package/lib/workroom/remote-dispatch-admission.js.map +1 -1
  227. package/lib/workroom/remote-dispatch-outbox.d.ts +0 -1
  228. package/lib/workroom/remote-dispatch-outbox.js.map +1 -1
  229. package/lib/workroom/remote-dispatch-scheduler.d.ts +0 -1
  230. package/lib/workroom/remote-dispatch-scheduler.js.map +1 -1
  231. package/lib/workroom/remote-dispatch-worker.d.ts +0 -1
  232. package/lib/workroom/remote-dispatch-worker.js.map +1 -1
  233. package/lib/workroom/remote-dispatch.d.ts +0 -1
  234. package/lib/workroom/remote-dispatch.js.map +1 -1
  235. package/lib/workroom/remote-executor.d.ts +0 -1
  236. package/lib/workroom/remote-executor.js.map +1 -1
  237. package/lib/workroom/role-capability-snapshot.d.ts +0 -1
  238. package/lib/workroom/role-capability-snapshot.js.map +1 -1
  239. package/lib/workroom/runtime.d.ts +0 -1
  240. package/lib/workroom/runtime.js.map +1 -1
  241. package/lib/workroom/scheduler-priority-control.d.ts +0 -1
  242. package/lib/workroom/scheduler-priority-control.js.map +1 -1
  243. package/lib/workroom/software-delivery-plan.d.ts +0 -1
  244. package/lib/workroom/software-delivery-plan.js.map +1 -1
  245. package/lib/workroom/validate-catalog.d.ts +0 -1
  246. package/lib/workroom/validate-catalog.js.map +1 -1
  247. package/lib/workroom/workflow-plan-builder.d.ts +0 -1
  248. package/lib/workroom/workflow-plan-builder.js.map +1 -1
  249. package/lib/workroom/workroom-assignment-knowledge-context.d.ts +0 -1
  250. package/lib/workroom/workroom-assignment-knowledge-context.js.map +1 -1
  251. package/lib/workroom/workroom-kernel.d.ts +0 -1
  252. package/lib/workroom/workroom-kernel.js.map +1 -1
  253. package/lib/workroom/workroom-preemption.d.ts +0 -1
  254. package/lib/workroom/workroom-preemption.js.map +1 -1
  255. package/lib/workroom/workroom-run-control.d.ts +0 -1
  256. package/lib/workroom/workroom-run-control.js.map +1 -1
  257. package/lib/workroom/workroom-scheduler-application.d.ts +0 -1
  258. package/lib/workroom/workroom-scheduler-application.js.map +1 -1
  259. package/lib/workroom/workroom-scheduler.d.ts +0 -1
  260. package/lib/workroom/workroom-scheduler.js.map +1 -1
  261. package/lib/workroom/workroom-task-report-store.d.ts +0 -1
  262. package/lib/workroom/workroom-task-report-store.js.map +1 -1
  263. package/lib/workroom-runtime/database-overlay-pack-promotion-repository.d.ts +0 -1
  264. package/lib/workroom-runtime/database-overlay-pack-promotion-repository.js.map +1 -1
  265. package/lib/workroom-runtime/github-actions-delivery-provider.d.ts +0 -1
  266. package/lib/workroom-runtime/github-actions-delivery-provider.js.map +1 -1
  267. package/lib/workroom-runtime/github-exact-merge-gateway.d.ts +0 -1
  268. package/lib/workroom-runtime/github-exact-merge-gateway.js.map +1 -1
  269. package/lib/workroom-runtime/github-workroom-capability.d.ts +0 -1
  270. package/lib/workroom-runtime/github-workroom-capability.js.map +1 -1
  271. package/lib/workroom-runtime/self-delivery-project-composition.d.ts +0 -1
  272. package/lib/workroom-runtime/self-delivery-project-composition.js.map +1 -1
  273. package/lib/workroom-runtime/self-delivery-project.d.ts +0 -1
  274. package/lib/workroom-runtime/self-delivery-project.js.map +1 -1
  275. package/lib/workroom-runtime/workroom-acceptance-authority.d.ts +0 -1
  276. package/lib/workroom-runtime/workroom-acceptance-authority.js.map +1 -1
  277. package/lib/workroom-runtime/workroom-acceptance-fact-providers.d.ts +0 -1
  278. package/lib/workroom-runtime/workroom-acceptance-fact-providers.js.map +1 -1
  279. package/lib/workroom-runtime/workroom-acceptance-internal-providers.d.ts +0 -1
  280. package/lib/workroom-runtime/workroom-acceptance-internal-providers.js.map +1 -1
  281. package/lib/workroom-runtime/workroom-acceptance-policy.d.ts +0 -1
  282. package/lib/workroom-runtime/workroom-acceptance-policy.js.map +1 -1
  283. package/lib/workroom-runtime/workroom-acceptance-production-composition.d.ts +0 -1
  284. package/lib/workroom-runtime/workroom-acceptance-production-composition.js.map +1 -1
  285. package/lib/workroom-runtime/workroom-acceptance-provider-composition.d.ts +0 -1
  286. package/lib/workroom-runtime/workroom-acceptance-provider-composition.js.map +1 -1
  287. package/lib/workroom-runtime/workroom-accepted-source-runtime.d.ts +0 -1
  288. package/lib/workroom-runtime/workroom-accepted-source-runtime.js.map +1 -1
  289. package/lib/workroom-runtime/workroom-assignment-authority-grant-runtime.d.ts +0 -1
  290. package/lib/workroom-runtime/workroom-assignment-authority-grant-runtime.js.map +1 -1
  291. package/lib/workroom-runtime/workroom-assignment-authority-provider.d.ts +0 -1
  292. package/lib/workroom-runtime/workroom-assignment-authority-provider.js.map +1 -1
  293. package/lib/workroom-runtime/workroom-assignment-knowledge-composition.d.ts +0 -1
  294. package/lib/workroom-runtime/workroom-assignment-knowledge-composition.js.map +1 -1
  295. package/lib/workroom-runtime/workroom-bot-identity.d.ts +0 -1
  296. package/lib/workroom-runtime/workroom-bot-identity.js.map +1 -1
  297. package/lib/workroom-runtime/workroom-capability-realization.d.ts +0 -1
  298. package/lib/workroom-runtime/workroom-capability-realization.js.map +1 -1
  299. package/lib/workroom-runtime/workroom-data-governance-authority-writer.d.ts +0 -1
  300. package/lib/workroom-runtime/workroom-data-governance-authority-writer.js.map +1 -1
  301. package/lib/workroom-runtime/workroom-data-governance-bootstrap.d.ts +0 -1
  302. package/lib/workroom-runtime/workroom-data-governance-bootstrap.js.map +1 -1
  303. package/lib/workroom-runtime/workroom-data-governance-composition.d.ts +0 -1
  304. package/lib/workroom-runtime/workroom-data-governance-composition.js.map +1 -1
  305. package/lib/workroom-runtime/workroom-data-governance-root-provider.d.ts +0 -1
  306. package/lib/workroom-runtime/workroom-data-governance-root-provider.js.map +1 -1
  307. package/lib/workroom-runtime/workroom-data-governance-runtime.d.ts +0 -1
  308. package/lib/workroom-runtime/workroom-data-governance-runtime.js.map +1 -1
  309. package/lib/workroom-runtime/workroom-data-governance-storage.d.ts +0 -1
  310. package/lib/workroom-runtime/workroom-data-governance-storage.js.map +1 -1
  311. package/lib/workroom-runtime/workroom-data-lifecycle-composition.d.ts +0 -1
  312. package/lib/workroom-runtime/workroom-data-lifecycle-composition.js.map +1 -1
  313. package/lib/workroom-runtime/workroom-data-lifecycle-console.d.ts +0 -1
  314. package/lib/workroom-runtime/workroom-data-lifecycle-console.js.map +1 -1
  315. package/lib/workroom-runtime/workroom-data-lifecycle-human-ingress.d.ts +0 -1
  316. package/lib/workroom-runtime/workroom-data-lifecycle-human-ingress.js.map +1 -1
  317. package/lib/workroom-runtime/workroom-database-models.d.ts +0 -1
  318. package/lib/workroom-runtime/workroom-database-models.js.map +1 -1
  319. package/lib/workroom-runtime/workroom-database-storage.d.ts +0 -1
  320. package/lib/workroom-runtime/workroom-database-storage.js.map +1 -1
  321. package/lib/workroom-runtime/workroom-delivery-gateway.d.ts +0 -1
  322. package/lib/workroom-runtime/workroom-delivery-gateway.js.map +1 -1
  323. package/lib/workroom-runtime/workroom-dynamic-planning-provider.d.ts +0 -1
  324. package/lib/workroom-runtime/workroom-dynamic-planning-provider.js.map +1 -1
  325. package/lib/workroom-runtime/workroom-dynamic-planning.d.ts +0 -1
  326. package/lib/workroom-runtime/workroom-dynamic-planning.js.map +1 -1
  327. package/lib/workroom-runtime/workroom-effect-composition.d.ts +0 -1
  328. package/lib/workroom-runtime/workroom-effect-composition.js.map +1 -1
  329. package/lib/workroom-runtime/workroom-effect-production.d.ts +0 -1
  330. package/lib/workroom-runtime/workroom-effect-production.js.map +1 -1
  331. package/lib/workroom-runtime/workroom-effect-runtime.d.ts +0 -1
  332. package/lib/workroom-runtime/workroom-effect-runtime.js.map +1 -1
  333. package/lib/workroom-runtime/workroom-governed-dispatch-composition.d.ts +0 -1
  334. package/lib/workroom-runtime/workroom-governed-dispatch-composition.js.map +1 -1
  335. package/lib/workroom-runtime/workroom-host-port.d.ts +0 -1
  336. package/lib/workroom-runtime/workroom-host-port.js.map +1 -1
  337. package/lib/workroom-runtime/workroom-journal-payload-composition.d.ts +0 -1
  338. package/lib/workroom-runtime/workroom-journal-payload-composition.js.map +1 -1
  339. package/lib/workroom-runtime/workroom-local-agent-core-adapter.d.ts +0 -1
  340. package/lib/workroom-runtime/workroom-local-agent-core-adapter.js.map +1 -1
  341. package/lib/workroom-runtime/workroom-local-agent-loop.d.ts +0 -1
  342. package/lib/workroom-runtime/workroom-local-agent-loop.js.map +1 -1
  343. package/lib/workroom-runtime/workroom-local-assignment-authority.d.ts +0 -1
  344. package/lib/workroom-runtime/workroom-local-assignment-authority.js.map +1 -1
  345. package/lib/workroom-runtime/workroom-local-assignment-executor.d.ts +0 -1
  346. package/lib/workroom-runtime/workroom-local-assignment-executor.js.map +1 -1
  347. package/lib/workroom-runtime/workroom-local-assignment-runtime.d.ts +0 -1
  348. package/lib/workroom-runtime/workroom-local-assignment-runtime.js.map +1 -1
  349. package/lib/workroom-runtime/workroom-local-assignment-supply.d.ts +0 -1
  350. package/lib/workroom-runtime/workroom-local-assignment-supply.js.map +1 -1
  351. package/lib/workroom-runtime/workroom-overlay-pack-promotion.d.ts +0 -1
  352. package/lib/workroom-runtime/workroom-overlay-pack-promotion.js.map +1 -1
  353. package/lib/workroom-runtime/workroom-payload-processor-recall.d.ts +0 -1
  354. package/lib/workroom-runtime/workroom-payload-processor-recall.js.map +1 -1
  355. package/lib/workroom-runtime/workroom-plan-gate-authority.d.ts +0 -1
  356. package/lib/workroom-runtime/workroom-plan-gate-authority.js.map +1 -1
  357. package/lib/workroom-runtime/workroom-portfolio-capacity.d.ts +0 -1
  358. package/lib/workroom-runtime/workroom-portfolio-capacity.js.map +1 -1
  359. package/lib/workroom-runtime/workroom-portfolio-checkpoint-ack.d.ts +0 -1
  360. package/lib/workroom-runtime/workroom-portfolio-checkpoint-ack.js.map +1 -1
  361. package/lib/workroom-runtime/workroom-portfolio-control-composition.d.ts +0 -1
  362. package/lib/workroom-runtime/workroom-portfolio-control-composition.js.map +1 -1
  363. package/lib/workroom-runtime/workroom-portfolio-control-runtime.d.ts +0 -1
  364. package/lib/workroom-runtime/workroom-portfolio-control-runtime.js.map +1 -1
  365. package/lib/workroom-runtime/workroom-portfolio-grant-assignment.d.ts +0 -1
  366. package/lib/workroom-runtime/workroom-portfolio-grant-assignment.js.map +1 -1
  367. package/lib/workroom-runtime/workroom-portfolio-kernel-authority.d.ts +0 -1
  368. package/lib/workroom-runtime/workroom-portfolio-kernel-authority.js.map +1 -1
  369. package/lib/workroom-runtime/workroom-portfolio-sponsor.d.ts +0 -1
  370. package/lib/workroom-runtime/workroom-portfolio-sponsor.js.map +1 -1
  371. package/lib/workroom-runtime/workroom-preemption-runtime.d.ts +0 -1
  372. package/lib/workroom-runtime/workroom-preemption-runtime.js.map +1 -1
  373. package/lib/workroom-runtime/workroom-priority-authority.d.ts +0 -1
  374. package/lib/workroom-runtime/workroom-priority-authority.js.map +1 -1
  375. package/lib/workroom-runtime/workroom-profile-authority-composition.d.ts +0 -1
  376. package/lib/workroom-runtime/workroom-profile-authority-composition.js.map +1 -1
  377. package/lib/workroom-runtime/workroom-profile-authority-runtime.d.ts +0 -1
  378. package/lib/workroom-runtime/workroom-profile-authority-runtime.js.map +1 -1
  379. package/lib/workroom-runtime/workroom-projection-outbound.d.ts +0 -1
  380. package/lib/workroom-runtime/workroom-projection-outbound.js.map +1 -1
  381. package/lib/workroom-runtime/workroom-projection-runtime.d.ts +0 -1
  382. package/lib/workroom-runtime/workroom-projection-runtime.js.map +1 -1
  383. package/lib/workroom-runtime/workroom-remote-assignment-authority.d.ts +0 -1
  384. package/lib/workroom-runtime/workroom-remote-assignment-authority.js.map +1 -1
  385. package/lib/workroom-runtime/workroom-remote-callback-runtime.d.ts +0 -1
  386. package/lib/workroom-runtime/workroom-remote-callback-runtime.js.map +1 -1
  387. package/lib/workroom-runtime/workroom-remote-executor.d.ts +0 -1
  388. package/lib/workroom-runtime/workroom-remote-executor.js.map +1 -1
  389. package/lib/workroom-runtime/workroom-reviewer-authority-runtime.d.ts +0 -1
  390. package/lib/workroom-runtime/workroom-reviewer-authority-runtime.js.map +1 -1
  391. package/lib/workroom-runtime/workroom-risk-acceptance-runtime.d.ts +0 -1
  392. package/lib/workroom-runtime/workroom-risk-acceptance-runtime.js.map +1 -1
  393. package/lib/workroom-runtime/workroom-run-profile-pin-authority.d.ts +0 -1
  394. package/lib/workroom-runtime/workroom-run-profile-pin-authority.js.map +1 -1
  395. package/lib/workroom-runtime/workroom-scheduler-portfolio-composition.d.ts +0 -1
  396. package/lib/workroom-runtime/workroom-scheduler-portfolio-composition.js.map +1 -1
  397. package/lib/workroom-runtime/workroom-scheduler-portfolio-contract.d.ts +0 -1
  398. package/lib/workroom-runtime/workroom-scheduler-portfolio-contract.js.map +1 -1
  399. package/lib/workroom-runtime/workroom-scheduler-portfolio-request-authority.d.ts +0 -1
  400. package/lib/workroom-runtime/workroom-scheduler-portfolio-request-authority.js.map +1 -1
  401. package/lib/workroom-runtime/workroom-scheduler-portfolio-supply.d.ts +0 -1
  402. package/lib/workroom-runtime/workroom-scheduler-portfolio-supply.js.map +1 -1
  403. package/lib/workroom-runtime/workroom-scheduler-route-registry.d.ts +0 -1
  404. package/lib/workroom-runtime/workroom-scheduler-route-registry.js.map +1 -1
  405. package/lib/workroom-runtime/workroom-scheduler-runtime.d.ts +0 -1
  406. package/lib/workroom-runtime/workroom-scheduler-runtime.js.map +1 -1
  407. package/package.json +8 -8
  408. package/lib/data-governance/canonical-value.d.ts.map +0 -1
  409. package/lib/data-governance/data-governance.d.ts.map +0 -1
  410. package/lib/data-governance/database-payload-lifecycle-repository.d.ts.map +0 -1
  411. package/lib/data-governance/disclosure-authority.d.ts.map +0 -1
  412. package/lib/data-governance/disclosure-manifest.d.ts.map +0 -1
  413. package/lib/data-governance/durable-file-store.d.ts.map +0 -1
  414. package/lib/data-governance/encrypted-database-payload-vault.d.ts.map +0 -1
  415. package/lib/data-governance/encrypted-file-payload-vault.d.ts.map +0 -1
  416. package/lib/data-governance/file-payload-lifecycle-repository.d.ts.map +0 -1
  417. package/lib/data-governance/governance-authority-repository.d.ts.map +0 -1
  418. package/lib/data-governance/governed-payload-write-saga.d.ts.map +0 -1
  419. package/lib/data-governance/payload-hold-overdue-projection.d.ts.map +0 -1
  420. package/lib/data-governance/payload-lifecycle.d.ts.map +0 -1
  421. package/lib/data-governance/payload-vault-storage-handoff.d.ts.map +0 -1
  422. package/lib/data-governance.d.ts.map +0 -1
  423. package/lib/index.d.ts.map +0 -1
  424. package/lib/portfolio/capacity-control-outbox.d.ts.map +0 -1
  425. package/lib/portfolio/database-capacity-control-outbox.d.ts.map +0 -1
  426. package/lib/portfolio/file-capacity-control-outbox.d.ts.map +0 -1
  427. package/lib/portfolio/file-portfolio-journal.d.ts.map +0 -1
  428. package/lib/portfolio/portfolio-admission.d.ts.map +0 -1
  429. package/lib/portfolio/portfolio-journal.d.ts.map +0 -1
  430. package/lib/portfolio/resource-bundle.d.ts.map +0 -1
  431. package/lib/portfolio/sponsor-projection.d.ts.map +0 -1
  432. package/lib/portfolio.d.ts.map +0 -1
  433. package/lib/remote.d.ts.map +0 -1
  434. package/lib/room/database-room-task-journal.d.ts.map +0 -1
  435. package/lib/room/index.d.ts.map +0 -1
  436. package/lib/room/room-bus.d.ts.map +0 -1
  437. package/lib/room/room-definition.d.ts.map +0 -1
  438. package/lib/room/room-event-sequencer.d.ts.map +0 -1
  439. package/lib/room/room-guards.d.ts.map +0 -1
  440. package/lib/room/room-membership.d.ts.map +0 -1
  441. package/lib/room/room-registry.d.ts.map +0 -1
  442. package/lib/room/room-router.d.ts.map +0 -1
  443. package/lib/room/room-send-limiter.d.ts.map +0 -1
  444. package/lib/room/room-task-authorizer.d.ts.map +0 -1
  445. package/lib/room/room-task-journal.d.ts.map +0 -1
  446. package/lib/room/room-task-service.d.ts.map +0 -1
  447. package/lib/room/room-task.d.ts.map +0 -1
  448. package/lib/room/validate-room.d.ts.map +0 -1
  449. package/lib/scheduler.d.ts.map +0 -1
  450. package/lib/workroom/acceptance-control.d.ts.map +0 -1
  451. package/lib/workroom/acceptance-policy.d.ts.map +0 -1
  452. package/lib/workroom/accepted-source-memory-application.d.ts.map +0 -1
  453. package/lib/workroom/accepted-source-projector.d.ts.map +0 -1
  454. package/lib/workroom/assignment-authority-grant-application.d.ts.map +0 -1
  455. package/lib/workroom/assignment-authority-grant-repository.d.ts.map +0 -1
  456. package/lib/workroom/assignment-authority.d.ts.map +0 -1
  457. package/lib/workroom/assignment-executor.d.ts.map +0 -1
  458. package/lib/workroom/assignment-observation-ingress.d.ts.map +0 -1
  459. package/lib/workroom/canonical-value.d.ts.map +0 -1
  460. package/lib/workroom/catalog-definition.d.ts.map +0 -1
  461. package/lib/workroom/catalog.d.ts.map +0 -1
  462. package/lib/workroom/coding-assignment-executor.d.ts.map +0 -1
  463. package/lib/workroom/coding-git-objects.d.ts.map +0 -1
  464. package/lib/workroom/database-project-knowledge-journal.d.ts.map +0 -1
  465. package/lib/workroom/durable-file-store.d.ts.map +0 -1
  466. package/lib/workroom/dynamic-workflow-planner.d.ts.map +0 -1
  467. package/lib/workroom/effect-blocker-repository.d.ts.map +0 -1
  468. package/lib/workroom/effect-ledger.d.ts.map +0 -1
  469. package/lib/workroom/file-accepted-source-memory-repository.d.ts.map +0 -1
  470. package/lib/workroom/file-coding-execution-store.d.ts.map +0 -1
  471. package/lib/workroom/file-effect-ledger.d.ts.map +0 -1
  472. package/lib/workroom/file-human-ingress-application.d.ts.map +0 -1
  473. package/lib/workroom/file-human-ingress.d.ts.map +0 -1
  474. package/lib/workroom/file-interaction-space-binding-repository.d.ts.map +0 -1
  475. package/lib/workroom/file-profile-journal.d.ts.map +0 -1
  476. package/lib/workroom/git-workspace-gateway.d.ts.map +0 -1
  477. package/lib/workroom/github-workspace-transport.d.ts.map +0 -1
  478. package/lib/workroom/governed-dispatch-reasons.d.ts.map +0 -1
  479. package/lib/workroom/human-ingress-application.d.ts.map +0 -1
  480. package/lib/workroom/human-ingress-orchestrator.d.ts.map +0 -1
  481. package/lib/workroom/human-ingress-source-reader.d.ts.map +0 -1
  482. package/lib/workroom/human-ingress.d.ts.map +0 -1
  483. package/lib/workroom/interaction-space-binding-service.d.ts.map +0 -1
  484. package/lib/workroom/interaction-space-router.d.ts.map +0 -1
  485. package/lib/workroom/journal/activatable-journal.d.ts.map +0 -1
  486. package/lib/workroom/journal/contracts.d.ts.map +0 -1
  487. package/lib/workroom/journal/database-journal.d.ts.map +0 -1
  488. package/lib/workroom/journal/event-codec.d.ts.map +0 -1
  489. package/lib/workroom/journal/event-validation.d.ts.map +0 -1
  490. package/lib/workroom/journal/file-journal.d.ts.map +0 -1
  491. package/lib/workroom/journal/index.d.ts.map +0 -1
  492. package/lib/workroom/journal/legacy-payload-guard.d.ts.map +0 -1
  493. package/lib/workroom/journal/memory-journal.d.ts.map +0 -1
  494. package/lib/workroom/journal/payload-governance.d.ts.map +0 -1
  495. package/lib/workroom/journal/payload-reference.d.ts.map +0 -1
  496. package/lib/workroom/journal/stored-event-projection.d.ts.map +0 -1
  497. package/lib/workroom/journal-model.d.ts.map +0 -1
  498. package/lib/workroom/kernel-contracts.d.ts.map +0 -1
  499. package/lib/workroom/kernel-state.d.ts.map +0 -1
  500. package/lib/workroom/local-assignment-issuance.d.ts.map +0 -1
  501. package/lib/workroom/plan-approval-control.d.ts.map +0 -1
  502. package/lib/workroom/plan-revision.d.ts.map +0 -1
  503. package/lib/workroom/profile-compiler.d.ts.map +0 -1
  504. package/lib/workroom/profile-registry.d.ts.map +0 -1
  505. package/lib/workroom/project-knowledge-registry.d.ts.map +0 -1
  506. package/lib/workroom/projection-outbox/contracts.d.ts.map +0 -1
  507. package/lib/workroom/projection-outbox/delivery-worker.d.ts.map +0 -1
  508. package/lib/workroom/projection-outbox/file-repository.d.ts.map +0 -1
  509. package/lib/workroom/projection-outbox/index.d.ts.map +0 -1
  510. package/lib/workroom/projection-outbox/memory-repository.d.ts.map +0 -1
  511. package/lib/workroom/projection-outbox/projector.d.ts.map +0 -1
  512. package/lib/workroom/projection-outbox/repository-state.d.ts.map +0 -1
  513. package/lib/workroom/projection-outbox/tracer.d.ts.map +0 -1
  514. package/lib/workroom/remote-assignment-dispatch-command.d.ts.map +0 -1
  515. package/lib/workroom/remote-assignment-issuance.d.ts.map +0 -1
  516. package/lib/workroom/remote-callback-application.d.ts.map +0 -1
  517. package/lib/workroom/remote-callback-gateway.d.ts.map +0 -1
  518. package/lib/workroom/remote-callback-inbox.d.ts.map +0 -1
  519. package/lib/workroom/remote-callback-reconciliation-worker.d.ts.map +0 -1
  520. package/lib/workroom/remote-dispatch-admission.d.ts.map +0 -1
  521. package/lib/workroom/remote-dispatch-outbox.d.ts.map +0 -1
  522. package/lib/workroom/remote-dispatch-scheduler.d.ts.map +0 -1
  523. package/lib/workroom/remote-dispatch-worker.d.ts.map +0 -1
  524. package/lib/workroom/remote-dispatch.d.ts.map +0 -1
  525. package/lib/workroom/remote-executor.d.ts.map +0 -1
  526. package/lib/workroom/role-capability-snapshot.d.ts.map +0 -1
  527. package/lib/workroom/runtime.d.ts.map +0 -1
  528. package/lib/workroom/scheduler-priority-control.d.ts.map +0 -1
  529. package/lib/workroom/software-delivery-plan.d.ts.map +0 -1
  530. package/lib/workroom/validate-catalog.d.ts.map +0 -1
  531. package/lib/workroom/workflow-plan-builder.d.ts.map +0 -1
  532. package/lib/workroom/workroom-assignment-knowledge-context.d.ts.map +0 -1
  533. package/lib/workroom/workroom-kernel.d.ts.map +0 -1
  534. package/lib/workroom/workroom-preemption.d.ts.map +0 -1
  535. package/lib/workroom/workroom-run-control.d.ts.map +0 -1
  536. package/lib/workroom/workroom-scheduler-application.d.ts.map +0 -1
  537. package/lib/workroom/workroom-scheduler.d.ts.map +0 -1
  538. package/lib/workroom/workroom-task-report-store.d.ts.map +0 -1
  539. package/lib/workroom-runtime/database-overlay-pack-promotion-repository.d.ts.map +0 -1
  540. package/lib/workroom-runtime/github-actions-delivery-provider.d.ts.map +0 -1
  541. package/lib/workroom-runtime/github-exact-merge-gateway.d.ts.map +0 -1
  542. package/lib/workroom-runtime/github-workroom-capability.d.ts.map +0 -1
  543. package/lib/workroom-runtime/self-delivery-project-composition.d.ts.map +0 -1
  544. package/lib/workroom-runtime/self-delivery-project.d.ts.map +0 -1
  545. package/lib/workroom-runtime/workroom-acceptance-authority.d.ts.map +0 -1
  546. package/lib/workroom-runtime/workroom-acceptance-fact-providers.d.ts.map +0 -1
  547. package/lib/workroom-runtime/workroom-acceptance-internal-providers.d.ts.map +0 -1
  548. package/lib/workroom-runtime/workroom-acceptance-policy.d.ts.map +0 -1
  549. package/lib/workroom-runtime/workroom-acceptance-production-composition.d.ts.map +0 -1
  550. package/lib/workroom-runtime/workroom-acceptance-provider-composition.d.ts.map +0 -1
  551. package/lib/workroom-runtime/workroom-accepted-source-runtime.d.ts.map +0 -1
  552. package/lib/workroom-runtime/workroom-assignment-authority-grant-runtime.d.ts.map +0 -1
  553. package/lib/workroom-runtime/workroom-assignment-authority-provider.d.ts.map +0 -1
  554. package/lib/workroom-runtime/workroom-assignment-knowledge-composition.d.ts.map +0 -1
  555. package/lib/workroom-runtime/workroom-bot-identity.d.ts.map +0 -1
  556. package/lib/workroom-runtime/workroom-capability-realization.d.ts.map +0 -1
  557. package/lib/workroom-runtime/workroom-data-governance-authority-writer.d.ts.map +0 -1
  558. package/lib/workroom-runtime/workroom-data-governance-bootstrap.d.ts.map +0 -1
  559. package/lib/workroom-runtime/workroom-data-governance-composition.d.ts.map +0 -1
  560. package/lib/workroom-runtime/workroom-data-governance-root-provider.d.ts.map +0 -1
  561. package/lib/workroom-runtime/workroom-data-governance-runtime.d.ts.map +0 -1
  562. package/lib/workroom-runtime/workroom-data-governance-storage.d.ts.map +0 -1
  563. package/lib/workroom-runtime/workroom-data-lifecycle-composition.d.ts.map +0 -1
  564. package/lib/workroom-runtime/workroom-data-lifecycle-console.d.ts.map +0 -1
  565. package/lib/workroom-runtime/workroom-data-lifecycle-human-ingress.d.ts.map +0 -1
  566. package/lib/workroom-runtime/workroom-database-models.d.ts.map +0 -1
  567. package/lib/workroom-runtime/workroom-database-storage.d.ts.map +0 -1
  568. package/lib/workroom-runtime/workroom-delivery-gateway.d.ts.map +0 -1
  569. package/lib/workroom-runtime/workroom-dynamic-planning-provider.d.ts.map +0 -1
  570. package/lib/workroom-runtime/workroom-dynamic-planning.d.ts.map +0 -1
  571. package/lib/workroom-runtime/workroom-effect-composition.d.ts.map +0 -1
  572. package/lib/workroom-runtime/workroom-effect-production.d.ts.map +0 -1
  573. package/lib/workroom-runtime/workroom-effect-runtime.d.ts.map +0 -1
  574. package/lib/workroom-runtime/workroom-governed-dispatch-composition.d.ts.map +0 -1
  575. package/lib/workroom-runtime/workroom-host-port.d.ts.map +0 -1
  576. package/lib/workroom-runtime/workroom-journal-payload-composition.d.ts.map +0 -1
  577. package/lib/workroom-runtime/workroom-local-agent-core-adapter.d.ts.map +0 -1
  578. package/lib/workroom-runtime/workroom-local-agent-loop.d.ts.map +0 -1
  579. package/lib/workroom-runtime/workroom-local-assignment-authority.d.ts.map +0 -1
  580. package/lib/workroom-runtime/workroom-local-assignment-executor.d.ts.map +0 -1
  581. package/lib/workroom-runtime/workroom-local-assignment-runtime.d.ts.map +0 -1
  582. package/lib/workroom-runtime/workroom-local-assignment-supply.d.ts.map +0 -1
  583. package/lib/workroom-runtime/workroom-overlay-pack-promotion.d.ts.map +0 -1
  584. package/lib/workroom-runtime/workroom-payload-processor-recall.d.ts.map +0 -1
  585. package/lib/workroom-runtime/workroom-plan-gate-authority.d.ts.map +0 -1
  586. package/lib/workroom-runtime/workroom-portfolio-capacity.d.ts.map +0 -1
  587. package/lib/workroom-runtime/workroom-portfolio-checkpoint-ack.d.ts.map +0 -1
  588. package/lib/workroom-runtime/workroom-portfolio-control-composition.d.ts.map +0 -1
  589. package/lib/workroom-runtime/workroom-portfolio-control-runtime.d.ts.map +0 -1
  590. package/lib/workroom-runtime/workroom-portfolio-grant-assignment.d.ts.map +0 -1
  591. package/lib/workroom-runtime/workroom-portfolio-kernel-authority.d.ts.map +0 -1
  592. package/lib/workroom-runtime/workroom-portfolio-sponsor.d.ts.map +0 -1
  593. package/lib/workroom-runtime/workroom-preemption-runtime.d.ts.map +0 -1
  594. package/lib/workroom-runtime/workroom-priority-authority.d.ts.map +0 -1
  595. package/lib/workroom-runtime/workroom-profile-authority-composition.d.ts.map +0 -1
  596. package/lib/workroom-runtime/workroom-profile-authority-runtime.d.ts.map +0 -1
  597. package/lib/workroom-runtime/workroom-projection-outbound.d.ts.map +0 -1
  598. package/lib/workroom-runtime/workroom-projection-runtime.d.ts.map +0 -1
  599. package/lib/workroom-runtime/workroom-remote-assignment-authority.d.ts.map +0 -1
  600. package/lib/workroom-runtime/workroom-remote-callback-runtime.d.ts.map +0 -1
  601. package/lib/workroom-runtime/workroom-remote-executor.d.ts.map +0 -1
  602. package/lib/workroom-runtime/workroom-reviewer-authority-runtime.d.ts.map +0 -1
  603. package/lib/workroom-runtime/workroom-risk-acceptance-runtime.d.ts.map +0 -1
  604. package/lib/workroom-runtime/workroom-run-profile-pin-authority.d.ts.map +0 -1
  605. package/lib/workroom-runtime/workroom-scheduler-portfolio-composition.d.ts.map +0 -1
  606. package/lib/workroom-runtime/workroom-scheduler-portfolio-contract.d.ts.map +0 -1
  607. package/lib/workroom-runtime/workroom-scheduler-portfolio-request-authority.d.ts.map +0 -1
  608. package/lib/workroom-runtime/workroom-scheduler-portfolio-supply.d.ts.map +0 -1
  609. package/lib/workroom-runtime/workroom-scheduler-route-registry.d.ts.map +0 -1
  610. package/lib/workroom-runtime/workroom-scheduler-runtime.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"workroom-portfolio-control-composition.js","sourceRoot":"","sources":["../../src/workroom-runtime/workroom-portfolio-control-composition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,yBAAyB,CAAC;AAOlE,OAAO,EACL,+BAA+B,GAIhC,MAAM,yCAAyC,CAAC;AASjD,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAW,CACpD,qCAAqC,EACrC,kEAAkE,CACnE,CAAC;AAkBF,yFAAyF;AACzF,MAAM,UAAU,qCAAqC,CACnD,OAAqD;IAErD,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,2BAA2B,CAAC,EAAE,CAAC;QACvD,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,IAAI,+BAA+B,CAAC;QAClD,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,gCAAgC,OAAO,CAAC,UAAU,EAAE;QAClF,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,OAAO;QACjB,gBAAgB,EAAE,OAAO;QACzB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,qCAAqC,CAAC;QACvD,OAAO;QACP,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK;QACvC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD,CAAC,CAAC;IACH,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;IAC/D,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK;QAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IAChD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,qCAAqC;IAChC,OAAO,CAAkC;IACzC,OAAO,CAAc;IACrB,WAAW,CAAS;IACpB,QAAQ,CAA4B;IAC7C,MAAM,CAAiC;IACvC,QAAQ,CAAmB;IAC3B,QAAQ,GAAG,KAAK,CAAC;IAEjB,YAAY,OAKV;QACA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,OAAO;QAClD,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,OAAO,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC;QACvB,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO;gBAAE,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,MAAM;YAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAEQ,MAAM,GAAG,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAEjD,SAAS,CAAC,KAAa;QACrB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,OAAO;YAClD,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBACpE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO;oBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IACxB,CAAC;CACF;AAED,SAAS,gBAAgB,CACvB,KAA+E,EAC/E,OAAiF;IAEjF,MAAM,QAAQ,GAAG,CAAC,IAAgC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;IAC7G,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,CAAC,IAAgC,EAAE,MAAmB,EAAE,EAAE,CACjE,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;QACtC,SAAS,EAAE,CAAC,IAAgC,EAAE,MAAmB,EAAE,EAAE,CACnE,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;QACxC,YAAY,EAAE,CAAC,IAAgC,EAAE,GAAqE,EAAE,EAAE,CACxH,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC;KACzC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"workroom-portfolio-control-composition.js","sourceRoot":"","sources":["../../src/workroom-runtime/workroom-portfolio-control-composition.ts"],"names":[],"mappings":"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","sourcesContent":["import { createToken, type Scope } from '@zhin.js/plugin-runtime';\nimport type {\n PortfolioControlOutboxItem,\n PortfolioControlOutboxRepository,\n} from '../portfolio/capacity-control-outbox.js';\nimport type { PortfolioJournalRepository } from '../portfolio/portfolio-journal.js';\nimport type { GenerationOwnedPortfolioCapacityRuntime } from './workroom-portfolio-capacity.js';\nimport {\n WorkroomPortfolioControlRuntime,\n type PortfolioWorkroomAckAuthorityPort,\n type PortfolioWorkroomControlDeliveryPort,\n type PortfolioWorkroomRouteAuthorityPort,\n} from './workroom-portfolio-control-runtime.js';\n\nexport interface WorkroomPortfolioControlWorker {\n readonly runtime: WorkroomPortfolioControlRuntime;\n start(): void;\n drain(): Promise<number>;\n dispose(): Promise<void>;\n}\n\nexport const portfolioControlWorkerToken = createToken<WorkroomPortfolioControlWorker>(\n 'zhin.agent.portfolio-control-worker',\n 'Generation-owned durable Portfolio Grant/Reclaim delivery worker',\n);\n\nexport interface InstallWorkroomPortfolioControlWorkerOptions {\n readonly generation: number;\n readonly signal: AbortSignal;\n readonly resources: Pick<Scope, 'has' | 'provide' | 'use'>;\n readonly journal: Pick<PortfolioJournalRepository, 'listPortfolioIds' | 'read'>;\n readonly outbox: PortfolioControlOutboxRepository;\n readonly capacity: Pick<GenerationOwnedPortfolioCapacityRuntime, 'consume' | 'acknowledgeReclaim'>;\n readonly route: PortfolioWorkroomRouteAuthorityPort;\n readonly grantAssignments: PortfolioWorkroomControlDeliveryPort & PortfolioWorkroomAckAuthorityPort;\n readonly checkpointAcks: PortfolioWorkroomControlDeliveryPort & PortfolioWorkroomAckAuthorityPort;\n readonly workerId?: string;\n readonly intervalMs?: number;\n readonly autoStart?: boolean;\n readonly onError?: (error: unknown) => void;\n}\n\n/** Installs one generation-owned worker; discussion surfaces receive no command port. */\nexport function installWorkroomPortfolioControlWorker(\n options: InstallWorkroomPortfolioControlWorkerOptions,\n): WorkroomPortfolioControlWorker {\n if (options.resources.has(portfolioControlWorkerToken)) {\n return options.resources.use(portfolioControlWorkerToken);\n }\n const control = multiplexControl(options.grantAssignments, options.checkpointAcks);\n const runtime = new WorkroomPortfolioControlRuntime({\n generation: options.generation,\n workerId: options.workerId ?? `portfolio-control:generation:${options.generation}`,\n journal: options.journal,\n outbox: options.outbox,\n capacity: options.capacity,\n route: options.route,\n delivery: control,\n acknowledgements: control,\n ...(options.onError ? { onDeliveryError: options.onError } : {}),\n });\n const worker = new GenerationOwnedPortfolioControlWorker({\n runtime,\n signal: options.signal,\n intervalMs: options.intervalMs ?? 1_000,\n ...(options.onError ? { onError: options.onError } : {}),\n });\n options.resources.provide(portfolioControlWorkerToken, worker);\n if (options.autoStart !== false) worker.start();\n return worker;\n}\n\nclass GenerationOwnedPortfolioControlWorker implements WorkroomPortfolioControlWorker {\n readonly runtime: WorkroomPortfolioControlRuntime;\n readonly #signal: AbortSignal;\n readonly #intervalMs: number;\n readonly #onError?: (error: unknown) => void;\n #timer?: ReturnType<typeof setTimeout>;\n #running?: Promise<number>;\n #stopped = false;\n\n constructor(options: Readonly<{\n runtime: WorkroomPortfolioControlRuntime;\n signal: AbortSignal;\n intervalMs: number;\n onError?: (error: unknown) => void;\n }>) {\n if (!Number.isSafeInteger(options.intervalMs) || options.intervalMs < 1) {\n throw new Error('Portfolio Control worker interval is invalid');\n }\n this.runtime = options.runtime;\n this.#signal = options.signal;\n this.#intervalMs = options.intervalMs;\n this.#onError = options.onError;\n this.#signal.addEventListener('abort', this.#abort, { once: true });\n }\n\n start(): void {\n if (this.#stopped || this.#signal.aborted) return;\n if (!this.#timer) this.#schedule(0);\n }\n\n async drain(): Promise<number> {\n if (this.#stopped || this.#signal.aborted) return 0;\n if (this.#running) return await this.#running;\n const running = this.runtime.drain(this.#signal);\n this.#running = running;\n try {\n return await running;\n } finally {\n if (this.#running === running) this.#running = undefined;\n }\n }\n\n async dispose(): Promise<void> {\n if (this.#stopped) return;\n this.#stopped = true;\n if (this.#timer) clearTimeout(this.#timer);\n this.#timer = undefined;\n this.#signal.removeEventListener('abort', this.#abort);\n await this.#running;\n }\n\n readonly #abort = () => { void this.dispose(); };\n\n #schedule(delay: number): void {\n this.#timer = setTimeout(() => {\n this.#timer = undefined;\n if (this.#stopped || this.#signal.aborted) return;\n void this.drain().catch(error => this.#onError?.(error)).finally(() => {\n if (!this.#stopped && !this.#signal.aborted) this.#schedule(this.#intervalMs);\n });\n }, delay);\n this.#timer.unref?.();\n }\n}\n\nfunction multiplexControl(\n grant: PortfolioWorkroomControlDeliveryPort & PortfolioWorkroomAckAuthorityPort,\n reclaim: PortfolioWorkroomControlDeliveryPort & PortfolioWorkroomAckAuthorityPort,\n): PortfolioWorkroomControlDeliveryPort & PortfolioWorkroomAckAuthorityPort {\n const delegate = (item: PortfolioControlOutboxItem) => item.payload.kind === 'grant_offer' ? grant : reclaim;\n return Object.freeze({\n deliver: (item: PortfolioControlOutboxItem, signal: AbortSignal) =>\n delegate(item).deliver(item, signal),\n reconcile: (item: PortfolioControlOutboxItem, signal: AbortSignal) =>\n delegate(item).reconcile(item, signal),\n authenticate: (item: PortfolioControlOutboxItem, ack: Parameters<PortfolioWorkroomAckAuthorityPort['authenticate']>[1]) =>\n delegate(item).authenticate(item, ack),\n });\n}\n"]}
@@ -39,4 +39,3 @@ export declare class WorkroomPortfolioControlRuntime {
39
39
  constructor(options: WorkroomPortfolioControlRuntimeOptions);
40
40
  drain(signal: AbortSignal): Promise<number>;
41
41
  }
42
- //# sourceMappingURL=workroom-portfolio-control-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workroom-portfolio-control-runtime.js","sourceRoot":"","sources":["../../src/workroom-runtime/workroom-portfolio-control-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workroom-portfolio-control-runtime.js","sourceRoot":"","sources":["../../src/workroom-runtime/workroom-portfolio-control-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import { createToken } from '@zhin.js/plugin-runtime';\nimport {\n createPortfolioControlItem,\n createPortfolioControlOutboxEvent,\n replayPortfolioControlOutbox,\n type PortfolioControlAck,\n type PortfolioControlOutboxEventDraft,\n type PortfolioControlOutboxItem,\n type PortfolioControlOutboxRepository,\n type PortfolioWorkroomRoute,\n} from '../portfolio/capacity-control-outbox.js';\nimport { replayPortfolioAdmission } from '../portfolio/portfolio-admission.js';\nimport type { PortfolioFact, PortfolioJournalRepository } from '../portfolio/portfolio-journal.js';\nimport type { GenerationOwnedPortfolioCapacityRuntime } from './workroom-portfolio-capacity.js';\nimport { digestCanonicalWorkroomValue as digest } from '../workroom/canonical-value.js';\nimport { PortfolioGrantAssignmentCompensatedError } from './workroom-portfolio-grant-assignment.js';\n\nexport interface PortfolioWorkroomRouteAuthorityPort {\n resolve(input: Readonly<{\n portfolioId: string; projectId: string; grantId: string; requestId: string; grantFence: number;\n }>): Promise<PortfolioWorkroomRoute | undefined>;\n}\n\nexport interface PortfolioWorkroomControlDeliveryPort {\n deliver(item: PortfolioControlOutboxItem, signal: AbortSignal): Promise<PortfolioControlAck>;\n reconcile(item: PortfolioControlOutboxItem, signal: AbortSignal): Promise<PortfolioControlAck>;\n}\n\nexport interface PortfolioWorkroomAckAuthorityPort {\n authenticate(item: PortfolioControlOutboxItem, ack: PortfolioControlAck): Promise<boolean>;\n}\n\nexport const portfolioWorkroomRouteAuthorityToken = createToken<PortfolioWorkroomRouteAuthorityPort>(\n 'zhin.agent.portfolio-workroom-route-authority',\n 'Project-owned exact Workroom route for Capacity Grant/Reclaim control',\n);\nexport const portfolioWorkroomControlDeliveryToken = createToken<PortfolioWorkroomControlDeliveryPort>(\n 'zhin.agent.portfolio-workroom-control-delivery',\n 'Typed idempotent owning Workroom Grant/Reclaim delivery and reconciliation',\n);\nexport const portfolioWorkroomAckAuthorityToken = createToken<PortfolioWorkroomAckAuthorityPort>(\n 'zhin.agent.portfolio-workroom-ack-authority',\n 'Authenticated Assignment attempt/fence/checkpoint acknowledgement authority',\n);\nexport const portfolioControlOutboxRepositoryToken = createToken<PortfolioControlOutboxRepository>(\n 'zhin.agent.portfolio-control-outbox-repository',\n 'Activatable durable Portfolio Grant/Reclaim delivery outbox',\n);\n\nexport interface WorkroomPortfolioControlRuntimeOptions {\n readonly generation: number;\n readonly workerId: string;\n readonly journal: Pick<PortfolioJournalRepository, 'listPortfolioIds' | 'read'>;\n readonly outbox: PortfolioControlOutboxRepository;\n readonly capacity: Pick<GenerationOwnedPortfolioCapacityRuntime, 'consume' | 'acknowledgeReclaim'>;\n readonly route: PortfolioWorkroomRouteAuthorityPort;\n readonly delivery: PortfolioWorkroomControlDeliveryPort;\n readonly acknowledgements: PortfolioWorkroomAckAuthorityPort;\n readonly onDeliveryError?: (error: unknown, item: PortfolioControlOutboxItem) => void;\n}\n\n/** Durable source scanner + two-phase owning Workroom control worker. */\nexport class WorkroomPortfolioControlRuntime {\n constructor(readonly options: WorkroomPortfolioControlRuntimeOptions) {\n if (!Number.isSafeInteger(options.generation) || options.generation < 1) throw new Error('generation is invalid');\n if (!options.workerId.trim()) throw new Error('workerId is invalid');\n }\n\n async drain(signal: AbortSignal): Promise<number> {\n let acknowledged = 0;\n for (const portfolioId of [...await this.options.journal.listPortfolioIds()].sort()) {\n signal.throwIfAborted();\n await this.#scan(portfolioId);\n acknowledged += await this.#deliver(portfolioId, signal);\n }\n return acknowledged;\n }\n\n async #scan(portfolioId: string): Promise<void> {\n const facts = await this.options.journal.read(portfolioId);\n const latestAdmission = replayPortfolioAdmission(portfolioId, facts);\n let outbox = replayPortfolioControlOutbox(portfolioId, await this.options.outbox.read(portfolioId));\n for (let sequence = outbox.sourceCursor + 1; sequence < facts.length; sequence += 1) {\n const fact = facts[sequence]!;\n let item: PortfolioControlOutboxItem | undefined;\n if (fact.type === 'capacity.grant_offered' || fact.type === 'capacity.reclaim_requested') {\n const state = replayPortfolioAdmission(portfolioId, facts.slice(0, sequence + 1));\n const grant = fact.type === 'capacity.grant_offered'\n ? fact.payload.grant\n : state.grants[fact.payload.reclaim.grantId];\n if (!grant) throw new Error('Portfolio Control source Grant is absent');\n const route = await this.options.route.resolve({\n portfolioId, projectId: grant.projectId, grantId: grant.grantId,\n requestId: grant.requestId, grantFence: grant.fence,\n });\n // The source Grant/Reclaim fact is itself the durable blocker. Keep the\n // scanner cursor before it so a later generation/provider can recover\n // without writing one blocker event per tick or failing Host startup.\n if (!route) {\n const latestGrant = latestAdmission.grants[grant.grantId];\n const latestReclaim = fact.type === 'capacity.reclaim_requested'\n ? latestAdmission.reclaims[fact.payload.reclaim.reclaimId]\n : undefined;\n const sourceStillActionable = fact.type === 'capacity.grant_offered'\n ? latestGrant?.status === 'offered'\n : latestReclaim?.status === 'pending';\n if (sourceStillActionable) return;\n } else {\n item = createPortfolioControlItem(fact, grant, route);\n }\n }\n await this.#append(portfolioId, {\n type: 'source.scanned', payload: {\n sourceSequence: fact.sequence,\n sourceEventId: fact.eventId,\n sourceEventDigest: factDigest(fact),\n ...(item ? { item } : {}),\n },\n });\n outbox = replayPortfolioControlOutbox(portfolioId, await this.options.outbox.read(portfolioId));\n }\n }\n\n async #deliver(portfolioId: string, signal: AbortSignal): Promise<number> {\n let count = 0;\n let state = replayPortfolioControlOutbox(portfolioId, await this.options.outbox.read(portfolioId));\n const facts = await this.options.journal.read(portfolioId);\n const admission = replayPortfolioAdmission(portfolioId, facts);\n for (const itemId of Object.keys(state.items).sort()) {\n signal.throwIfAborted();\n let item = state.items[itemId]!;\n if (item.status === 'acknowledged' || item.status === 'closed') continue;\n if (item.status === 'pending') {\n const terminal = terminalFact(item, facts);\n if (terminal) {\n await this.#append(portfolioId, {\n type: 'item.closed', payload: {\n itemId,\n reason: terminal.reason,\n closedAt: terminal.fact.occurredAt,\n terminalSourceSequence: terminal.fact.sequence,\n terminalSourceEventId: terminal.fact.eventId,\n terminalSourceEventDigest: factDigest(terminal.fact),\n },\n });\n state = replayPortfolioControlOutbox(portfolioId, await this.options.outbox.read(portfolioId));\n continue;\n }\n }\n if (item.status === 'dispatching') {\n if (item.claimExpiresAt! > admission.now) continue;\n await this.#append(portfolioId, {\n type: 'item.outcome_unknown', payload: {\n itemId, deliveryFence: item.deliveryFence, observedAt: admission.now,\n },\n });\n state = replayPortfolioControlOutbox(portfolioId, await this.options.outbox.read(portfolioId));\n item = state.items[itemId]!;\n }\n if (item.status === 'pending') {\n const deadline = item.payload.kind === 'grant_offer'\n ? item.payload.grant.offerExpiresAt\n : item.payload.reclaim.deadline;\n if (deadline <= admission.now) continue;\n await this.#append(portfolioId, {\n type: 'item.claimed', payload: {\n itemId, workerId: this.options.workerId, deliveryFence: item.deliveryFence + 1,\n claimedAt: admission.now, claimExpiresAt: deadline,\n },\n });\n state = replayPortfolioControlOutbox(portfolioId, await this.options.outbox.read(portfolioId));\n item = state.items[itemId]!;\n }\n let ack: PortfolioControlAck;\n try {\n ack = item.status === 'outcome_unknown'\n ? await this.options.delivery.reconcile(item, signal)\n : await this.options.delivery.deliver(item, signal);\n } catch (error) {\n this.options.onDeliveryError?.(error, item);\n if (error instanceof PortfolioGrantAssignmentCompensatedError) {\n await this.#append(portfolioId, {\n type: 'item.compensated', payload: {\n itemId, deliveryFence: item.deliveryFence, compensation: error.compensation,\n },\n });\n count += 1;\n state = replayPortfolioControlOutbox(portfolioId, await this.options.outbox.read(portfolioId));\n continue;\n }\n if (item.status === 'dispatching') await this.#append(portfolioId, {\n type: 'item.outcome_unknown', payload: {\n itemId, deliveryFence: item.deliveryFence, observedAt: admission.now,\n },\n });\n continue;\n }\n if (!await this.options.acknowledgements.authenticate(item, ack)) {\n throw new Error('Owning Workroom acknowledgement is unauthenticated');\n }\n // Validate the full ack before making any Portfolio state change.\n const validationDraft: PortfolioControlOutboxEventDraft = {\n type: 'item.acknowledged', payload: { itemId, deliveryFence: item.deliveryFence, ack },\n };\n const probeEvents = await this.options.outbox.read(portfolioId);\n replayPortfolioControlOutbox(portfolioId, [\n ...probeEvents,\n createPortfolioControlOutboxEvent(portfolioId, probeEvents.length, validationDraft),\n ]);\n if (ack.kind === 'grant_accepted') {\n await this.options.capacity.consume({\n generation: this.options.generation, portfolioId, grantId: ack.grantId,\n projectId: ack.projectId, fence: ack.grantFence, assignmentRef: ack.assignmentRef,\n });\n } else {\n await this.options.capacity.acknowledgeReclaim({\n generation: this.options.generation, portfolioId, reclaimId: ack.reclaimId,\n projectId: ack.projectId, fence: ack.grantFence, outcome: ack.outcome,\n ...(ack.checkpoint ? { checkpointRef: ack.checkpoint.ref } : {}),\n ...(ack.checkpoint ? { checkpointDigest: ack.checkpoint.digest } : {}),\n });\n }\n await this.#append(portfolioId, validationDraft);\n count += 1;\n state = replayPortfolioControlOutbox(portfolioId, await this.options.outbox.read(portfolioId));\n }\n return count;\n }\n\n async #append(portfolioId: string, draft: PortfolioControlOutboxEventDraft): Promise<void> {\n const state = replayPortfolioControlOutbox(portfolioId, await this.options.outbox.read(portfolioId));\n await this.options.outbox.append(portfolioId, state.sequence, draft);\n }\n}\n\nfunction factDigest(fact: PortfolioFact): string {\n return digest(fact);\n}\n\nfunction terminalFact(\n item: PortfolioControlOutboxItem,\n facts: readonly PortfolioFact[],\n): Readonly<{\n reason: 'offer_expired' | 'reclaim_timed_out';\n fact: PortfolioFact;\n}> | undefined {\n if (item.payload.kind === 'grant_offer') {\n const fact = facts.find(candidate => candidate.type === 'capacity.grant_expired'\n && candidate.payload.grantId === item.payload.grant.grantId\n && candidate.payload.fence === item.payload.grant.fence);\n return fact ? { reason: 'offer_expired', fact } : undefined;\n }\n const { reclaim, grant } = item.payload;\n const fact = facts.find(candidate => candidate.type === 'capacity.reclaim_timed_out'\n && candidate.payload.reclaimId === reclaim.reclaimId\n && candidate.payload.grantId === grant.grantId\n && candidate.payload.fence === grant.fence);\n return fact ? { reason: 'reclaim_timed_out', fact } : undefined;\n}\n"]}
@@ -138,4 +138,3 @@ export declare function portfolioGrantAssignmentIssuerPreview(input: Readonly<{
138
138
  kernelSequence: number;
139
139
  kernelStateDigest: string;
140
140
  }>): PortfolioGrantAssignmentIssuerPreview;
141
- //# sourceMappingURL=workroom-portfolio-grant-assignment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workroom-portfolio-grant-assignment.js","sourceRoot":"","sources":["../../src/workroom-runtime/workroom-portfolio-grant-assignment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workroom-portfolio-grant-assignment.js","sourceRoot":"","sources":["../../src/workroom-runtime/workroom-portfolio-grant-assignment.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AssignmentExecutionEnvelope } from '../workroom/assignment-executor.js';\nimport type { WorkroomLocalAssignmentClaimRequest } from '../workroom/local-assignment-issuance.js';\nimport type { WorkroomRemoteAssignmentClaimRequest } from '../workroom/remote-assignment-issuance.js';\nimport type { WorkroomKernel } from '../workroom/workroom-kernel.js';\nimport type { WorkroomJournal } from '../workroom/journal/index.js';\nimport type { WorkroomCatalog } from '../workroom/catalog.js';\nimport {\n parseWorkroomDispatchTaskDecision,\n type WorkroomDispatchTaskDecision,\n} from '../workroom/workroom-scheduler.js';\nimport { replayPortfolioAdmission, portfolioCapacityRequestDigest } from '../portfolio/portfolio-admission.js';\nimport type {\n PortfolioGrantAssignmentFailureReason,\n PortfolioJournalRepository,\n} from '../portfolio/portfolio-journal.js';\nimport type {\n PortfolioControlAck,\n PortfolioControlCompensation,\n PortfolioControlOutboxItem,\n PortfolioWorkroomRoute,\n} from '../portfolio/capacity-control-outbox.js';\nimport {\n canonicalWorkroomJson,\n deepFreezeWorkroomValue as deepFreeze,\n digestCanonicalWorkroomValue as digest,\n} from '../workroom/canonical-value.js';\nimport type { GenerationOwnedPortfolioCapacityRuntime } from './workroom-portfolio-capacity.js';\nimport type {\n PortfolioWorkroomAckAuthorityPort,\n PortfolioWorkroomControlDeliveryPort,\n PortfolioWorkroomRouteAuthorityPort,\n} from './workroom-portfolio-control-runtime.js';\nimport type { WorkroomSchedulerAssignmentRoutePort } from './workroom-scheduler-runtime.js';\nimport {\n workroomSchedulerPortfolioOpaqueHeadId,\n workroomSchedulerPortfolioPayloadDigest,\n workroomSchedulerPortfolioRequestId,\n} from './workroom-scheduler-portfolio-contract.js';\nexport {\n workroomSchedulerPortfolioOpaqueHeadId,\n workroomSchedulerPortfolioPayloadDigest,\n workroomSchedulerPortfolioRequestId,\n} from './workroom-scheduler-portfolio-contract.js';\n\nexport type PortfolioGrantAssignmentClaim =\n | Readonly<{ kind: 'local'; request: WorkroomLocalAssignmentClaimRequest }>\n | Readonly<{ kind: 'remote'; request: WorkroomRemoteAssignmentClaimRequest }>;\n\nexport interface PortfolioGrantAssignmentBinding {\n readonly version: 1;\n readonly portfolioId: string;\n readonly projectId: string;\n readonly grantId: string;\n readonly grantFence: number;\n readonly requestId: string;\n readonly requestDigest: string;\n readonly validatedBundleDigest: string;\n readonly schedulerDecisionId: string;\n readonly schedulerDecisionDigest: string;\n readonly schedulerSequence: number;\n readonly opaqueHeadId: string;\n readonly route: PortfolioWorkroomRoute;\n readonly claim: PortfolioGrantAssignmentClaim;\n readonly issuerPreview: PortfolioGrantAssignmentIssuerPreview;\n readonly assignmentRef: string;\n readonly digest: string;\n}\n\n/** Kernel-owned deterministic preview. Portfolio code must never derive an Assignment id. */\nexport interface PortfolioGrantAssignmentIssuerPreview {\n readonly version: 1;\n readonly kind: 'local' | 'remote';\n readonly assignmentRef: string;\n readonly claimDigest: string;\n readonly taskRevision: number;\n readonly kernelSequence: number;\n readonly kernelStateDigest: string;\n readonly previewDigest: string;\n}\n\nexport interface PortfolioGrantAssignmentBindingAuthorityPort {\n resolve(item: PortfolioControlOutboxItem): Promise<PortfolioGrantAssignmentBinding | undefined>;\n}\n\nexport interface PortfolioGrantAssignmentIssuancePort {\n preview(claim: PortfolioGrantAssignmentClaim): Promise<PortfolioGrantAssignmentIssuerPreview | undefined>;\n issue(\n claim: PortfolioGrantAssignmentClaim,\n preview: PortfolioGrantAssignmentIssuerPreview,\n ): Promise<PortfolioGrantAssignmentIssueResult>;\n find(claim: PortfolioGrantAssignmentClaim): Promise<Readonly<{\n issuedAt: number;\n envelope: AssignmentExecutionEnvelope;\n }> | undefined>;\n}\n\nexport type PortfolioGrantAssignmentIssueResult =\n | Readonly<{ kind: 'claimed'; issuedAt: number; envelope: AssignmentExecutionEnvelope }>\n | Readonly<{\n kind: 'rejected'; reason: PortfolioGrantAssignmentFailureReason;\n kernelSequence: number; kernelFactDigest: string; proofDigest: string;\n }>;\n\nexport class PortfolioGrantAssignmentBindingUnavailableError extends Error {\n constructor(readonly itemId: string) {\n super(`Portfolio Grant has no exact Scheduler/Assignment binding for ${itemId}`);\n this.name = 'PortfolioGrantAssignmentBindingUnavailableError';\n }\n}\n\nexport interface PortfolioGrantAssignmentAuthorityOptions {\n readonly portfolioJournal: Pick<PortfolioJournalRepository, 'read'>;\n readonly workroomJournal: Pick<WorkroomJournal, 'read'>;\n readonly catalog: Pick<WorkroomCatalog, 'read'>;\n readonly schedulerRoute: WorkroomSchedulerAssignmentRoutePort;\n readonly issuances: Pick<PortfolioGrantAssignmentIssuancePort, 'preview'>;\n}\n\n/**\n * Maps a content-free Portfolio Grant back to one durable Scheduler decision.\n * No Task title, model output, or metadata participates in the authority path.\n */\nexport class PortfolioGrantAssignmentAuthority\nimplements PortfolioGrantAssignmentBindingAuthorityPort {\n readonly routeAuthority: PortfolioWorkroomRouteAuthorityPort;\n\n constructor(readonly options: PortfolioGrantAssignmentAuthorityOptions) {\n this.routeAuthority = Object.freeze({\n resolve: (input: Parameters<PortfolioWorkroomRouteAuthorityPort['resolve']>[0]) =>\n this.#resolveRoute(input),\n });\n }\n\n async resolve(item: PortfolioControlOutboxItem): Promise<PortfolioGrantAssignmentBinding | undefined> {\n if (item.payload.kind !== 'grant_offer') return undefined;\n const resolved = await this.#resolveFacts({\n portfolioId: item.portfolioId, projectId: item.projectId,\n grantId: item.payload.grant.grantId, requestId: item.payload.grant.requestId,\n grantFence: item.payload.grant.fence,\n });\n if (!resolved || canonicalWorkroomJson(resolved.route) !== canonicalWorkroomJson(item.route)) {\n return undefined;\n }\n const claim: PortfolioGrantAssignmentClaim = resolved.assignmentRoute.kind === 'local'\n ? { kind: 'local', request: {\n operationId: resolved.decision.decisionId, projectId: resolved.decision.projectId,\n runId: resolved.decision.runId, taskKey: resolved.decision.taskKey,\n agentDefinitionId: resolved.assignmentRoute.agentDefinitionId,\n } }\n : { kind: 'remote', request: {\n operationId: resolved.decision.decisionId, projectId: resolved.decision.projectId,\n runId: resolved.decision.runId, taskKey: resolved.decision.taskKey,\n agentDefinitionId: resolved.assignmentRoute.agentDefinitionId,\n endpointId: resolved.assignmentRoute.endpointId,\n } };\n const issuerPreview = await this.options.issuances.preview(claim);\n if (!issuerPreview || issuerPreview.taskRevision !== resolved.decision.taskRevision) return undefined;\n return portfolioGrantAssignmentBinding({\n portfolioId: item.portfolioId, projectId: item.projectId,\n grantId: resolved.grant.grantId, grantFence: resolved.grant.fence,\n requestId: resolved.request.requestId, requestDigest: resolved.grant.requestDigest,\n validatedBundleDigest: resolved.grant.validatedBundleDigest,\n schedulerDecisionId: resolved.decision.decisionId,\n schedulerDecisionDigest: resolved.decision.digest,\n schedulerSequence: resolved.request.schedulerSequence,\n opaqueHeadId: resolved.request.opaqueHeadId,\n route: resolved.route, claim, issuerPreview,\n });\n }\n\n async #resolveRoute(input: Parameters<PortfolioWorkroomRouteAuthorityPort['resolve']>[0]) {\n return (await this.#resolveFacts(input))?.route;\n }\n\n async #resolveFacts(input: Parameters<PortfolioWorkroomRouteAuthorityPort['resolve']>[0]) {\n const portfolioFacts = await this.options.portfolioJournal.read(input.portfolioId);\n const state = replayPortfolioAdmission(input.portfolioId, portfolioFacts);\n const grant = state.grants[input.grantId];\n const requestState = state.requests[input.requestId];\n if (!grant || !requestState || grant.projectId !== input.projectId\n || grant.requestId !== input.requestId || grant.fence !== input.grantFence\n || grant.requestDigest !== portfolioCapacityRequestDigest(requestState.request)) return undefined;\n const request = requestState.request;\n const events = await this.options.workroomJournal.read(request.workRef.runId);\n const dispatchEvent = events[request.schedulerSequence];\n if (!dispatchEvent || dispatchEvent.type !== 'scheduler.dispatch_requested') return undefined;\n const decision = parseWorkroomDispatchTaskDecision(dispatchEvent.payload);\n if (decision.projectId !== request.projectId || decision.runId !== request.workRef.runId\n || decision.policy.digest !== request.schedulerRevision\n || request.opaqueHeadId !== workroomSchedulerPortfolioOpaqueHeadId(decision)) return undefined;\n const catalog = await this.options.catalog.read();\n const assignmentRoute = await this.options.schedulerRoute.resolve({ decision, catalog });\n if (!assignmentRoute) return undefined;\n if (request.requestId !== workroomSchedulerPortfolioRequestId(decision, assignmentRoute)\n || request.payloadDigest !== workroomSchedulerPortfolioPayloadDigest(decision, assignmentRoute)) {\n return undefined;\n }\n const definition = catalog.definitions[decision.projectId];\n if (!definition || definition.enabled === false || !definition.members.some(member =>\n member.role === decision.role && member.agent === assignmentRoute.agentDefinitionId)) return undefined;\n const routeAuthority = deepFreeze({\n catalogRevision: catalog.revision,\n schedulerAuthorityRef: assignmentRoute.authorityRef,\n projectId: decision.projectId,\n agentDefinitionId: assignmentRoute.agentDefinitionId,\n ...(assignmentRoute.kind === 'remote' ? { endpointId: assignmentRoute.endpointId } : {}),\n });\n const route = deepFreeze({\n projectId: decision.projectId,\n routeRef: `portfolio-assignment-route:${decision.decisionId}`,\n routeDigest: digest({ decisionDigest: decision.digest, routeAuthority }),\n authorityRef: assignmentRoute.authorityRef,\n authorityDigest: digest(routeAuthority),\n });\n return deepFreeze({ grant, request, decision, assignmentRoute, route });\n }\n}\n\n/** Kernel-owned preview/claim adapter with restart-safe lost-response recovery. */\nexport class KernelPortfolioGrantAssignmentIssuance implements PortfolioGrantAssignmentIssuancePort {\n constructor(readonly kernel: Pick<WorkroomKernel,\n | 'previewLocalAssignment' | 'previewRemoteAssignment'\n | 'issueLocalAssignment' | 'issueRemoteAssignment'\n | 'findLocalAssignment' | 'findRemoteAssignment' | 'read'>) {}\n\n async preview(claim: PortfolioGrantAssignmentClaim): Promise<PortfolioGrantAssignmentIssuerPreview> {\n return claim.kind === 'local'\n ? await this.kernel.previewLocalAssignment(claim.request)\n : await this.kernel.previewRemoteAssignment(claim.request);\n }\n\n async issue(\n claim: PortfolioGrantAssignmentClaim,\n preview: PortfolioGrantAssignmentIssuerPreview,\n ): Promise<PortfolioGrantAssignmentIssueResult> {\n const currentPreview = await this.preview(claim);\n if (canonicalWorkroomJson(currentPreview) !== canonicalWorkroomJson(preview)) {\n throw new Error('Kernel Assignment issuer preview changed before claim');\n }\n try {\n const issued = claim.kind === 'local'\n ? await this.kernel.issueLocalAssignment(claim.request)\n : await this.kernel.issueRemoteAssignment(claim.request);\n return deepFreeze({ kind: 'claimed' as const, issuedAt: issued.issuedAt, envelope: issued.envelope });\n } catch (error) {\n const recovered = await this.find(claim);\n if (recovered) return deepFreeze({ kind: 'claimed' as const, ...recovered });\n const state = await this.kernel.read(claim.request.projectId, claim.request.runId);\n const task = state.tasks[claim.request.taskKey];\n const reason = deterministicFailureReason(\n state.status,\n task?.status,\n task?.revision,\n preview.taskRevision,\n task?.acceptanceContract !== undefined,\n );\n if (!reason) throw error;\n const kernelFactDigest = digest(state);\n const proofBody = deepFreeze({\n version: 1 as const, reason, assignmentRef: preview.assignmentRef,\n claimDigest: preview.claimDigest, kernelSequence: state.sequence, kernelFactDigest,\n });\n return deepFreeze({\n kind: 'rejected' as const, reason, kernelSequence: state.sequence,\n kernelFactDigest, proofDigest: digest(proofBody),\n });\n }\n }\n\n async find(claim: PortfolioGrantAssignmentClaim): Promise<Readonly<{\n issuedAt: number; envelope: AssignmentExecutionEnvelope;\n }> | undefined> {\n const issued = claim.kind === 'local'\n ? await this.kernel.findLocalAssignment(claim.request)\n : await this.kernel.findRemoteAssignment(claim.request);\n return issued ? deepFreeze({ issuedAt: issued.issuedAt, envelope: issued.envelope }) : undefined;\n }\n}\n\nexport class PortfolioGrantAssignmentCompensatedError extends Error {\n constructor(readonly compensation: PortfolioControlCompensation) {\n super(`Portfolio Grant Assignment was deterministically rejected for ${compensation.itemId}`);\n this.name = 'PortfolioGrantAssignmentCompensatedError';\n }\n}\n\n/**\n * Consume-first recovery saga. The deterministic Assignment ref is reserved in\n * the Portfolio Journal before Kernel issuance, so an Executor can never see\n * an Assignment without an already-consumed Grant.\n */\nexport class WorkroomPortfolioGrantAssignmentSaga\nimplements PortfolioWorkroomControlDeliveryPort, PortfolioWorkroomAckAuthorityPort {\n constructor(readonly options: Readonly<{\n generation: number;\n capacity: Pick<GenerationOwnedPortfolioCapacityRuntime, 'consume' | 'failAssignment'>;\n bindings: PortfolioGrantAssignmentBindingAuthorityPort;\n issuances: PortfolioGrantAssignmentIssuancePort;\n }>) {}\n\n deliver(item: PortfolioControlOutboxItem, signal: AbortSignal): Promise<PortfolioControlAck> {\n return this.#deliver(item, signal);\n }\n\n reconcile(item: PortfolioControlOutboxItem, signal: AbortSignal): Promise<PortfolioControlAck> {\n return this.#deliver(item, signal);\n }\n\n async authenticate(item: PortfolioControlOutboxItem, ack: PortfolioControlAck): Promise<boolean> {\n if (item.payload.kind !== 'grant_offer' || ack.kind !== 'grant_accepted') return false;\n const binding = await this.options.bindings.resolve(item);\n if (!binding || canonicalWorkroomJson(binding.route) !== canonicalWorkroomJson(item.route)) return false;\n const issued = await this.options.issuances.find(binding.claim);\n if (!issued) return false;\n return canonicalWorkroomJson(createAck(item, binding, issued)) === canonicalWorkroomJson(ack);\n }\n\n async #deliver(item: PortfolioControlOutboxItem, signal: AbortSignal): Promise<PortfolioControlAck> {\n signal.throwIfAborted();\n if (item.payload.kind !== 'grant_offer') {\n throw new PortfolioGrantAssignmentBindingUnavailableError(item.itemId);\n }\n const binding = await this.options.bindings.resolve(item);\n if (!binding || canonicalWorkroomJson(binding.route) !== canonicalWorkroomJson(item.route)) {\n throw new PortfolioGrantAssignmentBindingUnavailableError(item.itemId);\n }\n assertBinding(item, binding);\n await this.options.capacity.consume({\n generation: this.options.generation,\n portfolioId: item.portfolioId,\n grantId: item.payload.grant.grantId,\n projectId: item.projectId,\n fence: item.payload.grant.fence,\n assignmentRef: binding.assignmentRef,\n });\n signal.throwIfAborted();\n const preview = await this.options.issuances.preview(binding.claim);\n if (!preview || canonicalWorkroomJson(preview) !== canonicalWorkroomJson(binding.issuerPreview)) {\n throw new PortfolioGrantAssignmentBindingUnavailableError(item.itemId);\n }\n const issued = await this.options.issuances.issue(binding.claim, preview);\n if (issued.kind === 'rejected') {\n await this.options.capacity.failAssignment({\n generation: this.options.generation,\n portfolioId: item.portfolioId,\n grantId: item.payload.grant.grantId,\n projectId: item.projectId,\n fence: item.payload.grant.fence,\n assignmentRef: binding.assignmentRef,\n reason: issued.reason,\n kernelSequence: issued.kernelSequence,\n kernelFactDigest: issued.kernelFactDigest,\n });\n throw new PortfolioGrantAssignmentCompensatedError(createCompensation(item, binding, issued));\n }\n if (issued.envelope.assignmentId !== binding.assignmentRef\n || issued.envelope.projectId !== item.projectId\n || issued.envelope.runId !== binding.claim.request.runId\n || issued.envelope.taskKey !== binding.claim.request.taskKey) {\n throw new Error('Kernel Assignment issuance drifted from the consumed Portfolio Grant');\n }\n return createAck(item, binding, issued);\n }\n}\n\nexport function portfolioGrantAssignmentBinding(\n input: Omit<PortfolioGrantAssignmentBinding, 'version' | 'assignmentRef' | 'digest'>,\n): PortfolioGrantAssignmentBinding {\n const claimDigest = digest(input.claim);\n const { previewDigest, ...previewBody } = input.issuerPreview;\n if (input.issuerPreview.version !== 1 || input.issuerPreview.kind !== input.claim.kind\n || input.issuerPreview.claimDigest !== claimDigest\n || input.issuerPreview.previewDigest !== digest(previewBody)) {\n throw new Error('Kernel Assignment issuer preview is stale');\n }\n const assignmentRef = input.issuerPreview.assignmentRef;\n const body = deepFreeze({ version: 1 as const, ...structuredClone(input), assignmentRef });\n return deepFreeze({ ...body, digest: digest(body) });\n}\n\nexport function portfolioGrantAssignmentIssuerPreview(input: Readonly<{\n kind: 'local' | 'remote'; assignmentRef: string; claimDigest: string;\n taskRevision: number; kernelSequence: number; kernelStateDigest: string;\n}>): PortfolioGrantAssignmentIssuerPreview {\n const body = deepFreeze({ version: 1 as const, ...structuredClone(input) });\n return deepFreeze({ ...body, previewDigest: digest(body) });\n}\n\nfunction assertBinding(item: PortfolioControlOutboxItem, binding: PortfolioGrantAssignmentBinding): void {\n const { version: ignoredVersion, assignmentRef: ignoredAssignmentRef, digest: ignoredDigest, ...input } = binding;\n void ignoredVersion;\n void ignoredAssignmentRef;\n void ignoredDigest;\n const canonical = portfolioGrantAssignmentBinding(input);\n if (canonicalWorkroomJson(canonical) !== canonicalWorkroomJson(binding)\n || binding.portfolioId !== item.portfolioId || binding.projectId !== item.projectId\n || binding.grantId !== item.payload.grant.grantId\n || binding.grantFence !== item.payload.grant.fence\n || binding.requestId !== item.payload.grant.requestId\n || binding.requestDigest !== item.payload.grant.requestDigest) {\n throw new Error('Portfolio Grant Assignment binding is stale');\n }\n}\n\nfunction createAck(\n item: PortfolioControlOutboxItem,\n binding: PortfolioGrantAssignmentBinding,\n issued: Readonly<{ issuedAt: number; envelope: AssignmentExecutionEnvelope }>,\n): Extract<PortfolioControlAck, { kind: 'grant_accepted' }> {\n const body = deepFreeze({\n version: 1 as const,\n kind: 'grant_accepted' as const,\n ackId: `portfolio-grant-assignment:${binding.digest.slice('sha256:'.length)}`,\n portfolioId: item.portfolioId,\n projectId: item.projectId,\n itemId: item.itemId,\n grantId: item.payload.grant.grantId,\n requestId: item.payload.grant.requestId,\n grantFence: item.payload.grant.fence,\n deliveryFence: item.deliveryFence,\n assignmentRef: issued.envelope.assignmentId,\n assignmentAttempt: issued.envelope.attempt,\n assignmentFence: issued.envelope.fence,\n producer: {\n principalId: issued.envelope.principalId,\n authorityRef: `assignment-envelope:${issued.envelope.assignmentId}:${issued.envelope.fence}`,\n authorityDigest: issued.envelope.digest,\n },\n observedAt: issued.issuedAt,\n });\n return deepFreeze({ ...body, digest: digest(body) });\n}\n\nfunction createCompensation(\n item: PortfolioControlOutboxItem,\n binding: PortfolioGrantAssignmentBinding,\n rejected: Extract<PortfolioGrantAssignmentIssueResult, { kind: 'rejected' }>,\n): PortfolioControlCompensation {\n const body = deepFreeze({\n version: 1 as const,\n itemId: item.itemId,\n portfolioId: item.portfolioId,\n projectId: item.projectId,\n grantId: item.payload.grant.grantId,\n grantFence: item.payload.grant.fence,\n deliveryFence: item.deliveryFence,\n assignmentRef: binding.assignmentRef,\n reason: rejected.reason,\n kernelSequence: rejected.kernelSequence,\n kernelFactDigest: rejected.kernelFactDigest,\n proofDigest: rejected.proofDigest,\n });\n return deepFreeze({ ...body, digest: digest(body) });\n}\n\nfunction deterministicFailureReason(\n runStatus: string,\n taskStatus: string | undefined,\n taskRevision: number | undefined,\n previewTaskRevision: number,\n acceptanceContractPinned: boolean,\n): PortfolioGrantAssignmentFailureReason | undefined {\n if (runStatus === 'completed' || runStatus === 'cancelled') return 'run_terminal';\n if (taskStatus === 'accepted' || taskStatus === 'failed' || taskStatus === 'cancelled') {\n return 'task_terminal';\n }\n if (taskRevision !== undefined && taskRevision !== previewTaskRevision) return 'task_stale';\n if (!acceptanceContractPinned) return 'task_stale';\n if (taskStatus === 'blocked' || taskStatus === 'executing'\n || taskStatus === 'awaiting_acceptance' || taskStatus === 'cancelling') {\n return 'task_stale';\n }\n return undefined;\n}\n"]}
@@ -20,4 +20,3 @@ export declare class WorkroomPortfolioAssignmentFailureAuthority implements Port
20
20
  }>);
21
21
  authorize(input: Parameters<PortfolioKernelCommandAuthorityPort['authorize']>[0]): Promise<PortfolioKernelCommandAuthority | undefined>;
22
22
  }
23
- //# sourceMappingURL=workroom-portfolio-kernel-authority.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workroom-portfolio-kernel-authority.js","sourceRoot":"","sources":["../../src/workroom-runtime/workroom-portfolio-kernel-authority.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workroom-portfolio-kernel-authority.js","sourceRoot":"","sources":["../../src/workroom-runtime/workroom-portfolio-kernel-authority.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n portfolioKernelCommandDigest,\n replayPortfolioAdmission,\n} from '../portfolio/portfolio-admission.js';\nimport type {\n PortfolioJournalRepository,\n PortfolioKernelCommandAuthority,\n} from '../portfolio/portfolio-journal.js';\nimport {\n canonicalWorkroomJson,\n digestCanonicalWorkroomValue as digest,\n} from '../workroom/canonical-value.js';\nimport type { WorkroomJournal } from '../workroom/journal/index.js';\nimport { replayWorkroom } from '../workroom/kernel-state.js';\nimport { parseWorkroomDispatchTaskDecision } from '../workroom/workroom-scheduler.js';\nimport type { PortfolioKernelCommandAuthorityPort } from './workroom-portfolio-capacity.js';\nimport { workroomSchedulerPortfolioOpaqueHeadId } from './workroom-portfolio-grant-assignment.js';\n\n/**\n * Exact production authority for deterministic Assignment claim rejection.\n * Other Portfolio commands remain owned by the supplied authority chain.\n */\nexport class WorkroomPortfolioAssignmentFailureAuthority\nimplements PortfolioKernelCommandAuthorityPort {\n constructor(readonly options: Readonly<{\n generation: number;\n portfolioJournal: Pick<PortfolioJournalRepository, 'read'>;\n workroomJournal: Pick<WorkroomJournal, 'read'>;\n fallback?: PortfolioKernelCommandAuthorityPort;\n }>) {\n if (!Number.isSafeInteger(options.generation) || options.generation < 1) {\n throw new Error('Portfolio Assignment failure authority generation is invalid');\n }\n }\n\n async authorize(\n input: Parameters<PortfolioKernelCommandAuthorityPort['authorize']>[0],\n ): Promise<PortfolioKernelCommandAuthority | undefined> {\n if (input.action !== 'assignment_failed') {\n return await this.options.fallback?.authorize(input);\n }\n if (input.generation !== this.options.generation || input.failureReason === undefined\n || input.kernelSequence === undefined || input.kernelFactDigest === undefined) return undefined;\n const facts = await this.options.portfolioJournal.read(input.portfolioId);\n const portfolio = replayPortfolioAdmission(input.portfolioId, facts);\n const grant = portfolio.grants[input.grant.grantId];\n const request = portfolio.requests[input.grant.requestId]?.request;\n if (!grant || !request || canonicalWorkroomJson(grant) !== canonicalWorkroomJson(input.grant)\n || grant.status !== 'consumed' || grant.assignmentRef !== input.assignmentRef) return undefined;\n const events = await this.options.workroomJournal.read(request.workRef.runId);\n const decisionEvent = events[request.schedulerSequence];\n if (!decisionEvent || decisionEvent.type !== 'scheduler.dispatch_requested') return undefined;\n const decision = parseWorkroomDispatchTaskDecision(decisionEvent.payload);\n if (decision.projectId !== grant.projectId || decision.runId !== request.workRef.runId\n || decision.policy.digest !== request.schedulerRevision\n || request.opaqueHeadId !== workroomSchedulerPortfolioOpaqueHeadId(decision)) return undefined;\n const state = replayWorkroom(events);\n if (state.sequence !== input.kernelSequence || digest(state) !== input.kernelFactDigest\n || Object.hasOwn(state.assignments, input.assignmentRef)) return undefined;\n if (failureReason(\n state.status,\n state.tasks[decision.taskKey],\n decision.taskRevision,\n ) !== input.failureReason) return undefined;\n const claims = {\n portfolioId: input.portfolioId,\n action: 'assignment_failed' as const,\n projectId: grant.projectId,\n requestId: grant.requestId,\n grantId: grant.grantId,\n fence: grant.fence,\n assignmentRef: input.assignmentRef,\n failureReason: input.failureReason,\n kernelSequence: input.kernelSequence,\n kernelFactDigest: input.kernelFactDigest,\n };\n return Object.freeze({\n ...claims,\n commandDigest: portfolioKernelCommandDigest(claims),\n authorizedBy: [\n 'workroom-kernel-assignment-failure:v1', this.options.generation,\n input.portfolioId, decision.projectId, decision.runId, state.sequence,\n ].map(String).map(encodeURIComponent).join(':'),\n });\n }\n}\n\nfunction failureReason(\n runStatus: string,\n task: ReturnType<typeof replayWorkroom>['tasks'][string] | undefined,\n decisionTaskRevision: number,\n) {\n if (runStatus === 'completed' || runStatus === 'cancelled') return 'run_terminal' as const;\n if (task?.status === 'accepted' || task?.status === 'failed' || task?.status === 'cancelled') {\n return 'task_terminal' as const;\n }\n if (task?.revision !== undefined && task.revision !== decisionTaskRevision) return 'task_stale' as const;\n // Pre-contract Grants created by an older runtime cannot be issued safely.\n // The issuer and this exact Kernel proof authority must agree so the durable\n // consumed Grant can be compensated instead of retrying forever.\n if (task && !task.acceptanceContract) return 'task_stale' as const;\n if (task?.status === 'executing' || task?.status === 'awaiting_acceptance'\n || task?.status === 'cancelling') {\n return 'task_stale' as const;\n }\n return undefined;\n}\n"]}
@@ -93,4 +93,3 @@ export declare class WorkroomPortfolioSponsorRuntime implements PortfolioSponsor
93
93
  }
94
94
  /** Current Catalog membership is re-read for every command; full HTTP scope alone grants nothing. */
95
95
  export declare function createCatalogPortfolioSponsorCommandAuthority(catalog: Pick<WorkroomCatalog, 'read'>): PortfolioSponsorCommandAuthorityPort;
96
- //# sourceMappingURL=workroom-portfolio-sponsor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workroom-portfolio-sponsor.js","sourceRoot":"","sources":["../../src/workroom-runtime/workroom-portfolio-sponsor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workroom-portfolio-sponsor.js","sourceRoot":"","sources":["../../src/workroom-runtime/workroom-portfolio-sponsor.ts"],"names":[],"mappings":"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","sourcesContent":["import { createRootPrivateToken } from '@zhin.js/plugin-runtime';\nimport {\n PortfolioAdmissionApplication,\n type PortfolioAdmissionState,\n} from '../portfolio/portfolio-admission.js';\nimport {\n parsePortfolioProjectPolicy,\n type PortfolioGovernanceProof,\n type PortfolioJournalRepository,\n type PortfolioLane,\n type PortfolioProjectPolicy,\n type PortfolioProjectStatus,\n} from '../portfolio/portfolio-journal.js';\nimport {\n createPortfolioSponsorProjection,\n type PortfolioSponsorProjection,\n} from '../portfolio/sponsor-projection.js';\nexport type { PortfolioSponsorProjection } from '../portfolio/sponsor-projection.js';\nimport {\n compareCanonicalWorkroomText,\n deepFreezeWorkroomValue as deepFreeze,\n digestCanonicalWorkroomValue as digest,\n} from '../workroom/canonical-value.js';\nimport type { WorkroomCatalog } from '../workroom/catalog.js';\nimport type { WorkroomProjectionReadAuthorityPort } from '../workroom/runtime.js';\nimport type {\n HumanIngressTypedControlDecision,\n HumanIngressTypedControlInput,\n HumanIngressTypedControlPort,\n} from '../workroom/human-ingress-orchestrator.js';\n\nexport interface PortfolioSponsorAuthenticatedPrincipal {\n readonly principalId: string;\n}\n\nexport type PortfolioSponsorCommand =\n | Readonly<{\n kind: 'set_lane'; commandId: string; projectId: string;\n expectedProjectRevision: number; lane: PortfolioLane;\n }>\n | Readonly<{\n kind: 'set_status'; commandId: string; projectId: string;\n expectedProjectRevision: number; status: PortfolioProjectStatus;\n }>\n | Readonly<{\n kind: 'transfer_budget'; commandId: string; fromProjectId: string; toProjectId: string;\n amountMicros: number; expectedFromRevision: number; expectedToRevision: number;\n }>;\n\nexport interface PortfolioSponsorCommandAuthorization {\n readonly commandDigest: string;\n readonly sourceSequence: number;\n readonly authorizedBy: string;\n readonly projectProofs: Readonly<Record<string, PortfolioGovernanceProof>>;\n}\n\nexport interface PortfolioSponsorCommandAuthorityPort {\n authorize(input: Readonly<{\n generation: number;\n portfolioId: string;\n sourceSequence: number;\n command: PortfolioSponsorCommand;\n commandDigest: string;\n projectCandidates: readonly PortfolioProjectPolicy[];\n authenticatedPrincipal: PortfolioSponsorAuthenticatedPrincipal;\n }>): Promise<PortfolioSponsorCommandAuthorization | undefined>;\n}\n\nexport interface PortfolioSponsorCommandPort {\n execute(\n portfolioId: string,\n command: PortfolioSponsorCommand,\n authenticatedPrincipal: PortfolioSponsorAuthenticatedPrincipal,\n ): Promise<PortfolioSponsorProjection>;\n read(portfolioId: string): Promise<PortfolioSponsorProjection>;\n}\n\nexport type PortfolioSponsorProjectionReadResult =\n | Readonly<{ status: 'ready'; projection: PortfolioSponsorProjection }>\n | Readonly<{ status: 'forbidden' }>;\n\n/** Authenticated, per-request Portfolio projection; raw Portfolio reads stay Root-internal. */\nexport interface PortfolioSponsorProjectionReadPort {\n read(\n portfolioId: string,\n authenticatedPrincipal: PortfolioSponsorAuthenticatedPrincipal,\n ): Promise<PortfolioSponsorProjectionReadResult>;\n}\n\n/**\n * Joins the exact Portfolio Project set to the current Catalog/P12 Console authority.\n * A principal must remain authorized for every Project because the aggregate budget and\n * fairness fields disclose cross-Project state even though the payload is content-free.\n */\nexport function createGovernedPortfolioSponsorProjectionReader(options: Readonly<{\n source: Pick<PortfolioSponsorCommandPort, 'read'>;\n authority: WorkroomProjectionReadAuthorityPort;\n}>): PortfolioSponsorProjectionReadPort {\n return Object.freeze({\n async read(\n portfolioId: string,\n authenticatedPrincipal: PortfolioSponsorAuthenticatedPrincipal,\n ): Promise<PortfolioSponsorProjectionReadResult> {\n const principalId = authenticatedPrincipal?.principalId?.trim();\n if (!principalId || principalId !== authenticatedPrincipal.principalId) {\n return Object.freeze({ status: 'forbidden' as const });\n }\n const projection = await options.source.read(portfolioId);\n const projectIds = Object.keys(projection.projects).sort();\n if (projectIds.length === 0) return Object.freeze({ status: 'forbidden' as const });\n for (const projectId of projectIds) {\n const authorization = await options.authority.authorize({\n destination: 'console',\n projectId,\n recipientPrincipalId: principalId,\n requestedMode: 'metadata_only',\n });\n if (!authorization) return Object.freeze({ status: 'forbidden' as const });\n }\n return Object.freeze({ status: 'ready' as const, projection });\n },\n });\n}\n\nexport const portfolioSponsorCommandAuthorityToken = createRootPrivateToken<PortfolioSponsorCommandAuthorityPort>(\n 'zhin.agent.portfolio-sponsor-command-authority',\n 'Authenticated exact Sponsor authority for typed Portfolio policy commands',\n);\n\nexport const portfolioSponsorCommandToken = createRootPrivateToken<PortfolioSponsorCommandPort>(\n 'zhin.agent.portfolio-sponsor-command',\n 'Generation-owned typed Portfolio Sponsor command application',\n);\n\n/** Strict Sponsor Room adapter; Portfolio/Project/principal come from authenticated ingress. */\nexport function createPortfolioSponsorHumanIngressControlPort(options: Readonly<{\n resolve: () => PortfolioSponsorCommandPort | undefined;\n generationSignal: AbortSignal;\n fallback?: HumanIngressTypedControlPort;\n}>): HumanIngressTypedControlPort {\n return Object.freeze({\n async apply(input: HumanIngressTypedControlInput): Promise<HumanIngressTypedControlDecision> {\n options.generationSignal.throwIfAborted();\n if (!/^\\/control\\s+portfolio(?:\\s|$)/iu.test(input.text.trim())) {\n return options.fallback\n ? await options.fallback.apply(input)\n : controlClarification('missing_control_target');\n }\n if (input.authorityRequirement !== 'typed_sponsor_control') {\n return controlClarification('unauthorized_control');\n }\n const parsed = parsePortfolioHumanIngressCommand(input);\n if (!parsed) return controlClarification('missing_control_target');\n const port = options.resolve();\n if (!port) return controlClarification('unauthorized_control');\n const projection = await port.execute(parsed.portfolioId, parsed.command, {\n principalId: required(input.principalId, 'authenticatedPrincipal.principalId'),\n });\n options.generationSignal.throwIfAborted();\n const receiptRef = `portfolio-sponsor:${digest({\n operationId: input.operationId,\n commandId: parsed.command.commandId,\n })}`;\n return deepFreeze({\n status: 'authorized' as const,\n receiptRef,\n receiptDigest: digest({\n version: 1,\n kind: 'portfolio_sponsor_control',\n operationDigest: digest({ operationId: input.operationId }),\n portfolioId: parsed.portfolioId,\n projectId: input.projectId,\n commandDigest: digest(parsed.command),\n projectionDigest: projection.digest,\n }),\n });\n },\n });\n}\n\nexport class WorkroomPortfolioSponsorRuntime implements PortfolioSponsorCommandPort {\n readonly #applications = new Map<string, PortfolioAdmissionApplication>();\n\n constructor(readonly options: Readonly<{\n generation: number;\n repository: PortfolioJournalRepository;\n authority: PortfolioSponsorCommandAuthorityPort;\n }>) {\n positive(options.generation, 'generation');\n }\n\n async execute(\n portfolioId: string,\n input: PortfolioSponsorCommand,\n authenticatedPrincipal: PortfolioSponsorAuthenticatedPrincipal,\n ): Promise<PortfolioSponsorProjection> {\n const id = required(portfolioId, 'portfolioId');\n const command = parseCommand(input);\n const application = this.#application(id);\n const state = await application.read();\n const candidates = commandCandidates(state, command);\n const commandDigest = digest(command);\n const authorization = await this.options.authority.authorize({\n generation: this.options.generation,\n portfolioId: id,\n sourceSequence: state.sequence,\n command,\n commandDigest,\n projectCandidates: candidates,\n authenticatedPrincipal: Object.freeze({\n principalId: required(authenticatedPrincipal?.principalId, 'authenticatedPrincipal.principalId'),\n }),\n });\n assertAuthorization(authorization, state.sequence, commandDigest, candidates);\n await application.updateProjectPolicies(candidates, authorization.projectProofs);\n return createPortfolioSponsorProjection(await application.read());\n }\n\n async read(portfolioId: string): Promise<PortfolioSponsorProjection> {\n return createPortfolioSponsorProjection(await this.#application(required(portfolioId, 'portfolioId')).read());\n }\n\n #application(portfolioId: string): PortfolioAdmissionApplication {\n let application = this.#applications.get(portfolioId);\n if (!application) {\n application = new PortfolioAdmissionApplication({\n portfolioId,\n repository: this.options.repository,\n ids: { eventId: (type, identity) => `${type}:${encodeURIComponent(identity)}` },\n });\n this.#applications.set(portfolioId, application);\n }\n return application;\n }\n}\n\n/** Current Catalog membership is re-read for every command; full HTTP scope alone grants nothing. */\nexport function createCatalogPortfolioSponsorCommandAuthority(\n catalog: Pick<WorkroomCatalog, 'read'>,\n): PortfolioSponsorCommandAuthorityPort {\n return Object.freeze({\n async authorize(input: Parameters<PortfolioSponsorCommandAuthorityPort['authorize']>[0]) {\n const snapshot = await catalog.read();\n const principalId = required(input.authenticatedPrincipal.principalId, 'authenticatedPrincipal.principalId');\n for (const candidate of input.projectCandidates) {\n const definition = snapshot.definitions[candidate.projectId];\n if (!definition || definition.enabled === false || !definition.sponsors?.includes(principalId)) {\n return undefined;\n }\n }\n const authorizedBy = [\n 'workroom-catalog-portfolio-sponsor:v1', snapshot.revision, principalId,\n ].map(encodeURIComponent).join(':');\n const reasonDigest = digest({\n version: 1, portfolioId: input.portfolioId, sourceSequence: input.sourceSequence,\n commandDigest: input.commandDigest, catalogRevision: snapshot.revision, principalId,\n });\n return Object.freeze({\n commandDigest: input.commandDigest,\n sourceSequence: input.sourceSequence,\n authorizedBy,\n projectProofs: Object.freeze(Object.fromEntries(input.projectCandidates.map((candidate: PortfolioProjectPolicy) => [\n candidate.projectId,\n Object.freeze({\n principalId,\n authorizedBy,\n reasonDigest,\n targetDigest: digest(candidate),\n expectedRevision: candidate.revision - 1,\n }),\n ]))),\n });\n },\n });\n}\n\nfunction parseCommand(value: PortfolioSponsorCommand): PortfolioSponsorCommand {\n const common = ['kind', 'commandId'];\n if (value.kind === 'set_lane') {\n exactKeys(value, [...common, 'projectId', 'expectedProjectRevision', 'lane']);\n if (!['urgent', 'high', 'normal', 'low'].includes(value.lane)) throw new Error('Sponsor lane is invalid');\n return Object.freeze({ ...value, commandId: required(value.commandId, 'commandId'),\n projectId: required(value.projectId, 'projectId'),\n expectedProjectRevision: positive(value.expectedProjectRevision, 'expectedProjectRevision') });\n }\n if (value.kind === 'set_status') {\n exactKeys(value, [...common, 'projectId', 'expectedProjectRevision', 'status']);\n if (!['active', 'paused', 'reclaim_checkpointable'].includes(value.status)) {\n throw new Error('Sponsor Project status is invalid');\n }\n return Object.freeze({ ...value, commandId: required(value.commandId, 'commandId'),\n projectId: required(value.projectId, 'projectId'),\n expectedProjectRevision: positive(value.expectedProjectRevision, 'expectedProjectRevision') });\n }\n if (value.kind === 'transfer_budget') {\n exactKeys(value, [...common, 'fromProjectId', 'toProjectId', 'amountMicros',\n 'expectedFromRevision', 'expectedToRevision']);\n const fromProjectId = required(value.fromProjectId, 'fromProjectId');\n const toProjectId = required(value.toProjectId, 'toProjectId');\n if (fromProjectId === toProjectId) throw new Error('Budget transfer Projects must differ');\n return Object.freeze({ ...value, commandId: required(value.commandId, 'commandId'),\n fromProjectId, toProjectId, amountMicros: positive(value.amountMicros, 'amountMicros'),\n expectedFromRevision: positive(value.expectedFromRevision, 'expectedFromRevision'),\n expectedToRevision: positive(value.expectedToRevision, 'expectedToRevision') });\n }\n throw new Error('Portfolio Sponsor command exact schema is invalid');\n}\n\nfunction parsePortfolioHumanIngressCommand(input: HumanIngressTypedControlInput): Readonly<{\n portfolioId: string;\n command: PortfolioSponsorCommand;\n}> | undefined {\n const prefix = /^\\/control\\s+portfolio\\s+(\\S+)\\s+(.+)$/iu.exec(input.text.trim());\n if (!prefix) return undefined;\n const portfolioId = required(prefix[1], 'portfolioId');\n let commandText = required(prefix[2], 'Portfolio command');\n const scoped = /^project\\s+(\\S+)\\s+(.+)$/iu.exec(commandText);\n if (scoped) {\n if (scoped[1] !== input.projectId) return undefined;\n commandText = required(scoped[2], 'Portfolio command');\n } else if (input.projectionReply?.projectId !== input.projectId) {\n return undefined;\n }\n let match = /^lane\\s+(\\d+)\\s+(urgent|high|normal|low)\\s+(\\S+)$/iu.exec(commandText);\n if (match) {\n return deepFreeze({\n portfolioId,\n command: {\n kind: 'set_lane', commandId: required(match[3], 'commandId'),\n projectId: required(input.projectId, 'projectId'),\n expectedProjectRevision: positive(Number(match[1]), 'expectedProjectRevision'),\n lane: match[2]!.toLowerCase() as PortfolioLane,\n },\n });\n }\n match = /^status\\s+(\\d+)\\s+(active|paused|reclaim_checkpointable)\\s+(\\S+)$/iu.exec(commandText);\n if (match) {\n return deepFreeze({\n portfolioId,\n command: {\n kind: 'set_status', commandId: required(match[3], 'commandId'),\n projectId: required(input.projectId, 'projectId'),\n expectedProjectRevision: positive(Number(match[1]), 'expectedProjectRevision'),\n status: match[2]!.toLowerCase() as PortfolioProjectStatus,\n },\n });\n }\n match = /^transfer-budget\\s+(\\S+)\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+(\\S+)$/iu.exec(commandText);\n if (!match) return undefined;\n return deepFreeze({\n portfolioId,\n command: {\n kind: 'transfer_budget', commandId: required(match[5], 'commandId'),\n fromProjectId: required(input.projectId, 'fromProjectId'),\n toProjectId: required(match[1], 'toProjectId'),\n amountMicros: positive(Number(match[2]), 'amountMicros'),\n expectedFromRevision: positive(Number(match[3]), 'expectedFromRevision'),\n expectedToRevision: positive(Number(match[4]), 'expectedToRevision'),\n },\n });\n}\n\nfunction controlClarification(\n reason: 'missing_control_target' | 'unauthorized_control',\n): HumanIngressTypedControlDecision {\n return deepFreeze({ status: 'clarification_required' as const, reason, candidateRefs: [] });\n}\n\nfunction commandCandidates(\n state: PortfolioAdmissionState,\n command: PortfolioSponsorCommand,\n): readonly PortfolioProjectPolicy[] {\n const policy = state.policy;\n if (!policy) throw new Error('Portfolio Sponsor command requires pinned Policy');\n if (command.kind === 'set_lane' || command.kind === 'set_status') {\n const current = requireProject(policy.projects[command.projectId], command.projectId);\n if (current.revision !== command.expectedProjectRevision) throw new Error('Sponsor command Project revision is stale');\n return Object.freeze([parsePortfolioProjectPolicy({\n ...current,\n revision: current.revision + 1,\n ...(command.kind === 'set_lane' ? { lane: command.lane } : { status: command.status }),\n })]);\n }\n const from = requireProject(policy.projects[command.fromProjectId], command.fromProjectId);\n const to = requireProject(policy.projects[command.toProjectId], command.toProjectId);\n if (from.revision !== command.expectedFromRevision || to.revision !== command.expectedToRevision) {\n throw new Error('Sponsor Budget transfer Project revision is stale');\n }\n if (from.hardBudgetMicros < command.amountMicros) throw new Error('Sponsor Budget transfer exceeds source allocation');\n return Object.freeze([\n parsePortfolioProjectPolicy({ ...from, revision: from.revision + 1,\n hardBudgetMicros: from.hardBudgetMicros - command.amountMicros }),\n parsePortfolioProjectPolicy({ ...to, revision: to.revision + 1,\n hardBudgetMicros: to.hardBudgetMicros + command.amountMicros }),\n ].sort((left, right) => compareCanonicalWorkroomText(left.projectId, right.projectId)));\n}\n\nfunction assertAuthorization(\n value: PortfolioSponsorCommandAuthorization | undefined,\n sourceSequence: number,\n commandDigest: string,\n candidates: readonly PortfolioProjectPolicy[],\n): asserts value is PortfolioSponsorCommandAuthorization {\n if (!value || value.sourceSequence !== sourceSequence || value.commandDigest !== commandDigest\n || !required(value.authorizedBy, 'authorizedBy')) {\n throw new Error('Portfolio Sponsor command authority is unavailable or stale');\n }\n exactKeys(value, ['commandDigest', 'sourceSequence', 'authorizedBy', 'projectProofs']);\n const projectIds = candidates.map(candidate => candidate.projectId).sort();\n if (Object.keys(value.projectProofs).sort().join('\\0') !== projectIds.join('\\0')) {\n throw new Error('Portfolio Sponsor command authority Project scope drift');\n }\n}\n\nfunction requireProject(value: PortfolioProjectPolicy | undefined, projectId: string): PortfolioProjectPolicy {\n if (!value) throw new Error(`Unknown Portfolio Project ${projectId}`);\n return value;\n}\n\nfunction exactKeys(value: object, requiredKeys: readonly string[]): void {\n const actual = Object.keys(value);\n if (actual.length !== requiredKeys.length || requiredKeys.some(key => !Object.hasOwn(value, key))) {\n throw new Error('Portfolio Sponsor command exact schema is invalid');\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 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"]}
@@ -54,4 +54,3 @@ export declare class WorkroomPreemptionRuntime {
54
54
  drain(): Promise<WorkroomPreemptionDrainResult>;
55
55
  dispose(): Promise<void>;
56
56
  }
57
- //# sourceMappingURL=workroom-preemption-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workroom-preemption-runtime.js","sourceRoot":"","sources":["../../src/workroom-runtime/workroom-preemption-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workroom-preemption-runtime.js","sourceRoot":"","sources":["../../src/workroom-runtime/workroom-preemption-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,EACL,yBAAyB,GAE1B,MAAM,oCAAoC,CAAC;AAgB5C,MAAM,CAAC,MAAM,uCAAuC,GAClD,WAAW,CACT,kDAAkD,EAClD,mFAAmF,CACpF,CAAC;AAEJ,MAAM,CAAC,MAAM,8BAA8B,GAAG,WAAW,CACvD,wCAAwC,EACxC,6DAA6D,CAC9D,CAAC;AAEF,MAAM,OAAO,0CAA2C,SAAQ,KAAK;IAExD;IACA;IAFX,YACW,UAAmC,EACnC,MAAmH;QAE5H,KAAK,CAAC,gDAAgD,MAAM,EAAE,CAAC,CAAC;QAHvD,eAAU,GAAV,UAAU,CAAyB;QACnC,WAAM,GAAN,MAAM,CAA6G;QAG5H,IAAI,CAAC,IAAI,GAAG,4CAA4C,CAAC;IAC3D,CAAC;CACF;AAUD,yFAAyF;AACzF,MAAM,OAAO,oCAAoC;IAC1B;IAArB,YAAqB,OAAoD;QAApD,YAAO,GAAP,OAAO,CAA6C;IAAG,CAAC;IAE7E,KAAK,CAAC,OAAO,CAAC,UAAmC,EAAE,MAAmB;QACpE,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QACrF,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI;eACnB,UAAU,CAAC,MAAM,KAAK,SAAS;eAC/B,IAAI,CAAC,MAAM,KAAK,WAAW;eAC3B,IAAI,CAAC,mBAAmB,KAAK,UAAU,CAAC,EAAE;eAC1C,UAAU,CAAC,KAAK,KAAK,UAAU,CAAC,KAAK;eACrC,UAAU,CAAC,OAAO,KAAK,UAAU,CAAC,iBAAiB;eACnD,UAAU,CAAC,KAAK,KAAK,UAAU,CAAC,eAAe;eAC/C,UAAU,CAAC,cAAc,KAAK,UAAU,CAAC,wBAAwB,EAAE,CAAC;YACvE,MAAM,IAAI,0CAA0C,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACrC,MAAM,IAAI,0CAA0C,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,UAAU,CAAC,cAAc,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YAC3C,MAAM,IAAI,0CAA0C,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,4BAA4B,EAAE;YAClD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,6BAA6B,EAAE;SACpD,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;QACvF,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,IAAI,cAAc,CAAC,EAAE,CAAC;YAC7E,MAAM,IAAI,0CAA0C,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,QAAQ,GAAG,aAAa,IAAI,cAAe,CAAC;QAClD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,UAAU,CAAC,cAAc;eACrD,QAAQ,CAAC,QAAQ,CAAC,WAAW,KAAK,UAAU,CAAC,KAAK;eAClD,QAAQ,CAAC,QAAQ,CAAC,OAAO,KAAK,UAAU,CAAC,OAAO;eAChD,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC;YAClD,MAAM,IAAI,0CAA0C,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,0CAA0C,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YACnC,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;YAC7C,UAAU;YACV,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,GAAG,CAAC,cAAc;gBAChB,CAAC,CAAC,EAAE,gBAAgB,EAAE,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE;gBACxE,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,EAAE,MAAM,CAAC,CAAC;IACd,CAAC;CACF;AAoBD,oFAAoF;AACpF,MAAM,OAAO,yBAAyB;IAOf;IANZ,WAAW,CAAS;IACpB,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;IAC7C,MAAM,CAAiC;IACvC,QAAQ,CAA0C;IAClD,QAAQ,GAAG,KAAK,CAAC;IAEjB,YAAqB,OAAyC;QAAzC,YAAO,GAAP,OAAO,CAAkC;QAC5D,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,IAAI,KAAK,EAAE,YAAY,CAAC,CAAC;IACzE,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC7E,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC7E,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC;QACvB,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO;gBAAE,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,MAAM;YAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,wCAAwC,EAAE,YAAY,CAAC,CAAC,CAAC;QACjG,MAAM,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE;YACjC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO;gBAAE,MAAM,KAAK,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACxE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,yBAAyB,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YAC1F,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACxE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,CAAC,KAAK,YAAY,0CAA0C,CAAC;oBAAE,MAAM,KAAK,CAAC;gBAChF,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnE,OAAO,IAAI,CAAC,CAAC;gBACb,SAAS;YACX,CAAC;YACD,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACvD,SAAS,IAAI,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC1B,KAAK,IAAI,CAAC,KAAK,EAAE;iBACd,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;iBAC7C,OAAO,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,IAAI,CAAC,QAAQ;oBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IACxB,CAAC;CACF;AAED,SAAS,QAAQ,CAAC,KAAc,EAAE,KAAa;IAC7C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,kCAAkC,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC","sourcesContent":["import { createToken } from '@zhin.js/plugin-runtime';\nimport type { AssignmentExecutionEnvelope } from '../workroom/assignment-executor.js';\nimport type { WorkroomJournal } from '../workroom/journal/index.js';\nimport {\n replayWorkroomPreemptions,\n type WorkroomPreemptionState,\n} from '../workroom/workroom-preemption.js';\nimport type { WorkroomKernel } from '../workroom/workroom-kernel.js';\n\nexport interface WorkroomCheckpointTransportRequest {\n readonly version: 1;\n readonly transport: 'local' | 'remote';\n readonly preemption: WorkroomPreemptionState;\n readonly envelope: AssignmentExecutionEnvelope;\n readonly remoteEndpointId?: string;\n}\n\n/** A typed producer control transport. It can request a checkpoint, never acknowledge one. */\nexport interface WorkroomCheckpointDeliveryProviderPort {\n request(input: WorkroomCheckpointTransportRequest, signal: AbortSignal): Promise<void>;\n}\n\nexport const workroomCheckpointDeliveryProviderToken =\n createToken<WorkroomCheckpointDeliveryProviderPort>(\n 'zhin.agent.workroom-checkpoint-delivery-provider',\n 'Generation-owned typed checkpoint request transport for current Assignment owners',\n );\n\nexport const workroomPreemptionRuntimeToken = createToken<WorkroomPreemptionRuntime>(\n 'zhin.agent.workroom-preemption-runtime',\n 'Generation-owned durable checkpoint request recovery worker',\n);\n\nexport class WorkroomCheckpointDeliveryUnavailableError extends Error {\n constructor(\n readonly preemption: WorkroomPreemptionState,\n readonly reason: 'provider_unavailable' | 'issuance_unavailable' | 'assignment_stale' | 'lease_expired' | 'deadline_expired',\n ) {\n super(`Workroom checkpoint delivery is unavailable: ${reason}`);\n this.name = 'WorkroomCheckpointDeliveryUnavailableError';\n }\n}\n\nexport interface WorkroomAssignmentCheckpointDeliveryOptions {\n readonly kernel: Pick<\n WorkroomKernel,\n 'read' | 'listLocalAssignmentIssuances' | 'listRemoteAssignmentIssuances'\n >;\n readonly resolveProvider: () => WorkroomCheckpointDeliveryProviderPort | undefined;\n}\n\n/** Joins one durable preemption request to its exact persisted Local/Remote producer. */\nexport class WorkroomAssignmentCheckpointDelivery {\n constructor(readonly options: WorkroomAssignmentCheckpointDeliveryOptions) {}\n\n async request(preemption: WorkroomPreemptionState, signal: AbortSignal): Promise<void> {\n signal.throwIfAborted();\n const state = await this.options.kernel.read(preemption.projectId, preemption.runId);\n const assignment = state.assignments[preemption.assignmentId];\n const task = state.tasks[preemption.victimTaskKey];\n if (!assignment || !task\n || assignment.status !== 'running'\n || task.status !== 'executing'\n || task.currentAssignmentId !== assignment.id\n || assignment.owner !== preemption.owner\n || assignment.attempt !== preemption.assignmentAttempt\n || assignment.fence !== preemption.assignmentFence\n || assignment.envelopeDigest !== preemption.assignmentEnvelopeDigest) {\n throw new WorkroomCheckpointDeliveryUnavailableError(preemption, 'assignment_stale');\n }\n if (preemption.deadline <= state.now) {\n throw new WorkroomCheckpointDeliveryUnavailableError(preemption, 'deadline_expired');\n }\n if (assignment.leaseExpiresAt <= state.now) {\n throw new WorkroomCheckpointDeliveryUnavailableError(preemption, 'lease_expired');\n }\n const [local, remote] = await Promise.all([\n this.options.kernel.listLocalAssignmentIssuances(),\n this.options.kernel.listRemoteAssignmentIssuances(),\n ]);\n const localIssuance = local.find(item => item.envelope.assignmentId === assignment.id);\n const remoteIssuance = remote.find(item => item.envelope.assignmentId === assignment.id);\n if ((!localIssuance && !remoteIssuance) || (localIssuance && remoteIssuance)) {\n throw new WorkroomCheckpointDeliveryUnavailableError(preemption, 'issuance_unavailable');\n }\n const issuance = localIssuance ?? remoteIssuance!;\n if (issuance.envelope.digest !== assignment.envelopeDigest\n || issuance.envelope.principalId !== assignment.owner\n || issuance.envelope.attempt !== assignment.attempt\n || issuance.envelope.fence !== assignment.fence) {\n throw new WorkroomCheckpointDeliveryUnavailableError(preemption, 'issuance_unavailable');\n }\n const provider = this.options.resolveProvider();\n if (!provider) {\n throw new WorkroomCheckpointDeliveryUnavailableError(preemption, 'provider_unavailable');\n }\n await provider.request(Object.freeze({\n version: 1,\n transport: localIssuance ? 'local' : 'remote',\n preemption,\n envelope: issuance.envelope,\n ...(remoteIssuance\n ? { remoteEndpointId: remoteIssuance.dispatchItem.envelope.endpoint.id }\n : {}),\n }), signal);\n }\n}\n\nexport interface WorkroomPreemptionUnavailableControlPort {\n block(preemption: WorkroomPreemptionState, reason: string): Promise<void>;\n recover(preemption: WorkroomPreemptionState): Promise<void>;\n}\n\nexport interface WorkroomPreemptionRuntimeOptions {\n readonly journal: Pick<WorkroomJournal, 'listRunIds' | 'read'>;\n readonly delivery: WorkroomAssignmentCheckpointDelivery;\n readonly unavailableControl: WorkroomPreemptionUnavailableControlPort;\n readonly intervalMs?: number;\n readonly onError?: (error: unknown) => void;\n}\n\nexport interface WorkroomPreemptionDrainResult {\n readonly delivered: number;\n readonly blocked: number;\n}\n\n/** At-least-once Journal recovery; transport success is deliberately not an ack. */\nexport class WorkroomPreemptionRuntime {\n readonly #intervalMs: number;\n readonly #controller = new AbortController();\n #timer?: ReturnType<typeof setTimeout>;\n #running?: Promise<WorkroomPreemptionDrainResult>;\n #stopped = false;\n\n constructor(readonly options: WorkroomPreemptionRuntimeOptions) {\n this.#intervalMs = positive(options.intervalMs ?? 1_000, 'intervalMs');\n }\n\n start(): void {\n if (this.#stopped) throw new Error('Workroom Preemption Runtime is stopped');\n if (!this.#timer) this.#schedule(0);\n }\n\n async drain(): Promise<WorkroomPreemptionDrainResult> {\n if (this.#stopped) throw new Error('Workroom Preemption Runtime is stopped');\n if (this.#running) return await this.#running;\n const running = this.#drain();\n this.#running = running;\n try {\n return await running;\n } finally {\n if (this.#running === running) this.#running = undefined;\n }\n }\n\n async dispose(): Promise<void> {\n if (this.#stopped) return;\n this.#stopped = true;\n if (this.#timer) clearTimeout(this.#timer);\n this.#timer = undefined;\n this.#controller.abort(new DOMException('Workroom preemption generation retired', 'AbortError'));\n await this.#running?.catch(error => {\n if (!this.#controller.signal.aborted) throw error;\n });\n }\n\n async #drain(): Promise<WorkroomPreemptionDrainResult> {\n let delivered = 0;\n let blocked = 0;\n for (const runId of [...await this.options.journal.listRunIds()].sort()) {\n this.#controller.signal.throwIfAborted();\n const pending = replayWorkroomPreemptions(await this.options.journal.read(runId)).pending;\n if (!pending) continue;\n try {\n await this.options.delivery.request(pending, this.#controller.signal);\n } catch (error) {\n if (!(error instanceof WorkroomCheckpointDeliveryUnavailableError)) throw error;\n await this.options.unavailableControl.block(pending, error.reason);\n blocked += 1;\n continue;\n }\n await this.options.unavailableControl.recover(pending);\n delivered += 1;\n }\n return Object.freeze({ delivered, blocked });\n }\n\n #schedule(delay: number): void {\n this.#timer = setTimeout(() => {\n this.#timer = undefined;\n if (this.#stopped) return;\n void this.drain()\n .catch(error => this.options.onError?.(error))\n .finally(() => {\n if (!this.#stopped) this.#schedule(this.#intervalMs);\n });\n }, delay);\n this.#timer.unref?.();\n }\n}\n\nfunction positive(value: unknown, label: string): number {\n if (!Number.isSafeInteger(value) || Number(value) < 1) {\n throw new Error(`Workroom Preemption Runtime ${label} must be a positive safe integer`);\n }\n return Number(value);\n}\n"]}
@@ -16,4 +16,3 @@ export declare class CatalogWorkroomPriorityAuthority implements WorkroomPriorit
16
16
  export declare function workroomPriorityAuthorityReference(input: Pick<WorkroomPriorityAuthorizationInput, 'projectAuthority'> & Readonly<{
17
17
  proposal: Pick<WorkroomPriorityAuthorizationInput['proposal'], 'projectId' | 'authority' | 'principalId'>;
18
18
  }>): string;
19
- //# sourceMappingURL=workroom-priority-authority.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workroom-priority-authority.js","sourceRoot":"","sources":["../../src/workroom-runtime/workroom-priority-authority.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workroom-priority-authority.js","sourceRoot":"","sources":["../../src/workroom-runtime/workroom-priority-authority.ts"],"names":[],"mappings":"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","sourcesContent":["import { createToken } from '@zhin.js/plugin-runtime';\nimport { digestCanonicalWorkroomValue } from '../workroom/canonical-value.js';\nimport type { WorkroomCatalog } from '../workroom/catalog.js';\nimport type {\n WorkroomPriorityAuthorityPort,\n WorkroomPriorityAuthorizationDecision,\n WorkroomPriorityAuthorizationInput,\n} from '../workroom/scheduler-priority-control.js';\n\nexport const workroomPriorityAuthorityToken = createToken<WorkroomPriorityAuthorityPort>(\n 'zhin.agent.workroom-priority-authority',\n 'Generation-owned exact Catalog Sponsor/Orchestrator priority authority',\n);\n\n/** Resolves on every call so a retired generation cannot retain priority authority. */\nexport class GenerationWorkroomPriorityAuthority implements WorkroomPriorityAuthorityPort {\n readonly #resolve: () => WorkroomPriorityAuthorityPort | undefined;\n\n constructor(resolve: () => WorkroomPriorityAuthorityPort | undefined) {\n this.#resolve = resolve;\n }\n\n async authorize(input: WorkroomPriorityAuthorizationInput): Promise<WorkroomPriorityAuthorizationDecision> {\n const current = this.#resolve();\n if (!current) return Object.freeze({ authorized: false, reason: 'authority_not_installed' });\n return await current.authorize(input);\n }\n}\n\n/** Catalog membership and the admitted Plan pin are the only role authority. */\nexport class CatalogWorkroomPriorityAuthority implements WorkroomPriorityAuthorityPort {\n readonly #catalog: Pick<WorkroomCatalog, 'read'>;\n\n constructor(catalog: Pick<WorkroomCatalog, 'read'>) {\n this.#catalog = catalog;\n }\n\n async authorize(input: WorkroomPriorityAuthorizationInput): Promise<WorkroomPriorityAuthorizationDecision> {\n const snapshot = await this.#catalog.read();\n const proposal = input.proposal;\n const definition = snapshot.definitions[proposal.projectId];\n if (!definition || definition.enabled === false) {\n return Object.freeze({ authorized: false, reason: 'project_not_active' });\n }\n if (snapshot.revision !== input.projectAuthority.catalogRevision\n || digestCanonicalWorkroomValue(definition) !== input.projectAuthority.projectDigest) {\n return Object.freeze({ authorized: false, reason: 'project_authority_stale' });\n }\n if (proposal.authority === 'sponsor') {\n if (!definition.sponsors?.includes(proposal.principalId)) {\n return Object.freeze({ authorized: false, reason: 'principal_is_not_project_sponsor' });\n }\n } else {\n if (proposal.requestedLane !== proposal.currentLane) {\n return Object.freeze({ authorized: false, reason: 'orchestrator_cannot_change_lane' });\n }\n const exactOrchestrator = definition.members.some(member =>\n member.role === 'orchestrator'\n && member.agent === input.projectAuthority.orchestratorAgentDefinitionId\n && member.agent === proposal.principalId);\n if (!exactOrchestrator) {\n return Object.freeze({ authorized: false, reason: 'principal_is_not_pinned_orchestrator' });\n }\n }\n if (proposal.authorityRef !== authorityReference(input)) {\n return Object.freeze({ authorized: false, reason: 'authority_reference_not_exact' });\n }\n return Object.freeze({\n authorized: true,\n authority: proposal.authority,\n principalId: proposal.principalId,\n authorizationRef: proposal.authorityRef,\n proposalDigest: proposal.digest,\n });\n }\n}\n\nexport function workroomPriorityAuthorityReference(\n input: Pick<WorkroomPriorityAuthorizationInput, 'projectAuthority'> & Readonly<{\n proposal: Pick<WorkroomPriorityAuthorizationInput['proposal'],\n 'projectId' | 'authority' | 'principalId'>;\n }>,\n): string {\n return authorityReference(input);\n}\n\nfunction authorityReference(input: Readonly<{\n projectAuthority: WorkroomPriorityAuthorizationInput['projectAuthority'];\n proposal: Pick<WorkroomPriorityAuthorizationInput['proposal'],\n 'projectId' | 'authority' | 'principalId'>;\n}>): string {\n const { proposal, projectAuthority } = input;\n return [\n 'workroom-catalog-priority:v1',\n projectAuthority.catalogRevision,\n proposal.projectId,\n projectAuthority.projectDigest,\n proposal.authority,\n proposal.principalId,\n ].map(encodeURIComponent).join(':');\n}\n"]}
@@ -58,4 +58,3 @@ export declare function createCatalogWorkroomProfilePublisherAuthority(options:
58
58
  decisionDirectory: string;
59
59
  now?: () => number;
60
60
  }>): WorkroomProfilePublisherAuthorityPort;
61
- //# sourceMappingURL=workroom-profile-authority-composition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workroom-profile-authority-composition.js","sourceRoot":"","sources":["../../src/workroom-runtime/workroom-profile-authority-composition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workroom-profile-authority-composition.js","sourceRoot":"","sources":["../../src/workroom-runtime/workroom-profile-authority-composition.ts"],"names":[],"mappings":"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","sourcesContent":["import { readFile } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport type { RuntimeSnapshot, Scope, SnapshotReader } from '@zhin.js/plugin-runtime';\nimport type { WorkroomCatalog } from '../workroom/catalog.js';\nimport {\n compareCanonicalWorkroomText,\n canonicalWorkroomJson,\n deepFreezeWorkroomValue as deepFreeze,\n digestCanonicalWorkroomValue as digest,\n} from '../workroom/canonical-value.js';\nimport {\n digestWorkroomCatalogProjectBinding,\n type WorkroomDefinition,\n} from '../workroom/catalog-definition.js';\nimport { DurableFileStore } from '../workroom/durable-file-store.js';\nimport { FileProjectProfileJournal } from '../workroom/file-profile-journal.js';\nimport { workroomProjectProfileRegistryToken } from './workroom-assignment-authority-provider.js';\nimport {\n createWorkroomDynamicPlanningGenerationSnapshot,\n workroomDynamicPlanningPolicyToken,\n} from './workroom-dynamic-planning-provider.js';\nimport {\n FileWorkroomProfileAuthorityRepository,\n FileWorkroomRunProfilePinProofRepository,\n WorkroomProfileAuthorityRuntime,\n type WorkroomProfileAuthorityDecision,\n type WorkroomProfileAuthorityRequest,\n type WorkroomProfileGenerationView,\n type WorkroomProfileGenerationViewPort,\n type WorkroomProfilePublisherAuthorityPort,\n type WorkroomRunProfilePinAuthorityPort,\n} from './workroom-profile-authority-runtime.js';\n\nexport const WORKROOM_CONTROL_PLANE_ROOT_PRINCIPAL = 'control-plane:root';\n\nexport interface WorkroomProfileAuthorityResourceScope extends Pick<Scope, 'has' | 'provide'> {}\n\nexport interface InstallWorkroomProfileAuthorityResourcesOptions {\n readonly projectRoot: string;\n readonly generation: number;\n readonly signal: AbortSignal;\n readonly snapshots: SnapshotReader;\n readonly resources: WorkroomProfileAuthorityResourceScope;\n readonly authority: WorkroomProfilePublisherAuthorityPort;\n readonly resolveGenerationView: (snapshot: RuntimeSnapshot) => WorkroomProfileGenerationView;\n readonly runPinAuthority?: WorkroomRunProfilePinAuthorityPort;\n}\n\nexport interface InstalledWorkroomProfileAuthorityResources {\n /** Private Root control surface. This is intentionally not a Resource token. */\n readonly control: WorkroomProfileAuthorityRuntime['control'];\n /** Private Kernel admission surface. This is intentionally not a Resource token. */\n readonly runPins: WorkroomProfileAuthorityRuntime['runPins'];\n readonly profiles: WorkroomProfileAuthorityRuntime['profiles'];\n readonly planningPolicy: WorkroomProfileAuthorityRuntime['planningPolicy'];\n}\n\n/**\n * Installs only governed readers into the generation Scope. Raw repositories,\n * publisher authority and mutation ports stay private to the Root composition.\n */\nexport function installWorkroomProfileAuthorityResources(\n options: InstallWorkroomProfileAuthorityResourcesOptions,\n): InstalledWorkroomProfileAuthorityResources {\n options.signal.throwIfAborted();\n positiveGeneration(options.generation);\n const authorityDirectory = join(options.projectRoot, '.zhin', 'workroom-profile-authority');\n const generationView = createSnapshotWorkroomProfileGenerationView({\n generation: options.generation,\n snapshots: options.snapshots,\n resolve: options.resolveGenerationView,\n });\n const repository = new FileWorkroomProfileAuthorityRepository(authorityDirectory, options.authority);\n const runtime = new WorkroomProfileAuthorityRuntime({\n generation: createWorkroomDynamicPlanningGenerationSnapshot(options.generation),\n repository,\n profileJournal: new FileProjectProfileJournal(\n join(options.projectRoot, '.zhin', 'workroom-project-profiles'),\n ),\n authority: options.authority,\n generationView,\n ...(options.runPinAuthority\n ? {\n runPinAuthority: options.runPinAuthority,\n runPinProofs: new FileWorkroomRunProfilePinProofRepository(\n join(authorityDirectory, 'run-pin-proofs'),\n options.runPinAuthority,\n ),\n }\n : {}),\n });\n if (options.resources.has(workroomProjectProfileRegistryToken)) {\n throw new Error('Workroom Project Profile governed reader is already installed');\n }\n options.resources.provide(workroomProjectProfileRegistryToken, runtime.profiles);\n if (!options.resources.has(workroomDynamicPlanningPolicyToken)) {\n options.resources.provide(workroomDynamicPlanningPolicyToken, runtime.planningPolicy);\n }\n return Object.freeze({\n control: runtime.control,\n runPins: runtime.runPins,\n profiles: runtime.profiles,\n planningPolicy: runtime.planningPolicy,\n });\n}\n\nexport function createWorkroomProfileGenerationView(input: Readonly<{\n generation: number;\n tools: readonly Readonly<{ id: string; digest: string }>[];\n skills: readonly Readonly<{ id: string; digest: string }>[];\n agents: readonly Readonly<{ id: string; digest: string }>[];\n}>): WorkroomProfileGenerationView {\n positiveGeneration(input.generation);\n const body = deepFreeze({\n generation: input.generation,\n tools: canonicalDefinitions(input.tools),\n skills: canonicalDefinitions(input.skills),\n agents: canonicalDefinitions(input.agents),\n });\n return deepFreeze({ ...body, digest: digest(body) });\n}\n\nexport function digestWorkroomProfileCatalogProject(definition: unknown): string {\n if (!definition || typeof definition !== 'object' || Array.isArray(definition)) {\n throw new Error('Workroom Profile Catalog Project definition is invalid');\n }\n return digestWorkroomCatalogProjectBinding(definition as WorkroomDefinition);\n}\n\nexport function createSnapshotWorkroomProfileGenerationView(options: Readonly<{\n generation: number;\n snapshots: SnapshotReader;\n resolve: (snapshot: RuntimeSnapshot) => WorkroomProfileGenerationView;\n}>): WorkroomProfileGenerationViewPort {\n positiveGeneration(options.generation);\n return Object.freeze({\n async withCurrent<TResult>(\n operation: Readonly<{ operationId: string; generation: number; signal: AbortSignal }>,\n use: (view: WorkroomProfileGenerationView) => TResult | Promise<TResult>,\n ) {\n operation.signal.throwIfAborted();\n if (operation.generation !== options.generation) {\n throw new Error('Profile authority operation targets another Root generation');\n }\n const lease = options.snapshots.acquire();\n try {\n if (!options.snapshots.owns(lease) || lease.value.generation !== options.generation) {\n throw new Error('Profile authority generation is no longer current');\n }\n const view = options.resolve(lease.value);\n assertResolvedGenerationView(view, options.generation);\n operation.signal.throwIfAborted();\n return await use(view);\n } finally {\n lease.release();\n }\n },\n });\n}\n\n/**\n * Root-local authority. Pack publishers come from a process-owned allowlist;\n * Project mutations re-check the persistent Catalog Sponsor membership.\n */\nexport function createCatalogWorkroomProfilePublisherAuthority(options: Readonly<{\n catalog: Pick<WorkroomCatalog, 'read'>;\n trustedPackPublishers: readonly string[];\n decisionDirectory: string;\n now?: () => number;\n}>): WorkroomProfilePublisherAuthorityPort {\n const publishers = new Set(options.trustedPackPublishers.map(principal => requiredText(principal, 'publisher')));\n const publisherPolicyDigest = digest({ trustedPackPublishers: [...publishers].sort() });\n const decisions = new DurableFileStore(options.decisionDirectory);\n const now = options.now ?? Date.now;\n type AuthorityBasis = Readonly<{\n kind: 'pack_publisher';\n publisherPolicyDigest: string;\n }> | Readonly<{\n kind: 'catalog_sponsor';\n catalogRevision: string;\n projectId: string;\n projectDigest: string;\n }>;\n type PersistedDecision = Readonly<{\n version: 1;\n request: WorkroomProfileAuthorityRequest;\n decision: WorkroomProfileAuthorityDecision;\n basis: AuthorityBasis;\n digest: string;\n }>;\n const resolveBasis = async (\n request: WorkroomProfileAuthorityRequest,\n ): Promise<AuthorityBasis | undefined> => {\n if (request.action === 'publish_pack') {\n return publishers.has(request.authenticatedPrincipalId)\n ? Object.freeze({ kind: 'pack_publisher' as const, publisherPolicyDigest })\n : undefined;\n }\n if (!request.projectId) return undefined;\n const catalog = await options.catalog.read();\n const definition = catalog.definitions[request.projectId];\n return definition?.enabled !== false\n && definition?.sponsors?.includes(request.authenticatedPrincipalId)\n ? Object.freeze({\n kind: 'catalog_sponsor' as const,\n catalogRevision: catalog.revision,\n projectId: request.projectId,\n projectDigest: digest(definition),\n })\n : undefined;\n };\n const targetFor = (request: WorkroomProfileAuthorityRequest) =>\n join(options.decisionDirectory, `${request.digest.slice('sha256:'.length)}.json`);\n const readDecision = async (request: WorkroomProfileAuthorityRequest): Promise<PersistedDecision | undefined> => {\n let raw: string;\n try {\n raw = await readFile(targetFor(request), 'utf8');\n } catch (error) {\n if (isNodeError(error, 'ENOENT')) return undefined;\n throw error;\n }\n const value = JSON.parse(raw) as PersistedDecision;\n if (value.version !== 1 || canonicalWorkroomJson(value.request) !== canonicalWorkroomJson(request)) {\n throw new Error('Persisted Workroom Profile authority decision request drift');\n }\n const { digest: supplied, ...body } = value;\n if (supplied !== digest(body)) throw new Error('Persisted Workroom Profile authority decision digest mismatch');\n return Object.freeze(structuredClone(value));\n };\n return Object.freeze({\n async authorize(request: WorkroomProfileAuthorityRequest) {\n const replay = await readDecision(request);\n if (replay) return replay.decision;\n const basis = await resolveBasis(request);\n if (!basis) {\n return Object.freeze({\n approved: false as const,\n requestDigest: request.digest,\n reason: request.action === 'publish_pack'\n ? 'principal_is_not_trusted_pack_publisher'\n : 'principal_is_not_project_sponsor',\n });\n }\n const role = basis.kind === 'pack_publisher' ? 'trusted_pack_publisher' as const : 'sponsor' as const;\n const decision = Object.freeze({\n approved: true as const,\n requestDigest: request.digest,\n decisionId: `profile-authority:${digest({ requestDigest: request.digest, basis })}`,\n decidedBy: request.authenticatedPrincipalId,\n authorizedBy: role,\n decidedAt: now(),\n });\n const body = Object.freeze({ version: 1 as const, request: structuredClone(request), decision, basis });\n const record = Object.freeze({ ...body, digest: digest(body) });\n await decisions.ensureDurableLeaf('Workroom Profile publisher decision repository');\n const publication = await decisions.publishCreateOnly({\n target: targetFor(request),\n content: canonicalWorkroomJson(record),\n createdValue: record,\n onConflict: async () => {\n const winner = await readDecision(request);\n if (!winner) throw new Error('Workroom Profile authority CAS winner disappeared');\n return winner;\n },\n });\n await decisions.syncLeafAndParent();\n return publication.value.decision;\n },\n async verify(\n request: WorkroomProfileAuthorityRequest,\n decision: WorkroomProfileAuthorityDecision,\n ) {\n const persisted = await readDecision(request);\n return persisted !== undefined\n && canonicalWorkroomJson(persisted.decision) === canonicalWorkroomJson(decision);\n },\n });\n}\n\nfunction assertResolvedGenerationView(view: WorkroomProfileGenerationView, generation: number): void {\n if (view.generation !== generation) throw new Error('Resolved Profile generation view is stale');\n const canonical = {\n generation: view.generation,\n tools: view.tools,\n skills: view.skills,\n agents: view.agents,\n };\n if (!/^sha256:[a-f0-9]{64}$/u.test(view.digest)\n || digest(canonical) !== view.digest\n || canonicalWorkroomJson(canonical).length === 0) {\n throw new Error('Resolved Profile generation view is malformed');\n }\n}\n\nfunction positiveGeneration(value: number): void {\n if (!Number.isSafeInteger(value) || value < 1) throw new Error('Profile authority generation is invalid');\n}\n\nfunction requiredText(value: string, name: string): string {\n if (typeof value !== 'string' || !value.trim() || value !== value.trim()) {\n throw new Error(`Workroom Profile authority ${name} is invalid`);\n }\n return value;\n}\n\nfunction canonicalDefinitions(\n values: readonly Readonly<{ id: string; digest: string }>[],\n): readonly Readonly<{ id: string; digest: string }>[] {\n if (!Array.isArray(values)) throw new Error('Workroom Profile generation definitions are invalid');\n const seen = new Set<string>();\n return deepFreeze(values.map(value => {\n const id = requiredText(value.id, 'generation capability id');\n if (seen.has(id)) throw new Error(`Duplicate Workroom Profile generation capability ${id}`);\n seen.add(id);\n if (!/^sha256:[a-f0-9]{64}$/u.test(value.digest)) {\n throw new Error(`Workroom Profile generation capability ${id} digest is invalid`);\n }\n return { id, digest: value.digest };\n }).sort((left, right) => compareCanonicalWorkroomText(left.id, right.id)));\n}\n\nfunction isNodeError(error: unknown, code: string): error is NodeJS.ErrnoException {\n return error instanceof Error && 'code' in error && error.code === code;\n}\n"]}