@zhin.js/agent 1.1.31 → 1.1.33

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 (1095) hide show
  1. package/README.md +11 -23
  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 +41 -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 +369 -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 +7 -87
  135. package/lib/index.d.ts.map +1 -1
  136. package/lib/index.js +6 -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/ai-completion.d.ts +54 -0
  196. package/lib/plugin-runtime/ai-completion.d.ts.map +1 -0
  197. package/lib/plugin-runtime/ai-completion.js +120 -0
  198. package/lib/plugin-runtime/ai-completion.js.map +1 -0
  199. package/lib/plugin-runtime/deferred-capability-plan.d.ts +27 -24
  200. package/lib/plugin-runtime/deferred-capability-plan.d.ts.map +1 -1
  201. package/lib/plugin-runtime/deferred-capability-plan.js +52 -82
  202. package/lib/plugin-runtime/deferred-capability-plan.js.map +1 -1
  203. package/lib/plugin-runtime/file-search-scope.d.ts +22 -0
  204. package/lib/plugin-runtime/file-search-scope.d.ts.map +1 -0
  205. package/lib/plugin-runtime/file-search-scope.js +129 -0
  206. package/lib/plugin-runtime/file-search-scope.js.map +1 -0
  207. package/lib/plugin-runtime/full-agent-turn-engine.d.ts.map +1 -1
  208. package/lib/plugin-runtime/full-agent-turn-engine.js +177 -21
  209. package/lib/plugin-runtime/full-agent-turn-engine.js.map +1 -1
  210. package/lib/plugin-runtime/index.d.ts +1 -78
  211. package/lib/plugin-runtime/index.d.ts.map +1 -1
  212. package/lib/plugin-runtime/index.js +1 -77
  213. package/lib/plugin-runtime/index.js.map +1 -1
  214. package/lib/plugin-runtime/native-bash-tool.d.ts +12 -0
  215. package/lib/plugin-runtime/native-bash-tool.d.ts.map +1 -1
  216. package/lib/plugin-runtime/native-bash-tool.js +32 -8
  217. package/lib/plugin-runtime/native-bash-tool.js.map +1 -1
  218. package/lib/plugin-runtime/native-file-tools.d.ts.map +1 -1
  219. package/lib/plugin-runtime/native-file-tools.js +120 -51
  220. package/lib/plugin-runtime/native-file-tools.js.map +1 -1
  221. package/lib/plugin-runtime/native-semantic-memory-tools.d.ts +27 -1
  222. package/lib/plugin-runtime/native-semantic-memory-tools.d.ts.map +1 -1
  223. package/lib/plugin-runtime/native-semantic-memory-tools.js +87 -9
  224. package/lib/plugin-runtime/native-semantic-memory-tools.js.map +1 -1
  225. package/lib/plugin-runtime/subagent-turn-capability.d.ts +32 -0
  226. package/lib/plugin-runtime/subagent-turn-capability.d.ts.map +1 -0
  227. package/lib/plugin-runtime/subagent-turn-capability.js +168 -0
  228. package/lib/plugin-runtime/subagent-turn-capability.js.map +1 -0
  229. package/lib/prompt/estimate-tokens.d.ts +7 -0
  230. package/lib/prompt/estimate-tokens.d.ts.map +1 -0
  231. package/lib/prompt/estimate-tokens.js +12 -0
  232. package/lib/prompt/estimate-tokens.js.map +1 -0
  233. package/lib/prompt/system-prompt.d.ts +2 -0
  234. package/lib/prompt/system-prompt.d.ts.map +1 -1
  235. package/lib/prompt/system-prompt.js +13 -2
  236. package/lib/prompt/system-prompt.js.map +1 -1
  237. package/lib/routing/subagent-summarize.d.ts +1 -1
  238. package/lib/routing/subagent-summarize.d.ts.map +1 -1
  239. package/lib/routing/subagent-summarize.js +2 -2
  240. package/lib/routing/subagent-summarize.js.map +1 -1
  241. package/lib/security/file-role-policy.d.ts +4 -2
  242. package/lib/security/file-role-policy.d.ts.map +1 -1
  243. package/lib/security/file-role-policy.js +21 -9
  244. package/lib/security/file-role-policy.js.map +1 -1
  245. package/lib/security/network-authority.d.ts +24 -0
  246. package/lib/security/network-authority.d.ts.map +1 -0
  247. package/lib/security/network-authority.js +28 -0
  248. package/lib/security/network-authority.js.map +1 -0
  249. package/lib/security/outbound-leak-guard.d.ts +61 -0
  250. package/lib/security/outbound-leak-guard.d.ts.map +1 -0
  251. package/lib/security/outbound-leak-guard.js +145 -0
  252. package/lib/security/outbound-leak-guard.js.map +1 -0
  253. package/lib/security/policy-facade.d.ts.map +1 -1
  254. package/lib/security/policy-facade.js +12 -2
  255. package/lib/security/policy-facade.js.map +1 -1
  256. package/lib/security/policy-narrowing.d.ts +12 -0
  257. package/lib/security/policy-narrowing.d.ts.map +1 -0
  258. package/lib/security/policy-narrowing.js +38 -0
  259. package/lib/security/policy-narrowing.js.map +1 -0
  260. package/lib/security/provenance.d.ts +65 -0
  261. package/lib/security/provenance.d.ts.map +1 -0
  262. package/lib/security/provenance.js +112 -0
  263. package/lib/security/provenance.js.map +1 -0
  264. package/lib/security/trust-level.d.ts +76 -0
  265. package/lib/security/trust-level.d.ts.map +1 -0
  266. package/lib/security/trust-level.js +87 -0
  267. package/lib/security/trust-level.js.map +1 -0
  268. package/lib/security/turn-network-client.d.ts.map +1 -1
  269. package/lib/security/turn-network-client.js +2 -1
  270. package/lib/security/turn-network-client.js.map +1 -1
  271. package/lib/security/usage-quota.d.ts +73 -0
  272. package/lib/security/usage-quota.d.ts.map +1 -0
  273. package/lib/security/usage-quota.js +123 -0
  274. package/lib/security/usage-quota.js.map +1 -0
  275. package/lib/service.d.ts +9 -1
  276. package/lib/service.d.ts.map +1 -1
  277. package/lib/service.js +17 -2
  278. package/lib/service.js.map +1 -1
  279. package/lib/session/approval-port.d.ts +26 -0
  280. package/lib/session/approval-port.d.ts.map +1 -1
  281. package/lib/session/approval-port.js +36 -0
  282. package/lib/session/approval-port.js.map +1 -1
  283. package/lib/session/approval-review-agent.d.ts +2 -2
  284. package/lib/session/approval-review-agent.d.ts.map +1 -1
  285. package/lib/session/approval-review-agent.js +57 -39
  286. package/lib/session/approval-review-agent.js.map +1 -1
  287. package/lib/session/session-io.d.ts.map +1 -1
  288. package/lib/session/session-io.js +1 -0
  289. package/lib/session/session-io.js.map +1 -1
  290. package/lib/session/turn-ingress-session.d.ts.map +1 -1
  291. package/lib/session/turn-ingress-session.js +1 -0
  292. package/lib/session/turn-ingress-session.js.map +1 -1
  293. package/lib/skill/capability-catalog.d.ts +27 -0
  294. package/lib/skill/capability-catalog.d.ts.map +1 -0
  295. package/lib/skill/capability-catalog.js +70 -0
  296. package/lib/skill/capability-catalog.js.map +1 -0
  297. package/lib/tool/deferred-resolution.d.ts.map +1 -1
  298. package/lib/tool/deferred-resolution.js +2 -1
  299. package/lib/tool/deferred-resolution.js.map +1 -1
  300. package/lib/tool/turn-tool-runtime.d.ts +13 -1
  301. package/lib/tool/turn-tool-runtime.d.ts.map +1 -1
  302. package/lib/tool/turn-tool-runtime.js +81 -7
  303. package/lib/tool/turn-tool-runtime.js.map +1 -1
  304. package/lib/tool-catalog/deferred-turn-controller.d.ts +4 -0
  305. package/lib/tool-catalog/deferred-turn-controller.d.ts.map +1 -1
  306. package/lib/tool-catalog/deferred-turn-controller.js +13 -3
  307. package/lib/tool-catalog/deferred-turn-controller.js.map +1 -1
  308. package/lib/tool-catalog/resolve-config.d.ts.map +1 -1
  309. package/lib/tool-catalog/resolve-config.js +5 -1
  310. package/lib/tool-catalog/resolve-config.js.map +1 -1
  311. package/lib/tool-catalog/types.d.ts +14 -1
  312. package/lib/tool-catalog/types.d.ts.map +1 -1
  313. package/lib/tool-catalog/types.js +15 -0
  314. package/lib/tool-catalog/types.js.map +1 -1
  315. package/lib/trace/context-budget.d.ts +56 -0
  316. package/lib/trace/context-budget.d.ts.map +1 -0
  317. package/lib/trace/context-budget.js +102 -0
  318. package/lib/trace/context-budget.js.map +1 -0
  319. package/lib/trace/index.d.ts +12 -0
  320. package/lib/trace/index.d.ts.map +1 -0
  321. package/lib/trace/index.js +7 -0
  322. package/lib/trace/index.js.map +1 -0
  323. package/lib/trace/turn-trace-archive.d.ts +49 -0
  324. package/lib/trace/turn-trace-archive.d.ts.map +1 -0
  325. package/lib/trace/turn-trace-archive.js +208 -0
  326. package/lib/trace/turn-trace-archive.js.map +1 -0
  327. package/lib/trace/turn-trace-format.d.ts +10 -0
  328. package/lib/trace/turn-trace-format.d.ts.map +1 -0
  329. package/lib/trace/turn-trace-format.js +132 -0
  330. package/lib/trace/turn-trace-format.js.map +1 -0
  331. package/lib/trace/turn-trace-registry.d.ts +30 -0
  332. package/lib/trace/turn-trace-registry.d.ts.map +1 -0
  333. package/lib/trace/turn-trace-registry.js +62 -0
  334. package/lib/trace/turn-trace-registry.js.map +1 -0
  335. package/lib/trace/turn-trace-store.d.ts +15 -0
  336. package/lib/trace/turn-trace-store.d.ts.map +1 -0
  337. package/lib/trace/turn-trace-store.js +67 -0
  338. package/lib/trace/turn-trace-store.js.map +1 -0
  339. package/lib/trace/turn-trace.d.ts +147 -0
  340. package/lib/trace/turn-trace.d.ts.map +1 -0
  341. package/lib/trace/turn-trace.js +341 -0
  342. package/lib/trace/turn-trace.js.map +1 -0
  343. package/lib/turn/execute-agent-turn.d.ts.map +1 -1
  344. package/lib/turn/execute-agent-turn.js +21 -10
  345. package/lib/turn/execute-agent-turn.js.map +1 -1
  346. package/lib/turn/inbound-media.d.ts +15 -0
  347. package/lib/turn/inbound-media.d.ts.map +1 -1
  348. package/lib/turn/inbound-media.js +41 -1
  349. package/lib/turn/inbound-media.js.map +1 -1
  350. package/lib/turn/inbound-queue-config.d.ts +1 -0
  351. package/lib/turn/inbound-queue-config.d.ts.map +1 -1
  352. package/lib/turn/inbound-queue-config.js +9 -1
  353. package/lib/turn/inbound-queue-config.js.map +1 -1
  354. package/lib/turn/index.d.ts +5 -0
  355. package/lib/turn/index.d.ts.map +1 -1
  356. package/lib/turn/index.js +4 -0
  357. package/lib/turn/index.js.map +1 -1
  358. package/lib/turn/journal-feed.d.ts +31 -0
  359. package/lib/turn/journal-feed.d.ts.map +1 -0
  360. package/lib/turn/journal-feed.js +43 -0
  361. package/lib/turn/journal-feed.js.map +1 -0
  362. package/lib/turn/turn-admission-gate.d.ts +62 -0
  363. package/lib/turn/turn-admission-gate.d.ts.map +1 -0
  364. package/lib/turn/turn-admission-gate.js +194 -0
  365. package/lib/turn/turn-admission-gate.js.map +1 -0
  366. package/lib/turn/turn-ingress.d.ts +4 -0
  367. package/lib/turn/turn-ingress.d.ts.map +1 -1
  368. package/lib/turn/turn-ingress.js.map +1 -1
  369. package/lib/turn/turn-pipeline.js +1 -0
  370. package/lib/turn/turn-pipeline.js.map +1 -1
  371. package/lib/zhin-agent/index.d.ts +9 -0
  372. package/lib/zhin-agent/index.d.ts.map +1 -1
  373. package/lib/zhin-agent/index.js +13 -0
  374. package/lib/zhin-agent/index.js.map +1 -1
  375. package/package.json +21 -33
  376. package/lib/data-governance/data-governance.d.ts +0 -198
  377. package/lib/data-governance/data-governance.d.ts.map +0 -1
  378. package/lib/data-governance/data-governance.js +0 -660
  379. package/lib/data-governance/data-governance.js.map +0 -1
  380. package/lib/data-governance/database-payload-lifecycle-repository.d.ts +0 -68
  381. package/lib/data-governance/database-payload-lifecycle-repository.d.ts.map +0 -1
  382. package/lib/data-governance/database-payload-lifecycle-repository.js +0 -226
  383. package/lib/data-governance/database-payload-lifecycle-repository.js.map +0 -1
  384. package/lib/data-governance/disclosure-authority.d.ts +0 -38
  385. package/lib/data-governance/disclosure-authority.d.ts.map +0 -1
  386. package/lib/data-governance/disclosure-authority.js +0 -2
  387. package/lib/data-governance/disclosure-authority.js.map +0 -1
  388. package/lib/data-governance/disclosure-manifest.d.ts +0 -110
  389. package/lib/data-governance/disclosure-manifest.d.ts.map +0 -1
  390. package/lib/data-governance/disclosure-manifest.js +0 -264
  391. package/lib/data-governance/disclosure-manifest.js.map +0 -1
  392. package/lib/data-governance/encrypted-database-payload-vault.d.ts +0 -107
  393. package/lib/data-governance/encrypted-database-payload-vault.d.ts.map +0 -1
  394. package/lib/data-governance/encrypted-database-payload-vault.js +0 -236
  395. package/lib/data-governance/encrypted-database-payload-vault.js.map +0 -1
  396. package/lib/data-governance/encrypted-file-payload-vault.d.ts +0 -117
  397. package/lib/data-governance/encrypted-file-payload-vault.d.ts.map +0 -1
  398. package/lib/data-governance/encrypted-file-payload-vault.js +0 -507
  399. package/lib/data-governance/encrypted-file-payload-vault.js.map +0 -1
  400. package/lib/data-governance/file-payload-lifecycle-repository.d.ts +0 -19
  401. package/lib/data-governance/file-payload-lifecycle-repository.d.ts.map +0 -1
  402. package/lib/data-governance/file-payload-lifecycle-repository.js +0 -194
  403. package/lib/data-governance/file-payload-lifecycle-repository.js.map +0 -1
  404. package/lib/data-governance/governance-authority-repository.d.ts +0 -152
  405. package/lib/data-governance/governance-authority-repository.d.ts.map +0 -1
  406. package/lib/data-governance/governance-authority-repository.js +0 -455
  407. package/lib/data-governance/governance-authority-repository.js.map +0 -1
  408. package/lib/data-governance/governed-payload-write-saga.d.ts +0 -126
  409. package/lib/data-governance/governed-payload-write-saga.d.ts.map +0 -1
  410. package/lib/data-governance/governed-payload-write-saga.js +0 -471
  411. package/lib/data-governance/governed-payload-write-saga.js.map +0 -1
  412. package/lib/data-governance/payload-hold-overdue-projection.d.ts +0 -57
  413. package/lib/data-governance/payload-hold-overdue-projection.d.ts.map +0 -1
  414. package/lib/data-governance/payload-hold-overdue-projection.js +0 -80
  415. package/lib/data-governance/payload-hold-overdue-projection.js.map +0 -1
  416. package/lib/data-governance/payload-lifecycle.d.ts +0 -359
  417. package/lib/data-governance/payload-lifecycle.d.ts.map +0 -1
  418. package/lib/data-governance/payload-lifecycle.js +0 -930
  419. package/lib/data-governance/payload-lifecycle.js.map +0 -1
  420. package/lib/data-governance/payload-vault-storage-handoff.d.ts +0 -255
  421. package/lib/data-governance/payload-vault-storage-handoff.d.ts.map +0 -1
  422. package/lib/data-governance/payload-vault-storage-handoff.js +0 -471
  423. package/lib/data-governance/payload-vault-storage-handoff.js.map +0 -1
  424. package/lib/plugin-runtime/database-overlay-pack-promotion-repository.d.ts +0 -70
  425. package/lib/plugin-runtime/database-overlay-pack-promotion-repository.d.ts.map +0 -1
  426. package/lib/plugin-runtime/database-overlay-pack-promotion-repository.js +0 -203
  427. package/lib/plugin-runtime/database-overlay-pack-promotion-repository.js.map +0 -1
  428. package/lib/plugin-runtime/github-actions-delivery-provider.d.ts +0 -44
  429. package/lib/plugin-runtime/github-actions-delivery-provider.d.ts.map +0 -1
  430. package/lib/plugin-runtime/github-actions-delivery-provider.js +0 -246
  431. package/lib/plugin-runtime/github-actions-delivery-provider.js.map +0 -1
  432. package/lib/plugin-runtime/github-exact-merge-gateway.d.ts +0 -62
  433. package/lib/plugin-runtime/github-exact-merge-gateway.d.ts.map +0 -1
  434. package/lib/plugin-runtime/github-exact-merge-gateway.js +0 -79
  435. package/lib/plugin-runtime/github-exact-merge-gateway.js.map +0 -1
  436. package/lib/plugin-runtime/github-workroom-capability.d.ts +0 -15
  437. package/lib/plugin-runtime/github-workroom-capability.d.ts.map +0 -1
  438. package/lib/plugin-runtime/github-workroom-capability.js +0 -79
  439. package/lib/plugin-runtime/github-workroom-capability.js.map +0 -1
  440. package/lib/plugin-runtime/self-delivery-project-composition.d.ts +0 -25
  441. package/lib/plugin-runtime/self-delivery-project-composition.d.ts.map +0 -1
  442. package/lib/plugin-runtime/self-delivery-project-composition.js +0 -85
  443. package/lib/plugin-runtime/self-delivery-project-composition.js.map +0 -1
  444. package/lib/plugin-runtime/self-delivery-project.d.ts +0 -65
  445. package/lib/plugin-runtime/self-delivery-project.d.ts.map +0 -1
  446. package/lib/plugin-runtime/self-delivery-project.js +0 -140
  447. package/lib/plugin-runtime/self-delivery-project.js.map +0 -1
  448. package/lib/plugin-runtime/workroom-acceptance-authority.d.ts +0 -5
  449. package/lib/plugin-runtime/workroom-acceptance-authority.d.ts.map +0 -1
  450. package/lib/plugin-runtime/workroom-acceptance-authority.js +0 -14
  451. package/lib/plugin-runtime/workroom-acceptance-authority.js.map +0 -1
  452. package/lib/plugin-runtime/workroom-acceptance-fact-providers.d.ts +0 -233
  453. package/lib/plugin-runtime/workroom-acceptance-fact-providers.d.ts.map +0 -1
  454. package/lib/plugin-runtime/workroom-acceptance-fact-providers.js +0 -517
  455. package/lib/plugin-runtime/workroom-acceptance-fact-providers.js.map +0 -1
  456. package/lib/plugin-runtime/workroom-acceptance-internal-providers.d.ts +0 -139
  457. package/lib/plugin-runtime/workroom-acceptance-internal-providers.d.ts.map +0 -1
  458. package/lib/plugin-runtime/workroom-acceptance-internal-providers.js +0 -435
  459. package/lib/plugin-runtime/workroom-acceptance-internal-providers.js.map +0 -1
  460. package/lib/plugin-runtime/workroom-acceptance-policy.d.ts +0 -4
  461. package/lib/plugin-runtime/workroom-acceptance-policy.d.ts.map +0 -1
  462. package/lib/plugin-runtime/workroom-acceptance-policy.js +0 -20
  463. package/lib/plugin-runtime/workroom-acceptance-policy.js.map +0 -1
  464. package/lib/plugin-runtime/workroom-acceptance-production-composition.d.ts +0 -177
  465. package/lib/plugin-runtime/workroom-acceptance-production-composition.d.ts.map +0 -1
  466. package/lib/plugin-runtime/workroom-acceptance-production-composition.js +0 -794
  467. package/lib/plugin-runtime/workroom-acceptance-production-composition.js.map +0 -1
  468. package/lib/plugin-runtime/workroom-acceptance-provider-composition.d.ts +0 -189
  469. package/lib/plugin-runtime/workroom-acceptance-provider-composition.d.ts.map +0 -1
  470. package/lib/plugin-runtime/workroom-acceptance-provider-composition.js +0 -590
  471. package/lib/plugin-runtime/workroom-acceptance-provider-composition.js.map +0 -1
  472. package/lib/plugin-runtime/workroom-accepted-source-runtime.d.ts +0 -75
  473. package/lib/plugin-runtime/workroom-accepted-source-runtime.d.ts.map +0 -1
  474. package/lib/plugin-runtime/workroom-accepted-source-runtime.js +0 -267
  475. package/lib/plugin-runtime/workroom-accepted-source-runtime.js.map +0 -1
  476. package/lib/plugin-runtime/workroom-assignment-authority-grant-runtime.d.ts +0 -42
  477. package/lib/plugin-runtime/workroom-assignment-authority-grant-runtime.d.ts.map +0 -1
  478. package/lib/plugin-runtime/workroom-assignment-authority-grant-runtime.js +0 -90
  479. package/lib/plugin-runtime/workroom-assignment-authority-grant-runtime.js.map +0 -1
  480. package/lib/plugin-runtime/workroom-assignment-authority-provider.d.ts +0 -84
  481. package/lib/plugin-runtime/workroom-assignment-authority-provider.d.ts.map +0 -1
  482. package/lib/plugin-runtime/workroom-assignment-authority-provider.js +0 -494
  483. package/lib/plugin-runtime/workroom-assignment-authority-provider.js.map +0 -1
  484. package/lib/plugin-runtime/workroom-assignment-knowledge-composition.d.ts +0 -58
  485. package/lib/plugin-runtime/workroom-assignment-knowledge-composition.d.ts.map +0 -1
  486. package/lib/plugin-runtime/workroom-assignment-knowledge-composition.js +0 -218
  487. package/lib/plugin-runtime/workroom-assignment-knowledge-composition.js.map +0 -1
  488. package/lib/plugin-runtime/workroom-data-governance-authority-writer.d.ts +0 -49
  489. package/lib/plugin-runtime/workroom-data-governance-authority-writer.d.ts.map +0 -1
  490. package/lib/plugin-runtime/workroom-data-governance-authority-writer.js +0 -140
  491. package/lib/plugin-runtime/workroom-data-governance-authority-writer.js.map +0 -1
  492. package/lib/plugin-runtime/workroom-data-governance-bootstrap.d.ts +0 -27
  493. package/lib/plugin-runtime/workroom-data-governance-bootstrap.d.ts.map +0 -1
  494. package/lib/plugin-runtime/workroom-data-governance-bootstrap.js +0 -324
  495. package/lib/plugin-runtime/workroom-data-governance-bootstrap.js.map +0 -1
  496. package/lib/plugin-runtime/workroom-data-governance-composition.d.ts +0 -28
  497. package/lib/plugin-runtime/workroom-data-governance-composition.d.ts.map +0 -1
  498. package/lib/plugin-runtime/workroom-data-governance-composition.js +0 -41
  499. package/lib/plugin-runtime/workroom-data-governance-composition.js.map +0 -1
  500. package/lib/plugin-runtime/workroom-data-governance-root-provider.d.ts +0 -51
  501. package/lib/plugin-runtime/workroom-data-governance-root-provider.d.ts.map +0 -1
  502. package/lib/plugin-runtime/workroom-data-governance-root-provider.js +0 -66
  503. package/lib/plugin-runtime/workroom-data-governance-root-provider.js.map +0 -1
  504. package/lib/plugin-runtime/workroom-data-governance-runtime.d.ts +0 -100
  505. package/lib/plugin-runtime/workroom-data-governance-runtime.d.ts.map +0 -1
  506. package/lib/plugin-runtime/workroom-data-governance-runtime.js +0 -1356
  507. package/lib/plugin-runtime/workroom-data-governance-runtime.js.map +0 -1
  508. package/lib/plugin-runtime/workroom-data-governance-storage.d.ts +0 -66
  509. package/lib/plugin-runtime/workroom-data-governance-storage.d.ts.map +0 -1
  510. package/lib/plugin-runtime/workroom-data-governance-storage.js +0 -159
  511. package/lib/plugin-runtime/workroom-data-governance-storage.js.map +0 -1
  512. package/lib/plugin-runtime/workroom-data-lifecycle-composition.d.ts +0 -37
  513. package/lib/plugin-runtime/workroom-data-lifecycle-composition.d.ts.map +0 -1
  514. package/lib/plugin-runtime/workroom-data-lifecycle-composition.js +0 -131
  515. package/lib/plugin-runtime/workroom-data-lifecycle-composition.js.map +0 -1
  516. package/lib/plugin-runtime/workroom-data-lifecycle-console.d.ts +0 -238
  517. package/lib/plugin-runtime/workroom-data-lifecycle-console.d.ts.map +0 -1
  518. package/lib/plugin-runtime/workroom-data-lifecycle-console.js +0 -495
  519. package/lib/plugin-runtime/workroom-data-lifecycle-console.js.map +0 -1
  520. package/lib/plugin-runtime/workroom-data-lifecycle-human-ingress.d.ts +0 -15
  521. package/lib/plugin-runtime/workroom-data-lifecycle-human-ingress.d.ts.map +0 -1
  522. package/lib/plugin-runtime/workroom-data-lifecycle-human-ingress.js +0 -119
  523. package/lib/plugin-runtime/workroom-data-lifecycle-human-ingress.js.map +0 -1
  524. package/lib/plugin-runtime/workroom-delivery-gateway.d.ts +0 -96
  525. package/lib/plugin-runtime/workroom-delivery-gateway.d.ts.map +0 -1
  526. package/lib/plugin-runtime/workroom-delivery-gateway.js +0 -129
  527. package/lib/plugin-runtime/workroom-delivery-gateway.js.map +0 -1
  528. package/lib/plugin-runtime/workroom-dynamic-planning-provider.d.ts +0 -142
  529. package/lib/plugin-runtime/workroom-dynamic-planning-provider.d.ts.map +0 -1
  530. package/lib/plugin-runtime/workroom-dynamic-planning-provider.js +0 -302
  531. package/lib/plugin-runtime/workroom-dynamic-planning-provider.js.map +0 -1
  532. package/lib/plugin-runtime/workroom-dynamic-planning.d.ts +0 -4
  533. package/lib/plugin-runtime/workroom-dynamic-planning.d.ts.map +0 -1
  534. package/lib/plugin-runtime/workroom-dynamic-planning.js +0 -13
  535. package/lib/plugin-runtime/workroom-dynamic-planning.js.map +0 -1
  536. package/lib/plugin-runtime/workroom-effect-composition.d.ts +0 -37
  537. package/lib/plugin-runtime/workroom-effect-composition.d.ts.map +0 -1
  538. package/lib/plugin-runtime/workroom-effect-composition.js +0 -80
  539. package/lib/plugin-runtime/workroom-effect-composition.js.map +0 -1
  540. package/lib/plugin-runtime/workroom-effect-production.d.ts +0 -138
  541. package/lib/plugin-runtime/workroom-effect-production.d.ts.map +0 -1
  542. package/lib/plugin-runtime/workroom-effect-production.js +0 -291
  543. package/lib/plugin-runtime/workroom-effect-production.js.map +0 -1
  544. package/lib/plugin-runtime/workroom-effect-runtime.d.ts +0 -56
  545. package/lib/plugin-runtime/workroom-effect-runtime.d.ts.map +0 -1
  546. package/lib/plugin-runtime/workroom-effect-runtime.js +0 -239
  547. package/lib/plugin-runtime/workroom-effect-runtime.js.map +0 -1
  548. package/lib/plugin-runtime/workroom-governed-dispatch-composition.d.ts +0 -32
  549. package/lib/plugin-runtime/workroom-governed-dispatch-composition.d.ts.map +0 -1
  550. package/lib/plugin-runtime/workroom-governed-dispatch-composition.js +0 -43
  551. package/lib/plugin-runtime/workroom-governed-dispatch-composition.js.map +0 -1
  552. package/lib/plugin-runtime/workroom-journal-payload-composition.d.ts +0 -16
  553. package/lib/plugin-runtime/workroom-journal-payload-composition.d.ts.map +0 -1
  554. package/lib/plugin-runtime/workroom-journal-payload-composition.js +0 -69
  555. package/lib/plugin-runtime/workroom-journal-payload-composition.js.map +0 -1
  556. package/lib/plugin-runtime/workroom-local-agent-core-adapter.d.ts +0 -17
  557. package/lib/plugin-runtime/workroom-local-agent-core-adapter.d.ts.map +0 -1
  558. package/lib/plugin-runtime/workroom-local-agent-core-adapter.js +0 -101
  559. package/lib/plugin-runtime/workroom-local-agent-core-adapter.js.map +0 -1
  560. package/lib/plugin-runtime/workroom-local-agent-loop.d.ts +0 -91
  561. package/lib/plugin-runtime/workroom-local-agent-loop.d.ts.map +0 -1
  562. package/lib/plugin-runtime/workroom-local-agent-loop.js +0 -313
  563. package/lib/plugin-runtime/workroom-local-agent-loop.js.map +0 -1
  564. package/lib/plugin-runtime/workroom-local-assignment-authority.d.ts +0 -5
  565. package/lib/plugin-runtime/workroom-local-assignment-authority.d.ts.map +0 -1
  566. package/lib/plugin-runtime/workroom-local-assignment-authority.js +0 -16
  567. package/lib/plugin-runtime/workroom-local-assignment-authority.js.map +0 -1
  568. package/lib/plugin-runtime/workroom-local-assignment-executor.d.ts +0 -59
  569. package/lib/plugin-runtime/workroom-local-assignment-executor.d.ts.map +0 -1
  570. package/lib/plugin-runtime/workroom-local-assignment-executor.js +0 -197
  571. package/lib/plugin-runtime/workroom-local-assignment-executor.js.map +0 -1
  572. package/lib/plugin-runtime/workroom-local-assignment-runtime.d.ts +0 -34
  573. package/lib/plugin-runtime/workroom-local-assignment-runtime.d.ts.map +0 -1
  574. package/lib/plugin-runtime/workroom-local-assignment-runtime.js +0 -235
  575. package/lib/plugin-runtime/workroom-local-assignment-runtime.js.map +0 -1
  576. package/lib/plugin-runtime/workroom-local-assignment-supply.d.ts +0 -39
  577. package/lib/plugin-runtime/workroom-local-assignment-supply.d.ts.map +0 -1
  578. package/lib/plugin-runtime/workroom-local-assignment-supply.js +0 -107
  579. package/lib/plugin-runtime/workroom-local-assignment-supply.js.map +0 -1
  580. package/lib/plugin-runtime/workroom-overlay-pack-promotion.d.ts +0 -145
  581. package/lib/plugin-runtime/workroom-overlay-pack-promotion.d.ts.map +0 -1
  582. package/lib/plugin-runtime/workroom-overlay-pack-promotion.js +0 -516
  583. package/lib/plugin-runtime/workroom-overlay-pack-promotion.js.map +0 -1
  584. package/lib/plugin-runtime/workroom-payload-processor-recall.d.ts +0 -91
  585. package/lib/plugin-runtime/workroom-payload-processor-recall.d.ts.map +0 -1
  586. package/lib/plugin-runtime/workroom-payload-processor-recall.js +0 -189
  587. package/lib/plugin-runtime/workroom-payload-processor-recall.js.map +0 -1
  588. package/lib/plugin-runtime/workroom-plan-gate-authority.d.ts +0 -7
  589. package/lib/plugin-runtime/workroom-plan-gate-authority.d.ts.map +0 -1
  590. package/lib/plugin-runtime/workroom-plan-gate-authority.js +0 -40
  591. package/lib/plugin-runtime/workroom-plan-gate-authority.js.map +0 -1
  592. package/lib/plugin-runtime/workroom-portfolio-capacity.d.ts +0 -132
  593. package/lib/plugin-runtime/workroom-portfolio-capacity.d.ts.map +0 -1
  594. package/lib/plugin-runtime/workroom-portfolio-capacity.js +0 -189
  595. package/lib/plugin-runtime/workroom-portfolio-capacity.js.map +0 -1
  596. package/lib/plugin-runtime/workroom-portfolio-checkpoint-ack.d.ts +0 -38
  597. package/lib/plugin-runtime/workroom-portfolio-checkpoint-ack.d.ts.map +0 -1
  598. package/lib/plugin-runtime/workroom-portfolio-checkpoint-ack.js +0 -103
  599. package/lib/plugin-runtime/workroom-portfolio-checkpoint-ack.js.map +0 -1
  600. package/lib/plugin-runtime/workroom-portfolio-control-composition.d.ts +0 -30
  601. package/lib/plugin-runtime/workroom-portfolio-control-composition.d.ts.map +0 -1
  602. package/lib/plugin-runtime/workroom-portfolio-control-composition.js +0 -103
  603. package/lib/plugin-runtime/workroom-portfolio-control-composition.js.map +0 -1
  604. package/lib/plugin-runtime/workroom-portfolio-control-runtime.d.ts +0 -42
  605. package/lib/plugin-runtime/workroom-portfolio-control-runtime.d.ts.map +0 -1
  606. package/lib/plugin-runtime/workroom-portfolio-control-runtime.js +0 -209
  607. package/lib/plugin-runtime/workroom-portfolio-control-runtime.js.map +0 -1
  608. package/lib/plugin-runtime/workroom-portfolio-grant-assignment.d.ts +0 -141
  609. package/lib/plugin-runtime/workroom-portfolio-grant-assignment.d.ts.map +0 -1
  610. package/lib/plugin-runtime/workroom-portfolio-grant-assignment.js +0 -334
  611. package/lib/plugin-runtime/workroom-portfolio-grant-assignment.js.map +0 -1
  612. package/lib/plugin-runtime/workroom-portfolio-kernel-authority.d.ts +0 -23
  613. package/lib/plugin-runtime/workroom-portfolio-kernel-authority.d.ts.map +0 -1
  614. package/lib/plugin-runtime/workroom-portfolio-kernel-authority.js +0 -88
  615. package/lib/plugin-runtime/workroom-portfolio-kernel-authority.js.map +0 -1
  616. package/lib/plugin-runtime/workroom-portfolio-sponsor.d.ts +0 -96
  617. package/lib/plugin-runtime/workroom-portfolio-sponsor.d.ts.map +0 -1
  618. package/lib/plugin-runtime/workroom-portfolio-sponsor.js +0 -313
  619. package/lib/plugin-runtime/workroom-portfolio-sponsor.js.map +0 -1
  620. package/lib/plugin-runtime/workroom-preemption-runtime.d.ts +0 -57
  621. package/lib/plugin-runtime/workroom-preemption-runtime.d.ts.map +0 -1
  622. package/lib/plugin-runtime/workroom-preemption-runtime.js +0 -163
  623. package/lib/plugin-runtime/workroom-preemption-runtime.js.map +0 -1
  624. package/lib/plugin-runtime/workroom-priority-authority.d.ts +0 -19
  625. package/lib/plugin-runtime/workroom-priority-authority.d.ts.map +0 -1
  626. package/lib/plugin-runtime/workroom-priority-authority.js +0 -76
  627. package/lib/plugin-runtime/workroom-priority-authority.js.map +0 -1
  628. package/lib/plugin-runtime/workroom-profile-authority-composition.d.ts +0 -61
  629. package/lib/plugin-runtime/workroom-profile-authority-composition.d.ts.map +0 -1
  630. package/lib/plugin-runtime/workroom-profile-authority-composition.js +0 -232
  631. package/lib/plugin-runtime/workroom-profile-authority-composition.js.map +0 -1
  632. package/lib/plugin-runtime/workroom-profile-authority-runtime.d.ts +0 -229
  633. package/lib/plugin-runtime/workroom-profile-authority-runtime.d.ts.map +0 -1
  634. package/lib/plugin-runtime/workroom-profile-authority-runtime.js +0 -1133
  635. package/lib/plugin-runtime/workroom-profile-authority-runtime.js.map +0 -1
  636. package/lib/plugin-runtime/workroom-projection-outbound.d.ts +0 -10
  637. package/lib/plugin-runtime/workroom-projection-outbound.d.ts.map +0 -1
  638. package/lib/plugin-runtime/workroom-projection-outbound.js +0 -35
  639. package/lib/plugin-runtime/workroom-projection-outbound.js.map +0 -1
  640. package/lib/plugin-runtime/workroom-projection-runtime.d.ts +0 -93
  641. package/lib/plugin-runtime/workroom-projection-runtime.d.ts.map +0 -1
  642. package/lib/plugin-runtime/workroom-projection-runtime.js +0 -476
  643. package/lib/plugin-runtime/workroom-projection-runtime.js.map +0 -1
  644. package/lib/plugin-runtime/workroom-remote-assignment-authority.d.ts +0 -9
  645. package/lib/plugin-runtime/workroom-remote-assignment-authority.d.ts.map +0 -1
  646. package/lib/plugin-runtime/workroom-remote-assignment-authority.js +0 -20
  647. package/lib/plugin-runtime/workroom-remote-assignment-authority.js.map +0 -1
  648. package/lib/plugin-runtime/workroom-remote-callback-runtime.d.ts +0 -38
  649. package/lib/plugin-runtime/workroom-remote-callback-runtime.d.ts.map +0 -1
  650. package/lib/plugin-runtime/workroom-remote-callback-runtime.js +0 -80
  651. package/lib/plugin-runtime/workroom-remote-callback-runtime.js.map +0 -1
  652. package/lib/plugin-runtime/workroom-remote-executor.d.ts +0 -9
  653. package/lib/plugin-runtime/workroom-remote-executor.d.ts.map +0 -1
  654. package/lib/plugin-runtime/workroom-remote-executor.js +0 -23
  655. package/lib/plugin-runtime/workroom-remote-executor.js.map +0 -1
  656. package/lib/plugin-runtime/workroom-reviewer-authority-runtime.d.ts +0 -72
  657. package/lib/plugin-runtime/workroom-reviewer-authority-runtime.d.ts.map +0 -1
  658. package/lib/plugin-runtime/workroom-reviewer-authority-runtime.js +0 -142
  659. package/lib/plugin-runtime/workroom-reviewer-authority-runtime.js.map +0 -1
  660. package/lib/plugin-runtime/workroom-risk-acceptance-runtime.d.ts +0 -112
  661. package/lib/plugin-runtime/workroom-risk-acceptance-runtime.d.ts.map +0 -1
  662. package/lib/plugin-runtime/workroom-risk-acceptance-runtime.js +0 -376
  663. package/lib/plugin-runtime/workroom-risk-acceptance-runtime.js.map +0 -1
  664. package/lib/plugin-runtime/workroom-run-profile-pin-authority.d.ts +0 -42
  665. package/lib/plugin-runtime/workroom-run-profile-pin-authority.d.ts.map +0 -1
  666. package/lib/plugin-runtime/workroom-run-profile-pin-authority.js +0 -125
  667. package/lib/plugin-runtime/workroom-run-profile-pin-authority.js.map +0 -1
  668. package/lib/plugin-runtime/workroom-scheduler-portfolio-composition.d.ts +0 -32
  669. package/lib/plugin-runtime/workroom-scheduler-portfolio-composition.d.ts.map +0 -1
  670. package/lib/plugin-runtime/workroom-scheduler-portfolio-composition.js +0 -83
  671. package/lib/plugin-runtime/workroom-scheduler-portfolio-composition.js.map +0 -1
  672. package/lib/plugin-runtime/workroom-scheduler-portfolio-contract.d.ts +0 -16
  673. package/lib/plugin-runtime/workroom-scheduler-portfolio-contract.d.ts.map +0 -1
  674. package/lib/plugin-runtime/workroom-scheduler-portfolio-contract.js +0 -49
  675. package/lib/plugin-runtime/workroom-scheduler-portfolio-contract.js.map +0 -1
  676. package/lib/plugin-runtime/workroom-scheduler-portfolio-request-authority.d.ts +0 -66
  677. package/lib/plugin-runtime/workroom-scheduler-portfolio-request-authority.d.ts.map +0 -1
  678. package/lib/plugin-runtime/workroom-scheduler-portfolio-request-authority.js +0 -250
  679. package/lib/plugin-runtime/workroom-scheduler-portfolio-request-authority.js.map +0 -1
  680. package/lib/plugin-runtime/workroom-scheduler-portfolio-supply.d.ts +0 -42
  681. package/lib/plugin-runtime/workroom-scheduler-portfolio-supply.d.ts.map +0 -1
  682. package/lib/plugin-runtime/workroom-scheduler-portfolio-supply.js +0 -141
  683. package/lib/plugin-runtime/workroom-scheduler-portfolio-supply.js.map +0 -1
  684. package/lib/plugin-runtime/workroom-scheduler-route-registry.d.ts +0 -27
  685. package/lib/plugin-runtime/workroom-scheduler-route-registry.d.ts.map +0 -1
  686. package/lib/plugin-runtime/workroom-scheduler-route-registry.js +0 -136
  687. package/lib/plugin-runtime/workroom-scheduler-route-registry.js.map +0 -1
  688. package/lib/plugin-runtime/workroom-scheduler-runtime.d.ts +0 -84
  689. package/lib/plugin-runtime/workroom-scheduler-runtime.d.ts.map +0 -1
  690. package/lib/plugin-runtime/workroom-scheduler-runtime.js +0 -236
  691. package/lib/plugin-runtime/workroom-scheduler-runtime.js.map +0 -1
  692. package/lib/portfolio/capacity-control-outbox.d.ts +0 -174
  693. package/lib/portfolio/capacity-control-outbox.d.ts.map +0 -1
  694. package/lib/portfolio/capacity-control-outbox.js +0 -338
  695. package/lib/portfolio/capacity-control-outbox.js.map +0 -1
  696. package/lib/portfolio/database-capacity-control-outbox.d.ts +0 -62
  697. package/lib/portfolio/database-capacity-control-outbox.d.ts.map +0 -1
  698. package/lib/portfolio/database-capacity-control-outbox.js +0 -166
  699. package/lib/portfolio/database-capacity-control-outbox.js.map +0 -1
  700. package/lib/portfolio/file-capacity-control-outbox.d.ts +0 -10
  701. package/lib/portfolio/file-capacity-control-outbox.d.ts.map +0 -1
  702. package/lib/portfolio/file-capacity-control-outbox.js +0 -113
  703. package/lib/portfolio/file-capacity-control-outbox.js.map +0 -1
  704. package/lib/portfolio/file-portfolio-journal.d.ts +0 -11
  705. package/lib/portfolio/file-portfolio-journal.d.ts.map +0 -1
  706. package/lib/portfolio/file-portfolio-journal.js +0 -196
  707. package/lib/portfolio/file-portfolio-journal.js.map +0 -1
  708. package/lib/portfolio/portfolio-admission.d.ts +0 -95
  709. package/lib/portfolio/portfolio-admission.d.ts.map +0 -1
  710. package/lib/portfolio/portfolio-admission.js +0 -1080
  711. package/lib/portfolio/portfolio-admission.js.map +0 -1
  712. package/lib/portfolio/portfolio-journal.d.ts +0 -359
  713. package/lib/portfolio/portfolio-journal.d.ts.map +0 -1
  714. package/lib/portfolio/portfolio-journal.js +0 -844
  715. package/lib/portfolio/portfolio-journal.js.map +0 -1
  716. package/lib/portfolio/resource-bundle.d.ts +0 -136
  717. package/lib/portfolio/resource-bundle.d.ts.map +0 -1
  718. package/lib/portfolio/resource-bundle.js +0 -387
  719. package/lib/portfolio/resource-bundle.js.map +0 -1
  720. package/lib/portfolio/sponsor-projection.d.ts +0 -78
  721. package/lib/portfolio/sponsor-projection.d.ts.map +0 -1
  722. package/lib/portfolio/sponsor-projection.js +0 -135
  723. package/lib/portfolio/sponsor-projection.js.map +0 -1
  724. package/lib/routing/match-rules.d.ts +0 -4
  725. package/lib/routing/match-rules.d.ts.map +0 -1
  726. package/lib/routing/match-rules.js +0 -29
  727. package/lib/routing/match-rules.js.map +0 -1
  728. package/lib/routing/route-matcher.d.ts +0 -16
  729. package/lib/routing/route-matcher.d.ts.map +0 -1
  730. package/lib/routing/route-matcher.js +0 -62
  731. package/lib/routing/route-matcher.js.map +0 -1
  732. package/lib/routing/workroom-bot-identity.d.ts +0 -22
  733. package/lib/routing/workroom-bot-identity.d.ts.map +0 -1
  734. package/lib/routing/workroom-bot-identity.js +0 -53
  735. package/lib/routing/workroom-bot-identity.js.map +0 -1
  736. package/lib/workroom/acceptance-control.d.ts +0 -77
  737. package/lib/workroom/acceptance-control.d.ts.map +0 -1
  738. package/lib/workroom/acceptance-control.js +0 -345
  739. package/lib/workroom/acceptance-control.js.map +0 -1
  740. package/lib/workroom/acceptance-policy.d.ts +0 -152
  741. package/lib/workroom/acceptance-policy.d.ts.map +0 -1
  742. package/lib/workroom/acceptance-policy.js +0 -610
  743. package/lib/workroom/acceptance-policy.js.map +0 -1
  744. package/lib/workroom/accepted-source-memory-application.d.ts +0 -113
  745. package/lib/workroom/accepted-source-memory-application.d.ts.map +0 -1
  746. package/lib/workroom/accepted-source-memory-application.js +0 -327
  747. package/lib/workroom/accepted-source-memory-application.js.map +0 -1
  748. package/lib/workroom/accepted-source-projector.d.ts +0 -89
  749. package/lib/workroom/accepted-source-projector.d.ts.map +0 -1
  750. package/lib/workroom/accepted-source-projector.js +0 -281
  751. package/lib/workroom/accepted-source-projector.js.map +0 -1
  752. package/lib/workroom/assignment-authority-grant-application.d.ts +0 -125
  753. package/lib/workroom/assignment-authority-grant-application.d.ts.map +0 -1
  754. package/lib/workroom/assignment-authority-grant-application.js +0 -318
  755. package/lib/workroom/assignment-authority-grant-application.js.map +0 -1
  756. package/lib/workroom/assignment-authority-grant-repository.d.ts +0 -152
  757. package/lib/workroom/assignment-authority-grant-repository.d.ts.map +0 -1
  758. package/lib/workroom/assignment-authority-grant-repository.js +0 -389
  759. package/lib/workroom/assignment-authority-grant-repository.js.map +0 -1
  760. package/lib/workroom/assignment-authority.d.ts +0 -75
  761. package/lib/workroom/assignment-authority.d.ts.map +0 -1
  762. package/lib/workroom/assignment-authority.js +0 -179
  763. package/lib/workroom/assignment-authority.js.map +0 -1
  764. package/lib/workroom/assignment-executor.d.ts +0 -110
  765. package/lib/workroom/assignment-executor.d.ts.map +0 -1
  766. package/lib/workroom/assignment-executor.js +0 -371
  767. package/lib/workroom/assignment-executor.js.map +0 -1
  768. package/lib/workroom/assignment-observation-ingress.d.ts +0 -21
  769. package/lib/workroom/assignment-observation-ingress.d.ts.map +0 -1
  770. package/lib/workroom/assignment-observation-ingress.js +0 -24
  771. package/lib/workroom/assignment-observation-ingress.js.map +0 -1
  772. package/lib/workroom/canonical-value.d.ts +0 -7
  773. package/lib/workroom/canonical-value.d.ts.map +0 -1
  774. package/lib/workroom/canonical-value.js +0 -32
  775. package/lib/workroom/canonical-value.js.map +0 -1
  776. package/lib/workroom/catalog-definition.d.ts +0 -52
  777. package/lib/workroom/catalog-definition.d.ts.map +0 -1
  778. package/lib/workroom/catalog-definition.js +0 -6
  779. package/lib/workroom/catalog-definition.js.map +0 -1
  780. package/lib/workroom/catalog.d.ts +0 -80
  781. package/lib/workroom/catalog.d.ts.map +0 -1
  782. package/lib/workroom/catalog.js +0 -386
  783. package/lib/workroom/catalog.js.map +0 -1
  784. package/lib/workroom/coding-assignment-executor.d.ts +0 -90
  785. package/lib/workroom/coding-assignment-executor.d.ts.map +0 -1
  786. package/lib/workroom/coding-assignment-executor.js +0 -250
  787. package/lib/workroom/coding-assignment-executor.js.map +0 -1
  788. package/lib/workroom/coding-git-objects.d.ts +0 -17
  789. package/lib/workroom/coding-git-objects.d.ts.map +0 -1
  790. package/lib/workroom/coding-git-objects.js +0 -68
  791. package/lib/workroom/coding-git-objects.js.map +0 -1
  792. package/lib/workroom/database-project-knowledge-journal.d.ts +0 -62
  793. package/lib/workroom/database-project-knowledge-journal.d.ts.map +0 -1
  794. package/lib/workroom/database-project-knowledge-journal.js +0 -161
  795. package/lib/workroom/database-project-knowledge-journal.js.map +0 -1
  796. package/lib/workroom/durable-file-store.d.ts +0 -56
  797. package/lib/workroom/durable-file-store.d.ts.map +0 -1
  798. package/lib/workroom/durable-file-store.js +0 -125
  799. package/lib/workroom/durable-file-store.js.map +0 -1
  800. package/lib/workroom/dynamic-workflow-planner.d.ts +0 -86
  801. package/lib/workroom/dynamic-workflow-planner.d.ts.map +0 -1
  802. package/lib/workroom/dynamic-workflow-planner.js +0 -260
  803. package/lib/workroom/dynamic-workflow-planner.js.map +0 -1
  804. package/lib/workroom/effect-blocker-repository.d.ts +0 -51
  805. package/lib/workroom/effect-blocker-repository.d.ts.map +0 -1
  806. package/lib/workroom/effect-blocker-repository.js +0 -174
  807. package/lib/workroom/effect-blocker-repository.js.map +0 -1
  808. package/lib/workroom/effect-ledger.d.ts +0 -211
  809. package/lib/workroom/effect-ledger.d.ts.map +0 -1
  810. package/lib/workroom/effect-ledger.js +0 -484
  811. package/lib/workroom/effect-ledger.js.map +0 -1
  812. package/lib/workroom/file-accepted-source-memory-repository.d.ts +0 -15
  813. package/lib/workroom/file-accepted-source-memory-repository.d.ts.map +0 -1
  814. package/lib/workroom/file-accepted-source-memory-repository.js +0 -136
  815. package/lib/workroom/file-accepted-source-memory-repository.js.map +0 -1
  816. package/lib/workroom/file-coding-execution-store.d.ts +0 -25
  817. package/lib/workroom/file-coding-execution-store.d.ts.map +0 -1
  818. package/lib/workroom/file-coding-execution-store.js +0 -122
  819. package/lib/workroom/file-coding-execution-store.js.map +0 -1
  820. package/lib/workroom/file-effect-ledger.d.ts +0 -10
  821. package/lib/workroom/file-effect-ledger.d.ts.map +0 -1
  822. package/lib/workroom/file-effect-ledger.js +0 -121
  823. package/lib/workroom/file-effect-ledger.js.map +0 -1
  824. package/lib/workroom/file-human-ingress-application.d.ts +0 -10
  825. package/lib/workroom/file-human-ingress-application.d.ts.map +0 -1
  826. package/lib/workroom/file-human-ingress-application.js +0 -177
  827. package/lib/workroom/file-human-ingress-application.js.map +0 -1
  828. package/lib/workroom/file-human-ingress.d.ts +0 -24
  829. package/lib/workroom/file-human-ingress.d.ts.map +0 -1
  830. package/lib/workroom/file-human-ingress.js +0 -234
  831. package/lib/workroom/file-human-ingress.js.map +0 -1
  832. package/lib/workroom/file-interaction-space-binding-repository.d.ts +0 -24
  833. package/lib/workroom/file-interaction-space-binding-repository.d.ts.map +0 -1
  834. package/lib/workroom/file-interaction-space-binding-repository.js +0 -293
  835. package/lib/workroom/file-interaction-space-binding-repository.js.map +0 -1
  836. package/lib/workroom/file-profile-journal.d.ts +0 -33
  837. package/lib/workroom/file-profile-journal.d.ts.map +0 -1
  838. package/lib/workroom/file-profile-journal.js +0 -311
  839. package/lib/workroom/file-profile-journal.js.map +0 -1
  840. package/lib/workroom/git-workspace-gateway.d.ts +0 -152
  841. package/lib/workroom/git-workspace-gateway.d.ts.map +0 -1
  842. package/lib/workroom/git-workspace-gateway.js +0 -257
  843. package/lib/workroom/git-workspace-gateway.js.map +0 -1
  844. package/lib/workroom/github-workspace-transport.d.ts +0 -30
  845. package/lib/workroom/github-workspace-transport.d.ts.map +0 -1
  846. package/lib/workroom/github-workspace-transport.js +0 -224
  847. package/lib/workroom/github-workspace-transport.js.map +0 -1
  848. package/lib/workroom/governed-dispatch-reasons.d.ts +0 -10
  849. package/lib/workroom/governed-dispatch-reasons.d.ts.map +0 -1
  850. package/lib/workroom/governed-dispatch-reasons.js +0 -20
  851. package/lib/workroom/governed-dispatch-reasons.js.map +0 -1
  852. package/lib/workroom/human-ingress-application.d.ts +0 -128
  853. package/lib/workroom/human-ingress-application.d.ts.map +0 -1
  854. package/lib/workroom/human-ingress-application.js +0 -415
  855. package/lib/workroom/human-ingress-application.js.map +0 -1
  856. package/lib/workroom/human-ingress-orchestrator.d.ts +0 -99
  857. package/lib/workroom/human-ingress-orchestrator.d.ts.map +0 -1
  858. package/lib/workroom/human-ingress-orchestrator.js +0 -262
  859. package/lib/workroom/human-ingress-orchestrator.js.map +0 -1
  860. package/lib/workroom/human-ingress-source-reader.d.ts +0 -29
  861. package/lib/workroom/human-ingress-source-reader.d.ts.map +0 -1
  862. package/lib/workroom/human-ingress-source-reader.js +0 -126
  863. package/lib/workroom/human-ingress-source-reader.js.map +0 -1
  864. package/lib/workroom/human-ingress.d.ts +0 -182
  865. package/lib/workroom/human-ingress.d.ts.map +0 -1
  866. package/lib/workroom/human-ingress.js +0 -526
  867. package/lib/workroom/human-ingress.js.map +0 -1
  868. package/lib/workroom/interaction-space-binding-service.d.ts +0 -57
  869. package/lib/workroom/interaction-space-binding-service.d.ts.map +0 -1
  870. package/lib/workroom/interaction-space-binding-service.js +0 -197
  871. package/lib/workroom/interaction-space-binding-service.js.map +0 -1
  872. package/lib/workroom/interaction-space-router.d.ts +0 -75
  873. package/lib/workroom/interaction-space-router.d.ts.map +0 -1
  874. package/lib/workroom/interaction-space-router.js +0 -243
  875. package/lib/workroom/interaction-space-router.js.map +0 -1
  876. package/lib/workroom/journal/activatable-journal.d.ts +0 -15
  877. package/lib/workroom/journal/activatable-journal.d.ts.map +0 -1
  878. package/lib/workroom/journal/activatable-journal.js +0 -39
  879. package/lib/workroom/journal/activatable-journal.js.map +0 -1
  880. package/lib/workroom/journal/contracts.d.ts +0 -141
  881. package/lib/workroom/journal/contracts.d.ts.map +0 -1
  882. package/lib/workroom/journal/contracts.js +0 -19
  883. package/lib/workroom/journal/contracts.js.map +0 -1
  884. package/lib/workroom/journal/database-journal.d.ts +0 -31
  885. package/lib/workroom/journal/database-journal.d.ts.map +0 -1
  886. package/lib/workroom/journal/database-journal.js +0 -118
  887. package/lib/workroom/journal/database-journal.js.map +0 -1
  888. package/lib/workroom/journal/event-codec.d.ts +0 -26
  889. package/lib/workroom/journal/event-codec.d.ts.map +0 -1
  890. package/lib/workroom/journal/event-codec.js +0 -243
  891. package/lib/workroom/journal/event-codec.js.map +0 -1
  892. package/lib/workroom/journal/event-validation.d.ts +0 -10
  893. package/lib/workroom/journal/event-validation.d.ts.map +0 -1
  894. package/lib/workroom/journal/event-validation.js +0 -671
  895. package/lib/workroom/journal/event-validation.js.map +0 -1
  896. package/lib/workroom/journal/file-journal.d.ts +0 -15
  897. package/lib/workroom/journal/file-journal.d.ts.map +0 -1
  898. package/lib/workroom/journal/file-journal.js +0 -272
  899. package/lib/workroom/journal/file-journal.js.map +0 -1
  900. package/lib/workroom/journal/index.d.ts +0 -9
  901. package/lib/workroom/journal/index.d.ts.map +0 -1
  902. package/lib/workroom/journal/index.js +0 -8
  903. package/lib/workroom/journal/index.js.map +0 -1
  904. package/lib/workroom/journal/memory-journal.d.ts +0 -27
  905. package/lib/workroom/journal/memory-journal.d.ts.map +0 -1
  906. package/lib/workroom/journal/memory-journal.js +0 -103
  907. package/lib/workroom/journal/memory-journal.js.map +0 -1
  908. package/lib/workroom/journal/payload-governance.d.ts +0 -29
  909. package/lib/workroom/journal/payload-governance.d.ts.map +0 -1
  910. package/lib/workroom/journal/payload-governance.js +0 -282
  911. package/lib/workroom/journal/payload-governance.js.map +0 -1
  912. package/lib/workroom/journal/payload-reference.d.ts +0 -9
  913. package/lib/workroom/journal/payload-reference.d.ts.map +0 -1
  914. package/lib/workroom/journal/payload-reference.js +0 -60
  915. package/lib/workroom/journal/payload-reference.js.map +0 -1
  916. package/lib/workroom/journal/stored-event-projection.d.ts +0 -6
  917. package/lib/workroom/journal/stored-event-projection.d.ts.map +0 -1
  918. package/lib/workroom/journal/stored-event-projection.js +0 -280
  919. package/lib/workroom/journal/stored-event-projection.js.map +0 -1
  920. package/lib/workroom/journal-model.d.ts +0 -40
  921. package/lib/workroom/journal-model.d.ts.map +0 -1
  922. package/lib/workroom/journal-model.js +0 -12
  923. package/lib/workroom/journal-model.js.map +0 -1
  924. package/lib/workroom/kernel-contracts.d.ts +0 -168
  925. package/lib/workroom/kernel-contracts.d.ts.map +0 -1
  926. package/lib/workroom/kernel-contracts.js +0 -2
  927. package/lib/workroom/kernel-contracts.js.map +0 -1
  928. package/lib/workroom/kernel-state.d.ts +0 -5
  929. package/lib/workroom/kernel-state.d.ts.map +0 -1
  930. package/lib/workroom/kernel-state.js +0 -885
  931. package/lib/workroom/kernel-state.js.map +0 -1
  932. package/lib/workroom/legacy-embedded-payload-migration.d.ts +0 -89
  933. package/lib/workroom/legacy-embedded-payload-migration.d.ts.map +0 -1
  934. package/lib/workroom/legacy-embedded-payload-migration.js +0 -312
  935. package/lib/workroom/legacy-embedded-payload-migration.js.map +0 -1
  936. package/lib/workroom/legacy-run-offline-migration.d.ts +0 -84
  937. package/lib/workroom/legacy-run-offline-migration.d.ts.map +0 -1
  938. package/lib/workroom/legacy-run-offline-migration.js +0 -470
  939. package/lib/workroom/legacy-run-offline-migration.js.map +0 -1
  940. package/lib/workroom/local-assignment-issuance.d.ts +0 -68
  941. package/lib/workroom/local-assignment-issuance.d.ts.map +0 -1
  942. package/lib/workroom/local-assignment-issuance.js +0 -128
  943. package/lib/workroom/local-assignment-issuance.js.map +0 -1
  944. package/lib/workroom/plan-approval-control.d.ts +0 -52
  945. package/lib/workroom/plan-approval-control.d.ts.map +0 -1
  946. package/lib/workroom/plan-approval-control.js +0 -9
  947. package/lib/workroom/plan-approval-control.js.map +0 -1
  948. package/lib/workroom/plan-revision.d.ts +0 -44
  949. package/lib/workroom/plan-revision.d.ts.map +0 -1
  950. package/lib/workroom/plan-revision.js +0 -133
  951. package/lib/workroom/plan-revision.js.map +0 -1
  952. package/lib/workroom/profile-compiler.d.ts +0 -130
  953. package/lib/workroom/profile-compiler.d.ts.map +0 -1
  954. package/lib/workroom/profile-compiler.js +0 -357
  955. package/lib/workroom/profile-compiler.js.map +0 -1
  956. package/lib/workroom/profile-registry.d.ts +0 -191
  957. package/lib/workroom/profile-registry.d.ts.map +0 -1
  958. package/lib/workroom/profile-registry.js +0 -698
  959. package/lib/workroom/profile-registry.js.map +0 -1
  960. package/lib/workroom/project-knowledge-registry.d.ts +0 -136
  961. package/lib/workroom/project-knowledge-registry.d.ts.map +0 -1
  962. package/lib/workroom/project-knowledge-registry.js +0 -429
  963. package/lib/workroom/project-knowledge-registry.js.map +0 -1
  964. package/lib/workroom/projection-outbox/contracts.d.ts +0 -195
  965. package/lib/workroom/projection-outbox/contracts.d.ts.map +0 -1
  966. package/lib/workroom/projection-outbox/contracts.js +0 -11
  967. package/lib/workroom/projection-outbox/contracts.js.map +0 -1
  968. package/lib/workroom/projection-outbox/delivery-worker.d.ts +0 -22
  969. package/lib/workroom/projection-outbox/delivery-worker.d.ts.map +0 -1
  970. package/lib/workroom/projection-outbox/delivery-worker.js +0 -96
  971. package/lib/workroom/projection-outbox/delivery-worker.js.map +0 -1
  972. package/lib/workroom/projection-outbox/file-repository.d.ts +0 -11
  973. package/lib/workroom/projection-outbox/file-repository.d.ts.map +0 -1
  974. package/lib/workroom/projection-outbox/file-repository.js +0 -89
  975. package/lib/workroom/projection-outbox/file-repository.js.map +0 -1
  976. package/lib/workroom/projection-outbox/index.d.ts +0 -10
  977. package/lib/workroom/projection-outbox/index.d.ts.map +0 -1
  978. package/lib/workroom/projection-outbox/index.js +0 -8
  979. package/lib/workroom/projection-outbox/index.js.map +0 -1
  980. package/lib/workroom/projection-outbox/memory-repository.d.ts +0 -11
  981. package/lib/workroom/projection-outbox/memory-repository.d.ts.map +0 -1
  982. package/lib/workroom/projection-outbox/memory-repository.js +0 -40
  983. package/lib/workroom/projection-outbox/memory-repository.js.map +0 -1
  984. package/lib/workroom/projection-outbox/projector.d.ts +0 -36
  985. package/lib/workroom/projection-outbox/projector.d.ts.map +0 -1
  986. package/lib/workroom/projection-outbox/projector.js +0 -517
  987. package/lib/workroom/projection-outbox/projector.js.map +0 -1
  988. package/lib/workroom/projection-outbox/repository-state.d.ts +0 -17
  989. package/lib/workroom/projection-outbox/repository-state.d.ts.map +0 -1
  990. package/lib/workroom/projection-outbox/repository-state.js +0 -343
  991. package/lib/workroom/projection-outbox/repository-state.js.map +0 -1
  992. package/lib/workroom/projection-outbox/tracer.d.ts +0 -19
  993. package/lib/workroom/projection-outbox/tracer.d.ts.map +0 -1
  994. package/lib/workroom/projection-outbox/tracer.js +0 -201
  995. package/lib/workroom/projection-outbox/tracer.js.map +0 -1
  996. package/lib/workroom/remote-assignment-dispatch-command.d.ts +0 -31
  997. package/lib/workroom/remote-assignment-dispatch-command.d.ts.map +0 -1
  998. package/lib/workroom/remote-assignment-dispatch-command.js +0 -56
  999. package/lib/workroom/remote-assignment-dispatch-command.js.map +0 -1
  1000. package/lib/workroom/remote-assignment-issuance.d.ts +0 -88
  1001. package/lib/workroom/remote-assignment-issuance.d.ts.map +0 -1
  1002. package/lib/workroom/remote-assignment-issuance.js +0 -201
  1003. package/lib/workroom/remote-assignment-issuance.js.map +0 -1
  1004. package/lib/workroom/remote-callback-application.d.ts +0 -115
  1005. package/lib/workroom/remote-callback-application.d.ts.map +0 -1
  1006. package/lib/workroom/remote-callback-application.js +0 -570
  1007. package/lib/workroom/remote-callback-application.js.map +0 -1
  1008. package/lib/workroom/remote-callback-gateway.d.ts +0 -60
  1009. package/lib/workroom/remote-callback-gateway.d.ts.map +0 -1
  1010. package/lib/workroom/remote-callback-gateway.js +0 -173
  1011. package/lib/workroom/remote-callback-gateway.js.map +0 -1
  1012. package/lib/workroom/remote-callback-inbox.d.ts +0 -278
  1013. package/lib/workroom/remote-callback-inbox.d.ts.map +0 -1
  1014. package/lib/workroom/remote-callback-inbox.js +0 -1088
  1015. package/lib/workroom/remote-callback-inbox.js.map +0 -1
  1016. package/lib/workroom/remote-callback-reconciliation-worker.d.ts +0 -60
  1017. package/lib/workroom/remote-callback-reconciliation-worker.d.ts.map +0 -1
  1018. package/lib/workroom/remote-callback-reconciliation-worker.js +0 -197
  1019. package/lib/workroom/remote-callback-reconciliation-worker.js.map +0 -1
  1020. package/lib/workroom/remote-dispatch-admission.d.ts +0 -45
  1021. package/lib/workroom/remote-dispatch-admission.d.ts.map +0 -1
  1022. package/lib/workroom/remote-dispatch-admission.js +0 -187
  1023. package/lib/workroom/remote-dispatch-admission.js.map +0 -1
  1024. package/lib/workroom/remote-dispatch-outbox.d.ts +0 -204
  1025. package/lib/workroom/remote-dispatch-outbox.d.ts.map +0 -1
  1026. package/lib/workroom/remote-dispatch-outbox.js +0 -768
  1027. package/lib/workroom/remote-dispatch-outbox.js.map +0 -1
  1028. package/lib/workroom/remote-dispatch-scheduler.d.ts +0 -36
  1029. package/lib/workroom/remote-dispatch-scheduler.d.ts.map +0 -1
  1030. package/lib/workroom/remote-dispatch-scheduler.js +0 -133
  1031. package/lib/workroom/remote-dispatch-scheduler.js.map +0 -1
  1032. package/lib/workroom/remote-dispatch-worker.d.ts +0 -22
  1033. package/lib/workroom/remote-dispatch-worker.d.ts.map +0 -1
  1034. package/lib/workroom/remote-dispatch-worker.js +0 -124
  1035. package/lib/workroom/remote-dispatch-worker.js.map +0 -1
  1036. package/lib/workroom/remote-dispatch.d.ts +0 -79
  1037. package/lib/workroom/remote-dispatch.d.ts.map +0 -1
  1038. package/lib/workroom/remote-dispatch.js +0 -220
  1039. package/lib/workroom/remote-dispatch.js.map +0 -1
  1040. package/lib/workroom/remote-executor.d.ts +0 -15
  1041. package/lib/workroom/remote-executor.d.ts.map +0 -1
  1042. package/lib/workroom/remote-executor.js +0 -21
  1043. package/lib/workroom/remote-executor.js.map +0 -1
  1044. package/lib/workroom/role-capability-snapshot.d.ts +0 -88
  1045. package/lib/workroom/role-capability-snapshot.d.ts.map +0 -1
  1046. package/lib/workroom/role-capability-snapshot.js +0 -456
  1047. package/lib/workroom/role-capability-snapshot.js.map +0 -1
  1048. package/lib/workroom/runtime.d.ts +0 -142
  1049. package/lib/workroom/runtime.d.ts.map +0 -1
  1050. package/lib/workroom/runtime.js +0 -543
  1051. package/lib/workroom/runtime.js.map +0 -1
  1052. package/lib/workroom/scheduler-priority-control.d.ts +0 -35
  1053. package/lib/workroom/scheduler-priority-control.d.ts.map +0 -1
  1054. package/lib/workroom/scheduler-priority-control.js +0 -9
  1055. package/lib/workroom/scheduler-priority-control.js.map +0 -1
  1056. package/lib/workroom/software-delivery-plan.d.ts +0 -32
  1057. package/lib/workroom/software-delivery-plan.d.ts.map +0 -1
  1058. package/lib/workroom/software-delivery-plan.js +0 -60
  1059. package/lib/workroom/software-delivery-plan.js.map +0 -1
  1060. package/lib/workroom/validate-catalog.d.ts +0 -2
  1061. package/lib/workroom/validate-catalog.d.ts.map +0 -1
  1062. package/lib/workroom/validate-catalog.js +0 -230
  1063. package/lib/workroom/validate-catalog.js.map +0 -1
  1064. package/lib/workroom/workflow-plan-builder.d.ts +0 -88
  1065. package/lib/workroom/workflow-plan-builder.d.ts.map +0 -1
  1066. package/lib/workroom/workflow-plan-builder.js +0 -232
  1067. package/lib/workroom/workflow-plan-builder.js.map +0 -1
  1068. package/lib/workroom/workroom-assignment-knowledge-context.d.ts +0 -102
  1069. package/lib/workroom/workroom-assignment-knowledge-context.d.ts.map +0 -1
  1070. package/lib/workroom/workroom-assignment-knowledge-context.js +0 -127
  1071. package/lib/workroom/workroom-assignment-knowledge-context.js.map +0 -1
  1072. package/lib/workroom/workroom-kernel.d.ts +0 -157
  1073. package/lib/workroom/workroom-kernel.d.ts.map +0 -1
  1074. package/lib/workroom/workroom-kernel.js +0 -1526
  1075. package/lib/workroom/workroom-kernel.js.map +0 -1
  1076. package/lib/workroom/workroom-preemption.d.ts +0 -65
  1077. package/lib/workroom/workroom-preemption.d.ts.map +0 -1
  1078. package/lib/workroom/workroom-preemption.js +0 -213
  1079. package/lib/workroom/workroom-preemption.js.map +0 -1
  1080. package/lib/workroom/workroom-run-control.d.ts +0 -69
  1081. package/lib/workroom/workroom-run-control.d.ts.map +0 -1
  1082. package/lib/workroom/workroom-run-control.js +0 -144
  1083. package/lib/workroom/workroom-run-control.js.map +0 -1
  1084. package/lib/workroom/workroom-scheduler-application.d.ts +0 -43
  1085. package/lib/workroom/workroom-scheduler-application.d.ts.map +0 -1
  1086. package/lib/workroom/workroom-scheduler-application.js +0 -71
  1087. package/lib/workroom/workroom-scheduler-application.js.map +0 -1
  1088. package/lib/workroom/workroom-scheduler.d.ts +0 -135
  1089. package/lib/workroom/workroom-scheduler.d.ts.map +0 -1
  1090. package/lib/workroom/workroom-scheduler.js +0 -660
  1091. package/lib/workroom/workroom-scheduler.js.map +0 -1
  1092. package/lib/workroom/workroom-task-report-store.d.ts +0 -131
  1093. package/lib/workroom/workroom-task-report-store.d.ts.map +0 -1
  1094. package/lib/workroom/workroom-task-report-store.js +0 -528
  1095. package/lib/workroom/workroom-task-report-store.js.map +0 -1
