@makaio/framework 1.0.0-dev-1781382091626 → 1.0.0-dev-1781442380278

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 (379) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/{account-identity-CgzOqnVm.mjs → account-identity-D-9gunfD.mjs} +1 -1
  3. package/dist/adapter-BH1X0THX.mjs +1 -0
  4. package/dist/adapters/config/index.d.mts +1 -1
  5. package/dist/adapters/config/index.mjs +1 -1
  6. package/dist/adapters/index.d.mts +3 -3
  7. package/dist/adapters/index.mjs +1 -1
  8. package/dist/adapters/node.d.mts +1 -1
  9. package/dist/adapters/node.mjs +1 -1
  10. package/dist/bus/index.d.mts +21 -20
  11. package/dist/bus/index.mjs +1 -1
  12. package/dist/canonical-model-BNb0IFWC.mjs +1 -0
  13. package/dist/{client-BBJf1mVA.mjs → client-D24ebgGH.mjs} +1 -1
  14. package/dist/compression-vRUOO-28.mjs +1 -0
  15. package/dist/contracts/adapter/index.d.mts +2 -2
  16. package/dist/contracts/adapter/index.mjs +1 -1
  17. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  18. package/dist/contracts/artifact/index.d.mts +1 -1
  19. package/dist/contracts/canonical-model/index.d.mts +2 -0
  20. package/dist/contracts/canonical-model/index.mjs +1 -0
  21. package/dist/contracts/client/index.d.mts +2 -2
  22. package/dist/contracts/client/index.mjs +1 -1
  23. package/dist/contracts/common/index.d.mts +1 -1
  24. package/dist/contracts/config/index.d.mts +1 -1
  25. package/dist/contracts/config/index.mjs +1 -1
  26. package/dist/contracts/extension/index.d.mts +3 -3
  27. package/dist/contracts/extension/index.mjs +1 -1
  28. package/dist/contracts/facet/index.d.mts +1 -1
  29. package/dist/contracts/facet/index.mjs +1 -1
  30. package/dist/contracts/harness/index.d.mts +1 -1
  31. package/dist/contracts/harness/index.mjs +1 -1
  32. package/dist/contracts/host/index.d.mts +1 -1
  33. package/dist/contracts/host/index.mjs +1 -1
  34. package/dist/contracts/index.d.mts +784 -1221
  35. package/dist/contracts/index.mjs +1 -1
  36. package/dist/contracts/materialization/index.d.mts +3 -3
  37. package/dist/contracts/materialization/index.mjs +1 -1
  38. package/dist/contracts/model-registry/index.d.mts +1 -1
  39. package/dist/contracts/model-registry/index.mjs +1 -1
  40. package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
  41. package/dist/contracts/native-session-supervisor/index.mjs +1 -1
  42. package/dist/contracts/platform/index.d.mts +1 -1
  43. package/dist/contracts/platform/index.mjs +1 -1
  44. package/dist/contracts/provider/index.d.mts +2 -2
  45. package/dist/contracts/session/index.d.mts +2 -2
  46. package/dist/contracts/session/index.mjs +1 -1
  47. package/dist/contracts/shared/index.d.mts +1 -1
  48. package/dist/contracts/skill/index.d.mts +1 -1
  49. package/dist/contracts/skill/index.mjs +1 -1
  50. package/dist/contracts/telemetry/index.d.mts +1 -1
  51. package/dist/contracts/telemetry/index.mjs +1 -1
  52. package/dist/contracts/timeout/index.d.mts +1 -1
  53. package/dist/contracts/toast/index.mjs +1 -1
  54. package/dist/contracts/variant/index.d.mts +1 -1
  55. package/dist/contracts/variant/index.mjs +1 -1
  56. package/dist/{definition-DWWzV-k0.d.mts → definition-CZcVOhXZ.d.mts} +1 -1
  57. package/dist/{detached-extension-handle-Diiwgm13.mjs → detached-extension-handle-BYxNmLfv.mjs} +1 -1
  58. package/dist/{extension-ZBN4BGre.mjs → extension-CTkoi8MV.mjs} +1 -1
  59. package/dist/{extension-DfNcE0zm.mjs → extension-DEUfzXcg.mjs} +1 -1
  60. package/dist/{filesystem-service-BjfrUmGS.mjs → filesystem-service-T8JOIWeP.mjs} +1 -1
  61. package/dist/git/index.mjs +1 -1
  62. package/dist/{globby-BIH65cbN.mjs → globby-Bos1vjKj.mjs} +1 -1
  63. package/dist/handlers-Cpy9Q8ho.mjs +41 -0
  64. package/dist/{harness-B8E_wRwa.mjs → harness-HEpELa_v.mjs} +1 -1
  65. package/dist/{index-Bw_zL7Rs.d.mts → index-6QvT0ljq.d.mts} +1 -1
  66. package/dist/{index-BT5tNA3Y.d.mts → index-B3mq3Qjf.d.mts} +1 -1
  67. package/dist/{index-B8tAGwHR.d.mts → index-BF84QInS.d.mts} +1130 -389
  68. package/dist/{index-CKP_uNGT.d.mts → index-BQ8H7cvY.d.mts} +16 -16
  69. package/dist/{index-C3zfJg6s.d.mts → index-BSFmBEDL.d.mts} +1 -1
  70. package/dist/{index-Abq3I8wg.d.mts → index-Cj3XCjXZ.d.mts} +341 -338
  71. package/dist/{index-B1Rz7oUy.d.mts → index-DHVoVh-j.d.mts} +8 -8
  72. package/dist/{index-B2xbnMZe.d.mts → index-DLPjliGd.d.mts} +1 -1
  73. package/dist/index-DUsm-DeE.d.mts +859 -0
  74. package/dist/{index-DQppnGdC.d.mts → index-DigeEyrf.d.mts} +23 -20
  75. package/dist/{index-dAjtejnc.d.mts → index-DvETyI0_.d.mts} +1 -1
  76. package/dist/{index-EsXVjKsv.d.mts → index-DyqZej9j.d.mts} +8 -8
  77. package/dist/{index-COwW_2Gb.d.mts → index-HiAth5G0.d.mts} +15 -15
  78. package/dist/{index-DW8EiMJ9.d.mts → index-LrZlZUvQ.d.mts} +12 -12
  79. package/dist/{index-wP87FKTQ2.d.mts → index-oUqyVvsD.d.mts} +3 -3
  80. package/dist/kernel/cli/index.d.mts +2 -2
  81. package/dist/kernel/cli/index.mjs +1 -1
  82. package/dist/kernel/cli/register.d.mts +1 -1
  83. package/dist/kernel/cli/register.mjs +1 -1
  84. package/dist/kernel/cli/schemas.mjs +1 -1
  85. package/dist/kernel/extension/index.d.mts +1 -1
  86. package/dist/kernel/extension/index.mjs +1 -1
  87. package/dist/kernel/index.d.mts +5 -5
  88. package/dist/kernel/index.mjs +1 -1
  89. package/dist/kernel/namespace/index.d.mts +1 -1
  90. package/dist/kernel/namespace/index.mjs +1 -1
  91. package/dist/kernel/observability/index.d.mts +1 -1
  92. package/dist/kernel/observability/index.mjs +1 -1
  93. package/dist/kernel/providers/index.d.mts +1 -1
  94. package/dist/kernel/providers/index.mjs +1 -1
  95. package/dist/kernel/window/index.d.mts +1 -1
  96. package/dist/kernel/window/index.mjs +1 -1
  97. package/dist/{lib-Cq5R6Tx9.mjs → lib-DkLlhp9Z.mjs} +1 -1
  98. package/dist/{lib-nlcl5kRW.mjs → lib-jOuIcSs9.mjs} +1 -1
  99. package/dist/{load-extensions-D9nbDIiW.d.mts → load-extensions-CQqw0Smr.d.mts} +1 -1
  100. package/dist/{load-extensions-wELQ4BBN.mjs → load-extensions-D-DyzN4j.mjs} +1 -1
  101. package/dist/mcp-http-server/index.mjs +1 -1
  102. package/dist/{namespace-BPlAuhc_.d.mts → namespace-B1Bldc48.d.mts} +117 -9
  103. package/dist/{namespace-Ds6HkJEU.d.mts → namespace-BXuuv8L9.d.mts} +154 -144
  104. package/dist/{namespace-Dfq6MDN9.mjs → namespace-BxrHvS5c.mjs} +1 -1
  105. package/dist/namespace-CH_NWUKW.mjs +1 -0
  106. package/dist/{namespace-5BLWcC3Q.d.mts → namespace-DM3TSh_y.d.mts} +58 -58
  107. package/dist/{namespace--ROWLToE.d.mts → namespace-Q-z7Lr2f.d.mts} +4 -4
  108. package/dist/{native-session-supervisor-DeKpxhWO.mjs → native-session-supervisor-DbrqcFq9.mjs} +1 -1
  109. package/dist/node/bus-server/index.d.mts +1 -1
  110. package/dist/node/bus-server/index.mjs +1 -1
  111. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  112. package/dist/node/bus-server/server-lifecycle.mjs +1 -1
  113. package/dist/{orchestrator-shared-BKFXaKPL.mjs → orchestrator-shared-yFP8e7d5.mjs} +1 -1
  114. package/dist/{package-DzN_jdqd.mjs → package-DMoFY63f.mjs} +1 -1
  115. package/dist/package.json +1 -1
  116. package/dist/primitive-runtime-DWbV7f_r.mjs +1 -0
  117. package/dist/{profile-D39-Zy_W.mjs → profile-r4G32bCH.mjs} +1 -1
  118. package/dist/{provider-context-wp4VSJFI.mjs → provider-context-Ds6GNYnE.mjs} +1 -1
  119. package/dist/rules/index.d.mts +1 -1
  120. package/dist/rules/index.mjs +1 -1
  121. package/dist/rules/schemas.d.mts +1 -1
  122. package/dist/runtime-bun/index.mjs +1 -1
  123. package/dist/runtime-node/extension-discovery.d.mts +1 -1
  124. package/dist/runtime-node/extension-validation.d.mts +1 -1
  125. package/dist/runtime-node/extension-validation.mjs +1 -1
  126. package/dist/runtime-node/index.d.mts +3 -3
  127. package/dist/runtime-node/index.mjs +24 -26
  128. package/dist/runtime-node/makaio-config.d.mts +1 -1
  129. package/dist/runtime-node/makaio-config.mjs +1 -1
  130. package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
  131. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  132. package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -1
  133. package/dist/{schema-cNoxaiT0.d.mts → schema-BKdn_bdY.d.mts} +3 -3
  134. package/dist/{schema-C3TgjrsV.mjs → schema-atatXwNg.mjs} +1 -1
  135. package/dist/{schemas-on3_N5HP.d.mts → schemas-CyEdMtnQ.d.mts} +154 -144
  136. package/dist/schemas-CzvG8xq7.mjs +1 -0
  137. package/dist/{schemas-DsyYsfVN2.d.mts → schemas-DvjQHkmw2.d.mts} +12 -12
  138. package/dist/services/adapter-runtime/index.d.mts +3 -3
  139. package/dist/services/adapter-runtime/index.mjs +1 -1
  140. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  141. package/dist/services/adapter-runtime/schemas.d.mts +1 -1
  142. package/dist/services/adapter-subsystem/index.d.mts +2 -2
  143. package/dist/services/adapter-subsystem/index.mjs +1 -1
  144. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  145. package/dist/services/adapter-subsystem/namespace.mjs +1 -1
  146. package/dist/services/agent-runtime/index.d.mts +2 -2
  147. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  148. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  149. package/dist/services/capability/index.d.mts +1 -1
  150. package/dist/services/capability/index.mjs +1 -1
  151. package/dist/services/codebase/index.d.mts +2 -2
  152. package/dist/services/codebase/namespace.d.mts +1 -1
  153. package/dist/services/codebase/schemas.d.mts +1 -1
  154. package/dist/services/compression/index.d.mts +2 -2
  155. package/dist/services/compression/namespace.d.mts +1 -1
  156. package/dist/services/compression/schemas.d.mts +1 -1
  157. package/dist/services/context-rules/index.d.mts +9 -9
  158. package/dist/services/context-rules/index.mjs +1 -1
  159. package/dist/services/execution-target/index.d.mts +3 -3
  160. package/dist/services/execution-target/index.mjs +1 -1
  161. package/dist/services/execution-target/namespace.d.mts +1 -1
  162. package/dist/services/execution-target/schemas.d.mts +1 -1
  163. package/dist/services/filesystem/index.d.mts +1 -1
  164. package/dist/services/filesystem/index.mjs +1 -1
  165. package/dist/services/filesystem/namespace.d.mts +6 -6
  166. package/dist/services/filesystem/schemas.d.mts +3 -3
  167. package/dist/services/git/namespace.mjs +1 -1
  168. package/dist/services/git/schemas.mjs +1 -1
  169. package/dist/services/harness/index.mjs +1 -1
  170. package/dist/services/index.d.mts +129 -124
  171. package/dist/services/index.mjs +1 -1
  172. package/dist/services/log-import/browser.d.mts +2 -2
  173. package/dist/services/log-import/index.d.mts +2 -2
  174. package/dist/services/log-import/log-import.d.mts +1 -1
  175. package/dist/services/log-import/log-import.mjs +1 -1
  176. package/dist/services/log-import/namespace.d.mts +2 -2
  177. package/dist/services/log-import/namespace.mjs +1 -1
  178. package/dist/services/log-import/schemas.d.mts +1 -1
  179. package/dist/services/log-import/schemas.mjs +1 -1
  180. package/dist/services/model-registry/index.d.mts +1 -1
  181. package/dist/services/model-registry/index.mjs +1 -1
  182. package/dist/services/preferences/index.d.mts +2 -2
  183. package/dist/services/preferences/schemas.d.mts +1 -1
  184. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  185. package/dist/services/provider-context/index.d.mts +1 -1
  186. package/dist/services/provider-context/index.mjs +1 -1
  187. package/dist/services/provider-runtime/index.mjs +1 -1
  188. package/dist/services/session/handlers/index.d.mts +1 -1
  189. package/dist/services/session/handlers/index.mjs +1 -1
  190. package/dist/services/session/index.d.mts +9 -9
  191. package/dist/services/session/index.mjs +1 -1
  192. package/dist/services/session/messages/namespace.d.mts +1 -1
  193. package/dist/services/session/messages/namespace.mjs +1 -1
  194. package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
  195. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  196. package/dist/services/session/session-events/namespace.d.mts +1 -1
  197. package/dist/services/session/session-events/namespace.mjs +1 -1
  198. package/dist/services/session/storage/namespace.d.mts +1 -1
  199. package/dist/services/session/storage/schema.d.mts +1 -1
  200. package/dist/services/session/testing/index.mjs +1 -1
  201. package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
  202. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  203. package/dist/services/session/turns/namespace.d.mts +1 -1
  204. package/dist/services/session/turns/namespace.mjs +1 -1
  205. package/dist/services/session-editor/index.d.mts +1 -1
  206. package/dist/services/session-editor/index.mjs +1 -1
  207. package/dist/services/settings/index.d.mts +3 -3
  208. package/dist/services/settings/index.mjs +1 -1
  209. package/dist/services/settings/namespace.d.mts +12 -12
  210. package/dist/services/settings/namespace.mjs +1 -1
  211. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  212. package/dist/services/settings/storage/clients-namespace.mjs +1 -1
  213. package/dist/services/settings/storage/index.d.mts +3 -3
  214. package/dist/services/settings/storage/index.mjs +1 -1
  215. package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
  216. package/dist/services/settings/storage/providers-namespace.mjs +1 -1
  217. package/dist/services/subagent/index.d.mts +1 -1
  218. package/dist/services/subagent/index.mjs +1 -1
  219. package/dist/services/subagent-template/index.d.mts +2 -2
  220. package/dist/services/subagent-template/namespace.d.mts +1 -1
  221. package/dist/services/subagent-template/schemas.d.mts +1 -1
  222. package/dist/services/tool-approval/index.d.mts +1 -1
  223. package/dist/services/tool-approval/index.mjs +1 -1
  224. package/dist/services/tools/index.d.mts +1 -1
  225. package/dist/services/tools/index.mjs +1 -1
  226. package/dist/services/tray-menu/index.d.mts +3 -3
  227. package/dist/services/tray-menu/index.mjs +1 -1
  228. package/dist/services/tray-menu/namespace.d.mts +1 -1
  229. package/dist/services/tray-menu/schemas.d.mts +1 -1
  230. package/dist/services/turn/index.d.mts +1 -1
  231. package/dist/services/turn/namespace.d.mts +1 -1
  232. package/dist/session-ZAJrcudH.mjs +39 -0
  233. package/dist/session-owtKCoUX.mjs +1 -0
  234. package/dist/{skill-BNQnWVIG.mjs → skill-B_VlGon5.mjs} +1 -1
  235. package/dist/{src-CBG3IHUl.mjs → src-6n-8M8EU.mjs} +1 -1
  236. package/dist/storage/drizzle/client.d.mts +1 -1
  237. package/dist/storage/drizzle/client.mjs +1 -1
  238. package/dist/storage/drizzle/index.d.mts +1 -1
  239. package/dist/storage/drizzle/index.mjs +1 -1
  240. package/dist/storage/handlers/drizzle/index.d.mts +1 -1
  241. package/dist/storage/handlers/drizzle/index.mjs +1 -1
  242. package/dist/storage/handlers/index.d.mts +1 -1
  243. package/dist/storage/handlers/index.mjs +1 -1
  244. package/dist/{tool-approval-service-DNHV5x0M.mjs → tool-approval-service-B_28RhuK.mjs} +1 -1
  245. package/dist/{tools-CQImrHAp.mjs → tools-BpzJterj.mjs} +1 -1
  246. package/dist/{types-D5IMwOkJ.d.mts → types-BB8iIAjZ.d.mts} +1 -1
  247. package/dist/{types-BtsKrzK7.d.mts → types-Bo2-N1YR.d.mts} +994 -345
  248. package/dist/ui-kernel/index.d.mts +1 -1
  249. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  250. package/dist/{version-B4NO_fID.mjs → version-SYP_DX4M.mjs} +1 -1
  251. package/dist/workflow-engine/index.d.mts +23 -23
  252. package/dist/workflow-engine/index.mjs +1 -1
  253. package/dist/workflow-engine/package.d.mts +1 -1
  254. package/dist/workflow-engine/package.mjs +1 -1
  255. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  256. package/dist/{workflow-worker-CK9Sqj7D.mjs → workflow-worker-CjuRYLmJ.mjs} +1 -1
  257. package/package.json +5 -1
  258. package/dist/adapter-UpcpZDOv.mjs +0 -1
  259. package/dist/handlers-BAB4fQNH.mjs +0 -41
  260. package/dist/namespace-BXqetkc3.mjs +0 -1
  261. package/dist/primitive-runtime-CNC_bSac.mjs +0 -1
  262. package/dist/schemas-CuKayWhA.mjs +0 -1
  263. package/dist/session-BwX5_k47.mjs +0 -1
  264. package/dist/session-P4nX60Xx.mjs +0 -39
  265. /package/dist/{ajv-BA2z5ztb.mjs → ajv-Cx19PP7Q.mjs} +0 -0
  266. /package/dist/{await-trigger-DREnXCEJ.mjs → await-trigger-uKEHY8E4.mjs} +0 -0
  267. /package/dist/{base-orchestrator-M5mAB5-w.d.mts → base-orchestrator-BRq4MXa7.d.mts} +0 -0
  268. /package/dist/{capability-service-jjrFLM6r.mjs → capability-service-CHl8rrwb.mjs} +0 -0
  269. /package/dist/{cleanEnvForAdapter-vZfPGi0X.mjs → cleanEnvForAdapter-D32WnVuy.mjs} +0 -0
  270. /package/dist/{client-BJVDImPV.d.mts → client-D2ZftNb6.d.mts} +0 -0
  271. /package/dist/{clients-namespace-SFk7OTop.d.mts → clients-namespace-CeAB0t06.d.mts} +0 -0
  272. /package/dist/{config-namespace-DydHz9so.mjs → config-namespace-DW5KHKPW.mjs} +0 -0
  273. /package/dist/{config-namespace-BzAvE2nY.d.mts → config-namespace-DloU-hNB.d.mts} +0 -0
  274. /package/dist/{create-static-mount-BB1MIQ9J.mjs → create-static-mount-Bi0VpYS8.mjs} +0 -0
  275. /package/dist/{cross-spawn-BL6EvJBv.mjs → cross-spawn-C58yEvsS.mjs} +0 -0
  276. /package/dist/{cursor-storage-CmKjSvKY.mjs → cursor-storage-CpuT5POU.mjs} +0 -0
  277. /package/dist/{definition-BSghHJpQ.d.mts → definition-BdxbXbrq.d.mts} +0 -0
  278. /package/dist/{definition-q6iLw11H.d.mts → definition-BwLJnqEo.d.mts} +0 -0
  279. /package/dist/{descriptor-to-package-CY8oc2gl.mjs → descriptor-to-package-D-FNxohm.mjs} +0 -0
  280. /package/dist/{drizzle-wjquQK2m.mjs → drizzle-D7dkDEB5.mjs} +0 -0
  281. /package/dist/{esm-CQVFKEW5.mjs → esm-CP2zvvlx.mjs} +0 -0
  282. /package/dist/{event-BEllCn16.mjs → event-DaXakaHo.mjs} +0 -0
  283. /package/dist/{execution-target-CQGYaaM2.mjs → execution-target-Da6Vjvba.mjs} +0 -0
  284. /package/dist/{extension-discovery-CkV_VRdJ.d.mts → extension-discovery-Bv5FDtrM.d.mts} +0 -0
  285. /package/dist/{extension-namespace-BBgYOttA.mjs → extension-namespace-O3sKdnY9.mjs} +0 -0
  286. /package/dist/{facet-DMrryX_0.mjs → facet-Q_vgXb23.mjs} +0 -0
  287. /package/dist/{filesystem-service-Ddngll0j.d.mts → filesystem-service-89fN-2Dd.d.mts} +0 -0
  288. /package/dist/{handler-DqpiV9eA.mjs → handler-BIA3ld4C.mjs} +0 -0
  289. /package/dist/{host-DbMiI5wQ.mjs → host-DFqmG2qO.mjs} +0 -0
  290. /package/dist/{identity-Bmx-8fPa.mjs → identity-CA5MzB19.mjs} +0 -0
  291. /package/dist/{index-RUN1iHYu.d.mts → index-B1PgTu7q.d.mts} +0 -0
  292. /package/dist/{index-Buo9H8RK.d.mts → index-BDnI2oqX.d.mts} +0 -0
  293. /package/dist/{index-Dsq2zKvu.d.mts → index-BE-yMFTz.d.mts} +0 -0
  294. /package/dist/{index-CDU_s69P.d.mts → index-BUilJdHr.d.mts} +0 -0
  295. /package/dist/{index-BpniJgxu.d.mts → index-BVMF3kRv.d.mts} +0 -0
  296. /package/dist/{index-C33Tq1ei2.d.mts → index-BVhnqzDC2.d.mts} +0 -0
  297. /package/dist/{index-Cz9JMjZK.d.mts → index-BeNVLvtk2.d.mts} +0 -0
  298. /package/dist/{index-D0SUjZmU.d.mts → index-BplsE3qw.d.mts} +0 -0
  299. /package/dist/{index-C6BhKRnH.d.mts → index-BtL_9HBk.d.mts} +0 -0
  300. /package/dist/{index-Bsp0O_sI.d.mts → index-CBTp2XuF.d.mts} +0 -0
  301. /package/dist/{index-BMpRB6iE.d.mts → index-CYZqADXY2.d.mts} +0 -0
  302. /package/dist/{index-DSV1aFgK.d.mts → index-CfpfkKih.d.mts} +0 -0
  303. /package/dist/{index-BxFA1XcP.d.mts → index-CkPIPbx9.d.mts} +0 -0
  304. /package/dist/{index-DOfq0qqv.d.mts → index-D0RWuwl5.d.mts} +0 -0
  305. /package/dist/{index-CGJjA-hR2.d.mts → index-DHHKwLww.d.mts} +0 -0
  306. /package/dist/{index-zgm2j9V92.d.mts → index-DJSffYTW2.d.mts} +0 -0
  307. /package/dist/{index-BpXX9WZJ.d.mts → index-DNmENr9M.d.mts} +0 -0
  308. /package/dist/{index-DlvMtyHK.d.mts → index-DUI1W-zN.d.mts} +0 -0
  309. /package/dist/{index-9IDJUJ4X.d.mts → index-DVgKfgh1.d.mts} +0 -0
  310. /package/dist/{index-D6Iyvz9T.d.mts → index-DWqSqcpW.d.mts} +0 -0
  311. /package/dist/{index-BBvcP-P0.d.mts → index-DdCyeZ59.d.mts} +0 -0
  312. /package/dist/{index-Drz_a7kW.d.mts → index-cFuQpzIm.d.mts} +0 -0
  313. /package/dist/{index-Dyz7dzLW.d.mts → index-cN4DkU5Y2.d.mts} +0 -0
  314. /package/dist/{index-BnQSPC6c.d.mts → index-kOSSuOcK.d.mts} +0 -0
  315. /package/dist/{index-BbCjtc3h.d.mts → index-orAkFukT.d.mts} +0 -0
  316. /package/dist/{jsonl-transport-C21tpVfe.mjs → jsonl-transport-Bb8ltqOe.mjs} +0 -0
  317. /package/dist/{lib-CNOQJtgs.mjs → lib-BmcGxHXH.mjs} +0 -0
  318. /package/dist/{materialization-3QUnQLbC.mjs → materialization-DsPIGQP1.mjs} +0 -0
  319. /package/dist/{model-registry-B0AIdj7O.mjs → model-registry-DLeMw3l8.mjs} +0 -0
  320. /package/dist/{model-registry-j-rCKcik.mjs → model-registry-DQDclqdw.mjs} +0 -0
  321. /package/dist/{namespace--s0d86h-.d.mts → namespace-2G7A4Sza.d.mts} +0 -0
  322. /package/dist/{namespace-BSNFeJA4.d.mts → namespace-Ba1gUpUu.d.mts} +0 -0
  323. /package/dist/{namespace-BBVtD1gu.d.mts → namespace-CEqkI6Zu.d.mts} +0 -0
  324. /package/dist/{namespace-BbjCyZC9.mjs → namespace-CN-Llu7H.mjs} +0 -0
  325. /package/dist/{namespace-CHMszppN.d.mts → namespace-CWgNi8Gv.d.mts} +0 -0
  326. /package/dist/{namespace-aJJfBJU5.d.mts → namespace-DKnJL0Ja.d.mts} +0 -0
  327. /package/dist/{namespace-XTGCaSXj.d.mts → namespace-DMhz3yvr.d.mts} +0 -0
  328. /package/dist/{namespace-DzVf1hVH.d.mts → namespace-DcUwOJ4f.d.mts} +0 -0
  329. /package/dist/{namespace-B60mn8J-2.d.mts → namespace-Dr1wDUZA2.d.mts} +0 -0
  330. /package/dist/{namespace-BgPoC46Q.mjs → namespace-DrpHLJAy.mjs} +0 -0
  331. /package/dist/{namespace-ENv7H7Na.mjs → namespace-FJsnoEQy.mjs} +0 -0
  332. /package/dist/{namespace-D6X67cUk.mjs → namespace-UUw-S7ia.mjs} +0 -0
  333. /package/dist/{namespace-uuR0Fg5r.d.mts → namespace-nQS4XwnT.d.mts} +0 -0
  334. /package/dist/{namespace-nlsvvMtD.d.mts → namespace-q5dD3acO.d.mts} +0 -0
  335. /package/dist/{namespace-FT8igkn4.mjs → namespace-uGUGfpGQ.mjs} +0 -0
  336. /package/dist/{namespace-CUOGcGPG.mjs → namespace-zWB-ULrX.mjs} +0 -0
  337. /package/dist/{orchestrator-shared-D91Wk7z-.d.mts → orchestrator-shared-CbS4ueeq.d.mts} +0 -0
  338. /package/dist/{out-C1JFb2Bp.mjs → out-BUHr98Xe.mjs} +0 -0
  339. /package/dist/{package--RZnpN2J.d.mts → package-BEbo1-6S.d.mts} +0 -0
  340. /package/dist/{package-BzJvtM5O.mjs → package-YQeRE8bV.mjs} +0 -0
  341. /package/dist/{platform-Dhv22LiX.mjs → platform-CsO-MRJP.mjs} +0 -0
  342. /package/dist/{providers-B1p0P-vB.mjs → providers-FEZT2bQG.mjs} +0 -0
  343. /package/dist/{providers-namespace-BqWYkydw.d.mts → providers-namespace-DMUyEbmp.d.mts} +0 -0
  344. /package/dist/{quick-lru-B9nWXbXI.mjs → quick-lru-C7AXdpbU.mjs} +0 -0
  345. /package/dist/{registry-RG-bkw3c.mjs → registry-udUhXSIC.mjs} +0 -0
  346. /package/dist/{schema-CzhOc7TV.mjs → schema-Ba64XQjo.mjs} +0 -0
  347. /package/dist/{schema-introspection-CuRZPYEc.mjs → schema-introspection-D5FaI5B_.mjs} +0 -0
  348. /package/dist/{schemas-BCIuTWRl2.mjs → schemas-5kegIs9D.mjs} +0 -0
  349. /package/dist/{schemas-B77Gi8Xr.d.mts → schemas-9Ifo5zSf.d.mts} +0 -0
  350. /package/dist/{schemas-BdAf5u58.mjs → schemas-9QC3nvYP.mjs} +0 -0
  351. /package/dist/{schemas-Dyk7JuVl.d.mts → schemas-BSAKbVyd.d.mts} +0 -0
  352. /package/dist/{schemas-o2Q24yOF.d.mts → schemas-BbFAwUpf.d.mts} +0 -0
  353. /package/dist/{schemas-Kq33MTPY.d.mts → schemas-BxI5Yq8d.d.mts} +0 -0
  354. /package/dist/{schemas-Chyj6HuZ.d.mts → schemas-CRS7tkFP.d.mts} +0 -0
  355. /package/dist/{schemas-B5ToLwIs.d.mts → schemas-Cae5dubB.d.mts} +0 -0
  356. /package/dist/{schemas-hSrzflwZ.mjs → schemas-DAYPhB5K.mjs} +0 -0
  357. /package/dist/{schemas-DZUaRcYl.d.mts → schemas-DZfBym73.d.mts} +0 -0
  358. /package/dist/{schemas-C792eVAZ.d.mts → schemas-DznsZ0bq.d.mts} +0 -0
  359. /package/dist/{schemas-DUE6mc1O.d.mts → schemas-IDGAJ_zv.d.mts} +0 -0
  360. /package/dist/{semver-DhHJv6Dt.mjs → semver-ClOD8k8c.mjs} +0 -0
  361. /package/dist/{server-lifecycle-47mygK3E.d.mts → server-lifecycle-5iHxcgBO.d.mts} +0 -0
  362. /package/dist/{server-lifecycle-Cg47L59Q.mjs → server-lifecycle-CFQaPTf7.mjs} +0 -0
  363. /package/dist/{session-lineage-CKg6mErA.d.mts → session-lineage-DFkJgYt5.d.mts} +0 -0
  364. /package/dist/{shared-schemas-DYL7a-No.mjs → shared-schemas-jG3EtHZT.mjs} +0 -0
  365. /package/dist/{src-DedDL9iv.mjs → src-CRDOZl7K.mjs} +0 -0
  366. /package/dist/{storage-namespace-BXO3lDVy.mjs → storage-namespace-C1JVmZF1.mjs} +0 -0
  367. /package/dist/{storage-namespace-definition-C3XbpiP8.d.mts → storage-namespace-definition-BPYSLTfN.d.mts} +0 -0
  368. /package/dist/{storage-namespace-definition-RvjfFysN.mjs → storage-namespace-definition-Df8S3E3r.mjs} +0 -0
  369. /package/dist/{storage-namespace-BXmMUd7a.d.mts → storage-namespace-gey7EUhM.d.mts} +0 -0
  370. /package/dist/{supports-color-fVsgozsi.mjs → supports-color-AnssSSH9.mjs} +0 -0
  371. /package/dist/{telemetry-O0394b7p.mjs → telemetry-DdbvlZ8s.mjs} +0 -0
  372. /package/dist/{tray-menu-service-B5YPK_YF.mjs → tray-menu-service-am356993.mjs} +0 -0
  373. /package/dist/{types-D-bP8RRE.d.mts → types-Bj7cOrBQ.d.mts} +0 -0
  374. /package/dist/{types-D6jnDjP2.d.mts → types-D-GeeSdd.d.mts} +0 -0
  375. /package/dist/{types-5Gw3iVpK.d.mts → types-DhlQpVEb.d.mts} +0 -0
  376. /package/dist/{types-B0BtvVAq.d.mts → types-xLd-e0wf.d.mts} +0 -0
  377. /package/dist/{variant-COVbYmMs.mjs → variant-BdNN5edM.mjs} +0 -0
  378. /package/dist/{window-registry-CfEi_Ji4.d.mts → window-registry-CA6AC8n7.d.mts} +0 -0
  379. /package/dist/{window-registry-XjOExitT.mjs → window-registry-LRjWPwr4.mjs} +0 -0
