@makaio/framework 1.0.0-dev-1790114433794 → 1.0.0-dev-1790165411632

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 (290) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/adapter-subsystem/index.mjs +1 -1
  3. package/dist/adapters/claude/index.d.mts +24 -24
  4. package/dist/adapters/config/index.d.mts +1 -1
  5. package/dist/adapters/index.d.mts +2 -2
  6. package/dist/adapters/node.d.mts +1 -1
  7. package/dist/bus/index.d.mts +46 -21
  8. package/dist/bus/index.mjs +1 -1
  9. package/dist/{bus-CX0d5tTa.mjs → bus-D4DBDaoS.mjs} +1 -1
  10. package/dist/clients/index.d.mts +2 -1
  11. package/dist/clients/index.mjs +1 -1
  12. package/dist/clients/managed-install.d.mts +1 -1
  13. package/dist/code-execution/worker-entry.d.mts +1 -1
  14. package/dist/contracts/adapter/index.d.mts +2 -2
  15. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  16. package/dist/contracts/artifact/index.d.mts +2 -2
  17. package/dist/contracts/auth/index.d.mts +2 -2
  18. package/dist/contracts/automation-trigger/index.d.mts +3 -3
  19. package/dist/contracts/canonical-model/index.d.mts +1 -1
  20. package/dist/contracts/capabilities/index.d.mts +1 -1
  21. package/dist/contracts/client/index.d.mts +2 -2
  22. package/dist/contracts/code-execution/index.d.mts +1 -1
  23. package/dist/contracts/common/index.d.mts +1 -1
  24. package/dist/contracts/config/index.d.mts +2 -2
  25. package/dist/contracts/extension/index.d.mts +5 -5
  26. package/dist/contracts/facet/index.d.mts +1 -1
  27. package/dist/contracts/harness/index.d.mts +1 -1
  28. package/dist/contracts/host/index.d.mts +1 -1
  29. package/dist/contracts/index.d.mts +179 -179
  30. package/dist/contracts/index.mjs +1 -1
  31. package/dist/contracts/materialization/index.d.mts +2 -2
  32. package/dist/contracts/model-registry/index.d.mts +1 -1
  33. package/dist/contracts/native-session-supervisor/index.d.mts +2 -2
  34. package/dist/contracts/native-session-supervisor/index.mjs +1 -1
  35. package/dist/contracts/platform/index.d.mts +1 -1
  36. package/dist/contracts/provider/index.d.mts +2 -2
  37. package/dist/contracts/reaction/index.d.mts +1 -1
  38. package/dist/contracts/session/index.d.mts +2 -2
  39. package/dist/contracts/shared/index.d.mts +2 -2
  40. package/dist/contracts/skill/index.d.mts +1 -1
  41. package/dist/contracts/telemetry/index.d.mts +1 -1
  42. package/dist/contracts/timeout/index.d.mts +1 -1
  43. package/dist/contracts/variant/index.d.mts +1 -1
  44. package/dist/contracts/worker/index.d.mts +2 -2
  45. package/dist/contracts/workflow/index.d.mts +2 -2
  46. package/dist/{contribution-1GL7Rjaq.d.mts → contribution-DTb65rRN.d.mts} +2 -2
  47. package/dist/{definition-DeIGoROj.d.mts → definition-DWhjp0db.d.mts} +1 -1
  48. package/dist/{detached-extension-handle-W5_yfCyE.mjs → detached-extension-handle-QrXVNUR2.mjs} +1 -1
  49. package/dist/{extension-context-pQ7Uio_s.d.mts → extension-context-DH84KOm9.d.mts} +1 -1
  50. package/dist/filesystem-service-CIaAqTRi.mjs +1 -0
  51. package/dist/{framework-packages-U4Xhouxe.mjs → framework-packages-C2tvdFmP.mjs} +1 -1
  52. package/dist/{hook-responses-B882RcQc.d.mts → hook-responses-OETFKaAL.d.mts} +1 -1
  53. package/dist/{index-BtMWM80d.d.mts → index-8hJCLlAE.d.mts} +12 -12
  54. package/dist/{index-DfREUyAk.d.mts → index-B1uHTa1l.d.mts} +1 -1
  55. package/dist/{index-UjNxC0VC2.d.mts → index-B7KgjUmJ2.d.mts} +4 -4
  56. package/dist/{index-DGoJayJg.d.mts → index-BDTcg6tu.d.mts} +100 -100
  57. package/dist/{index-DQU8ZoJr.d.mts → index-BM53WQaQ.d.mts} +1 -1
  58. package/dist/{index-CmCLAMNs.d.mts → index-BRF5X-EZ.d.mts} +1 -1
  59. package/dist/{index-D6Uq1btG.d.mts → index-BUxs65tf.d.mts} +2 -2
  60. package/dist/{index-ConhyAnB.d.mts → index-BVG-RaIu.d.mts} +102 -102
  61. package/dist/{index-L6mssyeZ.d.mts → index-BfFi98B_.d.mts} +1 -1
  62. package/dist/{index-FyY9jdCQ2.d.mts → index-BnNNfBck.d.mts} +12 -12
  63. package/dist/{index-CESqYf8a.d.mts → index-C0Jfr8UK.d.mts} +2 -2
  64. package/dist/{index-DqliLe_D2.d.mts → index-C9Dz8UoK2.d.mts} +242 -7
  65. package/dist/{index-D2TphOHU2.d.mts → index-CDuEmakt2.d.mts} +383 -383
  66. package/dist/{index-DOD7Lmgu.d.mts → index-CI5ss_XH.d.mts} +357 -357
  67. package/dist/{index-DUYjTfHD.d.mts → index-CLwnkYRD.d.mts} +1 -1
  68. package/dist/{index-C8two8wz.d.mts → index-CdkIg4Gu.d.mts} +1 -1
  69. package/dist/{index-Di-R1gmo.d.mts → index-CmTVBNCe.d.mts} +288 -288
  70. package/dist/{index-DJxg7U2X.d.mts → index-D5BLD2Pw.d.mts} +7 -3
  71. package/dist/{index-B2bxgKiK.d.mts → index-D9BLsMs8.d.mts} +1 -1
  72. package/dist/{index-DdJKsdya.d.mts → index-D9hIDsPr.d.mts} +1 -1
  73. package/dist/{index-m5ZQFglW2.d.mts → index-DPsQ_cFG2.d.mts} +1 -1
  74. package/dist/{index-DpLjyQ-Z.d.mts → index-DRSeELQh.d.mts} +3 -3
  75. package/dist/{index-6bsTWnnc.d.mts → index-DyzmUD1S.d.mts} +27 -27
  76. package/dist/{index-aIJ7A4DC2.d.mts → index-QYdQSOnc2.d.mts} +6 -6
  77. package/dist/{index-DJVQG6Nn.d.mts → index-qtH2O8j_.d.mts} +14 -14
  78. package/dist/{index-Jdju2W3y.d.mts → index-t6LnywuE.d.mts} +1 -1
  79. package/dist/kernel/cli/index.d.mts +2 -2
  80. package/dist/kernel/cli/register.d.mts +1 -1
  81. package/dist/kernel/extension/index.d.mts +2 -2
  82. package/dist/kernel/index.d.mts +5 -5
  83. package/dist/kernel/namespace/index.d.mts +1 -1
  84. package/dist/kernel/observability/index.d.mts +1 -1
  85. package/dist/kernel/providers/index.d.mts +1 -1
  86. package/dist/kernel/window/index.d.mts +1 -1
  87. package/dist/{load-extensions-Be_lOjm_.d.mts → load-extensions-CCzTHlUE.d.mts} +1 -1
  88. package/dist/{load-extensions-BGfSWW_R.mjs → load-extensions-eyXZhbRn.mjs} +1 -1
  89. package/dist/{namespace-D5DkpaaN.d.mts → namespace-B0__88KU.d.mts} +154 -154
  90. package/dist/{namespace-Bhx72V7S.d.mts → namespace-BaUgxONS.d.mts} +2 -2
  91. package/dist/{namespace-B1CgZ0oQ.d.mts → namespace-BhpzgnH3.d.mts} +1 -1
  92. package/dist/{namespace-BtOBQybk.d.mts → namespace-Bz0ZDWhE.d.mts} +18 -18
  93. package/dist/{namespace-zusFEJPh.d.mts → namespace-CNX4llM5.d.mts} +6 -6
  94. package/dist/native-session-supervisor-BmnAZuia.mjs +1 -0
  95. package/dist/node/bus-server/index.d.mts +1 -1
  96. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  97. package/dist/node/transports/index.d.mts +53 -1
  98. package/dist/node/transports/index.mjs +2 -2
  99. package/dist/node-bridge-backend-DtRT--yn.mjs +1 -0
  100. package/dist/node-pty-backend-C72EgRws.mjs +1 -0
  101. package/dist/{package-kkPGlxMm.mjs → package-CeEUAKHI.mjs} +1 -1
  102. package/dist/{package-CwyC-Krg.d.mts → package-jjugnMVh.d.mts} +2 -2
  103. package/dist/package.json +1 -1
  104. package/dist/rules/index.d.mts +1 -1
  105. package/dist/rules/schemas.d.mts +1 -1
  106. package/dist/runtime-bun/index.d.mts +5 -0
  107. package/dist/runtime-bun/index.mjs +1 -1
  108. package/dist/runtime-node/bridge/pty-bridge.cjs +222 -0
  109. package/dist/runtime-node/code-execution/index.d.mts +2 -2
  110. package/dist/runtime-node/extension-discovery.d.mts +1 -1
  111. package/dist/runtime-node/extension-validation.d.mts +1 -1
  112. package/dist/runtime-node/extension-validation.mjs +1 -1
  113. package/dist/runtime-node/index.d.mts +5 -5
  114. package/dist/runtime-node/index.mjs +25 -21
  115. package/dist/runtime-node/makaio-config.d.mts +1 -1
  116. package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
  117. package/dist/{schemas-B7YzDHLs.d.mts → schemas-CjFPsYeV.d.mts} +4 -4
  118. package/dist/{schemas-BLxdGZkr.d.mts → schemas-D9pXu76T.d.mts} +4 -4
  119. package/dist/{schemas-CD3Mq-jC.d.mts → schemas-DFamD1UF.d.mts} +154 -154
  120. package/dist/{schemas-DNNHiY8g2.d.mts → schemas-DPtj1sPC2.d.mts} +7 -7
  121. package/dist/{schemas--wiEYYQs.d.mts → schemas-KyQQPGjX.d.mts} +11 -11
  122. package/dist/service-base/index.d.mts +35 -5
  123. package/dist/service-base/index.mjs +1 -1
  124. package/dist/services/adapter-runtime/index.d.mts +3 -3
  125. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  126. package/dist/services/adapter-runtime/schemas.d.mts +1 -1
  127. package/dist/services/adapter-subsystem/index.d.mts +3 -3
  128. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  129. package/dist/services/agent-runtime/index.d.mts +2 -2
  130. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  131. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  132. package/dist/services/capability/index.d.mts +2 -2
  133. package/dist/services/code-execution/index.d.mts +1 -1
  134. package/dist/services/codebase/index.d.mts +2 -2
  135. package/dist/services/codebase/namespace.d.mts +1 -1
  136. package/dist/services/codebase/schemas.d.mts +1 -1
  137. package/dist/services/compression/index.d.mts +2 -2
  138. package/dist/services/compression/namespace.d.mts +1 -1
  139. package/dist/services/compression/schemas.d.mts +1 -1
  140. package/dist/services/context-rules/index.d.mts +1 -1
  141. package/dist/services/execution-target/index.d.mts +3 -3
  142. package/dist/services/execution-target/namespace.d.mts +1 -1
  143. package/dist/services/execution-target/schemas.d.mts +1 -1
  144. package/dist/services/filesystem/index.d.mts +1 -1
  145. package/dist/services/filesystem/index.mjs +1 -1
  146. package/dist/services/filesystem/namespace.d.mts +12 -12
  147. package/dist/services/filesystem/schemas.d.mts +6 -6
  148. package/dist/services/git/namespace.d.mts +2 -2
  149. package/dist/services/git/schemas.d.mts +2 -2
  150. package/dist/services/index.d.mts +134 -134
  151. package/dist/services/index.mjs +1 -1
  152. package/dist/services/log-import/browser.d.mts +2 -2
  153. package/dist/services/log-import/index.d.mts +2 -2
  154. package/dist/services/log-import/log-import.d.mts +1 -1
  155. package/dist/services/materialization/index.d.mts +1 -1
  156. package/dist/services/model-registry/index.d.mts +1 -1
  157. package/dist/services/preferences/index.d.mts +2 -2
  158. package/dist/services/preferences/schemas.d.mts +1 -1
  159. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  160. package/dist/services/provider-context/index.d.mts +1 -1
  161. package/dist/services/session/handlers/index.d.mts +1 -1
  162. package/dist/services/session/index.d.mts +9 -9
  163. package/dist/services/session/index.mjs +1 -1
  164. package/dist/services/session/messages/namespace.d.mts +1 -1
  165. package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
  166. package/dist/services/session/session-events/namespace.d.mts +1 -1
  167. package/dist/services/session/storage/namespace.d.mts +1 -1
  168. package/dist/services/session/storage/schema.d.mts +1 -1
  169. package/dist/services/session/testing/index.mjs +1 -1
  170. package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
  171. package/dist/services/session/turns/namespace.d.mts +1 -1
  172. package/dist/services/session-editor/index.d.mts +1 -1
  173. package/dist/services/settings/index.d.mts +3 -3
  174. package/dist/services/settings/namespace.d.mts +8 -8
  175. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  176. package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
  177. package/dist/services/settings/storage/index.d.mts +3 -3
  178. package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
  179. package/dist/services/subagent/index.d.mts +1 -1
  180. package/dist/services/subagent-template/index.d.mts +2 -2
  181. package/dist/services/subagent-template/namespace.d.mts +1 -1
  182. package/dist/services/subagent-template/schemas.d.mts +1 -1
  183. package/dist/services/tool-approval/index.d.mts +1 -1
  184. package/dist/services/tool-approval/index.mjs +1 -1
  185. package/dist/services/tools/index.d.mts +1 -1
  186. package/dist/services/tools/index.mjs +1 -1
  187. package/dist/services/tray-menu/index.d.mts +3 -3
  188. package/dist/services/tray-menu/namespace.d.mts +1 -1
  189. package/dist/services/tray-menu/schemas.d.mts +1 -1
  190. package/dist/services/turn/index.d.mts +1 -1
  191. package/dist/services/turn/namespace.d.mts +1 -1
  192. package/dist/services/workflow-transitions/index.d.mts +1 -1
  193. package/dist/services/workflow-transitions/index.mjs +1 -1
  194. package/dist/{session-CMbztxNO.mjs → session-D38UuGGX.mjs} +1 -1
  195. package/dist/{session-lineage-BuGN3RZs.d.mts → session-lineage-CmP7L5g2.d.mts} +1 -1
  196. package/dist/storage/drizzle/client.d.mts +1 -1
  197. package/dist/storage/drizzle/index.d.mts +1 -1
  198. package/dist/storage/handlers/drizzle/index.d.mts +1 -1
  199. package/dist/storage/handlers/index.d.mts +1 -1
  200. package/dist/{storage-namespace-DaCB01dg.d.mts → storage-namespace-CwwiV3kt.d.mts} +10 -10
  201. package/dist/{tool-approval-service-CRo3fZRF.mjs → tool-approval-service-vG2mEC9p.mjs} +1 -1
  202. package/dist/{tools-CKaxi3Mb.mjs → tools-ByDy0ueE.mjs} +1 -1
  203. package/dist/{transition-DMv8cgEd.d.mts → transition-CAtcgdUp.d.mts} +2 -2
  204. package/dist/{types-Dvsn8TOX.d.mts → types-BbqmHOM-.d.mts} +341 -341
  205. package/dist/{types-7L3BrU9m2.d.mts → types-DyBD5MdV2.d.mts} +1 -1
  206. package/dist/ui-kernel/index.d.mts +4 -4
  207. package/dist/ui-kernel/pages/namespace.d.mts +4 -4
  208. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  209. package/dist/{view-builder-BVIbIS_J.d.mts → view-builder-6YQFmKD6.d.mts} +2 -2
  210. package/dist/workflow-engine/execution-attempt-repository.d.mts +1 -1
  211. package/dist/workflow-engine/index.d.mts +59 -59
  212. package/dist/workflow-engine/index.mjs +1 -1
  213. package/dist/workflow-engine/package.d.mts +1 -1
  214. package/dist/workflow-engine/package.mjs +1 -1
  215. package/dist/workflow-engine/provider-operation.d.mts +1 -1
  216. package/dist/workflow-engine/testing/conformance.d.mts +1 -1
  217. package/dist/workflow-engine/testing/index.d.mts +1 -1
  218. package/dist/workflow-engine/testing/sqlite.d.mts +1 -1
  219. package/dist/{workflow-transitions-t0ORS1F5.mjs → workflow-transitions-UOXY-VZa.mjs} +1 -1
  220. package/package.json +2 -1
  221. package/dist/filesystem-service-ClZEAw7E.mjs +0 -1
  222. package/dist/native-session-supervisor-DtuN1Dgs.mjs +0 -1
  223. package/dist/{adapter-binding-CaYBrIkL.d.mts → adapter-binding-DF-j-XHg.d.mts} +0 -0
  224. package/dist/{base-orchestrator-1ofFsqUz.d.mts → base-orchestrator-FNFJ6Cwf.d.mts} +0 -0
  225. package/dist/{capability-service-CUN0MIS7.d.mts → capability-service-BHcRd1td.d.mts} +0 -0
  226. package/dist/{client-BY3sBW2L.d.mts → client-Sx_N8LXo.d.mts} +0 -0
  227. package/dist/{client-binary-version-verifier-BeO4Eptw.d.mts → client-binary-version-verifier-C8gtKQFO.d.mts} +0 -0
  228. package/dist/{clients-namespace-D92YsbKI.d.mts → clients-namespace-CASHxXUM.d.mts} +0 -0
  229. package/dist/{config-namespace-OEckUfVE.d.mts → config-namespace-CeTODseW.d.mts} +0 -0
  230. package/dist/{credential-ref-w4ZYpYW0.d.mts → credential-ref-MsnUkz9G.d.mts} +0 -0
  231. package/dist/{definition-DLJg-P4G.d.mts → definition-D2SO1tX-.d.mts} +0 -0
  232. package/dist/{execution-attempt-repository-DOb5V4N2.d.mts → execution-attempt-repository-C2XKRZ3O.d.mts} +0 -0
  233. package/dist/{extension-discovery-Rup-gANp.d.mts → extension-discovery-BqSPn73R.d.mts} +0 -0
  234. package/dist/{filesystem-service-BmavE-uO.d.mts → filesystem-service-5Ecp3nSV.d.mts} +0 -0
  235. package/dist/{index-DubyRZD9.d.mts → index-62OoZLGr.d.mts} +0 -0
  236. package/dist/{index-DEx4ZFkz.d.mts → index-BCuWtlv5.d.mts} +0 -0
  237. package/dist/{index-BneZFJ7x.d.mts → index-BEPn58tG.d.mts} +0 -0
  238. package/dist/{index-CpN2C9jq.d.mts → index-BOxMyaqG.d.mts} +0 -0
  239. package/dist/{index-fxh7TB0q.d.mts → index-BTd3fTkW.d.mts} +0 -0
  240. package/dist/{index--gbsE1W0.d.mts → index-B_Hf4XPX.d.mts} +0 -0
  241. package/dist/{index-BQYGOXY5.d.mts → index-BjrbddkU.d.mts} +0 -0
  242. package/dist/{index-D7smT-YD.d.mts → index-BleQ0SR7.d.mts} +0 -0
  243. package/dist/{index-BDcK7jqJ2.d.mts → index-Bmb7jPIe2.d.mts} +0 -0
  244. package/dist/{index-CvdvuhTL2.d.mts → index-By1UhKYU2.d.mts} +0 -0
  245. package/dist/{index-YOXWpZAS.d.mts → index-CURT4JaX.d.mts} +0 -0
  246. package/dist/{index-CCTzitBA.d.mts → index-Ce6-SiB3.d.mts} +0 -0
  247. package/dist/{index-DxkSkszz.d.mts → index-CwVSr7Ow.d.mts} +0 -0
  248. package/dist/{index-C2StVLk4.d.mts → index-DAqAa9aL.d.mts} +0 -0
  249. package/dist/{index-CsRPJ9FV.d.mts → index-DDnY7JhE.d.mts} +0 -0
  250. package/dist/{index-DTvYp2GT.d.mts → index-DMgbNdEU.d.mts} +0 -0
  251. package/dist/{index-BD1SbHpP.d.mts → index-DOui-7u2.d.mts} +0 -0
  252. package/dist/{index-BujgCaKt.d.mts → index-DsmyofuM.d.mts} +0 -0
  253. package/dist/{index-DwOpaQAE.d.mts → index-N0-r5Hcd.d.mts} +0 -0
  254. package/dist/{index-Cj_V1aRL.d.mts → index-_OD_Nz3m.d.mts} +0 -0
  255. package/dist/{index-TBJ1kIGA.d.mts → index-rik4Uc5G.d.mts} +0 -0
  256. package/dist/{index-D3peNmHN2.d.mts → index-u0EteHlR2.d.mts} +0 -0
  257. package/dist/{index-B36rL4gp.d.mts → index-w1AeWV4F.d.mts} +0 -0
  258. package/dist/{index-anIxF_eT.d.mts → index-wGlFWRXg.d.mts} +0 -0
  259. package/dist/{index-zqo2mX_Z.d.mts → index-z_wA9LhQ.d.mts} +0 -0
  260. package/dist/{json-value-Bjl8jzom.d.mts → json-value--pv1-OHx.d.mts} +0 -0
  261. package/dist/{namespace-DudchWPb.d.mts → namespace-6O0G1s65.d.mts} +0 -0
  262. package/dist/{namespace-hlhPqSsw.d.mts → namespace-CHSwZhH7.d.mts} +0 -0
  263. package/dist/{namespace-D09uQ231.d.mts → namespace-CJ5sH_Bp.d.mts} +0 -0
  264. package/dist/{namespace-DHLwz4o3.d.mts → namespace-CL9OyrHs.d.mts} +0 -0
  265. package/dist/{namespace-DHbrNQYD.d.mts → namespace-D38Fmd0E.d.mts} +0 -0
  266. package/dist/{namespace-MW-Eg_yB.d.mts → namespace-D6W4Erwp.d.mts} +0 -0
  267. package/dist/{namespace-CxEQv9iZ.d.mts → namespace-DbtfwD5Z.d.mts} +0 -0
  268. package/dist/{namespace-Dz5_Hrz7.d.mts → namespace-QV_2m25r.d.mts} +0 -0
  269. package/dist/{namespace-DyD06b5-.d.mts → namespace-Sd6qj6w22.d.mts} +0 -0
  270. package/dist/{orchestrator-shared-ChU5qRSe.d.mts → orchestrator-shared-Bvo0u-1D.d.mts} +0 -0
  271. package/dist/{packages-D2s51nGU.d.mts → packages-KX9yofCa.d.mts} +0 -0
  272. package/dist/{providers-namespace-BLVt8OyP.d.mts → providers-namespace-B-l-OQZk.d.mts} +0 -0
  273. package/dist/{runtime-inputs-BU_kBrP7.d.mts → runtime-inputs-B7nWstrY.d.mts} +0 -0
  274. package/dist/{schema-FY0EakKe.d.mts → schema-De6d0FWI.d.mts} +0 -0
  275. package/dist/{schemas-CqawCYTY.d.mts → schemas-BGTuiO3u.d.mts} +0 -0
  276. package/dist/{schemas-3KTmPuZg.d.mts → schemas-BXkSHQaF.d.mts} +0 -0
  277. package/dist/{schemas-B-5_Dp4_.d.mts → schemas-C0Fb2-LN.d.mts} +0 -0
  278. package/dist/{schemas-DiXL8NfA.d.mts → schemas-Cb9OJ9va.d.mts} +0 -0
  279. package/dist/{schemas-rMUsvzeJ.d.mts → schemas-CuOZoC08.d.mts} +8 -8
  280. /package/dist/{schemas-CBBzvIh0.d.mts → schemas-Dxfk39-v.d.mts} +0 -0
  281. /package/dist/{schemas-BegArpU_.d.mts → schemas-feb64ScA.d.mts} +0 -0
  282. /package/dist/{server-lifecycle-CTJvpdeL.d.mts → server-lifecycle-BINetU26.d.mts} +0 -0
  283. /package/dist/{src-C0sw_Vs_.mjs → src-CkKKoY0M.mjs} +0 -0
  284. /package/dist/{storage-namespace-definition-DiYr8UNl.d.mts → storage-namespace-definition-DV3IipmH.d.mts} +0 -0
  285. /package/dist/{types-DEGuc-fn.d.mts → types-B_mVEuYd.d.mts} +0 -0
  286. /package/dist/{types-CpEoQapk.d.mts → types-BrsmFcWl.d.mts} +0 -0
  287. /package/dist/{types-DciLiPMd.d.mts → types-CjoaGe_E.d.mts} +0 -0
  288. /package/dist/{types-BSx8YYlc.d.mts → types-CqVuKsLC.d.mts} +0 -0
  289. /package/dist/{types-Cuhnt15L.d.mts → types-D7WtaoMR.d.mts} +0 -0
  290. /package/dist/{window-registry-C3W2wtlX.d.mts → window-registry-1jI3f9ir.d.mts} +0 -0
