@zhin.js/agent 1.1.31 → 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,930 +0,0 @@
1
- import { canonicalWorkroomJson, compareCanonicalWorkroomText, deepFreezeWorkroomValue as deepFreeze, digestCanonicalWorkroomValue as digest, } from '../workroom/canonical-value.js';
2
- export function digestPayloadSubjectRef(tenantId, subjectRef) {
3
- text(tenantId, 'Payload subject tenantId');
4
- text(subjectRef, 'Payload subject ref');
5
- return digest({ version: 1, tenantId, subjectRef });
6
- }
7
- export function createPayloadLocationManifest(input) {
8
- if (input.version !== 1)
9
- throw new Error('Payload Location Manifest version is invalid');
10
- text(input.tenantId, 'Location Manifest tenantId');
11
- text(input.projectId, 'Location Manifest projectId');
12
- text(input.objectId, 'Location Manifest objectId');
13
- text(input.vaultObjectId, 'Location Manifest vaultObjectId');
14
- requiredDigest(input.descriptorDigest, 'Location Manifest Descriptor digest');
15
- positive(input.revision, 'Location Manifest revision');
16
- if (!Array.isArray(input.locations) || input.locations.length === 0) {
17
- throw new Error('Payload Location Manifest must contain at least one location');
18
- }
19
- const locations = input.locations.map(location => {
20
- text(location.id, 'Payload location id');
21
- if (!['vault_primary', 'index', 'cache', 'replica', 'backup', 'processor'].includes(location.kind)) {
22
- throw new Error('Payload location kind is invalid');
23
- }
24
- if (!['crypto_erase', 'delete', 'processor_recall'].includes(location.deletionMode)) {
25
- throw new Error('Payload location deletion mode is invalid');
26
- }
27
- requiredDigest(location.authorityDigest, 'Payload location authority digest');
28
- return deepFreeze(structuredClone(location));
29
- }).sort((left, right) => compareCanonicalWorkroomText(left.id, right.id));
30
- if (new Set(locations.map(location => location.id)).size !== locations.length) {
31
- throw new Error('Payload Location Manifest contains duplicate locations');
32
- }
33
- if (locations.filter(location => location.deletionMode === 'crypto_erase').length > 1) {
34
- throw new Error('Payload Location Manifest has multiple object-key authorities');
35
- }
36
- const body = deepFreeze({
37
- version: 1,
38
- tenantId: input.tenantId,
39
- projectId: input.projectId,
40
- objectId: input.objectId,
41
- vaultObjectId: input.vaultObjectId,
42
- descriptorDigest: input.descriptorDigest,
43
- revision: input.revision,
44
- locations,
45
- });
46
- return deepFreeze({ ...body, digest: digest(body) });
47
- }
48
- export function createPayloadLifecycleObjectAuthority(input) {
49
- if (input.version !== 1)
50
- throw new Error('Payload Lifecycle object authority version is invalid');
51
- assertHandle(input.handle);
52
- const manifest = createPayloadLocationManifest(input.locations);
53
- if (canonicalWorkroomJson(manifest) !== canonicalWorkroomJson(input.locations)
54
- || manifest.tenantId !== input.handle.tenantId
55
- || manifest.projectId !== input.handle.projectId
56
- || manifest.objectId !== input.handle.objectId
57
- || manifest.vaultObjectId !== input.handle.vaultObjectId
58
- || manifest.descriptorDigest !== input.handle.descriptorDigest
59
- || manifest.digest !== input.handle.locationManifestDigest) {
60
- throw new Error('Payload Lifecycle object/Location Manifest binding is invalid');
61
- }
62
- if (!input.retention || !['transient', 'operational', 'project_record', 'regulated_record']
63
- .includes(input.retention.class)
64
- || !Number.isSafeInteger(input.retention.minimumRetainUntil)
65
- || !Number.isSafeInteger(input.retention.deleteAfter)
66
- || input.retention.minimumRetainUntil < 0
67
- || input.retention.deleteAfter < input.retention.minimumRetainUntil) {
68
- throw new Error('Payload Lifecycle retention authority is invalid');
69
- }
70
- const subjectDigests = uniqueDigests(input.subjectDigests, 'Payload Lifecycle subject digest');
71
- const body = deepFreeze({
72
- version: 1,
73
- handle: structuredClone(input.handle),
74
- retention: structuredClone(input.retention),
75
- subjectDigests,
76
- locations: manifest,
77
- });
78
- return deepFreeze({ ...body, digest: digest(body) });
79
- }
80
- export function createPayloadLifecycleClockSnapshot(input) {
81
- if (input.version !== 1 || !Number.isSafeInteger(input.now) || input.now < 0
82
- || !Number.isSafeInteger(input.revision) || input.revision < 0) {
83
- throw new Error('Payload Lifecycle Kernel clock is invalid');
84
- }
85
- const body = deepFreeze({ version: 1, now: input.now, revision: input.revision });
86
- return deepFreeze({ ...body, digest: digest(body) });
87
- }
88
- export function replayPayloadLifecycle(projectId, objectId, events) {
89
- text(projectId, 'Lifecycle Project id');
90
- text(objectId, 'Lifecycle object id');
91
- let authority;
92
- const holds = {};
93
- const erasures = [];
94
- const purges = {};
95
- let cryptoErased;
96
- let purgeComplete;
97
- events.forEach((event, index) => {
98
- assertEvent(event, projectId, objectId, index);
99
- switch (event.type) {
100
- case 'object.registered':
101
- if (authority)
102
- throw new Error('Payload Lifecycle object is already registered');
103
- authority = createPayloadLifecycleObjectAuthority(event.payload.authority);
104
- assertGovernanceBinding(event.payload.governance, authority, 'register_object');
105
- assertCandidate(event.payload.governance, authority.digest);
106
- break;
107
- case 'hold.placed':
108
- if (!authority || holds[event.payload.id] || Object.keys(purges).length > 0
109
- || cryptoErased || purgeComplete) {
110
- throw new Error('Payload Lifecycle Hold placement is invalid');
111
- }
112
- assertGovernanceBinding({ request: event.payload.placeRequest, decision: event.payload.placeDecision }, authority, 'place_hold');
113
- assertCandidate({ request: event.payload.placeRequest, decision: event.payload.placeDecision }, digest({
114
- holdId: event.payload.id,
115
- owner: event.payload.ownerPrincipalId,
116
- reasonCode: event.payload.reasonCode,
117
- reviewAt: event.payload.reviewAt,
118
- }));
119
- if (event.payload.placedAt !== event.payload.placeRequest.clock.now
120
- || event.payload.reviewAt <= event.payload.placedAt) {
121
- throw new Error('Payload Lifecycle Hold placement clock binding is invalid');
122
- }
123
- holds[event.payload.id] = deepFreeze(structuredClone(event.payload));
124
- break;
125
- case 'hold.reviewed': {
126
- const current = holds[event.payload.holdId];
127
- const nextReview = event.payload.hold.review;
128
- if (!current || current.release || current.review?.approved || !nextReview
129
- || canonicalWorkroomJson({ ...current, review: nextReview })
130
- !== canonicalWorkroomJson(event.payload.hold)) {
131
- throw new Error('Payload Lifecycle Hold review is stale');
132
- }
133
- assertGovernanceBinding({ request: nextReview.request, decision: nextReview.decision }, authority, 'review_hold');
134
- assertCandidate({ request: nextReview.request, decision: nextReview.decision }, digest({
135
- holdId: event.payload.holdId,
136
- approved: nextReview.approved,
137
- placeAuthority: current.placeDecision.authorityDigest,
138
- }));
139
- if (nextReview.reviewedAt !== nextReview.request.clock.now) {
140
- throw new Error('Payload Lifecycle Hold review clock binding is invalid');
141
- }
142
- holds[event.payload.holdId] = deepFreeze(structuredClone(event.payload.hold));
143
- break;
144
- }
145
- case 'hold.released': {
146
- const current = holds[event.payload.holdId];
147
- if (!current?.review?.approved || current.release)
148
- throw new Error('Payload Lifecycle Hold release is invalid');
149
- if (!event.payload.hold.release)
150
- throw new Error('Payload Lifecycle Hold release proof is unavailable');
151
- assertGovernanceBinding({ request: event.payload.hold.release.request, decision: event.payload.hold.release.decision }, authority, 'release_hold');
152
- assertCandidate({ request: event.payload.hold.release.request, decision: event.payload.hold.release.decision }, digest({
153
- holdId: event.payload.holdId,
154
- placeAuthority: current.placeDecision.authorityDigest,
155
- reviewAuthority: current.review.decision.authorityDigest,
156
- }));
157
- if (event.payload.hold.release.releasedAt !== event.payload.hold.release.request.clock.now) {
158
- throw new Error('Payload Lifecycle Hold release clock binding is invalid');
159
- }
160
- holds[event.payload.holdId] = deepFreeze(structuredClone(event.payload.hold));
161
- break;
162
- }
163
- case 'erasure.requested':
164
- if (!authority || !authority.subjectDigests.includes(event.payload.subjectDigest)) {
165
- throw new Error('Payload Lifecycle erasure subject binding is invalid');
166
- }
167
- assertGovernanceBinding({ request: event.payload.request, decision: event.payload.decision }, authority, 'request_subject_erasure');
168
- assertCandidate({ request: event.payload.request, decision: event.payload.decision }, digest({
169
- subjectDigest: event.payload.subjectDigest,
170
- resolverAuthorityDigest: event.payload.resolverAuthorityDigest,
171
- }));
172
- if (event.payload.requestedAt !== event.payload.request.clock.now) {
173
- throw new Error('Payload subject erasure clock binding is invalid');
174
- }
175
- erasures.push(deepFreeze(structuredClone(event.payload)));
176
- break;
177
- case 'purge.requested': {
178
- if (!authority || event.payload.objectAuthorityDigest !== authority.digest
179
- || event.payload.locationManifestDigest !== authority.locations.digest
180
- || event.payload.digest !== digestWithoutDigest(event.payload)) {
181
- throw new Error('Payload purge dispatch object authority is stale');
182
- }
183
- const exactLocation = authority.locations.locations.find(location => location.id === event.payload.location.id);
184
- if (!exactLocation || canonicalWorkroomJson(exactLocation) !== canonicalWorkroomJson(event.payload.location)
185
- || event.payload.id !== purgeId(projectId, objectId, exactLocation.id)
186
- || event.payload.requestedAt !== event.payload.governance.request.clock.now) {
187
- throw new Error('Payload purge dispatch Location Manifest binding is invalid');
188
- }
189
- assertGovernanceBinding(event.payload.governance, authority);
190
- const allowedActions = event.payload.reason === 'subject_erasure'
191
- ? ['request_subject_erasure', 'reconcile_purge']
192
- : ['schedule_retention_purge', 'reconcile_purge'];
193
- if (!allowedActions.includes(event.payload.governance.request.action)) {
194
- throw new Error('Payload purge governance action/reason binding is invalid');
195
- }
196
- const current = purges[event.payload.id];
197
- switch (event.payload.governance.request.action) {
198
- case 'request_subject_erasure':
199
- if (!erasures.some(value => value.request.digest === event.payload.requestDigest)) {
200
- throw new Error('Payload subject erasure purge lacks its exact erasure fact');
201
- }
202
- break;
203
- case 'schedule_retention_purge':
204
- assertCandidate(event.payload.governance, digest({ deleteAfter: authority.retention.deleteAfter }));
205
- break;
206
- case 'reconcile_purge':
207
- if (!current?.receipt)
208
- throw new Error('Payload purge reconciliation lacks its prior receipt');
209
- assertCandidate(event.payload.governance, digest({ purgeId: event.payload.id, receiptDigest: current.receipt.digest }));
210
- break;
211
- default:
212
- throw new Error('Payload purge governance action is invalid');
213
- }
214
- if ((!current && (event.payload.attempt !== 1 || event.payload.fence !== 1))
215
- || (current && (event.payload.attempt !== current.dispatch.attempt + 1
216
- || event.payload.fence !== current.dispatch.fence + 1
217
- || current.receipt?.status === 'confirmed'))) {
218
- throw new Error('Payload purge retry attempt/fence is invalid');
219
- }
220
- purges[event.payload.id] = { dispatch: deepFreeze(structuredClone(event.payload)) };
221
- break;
222
- }
223
- case 'purge.receipt': {
224
- const current = purges[event.payload.purgeId];
225
- if (!current || current.receipt
226
- || !receiptMatchesDispatch(event.payload, current.dispatch)) {
227
- throw new Error('Payload purge receipt is stale');
228
- }
229
- assertReceipt(event.payload, current.dispatch);
230
- purges[event.payload.purgeId] = {
231
- dispatch: current.dispatch,
232
- receipt: deepFreeze(structuredClone(event.payload)),
233
- };
234
- break;
235
- }
236
- case 'object.crypto_erased':
237
- if (cryptoErased || !authority || event.payload.objectAuthorityDigest !== authority.digest
238
- || event.payload.locationManifestDigest !== authority.locations.digest
239
- || event.payload.digest !== digestWithoutDigest(event.payload)) {
240
- throw new Error('Payload crypto-erasure tombstone is invalid');
241
- }
242
- {
243
- const confirmation = Object.values(purges).find(value => value.dispatch.location.id === event.payload.locationId
244
- && value.dispatch.location.deletionMode === 'crypto_erase'
245
- && value.receipt?.status === 'confirmed'
246
- && value.receipt.cryptoEraseReceiptDigest === event.payload.cryptoEraseReceiptDigest
247
- && value.receipt.observedAt === event.payload.erasedAt);
248
- if (!confirmation)
249
- throw new Error('Payload crypto-erasure tombstone lacks an exact confirmed receipt');
250
- }
251
- cryptoErased = deepFreeze(structuredClone(event.payload));
252
- break;
253
- case 'object.purge_complete':
254
- if (purgeComplete || !authority || event.payload.objectAuthorityDigest !== authority.digest
255
- || event.payload.locationManifestDigest !== authority.locations.digest
256
- || event.payload.digest !== digestWithoutDigest(event.payload)
257
- || Object.keys(purges).length !== authority.locations.locations.length
258
- || Object.values(purges).some(value => value.receipt?.status !== 'confirmed')) {
259
- throw new Error('Payload purge completion is not supported by all location receipts');
260
- }
261
- {
262
- const confirmed = Object.values(purges).map(value => value.receipt);
263
- if (canonicalWorkroomJson(event.payload.receiptDigests)
264
- !== canonicalWorkroomJson(confirmed.map(value => value.digest).sort())
265
- || event.payload.completedAt !== Math.max(...confirmed.map(value => value.observedAt))) {
266
- throw new Error('Payload purge completion receipt summary is stale');
267
- }
268
- }
269
- purgeComplete = deepFreeze(structuredClone(event.payload));
270
- break;
271
- }
272
- });
273
- const sequence = events.at(-1)?.sequence ?? -1;
274
- const body = deepFreeze({
275
- projectId,
276
- objectId,
277
- sequence,
278
- ...(authority ? { authority } : {}),
279
- holds: Object.fromEntries(Object.entries(holds).sort(([left], [right]) => compareCanonicalWorkroomText(left, right))),
280
- erasures,
281
- purges: Object.fromEntries(Object.entries(purges).sort(([left], [right]) => compareCanonicalWorkroomText(left, right))),
282
- ...(cryptoErased ? { cryptoErased } : {}),
283
- ...(purgeComplete ? { purgeComplete } : {}),
284
- });
285
- return deepFreeze({ ...body, digest: digest(body) });
286
- }
287
- export class PayloadLifecycleRuntime {
288
- options;
289
- control;
290
- worker;
291
- constructor(options) {
292
- this.options = options;
293
- this.control = Object.freeze({
294
- register: (command, signal) => this.#register(command, signal),
295
- placeHold: (command, signal) => this.#placeHold(command, signal),
296
- reviewHold: (command, signal) => this.#reviewHold(command, signal),
297
- releaseHold: (command, signal) => this.#releaseHold(command, signal),
298
- requestSubjectErasure: (command, signal) => this.#requestErasure(command, signal),
299
- evaluateRetention: (command, signal) => this.#evaluateRetention(command, signal),
300
- reconcile: (command, signal) => this.#reconcile(command, signal),
301
- });
302
- this.worker = Object.freeze({
303
- dispatch: (projectId, objectId, signal) => this.#dispatch(projectId, objectId, signal),
304
- drainProject: (projectId, signal) => this.#drainProject(projectId, signal),
305
- });
306
- }
307
- async read(projectId, objectId) {
308
- const events = await this.options.journal.read(projectId, objectId);
309
- const verifiedRequests = new Map();
310
- for (const [eventIndex, event] of events.entries()) {
311
- const stateBefore = replayPayloadLifecycle(projectId, objectId, events.slice(0, event.sequence));
312
- for (const proof of eventAuthorityProofs(event)) {
313
- const firstStateDigest = verifiedRequests.get(proof.request.digest);
314
- if (firstStateDigest === undefined) {
315
- if (proof.request.currentStateDigest !== stateBefore.digest) {
316
- throw new Error('Payload Lifecycle persisted governance proof state binding is stale');
317
- }
318
- verifiedRequests.set(proof.request.digest, stateBefore.digest);
319
- }
320
- else if (firstStateDigest !== proof.request.currentStateDigest) {
321
- throw new Error('Payload Lifecycle persisted governance proof replay binding is stale');
322
- }
323
- if (!await this.options.authority.verify(proof.request, proof.decision)) {
324
- throw new Error('Payload Lifecycle persisted governance proof is untrusted');
325
- }
326
- }
327
- if (event.type === 'purge.receipt') {
328
- const dispatch = stateBefore.purges[event.payload.purgeId]?.dispatch;
329
- if (!dispatch || !await this.options.receipts.verify(event.payload, dispatch)) {
330
- throw new Error('Payload Lifecycle persisted purge receipt is untrusted');
331
- }
332
- if (event.payload.status === 'confirmed' && dispatch.location.deletionMode === 'crypto_erase') {
333
- const tombstone = events[eventIndex + 1];
334
- if (!tombstone || tombstone.type !== 'object.crypto_erased'
335
- || tombstone.payload.cryptoEraseReceiptDigest !== event.payload.cryptoEraseReceiptDigest
336
- || tombstone.payload.locationId !== event.payload.locationId) {
337
- throw new Error('Payload crypto-erasure confirmation lacks its atomic tombstone');
338
- }
339
- }
340
- }
341
- }
342
- return replayPayloadLifecycle(projectId, objectId, events);
343
- }
344
- async #register(command, signal) {
345
- exactKeys(command, ['version', 'operationId', 'authenticatedPrincipalId', 'handle'], 'register command');
346
- header(command, signal);
347
- const object = await this.options.objects.resolve(command.handle, signal);
348
- if (!object || canonicalWorkroomJson(object.handle) !== canonicalWorkroomJson(command.handle)) {
349
- throw new Error('Trusted Payload Lifecycle object authority is unavailable');
350
- }
351
- const current = await this.read(object.handle.projectId, object.handle.objectId);
352
- if (current.authority) {
353
- if (current.authority.digest !== object.digest)
354
- throw new Error('Payload Lifecycle object authority drift');
355
- return current;
356
- }
357
- const clock = await this.#clock(command.operationId, object.handle.projectId, object.handle.objectId, 'control');
358
- const governance = await this.#authorize('register_object', 'data_steward', command, object, current, object.digest, clock);
359
- await this.options.journal.append(object.handle.projectId, object.handle.objectId, current.sequence, [{
360
- type: 'object.registered', payload: { authority: object, governance },
361
- }]);
362
- return await this.read(object.handle.projectId, object.handle.objectId);
363
- }
364
- async #placeHold(command, signal) {
365
- exactKeys(command, [
366
- 'version', 'operationId', 'authenticatedPrincipalId', 'projectId', 'objectId',
367
- 'holdId', 'ownerPrincipalId', 'reasonCode', 'reviewAt',
368
- ], 'place Hold command');
369
- header(command, signal);
370
- text(command.holdId, 'Hold id');
371
- text(command.ownerPrincipalId, 'Hold owner');
372
- if (command.ownerPrincipalId !== command.authenticatedPrincipalId)
373
- throw new Error('Hold owner must place the Hold');
374
- if (!['legal_hold', 'investigation', 'regulatory_preservation'].includes(command.reasonCode)) {
375
- throw new Error('Hold reason code is invalid');
376
- }
377
- if (!Number.isSafeInteger(command.reviewAt) || command.reviewAt < 0) {
378
- throw new Error('Hold reviewAt is invalid');
379
- }
380
- const state = await this.#registered(command.projectId, command.objectId);
381
- const existing = state.holds[command.holdId];
382
- if (existing) {
383
- if (existing.ownerPrincipalId !== command.ownerPrincipalId
384
- || existing.reasonCode !== command.reasonCode
385
- || existing.reviewAt !== command.reviewAt) {
386
- throw new Error('Retention Hold idempotency binding drift');
387
- }
388
- return state;
389
- }
390
- if (Object.keys(state.purges).length > 0 || state.cryptoErased || state.purgeComplete) {
391
- throw new Error('Retention Hold cannot be placed after deletion is scheduled');
392
- }
393
- const clock = await this.#clock(command.operationId, command.projectId, command.objectId, 'control');
394
- if (command.reviewAt <= clock.now)
395
- throw new Error('Hold reviewAt must be after placement time');
396
- const candidate = digest({
397
- holdId: command.holdId,
398
- owner: command.ownerPrincipalId,
399
- reasonCode: command.reasonCode,
400
- reviewAt: command.reviewAt,
401
- });
402
- const proof = await this.#authorize('place_hold', 'data_steward', command, state.authority, state, candidate, clock);
403
- const hold = deepFreeze({
404
- id: command.holdId,
405
- ownerPrincipalId: command.ownerPrincipalId,
406
- reasonCode: command.reasonCode,
407
- placedAt: clock.now,
408
- reviewAt: command.reviewAt,
409
- placeRequest: proof.request,
410
- placeDecision: proof.decision,
411
- });
412
- await this.options.journal.append(command.projectId, command.objectId, state.sequence, [{
413
- type: 'hold.placed', payload: hold,
414
- }]);
415
- return await this.read(command.projectId, command.objectId);
416
- }
417
- async #reviewHold(command, signal) {
418
- exactKeys(command, [
419
- 'version', 'operationId', 'authenticatedPrincipalId', 'projectId', 'objectId', 'holdId', 'approved',
420
- ], 'review Hold command');
421
- header(command, signal);
422
- if (typeof command.approved !== 'boolean')
423
- throw new Error('Hold review decision is invalid');
424
- const state = await this.#registered(command.projectId, command.objectId);
425
- const hold = state.holds[command.holdId];
426
- if (!hold)
427
- throw new Error('Retention Hold is unavailable');
428
- if (hold.review?.approved) {
429
- if (!command.approved || hold.review.reviewerPrincipalId !== command.authenticatedPrincipalId) {
430
- throw new Error('Retention Hold review idempotency binding drift');
431
- }
432
- return state;
433
- }
434
- const clock = await this.#clock(command.operationId, command.projectId, command.objectId, 'control');
435
- const proof = await this.#authorize('review_hold', 'compliance', command, state.authority, state, digest({ holdId: command.holdId, approved: command.approved, placeAuthority: hold.placeDecision.authorityDigest }), clock);
436
- if (command.authenticatedPrincipalId === hold.ownerPrincipalId
437
- && proof.decision.separationPolicy?.allowsSelfReview !== true) {
438
- throw new Error('Retention Hold owner cannot self-review without exact separation policy');
439
- }
440
- const next = deepFreeze({
441
- ...structuredClone(hold),
442
- review: {
443
- approved: command.approved,
444
- reviewerPrincipalId: command.authenticatedPrincipalId,
445
- reviewedAt: clock.now,
446
- request: proof.request,
447
- decision: proof.decision,
448
- },
449
- });
450
- await this.options.journal.append(command.projectId, command.objectId, state.sequence, [{
451
- type: 'hold.reviewed', payload: { holdId: hold.id, hold: next },
452
- }]);
453
- return await this.read(command.projectId, command.objectId);
454
- }
455
- async #releaseHold(command, signal) {
456
- exactKeys(command, [
457
- 'version', 'operationId', 'authenticatedPrincipalId', 'projectId', 'objectId', 'holdId',
458
- ], 'release Hold command');
459
- header(command, signal);
460
- const state = await this.#registered(command.projectId, command.objectId);
461
- const hold = state.holds[command.holdId];
462
- if (!hold?.review?.approved)
463
- throw new Error('Retention Hold requires an approved independent review');
464
- if (command.authenticatedPrincipalId !== hold.ownerPrincipalId)
465
- throw new Error('Only the Hold owner can release it');
466
- if (hold.release)
467
- return state;
468
- if (hold.review.reviewerPrincipalId === hold.ownerPrincipalId
469
- && hold.review.decision.separationPolicy?.allowsSelfReview !== true) {
470
- throw new Error('Retention Hold release lacks an independent review');
471
- }
472
- const clock = await this.#clock(command.operationId, command.projectId, command.objectId, 'control');
473
- const proof = await this.#authorize('release_hold', 'data_steward', command, state.authority, state, digest({ holdId: hold.id, placeAuthority: hold.placeDecision.authorityDigest,
474
- reviewAuthority: hold.review.decision.authorityDigest }), clock);
475
- const next = deepFreeze({
476
- ...structuredClone(hold),
477
- release: {
478
- releasedBy: command.authenticatedPrincipalId,
479
- releasedAt: clock.now,
480
- request: proof.request,
481
- decision: proof.decision,
482
- },
483
- });
484
- await this.options.journal.append(command.projectId, command.objectId, state.sequence, [{
485
- type: 'hold.released', payload: { holdId: hold.id, hold: next },
486
- }]);
487
- return await this.read(command.projectId, command.objectId);
488
- }
489
- async #requestErasure(command, signal) {
490
- exactKeys(command, [
491
- 'version', 'operationId', 'authenticatedPrincipalId', 'tenantId', 'projectId', 'subjectRef',
492
- ], 'subject erasure command');
493
- header(command, signal);
494
- text(command.tenantId, 'subject erasure tenantId');
495
- text(command.projectId, 'subject erasure projectId');
496
- text(command.subjectRef, 'subject erasure subjectRef');
497
- const resolution = await this.options.subjects.resolve({
498
- tenantId: command.tenantId, projectId: command.projectId, subjectRef: command.subjectRef,
499
- }, signal);
500
- assertSubjectResolution(resolution, command.tenantId, command.projectId);
501
- const results = [];
502
- for (const handle of resolution.handles) {
503
- signal.throwIfAborted();
504
- const state = await this.#registered(command.projectId, handle.objectId);
505
- if (state.authority.handle.tenantId !== command.tenantId
506
- || !state.authority.subjectDigests.includes(resolution.subjectDigest)) {
507
- throw new Error('Subject erasure resolution escaped its trusted object authority');
508
- }
509
- if (state.erasures.some(value => value.subjectDigest === resolution.subjectDigest)) {
510
- results.push(state);
511
- continue;
512
- }
513
- const clock = await this.#clock(command.operationId, command.projectId, handle.objectId, 'control');
514
- this.#assertNoActiveHold(state);
515
- const proof = await this.#authorize('request_subject_erasure', 'privacy', command, state.authority, state, digest({ subjectDigest: resolution.subjectDigest, resolverAuthorityDigest: resolution.authorityDigest }), clock);
516
- if (clock.now < state.authority.retention.minimumRetainUntil) {
517
- const override = proof.decision.minimumRetentionOverride;
518
- if (!override || override.objectAuthorityDigest !== state.authority.digest) {
519
- throw new Error('Subject erasure cannot override minimum retention without exact legal policy authority');
520
- }
521
- requiredDigest(override.policyDigest, 'minimum retention override policy digest');
522
- text(override.policyRef, 'minimum retention override policy ref');
523
- }
524
- const fact = deepFreeze({
525
- subjectDigest: resolution.subjectDigest,
526
- requestedAt: clock.now,
527
- request: proof.request,
528
- decision: proof.decision,
529
- resolverAuthorityDigest: resolution.authorityDigest,
530
- });
531
- const drafts = [{ type: 'erasure.requested', payload: fact }];
532
- if (Object.keys(state.purges).length === 0 && !state.purgeComplete) {
533
- drafts.push(...purgeDrafts(state, 'subject_erasure', clock.now, proof));
534
- }
535
- await this.options.journal.append(command.projectId, handle.objectId, state.sequence, drafts);
536
- results.push(await this.read(command.projectId, handle.objectId));
537
- }
538
- return deepFreeze(results);
539
- }
540
- async #evaluateRetention(command, signal) {
541
- exactKeys(command, [
542
- 'version', 'operationId', 'authenticatedPrincipalId', 'projectId', 'objectId',
543
- ], 'retention evaluation command');
544
- header(command, signal);
545
- const state = await this.#registered(command.projectId, command.objectId);
546
- if (state.purgeComplete || Object.keys(state.purges).length > 0)
547
- return state;
548
- const clock = await this.#clock(command.operationId, command.projectId, command.objectId, 'retention');
549
- if (clock.now < state.authority.retention.deleteAfter)
550
- throw new Error('Payload retention has not expired');
551
- this.#assertNoActiveHold(state);
552
- const proof = await this.#authorize('schedule_retention_purge', 'data_steward', command, state.authority, state, digest({ deleteAfter: state.authority.retention.deleteAfter }), clock);
553
- await this.options.journal.append(command.projectId, command.objectId, state.sequence, purgeDrafts(state, 'retention_expired', clock.now, proof));
554
- return await this.read(command.projectId, command.objectId);
555
- }
556
- async #reconcile(command, signal) {
557
- exactKeys(command, [
558
- 'version', 'operationId', 'authenticatedPrincipalId', 'projectId', 'objectId', 'purgeId',
559
- ], 'purge reconciliation command');
560
- header(command, signal);
561
- const state = await this.#registered(command.projectId, command.objectId);
562
- const current = state.purges[command.purgeId];
563
- if (!current?.receipt || current.receipt.status === 'confirmed') {
564
- throw new Error('Payload purge is not eligible for reconciliation');
565
- }
566
- const clock = await this.#clock(command.operationId, command.projectId, command.objectId, 'reconciliation');
567
- const proof = await this.#authorize('reconcile_purge', 'data_steward', command, state.authority, state, digest({ purgeId: command.purgeId, receiptDigest: current.receipt.digest }), clock);
568
- const { digest: _currentDigest, ...currentDispatch } = current.dispatch;
569
- const retry = createPurgeDispatch({
570
- ...currentDispatch,
571
- attempt: current.dispatch.attempt + 1,
572
- fence: current.dispatch.fence + 1,
573
- requestedAt: clock.now,
574
- requestDigest: proof.request.digest,
575
- governance: proof,
576
- });
577
- await this.options.journal.append(command.projectId, command.objectId, state.sequence, [{
578
- type: 'purge.requested', payload: retry,
579
- }]);
580
- return await this.read(command.projectId, command.objectId);
581
- }
582
- async #dispatch(projectId, objectId, signal) {
583
- signal.throwIfAborted();
584
- let state = await this.#registered(projectId, objectId);
585
- const pending = Object.values(state.purges)
586
- .filter(value => !value.receipt)
587
- .sort((left, right) => compareCanonicalWorkroomText(left.dispatch.location.id, right.dispatch.location.id));
588
- for (const item of pending) {
589
- const receipt = await this.options.deletion.purge(item.dispatch, signal);
590
- assertReceipt(receipt, item.dispatch);
591
- if (!await this.options.receipts.verify(receipt, item.dispatch)) {
592
- throw new Error('Payload purge receipt authority denied the observation');
593
- }
594
- const drafts = [{ type: 'purge.receipt', payload: receipt }];
595
- if (receipt.status === 'confirmed' && item.dispatch.location.deletionMode === 'crypto_erase') {
596
- if (!receipt.cryptoEraseReceiptDigest)
597
- throw new Error('Crypto erase confirmation lacks a receipt digest');
598
- const body = deepFreeze({
599
- version: 1,
600
- projectId,
601
- objectId,
602
- vaultObjectId: state.authority.handle.vaultObjectId,
603
- objectAuthorityDigest: state.authority.digest,
604
- locationManifestDigest: state.authority.locations.digest,
605
- locationId: item.dispatch.location.id,
606
- cryptoEraseReceiptDigest: receipt.cryptoEraseReceiptDigest,
607
- erasedAt: receipt.observedAt,
608
- });
609
- drafts.push({ type: 'object.crypto_erased', payload: deepFreeze({ ...body, digest: digest(body) }) });
610
- }
611
- await this.options.journal.append(projectId, objectId, state.sequence, drafts);
612
- state = await this.read(projectId, objectId);
613
- }
614
- if (!state.purgeComplete
615
- && Object.keys(state.purges).length === state.authority.locations.locations.length
616
- && Object.values(state.purges).every(value => value.receipt?.status === 'confirmed')) {
617
- const receipts = Object.values(state.purges).map(value => value.receipt.digest).sort();
618
- const completedAt = Math.max(...Object.values(state.purges).map(value => value.receipt.observedAt));
619
- const body = deepFreeze({
620
- version: 1,
621
- projectId,
622
- objectId,
623
- objectAuthorityDigest: state.authority.digest,
624
- locationManifestDigest: state.authority.locations.digest,
625
- completedAt,
626
- receiptDigests: receipts,
627
- });
628
- await this.options.journal.append(projectId, objectId, state.sequence, [{
629
- type: 'object.purge_complete', payload: deepFreeze({ ...body, digest: digest(body) }),
630
- }]);
631
- state = await this.read(projectId, objectId);
632
- }
633
- return state;
634
- }
635
- async #drainProject(projectId, signal) {
636
- text(projectId, 'Lifecycle Project id');
637
- const states = [];
638
- for (const objectId of await this.options.journal.listObjectIds(projectId)) {
639
- signal.throwIfAborted();
640
- const state = await this.read(projectId, objectId);
641
- const purges = Object.values(state.purges);
642
- const hasPendingAttempt = purges.some(value => !value.receipt);
643
- const needsCompletionRecovery = purges.length === state.authority?.locations.locations.length
644
- && purges.length > 0
645
- && purges.every(value => value.receipt?.status === 'confirmed');
646
- if (state.purgeComplete || (!hasPendingAttempt && !needsCompletionRecovery))
647
- continue;
648
- states.push(await this.#dispatch(projectId, objectId, signal));
649
- }
650
- return deepFreeze(states);
651
- }
652
- async #registered(projectId, objectId) {
653
- const state = await this.read(projectId, objectId);
654
- if (!state.authority)
655
- throw new Error('Payload Lifecycle object is not registered');
656
- return state;
657
- }
658
- async #clock(operationId, projectId, objectId, purpose) {
659
- const value = await this.options.clock.read({ operationId, projectId, objectId, purpose });
660
- if (!value)
661
- throw new Error('Payload Lifecycle Kernel clock authority is unavailable');
662
- const canonical = createPayloadLifecycleClockSnapshot(value);
663
- if (canonicalWorkroomJson(canonical) !== canonicalWorkroomJson(value)) {
664
- throw new Error('Payload Lifecycle Kernel clock digest drift');
665
- }
666
- return canonical;
667
- }
668
- async #authorize(action, requiredRole, command, object, state, candidateDigest, clock) {
669
- const body = deepFreeze({
670
- version: 1,
671
- action,
672
- requiredRole,
673
- operationId: command.operationId,
674
- authenticatedPrincipalId: command.authenticatedPrincipalId,
675
- tenantId: object.handle.tenantId,
676
- projectId: object.handle.projectId,
677
- objectId: object.handle.objectId,
678
- objectAuthorityDigest: object.digest,
679
- currentStateDigest: state.digest,
680
- candidateDigest: requiredDigest(candidateDigest, 'Lifecycle candidate digest'),
681
- clock,
682
- });
683
- const request = deepFreeze({ ...body, digest: digest(body) });
684
- const result = await this.options.authority.authorize(request);
685
- if (!result.approved) {
686
- if (result.requestDigest !== request.digest)
687
- throw new Error('Lifecycle authority denial echo mismatch');
688
- throw new Error(`Lifecycle authority denied: ${result.reason}`);
689
- }
690
- if (result.requestDigest !== request.digest
691
- || result.principalId !== request.authenticatedPrincipalId
692
- || result.role !== requiredRole
693
- || !await this.options.authority.verify(request, result)) {
694
- throw new Error('Lifecycle authority exact decision echo mismatch');
695
- }
696
- requiredDigest(result.authorityDigest, 'Lifecycle authority digest');
697
- text(result.decisionId, 'Lifecycle decision id');
698
- nonNegative(result.decidedAt, 'Lifecycle decision timestamp');
699
- return deepFreeze({ request, decision: structuredClone(result) });
700
- }
701
- #assertNoActiveHold(state) {
702
- if (Object.values(state.holds).some(hold => !hold.release)) {
703
- throw new Error('Payload Lifecycle purge is blocked by an active Retention Hold');
704
- }
705
- }
706
- }
707
- function purgeDrafts(state, reason, requestedAt, governance) {
708
- return state.authority.locations.locations.map(location => ({
709
- type: 'purge.requested',
710
- payload: createPurgeDispatch({
711
- id: purgeId(state.projectId, state.objectId, location.id),
712
- reason,
713
- objectAuthorityDigest: state.authority.digest,
714
- locationManifestDigest: state.authority.locations.digest,
715
- location,
716
- attempt: 1,
717
- fence: 1,
718
- requestedAt,
719
- requestDigest: governance.request.digest,
720
- governance,
721
- }),
722
- }));
723
- }
724
- function createPurgeDispatch(input) {
725
- text(input.id, 'Purge id');
726
- positive(input.attempt, 'Purge attempt');
727
- positive(input.fence, 'Purge fence');
728
- nonNegative(input.requestedAt, 'Purge requestedAt');
729
- requiredDigest(input.objectAuthorityDigest, 'Purge object authority digest');
730
- requiredDigest(input.locationManifestDigest, 'Purge Location Manifest digest');
731
- requiredDigest(input.location.authorityDigest, 'Purge location authority digest');
732
- requiredDigest(input.requestDigest, 'Purge request digest');
733
- if (input.requestDigest !== input.governance.request.digest) {
734
- throw new Error('Purge governance request binding is invalid');
735
- }
736
- const body = deepFreeze(structuredClone(input));
737
- return deepFreeze({ ...body, digest: digest(body) });
738
- }
739
- function purgeId(projectId, objectId, locationId) {
740
- return `purge:${digest({ projectId, objectId, locationId })}`;
741
- }
742
- function assertReceipt(receipt, dispatch) {
743
- const { digest: supplied, ...body } = receipt;
744
- if (receipt.version !== 1 || supplied !== digest(body) || !receiptMatchesDispatch(receipt, dispatch)
745
- || !['confirmed', 'failed', 'outcome_unknown'].includes(receipt.status)
746
- || !Number.isSafeInteger(receipt.observedAt) || receipt.observedAt < dispatch.requestedAt) {
747
- throw new Error('Payload purge receipt is malformed or stale');
748
- }
749
- text(receipt.authenticatedBy, 'Purge receipt authority');
750
- requiredDigest(receipt.authorityDigest, 'Purge receipt authority digest');
751
- if (receipt.status === 'confirmed' && receipt.reasonCode !== undefined) {
752
- throw new Error('Confirmed Payload purge receipt cannot carry a failure reason');
753
- }
754
- if (receipt.status !== 'confirmed' && receipt.reasonCode === undefined) {
755
- throw new Error('Unconfirmed Payload purge receipt requires a bounded reason code');
756
- }
757
- if (receipt.reasonCode !== undefined && ![
758
- 'unsupported', 'provider_denied', 'transient_failure', 'timeout', 'unknown_external_copy',
759
- ].includes(receipt.reasonCode)) {
760
- throw new Error('Payload purge receipt reason code is invalid');
761
- }
762
- if (receipt.cryptoEraseReceiptDigest !== undefined) {
763
- requiredDigest(receipt.cryptoEraseReceiptDigest, 'Crypto erase receipt digest');
764
- }
765
- if (dispatch.location.deletionMode === 'crypto_erase') {
766
- if (receipt.status === 'confirmed' && receipt.cryptoEraseReceiptDigest === undefined) {
767
- throw new Error('Confirmed crypto erase receipt lacks its exact key-destruction proof');
768
- }
769
- if (receipt.status !== 'confirmed' && receipt.cryptoEraseReceiptDigest !== undefined) {
770
- throw new Error('Unconfirmed crypto erase receipt cannot claim key destruction');
771
- }
772
- }
773
- else if (receipt.cryptoEraseReceiptDigest !== undefined) {
774
- throw new Error('Non-crypto purge receipt cannot claim key destruction');
775
- }
776
- }
777
- function receiptMatchesDispatch(receipt, dispatch) {
778
- return receipt.purgeId === dispatch.id
779
- && receipt.locationId === dispatch.location.id
780
- && receipt.locationAuthorityDigest === dispatch.location.authorityDigest
781
- && receipt.locationManifestDigest === dispatch.locationManifestDigest
782
- && receipt.attempt === dispatch.attempt
783
- && receipt.fence === dispatch.fence
784
- && receipt.requestDigest === dispatch.requestDigest;
785
- }
786
- function assertGovernanceBinding(proof, object, exactAction) {
787
- if (!proof || proof.request.digest !== digestWithoutDigest(proof.request)
788
- || canonicalWorkroomJson(createPayloadLifecycleClockSnapshot(proof.request.clock))
789
- !== canonicalWorkroomJson(proof.request.clock)
790
- || proof.decision.requestDigest !== proof.request.digest
791
- || proof.decision.principalId !== proof.request.authenticatedPrincipalId
792
- || proof.decision.role !== proof.request.requiredRole
793
- || proof.request.tenantId !== object.handle.tenantId
794
- || proof.request.projectId !== object.handle.projectId
795
- || proof.request.objectId !== object.handle.objectId
796
- || proof.request.objectAuthorityDigest !== object.digest
797
- || proof.request.requiredRole !== roleForAction(proof.request.action)
798
- || (exactAction !== undefined && proof.request.action !== exactAction)) {
799
- throw new Error('Payload Lifecycle governance proof binding is invalid');
800
- }
801
- requiredDigest(proof.decision.authorityDigest, 'Lifecycle authority digest');
802
- if (proof.decision.separationPolicy) {
803
- requiredDigest(proof.decision.separationPolicy.policyDigest, 'separation policy digest');
804
- }
805
- if (proof.decision.minimumRetentionOverride) {
806
- text(proof.decision.minimumRetentionOverride.policyRef, 'minimum retention override policy ref');
807
- requiredDigest(proof.decision.minimumRetentionOverride.policyDigest, 'minimum retention override policy digest');
808
- requiredDigest(proof.decision.minimumRetentionOverride.objectAuthorityDigest, 'minimum retention override object authority digest');
809
- }
810
- }
811
- function assertCandidate(proof, candidateDigest) {
812
- if (proof.request.candidateDigest !== candidateDigest) {
813
- throw new Error('Payload Lifecycle governance candidate binding is stale');
814
- }
815
- }
816
- function roleForAction(action) {
817
- switch (action) {
818
- case 'request_subject_erasure': return 'privacy';
819
- case 'review_hold': return 'compliance';
820
- case 'register_object':
821
- case 'place_hold':
822
- case 'release_hold':
823
- case 'schedule_retention_purge':
824
- case 'reconcile_purge':
825
- return 'data_steward';
826
- }
827
- }
828
- function eventAuthorityProofs(event) {
829
- switch (event.type) {
830
- case 'object.registered': return [event.payload.governance];
831
- case 'hold.placed': return [{ request: event.payload.placeRequest, decision: event.payload.placeDecision }];
832
- case 'hold.reviewed': return event.payload.hold.review
833
- ? [{ request: event.payload.hold.review.request, decision: event.payload.hold.review.decision }]
834
- : [];
835
- case 'hold.released': return event.payload.hold.release
836
- ? [{ request: event.payload.hold.release.request, decision: event.payload.hold.release.decision }]
837
- : [];
838
- case 'erasure.requested': return [{ request: event.payload.request, decision: event.payload.decision }];
839
- case 'purge.requested': return [event.payload.governance];
840
- default: return [];
841
- }
842
- }
843
- function assertEvent(event, projectId, objectId, sequence) {
844
- if (event.version !== 1 || event.projectId !== projectId || event.objectId !== objectId
845
- || event.sequence !== sequence)
846
- throw new Error('Payload Lifecycle event identity/sequence is invalid');
847
- const { digest: supplied, ...body } = event;
848
- if (supplied !== digest(body))
849
- throw new Error('Payload Lifecycle event digest mismatch');
850
- }
851
- function digestWithoutDigest(value) {
852
- const { digest: _supplied, ...body } = value;
853
- return digest(body);
854
- }
855
- function assertSubjectResolution(value, tenantId, projectId) {
856
- if (!value || value.version !== 1 || value.tenantId !== tenantId || value.projectId !== projectId
857
- || !Array.isArray(value.handles) || value.handles.length === 0) {
858
- throw new Error('Trusted subject erasure resolution is unavailable');
859
- }
860
- requiredDigest(value.subjectDigest, 'subject digest');
861
- requiredDigest(value.authorityDigest, 'subject resolver authority digest');
862
- const { digest: supplied, ...body } = value;
863
- if (supplied !== digest(body))
864
- throw new Error('Subject erasure resolution digest mismatch');
865
- value.handles.forEach(assertHandle);
866
- }
867
- function assertHandle(value) {
868
- if (!value || value.version !== 1)
869
- throw new Error('Payload Vault handle is invalid');
870
- text(value.vaultObjectId, 'Vault object id');
871
- text(value.objectId, 'Payload object id');
872
- text(value.tenantId, 'Payload tenant id');
873
- text(value.projectId, 'Payload Project id');
874
- requiredDigest(value.payloadHash, 'Payload hash');
875
- requiredDigest(value.descriptorDigest, 'Payload Descriptor digest');
876
- requiredDigest(value.locationManifestDigest, 'Payload Location Manifest digest');
877
- }
878
- function header(command, signal) {
879
- signal.throwIfAborted();
880
- if (command.version !== 1)
881
- throw new Error('Payload Lifecycle command version is invalid');
882
- text(command.operationId, 'Payload Lifecycle operation id');
883
- text(command.authenticatedPrincipalId, 'Payload Lifecycle authenticated principal');
884
- }
885
- function exactKeys(value, keys, label) {
886
- const allowed = new Set(keys);
887
- for (const key of Object.keys(value)) {
888
- if (!allowed.has(key))
889
- throw new Error(`Payload Lifecycle ${label} contains forbidden field ${key}`);
890
- }
891
- for (const key of keys) {
892
- if (!(key in value))
893
- throw new Error(`Payload Lifecycle ${label} is missing ${key}`);
894
- }
895
- }
896
- function uniqueDigests(values, label) {
897
- if (!Array.isArray(values))
898
- throw new Error(`${label} list is invalid`);
899
- const normalized = [...new Set(values.map(value => requiredDigest(value, label)))].sort();
900
- if (normalized.length !== values.length || canonicalWorkroomJson(normalized) !== canonicalWorkroomJson(values)) {
901
- throw new Error(`${label} list is non-canonical`);
902
- }
903
- return deepFreeze(normalized);
904
- }
905
- function text(value, label) {
906
- if (typeof value !== 'string' || !value.trim() || value !== value.trim()
907
- || value.length > 512 || [...value].some(character => {
908
- const code = character.codePointAt(0);
909
- return code <= 31 || code === 127;
910
- })) {
911
- throw new Error(`${label} is invalid`);
912
- }
913
- return value;
914
- }
915
- function requiredDigest(value, label) {
916
- if (!/^sha256:[a-f0-9]{64}$/u.test(value))
917
- throw new Error(`${label} is invalid`);
918
- return value;
919
- }
920
- function positive(value, label) {
921
- if (!Number.isSafeInteger(value) || value < 1)
922
- throw new Error(`${label} must be positive`);
923
- return value;
924
- }
925
- function nonNegative(value, label) {
926
- if (!Number.isSafeInteger(value) || value < 0)
927
- throw new Error(`${label} must be non-negative`);
928
- return value;
929
- }
930
- //# sourceMappingURL=payload-lifecycle.js.map