@zhin.js/agent 1.1.30 → 1.1.32

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 (1084) hide show
  1. package/README.md +5 -20
  2. package/lib/config/deprecated-agent-binding-keys.d.ts +21 -0
  3. package/lib/config/deprecated-agent-binding-keys.d.ts.map +1 -0
  4. package/lib/config/deprecated-agent-binding-keys.js +37 -0
  5. package/lib/config/deprecated-agent-binding-keys.js.map +1 -0
  6. package/lib/config/deprecated-agent-keys.d.ts +16 -0
  7. package/lib/config/deprecated-agent-keys.d.ts.map +1 -0
  8. package/lib/config/deprecated-agent-keys.js +23 -0
  9. package/lib/config/deprecated-agent-keys.js.map +1 -0
  10. package/lib/config/fix-ai-config.d.ts.map +1 -1
  11. package/lib/config/fix-ai-config.js +16 -20
  12. package/lib/config/fix-ai-config.js.map +1 -1
  13. package/lib/config/index.d.ts +4 -1
  14. package/lib/config/index.d.ts.map +1 -1
  15. package/lib/config/index.js +3 -1
  16. package/lib/config/index.js.map +1 -1
  17. package/lib/config/model-harness-runtime.d.ts.map +1 -1
  18. package/lib/config/model-harness-runtime.js +47 -5
  19. package/lib/config/model-harness-runtime.js.map +1 -1
  20. package/lib/config/model-harness.d.ts +30 -0
  21. package/lib/config/model-harness.d.ts.map +1 -1
  22. package/lib/config/normalize-ai-config.d.ts.map +1 -1
  23. package/lib/config/normalize-ai-config.js +10 -2
  24. package/lib/config/normalize-ai-config.js.map +1 -1
  25. package/lib/config/perception-config.d.ts +36 -0
  26. package/lib/config/perception-config.d.ts.map +1 -0
  27. package/lib/config/perception-config.js +55 -0
  28. package/lib/config/perception-config.js.map +1 -0
  29. package/lib/config/types.d.ts +13 -1
  30. package/lib/config/types.d.ts.map +1 -1
  31. package/lib/config/types.js.map +1 -1
  32. package/lib/config/validate-ai-config.d.ts.map +1 -1
  33. package/lib/config/validate-ai-config.js +0 -19
  34. package/lib/config/validate-ai-config.js.map +1 -1
  35. package/lib/config/zhin-agent-config.d.ts +36 -1
  36. package/lib/config/zhin-agent-config.d.ts.map +1 -1
  37. package/lib/config/zhin-agent-defaults.d.ts.map +1 -1
  38. package/lib/config/zhin-agent-defaults.js +7 -4
  39. package/lib/config/zhin-agent-defaults.js.map +1 -1
  40. package/lib/config/zhin-agent-dependencies.d.ts +5 -0
  41. package/lib/config/zhin-agent-dependencies.d.ts.map +1 -1
  42. package/lib/context/context-system.d.ts +4 -0
  43. package/lib/context/context-system.d.ts.map +1 -1
  44. package/lib/context/context-system.js +2 -0
  45. package/lib/context/context-system.js.map +1 -1
  46. package/lib/context/model-resolver.d.ts +1 -0
  47. package/lib/context/model-resolver.d.ts.map +1 -1
  48. package/lib/context/model-resolver.js +4 -1
  49. package/lib/context/model-resolver.js.map +1 -1
  50. package/lib/context/turn-envelope.d.ts +4 -0
  51. package/lib/context/turn-envelope.d.ts.map +1 -1
  52. package/lib/context/turn-envelope.js +4 -0
  53. package/lib/context/turn-envelope.js.map +1 -1
  54. package/lib/core/agent-core-run.d.ts +22 -1
  55. package/lib/core/agent-core-run.d.ts.map +1 -1
  56. package/lib/core/agent-core-run.js +363 -51
  57. package/lib/core/agent-core-run.js.map +1 -1
  58. package/lib/core/agent-core.d.ts +5 -0
  59. package/lib/core/agent-core.d.ts.map +1 -1
  60. package/lib/core/agent-core.js +5 -0
  61. package/lib/core/agent-core.js.map +1 -1
  62. package/lib/core/agent-loop-standalone.d.ts +6 -0
  63. package/lib/core/agent-loop-standalone.d.ts.map +1 -1
  64. package/lib/core/agent-loop-standalone.js +7 -2
  65. package/lib/core/agent-loop-standalone.js.map +1 -1
  66. package/lib/core/agent-loop-turn.d.ts +5 -0
  67. package/lib/core/agent-loop-turn.d.ts.map +1 -1
  68. package/lib/core/agent-loop-turn.js +5 -0
  69. package/lib/core/agent-loop-turn.js.map +1 -1
  70. package/lib/core/contracts.d.ts +1 -1
  71. package/lib/core/contracts.js +1 -1
  72. package/lib/core/exhausted-turn-reply.d.ts +33 -0
  73. package/lib/core/exhausted-turn-reply.d.ts.map +1 -0
  74. package/lib/core/exhausted-turn-reply.js +54 -0
  75. package/lib/core/exhausted-turn-reply.js.map +1 -0
  76. package/lib/core/exploration-budget.d.ts +17 -0
  77. package/lib/core/exploration-budget.d.ts.map +1 -0
  78. package/lib/core/exploration-budget.js +41 -0
  79. package/lib/core/exploration-budget.js.map +1 -0
  80. package/lib/core/index.d.ts +3 -0
  81. package/lib/core/index.d.ts.map +1 -1
  82. package/lib/core/index.js +2 -0
  83. package/lib/core/index.js.map +1 -1
  84. package/lib/core/missing-tool-resolver.d.ts +17 -0
  85. package/lib/core/missing-tool-resolver.d.ts.map +1 -0
  86. package/lib/core/missing-tool-resolver.js +21 -0
  87. package/lib/core/missing-tool-resolver.js.map +1 -0
  88. package/lib/core/progress-reporter.d.ts +46 -0
  89. package/lib/core/progress-reporter.d.ts.map +1 -0
  90. package/lib/core/progress-reporter.js +100 -0
  91. package/lib/core/progress-reporter.js.map +1 -0
  92. package/lib/core/tool-calls-user-format.d.ts +5 -0
  93. package/lib/core/tool-calls-user-format.d.ts.map +1 -1
  94. package/lib/core/tool-calls-user-format.js +23 -3
  95. package/lib/core/tool-calls-user-format.js.map +1 -1
  96. package/lib/core/turn-event-mapper.d.ts.map +1 -1
  97. package/lib/core/turn-event-mapper.js +2 -0
  98. package/lib/core/turn-event-mapper.js.map +1 -1
  99. package/lib/core/turn-progress.d.ts +75 -0
  100. package/lib/core/turn-progress.d.ts.map +1 -0
  101. package/lib/core/turn-progress.js +152 -0
  102. package/lib/core/turn-progress.js.map +1 -0
  103. package/lib/deferred-worker-runner.d.ts +6 -0
  104. package/lib/deferred-worker-runner.d.ts.map +1 -1
  105. package/lib/deferred-worker-runner.js +4 -0
  106. package/lib/deferred-worker-runner.js.map +1 -1
  107. package/lib/detached-task/index.d.ts +6 -0
  108. package/lib/detached-task/index.d.ts.map +1 -0
  109. package/lib/detached-task/index.js +6 -0
  110. package/lib/detached-task/index.js.map +1 -0
  111. package/lib/detached-task/interjection.d.ts +28 -0
  112. package/lib/detached-task/interjection.d.ts.map +1 -0
  113. package/lib/detached-task/interjection.js +128 -0
  114. package/lib/detached-task/interjection.js.map +1 -0
  115. package/lib/detached-task/runner.d.ts +89 -0
  116. package/lib/detached-task/runner.d.ts.map +1 -0
  117. package/lib/detached-task/runner.js +334 -0
  118. package/lib/detached-task/runner.js.map +1 -0
  119. package/lib/detached-task/store.d.ts +21 -0
  120. package/lib/detached-task/store.d.ts.map +1 -0
  121. package/lib/detached-task/store.js +63 -0
  122. package/lib/detached-task/store.js.map +1 -0
  123. package/lib/detached-task/token.d.ts +8 -0
  124. package/lib/detached-task/token.d.ts.map +1 -0
  125. package/lib/detached-task/token.js +8 -0
  126. package/lib/detached-task/token.js.map +1 -0
  127. package/lib/detached-task/types.d.ts +104 -0
  128. package/lib/detached-task/types.d.ts.map +1 -0
  129. package/lib/detached-task/types.js +43 -0
  130. package/lib/detached-task/types.js.map +1 -0
  131. package/lib/event/turn-event.d.ts +11 -0
  132. package/lib/event/turn-event.d.ts.map +1 -1
  133. package/lib/event/turn-event.js.map +1 -1
  134. package/lib/index.d.ts +5 -87
  135. package/lib/index.d.ts.map +1 -1
  136. package/lib/index.js +4 -85
  137. package/lib/index.js.map +1 -1
  138. package/lib/init/activate-ai-database-storage.d.ts +1 -3
  139. package/lib/init/activate-ai-database-storage.d.ts.map +1 -1
  140. package/lib/init/activate-ai-database-storage.js +13 -18
  141. package/lib/init/activate-ai-database-storage.js.map +1 -1
  142. package/lib/init/configure-zhin-agent.d.ts +1 -1
  143. package/lib/init/configure-zhin-agent.d.ts.map +1 -1
  144. package/lib/init/configure-zhin-agent.js +4 -0
  145. package/lib/init/configure-zhin-agent.js.map +1 -1
  146. package/lib/init/define-ai-database-models.d.ts +1 -1
  147. package/lib/init/define-ai-database-models.d.ts.map +1 -1
  148. package/lib/init/define-ai-database-models.js +1 -21
  149. package/lib/init/define-ai-database-models.js.map +1 -1
  150. package/lib/init/runtime-management-commands.d.ts +8 -0
  151. package/lib/init/runtime-management-commands.d.ts.map +1 -1
  152. package/lib/init/runtime-management-commands.js +38 -0
  153. package/lib/init/runtime-management-commands.js.map +1 -1
  154. package/lib/internal/agent-host.d.ts +11 -0
  155. package/lib/internal/agent-host.d.ts.map +1 -1
  156. package/lib/media/index.d.ts +1 -0
  157. package/lib/media/index.d.ts.map +1 -1
  158. package/lib/media/index.js +1 -0
  159. package/lib/media/index.js.map +1 -1
  160. package/lib/media/perception.d.ts +47 -0
  161. package/lib/media/perception.d.ts.map +1 -0
  162. package/lib/media/perception.js +136 -0
  163. package/lib/media/perception.js.map +1 -0
  164. package/lib/memory/compaction-runtime.d.ts +13 -0
  165. package/lib/memory/compaction-runtime.d.ts.map +1 -1
  166. package/lib/memory/compaction-runtime.js +25 -3
  167. package/lib/memory/compaction-runtime.js.map +1 -1
  168. package/lib/memory/index.d.ts +2 -0
  169. package/lib/memory/index.d.ts.map +1 -1
  170. package/lib/memory/index.js +1 -0
  171. package/lib/memory/index.js.map +1 -1
  172. package/lib/memory/memory-write-policy.d.ts +39 -0
  173. package/lib/memory/memory-write-policy.d.ts.map +1 -0
  174. package/lib/memory/memory-write-policy.js +44 -0
  175. package/lib/memory/memory-write-policy.js.map +1 -0
  176. package/lib/memory/semantic-recall.d.ts +44 -0
  177. package/lib/memory/semantic-recall.d.ts.map +1 -0
  178. package/lib/memory/semantic-recall.js +69 -0
  179. package/lib/memory/semantic-recall.js.map +1 -0
  180. package/lib/memory/told-ledger.d.ts +54 -0
  181. package/lib/memory/told-ledger.d.ts.map +1 -0
  182. package/lib/memory/told-ledger.js +119 -0
  183. package/lib/memory/told-ledger.js.map +1 -0
  184. package/lib/plugin-runtime/agent-host-port.d.ts +0 -102
  185. package/lib/plugin-runtime/agent-host-port.d.ts.map +1 -1
  186. package/lib/plugin-runtime/agent-host-port.js.map +1 -1
  187. package/lib/plugin-runtime/agent-runtime.d.ts +3 -0
  188. package/lib/plugin-runtime/agent-runtime.d.ts.map +1 -1
  189. package/lib/plugin-runtime/agent-runtime.js +42 -10
  190. package/lib/plugin-runtime/agent-runtime.js.map +1 -1
  191. package/lib/plugin-runtime/agent-trace-runtime.d.ts +5 -0
  192. package/lib/plugin-runtime/agent-trace-runtime.d.ts.map +1 -1
  193. package/lib/plugin-runtime/agent-trace-runtime.js +7 -0
  194. package/lib/plugin-runtime/agent-trace-runtime.js.map +1 -1
  195. package/lib/plugin-runtime/deferred-capability-plan.d.ts +27 -24
  196. package/lib/plugin-runtime/deferred-capability-plan.d.ts.map +1 -1
  197. package/lib/plugin-runtime/deferred-capability-plan.js +52 -82
  198. package/lib/plugin-runtime/deferred-capability-plan.js.map +1 -1
  199. package/lib/plugin-runtime/file-search-scope.d.ts +22 -0
  200. package/lib/plugin-runtime/file-search-scope.d.ts.map +1 -0
  201. package/lib/plugin-runtime/file-search-scope.js +129 -0
  202. package/lib/plugin-runtime/file-search-scope.js.map +1 -0
  203. package/lib/plugin-runtime/full-agent-turn-engine.d.ts.map +1 -1
  204. package/lib/plugin-runtime/full-agent-turn-engine.js +177 -21
  205. package/lib/plugin-runtime/full-agent-turn-engine.js.map +1 -1
  206. package/lib/plugin-runtime/index.d.ts +0 -78
  207. package/lib/plugin-runtime/index.d.ts.map +1 -1
  208. package/lib/plugin-runtime/index.js +0 -77
  209. package/lib/plugin-runtime/index.js.map +1 -1
  210. package/lib/plugin-runtime/native-bash-tool.d.ts +12 -0
  211. package/lib/plugin-runtime/native-bash-tool.d.ts.map +1 -1
  212. package/lib/plugin-runtime/native-bash-tool.js +32 -8
  213. package/lib/plugin-runtime/native-bash-tool.js.map +1 -1
  214. package/lib/plugin-runtime/native-file-tools.d.ts.map +1 -1
  215. package/lib/plugin-runtime/native-file-tools.js +120 -51
  216. package/lib/plugin-runtime/native-file-tools.js.map +1 -1
  217. package/lib/plugin-runtime/native-semantic-memory-tools.d.ts +27 -1
  218. package/lib/plugin-runtime/native-semantic-memory-tools.d.ts.map +1 -1
  219. package/lib/plugin-runtime/native-semantic-memory-tools.js +87 -9
  220. package/lib/plugin-runtime/native-semantic-memory-tools.js.map +1 -1
  221. package/lib/plugin-runtime/subagent-turn-capability.d.ts +32 -0
  222. package/lib/plugin-runtime/subagent-turn-capability.d.ts.map +1 -0
  223. package/lib/plugin-runtime/subagent-turn-capability.js +168 -0
  224. package/lib/plugin-runtime/subagent-turn-capability.js.map +1 -0
  225. package/lib/prompt/estimate-tokens.d.ts +7 -0
  226. package/lib/prompt/estimate-tokens.d.ts.map +1 -0
  227. package/lib/prompt/estimate-tokens.js +12 -0
  228. package/lib/prompt/estimate-tokens.js.map +1 -0
  229. package/lib/prompt/system-prompt.d.ts +2 -0
  230. package/lib/prompt/system-prompt.d.ts.map +1 -1
  231. package/lib/prompt/system-prompt.js +13 -2
  232. package/lib/prompt/system-prompt.js.map +1 -1
  233. package/lib/routing/subagent-summarize.d.ts +1 -1
  234. package/lib/routing/subagent-summarize.d.ts.map +1 -1
  235. package/lib/routing/subagent-summarize.js +2 -2
  236. package/lib/routing/subagent-summarize.js.map +1 -1
  237. package/lib/security/file-role-policy.d.ts +4 -2
  238. package/lib/security/file-role-policy.d.ts.map +1 -1
  239. package/lib/security/file-role-policy.js +21 -9
  240. package/lib/security/file-role-policy.js.map +1 -1
  241. package/lib/security/outbound-leak-guard.d.ts +61 -0
  242. package/lib/security/outbound-leak-guard.d.ts.map +1 -0
  243. package/lib/security/outbound-leak-guard.js +145 -0
  244. package/lib/security/outbound-leak-guard.js.map +1 -0
  245. package/lib/security/policy-facade.d.ts.map +1 -1
  246. package/lib/security/policy-facade.js +9 -0
  247. package/lib/security/policy-facade.js.map +1 -1
  248. package/lib/security/policy-narrowing.d.ts +12 -0
  249. package/lib/security/policy-narrowing.d.ts.map +1 -0
  250. package/lib/security/policy-narrowing.js +38 -0
  251. package/lib/security/policy-narrowing.js.map +1 -0
  252. package/lib/security/provenance.d.ts +65 -0
  253. package/lib/security/provenance.d.ts.map +1 -0
  254. package/lib/security/provenance.js +112 -0
  255. package/lib/security/provenance.js.map +1 -0
  256. package/lib/security/trust-level.d.ts +76 -0
  257. package/lib/security/trust-level.d.ts.map +1 -0
  258. package/lib/security/trust-level.js +87 -0
  259. package/lib/security/trust-level.js.map +1 -0
  260. package/lib/security/usage-quota.d.ts +73 -0
  261. package/lib/security/usage-quota.d.ts.map +1 -0
  262. package/lib/security/usage-quota.js +123 -0
  263. package/lib/security/usage-quota.js.map +1 -0
  264. package/lib/service.d.ts +4 -0
  265. package/lib/service.d.ts.map +1 -1
  266. package/lib/service.js +16 -1
  267. package/lib/service.js.map +1 -1
  268. package/lib/session/approval-port.d.ts +26 -0
  269. package/lib/session/approval-port.d.ts.map +1 -1
  270. package/lib/session/approval-port.js +36 -0
  271. package/lib/session/approval-port.js.map +1 -1
  272. package/lib/session/approval-review-agent.d.ts +2 -2
  273. package/lib/session/approval-review-agent.d.ts.map +1 -1
  274. package/lib/session/approval-review-agent.js +57 -39
  275. package/lib/session/approval-review-agent.js.map +1 -1
  276. package/lib/session/session-io.d.ts.map +1 -1
  277. package/lib/session/session-io.js +1 -0
  278. package/lib/session/session-io.js.map +1 -1
  279. package/lib/session/turn-ingress-session.d.ts.map +1 -1
  280. package/lib/session/turn-ingress-session.js +1 -0
  281. package/lib/session/turn-ingress-session.js.map +1 -1
  282. package/lib/skill/capability-catalog.d.ts +27 -0
  283. package/lib/skill/capability-catalog.d.ts.map +1 -0
  284. package/lib/skill/capability-catalog.js +70 -0
  285. package/lib/skill/capability-catalog.js.map +1 -0
  286. package/lib/tool/deferred-resolution.d.ts.map +1 -1
  287. package/lib/tool/deferred-resolution.js +2 -1
  288. package/lib/tool/deferred-resolution.js.map +1 -1
  289. package/lib/tool/turn-tool-runtime.d.ts +13 -1
  290. package/lib/tool/turn-tool-runtime.d.ts.map +1 -1
  291. package/lib/tool/turn-tool-runtime.js +81 -7
  292. package/lib/tool/turn-tool-runtime.js.map +1 -1
  293. package/lib/tool-catalog/deferred-turn-controller.d.ts +4 -0
  294. package/lib/tool-catalog/deferred-turn-controller.d.ts.map +1 -1
  295. package/lib/tool-catalog/deferred-turn-controller.js +13 -3
  296. package/lib/tool-catalog/deferred-turn-controller.js.map +1 -1
  297. package/lib/tool-catalog/resolve-config.d.ts.map +1 -1
  298. package/lib/tool-catalog/resolve-config.js +5 -1
  299. package/lib/tool-catalog/resolve-config.js.map +1 -1
  300. package/lib/tool-catalog/types.d.ts +14 -1
  301. package/lib/tool-catalog/types.d.ts.map +1 -1
  302. package/lib/tool-catalog/types.js +15 -0
  303. package/lib/tool-catalog/types.js.map +1 -1
  304. package/lib/trace/context-budget.d.ts +56 -0
  305. package/lib/trace/context-budget.d.ts.map +1 -0
  306. package/lib/trace/context-budget.js +102 -0
  307. package/lib/trace/context-budget.js.map +1 -0
  308. package/lib/trace/index.d.ts +12 -0
  309. package/lib/trace/index.d.ts.map +1 -0
  310. package/lib/trace/index.js +7 -0
  311. package/lib/trace/index.js.map +1 -0
  312. package/lib/trace/turn-trace-archive.d.ts +49 -0
  313. package/lib/trace/turn-trace-archive.d.ts.map +1 -0
  314. package/lib/trace/turn-trace-archive.js +208 -0
  315. package/lib/trace/turn-trace-archive.js.map +1 -0
  316. package/lib/trace/turn-trace-format.d.ts +10 -0
  317. package/lib/trace/turn-trace-format.d.ts.map +1 -0
  318. package/lib/trace/turn-trace-format.js +132 -0
  319. package/lib/trace/turn-trace-format.js.map +1 -0
  320. package/lib/trace/turn-trace-registry.d.ts +30 -0
  321. package/lib/trace/turn-trace-registry.d.ts.map +1 -0
  322. package/lib/trace/turn-trace-registry.js +62 -0
  323. package/lib/trace/turn-trace-registry.js.map +1 -0
  324. package/lib/trace/turn-trace-store.d.ts +15 -0
  325. package/lib/trace/turn-trace-store.d.ts.map +1 -0
  326. package/lib/trace/turn-trace-store.js +67 -0
  327. package/lib/trace/turn-trace-store.js.map +1 -0
  328. package/lib/trace/turn-trace.d.ts +147 -0
  329. package/lib/trace/turn-trace.d.ts.map +1 -0
  330. package/lib/trace/turn-trace.js +341 -0
  331. package/lib/trace/turn-trace.js.map +1 -0
  332. package/lib/turn/execute-agent-turn.d.ts.map +1 -1
  333. package/lib/turn/execute-agent-turn.js +21 -10
  334. package/lib/turn/execute-agent-turn.js.map +1 -1
  335. package/lib/turn/inbound-media.d.ts +15 -0
  336. package/lib/turn/inbound-media.d.ts.map +1 -1
  337. package/lib/turn/inbound-media.js +41 -1
  338. package/lib/turn/inbound-media.js.map +1 -1
  339. package/lib/turn/inbound-queue-config.d.ts +1 -0
  340. package/lib/turn/inbound-queue-config.d.ts.map +1 -1
  341. package/lib/turn/inbound-queue-config.js +9 -1
  342. package/lib/turn/inbound-queue-config.js.map +1 -1
  343. package/lib/turn/index.d.ts +5 -0
  344. package/lib/turn/index.d.ts.map +1 -1
  345. package/lib/turn/index.js +4 -0
  346. package/lib/turn/index.js.map +1 -1
  347. package/lib/turn/journal-feed.d.ts +31 -0
  348. package/lib/turn/journal-feed.d.ts.map +1 -0
  349. package/lib/turn/journal-feed.js +43 -0
  350. package/lib/turn/journal-feed.js.map +1 -0
  351. package/lib/turn/turn-admission-gate.d.ts +62 -0
  352. package/lib/turn/turn-admission-gate.d.ts.map +1 -0
  353. package/lib/turn/turn-admission-gate.js +194 -0
  354. package/lib/turn/turn-admission-gate.js.map +1 -0
  355. package/lib/turn/turn-ingress.d.ts +4 -0
  356. package/lib/turn/turn-ingress.d.ts.map +1 -1
  357. package/lib/turn/turn-ingress.js.map +1 -1
  358. package/lib/turn/turn-pipeline.js +1 -0
  359. package/lib/turn/turn-pipeline.js.map +1 -1
  360. package/lib/zhin-agent/index.d.ts +9 -0
  361. package/lib/zhin-agent/index.d.ts.map +1 -1
  362. package/lib/zhin-agent/index.js +13 -0
  363. package/lib/zhin-agent/index.js.map +1 -1
  364. package/package.json +20 -13
  365. package/lib/data-governance/data-governance.d.ts +0 -198
  366. package/lib/data-governance/data-governance.d.ts.map +0 -1
  367. package/lib/data-governance/data-governance.js +0 -660
  368. package/lib/data-governance/data-governance.js.map +0 -1
  369. package/lib/data-governance/database-payload-lifecycle-repository.d.ts +0 -68
  370. package/lib/data-governance/database-payload-lifecycle-repository.d.ts.map +0 -1
  371. package/lib/data-governance/database-payload-lifecycle-repository.js +0 -226
  372. package/lib/data-governance/database-payload-lifecycle-repository.js.map +0 -1
  373. package/lib/data-governance/disclosure-authority.d.ts +0 -38
  374. package/lib/data-governance/disclosure-authority.d.ts.map +0 -1
  375. package/lib/data-governance/disclosure-authority.js +0 -2
  376. package/lib/data-governance/disclosure-authority.js.map +0 -1
  377. package/lib/data-governance/disclosure-manifest.d.ts +0 -110
  378. package/lib/data-governance/disclosure-manifest.d.ts.map +0 -1
  379. package/lib/data-governance/disclosure-manifest.js +0 -264
  380. package/lib/data-governance/disclosure-manifest.js.map +0 -1
  381. package/lib/data-governance/encrypted-database-payload-vault.d.ts +0 -107
  382. package/lib/data-governance/encrypted-database-payload-vault.d.ts.map +0 -1
  383. package/lib/data-governance/encrypted-database-payload-vault.js +0 -236
  384. package/lib/data-governance/encrypted-database-payload-vault.js.map +0 -1
  385. package/lib/data-governance/encrypted-file-payload-vault.d.ts +0 -117
  386. package/lib/data-governance/encrypted-file-payload-vault.d.ts.map +0 -1
  387. package/lib/data-governance/encrypted-file-payload-vault.js +0 -507
  388. package/lib/data-governance/encrypted-file-payload-vault.js.map +0 -1
  389. package/lib/data-governance/file-payload-lifecycle-repository.d.ts +0 -19
  390. package/lib/data-governance/file-payload-lifecycle-repository.d.ts.map +0 -1
  391. package/lib/data-governance/file-payload-lifecycle-repository.js +0 -194
  392. package/lib/data-governance/file-payload-lifecycle-repository.js.map +0 -1
  393. package/lib/data-governance/governance-authority-repository.d.ts +0 -152
  394. package/lib/data-governance/governance-authority-repository.d.ts.map +0 -1
  395. package/lib/data-governance/governance-authority-repository.js +0 -455
  396. package/lib/data-governance/governance-authority-repository.js.map +0 -1
  397. package/lib/data-governance/governed-payload-write-saga.d.ts +0 -126
  398. package/lib/data-governance/governed-payload-write-saga.d.ts.map +0 -1
  399. package/lib/data-governance/governed-payload-write-saga.js +0 -471
  400. package/lib/data-governance/governed-payload-write-saga.js.map +0 -1
  401. package/lib/data-governance/payload-hold-overdue-projection.d.ts +0 -57
  402. package/lib/data-governance/payload-hold-overdue-projection.d.ts.map +0 -1
  403. package/lib/data-governance/payload-hold-overdue-projection.js +0 -80
  404. package/lib/data-governance/payload-hold-overdue-projection.js.map +0 -1
  405. package/lib/data-governance/payload-lifecycle.d.ts +0 -359
  406. package/lib/data-governance/payload-lifecycle.d.ts.map +0 -1
  407. package/lib/data-governance/payload-lifecycle.js +0 -930
  408. package/lib/data-governance/payload-lifecycle.js.map +0 -1
  409. package/lib/data-governance/payload-vault-storage-handoff.d.ts +0 -255
  410. package/lib/data-governance/payload-vault-storage-handoff.d.ts.map +0 -1
  411. package/lib/data-governance/payload-vault-storage-handoff.js +0 -471
  412. package/lib/data-governance/payload-vault-storage-handoff.js.map +0 -1
  413. package/lib/plugin-runtime/database-overlay-pack-promotion-repository.d.ts +0 -70
  414. package/lib/plugin-runtime/database-overlay-pack-promotion-repository.d.ts.map +0 -1
  415. package/lib/plugin-runtime/database-overlay-pack-promotion-repository.js +0 -203
  416. package/lib/plugin-runtime/database-overlay-pack-promotion-repository.js.map +0 -1
  417. package/lib/plugin-runtime/github-actions-delivery-provider.d.ts +0 -44
  418. package/lib/plugin-runtime/github-actions-delivery-provider.d.ts.map +0 -1
  419. package/lib/plugin-runtime/github-actions-delivery-provider.js +0 -246
  420. package/lib/plugin-runtime/github-actions-delivery-provider.js.map +0 -1
  421. package/lib/plugin-runtime/github-exact-merge-gateway.d.ts +0 -62
  422. package/lib/plugin-runtime/github-exact-merge-gateway.d.ts.map +0 -1
  423. package/lib/plugin-runtime/github-exact-merge-gateway.js +0 -79
  424. package/lib/plugin-runtime/github-exact-merge-gateway.js.map +0 -1
  425. package/lib/plugin-runtime/github-workroom-capability.d.ts +0 -15
  426. package/lib/plugin-runtime/github-workroom-capability.d.ts.map +0 -1
  427. package/lib/plugin-runtime/github-workroom-capability.js +0 -79
  428. package/lib/plugin-runtime/github-workroom-capability.js.map +0 -1
  429. package/lib/plugin-runtime/self-delivery-project-composition.d.ts +0 -25
  430. package/lib/plugin-runtime/self-delivery-project-composition.d.ts.map +0 -1
  431. package/lib/plugin-runtime/self-delivery-project-composition.js +0 -85
  432. package/lib/plugin-runtime/self-delivery-project-composition.js.map +0 -1
  433. package/lib/plugin-runtime/self-delivery-project.d.ts +0 -65
  434. package/lib/plugin-runtime/self-delivery-project.d.ts.map +0 -1
  435. package/lib/plugin-runtime/self-delivery-project.js +0 -140
  436. package/lib/plugin-runtime/self-delivery-project.js.map +0 -1
  437. package/lib/plugin-runtime/workroom-acceptance-authority.d.ts +0 -5
  438. package/lib/plugin-runtime/workroom-acceptance-authority.d.ts.map +0 -1
  439. package/lib/plugin-runtime/workroom-acceptance-authority.js +0 -14
  440. package/lib/plugin-runtime/workroom-acceptance-authority.js.map +0 -1
  441. package/lib/plugin-runtime/workroom-acceptance-fact-providers.d.ts +0 -233
  442. package/lib/plugin-runtime/workroom-acceptance-fact-providers.d.ts.map +0 -1
  443. package/lib/plugin-runtime/workroom-acceptance-fact-providers.js +0 -517
  444. package/lib/plugin-runtime/workroom-acceptance-fact-providers.js.map +0 -1
  445. package/lib/plugin-runtime/workroom-acceptance-internal-providers.d.ts +0 -139
  446. package/lib/plugin-runtime/workroom-acceptance-internal-providers.d.ts.map +0 -1
  447. package/lib/plugin-runtime/workroom-acceptance-internal-providers.js +0 -435
  448. package/lib/plugin-runtime/workroom-acceptance-internal-providers.js.map +0 -1
  449. package/lib/plugin-runtime/workroom-acceptance-policy.d.ts +0 -4
  450. package/lib/plugin-runtime/workroom-acceptance-policy.d.ts.map +0 -1
  451. package/lib/plugin-runtime/workroom-acceptance-policy.js +0 -20
  452. package/lib/plugin-runtime/workroom-acceptance-policy.js.map +0 -1
  453. package/lib/plugin-runtime/workroom-acceptance-production-composition.d.ts +0 -177
  454. package/lib/plugin-runtime/workroom-acceptance-production-composition.d.ts.map +0 -1
  455. package/lib/plugin-runtime/workroom-acceptance-production-composition.js +0 -794
  456. package/lib/plugin-runtime/workroom-acceptance-production-composition.js.map +0 -1
  457. package/lib/plugin-runtime/workroom-acceptance-provider-composition.d.ts +0 -189
  458. package/lib/plugin-runtime/workroom-acceptance-provider-composition.d.ts.map +0 -1
  459. package/lib/plugin-runtime/workroom-acceptance-provider-composition.js +0 -590
  460. package/lib/plugin-runtime/workroom-acceptance-provider-composition.js.map +0 -1
  461. package/lib/plugin-runtime/workroom-accepted-source-runtime.d.ts +0 -75
  462. package/lib/plugin-runtime/workroom-accepted-source-runtime.d.ts.map +0 -1
  463. package/lib/plugin-runtime/workroom-accepted-source-runtime.js +0 -267
  464. package/lib/plugin-runtime/workroom-accepted-source-runtime.js.map +0 -1
  465. package/lib/plugin-runtime/workroom-assignment-authority-grant-runtime.d.ts +0 -42
  466. package/lib/plugin-runtime/workroom-assignment-authority-grant-runtime.d.ts.map +0 -1
  467. package/lib/plugin-runtime/workroom-assignment-authority-grant-runtime.js +0 -90
  468. package/lib/plugin-runtime/workroom-assignment-authority-grant-runtime.js.map +0 -1
  469. package/lib/plugin-runtime/workroom-assignment-authority-provider.d.ts +0 -84
  470. package/lib/plugin-runtime/workroom-assignment-authority-provider.d.ts.map +0 -1
  471. package/lib/plugin-runtime/workroom-assignment-authority-provider.js +0 -494
  472. package/lib/plugin-runtime/workroom-assignment-authority-provider.js.map +0 -1
  473. package/lib/plugin-runtime/workroom-assignment-knowledge-composition.d.ts +0 -58
  474. package/lib/plugin-runtime/workroom-assignment-knowledge-composition.d.ts.map +0 -1
  475. package/lib/plugin-runtime/workroom-assignment-knowledge-composition.js +0 -218
  476. package/lib/plugin-runtime/workroom-assignment-knowledge-composition.js.map +0 -1
  477. package/lib/plugin-runtime/workroom-data-governance-authority-writer.d.ts +0 -49
  478. package/lib/plugin-runtime/workroom-data-governance-authority-writer.d.ts.map +0 -1
  479. package/lib/plugin-runtime/workroom-data-governance-authority-writer.js +0 -140
  480. package/lib/plugin-runtime/workroom-data-governance-authority-writer.js.map +0 -1
  481. package/lib/plugin-runtime/workroom-data-governance-bootstrap.d.ts +0 -27
  482. package/lib/plugin-runtime/workroom-data-governance-bootstrap.d.ts.map +0 -1
  483. package/lib/plugin-runtime/workroom-data-governance-bootstrap.js +0 -324
  484. package/lib/plugin-runtime/workroom-data-governance-bootstrap.js.map +0 -1
  485. package/lib/plugin-runtime/workroom-data-governance-composition.d.ts +0 -28
  486. package/lib/plugin-runtime/workroom-data-governance-composition.d.ts.map +0 -1
  487. package/lib/plugin-runtime/workroom-data-governance-composition.js +0 -41
  488. package/lib/plugin-runtime/workroom-data-governance-composition.js.map +0 -1
  489. package/lib/plugin-runtime/workroom-data-governance-root-provider.d.ts +0 -51
  490. package/lib/plugin-runtime/workroom-data-governance-root-provider.d.ts.map +0 -1
  491. package/lib/plugin-runtime/workroom-data-governance-root-provider.js +0 -66
  492. package/lib/plugin-runtime/workroom-data-governance-root-provider.js.map +0 -1
  493. package/lib/plugin-runtime/workroom-data-governance-runtime.d.ts +0 -100
  494. package/lib/plugin-runtime/workroom-data-governance-runtime.d.ts.map +0 -1
  495. package/lib/plugin-runtime/workroom-data-governance-runtime.js +0 -1356
  496. package/lib/plugin-runtime/workroom-data-governance-runtime.js.map +0 -1
  497. package/lib/plugin-runtime/workroom-data-governance-storage.d.ts +0 -66
  498. package/lib/plugin-runtime/workroom-data-governance-storage.d.ts.map +0 -1
  499. package/lib/plugin-runtime/workroom-data-governance-storage.js +0 -159
  500. package/lib/plugin-runtime/workroom-data-governance-storage.js.map +0 -1
  501. package/lib/plugin-runtime/workroom-data-lifecycle-composition.d.ts +0 -37
  502. package/lib/plugin-runtime/workroom-data-lifecycle-composition.d.ts.map +0 -1
  503. package/lib/plugin-runtime/workroom-data-lifecycle-composition.js +0 -131
  504. package/lib/plugin-runtime/workroom-data-lifecycle-composition.js.map +0 -1
  505. package/lib/plugin-runtime/workroom-data-lifecycle-console.d.ts +0 -238
  506. package/lib/plugin-runtime/workroom-data-lifecycle-console.d.ts.map +0 -1
  507. package/lib/plugin-runtime/workroom-data-lifecycle-console.js +0 -495
  508. package/lib/plugin-runtime/workroom-data-lifecycle-console.js.map +0 -1
  509. package/lib/plugin-runtime/workroom-data-lifecycle-human-ingress.d.ts +0 -15
  510. package/lib/plugin-runtime/workroom-data-lifecycle-human-ingress.d.ts.map +0 -1
  511. package/lib/plugin-runtime/workroom-data-lifecycle-human-ingress.js +0 -119
  512. package/lib/plugin-runtime/workroom-data-lifecycle-human-ingress.js.map +0 -1
  513. package/lib/plugin-runtime/workroom-delivery-gateway.d.ts +0 -96
  514. package/lib/plugin-runtime/workroom-delivery-gateway.d.ts.map +0 -1
  515. package/lib/plugin-runtime/workroom-delivery-gateway.js +0 -129
  516. package/lib/plugin-runtime/workroom-delivery-gateway.js.map +0 -1
  517. package/lib/plugin-runtime/workroom-dynamic-planning-provider.d.ts +0 -142
  518. package/lib/plugin-runtime/workroom-dynamic-planning-provider.d.ts.map +0 -1
  519. package/lib/plugin-runtime/workroom-dynamic-planning-provider.js +0 -302
  520. package/lib/plugin-runtime/workroom-dynamic-planning-provider.js.map +0 -1
  521. package/lib/plugin-runtime/workroom-dynamic-planning.d.ts +0 -4
  522. package/lib/plugin-runtime/workroom-dynamic-planning.d.ts.map +0 -1
  523. package/lib/plugin-runtime/workroom-dynamic-planning.js +0 -13
  524. package/lib/plugin-runtime/workroom-dynamic-planning.js.map +0 -1
  525. package/lib/plugin-runtime/workroom-effect-composition.d.ts +0 -37
  526. package/lib/plugin-runtime/workroom-effect-composition.d.ts.map +0 -1
  527. package/lib/plugin-runtime/workroom-effect-composition.js +0 -80
  528. package/lib/plugin-runtime/workroom-effect-composition.js.map +0 -1
  529. package/lib/plugin-runtime/workroom-effect-production.d.ts +0 -138
  530. package/lib/plugin-runtime/workroom-effect-production.d.ts.map +0 -1
  531. package/lib/plugin-runtime/workroom-effect-production.js +0 -291
  532. package/lib/plugin-runtime/workroom-effect-production.js.map +0 -1
  533. package/lib/plugin-runtime/workroom-effect-runtime.d.ts +0 -56
  534. package/lib/plugin-runtime/workroom-effect-runtime.d.ts.map +0 -1
  535. package/lib/plugin-runtime/workroom-effect-runtime.js +0 -239
  536. package/lib/plugin-runtime/workroom-effect-runtime.js.map +0 -1
  537. package/lib/plugin-runtime/workroom-governed-dispatch-composition.d.ts +0 -32
  538. package/lib/plugin-runtime/workroom-governed-dispatch-composition.d.ts.map +0 -1
  539. package/lib/plugin-runtime/workroom-governed-dispatch-composition.js +0 -43
  540. package/lib/plugin-runtime/workroom-governed-dispatch-composition.js.map +0 -1
  541. package/lib/plugin-runtime/workroom-journal-payload-composition.d.ts +0 -16
  542. package/lib/plugin-runtime/workroom-journal-payload-composition.d.ts.map +0 -1
  543. package/lib/plugin-runtime/workroom-journal-payload-composition.js +0 -69
  544. package/lib/plugin-runtime/workroom-journal-payload-composition.js.map +0 -1
  545. package/lib/plugin-runtime/workroom-local-agent-core-adapter.d.ts +0 -17
  546. package/lib/plugin-runtime/workroom-local-agent-core-adapter.d.ts.map +0 -1
  547. package/lib/plugin-runtime/workroom-local-agent-core-adapter.js +0 -101
  548. package/lib/plugin-runtime/workroom-local-agent-core-adapter.js.map +0 -1
  549. package/lib/plugin-runtime/workroom-local-agent-loop.d.ts +0 -91
  550. package/lib/plugin-runtime/workroom-local-agent-loop.d.ts.map +0 -1
  551. package/lib/plugin-runtime/workroom-local-agent-loop.js +0 -313
  552. package/lib/plugin-runtime/workroom-local-agent-loop.js.map +0 -1
  553. package/lib/plugin-runtime/workroom-local-assignment-authority.d.ts +0 -5
  554. package/lib/plugin-runtime/workroom-local-assignment-authority.d.ts.map +0 -1
  555. package/lib/plugin-runtime/workroom-local-assignment-authority.js +0 -16
  556. package/lib/plugin-runtime/workroom-local-assignment-authority.js.map +0 -1
  557. package/lib/plugin-runtime/workroom-local-assignment-executor.d.ts +0 -59
  558. package/lib/plugin-runtime/workroom-local-assignment-executor.d.ts.map +0 -1
  559. package/lib/plugin-runtime/workroom-local-assignment-executor.js +0 -197
  560. package/lib/plugin-runtime/workroom-local-assignment-executor.js.map +0 -1
  561. package/lib/plugin-runtime/workroom-local-assignment-runtime.d.ts +0 -34
  562. package/lib/plugin-runtime/workroom-local-assignment-runtime.d.ts.map +0 -1
  563. package/lib/plugin-runtime/workroom-local-assignment-runtime.js +0 -235
  564. package/lib/plugin-runtime/workroom-local-assignment-runtime.js.map +0 -1
  565. package/lib/plugin-runtime/workroom-local-assignment-supply.d.ts +0 -39
  566. package/lib/plugin-runtime/workroom-local-assignment-supply.d.ts.map +0 -1
  567. package/lib/plugin-runtime/workroom-local-assignment-supply.js +0 -107
  568. package/lib/plugin-runtime/workroom-local-assignment-supply.js.map +0 -1
  569. package/lib/plugin-runtime/workroom-overlay-pack-promotion.d.ts +0 -145
  570. package/lib/plugin-runtime/workroom-overlay-pack-promotion.d.ts.map +0 -1
  571. package/lib/plugin-runtime/workroom-overlay-pack-promotion.js +0 -516
  572. package/lib/plugin-runtime/workroom-overlay-pack-promotion.js.map +0 -1
  573. package/lib/plugin-runtime/workroom-payload-processor-recall.d.ts +0 -91
  574. package/lib/plugin-runtime/workroom-payload-processor-recall.d.ts.map +0 -1
  575. package/lib/plugin-runtime/workroom-payload-processor-recall.js +0 -189
  576. package/lib/plugin-runtime/workroom-payload-processor-recall.js.map +0 -1
  577. package/lib/plugin-runtime/workroom-plan-gate-authority.d.ts +0 -7
  578. package/lib/plugin-runtime/workroom-plan-gate-authority.d.ts.map +0 -1
  579. package/lib/plugin-runtime/workroom-plan-gate-authority.js +0 -40
  580. package/lib/plugin-runtime/workroom-plan-gate-authority.js.map +0 -1
  581. package/lib/plugin-runtime/workroom-portfolio-capacity.d.ts +0 -132
  582. package/lib/plugin-runtime/workroom-portfolio-capacity.d.ts.map +0 -1
  583. package/lib/plugin-runtime/workroom-portfolio-capacity.js +0 -189
  584. package/lib/plugin-runtime/workroom-portfolio-capacity.js.map +0 -1
  585. package/lib/plugin-runtime/workroom-portfolio-checkpoint-ack.d.ts +0 -38
  586. package/lib/plugin-runtime/workroom-portfolio-checkpoint-ack.d.ts.map +0 -1
  587. package/lib/plugin-runtime/workroom-portfolio-checkpoint-ack.js +0 -103
  588. package/lib/plugin-runtime/workroom-portfolio-checkpoint-ack.js.map +0 -1
  589. package/lib/plugin-runtime/workroom-portfolio-control-composition.d.ts +0 -30
  590. package/lib/plugin-runtime/workroom-portfolio-control-composition.d.ts.map +0 -1
  591. package/lib/plugin-runtime/workroom-portfolio-control-composition.js +0 -103
  592. package/lib/plugin-runtime/workroom-portfolio-control-composition.js.map +0 -1
  593. package/lib/plugin-runtime/workroom-portfolio-control-runtime.d.ts +0 -42
  594. package/lib/plugin-runtime/workroom-portfolio-control-runtime.d.ts.map +0 -1
  595. package/lib/plugin-runtime/workroom-portfolio-control-runtime.js +0 -209
  596. package/lib/plugin-runtime/workroom-portfolio-control-runtime.js.map +0 -1
  597. package/lib/plugin-runtime/workroom-portfolio-grant-assignment.d.ts +0 -141
  598. package/lib/plugin-runtime/workroom-portfolio-grant-assignment.d.ts.map +0 -1
  599. package/lib/plugin-runtime/workroom-portfolio-grant-assignment.js +0 -334
  600. package/lib/plugin-runtime/workroom-portfolio-grant-assignment.js.map +0 -1
  601. package/lib/plugin-runtime/workroom-portfolio-kernel-authority.d.ts +0 -23
  602. package/lib/plugin-runtime/workroom-portfolio-kernel-authority.d.ts.map +0 -1
  603. package/lib/plugin-runtime/workroom-portfolio-kernel-authority.js +0 -88
  604. package/lib/plugin-runtime/workroom-portfolio-kernel-authority.js.map +0 -1
  605. package/lib/plugin-runtime/workroom-portfolio-sponsor.d.ts +0 -96
  606. package/lib/plugin-runtime/workroom-portfolio-sponsor.d.ts.map +0 -1
  607. package/lib/plugin-runtime/workroom-portfolio-sponsor.js +0 -313
  608. package/lib/plugin-runtime/workroom-portfolio-sponsor.js.map +0 -1
  609. package/lib/plugin-runtime/workroom-preemption-runtime.d.ts +0 -57
  610. package/lib/plugin-runtime/workroom-preemption-runtime.d.ts.map +0 -1
  611. package/lib/plugin-runtime/workroom-preemption-runtime.js +0 -163
  612. package/lib/plugin-runtime/workroom-preemption-runtime.js.map +0 -1
  613. package/lib/plugin-runtime/workroom-priority-authority.d.ts +0 -19
  614. package/lib/plugin-runtime/workroom-priority-authority.d.ts.map +0 -1
  615. package/lib/plugin-runtime/workroom-priority-authority.js +0 -76
  616. package/lib/plugin-runtime/workroom-priority-authority.js.map +0 -1
  617. package/lib/plugin-runtime/workroom-profile-authority-composition.d.ts +0 -61
  618. package/lib/plugin-runtime/workroom-profile-authority-composition.d.ts.map +0 -1
  619. package/lib/plugin-runtime/workroom-profile-authority-composition.js +0 -232
  620. package/lib/plugin-runtime/workroom-profile-authority-composition.js.map +0 -1
  621. package/lib/plugin-runtime/workroom-profile-authority-runtime.d.ts +0 -229
  622. package/lib/plugin-runtime/workroom-profile-authority-runtime.d.ts.map +0 -1
  623. package/lib/plugin-runtime/workroom-profile-authority-runtime.js +0 -1133
  624. package/lib/plugin-runtime/workroom-profile-authority-runtime.js.map +0 -1
  625. package/lib/plugin-runtime/workroom-projection-outbound.d.ts +0 -10
  626. package/lib/plugin-runtime/workroom-projection-outbound.d.ts.map +0 -1
  627. package/lib/plugin-runtime/workroom-projection-outbound.js +0 -35
  628. package/lib/plugin-runtime/workroom-projection-outbound.js.map +0 -1
  629. package/lib/plugin-runtime/workroom-projection-runtime.d.ts +0 -93
  630. package/lib/plugin-runtime/workroom-projection-runtime.d.ts.map +0 -1
  631. package/lib/plugin-runtime/workroom-projection-runtime.js +0 -476
  632. package/lib/plugin-runtime/workroom-projection-runtime.js.map +0 -1
  633. package/lib/plugin-runtime/workroom-remote-assignment-authority.d.ts +0 -9
  634. package/lib/plugin-runtime/workroom-remote-assignment-authority.d.ts.map +0 -1
  635. package/lib/plugin-runtime/workroom-remote-assignment-authority.js +0 -20
  636. package/lib/plugin-runtime/workroom-remote-assignment-authority.js.map +0 -1
  637. package/lib/plugin-runtime/workroom-remote-callback-runtime.d.ts +0 -38
  638. package/lib/plugin-runtime/workroom-remote-callback-runtime.d.ts.map +0 -1
  639. package/lib/plugin-runtime/workroom-remote-callback-runtime.js +0 -80
  640. package/lib/plugin-runtime/workroom-remote-callback-runtime.js.map +0 -1
  641. package/lib/plugin-runtime/workroom-remote-executor.d.ts +0 -9
  642. package/lib/plugin-runtime/workroom-remote-executor.d.ts.map +0 -1
  643. package/lib/plugin-runtime/workroom-remote-executor.js +0 -23
  644. package/lib/plugin-runtime/workroom-remote-executor.js.map +0 -1
  645. package/lib/plugin-runtime/workroom-reviewer-authority-runtime.d.ts +0 -72
  646. package/lib/plugin-runtime/workroom-reviewer-authority-runtime.d.ts.map +0 -1
  647. package/lib/plugin-runtime/workroom-reviewer-authority-runtime.js +0 -142
  648. package/lib/plugin-runtime/workroom-reviewer-authority-runtime.js.map +0 -1
  649. package/lib/plugin-runtime/workroom-risk-acceptance-runtime.d.ts +0 -112
  650. package/lib/plugin-runtime/workroom-risk-acceptance-runtime.d.ts.map +0 -1
  651. package/lib/plugin-runtime/workroom-risk-acceptance-runtime.js +0 -376
  652. package/lib/plugin-runtime/workroom-risk-acceptance-runtime.js.map +0 -1
  653. package/lib/plugin-runtime/workroom-run-profile-pin-authority.d.ts +0 -42
  654. package/lib/plugin-runtime/workroom-run-profile-pin-authority.d.ts.map +0 -1
  655. package/lib/plugin-runtime/workroom-run-profile-pin-authority.js +0 -125
  656. package/lib/plugin-runtime/workroom-run-profile-pin-authority.js.map +0 -1
  657. package/lib/plugin-runtime/workroom-scheduler-portfolio-composition.d.ts +0 -32
  658. package/lib/plugin-runtime/workroom-scheduler-portfolio-composition.d.ts.map +0 -1
  659. package/lib/plugin-runtime/workroom-scheduler-portfolio-composition.js +0 -83
  660. package/lib/plugin-runtime/workroom-scheduler-portfolio-composition.js.map +0 -1
  661. package/lib/plugin-runtime/workroom-scheduler-portfolio-contract.d.ts +0 -16
  662. package/lib/plugin-runtime/workroom-scheduler-portfolio-contract.d.ts.map +0 -1
  663. package/lib/plugin-runtime/workroom-scheduler-portfolio-contract.js +0 -49
  664. package/lib/plugin-runtime/workroom-scheduler-portfolio-contract.js.map +0 -1
  665. package/lib/plugin-runtime/workroom-scheduler-portfolio-request-authority.d.ts +0 -66
  666. package/lib/plugin-runtime/workroom-scheduler-portfolio-request-authority.d.ts.map +0 -1
  667. package/lib/plugin-runtime/workroom-scheduler-portfolio-request-authority.js +0 -250
  668. package/lib/plugin-runtime/workroom-scheduler-portfolio-request-authority.js.map +0 -1
  669. package/lib/plugin-runtime/workroom-scheduler-portfolio-supply.d.ts +0 -42
  670. package/lib/plugin-runtime/workroom-scheduler-portfolio-supply.d.ts.map +0 -1
  671. package/lib/plugin-runtime/workroom-scheduler-portfolio-supply.js +0 -141
  672. package/lib/plugin-runtime/workroom-scheduler-portfolio-supply.js.map +0 -1
  673. package/lib/plugin-runtime/workroom-scheduler-route-registry.d.ts +0 -27
  674. package/lib/plugin-runtime/workroom-scheduler-route-registry.d.ts.map +0 -1
  675. package/lib/plugin-runtime/workroom-scheduler-route-registry.js +0 -136
  676. package/lib/plugin-runtime/workroom-scheduler-route-registry.js.map +0 -1
  677. package/lib/plugin-runtime/workroom-scheduler-runtime.d.ts +0 -84
  678. package/lib/plugin-runtime/workroom-scheduler-runtime.d.ts.map +0 -1
  679. package/lib/plugin-runtime/workroom-scheduler-runtime.js +0 -236
  680. package/lib/plugin-runtime/workroom-scheduler-runtime.js.map +0 -1
  681. package/lib/portfolio/capacity-control-outbox.d.ts +0 -174
  682. package/lib/portfolio/capacity-control-outbox.d.ts.map +0 -1
  683. package/lib/portfolio/capacity-control-outbox.js +0 -338
  684. package/lib/portfolio/capacity-control-outbox.js.map +0 -1
  685. package/lib/portfolio/database-capacity-control-outbox.d.ts +0 -62
  686. package/lib/portfolio/database-capacity-control-outbox.d.ts.map +0 -1
  687. package/lib/portfolio/database-capacity-control-outbox.js +0 -166
  688. package/lib/portfolio/database-capacity-control-outbox.js.map +0 -1
  689. package/lib/portfolio/file-capacity-control-outbox.d.ts +0 -10
  690. package/lib/portfolio/file-capacity-control-outbox.d.ts.map +0 -1
  691. package/lib/portfolio/file-capacity-control-outbox.js +0 -113
  692. package/lib/portfolio/file-capacity-control-outbox.js.map +0 -1
  693. package/lib/portfolio/file-portfolio-journal.d.ts +0 -11
  694. package/lib/portfolio/file-portfolio-journal.d.ts.map +0 -1
  695. package/lib/portfolio/file-portfolio-journal.js +0 -196
  696. package/lib/portfolio/file-portfolio-journal.js.map +0 -1
  697. package/lib/portfolio/portfolio-admission.d.ts +0 -95
  698. package/lib/portfolio/portfolio-admission.d.ts.map +0 -1
  699. package/lib/portfolio/portfolio-admission.js +0 -1080
  700. package/lib/portfolio/portfolio-admission.js.map +0 -1
  701. package/lib/portfolio/portfolio-journal.d.ts +0 -359
  702. package/lib/portfolio/portfolio-journal.d.ts.map +0 -1
  703. package/lib/portfolio/portfolio-journal.js +0 -844
  704. package/lib/portfolio/portfolio-journal.js.map +0 -1
  705. package/lib/portfolio/resource-bundle.d.ts +0 -136
  706. package/lib/portfolio/resource-bundle.d.ts.map +0 -1
  707. package/lib/portfolio/resource-bundle.js +0 -387
  708. package/lib/portfolio/resource-bundle.js.map +0 -1
  709. package/lib/portfolio/sponsor-projection.d.ts +0 -78
  710. package/lib/portfolio/sponsor-projection.d.ts.map +0 -1
  711. package/lib/portfolio/sponsor-projection.js +0 -135
  712. package/lib/portfolio/sponsor-projection.js.map +0 -1
  713. package/lib/routing/match-rules.d.ts +0 -4
  714. package/lib/routing/match-rules.d.ts.map +0 -1
  715. package/lib/routing/match-rules.js +0 -29
  716. package/lib/routing/match-rules.js.map +0 -1
  717. package/lib/routing/route-matcher.d.ts +0 -16
  718. package/lib/routing/route-matcher.d.ts.map +0 -1
  719. package/lib/routing/route-matcher.js +0 -62
  720. package/lib/routing/route-matcher.js.map +0 -1
  721. package/lib/routing/workroom-bot-identity.d.ts +0 -22
  722. package/lib/routing/workroom-bot-identity.d.ts.map +0 -1
  723. package/lib/routing/workroom-bot-identity.js +0 -53
  724. package/lib/routing/workroom-bot-identity.js.map +0 -1
  725. package/lib/workroom/acceptance-control.d.ts +0 -77
  726. package/lib/workroom/acceptance-control.d.ts.map +0 -1
  727. package/lib/workroom/acceptance-control.js +0 -345
  728. package/lib/workroom/acceptance-control.js.map +0 -1
  729. package/lib/workroom/acceptance-policy.d.ts +0 -152
  730. package/lib/workroom/acceptance-policy.d.ts.map +0 -1
  731. package/lib/workroom/acceptance-policy.js +0 -610
  732. package/lib/workroom/acceptance-policy.js.map +0 -1
  733. package/lib/workroom/accepted-source-memory-application.d.ts +0 -113
  734. package/lib/workroom/accepted-source-memory-application.d.ts.map +0 -1
  735. package/lib/workroom/accepted-source-memory-application.js +0 -327
  736. package/lib/workroom/accepted-source-memory-application.js.map +0 -1
  737. package/lib/workroom/accepted-source-projector.d.ts +0 -89
  738. package/lib/workroom/accepted-source-projector.d.ts.map +0 -1
  739. package/lib/workroom/accepted-source-projector.js +0 -281
  740. package/lib/workroom/accepted-source-projector.js.map +0 -1
  741. package/lib/workroom/assignment-authority-grant-application.d.ts +0 -125
  742. package/lib/workroom/assignment-authority-grant-application.d.ts.map +0 -1
  743. package/lib/workroom/assignment-authority-grant-application.js +0 -318
  744. package/lib/workroom/assignment-authority-grant-application.js.map +0 -1
  745. package/lib/workroom/assignment-authority-grant-repository.d.ts +0 -152
  746. package/lib/workroom/assignment-authority-grant-repository.d.ts.map +0 -1
  747. package/lib/workroom/assignment-authority-grant-repository.js +0 -389
  748. package/lib/workroom/assignment-authority-grant-repository.js.map +0 -1
  749. package/lib/workroom/assignment-authority.d.ts +0 -75
  750. package/lib/workroom/assignment-authority.d.ts.map +0 -1
  751. package/lib/workroom/assignment-authority.js +0 -179
  752. package/lib/workroom/assignment-authority.js.map +0 -1
  753. package/lib/workroom/assignment-executor.d.ts +0 -110
  754. package/lib/workroom/assignment-executor.d.ts.map +0 -1
  755. package/lib/workroom/assignment-executor.js +0 -371
  756. package/lib/workroom/assignment-executor.js.map +0 -1
  757. package/lib/workroom/assignment-observation-ingress.d.ts +0 -21
  758. package/lib/workroom/assignment-observation-ingress.d.ts.map +0 -1
  759. package/lib/workroom/assignment-observation-ingress.js +0 -24
  760. package/lib/workroom/assignment-observation-ingress.js.map +0 -1
  761. package/lib/workroom/canonical-value.d.ts +0 -7
  762. package/lib/workroom/canonical-value.d.ts.map +0 -1
  763. package/lib/workroom/canonical-value.js +0 -32
  764. package/lib/workroom/canonical-value.js.map +0 -1
  765. package/lib/workroom/catalog-definition.d.ts +0 -52
  766. package/lib/workroom/catalog-definition.d.ts.map +0 -1
  767. package/lib/workroom/catalog-definition.js +0 -6
  768. package/lib/workroom/catalog-definition.js.map +0 -1
  769. package/lib/workroom/catalog.d.ts +0 -80
  770. package/lib/workroom/catalog.d.ts.map +0 -1
  771. package/lib/workroom/catalog.js +0 -386
  772. package/lib/workroom/catalog.js.map +0 -1
  773. package/lib/workroom/coding-assignment-executor.d.ts +0 -90
  774. package/lib/workroom/coding-assignment-executor.d.ts.map +0 -1
  775. package/lib/workroom/coding-assignment-executor.js +0 -250
  776. package/lib/workroom/coding-assignment-executor.js.map +0 -1
  777. package/lib/workroom/coding-git-objects.d.ts +0 -17
  778. package/lib/workroom/coding-git-objects.d.ts.map +0 -1
  779. package/lib/workroom/coding-git-objects.js +0 -68
  780. package/lib/workroom/coding-git-objects.js.map +0 -1
  781. package/lib/workroom/database-project-knowledge-journal.d.ts +0 -62
  782. package/lib/workroom/database-project-knowledge-journal.d.ts.map +0 -1
  783. package/lib/workroom/database-project-knowledge-journal.js +0 -161
  784. package/lib/workroom/database-project-knowledge-journal.js.map +0 -1
  785. package/lib/workroom/durable-file-store.d.ts +0 -56
  786. package/lib/workroom/durable-file-store.d.ts.map +0 -1
  787. package/lib/workroom/durable-file-store.js +0 -125
  788. package/lib/workroom/durable-file-store.js.map +0 -1
  789. package/lib/workroom/dynamic-workflow-planner.d.ts +0 -86
  790. package/lib/workroom/dynamic-workflow-planner.d.ts.map +0 -1
  791. package/lib/workroom/dynamic-workflow-planner.js +0 -260
  792. package/lib/workroom/dynamic-workflow-planner.js.map +0 -1
  793. package/lib/workroom/effect-blocker-repository.d.ts +0 -51
  794. package/lib/workroom/effect-blocker-repository.d.ts.map +0 -1
  795. package/lib/workroom/effect-blocker-repository.js +0 -174
  796. package/lib/workroom/effect-blocker-repository.js.map +0 -1
  797. package/lib/workroom/effect-ledger.d.ts +0 -211
  798. package/lib/workroom/effect-ledger.d.ts.map +0 -1
  799. package/lib/workroom/effect-ledger.js +0 -484
  800. package/lib/workroom/effect-ledger.js.map +0 -1
  801. package/lib/workroom/file-accepted-source-memory-repository.d.ts +0 -15
  802. package/lib/workroom/file-accepted-source-memory-repository.d.ts.map +0 -1
  803. package/lib/workroom/file-accepted-source-memory-repository.js +0 -136
  804. package/lib/workroom/file-accepted-source-memory-repository.js.map +0 -1
  805. package/lib/workroom/file-coding-execution-store.d.ts +0 -25
  806. package/lib/workroom/file-coding-execution-store.d.ts.map +0 -1
  807. package/lib/workroom/file-coding-execution-store.js +0 -122
  808. package/lib/workroom/file-coding-execution-store.js.map +0 -1
  809. package/lib/workroom/file-effect-ledger.d.ts +0 -10
  810. package/lib/workroom/file-effect-ledger.d.ts.map +0 -1
  811. package/lib/workroom/file-effect-ledger.js +0 -121
  812. package/lib/workroom/file-effect-ledger.js.map +0 -1
  813. package/lib/workroom/file-human-ingress-application.d.ts +0 -10
  814. package/lib/workroom/file-human-ingress-application.d.ts.map +0 -1
  815. package/lib/workroom/file-human-ingress-application.js +0 -177
  816. package/lib/workroom/file-human-ingress-application.js.map +0 -1
  817. package/lib/workroom/file-human-ingress.d.ts +0 -24
  818. package/lib/workroom/file-human-ingress.d.ts.map +0 -1
  819. package/lib/workroom/file-human-ingress.js +0 -234
  820. package/lib/workroom/file-human-ingress.js.map +0 -1
  821. package/lib/workroom/file-interaction-space-binding-repository.d.ts +0 -24
  822. package/lib/workroom/file-interaction-space-binding-repository.d.ts.map +0 -1
  823. package/lib/workroom/file-interaction-space-binding-repository.js +0 -293
  824. package/lib/workroom/file-interaction-space-binding-repository.js.map +0 -1
  825. package/lib/workroom/file-profile-journal.d.ts +0 -33
  826. package/lib/workroom/file-profile-journal.d.ts.map +0 -1
  827. package/lib/workroom/file-profile-journal.js +0 -311
  828. package/lib/workroom/file-profile-journal.js.map +0 -1
  829. package/lib/workroom/git-workspace-gateway.d.ts +0 -152
  830. package/lib/workroom/git-workspace-gateway.d.ts.map +0 -1
  831. package/lib/workroom/git-workspace-gateway.js +0 -257
  832. package/lib/workroom/git-workspace-gateway.js.map +0 -1
  833. package/lib/workroom/github-workspace-transport.d.ts +0 -30
  834. package/lib/workroom/github-workspace-transport.d.ts.map +0 -1
  835. package/lib/workroom/github-workspace-transport.js +0 -224
  836. package/lib/workroom/github-workspace-transport.js.map +0 -1
  837. package/lib/workroom/governed-dispatch-reasons.d.ts +0 -10
  838. package/lib/workroom/governed-dispatch-reasons.d.ts.map +0 -1
  839. package/lib/workroom/governed-dispatch-reasons.js +0 -20
  840. package/lib/workroom/governed-dispatch-reasons.js.map +0 -1
  841. package/lib/workroom/human-ingress-application.d.ts +0 -128
  842. package/lib/workroom/human-ingress-application.d.ts.map +0 -1
  843. package/lib/workroom/human-ingress-application.js +0 -415
  844. package/lib/workroom/human-ingress-application.js.map +0 -1
  845. package/lib/workroom/human-ingress-orchestrator.d.ts +0 -99
  846. package/lib/workroom/human-ingress-orchestrator.d.ts.map +0 -1
  847. package/lib/workroom/human-ingress-orchestrator.js +0 -262
  848. package/lib/workroom/human-ingress-orchestrator.js.map +0 -1
  849. package/lib/workroom/human-ingress-source-reader.d.ts +0 -29
  850. package/lib/workroom/human-ingress-source-reader.d.ts.map +0 -1
  851. package/lib/workroom/human-ingress-source-reader.js +0 -126
  852. package/lib/workroom/human-ingress-source-reader.js.map +0 -1
  853. package/lib/workroom/human-ingress.d.ts +0 -182
  854. package/lib/workroom/human-ingress.d.ts.map +0 -1
  855. package/lib/workroom/human-ingress.js +0 -526
  856. package/lib/workroom/human-ingress.js.map +0 -1
  857. package/lib/workroom/interaction-space-binding-service.d.ts +0 -57
  858. package/lib/workroom/interaction-space-binding-service.d.ts.map +0 -1
  859. package/lib/workroom/interaction-space-binding-service.js +0 -197
  860. package/lib/workroom/interaction-space-binding-service.js.map +0 -1
  861. package/lib/workroom/interaction-space-router.d.ts +0 -75
  862. package/lib/workroom/interaction-space-router.d.ts.map +0 -1
  863. package/lib/workroom/interaction-space-router.js +0 -243
  864. package/lib/workroom/interaction-space-router.js.map +0 -1
  865. package/lib/workroom/journal/activatable-journal.d.ts +0 -15
  866. package/lib/workroom/journal/activatable-journal.d.ts.map +0 -1
  867. package/lib/workroom/journal/activatable-journal.js +0 -39
  868. package/lib/workroom/journal/activatable-journal.js.map +0 -1
  869. package/lib/workroom/journal/contracts.d.ts +0 -141
  870. package/lib/workroom/journal/contracts.d.ts.map +0 -1
  871. package/lib/workroom/journal/contracts.js +0 -19
  872. package/lib/workroom/journal/contracts.js.map +0 -1
  873. package/lib/workroom/journal/database-journal.d.ts +0 -31
  874. package/lib/workroom/journal/database-journal.d.ts.map +0 -1
  875. package/lib/workroom/journal/database-journal.js +0 -118
  876. package/lib/workroom/journal/database-journal.js.map +0 -1
  877. package/lib/workroom/journal/event-codec.d.ts +0 -26
  878. package/lib/workroom/journal/event-codec.d.ts.map +0 -1
  879. package/lib/workroom/journal/event-codec.js +0 -243
  880. package/lib/workroom/journal/event-codec.js.map +0 -1
  881. package/lib/workroom/journal/event-validation.d.ts +0 -10
  882. package/lib/workroom/journal/event-validation.d.ts.map +0 -1
  883. package/lib/workroom/journal/event-validation.js +0 -671
  884. package/lib/workroom/journal/event-validation.js.map +0 -1
  885. package/lib/workroom/journal/file-journal.d.ts +0 -15
  886. package/lib/workroom/journal/file-journal.d.ts.map +0 -1
  887. package/lib/workroom/journal/file-journal.js +0 -272
  888. package/lib/workroom/journal/file-journal.js.map +0 -1
  889. package/lib/workroom/journal/index.d.ts +0 -9
  890. package/lib/workroom/journal/index.d.ts.map +0 -1
  891. package/lib/workroom/journal/index.js +0 -8
  892. package/lib/workroom/journal/index.js.map +0 -1
  893. package/lib/workroom/journal/memory-journal.d.ts +0 -27
  894. package/lib/workroom/journal/memory-journal.d.ts.map +0 -1
  895. package/lib/workroom/journal/memory-journal.js +0 -103
  896. package/lib/workroom/journal/memory-journal.js.map +0 -1
  897. package/lib/workroom/journal/payload-governance.d.ts +0 -29
  898. package/lib/workroom/journal/payload-governance.d.ts.map +0 -1
  899. package/lib/workroom/journal/payload-governance.js +0 -282
  900. package/lib/workroom/journal/payload-governance.js.map +0 -1
  901. package/lib/workroom/journal/payload-reference.d.ts +0 -9
  902. package/lib/workroom/journal/payload-reference.d.ts.map +0 -1
  903. package/lib/workroom/journal/payload-reference.js +0 -60
  904. package/lib/workroom/journal/payload-reference.js.map +0 -1
  905. package/lib/workroom/journal/stored-event-projection.d.ts +0 -6
  906. package/lib/workroom/journal/stored-event-projection.d.ts.map +0 -1
  907. package/lib/workroom/journal/stored-event-projection.js +0 -280
  908. package/lib/workroom/journal/stored-event-projection.js.map +0 -1
  909. package/lib/workroom/journal-model.d.ts +0 -40
  910. package/lib/workroom/journal-model.d.ts.map +0 -1
  911. package/lib/workroom/journal-model.js +0 -12
  912. package/lib/workroom/journal-model.js.map +0 -1
  913. package/lib/workroom/kernel-contracts.d.ts +0 -168
  914. package/lib/workroom/kernel-contracts.d.ts.map +0 -1
  915. package/lib/workroom/kernel-contracts.js +0 -2
  916. package/lib/workroom/kernel-contracts.js.map +0 -1
  917. package/lib/workroom/kernel-state.d.ts +0 -5
  918. package/lib/workroom/kernel-state.d.ts.map +0 -1
  919. package/lib/workroom/kernel-state.js +0 -885
  920. package/lib/workroom/kernel-state.js.map +0 -1
  921. package/lib/workroom/legacy-embedded-payload-migration.d.ts +0 -89
  922. package/lib/workroom/legacy-embedded-payload-migration.d.ts.map +0 -1
  923. package/lib/workroom/legacy-embedded-payload-migration.js +0 -312
  924. package/lib/workroom/legacy-embedded-payload-migration.js.map +0 -1
  925. package/lib/workroom/legacy-run-offline-migration.d.ts +0 -84
  926. package/lib/workroom/legacy-run-offline-migration.d.ts.map +0 -1
  927. package/lib/workroom/legacy-run-offline-migration.js +0 -470
  928. package/lib/workroom/legacy-run-offline-migration.js.map +0 -1
  929. package/lib/workroom/local-assignment-issuance.d.ts +0 -68
  930. package/lib/workroom/local-assignment-issuance.d.ts.map +0 -1
  931. package/lib/workroom/local-assignment-issuance.js +0 -128
  932. package/lib/workroom/local-assignment-issuance.js.map +0 -1
  933. package/lib/workroom/plan-approval-control.d.ts +0 -52
  934. package/lib/workroom/plan-approval-control.d.ts.map +0 -1
  935. package/lib/workroom/plan-approval-control.js +0 -9
  936. package/lib/workroom/plan-approval-control.js.map +0 -1
  937. package/lib/workroom/plan-revision.d.ts +0 -44
  938. package/lib/workroom/plan-revision.d.ts.map +0 -1
  939. package/lib/workroom/plan-revision.js +0 -133
  940. package/lib/workroom/plan-revision.js.map +0 -1
  941. package/lib/workroom/profile-compiler.d.ts +0 -130
  942. package/lib/workroom/profile-compiler.d.ts.map +0 -1
  943. package/lib/workroom/profile-compiler.js +0 -357
  944. package/lib/workroom/profile-compiler.js.map +0 -1
  945. package/lib/workroom/profile-registry.d.ts +0 -191
  946. package/lib/workroom/profile-registry.d.ts.map +0 -1
  947. package/lib/workroom/profile-registry.js +0 -698
  948. package/lib/workroom/profile-registry.js.map +0 -1
  949. package/lib/workroom/project-knowledge-registry.d.ts +0 -136
  950. package/lib/workroom/project-knowledge-registry.d.ts.map +0 -1
  951. package/lib/workroom/project-knowledge-registry.js +0 -429
  952. package/lib/workroom/project-knowledge-registry.js.map +0 -1
  953. package/lib/workroom/projection-outbox/contracts.d.ts +0 -195
  954. package/lib/workroom/projection-outbox/contracts.d.ts.map +0 -1
  955. package/lib/workroom/projection-outbox/contracts.js +0 -11
  956. package/lib/workroom/projection-outbox/contracts.js.map +0 -1
  957. package/lib/workroom/projection-outbox/delivery-worker.d.ts +0 -22
  958. package/lib/workroom/projection-outbox/delivery-worker.d.ts.map +0 -1
  959. package/lib/workroom/projection-outbox/delivery-worker.js +0 -96
  960. package/lib/workroom/projection-outbox/delivery-worker.js.map +0 -1
  961. package/lib/workroom/projection-outbox/file-repository.d.ts +0 -11
  962. package/lib/workroom/projection-outbox/file-repository.d.ts.map +0 -1
  963. package/lib/workroom/projection-outbox/file-repository.js +0 -89
  964. package/lib/workroom/projection-outbox/file-repository.js.map +0 -1
  965. package/lib/workroom/projection-outbox/index.d.ts +0 -10
  966. package/lib/workroom/projection-outbox/index.d.ts.map +0 -1
  967. package/lib/workroom/projection-outbox/index.js +0 -8
  968. package/lib/workroom/projection-outbox/index.js.map +0 -1
  969. package/lib/workroom/projection-outbox/memory-repository.d.ts +0 -11
  970. package/lib/workroom/projection-outbox/memory-repository.d.ts.map +0 -1
  971. package/lib/workroom/projection-outbox/memory-repository.js +0 -40
  972. package/lib/workroom/projection-outbox/memory-repository.js.map +0 -1
  973. package/lib/workroom/projection-outbox/projector.d.ts +0 -36
  974. package/lib/workroom/projection-outbox/projector.d.ts.map +0 -1
  975. package/lib/workroom/projection-outbox/projector.js +0 -517
  976. package/lib/workroom/projection-outbox/projector.js.map +0 -1
  977. package/lib/workroom/projection-outbox/repository-state.d.ts +0 -17
  978. package/lib/workroom/projection-outbox/repository-state.d.ts.map +0 -1
  979. package/lib/workroom/projection-outbox/repository-state.js +0 -343
  980. package/lib/workroom/projection-outbox/repository-state.js.map +0 -1
  981. package/lib/workroom/projection-outbox/tracer.d.ts +0 -19
  982. package/lib/workroom/projection-outbox/tracer.d.ts.map +0 -1
  983. package/lib/workroom/projection-outbox/tracer.js +0 -201
  984. package/lib/workroom/projection-outbox/tracer.js.map +0 -1
  985. package/lib/workroom/remote-assignment-dispatch-command.d.ts +0 -31
  986. package/lib/workroom/remote-assignment-dispatch-command.d.ts.map +0 -1
  987. package/lib/workroom/remote-assignment-dispatch-command.js +0 -56
  988. package/lib/workroom/remote-assignment-dispatch-command.js.map +0 -1
  989. package/lib/workroom/remote-assignment-issuance.d.ts +0 -88
  990. package/lib/workroom/remote-assignment-issuance.d.ts.map +0 -1
  991. package/lib/workroom/remote-assignment-issuance.js +0 -201
  992. package/lib/workroom/remote-assignment-issuance.js.map +0 -1
  993. package/lib/workroom/remote-callback-application.d.ts +0 -115
  994. package/lib/workroom/remote-callback-application.d.ts.map +0 -1
  995. package/lib/workroom/remote-callback-application.js +0 -570
  996. package/lib/workroom/remote-callback-application.js.map +0 -1
  997. package/lib/workroom/remote-callback-gateway.d.ts +0 -60
  998. package/lib/workroom/remote-callback-gateway.d.ts.map +0 -1
  999. package/lib/workroom/remote-callback-gateway.js +0 -173
  1000. package/lib/workroom/remote-callback-gateway.js.map +0 -1
  1001. package/lib/workroom/remote-callback-inbox.d.ts +0 -278
  1002. package/lib/workroom/remote-callback-inbox.d.ts.map +0 -1
  1003. package/lib/workroom/remote-callback-inbox.js +0 -1088
  1004. package/lib/workroom/remote-callback-inbox.js.map +0 -1
  1005. package/lib/workroom/remote-callback-reconciliation-worker.d.ts +0 -60
  1006. package/lib/workroom/remote-callback-reconciliation-worker.d.ts.map +0 -1
  1007. package/lib/workroom/remote-callback-reconciliation-worker.js +0 -197
  1008. package/lib/workroom/remote-callback-reconciliation-worker.js.map +0 -1
  1009. package/lib/workroom/remote-dispatch-admission.d.ts +0 -45
  1010. package/lib/workroom/remote-dispatch-admission.d.ts.map +0 -1
  1011. package/lib/workroom/remote-dispatch-admission.js +0 -187
  1012. package/lib/workroom/remote-dispatch-admission.js.map +0 -1
  1013. package/lib/workroom/remote-dispatch-outbox.d.ts +0 -204
  1014. package/lib/workroom/remote-dispatch-outbox.d.ts.map +0 -1
  1015. package/lib/workroom/remote-dispatch-outbox.js +0 -768
  1016. package/lib/workroom/remote-dispatch-outbox.js.map +0 -1
  1017. package/lib/workroom/remote-dispatch-scheduler.d.ts +0 -36
  1018. package/lib/workroom/remote-dispatch-scheduler.d.ts.map +0 -1
  1019. package/lib/workroom/remote-dispatch-scheduler.js +0 -133
  1020. package/lib/workroom/remote-dispatch-scheduler.js.map +0 -1
  1021. package/lib/workroom/remote-dispatch-worker.d.ts +0 -22
  1022. package/lib/workroom/remote-dispatch-worker.d.ts.map +0 -1
  1023. package/lib/workroom/remote-dispatch-worker.js +0 -124
  1024. package/lib/workroom/remote-dispatch-worker.js.map +0 -1
  1025. package/lib/workroom/remote-dispatch.d.ts +0 -79
  1026. package/lib/workroom/remote-dispatch.d.ts.map +0 -1
  1027. package/lib/workroom/remote-dispatch.js +0 -220
  1028. package/lib/workroom/remote-dispatch.js.map +0 -1
  1029. package/lib/workroom/remote-executor.d.ts +0 -15
  1030. package/lib/workroom/remote-executor.d.ts.map +0 -1
  1031. package/lib/workroom/remote-executor.js +0 -21
  1032. package/lib/workroom/remote-executor.js.map +0 -1
  1033. package/lib/workroom/role-capability-snapshot.d.ts +0 -88
  1034. package/lib/workroom/role-capability-snapshot.d.ts.map +0 -1
  1035. package/lib/workroom/role-capability-snapshot.js +0 -456
  1036. package/lib/workroom/role-capability-snapshot.js.map +0 -1
  1037. package/lib/workroom/runtime.d.ts +0 -142
  1038. package/lib/workroom/runtime.d.ts.map +0 -1
  1039. package/lib/workroom/runtime.js +0 -543
  1040. package/lib/workroom/runtime.js.map +0 -1
  1041. package/lib/workroom/scheduler-priority-control.d.ts +0 -35
  1042. package/lib/workroom/scheduler-priority-control.d.ts.map +0 -1
  1043. package/lib/workroom/scheduler-priority-control.js +0 -9
  1044. package/lib/workroom/scheduler-priority-control.js.map +0 -1
  1045. package/lib/workroom/software-delivery-plan.d.ts +0 -32
  1046. package/lib/workroom/software-delivery-plan.d.ts.map +0 -1
  1047. package/lib/workroom/software-delivery-plan.js +0 -60
  1048. package/lib/workroom/software-delivery-plan.js.map +0 -1
  1049. package/lib/workroom/validate-catalog.d.ts +0 -2
  1050. package/lib/workroom/validate-catalog.d.ts.map +0 -1
  1051. package/lib/workroom/validate-catalog.js +0 -230
  1052. package/lib/workroom/validate-catalog.js.map +0 -1
  1053. package/lib/workroom/workflow-plan-builder.d.ts +0 -88
  1054. package/lib/workroom/workflow-plan-builder.d.ts.map +0 -1
  1055. package/lib/workroom/workflow-plan-builder.js +0 -232
  1056. package/lib/workroom/workflow-plan-builder.js.map +0 -1
  1057. package/lib/workroom/workroom-assignment-knowledge-context.d.ts +0 -102
  1058. package/lib/workroom/workroom-assignment-knowledge-context.d.ts.map +0 -1
  1059. package/lib/workroom/workroom-assignment-knowledge-context.js +0 -127
  1060. package/lib/workroom/workroom-assignment-knowledge-context.js.map +0 -1
  1061. package/lib/workroom/workroom-kernel.d.ts +0 -157
  1062. package/lib/workroom/workroom-kernel.d.ts.map +0 -1
  1063. package/lib/workroom/workroom-kernel.js +0 -1526
  1064. package/lib/workroom/workroom-kernel.js.map +0 -1
  1065. package/lib/workroom/workroom-preemption.d.ts +0 -65
  1066. package/lib/workroom/workroom-preemption.d.ts.map +0 -1
  1067. package/lib/workroom/workroom-preemption.js +0 -213
  1068. package/lib/workroom/workroom-preemption.js.map +0 -1
  1069. package/lib/workroom/workroom-run-control.d.ts +0 -69
  1070. package/lib/workroom/workroom-run-control.d.ts.map +0 -1
  1071. package/lib/workroom/workroom-run-control.js +0 -144
  1072. package/lib/workroom/workroom-run-control.js.map +0 -1
  1073. package/lib/workroom/workroom-scheduler-application.d.ts +0 -43
  1074. package/lib/workroom/workroom-scheduler-application.d.ts.map +0 -1
  1075. package/lib/workroom/workroom-scheduler-application.js +0 -71
  1076. package/lib/workroom/workroom-scheduler-application.js.map +0 -1
  1077. package/lib/workroom/workroom-scheduler.d.ts +0 -135
  1078. package/lib/workroom/workroom-scheduler.d.ts.map +0 -1
  1079. package/lib/workroom/workroom-scheduler.js +0 -660
  1080. package/lib/workroom/workroom-scheduler.js.map +0 -1
  1081. package/lib/workroom/workroom-task-report-store.d.ts +0 -131
  1082. package/lib/workroom/workroom-task-report-store.d.ts.map +0 -1
  1083. package/lib/workroom/workroom-task-report-store.js +0 -528
  1084. package/lib/workroom/workroom-task-report-store.js.map +0 -1