@@ -1 +1 @@
1
- import{SessionStorageSubjects as e}from"./services/session/storage/namespace.mjs";import{x as t}from"./handlers-BAB4fQNH.mjs";import{A as n,G as r,K as i,L as a,Y as o,a as s,b as c,c as l,i as u,n as d,p as f,r as ee,w as te,z as ne}from"./session-P4nX60Xx.mjs";import{n as p}from"./namespace-ENv7H7Na.mjs";import{t as re}from"./capability-service-jjrFLM6r.mjs";import"./services/adapter-subsystem/index.mjs";import{i as ie,s as ae}from"./model-registry-B0AIdj7O.mjs";import{t as oe}from"./tool-approval-service-DNHV5x0M.mjs";import{t as se}from"./tray-menu-service-B5YPK_YF.mjs";import{r as m,t as h}from"./handler-DqpiV9eA.mjs";import{n as ce}from"./package-BzJvtM5O.mjs";import{t as le}from"./filesystem-service-BjfrUmGS.mjs";import{z as g}from"zod";import{createHash as ue}from"node:crypto";import{MakaioError as de,createMakaioContext as fe}from"@makaio/framework/core";import{MakaioBus as _}from"@makaio/framework/bus";import{AdapterSubjects as pe,ArtifactSubjects as v,CanonicalModelSubjects as me,DEFAULT_HARNESSES as he,HarnessDefinitionCreateSchema as ge,HarnessSubjects as y,JsonValueSchema as _e,ToolSubjects as b,TransitionRuleDefinitionSchema as ve,WorkflowBlocksSubjects as ye,WorkflowSubjects as be,dep as x,extensionToken as S,validateToolAdapterIdentity as xe,zodSchemaToJsonRecord as C}from"@makaio/framework/contracts";import{BaseService as w}from"@makaio/framework/service-base";import{registerDrizzleHandlers as T}from"@makaio/framework/storage/drizzle";import{slugifyProviderConfigName as Se}from"@makaio/framework/contracts/config";import{ClientAccountIdentifierSchema as Ce,ClientSessionAccountObserveSchema as we,ClientSubjects as E}from"@makaio/framework/contracts/client";import{FacetSubjects as D}from"@makaio/framework/contracts/facet";import{MaterializationSubjects as O}from"@makaio/framework/contracts/materialization";import{FILE_ACCESS_RULES_KEY as Te,FILE_ACCESS_RULES_KEY as Ee,ToolErrorCodes as k,errorToToolResult as De,extractToolFilePath as Oe,toolError as A,toolSuccess as ke}from"@makaio/framework/tools";import{ConditionSchema as Ae,evaluate as je}from"@makaio/framework/rules";import{evaluateSync as Me}from"@makaio/framework/expression";import{GitService as Ne}from"@makaio/framework/git";const Pe=[{type:`supersedes`,symmetry:`asymmetric`},{type:`contradicts`,symmetry:`symmetric`},{type:`derives_from`,symmetry:`asymmetric`},{type:`responds_to`,symmetry:`asymmetric`},{type:`contains`,symmetry:`asymmetric`},{type:`refines`,symmetry:`asymmetric`},{type:`scopes`,symmetry:`asymmetric`},{type:`references`,symmetry:`asymmetric`},{type:`evidenced_by`,symmetry:`asymmetric`}],j={extension:0,"factory-repo":1,"target-repo":2},M={source:`extension`,ownerKey:`extension:bus`};function N(e){return`${e.source}:${e.ownerKey}`}function Fe(e,t){return e.source===t.source&&e.ownerKey===t.ownerKey}function P(e){return structuredClone(e)}function F(e,t){return`${e}@${t}`}var I=class extends w{kinds=new Map;kindContributions=new Map;nextKindContributionOrder=0;relationTypes=new Map;constructor(e){super(e)}async onInit(){for(let e of Pe)this.relationTypes.set(e.type,e);this.registerHandler(v.kind.register,e=>{this.registerKind(e.payload),e.setResult({registered:!0})}),this.registerHandler(v.kind.list,e=>{let{kind:t}=e.payload,n=[...this.kinds.values()].filter(e=>!t||e.kind===t).map(P);e.setResult({kinds:n})}),this.registerHandler(v[`relation-type`].register,e=>{this.storeRelationType(e.payload),e.setResult({registered:!0})}),this.registerHandler(v[`relation-type`].list,e=>{let{type:t}=e.payload,n=[...this.relationTypes.values()].filter(e=>!t||e.type===t).map(P);e.setResult({relationTypes:n})})}compareKindContributions(e,t){let n=j[e.owner.source]-j[t.owner.source];return n===0?e.owner.source===`extension`?t.order-e.order:e.order-t.order:n}findSameTierRepoConflict(e,t,n){return[...e.values()].find(e=>!Fe(e.owner,t)&&e.owner.source===t.source&&t.source!==`extension`&&e.order<=n)}recomputeKindWinner(e){let t=this.kindContributions.get(e),n=this.kinds.get(e);if(t===void 0||t.size===0){this.kindContributions.delete(e),this.kinds.delete(e),this.emitKindChangedFromKey(e,n);return}let r;for(let e of t.values())(r===void 0||this.compareKindContributions(e,r)<0)&&(r=e);let i=r;this.kinds.set(e,P(i.registration)),JSON.stringify(n)!==JSON.stringify(i.registration)&&this.bus.emit(v.kind.changed,{kind:i.registration.kind,schemaVersion:i.registration.schemaVersion})}emitKindChangedFromKey(e,t){t!==void 0&&this.bus.emit(v.kind.changed,{kind:t.kind,schemaVersion:t.schemaVersion})}registerKind(e,t=M){let n=F(e.kind,e.schemaVersion),r=this.kindContributions.get(n)??new Map,i=N(t),a=r.get(i),o=t.source===`extension`?this.nextKindContributionOrder:a?.order??this.nextKindContributionOrder,s=this.findSameTierRepoConflict(r,t,o);if(s!==void 0){console.warn(`[ArtifactSchemaRegistry] Artifact kind '${n}' is already registered by '${s.owner.ownerKey}' at the same priority; keeping the existing owner.`);return}r.set(i,{owner:t,registration:P(e),order:t.source===`extension`||a===void 0?this.nextKindContributionOrder++:a.order}),this.kindContributions.set(n,r),this.recomputeKindWinner(n)}deregisterKind(e,t,n=M){let r=F(e,t),i=this.kindContributions.get(r);i!==void 0&&(i.delete(N(n)),this.recomputeKindWinner(r))}replaceKindRegistrationsForOwner(e,t){let n=new Set,r=N(e),i=new Map;for(let[e,t]of this.kindContributions.entries()){let a=t.get(r);a!==void 0&&(i.set(e,a.order),t.delete(r),n.add(e))}for(let a of t){let t=F(a.kind,a.schemaVersion),o=this.kindContributions.get(t)??new Map,s=e.source===`extension`?void 0:i.get(t),c=s??this.nextKindContributionOrder,l=this.findSameTierRepoConflict(o,e,c);if(l!==void 0){console.warn(`[ArtifactSchemaRegistry] Artifact kind '${t}' is already registered by '${l.owner.ownerKey}' at the same priority; keeping the existing owner.`);continue}o.set(r,{owner:e,registration:P(a),order:s??this.nextKindContributionOrder++}),this.kindContributions.set(t,o),n.add(t)}for(let e of n)this.recomputeKindWinner(e)}storeRelationType(e){let t=this.relationTypes.get(e.type);if(t){if(t.symmetry!==e.symmetry)throw Error(`Relation type '${e.type}' is already registered with different symmetry (existing: '${t.symmetry}', new: '${e.symmetry}')`);return}this.relationTypes.set(e.type,P(e))}getKind(e,t){let n=this.kinds.get(F(e,t));return n?P(n):void 0}getRelationType(e){let t=this.relationTypes.get(e);return t?P(t):void 0}onDestroy(){this.kinds.clear(),this.kindContributions.clear(),this.relationTypes.clear(),this.nextKindContributionOrder=0}},L=class extends Error{reason;hookId;constructor(e,t){super(`Artifact write rejected by hook '${t}': ${e}`),this.reason=e,this.hookId=t,this.name=`ArtifactLifecycleHookRejectedError`}};function R(e,t){return e?!(e.kind!==void 0&&e.kind!==`*`&&e.kind!==t.kind||e.schemaVersion!==void 0&&e.schemaVersion!==t.schemaVersion):!0}function z(e){return e.priority??0}function Ie(e,t,n){return e.filter(e=>e.event===t&&R(e.filter,n)).sort((e,t)=>z(t)-z(e))}function Le(e,t,n){return e.filter(e=>e.event===t&&R(e.filter,n)).sort((e,t)=>z(t)-z(e))}function Re(e,t){return{...e,...`data`in t?{data:t.data}:{},...`relations`in t?{relations:t.relations}:{},...`confidence`in t?{confidence:t.confidence}:{},...`representations`in t?{representations:t.representations}:{},...`actor`in t?{actor:t.actor}:{}}}function ze(e,t){let{confidence:n,representations:r,...i}=e;return{...i,data:t.data,relations:[...t.relations],...t.confidence===void 0?{}:{confidence:t.confidence},...t.representations===void 0?{}:{representations:t.representations},actor:t.actor}}var B=class extends w{registrations=new Map;constructor(e){super(e)}async onInit(){}onDestroy(){this.registrations.clear()}registerHooks(e,t){let n=[...t];this.registrations.set(e,n);let r=!1;return()=>{r||(r=!0,this.registrations.get(e)===n&&this.registrations.delete(e))}}allHooks(){let e=[];for(let t of this.registrations.values())e.push(...t);return e}async runBeforeCreate(e){return this.runBeforeHooks(`beforeCreate`,e)}async runBeforeRevise(e){return this.runBeforeHooks(`beforeRevise`,e)}async runBeforeHooks(e,t){let{draft:n,previous:r,kindRegistration:i}=t,a=Ie(this.allHooks(),e,n),o=new Map,s={kind:n.kind,schemaVersion:n.schemaVersion,scope:n.scope,data:n.data,relations:n.relations,...n.confidence===void 0?{}:{confidence:n.confidence},...n.representations===void 0?{}:{representations:n.representations},actor:n.actor},c=!1;for(let t of a){let n,a={event:e,get draft(){return s},previous:r,kindRegistration:i,bus:this.bus,meta:o,rejectCreation(e){n={reason:e}},skipMaterialization(){c=!0},updateDraft(e){s=Re(s,e)}};if(await t.handler(a),n)throw new L(n.reason,t.id)}return{draft:ze(n,s),skipMaterialization:c,meta:o}}async runAfterCreate(e){await this.runAfterHooks(`afterCreate`,`created`,e)}async runAfterRevise(e){await this.runAfterHooks(`afterRevise`,`revised`,e)}async runAfterStatusChanged(e){await this.runAfterHooks(`afterStatusChanged`,`status-changed`,e)}async runAfterObservationAdded(e){await this.runAfterHooks(`afterObservationAdded`,`observation-added`,e)}async runAfterHooks(e,t,n){let{artifact:r,previous:i,observation:a,kindRegistration:o,projectionPolicy:s,skipDefaultProjection:c,meta:l}=n,u=Le(this.allHooks(),e,r),d=this.bus,f=!1;for(let n of u){if(c&&(n.priority??0)<0||f&&(n.priority??0)<0)continue;let u={event:e,semanticEvent:t,artifact:r,previous:i?{refClass:`artifact`,id:i.id,revision:i.revision,kind:i.kind}:void 0,observation:a,kindRegistration:o,projectionPolicy:s,bus:d,meta:l,preventDefault(){f=!0},async resolveRelations(e){let t=r.relations.filter(t=>t.type===e).map(e=>e.target),n=[];for(let e of t){let t=e;if(t.refClass===`artifact`){let e=t,{artifact:r}=await d.request(v.resolve,{ref:e});r&&n.push(r)}}return n}};try{await n.handler(u)}catch(t){console.error(`[ArtifactLifecycleHookRegistry] Hook '${n.id}' threw during '${e}':`,t)}}}};function V(e){return structuredClone(e)}var Be=class extends w{namespaces=new Map;constructor(e){super(e)}async onInit(){this.registerHandler(D.namespace.register,e=>{this.registerNamespace(e.payload),e.setResult({registered:!0})}),this.registerHandler(D.namespace.list,e=>{let{namespace:t}=e.payload,n=[...this.namespaces.values()].filter(e=>!t||e.namespace===t).map(V);e.setResult({namespaces:n})})}registerNamespace(e){let t=this.namespaces.get(e.namespace);if(t){if(JSON.stringify(t)!==JSON.stringify(e))throw Error(`Facet namespace '${e.namespace}' is already registered with a different definition`);return}this.namespaces.set(e.namespace,V(e)),this.bus.emit(D.namespace.changed,{namespace:e.namespace})}deregisterNamespace(e){this.namespaces.delete(e)&&this.bus.emit(D.namespace.changed,{namespace:e})}getNamespace(e){let t=this.namespaces.get(e);return t?V(t):void 0}onDestroy(){this.namespaces.clear()}};function H(e){return structuredClone(e)}var Ve=class extends w{bindings=new Map;constructor(e){super(e)}async onInit(){this.registerHandler(O.surfaceBinding.register,e=>{this.registerBinding(e.payload),e.setResult({registered:!0})}),this.registerHandler(O.surfaceBinding.list,e=>{let{provider:t,namespace:n}=e.payload,r=[...this.bindings.values()].filter(e=>(!t||e.provider===t)&&(!n||e.namespace===n)).map(H);e.setResult({bindings:r})})}registerBinding(e){let t=this.bindings.get(e.id);if(t){if(JSON.stringify(t)!==JSON.stringify(e))throw Error(`Surface binding '${e.id}' is already registered with a different definition`);return}this.bindings.set(e.id,H(e)),this.bus.emit(O.surfaceBinding.changed,{id:e.id,provider:e.provider})}deregisterBinding(e){let t=this.bindings.get(e);t&&(this.bindings.delete(e),this.bus.emit(O.surfaceBinding.changed,{id:e,provider:t.provider}))}getBinding(e){let t=this.bindings.get(e);return t?H(t):void 0}onDestroy(){this.bindings.clear()}},U=class extends de{code;suggestions;constructor(e,t,n){super(e),this.code=t,this.suggestions=n}},He=class{deps;constructor(e){this.deps=e}async resolve(e,t){switch(e.kind){case`bare`:return this.resolveBare(e.model);case`qualified`:return this.resolveQualified(e.segment1,e.segment2,e.model)}}async resolveBare(e){let t=await this.deps.resolveDefaultModelTarget(e);switch(t.kind){case`resolved`:return{kind:`adapter`,adapterName:t.target.adapterName,providerConfigId:t.target.providerConfigId,model:t.target.model};case`ambiguous`:throw new U(`Model "${e}" is available via multiple providers. Use a qualified reference to select one.`,`ambiguous-model`,t.matches.map(e=>e.qualifiedName));case`not-found`:throw new U(`Model "${e}" was not found in any enabled adapter's registry.`,`model-not-found`)}}async resolveQualified(e,t,n){return t===void 0?this.resolveQualifiedOneSegment(e,n):this.resolveQualifiedTwoSegments(e,t,n)}async resolveQualifiedTwoSegments(e,t,n){let r=await this.deps.listEnabledAdapterNames();if(!r.includes(e))throw new U(`Adapter "${e}" is not enabled or does not exist.`,`adapter-not-found`);return{kind:`adapter`,adapterName:e,providerConfigId:await this.resolveProviderSegment(t,e,r),model:n}}async resolveQualifiedOneSegment(e,t){let n=await this.deps.listEnabledAdapterNames();if(n.includes(e)){let n=await this.deps.getDefaultBinding(e);if(!n)throw new U(`Adapter "${e}" has no enabled provider binding. Configure or enable a provider binding first.`,`no-binding`);return{kind:`adapter`,adapterName:e,providerConfigId:n.providerConfigId,model:t}}let r=await this.deps.findProviderConfigByName(e);if(r)return{kind:`adapter`,adapterName:(await this.pickBindingForConfig(r.id,n)).adapterName,providerConfigId:r.id,model:t};let i=await this.deps.findProviderDefinition(e,n);if(i){let r=await this.deps.findDefaultConfigForDefinition(i.id);if(!r)throw new U(`Provider definition "${e}" exists but has no configured provider config. Create a provider config first.`,`provider-not-found`);return{kind:`adapter`,adapterName:(await this.pickBindingForConfig(r.id,n)).adapterName,providerConfigId:r.id,model:t}}throw new U(`"${e}" does not match any enabled adapter name, provider config name, or provider definition ID.`,`adapter-not-found`)}async resolveProviderSegment(e,t,n){let r=await this.deps.findProviderConfigByName(e);if(r)return await this.requireBindingForAdapterAndConfig(t,r.id,e),r.id;let i=await this.deps.findProviderDefinition(e,n);if(i){let n=await this.deps.findConfigForDefinitionAndAdapter(i.id,t);if(!n)throw new U(`Provider definition "${e}" has no enabled config bound to adapter "${t}". Create a provider config and binding first.`,`no-binding`);return n.id}throw new U(`"${e}" does not match any provider config name or provider definition ID.`,`provider-not-found`)}async requireBindingForAdapterAndConfig(e,t,n){if(!(await this.deps.listBindingsForConfig(t)).some(t=>t.adapterName===e))throw new U(`No binding exists between adapter "${e}" and provider "${n}". Create a binding first.`,`no-binding`)}async pickBindingForConfig(e,t){let n=(await this.deps.listBindingsForConfig(e)).filter(e=>t.includes(e.adapterName));if(n.length===0)throw new U(`Provider config "${e}" has no bindings to enabled adapters. Bind it to an enabled adapter first.`,`no-binding`);return n.find(e=>e.isDefault)??n[0]}},Ue=class e extends w{constructor(e=_){super(e)}async onInit(){await this.bus.request(p.ensureReady,{});let e=new He(this.createDeps());this.registerHandler(me.resolve,async t=>{let n=await e.resolve(t.payload.parsed,t.payload.context);t.setResult(n)})}createDeps(){let e=this.bus,t=async()=>{let{adapters:t}=await e.request(p.listAdapters,{});return t.filter(e=>e.enabled).map(e=>e.name)},n=async t=>{let[n,r]=await Promise.all([e.request(p.getDefaultBinding,{adapterName:t}),this.listEnabledProviderConfigIds()]);if(n.binding&&r.has(n.binding.providerConfigId))return n.binding;let{bindings:i}=await e.request(p.listBindings,{adapterName:t}),a=i.filter(e=>r.has(e.providerConfigId));return a.find(e=>e.isDefault)??a[0]},r=async t=>{let{definitions:n}=await e.request(p.getProviderDefinitionsByAdapter,{adapterName:t});return n},i=async t=>{let{bindings:n}=await e.request(p.listBindingsByConfig,{providerConfigId:t});return n},a=async t=>{let{configs:n}=await e.request(p.listProviderConfigs,{enabled:!0}),r=Se(t);return n.find(e=>Se(e.name)===r)},o=this.buildFindProviderDefinition(t,r),s=async t=>{let{configs:n}=await e.request(p.listProviderConfigsByDefinition,{definitionId:t}),r=n.filter(e=>e.enabled);return r.find(e=>e.isDefault)??r[0]},c=async(t,n)=>{let{config:r}=await e.request(p.findConfigForDefinitionAndAdapter,{definitionId:t,adapterName:n});return r?{id:r.id}:void 0};return{listEnabledAdapterNames:t,getDefaultBinding:n,findProviderConfigByName:a,findProviderDefinition:o,listBindingsForConfig:i,findDefaultConfigForDefinition:s,findConfigForDefinitionAndAdapter:c,resolveDefaultModelTarget:this.buildResolveDefaultModelTarget(t,r,c)}}buildFindProviderDefinition(e,t){return async(n,r)=>{let i=r??await e();for(let e of i){let r=(await t(e)).find(e=>e.id===n);if(r)return r}}}buildResolveDefaultModelTarget(t,n,r){let i=this.bus;return async a=>{let o=await t(),s=await Promise.all(o.map(async e=>({adapterName:e,definitions:await n(e)}))),c=Array.from(new Set(s.flatMap(({definitions:e})=>e.map(e=>e.id))));if(c.length===0)return{kind:`not-found`};let{matches:l}=await i.request(ae.checkModelInProviders,{providerIds:c,model:a}),u=(await Promise.all(s.map(({adapterName:e,definitions:t})=>this.collectAdapterCandidates(e,t,a,l,r)))).flat();return e.buildResolution(u)}}async collectAdapterCandidates(e,t,n,r,i){let a=t.filter(e=>e.id in r),o=await Promise.all(a.map(t=>i(t.id,e)));return a.flatMap((t,r)=>{let i=o[r];return i?[{adapterName:e,definitionId:t.id,providerConfigId:i.id,qualifiedName:`${e}/${t.id}::${n}`,model:n}]:[]})}static buildResolution(e){let t=Array.from(new Map(e.map(e=>[this.routeKey(e),e])).values());if(t.length===0)return{kind:`not-found`};if(t.length>1)return{kind:`ambiguous`,matches:t.map(({adapterName:e,definitionId:t,qualifiedName:n})=>({adapterName:e,definitionId:t,qualifiedName:n}))};let[n]=t;return{kind:`resolved`,target:{adapterName:n.adapterName,providerConfigId:n.providerConfigId,definitionId:n.definitionId,model:n.model}}}static routeKey(e){return`${e.adapterName}\0${e.definitionId}\0${e.providerConfigId}`}async listEnabledProviderConfigIds(){let{configs:e}=await this.bus.request(p.listProviderConfigs,{enabled:!0});return new Set(e.map(e=>e.id))}};const W={name:`makaio.canonical-model`,displayName:`Canonical Model`,version:`0.1.0`,critical:!1,create:e=>new Ue(e.bus)};function We(e){let t=xe({adapterId:e?.adapterId,adapterName:e?.adapterName,contextOverrides:{adapterId:e?.contextOverrides?.adapterId,adapterName:e?.contextOverrides?.adapterName}}),n=t.issues[0];return n?A(k.VALIDATION_FAILED,n.message):ke(t.effectiveIdentity)}function Ge(e){let t=e?.allowedDirectories;if(Array.isArray(t))return t.filter(e=>typeof e==`string`)}async function Ke(e,t,n,r){let i=new Map;for(let e of t)i.set(e.name,await r(e.name));let a=t.filter(e=>{let t=i.get(e.name);return!t?.allowedAdapters||t.allowedAdapters.length===0?!0:t.allowedAdapters.includes(n)}),o=new Set(a.map(e=>e.name));return{filteredTools:e.filter(e=>!(!o.has(e.toolsetName)||i.get(e.toolsetName)?.disabledTools?.includes(e.name))),filteredToolsets:a}}function qe(){return`exec_${Date.now()}_${Math.random().toString(36).substring(2,9)}`}var Je=class{bus;toolsets=new Map;tools=new Map;cleanupHandlers=[];handlerPriority;policyProvider;fileAccessRuleProvider;revision=0;constructor(e){this.bus=e?.bus??_,this.handlerPriority=e?.handlerPriority??0,this.policyProvider=e?.policyProvider,this.fileAccessRuleProvider=e?.fileAccessRuleProvider,this.registerHandlers()}registerHandlers(){let e=this.bus.on(b.list,async e=>{let{toolsetName:t,adapterId:n,adapterName:r}=e.payload,{tools:i,toolsets:a}=await this.listToolsWithToolsets({toolsetName:t,adapterId:n,adapterName:r});e.setResult({tools:i,toolsets:a})},{priority:this.handlerPriority});this.cleanupHandlers.push(e);let t=this.bus.on(b.execute,async e=>{let{toolName:t,input:n,adapterId:r,adapterName:i,contextOverrides:a}=e.payload,o=await this.execute(t,n,{contextOverrides:a,adapterId:r,adapterName:i});e.setResult(o)},{priority:this.handlerPriority});this.cleanupHandlers.push(t)}async register(e){if(this.toolsets.has(e.metadata.name))throw Error(`Toolset '${e.metadata.name}' is already registered`);let t=[],n=[];for(let[,r]of Object.entries(e.tools)){let i=r.metadata.name;if(this.tools.has(i))throw Error(`Tool '${i}' is already registered (from toolset '${this.tools.get(i).toolsetName}')`);n.push({tool:r,toolsetName:e.metadata.name}),t.push(i)}this.toolsets.set(e.metadata.name,e);for(let e=0;e<n.length;e+=1)this.tools.set(t[e],n[e]);await this.emitRegistryChanged(`toolset-registered`,e.metadata.name).catch(t=>console.warn(`[ToolRegistry] Failed to emit ${b.registryChanged.subject} for '${e.metadata.name}':`,t)),await this.bus.emit(b.registered,{toolsetName:e.metadata.name,toolsetVersion:e.metadata.version,toolNames:t}).catch(t=>console.warn(`[ToolRegistry] Failed to emit ${b.registered.subject} for '${e.metadata.name}':`,t))}async deregister(e){let t=this.toolsets.get(e);if(!t)throw Error(`Toolset '${e}' is not registered`);for(let e of Object.values(t.tools))this.tools.delete(e.metadata.name);this.toolsets.delete(e),await this.emitRegistryChanged(`toolset-unregistered`,e).catch(t=>console.warn(`[ToolRegistry] Failed to emit ${b.registryChanged.subject} for '${e}':`,t))}async emitRegistryChanged(e,t){this.revision+=1,await this.bus.emit(b.registryChanged,{revision:this.revision,reason:e,toolsetName:t})}async execute(e,t,n){let r=this.tools.get(e);if(!r)return A(k.TOOL_NOT_FOUND,`Tool '${e}' not found`);let i=We(n);if(!i.success)return i;let{tool:a,toolsetName:o}=r,s=await this.checkPolicy(o,e,i.data.adapterId,i.data.adapterName);if(s)return s;let c=qe(),l=Date.now();await this.bus.emit(b.started,{toolName:e,toolsetName:o,executionId:c,timestamp:l});try{let r=a.inputSchema.safeParse(t);if(!r.success){let t=A(k.VALIDATION_FAILED,`Input validation failed`,{issues:r.error.issues});return await this.bus.emit(b.error,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),error:t.error}),t}let s=await this.buildExecutionContext(n,i.data),u=await a.execute(r.data,s);return u.success?await this.bus.emit(b.completed,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),durationMs:Date.now()-l}):await this.bus.emit(b.error,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),error:u.error}),u}catch(t){let n=De(t);return await this.bus.emit(b.error,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),error:n.error}),n}}async buildExecutionContext(e,t){let n=e?.contextOverrides?.constraints;if(this.fileAccessRuleProvider){let t=e?.contextOverrides?.cwd??process.cwd(),r=Ge(n),i=await this.fileAccessRuleProvider(t,r);n={...n,[Te]:i}}let r=fe({...e?.contextOverrides,constraints:n}),i=e?.contextOverrides;return{...r,bus:this.bus,sessionId:i?.sessionId,agentId:i?.agentId,adapterId:t.adapterId,adapterName:t.adapterName,turnId:i?.turnId,turnContext:i?.turnContext,toolCallId:i?.toolCallId}}async checkPolicy(e,t,n,r){if(!this.policyProvider)return null;let i=await this.policyProvider(e);if(!i)return null;if(i.disabledTools?.includes(t))return A(k.PERMISSION_DENIED,`Tool '${t}' is disabled`,{toolsetName:e,toolName:t});if(i.allowedAdapters&&i.allowedAdapters.length>0){let t=r??n;if(!t||!i.allowedAdapters.includes(t))return A(k.PERMISSION_DENIED,`Adapter not allowed for toolset '${e}'`,{toolsetName:e,adapterId:n,adapterName:r,allowedAdapters:i.allowedAdapters})}return null}listTools(e){let t=[];for(let[,n]of this.tools){if(e?.toolsetName&&n.toolsetName!==e.toolsetName)continue;let{$schema:r,...i}=g.toJSONSchema(n.tool.inputSchema);t.push({name:n.tool.metadata.name,description:n.tool.metadata.description,toolsetName:n.toolsetName,annotations:n.tool.metadata.annotations,inputSchema:i})}return t}listToolsets(){let e=[];for(let[,t]of this.toolsets){let n={name:t.metadata.name,description:t.metadata.description,version:t.metadata.version,toolCount:Object.keys(t.tools).length};if(t.configSchema){let{$schema:e,...r}=g.toJSONSchema(t.configSchema);n.configSchema=r}e.push(n)}return e}async listToolsWithToolsets(e){let t=this.listTools(e),n=this.listToolsets(),r=e?.toolsetName?n.filter(t=>t.name===e.toolsetName):n,i=e?.adapterName??e?.adapterId;if(this.policyProvider&&i){let{filteredTools:e,filteredToolsets:n}=await Ke(t,r,i,this.policyProvider);return{tools:e,toolsets:n}}return{tools:t,toolsets:r}}getTool(e){return this.tools.get(e)?.tool}getToolset(e){return this.toolsets.get(e)}dispose(){for(let e of this.cleanupHandlers)e();this.cleanupHandlers.length=0}destroy(){this.dispose()}},Ye=class extends w{triggersByExtension=new Map;stepsByExtension=new Map;revision=0;cache=null;constructor(e){super(e)}onInit(){this.registerHandler(ye.list,e=>{e.setResult({triggers:this.listTriggers(),steps:this.listSteps()})})}async register(e,t){let n=[],r=[],i=this.snapshotExtensionState(e),a=new Set;for(let e of this.triggersByExtension.values())for(let t of e)a.add(t.metadata.name);for(let e of this.stepsByExtension.values())for(let t of e)a.add(t.metadata.name);if(t.triggers)for(let r of t.triggers)this.assertExtensionNamespace(e,r.metadata),this.assertNoCollision(r.metadata,a),a.add(r.metadata.name),n.push({metadata:{...r.metadata,extensionName:e},configSchema:C(r.configSchema),outputSchema:C(r.outputSchema)});if(t.steps)for(let n of t.steps)this.assertExtensionNamespace(e,n.metadata),this.assertNoCollision(n.metadata,a),a.add(n.metadata.name),r.push({metadata:{...n.metadata,extensionName:e},configSchema:C(n.configSchema),inputSchema:C(n.inputSchema),outputSchema:C(n.outputSchema),runs:structuredClone(n.runs)});if(n.length>0&&this.triggersByExtension.set(e,n),r.length>0&&this.stepsByExtension.set(e,r),n.length>0||r.length>0){this.revision+=1;try{await this.emitChanged(e,`registered`)}catch(t){throw this.restoreExtensionState(e,i),t}}}async deregister(e){let t=this.snapshotExtensionState(e),n=this.triggersByExtension.delete(e),r=this.stepsByExtension.delete(e);if(n||r){this.revision+=1;try{await this.emitChanged(e,`deregistered`)}catch(n){throw this.restoreExtensionState(e,t),n}}}listTriggers(){return this.getCache().triggers.map(Xe)}listSteps(){return this.getCache().steps.map(Ze)}async emitChanged(e,t){await this.bus.emit(ye.changed,{extensionName:e,revision:this.revision,reason:t})}getCache(){return(!this.cache||this.cache.revision!==this.revision)&&(this.cache={revision:this.revision,triggers:[...this.triggersByExtension.values()].flat(),steps:[...this.stepsByExtension.values()].flat()}),this.cache}snapshotExtensionState(e){return{triggers:this.triggersByExtension.get(e),steps:this.stepsByExtension.get(e),revision:this.revision,cache:this.cache}}restoreExtensionState(e,t){t.triggers?this.triggersByExtension.set(e,t.triggers):this.triggersByExtension.delete(e),t.steps?this.stepsByExtension.set(e,t.steps):this.stepsByExtension.delete(e),this.revision=t.revision,this.cache=t.cache}assertNoCollision(e,t){if(t.has(e.name))throw Error(`Workflow block name collision: '${e.name}' is already registered`)}assertExtensionNamespace(e,t){let n=`${e}.`;if(!t.name.startsWith(n))throw Error(`Workflow block '${t.name}' must be namespaced by extension '${n}'`)}};function Xe(e){return{metadata:Qe(e.metadata),configSchema:structuredClone(e.configSchema),outputSchema:structuredClone(e.outputSchema)}}function Ze(e){return{metadata:Qe(e.metadata),configSchema:structuredClone(e.configSchema),inputSchema:structuredClone(e.inputSchema),outputSchema:structuredClone(e.outputSchema),runs:structuredClone(e.runs)}}function Qe(e){return e.categories?{...e,categories:[...e.categories]}:{...e}}const G=`workflow.start`;function $e(e){return()=>({async execute(t,n){let{input:r={},executionHints:i}=t,{workflowId:a}=r;if(typeof a!=`string`||a.length===0)throw Error(`[TransitionActionRegistry] 'workflow.start' action requires a non-empty 'input.workflowId' string`);await e.request(be.start,{workflowId:a,input:et(r,n),config:r.config,artifactRef:r.artifactRef,scope:r.scope,triggerPayload:{_transitionRuleId:n._transition.ruleId,_transitionDepth:n._transition.depth,_transitionEventType:n._transition.eventType},executionHints:i})}})}function et(e,t){let n=e.inputExpression;if(typeof n!=`string`)return e.input;let r=Me(n,tt(t)),i=_e.safeParse(r);if(!i.success)throw Error(`[TransitionActionRegistry] 'workflow.start' inputExpression for rule '${t._transition.ruleId}' must resolve to a JSON value`);return i.data}function tt(e){let t={...e};return{...t,ctx:t}}var nt=class{factories=new Map;factoriesBySource=new Map;constructor(e){this.factories.set(G,$e(e)),this.factoriesBySource.set(`__builtin__`,[G])}register(e,t){let n=Object.keys(t);if(n.length!==0){if(this.factoriesBySource.has(e))throw Error(`TransitionActionRegistry: duplicate source '${e}'`);for(let t of n)if(this.factories.has(t))throw Error(`TransitionActionRegistry: duplicate action type '${t}' from source '${e}'`);for(let e of n)this.factories.set(e,t[e]);this.factoriesBySource.set(e,n)}}deregister(e){if(e===`__builtin__`)return;let t=this.factoriesBySource.get(e);if(t){for(let e of t)this.factories.delete(e);this.factoriesBySource.delete(e)}}async dispatch(e,t){let n=this.factories.get(e.type);if(!n)throw Error(`TransitionActionRegistry: unknown action type '${e.type}'. Registered types: ${[...this.factories.keys()].join(`, `)}`);await n().execute(e,t)}has(e){return this.factories.has(e)}listTypes(){return[...this.factories.keys()]}},rt=class{rulesBySource=new Map;rulesByEventType=new Map;ruleIdSet=new Set;register(e,t){if(t.length===0)return;if(this.rulesBySource.has(e))throw Error(`TransitionRuleRegistry: duplicate source '${e}'`);let n=new Set,r=[];for(let i of t){let t=ve.parse(i);if(n.has(t.id))throw Error(`TransitionRuleRegistry: duplicate rule ID '${t.id}' within source '${e}'`);if(this.ruleIdSet.has(t.id))throw Error(`TransitionRuleRegistry: duplicate rule ID '${t.id}' from source '${e}'`);n.add(t.id),r.push({rule:t,condition:t.when===void 0?void 0:Ae.parse(t.when)})}for(let e of r){let{rule:t}=e;this.ruleIdSet.add(t.id);let n=this.rulesByEventType.get(t.on)??[];n.push(e),this.rulesByEventType.set(t.on,n)}this.rulesBySource.set(e,r)}deregister(e){let t=this.rulesBySource.get(e);if(t){for(let{rule:e}of t){this.ruleIdSet.delete(e.id);let t=this.rulesByEventType.get(e.on);if(t){let n=t.filter(t=>t.rule.id!==e.id);n.length>0?this.rulesByEventType.set(e.on,n):this.rulesByEventType.delete(e.on)}}this.rulesBySource.delete(e)}}getRulesForEvent(e){let t=this.rulesByEventType.get(e);return t?t.filter(e=>e.rule.enabled):[]}snapshotSource(e){let t=this.rulesBySource.get(e);if(t)return{ruleIds:t.map(e=>e.rule.id)}}},it=class extends w{ruleRegistry;actionRegistry;depthMap=new Map;constructor(e){super(e),this.ruleRegistry=new rt,this.actionRegistry=new nt(e)}onInit(){this.registerHandler(v.created,async e=>{await this.handleArtifactEvent(`artifact.created`,{artifact:e.payload.artifact})}),this.registerHandler(v.revised,async e=>{let t=await this.resolvePreviousRevisedArtifact(e.payload.previous);await this.handleArtifactEvent(`artifact.revised`,{artifact:e.payload.artifact,previous:e.payload.previous,...t===void 0?{}:{previousArtifact:t}})}),this.registerHandler(v.status.changed,async e=>{let t=await this.resolveStatusChangedArtifact(e.payload.artifact);t!==void 0&&await this.handleArtifactEvent(`artifact.status.changed`,{artifact:t,path:e.payload.path,previous:e.payload.previous,current:e.payload.current})})}async handleArtifactEvent(e,t){let n=this.artifactKey(t.artifact),r=this.readDepth(n);if(r>=10){console.warn(`[TransitionPipelineService] Transition depth limit (10) reached for event '${e}' on artifact '${n}'. Loop protection active — skipping rule evaluation.`);return}let i=this.ruleRegistry.getRulesForEvent(e);if(i.length!==0)for(let a of i)await this.evaluateAndDispatch(a,e,t,n,r)}async resolveStatusChangedArtifact(e){let t=await this.bus.requestOptional(v.resolve,{ref:e});if(!t.handled){console.warn(`[TransitionPipelineService] No artifact resolver is registered for status transition on artifact '${this.artifactKey(e)}'. Skipping rule evaluation.`);return}if(t.data.artifact===null){console.warn(`[TransitionPipelineService] Could not resolve status transition artifact '${this.artifactKey(e)}'. Skipping rule evaluation.`);return}return t.data.artifact}async resolvePreviousRevisedArtifact(e){let t=await this.bus.requestOptional(v.resolve,{ref:e});if(!(!t.handled||t.data.artifact===null))return t.data.artifact}async evaluateAndDispatch(e,t,n,r,i){let{rule:a,condition:o}=e,s={...n,_transition:{ruleId:a.id,eventType:t,depth:i+1}};if(o!==void 0){let e={...s},t;try{t=je(o,e)}catch(e){console.error(`[TransitionPipelineService] Condition evaluation error for rule '${a.id}':`,e);return}if(!t)return}try{await this.actionRegistry.dispatch(a.action,s),a.action.type===`workflow.start`&&this.incrementDepth(r)}catch(e){console.error(`[TransitionPipelineService] Action dispatch error for rule '${a.id}' (action type '${a.action.type}'):`,e)}}artifactKey(e){return`${typeof e.kind==`string`?e.kind:`unknown`}:${typeof e.id==`string`?e.id:`unknown`}`}readDepth(e){let t=this.depthMap.get(e);return t===void 0?0:Date.now()>t.expiresAt?(this.depthMap.delete(e),0):t.count}incrementDepth(e){let t=this.depthMap.get(e);this.depthMap.set(e,{count:t===void 0?1:t.count+1,expiresAt:Date.now()+6e4})}};function at(e){return async t=>{let n=await ot(e,t);if(!n)return{handled:!1,sessionId:null,clientAccountId:null,changed:!1};let{sessionId:r}=n,{observation:i,accountObserveRequest:a}=st(t),o=await e.requestOptional(E.account.observe,a);if(!o.handled)return{handled:!1,sessionId:r,clientAccountId:null,changed:!1};let{clientAccountId:s}=o.data;return{handled:!0,sessionId:r,clientAccountId:s,changed:await mt(e,r,i,s)}}}async function ot(t,n){switch(n.locator.kind){case`session`:{let{session:r}=await t.request(e.get,{sessionId:n.locator.sessionId});return r?{sessionId:r.sessionId,session:r}:null}case`adapter-session`:{let{session:r}=await t.request(e.getByAdapterSessionId,{adapterSessionId:n.locator.adapterSessionId});return r?{sessionId:r.sessionId,session:r}:null}case`both`:{let[{session:r},{session:i}]=await Promise.all([t.request(e.get,{sessionId:n.locator.sessionId}),t.request(e.getByAdapterSessionId,{adapterSessionId:n.locator.adapterSessionId})]);if(!r&&!i)return null;if(!r||!i)throw Error(`Session locator mismatch: sessionId "${n.locator.sessionId}" and adapterSessionId "${n.locator.adapterSessionId}" must both resolve the same session`);if(r.sessionId!==i.sessionId)throw Error(`Session locator mismatch: sessionId "${n.locator.sessionId}" and adapterSessionId "${n.locator.adapterSessionId}" resolve to different sessions`);return{sessionId:r.sessionId,session:r}}}}function st(e){let t={clientId:e.clientId,source:e.source,kind:e.kind,observedAt:e.observedAt,payload:ft(e.payload)};return{observation:t,accountObserveRequest:ct(t)}}function ct(e){let t=e.payload,n=lt(t),r=ut(t);if(r.length>0)return{clientId:e.clientId,observedAt:e.observedAt,displayLabel:dt(t,n),identifiers:r};throw Error(`client.session.account.observe for "${e.clientId}" requires canonical client account identifiers`)}function lt(e){return pt(e.accountInfo)??e}function ut(e){let t=e.identifiers;if(!Array.isArray(t))return[];try{return g.array(Ce).min(1).parse(t)}catch(e){throw Error(`client.session.account.observe received malformed canonical client account identifiers`,{cause:e})}}function dt(e,t){return K(e.displayLabel)??K(t.displayLabel)??K(t.email)??K(t.label)}function ft(e){return structuredClone(e)}function pt(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function K(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}async function mt(t,n,r,i){let a=await t.request(e.update,{sessionId:n,clientId:r.clientId,clientAccountId:i,lastClientIdentityObservation:r});if(!a.success)throw Error(`Failed to update session "${n}" with client account linkage`);return a.clientAccountChanged??!1}const ht=S(`session-storage`).name;var gt=class extends w{constructor(e=_){super(e)}onInit(){let e=at(this.bus);this.registerHandler(E.session.account.observe,async t=>{t.setResult(await e(we.request.parse(t.payload)))})}};const _t={name:`makaio.session-client-account-linking`,displayName:`Session Client Account Linking`,version:`0.1.0`,dependencies:[x(ht),x(`makaio.clients-core`)],critical:!1,create:e=>new gt(e.bus)},vt={name:`framework-shell`,displayName:`Shell`,version:`0.1.0`,surface:`interactive`,windows:[{id:`main`,style:`utility`,width:1e3,height:700,singleton:!0}]};async function yt(e){let{harnesses:t}=await e.request(m.list,{}),n=new Set(t.map(e=>e.id));for(let t of he){if(n.has(t.id))continue;let r={...t};await e.request(m.set,{harness:r})}}function q(e,t,n){return e??t??n}var bt=class extends w{static storage={drizzle:h};constructor(e=_){super(e)}async onInit(){await yt(this.bus),this.registerHandlers()}registerHandlers(){this.registerHandler(y.get,async e=>{let t=await this.loadHarness(e.payload);if(!t)throw Error(`Harness not found`);e.setResult(t)}),this.registerHandler(y.list,async e=>{let{harnesses:t}=await this.bus.request(m.list,e.payload);e.setResult({harnesses:t})}),this.registerHandler(y.set,async e=>{let t=await this.upsertHarness(e.payload);e.setResult({id:t})}),this.registerHandler(y.delete,async e=>{let{deleted:t}=await this.bus.request(m.delete,{id:e.payload.id});e.setResult({success:t})}),this.registerHandler(y.getDefault,async e=>{let t=await this.getDefaultHarness(e.payload.adapterName,e.payload.clientId);e.setResult(t)}),this.registerHandler(y.resolve,async e=>{let{adapterName:t,clientId:n,personaHarnessId:r,profileHarnessId:i}=e.payload;if(r){let i=await this.resolveAndValidateHarness(r,t,`persona`,n);e.setResult(i);return}if(i){let r=await this.resolveAndValidateHarness(i,t,`profile`,n);e.setResult(r);return}let a=await this.getDefaultHarness(t,n);e.setResult(a)}),this.registerHandler(y.getSchema,({setResult:e})=>{let{$schema:t,...n}=g.toJSONSchema(ge);e({schema:n,uiConfig:{editMode:`fullPage`,hiddenFields:[`isDefault`]}})})}async upsertHarness(e){let t=await this.resolveHarnessId(e.name,e.adapterName,e.clientId),n=await this.loadHarness({id:t,adapterName:e.adapterName,clientId:e.clientId}),r=this.mergeHarnessPayload(t,e,n);return r.adapterName&&await this.validateNativeTools(r.adapterName,r.nativeTools),await this.bus.request(m.set,{harness:r}),t}mergeHarnessPayload(e,t,n){let r={enabled:[],disabled:[]};return{id:e,name:t.name,description:q(t.description,n?.description,void 0),adapterName:t.adapterName,clientId:q(t.clientId,n?.clientId,void 0),env:q(t.env,n?.env,void 0),credentials:q(t.credentials,n?.credentials,void 0),cwd:q(t.cwd,n?.cwd,void 0),approvalPolicy:q(t.approvalPolicy,n?.approvalPolicy,`always-ask`),nativeTools:q(t.nativeTools,n?.nativeTools,r),registryTools:q(t.registryTools,n?.registryTools,r),skills:q(t.skills,n?.skills,void 0),toolCapabilityMap:t.toolCapabilityMap??n?.toolCapabilityMap,capabilityOverrides:t.capabilityOverrides??n?.capabilityOverrides,toolApprovalOverrides:t.toolApprovalOverrides??n?.toolApprovalOverrides,isDefault:q(t.isDefault,n?.isDefault,!1),enabled:q(t.enabled,n?.enabled,!0)}}async resolveHarnessId(e,t,n){let r=n??t,{harnesses:i}=await this.bus.request(m.list,{name:e}),a=i.find(t=>t.name===e&&(t.clientId??t.adapterName)===r);if(a)return a.id;let o=i.find(t=>t.name===e&&(t.clientId??t.adapterName)!==r);if(o){let t=o.clientId?`client '${o.clientId}'`:`adapter '${o.adapterName}'`;throw Error(`Harness "${e}" already exists with scope ${t}; cannot change scope to ${r??`(none)`}`)}return this.createStableHarnessId(e,r)}async loadHarness(e){if(e.id){let{harness:t}=await this.bus.request(m.get,{id:e.id});return t&&(!e.adapterName||t.adapterName===e.adapterName)&&(!e.clientId||t.clientId===e.clientId)?t:null}if(!e.name)return null;let{harnesses:t}=await this.bus.request(m.list,{name:e.name,adapterName:e.adapterName,clientId:e.clientId});return e.clientId?t.find(t=>t.clientId===e.clientId)??null:e.adapterName?t.find(t=>t.adapterName===e.adapterName)??null:t[0]??null}async getDefaultHarness(e,t){if(t){let{harnesses:e}=await this.bus.request(m.list,{clientId:t}),n=e.find(e=>e.isDefault&&e.enabled);if(n)return n;let r=e.find(e=>e.enabled);if(r)return r}if(e){let{harnesses:t}=await this.bus.request(m.list,{adapterName:e}),n=t.find(e=>e.isDefault&&e.enabled);if(n)return n;let r=t.find(e=>e.enabled);if(r)return r}let n=t?e?`client '${t}' or adapter '${e}'`:`client '${t}'`:`adapter '${e}'`;throw Error(`No harness available for ${n}`)}assertHarnessAdapterMatch(e,t,n,r){if(e.adapterName&&t&&e.adapterName!==t)throw Error(`Resolved ${n} harness adapter mismatch: expected "${t}", got "${e.adapterName}"`);if(e.clientId&&r&&e.clientId!==r)throw Error(`Resolved ${n} harness client mismatch: expected "${r}", got "${e.clientId}"`)}assertHarnessEnabled(e,t){if(!e.enabled)throw Error(`Resolved ${t} harness is disabled: ${e.id}`)}async validateNativeTools(e,t){let n=await this.bus.requestOptional(pe.getCapabilities,{adapterName:e});if(!n.handled)return;let r=new Set(n.data.nativeTools),i=[...t.enabled,...t.disabled].filter(e=>!r.has(e));if(i.length>0)throw Error(`Tool '${i[0]}' not found in adapter '${e}' native tools. Declared tools: ${[...r].join(`, `)}`)}createStableHarnessId(e,t){return`harness-${ue(`sha256`).update(`${t??``}\0${e}`).digest(`hex`).slice(0,24)}`}async resolveAndValidateHarness(e,t,n,r){let i=await this.loadHarness({id:e});if(!i)throw Error(`${n===`persona`?`Persona`:`Profile`} harness not found: ${e}`);return this.assertHarnessAdapterMatch(i,t,n,r),this.assertHarnessEnabled(i,n),i}};const xt={name:`makaio.harness`,displayName:`Harness`,version:`0.1.0`,critical:!0,storage:{registerHandlers:T(h)},create:e=>new bt(e.bus)},J=S(`session-storage`),Y=S(`session-bridge`),X=S(`session`),St=S(`session-orchestrator`),Z=S(`tool-registry`),Ct=S(`tool-approval`),wt=S(`tray-menu`),Tt=S(`capability`),Et=S(`model-registry`),Dt=S(`workflow-block-registry`),Ot=S(`transition-pipeline`),kt=S(`filesystem`),At=S(`git`),jt=S(`artifact-schema-registry`),Mt=S(`artifact-lifecycle-hook-registry`),Nt=S(`facet-namespace-registry`),Pt=S(`surface-binding-registry`),Ft={name:jt.name,displayName:`Artifact Schema Registry`,version:`0.1.0`,critical:!0,create:e=>new I(e.bus)},It={name:Mt.name,displayName:`Artifact Lifecycle Hook Registry`,version:`0.1.0`,critical:!0,create:e=>new B(e.bus)},Lt={name:Nt.name,displayName:`Facet Namespace Registry`,version:`0.1.0`,critical:!0,create:e=>new Be(e.bus)},Rt={name:Pt.name,displayName:`Surface Binding Registry`,version:`0.1.0`,critical:!0,create:e=>new Ve(e.bus)},zt={name:J.name,displayName:`Session Storage`,version:`0.1.0`,critical:!0,storage:{registerHandlers:T((e,n)=>{let a=[],o=e=>{for(let t=a.length-1;t>=0;--t)try{a[t]?.()}catch(t){console.warn(`[sessionStoragePackage] cleanup failed during ${e}:`,t)}a.length=0};try{a.push(c(e,n)),a.push(i(e,n)),a.push(r(e,n)),a.push(ne(e,n)),a.push(t(e,n)),a.push(te(e,n)),a.push(l(e,n)),a.push(f(e,n)),a.push(s(e,n)),a.push(u(e)),a.push(ee(e)),a.push(d(e))}catch(e){throw o(`rollback`),e}return()=>{o(`shutdown`)}})}},Bt={name:Y.name,displayName:`Session Bridge`,version:`0.1.0`,dependencies:[x(J.name)],critical:!0,create:e=>new n(e.bus)},Vt={name:X.name,displayName:`Session`,version:`0.1.0`,dependencies:[x(Y.name)],critical:!0,create:e=>new o(e.bus)},Q={name:St.name,displayName:`Session Orchestrator`,version:`0.1.0`,dependencies:[x(X.name),x(W.name)],critical:!0,runtimeOwnership:{sessionOrchestrator:!0},create:e=>new a(e.bus,e.machineId)},Ht={name:Z.name,displayName:`Tool Registry`,version:`0.1.0`,critical:!0,create:e=>new Je({bus:e.bus})},Ut={name:Ct.name,displayName:`Tool Approval`,version:`0.1.0`,dependencies:[x(Z.name)],critical:!0,create:e=>new oe(e.bus)},Wt={name:wt.name,displayName:`Tray Menu`,version:`0.1.0`,critical:!0,create:e=>new se(e.bus)},Gt={name:Tt.name,displayName:`Capability`,version:`0.1.0`,critical:!0,create:e=>new re(e.bus)},Kt={name:Dt.name,displayName:`Workflow Block Registry`,version:`0.1.0`,critical:!0,create:e=>new Ye(e.bus)},$={name:Ot.name,displayName:`Transition Pipeline`,version:`0.1.0`,critical:!0,create:e=>new it(e.bus)},qt={name:kt.name,displayName:`Filesystem`,version:`0.1.0`,critical:!0,create:e=>new le(e.bus,e.machineId)},Jt={name:At.name,displayName:`Git`,version:`0.1.0`,dependencies:[x(kt.name)],critical:!0,create:e=>new Ne(e.bus)};function Yt(e){return{name:Et.name,displayName:`Model Registry`,version:`0.1.0`,critical:!0,create:t=>new ie({bus:t.bus,fetcher:e})}}const Xt=[Ft,It,Lt,Rt,zt,Bt,_t,Vt,Q,ce,Ht,Ut,Wt,Gt,xt,W,vt,Kt,$,Jt,qt];function Zt(){let e=new Map;return{filter:e=>!!e.tools?.createToolsets,async processActivated(t,n,r){let i=r.getService(Z);if(!i)throw Error(`ToolRegistry is not available. Ensure toolRegistryPackage is included in the composition root.`);let a=n.tools.createToolsets(r),o=[];try{for(let e of a)await i.register(e),o.push(()=>i.deregister(e.metadata.name))}catch(e){for(let e=o.length-1;e>=0;--e)try{await o[e]()}catch(e){console.error(`[ToolContributionProcessor] Rollback error for "${t}":`,e)}throw e}e.set(t,o)},async processStopped(t){let n=e.get(t);if(n){for(let e=n.length-1;e>=0;--e)try{await n[e]()}catch(e){console.error(`[ToolContributionProcessor] Deregister error for "${t}":`,e)}e.delete(t)}}}}export{Ut as A,Je as B,Lt as C,Vt as D,Q as E,it as F,Ve as G,Ue as H,rt as I,L as J,Be as K,nt as L,$ as M,Wt as N,zt as O,Kt as P,G as R,Yt as S,Bt as T,He as U,W as V,U as W,I as Y,wt as _,jt as a,Ft as b,Et as c,J as d,X as f,Ot as g,Z as h,Mt as i,Ht as j,Rt as k,Y as l,Ct as m,Oe as n,Tt as o,Pt as p,B as q,Zt as r,Nt as s,Ee as t,St as u,Dt as v,Xt as w,Gt as x,It as y,Ye as z};
1
+ import{SessionStorageSubjects as e}from"./services/session/storage/namespace.mjs";import{x as t}from"./handlers-Cpy9Q8ho.mjs";import{A as n,G as r,K as i,L as a,Y as o,a as s,b as c,c as l,i as u,n as d,p as f,r as ee,w as te,z as ne}from"./session-ZAJrcudH.mjs";import{n as p}from"./namespace-FJsnoEQy.mjs";import{t as re}from"./capability-service-CHl8rrwb.mjs";import"./services/adapter-subsystem/index.mjs";import{i as ie,s as ae}from"./model-registry-DLeMw3l8.mjs";import{t as oe}from"./tool-approval-service-B_28RhuK.mjs";import{t as se}from"./tray-menu-service-am356993.mjs";import{r as m,t as h}from"./handler-BIA3ld4C.mjs";import{n as ce}from"./package-YQeRE8bV.mjs";import{t as le}from"./filesystem-service-T8JOIWeP.mjs";import{z as g}from"zod";import{createHash as ue}from"node:crypto";import{MakaioError as de,createMakaioContext as fe}from"@makaio/framework/core";import{MakaioBus as _}from"@makaio/framework/bus";import{AdapterSubjects as pe,ArtifactSubjects as v,CanonicalModelSubjects as me,DEFAULT_HARNESSES as he,HarnessDefinitionCreateSchema as ge,HarnessSubjects as y,JsonValueSchema as _e,ToolSubjects as b,TransitionRuleDefinitionSchema as ve,WorkflowBlocksSubjects as ye,WorkflowSubjects as be,dep as x,extensionToken as S,validateToolAdapterIdentity as xe,zodSchemaToJsonRecord as C}from"@makaio/framework/contracts";import{BaseService as w}from"@makaio/framework/service-base";import{registerDrizzleHandlers as T}from"@makaio/framework/storage/drizzle";import{slugifyProviderConfigName as Se}from"@makaio/framework/contracts/config";import{ClientAccountIdentifierSchema as Ce,ClientSessionAccountObserveSchema as we,ClientSubjects as E}from"@makaio/framework/contracts/client";import{FacetSubjects as D}from"@makaio/framework/contracts/facet";import{MaterializationSubjects as O}from"@makaio/framework/contracts/materialization";import{FILE_ACCESS_RULES_KEY as Te,FILE_ACCESS_RULES_KEY as Ee,ToolErrorCodes as k,errorToToolResult as De,extractToolFilePath as Oe,toolError as A,toolSuccess as ke}from"@makaio/framework/tools";import{ConditionSchema as Ae,evaluate as je}from"@makaio/framework/rules";import{evaluateSync as Me}from"@makaio/framework/expression";import{GitService as Ne}from"@makaio/framework/git";const Pe=[{type:`supersedes`,symmetry:`asymmetric`},{type:`contradicts`,symmetry:`symmetric`},{type:`derives_from`,symmetry:`asymmetric`},{type:`responds_to`,symmetry:`asymmetric`},{type:`contains`,symmetry:`asymmetric`},{type:`refines`,symmetry:`asymmetric`},{type:`scopes`,symmetry:`asymmetric`},{type:`references`,symmetry:`asymmetric`},{type:`evidenced_by`,symmetry:`asymmetric`}],j={extension:0,"factory-repo":1,"target-repo":2},M={source:`extension`,ownerKey:`extension:bus`};function N(e){return`${e.source}:${e.ownerKey}`}function Fe(e,t){return e.source===t.source&&e.ownerKey===t.ownerKey}function P(e){return structuredClone(e)}function F(e,t){return`${e}@${t}`}var I=class extends w{kinds=new Map;kindContributions=new Map;nextKindContributionOrder=0;relationTypes=new Map;constructor(e){super(e)}async onInit(){for(let e of Pe)this.relationTypes.set(e.type,e);this.registerHandler(v.kind.register,e=>{this.registerKind(e.payload),e.setResult({registered:!0})}),this.registerHandler(v.kind.list,e=>{let{kind:t}=e.payload,n=[...this.kinds.values()].filter(e=>!t||e.kind===t).map(P);e.setResult({kinds:n})}),this.registerHandler(v[`relation-type`].register,e=>{this.storeRelationType(e.payload),e.setResult({registered:!0})}),this.registerHandler(v[`relation-type`].list,e=>{let{type:t}=e.payload,n=[...this.relationTypes.values()].filter(e=>!t||e.type===t).map(P);e.setResult({relationTypes:n})})}compareKindContributions(e,t){let n=j[e.owner.source]-j[t.owner.source];return n===0?e.owner.source===`extension`?t.order-e.order:e.order-t.order:n}findSameTierRepoConflict(e,t,n){return[...e.values()].find(e=>!Fe(e.owner,t)&&e.owner.source===t.source&&t.source!==`extension`&&e.order<=n)}recomputeKindWinner(e){let t=this.kindContributions.get(e),n=this.kinds.get(e);if(t===void 0||t.size===0){this.kindContributions.delete(e),this.kinds.delete(e),this.emitKindChangedFromKey(e,n);return}let r;for(let e of t.values())(r===void 0||this.compareKindContributions(e,r)<0)&&(r=e);let i=r;this.kinds.set(e,P(i.registration)),JSON.stringify(n)!==JSON.stringify(i.registration)&&this.bus.emit(v.kind.changed,{kind:i.registration.kind,schemaVersion:i.registration.schemaVersion})}emitKindChangedFromKey(e,t){t!==void 0&&this.bus.emit(v.kind.changed,{kind:t.kind,schemaVersion:t.schemaVersion})}registerKind(e,t=M){let n=F(e.kind,e.schemaVersion),r=this.kindContributions.get(n)??new Map,i=N(t),a=r.get(i),o=t.source===`extension`?this.nextKindContributionOrder:a?.order??this.nextKindContributionOrder,s=this.findSameTierRepoConflict(r,t,o);if(s!==void 0){console.warn(`[ArtifactSchemaRegistry] Artifact kind '${n}' is already registered by '${s.owner.ownerKey}' at the same priority; keeping the existing owner.`);return}r.set(i,{owner:t,registration:P(e),order:t.source===`extension`||a===void 0?this.nextKindContributionOrder++:a.order}),this.kindContributions.set(n,r),this.recomputeKindWinner(n)}deregisterKind(e,t,n=M){let r=F(e,t),i=this.kindContributions.get(r);i!==void 0&&(i.delete(N(n)),this.recomputeKindWinner(r))}replaceKindRegistrationsForOwner(e,t){let n=new Set,r=N(e),i=new Map;for(let[e,t]of this.kindContributions.entries()){let a=t.get(r);a!==void 0&&(i.set(e,a.order),t.delete(r),n.add(e))}for(let a of t){let t=F(a.kind,a.schemaVersion),o=this.kindContributions.get(t)??new Map,s=e.source===`extension`?void 0:i.get(t),c=s??this.nextKindContributionOrder,l=this.findSameTierRepoConflict(o,e,c);if(l!==void 0){console.warn(`[ArtifactSchemaRegistry] Artifact kind '${t}' is already registered by '${l.owner.ownerKey}' at the same priority; keeping the existing owner.`);continue}o.set(r,{owner:e,registration:P(a),order:s??this.nextKindContributionOrder++}),this.kindContributions.set(t,o),n.add(t)}for(let e of n)this.recomputeKindWinner(e)}storeRelationType(e){let t=this.relationTypes.get(e.type);if(t){if(t.symmetry!==e.symmetry)throw Error(`Relation type '${e.type}' is already registered with different symmetry (existing: '${t.symmetry}', new: '${e.symmetry}')`);return}this.relationTypes.set(e.type,P(e))}getKind(e,t){let n=this.kinds.get(F(e,t));return n?P(n):void 0}getRelationType(e){let t=this.relationTypes.get(e);return t?P(t):void 0}onDestroy(){this.kinds.clear(),this.kindContributions.clear(),this.relationTypes.clear(),this.nextKindContributionOrder=0}},L=class extends Error{reason;hookId;constructor(e,t){super(`Artifact write rejected by hook '${t}': ${e}`),this.reason=e,this.hookId=t,this.name=`ArtifactLifecycleHookRejectedError`}};function R(e,t){return e?!(e.kind!==void 0&&e.kind!==`*`&&e.kind!==t.kind||e.schemaVersion!==void 0&&e.schemaVersion!==t.schemaVersion):!0}function z(e){return e.priority??0}function Ie(e,t,n){return e.filter(e=>e.event===t&&R(e.filter,n)).sort((e,t)=>z(t)-z(e))}function Le(e,t,n){return e.filter(e=>e.event===t&&R(e.filter,n)).sort((e,t)=>z(t)-z(e))}function Re(e,t){return{...e,...`data`in t?{data:t.data}:{},...`relations`in t?{relations:t.relations}:{},...`confidence`in t?{confidence:t.confidence}:{},...`representations`in t?{representations:t.representations}:{},...`actor`in t?{actor:t.actor}:{}}}function ze(e,t){let{confidence:n,representations:r,...i}=e;return{...i,data:t.data,relations:[...t.relations],...t.confidence===void 0?{}:{confidence:t.confidence},...t.representations===void 0?{}:{representations:t.representations},actor:t.actor}}var B=class extends w{registrations=new Map;constructor(e){super(e)}async onInit(){}onDestroy(){this.registrations.clear()}registerHooks(e,t){let n=[...t];this.registrations.set(e,n);let r=!1;return()=>{r||(r=!0,this.registrations.get(e)===n&&this.registrations.delete(e))}}allHooks(){let e=[];for(let t of this.registrations.values())e.push(...t);return e}async runBeforeCreate(e){return this.runBeforeHooks(`beforeCreate`,e)}async runBeforeRevise(e){return this.runBeforeHooks(`beforeRevise`,e)}async runBeforeHooks(e,t){let{draft:n,previous:r,kindRegistration:i}=t,a=Ie(this.allHooks(),e,n),o=new Map,s={kind:n.kind,schemaVersion:n.schemaVersion,scope:n.scope,data:n.data,relations:n.relations,...n.confidence===void 0?{}:{confidence:n.confidence},...n.representations===void 0?{}:{representations:n.representations},actor:n.actor},c=!1;for(let t of a){let n,a={event:e,get draft(){return s},previous:r,kindRegistration:i,bus:this.bus,meta:o,rejectCreation(e){n={reason:e}},skipMaterialization(){c=!0},updateDraft(e){s=Re(s,e)}};if(await t.handler(a),n)throw new L(n.reason,t.id)}return{draft:ze(n,s),skipMaterialization:c,meta:o}}async runAfterCreate(e){await this.runAfterHooks(`afterCreate`,`created`,e)}async runAfterRevise(e){await this.runAfterHooks(`afterRevise`,`revised`,e)}async runAfterStatusChanged(e){await this.runAfterHooks(`afterStatusChanged`,`status-changed`,e)}async runAfterObservationAdded(e){await this.runAfterHooks(`afterObservationAdded`,`observation-added`,e)}async runAfterHooks(e,t,n){let{artifact:r,previous:i,observation:a,kindRegistration:o,projectionPolicy:s,skipDefaultProjection:c,meta:l}=n,u=Le(this.allHooks(),e,r),d=this.bus,f=!1;for(let n of u){if(c&&(n.priority??0)<0||f&&(n.priority??0)<0)continue;let u={event:e,semanticEvent:t,artifact:r,previous:i?{refClass:`artifact`,id:i.id,revision:i.revision,kind:i.kind}:void 0,observation:a,kindRegistration:o,projectionPolicy:s,bus:d,meta:l,preventDefault(){f=!0},async resolveRelations(e){let t=r.relations.filter(t=>t.type===e).map(e=>e.target),n=[];for(let e of t){let t=e;if(t.refClass===`artifact`){let e=t,{artifact:r}=await d.request(v.resolve,{ref:e});r&&n.push(r)}}return n}};try{await n.handler(u)}catch(t){console.error(`[ArtifactLifecycleHookRegistry] Hook '${n.id}' threw during '${e}':`,t)}}}};function V(e){return structuredClone(e)}var Be=class extends w{namespaces=new Map;constructor(e){super(e)}async onInit(){this.registerHandler(D.namespace.register,e=>{this.registerNamespace(e.payload),e.setResult({registered:!0})}),this.registerHandler(D.namespace.list,e=>{let{namespace:t}=e.payload,n=[...this.namespaces.values()].filter(e=>!t||e.namespace===t).map(V);e.setResult({namespaces:n})})}registerNamespace(e){let t=this.namespaces.get(e.namespace);if(t){if(JSON.stringify(t)!==JSON.stringify(e))throw Error(`Facet namespace '${e.namespace}' is already registered with a different definition`);return}this.namespaces.set(e.namespace,V(e)),this.bus.emit(D.namespace.changed,{namespace:e.namespace})}deregisterNamespace(e){this.namespaces.delete(e)&&this.bus.emit(D.namespace.changed,{namespace:e})}getNamespace(e){let t=this.namespaces.get(e);return t?V(t):void 0}onDestroy(){this.namespaces.clear()}};function H(e){return structuredClone(e)}var Ve=class extends w{bindings=new Map;constructor(e){super(e)}async onInit(){this.registerHandler(O.surfaceBinding.register,e=>{this.registerBinding(e.payload),e.setResult({registered:!0})}),this.registerHandler(O.surfaceBinding.list,e=>{let{provider:t,namespace:n}=e.payload,r=[...this.bindings.values()].filter(e=>(!t||e.provider===t)&&(!n||e.namespace===n)).map(H);e.setResult({bindings:r})})}registerBinding(e){let t=this.bindings.get(e.id);if(t){if(JSON.stringify(t)!==JSON.stringify(e))throw Error(`Surface binding '${e.id}' is already registered with a different definition`);return}this.bindings.set(e.id,H(e)),this.bus.emit(O.surfaceBinding.changed,{id:e.id,provider:e.provider})}deregisterBinding(e){let t=this.bindings.get(e);t&&(this.bindings.delete(e),this.bus.emit(O.surfaceBinding.changed,{id:e,provider:t.provider}))}getBinding(e){let t=this.bindings.get(e);return t?H(t):void 0}onDestroy(){this.bindings.clear()}},U=class extends de{code;suggestions;constructor(e,t,n){super(e),this.code=t,this.suggestions=n}},He=class{deps;constructor(e){this.deps=e}async resolve(e,t){switch(e.kind){case`bare`:return this.resolveBare(e.model);case`qualified`:return this.resolveQualified(e.segment1,e.segment2,e.model)}}async resolveBare(e){let t=await this.deps.resolveDefaultModelTarget(e);switch(t.kind){case`resolved`:return{kind:`adapter`,adapterName:t.target.adapterName,providerConfigId:t.target.providerConfigId,model:t.target.model};case`ambiguous`:throw new U(`Model "${e}" is available via multiple providers. Use a qualified reference to select one.`,`ambiguous-model`,t.matches.map(e=>e.qualifiedName));case`not-found`:throw new U(`Model "${e}" was not found in any enabled adapter's registry.`,`model-not-found`)}}async resolveQualified(e,t,n){return t===void 0?this.resolveQualifiedOneSegment(e,n):this.resolveQualifiedTwoSegments(e,t,n)}async resolveQualifiedTwoSegments(e,t,n){let r=await this.deps.listEnabledAdapterNames();if(!r.includes(e))throw new U(`Adapter "${e}" is not enabled or does not exist.`,`adapter-not-found`);return{kind:`adapter`,adapterName:e,providerConfigId:await this.resolveProviderSegment(t,e,r),model:n}}async resolveQualifiedOneSegment(e,t){let n=await this.deps.listEnabledAdapterNames();if(n.includes(e)){let n=await this.deps.getDefaultBinding(e);if(!n)throw new U(`Adapter "${e}" has no enabled provider binding. Configure or enable a provider binding first.`,`no-binding`);return{kind:`adapter`,adapterName:e,providerConfigId:n.providerConfigId,model:t}}let r=await this.deps.findProviderConfigByName(e);if(r)return{kind:`adapter`,adapterName:(await this.pickBindingForConfig(r.id,n)).adapterName,providerConfigId:r.id,model:t};let i=await this.deps.findProviderDefinition(e,n);if(i){let r=await this.deps.findDefaultConfigForDefinition(i.id);if(!r)throw new U(`Provider definition "${e}" exists but has no configured provider config. Create a provider config first.`,`provider-not-found`);return{kind:`adapter`,adapterName:(await this.pickBindingForConfig(r.id,n)).adapterName,providerConfigId:r.id,model:t}}throw new U(`"${e}" does not match any enabled adapter name, provider config name, or provider definition ID.`,`adapter-not-found`)}async resolveProviderSegment(e,t,n){let r=await this.deps.findProviderConfigByName(e);if(r)return await this.requireBindingForAdapterAndConfig(t,r.id,e),r.id;let i=await this.deps.findProviderDefinition(e,n);if(i){let n=await this.deps.findConfigForDefinitionAndAdapter(i.id,t);if(!n)throw new U(`Provider definition "${e}" has no enabled config bound to adapter "${t}". Create a provider config and binding first.`,`no-binding`);return n.id}throw new U(`"${e}" does not match any provider config name or provider definition ID.`,`provider-not-found`)}async requireBindingForAdapterAndConfig(e,t,n){if(!(await this.deps.listBindingsForConfig(t)).some(t=>t.adapterName===e))throw new U(`No binding exists between adapter "${e}" and provider "${n}". Create a binding first.`,`no-binding`)}async pickBindingForConfig(e,t){let n=(await this.deps.listBindingsForConfig(e)).filter(e=>t.includes(e.adapterName));if(n.length===0)throw new U(`Provider config "${e}" has no bindings to enabled adapters. Bind it to an enabled adapter first.`,`no-binding`);return n.find(e=>e.isDefault)??n[0]}},Ue=class e extends w{constructor(e=_){super(e)}async onInit(){await this.bus.request(p.ensureReady,{});let e=new He(this.createDeps());this.registerHandler(me.resolve,async t=>{let n=await e.resolve(t.payload.parsed,t.payload.context);t.setResult(n)})}createDeps(){let e=this.bus,t=async()=>{let{adapters:t}=await e.request(p.listAdapters,{});return t.filter(e=>e.enabled).map(e=>e.name)},n=async t=>{let[n,r]=await Promise.all([e.request(p.getDefaultBinding,{adapterName:t}),this.listEnabledProviderConfigIds()]);if(n.binding&&r.has(n.binding.providerConfigId))return n.binding;let{bindings:i}=await e.request(p.listBindings,{adapterName:t}),a=i.filter(e=>r.has(e.providerConfigId));return a.find(e=>e.isDefault)??a[0]},r=async t=>{let{definitions:n}=await e.request(p.getProviderDefinitionsByAdapter,{adapterName:t});return n},i=async t=>{let{bindings:n}=await e.request(p.listBindingsByConfig,{providerConfigId:t});return n},a=async t=>{let{configs:n}=await e.request(p.listProviderConfigs,{enabled:!0}),r=Se(t);return n.find(e=>Se(e.name)===r)},o=this.buildFindProviderDefinition(t,r),s=async t=>{let{configs:n}=await e.request(p.listProviderConfigsByDefinition,{definitionId:t}),r=n.filter(e=>e.enabled);return r.find(e=>e.isDefault)??r[0]},c=async(t,n)=>{let{config:r}=await e.request(p.findConfigForDefinitionAndAdapter,{definitionId:t,adapterName:n});return r?{id:r.id}:void 0};return{listEnabledAdapterNames:t,getDefaultBinding:n,findProviderConfigByName:a,findProviderDefinition:o,listBindingsForConfig:i,findDefaultConfigForDefinition:s,findConfigForDefinitionAndAdapter:c,resolveDefaultModelTarget:this.buildResolveDefaultModelTarget(t,r,c)}}buildFindProviderDefinition(e,t){return async(n,r)=>{let i=r??await e();for(let e of i){let r=(await t(e)).find(e=>e.id===n);if(r)return r}}}buildResolveDefaultModelTarget(t,n,r){let i=this.bus;return async a=>{let o=await t(),s=await Promise.all(o.map(async e=>({adapterName:e,definitions:await n(e)}))),c=Array.from(new Set(s.flatMap(({definitions:e})=>e.map(e=>e.id))));if(c.length===0)return{kind:`not-found`};let{matches:l}=await i.request(ae.checkModelInProviders,{providerIds:c,model:a}),u=(await Promise.all(s.map(({adapterName:e,definitions:t})=>this.collectAdapterCandidates(e,t,a,l,r)))).flat();return e.buildResolution(u)}}async collectAdapterCandidates(e,t,n,r,i){let a=t.filter(e=>e.id in r),o=await Promise.all(a.map(t=>i(t.id,e)));return a.flatMap((t,r)=>{let i=o[r];return i?[{adapterName:e,definitionId:t.id,providerConfigId:i.id,qualifiedName:`${e}/${t.id}::${n}`,model:n}]:[]})}static buildResolution(e){let t=Array.from(new Map(e.map(e=>[this.routeKey(e),e])).values());if(t.length===0)return{kind:`not-found`};if(t.length>1)return{kind:`ambiguous`,matches:t.map(({adapterName:e,definitionId:t,qualifiedName:n})=>({adapterName:e,definitionId:t,qualifiedName:n}))};let[n]=t;return{kind:`resolved`,target:{adapterName:n.adapterName,providerConfigId:n.providerConfigId,definitionId:n.definitionId,model:n.model}}}static routeKey(e){return`${e.adapterName}\0${e.definitionId}\0${e.providerConfigId}`}async listEnabledProviderConfigIds(){let{configs:e}=await this.bus.request(p.listProviderConfigs,{enabled:!0});return new Set(e.map(e=>e.id))}};const W={name:`makaio.canonical-model`,displayName:`Canonical Model`,version:`0.1.0`,critical:!1,create:e=>new Ue(e.bus)};function We(e){let t=xe({adapterId:e?.adapterId,adapterName:e?.adapterName,contextOverrides:{adapterId:e?.contextOverrides?.adapterId,adapterName:e?.contextOverrides?.adapterName}}),n=t.issues[0];return n?A(k.VALIDATION_FAILED,n.message):ke(t.effectiveIdentity)}function Ge(e){let t=e?.allowedDirectories;if(Array.isArray(t))return t.filter(e=>typeof e==`string`)}async function Ke(e,t,n,r){let i=new Map;for(let e of t)i.set(e.name,await r(e.name));let a=t.filter(e=>{let t=i.get(e.name);return!t?.allowedAdapters||t.allowedAdapters.length===0?!0:t.allowedAdapters.includes(n)}),o=new Set(a.map(e=>e.name));return{filteredTools:e.filter(e=>!(!o.has(e.toolsetName)||i.get(e.toolsetName)?.disabledTools?.includes(e.name))),filteredToolsets:a}}function qe(){return`exec_${Date.now()}_${Math.random().toString(36).substring(2,9)}`}var Je=class{bus;toolsets=new Map;tools=new Map;cleanupHandlers=[];handlerPriority;policyProvider;fileAccessRuleProvider;revision=0;constructor(e){this.bus=e?.bus??_,this.handlerPriority=e?.handlerPriority??0,this.policyProvider=e?.policyProvider,this.fileAccessRuleProvider=e?.fileAccessRuleProvider,this.registerHandlers()}registerHandlers(){let e=this.bus.on(b.list,async e=>{let{toolsetName:t,adapterId:n,adapterName:r}=e.payload,{tools:i,toolsets:a}=await this.listToolsWithToolsets({toolsetName:t,adapterId:n,adapterName:r});e.setResult({tools:i,toolsets:a})},{priority:this.handlerPriority});this.cleanupHandlers.push(e);let t=this.bus.on(b.execute,async e=>{let{toolName:t,input:n,adapterId:r,adapterName:i,contextOverrides:a}=e.payload,o=await this.execute(t,n,{contextOverrides:a,adapterId:r,adapterName:i});e.setResult(o)},{priority:this.handlerPriority});this.cleanupHandlers.push(t)}async register(e){if(this.toolsets.has(e.metadata.name))throw Error(`Toolset '${e.metadata.name}' is already registered`);let t=[],n=[];for(let[,r]of Object.entries(e.tools)){let i=r.metadata.name;if(this.tools.has(i))throw Error(`Tool '${i}' is already registered (from toolset '${this.tools.get(i).toolsetName}')`);n.push({tool:r,toolsetName:e.metadata.name}),t.push(i)}this.toolsets.set(e.metadata.name,e);for(let e=0;e<n.length;e+=1)this.tools.set(t[e],n[e]);await this.emitRegistryChanged(`toolset-registered`,e.metadata.name).catch(t=>console.warn(`[ToolRegistry] Failed to emit ${b.registryChanged.subject} for '${e.metadata.name}':`,t)),await this.bus.emit(b.registered,{toolsetName:e.metadata.name,toolsetVersion:e.metadata.version,toolNames:t}).catch(t=>console.warn(`[ToolRegistry] Failed to emit ${b.registered.subject} for '${e.metadata.name}':`,t))}async deregister(e){let t=this.toolsets.get(e);if(!t)throw Error(`Toolset '${e}' is not registered`);for(let e of Object.values(t.tools))this.tools.delete(e.metadata.name);this.toolsets.delete(e),await this.emitRegistryChanged(`toolset-unregistered`,e).catch(t=>console.warn(`[ToolRegistry] Failed to emit ${b.registryChanged.subject} for '${e}':`,t))}async emitRegistryChanged(e,t){this.revision+=1,await this.bus.emit(b.registryChanged,{revision:this.revision,reason:e,toolsetName:t})}async execute(e,t,n){let r=this.tools.get(e);if(!r)return A(k.TOOL_NOT_FOUND,`Tool '${e}' not found`);let i=We(n);if(!i.success)return i;let{tool:a,toolsetName:o}=r,s=await this.checkPolicy(o,e,i.data.adapterId,i.data.adapterName);if(s)return s;let c=qe(),l=Date.now();await this.bus.emit(b.started,{toolName:e,toolsetName:o,executionId:c,timestamp:l});try{let r=a.inputSchema.safeParse(t);if(!r.success){let t=A(k.VALIDATION_FAILED,`Input validation failed`,{issues:r.error.issues});return await this.bus.emit(b.error,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),error:t.error}),t}let s=await this.buildExecutionContext(n,i.data),u=await a.execute(r.data,s);return u.success?await this.bus.emit(b.completed,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),durationMs:Date.now()-l}):await this.bus.emit(b.error,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),error:u.error}),u}catch(t){let n=De(t);return await this.bus.emit(b.error,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),error:n.error}),n}}async buildExecutionContext(e,t){let n=e?.contextOverrides?.constraints;if(this.fileAccessRuleProvider){let t=e?.contextOverrides?.cwd??process.cwd(),r=Ge(n),i=await this.fileAccessRuleProvider(t,r);n={...n,[Te]:i}}let r=fe({...e?.contextOverrides,constraints:n}),i=e?.contextOverrides;return{...r,bus:this.bus,sessionId:i?.sessionId,agentId:i?.agentId,adapterId:t.adapterId,adapterName:t.adapterName,turnId:i?.turnId,turnContext:i?.turnContext,toolCallId:i?.toolCallId}}async checkPolicy(e,t,n,r){if(!this.policyProvider)return null;let i=await this.policyProvider(e);if(!i)return null;if(i.disabledTools?.includes(t))return A(k.PERMISSION_DENIED,`Tool '${t}' is disabled`,{toolsetName:e,toolName:t});if(i.allowedAdapters&&i.allowedAdapters.length>0){let t=r??n;if(!t||!i.allowedAdapters.includes(t))return A(k.PERMISSION_DENIED,`Adapter not allowed for toolset '${e}'`,{toolsetName:e,adapterId:n,adapterName:r,allowedAdapters:i.allowedAdapters})}return null}listTools(e){let t=[];for(let[,n]of this.tools){if(e?.toolsetName&&n.toolsetName!==e.toolsetName)continue;let{$schema:r,...i}=g.toJSONSchema(n.tool.inputSchema);t.push({name:n.tool.metadata.name,description:n.tool.metadata.description,toolsetName:n.toolsetName,annotations:n.tool.metadata.annotations,inputSchema:i})}return t}listToolsets(){let e=[];for(let[,t]of this.toolsets){let n={name:t.metadata.name,description:t.metadata.description,version:t.metadata.version,toolCount:Object.keys(t.tools).length};if(t.configSchema){let{$schema:e,...r}=g.toJSONSchema(t.configSchema);n.configSchema=r}e.push(n)}return e}async listToolsWithToolsets(e){let t=this.listTools(e),n=this.listToolsets(),r=e?.toolsetName?n.filter(t=>t.name===e.toolsetName):n,i=e?.adapterName??e?.adapterId;if(this.policyProvider&&i){let{filteredTools:e,filteredToolsets:n}=await Ke(t,r,i,this.policyProvider);return{tools:e,toolsets:n}}return{tools:t,toolsets:r}}getTool(e){return this.tools.get(e)?.tool}getToolset(e){return this.toolsets.get(e)}dispose(){for(let e of this.cleanupHandlers)e();this.cleanupHandlers.length=0}destroy(){this.dispose()}},Ye=class extends w{triggersByExtension=new Map;stepsByExtension=new Map;revision=0;cache=null;constructor(e){super(e)}onInit(){this.registerHandler(ye.list,e=>{e.setResult({triggers:this.listTriggers(),steps:this.listSteps()})})}async register(e,t){let n=[],r=[],i=this.snapshotExtensionState(e),a=new Set;for(let e of this.triggersByExtension.values())for(let t of e)a.add(t.metadata.name);for(let e of this.stepsByExtension.values())for(let t of e)a.add(t.metadata.name);if(t.triggers)for(let r of t.triggers)this.assertExtensionNamespace(e,r.metadata),this.assertNoCollision(r.metadata,a),a.add(r.metadata.name),n.push({metadata:{...r.metadata,extensionName:e},configSchema:C(r.configSchema),outputSchema:C(r.outputSchema)});if(t.steps)for(let n of t.steps)this.assertExtensionNamespace(e,n.metadata),this.assertNoCollision(n.metadata,a),a.add(n.metadata.name),r.push({metadata:{...n.metadata,extensionName:e},configSchema:C(n.configSchema),inputSchema:C(n.inputSchema),outputSchema:C(n.outputSchema),runs:structuredClone(n.runs)});if(n.length>0&&this.triggersByExtension.set(e,n),r.length>0&&this.stepsByExtension.set(e,r),n.length>0||r.length>0){this.revision+=1;try{await this.emitChanged(e,`registered`)}catch(t){throw this.restoreExtensionState(e,i),t}}}async deregister(e){let t=this.snapshotExtensionState(e),n=this.triggersByExtension.delete(e),r=this.stepsByExtension.delete(e);if(n||r){this.revision+=1;try{await this.emitChanged(e,`deregistered`)}catch(n){throw this.restoreExtensionState(e,t),n}}}listTriggers(){return this.getCache().triggers.map(Xe)}listSteps(){return this.getCache().steps.map(Ze)}async emitChanged(e,t){await this.bus.emit(ye.changed,{extensionName:e,revision:this.revision,reason:t})}getCache(){return(!this.cache||this.cache.revision!==this.revision)&&(this.cache={revision:this.revision,triggers:[...this.triggersByExtension.values()].flat(),steps:[...this.stepsByExtension.values()].flat()}),this.cache}snapshotExtensionState(e){return{triggers:this.triggersByExtension.get(e),steps:this.stepsByExtension.get(e),revision:this.revision,cache:this.cache}}restoreExtensionState(e,t){t.triggers?this.triggersByExtension.set(e,t.triggers):this.triggersByExtension.delete(e),t.steps?this.stepsByExtension.set(e,t.steps):this.stepsByExtension.delete(e),this.revision=t.revision,this.cache=t.cache}assertNoCollision(e,t){if(t.has(e.name))throw Error(`Workflow block name collision: '${e.name}' is already registered`)}assertExtensionNamespace(e,t){let n=`${e}.`;if(!t.name.startsWith(n))throw Error(`Workflow block '${t.name}' must be namespaced by extension '${n}'`)}};function Xe(e){return{metadata:Qe(e.metadata),configSchema:structuredClone(e.configSchema),outputSchema:structuredClone(e.outputSchema)}}function Ze(e){return{metadata:Qe(e.metadata),configSchema:structuredClone(e.configSchema),inputSchema:structuredClone(e.inputSchema),outputSchema:structuredClone(e.outputSchema),runs:structuredClone(e.runs)}}function Qe(e){return e.categories?{...e,categories:[...e.categories]}:{...e}}const G=`workflow.start`;function $e(e){return()=>({async execute(t,n){let{input:r={},executionHints:i}=t,{workflowId:a}=r;if(typeof a!=`string`||a.length===0)throw Error(`[TransitionActionRegistry] 'workflow.start' action requires a non-empty 'input.workflowId' string`);await e.request(be.start,{workflowId:a,input:et(r,n),config:r.config,artifactRef:r.artifactRef,scope:r.scope,triggerPayload:{_transitionRuleId:n._transition.ruleId,_transitionDepth:n._transition.depth,_transitionEventType:n._transition.eventType},executionHints:i})}})}function et(e,t){let n=e.inputExpression;if(typeof n!=`string`)return e.input;let r=Me(n,tt(t)),i=_e.safeParse(r);if(!i.success)throw Error(`[TransitionActionRegistry] 'workflow.start' inputExpression for rule '${t._transition.ruleId}' must resolve to a JSON value`);return i.data}function tt(e){let t={...e};return{...t,ctx:t}}var nt=class{factories=new Map;factoriesBySource=new Map;constructor(e){this.factories.set(G,$e(e)),this.factoriesBySource.set(`__builtin__`,[G])}register(e,t){let n=Object.keys(t);if(n.length!==0){if(this.factoriesBySource.has(e))throw Error(`TransitionActionRegistry: duplicate source '${e}'`);for(let t of n)if(this.factories.has(t))throw Error(`TransitionActionRegistry: duplicate action type '${t}' from source '${e}'`);for(let e of n)this.factories.set(e,t[e]);this.factoriesBySource.set(e,n)}}deregister(e){if(e===`__builtin__`)return;let t=this.factoriesBySource.get(e);if(t){for(let e of t)this.factories.delete(e);this.factoriesBySource.delete(e)}}async dispatch(e,t){let n=this.factories.get(e.type);if(!n)throw Error(`TransitionActionRegistry: unknown action type '${e.type}'. Registered types: ${[...this.factories.keys()].join(`, `)}`);await n().execute(e,t)}has(e){return this.factories.has(e)}listTypes(){return[...this.factories.keys()]}},rt=class{rulesBySource=new Map;rulesByEventType=new Map;ruleIdSet=new Set;register(e,t){if(t.length===0)return;if(this.rulesBySource.has(e))throw Error(`TransitionRuleRegistry: duplicate source '${e}'`);let n=new Set,r=[];for(let i of t){let t=ve.parse(i);if(n.has(t.id))throw Error(`TransitionRuleRegistry: duplicate rule ID '${t.id}' within source '${e}'`);if(this.ruleIdSet.has(t.id))throw Error(`TransitionRuleRegistry: duplicate rule ID '${t.id}' from source '${e}'`);n.add(t.id),r.push({rule:t,condition:t.when===void 0?void 0:Ae.parse(t.when)})}for(let e of r){let{rule:t}=e;this.ruleIdSet.add(t.id);let n=this.rulesByEventType.get(t.on)??[];n.push(e),this.rulesByEventType.set(t.on,n)}this.rulesBySource.set(e,r)}deregister(e){let t=this.rulesBySource.get(e);if(t){for(let{rule:e}of t){this.ruleIdSet.delete(e.id);let t=this.rulesByEventType.get(e.on);if(t){let n=t.filter(t=>t.rule.id!==e.id);n.length>0?this.rulesByEventType.set(e.on,n):this.rulesByEventType.delete(e.on)}}this.rulesBySource.delete(e)}}getRulesForEvent(e){let t=this.rulesByEventType.get(e);return t?t.filter(e=>e.rule.enabled):[]}snapshotSource(e){let t=this.rulesBySource.get(e);if(t)return{ruleIds:t.map(e=>e.rule.id)}}},it=class extends w{ruleRegistry;actionRegistry;depthMap=new Map;constructor(e){super(e),this.ruleRegistry=new rt,this.actionRegistry=new nt(e)}onInit(){this.registerHandler(v.created,async e=>{await this.handleArtifactEvent(`artifact.created`,{artifact:e.payload.artifact})}),this.registerHandler(v.revised,async e=>{let t=await this.resolvePreviousRevisedArtifact(e.payload.previous);await this.handleArtifactEvent(`artifact.revised`,{artifact:e.payload.artifact,previous:e.payload.previous,...t===void 0?{}:{previousArtifact:t}})}),this.registerHandler(v.status.changed,async e=>{let t=await this.resolveStatusChangedArtifact(e.payload.artifact);t!==void 0&&await this.handleArtifactEvent(`artifact.status.changed`,{artifact:t,path:e.payload.path,previous:e.payload.previous,current:e.payload.current})})}async handleArtifactEvent(e,t){let n=this.artifactKey(t.artifact),r=this.readDepth(n);if(r>=10){console.warn(`[TransitionPipelineService] Transition depth limit (10) reached for event '${e}' on artifact '${n}'. Loop protection active — skipping rule evaluation.`);return}let i=this.ruleRegistry.getRulesForEvent(e);if(i.length!==0)for(let a of i)await this.evaluateAndDispatch(a,e,t,n,r)}async resolveStatusChangedArtifact(e){let t=await this.bus.requestOptional(v.resolve,{ref:e});if(!t.handled){console.warn(`[TransitionPipelineService] No artifact resolver is registered for status transition on artifact '${this.artifactKey(e)}'. Skipping rule evaluation.`);return}if(t.data.artifact===null){console.warn(`[TransitionPipelineService] Could not resolve status transition artifact '${this.artifactKey(e)}'. Skipping rule evaluation.`);return}return t.data.artifact}async resolvePreviousRevisedArtifact(e){let t=await this.bus.requestOptional(v.resolve,{ref:e});if(!(!t.handled||t.data.artifact===null))return t.data.artifact}async evaluateAndDispatch(e,t,n,r,i){let{rule:a,condition:o}=e,s={...n,_transition:{ruleId:a.id,eventType:t,depth:i+1}};if(o!==void 0){let e={...s},t;try{t=je(o,e)}catch(e){console.error(`[TransitionPipelineService] Condition evaluation error for rule '${a.id}':`,e);return}if(!t)return}try{await this.actionRegistry.dispatch(a.action,s),a.action.type===`workflow.start`&&this.incrementDepth(r)}catch(e){console.error(`[TransitionPipelineService] Action dispatch error for rule '${a.id}' (action type '${a.action.type}'):`,e)}}artifactKey(e){return`${typeof e.kind==`string`?e.kind:`unknown`}:${typeof e.id==`string`?e.id:`unknown`}`}readDepth(e){let t=this.depthMap.get(e);return t===void 0?0:Date.now()>t.expiresAt?(this.depthMap.delete(e),0):t.count}incrementDepth(e){let t=this.depthMap.get(e);this.depthMap.set(e,{count:t===void 0?1:t.count+1,expiresAt:Date.now()+6e4})}};function at(e){return async t=>{let n=await ot(e,t);if(!n)return{handled:!1,sessionId:null,clientAccountId:null,changed:!1};let{sessionId:r}=n,{observation:i,accountObserveRequest:a}=st(t),o=await e.requestOptional(E.account.observe,a);if(!o.handled)return{handled:!1,sessionId:r,clientAccountId:null,changed:!1};let{clientAccountId:s}=o.data;return{handled:!0,sessionId:r,clientAccountId:s,changed:await mt(e,r,i,s)}}}async function ot(t,n){switch(n.locator.kind){case`session`:{let{session:r}=await t.request(e.get,{sessionId:n.locator.sessionId});return r?{sessionId:r.sessionId,session:r}:null}case`adapter-session`:{let{session:r}=await t.request(e.getByAdapterSessionId,{adapterSessionId:n.locator.adapterSessionId});return r?{sessionId:r.sessionId,session:r}:null}case`both`:{let[{session:r},{session:i}]=await Promise.all([t.request(e.get,{sessionId:n.locator.sessionId}),t.request(e.getByAdapterSessionId,{adapterSessionId:n.locator.adapterSessionId})]);if(!r&&!i)return null;if(!r||!i)throw Error(`Session locator mismatch: sessionId "${n.locator.sessionId}" and adapterSessionId "${n.locator.adapterSessionId}" must both resolve the same session`);if(r.sessionId!==i.sessionId)throw Error(`Session locator mismatch: sessionId "${n.locator.sessionId}" and adapterSessionId "${n.locator.adapterSessionId}" resolve to different sessions`);return{sessionId:r.sessionId,session:r}}}}function st(e){let t={clientId:e.clientId,source:e.source,kind:e.kind,observedAt:e.observedAt,payload:ft(e.payload)};return{observation:t,accountObserveRequest:ct(t)}}function ct(e){let t=e.payload,n=lt(t),r=ut(t);if(r.length>0)return{clientId:e.clientId,observedAt:e.observedAt,displayLabel:dt(t,n),identifiers:r};throw Error(`client.session.account.observe for "${e.clientId}" requires canonical client account identifiers`)}function lt(e){return pt(e.accountInfo)??e}function ut(e){let t=e.identifiers;if(!Array.isArray(t))return[];try{return g.array(Ce).min(1).parse(t)}catch(e){throw Error(`client.session.account.observe received malformed canonical client account identifiers`,{cause:e})}}function dt(e,t){return K(e.displayLabel)??K(t.displayLabel)??K(t.email)??K(t.label)}function ft(e){return structuredClone(e)}function pt(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function K(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}async function mt(t,n,r,i){let a=await t.request(e.update,{sessionId:n,clientId:r.clientId,clientAccountId:i,lastClientIdentityObservation:r});if(!a.success)throw Error(`Failed to update session "${n}" with client account linkage`);return a.clientAccountChanged??!1}const ht=S(`session-storage`).name;var gt=class extends w{constructor(e=_){super(e)}onInit(){let e=at(this.bus);this.registerHandler(E.session.account.observe,async t=>{t.setResult(await e(we.request.parse(t.payload)))})}};const _t={name:`makaio.session-client-account-linking`,displayName:`Session Client Account Linking`,version:`0.1.0`,dependencies:[x(ht),x(`makaio.clients-core`)],critical:!1,create:e=>new gt(e.bus)},vt={name:`framework-shell`,displayName:`Shell`,version:`0.1.0`,surface:`interactive`,windows:[{id:`main`,style:`utility`,width:1e3,height:700,singleton:!0}]};async function yt(e){let{harnesses:t}=await e.request(m.list,{}),n=new Set(t.map(e=>e.id));for(let t of he){if(n.has(t.id))continue;let r={...t};await e.request(m.set,{harness:r})}}function q(e,t,n){return e??t??n}var bt=class extends w{static storage={drizzle:h};constructor(e=_){super(e)}async onInit(){await yt(this.bus),this.registerHandlers()}registerHandlers(){this.registerHandler(y.get,async e=>{let t=await this.loadHarness(e.payload);if(!t)throw Error(`Harness not found`);e.setResult(t)}),this.registerHandler(y.list,async e=>{let{harnesses:t}=await this.bus.request(m.list,e.payload);e.setResult({harnesses:t})}),this.registerHandler(y.set,async e=>{let t=await this.upsertHarness(e.payload);e.setResult({id:t})}),this.registerHandler(y.delete,async e=>{let{deleted:t}=await this.bus.request(m.delete,{id:e.payload.id});e.setResult({success:t})}),this.registerHandler(y.getDefault,async e=>{let t=await this.getDefaultHarness(e.payload.adapterName,e.payload.clientId);e.setResult(t)}),this.registerHandler(y.resolve,async e=>{let{adapterName:t,clientId:n,personaHarnessId:r,profileHarnessId:i}=e.payload;if(r){let i=await this.resolveAndValidateHarness(r,t,`persona`,n);e.setResult(i);return}if(i){let r=await this.resolveAndValidateHarness(i,t,`profile`,n);e.setResult(r);return}let a=await this.getDefaultHarness(t,n);e.setResult(a)}),this.registerHandler(y.getSchema,({setResult:e})=>{let{$schema:t,...n}=g.toJSONSchema(ge);e({schema:n,uiConfig:{editMode:`fullPage`,hiddenFields:[`isDefault`]}})})}async upsertHarness(e){let t=await this.resolveHarnessId(e.name,e.adapterName,e.clientId),n=await this.loadHarness({id:t,adapterName:e.adapterName,clientId:e.clientId}),r=this.mergeHarnessPayload(t,e,n);return r.adapterName&&await this.validateNativeTools(r.adapterName,r.nativeTools),await this.bus.request(m.set,{harness:r}),t}mergeHarnessPayload(e,t,n){let r={enabled:[],disabled:[]};return{id:e,name:t.name,description:q(t.description,n?.description,void 0),adapterName:t.adapterName,clientId:q(t.clientId,n?.clientId,void 0),env:q(t.env,n?.env,void 0),credentials:q(t.credentials,n?.credentials,void 0),cwd:q(t.cwd,n?.cwd,void 0),approvalPolicy:q(t.approvalPolicy,n?.approvalPolicy,`always-ask`),nativeTools:q(t.nativeTools,n?.nativeTools,r),registryTools:q(t.registryTools,n?.registryTools,r),skills:q(t.skills,n?.skills,void 0),toolCapabilityMap:t.toolCapabilityMap??n?.toolCapabilityMap,capabilityOverrides:t.capabilityOverrides??n?.capabilityOverrides,toolApprovalOverrides:t.toolApprovalOverrides??n?.toolApprovalOverrides,isDefault:q(t.isDefault,n?.isDefault,!1),enabled:q(t.enabled,n?.enabled,!0)}}async resolveHarnessId(e,t,n){let r=n??t,{harnesses:i}=await this.bus.request(m.list,{name:e}),a=i.find(t=>t.name===e&&(t.clientId??t.adapterName)===r);if(a)return a.id;let o=i.find(t=>t.name===e&&(t.clientId??t.adapterName)!==r);if(o){let t=o.clientId?`client '${o.clientId}'`:`adapter '${o.adapterName}'`;throw Error(`Harness "${e}" already exists with scope ${t}; cannot change scope to ${r??`(none)`}`)}return this.createStableHarnessId(e,r)}async loadHarness(e){if(e.id){let{harness:t}=await this.bus.request(m.get,{id:e.id});return t&&(!e.adapterName||t.adapterName===e.adapterName)&&(!e.clientId||t.clientId===e.clientId)?t:null}if(!e.name)return null;let{harnesses:t}=await this.bus.request(m.list,{name:e.name,adapterName:e.adapterName,clientId:e.clientId});return e.clientId?t.find(t=>t.clientId===e.clientId)??null:e.adapterName?t.find(t=>t.adapterName===e.adapterName)??null:t[0]??null}async getDefaultHarness(e,t){if(t){let{harnesses:e}=await this.bus.request(m.list,{clientId:t}),n=e.find(e=>e.isDefault&&e.enabled);if(n)return n;let r=e.find(e=>e.enabled);if(r)return r}if(e){let{harnesses:t}=await this.bus.request(m.list,{adapterName:e}),n=t.find(e=>e.isDefault&&e.enabled);if(n)return n;let r=t.find(e=>e.enabled);if(r)return r}let n=t?e?`client '${t}' or adapter '${e}'`:`client '${t}'`:`adapter '${e}'`;throw Error(`No harness available for ${n}`)}assertHarnessAdapterMatch(e,t,n,r){if(e.adapterName&&t&&e.adapterName!==t)throw Error(`Resolved ${n} harness adapter mismatch: expected "${t}", got "${e.adapterName}"`);if(e.clientId&&r&&e.clientId!==r)throw Error(`Resolved ${n} harness client mismatch: expected "${r}", got "${e.clientId}"`)}assertHarnessEnabled(e,t){if(!e.enabled)throw Error(`Resolved ${t} harness is disabled: ${e.id}`)}async validateNativeTools(e,t){let n=await this.bus.requestOptional(pe.getCapabilities,{adapterName:e});if(!n.handled)return;let r=new Set(n.data.nativeTools),i=[...t.enabled,...t.disabled].filter(e=>!r.has(e));if(i.length>0)throw Error(`Tool '${i[0]}' not found in adapter '${e}' native tools. Declared tools: ${[...r].join(`, `)}`)}createStableHarnessId(e,t){return`harness-${ue(`sha256`).update(`${t??``}\0${e}`).digest(`hex`).slice(0,24)}`}async resolveAndValidateHarness(e,t,n,r){let i=await this.loadHarness({id:e});if(!i)throw Error(`${n===`persona`?`Persona`:`Profile`} harness not found: ${e}`);return this.assertHarnessAdapterMatch(i,t,n,r),this.assertHarnessEnabled(i,n),i}};const xt={name:`makaio.harness`,displayName:`Harness`,version:`0.1.0`,critical:!0,storage:{registerHandlers:T(h)},create:e=>new bt(e.bus)},J=S(`session-storage`),Y=S(`session-bridge`),X=S(`session`),St=S(`session-orchestrator`),Z=S(`tool-registry`),Ct=S(`tool-approval`),wt=S(`tray-menu`),Tt=S(`capability`),Et=S(`model-registry`),Dt=S(`workflow-block-registry`),Ot=S(`transition-pipeline`),kt=S(`filesystem`),At=S(`git`),jt=S(`artifact-schema-registry`),Mt=S(`artifact-lifecycle-hook-registry`),Nt=S(`facet-namespace-registry`),Pt=S(`surface-binding-registry`),Ft={name:jt.name,displayName:`Artifact Schema Registry`,version:`0.1.0`,critical:!0,create:e=>new I(e.bus)},It={name:Mt.name,displayName:`Artifact Lifecycle Hook Registry`,version:`0.1.0`,critical:!0,create:e=>new B(e.bus)},Lt={name:Nt.name,displayName:`Facet Namespace Registry`,version:`0.1.0`,critical:!0,create:e=>new Be(e.bus)},Rt={name:Pt.name,displayName:`Surface Binding Registry`,version:`0.1.0`,critical:!0,create:e=>new Ve(e.bus)},zt={name:J.name,displayName:`Session Storage`,version:`0.1.0`,critical:!0,storage:{registerHandlers:T((e,n)=>{let a=[],o=e=>{for(let t=a.length-1;t>=0;--t)try{a[t]?.()}catch(t){console.warn(`[sessionStoragePackage] cleanup failed during ${e}:`,t)}a.length=0};try{a.push(c(e,n)),a.push(i(e,n)),a.push(r(e,n)),a.push(ne(e,n)),a.push(t(e,n)),a.push(te(e,n)),a.push(l(e,n)),a.push(f(e,n)),a.push(s(e,n)),a.push(u(e)),a.push(ee(e)),a.push(d(e))}catch(e){throw o(`rollback`),e}return()=>{o(`shutdown`)}})}},Bt={name:Y.name,displayName:`Session Bridge`,version:`0.1.0`,dependencies:[x(J.name)],critical:!0,create:e=>new n(e.bus)},Vt={name:X.name,displayName:`Session`,version:`0.1.0`,dependencies:[x(Y.name)],critical:!0,create:e=>new o(e.bus)},Q={name:St.name,displayName:`Session Orchestrator`,version:`0.1.0`,dependencies:[x(X.name),x(W.name)],critical:!0,runtimeOwnership:{sessionOrchestrator:!0},create:e=>new a(e.bus,e.machineId)},Ht={name:Z.name,displayName:`Tool Registry`,version:`0.1.0`,critical:!0,create:e=>new Je({bus:e.bus})},Ut={name:Ct.name,displayName:`Tool Approval`,version:`0.1.0`,dependencies:[x(Z.name)],critical:!0,create:e=>new oe(e.bus)},Wt={name:wt.name,displayName:`Tray Menu`,version:`0.1.0`,critical:!0,create:e=>new se(e.bus)},Gt={name:Tt.name,displayName:`Capability`,version:`0.1.0`,critical:!0,create:e=>new re(e.bus)},Kt={name:Dt.name,displayName:`Workflow Block Registry`,version:`0.1.0`,critical:!0,create:e=>new Ye(e.bus)},$={name:Ot.name,displayName:`Transition Pipeline`,version:`0.1.0`,critical:!0,create:e=>new it(e.bus)},qt={name:kt.name,displayName:`Filesystem`,version:`0.1.0`,critical:!0,create:e=>new le(e.bus,e.machineId)},Jt={name:At.name,displayName:`Git`,version:`0.1.0`,dependencies:[x(kt.name)],critical:!0,create:e=>new Ne(e.bus)};function Yt(e){return{name:Et.name,displayName:`Model Registry`,version:`0.1.0`,critical:!0,create:t=>new ie({bus:t.bus,fetcher:e})}}const Xt=[Ft,It,Lt,Rt,zt,Bt,_t,Vt,Q,ce,Ht,Ut,Wt,Gt,xt,W,vt,Kt,$,Jt,qt];function Zt(){let e=new Map;return{filter:e=>!!e.tools?.createToolsets,async processActivated(t,n,r){let i=r.getService(Z);if(!i)throw Error(`ToolRegistry is not available. Ensure toolRegistryPackage is included in the composition root.`);let a=n.tools.createToolsets(r),o=[];try{for(let e of a)await i.register(e),o.push(()=>i.deregister(e.metadata.name))}catch(e){for(let e=o.length-1;e>=0;--e)try{await o[e]()}catch(e){console.error(`[ToolContributionProcessor] Rollback error for "${t}":`,e)}throw e}e.set(t,o)},async processStopped(t){let n=e.get(t);if(n){for(let e=n.length-1;e>=0;--e)try{await n[e]()}catch(e){console.error(`[ToolContributionProcessor] Deregister error for "${t}":`,e)}e.delete(t)}}}}export{Ut as A,Je as B,Lt as C,Vt as D,Q as E,it as F,Ve as G,Ue as H,rt as I,L as J,Be as K,nt as L,$ as M,Wt as N,zt as O,Kt as P,G as R,Yt as S,Bt as T,He as U,W as V,U as W,I as Y,wt as _,jt as a,Ft as b,Et as c,J as d,X as f,Ot as g,Z as h,Mt as i,Ht as j,Rt as k,Y as l,Ct as m,Oe as n,Tt as o,Pt as p,B as q,Zt as r,Nt as s,Ee as t,St as u,Dt as v,Xt as w,Gt as x,It as y,Ye as z};
@@ -1,4 +1,4 @@
1
- import { r as LogImportMode, t as LogImporterInfo } from "./index-B2xbnMZe.mjs";
1
+ import { r as LogImportMode, t as LogImporterInfo } from "./index-DLPjliGd.mjs";
2
2
  import * as _$_makaio_bus_core0 from "@makaio/framework/bus";
3
3
  import { IMakaioBus } from "@makaio/framework/bus";
4
4
  import { LogImportOrchestrator, LogImporter } from "@makaio/framework/adapters";