@@ -1 +1 @@
1
- import{wt as e,x as t}from"./handlers-mjky_fP2.mjs";import{SessionStorageSubjects as n}from"./services/session/storage/namespace.mjs";import{E as r,I as i,J as a,N as o,U as s,a as c,b as l,c as u,d,et as ee,i as te,k as ne,n as re,nt as ie,r as ae}from"./session-CMbztxNO.mjs";import{r as f,t as oe}from"./namespace-J87EeVTm.mjs";import{_ as se,a as ce,c as le,o as ue,s as de}from"./packages-vF9F4M41.mjs";import{n as fe}from"./package-BCKYMTYG.mjs";import"./services/adapter-subsystem/index.mjs";import{i as pe,s as me}from"./model-registry-CeDu27XL.mjs";import{d as he,f as ge,n as _e}from"./package-BwlW7N32.mjs";import{t as ve}from"./tool-approval-service-CRo3fZRF.mjs";import{t as ye}from"./tray-menu-service-BRrnoqaY.mjs";import{r as p,t as be}from"./handler-Cc1MhaR4.mjs";import{r as xe}from"./package-BSz4hbav.mjs";import{t as Se}from"./filesystem-service-ClZEAw7E.mjs";import{z as m}from"zod";import{createHash as Ce}from"node:crypto";import{getErrorString as h}from"@makaio/framework/utils";import{MakaioError as we,createMakaioContext as Te}from"@makaio/framework/core";import{AdapterSubjects as Ee,ArtifactSubjects as g,CanonicalModelSubjects as De,DEFAULT_HARNESSES as Oe,HarnessDefinitionCreateSchema as ke,HarnessSubjects as _,JsonValueSchema as Ae,ReactionDescriptorSchema as je,ToolSubjects as v,TransitionRuleDefinitionSchema as Me,WorkflowBlocksSubjects as y,WorkflowSubjects as Ne,dep as b,extensionToken as x,validateToolAdapterIdentity as Pe,zodSchemaToJsonRecord as S}from"@makaio/framework/contracts";import{MakaioBus as C}from"@makaio/framework/bus";import{BaseService as w}from"@makaio/framework/service-base";import{registerDrizzleHandlers as T}from"@makaio/framework/storage/drizzle";import{slugifyProviderConfigName as E}from"@makaio/framework/contracts/config";import{ClientAccountIdentifierSchema as Fe,ClientSessionAccountObserveSchema as Ie,ClientSubjects as D}from"@makaio/framework/contracts/client";import{FacetSubjects as O}from"@makaio/framework/contracts/facet";import{FILE_ACCESS_RULES_KEY as Le,ToolErrorCodes as k,errorToToolResult as Re,toolError as A,toolSuccess as ze}from"@makaio/framework/tools";import{ConditionSchema as Be,evaluate as Ve}from"@makaio/framework/rules";import{evaluateSync as He}from"@makaio/framework/expression";import{GitService as Ue}from"@makaio/framework/git";var j=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 M(e,t){return e?!(e.kind!==void 0&&e.kind!==`*`&&e.kind!==t.kind||e.schemaVersion!==void 0&&e.schemaVersion!==t.schemaVersion):!0}function N(e){return e.priority??0}function We(e,t,n){return e.filter(e=>e.event===t&&M(e.filter,n)).sort((e,t)=>N(t)-N(e))}function Ge(e,t,n){return e.filter(e=>e.event===t&&M(e.filter,n)).sort((e,t)=>N(t)-N(e))}function Ke(e,t){return{...e,...`data`in t?{data:t.data}:{},...`relations`in t?{relations:t.relations}:{},...`evidence`in t?{evidence:t.evidence}:{},...`confidence`in t?{confidence:t.confidence}:{},...`representations`in t?{representations:t.representations}:{},...`actor`in t?{actor:t.actor}:{}}}function qe(e,t){let{evidence:n,confidence:r,representations:i,...a}=e;return{...a,data:t.data,relations:[...t.relations],...t.evidence===void 0?{}:{evidence:t.evidence},...t.confidence===void 0?{}:{confidence:t.confidence},...t.representations===void 0?{}:{representations:t.representations},actor:t.actor}}var P=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=We(this.allHooks(),e,n),o=new Map,s={kind:n.kind,schemaVersion:n.schemaVersion,scope:n.scope,data:n.data,relations:n.relations,...n.evidence===void 0?{}:{evidence:n.evidence},...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=Ke(s,e)}};if(await t.handler(a),n)throw new j(n.reason,t.id)}return{draft:qe(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,skipDefaultProjection:s,meta:c}=n,l=Ge(this.allHooks(),e,r),u=this.bus,d=!1;for(let n of l){if(s&&(n.priority??0)<0||d&&(n.priority??0)<0)continue;let l={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,bus:u,meta:c,preventDefault(){d=!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 u.request(g.resolve,{ref:e});r&&n.push(r)}}return n}};try{await n.handler(l)}catch(t){console.error(`[ArtifactLifecycleHookRegistry] Hook '${n.id}' threw during '${e}':`,t)}}}};function F(e){return structuredClone(e)}var I=class extends w{namespaces=new Map;constructor(e){super(e)}async onInit(){this.registerHandler(O.namespace.register,e=>{this.registerNamespace(e.payload),e.setResult({registered:!0})}),this.registerHandler(O.namespace.list,e=>{let{namespace:t}=e.payload,n=[...this.namespaces.values()].filter(e=>!t||e.namespace===t).map(F);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,F(e)),this.bus.emit(O.namespace.changed,{namespace:e.namespace})}deregisterNamespace(e){this.namespaces.delete(e)&&this.bus.emit(O.namespace.changed,{namespace:e})}getNamespace(e){let t=this.namespaces.get(e);return t?F(t):void 0}onDestroy(){this.namespaces.clear()}},L=class extends we{code;suggestions;constructor(e,t,n){super(e),this.code=t,this.suggestions=n}},R=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 L(`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 L(`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 L(`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 L(`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 L(`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 L(`"${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 L(`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 L(`"${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 L(`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 L(`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]}},z=class e extends w{constructor(e=C){super(e)}async onInit(){await this.bus.request(f.ensureReady,{});let e=new R(this.createDeps());this.registerHandler(De.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(f.listAdapters,{});return t.filter(e=>e.enabled).map(e=>e.name)},n=async t=>{let[n,r]=await Promise.all([e.request(f.getDefaultBinding,{adapterName:t}),this.listEnabledProviderConfigIds()]);if(n.binding&&r.has(n.binding.providerConfigId))return n.binding;let{bindings:i}=await e.request(f.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(f.getProviderDefinitionsByAdapter,{adapterName:t});return n},i=async t=>{let{bindings:n}=await e.request(f.listBindingsByConfig,{providerConfigId:t});return n},a=async t=>{let{configs:n}=await e.request(f.listProviderConfigs,{enabled:!0}),r=E(t);return n.find(e=>E(e.name)===r)},o=this.buildFindProviderDefinition(t,r),s=async t=>{let{configs:n}=await e.request(f.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(f.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(me.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(f.listProviderConfigs,{enabled:!0});return new Set(e.map(e=>e.id))}};const B={name:`makaio.canonical-model`,displayName:`Canonical Model`,version:`0.1.0`,dependencies:[b(oe)],critical:!1,create:e=>new z(e.bus)};var V=class extends w{definitionsByExtension=new Map;definitionsByKind=new Map;constructor(e){super(e)}onInit(){}onDestroy(){this.definitionsByExtension.clear(),this.definitionsByKind.clear()}register(e,t){let n=this.validateBatch(e,t),r=new Map(this.definitionsByExtension);n.length===0?r.delete(e):r.set(e,n);let i=new Map;for(let e of r.values())for(let t of e)i.set(t.descriptor.kind,t);this.definitionsByExtension=r,this.definitionsByKind=i}deregister(e){this.definitionsByExtension.has(e)&&this.register(e,[])}listDescriptors(){return Array.from(this.definitionsByKind.values(),({descriptor:e})=>structuredClone(e))}async invoke(e,t,n){let r=crypto.randomUUID(),i=this.definitionsByKind.get(e);if(!i)return this.failure(e,r,n.correlationId,`Reaction kind '${e}' is not registered`);if(n.hostSignal?.aborted)return this.failure(e,r,n.correlationId,`Reaction '${e}' host signal already aborted`);let a=Ye(n.deadlineEpochMs);if(a!==void 0&&a<=Date.now())return this.failure(e,r,n.correlationId,`Reaction '${e}' deadline already passed`);let o=Xe(n.hostSignal,a),s=Ze(r,o.controller.signal,n);try{let n;try{n=await i.parameterSchema.safeParseAsync(t)}catch(t){return this.failure(e,r,s.correlationId,`Parameter validation for Reaction '${e}' threw: ${h(t)}`,t)}return n.success?(a!==void 0&&H(o.controller,a),o.controller.signal.aborted?this.failure(e,r,s.correlationId,`Reaction '${e}' cancelled before handler entry: ${h(o.controller.signal.reason)}`,o.controller.signal.reason):(await i.handler(n.data,s),{success:!0})):this.failure(e,r,s.correlationId,`Invalid parameters for Reaction '${e}': ${n.error.message}`)}catch(t){return this.logFailure(e,r,s.correlationId,`Reaction '${e}' handler threw`,t),{success:!1,error:{message:h(t)}}}finally{o.release()}}failure(e,t,n,r,i){return this.logFailure(e,t,n,r,i),{success:!1,error:{message:r}}}logFailure(e,t,n,r,i){let a=n===void 0?``:` (correlationId: ${n})`;console.error(`[ReactionRegistry] Reaction '${e}' invocation '${t}' failed${a}: ${r}`,...i===void 0?[]:[i])}validateBatch(e,t){let n=`${e}.`,r=new Set,i=new Set(this.definitionsByExtension.get(e)?.map(e=>e.descriptor.kind)),a=[];for(let o of t){if(!o.kind.startsWith(n)||o.kind.length===n.length)throw Error(`Reaction '${o.kind}' must be namespaced by extension '${n}'`);if(r.has(o.kind))throw Error(`Reaction kind collision: '${o.kind}' appears twice in batch from '${e}'`);if(this.definitionsByKind.has(o.kind)&&!i.has(o.kind))throw Error(`Reaction kind collision: '${o.kind}' is already registered`);r.add(o.kind);let t=je.parse(o.toDescriptor());if(t.kind!==o.kind)throw Error(`Reaction descriptor kind '${t.kind}' does not match definition kind '${o.kind}'`);a.push({parameterSchema:o.parameterSchema,handler:o.handler,descriptor:t})}return a}};const Je=()=>{};function Ye(e){return e!==void 0&&Number.isFinite(e)?e:void 0}function Xe(e,t){let n=new AbortController;if(e===void 0&&t===void 0)return{controller:n,release:Je};let r=[];if(e){let t=()=>{n.abort(e.reason)};e.addEventListener(`abort`,t,{once:!0}),r.push(()=>{e.removeEventListener(`abort`,t)})}if(t!==void 0){let e,i=()=>{if(H(n,t)){e=void 0;return}let r=t-Date.now();e=setTimeout(i,Math.min(r,2147483647)),e.unref?.()};i(),r.push(()=>{clearTimeout(e)})}return{controller:n,release:()=>{for(let e of r)e()}}}function H(e,t){return t>Date.now()?!1:(e.abort(Error(`Reaction invocation deadline reached (deadlineEpochMs: ${t})`)),!0)}function Ze(e,t,n){return Object.freeze({invocationId:e,ruleRef:n.ruleRef,eventKind:n.eventKind,eventPayload:n.eventPayload,hostContext:n.hostContext,correlationId:n.correlationId,signal:t,deadlineEpochMs:n.deadlineEpochMs})}const U=x(`reaction-registry`),W={name:U.name,displayName:`Reaction Registry`,version:`0.1.0`,critical:!0,create:e=>new V(e.bus)};function Qe(e){let t=Pe({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):ze(t.effectiveIdentity)}function $e(e){let t=e?.allowedDirectories;if(Array.isArray(t))return t.filter(e=>typeof e==`string`)}async function et(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 tt(){return`exec_${Date.now()}_${Math.random().toString(36).substring(2,9)}`}var G=class{bus;toolsets=new Map;tools=new Map;cleanupHandlers=[];handlerPriority;policyProvider;fileAccessRuleProvider;revision=0;constructor(e){this.bus=e?.bus??C,this.handlerPriority=e?.handlerPriority??0,this.policyProvider=e?.policyProvider,this.fileAccessRuleProvider=e?.fileAccessRuleProvider,this.registerHandlers()}registerHandlers(){let e=this.bus.on(v.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(v.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 ${v.registryChanged.subject} for '${e.metadata.name}':`,t)),await this.bus.emit(v.registered,{toolsetName:e.metadata.name,toolsetVersion:e.metadata.version,toolNames:t}).catch(t=>console.warn(`[ToolRegistry] Failed to emit ${v.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 ${v.registryChanged.subject} for '${e}':`,t))}async emitRegistryChanged(e,t){this.revision+=1,await this.bus.emit(v.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=Qe(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=tt(),l=Date.now();await this.bus.emit(v.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(v.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(v.completed,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),durationMs:Date.now()-l}):await this.bus.emit(v.error,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),error:u.error}),u}catch(t){let n=Re(t);return await this.bus.emit(v.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=$e(n),i=await this.fileAccessRuleProvider(t,r);n={...n,[Le]:i}}let r=Te({...e?.contextOverrides,constraints:n}),i=e?.contextOverrides;return{...r,bus:this.bus,sessionId:i?.sessionId,agentId:i?.agentId,adapterId:t.adapterId,adapterName:t.adapterName,adapterSessionId:i?.adapterSessionId,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}=m.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}=m.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 et(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()}},nt=class extends w{stepsByExtension=new Map;revision=0;cache=null;constructor(e){super(e)}onInit(){this.registerHandler(y.list,e=>{e.setResult({steps:this.listSteps()})})}async register(e,t){let n=[],r=this.snapshotExtensionState(e),i=new Set;for(let e of this.stepsByExtension.values())for(let t of e)i.add(t.metadata.name);for(let r of t.steps??[])this.assertExtensionNamespace(e,r.metadata),this.assertNoCollision(r.metadata,i),i.add(r.metadata.name),n.push({metadata:{...r.metadata,extensionName:e},configSchema:S(r.configSchema),inputSchema:S(r.inputSchema),outputSchema:S(r.outputSchema),runs:structuredClone(r.runs)});if(n.length!==0){this.stepsByExtension.set(e,n),this.revision+=1;try{await this.emitChanged(e,`registered`)}catch(t){throw this.restoreExtensionState(e,r),t}}}async deregister(e){let t=this.snapshotExtensionState(e);if(this.stepsByExtension.delete(e)){this.revision+=1;try{await this.emitChanged(e,`deregistered`)}catch(n){throw this.restoreExtensionState(e,t),n}}}listSteps(){return this.getCache().steps.map(rt)}async emitChanged(e,t){await this.bus.emit(y.changed,{extensionName:e,revision:this.revision,reason:t})}getCache(){return(!this.cache||this.cache.revision!==this.revision)&&(this.cache={revision:this.revision,steps:[...this.stepsByExtension.values()].flat()}),this.cache}snapshotExtensionState(e){return{steps:this.stepsByExtension.get(e),revision:this.revision,cache:this.cache}}restoreExtensionState(e,t){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 rt(e){return{metadata:it(e.metadata),configSchema:structuredClone(e.configSchema),inputSchema:structuredClone(e.inputSchema),outputSchema:structuredClone(e.outputSchema),runs:structuredClone(e.runs)}}function it(e){return e.categories?{...e,categories:[...e.categories]}:{...e}}const K=`workflow.start`;function at(e){return()=>({async execute(t,n){let{input:r={}}=t,{workflowId:i}=r;if(typeof i!=`string`||i.length===0)throw Error(`[TransitionActionRegistry] 'workflow.start' action requires a non-empty 'input.workflowId' string`);await e.request(Ne.start,{workflowId:i,input:ot(r,n),config:r.config,artifactRef:r.artifactRef,scope:r.scope,triggerPayload:{_transitionRuleId:n._transition.ruleId,_transitionDepth:n._transition.depth,_transitionEventType:n._transition.eventType}})}})}function ot(e,t){let n=e.inputExpression;if(typeof n!=`string`)return e.input;let r=He(n,st(t)),i=Ae.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 st(e){let t={...e};return{...t,ctx:t}}var ct=class{factories=new Map;factoriesBySource=new Map;constructor(e){this.factories.set(K,at(e)),this.factoriesBySource.set(`__builtin__`,[K])}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()]}},lt=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=Me.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:Be.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)}}},ut=class extends w{ruleRegistry;actionRegistry;depthMap=new Map;constructor(e){super(e),this.ruleRegistry=new lt,this.actionRegistry=new ct(e)}onInit(){this.registerHandler(g.created,async e=>{await this.handleArtifactEvent(`artifact.created`,{artifact:e.payload.artifact})}),this.registerHandler(g.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(g.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(g.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(g.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=Ve(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 dt(e){return async t=>{let n=await ft(e,t);if(!n)return{handled:!1,sessionId:null,clientAccountId:null,changed:!1};let{sessionId:r}=n,{observation:i,accountObserveRequest:a}=pt(t),o=await e.requestOptional(D.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 bt(e,r,i,s)}}}async function ft(e,t){switch(t.locator.kind){case`session`:{let{session:r}=await e.request(n.get,{sessionId:t.locator.sessionId});return r?{sessionId:r.sessionId,session:r}:null}case`adapter-session`:{let{session:r}=await e.request(n.getByAdapterSessionId,{adapterSessionId:t.locator.adapterSessionId});return r?{sessionId:r.sessionId,session:r}:null}case`both`:{let[{session:r},{session:i}]=await Promise.all([e.request(n.get,{sessionId:t.locator.sessionId}),e.request(n.getByAdapterSessionId,{adapterSessionId:t.locator.adapterSessionId})]);if(!r&&!i)return null;if(!r||!i)throw Error(`Session locator mismatch: sessionId "${t.locator.sessionId}" and adapterSessionId "${t.locator.adapterSessionId}" must both resolve the same session`);if(r.sessionId!==i.sessionId)throw Error(`Session locator mismatch: sessionId "${t.locator.sessionId}" and adapterSessionId "${t.locator.adapterSessionId}" resolve to different sessions`);return{sessionId:r.sessionId,session:r}}}}function pt(e){let t={clientId:e.clientId,source:e.source,kind:e.kind,observedAt:e.observedAt,payload:vt(e.payload)};return{observation:t,accountObserveRequest:mt(t)}}function mt(e){let t=e.payload,n=ht(t),r=gt(t);if(r.length>0)return{clientId:e.clientId,observedAt:e.observedAt,displayLabel:_t(t,n),identifiers:r};throw Error(`client.session.account.observe for "${e.clientId}" requires canonical client account identifiers`)}function ht(e){return yt(e.accountInfo)??e}function gt(e){let t=e.identifiers;if(!Array.isArray(t))return[];try{return m.array(Fe).min(1).parse(t)}catch(e){throw Error(`client.session.account.observe received malformed canonical client account identifiers`,{cause:e})}}function _t(e,t){return q(e.displayLabel)??q(t.displayLabel)??q(t.email)??q(t.label)}function vt(e){return structuredClone(e)}function yt(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function q(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}async function bt(e,t,r,i){let a=await e.request(n.update,{sessionId:t,clientId:r.clientId,clientAccountId:i,lastClientIdentityObservation:r});if(!a.success)throw Error(`Failed to update session "${t}" with client account linkage`);return a.clientAccountChanged??!1}const xt=x(`session-storage`).name;var St=class extends w{constructor(e=C){super(e)}onInit(){let e=dt(this.bus);this.registerHandler(D.session.account.observe,async t=>{t.setResult(await e(Ie.request.parse(t.payload)))})}};const Ct={name:`makaio.session-client-account-linking`,displayName:`Session Client Account Linking`,version:`0.1.0`,dependencies:[b(xt),b(`makaio.clients-core`)],critical:!1,create:e=>new St(e.bus)},wt={name:`framework-shell`,displayName:`Shell`,version:`0.1.0`,surface:`interactive`,windows:[{id:`main`,style:`utility`,width:1e3,height:700,singleton:!0}]};async function Tt(e){let{harnesses:t}=await e.request(p.list,{}),n=new Set(t.map(e=>e.id));for(let t of Oe){if(n.has(t.id))continue;let r={...t};await e.request(p.set,{harness:r})}}function J(e,t,n){return e??t??n}var Et=class extends w{static storage={drizzle:be};constructor(e=C){super(e)}async onInit(){await Tt(this.bus),this.registerHandlers()}registerHandlers(){this.registerHandler(_.get,async e=>{let t=await this.loadHarness(e.payload);if(!t)throw Error(`Harness not found`);e.setResult(t)}),this.registerHandler(_.list,async e=>{let{harnesses:t}=await this.bus.request(p.list,e.payload);e.setResult({harnesses:t})}),this.registerHandler(_.set,async e=>{let t=await this.upsertHarness(e.payload);e.setResult({id:t})}),this.registerHandler(_.delete,async e=>{let{deleted:t}=await this.bus.request(p.delete,{id:e.payload.id});e.setResult({success:t})}),this.registerHandler(_.getDefault,async e=>{let t=await this.getDefaultHarness(e.payload.adapterName,e.payload.clientId);e.setResult(t)}),this.registerHandler(_.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(_.getSchema,({setResult:e})=>{let{$schema:t,...n}=m.toJSONSchema(ke);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(p.set,{harness:r}),t}mergeHarnessPayload(e,t,n){let r={enabled:[],disabled:[]};return{id:e,name:t.name,description:J(t.description,n?.description,void 0),adapterName:t.adapterName,clientId:J(t.clientId,n?.clientId,void 0),env:J(t.env,n?.env,void 0),credentials:J(t.credentials,n?.credentials,void 0),cwd:J(t.cwd,n?.cwd,void 0),approvalPolicy:J(t.approvalPolicy,n?.approvalPolicy,`always-ask`),nativeTools:J(t.nativeTools,n?.nativeTools,r),registryTools:J(t.registryTools,n?.registryTools,r),skills:J(t.skills,n?.skills,void 0),toolCapabilityMap:t.toolCapabilityMap??n?.toolCapabilityMap,capabilityOverrides:t.capabilityOverrides??n?.capabilityOverrides,toolApprovalOverrides:t.toolApprovalOverrides??n?.toolApprovalOverrides,isDefault:J(t.isDefault,n?.isDefault,!1),enabled:J(t.enabled,n?.enabled,!0)}}async resolveHarnessId(e,t,n){let r=n??t,{harnesses:i}=await this.bus.request(p.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(p.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(p.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(p.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(p.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(Ee.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-${Ce(`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 Dt={name:`makaio.harness`,displayName:`Harness`,version:`0.1.0`,critical:!0,storage:{registerHandlers:T(be)},create:e=>new Et(e.bus)},Y=x(`session-storage`),X=x(`session-bridge`),Z=x(`session`),Ot=x(`session-orchestrator`),kt=x(`observed-session-ingestion`),Q=x(`tool-registry`),At=x(`tool-approval`),jt=x(`tray-menu`),Mt=x(`model-registry`),Nt=x(`workflow-block-registry`),Pt=x(`transition-pipeline`),Ft=x(`filesystem`),It=x(`git`),Lt=x(`artifact-lifecycle-hook-registry`),Rt=x(`facet-namespace-registry`),zt={name:Lt.name,displayName:`Artifact Lifecycle Hook Registry`,version:`0.1.0`,critical:!0,create:e=>new P(e.bus)},Bt={name:Rt.name,displayName:`Facet Namespace Registry`,version:`0.1.0`,critical:!0,create:e=>new I(e.bus)},$={name:Y.name,displayName:`Session Storage`,version:`0.1.0`,critical:!0,storage:{registerHandlers:T((n,i)=>{let s=[],d=e=>{for(let t=s.length-1;t>=0;--t)try{s[t]?.()}catch(t){console.warn(`[sessionStoragePackage] cleanup failed during ${e}:`,t)}s.length=0};try{s.push(ne(n,i)),s.push(e(n,i)),s.push(ee(n,i)),s.push(a(n,i)),s.push(t(n,i)),s.push(o(n,i)),s.push(r(n,i)),s.push(u(n,i)),s.push(l(n,i)),s.push(c(n,i)),s.push(te(n)),s.push(ae(n)),s.push(re(n))}catch(e){throw d(`rollback`),e}return()=>{d(`shutdown`)}})}},Vt={name:X.name,displayName:`Session Bridge`,version:`0.1.0`,dependencies:[b(Y.name)],critical:!0,create:e=>new i(e.bus)},Ht={name:Z.name,displayName:`Session`,version:`0.1.0`,dependencies:[b(X.name)],critical:!0,create:e=>new ie(e.bus,{machineId:e.machineId,topology:`shared-machine`})},Ut={name:Ot.name,displayName:`Session Orchestrator`,version:`0.1.0`,dependencies:[b(Z.name),b(B.name)],critical:!0,runtimeOwnership:{sessionOrchestrator:!0},create:e=>new s(e.bus,e.machineId)},Wt={name:kt.name,displayName:`Observed-Session Ingestion`,version:`0.1.0`,dependencies:[b(X.name)],critical:!1,create:e=>new d(e.bus)},Gt={name:Q.name,displayName:`Tool Registry`,version:`0.1.0`,critical:!0,create:e=>new G({bus:e.bus})},Kt={name:At.name,displayName:`Tool Approval`,version:`0.1.0`,dependencies:[b(Q.name)],critical:!0,create:e=>new ve(e.bus)},qt={name:jt.name,displayName:`Tray Menu`,version:`0.1.0`,critical:!0,create:e=>new ye(e.bus)},Jt={name:Nt.name,displayName:`Workflow Block Registry`,version:`0.1.0`,critical:!0,create:e=>new nt(e.bus)},Yt={name:Pt.name,displayName:`Transition Pipeline`,version:`0.1.0`,critical:!0,create:e=>new ut(e.bus)},Xt={name:Ft.name,displayName:`Filesystem`,version:`0.1.0`,critical:!0,create:e=>new Se(e.bus,e.machineId)},Zt={name:It.name,displayName:`Git`,version:`0.1.0`,dependencies:[b(Ft.name)],critical:!0,create:e=>new Ue(e.bus)};function Qt(e){return{name:Mt.name,displayName:`Model Registry`,version:`0.1.0`,critical:!0,create:t=>new pe({bus:t.bus,fetcher:e})}}const $t=[se,zt,Bt,le,de,ce,ue,$,Vt,Ct,Ht,Ut,Wt,xe,Gt,Kt,qt,fe,Dt,B,wt,Jt,W,ge,he,_e,Yt,Zt,Xt];export{nt as A,P as B,Yt as C,lt as D,ut as E,B as F,z as I,R as L,U as M,W as N,ct as O,V as P,L as R,Gt as S,Jt as T,j as V,Vt as _,Ot as a,$ as b,At as c,jt as d,Nt as f,$t as g,Bt as h,X as i,G as j,K as k,Q as l,Qt as m,Rt as n,Y as o,zt as p,Mt as r,Z as s,Lt as t,Pt as u,Ut as v,qt as w,Kt as x,Ht as y,I as z};
1
+ import{wt as e,x as t}from"./handlers-mjky_fP2.mjs";import{SessionStorageSubjects as n}from"./services/session/storage/namespace.mjs";import{E as r,I as i,J as a,N as o,U as s,a as c,b as l,c as u,d,et as ee,i as te,k as ne,n as re,nt as ie,r as ae}from"./session-D38UuGGX.mjs";import{r as f,t as oe}from"./namespace-J87EeVTm.mjs";import{_ as se,a as ce,c as le,o as ue,s as de}from"./packages-vF9F4M41.mjs";import{n as fe}from"./package-BCKYMTYG.mjs";import"./services/adapter-subsystem/index.mjs";import{i as pe,s as me}from"./model-registry-CeDu27XL.mjs";import{d as he,f as ge,n as _e}from"./package-BwlW7N32.mjs";import{t as ve}from"./tool-approval-service-vG2mEC9p.mjs";import{t as ye}from"./tray-menu-service-BRrnoqaY.mjs";import{r as p,t as be}from"./handler-Cc1MhaR4.mjs";import{r as xe}from"./package-BSz4hbav.mjs";import{t as Se}from"./filesystem-service-CIaAqTRi.mjs";import{z as m}from"zod";import{createHash as Ce}from"node:crypto";import{getErrorString as h}from"@makaio/framework/utils";import{MakaioError as we,createMakaioContext as Te}from"@makaio/framework/core";import{AdapterSubjects as Ee,ArtifactSubjects as g,CanonicalModelSubjects as De,DEFAULT_HARNESSES as Oe,HarnessDefinitionCreateSchema as ke,HarnessSubjects as _,JsonValueSchema as Ae,ReactionDescriptorSchema as je,ToolSubjects as v,TransitionRuleDefinitionSchema as Me,WorkflowBlocksSubjects as y,WorkflowSubjects as Ne,dep as b,extensionToken as x,validateToolAdapterIdentity as Pe,zodSchemaToJsonRecord as S}from"@makaio/framework/contracts";import{MakaioBus as C}from"@makaio/framework/bus";import{BaseService as w}from"@makaio/framework/service-base";import{registerDrizzleHandlers as T}from"@makaio/framework/storage/drizzle";import{slugifyProviderConfigName as E}from"@makaio/framework/contracts/config";import{ClientAccountIdentifierSchema as Fe,ClientSessionAccountObserveSchema as Ie,ClientSubjects as D}from"@makaio/framework/contracts/client";import{FacetSubjects as O}from"@makaio/framework/contracts/facet";import{FILE_ACCESS_RULES_KEY as Le,ToolErrorCodes as k,errorToToolResult as Re,toolError as A,toolSuccess as ze}from"@makaio/framework/tools";import{ConditionSchema as Be,evaluate as Ve}from"@makaio/framework/rules";import{evaluateSync as He}from"@makaio/framework/expression";import{GitService as Ue}from"@makaio/framework/git";var j=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 M(e,t){return e?!(e.kind!==void 0&&e.kind!==`*`&&e.kind!==t.kind||e.schemaVersion!==void 0&&e.schemaVersion!==t.schemaVersion):!0}function N(e){return e.priority??0}function We(e,t,n){return e.filter(e=>e.event===t&&M(e.filter,n)).sort((e,t)=>N(t)-N(e))}function Ge(e,t,n){return e.filter(e=>e.event===t&&M(e.filter,n)).sort((e,t)=>N(t)-N(e))}function Ke(e,t){return{...e,...`data`in t?{data:t.data}:{},...`relations`in t?{relations:t.relations}:{},...`evidence`in t?{evidence:t.evidence}:{},...`confidence`in t?{confidence:t.confidence}:{},...`representations`in t?{representations:t.representations}:{},...`actor`in t?{actor:t.actor}:{}}}function qe(e,t){let{evidence:n,confidence:r,representations:i,...a}=e;return{...a,data:t.data,relations:[...t.relations],...t.evidence===void 0?{}:{evidence:t.evidence},...t.confidence===void 0?{}:{confidence:t.confidence},...t.representations===void 0?{}:{representations:t.representations},actor:t.actor}}var P=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=We(this.allHooks(),e,n),o=new Map,s={kind:n.kind,schemaVersion:n.schemaVersion,scope:n.scope,data:n.data,relations:n.relations,...n.evidence===void 0?{}:{evidence:n.evidence},...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=Ke(s,e)}};if(await t.handler(a),n)throw new j(n.reason,t.id)}return{draft:qe(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,skipDefaultProjection:s,meta:c}=n,l=Ge(this.allHooks(),e,r),u=this.bus,d=!1;for(let n of l){if(s&&(n.priority??0)<0||d&&(n.priority??0)<0)continue;let l={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,bus:u,meta:c,preventDefault(){d=!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 u.request(g.resolve,{ref:e});r&&n.push(r)}}return n}};try{await n.handler(l)}catch(t){console.error(`[ArtifactLifecycleHookRegistry] Hook '${n.id}' threw during '${e}':`,t)}}}};function F(e){return structuredClone(e)}var I=class extends w{namespaces=new Map;constructor(e){super(e)}async onInit(){this.registerHandler(O.namespace.register,e=>{this.registerNamespace(e.payload),e.setResult({registered:!0})}),this.registerHandler(O.namespace.list,e=>{let{namespace:t}=e.payload,n=[...this.namespaces.values()].filter(e=>!t||e.namespace===t).map(F);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,F(e)),this.bus.emit(O.namespace.changed,{namespace:e.namespace})}deregisterNamespace(e){this.namespaces.delete(e)&&this.bus.emit(O.namespace.changed,{namespace:e})}getNamespace(e){let t=this.namespaces.get(e);return t?F(t):void 0}onDestroy(){this.namespaces.clear()}},L=class extends we{code;suggestions;constructor(e,t,n){super(e),this.code=t,this.suggestions=n}},R=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 L(`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 L(`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 L(`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 L(`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 L(`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 L(`"${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 L(`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 L(`"${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 L(`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 L(`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]}},z=class e extends w{constructor(e=C){super(e)}async onInit(){await this.bus.request(f.ensureReady,{});let e=new R(this.createDeps());this.registerHandler(De.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(f.listAdapters,{});return t.filter(e=>e.enabled).map(e=>e.name)},n=async t=>{let[n,r]=await Promise.all([e.request(f.getDefaultBinding,{adapterName:t}),this.listEnabledProviderConfigIds()]);if(n.binding&&r.has(n.binding.providerConfigId))return n.binding;let{bindings:i}=await e.request(f.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(f.getProviderDefinitionsByAdapter,{adapterName:t});return n},i=async t=>{let{bindings:n}=await e.request(f.listBindingsByConfig,{providerConfigId:t});return n},a=async t=>{let{configs:n}=await e.request(f.listProviderConfigs,{enabled:!0}),r=E(t);return n.find(e=>E(e.name)===r)},o=this.buildFindProviderDefinition(t,r),s=async t=>{let{configs:n}=await e.request(f.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(f.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(me.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(f.listProviderConfigs,{enabled:!0});return new Set(e.map(e=>e.id))}};const B={name:`makaio.canonical-model`,displayName:`Canonical Model`,version:`0.1.0`,dependencies:[b(oe)],critical:!1,create:e=>new z(e.bus)};var V=class extends w{definitionsByExtension=new Map;definitionsByKind=new Map;constructor(e){super(e)}onInit(){}onDestroy(){this.definitionsByExtension.clear(),this.definitionsByKind.clear()}register(e,t){let n=this.validateBatch(e,t),r=new Map(this.definitionsByExtension);n.length===0?r.delete(e):r.set(e,n);let i=new Map;for(let e of r.values())for(let t of e)i.set(t.descriptor.kind,t);this.definitionsByExtension=r,this.definitionsByKind=i}deregister(e){this.definitionsByExtension.has(e)&&this.register(e,[])}listDescriptors(){return Array.from(this.definitionsByKind.values(),({descriptor:e})=>structuredClone(e))}async invoke(e,t,n){let r=crypto.randomUUID(),i=this.definitionsByKind.get(e);if(!i)return this.failure(e,r,n.correlationId,`Reaction kind '${e}' is not registered`);if(n.hostSignal?.aborted)return this.failure(e,r,n.correlationId,`Reaction '${e}' host signal already aborted`);let a=Ye(n.deadlineEpochMs);if(a!==void 0&&a<=Date.now())return this.failure(e,r,n.correlationId,`Reaction '${e}' deadline already passed`);let o=Xe(n.hostSignal,a),s=Ze(r,o.controller.signal,n);try{let n;try{n=await i.parameterSchema.safeParseAsync(t)}catch(t){return this.failure(e,r,s.correlationId,`Parameter validation for Reaction '${e}' threw: ${h(t)}`,t)}return n.success?(a!==void 0&&H(o.controller,a),o.controller.signal.aborted?this.failure(e,r,s.correlationId,`Reaction '${e}' cancelled before handler entry: ${h(o.controller.signal.reason)}`,o.controller.signal.reason):(await i.handler(n.data,s),{success:!0})):this.failure(e,r,s.correlationId,`Invalid parameters for Reaction '${e}': ${n.error.message}`)}catch(t){return this.logFailure(e,r,s.correlationId,`Reaction '${e}' handler threw`,t),{success:!1,error:{message:h(t)}}}finally{o.release()}}failure(e,t,n,r,i){return this.logFailure(e,t,n,r,i),{success:!1,error:{message:r}}}logFailure(e,t,n,r,i){let a=n===void 0?``:` (correlationId: ${n})`;console.error(`[ReactionRegistry] Reaction '${e}' invocation '${t}' failed${a}: ${r}`,...i===void 0?[]:[i])}validateBatch(e,t){let n=`${e}.`,r=new Set,i=new Set(this.definitionsByExtension.get(e)?.map(e=>e.descriptor.kind)),a=[];for(let o of t){if(!o.kind.startsWith(n)||o.kind.length===n.length)throw Error(`Reaction '${o.kind}' must be namespaced by extension '${n}'`);if(r.has(o.kind))throw Error(`Reaction kind collision: '${o.kind}' appears twice in batch from '${e}'`);if(this.definitionsByKind.has(o.kind)&&!i.has(o.kind))throw Error(`Reaction kind collision: '${o.kind}' is already registered`);r.add(o.kind);let t=je.parse(o.toDescriptor());if(t.kind!==o.kind)throw Error(`Reaction descriptor kind '${t.kind}' does not match definition kind '${o.kind}'`);a.push({parameterSchema:o.parameterSchema,handler:o.handler,descriptor:t})}return a}};const Je=()=>{};function Ye(e){return e!==void 0&&Number.isFinite(e)?e:void 0}function Xe(e,t){let n=new AbortController;if(e===void 0&&t===void 0)return{controller:n,release:Je};let r=[];if(e){let t=()=>{n.abort(e.reason)};e.addEventListener(`abort`,t,{once:!0}),r.push(()=>{e.removeEventListener(`abort`,t)})}if(t!==void 0){let e,i=()=>{if(H(n,t)){e=void 0;return}let r=t-Date.now();e=setTimeout(i,Math.min(r,2147483647)),e.unref?.()};i(),r.push(()=>{clearTimeout(e)})}return{controller:n,release:()=>{for(let e of r)e()}}}function H(e,t){return t>Date.now()?!1:(e.abort(Error(`Reaction invocation deadline reached (deadlineEpochMs: ${t})`)),!0)}function Ze(e,t,n){return Object.freeze({invocationId:e,ruleRef:n.ruleRef,eventKind:n.eventKind,eventPayload:n.eventPayload,hostContext:n.hostContext,correlationId:n.correlationId,signal:t,deadlineEpochMs:n.deadlineEpochMs})}const U=x(`reaction-registry`),W={name:U.name,displayName:`Reaction Registry`,version:`0.1.0`,critical:!0,create:e=>new V(e.bus)};function Qe(e){let t=Pe({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):ze(t.effectiveIdentity)}function $e(e){let t=e?.allowedDirectories;if(Array.isArray(t))return t.filter(e=>typeof e==`string`)}async function et(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 tt(){return`exec_${Date.now()}_${Math.random().toString(36).substring(2,9)}`}var G=class{bus;toolsets=new Map;tools=new Map;cleanupHandlers=[];handlerPriority;policyProvider;fileAccessRuleProvider;revision=0;constructor(e){this.bus=e?.bus??C,this.handlerPriority=e?.handlerPriority??0,this.policyProvider=e?.policyProvider,this.fileAccessRuleProvider=e?.fileAccessRuleProvider,this.registerHandlers()}registerHandlers(){let e=this.bus.on(v.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(v.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 ${v.registryChanged.subject} for '${e.metadata.name}':`,t)),await this.bus.emit(v.registered,{toolsetName:e.metadata.name,toolsetVersion:e.metadata.version,toolNames:t}).catch(t=>console.warn(`[ToolRegistry] Failed to emit ${v.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 ${v.registryChanged.subject} for '${e}':`,t))}async emitRegistryChanged(e,t){this.revision+=1,await this.bus.emit(v.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=Qe(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=tt(),l=Date.now();await this.bus.emit(v.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(v.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(v.completed,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),durationMs:Date.now()-l}):await this.bus.emit(v.error,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),error:u.error}),u}catch(t){let n=Re(t);return await this.bus.emit(v.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=$e(n),i=await this.fileAccessRuleProvider(t,r);n={...n,[Le]:i}}let r=Te({...e?.contextOverrides,constraints:n}),i=e?.contextOverrides;return{...r,bus:this.bus,sessionId:i?.sessionId,agentId:i?.agentId,adapterId:t.adapterId,adapterName:t.adapterName,adapterSessionId:i?.adapterSessionId,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}=m.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}=m.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 et(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()}},nt=class extends w{stepsByExtension=new Map;revision=0;cache=null;constructor(e){super(e)}onInit(){this.registerHandler(y.list,e=>{e.setResult({steps:this.listSteps()})})}async register(e,t){let n=[],r=this.snapshotExtensionState(e),i=new Set;for(let e of this.stepsByExtension.values())for(let t of e)i.add(t.metadata.name);for(let r of t.steps??[])this.assertExtensionNamespace(e,r.metadata),this.assertNoCollision(r.metadata,i),i.add(r.metadata.name),n.push({metadata:{...r.metadata,extensionName:e},configSchema:S(r.configSchema),inputSchema:S(r.inputSchema),outputSchema:S(r.outputSchema),runs:structuredClone(r.runs)});if(n.length!==0){this.stepsByExtension.set(e,n),this.revision+=1;try{await this.emitChanged(e,`registered`)}catch(t){throw this.restoreExtensionState(e,r),t}}}async deregister(e){let t=this.snapshotExtensionState(e);if(this.stepsByExtension.delete(e)){this.revision+=1;try{await this.emitChanged(e,`deregistered`)}catch(n){throw this.restoreExtensionState(e,t),n}}}listSteps(){return this.getCache().steps.map(rt)}async emitChanged(e,t){await this.bus.emit(y.changed,{extensionName:e,revision:this.revision,reason:t})}getCache(){return(!this.cache||this.cache.revision!==this.revision)&&(this.cache={revision:this.revision,steps:[...this.stepsByExtension.values()].flat()}),this.cache}snapshotExtensionState(e){return{steps:this.stepsByExtension.get(e),revision:this.revision,cache:this.cache}}restoreExtensionState(e,t){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 rt(e){return{metadata:it(e.metadata),configSchema:structuredClone(e.configSchema),inputSchema:structuredClone(e.inputSchema),outputSchema:structuredClone(e.outputSchema),runs:structuredClone(e.runs)}}function it(e){return e.categories?{...e,categories:[...e.categories]}:{...e}}const K=`workflow.start`;function at(e){return()=>({async execute(t,n){let{input:r={}}=t,{workflowId:i}=r;if(typeof i!=`string`||i.length===0)throw Error(`[TransitionActionRegistry] 'workflow.start' action requires a non-empty 'input.workflowId' string`);await e.request(Ne.start,{workflowId:i,input:ot(r,n),config:r.config,artifactRef:r.artifactRef,scope:r.scope,triggerPayload:{_transitionRuleId:n._transition.ruleId,_transitionDepth:n._transition.depth,_transitionEventType:n._transition.eventType}})}})}function ot(e,t){let n=e.inputExpression;if(typeof n!=`string`)return e.input;let r=He(n,st(t)),i=Ae.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 st(e){let t={...e};return{...t,ctx:t}}var ct=class{factories=new Map;factoriesBySource=new Map;constructor(e){this.factories.set(K,at(e)),this.factoriesBySource.set(`__builtin__`,[K])}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()]}},lt=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=Me.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:Be.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)}}},ut=class extends w{ruleRegistry;actionRegistry;depthMap=new Map;constructor(e){super(e),this.ruleRegistry=new lt,this.actionRegistry=new ct(e)}onInit(){this.registerHandler(g.created,async e=>{await this.handleArtifactEvent(`artifact.created`,{artifact:e.payload.artifact})}),this.registerHandler(g.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(g.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(g.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(g.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=Ve(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 dt(e){return async t=>{let n=await ft(e,t);if(!n)return{handled:!1,sessionId:null,clientAccountId:null,changed:!1};let{sessionId:r}=n,{observation:i,accountObserveRequest:a}=pt(t),o=await e.requestOptional(D.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 bt(e,r,i,s)}}}async function ft(e,t){switch(t.locator.kind){case`session`:{let{session:r}=await e.request(n.get,{sessionId:t.locator.sessionId});return r?{sessionId:r.sessionId,session:r}:null}case`adapter-session`:{let{session:r}=await e.request(n.getByAdapterSessionId,{adapterSessionId:t.locator.adapterSessionId});return r?{sessionId:r.sessionId,session:r}:null}case`both`:{let[{session:r},{session:i}]=await Promise.all([e.request(n.get,{sessionId:t.locator.sessionId}),e.request(n.getByAdapterSessionId,{adapterSessionId:t.locator.adapterSessionId})]);if(!r&&!i)return null;if(!r||!i)throw Error(`Session locator mismatch: sessionId "${t.locator.sessionId}" and adapterSessionId "${t.locator.adapterSessionId}" must both resolve the same session`);if(r.sessionId!==i.sessionId)throw Error(`Session locator mismatch: sessionId "${t.locator.sessionId}" and adapterSessionId "${t.locator.adapterSessionId}" resolve to different sessions`);return{sessionId:r.sessionId,session:r}}}}function pt(e){let t={clientId:e.clientId,source:e.source,kind:e.kind,observedAt:e.observedAt,payload:vt(e.payload)};return{observation:t,accountObserveRequest:mt(t)}}function mt(e){let t=e.payload,n=ht(t),r=gt(t);if(r.length>0)return{clientId:e.clientId,observedAt:e.observedAt,displayLabel:_t(t,n),identifiers:r};throw Error(`client.session.account.observe for "${e.clientId}" requires canonical client account identifiers`)}function ht(e){return yt(e.accountInfo)??e}function gt(e){let t=e.identifiers;if(!Array.isArray(t))return[];try{return m.array(Fe).min(1).parse(t)}catch(e){throw Error(`client.session.account.observe received malformed canonical client account identifiers`,{cause:e})}}function _t(e,t){return q(e.displayLabel)??q(t.displayLabel)??q(t.email)??q(t.label)}function vt(e){return structuredClone(e)}function yt(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function q(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}async function bt(e,t,r,i){let a=await e.request(n.update,{sessionId:t,clientId:r.clientId,clientAccountId:i,lastClientIdentityObservation:r});if(!a.success)throw Error(`Failed to update session "${t}" with client account linkage`);return a.clientAccountChanged??!1}const xt=x(`session-storage`).name;var St=class extends w{constructor(e=C){super(e)}onInit(){let e=dt(this.bus);this.registerHandler(D.session.account.observe,async t=>{t.setResult(await e(Ie.request.parse(t.payload)))})}};const Ct={name:`makaio.session-client-account-linking`,displayName:`Session Client Account Linking`,version:`0.1.0`,dependencies:[b(xt),b(`makaio.clients-core`)],critical:!1,create:e=>new St(e.bus)},wt={name:`framework-shell`,displayName:`Shell`,version:`0.1.0`,surface:`interactive`,windows:[{id:`main`,style:`utility`,width:1e3,height:700,singleton:!0}]};async function Tt(e){let{harnesses:t}=await e.request(p.list,{}),n=new Set(t.map(e=>e.id));for(let t of Oe){if(n.has(t.id))continue;let r={...t};await e.request(p.set,{harness:r})}}function J(e,t,n){return e??t??n}var Et=class extends w{static storage={drizzle:be};constructor(e=C){super(e)}async onInit(){await Tt(this.bus),this.registerHandlers()}registerHandlers(){this.registerHandler(_.get,async e=>{let t=await this.loadHarness(e.payload);if(!t)throw Error(`Harness not found`);e.setResult(t)}),this.registerHandler(_.list,async e=>{let{harnesses:t}=await this.bus.request(p.list,e.payload);e.setResult({harnesses:t})}),this.registerHandler(_.set,async e=>{let t=await this.upsertHarness(e.payload);e.setResult({id:t})}),this.registerHandler(_.delete,async e=>{let{deleted:t}=await this.bus.request(p.delete,{id:e.payload.id});e.setResult({success:t})}),this.registerHandler(_.getDefault,async e=>{let t=await this.getDefaultHarness(e.payload.adapterName,e.payload.clientId);e.setResult(t)}),this.registerHandler(_.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(_.getSchema,({setResult:e})=>{let{$schema:t,...n}=m.toJSONSchema(ke);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(p.set,{harness:r}),t}mergeHarnessPayload(e,t,n){let r={enabled:[],disabled:[]};return{id:e,name:t.name,description:J(t.description,n?.description,void 0),adapterName:t.adapterName,clientId:J(t.clientId,n?.clientId,void 0),env:J(t.env,n?.env,void 0),credentials:J(t.credentials,n?.credentials,void 0),cwd:J(t.cwd,n?.cwd,void 0),approvalPolicy:J(t.approvalPolicy,n?.approvalPolicy,`always-ask`),nativeTools:J(t.nativeTools,n?.nativeTools,r),registryTools:J(t.registryTools,n?.registryTools,r),skills:J(t.skills,n?.skills,void 0),toolCapabilityMap:t.toolCapabilityMap??n?.toolCapabilityMap,capabilityOverrides:t.capabilityOverrides??n?.capabilityOverrides,toolApprovalOverrides:t.toolApprovalOverrides??n?.toolApprovalOverrides,isDefault:J(t.isDefault,n?.isDefault,!1),enabled:J(t.enabled,n?.enabled,!0)}}async resolveHarnessId(e,t,n){let r=n??t,{harnesses:i}=await this.bus.request(p.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(p.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(p.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(p.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(p.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(Ee.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-${Ce(`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 Dt={name:`makaio.harness`,displayName:`Harness`,version:`0.1.0`,critical:!0,storage:{registerHandlers:T(be)},create:e=>new Et(e.bus)},Y=x(`session-storage`),X=x(`session-bridge`),Z=x(`session`),Ot=x(`session-orchestrator`),kt=x(`observed-session-ingestion`),Q=x(`tool-registry`),At=x(`tool-approval`),jt=x(`tray-menu`),Mt=x(`model-registry`),Nt=x(`workflow-block-registry`),Pt=x(`transition-pipeline`),Ft=x(`filesystem`),It=x(`git`),Lt=x(`artifact-lifecycle-hook-registry`),Rt=x(`facet-namespace-registry`),zt={name:Lt.name,displayName:`Artifact Lifecycle Hook Registry`,version:`0.1.0`,critical:!0,create:e=>new P(e.bus)},Bt={name:Rt.name,displayName:`Facet Namespace Registry`,version:`0.1.0`,critical:!0,create:e=>new I(e.bus)},$={name:Y.name,displayName:`Session Storage`,version:`0.1.0`,critical:!0,storage:{registerHandlers:T((n,i)=>{let s=[],d=e=>{for(let t=s.length-1;t>=0;--t)try{s[t]?.()}catch(t){console.warn(`[sessionStoragePackage] cleanup failed during ${e}:`,t)}s.length=0};try{s.push(ne(n,i)),s.push(e(n,i)),s.push(ee(n,i)),s.push(a(n,i)),s.push(t(n,i)),s.push(o(n,i)),s.push(r(n,i)),s.push(u(n,i)),s.push(l(n,i)),s.push(c(n,i)),s.push(te(n)),s.push(ae(n)),s.push(re(n))}catch(e){throw d(`rollback`),e}return()=>{d(`shutdown`)}})}},Vt={name:X.name,displayName:`Session Bridge`,version:`0.1.0`,dependencies:[b(Y.name)],critical:!0,create:e=>new i(e.bus)},Ht={name:Z.name,displayName:`Session`,version:`0.1.0`,dependencies:[b(X.name)],critical:!0,create:e=>new ie(e.bus,{machineId:e.machineId,topology:`shared-machine`})},Ut={name:Ot.name,displayName:`Session Orchestrator`,version:`0.1.0`,dependencies:[b(Z.name),b(B.name)],critical:!0,runtimeOwnership:{sessionOrchestrator:!0},create:e=>new s(e.bus,e.machineId)},Wt={name:kt.name,displayName:`Observed-Session Ingestion`,version:`0.1.0`,dependencies:[b(X.name)],critical:!1,create:e=>new d(e.bus)},Gt={name:Q.name,displayName:`Tool Registry`,version:`0.1.0`,critical:!0,create:e=>new G({bus:e.bus})},Kt={name:At.name,displayName:`Tool Approval`,version:`0.1.0`,dependencies:[b(Q.name)],critical:!0,create:e=>new ve(e.bus)},qt={name:jt.name,displayName:`Tray Menu`,version:`0.1.0`,critical:!0,create:e=>new ye(e.bus)},Jt={name:Nt.name,displayName:`Workflow Block Registry`,version:`0.1.0`,critical:!0,create:e=>new nt(e.bus)},Yt={name:Pt.name,displayName:`Transition Pipeline`,version:`0.1.0`,critical:!0,create:e=>new ut(e.bus)},Xt={name:Ft.name,displayName:`Filesystem`,version:`0.1.0`,critical:!0,create:e=>new Se(e.bus,e.machineId)},Zt={name:It.name,displayName:`Git`,version:`0.1.0`,dependencies:[b(Ft.name)],critical:!0,create:e=>new Ue(e.bus)};function Qt(e){return{name:Mt.name,displayName:`Model Registry`,version:`0.1.0`,critical:!0,create:t=>new pe({bus:t.bus,fetcher:e})}}const $t=[se,zt,Bt,le,de,ce,ue,$,Vt,Ct,Ht,Ut,Wt,xe,Gt,Kt,qt,fe,Dt,B,wt,Jt,W,ge,he,_e,Yt,Zt,Xt];export{nt as A,P as B,Yt as C,lt as D,ut as E,B as F,z as I,R as L,U as M,W as N,ct as O,V as P,L as R,Gt as S,Jt as T,j as V,Vt as _,Ot as a,$ as b,At as c,jt as d,Nt as f,$t as g,Bt as h,X as i,G as j,K as k,Q as l,Qt as m,Rt as n,Y as o,zt as p,Mt as r,Z as s,Lt as t,Pt as u,Ut as v,qt as w,Kt as x,Ht as y,I as z};
@@ -1,4 +1,4 @@
1
- import { n as ExtensionContext } from "./extension-context-pQ7Uio_s.mjs";
1
+ import { n as ExtensionContext } from "./extension-context-DH84KOm9.mjs";
2
2
  import { z } from "zod";
3
3
 
4
4
  //#region core/contracts/src/version/primitives.d.ts
@@ -1,4 +1,4 @@
1
- import { A as ClientDefinitionInput, k as ClientDefinition } from "./hook-responses-B882RcQc.mjs";
1
+ import { A as ClientDefinitionInput, k as ClientDefinition } from "./hook-responses-OETFKaAL.mjs";
2
2
  import * as _$zod from "zod";
3
3
  import { z } from "zod";
4
4
  import * as _$_makaio_core0 from "@makaio/framework/core";
@@ -90,8 +90,8 @@ declare const ClientSchemas: {
90
90
  projectDir: z.ZodOptional<z.ZodString>;
91
91
  configInheritance: z.ZodOptional<z.ZodEnum<{
92
92
  empty: "empty";
93
- "auth-only": "auth-only";
94
93
  full: "full";
94
+ "auth-only": "auth-only";
95
95
  }>>;
96
96
  }, z.core.$strip>;
97
97
  response: z.ZodObject<{
@@ -550,9 +550,9 @@ declare const ClientSchemas: {
550
550
  cwd: z.ZodOptional<z.ZodString>;
551
551
  machineId: z.ZodOptional<z.ZodString>;
552
552
  startMode: z.ZodOptional<z.ZodEnum<{
553
+ fork: "fork";
553
554
  fresh: "fresh";
554
555
  resume: "resume";
555
- fork: "fork";
556
556
  clear: "clear";
557
557
  compact: "compact";
558
558
  }>>;
@@ -1640,9 +1640,9 @@ type ClientSessionObservedBase = z.infer<typeof ClientSessionObservedBaseSchema>
1640
1640
  declare const CLIENT_SESSION_START_MODES: readonly ["fresh", "fork", "resume", "clear", "compact"];
1641
1641
  /** Zod schema for the client-reported session start mode. */
1642
1642
  declare const ClientSessionStartModeSchema: z.ZodEnum<{
1643
+ fork: "fork";
1643
1644
  fresh: "fresh";
1644
1645
  resume: "resume";
1645
- fork: "fork";
1646
1646
  clear: "clear";
1647
1647
  compact: "compact";
1648
1648
  }>;
@@ -1659,9 +1659,9 @@ declare const ClientSessionStartedSchema: z.ZodObject<{
1659
1659
  cwd: z.ZodOptional<z.ZodString>;
1660
1660
  machineId: z.ZodOptional<z.ZodString>;
1661
1661
  startMode: z.ZodOptional<z.ZodEnum<{
1662
+ fork: "fork";
1662
1663
  fresh: "fresh";
1663
1664
  resume: "resume";
1664
- fork: "fork";
1665
1665
  clear: "clear";
1666
1666
  compact: "compact";
1667
1667
  }>>;
@@ -2000,8 +2000,8 @@ declare const ClientNamespace: _$_makaio_core0.BusNamespaceDefinition<"client",
2000
2000
  projectDir: _$zod.ZodOptional<_$zod.ZodString>;
2001
2001
  configInheritance: _$zod.ZodOptional<_$zod.ZodEnum<{
2002
2002
  empty: "empty";
2003
- "auth-only": "auth-only";
2004
2003
  full: "full";
2004
+ "auth-only": "auth-only";
2005
2005
  }>>;
2006
2006
  }, _$zod_v4_core0.$strip>;
2007
2007
  response: _$zod.ZodObject<{
@@ -2444,9 +2444,9 @@ declare const ClientNamespace: _$_makaio_core0.BusNamespaceDefinition<"client",
2444
2444
  cwd: _$zod.ZodOptional<_$zod.ZodString>;
2445
2445
  machineId: _$zod.ZodOptional<_$zod.ZodString>;
2446
2446
  startMode: _$zod.ZodOptional<_$zod.ZodEnum<{
2447
+ fork: "fork";
2447
2448
  fresh: "fresh";
2448
2449
  resume: "resume";
2449
- fork: "fork";
2450
2450
  clear: "clear";
2451
2451
  compact: "compact";
2452
2452
  }>>;
@@ -2730,8 +2730,8 @@ declare const ClientSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.FlatSu
2730
2730
  projectDir: _$zod.ZodOptional<_$zod.ZodString>;
2731
2731
  configInheritance: _$zod.ZodOptional<_$zod.ZodEnum<{
2732
2732
  empty: "empty";
2733
- "auth-only": "auth-only";
2734
2733
  full: "full";
2734
+ "auth-only": "auth-only";
2735
2735
  }>>;
2736
2736
  }, _$zod_v4_core0.$strip>;
2737
2737
  response: _$zod.ZodObject<{
@@ -3174,9 +3174,9 @@ declare const ClientSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.FlatSu
3174
3174
  cwd: _$zod.ZodOptional<_$zod.ZodString>;
3175
3175
  machineId: _$zod.ZodOptional<_$zod.ZodString>;
3176
3176
  startMode: _$zod.ZodOptional<_$zod.ZodEnum<{
3177
+ fork: "fork";
3177
3178
  fresh: "fresh";
3178
3179
  resume: "resume";
3179
- fork: "fork";
3180
3180
  clear: "clear";
3181
3181
  compact: "compact";
3182
3182
  }>>;
@@ -3483,8 +3483,8 @@ declare const SessionConfigEnvSchema: z.ZodRecord<z.ZodString, z.ZodString>;
3483
3483
  */
3484
3484
  declare const SessionConfigInheritanceSchema: z.ZodEnum<{
3485
3485
  empty: "empty";
3486
- "auth-only": "auth-only";
3487
3486
  full: "full";
3487
+ "auth-only": "auth-only";
3488
3488
  }>;
3489
3489
  type SessionConfigInheritance = z.infer<typeof SessionConfigInheritanceSchema>;
3490
3490
  /**
@@ -3641,8 +3641,8 @@ declare const ClientSessionConfigSchemas: {
3641
3641
  projectDir: z.ZodOptional<z.ZodString>;
3642
3642
  configInheritance: z.ZodOptional<z.ZodEnum<{
3643
3643
  empty: "empty";
3644
- "auth-only": "auth-only";
3645
3644
  full: "full";
3645
+ "auth-only": "auth-only";
3646
3646
  }>>;
3647
3647
  }, z.core.$strip>;
3648
3648
  response: z.ZodObject<{
@@ -3697,8 +3697,8 @@ declare const SessionConfigSetupRequestSchema: z.ZodObject<{
3697
3697
  }>;
3698
3698
  configInheritance: z.ZodEnum<{
3699
3699
  empty: "empty";
3700
- "auth-only": "auth-only";
3701
3700
  full: "full";
3701
+ "auth-only": "auth-only";
3702
3702
  }>;
3703
3703
  }, z.core.$strip>;
3704
3704
  type SessionConfigSetupRequest = z.infer<typeof SessionConfigSetupRequestSchema>;
@@ -1,4 +1,4 @@
1
- import { c as AdapterRuntimeSnapshotErrorCode } from "./schemas-BLxdGZkr.mjs";
1
+ import { c as AdapterRuntimeSnapshotErrorCode } from "./schemas-D9pXu76T.mjs";
2
2
  import { ProviderContext, ResolvedProviderContext } from "@makaio/framework/contracts";
3
3
  import { IMakaioBus } from "@makaio/framework/bus";
4
4
 
@@ -27,8 +27,8 @@ type MakaioVariant = z.infer<typeof MakaioVariantSchema>;
27
27
  */
28
28
  declare const VariantUpgradeStatusSchema: z.ZodEnum<{
29
29
  error: "error";
30
- complete: "complete";
31
30
  progress: "progress";
31
+ complete: "complete";
32
32
  downloading: "downloading";
33
33
  applying: "applying";
34
34
  }>;
@@ -101,8 +101,8 @@ declare const VariantSchemas: {
101
101
  upgradeProgress: z.ZodObject<{
102
102
  status: z.ZodEnum<{
103
103
  error: "error";
104
- complete: "complete";
105
104
  progress: "progress";
105
+ complete: "complete";
106
106
  downloading: "downloading";
107
107
  applying: "applying";
108
108
  }>;
@@ -158,8 +158,8 @@ declare const VariantNamespace: _$_makaio_core0.BusNamespaceDefinition<"host:var
158
158
  upgradeProgress: _$zod.ZodObject<{
159
159
  status: _$zod.ZodEnum<{
160
160
  error: "error";
161
- complete: "complete";
162
161
  progress: "progress";
162
+ complete: "complete";
163
163
  downloading: "downloading";
164
164
  applying: "applying";
165
165
  }>;
@@ -205,8 +205,8 @@ declare const VariantSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.FlatS
205
205
  upgradeProgress: _$zod.ZodObject<{
206
206
  status: _$zod.ZodEnum<{
207
207
  error: "error";
208
- complete: "complete";
209
208
  progress: "progress";
209
+ complete: "complete";
210
210
  downloading: "downloading";
211
211
  applying: "applying";
212
212
  }>;