@@ -1,1080 +0,0 @@
1
- import { PortfolioSequenceConflictError, parsePortfolioCapacityRequest, parsePortfolioPolicySnapshot, parsePortfolioProjectPolicy, parsePortfolioResourceBundle, } from './portfolio-journal.js';
2
- import { compareCanonicalWorkroomText, canonicalWorkroomJson, deepFreezeWorkroomValue as deepFreeze, digestCanonicalWorkroomValue as digest, } from '../workroom/canonical-value.js';
3
- const CAPACITY_HOLDING = new Set([
4
- 'offered', 'consumed', 'reclaim_requested',
5
- ]);
6
- const BUDGET_HOLDING = new Set([
7
- 'offered', 'consumed', 'reclaim_requested', 'usage_pending', 'usage_unknown',
8
- ]);
9
- const LANE_ORDER = {
10
- urgent: 0, high: 1, normal: 2, low: 3,
11
- };
12
- /** Journal-backed Portfolio resource authority. It never writes Workroom facts. */
13
- export class PortfolioAdmissionApplication {
14
- options;
15
- #maxCasAttempts;
16
- constructor(options) {
17
- this.options = options;
18
- this.#maxCasAttempts = options.maxCasAttempts ?? 3;
19
- }
20
- async read() {
21
- return replayPortfolioAdmission(this.options.portfolioId, await this.options.repository.read(this.options.portfolioId));
22
- }
23
- async pinPolicy(policy, governance) {
24
- const canonical = parsePortfolioPolicySnapshot(policy);
25
- assertGovernance(governance, canonical.digest, 0);
26
- await this.#commit(state => {
27
- if (state.policy) {
28
- if (state.policy.digest === canonical.digest)
29
- return [];
30
- throw new Error('Portfolio Policy is already pinned');
31
- }
32
- return [this.#draft('portfolio.policy_pinned', canonical.digest, state.now, {
33
- policy: canonical,
34
- governance,
35
- })];
36
- });
37
- }
38
- async updateProjectPolicy(policy, governance) {
39
- await this.updateProjectPolicies([policy], { [policy.projectId]: governance });
40
- }
41
- async updateProjectPolicies(policies, governance) {
42
- const canonical = policies.map(parsePortfolioProjectPolicy)
43
- .sort((left, right) => compareCanonicalWorkroomText(left.projectId, right.projectId));
44
- if (canonical.length === 0 || new Set(canonical.map(policy => policy.projectId)).size !== canonical.length) {
45
- throw new Error('Portfolio Project Policy atomic batch is empty or duplicated');
46
- }
47
- await this.#commit(state => {
48
- const portfolio = requirePolicy(state);
49
- let previousBudget = 0;
50
- let candidateBudget = 0;
51
- for (const candidate of canonical) {
52
- const previous = portfolio.projects[candidate.projectId];
53
- if (!previous || candidate.revision !== previous.revision + 1) {
54
- throw new Error('Portfolio Project Policy revision is stale');
55
- }
56
- previousBudget += previous.hardBudgetMicros;
57
- candidateBudget += candidate.hardBudgetMicros;
58
- assertGovernance(governance[candidate.projectId], digest(candidate), previous.revision);
59
- }
60
- if (previousBudget !== candidateBudget) {
61
- throw new Error('Portfolio Project Policy budget transfer must conserve its exact batch total');
62
- }
63
- return canonical.map(candidate => this.#draft('project.policy_updated', `${candidate.projectId}:${candidate.revision}`, state.now, { policy: candidate, governance: governance[candidate.projectId] }));
64
- });
65
- }
66
- async setPriorityOverride(override, governance) {
67
- await this.#commit(state => {
68
- const policy = requirePolicy(state);
69
- const request = requireRequest(state, override.requestId).request;
70
- const project = policy.projects[override.projectId];
71
- if (!project || request.projectId !== override.projectId
72
- || request.payloadDigest !== override.requestPayloadDigest
73
- || override.policyRevision !== project.revision
74
- || override.expiresAt <= state.now) {
75
- throw new Error('Portfolio Priority Override exact request/policy scope is stale');
76
- }
77
- assertGovernance(governance, digest(override), project.revision);
78
- const existing = state.overrides[override.overrideId];
79
- if (existing) {
80
- if (canonicalWorkroomJson(existing) !== canonicalWorkroomJson(override)) {
81
- throw new Error('Portfolio Priority Override identity conflict');
82
- }
83
- return [];
84
- }
85
- return [this.#draft('priority.override_set', override.overrideId, state.now, {
86
- override,
87
- governance,
88
- })];
89
- });
90
- }
91
- async submit(request, bundleAuthority) {
92
- const canonical = parsePortfolioCapacityRequest(request);
93
- await this.#commit(state => {
94
- const policy = requirePolicy(state);
95
- const project = policy.projects[canonical.projectId];
96
- if (!project || project.revision !== canonical.projectPolicyRevision) {
97
- throw new Error('Capacity Request Project Policy revision is stale');
98
- }
99
- assertBundleAuthority(canonical, bundleAuthority, policy);
100
- const existing = state.requests[canonical.requestId];
101
- if (existing) {
102
- if (canonicalWorkroomJson(existing.request) !== canonicalWorkroomJson(canonical)
103
- || canonicalWorkroomJson(existing.bundleAuthority) !== canonicalWorkroomJson(bundleAuthority)) {
104
- throw new Error('Capacity Request identity conflict');
105
- }
106
- return [];
107
- }
108
- const outstanding = Object.values(state.requests).filter(item => item.request.projectId === canonical.projectId
109
- && portfolioRequestStatus(state, item.request.requestId) !== 'settled').length;
110
- if (outstanding >= project.maxOutstandingRequests) {
111
- throw new Error('Capacity Request exceeds Project outstanding cap');
112
- }
113
- return [this.#draft('capacity.requested', canonical.requestId, state.now, {
114
- request: canonical,
115
- bundleAuthority,
116
- })];
117
- });
118
- }
119
- async decideAdmission() {
120
- let offered = null;
121
- await this.#commit(state => {
122
- offered = null;
123
- const decision = decideAdmission(state);
124
- if (!decision)
125
- return [];
126
- if ('reclaimId' in decision) {
127
- return [this.#draft('capacity.reclaim_requested', decision.reclaimId, state.now, {
128
- reclaim: decision,
129
- })];
130
- }
131
- offered = decision;
132
- return [this.#draft('capacity.grant_offered', decision.grantId, state.now, {
133
- grant: decision,
134
- })];
135
- });
136
- return offered;
137
- }
138
- async consume(input, authority) {
139
- await this.#commit(state => {
140
- const policy = requirePolicy(state);
141
- const grant = requireGrant(state, input.grantId);
142
- if (grant.status === 'consumed' && grant.projectId === input.projectId
143
- && grant.fence === input.fence && grant.assignmentRef === input.assignmentRef) {
144
- assertKernelAuthority(this.options.portfolioId, grant, authority, {
145
- action: 'consume', assignmentRef: input.assignmentRef,
146
- });
147
- return [];
148
- }
149
- if (grant.projectId !== input.projectId || grant.fence !== input.fence
150
- || grant.status !== 'offered' || grant.offerExpiresAt <= state.now) {
151
- throw new Error('Capacity Grant consume scope/fence/offer is stale');
152
- }
153
- assertKernelAuthority(this.options.portfolioId, grant, authority, {
154
- action: 'consume', assignmentRef: input.assignmentRef,
155
- });
156
- return [this.#draft('capacity.grant_consumed', `${grant.grantId}:${grant.fence}`, state.now, {
157
- grantId: grant.grantId,
158
- projectId: grant.projectId,
159
- fence: grant.fence,
160
- assignmentRef: input.assignmentRef,
161
- consumedAt: state.now,
162
- leaseExpiresAt: state.now + policy.leaseTtlTicks,
163
- maxLeaseExpiresAt: state.now + policy.maxLeaseQuantumTicks,
164
- authority,
165
- })];
166
- });
167
- }
168
- async failAssignment(input, authority) {
169
- await this.#commit(state => {
170
- const grant = requireGrant(state, input.grantId);
171
- const action = {
172
- action: 'assignment_failed',
173
- assignmentRef: input.assignmentRef,
174
- failureReason: input.reason,
175
- kernelSequence: input.kernelSequence,
176
- kernelFactDigest: input.kernelFactDigest,
177
- };
178
- if (grant.status === 'assignment_failed' && grant.projectId === input.projectId
179
- && grant.fence === input.fence && grant.assignmentRef === input.assignmentRef) {
180
- assertKernelAuthority(this.options.portfolioId, grant, authority, action);
181
- return [];
182
- }
183
- if (grant.status !== 'consumed' || grant.projectId !== input.projectId
184
- || grant.fence !== input.fence || grant.assignmentRef !== input.assignmentRef) {
185
- throw new Error('Capacity Grant Assignment failure scope/fence/status is stale');
186
- }
187
- assertKernelAuthority(this.options.portfolioId, grant, authority, action);
188
- return [this.#draft('capacity.grant_assignment_failed', `${grant.grantId}:${grant.fence}:${input.assignmentRef}`, state.now, {
189
- ...input, failedAt: state.now, authority,
190
- })];
191
- });
192
- }
193
- async renewLease(input, authority) {
194
- await this.#commit(state => {
195
- const policy = requirePolicy(state);
196
- const grant = requireGrant(state, input.grantId);
197
- const action = renewalAuthorityAction(state, policy, input.assignmentRef, input.heartbeatSequence);
198
- if (grant.status === 'consumed' && grant.projectId === input.projectId
199
- && grant.fence === input.fence && grant.assignmentRef === input.assignmentRef
200
- && grant.lastHeartbeatSequence === input.heartbeatSequence) {
201
- assertKernelAuthority(this.options.portfolioId, grant, authority, action);
202
- return [];
203
- }
204
- if (grant.status !== 'consumed' || grant.projectId !== input.projectId
205
- || grant.fence !== input.fence || grant.assignmentRef !== input.assignmentRef
206
- || grant.leaseExpiresAt === undefined || grant.leaseExpiresAt <= state.now
207
- || grant.maxLeaseExpiresAt === undefined) {
208
- throw new Error('Capacity Grant Lease renewal scope/fence/status is stale');
209
- }
210
- if (state.clockSequence < 0 || !state.clockDigest) {
211
- throw new Error('Capacity Grant Lease renewal requires a current Portfolio clock fact');
212
- }
213
- const previousHeartbeatSequence = grant.lastHeartbeatSequence ?? 0;
214
- const previousHeartbeatAt = grant.lastHeartbeatAt ?? grant.consumedAt;
215
- const renewalCount = grant.renewalCount ?? 0;
216
- if (input.heartbeatSequence !== previousHeartbeatSequence + 1
217
- || state.now < previousHeartbeatAt + policy.leaseHeartbeatTicks) {
218
- throw new Error('Capacity Grant Lease heartbeat sequence/time is stale');
219
- }
220
- if (renewalCount >= policy.maxLeaseRenewals) {
221
- throw new Error('Capacity Grant Lease renewal limit is exhausted');
222
- }
223
- const pendingReclaim = Object.values(state.reclaims).some(reclaim => reclaim.status === 'pending');
224
- const starvedReservation = Object.values(state.requests).some(item => portfolioRequestStatus(state, item.request.requestId) === 'pending'
225
- && state.now >= item.request.starvationAt);
226
- if (pendingReclaim || starvedReservation) {
227
- throw new Error('Capacity Grant Lease renewal is reserved for reclaim/starvation');
228
- }
229
- const leaseExpiresAt = Math.min(state.now + policy.leaseTtlTicks, grant.maxLeaseExpiresAt);
230
- if (leaseExpiresAt <= grant.leaseExpiresAt) {
231
- throw new Error('Capacity Grant Lease max quantum is exhausted');
232
- }
233
- assertKernelAuthority(this.options.portfolioId, grant, authority, action);
234
- return [this.#draft('capacity.grant_lease_renewed', `${grant.grantId}:${grant.fence}:${input.heartbeatSequence}`, state.now, {
235
- grantId: grant.grantId,
236
- projectId: grant.projectId,
237
- fence: grant.fence,
238
- assignmentRef: input.assignmentRef,
239
- heartbeatSequence: input.heartbeatSequence,
240
- renewedAt: state.now,
241
- previousLeaseExpiresAt: grant.leaseExpiresAt,
242
- leaseExpiresAt,
243
- maxLeaseExpiresAt: grant.maxLeaseExpiresAt,
244
- policyDigest: policy.digest,
245
- clockSequence: state.clockSequence,
246
- clockDigest: state.clockDigest,
247
- usageSettlementCursor: state.usageSettlementCursor,
248
- authority,
249
- })];
250
- });
251
- }
252
- async acknowledgeReclaim(input, authority) {
253
- await this.#commit(state => {
254
- const reclaim = requireReclaim(state, input.reclaimId);
255
- const grant = requireGrant(state, reclaim.grantId);
256
- if (reclaim.status === input.outcome && reclaim.projectId === input.projectId
257
- && grant.fence === input.fence) {
258
- if (reclaim.checkpointRef !== input.checkpointRef
259
- || reclaim.checkpointDigest !== input.checkpointDigest) {
260
- throw new Error('Capacity Reclaim checkpoint idempotency drift');
261
- }
262
- assertKernelAuthority(this.options.portfolioId, grant, authority, {
263
- action: 'reclaim_acknowledge', assignmentRef: grant.assignmentRef,
264
- reclaimId: reclaim.reclaimId, outcome: input.outcome,
265
- ...(input.checkpointRef === undefined ? {} : { checkpointRef: input.checkpointRef }),
266
- ...(input.checkpointDigest === undefined ? {} : { checkpointDigest: input.checkpointDigest }),
267
- });
268
- return [];
269
- }
270
- if (reclaim.status !== 'pending' || reclaim.projectId !== input.projectId
271
- || grant.fence !== input.fence || grant.status !== 'reclaim_requested') {
272
- throw new Error('Capacity Reclaim acknowledgement scope/fence is stale');
273
- }
274
- if (input.outcome === 'checkpointed' && (!input.checkpointRef || !input.checkpointDigest)) {
275
- throw new Error('Checkpointed Capacity Reclaim requires checkpoint ref/digest');
276
- }
277
- if (input.outcome === 'declined' && (input.checkpointRef || input.checkpointDigest)) {
278
- throw new Error('Declined Capacity Reclaim cannot claim a checkpoint');
279
- }
280
- assertKernelAuthority(this.options.portfolioId, grant, authority, {
281
- action: 'reclaim_acknowledge', assignmentRef: grant.assignmentRef,
282
- reclaimId: reclaim.reclaimId, outcome: input.outcome,
283
- ...(input.checkpointRef === undefined ? {} : { checkpointRef: input.checkpointRef }),
284
- ...(input.checkpointDigest === undefined ? {} : { checkpointDigest: input.checkpointDigest }),
285
- });
286
- return [this.#draft('capacity.reclaim_acknowledged', reclaim.reclaimId, state.now, {
287
- reclaimId: reclaim.reclaimId,
288
- grantId: grant.grantId,
289
- projectId: grant.projectId,
290
- fence: grant.fence,
291
- outcome: input.outcome,
292
- ...(input.checkpointRef === undefined ? {} : { checkpointRef: input.checkpointRef }),
293
- ...(input.checkpointDigest === undefined ? {} : { checkpointDigest: input.checkpointDigest }),
294
- authority,
295
- })];
296
- });
297
- }
298
- async settleUsage(authority) {
299
- await this.#commit(state => {
300
- const grant = requireGrant(state, authority.grantId);
301
- assertUsageAuthority(this.options.portfolioId, grant, authority);
302
- if (grant.fence !== authority.fence
303
- || !['consumed', 'reclaim_requested', 'usage_pending', 'usage_unknown'].includes(grant.status)) {
304
- if (grant.status === 'settled'
305
- && grant.actualCostMicros === authority.actualCostMicros
306
- && grant.settlementRef === authority.settlementRef
307
- && grant.receiptId === authority.receiptId
308
- && grant.receiptDigest === authority.receiptDigest
309
- && grant.authenticatedBy === authority.authenticatedBy)
310
- return [];
311
- throw new Error('Capacity Usage Receipt scope/fence/status is stale');
312
- }
313
- if (!Number.isSafeInteger(authority.actualCostMicros) || authority.actualCostMicros < 0) {
314
- throw new Error('Capacity Usage actual cost is invalid');
315
- }
316
- return [this.#draft('capacity.usage_settled', authority.receiptId, state.now, {
317
- receiptId: authority.receiptId,
318
- grantId: authority.grantId,
319
- fence: authority.fence,
320
- actualCostMicros: authority.actualCostMicros,
321
- settlementRef: authority.settlementRef,
322
- authenticatedBy: authority.authenticatedBy,
323
- authority,
324
- })];
325
- });
326
- }
327
- async advanceClock(authority) {
328
- await this.#commit(state => {
329
- assertClockAuthority(this.options.portfolioId, authority);
330
- const { now } = authority;
331
- if (!Number.isSafeInteger(now) || now <= state.now)
332
- throw new Error('Portfolio clock must advance');
333
- const drafts = [this.#draft('clock.advanced', String(now), now, { now, authority })];
334
- for (const grant of Object.values(state.grants)) {
335
- if (grant.status === 'offered' && grant.offerExpiresAt <= now) {
336
- drafts.push(this.#draft('capacity.grant_expired', `${grant.grantId}:${grant.fence}`, now, {
337
- grantId: grant.grantId, fence: grant.fence,
338
- }));
339
- }
340
- else if ((grant.status === 'consumed' || grant.status === 'reclaim_requested')
341
- && grant.leaseExpiresAt !== undefined && grant.leaseExpiresAt <= now) {
342
- drafts.push(this.#draft('capacity.grant_lease_lost', `${grant.grantId}:${grant.fence}`, now, {
343
- grantId: grant.grantId, fence: grant.fence, usage: 'unknown',
344
- }));
345
- }
346
- }
347
- for (const reclaim of Object.values(state.reclaims)) {
348
- if (reclaim.status === 'pending' && reclaim.deadline <= now) {
349
- const grant = requireGrant(state, reclaim.grantId);
350
- drafts.push(this.#draft('capacity.reclaim_timed_out', reclaim.reclaimId, now, {
351
- reclaimId: reclaim.reclaimId, grantId: grant.grantId, fence: grant.fence,
352
- }));
353
- }
354
- }
355
- return drafts;
356
- });
357
- }
358
- async normalizeService(divisor) {
359
- await this.#commit(state => {
360
- if (!Number.isSafeInteger(divisor) || divisor < 2) {
361
- throw new Error('Portfolio service normalization divisor must be at least two');
362
- }
363
- const projectService = {};
364
- for (const projectId of Object.keys(requirePolicy(state).projects).sort()) {
365
- projectService[projectId] = Math.floor(dominantService(state, projectId) / divisor);
366
- }
367
- const normalizationId = `normalization:${state.sequence + 1}`;
368
- return [this.#draft('service.normalized', normalizationId, state.now, {
369
- normalization: { normalizationId, divisor, projectService },
370
- })];
371
- });
372
- }
373
- async #commit(decide) {
374
- for (let attempt = 1; attempt <= this.#maxCasAttempts; attempt += 1) {
375
- const state = await this.read();
376
- const drafts = decide(state);
377
- if (drafts.length === 0)
378
- return;
379
- try {
380
- await this.options.repository.append(this.options.portfolioId, state.sequence, drafts);
381
- return;
382
- }
383
- catch (error) {
384
- if (!(error instanceof PortfolioSequenceConflictError) || attempt === this.#maxCasAttempts)
385
- throw error;
386
- }
387
- }
388
- throw new Error('Portfolio admission CAS retry loop exhausted');
389
- }
390
- #draft(type, identity, occurredAt, payload) {
391
- return {
392
- eventId: this.options.ids.eventId(type, identity),
393
- occurredAt,
394
- type,
395
- payload,
396
- };
397
- }
398
- }
399
- export function replayPortfolioAdmission(portfolioId, facts) {
400
- let state = deepFreeze({
401
- portfolioId, sequence: -1, now: 0,
402
- clockSequence: -1, usageSettlementCursor: -1,
403
- requests: {}, grants: {}, reclaims: {}, overrides: {},
404
- normalizedService: {}, normalizedAtSequence: -1,
405
- });
406
- for (const [index, fact] of facts.entries()) {
407
- if (fact.portfolioId !== portfolioId || fact.sequence !== index) {
408
- throw new Error('Portfolio Journal replay sequence/scope drift');
409
- }
410
- state = evolve(state, fact);
411
- }
412
- return deepFreeze(state);
413
- }
414
- export function portfolioRequestStatus(state, requestId) {
415
- requireRequest(state, requestId);
416
- const highestFenceGrant = Object.values(state.grants)
417
- .filter(grant => grant.requestId === requestId)
418
- .sort((left, right) => right.fence - left.fence)[0];
419
- if (!highestFenceGrant || highestFenceGrant.status === 'expired'
420
- || highestFenceGrant.status === 'assignment_failed')
421
- return 'pending';
422
- if (highestFenceGrant.status === 'settled')
423
- return 'settled';
424
- if (highestFenceGrant.status === 'usage_pending' || highestFenceGrant.status === 'usage_unknown') {
425
- return 'usage_blocked';
426
- }
427
- return 'granted';
428
- }
429
- export function portfolioProjectBudget(state, projectId) {
430
- const project = requirePolicy(state).projects[projectId];
431
- if (!project)
432
- throw new Error(`Unknown Portfolio Project ${projectId}`);
433
- const grants = Object.values(state.grants).filter(grant => grant.projectId === projectId);
434
- const spentMicros = grants.filter(grant => grant.status === 'settled')
435
- .reduce((sum, grant) => sum + (grant.actualCostMicros ?? 0), 0);
436
- const reservedMicros = grants.filter(grant => BUDGET_HOLDING.has(grant.status))
437
- .reduce((sum, grant) => sum + grant.reservedCostMicros, 0);
438
- return deepFreeze({
439
- limitMicros: project.hardBudgetMicros,
440
- spentMicros,
441
- reservedMicros,
442
- availableMicros: project.hardBudgetMicros - spentMicros - reservedMicros,
443
- });
444
- }
445
- export function portfolioRequestBlockers(state, requestId) {
446
- return Object.freeze(blockers(state, requireRequest(state, requestId)));
447
- }
448
- function evolve(state, fact) {
449
- let next = { ...state, sequence: fact.sequence };
450
- switch (fact.type) {
451
- case 'portfolio.policy_pinned':
452
- if (state.policy)
453
- throw new Error('Portfolio Policy fact is duplicated');
454
- assertGovernance(fact.payload.governance, fact.payload.policy.digest, 0);
455
- return { ...next, policy: fact.payload.policy };
456
- case 'project.policy_updated': {
457
- const current = requirePolicy(state);
458
- const previous = current.projects[fact.payload.policy.projectId];
459
- if (!previous || fact.payload.policy.revision !== previous.revision + 1) {
460
- throw new Error('Persisted Portfolio Project Policy revision drift');
461
- }
462
- assertGovernance(fact.payload.governance, digest(fact.payload.policy), previous.revision);
463
- return {
464
- ...next,
465
- policy: {
466
- ...current,
467
- projects: { ...current.projects, [fact.payload.policy.projectId]: fact.payload.policy },
468
- },
469
- };
470
- }
471
- case 'priority.override_set': {
472
- const request = requireRequest(state, fact.payload.override.requestId).request;
473
- const project = requirePolicy(state).projects[fact.payload.override.projectId];
474
- if (!project || request.payloadDigest !== fact.payload.override.requestPayloadDigest
475
- || fact.payload.override.policyRevision !== project.revision) {
476
- throw new Error('Persisted Portfolio Priority Override scope drift');
477
- }
478
- assertGovernance(fact.payload.governance, digest(fact.payload.override), project.revision);
479
- return { ...next, overrides: { ...state.overrides, [fact.payload.override.overrideId]: fact.payload.override } };
480
- }
481
- case 'capacity.requested': {
482
- if (!fact.payload.bundleAuthority)
483
- throw new Error('Production Capacity Request lacks validated Bundle authority');
484
- assertBundleAuthority(fact.payload.request, fact.payload.bundleAuthority, requirePolicy(state));
485
- return {
486
- ...next,
487
- requests: {
488
- ...state.requests,
489
- [fact.payload.request.requestId]: {
490
- request: fact.payload.request,
491
- bundleAuthority: fact.payload.bundleAuthority,
492
- requestedAt: fact.occurredAt,
493
- requestedSequence: fact.sequence,
494
- },
495
- },
496
- };
497
- }
498
- case 'capacity.grant_offered': {
499
- const item = requireRequest(state, fact.payload.grant.requestId);
500
- assertGrantMatchesRequest(fact.payload.grant, item, state);
501
- if (fact.payload.grant.issuedSequence !== fact.sequence) {
502
- throw new Error('Capacity Grant offered sequence drift');
503
- }
504
- return { ...next, grants: { ...state.grants, [fact.payload.grant.grantId]: fact.payload.grant } };
505
- }
506
- case 'capacity.grant_consumed': {
507
- const grant = requireGrant(state, fact.payload.grantId);
508
- const policy = requirePolicy(state);
509
- if (grant.status !== 'offered' || grant.projectId !== fact.payload.projectId
510
- || grant.fence !== fact.payload.fence || grant.offerExpiresAt <= fact.payload.consumedAt
511
- || fact.payload.leaseExpiresAt !== fact.payload.consumedAt + policy.leaseTtlTicks
512
- || fact.payload.maxLeaseExpiresAt !== fact.payload.consumedAt + policy.maxLeaseQuantumTicks) {
513
- throw new Error('Persisted Capacity Grant consume drift');
514
- }
515
- assertKernelAuthority(state.portfolioId, grant, fact.payload.authority, {
516
- action: 'consume', assignmentRef: fact.payload.assignmentRef,
517
- });
518
- return updateGrant(next, grant.grantId, {
519
- status: 'consumed', assignmentRef: fact.payload.assignmentRef,
520
- consumedAt: fact.payload.consumedAt, leaseExpiresAt: fact.payload.leaseExpiresAt,
521
- maxLeaseExpiresAt: fact.payload.maxLeaseExpiresAt,
522
- renewalCount: 0, lastHeartbeatSequence: 0, lastHeartbeatAt: fact.payload.consumedAt,
523
- });
524
- }
525
- case 'capacity.grant_assignment_failed': {
526
- const grant = requireFence(state, fact.payload.grantId, fact.payload.fence);
527
- const action = {
528
- action: 'assignment_failed',
529
- assignmentRef: fact.payload.assignmentRef,
530
- failureReason: fact.payload.reason,
531
- kernelSequence: fact.payload.kernelSequence,
532
- kernelFactDigest: fact.payload.kernelFactDigest,
533
- };
534
- if (grant.status !== 'consumed' || grant.projectId !== fact.payload.projectId
535
- || grant.assignmentRef !== fact.payload.assignmentRef) {
536
- throw new Error('Persisted Capacity Grant Assignment failure drift');
537
- }
538
- assertKernelAuthority(state.portfolioId, grant, fact.payload.authority, action);
539
- return updateGrant(next, grant.grantId, { status: 'assignment_failed' });
540
- }
541
- case 'capacity.grant_lease_renewed': {
542
- const grant = requireFence(state, fact.payload.grantId, fact.payload.fence);
543
- const policy = requirePolicy(state);
544
- const action = renewalAuthorityAction(state, policy, fact.payload.assignmentRef, fact.payload.heartbeatSequence);
545
- const pendingReclaim = Object.values(state.reclaims).some(reclaim => reclaim.status === 'pending');
546
- const starvedReservation = Object.values(state.requests).some(item => portfolioRequestStatus(state, item.request.requestId) === 'pending'
547
- && state.now >= item.request.starvationAt);
548
- if (grant.status !== 'consumed' || grant.projectId !== fact.payload.projectId
549
- || grant.assignmentRef !== fact.payload.assignmentRef
550
- || grant.leaseExpiresAt !== fact.payload.previousLeaseExpiresAt
551
- || grant.maxLeaseExpiresAt !== fact.payload.maxLeaseExpiresAt
552
- || fact.payload.heartbeatSequence !== (grant.lastHeartbeatSequence ?? 0) + 1
553
- || fact.payload.renewedAt !== state.now
554
- || fact.payload.renewedAt < (grant.lastHeartbeatAt ?? grant.consumedAt) + policy.leaseHeartbeatTicks
555
- || fact.payload.policyDigest !== policy.digest
556
- || fact.payload.clockSequence !== state.clockSequence
557
- || fact.payload.clockDigest !== state.clockDigest
558
- || fact.payload.usageSettlementCursor !== state.usageSettlementCursor
559
- || fact.payload.leaseExpiresAt !== Math.min(state.now + policy.leaseTtlTicks, fact.payload.maxLeaseExpiresAt)
560
- || (grant.renewalCount ?? 0) >= policy.maxLeaseRenewals
561
- || pendingReclaim || starvedReservation) {
562
- throw new Error('Persisted Capacity Grant Lease renewal drift');
563
- }
564
- assertKernelAuthority(state.portfolioId, grant, fact.payload.authority, action);
565
- return updateGrant(next, grant.grantId, {
566
- leaseExpiresAt: fact.payload.leaseExpiresAt,
567
- renewalCount: (grant.renewalCount ?? 0) + 1,
568
- lastHeartbeatSequence: fact.payload.heartbeatSequence,
569
- lastHeartbeatAt: fact.payload.renewedAt,
570
- });
571
- }
572
- case 'capacity.grant_expired': {
573
- const grant = requireFence(state, fact.payload.grantId, fact.payload.fence);
574
- if (grant.status !== 'offered')
575
- throw new Error('Only an offered Capacity Grant can expire');
576
- return updateGrant(next, grant.grantId, { status: 'expired' });
577
- }
578
- case 'capacity.grant_lease_lost': {
579
- const grant = requireFence(state, fact.payload.grantId, fact.payload.fence);
580
- if (grant.status !== 'consumed' && grant.status !== 'reclaim_requested') {
581
- throw new Error('Only a consumed Capacity Grant can lose its lease');
582
- }
583
- return updateGrant(next, grant.grantId, { status: 'usage_unknown' });
584
- }
585
- case 'capacity.usage_settled': {
586
- const grant = requireFence(state, fact.payload.grantId, fact.payload.fence);
587
- assertUsageAuthority(state.portfolioId, grant, fact.payload.authority);
588
- if (fact.payload.authenticatedBy !== fact.payload.authority.authenticatedBy) {
589
- throw new Error('Persisted Usage Gateway authenticator drift');
590
- }
591
- if (!['consumed', 'reclaim_requested', 'usage_pending', 'usage_unknown'].includes(grant.status)) {
592
- throw new Error('Persisted Capacity Usage settlement status drift');
593
- }
594
- return updateGrant({ ...next, usageSettlementCursor: fact.sequence }, grant.grantId, {
595
- status: 'settled', actualCostMicros: fact.payload.actualCostMicros,
596
- settlementRef: fact.payload.settlementRef,
597
- receiptId: fact.payload.receiptId,
598
- receiptDigest: fact.payload.authority.receiptDigest,
599
- authenticatedBy: fact.payload.authenticatedBy,
600
- });
601
- }
602
- case 'capacity.reclaim_requested': {
603
- const grant = requireGrant(state, fact.payload.reclaim.grantId);
604
- const request = requireRequest(state, grant.requestId).request;
605
- const candidate = fact.payload.reclaim.reservedForRequestId === undefined
606
- ? undefined
607
- : requireRequest(state, fact.payload.reclaim.reservedForRequestId);
608
- if (grant.status !== 'consumed' || request.preemptibility !== 'checkpointable'
609
- || !candidate
610
- || canonicalWorkroomJson(createReclaim(state, grant, candidate))
611
- !== canonicalWorkroomJson(fact.payload.reclaim)) {
612
- throw new Error('Persisted Capacity Reclaim attempts to preempt atomic/stale work');
613
- }
614
- next = { ...next, reclaims: { ...state.reclaims, [fact.payload.reclaim.reclaimId]: fact.payload.reclaim } };
615
- return updateGrant(next, grant.grantId, { status: 'reclaim_requested' });
616
- }
617
- case 'capacity.reclaim_acknowledged': {
618
- const reclaim = requireReclaim(state, fact.payload.reclaimId);
619
- const grant = requireFence(state, fact.payload.grantId, fact.payload.fence);
620
- if (reclaim.status !== 'pending' || reclaim.projectId !== fact.payload.projectId) {
621
- throw new Error('Persisted Capacity Reclaim acknowledgement drift');
622
- }
623
- assertKernelAuthority(state.portfolioId, grant, fact.payload.authority, {
624
- action: 'reclaim_acknowledge', assignmentRef: grant.assignmentRef,
625
- reclaimId: reclaim.reclaimId, outcome: fact.payload.outcome,
626
- ...(fact.payload.checkpointRef === undefined ? {} : { checkpointRef: fact.payload.checkpointRef }),
627
- ...(fact.payload.checkpointDigest === undefined ? {} : { checkpointDigest: fact.payload.checkpointDigest }),
628
- });
629
- next = {
630
- ...next,
631
- reclaims: {
632
- ...state.reclaims,
633
- [reclaim.reclaimId]: {
634
- ...reclaim,
635
- status: fact.payload.outcome,
636
- ...(fact.payload.checkpointRef === undefined ? {} : { checkpointRef: fact.payload.checkpointRef }),
637
- ...(fact.payload.checkpointDigest === undefined ? {} : { checkpointDigest: fact.payload.checkpointDigest }),
638
- },
639
- },
640
- };
641
- return updateGrant(next, grant.grantId, {
642
- status: fact.payload.outcome === 'checkpointed' ? 'usage_pending' : 'consumed',
643
- });
644
- }
645
- case 'capacity.reclaim_timed_out': {
646
- const reclaim = requireReclaim(state, fact.payload.reclaimId);
647
- const grant = requireFence(state, fact.payload.grantId, fact.payload.fence);
648
- next = {
649
- ...next,
650
- reclaims: { ...state.reclaims, [reclaim.reclaimId]: { ...reclaim, status: 'timed_out' } },
651
- };
652
- return grant.status === 'reclaim_requested'
653
- ? updateGrant(next, grant.grantId, { status: 'consumed' })
654
- : next;
655
- }
656
- case 'clock.advanced':
657
- assertClockAuthority(state.portfolioId, fact.payload.authority);
658
- if (fact.payload.authority.now !== fact.payload.now) {
659
- throw new Error('Persisted Portfolio clock authority time drift');
660
- }
661
- if (fact.payload.now <= state.now)
662
- throw new Error('Persisted Portfolio clock did not advance');
663
- return {
664
- ...next,
665
- now: fact.payload.now,
666
- clockSequence: fact.sequence,
667
- clockDigest: fact.payload.authority.clockDigest,
668
- };
669
- case 'service.normalized':
670
- return {
671
- ...next,
672
- normalizedService: fact.payload.normalization.projectService,
673
- normalizedAtSequence: fact.sequence,
674
- };
675
- }
676
- }
677
- function decideAdmission(state) {
678
- const heads = projectHeads(state).sort((left, right) => compareRequests(state, left, right));
679
- for (const head of heads) {
680
- if (blockers(state, head).length === 0)
681
- return createGrant(state, head);
682
- }
683
- for (const head of heads) {
684
- const blocked = blockers(state, head);
685
- if (blocked.length > 0 && blocked.every(item => item.startsWith('capacity:'))) {
686
- const victim = reclaimVictim(state, head);
687
- if (victim)
688
- return createReclaim(state, victim, head);
689
- }
690
- }
691
- return null;
692
- }
693
- function projectHeads(state) {
694
- const byProject = new Map();
695
- for (const request of Object.values(state.requests)) {
696
- if (portfolioRequestStatus(state, request.request.requestId) !== 'pending')
697
- continue;
698
- if (requirePolicy(state).projects[request.request.projectId]?.status !== 'active')
699
- continue;
700
- const entries = byProject.get(request.request.projectId) ?? [];
701
- entries.push(request);
702
- byProject.set(request.request.projectId, entries);
703
- }
704
- return [...byProject.values()].map(entries => entries.sort((left, right) => left.request.localOrder - right.request.localOrder
705
- || left.request.schedulerSequence - right.request.schedulerSequence
706
- || compareCanonicalWorkroomText(left.request.requestId, right.request.requestId))[0]);
707
- }
708
- function compareRequests(state, left, right) {
709
- const leftStarved = state.now >= left.request.starvationAt;
710
- const rightStarved = state.now >= right.request.starvationAt;
711
- if (leftStarved !== rightStarved)
712
- return leftStarved ? -1 : 1;
713
- if (leftStarved && left.request.starvationAt !== right.request.starvationAt) {
714
- return left.request.starvationAt - right.request.starvationAt;
715
- }
716
- const lane = LANE_ORDER[effectiveLane(state, left.request)] - LANE_ORDER[effectiveLane(state, right.request)];
717
- if (lane !== 0)
718
- return lane;
719
- const service = projectedDominantService(state, left) - projectedDominantService(state, right);
720
- if (service !== 0)
721
- return service;
722
- const deadline = (left.request.deadlineAt ?? Number.POSITIVE_INFINITY)
723
- - (right.request.deadlineAt ?? Number.POSITIVE_INFINITY);
724
- if (deadline !== 0)
725
- return deadline;
726
- return left.request.schedulerSequence - right.request.schedulerSequence
727
- || compareCanonicalWorkroomText(left.request.requestId, right.request.requestId);
728
- }
729
- function blockers(state, request) {
730
- const policy = requirePolicy(state);
731
- const project = policy.projects[request.request.projectId];
732
- const result = [];
733
- if (project.status !== 'active')
734
- result.push(`project:${project.status}`);
735
- const active = Object.values(state.grants).filter(grant => grant.projectId === project.projectId
736
- && CAPACITY_HOLDING.has(grant.status));
737
- if (active.length >= project.maxConcurrentGrants)
738
- result.push('project:concurrency');
739
- const burst = Object.values(state.grants).filter(grant => grant.projectId === project.projectId
740
- && grant.issuedAt === state.now).length;
741
- if (burst >= project.burstLimit)
742
- result.push('project:burst');
743
- const reserved = request.bundleAuthority.reservedCostMicros;
744
- if (portfolioProjectBudget(state, project.projectId).availableMicros < reserved)
745
- result.push('project:budget');
746
- if (portfolioGlobalBudget(state).availableMicros < reserved)
747
- result.push('global:budget');
748
- for (const demand of request.request.resourceBundle.demands) {
749
- const pool = policy.pools[demand.poolId];
750
- const used = Object.values(state.grants).filter(grant => CAPACITY_HOLDING.has(grant.status))
751
- .reduce((sum, grant) => sum
752
- + (grant.resourceBundle.demands.find(item => item.poolId === demand.poolId)?.capacityUnits ?? 0), 0);
753
- if (used + demand.capacityUnits > pool.capacityUnits)
754
- result.push(`capacity:${demand.poolId}`);
755
- if (rateUsed(state, demand.poolId) + demand.rateUnits > pool.rateUnitsPerWindow) {
756
- result.push(`rate:${demand.poolId}`);
757
- }
758
- }
759
- return result;
760
- }
761
- function createGrant(state, request) {
762
- const policy = requirePolicy(state);
763
- const authority = request.bundleAuthority;
764
- const fence = Object.values(state.grants).filter(grant => grant.requestId === request.request.requestId)
765
- .reduce((highest, grant) => Math.max(highest, grant.fence), 0) + 1;
766
- return deepFreeze({
767
- grantId: `capacity-grant:${encodeURIComponent(request.request.requestId)}:${fence}`,
768
- requestId: request.request.requestId,
769
- projectId: request.request.projectId,
770
- fence,
771
- resourceBundle: request.request.resourceBundle,
772
- requestDigest: authority.requestDigest,
773
- resourceBundleDigest: authority.resourceBundleDigest,
774
- catalogGenerationId: authority.catalogGenerationId,
775
- catalogRevision: authority.catalogRevision,
776
- catalogDigest: authority.catalogDigest,
777
- profileRevisionId: authority.profileRevisionId,
778
- profileDigest: authority.profileDigest,
779
- profileCeilingDigest: authority.profileCeilingDigest,
780
- validatedBundleDigest: authority.validatedBundleDigest,
781
- reservedCostMicros: authority.reservedCostMicros,
782
- portfolioPolicyRevision: policy.revision,
783
- portfolioPolicyDigest: policy.digest,
784
- projectPolicyRevision: policy.projects[request.request.projectId].revision,
785
- lane: effectiveLane(state, request.request),
786
- issuedAt: state.now,
787
- issuedSequence: state.sequence + 1,
788
- offerExpiresAt: state.now + policy.offerTtlTicks,
789
- status: 'offered',
790
- });
791
- }
792
- function reclaimVictim(state, candidate) {
793
- const candidateLane = LANE_ORDER[effectiveLane(state, candidate.request)];
794
- const pools = new Set(candidate.request.resourceBundle.demands.map(item => item.poolId));
795
- return Object.values(state.grants).filter(grant => {
796
- const request = state.requests[grant.requestId]?.request;
797
- return grant.status === 'consumed'
798
- && request?.preemptibility === 'checkpointable'
799
- && grant.projectId !== candidate.request.projectId
800
- && grant.resourceBundle.demands.some(item => pools.has(item.poolId))
801
- && (state.now >= candidate.request.starvationAt || candidateLane < LANE_ORDER[grant.lane]);
802
- }).sort((left, right) => LANE_ORDER[right.lane] - LANE_ORDER[left.lane]
803
- || right.issuedAt - left.issuedAt || compareCanonicalWorkroomText(right.grantId, left.grantId))[0];
804
- }
805
- function createReclaim(state, grant, candidate) {
806
- return deepFreeze({
807
- reclaimId: `capacity-reclaim:${encodeURIComponent(grant.grantId)}:${grant.fence}`,
808
- grantId: grant.grantId,
809
- projectId: grant.projectId,
810
- reservedForRequestId: candidate.request.requestId,
811
- requestedAt: state.now,
812
- deadline: state.now + requirePolicy(state).reclaimTtlTicks,
813
- reason: state.now >= candidate.request.starvationAt ? 'starvation_bound' : 'higher_portfolio_priority',
814
- status: 'pending',
815
- });
816
- }
817
- function projectedDominantService(state, request) {
818
- const project = requirePolicy(state).projects[request.request.projectId];
819
- let dominant = (state.normalizedService[project.projectId] ?? 0) / 1_000_000;
820
- for (const pool of Object.values(requirePolicy(state).pools)) {
821
- const historical = Object.values(state.grants)
822
- .filter(grant => grant.projectId === project.projectId
823
- && grant.status !== 'expired'
824
- && grant.issuedSequence > state.normalizedAtSequence)
825
- .reduce((sum, grant) => sum
826
- + (grant.resourceBundle.demands.find(item => item.poolId === pool.poolId)?.capacityUnits ?? 0), 0);
827
- const requested = request.request.resourceBundle.demands
828
- .find(item => item.poolId === pool.poolId)?.capacityUnits ?? 0;
829
- dominant = Math.max(dominant, (historical + requested) / pool.capacityUnits / project.weight);
830
- }
831
- return dominant;
832
- }
833
- function dominantService(state, projectId) {
834
- const project = requirePolicy(state).projects[projectId];
835
- if (!project)
836
- throw new Error(`Unknown Portfolio Project ${projectId}`);
837
- let dominant = (state.normalizedService[projectId] ?? 0) / 1_000_000;
838
- for (const pool of Object.values(requirePolicy(state).pools)) {
839
- const historical = Object.values(state.grants)
840
- .filter(grant => grant.projectId === projectId && grant.status !== 'expired'
841
- && grant.issuedSequence > state.normalizedAtSequence)
842
- .reduce((sum, grant) => sum
843
- + (grant.resourceBundle.demands.find(item => item.poolId === pool.poolId)?.capacityUnits ?? 0), 0);
844
- dominant = Math.max(dominant, historical / pool.capacityUnits / project.weight);
845
- }
846
- return Math.floor(dominant * 1_000_000);
847
- }
848
- function effectiveLane(state, request) {
849
- const override = Object.values(state.overrides).find(item => item.requestId === request.requestId && item.projectId === request.projectId
850
- && item.requestPayloadDigest === request.payloadDigest && item.expiresAt > state.now);
851
- return override?.lane ?? requirePolicy(state).projects[request.projectId].lane;
852
- }
853
- function rateUsed(state, poolId) {
854
- const pool = requirePolicy(state).pools[poolId];
855
- const start = Math.floor(state.now / pool.rateWindowTicks) * pool.rateWindowTicks;
856
- return Object.values(state.grants).reduce((sum, grant) => {
857
- const units = grant.resourceBundle.demands.find(item => item.poolId === poolId)?.rateUnits ?? 0;
858
- if (grant.status === 'offered')
859
- return sum + units;
860
- if (grant.consumedAt !== undefined && grant.consumedAt >= start)
861
- return sum + units;
862
- return sum;
863
- }, 0);
864
- }
865
- function portfolioGlobalBudget(state) {
866
- const grants = Object.values(state.grants);
867
- const spentMicros = grants.filter(grant => grant.status === 'settled')
868
- .reduce((sum, grant) => sum + (grant.actualCostMicros ?? 0), 0);
869
- const reservedMicros = grants.filter(grant => BUDGET_HOLDING.has(grant.status))
870
- .reduce((sum, grant) => sum + grant.reservedCostMicros, 0);
871
- return {
872
- spentMicros, reservedMicros,
873
- availableMicros: requirePolicy(state).globalBudgetMicros - spentMicros - reservedMicros,
874
- };
875
- }
876
- function assertBundleAuthority(request, authority, policy) {
877
- if (authority.requestDigest !== portfolioCapacityRequestDigest(request)
878
- || authority.resourceBundleDigest !== digest(parsePortfolioResourceBundle(request.resourceBundle))
879
- || authority.profileRevisionId !== request.workRef.profileRevisionId
880
- || authority.profileDigest !== request.workRef.profileDigest
881
- || authority.reservedCostMicros !== reservedCost(policy, request)
882
- || authority.validatedBundleDigest !== portfolioValidatedBundleDigest(authority)) {
883
- throw new Error('Validated Atomic Resource Bundle authority/request drift');
884
- }
885
- const project = policy.projects[request.projectId];
886
- if (!project || request.resourceBundle.demands.some(demand => !project.allowedPools.includes(demand.poolId))) {
887
- throw new Error('Validated Atomic Resource Bundle is outside Portfolio Project Policy');
888
- }
889
- }
890
- function assertGrantMatchesRequest(grant, request, state) {
891
- const authority = request.bundleAuthority;
892
- const policy = requirePolicy(state);
893
- const fence = Object.values(state.grants).filter(item => item.requestId === request.request.requestId)
894
- .reduce((highest, item) => Math.max(highest, item.fence), 0) + 1;
895
- if (grant.status !== 'offered'
896
- || grant.grantId !== `capacity-grant:${encodeURIComponent(request.request.requestId)}:${fence}`
897
- || grant.fence !== fence
898
- || grant.requestId !== request.request.requestId
899
- || grant.projectId !== request.request.projectId
900
- || grant.requestDigest !== authority.requestDigest
901
- || grant.resourceBundleDigest !== authority.resourceBundleDigest
902
- || grant.validatedBundleDigest !== authority.validatedBundleDigest
903
- || grant.catalogGenerationId !== authority.catalogGenerationId
904
- || grant.catalogRevision !== authority.catalogRevision
905
- || grant.catalogDigest !== authority.catalogDigest
906
- || grant.profileRevisionId !== authority.profileRevisionId
907
- || grant.profileDigest !== authority.profileDigest
908
- || grant.profileCeilingDigest !== authority.profileCeilingDigest
909
- || grant.reservedCostMicros !== authority.reservedCostMicros
910
- || grant.portfolioPolicyRevision !== policy.revision
911
- || grant.portfolioPolicyDigest !== policy.digest
912
- || grant.projectPolicyRevision !== policy.projects[grant.projectId]?.revision
913
- || grant.lane !== effectiveLane(state, request.request)
914
- || grant.issuedAt !== state.now
915
- || grant.offerExpiresAt !== state.now + policy.offerTtlTicks
916
- || canonicalWorkroomJson(grant.resourceBundle) !== canonicalWorkroomJson(request.request.resourceBundle)) {
917
- throw new Error('Capacity Grant drifted from validated Atomic Resource Bundle');
918
- }
919
- }
920
- export function portfolioCapacityRequestDigest(request) {
921
- return digest(parsePortfolioCapacityRequest(request));
922
- }
923
- export function portfolioValidatedBundleDigest(authority) {
924
- const { validatedBundleDigest: _ignored, ...claims } = authority;
925
- return digest(claims);
926
- }
927
- function reservedCost(policy, request) {
928
- return request.resourceBundle.demands.reduce((sum, demand) => {
929
- const price = policy.pools[demand.poolId]?.priceMicrosPerBudgetUnit;
930
- if (price === undefined)
931
- throw new Error(`Unknown Portfolio Resource Pool ${demand.poolId}`);
932
- const cost = demand.budgetUnits * price;
933
- if (!Number.isSafeInteger(cost) || !Number.isSafeInteger(sum + cost)) {
934
- throw new Error('Portfolio budget reservation overflows');
935
- }
936
- return sum + cost;
937
- }, 0);
938
- }
939
- function assertGovernance(proof, targetDigest, expectedRevision) {
940
- if (!proof || proof.targetDigest !== targetDigest || proof.expectedRevision !== expectedRevision
941
- || !proof.principalId || !proof.authorizedBy
942
- || !/^sha256:[a-f0-9]{64}$/u.test(proof.reasonDigest)) {
943
- throw new Error('Portfolio Governance proof scope/revision is stale');
944
- }
945
- }
946
- export function portfolioKernelCommandDigest(claims) {
947
- return digest(claims);
948
- }
949
- export function portfolioUsageReceiptDigest(claims) {
950
- return digest(claims);
951
- }
952
- export function portfolioClockDigest(claims) {
953
- return digest(claims);
954
- }
955
- function assertKernelAuthority(portfolioId, grant, authority, action) {
956
- const claims = {
957
- portfolioId: authority.portfolioId,
958
- action: authority.action,
959
- projectId: authority.projectId,
960
- requestId: authority.requestId,
961
- grantId: authority.grantId,
962
- fence: authority.fence,
963
- assignmentRef: authority.assignmentRef,
964
- ...(authority.reclaimId === undefined ? {} : { reclaimId: authority.reclaimId }),
965
- ...(authority.outcome === undefined ? {} : { outcome: authority.outcome }),
966
- ...(authority.checkpointRef === undefined ? {} : { checkpointRef: authority.checkpointRef }),
967
- ...(authority.checkpointDigest === undefined ? {} : { checkpointDigest: authority.checkpointDigest }),
968
- ...(authority.heartbeatSequence === undefined ? {} : { heartbeatSequence: authority.heartbeatSequence }),
969
- ...(authority.clockSequence === undefined ? {} : { clockSequence: authority.clockSequence }),
970
- ...(authority.clockDigest === undefined ? {} : { clockDigest: authority.clockDigest }),
971
- ...(authority.policyDigest === undefined ? {} : { policyDigest: authority.policyDigest }),
972
- ...(authority.usageSettlementCursor === undefined
973
- ? {}
974
- : { usageSettlementCursor: authority.usageSettlementCursor }),
975
- ...(authority.failureReason === undefined ? {} : { failureReason: authority.failureReason }),
976
- ...(authority.kernelSequence === undefined ? {} : { kernelSequence: authority.kernelSequence }),
977
- ...(authority.kernelFactDigest === undefined ? {} : { kernelFactDigest: authority.kernelFactDigest }),
978
- };
979
- const expected = {
980
- portfolioId,
981
- action: action.action,
982
- projectId: grant.projectId,
983
- requestId: grant.requestId,
984
- grantId: grant.grantId,
985
- fence: grant.fence,
986
- assignmentRef: action.assignmentRef,
987
- ...(action.reclaimId === undefined ? {} : { reclaimId: action.reclaimId }),
988
- ...(action.outcome === undefined ? {} : { outcome: action.outcome }),
989
- ...(action.checkpointRef === undefined ? {} : { checkpointRef: action.checkpointRef }),
990
- ...(action.checkpointDigest === undefined ? {} : { checkpointDigest: action.checkpointDigest }),
991
- ...(action.heartbeatSequence === undefined ? {} : { heartbeatSequence: action.heartbeatSequence }),
992
- ...(action.clockSequence === undefined ? {} : { clockSequence: action.clockSequence }),
993
- ...(action.clockDigest === undefined ? {} : { clockDigest: action.clockDigest }),
994
- ...(action.policyDigest === undefined ? {} : { policyDigest: action.policyDigest }),
995
- ...(action.usageSettlementCursor === undefined
996
- ? {}
997
- : { usageSettlementCursor: action.usageSettlementCursor }),
998
- ...(action.failureReason === undefined ? {} : { failureReason: action.failureReason }),
999
- ...(action.kernelSequence === undefined ? {} : { kernelSequence: action.kernelSequence }),
1000
- ...(action.kernelFactDigest === undefined ? {} : { kernelFactDigest: action.kernelFactDigest }),
1001
- };
1002
- if (!authority.authorizedBy || canonicalWorkroomJson(claims) !== canonicalWorkroomJson(expected)
1003
- || authority.commandDigest !== portfolioKernelCommandDigest(claims)) {
1004
- throw new Error('Owning Workroom Kernel command authority scope is stale');
1005
- }
1006
- }
1007
- function renewalAuthorityAction(state, policy, assignmentRef, heartbeatSequence) {
1008
- if (state.clockSequence < 0 || !state.clockDigest) {
1009
- throw new Error('Capacity Grant Lease renewal requires a current Portfolio clock fact');
1010
- }
1011
- return {
1012
- action: 'renew',
1013
- assignmentRef,
1014
- heartbeatSequence,
1015
- clockSequence: state.clockSequence,
1016
- clockDigest: state.clockDigest,
1017
- policyDigest: policy.digest,
1018
- usageSettlementCursor: state.usageSettlementCursor,
1019
- };
1020
- }
1021
- function assertUsageAuthority(portfolioId, grant, authority) {
1022
- const claims = {
1023
- portfolioId: authority.portfolioId,
1024
- receiptId: authority.receiptId,
1025
- requestId: authority.requestId,
1026
- grantId: authority.grantId,
1027
- fence: authority.fence,
1028
- actualCostMicros: authority.actualCostMicros,
1029
- settlementRef: authority.settlementRef,
1030
- };
1031
- if (!authority.authenticatedBy || authority.portfolioId !== portfolioId
1032
- || authority.requestId !== grant.requestId || authority.grantId !== grant.grantId
1033
- || authority.fence !== grant.fence
1034
- || authority.receiptDigest !== portfolioUsageReceiptDigest(claims)) {
1035
- throw new Error('Usage Gateway receipt authority scope is stale');
1036
- }
1037
- }
1038
- function assertClockAuthority(portfolioId, authority) {
1039
- const claims = { portfolioId: authority.portfolioId, now: authority.now };
1040
- if (!authority.authorizedBy || authority.portfolioId !== portfolioId
1041
- || authority.clockDigest !== portfolioClockDigest(claims)) {
1042
- throw new Error('Portfolio Kernel clock authority scope is stale');
1043
- }
1044
- }
1045
- function requirePolicy(state) {
1046
- if (!state.policy)
1047
- throw new Error('Portfolio Policy authority is unavailable');
1048
- return state.policy;
1049
- }
1050
- function requireRequest(state, requestId) {
1051
- const request = state.requests[requestId];
1052
- if (!request)
1053
- throw new Error(`Unknown Capacity Request ${requestId}`);
1054
- return request;
1055
- }
1056
- function requireGrant(state, grantId) {
1057
- const grant = state.grants[grantId];
1058
- if (!grant)
1059
- throw new Error(`Unknown Capacity Grant ${grantId}`);
1060
- return grant;
1061
- }
1062
- function requireFence(state, grantId, fence) {
1063
- const grant = requireGrant(state, grantId);
1064
- if (grant.fence !== fence)
1065
- throw new Error('Capacity Grant fence is stale');
1066
- return grant;
1067
- }
1068
- function requireReclaim(state, reclaimId) {
1069
- const reclaim = state.reclaims[reclaimId];
1070
- if (!reclaim)
1071
- throw new Error(`Unknown Capacity Reclaim ${reclaimId}`);
1072
- return reclaim;
1073
- }
1074
- function updateGrant(state, grantId, patch) {
1075
- return {
1076
- ...state,
1077
- grants: { ...state.grants, [grantId]: { ...requireGrant(state, grantId), ...patch } },
1078
- };
1079
- }
1080
- //# sourceMappingURL=portfolio-admission.js.map