@@ -1,1133 +0,0 @@
1
- import { createHash } from 'node:crypto';
2
- import { readFile, readdir } from 'node:fs/promises';
3
- import { join } from 'node:path';
4
- import { compareCanonicalWorkroomText, canonicalWorkroomJson, deepFreezeWorkroomValue as deepFreeze, digestCanonicalWorkroomValue as digest, } from '../workroom/canonical-value.js';
5
- import { DurableFileStore, nodeDurableFileSystem, } from '../workroom/durable-file-store.js';
6
- import { compileWorkroomProfile, } from '../workroom/profile-compiler.js';
7
- import { ProjectProfileRegistry, } from '../workroom/profile-registry.js';
8
- import { createWorkroomDynamicPlanningPolicyAuthority, createWorkroomDynamicPlanningPolicySnapshot, } from './workroom-dynamic-planning-provider.js';
9
- import { createWorkroomSchedulerPolicySnapshot } from '../workroom/workroom-scheduler.js';
10
- export function createCapabilityPackManifest(input) {
11
- assertKeys(input, [
12
- 'id', 'version', 'kind', 'requires', 'tools', 'skills', 'agents', 'workflows', 'memories', 'glossaries',
13
- 'acceptancePolicies',
14
- ], 'Pack');
15
- text(input.id, 'Pack id');
16
- text(input.version, 'Pack version');
17
- if (!['domain', 'competency', 'integration', 'policy'].includes(input.kind)) {
18
- throw new Error('Capability Pack kind is invalid');
19
- }
20
- const body = deepFreeze({
21
- id: input.id,
22
- version: input.version,
23
- kind: input.kind,
24
- ...(input.requires ? { requires: sortPackRefs(input.requires) } : {}),
25
- ...(input.tools ? { tools: sortDefinitions(input.tools) } : {}),
26
- ...(input.skills ? { skills: [...input.skills].map(value => ({
27
- id: requiredText(value.id, 'Skill id'),
28
- digest: requiredDigest(value.digest, 'Skill digest'),
29
- requiresTools: unique(value.requiresTools, 'Skill Tool requirement'),
30
- })).sort(byId) } : {}),
31
- ...(input.agents ? { agents: [...input.agents].map(value => ({
32
- id: requiredText(value.id, 'Agent id'),
33
- digest: requiredDigest(value.digest, 'Agent digest'),
34
- role: requiredText(value.role, 'Agent role'),
35
- allowedTools: unique(value.allowedTools, 'Agent Tool ceiling'),
36
- allowedSkills: unique(value.allowedSkills, 'Agent Skill ceiling'),
37
- })).sort(byId) } : {}),
38
- ...(input.workflows ? { workflows: [...input.workflows].map(value => ({
39
- id: requiredText(value.id, 'Workflow id'),
40
- digest: requiredDigest(value.digest, 'Workflow digest'),
41
- requiredByProfile: value.requiredByProfile === true,
42
- tasks: [...value.tasks].map(task => ({
43
- key: requiredText(task.key, 'Workflow Task key'),
44
- role: requiredText(task.role, 'Workflow Task role'),
45
- requires: {
46
- ...(task.requires.tools ? { tools: unique(task.requires.tools, 'Workflow Tool requirement') } : {}),
47
- ...(task.requires.skills ? { skills: unique(task.requires.skills, 'Workflow Skill requirement') } : {}),
48
- },
49
- })).sort((left, right) => compareCanonicalWorkroomText(left.key, right.key)),
50
- })).sort(byId) } : {}),
51
- ...(input.memories ? { memories: sortKnowledgeDefinitions(input.memories, 'Memory') } : {}),
52
- ...(input.glossaries ? { glossaries: sortKnowledgeDefinitions(input.glossaries, 'Glossary') } : {}),
53
- ...(input.acceptancePolicies
54
- ? { acceptancePolicies: [...input.acceptancePolicies].map(canonicalAcceptancePolicy).sort(byId) }
55
- : {}),
56
- });
57
- return deepFreeze({ ...body, digest: digest(body) });
58
- }
59
- export function createWorkroomProfileOverlay(input) {
60
- assertKeys(input, [
61
- 'version', 'projectId', 'revisionId', 'charterRevisionId', 'parentRevisionId', 'packs',
62
- 'enabledTools', 'enabledSkills', 'enabledAgents', 'enabledWorkflows', 'enabledMemories', 'enabledGlossaries',
63
- 'enabledAcceptancePolicies',
64
- ], 'Profile Overlay');
65
- if (input.version !== 1)
66
- throw new Error('Profile Overlay version is invalid');
67
- const body = deepFreeze({
68
- version: 1,
69
- projectId: requiredText(input.projectId, 'Overlay projectId'),
70
- revisionId: requiredText(input.revisionId, 'Overlay revisionId'),
71
- charterRevisionId: requiredText(input.charterRevisionId, 'Overlay charterRevisionId'),
72
- ...(input.parentRevisionId
73
- ? { parentRevisionId: requiredText(input.parentRevisionId, 'Overlay parentRevisionId') }
74
- : {}),
75
- packs: sortPackRefs(input.packs),
76
- enabledTools: unique(input.enabledTools, 'Overlay enabled Tool'),
77
- enabledSkills: unique(input.enabledSkills, 'Overlay enabled Skill'),
78
- enabledAgents: unique(input.enabledAgents, 'Overlay enabled Agent'),
79
- enabledWorkflows: unique(input.enabledWorkflows, 'Overlay enabled Workflow'),
80
- enabledMemories: unique(input.enabledMemories ?? [], 'Overlay enabled Memory'),
81
- enabledGlossaries: unique(input.enabledGlossaries ?? [], 'Overlay enabled Glossary'),
82
- enabledAcceptancePolicies: unique(input.enabledAcceptancePolicies ?? [], 'Overlay enabled Acceptance Policy'),
83
- });
84
- return deepFreeze({ ...body, digest: digest(body) });
85
- }
86
- /** Crash-durable File tracer. Parent `.zhin` must already exist. */
87
- export class FileWorkroomProfileAuthorityRepository {
88
- directory;
89
- verification;
90
- #root;
91
- #packs;
92
- #overlays;
93
- #profileProofs;
94
- #policies;
95
- #ready;
96
- constructor(directory, verification, fileSystem = nodeDurableFileSystem) {
97
- this.directory = directory;
98
- this.verification = verification;
99
- this.#root = new DurableFileStore(directory, fileSystem);
100
- this.#packs = new DurableFileStore(join(directory, 'packs'), fileSystem);
101
- this.#overlays = new DurableFileStore(join(directory, 'overlays'), fileSystem);
102
- this.#profileProofs = new DurableFileStore(join(directory, 'profile-proofs'), fileSystem);
103
- this.#policies = new DurableFileStore(join(directory, 'planning-policies'), fileSystem);
104
- }
105
- async readPack(ref) {
106
- assertPackRef(ref);
107
- const record = await readOptional(join(this.#packs.directory, `${keyHash(`${ref.id}@${ref.version}`)}.json`), parsePackPublication);
108
- if (!record || record.pack.digest !== ref.digest)
109
- return undefined;
110
- await this.#verify(record.authorityRequest, record.governance);
111
- return record;
112
- }
113
- async publishPack(publication) {
114
- const canonical = canonicalPackPublication(publication);
115
- await this.#verify(canonical.authorityRequest, canonical.governance);
116
- await this.#ensureReady();
117
- const target = join(this.#packs.directory, `${keyHash(`${canonical.pack.id}@${canonical.pack.version}`)}.json`);
118
- const result = await this.#packs.publishCreateOnly({
119
- target,
120
- content: canonicalWorkroomJson(canonical),
121
- createdValue: canonical,
122
- onConflict: async () => {
123
- const winner = await readRequired(target, parsePackPublication);
124
- if (canonicalWorkroomJson(winner.pack) !== canonicalWorkroomJson(canonical.pack)) {
125
- throw new Error(`Capability Pack ${canonical.pack.id}@${canonical.pack.version} identity payload drift`);
126
- }
127
- return winner;
128
- },
129
- });
130
- await this.#verify(result.value.authorityRequest, result.value.governance);
131
- await this.#root.syncLeafAndParent();
132
- return result.value;
133
- }
134
- async readOverlay(projectId, revisionId) {
135
- text(projectId, 'Overlay projectId');
136
- text(revisionId, 'Overlay revisionId');
137
- return await readOptional(join(this.#overlays.directory, `${keyHash(`${projectId}:${revisionId}`)}.json`), parseOverlay);
138
- }
139
- async publishOverlay(overlay) {
140
- const canonical = canonicalOverlay(overlay);
141
- await this.#ensureReady();
142
- const target = join(this.#overlays.directory, `${keyHash(`${canonical.projectId}:${canonical.revisionId}`)}.json`);
143
- const result = await this.#overlays.publishCreateOnly({
144
- target,
145
- content: canonicalWorkroomJson(canonical),
146
- createdValue: canonical,
147
- onConflict: async () => {
148
- const winner = await readRequired(target, parseOverlay);
149
- if (winner.digest !== canonical.digest)
150
- throw new Error('Profile Overlay identity payload drift');
151
- return winner;
152
- },
153
- });
154
- await this.#root.syncLeafAndParent();
155
- return result.value;
156
- }
157
- async readProfileProof(projectId, revisionId) {
158
- text(projectId, 'Profile proof projectId');
159
- text(revisionId, 'Profile proof revisionId');
160
- const proof = await readOptional(join(this.#profileProofs.directory, `${keyHash(`${projectId}:${revisionId}`)}.json`), parseProfileProof);
161
- if (proof)
162
- await this.#verify(proof.authorityRequest, proof.governance);
163
- return proof;
164
- }
165
- async publishProfileProof(proof) {
166
- const canonical = canonicalProfileProof(proof);
167
- await this.#verify(canonical.authorityRequest, canonical.governance);
168
- await this.#ensureReady();
169
- const target = join(this.#profileProofs.directory, `${keyHash(`${canonical.projectId}:${canonical.revisionId}`)}.json`);
170
- const result = await this.#profileProofs.publishCreateOnly({
171
- target,
172
- content: canonicalWorkroomJson(canonical),
173
- createdValue: canonical,
174
- onConflict: async () => {
175
- const winner = await readRequired(target, parseProfileProof);
176
- if (canonicalWorkroomJson(winner) !== canonicalWorkroomJson(canonical)) {
177
- throw new Error('Project Profile publication proof identity payload drift');
178
- }
179
- return winner;
180
- },
181
- });
182
- await this.#verify(result.value.authorityRequest, result.value.governance);
183
- await this.#root.syncLeafAndParent();
184
- return result.value;
185
- }
186
- async readPlanningPolicy(projectId, profileRevisionId) {
187
- text(projectId, 'Planning Policy projectId');
188
- text(profileRevisionId, 'Planning Policy Profile revisionId');
189
- const prefix = `${keyHash(`${projectId}:${profileRevisionId}`)}.`;
190
- let names;
191
- try {
192
- names = await readdir(this.#policies.directory);
193
- }
194
- catch (error) {
195
- if (hasCode(error, 'ENOENT'))
196
- return undefined;
197
- throw error;
198
- }
199
- const records = await Promise.all(names.filter(name => name.startsWith(prefix) && name.endsWith('.json'))
200
- .sort().map(name => readRequired(join(this.#policies.directory, name), parsePlanningPolicy)));
201
- let previous;
202
- for (const record of records) {
203
- if (record.projectId !== projectId || record.profileRevisionId !== profileRevisionId
204
- || record.revision !== (previous?.revision ?? 0) + 1
205
- || record.previousDigest !== previous?.digest) {
206
- throw new Error('Planning Policy revision chain is invalid');
207
- }
208
- await this.#verify(record.authorityRequest, record.governance);
209
- previous = record;
210
- }
211
- return previous;
212
- }
213
- async appendPlanningPolicy(revision) {
214
- const canonical = canonicalPlanningPolicy(revision);
215
- await this.#verify(canonical.authorityRequest, canonical.governance);
216
- const current = await this.readPlanningPolicy(canonical.projectId, canonical.profileRevisionId);
217
- if (canonical.revision !== (current?.revision ?? 0) + 1
218
- || canonical.previousDigest !== current?.digest) {
219
- throw new Error('Planning Policy previous digest/revision CAS mismatch');
220
- }
221
- await this.#ensureReady();
222
- const prefix = keyHash(`${canonical.projectId}:${canonical.profileRevisionId}`);
223
- const target = join(this.#policies.directory, `${prefix}.${String(canonical.revision).padStart(16, '0')}.json`);
224
- const result = await this.#policies.publishCreateOnly({
225
- target,
226
- content: canonicalWorkroomJson(canonical),
227
- createdValue: canonical,
228
- onConflict: async () => {
229
- const winner = await readRequired(target, parsePlanningPolicy);
230
- if (canonicalWorkroomJson(winner) !== canonicalWorkroomJson(canonical)) {
231
- throw new Error('Planning Policy revision identity payload drift');
232
- }
233
- return winner;
234
- },
235
- });
236
- await this.#verify(result.value.authorityRequest, result.value.governance);
237
- await this.#root.syncLeafAndParent();
238
- return result.value;
239
- }
240
- #ensureReady() {
241
- this.#ready ??= (async () => {
242
- await this.#root.ensureDurableLeaf('Workroom Profile authority repository');
243
- await this.#packs.ensureDurableLeaf('Capability Pack publication repository');
244
- await this.#overlays.ensureDurableLeaf('Project Profile Overlay repository');
245
- await this.#profileProofs.ensureDurableLeaf('Project Profile publication proof repository');
246
- await this.#policies.ensureDurableLeaf('Planning Policy repository');
247
- await this.#root.syncLeafAndParent();
248
- })();
249
- return this.#ready;
250
- }
251
- async #verify(request, decision) {
252
- if (!this.verification || !await this.verification.verify(request, decision)) {
253
- throw new Error('Trusted Workroom Profile publisher authority verification is unavailable or denied');
254
- }
255
- }
256
- }
257
- export class FileWorkroomRunProfilePinProofRepository {
258
- directory;
259
- verification;
260
- #store;
261
- #ready;
262
- constructor(directory, verification, fileSystem = nodeDurableFileSystem) {
263
- this.directory = directory;
264
- this.verification = verification;
265
- this.#store = new DurableFileStore(directory, fileSystem);
266
- }
267
- async read(projectId, runId) {
268
- text(projectId, 'Run pin proof projectId');
269
- text(runId, 'Run pin proof runId');
270
- const proof = await readOptional(join(this.directory, `${keyHash(`${projectId}:${runId}`)}.json`), parseRunPinProof);
271
- if (proof)
272
- await this.#verify(proof);
273
- return proof;
274
- }
275
- async publish(proof) {
276
- const canonical = canonicalRunPinProof(proof);
277
- await this.#verify(canonical);
278
- await this.#ensureReady();
279
- const target = join(this.directory, `${keyHash(`${canonical.pin.projectId}:${canonical.pin.runId}`)}.json`);
280
- const result = await this.#store.publishCreateOnly({
281
- target,
282
- content: canonicalWorkroomJson(canonical),
283
- createdValue: canonical,
284
- onConflict: async () => {
285
- const winner = await readRequired(target, parseRunPinProof);
286
- if (!sameRunPinAuthorityScope(winner.request, canonical.request)
287
- || canonicalWorkroomJson(winner.pin) !== canonicalWorkroomJson(canonical.pin)) {
288
- throw new Error('Workroom Run Profile pin proof identity payload drift');
289
- }
290
- return winner;
291
- },
292
- });
293
- await this.#verify(result.value);
294
- await this.#store.syncLeafAndParent();
295
- return result.value;
296
- }
297
- #ensureReady() {
298
- this.#ready ??= this.#store.ensureDurableLeaf('Workroom Run Profile pin proof repository');
299
- return this.#ready;
300
- }
301
- async #verify(proof) {
302
- if (!this.verification || !await this.verification.verify(proof.request, proof.authority)) {
303
- throw new Error('Trusted Workroom Run Profile pin proof verification is unavailable or denied');
304
- }
305
- }
306
- }
307
- export class WorkroomProfileAuthorityRuntime {
308
- options;
309
- control;
310
- planningPolicy;
311
- runPins;
312
- profiles;
313
- constructor(options) {
314
- this.options = options;
315
- this.control = Object.freeze({
316
- readPlanningPolicy: async (projectId, profileRevisionId) => await this.options.repository.readPlanningPolicy(projectId, profileRevisionId),
317
- publishPack: async (command, signal) => await this.#publishPack(command, signal),
318
- publishProfile: async (command, signal) => await this.#publishProfile(command, signal, false),
319
- publishRollback: async (command, signal) => await this.#publishProfile(command, signal, true),
320
- publishPlanningPolicy: async (command, signal) => await this.#publishPolicy(command, signal),
321
- });
322
- this.planningPolicy = Object.freeze({
323
- resolve: async (request) => await this.#resolvePolicy(request),
324
- });
325
- this.runPins = Object.freeze({
326
- pin: async (command, signal) => await this.#pinRun(command, signal),
327
- });
328
- this.profiles = Object.freeze({
329
- read: async (projectId) => await this.#readProfiles(projectId),
330
- });
331
- }
332
- async #publishPack(command, signal) {
333
- assertKeys(command, ['version', 'operationId', 'authenticatedPrincipalId', 'pack'], 'Pack command');
334
- commandHeader(command, signal);
335
- return await this.options.generationView.withCurrent(this.#operation(command.operationId, signal), async (view) => {
336
- assertView(view, this.options.generation.generation);
337
- const pack = createCapabilityPackManifest(command.pack);
338
- const existing = await this.options.repository.readPack(pack);
339
- if (existing)
340
- return existing;
341
- const authorized = await this.#authorize({
342
- version: 1, action: 'publish_pack', operationId: command.operationId,
343
- authenticatedPrincipalId: command.authenticatedPrincipalId, candidateDigest: pack.digest,
344
- }, 'trusted_pack_publisher');
345
- signal.throwIfAborted();
346
- const body = deepFreeze({
347
- version: 1,
348
- pack,
349
- authorityRequest: authorized.request,
350
- governance: authorized.decision,
351
- });
352
- return await this.options.repository.publishPack(deepFreeze({ ...body, digest: digest(body) }));
353
- });
354
- }
355
- async #publishProfile(command, signal, rollback) {
356
- assertKeys(command, [
357
- 'version', 'operationId', 'authenticatedPrincipalId', 'projectId', 'expectedRegistryRevision',
358
- 'overlay', 'source', 'activate', ...(rollback ? ['restoredFromRevisionId'] : []),
359
- ], rollback ? 'Profile rollback command' : 'Profile command');
360
- commandHeader(command, signal);
361
- if (rollback)
362
- requiredText(command.restoredFromRevisionId, 'Profile rollback restored revisionId');
363
- if (command.projectId !== command.overlay.projectId)
364
- throw new Error('Profile command Project drift');
365
- const overlay = canonicalOverlay(command.overlay);
366
- return await this.options.generationView.withCurrent(this.#operation(command.operationId, signal), async (view) => {
367
- assertView(view, this.options.generation.generation);
368
- const packs = await Promise.all(overlay.packs.map(async (ref) => {
369
- const publication = await this.options.repository.readPack(ref);
370
- if (!publication)
371
- throw new Error(`Trusted Capability Pack ${ref.id}@${ref.version} is unavailable`);
372
- return publication.pack;
373
- }));
374
- const compiled = compileWorkroomProfile({
375
- revision: {
376
- id: overlay.revisionId,
377
- projectId: overlay.projectId,
378
- charterRevisionId: overlay.charterRevisionId,
379
- packs: overlay.packs,
380
- enabledTools: overlay.enabledTools,
381
- enabledSkills: overlay.enabledSkills,
382
- enabledAgents: overlay.enabledAgents,
383
- enabledWorkflows: overlay.enabledWorkflows,
384
- enabledMemories: overlay.enabledMemories,
385
- enabledGlossaries: overlay.enabledGlossaries,
386
- enabledAcceptancePolicies: overlay.enabledAcceptancePolicies,
387
- },
388
- packs,
389
- generationSupply: generationSupply(view),
390
- });
391
- if (!compiled.ok) {
392
- throw new Error(`Profile compilation failed: ${compiled.diagnostics.map(value => value.code).join(',')}`);
393
- }
394
- const existingState = rollback ? await this.#readProfiles(command.projectId) : undefined;
395
- const restoredFromRevisionId = rollback
396
- ? command.restoredFromRevisionId
397
- : undefined;
398
- const restored = restoredFromRevisionId
399
- ? existingState?.revisions[restoredFromRevisionId]
400
- : undefined;
401
- if (rollback && !restored) {
402
- throw new Error(`Restored Profile Revision ${restoredFromRevisionId} not found`);
403
- }
404
- await this.options.repository.publishOverlay(overlay);
405
- const governance = Object.freeze({
406
- authorize: async (input) => {
407
- const authorized = await this.#authorize({
408
- version: 1,
409
- action: rollback ? 'publish_profile_rollback' : 'publish_profile',
410
- operationId: command.operationId,
411
- authenticatedPrincipalId: command.authenticatedPrincipalId,
412
- candidateDigest: digest(input),
413
- ...(input.currentActive ? { currentDigest: input.currentActive.compiledDigest } : {}),
414
- projectId: command.projectId,
415
- }, 'sponsor');
416
- signal.throwIfAborted();
417
- const proofBody = deepFreeze({
418
- version: 1,
419
- projectId: command.projectId,
420
- revisionId: overlay.revisionId,
421
- governanceInput: structuredClone(input),
422
- authorityRequest: authorized.request,
423
- governance: authorized.decision,
424
- });
425
- await this.options.repository.publishProfileProof(deepFreeze({
426
- ...proofBody,
427
- digest: digest(proofBody),
428
- }));
429
- return deepFreeze({
430
- ...structuredClone(input),
431
- approved: true,
432
- decisionId: authorized.decision.decisionId,
433
- route: 'sponsor',
434
- outcome: 'approved',
435
- decidedBy: authorized.decision.decidedBy,
436
- });
437
- },
438
- });
439
- const profiles = new ProjectProfileRegistry(this.options.profileJournal, governance);
440
- const revision = {
441
- revisionId: overlay.revisionId,
442
- projectId: overlay.projectId,
443
- charterRevisionId: overlay.charterRevisionId,
444
- packRefs: overlay.packs,
445
- overlayDigest: restored?.overlayDigest ?? overlay.digest,
446
- compiledDigest: compiled.profile.digest,
447
- compiledProfile: compiled.profile,
448
- ...(overlay.parentRevisionId ? { parentRevisionId: overlay.parentRevisionId } : {}),
449
- ...(restoredFromRevisionId ? { restoredFromRevisionId } : {}),
450
- source: structuredClone(command.source),
451
- };
452
- let state = rollback
453
- ? await profiles.registerRollback({
454
- projectId: command.projectId,
455
- expectedRegistryRevision: command.expectedRegistryRevision,
456
- restoredFromRevisionId: restoredFromRevisionId,
457
- revision,
458
- })
459
- : await profiles.registerRevision({
460
- projectId: command.projectId,
461
- expectedRegistryRevision: command.expectedRegistryRevision,
462
- revision,
463
- });
464
- if (command.activate) {
465
- state = await profiles.activateRevision({
466
- projectId: command.projectId,
467
- expectedRegistryRevision: state.registryRevision,
468
- revisionId: overlay.revisionId,
469
- compiledDigest: compiled.profile.digest,
470
- });
471
- }
472
- return await this.#readProfiles(command.projectId);
473
- });
474
- }
475
- async #publishPolicy(command, signal) {
476
- assertKeys(command, [
477
- 'version', 'operationId', 'authenticatedPrincipalId', 'projectId', 'catalogRevision',
478
- 'projectDigest', 'profileRevisionId', 'profileDigest', 'revision', 'expectedPreviousDigest', 'policy',
479
- ], 'Planning Policy command');
480
- commandHeader(command, signal);
481
- return await this.options.generationView.withCurrent(this.#operation(command.operationId, signal), async (view) => {
482
- assertView(view, this.options.generation.generation);
483
- const profiles = await this.#readProfiles(command.projectId);
484
- const profile = profiles.revisions[command.profileRevisionId];
485
- if (!profile || profile.compiledDigest !== command.profileDigest) {
486
- throw new Error('Planning Policy Profile binding is unavailable or stale');
487
- }
488
- const policy = canonicalPolicy(command.policy);
489
- const current = await this.options.repository.readPlanningPolicy(command.projectId, command.profileRevisionId);
490
- if (current?.revision === command.revision) {
491
- const candidate = planningPolicyCandidate(command, policy, current.authorityRequest, current.governance);
492
- if (canonicalWorkroomJson({ ...current, digest: undefined })
493
- === canonicalWorkroomJson({ ...candidate, digest: undefined }))
494
- return current;
495
- }
496
- if (command.revision !== (current?.revision ?? 0) + 1
497
- || command.expectedPreviousDigest !== current?.digest) {
498
- throw new Error('Planning Policy previous digest/revision CAS mismatch');
499
- }
500
- const candidateBody = planningPolicyBody(command, policy);
501
- const authorized = await this.#authorize({
502
- version: 1,
503
- action: 'publish_planning_policy',
504
- operationId: command.operationId,
505
- authenticatedPrincipalId: command.authenticatedPrincipalId,
506
- candidateDigest: digest(candidateBody),
507
- ...(current ? { currentDigest: current.digest } : {}),
508
- projectId: command.projectId,
509
- }, 'sponsor');
510
- signal.throwIfAborted();
511
- const body = deepFreeze({
512
- ...candidateBody,
513
- authorityRequest: authorized.request,
514
- governance: authorized.decision,
515
- });
516
- return await this.options.repository.appendPlanningPolicy(deepFreeze({ ...body, digest: digest(body) }));
517
- });
518
- }
519
- async #pinRun(command, signal) {
520
- assertKeys(command, [
521
- 'version', 'operationId', 'projectId', 'runId', 'planRevisionId', 'planDigest',
522
- 'profileRevisionId', 'profileDigest', 'principalId', 'runFactDigest', 'expectedRegistryRevision',
523
- ], 'Run pin command');
524
- if (command.version !== 1)
525
- throw new Error('Run pin command version is invalid');
526
- text(command.operationId, 'Run pin operationId');
527
- text(command.principalId, 'Run pin principalId');
528
- text(command.projectId, 'Run pin projectId');
529
- text(command.runId, 'Run pin runId');
530
- text(command.planRevisionId, 'Run pin Plan revisionId');
531
- requiredDigest(command.planDigest, 'Run pin Plan digest');
532
- text(command.profileRevisionId, 'Run pin Profile revisionId');
533
- requiredDigest(command.profileDigest, 'Run pin Profile digest');
534
- requiredDigest(command.runFactDigest, 'Run pin fact digest');
535
- if (!Number.isSafeInteger(command.expectedRegistryRevision)
536
- || command.expectedRegistryRevision < -1) {
537
- throw new Error('Run pin expected Registry revision is invalid');
538
- }
539
- signal.throwIfAborted();
540
- const authority = this.options.runPinAuthority;
541
- const proofs = this.options.runPinProofs;
542
- if (!authority || !proofs)
543
- throw new Error('Workroom Run Profile pin authority/proof repository is unavailable');
544
- const requestBody = deepFreeze({
545
- ...structuredClone(command),
546
- generation: this.options.generation.generation,
547
- });
548
- const request = deepFreeze({ ...requestBody, digest: digest(requestBody) });
549
- const authorized = await authority.authorize(request);
550
- signal.throwIfAborted();
551
- if (!authorized || authorized.requestDigest !== request.digest) {
552
- throw new Error('Workroom Run Profile pin authority exact echo mismatch');
553
- }
554
- requiredDigest(authorized.authorityDigest, 'Run pin authority digest');
555
- const state = await this.#readProfiles(command.projectId);
556
- const existing = state.runPins[command.runId];
557
- if (existing) {
558
- const proof = await proofs.read(command.projectId, command.runId);
559
- if (!proof || !sameRunPinAuthorityScope(proof.request, request)
560
- || canonicalWorkroomJson(proof.pin) !== canonicalWorkroomJson(existing)) {
561
- throw new Error('Workroom Run Profile pin replay proof is unavailable or stale');
562
- }
563
- return existing;
564
- }
565
- if (!state.active || state.registryRevision !== command.expectedRegistryRevision
566
- || state.active.revisionId !== command.profileRevisionId
567
- || state.active.compiledDigest !== command.profileDigest) {
568
- throw new Error('Workroom Run Profile pin Registry position is stale');
569
- }
570
- const expectedPin = deepFreeze({
571
- projectId: command.projectId,
572
- runId: command.runId,
573
- profileRevisionId: command.profileRevisionId,
574
- profileDigest: command.profileDigest,
575
- activationRegistryRevision: state.active.activatedAtRegistryRevision,
576
- pinnedAtRegistryRevision: state.registryRevision + 1,
577
- });
578
- const proofBody = deepFreeze({
579
- version: 1,
580
- request,
581
- authority: structuredClone(authorized),
582
- pin: expectedPin,
583
- });
584
- await proofs.publish(deepFreeze({ ...proofBody, digest: digest(proofBody) }));
585
- const pin = await new ProjectProfileRegistry(this.options.profileJournal).pinRun({
586
- projectId: command.projectId,
587
- runId: command.runId,
588
- expectedRegistryRevision: command.expectedRegistryRevision,
589
- });
590
- if (canonicalWorkroomJson(pin) !== canonicalWorkroomJson(expectedPin)) {
591
- throw new Error('Workroom Run Profile pin drifted from its authority proof');
592
- }
593
- return pin;
594
- }
595
- async #resolvePolicy(request) {
596
- if (canonicalWorkroomJson(request.generation) !== canonicalWorkroomJson(this.options.generation))
597
- return undefined;
598
- const record = await this.options.repository.readPlanningPolicy(request.projectId, request.profile.revisionId);
599
- if (!record
600
- || record.catalogRevision !== request.catalogRevision
601
- || record.projectDigest !== request.projectDigest
602
- || record.profileDigest !== request.profile.digest)
603
- return undefined;
604
- return createWorkroomDynamicPlanningPolicyAuthority({
605
- version: 1,
606
- generation: this.options.generation,
607
- projectId: record.projectId,
608
- catalogRevision: record.catalogRevision,
609
- projectDigest: record.projectDigest,
610
- profileRevisionId: record.profileRevisionId,
611
- profileDigest: record.profileDigest,
612
- policy: record.policy,
613
- });
614
- }
615
- async #readProfiles(projectId) {
616
- const state = await new ProjectProfileRegistry(this.options.profileJournal).read(projectId);
617
- for (const revision of Object.values(state.revisions)) {
618
- const proof = await this.options.repository.readProfileProof(projectId, revision.revisionId);
619
- if (!proof)
620
- throw new Error(`Trusted Project Profile proof ${revision.revisionId} is unavailable`);
621
- const governanceInput = governanceInputFromDecision(revision.governanceDecision);
622
- if (canonicalWorkroomJson(proof.governanceInput) !== canonicalWorkroomJson(governanceInput)) {
623
- throw new Error(`Trusted Project Profile proof ${revision.revisionId} drifted from its Registry decision`);
624
- }
625
- }
626
- return state;
627
- }
628
- async #authorize(input, requiredRole) {
629
- const request = createRequest(input);
630
- const result = await this.options.authority.authorize(request);
631
- if (!result.approved) {
632
- if (result.requestDigest !== request.digest)
633
- throw new Error('Profile authority denial echo mismatch');
634
- throw new Error(`Profile authority denied: ${result.reason}`);
635
- }
636
- if (result.requestDigest !== request.digest
637
- || result.decidedBy !== request.authenticatedPrincipalId
638
- || result.authorizedBy !== requiredRole) {
639
- throw new Error('Profile authority exact decision echo mismatch');
640
- }
641
- text(result.decisionId, 'authority decisionId');
642
- nonNegative(result.decidedAt, 'authority decision timestamp');
643
- return deepFreeze({ request, decision: structuredClone(result) });
644
- }
645
- #operation(operationId, signal) {
646
- return deepFreeze({ operationId, generation: this.options.generation.generation, signal });
647
- }
648
- }
649
- function createRequest(input) {
650
- assertKeys(input, [
651
- 'version', 'action', 'operationId', 'authenticatedPrincipalId', 'candidateDigest',
652
- 'currentDigest', 'projectId',
653
- ], 'Profile publisher authority request');
654
- if (input.version !== 1
655
- || !['publish_pack', 'publish_profile', 'publish_profile_rollback', 'publish_planning_policy']
656
- .includes(input.action)) {
657
- throw new Error('Profile publisher authority request version/action is invalid');
658
- }
659
- text(input.operationId, 'Profile publisher operationId');
660
- text(input.authenticatedPrincipalId, 'Profile publisher principalId');
661
- requiredDigest(input.candidateDigest, 'Profile publisher candidate digest');
662
- if (input.currentDigest !== undefined) {
663
- requiredDigest(input.currentDigest, 'Profile publisher current digest');
664
- }
665
- if (input.projectId !== undefined)
666
- text(input.projectId, 'Profile publisher projectId');
667
- if ((input.action === 'publish_pack') !== (input.projectId === undefined)) {
668
- throw new Error('Profile publisher authority Project scope is invalid');
669
- }
670
- const body = deepFreeze(structuredClone(input));
671
- return deepFreeze({ ...body, digest: digest(body) });
672
- }
673
- function canonicalPackPublication(value) {
674
- const { digest: packDigest, ...packInput } = value.pack;
675
- const pack = createCapabilityPackManifest(packInput);
676
- if (pack.digest !== packDigest)
677
- throw new Error('Capability Pack digest mismatch');
678
- const authorityRequest = canonicalRequest(value.authorityRequest);
679
- if (authorityRequest.action !== 'publish_pack'
680
- || authorityRequest.candidateDigest !== pack.digest
681
- || authorityRequest.currentDigest !== undefined
682
- || authorityRequest.projectId !== undefined) {
683
- throw new Error('Capability Pack publisher authority scope mismatch');
684
- }
685
- const governance = canonicalDecision(value.governance, 'trusted_pack_publisher', authorityRequest);
686
- const body = deepFreeze({ version: 1, pack, authorityRequest, governance });
687
- const canonical = deepFreeze({ ...body, digest: digest(body) });
688
- if (value.version !== 1 || value.digest !== canonical.digest
689
- || canonicalWorkroomJson(value) !== canonicalWorkroomJson(canonical)) {
690
- throw new Error('Capability Pack publication digest mismatch');
691
- }
692
- return canonical;
693
- }
694
- function parsePackPublication(value) {
695
- if (!isRecord(value) || !isRecord(value.pack)
696
- || !isRecord(value.authorityRequest) || !isRecord(value.governance)) {
697
- throw new Error('Capability Pack publication is malformed');
698
- }
699
- return canonicalPackPublication(value);
700
- }
701
- function canonicalOverlay(value) {
702
- const { digest: supplied, ...input } = value;
703
- const canonical = createWorkroomProfileOverlay(input);
704
- if (supplied !== canonical.digest || canonicalWorkroomJson(value) !== canonicalWorkroomJson(canonical)) {
705
- throw new Error('Profile Overlay digest mismatch');
706
- }
707
- return canonical;
708
- }
709
- function parseOverlay(value) {
710
- if (!isRecord(value))
711
- throw new Error('Profile Overlay is malformed');
712
- return canonicalOverlay(value);
713
- }
714
- function canonicalProfileProof(value) {
715
- if (!isRecord(value.governanceInput))
716
- throw new Error('Project Profile publication proof is malformed');
717
- const governanceInput = deepFreeze(structuredClone(value.governanceInput));
718
- const authorityRequest = canonicalRequest(value.authorityRequest);
719
- const expectedAction = governanceInput.operation === 'register_rollback'
720
- ? 'publish_profile_rollback'
721
- : 'publish_profile';
722
- if (authorityRequest.action !== expectedAction
723
- || authorityRequest.projectId !== value.projectId
724
- || authorityRequest.candidateDigest !== digest(governanceInput)
725
- || authorityRequest.currentDigest !== governanceInput.currentActive?.compiledDigest
726
- || governanceInput.projectId !== value.projectId
727
- || governanceInput.revisionId !== value.revisionId) {
728
- throw new Error('Project Profile Sponsor authority scope mismatch');
729
- }
730
- const body = deepFreeze({
731
- version: 1,
732
- projectId: requiredText(value.projectId, 'Profile proof projectId'),
733
- revisionId: requiredText(value.revisionId, 'Profile proof revisionId'),
734
- governanceInput,
735
- authorityRequest,
736
- governance: canonicalDecision(value.governance, 'sponsor', authorityRequest),
737
- });
738
- const canonical = deepFreeze({ ...body, digest: digest(body) });
739
- if (value.version !== 1 || value.digest !== canonical.digest
740
- || canonicalWorkroomJson(value) !== canonicalWorkroomJson(canonical)) {
741
- throw new Error('Project Profile publication proof digest mismatch');
742
- }
743
- return canonical;
744
- }
745
- function parseProfileProof(value) {
746
- if (!isRecord(value) || !isRecord(value.governanceInput)
747
- || !isRecord(value.authorityRequest) || !isRecord(value.governance)) {
748
- throw new Error('Project Profile publication proof is malformed');
749
- }
750
- return canonicalProfileProof(value);
751
- }
752
- function governanceInputFromDecision(decision) {
753
- const { approved: _approved, decisionId: _decisionId, route: _route, outcome: _outcome, decidedBy: _decidedBy, ...input } = structuredClone(decision);
754
- return deepFreeze(input);
755
- }
756
- function canonicalRunPinProof(value) {
757
- const request = canonicalRunPinRequest(value.request);
758
- const authority = canonicalRunPinAuthority(value.authority, request);
759
- const pin = deepFreeze(structuredClone(value.pin));
760
- text(pin.projectId, 'Run pin proof Project');
761
- text(pin.runId, 'Run pin proof Run');
762
- text(pin.profileRevisionId, 'Run pin proof Profile revision');
763
- requiredDigest(pin.profileDigest, 'Run pin proof Profile digest');
764
- positive(pin.activationRegistryRevision, 'Run pin proof activation revision');
765
- positive(pin.pinnedAtRegistryRevision, 'Run pin proof Registry revision');
766
- if (pin.projectId !== request.projectId || pin.runId !== request.runId) {
767
- throw new Error('Workroom Run Profile pin proof scope mismatch');
768
- }
769
- const body = deepFreeze({ version: 1, request, authority, pin });
770
- const canonical = deepFreeze({ ...body, digest: digest(body) });
771
- if (value.version !== 1 || value.digest !== canonical.digest
772
- || canonicalWorkroomJson(value) !== canonicalWorkroomJson(canonical)) {
773
- throw new Error('Workroom Run Profile pin proof digest mismatch');
774
- }
775
- return canonical;
776
- }
777
- function parseRunPinProof(value) {
778
- if (!isRecord(value) || !isRecord(value.request)
779
- || !isRecord(value.authority) || !isRecord(value.pin)) {
780
- throw new Error('Workroom Run Profile pin proof is malformed');
781
- }
782
- return canonicalRunPinProof(value);
783
- }
784
- function canonicalRunPinRequest(value) {
785
- assertKeys(value, [
786
- 'version', 'generation', 'operationId', 'principalId', 'projectId', 'runId',
787
- 'planRevisionId', 'planDigest', 'profileRevisionId', 'profileDigest',
788
- 'runFactDigest', 'expectedRegistryRevision', 'digest',
789
- ], 'Run pin authority request');
790
- const { digest: supplied, ...input } = value;
791
- if (input.version !== 1 || !Number.isSafeInteger(input.generation) || input.generation < 1) {
792
- throw new Error('Run pin authority request version/generation is invalid');
793
- }
794
- text(input.operationId, 'Run pin authority operationId');
795
- text(input.principalId, 'Run pin authority principalId');
796
- text(input.projectId, 'Run pin authority projectId');
797
- text(input.runId, 'Run pin authority runId');
798
- text(input.planRevisionId, 'Run pin authority Plan revisionId');
799
- requiredDigest(input.planDigest, 'Run pin authority Plan digest');
800
- text(input.profileRevisionId, 'Run pin authority Profile revisionId');
801
- requiredDigest(input.profileDigest, 'Run pin authority Profile digest');
802
- requiredDigest(input.runFactDigest, 'Run pin authority fact digest');
803
- if (!Number.isSafeInteger(input.expectedRegistryRevision) || input.expectedRegistryRevision < -1) {
804
- throw new Error('Run pin authority expected Registry revision is invalid');
805
- }
806
- const canonical = deepFreeze({ ...structuredClone(input), digest: digest(input) });
807
- if (supplied !== canonical.digest || canonicalWorkroomJson(value) !== canonicalWorkroomJson(canonical)) {
808
- throw new Error('Run pin authority request digest mismatch');
809
- }
810
- return canonical;
811
- }
812
- function canonicalRunPinAuthority(value, request) {
813
- assertKeys(value, ['requestDigest', 'authorityDigest'], 'Run pin authority');
814
- requiredDigest(value.requestDigest, 'Run pin authority request digest');
815
- requiredDigest(value.authorityDigest, 'Run pin authority digest');
816
- if (value.requestDigest !== request.digest)
817
- throw new Error('Run pin authority exact echo mismatch');
818
- return deepFreeze(structuredClone(value));
819
- }
820
- function sameRunPinAuthorityScope(left, right) {
821
- const semantic = (value) => ({
822
- version: value.version,
823
- generation: value.generation,
824
- principalId: value.principalId,
825
- projectId: value.projectId,
826
- runId: value.runId,
827
- planRevisionId: value.planRevisionId,
828
- planDigest: value.planDigest,
829
- profileRevisionId: value.profileRevisionId,
830
- profileDigest: value.profileDigest,
831
- runFactDigest: value.runFactDigest,
832
- });
833
- return canonicalWorkroomJson(semantic(left)) === canonicalWorkroomJson(semantic(right));
834
- }
835
- function planningPolicyBody(command, policy) {
836
- return deepFreeze({
837
- version: 1,
838
- revision: positive(command.revision, 'Planning Policy revision'),
839
- ...(command.expectedPreviousDigest
840
- ? { previousDigest: requiredDigest(command.expectedPreviousDigest, 'Planning Policy previous digest') }
841
- : {}),
842
- projectId: requiredText(command.projectId, 'Planning Policy projectId'),
843
- catalogRevision: requiredText(command.catalogRevision, 'Planning Policy Catalog revision'),
844
- projectDigest: requiredDigest(command.projectDigest, 'Planning Policy Project digest'),
845
- profileRevisionId: requiredText(command.profileRevisionId, 'Planning Policy Profile revisionId'),
846
- profileDigest: requiredDigest(command.profileDigest, 'Planning Policy Profile digest'),
847
- policy,
848
- });
849
- }
850
- function planningPolicyCandidate(command, policy, authorityRequest, governance) {
851
- const body = deepFreeze({ ...planningPolicyBody(command, policy), authorityRequest, governance });
852
- return deepFreeze({ ...body, digest: digest(body) });
853
- }
854
- function canonicalPlanningPolicy(value) {
855
- const policy = canonicalPolicy(value.policy);
856
- const candidateBody = deepFreeze({
857
- version: 1,
858
- revision: positive(value.revision, 'Planning Policy revision'),
859
- ...(value.previousDigest
860
- ? { previousDigest: requiredDigest(value.previousDigest, 'Planning Policy previous digest') }
861
- : {}),
862
- projectId: requiredText(value.projectId, 'Planning Policy projectId'),
863
- catalogRevision: requiredText(value.catalogRevision, 'Planning Policy Catalog revision'),
864
- projectDigest: requiredDigest(value.projectDigest, 'Planning Policy Project digest'),
865
- profileRevisionId: requiredText(value.profileRevisionId, 'Planning Policy Profile revisionId'),
866
- profileDigest: requiredDigest(value.profileDigest, 'Planning Policy Profile digest'),
867
- policy,
868
- });
869
- const authorityRequest = canonicalRequest(value.authorityRequest);
870
- if (authorityRequest.action !== 'publish_planning_policy'
871
- || authorityRequest.projectId !== candidateBody.projectId
872
- || authorityRequest.candidateDigest !== digest(candidateBody)
873
- || authorityRequest.currentDigest !== candidateBody.previousDigest) {
874
- throw new Error('Planning Policy Sponsor authority scope mismatch');
875
- }
876
- const body = deepFreeze({
877
- ...candidateBody,
878
- authorityRequest,
879
- governance: canonicalDecision(value.governance, 'sponsor', authorityRequest),
880
- });
881
- const canonical = deepFreeze({ ...body, digest: digest(body) });
882
- if (value.version !== 1 || value.digest !== canonical.digest
883
- || canonicalWorkroomJson(value) !== canonicalWorkroomJson(canonical)) {
884
- throw new Error('Planning Policy content digest mismatch');
885
- }
886
- return canonical;
887
- }
888
- function parsePlanningPolicy(value) {
889
- if (!isRecord(value) || !isRecord(value.policy)
890
- || !isRecord(value.authorityRequest) || !isRecord(value.governance)) {
891
- throw new Error('Planning Policy revision is malformed');
892
- }
893
- return canonicalPlanningPolicy(value);
894
- }
895
- function canonicalPolicy(value) {
896
- const { digest: supplied, ...input } = value;
897
- const policy = createWorkroomDynamicPlanningPolicySnapshot(input);
898
- if (supplied !== policy.digest || canonicalWorkroomJson(value) !== canonicalWorkroomJson(policy)) {
899
- throw new Error('Dynamic planning Policy digest mismatch');
900
- }
901
- requiredText(policy.revisionId, 'Planning Policy revisionId');
902
- positive(policy.maxTasks, 'Planning Policy maxTasks');
903
- positive(policy.maxTotalAttempts, 'Planning Policy maxTotalAttempts');
904
- positive(policy.maxAttemptsPerTask, 'Planning Policy maxAttemptsPerTask');
905
- if (policy.maxAttemptsPerTask > policy.maxTotalAttempts || typeof policy.allowOptionalTasks !== 'boolean') {
906
- throw new Error('Dynamic planning Policy attempt/optional constraint is invalid');
907
- }
908
- unique(policy.approvalRequiredAuthorities, 'Planning Policy approval authority');
909
- requiredText(policy.sponsorGate.owner, 'Planning Policy Sponsor owner');
910
- positive(policy.sponsorGate.decisionTimeoutMs, 'Planning Policy Sponsor timeout');
911
- const { digest: schedulerDigest, ...schedulerInput } = policy.schedulerPolicy;
912
- const scheduler = createWorkroomSchedulerPolicySnapshot(schedulerInput);
913
- if (schedulerDigest !== scheduler.digest
914
- || canonicalWorkroomJson(policy.schedulerPolicy) !== canonicalWorkroomJson(scheduler)) {
915
- throw new Error('Dynamic planning Scheduler Policy digest mismatch');
916
- }
917
- if (!['urgent', 'high', 'normal', 'low'].includes(policy.defaultSponsorLane)
918
- || !['checkpointable', 'atomic'].includes(policy.defaultPreemptibility)) {
919
- throw new Error('Dynamic planning Policy default scheduling authority is invalid');
920
- }
921
- positive(policy.defaultTaskDeadlineMs, 'Planning Policy Task deadline');
922
- return policy;
923
- }
924
- function canonicalDecision(value, role, request) {
925
- assertKeys(value, [
926
- 'approved', 'requestDigest', 'decisionId', 'decidedBy', 'authorizedBy', 'decidedAt',
927
- ], 'Profile authority decision');
928
- if (!value || value.approved !== true || value.authorizedBy !== role) {
929
- throw new Error('Profile authority decision role is invalid');
930
- }
931
- requiredDigest(value.requestDigest, 'authority request digest');
932
- requiredText(value.decisionId, 'authority decisionId');
933
- requiredText(value.decidedBy, 'authority principal');
934
- nonNegative(value.decidedAt, 'authority decision timestamp');
935
- if (value.requestDigest !== request.digest || value.decidedBy !== request.authenticatedPrincipalId) {
936
- throw new Error('Profile authority decision exact echo mismatch');
937
- }
938
- return deepFreeze(structuredClone(value));
939
- }
940
- function canonicalRequest(value) {
941
- const { digest: supplied, ...input } = value;
942
- const canonical = createRequest(input);
943
- if (supplied !== canonical.digest || canonicalWorkroomJson(value) !== canonicalWorkroomJson(canonical)) {
944
- throw new Error('Profile publisher authority request digest mismatch');
945
- }
946
- return canonical;
947
- }
948
- function generationSupply(view) {
949
- return deepFreeze({
950
- tools: sortDefinitions(view.tools),
951
- skills: sortDefinitions(view.skills),
952
- agents: sortDefinitions(view.agents),
953
- });
954
- }
955
- function assertView(view, generation) {
956
- if (view.generation !== generation)
957
- throw new Error('Profile publication generation view is stale');
958
- requiredDigest(view.digest, 'generation view digest');
959
- }
960
- function commandHeader(command, signal) {
961
- signal.throwIfAborted();
962
- if (command.version !== 1)
963
- throw new Error('Profile control command version is invalid');
964
- text(command.operationId, 'control operationId');
965
- text(command.authenticatedPrincipalId, 'authenticated principalId');
966
- }
967
- function sortPackRefs(values) {
968
- if (!Array.isArray(values))
969
- throw new Error('Capability Pack refs are invalid');
970
- return deepFreeze(values.map(value => {
971
- assertPackRef(value);
972
- return { id: value.id, version: value.version, digest: value.digest };
973
- }).sort((left, right) => compareCanonicalWorkroomText(`${left.id}@${left.version}#${left.digest}`, `${right.id}@${right.version}#${right.digest}`)));
974
- }
975
- function assertPackRef(value) {
976
- text(value.id, 'Pack ref id');
977
- text(value.version, 'Pack ref version');
978
- requiredDigest(value.digest, 'Pack ref digest');
979
- }
980
- function sortDefinitions(values) {
981
- if (!Array.isArray(values))
982
- throw new Error('Capability definitions are invalid');
983
- return deepFreeze(values.map(value => ({
984
- id: requiredText(value.id, 'Capability id'),
985
- digest: requiredDigest(value.digest, 'Capability digest'),
986
- })).sort(byId));
987
- }
988
- function sortKnowledgeDefinitions(values, label) {
989
- return deepFreeze([...values].map(value => ({
990
- id: requiredText(value.id, `${label} id`),
991
- digest: requiredDigest(value.digest, `${label} digest`),
992
- allowedRoles: unique(value.allowedRoles, `${label} allowed role`),
993
- taskKeys: unique(value.taskKeys, `${label} Task key`),
994
- })).sort(byId));
995
- }
996
- function canonicalAcceptancePolicy(value) {
997
- requiredText(value.id, 'Acceptance Policy id');
998
- requiredDigest(value.digest, 'Acceptance Policy digest');
999
- if (!Array.isArray(value.tasks) || value.tasks.length === 0) {
1000
- throw new Error('Acceptance Policy requires Tasks');
1001
- }
1002
- const tasks = [...value.tasks].map(task => {
1003
- if (!['task_result', 'integration_candidate', 'effect_intent'].includes(task.kind)) {
1004
- throw new Error('Acceptance Policy Task kind is invalid');
1005
- }
1006
- if (!['baseline', 'reviewer_required', 'sponsor_required', 'reviewer_then_sponsor']
1007
- .includes(task.minimumRoute)) {
1008
- throw new Error('Acceptance Policy minimum route is invalid');
1009
- }
1010
- if (!Array.isArray(task.criteria) || task.criteria.length === 0) {
1011
- throw new Error('Acceptance Policy Task requires criteria');
1012
- }
1013
- return {
1014
- taskKey: requiredText(task.taskKey, 'Acceptance Policy Task key'),
1015
- kind: task.kind,
1016
- criteria: [...task.criteria].map(criterion => {
1017
- if (!['deterministic', 'judgment'].includes(criterion.kind)) {
1018
- throw new Error('Acceptance criterion kind is invalid');
1019
- }
1020
- return {
1021
- id: requiredText(criterion.id, 'Acceptance criterion id'),
1022
- kind: criterion.kind,
1023
- description: requiredText(criterion.description, 'Acceptance criterion description'),
1024
- };
1025
- }).sort(byId),
1026
- requiredEvidence: unique(task.requiredEvidence, 'Acceptance required Evidence'),
1027
- minimumRoute: task.minimumRoute,
1028
- reviewerPrincipalId: requiredText(task.reviewerPrincipalId, 'Acceptance Reviewer principal'),
1029
- sponsorPrincipalId: requiredText(task.sponsorPrincipalId, 'Acceptance Sponsor principal'),
1030
- reviewerTimeoutMs: positive(task.reviewerTimeoutMs, 'Acceptance Reviewer timeout'),
1031
- sponsorTimeoutMs: positive(task.sponsorTimeoutMs, 'Acceptance Sponsor timeout'),
1032
- };
1033
- }).sort((left, right) => compareCanonicalWorkroomText(left.taskKey, right.taskKey));
1034
- if (new Set(tasks.map(task => task.taskKey)).size !== tasks.length) {
1035
- throw new Error('Acceptance Policy Task keys contain duplicates');
1036
- }
1037
- const memorySchema = value.memorySchema;
1038
- if (!memorySchema || !Array.isArray(memorySchema.claimRules)) {
1039
- throw new Error('Acceptance Memory schema is invalid');
1040
- }
1041
- const claimRules = [...memorySchema.claimRules].map(rule => {
1042
- if (rule.valueType !== 'string' || typeof rule.allowSupersedes !== 'boolean') {
1043
- throw new Error('Acceptance Memory claim rule is invalid');
1044
- }
1045
- const allowedStatuses = unique(rule.allowedStatuses, 'Acceptance Memory claim status');
1046
- if (allowedStatuses.some(status => status !== 'verified' && status !== 'assumed')) {
1047
- throw new Error('Acceptance Memory claim status is invalid');
1048
- }
1049
- return {
1050
- key: requiredText(rule.key, 'Acceptance Memory claim key'),
1051
- valueType: 'string',
1052
- allowedStatuses: allowedStatuses,
1053
- allowSupersedes: rule.allowSupersedes,
1054
- };
1055
- }).sort((left, right) => compareCanonicalWorkroomText(left.key, right.key));
1056
- if (new Set(claimRules.map(rule => rule.key)).size !== claimRules.length) {
1057
- throw new Error('Acceptance Memory claim keys contain duplicates');
1058
- }
1059
- return deepFreeze({
1060
- id: value.id,
1061
- digest: value.digest,
1062
- tasks,
1063
- memorySchema: {
1064
- revision: positive(memorySchema.revision, 'Acceptance Memory schema revision'),
1065
- claimRules,
1066
- },
1067
- });
1068
- }
1069
- function unique(values, label) {
1070
- if (!Array.isArray(values))
1071
- throw new Error(`${label} list is invalid`);
1072
- return deepFreeze([...new Set(values.map(value => requiredText(value, label)))].sort());
1073
- }
1074
- function byId(left, right) {
1075
- return compareCanonicalWorkroomText(left.id, right.id);
1076
- }
1077
- function assertKeys(value, allowed, label) {
1078
- const extras = Object.keys(value).filter(key => !allowed.includes(key));
1079
- if (extras.length > 0)
1080
- throw new Error(`${label} contains forbidden fields: ${extras.sort().join(',')}`);
1081
- }
1082
- function text(value, label) {
1083
- if (typeof value !== 'string' || !value.trim() || value !== value.trim()) {
1084
- throw new Error(`${label} is invalid`);
1085
- }
1086
- }
1087
- function requiredText(value, label) {
1088
- text(value, label);
1089
- return value;
1090
- }
1091
- function requiredDigest(value, label) {
1092
- text(value, label);
1093
- if (!/^sha256:[a-f\d]{64}$/u.test(value))
1094
- throw new Error(`${label} is not a canonical SHA-256 digest`);
1095
- return value;
1096
- }
1097
- function positive(value, label) {
1098
- if (!Number.isSafeInteger(value) || Number(value) < 1)
1099
- throw new Error(`${label} is invalid`);
1100
- return Number(value);
1101
- }
1102
- function nonNegative(value, label) {
1103
- if (!Number.isSafeInteger(value) || Number(value) < 0)
1104
- throw new Error(`${label} is invalid`);
1105
- return Number(value);
1106
- }
1107
- function keyHash(value) {
1108
- return createHash('sha256').update(value).digest('hex');
1109
- }
1110
- async function readOptional(path, parse) {
1111
- try {
1112
- return parse(JSON.parse(await readFile(path, 'utf8')));
1113
- }
1114
- catch (error) {
1115
- if (hasCode(error, 'ENOENT'))
1116
- return undefined;
1117
- throw error;
1118
- }
1119
- }
1120
- async function readRequired(path, parse) {
1121
- const value = await readOptional(path, parse);
1122
- if (!value)
1123
- throw new Error(`Required Workroom Profile authority record is absent: ${path}`);
1124
- return value;
1125
- }
1126
- function isRecord(value) {
1127
- return Boolean(value && typeof value === 'object' && !Array.isArray(value));
1128
- }
1129
- function hasCode(error, code) {
1130
- return Boolean(error && typeof error === 'object' && 'code' in error
1131
- && error.code === code);
1132
- }
1133
- //# sourceMappingURL=workroom-profile-authority-runtime.js.map