@makaio/framework 1.0.0-dev-1788955549564 → 1.0.0-dev-1788963848381

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 (515) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/{2020-Bl3Yx3In.mjs → 2020-CpDjcHDh.mjs} +1 -1
  3. package/dist/{account-identity-B0NsOILM.mjs → account-identity-D00LLclm.mjs} +1 -1
  4. package/dist/{adapter-DYE_oWjj.mjs → adapter-D92pfm_b.mjs} +1 -1
  5. package/dist/{adapter-auth-runtime-BnPqQChk.mjs → adapter-auth-runtime-46Y9WKcB.mjs} +1 -1
  6. package/dist/adapter-subsystem/index.d.mts +1 -1
  7. package/dist/adapter-subsystem/index.mjs +1 -1
  8. package/dist/adapters/claude/index.d.mts +2 -2
  9. package/dist/adapters/claude/testing.mjs +1 -1
  10. package/dist/adapters/config/index.d.mts +2 -2
  11. package/dist/adapters/config/index.mjs +1 -1
  12. package/dist/adapters/index.d.mts +3 -3
  13. package/dist/adapters/index.mjs +6 -6
  14. package/dist/adapters/node.d.mts +1 -1
  15. package/dist/adapters/node.mjs +2 -2
  16. package/dist/adapters/stream-session/index.d.mts +1 -1
  17. package/dist/adapters/stream-session/index.mjs +1 -1
  18. package/dist/artifact-_pN73_7c.mjs +1 -0
  19. package/dist/{attempt-record-codec-6jpayBMY.mjs → attempt-record-codec-62Ifw7fv.mjs} +1 -1
  20. package/dist/{auth-CeH3w2fi.mjs → auth-CB4an9bh.mjs} +1 -1
  21. package/dist/authority-state-bootstrap-DgoHPc9J.mjs +1 -0
  22. package/dist/{automation-trigger-CZfH94Fr.mjs → automation-trigger-xNDX0Am_.mjs} +1 -1
  23. package/dist/bootstrap-start-client-rW55mDI-.mjs +1 -0
  24. package/dist/bus/index.mjs +1 -1
  25. package/dist/{caller-owned-adapter-stub-B-Sq7ZvF.mjs → caller-owned-adapter-stub-oM1G1KvC.mjs} +1 -1
  26. package/dist/{canonical-model-oFNty7hj.mjs → canonical-model-D7Cg0l2R.mjs} +1 -1
  27. package/dist/{capabilities-BhJ3wzI8.mjs → capabilities-D2ggcMem.mjs} +1 -1
  28. package/dist/{capability-service-23Ot2J9A.d.mts → capability-service-Cpkonrc0.d.mts} +1 -1
  29. package/dist/{client-DJMzCHRm.mjs → client-CpUVfDxa.mjs} +1 -1
  30. package/dist/clients/index.d.mts +2 -2
  31. package/dist/clients/index.mjs +1 -1
  32. package/dist/clients/managed-install.d.mts +1 -1
  33. package/dist/clients/managed-install.mjs +1 -1
  34. package/dist/code-execution/worker-entry.d.mts +1 -1
  35. package/dist/code-execution/worker-entry.mjs +1 -1
  36. package/dist/{code-execution-B9wr0b972.mjs → code-execution-ByLSAlEg2.mjs} +1 -1
  37. package/dist/{code-execution-BMmUATcc.mjs → code-execution-CMqsHnGg.mjs} +1 -1
  38. package/dist/{code-execution-DRCzkGzO.mjs → code-execution-xn9-x3VO.mjs} +1 -1
  39. package/dist/common-CylczUIW.mjs +1 -0
  40. package/dist/{compression-nZhMDRTA.mjs → compression-Civ-rf-O.mjs} +1 -1
  41. package/dist/{config-namespace-MjFuIPyL.mjs → config-namespace-CQnsvr77.mjs} +1 -1
  42. package/dist/contracts/adapter/index.d.mts +2 -2
  43. package/dist/contracts/adapter/index.mjs +1 -1
  44. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  45. package/dist/contracts/artifact/index.d.mts +3 -3
  46. package/dist/contracts/artifact/index.mjs +1 -1
  47. package/dist/contracts/auth/index.d.mts +2 -2
  48. package/dist/contracts/auth/index.mjs +1 -1
  49. package/dist/contracts/automation-trigger/index.d.mts +3 -3
  50. package/dist/contracts/automation-trigger/index.mjs +1 -1
  51. package/dist/contracts/canonical-model/index.d.mts +1 -1
  52. package/dist/contracts/canonical-model/index.mjs +1 -1
  53. package/dist/contracts/capabilities/index.d.mts +1 -1
  54. package/dist/contracts/capabilities/index.mjs +1 -1
  55. package/dist/contracts/client/index.d.mts +2 -2
  56. package/dist/contracts/client/index.mjs +1 -1
  57. package/dist/contracts/code-execution/index.d.mts +1 -1
  58. package/dist/contracts/code-execution/index.mjs +1 -1
  59. package/dist/contracts/common/index.d.mts +2 -2
  60. package/dist/contracts/common/index.mjs +1 -1
  61. package/dist/contracts/config/index.d.mts +1 -1
  62. package/dist/contracts/config/index.mjs +1 -1
  63. package/dist/contracts/extension/index.d.mts +5 -5
  64. package/dist/contracts/extension/index.mjs +1 -1
  65. package/dist/contracts/facet/index.d.mts +1 -1
  66. package/dist/contracts/facet/index.mjs +1 -1
  67. package/dist/contracts/harness/index.d.mts +1 -1
  68. package/dist/contracts/harness/index.mjs +1 -1
  69. package/dist/contracts/host/index.d.mts +1 -1
  70. package/dist/contracts/host/index.mjs +1 -1
  71. package/dist/contracts/index.d.mts +96 -96
  72. package/dist/contracts/index.mjs +1 -1
  73. package/dist/contracts/materialization/index.d.mts +2 -2
  74. package/dist/contracts/materialization/index.mjs +1 -1
  75. package/dist/contracts/model-registry/index.d.mts +1 -1
  76. package/dist/contracts/model-registry/index.mjs +1 -1
  77. package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
  78. package/dist/contracts/native-session-supervisor/index.mjs +1 -1
  79. package/dist/contracts/platform/index.d.mts +1 -1
  80. package/dist/contracts/platform/index.mjs +1 -1
  81. package/dist/contracts/provider/index.d.mts +2 -2
  82. package/dist/contracts/provider/index.mjs +1 -1
  83. package/dist/contracts/reaction/index.d.mts +1 -1
  84. package/dist/contracts/reaction/index.mjs +1 -1
  85. package/dist/contracts/session/index.d.mts +2 -2
  86. package/dist/contracts/session/index.mjs +1 -1
  87. package/dist/contracts/shared/index.d.mts +2 -2
  88. package/dist/contracts/shared/index.mjs +1 -1
  89. package/dist/contracts/skill/index.d.mts +1 -1
  90. package/dist/contracts/skill/index.mjs +1 -1
  91. package/dist/contracts/telemetry/index.d.mts +1 -1
  92. package/dist/contracts/telemetry/index.mjs +1 -1
  93. package/dist/contracts/timeout/index.d.mts +1 -1
  94. package/dist/contracts/timeout/index.mjs +1 -1
  95. package/dist/contracts/toast/index.mjs +1 -1
  96. package/dist/contracts/variant/index.d.mts +1 -1
  97. package/dist/contracts/variant/index.mjs +1 -1
  98. package/dist/contracts/worker/index.d.mts +2 -2
  99. package/dist/contracts/worker/index.mjs +1 -1
  100. package/dist/contracts/workflow/index.d.mts +2 -2
  101. package/dist/contracts/workflow/index.mjs +1 -1
  102. package/dist/{contribution-B4t0OXKs.d.mts → contribution-BexrtFLC.d.mts} +2 -2
  103. package/dist/{definition-Bs5hzhsT.d.mts → definition-6d5JBi55.d.mts} +1 -1
  104. package/dist/{definition-YGj42UeO.mjs → definition-Dqw0YJdi.mjs} +1 -1
  105. package/dist/{detached-extension-handle-CgJiXaqv.mjs → detached-extension-handle-BJnk3WEh.mjs} +1 -1
  106. package/dist/{dist-CfANkKSb.mjs → dist-DeI9zYMP.mjs} +1 -1
  107. package/dist/evidence/git-file/index.d.mts +54 -0
  108. package/dist/evidence/git-file/index.mjs +4 -0
  109. package/dist/{execution-attempt-owner-recovery-CdH04iwP.mjs → execution-attempt-owner-recovery-CwTiTnnR.mjs} +1 -1
  110. package/dist/{execution-target-B9jZgDQz.mjs → execution-target-_oVNW6Zm.mjs} +1 -1
  111. package/dist/{extension-B51JzHJu.mjs → extension-CAi7bbyv.mjs} +1 -1
  112. package/dist/{extension-C1CwxkCN.mjs → extension-CrghVa93.mjs} +1 -1
  113. package/dist/{extension-context-Cx8CetW3.d.mts → extension-context-DDfSMPat.d.mts} +3 -3
  114. package/dist/{filesystem-service-yB8KhUGz.mjs → filesystem-service-hdz3oYti.mjs} +1 -1
  115. package/dist/{framework-packages-25GUGzJ-.mjs → framework-packages-BOPhhtK7.mjs} +1 -1
  116. package/dist/git/index.mjs +1 -1
  117. package/dist/{globby-z2SR0jRo.mjs → globby-Begk3aIP.mjs} +1 -1
  118. package/dist/{handlers-CBbFzDHc.mjs → handlers-YPTyZDhF.mjs} +1 -1
  119. package/dist/{harness-GNtHsoh4.mjs → harness-Ds1I4smU.mjs} +1 -1
  120. package/dist/{hook-responses-chgDiS8D.d.mts → hook-responses-CRQYe15-.d.mts} +1 -1
  121. package/dist/hooks/index.d.mts +1 -1
  122. package/dist/hooks/index.mjs +1 -1
  123. package/dist/{index-GNRWZONO.d.mts → index-6kg8YFYt.d.mts} +1 -1
  124. package/dist/{index-B6aoVzdA.d.mts → index-B3G-Hzwn.d.mts} +1 -1
  125. package/dist/{index-CKjFFP6W2.d.mts → index-BM-FPWjs2.d.mts} +1 -1
  126. package/dist/{index-SDXlgq07.d.mts → index-B_gyAIAo.d.mts} +2 -2
  127. package/dist/{index-BAL1FiaJ.d.mts → index-BdGOOFbD.d.mts} +6 -6
  128. package/dist/{index-VbqrC9qf.d.mts → index-Bk8WkSa_.d.mts} +12 -12
  129. package/dist/{index-CuPq_ap8.d.mts → index-BlHq_Ksb.d.mts} +2 -2
  130. package/dist/{index-D3RZEEE3.d.mts → index-Bn6sN1op.d.mts} +2 -2
  131. package/dist/{index-Bxs-oIo4.d.mts → index-BpsurXEW.d.mts} +1 -1
  132. package/dist/{index-BtPZcp4M2.d.mts → index-Bq8JJ77a2.d.mts} +4 -4
  133. package/dist/{index-Bak5iKWv2.d.mts → index-BsZu6i8H2.d.mts} +20 -11
  134. package/dist/{index-CcgI6r0K.d.mts → index-C742b1FV.d.mts} +2 -2
  135. package/dist/{index-B6Kq1BtL.d.mts → index-C8oBOTl_.d.mts} +1 -1
  136. package/dist/{index-BjELPYLF2.d.mts → index-CCYavCD92.d.mts} +1 -1
  137. package/dist/{index-CuLDybz3.d.mts → index-CDhbUjUH.d.mts} +2 -2
  138. package/dist/{index-CVx7li6B2.d.mts → index-CP96gudX2.d.mts} +16 -16
  139. package/dist/{index-DX_2kGSg.d.mts → index-CR5OVrQJ.d.mts} +4 -4
  140. package/dist/{index-CDeN0mdC.d.mts → index-CWeWBh-_.d.mts} +1 -1
  141. package/dist/{index-99Gz8ezO.d.mts → index-CX9F0vHE.d.mts} +9 -9
  142. package/dist/{index-OXuby-ee.d.mts → index-CpGf9W_u.d.mts} +13 -13
  143. package/dist/{index-SIP-fI28.d.mts → index-D4XNkbM4.d.mts} +1 -1
  144. package/dist/{index-C6eJrtTA.d.mts → index-D7IZQNhD.d.mts} +2 -2
  145. package/dist/{index-CU_HMaeC.d.mts → index-DCfYa3cF.d.mts} +39 -1
  146. package/dist/{index-DzeUtJtE.d.mts → index-DTadNB7U.d.mts} +8 -8
  147. package/dist/{index-DfJNJYPV.d.mts → index-DhhHzOUU.d.mts} +4 -4
  148. package/dist/{index-D2sbGoGS.d.mts → index-DkviOBAT.d.mts} +2 -2
  149. package/dist/{index-ConotXyG.d.mts → index-DsEwuqKE.d.mts} +28 -28
  150. package/dist/{index-CwJaE0fT.d.mts → index-E55FZQKt.d.mts} +135 -87
  151. package/dist/{index-OUtnmQ8t2.d.mts → index-di-02yaB2.d.mts} +5 -5
  152. package/dist/{index-C9J8wBLV.d.mts → index-dpaDWzUU.d.mts} +835 -291
  153. package/dist/{index-CyB6POkH.d.mts → index-nJvYTAbD.d.mts} +1 -1
  154. package/dist/{index-CYUhTE552.d.mts → index-ndFBIZvG2.d.mts} +1 -1
  155. package/dist/kernel/cli/index.d.mts +2 -2
  156. package/dist/kernel/cli/index.mjs +1 -1
  157. package/dist/kernel/cli/register.d.mts +1 -1
  158. package/dist/kernel/cli/register.mjs +1 -1
  159. package/dist/kernel/cli/schemas.mjs +1 -1
  160. package/dist/kernel/extension/index.d.mts +1 -1
  161. package/dist/kernel/extension/index.mjs +1 -1
  162. package/dist/kernel/index.d.mts +5 -5
  163. package/dist/kernel/index.mjs +1 -1
  164. package/dist/kernel/namespace/index.d.mts +1 -1
  165. package/dist/kernel/namespace/index.mjs +1 -1
  166. package/dist/kernel/observability/index.d.mts +1 -1
  167. package/dist/kernel/observability/index.mjs +1 -1
  168. package/dist/kernel/providers/index.d.mts +1 -1
  169. package/dist/kernel/providers/index.mjs +1 -1
  170. package/dist/kernel/window/index.d.mts +1 -1
  171. package/dist/kernel/window/index.mjs +1 -1
  172. package/dist/{lib-0MqNtDuH.mjs → lib-BmXBuE-w.mjs} +1 -1
  173. package/dist/{lib-dlyJT26K.mjs → lib-R-c_q77C.mjs} +1 -1
  174. package/dist/{load-extensions-DM1PgW4a.d.mts → load-extensions-Bu10B5B1.d.mts} +1 -1
  175. package/dist/{load-extensions-BHTj3d_P.mjs → load-extensions-s4YmICgn.mjs} +1 -1
  176. package/dist/{materialization-BQuh_gaE.mjs → materialization-BwC7pVg2.mjs} +1 -1
  177. package/dist/mcp-http-server/index.d.mts +1 -1
  178. package/dist/mcp-http-server/index.mjs +1 -1
  179. package/dist/model-Cn1IFEP8.mjs +1 -0
  180. package/dist/{namespace-JqvomFSV.d.mts → namespace-CfA0C0JR.d.mts} +2 -2
  181. package/dist/{namespace-ZAIFBrIy.mjs → namespace-CnRcpgJ8.mjs} +1 -1
  182. package/dist/namespace-DFc1nkal.mjs +1 -0
  183. package/dist/{namespace-BoOLmi67.d.mts → namespace-Dmbm2JzV.d.mts} +2 -2
  184. package/dist/{namespace-DiTFR4Zt.d.mts → namespace-wuGMWlyz.d.mts} +2 -2
  185. package/dist/{native-session-supervisor-BlGzmZrH.mjs → native-session-supervisor-B0rziwHI.mjs} +1 -1
  186. package/dist/node/bus-server/index.d.mts +1 -1
  187. package/dist/node/bus-server/index.mjs +1 -1
  188. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  189. package/dist/node/bus-server/server-lifecycle.mjs +1 -1
  190. package/dist/{orchestrator-shared-5vhs4wvU.mjs → orchestrator-shared-CmS8iU9_.mjs} +1 -1
  191. package/dist/{orchestrator-shared-BRNZ6it3.d.mts → orchestrator-shared-Cwc6JKkV.d.mts} +1 -1
  192. package/dist/{ownership-memory-handler-BCu1EjFO.mjs → ownership-memory-handler-DMirNILL.mjs} +1 -1
  193. package/dist/{package-DKfzsJVl.mjs → package-BESXccyx.mjs} +1 -1
  194. package/dist/{package-BiZ6ehWk.mjs → package-Co36_pRw.mjs} +1 -1
  195. package/dist/{package-BUSXHPOT.mjs → package-D2zvQO7X.mjs} +1 -1
  196. package/dist/{package-x2wRhcUt.d.mts → package-DjI3DSDe.d.mts} +6 -3
  197. package/dist/package.json +1 -1
  198. package/dist/{packages-Dhgmy_LJ.mjs → packages-COqPg5TI.mjs} +1 -1
  199. package/dist/{packages-BSVxszLf.d.mts → packages-DTz_1dCa.d.mts} +1 -1
  200. package/dist/{profile-DBDvy9uc.mjs → profile-C9RV7ao-.mjs} +1 -1
  201. package/dist/{provider-context-CSb0qX1c.mjs → provider-context-BPITm0cn.mjs} +1 -1
  202. package/dist/{provider-context-CTOrOW54.mjs → provider-context-CyGvwXPz.mjs} +1 -1
  203. package/dist/providers/index.d.mts +1 -1
  204. package/dist/{reaction-6e4v007b.mjs → reaction-aQJGWUWl.mjs} +1 -1
  205. package/dist/repo-context-Dy6eE9cg.mjs +1 -0
  206. package/dist/{resolved-ONt3rOMh.mjs → resolved-M6PyrgFr.mjs} +1 -1
  207. package/dist/rules/index.d.mts +1 -1
  208. package/dist/rules/index.mjs +1 -1
  209. package/dist/rules/schemas.d.mts +1 -1
  210. package/dist/runtime-bun/index.mjs +1 -1
  211. package/dist/runtime-node/code-execution/index.d.mts +2 -2
  212. package/dist/runtime-node/code-execution/index.mjs +1 -1
  213. package/dist/runtime-node/extension-discovery.d.mts +1 -1
  214. package/dist/runtime-node/extension-validation.d.mts +1 -1
  215. package/dist/runtime-node/extension-validation.mjs +1 -1
  216. package/dist/runtime-node/index.d.mts +6 -6
  217. package/dist/runtime-node/index.mjs +4 -4
  218. package/dist/runtime-node/makaio-config.d.mts +1 -1
  219. package/dist/runtime-node/makaio-config.mjs +1 -1
  220. package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
  221. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  222. package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -1
  223. package/dist/{schema-B8jinlbH.mjs → schema-DrHrto2J.mjs} +1 -1
  224. package/dist/{schemas-BIU9Org_.mjs → schemas-CQKfd2Xd.mjs} +1 -1
  225. package/dist/{schemas-DYeS-mtz.d.mts → schemas-CQe4xCRn.d.mts} +2 -2
  226. package/dist/{schemas-Di_kpQ0C.d.mts → schemas-CvUe_yff.d.mts} +13 -4
  227. package/dist/{schemas-BZabEyEV.d.mts → schemas-D2HmGmCt.d.mts} +1 -1
  228. package/dist/schemas-DRho446W.mjs +1 -0
  229. package/dist/{schemas-abY5VbS4.mjs → schemas-DyZNwquY.mjs} +1 -1
  230. package/dist/{schemas-BFwNBMIj.d.mts → schemas-a4aVR0WT.d.mts} +15 -15
  231. package/dist/{selection-7SkHsmWs.mjs → selection-BDs7K53w.mjs} +1 -1
  232. package/dist/{server-lifecycle-hNz8U-QJ.mjs → server-lifecycle-C5Vl58sN.mjs} +1 -1
  233. package/dist/services/adapter-runtime/index.d.mts +3 -3
  234. package/dist/services/adapter-runtime/index.mjs +1 -1
  235. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  236. package/dist/services/adapter-runtime/schemas.d.mts +1 -1
  237. package/dist/services/adapter-subsystem/index.d.mts +3 -3
  238. package/dist/services/adapter-subsystem/index.mjs +1 -1
  239. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  240. package/dist/services/adapter-subsystem/namespace.mjs +1 -1
  241. package/dist/services/agent-runtime/index.d.mts +2 -2
  242. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  243. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  244. package/dist/services/automation-trigger/index.d.mts +1 -1
  245. package/dist/services/automation-trigger/index.mjs +1 -1
  246. package/dist/services/capability/index.d.mts +2 -2
  247. package/dist/services/capability/index.mjs +1 -1
  248. package/dist/services/code-execution/index.d.mts +1 -1
  249. package/dist/services/code-execution/index.mjs +1 -1
  250. package/dist/services/codebase/index.d.mts +2 -2
  251. package/dist/services/codebase/namespace.d.mts +1 -1
  252. package/dist/services/codebase/schemas.d.mts +1 -1
  253. package/dist/services/compression/index.d.mts +2 -2
  254. package/dist/services/compression/namespace.d.mts +1 -1
  255. package/dist/services/compression/schemas.d.mts +1 -1
  256. package/dist/services/context-rules/index.d.mts +4 -4
  257. package/dist/services/context-rules/index.mjs +1 -1
  258. package/dist/services/execution-target/index.d.mts +3 -3
  259. package/dist/services/execution-target/index.mjs +1 -1
  260. package/dist/services/execution-target/namespace.d.mts +1 -1
  261. package/dist/services/execution-target/namespace.mjs +1 -1
  262. package/dist/services/execution-target/schemas.d.mts +1 -1
  263. package/dist/services/execution-target/schemas.mjs +1 -1
  264. package/dist/services/filesystem/index.d.mts +1 -1
  265. package/dist/services/filesystem/index.mjs +1 -1
  266. package/dist/services/filesystem/namespace.d.mts +6 -6
  267. package/dist/services/filesystem/schemas.d.mts +3 -3
  268. package/dist/services/git/namespace.d.mts +2 -2
  269. package/dist/services/git/namespace.mjs +1 -1
  270. package/dist/services/git/schemas.d.mts +1 -1
  271. package/dist/services/git/schemas.mjs +1 -1
  272. package/dist/services/harness/index.d.mts +4 -4
  273. package/dist/services/harness/index.mjs +1 -1
  274. package/dist/services/index.d.mts +58 -58
  275. package/dist/services/index.mjs +1 -1
  276. package/dist/services/log-import/browser.d.mts +2 -2
  277. package/dist/services/log-import/index.d.mts +3 -3
  278. package/dist/services/log-import/index.mjs +2 -2
  279. package/dist/services/log-import/log-import.d.mts +1 -1
  280. package/dist/services/log-import/log-import.mjs +1 -1
  281. package/dist/services/log-import/namespace.d.mts +2 -2
  282. package/dist/services/log-import/namespace.mjs +1 -1
  283. package/dist/services/log-import/schemas.d.mts +1 -1
  284. package/dist/services/log-import/schemas.mjs +1 -1
  285. package/dist/services/materialization/index.d.mts +1 -1
  286. package/dist/services/materialization/index.mjs +1 -1
  287. package/dist/services/model-registry/index.d.mts +1 -1
  288. package/dist/services/model-registry/index.mjs +1 -1
  289. package/dist/services/preferences/index.d.mts +2 -2
  290. package/dist/services/preferences/schemas.d.mts +1 -1
  291. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  292. package/dist/services/provider-context/index.d.mts +1 -1
  293. package/dist/services/provider-context/index.mjs +1 -1
  294. package/dist/services/provider-runtime/index.mjs +1 -1
  295. package/dist/services/session/handlers/index.d.mts +1 -1
  296. package/dist/services/session/handlers/index.mjs +1 -1
  297. package/dist/services/session/index.d.mts +9 -9
  298. package/dist/services/session/index.mjs +1 -1
  299. package/dist/services/session/messages/namespace.d.mts +1 -1
  300. package/dist/services/session/messages/namespace.mjs +1 -1
  301. package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
  302. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  303. package/dist/services/session/session-events/namespace.d.mts +1 -1
  304. package/dist/services/session/session-events/namespace.mjs +1 -1
  305. package/dist/services/session/storage/namespace.d.mts +1 -1
  306. package/dist/services/session/storage/schema.d.mts +1 -1
  307. package/dist/services/session/testing/index.mjs +2 -2
  308. package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
  309. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  310. package/dist/services/session/turns/namespace.d.mts +1 -1
  311. package/dist/services/session/turns/namespace.mjs +1 -1
  312. package/dist/services/session-editor/index.d.mts +1 -1
  313. package/dist/services/session-editor/index.mjs +1 -1
  314. package/dist/services/settings/index.d.mts +3 -3
  315. package/dist/services/settings/index.mjs +1 -1
  316. package/dist/services/settings/namespace.d.mts +12 -12
  317. package/dist/services/settings/namespace.mjs +1 -1
  318. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  319. package/dist/services/settings/storage/clients-namespace.mjs +1 -1
  320. package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
  321. package/dist/services/settings/storage/index.d.mts +3 -3
  322. package/dist/services/settings/storage/index.mjs +1 -1
  323. package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
  324. package/dist/services/settings/storage/providers-namespace.mjs +1 -1
  325. package/dist/services/subagent/index.d.mts +1 -1
  326. package/dist/services/subagent/index.mjs +1 -1
  327. package/dist/services/subagent-template/index.d.mts +2 -2
  328. package/dist/services/subagent-template/namespace.d.mts +1 -1
  329. package/dist/services/subagent-template/schemas.d.mts +1 -1
  330. package/dist/services/tool-approval/index.d.mts +1 -1
  331. package/dist/services/tool-approval/index.mjs +1 -1
  332. package/dist/services/tools/index.d.mts +1 -1
  333. package/dist/services/tools/index.mjs +1 -1
  334. package/dist/services/tray-menu/index.d.mts +3 -3
  335. package/dist/services/tray-menu/index.mjs +1 -1
  336. package/dist/services/tray-menu/namespace.d.mts +1 -1
  337. package/dist/services/tray-menu/schemas.d.mts +1 -1
  338. package/dist/services/turn/index.d.mts +1 -1
  339. package/dist/services/turn/namespace.d.mts +1 -1
  340. package/dist/services/workflow-transitions/index.d.mts +1 -1
  341. package/dist/services/workflow-transitions/index.mjs +1 -1
  342. package/dist/{session-A-h_Dwcs.mjs → session-9C42TPQq.mjs} +1 -1
  343. package/dist/{session-BDFNAcuY.mjs → session-Cn8z1hxD.mjs} +6 -6
  344. package/dist/{session-lineage-BzlpfLgC.d.mts → session-lineage-CLOlB9l_.d.mts} +1 -1
  345. package/dist/{shared-BZf2zoxL.mjs → shared-DqvfJVYk.mjs} +1 -1
  346. package/dist/{skill-1gU2q1KT.mjs → skill-BmRp8GhW.mjs} +1 -1
  347. package/dist/{src-Dlpw-Gh5.mjs → src-CmLn6zYj.mjs} +1 -1
  348. package/dist/storage/drizzle/client.d.mts +1 -1
  349. package/dist/storage/drizzle/client.mjs +1 -1
  350. package/dist/storage/drizzle/index.d.mts +2 -2
  351. package/dist/storage/drizzle/index.mjs +1 -1
  352. package/dist/storage/handlers/drizzle/index.d.mts +1 -1
  353. package/dist/storage/handlers/drizzle/index.mjs +1 -1
  354. package/dist/storage/handlers/index.d.mts +1 -1
  355. package/dist/storage/handlers/index.mjs +1 -1
  356. package/dist/testing/index.d.mts +1 -1
  357. package/dist/{tool-approval-service-rpV94znP.mjs → tool-approval-service-DchkAdAr.mjs} +1 -1
  358. package/dist/tools/index.d.mts +1 -1
  359. package/dist/{tools-oQPsY7v2.mjs → tools-r50UBPJ9.mjs} +1 -1
  360. package/dist/{transition-BeWq5nKg.d.mts → transition-CgsrmsfE.d.mts} +2 -2
  361. package/dist/{types-FNVbwd7z2.d.mts → types-Bs3Pm8rB2.d.mts} +1 -1
  362. package/dist/{types-CIEJ91wm.d.mts → types-DoxPKNUW.d.mts} +6 -6
  363. package/dist/{types-D4N56a4O.d.mts → types-Dswhi1L9.d.mts} +1 -1
  364. package/dist/ui-kernel/index.d.mts +2 -2
  365. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  366. package/dist/{version-3xWJDCeF.mjs → version-sDSWOMn_.mjs} +1 -1
  367. package/dist/{view-builder-BwGugMWz.d.mts → view-builder-BMpOHHlf.d.mts} +1 -1
  368. package/dist/{visibility-C5sLzqyS.mjs → visibility-syKffo3e.mjs} +1 -1
  369. package/dist/{worker-qgJToDTN.mjs → worker-DRQGyWAS.mjs} +1 -1
  370. package/dist/{worker-Csadr_du.mjs → worker-DzbPk2YI.mjs} +1 -1
  371. package/dist/{workflow-Cb2Pj1h3.mjs → workflow-D-yrAZW8.mjs} +1 -1
  372. package/dist/workflow-engine/execution-attempt-repository.d.mts +1 -1
  373. package/dist/workflow-engine/execution-attempt-repository.mjs +1 -1
  374. package/dist/workflow-engine/index.d.mts +69 -69
  375. package/dist/workflow-engine/index.mjs +1 -1
  376. package/dist/workflow-engine/package.d.mts +1 -1
  377. package/dist/workflow-engine/package.mjs +1 -1
  378. package/dist/workflow-engine/provider-operation.d.mts +1 -1
  379. package/dist/workflow-engine/testing/conformance.d.mts +1 -1
  380. package/dist/workflow-engine/testing/conformance.mjs +1 -1
  381. package/dist/workflow-engine/testing/index.d.mts +1 -1
  382. package/dist/workflow-engine/testing/index.mjs +1 -1
  383. package/dist/workflow-engine/testing/sqlite.d.mts +1 -1
  384. package/dist/workflow-engine/testing/sqlite.mjs +1 -1
  385. package/dist/workflow-engine/workflow-orchestrator.d.mts +1 -1
  386. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  387. package/dist/{workflow-transitions-BI7PbrXv.mjs → workflow-transitions-D5RvMSnf.mjs} +1 -1
  388. package/dist/workflow-worker-Drf-skvM.mjs +2 -0
  389. package/package.json +5 -1
  390. package/dist/artifact-nArLAotB.mjs +0 -1
  391. package/dist/authority-state-bootstrap-DnwkMieA.mjs +0 -1
  392. package/dist/bootstrap-start-client-Bdv-_2Q9.mjs +0 -1
  393. package/dist/model-B6t_-_sp.mjs +0 -1
  394. package/dist/namespace-D4zmxaC4.mjs +0 -1
  395. package/dist/schemas-FiFC_DI6.mjs +0 -1
  396. package/dist/workflow-worker-Db7EBUgh.mjs +0 -2
  397. package/dist/{adapter-binding-BU7STlfd.d.mts → adapter-binding-DhANVB-O.d.mts} +0 -0
  398. package/dist/{ajv-Dtk5hCZS.mjs → ajv-IlnfOGAj.mjs} +0 -0
  399. package/dist/{attach-error-B-vXQFLQ.mjs → attach-error-DOlUtquX.mjs} +0 -0
  400. package/dist/{attempt-fixtures-C-jQE_7B.mjs → attempt-fixtures-CMx-2OlG.mjs} +0 -0
  401. package/dist/{base-orchestrator-DXiejwQ3.d.mts → base-orchestrator-tAgnJAKu.d.mts} +0 -0
  402. package/dist/{capability-Bw4tsDQu.mjs → capability-BQHyskJB.mjs} +0 -0
  403. package/dist/{client-BwFqO0cG.d.mts → client-At2zn3yg.d.mts} +0 -0
  404. package/dist/{client-binary-version-verifier-DHBAzg3-.mjs → client-binary-version-verifier-DLziUQhw.mjs} +0 -0
  405. package/dist/{client-binary-version-verifier-DySlUy9m.d.mts → client-binary-version-verifier-EOj8xXqm.d.mts} +0 -0
  406. package/dist/{clients-namespace-Dh0SNZcQ.d.mts → clients-namespace-CVRwXq8f.d.mts} +0 -0
  407. package/dist/{config-namespace-CZqPIAWt.d.mts → config-namespace-D7GbrasR.d.mts} +0 -0
  408. package/dist/{create-static-mount-GSdckRQx.mjs → create-static-mount-BIH26VH8.mjs} +0 -0
  409. package/dist/{cross-spawn-Bx_VEdpd.mjs → cross-spawn-Bi05YtQQ.mjs} +0 -0
  410. package/dist/{cursor-storage-Co4itf44.mjs → cursor-storage-88xtgVAd.mjs} +0 -0
  411. package/dist/{definition-D3HjoK-4.d.mts → definition-VK1rERAp.d.mts} +0 -0
  412. package/dist/{definitions-CYZTuMdL.mjs → definitions-2T95Q-y6.mjs} +0 -0
  413. package/dist/{descriptor-to-package-CZLujoiv.mjs → descriptor-to-package-GVZk9ZGT.mjs} +0 -0
  414. package/dist/{drizzle-me-95ICP.mjs → drizzle-BrlzkYoe.mjs} +0 -0
  415. package/dist/{esm-DILYVXmW.mjs → esm-B3t30-13.mjs} +0 -0
  416. package/dist/{event-DmQPb5MB.mjs → event-DFI0F1Ws.mjs} +0 -0
  417. package/dist/{execution-attempt-repository-CJVlPFMM.d.mts → execution-attempt-repository-CE7UXmEi.d.mts} +0 -0
  418. package/dist/{execution-attempt-repository-DXyh1hgz.mjs → execution-attempt-repository-Z7oEBcgp.mjs} +0 -0
  419. package/dist/{extension-discovery-CZkaPQBo.d.mts → extension-discovery-B0ZL076T.d.mts} +0 -0
  420. package/dist/{extension-namespace-twXNwE4R.mjs → extension-namespace-CWfV3IiR.mjs} +0 -0
  421. package/dist/{extension-package-provenance-BzvG6rDO.mjs → extension-package-provenance-Dr7JXjLS.mjs} +0 -0
  422. package/dist/{facet-Cly0VpTI.mjs → facet-6tnSbjXc.mjs} +0 -0
  423. package/dist/{filesystem-service-UYYyRL2y.d.mts → filesystem-service-BWoNtujU.d.mts} +0 -0
  424. package/dist/{handler-BYQPNm8O.mjs → handler-CFT7_osu.mjs} +0 -0
  425. package/dist/{host-CiHn8Yog.mjs → host-D7v3YlDG.mjs} +0 -0
  426. package/dist/{identity-BULrIHmo.mjs → identity-CxMRRAXx.mjs} +0 -0
  427. package/dist/{index-B5kqAW7h.d.mts → index-8a41yDOl.d.mts} +0 -0
  428. package/dist/{index-DOkenapA.d.mts → index-BIlFSGnW.d.mts} +0 -0
  429. package/dist/{index-DNp9DP6W.d.mts → index-BL1F1xYB.d.mts} +0 -0
  430. package/dist/{index-BCKhrNLC.d.mts → index-BTHdi23O.d.mts} +0 -0
  431. package/dist/{index-Dmwnhnio2.d.mts → index-BU9HQ1vJ2.d.mts} +6 -6
  432. /package/dist/{index-BU8uFswE.d.mts → index-BcPO9w0j.d.mts} +0 -0
  433. /package/dist/{index-DcG3r0VL.d.mts → index-Bk0Xjk-B.d.mts} +0 -0
  434. /package/dist/{index-DGlSbpgS2.d.mts → index-Bn1JTbn_2.d.mts} +0 -0
  435. /package/dist/{index-DB4Xggtt.d.mts → index-CDA33y5A.d.mts} +0 -0
  436. /package/dist/{index-B9-1l1oh.d.mts → index-CSJOBx3H.d.mts} +0 -0
  437. /package/dist/{index-6wmqw_ng.d.mts → index-Ccaqmi0J.d.mts} +0 -0
  438. /package/dist/{index-zvoiT54b.d.mts → index-CjazerMN.d.mts} +0 -0
  439. /package/dist/{index-BrelUXBT.d.mts → index-DCHdW5g-.d.mts} +0 -0
  440. /package/dist/{index-C_R6ifn9.d.mts → index-DXSVC0bM.d.mts} +0 -0
  441. /package/dist/{index-D3_QOfke.d.mts → index-Du-eXjEN.d.mts} +0 -0
  442. /package/dist/{index-DbYjMWlj.d.mts → index-DwKPj8jD.d.mts} +0 -0
  443. /package/dist/{index-LsZNB_gb.d.mts → index-DwY1Mt9a.d.mts} +0 -0
  444. /package/dist/{index-C-6g2xzN.d.mts → index-DzHc6hsJ.d.mts} +0 -0
  445. /package/dist/{index-DQbcfjIb2.d.mts → index-krTCFThl2.d.mts} +0 -0
  446. /package/dist/{json-value-DyMQrwGz.d.mts → json-value-BKUDMT7k.d.mts} +0 -0
  447. /package/dist/{jsonl-transport-Dfv3RLzi.mjs → jsonl-transport-3yp3clGp.mjs} +0 -0
  448. /package/dist/{lib-BdfAJKDj.mjs → lib-DF6sgNx_.mjs} +0 -0
  449. /package/dist/{model-registry-B7ThN_s3.mjs → model-registry-BTjKBCCw.mjs} +0 -0
  450. /package/dist/{model-registry-DlUErRRt.mjs → model-registry-CAqJYbXg.mjs} +0 -0
  451. /package/dist/{modes-CyG4sgs_.mjs → modes-Bo9Vv5c9.mjs} +0 -0
  452. /package/dist/{namespace-ChjzkJIl.mjs → namespace-0TfAY2J7.mjs} +0 -0
  453. /package/dist/{namespace-De25c2ds.d.mts → namespace-B3MnuAqp.d.mts} +0 -0
  454. /package/dist/{namespace-BFlSY040.mjs → namespace-BCSJz417.mjs} +0 -0
  455. /package/dist/{namespace-c5XPzbf3.d.mts → namespace-BFZ4HTH-.d.mts} +0 -0
  456. /package/dist/{namespace-DAbT1F_n.d.mts → namespace-BHb_9sh4.d.mts} +0 -0
  457. /package/dist/{namespace-BQ7eiQwr.d.mts → namespace-BNNFD-ul.d.mts} +0 -0
  458. /package/dist/{namespace-69c5HXtL.d.mts → namespace-BgaVgd00.d.mts} +0 -0
  459. /package/dist/{namespace-CBf5xG_A.d.mts → namespace-BiEV44Mk.d.mts} +0 -0
  460. /package/dist/{namespace-B8kUQpwo.mjs → namespace-CDoyzyV4.mjs} +0 -0
  461. /package/dist/{namespace-B7fMkHmy.d.mts → namespace-CjmNxtr1.d.mts} +0 -0
  462. /package/dist/{namespace-CIF_1OWi.d.mts → namespace-Czr38fiF.d.mts} +0 -0
  463. /package/dist/{namespace-C9d0aoYT.mjs → namespace-DORNUF0_.mjs} +0 -0
  464. /package/dist/{namespace-QXCaZK3I.mjs → namespace-DX3QsYpv.mjs} +0 -0
  465. /package/dist/{namespace-Cb0XKb4v.d.mts → namespace-De6ORL69.d.mts} +0 -0
  466. /package/dist/{namespace-ZN49zpqw.mjs → namespace-Dyxpur8_.mjs} +0 -0
  467. /package/dist/{namespace-CUXZS_Ia.d.mts → namespace-btfJrUf6.d.mts} +0 -0
  468. /package/dist/{namespace-DAW4OY3-.d.mts → namespace-fEBskugJ.d.mts} +0 -0
  469. /package/dist/{out-Cn6vBxlH.mjs → out-og8659Ny.mjs} +0 -0
  470. /package/dist/{ownership-recovery-guard-Ce9-C5Sa.mjs → ownership-recovery-guard-CYA5CsiO.mjs} +0 -0
  471. /package/dist/{package-D4eLGGv4.mjs → package-BecmlOXC.mjs} +0 -0
  472. /package/dist/{platform-C-fDsuEl.mjs → platform-BdLHWgVc.mjs} +0 -0
  473. /package/dist/{providers-DVlsnJaY.mjs → providers-DGTA-lki.mjs} +0 -0
  474. /package/dist/{providers-namespace-DcPil5uz.d.mts → providers-namespace-Bming6U8.d.mts} +0 -0
  475. /package/dist/{quick-lru-CVryNCTx.mjs → quick-lru-bVGGo5bq.mjs} +0 -0
  476. /package/dist/{registry-Q9gCZtxz.mjs → registry-Cu3eD3UY.mjs} +0 -0
  477. /package/dist/{runtime-inputs-CMjGjK7W.d.mts → runtime-inputs-DeOea-ab.d.mts} +0 -0
  478. /package/dist/{schema-DIgKUfuF.d.mts → schema-DFCBjTB7.d.mts} +0 -0
  479. /package/dist/{schema-introspection-CSnLZJpC.mjs → schema-introspection-BsWP1vGC.mjs} +0 -0
  480. /package/dist/{schema-DIHGEQx3.mjs → schema-mXXJcaQT.mjs} +0 -0
  481. /package/dist/{schemas-BKnJj2i-.mjs → schemas-7fHmNUQc.mjs} +0 -0
  482. /package/dist/{schemas-BFgsIiSb.mjs → schemas-BE-gfjGI.mjs} +0 -0
  483. /package/dist/{schemas-CM3Ejp-n.d.mts → schemas-BLy33xay.d.mts} +0 -0
  484. /package/dist/{schemas-Ge_bamoP.d.mts → schemas-BkCqhK3X.d.mts} +0 -0
  485. /package/dist/{schemas-I9dZtAkj.d.mts → schemas-CikbhFMx.d.mts} +0 -0
  486. /package/dist/{schemas-NwKrrrPF.d.mts → schemas-Cz7H2f7S.d.mts} +0 -0
  487. /package/dist/{schemas-Vv0GtBaZ.d.mts → schemas-DTBWnWjN.d.mts} +0 -0
  488. /package/dist/{schemas-COnD70WD.d.mts → schemas-DYIVJDlx.d.mts} +0 -0
  489. /package/dist/{schemas-qbaSxHDL.d.mts → schemas-DqWwz4eR.d.mts} +0 -0
  490. /package/dist/{schemas-DTyZjKQf2.d.mts → schemas-GyKYcV-Z2.d.mts} +0 -0
  491. /package/dist/{schemas-CnFVygzI.mjs → schemas-HffXbw8C.mjs} +0 -0
  492. /package/dist/{schemas-CbhvgFQs.mjs → schemas-MIYusvwn.mjs} +0 -0
  493. /package/dist/{schemas-BapfTRqp.mjs → schemas-NYUz8K9Q.mjs} +0 -0
  494. /package/dist/{semver-D_D2mA48.mjs → semver-_h8-BJ8k.mjs} +0 -0
  495. /package/dist/{server-lifecycle-BPAN-b0i.d.mts → server-lifecycle-_m_x1_TC.d.mts} +0 -0
  496. /package/dist/{shared-schemas-kUho6Kmw.mjs → shared-schemas-CaL1iEk6.mjs} +0 -0
  497. /package/dist/{src-Du_285FN.mjs → src-DdaPoQOD.mjs} +0 -0
  498. /package/dist/{storage-namespace-Dtz2G1if.mjs → storage-namespace-DBuKMBth.mjs} +0 -0
  499. /package/dist/{storage-namespace-definition-BJCbqVWz.mjs → storage-namespace-definition-4UYuij1r.mjs} +0 -0
  500. /package/dist/{storage-namespace-definition-D6soSjKE.d.mts → storage-namespace-definition-CsaZPU3n.d.mts} +0 -0
  501. /package/dist/{storage-namespace-C9oFExfb.d.mts → storage-namespace-zRXWqAfO.d.mts} +0 -0
  502. /package/dist/{supports-color-BNmyqLq0.mjs → supports-color-DG_rcVqJ.mjs} +0 -0
  503. /package/dist/{telemetry-CUkZrhW6.mjs → telemetry-BLYrkonr.mjs} +0 -0
  504. /package/dist/{timeout-DeBYTGBR.mjs → timeout-d0dzIY3V.mjs} +0 -0
  505. /package/dist/{tray-menu-service-TWrmvXSo.mjs → tray-menu-service-BGwXKJYr.mjs} +0 -0
  506. /package/dist/{types-D9GJ7FyQ.mjs → types-Bh2fQoxM.mjs} +0 -0
  507. /package/dist/{types-BOsf2SVm.d.mts → types-CccTiXH2.d.mts} +0 -0
  508. /package/dist/{types-DZvkUmHS.d.mts → types-DXGVwrQn.d.mts} +0 -0
  509. /package/dist/{types-BZnJ_4e2.d.mts → types-DjxvRcX6.d.mts} +0 -0
  510. /package/dist/{types-CWgYlxjU.d.mts → types-nor1SQLZ.d.mts} +0 -0
  511. /package/dist/{ui-config-9hlZAJOS.mjs → ui-config-CsH94fwa.mjs} +0 -0
  512. /package/dist/{variant-73kFgYBK.mjs → variant-BZ9UcJBi.mjs} +0 -0
  513. /package/dist/{window-registry-Bvjvpwhn.d.mts → window-registry-DQ7udUzI.d.mts} +0 -0
  514. /package/dist/{window-registry-CzAwaPKL.mjs → window-registry-DQkv5wM9.mjs} +0 -0
  515. /package/dist/{zod-json-schema-B1mZz7S4.mjs → zod-json-schema-DGWHUOK0.mjs} +0 -0
@@ -1 +1 @@
1
- import{$ as e,$t as t,A as n,At as r,B as i,Bt as a,C as o,Cn as s,Ct as c,D as l,Dt as u,E as d,Et as f,F as p,Ft as m,G as h,Gt as g,H as _,Ht as v,I as y,It as b,J as x,Jt as S,K as C,Kt as w,L as T,Lt as E,M as D,Mt as O,N as k,Nt as A,O as j,Ot as M,P as N,Pt as P,Q as F,Qt as I,R as L,Rt as R,S as z,Sn as B,St as V,T as H,Tn as U,Tt as W,U as G,Ut as K,V as q,Vt as J,W as Y,Wt as X,X as Z,Xt as Q,Y as $,Yt as ee,Z as te,Zt as ne,_ as re,_n as ie,_t as ae,a as oe,an as se,at as ce,b as le,bn as ue,bt as de,c as fe,cn as pe,ct as me,d as he,dn as ge,dt as _e,en as ve,et as ye,f as be,fn as xe,ft as Se,g as Ce,gn as we,gt as Te,h as Ee,hn as De,ht as Oe,i as ke,in as Ae,it as je,j as Me,jt as Ne,k as Pe,kt as Fe,l as Ie,ln as Le,lt as Re,m as ze,mn as Be,mt as Ve,n as He,nn as Ue,nt as We,o as Ge,on as Ke,ot as qe,p as Je,pn as Ye,pt as Xe,q as Ze,qt as Qe,r as $e,rn as et,rt as tt,s as nt,sn as rt,st as it,t as at,tn as ot,tt as st,u as ct,un as lt,ut,v as dt,vn as ft,vt as pt,w as mt,wn as ht,wt as gt,x as _t,xn as vt,xt as yt,y as bt,yn as xt,yt as St,z as Ct,zt as wt}from"../../workflow-Cb2Pj1h3.mjs";export{Ze as ArtifactPublishTargetSchema,x as ArtifactQuerySourceSchema,Ee as AutomationWorkflowTrigger,Ce as BUS_EVENT_AUTOMATION_TRIGGER_KIND,$ as BusEventPublishTargetSchema,re as BusEventWorkflowTrigger,Z as BusRequestSourceSchema,dt as CRON_AUTOMATION_TRIGGER_KIND,j as CompleteExternalExecutionRequestSchema,te as ContextBundleSchema,F as ContextPublishTargetSchema,e as ContextSourceSchema,bt as CronAutomationTriggerParamsSchema,le as CronWorkflowTrigger,_t as DEFAULT_CRON_TIMEZONE,V as EXECUTIONS_BY_ARTIFACT_REFS_DEFAULT_LIMIT_PER_REF,c as EXECUTIONS_BY_ARTIFACT_REFS_MAX_LIMIT_PER_REF,gt as EXECUTIONS_BY_ARTIFACT_REFS_MAX_REFS,W as EXECUTION_LIST_DEFAULT_LIMIT,f as EXECUTION_LIST_MAX_LIMIT,u as EXECUTION_LIST_MIN_LIMIT,Pe as EXTERNAL_EXECUTION_ID_PREFIX,je as ExecutionLinkListQuerySchema,ce as ExecutionLinkSchema,qe as ExecutionLinkTypeSchema,M as ExecutionListCursorSchema,Fe as ExecutionListQuerySchema,r as ExecutionStatusSchema,Ne as ExecutionsByArtifactRefsQuerySchema,n as ExternalExecutionFrameCompletionSchema,Me as ExternalExecutionFrameStartSchema,O as GateInstanceListQuerySchema,st as JsonPatchOperationSchema,A as LoopGateOutcomeSchema,D as RegisterExternalExecutionRequestSchema,ye as ResolvedContextEntrySchema,it as SpanRecordSchema,me as SpanStatusSchema,Re as StepCancelPayloadSchema,ut as StepRunConfigSchema,_e as StepRunResultSchema,Se as StepRunnerBusAuthSchema,Xe as StepRunnerPlatformDefaultsSchema,Ve as StepTelemetrySchema,Oe as TokenUsageSchema,at as TransitionActionInvocationSchema,He as TransitionConditionSchema,$e as TransitionEventTypeSchema,ke as TransitionRuleDefinitionSchema,Te as WORKFLOW_CANCELLED_REASON,k as WorkLogArtifactWriteSchema,N as WorkLogDynamicNodeMaterializationSchema,p as WorkLogExecutionSummarySchema,y as WorkLogFrameEntrySchema,T as WorkLogGateEventSchema,L as WorkLogStatsSchema,Ct as WorkLogUsageSummarySchema,q as WorkerContributionManifestSchema,P as WorkflowArtifactBindingSchema,s as WorkflowArtifactRefSchema,m as WorkflowArtifactWriteDeclarationSchema,b as WorkflowAutomationTriggerBindingSchema,ae as WorkflowCancelPayloadSchema,E as WorkflowConditionSchema,R as WorkflowDefinitionProvenanceSchema,wt as WorkflowDefinitionSchema,a as WorkflowDelegateAgentNodeSchema,lt as WorkflowDelegateEconomicsSchema,ge as WorkflowDelegateResultFinalizationGatewayRequestSchema,xe as WorkflowDelegateResultFinalizationRequestSchema,Ye as WorkflowDelegateResultFinalizationResponseSchema,Be as WorkflowDelegateResultFinalizerIdSchema,J as WorkflowDelegateRoleNodeSchema,De as WorkflowDelegateToolObservationSchema,v as WorkflowDynamicRegionSchema,We as WorkflowError,tt as WorkflowErrorCode,K as WorkflowExecutionSchema,X as WorkflowExecutionScopeSchema,we as WorkflowFinalizationClaimSchema,ie as WorkflowFinalizationDeliveryResultSchema,ft as WorkflowFinalizationIntentSchema,xt as WorkflowFinalizerIdSchema,g as WorkflowFrameStateSchema,w as WorkflowGateInstanceSchema,Qe as WorkflowGateNodeSchema,S as WorkflowGateStatusSchema,ee as WorkflowIterateChainNodeSchema,Q as WorkflowIterateNodeSchema,ne as WorkflowListQuerySchema,I as WorkflowLoopNodeSchema,mt as WorkflowNamespace,t as WorkflowNodeBaseSchema,ve as WorkflowNodeSchema,ot as WorkflowNodeTypeSchema,Ue as WorkflowParallelModeSchema,et as WorkflowParallelNodeSchema,H as WorkflowProgressUpdateSchema,Ae as WorkflowResolvedAgentSchema,se as WorkflowResolvedRoleSchema,i as WorkflowRunContextSchema,_ as WorkflowRunResultSchema,pt as WorkflowRunnerStepTypeSchema,d as WorkflowSchemas,Ke as WorkflowSequenceNodeSchema,rt as WorkflowSourceLocationSchema,pe as WorkflowStateDefinitionSchema,Le as WorkflowStationNodeSchema,St as WorkflowStepTypeSchema,l as WorkflowSubjects,ue as WorkflowTerminalStatusSchema,G as WorkflowTriggerModeSchema,Y as WorkflowWorkerBusAuthSchema,h as WorkflowWorkerConfigSchema,C as WorkflowWorkerSourceSchema,de as createStepCancelSubject,yt as createWorkflowCancelSubject,vt as createWorkflowDelegateResultFinalizerNamespace,B as createWorkflowFinalizerNamespace,Ge as defineWorkflow,oe as defineWorkflowBundle,nt as delegateToAgent,fe as delegateToRole,Ie as gate,ct as iterate,he as iterateChain,be as loop,ht as parseArtifactRef,z as projectWorkflowGraph,U as serializeArtifactRef,Je as station,ze as validateNoNestedLoops,o as walkWorkflowDefinition};
1
+ import{$ as e,$t as t,A as n,At as r,B as i,Bt as a,C as o,Cn as s,Ct as c,D as l,Dt as u,E as d,Et as f,F as p,Ft as m,G as h,Gt as g,H as _,Ht as v,I as y,It as b,J as x,Jt as S,K as C,Kt as w,L as T,Lt as E,M as D,Mt as O,N as k,Nt as A,O as j,Ot as M,P as N,Pt as P,Q as F,Qt as I,R as L,Rt as R,S as z,Sn as B,St as V,T as H,Tn as U,Tt as W,U as G,Ut as K,V as q,Vt as J,W as Y,Wt as X,X as Z,Xt as Q,Y as $,Yt as ee,Z as te,Zt as ne,_ as re,_n as ie,_t as ae,a as oe,an as se,at as ce,b as le,bn as ue,bt as de,c as fe,cn as pe,ct as me,d as he,dn as ge,dt as _e,en as ve,et as ye,f as be,fn as xe,ft as Se,g as Ce,gn as we,gt as Te,h as Ee,hn as De,ht as Oe,i as ke,in as Ae,it as je,j as Me,jt as Ne,k as Pe,kt as Fe,l as Ie,ln as Le,lt as Re,m as ze,mn as Be,mt as Ve,n as He,nn as Ue,nt as We,o as Ge,on as Ke,ot as qe,p as Je,pn as Ye,pt as Xe,q as Ze,qt as Qe,r as $e,rn as et,rt as tt,s as nt,sn as rt,st as it,t as at,tn as ot,tt as st,u as ct,un as lt,ut,v as dt,vn as ft,vt as pt,w as mt,wn as ht,wt as gt,x as _t,xn as vt,xt as yt,y as bt,yn as xt,yt as St,z as Ct,zt as wt}from"../../workflow-D-yrAZW8.mjs";export{Ze as ArtifactPublishTargetSchema,x as ArtifactQuerySourceSchema,Ee as AutomationWorkflowTrigger,Ce as BUS_EVENT_AUTOMATION_TRIGGER_KIND,$ as BusEventPublishTargetSchema,re as BusEventWorkflowTrigger,Z as BusRequestSourceSchema,dt as CRON_AUTOMATION_TRIGGER_KIND,j as CompleteExternalExecutionRequestSchema,te as ContextBundleSchema,F as ContextPublishTargetSchema,e as ContextSourceSchema,bt as CronAutomationTriggerParamsSchema,le as CronWorkflowTrigger,_t as DEFAULT_CRON_TIMEZONE,V as EXECUTIONS_BY_ARTIFACT_REFS_DEFAULT_LIMIT_PER_REF,c as EXECUTIONS_BY_ARTIFACT_REFS_MAX_LIMIT_PER_REF,gt as EXECUTIONS_BY_ARTIFACT_REFS_MAX_REFS,W as EXECUTION_LIST_DEFAULT_LIMIT,f as EXECUTION_LIST_MAX_LIMIT,u as EXECUTION_LIST_MIN_LIMIT,Pe as EXTERNAL_EXECUTION_ID_PREFIX,je as ExecutionLinkListQuerySchema,ce as ExecutionLinkSchema,qe as ExecutionLinkTypeSchema,M as ExecutionListCursorSchema,Fe as ExecutionListQuerySchema,r as ExecutionStatusSchema,Ne as ExecutionsByArtifactRefsQuerySchema,n as ExternalExecutionFrameCompletionSchema,Me as ExternalExecutionFrameStartSchema,O as GateInstanceListQuerySchema,st as JsonPatchOperationSchema,A as LoopGateOutcomeSchema,D as RegisterExternalExecutionRequestSchema,ye as ResolvedContextEntrySchema,it as SpanRecordSchema,me as SpanStatusSchema,Re as StepCancelPayloadSchema,ut as StepRunConfigSchema,_e as StepRunResultSchema,Se as StepRunnerBusAuthSchema,Xe as StepRunnerPlatformDefaultsSchema,Ve as StepTelemetrySchema,Oe as TokenUsageSchema,at as TransitionActionInvocationSchema,He as TransitionConditionSchema,$e as TransitionEventTypeSchema,ke as TransitionRuleDefinitionSchema,Te as WORKFLOW_CANCELLED_REASON,k as WorkLogArtifactWriteSchema,N as WorkLogDynamicNodeMaterializationSchema,p as WorkLogExecutionSummarySchema,y as WorkLogFrameEntrySchema,T as WorkLogGateEventSchema,L as WorkLogStatsSchema,Ct as WorkLogUsageSummarySchema,q as WorkerContributionManifestSchema,P as WorkflowArtifactBindingSchema,s as WorkflowArtifactRefSchema,m as WorkflowArtifactWriteDeclarationSchema,b as WorkflowAutomationTriggerBindingSchema,ae as WorkflowCancelPayloadSchema,E as WorkflowConditionSchema,R as WorkflowDefinitionProvenanceSchema,wt as WorkflowDefinitionSchema,a as WorkflowDelegateAgentNodeSchema,lt as WorkflowDelegateEconomicsSchema,ge as WorkflowDelegateResultFinalizationGatewayRequestSchema,xe as WorkflowDelegateResultFinalizationRequestSchema,Ye as WorkflowDelegateResultFinalizationResponseSchema,Be as WorkflowDelegateResultFinalizerIdSchema,J as WorkflowDelegateRoleNodeSchema,De as WorkflowDelegateToolObservationSchema,v as WorkflowDynamicRegionSchema,We as WorkflowError,tt as WorkflowErrorCode,K as WorkflowExecutionSchema,X as WorkflowExecutionScopeSchema,we as WorkflowFinalizationClaimSchema,ie as WorkflowFinalizationDeliveryResultSchema,ft as WorkflowFinalizationIntentSchema,xt as WorkflowFinalizerIdSchema,g as WorkflowFrameStateSchema,w as WorkflowGateInstanceSchema,Qe as WorkflowGateNodeSchema,S as WorkflowGateStatusSchema,ee as WorkflowIterateChainNodeSchema,Q as WorkflowIterateNodeSchema,ne as WorkflowListQuerySchema,I as WorkflowLoopNodeSchema,mt as WorkflowNamespace,t as WorkflowNodeBaseSchema,ve as WorkflowNodeSchema,ot as WorkflowNodeTypeSchema,Ue as WorkflowParallelModeSchema,et as WorkflowParallelNodeSchema,H as WorkflowProgressUpdateSchema,Ae as WorkflowResolvedAgentSchema,se as WorkflowResolvedRoleSchema,i as WorkflowRunContextSchema,_ as WorkflowRunResultSchema,pt as WorkflowRunnerStepTypeSchema,d as WorkflowSchemas,Ke as WorkflowSequenceNodeSchema,rt as WorkflowSourceLocationSchema,pe as WorkflowStateDefinitionSchema,Le as WorkflowStationNodeSchema,St as WorkflowStepTypeSchema,l as WorkflowSubjects,ue as WorkflowTerminalStatusSchema,G as WorkflowTriggerModeSchema,Y as WorkflowWorkerBusAuthSchema,h as WorkflowWorkerConfigSchema,C as WorkflowWorkerSourceSchema,de as createStepCancelSubject,yt as createWorkflowCancelSubject,vt as createWorkflowDelegateResultFinalizerNamespace,B as createWorkflowFinalizerNamespace,Ge as defineWorkflow,oe as defineWorkflowBundle,nt as delegateToAgent,fe as delegateToRole,Ie as gate,ct as iterate,he as iterateChain,be as loop,ht as parseArtifactRef,z as projectWorkflowGraph,U as serializeArtifactRef,Je as station,ze as validateNoNestedLoops,o as walkWorkflowDefinition};
@@ -1,5 +1,5 @@
1
- import { l as AutomationTriggerType } from "./definition-Bs5hzhsT.mjs";
2
- import { n as NodeExtensionContext, t as ExtensionContext } from "./extension-context-Cx8CetW3.mjs";
1
+ import { l as AutomationTriggerType } from "./definition-6d5JBi55.mjs";
2
+ import { n as NodeExtensionContext, t as ExtensionContext } from "./extension-context-DDfSMPat.mjs";
3
3
 
4
4
  //#region core/contracts/src/automation-trigger/contribution.d.ts
5
5
  /**
@@ -1,4 +1,4 @@
1
- import { l as JsonValue$1 } from "./json-value-DyMQrwGz.mjs";
1
+ import { l as JsonValue$1 } from "./json-value-BKUDMT7k.mjs";
2
2
  import { z } from "zod";
3
3
  import * as _$_makaio_contracts0 from "@makaio/framework/contracts";
4
4
 
@@ -1 +1 @@
1
- import{n as e}from"./json-value-DM-EjTC1.mjs";import{i as t,t as n}from"./visibility-C5sLzqyS.mjs";import{f as r}from"./definitions-CYZTuMdL.mjs";import{z as i}from"zod";const a=i.enum([`anthropic`,`openai`]),o=i.object({anthropic:i.string().url(),openai:i.string().url()}).partial().refine(e=>Object.keys(e).length>0,{message:`At least one protocol endpoint must be specified`}),s=e,c=i.object({id:i.string().min(1),name:i.string().min(1),description:i.string().optional(),endpoints:o.optional(),defaultModel:i.string().optional(),fastModel:i.string().optional(),primaryTestModel:i.string().optional(),secondaryTestModel:i.string().optional(),availableModels:i.array(t).default([]),defaultModelFilterMode:n.optional(),authMethods:r,capabilities:s.optional()}).strict();export{c as i,a as n,s as r,o as t};
1
+ import{n as e}from"./json-value-DM-EjTC1.mjs";import{i as t,t as n}from"./visibility-syKffo3e.mjs";import{f as r}from"./definitions-2T95Q-y6.mjs";import{z as i}from"zod";const a=i.enum([`anthropic`,`openai`]),o=i.object({anthropic:i.string().url(),openai:i.string().url()}).partial().refine(e=>Object.keys(e).length>0,{message:`At least one protocol endpoint must be specified`}),s=e,c=i.object({id:i.string().min(1),name:i.string().min(1),description:i.string().optional(),endpoints:o.optional(),defaultModel:i.string().optional(),fastModel:i.string().optional(),primaryTestModel:i.string().optional(),secondaryTestModel:i.string().optional(),availableModels:i.array(t).default([]),defaultModelFilterMode:n.optional(),authMethods:r,capabilities:s.optional()}).strict();export{c as i,a as n,s as r,o as t};
@@ -1 +1 @@
1
- import{t as e}from"./descriptor-to-package-CZLujoiv.mjs";import{t}from"./jsonl-transport-Dfv3RLzi.mjs";import{z as n}from"zod";import{createBusNamespace as r}from"@makaio/framework/core";const i={idle:[`starting`],starting:[`running`,`crashed`,`stopping`],running:[`stopping`,`crashed`],stopping:[`stopped`],stopped:[`starting`],crashed:[`starting`,`stopped`]};function a(e,t){if(!i[e].includes(t))throw Error(`Invalid state transition: ${e} → ${t}`)}function o(e){return new Promise(t=>{if(e.exitCode!==null||e.signalCode!==null){t(!0);return}e.once(`exit`,()=>t(!0))})}function s(e){let{spawn:n,healthTimeoutMs:r=3e4,shutdownTimeoutMs:i=5e3,restartPolicy:s=`none`,onReady:c,onExit:l,onStateChange:u}=e,d=`idle`,f;function p(e){a(d,e),d=e,u?.(d)}function m(e){let t=f;if(f=void 0,t?.close(),d===`stopping`){p(`stopped`),l?.(e);return}if(d===`running`){if(e!==0){p(`crashed`),l?.(e),(s===`on-crash`||s===`always`)&&h().catch(e=>{console.error(`[ProcessLifecycle:${n.processName??n.command}] Restart failed:`,e instanceof Error?e.message:e)});return}p(`stopping`),p(`stopped`),l?.(e),s===`always`&&h().catch(e=>{console.error(`[ProcessLifecycle:${n.processName??n.command}] Restart failed:`,e instanceof Error?e.message:e)})}}async function h(){p(`starting`);let e=t(n);f=e;let i=e.process;await new Promise((t,a)=>{let o=!1;function s(e){o||(o=!0,clearTimeout(u),d(),i.off(`exit`,h),e())}let u=setTimeout(()=>{s(()=>{e.close(),f=void 0;try{p(`crashed`)}catch{}a(Error(`Process health timeout after ${r}ms: ${n.processName??n.command}`))})},r),d=e.onMessage(()=>{s(()=>{try{p(`running`)}catch(e){a(e);return}c?.(),i.once(`exit`,m),t()})});function h(e){s(()=>{f=void 0;try{p(`crashed`)}catch{}l?.(e),a(Error(`Process exited with code ${String(e)} before signaling readiness`))})}i.once(`exit`,h)})}async function g(){if(d===`stopped`||d===`idle`)return;if(d===`crashed`){f?.close(),f=void 0,p(`stopped`);return}if(d!==`stopping`&&p(`stopping`),!f){d===`stopping`&&p(`stopped`);return}let e=f,t=e.process;if(t.exitCode!==null){e.close(),f===e&&(f=void 0),d===`stopping`&&p(`stopped`);return}t.kill(`SIGTERM`);let n;await Promise.race([o(t).then(()=>(clearTimeout(n),!0)),new Promise(e=>{n=setTimeout(()=>e(!1),i)})])||(t.kill(`SIGKILL`),await o(t)),d===`stopping`&&p(`stopped`),e.close(),f===e&&(f=void 0)}return{get transport(){return f},get state(){return d},start:h,stop:g}}const c=n.object({dataDir:n.string().optional(),machineId:n.string().optional(),makaioHome:n.string().optional(),platform:n.string().optional(),username:n.string().optional()}),l={init:{request:n.object({config:n.unknown().optional(),context:c.optional()}),response:n.object({ready:n.boolean()})},ready:n.object({ready:n.boolean(),config:n.unknown().optional(),context:c.optional()}).passthrough(),destroy:{request:n.object({reason:n.string().optional()}),response:n.object({stopped:n.boolean()})},stopped:n.object({stopped:n.boolean()}).passthrough()};function u(e,t){return e.bus.registerNamespace(r(`extension.${t}`,l)).subjects}function d(e,t){let n;return()=>(n??=u(e,t),n)}function f(e){return{dataDir:e.dataDir,machineId:e.machineId,makaioHome:e.makaioHome,platform:e.platform,username:e.username}}var p=class{descriptor;ctx;extensionPath;getLifecycleSubjects;transport=null;unregister=null;constructor(e,t,n){this.descriptor=e,this.ctx=t,this.extensionPath=n,this.getLifecycleSubjects=d(t,e.name)}async init(){let{StdioServerTransport:e}=await import(`./src-Dlpw-Gh5.mjs`),{transport:t}=this.descriptor,n=this.getLifecycleSubjects(),r=new e({name:this.descriptor.name,spawn:{command:t.command,args:t.args,cwd:this.extensionPath,env:t.env,processName:this.descriptor.name}}),i=null;try{let e=this.ctx.bus.registerTransport(r);i=e.unregister,await r.connect(),await r.ready,await e.ready,this.transport=r,this.unregister=i,await this.ctx.bus.request(n.init,{config:this.ctx.config??this.descriptor.config?.defaults,context:f(this.ctx)},{timeout:t.healthTimeoutMs})}catch(e){throw i?.(),await r.disconnect(),this.transport=null,this.unregister=null,e}}async destroy(){if(this.transport!==null){let e=this.getLifecycleSubjects();try{await this.ctx.bus.request(e.destroy,{reason:`runtime-shutdown`},{timeout:this.descriptor.transport.shutdownTimeoutMs})}catch(e){console.warn(`[extensions] ${this.descriptor.name}: detached destroy lifecycle request did not complete before disconnect:`,e instanceof Error?e.message:e)}}this.unregister?.(),this.unregister=null,await this.transport?.disconnect(),this.transport=null}},m=class{descriptor;ctx;extensionPath;getLifecycleSubjects;lifecycle=null;constructor(e,t,n){this.descriptor=e,this.ctx=t,this.extensionPath=n,this.getLifecycleSubjects=d(t,e.name)}async init(){let{transport:e}=this.descriptor;if(!this.ctx.busUrl)throw Error(`[extensions] ${this.descriptor.name}: bus-websocket transport requires NodeExtensionContext.busUrl`);let t=this.getLifecycleSubjects();this.lifecycle=s({spawn:{command:e.command,args:e.args,cwd:this.extensionPath,env:{...e.env,MAKAIO_BUS_TRANSPORT:`websocket`,MAKAIO_BUS_URL:this.ctx.busUrl,MAKAIO_EXTENSION_NAME:this.descriptor.name},processName:this.descriptor.name},healthTimeoutMs:e.healthTimeoutMs,shutdownTimeoutMs:e.shutdownTimeoutMs,restartPolicy:`restartPolicy`in e?e.restartPolicy:void 0});try{await this.lifecycle.start(),await this.ctx.bus.request(t.init,{config:this.ctx.config??this.descriptor.config?.defaults,context:f(this.ctx)},{timeout:e.healthTimeoutMs})}catch(e){throw await this.lifecycle.stop(),this.lifecycle=null,e}}async destroy(){if(this.lifecycle!==null){let e=this.getLifecycleSubjects();try{await this.ctx.bus.request(e.destroy,{reason:`runtime-shutdown`},{timeout:this.descriptor.transport.shutdownTimeoutMs})}catch(e){console.warn(`[extensions] ${this.descriptor.name}: detached destroy lifecycle request did not complete before process stop:`,e instanceof Error?e.message:e)}await this.lifecycle.stop(),this.lifecycle=null}}},h=class{descriptor;ctx;extensionPath;bridge=null;constructor(e,t,n){this.descriptor=e,this.ctx=t,this.extensionPath=n}async init(){let{startMcpClientBridge:e}=await import(`@makaio/framework/mcp-http-server`),{transport:t}=this.descriptor;this.bridge=await e({command:t.command,args:t.args,env:t.env,cwd:this.extensionPath,extensionName:this.descriptor.name,bus:this.ctx.bus})}async destroy(){this.bridge!==null&&(await this.bridge.close(),this.bridge=null)}};function g(t,n){return{...e(t),create(e){return t.transport.type===`bus-stdio`?new p(t,e,n):t.transport.type===`mcp-stdio`?new h(t,e,n):new m(t,e,n)}}}export{g as createDetachedExtensionPackage};
1
+ import{t as e}from"./descriptor-to-package-GVZk9ZGT.mjs";import{t}from"./jsonl-transport-3yp3clGp.mjs";import{z as n}from"zod";import{createBusNamespace as r}from"@makaio/framework/core";const i={idle:[`starting`],starting:[`running`,`crashed`,`stopping`],running:[`stopping`,`crashed`],stopping:[`stopped`],stopped:[`starting`],crashed:[`starting`,`stopped`]};function a(e,t){if(!i[e].includes(t))throw Error(`Invalid state transition: ${e} → ${t}`)}function o(e){return new Promise(t=>{if(e.exitCode!==null||e.signalCode!==null){t(!0);return}e.once(`exit`,()=>t(!0))})}function s(e){let{spawn:n,healthTimeoutMs:r=3e4,shutdownTimeoutMs:i=5e3,restartPolicy:s=`none`,onReady:c,onExit:l,onStateChange:u}=e,d=`idle`,f;function p(e){a(d,e),d=e,u?.(d)}function m(e){let t=f;if(f=void 0,t?.close(),d===`stopping`){p(`stopped`),l?.(e);return}if(d===`running`){if(e!==0){p(`crashed`),l?.(e),(s===`on-crash`||s===`always`)&&h().catch(e=>{console.error(`[ProcessLifecycle:${n.processName??n.command}] Restart failed:`,e instanceof Error?e.message:e)});return}p(`stopping`),p(`stopped`),l?.(e),s===`always`&&h().catch(e=>{console.error(`[ProcessLifecycle:${n.processName??n.command}] Restart failed:`,e instanceof Error?e.message:e)})}}async function h(){p(`starting`);let e=t(n);f=e;let i=e.process;await new Promise((t,a)=>{let o=!1;function s(e){o||(o=!0,clearTimeout(u),d(),i.off(`exit`,h),e())}let u=setTimeout(()=>{s(()=>{e.close(),f=void 0;try{p(`crashed`)}catch{}a(Error(`Process health timeout after ${r}ms: ${n.processName??n.command}`))})},r),d=e.onMessage(()=>{s(()=>{try{p(`running`)}catch(e){a(e);return}c?.(),i.once(`exit`,m),t()})});function h(e){s(()=>{f=void 0;try{p(`crashed`)}catch{}l?.(e),a(Error(`Process exited with code ${String(e)} before signaling readiness`))})}i.once(`exit`,h)})}async function g(){if(d===`stopped`||d===`idle`)return;if(d===`crashed`){f?.close(),f=void 0,p(`stopped`);return}if(d!==`stopping`&&p(`stopping`),!f){d===`stopping`&&p(`stopped`);return}let e=f,t=e.process;if(t.exitCode!==null){e.close(),f===e&&(f=void 0),d===`stopping`&&p(`stopped`);return}t.kill(`SIGTERM`);let n;await Promise.race([o(t).then(()=>(clearTimeout(n),!0)),new Promise(e=>{n=setTimeout(()=>e(!1),i)})])||(t.kill(`SIGKILL`),await o(t)),d===`stopping`&&p(`stopped`),e.close(),f===e&&(f=void 0)}return{get transport(){return f},get state(){return d},start:h,stop:g}}const c=n.object({dataDir:n.string().optional(),machineId:n.string().optional(),makaioHome:n.string().optional(),platform:n.string().optional(),username:n.string().optional()}),l={init:{request:n.object({config:n.unknown().optional(),context:c.optional()}),response:n.object({ready:n.boolean()})},ready:n.object({ready:n.boolean(),config:n.unknown().optional(),context:c.optional()}).passthrough(),destroy:{request:n.object({reason:n.string().optional()}),response:n.object({stopped:n.boolean()})},stopped:n.object({stopped:n.boolean()}).passthrough()};function u(e,t){return e.bus.registerNamespace(r(`extension.${t}`,l)).subjects}function d(e,t){let n;return()=>(n??=u(e,t),n)}function f(e){return{dataDir:e.dataDir,machineId:e.machineId,makaioHome:e.makaioHome,platform:e.platform,username:e.username}}var p=class{descriptor;ctx;extensionPath;getLifecycleSubjects;transport=null;unregister=null;constructor(e,t,n){this.descriptor=e,this.ctx=t,this.extensionPath=n,this.getLifecycleSubjects=d(t,e.name)}async init(){let{StdioServerTransport:e}=await import(`./src-CmLn6zYj.mjs`),{transport:t}=this.descriptor,n=this.getLifecycleSubjects(),r=new e({name:this.descriptor.name,spawn:{command:t.command,args:t.args,cwd:this.extensionPath,env:t.env,processName:this.descriptor.name}}),i=null;try{let e=this.ctx.bus.registerTransport(r);i=e.unregister,await r.connect(),await r.ready,await e.ready,this.transport=r,this.unregister=i,await this.ctx.bus.request(n.init,{config:this.ctx.config??this.descriptor.config?.defaults,context:f(this.ctx)},{timeout:t.healthTimeoutMs})}catch(e){throw i?.(),await r.disconnect(),this.transport=null,this.unregister=null,e}}async destroy(){if(this.transport!==null){let e=this.getLifecycleSubjects();try{await this.ctx.bus.request(e.destroy,{reason:`runtime-shutdown`},{timeout:this.descriptor.transport.shutdownTimeoutMs})}catch(e){console.warn(`[extensions] ${this.descriptor.name}: detached destroy lifecycle request did not complete before disconnect:`,e instanceof Error?e.message:e)}}this.unregister?.(),this.unregister=null,await this.transport?.disconnect(),this.transport=null}},m=class{descriptor;ctx;extensionPath;getLifecycleSubjects;lifecycle=null;constructor(e,t,n){this.descriptor=e,this.ctx=t,this.extensionPath=n,this.getLifecycleSubjects=d(t,e.name)}async init(){let{transport:e}=this.descriptor;if(!this.ctx.busUrl)throw Error(`[extensions] ${this.descriptor.name}: bus-websocket transport requires NodeExtensionContext.busUrl`);let t=this.getLifecycleSubjects();this.lifecycle=s({spawn:{command:e.command,args:e.args,cwd:this.extensionPath,env:{...e.env,MAKAIO_BUS_TRANSPORT:`websocket`,MAKAIO_BUS_URL:this.ctx.busUrl,MAKAIO_EXTENSION_NAME:this.descriptor.name},processName:this.descriptor.name},healthTimeoutMs:e.healthTimeoutMs,shutdownTimeoutMs:e.shutdownTimeoutMs,restartPolicy:`restartPolicy`in e?e.restartPolicy:void 0});try{await this.lifecycle.start(),await this.ctx.bus.request(t.init,{config:this.ctx.config??this.descriptor.config?.defaults,context:f(this.ctx)},{timeout:e.healthTimeoutMs})}catch(e){throw await this.lifecycle.stop(),this.lifecycle=null,e}}async destroy(){if(this.lifecycle!==null){let e=this.getLifecycleSubjects();try{await this.ctx.bus.request(e.destroy,{reason:`runtime-shutdown`},{timeout:this.descriptor.transport.shutdownTimeoutMs})}catch(e){console.warn(`[extensions] ${this.descriptor.name}: detached destroy lifecycle request did not complete before process stop:`,e instanceof Error?e.message:e)}await this.lifecycle.stop(),this.lifecycle=null}}},h=class{descriptor;ctx;extensionPath;bridge=null;constructor(e,t,n){this.descriptor=e,this.ctx=t,this.extensionPath=n}async init(){let{startMcpClientBridge:e}=await import(`@makaio/framework/mcp-http-server`),{transport:t}=this.descriptor;this.bridge=await e({command:t.command,args:t.args,env:t.env,cwd:this.extensionPath,extensionName:this.descriptor.name,bus:this.ctx.bus})}async destroy(){this.bridge!==null&&(await this.bridge.close(),this.bridge=null)}};function g(t,n){return{...e(t),create(e){return t.transport.type===`bus-stdio`?new p(t,e,n):t.transport.type===`mcp-stdio`?new h(t,e,n):new m(t,e,n)}}}export{g as createDetachedExtensionPackage};
@@ -1 +1 @@
1
- import{t as e}from"./chunk-DTipWd-i.mjs";import{t,v as n}from"./ajv-Dtk5hCZS.mjs";var r=e((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.formatNames=e.fastFormats=e.fullFormats=void 0;function t(e,t){return{validate:e,compare:t}}e.fullFormats={date:t(a,o),time:t(c(!0),l),"date-time":t(f(!0),p),"iso-time":t(c(),u),"iso-date-time":t(f(),m),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:_,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:E,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:y,int32:{type:`number`,validate:S},int64:{type:`number`,validate:C},float:{type:`number`,validate:w},double:{type:`number`,validate:w},password:!0,binary:!0},e.fastFormats={...e.fullFormats,date:t(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,o),time:t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,l),"date-time":t(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,p),"iso-time":t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,u),"iso-date-time":t(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,m),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i},e.formatNames=Object.keys(e.fullFormats);function n(e){return e%4==0&&(e%100!=0||e%400==0)}let r=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,i=[0,31,28,31,30,31,30,31,31,30,31,30,31];function a(e){let t=r.exec(e);if(!t)return!1;let a=+t[1],o=+t[2],s=+t[3];return o>=1&&o<=12&&s>=1&&s<=(o===2&&n(a)?29:i[o])}function o(e,t){if(e&&t)return e>t?1:e<t?-1:0}let s=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function c(e){return function(t){let n=s.exec(t);if(!n)return!1;let r=+n[1],i=+n[2],a=+n[3],o=n[4],c=n[5]===`-`?-1:1,l=+(n[6]||0),u=+(n[7]||0);if(l>23||u>59||e&&!o)return!1;if(r<=23&&i<=59&&a<60)return!0;let d=i-u*c,f=r-l*c-+(d<0);return(f===23||f===-1)&&(d===59||d===-1)&&a<61}}function l(e,t){if(!(e&&t))return;let n=new Date(`2020-01-01T`+e).valueOf(),r=new Date(`2020-01-01T`+t).valueOf();if(n&&r)return n-r}function u(e,t){if(!(e&&t))return;let n=s.exec(e),r=s.exec(t);if(n&&r)return e=n[1]+n[2]+n[3],t=r[1]+r[2]+r[3],e>t?1:e<t?-1:0}let d=/t|\s/i;function f(e){let t=c(e);return function(e){let n=e.split(d);return n.length===2&&a(n[0])&&t(n[1])}}function p(e,t){if(!(e&&t))return;let n=new Date(e).valueOf(),r=new Date(t).valueOf();if(n&&r)return n-r}function m(e,t){if(!(e&&t))return;let[n,r]=e.split(d),[i,a]=t.split(d),s=o(n,i);if(s!==void 0)return s||l(r,a)}let h=/\/|:/,g=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function _(e){return h.test(e)&&g.test(e)}let v=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function y(e){return v.lastIndex=0,v.test(e)}let b=-(2**31),x=2**31-1;function S(e){return Number.isInteger(e)&&e<=x&&e>=b}function C(e){return Number.isInteger(e)}function w(){return!0}let T=/[^\\]\\Z/;function E(e){if(T.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}})),i=e((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.formatLimitDefinition=void 0;let r=t(),i=n(),a=i.operators,o={formatMaximum:{okStr:`<=`,ok:a.LTE,fail:a.GT},formatMinimum:{okStr:`>=`,ok:a.GTE,fail:a.LT},formatExclusiveMaximum:{okStr:`<`,ok:a.LT,fail:a.GTE},formatExclusiveMinimum:{okStr:`>`,ok:a.GT,fail:a.LTE}};e.formatLimitDefinition={keyword:Object.keys(o),type:`string`,schemaType:`string`,$data:!0,error:{message:({keyword:e,schemaCode:t})=>(0,i.str)`should be ${o[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,i._)`{comparison: ${o[e].okStr}, limit: ${t}}`},code(e){let{gen:t,data:n,schemaCode:a,keyword:s,it:c}=e,{opts:l,self:u}=c;if(!l.validateFormats)return;let d=new r.KeywordCxt(c,u.RULES.all.format.definition,`format`);d.$data?f():p();function f(){let n=t.scopeValue(`formats`,{ref:u.formats,code:l.code.formats}),r=t.const(`fmt`,(0,i._)`${n}[${d.schemaCode}]`);e.fail$data((0,i.or)((0,i._)`typeof ${r} != "object"`,(0,i._)`${r} instanceof RegExp`,(0,i._)`typeof ${r}.compare != "function"`,m(r)))}function p(){let n=d.schema,r=u.formats[n];if(!r||r===!0)return;if(typeof r!=`object`||r instanceof RegExp||typeof r.compare!=`function`)throw Error(`"${s}": format "${n}" does not define "compare" function`);let a=t.scopeValue(`formats`,{key:n,ref:r,code:l.code.formats?(0,i._)`${l.code.formats}${(0,i.getProperty)(n)}`:void 0});e.fail$data(m(a))}function m(e){return(0,i._)`${e}.compare(${n}, ${a}) ${o[s].fail} 0`}},dependencies:[`format`]},e.default=t=>(t.addKeyword(e.formatLimitDefinition),t)})),a=e(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});let a=r(),o=i(),s=n(),c=new s.Name(`fullFormats`),l=new s.Name(`fastFormats`),u=(e,t={keywords:!0})=>{if(Array.isArray(t))return d(e,t,a.fullFormats,c),e;let[n,r]=t.mode===`fast`?[a.fastFormats,l]:[a.fullFormats,c];return d(e,t.formats||a.formatNames,n,r),t.keywords&&(0,o.default)(e),e};u.get=(e,t=`full`)=>{let n=(t===`fast`?a.fastFormats:a.fullFormats)[e];if(!n)throw Error(`Unknown format "${e}"`);return n};function d(e,t,n,r){var i;(i=e.opts.code).formats??(i.formats=(0,s._)`require("ajv-formats/dist/formats").${r}`);for(let r of t)e.addFormat(r,n[r])}t.exports=e=u,Object.defineProperty(e,`__esModule`,{value:!0}),e.default=u}));export{a as t};
1
+ import{t as e}from"./chunk-DTipWd-i.mjs";import{t,v as n}from"./ajv-IlnfOGAj.mjs";var r=e((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.formatNames=e.fastFormats=e.fullFormats=void 0;function t(e,t){return{validate:e,compare:t}}e.fullFormats={date:t(a,o),time:t(c(!0),l),"date-time":t(f(!0),p),"iso-time":t(c(),u),"iso-date-time":t(f(),m),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:_,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:E,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:y,int32:{type:`number`,validate:S},int64:{type:`number`,validate:C},float:{type:`number`,validate:w},double:{type:`number`,validate:w},password:!0,binary:!0},e.fastFormats={...e.fullFormats,date:t(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,o),time:t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,l),"date-time":t(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,p),"iso-time":t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,u),"iso-date-time":t(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,m),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i},e.formatNames=Object.keys(e.fullFormats);function n(e){return e%4==0&&(e%100!=0||e%400==0)}let r=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,i=[0,31,28,31,30,31,30,31,31,30,31,30,31];function a(e){let t=r.exec(e);if(!t)return!1;let a=+t[1],o=+t[2],s=+t[3];return o>=1&&o<=12&&s>=1&&s<=(o===2&&n(a)?29:i[o])}function o(e,t){if(e&&t)return e>t?1:e<t?-1:0}let s=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function c(e){return function(t){let n=s.exec(t);if(!n)return!1;let r=+n[1],i=+n[2],a=+n[3],o=n[4],c=n[5]===`-`?-1:1,l=+(n[6]||0),u=+(n[7]||0);if(l>23||u>59||e&&!o)return!1;if(r<=23&&i<=59&&a<60)return!0;let d=i-u*c,f=r-l*c-+(d<0);return(f===23||f===-1)&&(d===59||d===-1)&&a<61}}function l(e,t){if(!(e&&t))return;let n=new Date(`2020-01-01T`+e).valueOf(),r=new Date(`2020-01-01T`+t).valueOf();if(n&&r)return n-r}function u(e,t){if(!(e&&t))return;let n=s.exec(e),r=s.exec(t);if(n&&r)return e=n[1]+n[2]+n[3],t=r[1]+r[2]+r[3],e>t?1:e<t?-1:0}let d=/t|\s/i;function f(e){let t=c(e);return function(e){let n=e.split(d);return n.length===2&&a(n[0])&&t(n[1])}}function p(e,t){if(!(e&&t))return;let n=new Date(e).valueOf(),r=new Date(t).valueOf();if(n&&r)return n-r}function m(e,t){if(!(e&&t))return;let[n,r]=e.split(d),[i,a]=t.split(d),s=o(n,i);if(s!==void 0)return s||l(r,a)}let h=/\/|:/,g=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function _(e){return h.test(e)&&g.test(e)}let v=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function y(e){return v.lastIndex=0,v.test(e)}let b=-(2**31),x=2**31-1;function S(e){return Number.isInteger(e)&&e<=x&&e>=b}function C(e){return Number.isInteger(e)}function w(){return!0}let T=/[^\\]\\Z/;function E(e){if(T.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}})),i=e((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.formatLimitDefinition=void 0;let r=t(),i=n(),a=i.operators,o={formatMaximum:{okStr:`<=`,ok:a.LTE,fail:a.GT},formatMinimum:{okStr:`>=`,ok:a.GTE,fail:a.LT},formatExclusiveMaximum:{okStr:`<`,ok:a.LT,fail:a.GTE},formatExclusiveMinimum:{okStr:`>`,ok:a.GT,fail:a.LTE}};e.formatLimitDefinition={keyword:Object.keys(o),type:`string`,schemaType:`string`,$data:!0,error:{message:({keyword:e,schemaCode:t})=>(0,i.str)`should be ${o[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,i._)`{comparison: ${o[e].okStr}, limit: ${t}}`},code(e){let{gen:t,data:n,schemaCode:a,keyword:s,it:c}=e,{opts:l,self:u}=c;if(!l.validateFormats)return;let d=new r.KeywordCxt(c,u.RULES.all.format.definition,`format`);d.$data?f():p();function f(){let n=t.scopeValue(`formats`,{ref:u.formats,code:l.code.formats}),r=t.const(`fmt`,(0,i._)`${n}[${d.schemaCode}]`);e.fail$data((0,i.or)((0,i._)`typeof ${r} != "object"`,(0,i._)`${r} instanceof RegExp`,(0,i._)`typeof ${r}.compare != "function"`,m(r)))}function p(){let n=d.schema,r=u.formats[n];if(!r||r===!0)return;if(typeof r!=`object`||r instanceof RegExp||typeof r.compare!=`function`)throw Error(`"${s}": format "${n}" does not define "compare" function`);let a=t.scopeValue(`formats`,{key:n,ref:r,code:l.code.formats?(0,i._)`${l.code.formats}${(0,i.getProperty)(n)}`:void 0});e.fail$data(m(a))}function m(e){return(0,i._)`${e}.compare(${n}, ${a}) ${o[s].fail} 0`}},dependencies:[`format`]},e.default=t=>(t.addKeyword(e.formatLimitDefinition),t)})),a=e(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});let a=r(),o=i(),s=n(),c=new s.Name(`fullFormats`),l=new s.Name(`fastFormats`),u=(e,t={keywords:!0})=>{if(Array.isArray(t))return d(e,t,a.fullFormats,c),e;let[n,r]=t.mode===`fast`?[a.fastFormats,l]:[a.fullFormats,c];return d(e,t.formats||a.formatNames,n,r),t.keywords&&(0,o.default)(e),e};u.get=(e,t=`full`)=>{let n=(t===`fast`?a.fastFormats:a.fullFormats)[e];if(!n)throw Error(`Unknown format "${e}"`);return n};function d(e,t,n,r){var i;(i=e.opts.code).formats??(i.formats=(0,s._)`require("ajv-formats/dist/formats").${r}`);for(let r of t)e.addFormat(r,n[r])}t.exports=e=u,Object.defineProperty(e,`__esModule`,{value:!0}),e.default=u}));export{a as t};
@@ -0,0 +1,54 @@
1
+ import { ArtifactEvidenceResolveResponse, EvidenceValue } from "@makaio/framework/contracts";
2
+ import { IMakaioBus } from "@makaio/framework/bus";
3
+
4
+ //#region packages/evidence-git-file-resolver/src/index.d.ts
5
+ /** Git-file evidence accepted by this resolver. */
6
+ type GitFileEvidence = Extract<EvidenceValue, {
7
+ source: {
8
+ kind: 'git-file';
9
+ };
10
+ }>;
11
+ /** Source identity for one immutable Git file. */
12
+ type GitFileEvidenceSource = GitFileEvidence['source'];
13
+ /** Complete UTF-8 text returned by a source adapter. */
14
+ interface GitFileReadResult {
15
+ readonly source: GitFileEvidenceSource;
16
+ readonly content: string;
17
+ readonly complete: true;
18
+ }
19
+ /** Request lifecycle metadata forwarded to source adapters. */
20
+ interface GitFileReadContext {
21
+ readonly signal?: AbortSignal;
22
+ /** Absolute Unix timestamp in milliseconds when the read should expire. */
23
+ readonly deadline?: number;
24
+ }
25
+ /** Narrow source adapter implemented by a host or provider package. */
26
+ interface GitFileReader {
27
+ /** Read the complete UTF-8 file at the requested immutable source. */
28
+ readFile(source: GitFileEvidenceSource, context: GitFileReadContext): Promise<GitFileReadResult>;
29
+ }
30
+ /** One provider-scoped Git-file resolver registration. */
31
+ interface GitFileEvidenceResolverOptions {
32
+ /** Repository provider kind exclusively owned by this handler. */
33
+ readonly repositoryKind: string;
34
+ readonly reader: GitFileReader;
35
+ }
36
+ /**
37
+ * Resolve a Git-file evidence value against its exact pinned source.
38
+ * @param evidence - Git-file evidence pointer to resolve.
39
+ * @param reader - Source adapter that reads immutable Git files.
40
+ * @param context - Optional request lifecycle metadata forwarded to the reader.
41
+ * @returns Fully resolved text and actual source identity.
42
+ */
43
+ declare function resolveGitFileEvidence(evidence: GitFileEvidence, reader: GitFileReader, context?: GitFileReadContext): Promise<ArtifactEvidenceResolveResponse>;
44
+ /**
45
+ * Register the Git-file resolver on the shared evidence RPC subject.
46
+ * The repository-kind filter gives each provider adapter exclusive ownership
47
+ * without introducing a resolver registry or catch-all handler.
48
+ * @param bus - Bus on which to register the filtered handler.
49
+ * @param options - Provider identity and source adapter for this registration.
50
+ * @returns Cleanup function that unregisters the resolver.
51
+ */
52
+ declare function registerGitFileEvidenceResolver(bus: IMakaioBus, options: GitFileEvidenceResolverOptions): () => void;
53
+ //#endregion
54
+ export { GitFileEvidence, GitFileEvidenceResolverOptions, GitFileEvidenceSource, GitFileReadContext, GitFileReadResult, GitFileReader, registerGitFileEvidenceResolver, resolveGitFileEvidence };
@@ -0,0 +1,4 @@
1
+ import{ArtifactSubjects as e,EvidenceValueSchema as t,RepoContextSchema as n,normalizeRepoContext as r,sameRepoContext as i}from"@makaio/framework/contracts";function a(e,t){return t.kind===`git-file`&&i(e.repository,t.repository)&&e.path===t.path&&e.commit.toLowerCase()===t.commit.toLowerCase()}function o(e,t,n){let r=1,i=t===1?0:-1,a=t+n-1;for(let n=0;n<e.length;n+=1){let o=e[n];if(o!==`\r`&&o!==`
2
+ `)continue;let s=o===`\r`&&e[n+1]===`
3
+ `?n+2:n+1;if(r===t-1&&(i=s),r===a&&i>=0)return e.slice(i,s);r+=1,n=s-1}let o=e.at(-1);if(i>=0&&o!==void 0&&o!==`\r`&&o!==`
4
+ `&&r===a)return e.slice(i);throw Error(`Git file does not contain the complete requested line range ${t}-${a}`)}async function s(e,n,i={}){let s=t.parse(e);if(!c(s))throw Error(`Expected Git-file evidence`);let l=await n.readFile(s.source,i);if(l.complete!==!0)throw Error(`Git file reader returned incomplete content`);if(typeof l.content!=`string`)throw Error(`Git file reader did not return text content`);let u=t.parse({source:l.source,location:{kind:`whole-source`}}).source;if(u.kind!==`git-file`||!a(s.source,u))throw Error(`Git file reader returned content from a different source`);let d=s.location.kind===`whole-source`?l.content:o(l.content,s.location.startLine,s.location.lineCount);return{source:{...u,repository:r(u.repository)},location:s.location,content:{kind:`text`,text:d}}}function c(e){return e.source.kind===`git-file`}function l(r,i){let a=n.shape.kind.parse(i.repositoryKind);return r.withFilter({"evidence.source.kind":`git-file`}).on(e.evidence.resolve,async e=>{let n=t.parse(e.payload.evidence);!c(n)||n.source.repository.kind!==a||e.setResult(await s(n,i.reader,{signal:e.signal,deadline:e.deadline}))})}export{l as registerGitFileEvidenceResolver,s as resolveGitFileEvidence};
@@ -1 +1 @@
1
- import{s as e}from"./execution-attempt-repository-DXyh1hgz.mjs";import{canonicalStringify as t}from"@makaio/framework/utils";import{ExecutionAttemptInstructionSchema as n}from"@makaio/framework/contracts";function r(e){return typeof e==`object`&&!!e}function i(e){if(!(!r(e)||Object.isFrozen(e))){Object.freeze(e);for(let t of Object.values(e))i(t)}}function a(e,t){let n=t(structuredClone(e));return i(n),n}function o(e){return a(e,e=>n.parse(e))}function s(e,t){if(typeof e!=`string`||e.length===0)throw TypeError(`${t} must be a non-empty string`)}function c(e){let{executionId:t,requestKey:n}=e;return s(t,`executionId`),s(n,`requestKey`),{executionId:t,requestKey:n,instruction:o(e.instruction)}}function l(e){let{executionAttemptId:t,bootstrapTimeoutMs:n}=e;if(s(t,`executionAttemptId`),!Number.isSafeInteger(n)||n<=0)throw RangeError(`bootstrapTimeoutMs must be a positive safe integer`);return{...c(e),executionAttemptId:t,bootstrapTimeoutMs:n}}function u(e){let{executionId:t,executionAttemptId:n}=e;return s(t,`executionId`),s(n,`executionAttemptId`),{executionId:t,executionAttemptId:n}}function d(e,n){if(n===null||n.executionId!==e.executionId)throw Error(`Corrupt execution attempt request binding`);return t(n.instruction)===t(e.instruction)?{kind:`replayed`,attempt:structuredClone(n)}:{kind:`conflict`}}function f(t,n,r){let{attempt:i,activeAttemptId:a,outcomeText:o}=n;if(i===null||i.executionId!==t.executionId)return{kind:`not-found`};if(i.executionAttemptId!==t.executionAttemptId)throw Error(`Corrupt execution attempt settlement identity`);let s={attempt:structuredClone(i),isCurrentAttempt:a===i.executionAttemptId};if(i.status!==`settled`&&i.settlementKind==null&&o===null)return{kind:`unsettled`,...s};if(i.status===`settled`&&i.settlementKind===`outcome`&&o!==null)return{kind:`outcome`,...s,result:{text:o,outcome:e(r,o)}};if(i.status===`settled`&&(i.settlementKind===`abandoned`||i.settlementKind===`infrastructure-failure`)&&o===null)return{kind:`settled-without-outcome`,...s};throw Error(`Corrupt execution attempt settlement facts`)}export{u as a,l as i,d as n,o,c as r,a as s,f as t};
1
+ import{s as e}from"./execution-attempt-repository-Z7oEBcgp.mjs";import{canonicalStringify as t}from"@makaio/framework/utils";import{ExecutionAttemptInstructionSchema as n}from"@makaio/framework/contracts";function r(e){return typeof e==`object`&&!!e}function i(e){if(!(!r(e)||Object.isFrozen(e))){Object.freeze(e);for(let t of Object.values(e))i(t)}}function a(e,t){let n=t(structuredClone(e));return i(n),n}function o(e){return a(e,e=>n.parse(e))}function s(e,t){if(typeof e!=`string`||e.length===0)throw TypeError(`${t} must be a non-empty string`)}function c(e){let{executionId:t,requestKey:n}=e;return s(t,`executionId`),s(n,`requestKey`),{executionId:t,requestKey:n,instruction:o(e.instruction)}}function l(e){let{executionAttemptId:t,bootstrapTimeoutMs:n}=e;if(s(t,`executionAttemptId`),!Number.isSafeInteger(n)||n<=0)throw RangeError(`bootstrapTimeoutMs must be a positive safe integer`);return{...c(e),executionAttemptId:t,bootstrapTimeoutMs:n}}function u(e){let{executionId:t,executionAttemptId:n}=e;return s(t,`executionId`),s(n,`executionAttemptId`),{executionId:t,executionAttemptId:n}}function d(e,n){if(n===null||n.executionId!==e.executionId)throw Error(`Corrupt execution attempt request binding`);return t(n.instruction)===t(e.instruction)?{kind:`replayed`,attempt:structuredClone(n)}:{kind:`conflict`}}function f(t,n,r){let{attempt:i,activeAttemptId:a,outcomeText:o}=n;if(i===null||i.executionId!==t.executionId)return{kind:`not-found`};if(i.executionAttemptId!==t.executionAttemptId)throw Error(`Corrupt execution attempt settlement identity`);let s={attempt:structuredClone(i),isCurrentAttempt:a===i.executionAttemptId};if(i.status!==`settled`&&i.settlementKind==null&&o===null)return{kind:`unsettled`,...s};if(i.status===`settled`&&i.settlementKind===`outcome`&&o!==null)return{kind:`outcome`,...s,result:{text:o,outcome:e(r,o)}};if(i.status===`settled`&&(i.settlementKind===`abandoned`||i.settlementKind===`infrastructure-failure`)&&o===null)return{kind:`settled-without-outcome`,...s};throw Error(`Corrupt execution attempt settlement facts`)}export{u as a,l as i,d as n,o,c as r,a as s,f as t};
@@ -1 +1 @@
1
- import{A as e,E as t,M as n,N as r,O as i,_ as a,j as o,k as s,m as c,v as l,w as u}from"./schemas-BapfTRqp.mjs";import"./services/execution-target/namespace.mjs";import{z as d}from"zod";import{channelSubject as f,createBusNamespace as p,localSubject as m}from"@makaio/framework/core";const h=`docker-bootstrap`,g=p(`docker`,{"container.spawn":{request:i,response:s},"bootstrap.spawn":f({request:c,response:s}),"bootstrap.getChannelToken":m({request:d.object({}),response:d.object({token:d.string().min(1)})}),"container.stop":{request:n,response:r},"container.status":{request:e,response:o},"container.created":a,"container.started":u,"container.stopped":t,"container.destroyed":l}),_=g.subjects,v=g,y=_;export{_ as a,g as i,y as n,h as r,v as t};
1
+ import{A as e,E as t,M as n,N as r,O as i,_ as a,j as o,k as s,m as c,v as l,w as u}from"./schemas-NYUz8K9Q.mjs";import"./services/execution-target/namespace.mjs";import{z as d}from"zod";import{channelSubject as f,createBusNamespace as p,localSubject as m}from"@makaio/framework/core";const h=`docker-bootstrap`,g=p(`docker`,{"container.spawn":{request:i,response:s},"bootstrap.spawn":f({request:c,response:s}),"bootstrap.getChannelToken":m({request:d.object({}),response:d.object({token:d.string().min(1)})}),"container.stop":{request:n,response:r},"container.status":{request:e,response:o},"container.created":a,"container.started":u,"container.stopped":t,"container.destroyed":l}),_=g.subjects,v=g,y=_;export{_ as a,g as i,y as n,h as r,v as t};
@@ -1 +1 @@
1
- import{n as e}from"./window-registry-CzAwaPKL.mjs";import{n as t}from"./namespace-D4zmxaC4.mjs";import{n}from"./extension-namespace-twXNwE4R.mjs";import{t as r}from"./schema-introspection-CSnLZJpC.mjs";import{z as i}from"zod";import a from"node:path";import{getErrorString as o}from"@makaio/framework/utils";import{createBusNamespace as s}from"@makaio/framework/core";import{ProviderDefinitionSchema as c,primaryMigrationsPath as l,versionSatisfies as u}from"@makaio/framework/contracts";import{ToastSubjects as d}from"@makaio/framework/contracts/toast";import{ExtensionWarningSchema as f,getExtensionWarningActionLabel as p}from"@makaio/framework/contracts/extension";import{TrayMenuSubjects as m}from"@makaio/framework/services/tray-menu";const h=i.object({name:i.string(),displayName:i.string()}),g=s(`kernel:boot`,{getState:{request:i.object({}),response:i.object({complete:i.boolean(),completedCount:i.number(),totalCount:i.number(),currentService:i.string().optional(),failedServices:i.array(i.string()),skippedServices:i.array(i.string()).default([]),totalDurationMs:i.number().optional()})},"service.starting":h,"service.ready":h.extend({durationMs:i.number().int().nonnegative()}),"service.failed":h.extend({errorMessage:i.string()}),"service.skipped":h.extend({reason:i.string()}),progress:i.object({completedCount:i.number(),totalCount:i.number(),currentService:i.string().optional()}),complete:i.object({totalDurationMs:i.number(),failedServices:i.array(i.string())})}),_=g.subjects;var v=class extends Error{reason;constructor(e){super(e),this.name=`ServiceSkipError`,this.reason=e}};function y(e){return{name:e.name,displayName:e.displayName}}var b=class{bus;state;cleanup;constructor(e,t){this.bus=e,this.state={complete:!1,completedCount:0,totalCount:t,failedServices:[],skippedServices:[],startedAt:Date.now()},this.cleanup=this.bus.on(_.getState,e=>{e.setResult({complete:this.state.complete,completedCount:this.state.completedCount,totalCount:this.state.totalCount,...this.state.currentService===void 0?{}:{currentService:this.state.currentService},failedServices:[...this.state.failedServices],skippedServices:[...this.state.skippedServices],...this.state.totalDurationMs===void 0?{}:{totalDurationMs:this.state.totalDurationMs}})})}dispose(){this.cleanup()}starting(e){let t=y(e);this.state.currentService=t.displayName,this.state.currentServiceStartedAt=Date.now(),this.bus.emit(_.service.starting,t).catch(e=>{console.warn(`[ExtensionCoordinator] boot.service.starting emit failed for "${t.name}":`,e)})}ready(e){let t=y(e);this.state.completedCount+=1;let n=this.state.currentServiceStartedAt===void 0?0:Math.max(0,Date.now()-this.state.currentServiceStartedAt);this.bus.emit(_.service.ready,{...t,durationMs:n}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.service.ready emit failed for "${t.name}":`,e)}),this.emitProgress()}failed(e,t){let n=y(e);this.state.completedCount+=1,this.state.failedServices.push(n.name),this.bus.emit(_.service.failed,{...n,errorMessage:t}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.service.failed emit failed for "${n.name}":`,e)}),this.emitProgress()}skipped(e,t){let n=y(e);this.state.completedCount+=1,this.state.skippedServices.push(n.name),this.bus.emit(_.service.skipped,{...n,reason:t}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.service.skipped emit failed for "${n.name}":`,e)}),this.emitProgress()}complete(){this.state.complete=!0,delete this.state.currentService,delete this.state.currentServiceStartedAt,this.state.totalDurationMs=Date.now()-this.state.startedAt,this.bus.emit(_.complete,{totalDurationMs:this.state.totalDurationMs,failedServices:[...this.state.failedServices]}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.complete emit failed:`,e)})}emitProgress(){this.bus.emit(_.progress,{completedCount:this.state.completedCount,totalCount:this.state.totalCount,...this.state.currentService===void 0?{}:{currentService:this.state.currentService}}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.progress emit failed:`,e)})}};function x(e){return{subject:`wiring.apply`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1,payload:{request:{},response:{}}}}}const S=`action`;function C(e,t){return`${e}:${t}`}function ee(e,t,n){return e.on(d.interacted,r=>{let{toastId:i,actionId:a}=r.payload,o=C(i,a),s=t.get(o);s&&w(e,s,i,n).catch(e=>{console.error(`[ExtensionCoordinator] Warning action dispatch failed for toast "${i}":`,e)})})}async function w(e,t,n,r){switch(t.kind){case`configure-integration`:await ne(e,t.clientId,n,r);break;case`open-url`:console.info(`[ExtensionCoordinator] Toast "${n}" open-url action not routable from runtime layer: ${t.url}`);break;case`run-command`:console.info(`[ExtensionCoordinator] Toast "${n}" run-command action not routable from runtime layer: ${t.command}`);break;case`install-extension`:console.info(`[ExtensionCoordinator] Toast "${n}" install-extension action not routable from runtime layer: ${t.extensionName}`);break;default:te(t)}}function te(e){throw Error(`[ExtensionCoordinator] Unsupported warning action: ${JSON.stringify(e)}`)}async function ne(e,t,n,r){let i=x(t),a=await e.requestOptional(i,{scope:`user`,makaioCommand:r});if(!a.handled){console.warn(`[ExtensionCoordinator] Toast "${n}" configure-integration: no wiring handler for client "${t}". Is the client package loaded?`);return}let{applied:o,skipped:s}=a.data;console.info(`[ExtensionCoordinator] Toast "${n}" configure-integration: wired client "${t}" — ${o} applied, ${s} skipped.`)}function T(e){return e.map(e=>({name:e.name,description:e.description,hasInteractive:!!e.interactive,subcommands:e.subcommands.map(e=>({name:e.name,description:e.description,args:r(e.schema)}))}))}async function E(e,t,n){let{command:r,subcommand:i,args:a}=e,o=t.find(e=>e.name===r);if(!o)return{exitCode:1,stdout:[],stderr:[`Unknown command: ${r}`]};let s=o.subcommands.find(e=>e.name===i);if(!s)return{exitCode:1,stdout:[],stderr:[`Unknown subcommand: ${i}`]};let c=s.schema.safeParse(a??{});if(!c.success)return{exitCode:1,stdout:[],stderr:[`Validation failed:`,...c.error.issues.map(e=>` ${e.path.join(`.`)||`(root)`}: ${e.message}`)]};if(o.beforeRun)try{let e=await o.beforeRun({subcommandName:i,args:c.data??{},bus:n});if(!e.proceed)return{exitCode:e.exitCode??1,stdout:[],stderr:[e.message]}}catch(e){return{exitCode:1,stdout:[],stderr:[`beforeRun hook failed: ${e instanceof Error?e.message:String(e)}`]}}let l=[],u=[],d={write:e=>l.push(e),error:e=>u.push(e)},f=0,p=new AbortController().signal;try{await s.handler({args:c.data,bus:n,output:d,signal:p,setExitCode:e=>{f=e}})}catch(e){f===0&&(f=1),u.push(e instanceof Error?e.message:String(e))}return{exitCode:f,stdout:l,stderr:u}}function D(e){let{pkg:t,state:n,error:r,enabled:i}=e;return{name:t.name,displayName:t.displayName,state:n,...t.surface===void 0?{}:{surface:t.surface},enabled:i,...t.browser===void 0?{}:{browser:t.browser},...r===void 0?{}:{error:r}}}function O(e){let r=[];return r.push(e.bus.on(n.list,t=>{t.setResult({extensions:e.list()})})),r.push(e.bus.on(n.get,t=>{let n=e.entries.get(t.payload.name);t.setResult({extension:n?D(n):null})})),r.push(e.bus.on(n.setEnabled,async t=>{let n=await e.handleSetEnabled(t.payload.name,t.payload.enabled);t.setResult({success:n})})),r.push(e.bus.on(n.contributions.catalog,t=>{let n=[],r=[];for(let[t,i]of e.entries)if(i.state===`active`){for(let e of i.pkg.providers??[])n.push({packageName:t,definition:c.parse(e)});for(let e of i.pkg.clients??[])r.push({packageName:t,definition:e})}t.setResult({providers:n,clients:r})})),r.push(e.bus.on(t.listContributions,t=>{t.setResult({contributions:T(e.cliContributions)})})),r.push(e.bus.on(t.execute,async t=>{t.setResult(await E(t.payload,e.cliContributions,e.bus))})),r.push(e.bus.on(n.warnings.list,t=>{let{extensionName:n}=t.payload;if(n!==void 0){let r=e.entries.get(n),i=r&&r.warnings.length>0?[{extensionName:n,warnings:[...r.warnings]}]:[];t.setResult({entries:i});return}let r=[];for(let[t,n]of e.entries)n.warnings.length>0&&r.push({extensionName:t,warnings:[...n.warnings]});t.setResult({entries:r})})),r}async function re(e){for(let[t,n]of e.entries)n.state===`active`&&await A(e,t,n)}function ie(e){if(e&&k(e))return[{id:S,label:p(e)}]}function k(e){return e.kind===`configure-integration`}function ae(e,t){let n=`${t}:`;for(let t of e.keys())t.startsWith(n)&&e.delete(t)}async function A(e,t,n){ae(e.warningActionMap,t);let r=n.warnings.filter(e=>e.severity===`degraded`);if(r.length!==0)for(let i=0;i<r.length;i++){let a=r[i];console.warn(`[${t}] ⚠ ${a.title}: ${a.message}`);let o=`${t}:${a.title}:${i}`,s=ie(a.action);try{await e.bus.emit(d.show,{level:`warning`,title:a.title,message:`${n.pkg.displayName}: ${a.message}`,toastId:o,durationMs:null,...s&&{actions:s}}),a.action&&k(a.action)&&e.warningActionMap.set(C(o,S),a.action)}catch(e){console.warn(`[${t}] toast emission failed for warning "${a.title}":`,e)}}}function oe(e){return Object.freeze({extensionName:e})}function se(e,t,n,r){if(!t)return;let i={...n??{},...r??{}};try{return t.parse(i)}catch(n){console.warn(`[ExtensionCoordinator] Config parse failed for "${e}", starting with schema defaults:`,n instanceof Error?n.message:n);try{return t.parse({})}catch{console.warn(`[ExtensionCoordinator] Fallback config parse also failed for "${e}" — config will be absent`);return}}}function j(e,t,n){let r;if(n.pkg.configSchema)try{r=e.loadConfig?.(t)}catch(e){console.error(`[ExtensionCoordinator] loadConfig threw for "${t}":`,e)}return se(t,n.pkg.configSchema,n.configDefaults,r)}function M(e,t,n){if(!e.extensionContextBase)throw Error(`ExtensionCoordinator: extensionContextBase is required to start extensions with a create factory. Provide it via the constructor.`);return{...e.extensionContextBase,bus:e.bus,identity:t.identity,dataDir:a.join(e.extensionContextBase.makaioHome,t.identity.extensionName),getService:t=>e.getExtensionService(t.name),signal:e.signal,hasExtension:e.hasActiveExtension,...n===void 0?{}:{config:n}}}function N(e){return{adapters:!!e.adapters?.length,tools:!!e.tools,hashTriggers:!!e.hashTriggers,providers:!!e.providers?.length,clients:!!e.clients?.length,ui:!!e.ui,storage:!!e.storage,sessionEventActions:!!e.sessionEventActions}}function P(e,t,r){let i=t.state;t.state=r,e.emit(n.stateChanged,{name:t.pkg.name,displayName:t.pkg.displayName,from:i,to:r,...t.error===void 0?{}:{error:t.error},contributes:N(t.pkg)}).catch(e=>{console.error(`[ExtensionCoordinator] stateChanged emit failed for "${t.pkg.name}":`,e)})}async function F(e,t,n,r,i){return i===`activated`?(await I(e,t,n,r),[]):L(e,n)}async function I(e,t,n,r){let i=[];try{for(let a of e){if(a.filter&&!a.filter(r.pkg))continue;let e=M(t,r,j(t,n,r));await a.processActivated(n,r.pkg,e),i.push(a)}}catch(e){for(let e of i.reverse())if(e.processStopped)try{await e.processStopped(n)}catch(e){console.error(`[ExtensionCoordinator] Contribution processor rollback error for "${n}":`,e)}throw e}}async function L(e,t){let n=[];for(let r of[...e].reverse())if(r.processStopped)try{await r.processStopped(t)}catch(e){n.push(e)}return n}async function R(e,t,r){let i=e.entries.get(t);if(!i)return!1;let a=i.enabled,o=r!==a;o&&await e.persistEnabled?.(t,r);let s;try{s=r?await z(e,t,i):await B(e,t,i)}catch(n){if(o&&e.persistEnabled)try{await e.persistEnabled(t,a)}catch(e){throw AggregateError([n,e],`Extension "${t}" transition and preference rollback both failed`)}throw n}return i.enabled===a&&!s?(o&&await e.persistEnabled?.(t,a),!1):(e.bus.emit(n.enabledChanged,{name:t,enabled:r}).catch(e=>{console.error(`[ExtensionCoordinator] enabledChanged emit failed for "${t}":`,e)}),s)}async function z(e,t,n){if(n.state!==`stopped`&&n.state!==`failed`&&n.state!==`skipped`)return!1;let{pkg:r}=n,i,a=(r.dependencies??[]).filter(t=>{if(t.optional)return!1;let n=e.entries.get(t.name);return!n||n.state!==`active`});if(a.length>0)return n.error=`Required dependencies not active: ${a.map(e=>e.name).join(`, `)}`,console.error(`[ExtensionCoordinator] Cannot re-enable "${t}":`,n.error),P(e.bus,n,`failed`),!1;n.enabled=!0,n.error=void 0,P(e.bus,n,`initializing`);let s=j(e,t,n);if(r.storage?.registerHandlers&&e.db!==void 0)try{let t=M(e,n,s),a=r.storage.registerHandlers(e.bus,e.db,t);typeof a==`function`&&(i=a,n.storageCleanup=a)}catch(r){return n.error=o(r),console.error(`[ExtensionCoordinator] Extension "${t}" storage re-registration failed:`,r),P(e.bus,n,`failed`),!1}if(r.create){let a;try{let t=M(e,n,s);a=await r.create(t),await a.init?.(),n.service=a}catch(r){return await V(t,a,i,n),r instanceof v?n.pkg.critical?(n.error=`Critical extension cannot skip startup: ${r.reason}`,console.error(`[ExtensionCoordinator] Extension "${t}" failed to re-initialize:`,n.error),P(e.bus,n,`failed`),!1):(n.error=r.reason,P(e.bus,n,`skipped`),!1):(n.error=o(r),console.error(`[ExtensionCoordinator] Extension "${t}" failed to re-initialize:`,r),P(e.bus,n,`failed`),!1)}}try{await F(e.contributionProcessors,e,t,n,`activated`)}catch(r){return await V(t,n.service,i,n),n.service=void 0,n.error=o(r),console.error(`[ExtensionCoordinator] Extension "${t}" contribution processing failed:`,r),P(e.bus,n,`failed`),!1}return P(e.bus,n,`active`),await e.runHealthCheck(t),await e.emitWarningsForEntry(t,n),!0}async function B(e,t,r){if(r.state!==`active`)return!1;let i=Array.from(e.entries.entries()).filter(([e,n])=>e===t||n.state!==`active`?!1:n.pkg.dependencies?.some(e=>!e.optional&&e.name===t)??!1).map(([e])=>e);if(i.length>0)return r.error=`Cannot disable "${t}" while active dependents remain: ${i.join(`, `)}`,console.error(`[ExtensionCoordinator] ${r.error}`),!1;r.enabled=!1,r.error=void 0;let a=[];try{a.push(...await F(e.contributionProcessors,e,t,r,`stopped`))}catch(e){a.push(e),console.error(`[ExtensionCoordinator] Contribution processor error during disable of "${t}":`,e)}if(r.service)try{await r.service.destroy?.()}catch(e){a.push(e),console.error(`[ExtensionCoordinator] Error during disable destroy of "${t}":`,e)}finally{r.service=void 0}if(r.storageCleanup)try{r.storageCleanup()}catch(e){a.push(e),console.error(`[ExtensionCoordinator] Storage cleanup error during disable of "${t}":`,e)}finally{r.storageCleanup=void 0}if(a.length>0){let e=a.map(e=>o(e)).join(`; `);r.error=o(AggregateError(a,`Extension "${t}" disabled with ${a.length} teardown failure(s): ${e}`))}P(e.bus,r,`stopped`),r.warnings=[];try{await e.bus.emit(n.warnings.changed,{extensionName:t,warnings:[]})}catch(e){console.error(`[ExtensionCoordinator] warnings.changed emit failed for "${t}":`,e)}return a.length===0}async function V(e,t,n,r){try{await t?.destroy?.()}catch(t){console.error(`[ExtensionCoordinator] Service cleanup error after failed enable of "${e}":`,t)}try{n?.()}catch(t){console.error(`[ExtensionCoordinator] Storage cleanup error after failed enable of "${e}":`,t)}finally{r.storageCleanup=void 0}}function H(e){let t=new Map;for(let n of e)t.has(n.name)&&(console.info(`[ExtensionCoordinator] Extension "${n.name}" overrides an earlier registration`),t.delete(n.name)),t.set(n.name,n);return[...t.values()]}function U(e,t,n){let r=new Set(e.map(e=>e.name)),i=e.filter(e=>W(e,t,n)),a=new Map(i.map(e=>[e.name,e])),o=new Set(a.keys()),s=!0;for(;s;){s=!1;for(let e of o)(a.get(e).dependencies??[]).some(e=>!e.optional&&r.has(e.name)&&!o.has(e.name))&&(o.delete(e),s=!0)}return i.filter(e=>o.has(e.name))}function W(e,t,n){if(!K(e,t))return!1;let r=e.requires;return!r||r.length===0||!n?!0:r.every(e=>{switch(e.type){case`host`:return n.hosts.has(e.id);case`capability`:return n.capabilities.has(e.id)?e.version===void 0?!0:G(n,e.id,e.version):!1}})}function G(e,t,n){let r=e.capabilityVersions?.get(t);return r!==void 0&&u(r,n)}function K(e,t){return e.surface===void 0||e.surface===`any`||e.surface===t}function ce(e){let t=le(e);return ue(e,t,new Map(e.map(e=>[e.name,e]))),pe(t,fe(e,t))}function le(e){let t=new Set;for(let n of e){if(t.has(n.name))throw Error(`ExtensionCoordinator: duplicate package name detected: "${n.name}"`);t.add(n.name)}return t}function ue(e,t,n){for(let r of e)de(r,t,n)}function de(e,t,n){let r=e.dependencies??[],i=r.filter(e=>!e.optional&&!t.has(e.name));if(i.length>0)throw Error(`ExtensionCoordinator: package "${e.name}" declares missing dependencies: ${i.map(e=>e.name).join(`, `)}`);for(let t of r){let r=n.get(t.name);if(r===void 0)continue;let i=r.version;if(!u(i,t.version))throw Error(`ExtensionCoordinator: package "${e.name}" dependency "${t.name}" version ${i} does not satisfy ${t.version}`)}}function fe(e,t){let n=new Map;for(let r of e){let e=(r.dependencies??[]).filter(e=>t.has(e.name)).map(e=>e.name);n.set(r.name,new Set(e))}return n}function pe(e,t){let n=[];for(let[e,r]of t)r.size===0&&n.push(e);let r=[],i=new Set;for(;n.length>0;){let e=n.shift();if(!i.has(e)){i.add(e),r.push(e);for(let[r,a]of t)a.has(e)&&(a.delete(e),a.size===0&&!i.has(r)&&n.push(r))}}if(r.length!==e.size){let t=[...e].filter(e=>!i.has(e));throw Error(`ExtensionCoordinator: circular dependency detected among: ${t.join(`, `)}`)}return r}async function me(e){if(!e.runMigrations)return;let t=[];for(let n of e.loadOrder){let r=e.entries.get(n);if(!r)throw Error(`Extension "${n}" is in loadOrder but missing from entries`);let i=r.pkg.storage?.migrations;if(!i)continue;let a,o;if(typeof i==`string`)a=q(n,r.pkg,i);else{let e={};for(let[t,a]of Object.entries(i))a!==void 0&&(e[t]=q(n,r.pkg,a));let t=l(e);if(t===void 0)continue;a=t,o=e}t.push({name:n,migrationsPath:a,migrationSourceId:r.pkg.storage?.migrationSourceId??a,...o?{migrationsPathByDialect:o}:{}})}t.length!==0&&await e.runMigrations(t)}function q(e,t,n){if(a.isAbsolute(n))return n;let r=t.storage?.packageRoot;if(!r)throw Error(`Extension "${e}" declares relative storage.migrations "${n}" without storage.packageRoot`);let i=a.resolve(r),o=a.resolve(i,n),s=a.relative(i,o);if(s.startsWith(`..`)||a.isAbsolute(s))throw Error(`Extension "${e}" declares storage.migrations "${n}" outside storage.packageRoot`);return o}async function J(e,t){let r=e.entries.get(t);if(!r?.service||r.state!==`active`)return;let{checkHealth:i}=r.service;if(!i)return;let a;try{let e=await i.call(r.service),n=f.array().safeParse(e);n.success?a=n.data:(console.error(`[ExtensionCoordinator] checkHealth for "${t}" returned invalid data:`,n.error),a=[])}catch(e){console.error(`[ExtensionCoordinator] checkHealth threw for "${t}":`,e),a=[]}r.warnings=a;try{await e.bus.emit(n.warnings.changed,{extensionName:t,warnings:[...a]})}catch(e){console.error(`[ExtensionCoordinator] warnings.changed emit failed for "${t}":`,e)}}function he(e,t){if(t.windows)for(let n of t.windows)e.windowRegistry.register(t.name,t.displayName,n);if(t.tray&&e.trayEntries.push({...t.tray,packageName:t.name}),t.cli){let n=t.cli;`subcommands`in n&&e.cliContributions.push(n)}}function Y(e){return Array.from(e.values()).filter(e=>e.enabled).map(e=>e.pkg).filter(e=>!!e.http)}async function ge(e){let t=[...e.loadOrder].reverse(),n=[],r=[];for(let i of t){let t=e.entries.get(i);if(!t)continue;let a=!1;if(t.state===`active`){let r=await F(e.contributionProcessors,e.contextHost,i,t,`stopped`);r.length>0&&(a=!0,n.push(...r))}if(t.service)try{await t.service.destroy?.()}catch(e){a=!0,n.push(e)}finally{t.service=void 0}if(t.storageCleanup)try{t.storageCleanup()}catch(e){a=!0,n.push(e)}finally{t.storageCleanup=void 0}a&&r.push(i),t.state===`active`&&P(e.contextHost.bus,t,`stopped`)}if(n.length>0)throw AggregateError(n,`Extensions failed to shut down cleanly: ${r.join(`, `)}`)}async function _e(e,t){if(!t.tray)return;let n=ve(t);await e.request(m.register,{entry:n})}function ve(e){let t=e.tray;if(!t)throw Error(`[tray-menu-entry-bridge] extension "${e.name}" does not declare a tray entry`);return{packageName:e.name,entryId:t.opensWindow??t.action??`default`,label:t.label,section:t.section??`views`,priority:50,enabled:!0,metadata:t.opensWindow?{registrationId:`${e.name}:${t.opensWindow}`}:t.action?{action:t.action}:void 0}}async function ye(e,t,n){if(!n.enabled){P(e.bus,n,`skipped`),e.bootProgress.skipped(n.pkg,`disabled`);return}let r=(n.pkg.dependencies??[]).filter(t=>t.optional?!1:e.entries.get(t.name)?.state!==`active`);if(r.length>0){let i=`Required dependencies not active: ${r.map(e=>e.name).join(`, `)}`;if(Q(e,t,n,i),n.pkg.critical)throw Error(`Critical package "${t}" failed: ${i}`);return}e.bootProgress.starting(n.pkg),P(e.bus,n,`initializing`);let i=j(e.contextHost,t,n);if(Se(e,t,n,i)){if(!n.pkg.create){await be(e,t,n);return}await xe(e,t,n,i)}}async function be(e,t,n){try{await F(e.contributionProcessors,e.contextHost,t,n,`activated`)}catch(r){if(Z(t,n),X(e,t,n,r))return;if(Q(e,t,n,r instanceof Error?r.message:String(r)),n.pkg.critical)throw r;return}P(e.bus,n,`active`),e.bootProgress.ready(n.pkg),await $(e.bus,t,n)}async function xe(e,t,n,r){let i;try{let a=M(e.contextHost,n,r);i=await n.pkg.create(a),await i.init?.(),n.service=i,await F(e.contributionProcessors,e.contextHost,t,n,`activated`),P(e.bus,n,`active`),e.bootProgress.ready(n.pkg),await $(e.bus,t,n)}catch(r){try{await i?.destroy?.()}catch(e){console.error(`[ExtensionCoordinator] Service cleanup error after failed start of "${t}":`,e)}if(n.service=void 0,Z(t,n),X(e,t,n,r))return;if(Q(e,t,n,r instanceof Error?r.message:String(r)),n.pkg.critical)throw r}}function X(e,t,n,r){if(!(r instanceof v))return!1;if(n.pkg.critical){let i=`Critical package cannot skip startup: ${r.reason}`;throw Q(e,t,n,i),Error(`Critical package "${t}" failed: ${i}`,{cause:r})}return n.error=r.reason,console.info(`[ExtensionCoordinator] Package "${t}" skipped: ${r.reason}`),P(e.bus,n,`skipped`),e.bootProgress.skipped(n.pkg,r.reason),!0}function Se(e,t,n,r){if(!n.pkg.storage?.registerHandlers||e.db===void 0)return!0;try{let t=M(e.contextHost,n,r),i=n.pkg.storage.registerHandlers(e.bus,e.db,t);return i&&(n.storageCleanup=i),!0}catch(r){let i=r instanceof Error?r.message:String(r);if(console.error(`[ExtensionCoordinator] Package "${t}" storage registration failed:`,r),Q(e,t,n,i),n.pkg.critical)throw r;return!1}}function Z(e,t){if(t.storageCleanup)try{t.storageCleanup()}catch(t){console.error(`[ExtensionCoordinator] Storage cleanup error after failed start of "${e}":`,t)}finally{t.storageCleanup=void 0}}function Q(e,t,n,r){n.error=r,console.error(`[ExtensionCoordinator] Package "${t}" failed:`,r),P(e.bus,n,`failed`),e.bootProgress.failed(n.pkg,r)}async function $(e,t,n){try{await _e(e,n.pkg)}catch(e){console.warn(`[ExtensionCoordinator] Failed to register tray entry for ${t}:`,e)}}var Ce=class{bus;surface;db;extensionContextBase;runtimeEnvironment;shutdownController=new AbortController;entries=new Map;loadOrder=[];loaded=!1;started=!1;shutdownRequested=!1;shutdownPromise;lifecycleTail=Promise.resolve();rpcCleanups=[];contributionProcessors=[];warningActionMap=new Map;windowRegistry=new e;_trayEntries=[];_cliContributions=[];persistEnabled;loadEnabled;loadConfig;runMigrations;constructor(e,t={}){this.bus=e,this.surface=t.surface??`headless`,this.db=t.db,this.extensionContextBase=t.extensionContextBase,this.runtimeEnvironment=t.runtimeEnvironment,this.persistEnabled=t.persistEnabled,this.loadEnabled=t.loadEnabled,this.loadConfig=t.loadConfig,this.runMigrations=t.runMigrations,this.rpcCleanups.push(ee(this.bus,this.warningActionMap,t.launcherCommand??`makaio`))}get trayEntries(){return this._trayEntries.map(e=>({...e}))}get cliContributions(){return this._cliContributions}extensionsWithHttp(){return Y(this.entries)}load(e,t){if(this.shutdownRequested)throw Error(`ExtensionCoordinator.load() called after shutdown(). The coordinator is terminal.`);if(this.loaded)throw Error(`ExtensionCoordinator.load() called twice. The coordinator is single-use; create a new instance if needed.`);let n=H(U(e,this.surface,this.runtimeEnvironment));this.loadOrder=ce(n);for(let e of this.loadOrder){let r=n.find(t=>t.name===e),i={pkg:r,identity:oe(r.name),state:`discovered`,enabled:this.loadEnabled?.(e)!==!1,warnings:[]};if(t){let n=t.get(e);n&&(i.configDefaults=n)}this.entries.set(e,i),r.namespaces&&this.bus.registerNamespaces(r.namespaces),he({windowRegistry:this.windowRegistry,trayEntries:this._trayEntries,cliContributions:this._cliContributions},r)}this.rpcCleanups.push(...O({bus:this.bus,entries:this.entries,cliContributions:this._cliContributions,list:()=>this.list(),handleSetEnabled:(e,t)=>this.handleSetEnabled(e,t)})),this.loaded=!0}async startAll(){if(this.shutdownRequested)throw Error(`ExtensionCoordinator.startAll() called after shutdown(). The coordinator is terminal.`);if(!this.loaded)throw Error(`ExtensionCoordinator.startAll() called before load(). Call load() first.`);if(this.started)throw Error(`ExtensionCoordinator.startAll() called twice. The coordinator is single-use; create a new instance if needed.`);this.started=!0,await this.enqueueLifecycle(()=>this.startAllInLifecycleLane())}async startAllInLifecycleLane(){let e=new b(this.bus,this.loadOrder.length);this.rpcCleanups.push(()=>e.dispose());try{await me({loadOrder:this.loadOrder,entries:this.entries,runMigrations:this.runMigrations});for(let t of this.loadOrder){let n=this.entries.get(t);n&&await ye({bus:this.bus,db:this.db,entries:this.entries,contributionProcessors:this.contributionProcessors,contextHost:this.createExtensionContextHost(),bootProgress:e},t,n)}let t=this.createExtensionHealthHost();await Promise.all(this.loadOrder.map(e=>this.entries.get(e)?.state===`active`?J(t,e):void 0)),await re({bus:this.bus,entries:this.entries,warningActionMap:this.warningActionMap})}finally{e.complete()}}shutdown(){if(this.shutdownPromise)return this.shutdownPromise;this.shutdownRequested=!0;let e=this.enqueueLifecycle(()=>this.shutdownInLifecycleLane());return this.shutdownPromise=e,this.shutdownController.abort(),e}async shutdownInLifecycleLane(){let e=[],t;for(let t of this.rpcCleanups)try{t()}catch(t){e.push(t)}this.rpcCleanups=[],this.warningActionMap.clear();try{await ge({entries:this.entries,loadOrder:this.loadOrder,contributionProcessors:this.contributionProcessors,contextHost:this.createExtensionContextHost()})}catch(n){n instanceof AggregateError?(t=n.message,e.push(...n.errors)):e.push(n)}if(e.length>0){let n=t===void 0?``:`; ${t}`;throw AggregateError(e,`Extension coordinator shutdown failed with ${e.length} error(s)${n}`)}}list(){return[...this.entries.values()].map(e=>D(e))}getExtensionService(e){let t=typeof e==`string`?e:e.name;return this.entries.get(t)?.service}getExtension(e){return this.entries.get(e)?.pkg}getLoadedProviderDefinitionIds(){let e=new Set;for(let t of this.entries.values())if(t.enabled&&!(t.state===`failed`||t.state===`skipped`||t.state===`stopped`))for(let n of t.pkg.providers??[])e.add(n.id);return e}forEachActiveExtension(e){let t=this.createExtensionContextHost();for(let n of this.loadOrder){let r=this.entries.get(n);if(!r||r.state!==`active`)continue;let i=M(t,r,j(t,n,r));e(n,r.pkg,i)}}forExtension(e,t){let n=this.entries.get(e);if(!n||n.state!==`active`)return;let r=this.createExtensionContextHost(),i=M(r,n,j(r,e,n));t(e,n.pkg,i)}registerContributionProcessor(e){return this.contributionProcessors.push(e),()=>{let t=this.contributionProcessors.indexOf(e);t>=0&&this.contributionProcessors.splice(t,1)}}async handleSetEnabled(e,t){return this.shutdownRequested?!1:await this.enqueueLifecycle(()=>R({bus:this.bus,db:this.db,entries:this.entries,extensionContextBase:this.extensionContextBase,loadConfig:this.loadConfig,signal:this.shutdownController.signal,hasActiveExtension:e=>this.hasActiveExtension(e),persistEnabled:this.persistEnabled,contributionProcessors:this.contributionProcessors,getExtensionService:e=>this.getExtensionService(e),runHealthCheck:e=>J(this.createExtensionHealthHost(),e),emitWarningsForEntry:(e,t)=>A({bus:this.bus,entries:this.entries,warningActionMap:this.warningActionMap},e,t)},e,t))}enqueueLifecycle(e){let t=this.lifecycleTail.then(()=>e(),()=>e());return this.lifecycleTail=t.then(()=>void 0,()=>void 0),t}createExtensionContextHost(){return{bus:this.bus,extensionContextBase:this.extensionContextBase,loadConfig:this.loadConfig,signal:this.shutdownController.signal,hasActiveExtension:e=>this.hasActiveExtension(e),getExtensionService:e=>this.getExtensionService(e)}}createExtensionHealthHost(){return{bus:this.bus,entries:this.entries}}hasActiveExtension(e){return this.entries.get(e)?.state===`active`}};export{g as a,v as i,H as n,_ as o,U as r,Ce as t};
1
+ import{n as e}from"./window-registry-DQkv5wM9.mjs";import{n as t}from"./namespace-DFc1nkal.mjs";import{n}from"./extension-namespace-CWfV3IiR.mjs";import{t as r}from"./schema-introspection-BsWP1vGC.mjs";import{z as i}from"zod";import a from"node:path";import{getErrorString as o}from"@makaio/framework/utils";import{createBusNamespace as s}from"@makaio/framework/core";import{ProviderDefinitionSchema as c,primaryMigrationsPath as l,versionSatisfies as u}from"@makaio/framework/contracts";import{ToastSubjects as d}from"@makaio/framework/contracts/toast";import{ExtensionWarningSchema as f,getExtensionWarningActionLabel as p}from"@makaio/framework/contracts/extension";import{TrayMenuSubjects as m}from"@makaio/framework/services/tray-menu";const h=i.object({name:i.string(),displayName:i.string()}),g=s(`kernel:boot`,{getState:{request:i.object({}),response:i.object({complete:i.boolean(),completedCount:i.number(),totalCount:i.number(),currentService:i.string().optional(),failedServices:i.array(i.string()),skippedServices:i.array(i.string()).default([]),totalDurationMs:i.number().optional()})},"service.starting":h,"service.ready":h.extend({durationMs:i.number().int().nonnegative()}),"service.failed":h.extend({errorMessage:i.string()}),"service.skipped":h.extend({reason:i.string()}),progress:i.object({completedCount:i.number(),totalCount:i.number(),currentService:i.string().optional()}),complete:i.object({totalDurationMs:i.number(),failedServices:i.array(i.string())})}),_=g.subjects;var v=class extends Error{reason;constructor(e){super(e),this.name=`ServiceSkipError`,this.reason=e}};function y(e){return{name:e.name,displayName:e.displayName}}var b=class{bus;state;cleanup;constructor(e,t){this.bus=e,this.state={complete:!1,completedCount:0,totalCount:t,failedServices:[],skippedServices:[],startedAt:Date.now()},this.cleanup=this.bus.on(_.getState,e=>{e.setResult({complete:this.state.complete,completedCount:this.state.completedCount,totalCount:this.state.totalCount,...this.state.currentService===void 0?{}:{currentService:this.state.currentService},failedServices:[...this.state.failedServices],skippedServices:[...this.state.skippedServices],...this.state.totalDurationMs===void 0?{}:{totalDurationMs:this.state.totalDurationMs}})})}dispose(){this.cleanup()}starting(e){let t=y(e);this.state.currentService=t.displayName,this.state.currentServiceStartedAt=Date.now(),this.bus.emit(_.service.starting,t).catch(e=>{console.warn(`[ExtensionCoordinator] boot.service.starting emit failed for "${t.name}":`,e)})}ready(e){let t=y(e);this.state.completedCount+=1;let n=this.state.currentServiceStartedAt===void 0?0:Math.max(0,Date.now()-this.state.currentServiceStartedAt);this.bus.emit(_.service.ready,{...t,durationMs:n}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.service.ready emit failed for "${t.name}":`,e)}),this.emitProgress()}failed(e,t){let n=y(e);this.state.completedCount+=1,this.state.failedServices.push(n.name),this.bus.emit(_.service.failed,{...n,errorMessage:t}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.service.failed emit failed for "${n.name}":`,e)}),this.emitProgress()}skipped(e,t){let n=y(e);this.state.completedCount+=1,this.state.skippedServices.push(n.name),this.bus.emit(_.service.skipped,{...n,reason:t}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.service.skipped emit failed for "${n.name}":`,e)}),this.emitProgress()}complete(){this.state.complete=!0,delete this.state.currentService,delete this.state.currentServiceStartedAt,this.state.totalDurationMs=Date.now()-this.state.startedAt,this.bus.emit(_.complete,{totalDurationMs:this.state.totalDurationMs,failedServices:[...this.state.failedServices]}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.complete emit failed:`,e)})}emitProgress(){this.bus.emit(_.progress,{completedCount:this.state.completedCount,totalCount:this.state.totalCount,...this.state.currentService===void 0?{}:{currentService:this.state.currentService}}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.progress emit failed:`,e)})}};function x(e){return{subject:`wiring.apply`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1,payload:{request:{},response:{}}}}}const S=`action`;function C(e,t){return`${e}:${t}`}function ee(e,t,n){return e.on(d.interacted,r=>{let{toastId:i,actionId:a}=r.payload,o=C(i,a),s=t.get(o);s&&w(e,s,i,n).catch(e=>{console.error(`[ExtensionCoordinator] Warning action dispatch failed for toast "${i}":`,e)})})}async function w(e,t,n,r){switch(t.kind){case`configure-integration`:await ne(e,t.clientId,n,r);break;case`open-url`:console.info(`[ExtensionCoordinator] Toast "${n}" open-url action not routable from runtime layer: ${t.url}`);break;case`run-command`:console.info(`[ExtensionCoordinator] Toast "${n}" run-command action not routable from runtime layer: ${t.command}`);break;case`install-extension`:console.info(`[ExtensionCoordinator] Toast "${n}" install-extension action not routable from runtime layer: ${t.extensionName}`);break;default:te(t)}}function te(e){throw Error(`[ExtensionCoordinator] Unsupported warning action: ${JSON.stringify(e)}`)}async function ne(e,t,n,r){let i=x(t),a=await e.requestOptional(i,{scope:`user`,makaioCommand:r});if(!a.handled){console.warn(`[ExtensionCoordinator] Toast "${n}" configure-integration: no wiring handler for client "${t}". Is the client package loaded?`);return}let{applied:o,skipped:s}=a.data;console.info(`[ExtensionCoordinator] Toast "${n}" configure-integration: wired client "${t}" — ${o} applied, ${s} skipped.`)}function T(e){return e.map(e=>({name:e.name,description:e.description,hasInteractive:!!e.interactive,subcommands:e.subcommands.map(e=>({name:e.name,description:e.description,args:r(e.schema)}))}))}async function E(e,t,n){let{command:r,subcommand:i,args:a}=e,o=t.find(e=>e.name===r);if(!o)return{exitCode:1,stdout:[],stderr:[`Unknown command: ${r}`]};let s=o.subcommands.find(e=>e.name===i);if(!s)return{exitCode:1,stdout:[],stderr:[`Unknown subcommand: ${i}`]};let c=s.schema.safeParse(a??{});if(!c.success)return{exitCode:1,stdout:[],stderr:[`Validation failed:`,...c.error.issues.map(e=>` ${e.path.join(`.`)||`(root)`}: ${e.message}`)]};if(o.beforeRun)try{let e=await o.beforeRun({subcommandName:i,args:c.data??{},bus:n});if(!e.proceed)return{exitCode:e.exitCode??1,stdout:[],stderr:[e.message]}}catch(e){return{exitCode:1,stdout:[],stderr:[`beforeRun hook failed: ${e instanceof Error?e.message:String(e)}`]}}let l=[],u=[],d={write:e=>l.push(e),error:e=>u.push(e)},f=0,p=new AbortController().signal;try{await s.handler({args:c.data,bus:n,output:d,signal:p,setExitCode:e=>{f=e}})}catch(e){f===0&&(f=1),u.push(e instanceof Error?e.message:String(e))}return{exitCode:f,stdout:l,stderr:u}}function D(e){let{pkg:t,state:n,error:r,enabled:i}=e;return{name:t.name,displayName:t.displayName,state:n,...t.surface===void 0?{}:{surface:t.surface},enabled:i,...t.browser===void 0?{}:{browser:t.browser},...r===void 0?{}:{error:r}}}function O(e){let r=[];return r.push(e.bus.on(n.list,t=>{t.setResult({extensions:e.list()})})),r.push(e.bus.on(n.get,t=>{let n=e.entries.get(t.payload.name);t.setResult({extension:n?D(n):null})})),r.push(e.bus.on(n.setEnabled,async t=>{let n=await e.handleSetEnabled(t.payload.name,t.payload.enabled);t.setResult({success:n})})),r.push(e.bus.on(n.contributions.catalog,t=>{let n=[],r=[];for(let[t,i]of e.entries)if(i.state===`active`){for(let e of i.pkg.providers??[])n.push({packageName:t,definition:c.parse(e)});for(let e of i.pkg.clients??[])r.push({packageName:t,definition:e})}t.setResult({providers:n,clients:r})})),r.push(e.bus.on(t.listContributions,t=>{t.setResult({contributions:T(e.cliContributions)})})),r.push(e.bus.on(t.execute,async t=>{t.setResult(await E(t.payload,e.cliContributions,e.bus))})),r.push(e.bus.on(n.warnings.list,t=>{let{extensionName:n}=t.payload;if(n!==void 0){let r=e.entries.get(n),i=r&&r.warnings.length>0?[{extensionName:n,warnings:[...r.warnings]}]:[];t.setResult({entries:i});return}let r=[];for(let[t,n]of e.entries)n.warnings.length>0&&r.push({extensionName:t,warnings:[...n.warnings]});t.setResult({entries:r})})),r}async function re(e){for(let[t,n]of e.entries)n.state===`active`&&await A(e,t,n)}function ie(e){if(e&&k(e))return[{id:S,label:p(e)}]}function k(e){return e.kind===`configure-integration`}function ae(e,t){let n=`${t}:`;for(let t of e.keys())t.startsWith(n)&&e.delete(t)}async function A(e,t,n){ae(e.warningActionMap,t);let r=n.warnings.filter(e=>e.severity===`degraded`);if(r.length!==0)for(let i=0;i<r.length;i++){let a=r[i];console.warn(`[${t}] ⚠ ${a.title}: ${a.message}`);let o=`${t}:${a.title}:${i}`,s=ie(a.action);try{await e.bus.emit(d.show,{level:`warning`,title:a.title,message:`${n.pkg.displayName}: ${a.message}`,toastId:o,durationMs:null,...s&&{actions:s}}),a.action&&k(a.action)&&e.warningActionMap.set(C(o,S),a.action)}catch(e){console.warn(`[${t}] toast emission failed for warning "${a.title}":`,e)}}}function oe(e){return Object.freeze({extensionName:e})}function se(e,t,n,r){if(!t)return;let i={...n??{},...r??{}};try{return t.parse(i)}catch(n){console.warn(`[ExtensionCoordinator] Config parse failed for "${e}", starting with schema defaults:`,n instanceof Error?n.message:n);try{return t.parse({})}catch{console.warn(`[ExtensionCoordinator] Fallback config parse also failed for "${e}" — config will be absent`);return}}}function j(e,t,n){let r;if(n.pkg.configSchema)try{r=e.loadConfig?.(t)}catch(e){console.error(`[ExtensionCoordinator] loadConfig threw for "${t}":`,e)}return se(t,n.pkg.configSchema,n.configDefaults,r)}function M(e,t,n){if(!e.extensionContextBase)throw Error(`ExtensionCoordinator: extensionContextBase is required to start extensions with a create factory. Provide it via the constructor.`);return{...e.extensionContextBase,bus:e.bus,identity:t.identity,dataDir:a.join(e.extensionContextBase.makaioHome,t.identity.extensionName),getService:t=>e.getExtensionService(t.name),signal:e.signal,hasExtension:e.hasActiveExtension,...n===void 0?{}:{config:n}}}function N(e){return{adapters:!!e.adapters?.length,tools:!!e.tools,hashTriggers:!!e.hashTriggers,providers:!!e.providers?.length,clients:!!e.clients?.length,ui:!!e.ui,storage:!!e.storage,sessionEventActions:!!e.sessionEventActions}}function P(e,t,r){let i=t.state;t.state=r,e.emit(n.stateChanged,{name:t.pkg.name,displayName:t.pkg.displayName,from:i,to:r,...t.error===void 0?{}:{error:t.error},contributes:N(t.pkg)}).catch(e=>{console.error(`[ExtensionCoordinator] stateChanged emit failed for "${t.pkg.name}":`,e)})}async function F(e,t,n,r,i){return i===`activated`?(await I(e,t,n,r),[]):L(e,n)}async function I(e,t,n,r){let i=[];try{for(let a of e){if(a.filter&&!a.filter(r.pkg))continue;let e=M(t,r,j(t,n,r));await a.processActivated(n,r.pkg,e),i.push(a)}}catch(e){for(let e of i.reverse())if(e.processStopped)try{await e.processStopped(n)}catch(e){console.error(`[ExtensionCoordinator] Contribution processor rollback error for "${n}":`,e)}throw e}}async function L(e,t){let n=[];for(let r of[...e].reverse())if(r.processStopped)try{await r.processStopped(t)}catch(e){n.push(e)}return n}async function R(e,t,r){let i=e.entries.get(t);if(!i)return!1;let a=i.enabled,o=r!==a;o&&await e.persistEnabled?.(t,r);let s;try{s=r?await z(e,t,i):await B(e,t,i)}catch(n){if(o&&e.persistEnabled)try{await e.persistEnabled(t,a)}catch(e){throw AggregateError([n,e],`Extension "${t}" transition and preference rollback both failed`)}throw n}return i.enabled===a&&!s?(o&&await e.persistEnabled?.(t,a),!1):(e.bus.emit(n.enabledChanged,{name:t,enabled:r}).catch(e=>{console.error(`[ExtensionCoordinator] enabledChanged emit failed for "${t}":`,e)}),s)}async function z(e,t,n){if(n.state!==`stopped`&&n.state!==`failed`&&n.state!==`skipped`)return!1;let{pkg:r}=n,i,a=(r.dependencies??[]).filter(t=>{if(t.optional)return!1;let n=e.entries.get(t.name);return!n||n.state!==`active`});if(a.length>0)return n.error=`Required dependencies not active: ${a.map(e=>e.name).join(`, `)}`,console.error(`[ExtensionCoordinator] Cannot re-enable "${t}":`,n.error),P(e.bus,n,`failed`),!1;n.enabled=!0,n.error=void 0,P(e.bus,n,`initializing`);let s=j(e,t,n);if(r.storage?.registerHandlers&&e.db!==void 0)try{let t=M(e,n,s),a=r.storage.registerHandlers(e.bus,e.db,t);typeof a==`function`&&(i=a,n.storageCleanup=a)}catch(r){return n.error=o(r),console.error(`[ExtensionCoordinator] Extension "${t}" storage re-registration failed:`,r),P(e.bus,n,`failed`),!1}if(r.create){let a;try{let t=M(e,n,s);a=await r.create(t),await a.init?.(),n.service=a}catch(r){return await V(t,a,i,n),r instanceof v?n.pkg.critical?(n.error=`Critical extension cannot skip startup: ${r.reason}`,console.error(`[ExtensionCoordinator] Extension "${t}" failed to re-initialize:`,n.error),P(e.bus,n,`failed`),!1):(n.error=r.reason,P(e.bus,n,`skipped`),!1):(n.error=o(r),console.error(`[ExtensionCoordinator] Extension "${t}" failed to re-initialize:`,r),P(e.bus,n,`failed`),!1)}}try{await F(e.contributionProcessors,e,t,n,`activated`)}catch(r){return await V(t,n.service,i,n),n.service=void 0,n.error=o(r),console.error(`[ExtensionCoordinator] Extension "${t}" contribution processing failed:`,r),P(e.bus,n,`failed`),!1}return P(e.bus,n,`active`),await e.runHealthCheck(t),await e.emitWarningsForEntry(t,n),!0}async function B(e,t,r){if(r.state!==`active`)return!1;let i=Array.from(e.entries.entries()).filter(([e,n])=>e===t||n.state!==`active`?!1:n.pkg.dependencies?.some(e=>!e.optional&&e.name===t)??!1).map(([e])=>e);if(i.length>0)return r.error=`Cannot disable "${t}" while active dependents remain: ${i.join(`, `)}`,console.error(`[ExtensionCoordinator] ${r.error}`),!1;r.enabled=!1,r.error=void 0;let a=[];try{a.push(...await F(e.contributionProcessors,e,t,r,`stopped`))}catch(e){a.push(e),console.error(`[ExtensionCoordinator] Contribution processor error during disable of "${t}":`,e)}if(r.service)try{await r.service.destroy?.()}catch(e){a.push(e),console.error(`[ExtensionCoordinator] Error during disable destroy of "${t}":`,e)}finally{r.service=void 0}if(r.storageCleanup)try{r.storageCleanup()}catch(e){a.push(e),console.error(`[ExtensionCoordinator] Storage cleanup error during disable of "${t}":`,e)}finally{r.storageCleanup=void 0}if(a.length>0){let e=a.map(e=>o(e)).join(`; `);r.error=o(AggregateError(a,`Extension "${t}" disabled with ${a.length} teardown failure(s): ${e}`))}P(e.bus,r,`stopped`),r.warnings=[];try{await e.bus.emit(n.warnings.changed,{extensionName:t,warnings:[]})}catch(e){console.error(`[ExtensionCoordinator] warnings.changed emit failed for "${t}":`,e)}return a.length===0}async function V(e,t,n,r){try{await t?.destroy?.()}catch(t){console.error(`[ExtensionCoordinator] Service cleanup error after failed enable of "${e}":`,t)}try{n?.()}catch(t){console.error(`[ExtensionCoordinator] Storage cleanup error after failed enable of "${e}":`,t)}finally{r.storageCleanup=void 0}}function H(e){let t=new Map;for(let n of e)t.has(n.name)&&(console.info(`[ExtensionCoordinator] Extension "${n.name}" overrides an earlier registration`),t.delete(n.name)),t.set(n.name,n);return[...t.values()]}function U(e,t,n){let r=new Set(e.map(e=>e.name)),i=e.filter(e=>W(e,t,n)),a=new Map(i.map(e=>[e.name,e])),o=new Set(a.keys()),s=!0;for(;s;){s=!1;for(let e of o)(a.get(e).dependencies??[]).some(e=>!e.optional&&r.has(e.name)&&!o.has(e.name))&&(o.delete(e),s=!0)}return i.filter(e=>o.has(e.name))}function W(e,t,n){if(!K(e,t))return!1;let r=e.requires;return!r||r.length===0||!n?!0:r.every(e=>{switch(e.type){case`host`:return n.hosts.has(e.id);case`capability`:return n.capabilities.has(e.id)?e.version===void 0?!0:G(n,e.id,e.version):!1}})}function G(e,t,n){let r=e.capabilityVersions?.get(t);return r!==void 0&&u(r,n)}function K(e,t){return e.surface===void 0||e.surface===`any`||e.surface===t}function ce(e){let t=le(e);return ue(e,t,new Map(e.map(e=>[e.name,e]))),pe(t,fe(e,t))}function le(e){let t=new Set;for(let n of e){if(t.has(n.name))throw Error(`ExtensionCoordinator: duplicate package name detected: "${n.name}"`);t.add(n.name)}return t}function ue(e,t,n){for(let r of e)de(r,t,n)}function de(e,t,n){let r=e.dependencies??[],i=r.filter(e=>!e.optional&&!t.has(e.name));if(i.length>0)throw Error(`ExtensionCoordinator: package "${e.name}" declares missing dependencies: ${i.map(e=>e.name).join(`, `)}`);for(let t of r){let r=n.get(t.name);if(r===void 0)continue;let i=r.version;if(!u(i,t.version))throw Error(`ExtensionCoordinator: package "${e.name}" dependency "${t.name}" version ${i} does not satisfy ${t.version}`)}}function fe(e,t){let n=new Map;for(let r of e){let e=(r.dependencies??[]).filter(e=>t.has(e.name)).map(e=>e.name);n.set(r.name,new Set(e))}return n}function pe(e,t){let n=[];for(let[e,r]of t)r.size===0&&n.push(e);let r=[],i=new Set;for(;n.length>0;){let e=n.shift();if(!i.has(e)){i.add(e),r.push(e);for(let[r,a]of t)a.has(e)&&(a.delete(e),a.size===0&&!i.has(r)&&n.push(r))}}if(r.length!==e.size){let t=[...e].filter(e=>!i.has(e));throw Error(`ExtensionCoordinator: circular dependency detected among: ${t.join(`, `)}`)}return r}async function me(e){if(!e.runMigrations)return;let t=[];for(let n of e.loadOrder){let r=e.entries.get(n);if(!r)throw Error(`Extension "${n}" is in loadOrder but missing from entries`);let i=r.pkg.storage?.migrations;if(!i)continue;let a,o;if(typeof i==`string`)a=q(n,r.pkg,i);else{let e={};for(let[t,a]of Object.entries(i))a!==void 0&&(e[t]=q(n,r.pkg,a));let t=l(e);if(t===void 0)continue;a=t,o=e}t.push({name:n,migrationsPath:a,migrationSourceId:r.pkg.storage?.migrationSourceId??a,...o?{migrationsPathByDialect:o}:{}})}t.length!==0&&await e.runMigrations(t)}function q(e,t,n){if(a.isAbsolute(n))return n;let r=t.storage?.packageRoot;if(!r)throw Error(`Extension "${e}" declares relative storage.migrations "${n}" without storage.packageRoot`);let i=a.resolve(r),o=a.resolve(i,n),s=a.relative(i,o);if(s.startsWith(`..`)||a.isAbsolute(s))throw Error(`Extension "${e}" declares storage.migrations "${n}" outside storage.packageRoot`);return o}async function J(e,t){let r=e.entries.get(t);if(!r?.service||r.state!==`active`)return;let{checkHealth:i}=r.service;if(!i)return;let a;try{let e=await i.call(r.service),n=f.array().safeParse(e);n.success?a=n.data:(console.error(`[ExtensionCoordinator] checkHealth for "${t}" returned invalid data:`,n.error),a=[])}catch(e){console.error(`[ExtensionCoordinator] checkHealth threw for "${t}":`,e),a=[]}r.warnings=a;try{await e.bus.emit(n.warnings.changed,{extensionName:t,warnings:[...a]})}catch(e){console.error(`[ExtensionCoordinator] warnings.changed emit failed for "${t}":`,e)}}function he(e,t){if(t.windows)for(let n of t.windows)e.windowRegistry.register(t.name,t.displayName,n);if(t.tray&&e.trayEntries.push({...t.tray,packageName:t.name}),t.cli){let n=t.cli;`subcommands`in n&&e.cliContributions.push(n)}}function Y(e){return Array.from(e.values()).filter(e=>e.enabled).map(e=>e.pkg).filter(e=>!!e.http)}async function ge(e){let t=[...e.loadOrder].reverse(),n=[],r=[];for(let i of t){let t=e.entries.get(i);if(!t)continue;let a=!1;if(t.state===`active`){let r=await F(e.contributionProcessors,e.contextHost,i,t,`stopped`);r.length>0&&(a=!0,n.push(...r))}if(t.service)try{await t.service.destroy?.()}catch(e){a=!0,n.push(e)}finally{t.service=void 0}if(t.storageCleanup)try{t.storageCleanup()}catch(e){a=!0,n.push(e)}finally{t.storageCleanup=void 0}a&&r.push(i),t.state===`active`&&P(e.contextHost.bus,t,`stopped`)}if(n.length>0)throw AggregateError(n,`Extensions failed to shut down cleanly: ${r.join(`, `)}`)}async function _e(e,t){if(!t.tray)return;let n=ve(t);await e.request(m.register,{entry:n})}function ve(e){let t=e.tray;if(!t)throw Error(`[tray-menu-entry-bridge] extension "${e.name}" does not declare a tray entry`);return{packageName:e.name,entryId:t.opensWindow??t.action??`default`,label:t.label,section:t.section??`views`,priority:50,enabled:!0,metadata:t.opensWindow?{registrationId:`${e.name}:${t.opensWindow}`}:t.action?{action:t.action}:void 0}}async function ye(e,t,n){if(!n.enabled){P(e.bus,n,`skipped`),e.bootProgress.skipped(n.pkg,`disabled`);return}let r=(n.pkg.dependencies??[]).filter(t=>t.optional?!1:e.entries.get(t.name)?.state!==`active`);if(r.length>0){let i=`Required dependencies not active: ${r.map(e=>e.name).join(`, `)}`;if(Q(e,t,n,i),n.pkg.critical)throw Error(`Critical package "${t}" failed: ${i}`);return}e.bootProgress.starting(n.pkg),P(e.bus,n,`initializing`);let i=j(e.contextHost,t,n);if(Se(e,t,n,i)){if(!n.pkg.create){await be(e,t,n);return}await xe(e,t,n,i)}}async function be(e,t,n){try{await F(e.contributionProcessors,e.contextHost,t,n,`activated`)}catch(r){if(Z(t,n),X(e,t,n,r))return;if(Q(e,t,n,r instanceof Error?r.message:String(r)),n.pkg.critical)throw r;return}P(e.bus,n,`active`),e.bootProgress.ready(n.pkg),await $(e.bus,t,n)}async function xe(e,t,n,r){let i;try{let a=M(e.contextHost,n,r);i=await n.pkg.create(a),await i.init?.(),n.service=i,await F(e.contributionProcessors,e.contextHost,t,n,`activated`),P(e.bus,n,`active`),e.bootProgress.ready(n.pkg),await $(e.bus,t,n)}catch(r){try{await i?.destroy?.()}catch(e){console.error(`[ExtensionCoordinator] Service cleanup error after failed start of "${t}":`,e)}if(n.service=void 0,Z(t,n),X(e,t,n,r))return;if(Q(e,t,n,r instanceof Error?r.message:String(r)),n.pkg.critical)throw r}}function X(e,t,n,r){if(!(r instanceof v))return!1;if(n.pkg.critical){let i=`Critical package cannot skip startup: ${r.reason}`;throw Q(e,t,n,i),Error(`Critical package "${t}" failed: ${i}`,{cause:r})}return n.error=r.reason,console.info(`[ExtensionCoordinator] Package "${t}" skipped: ${r.reason}`),P(e.bus,n,`skipped`),e.bootProgress.skipped(n.pkg,r.reason),!0}function Se(e,t,n,r){if(!n.pkg.storage?.registerHandlers||e.db===void 0)return!0;try{let t=M(e.contextHost,n,r),i=n.pkg.storage.registerHandlers(e.bus,e.db,t);return i&&(n.storageCleanup=i),!0}catch(r){let i=r instanceof Error?r.message:String(r);if(console.error(`[ExtensionCoordinator] Package "${t}" storage registration failed:`,r),Q(e,t,n,i),n.pkg.critical)throw r;return!1}}function Z(e,t){if(t.storageCleanup)try{t.storageCleanup()}catch(t){console.error(`[ExtensionCoordinator] Storage cleanup error after failed start of "${e}":`,t)}finally{t.storageCleanup=void 0}}function Q(e,t,n,r){n.error=r,console.error(`[ExtensionCoordinator] Package "${t}" failed:`,r),P(e.bus,n,`failed`),e.bootProgress.failed(n.pkg,r)}async function $(e,t,n){try{await _e(e,n.pkg)}catch(e){console.warn(`[ExtensionCoordinator] Failed to register tray entry for ${t}:`,e)}}var Ce=class{bus;surface;db;extensionContextBase;runtimeEnvironment;shutdownController=new AbortController;entries=new Map;loadOrder=[];loaded=!1;started=!1;shutdownRequested=!1;shutdownPromise;lifecycleTail=Promise.resolve();rpcCleanups=[];contributionProcessors=[];warningActionMap=new Map;windowRegistry=new e;_trayEntries=[];_cliContributions=[];persistEnabled;loadEnabled;loadConfig;runMigrations;constructor(e,t={}){this.bus=e,this.surface=t.surface??`headless`,this.db=t.db,this.extensionContextBase=t.extensionContextBase,this.runtimeEnvironment=t.runtimeEnvironment,this.persistEnabled=t.persistEnabled,this.loadEnabled=t.loadEnabled,this.loadConfig=t.loadConfig,this.runMigrations=t.runMigrations,this.rpcCleanups.push(ee(this.bus,this.warningActionMap,t.launcherCommand??`makaio`))}get trayEntries(){return this._trayEntries.map(e=>({...e}))}get cliContributions(){return this._cliContributions}extensionsWithHttp(){return Y(this.entries)}load(e,t){if(this.shutdownRequested)throw Error(`ExtensionCoordinator.load() called after shutdown(). The coordinator is terminal.`);if(this.loaded)throw Error(`ExtensionCoordinator.load() called twice. The coordinator is single-use; create a new instance if needed.`);let n=H(U(e,this.surface,this.runtimeEnvironment));this.loadOrder=ce(n);for(let e of this.loadOrder){let r=n.find(t=>t.name===e),i={pkg:r,identity:oe(r.name),state:`discovered`,enabled:this.loadEnabled?.(e)!==!1,warnings:[]};if(t){let n=t.get(e);n&&(i.configDefaults=n)}this.entries.set(e,i),r.namespaces&&this.bus.registerNamespaces(r.namespaces),he({windowRegistry:this.windowRegistry,trayEntries:this._trayEntries,cliContributions:this._cliContributions},r)}this.rpcCleanups.push(...O({bus:this.bus,entries:this.entries,cliContributions:this._cliContributions,list:()=>this.list(),handleSetEnabled:(e,t)=>this.handleSetEnabled(e,t)})),this.loaded=!0}async startAll(){if(this.shutdownRequested)throw Error(`ExtensionCoordinator.startAll() called after shutdown(). The coordinator is terminal.`);if(!this.loaded)throw Error(`ExtensionCoordinator.startAll() called before load(). Call load() first.`);if(this.started)throw Error(`ExtensionCoordinator.startAll() called twice. The coordinator is single-use; create a new instance if needed.`);this.started=!0,await this.enqueueLifecycle(()=>this.startAllInLifecycleLane())}async startAllInLifecycleLane(){let e=new b(this.bus,this.loadOrder.length);this.rpcCleanups.push(()=>e.dispose());try{await me({loadOrder:this.loadOrder,entries:this.entries,runMigrations:this.runMigrations});for(let t of this.loadOrder){let n=this.entries.get(t);n&&await ye({bus:this.bus,db:this.db,entries:this.entries,contributionProcessors:this.contributionProcessors,contextHost:this.createExtensionContextHost(),bootProgress:e},t,n)}let t=this.createExtensionHealthHost();await Promise.all(this.loadOrder.map(e=>this.entries.get(e)?.state===`active`?J(t,e):void 0)),await re({bus:this.bus,entries:this.entries,warningActionMap:this.warningActionMap})}finally{e.complete()}}shutdown(){if(this.shutdownPromise)return this.shutdownPromise;this.shutdownRequested=!0;let e=this.enqueueLifecycle(()=>this.shutdownInLifecycleLane());return this.shutdownPromise=e,this.shutdownController.abort(),e}async shutdownInLifecycleLane(){let e=[],t;for(let t of this.rpcCleanups)try{t()}catch(t){e.push(t)}this.rpcCleanups=[],this.warningActionMap.clear();try{await ge({entries:this.entries,loadOrder:this.loadOrder,contributionProcessors:this.contributionProcessors,contextHost:this.createExtensionContextHost()})}catch(n){n instanceof AggregateError?(t=n.message,e.push(...n.errors)):e.push(n)}if(e.length>0){let n=t===void 0?``:`; ${t}`;throw AggregateError(e,`Extension coordinator shutdown failed with ${e.length} error(s)${n}`)}}list(){return[...this.entries.values()].map(e=>D(e))}getExtensionService(e){let t=typeof e==`string`?e:e.name;return this.entries.get(t)?.service}getExtension(e){return this.entries.get(e)?.pkg}getLoadedProviderDefinitionIds(){let e=new Set;for(let t of this.entries.values())if(t.enabled&&!(t.state===`failed`||t.state===`skipped`||t.state===`stopped`))for(let n of t.pkg.providers??[])e.add(n.id);return e}forEachActiveExtension(e){let t=this.createExtensionContextHost();for(let n of this.loadOrder){let r=this.entries.get(n);if(!r||r.state!==`active`)continue;let i=M(t,r,j(t,n,r));e(n,r.pkg,i)}}forExtension(e,t){let n=this.entries.get(e);if(!n||n.state!==`active`)return;let r=this.createExtensionContextHost(),i=M(r,n,j(r,e,n));t(e,n.pkg,i)}registerContributionProcessor(e){return this.contributionProcessors.push(e),()=>{let t=this.contributionProcessors.indexOf(e);t>=0&&this.contributionProcessors.splice(t,1)}}async handleSetEnabled(e,t){return this.shutdownRequested?!1:await this.enqueueLifecycle(()=>R({bus:this.bus,db:this.db,entries:this.entries,extensionContextBase:this.extensionContextBase,loadConfig:this.loadConfig,signal:this.shutdownController.signal,hasActiveExtension:e=>this.hasActiveExtension(e),persistEnabled:this.persistEnabled,contributionProcessors:this.contributionProcessors,getExtensionService:e=>this.getExtensionService(e),runHealthCheck:e=>J(this.createExtensionHealthHost(),e),emitWarningsForEntry:(e,t)=>A({bus:this.bus,entries:this.entries,warningActionMap:this.warningActionMap},e,t)},e,t))}enqueueLifecycle(e){let t=this.lifecycleTail.then(()=>e(),()=>e());return this.lifecycleTail=t.then(()=>void 0,()=>void 0),t}createExtensionContextHost(){return{bus:this.bus,extensionContextBase:this.extensionContextBase,loadConfig:this.loadConfig,signal:this.shutdownController.signal,hasActiveExtension:e=>this.hasActiveExtension(e),getExtensionService:e=>this.getExtensionService(e)}}createExtensionHealthHost(){return{bus:this.bus,entries:this.entries}}hasActiveExtension(e){return this.entries.get(e)?.state===`active`}};export{g as a,v as i,H as n,_ as o,U as r,Ce as t};
@@ -1 +1 @@
1
- import{c as e}from"./kind-registration-DggkrLkv.mjs";import{n as t}from"./definition-YGj42UeO.mjs";import{n,t as r}from"./version-3xWJDCeF.mjs";import{z as i}from"zod";const a=i.object({entrypoint:i.string().startsWith(`/`,{message:`Entrypoint must be a URL path starting with "/"`})}),o=i.object({endpoint:i.string().url().optional()}),s=i.union([t,i.object({anthropic:o.optional(),openai:o.optional()}).refine(e=>Object.keys(e).length>0,{message:`ProtocolRef config object must specify at least one protocol`})]),c=i.object({id:i.string().min(1),version:n,binaryVersion:n.optional()}),l=i.object({name:i.string().min(1),displayName:i.string().min(1).optional(),description:i.string().optional(),clients:i.array(c).readonly().optional(),protocols:i.array(s).readonly(),defaultProvider:i.string().min(1).optional()}),u=i.object({id:i.string().min(1),name:i.string().min(1),description:i.string().optional(),binary:i.object({name:i.string().min(1),managed:i.boolean().optional(),version:r.optional()}).strict().refine(e=>e.managed!==!0||e.version!==void 0,{message:`binary.version is required when binary.managed is true`,path:[`version`]}).refine(e=>e.version===void 0||e.managed===!0,{message:`binary.managed must be true when binary.version is provided`,path:[`managed`]}).optional()}).strict(),d=i.object({id:i.string().min(1),name:i.string().min(1),description:i.string().optional()}),f=i.object({prefix:i.string().min(1),description:i.string().optional(),stage:i.enum([`gather`,`transform`,`action`]).optional()}),p=i.object({adapterName:i.string().min(1),displayName:i.string().min(1),logFilePattern:i.string().min(1).optional()}),m=i.object({id:i.string().min(1),label:i.string().min(1),description:i.string().optional(),icon:i.string().min(1).optional(),selectionMode:i.enum([`single`,`multi`]),messageRoles:i.array(i.enum([`user`,`assistant`])).readonly().optional()}),h=i.enum([`beforeCreate`,`beforeRevise`,`afterCreate`,`afterRevise`,`afterStatusChanged`,`afterObservationAdded`]),g=i.object({id:i.string().min(1),event:h,kind:i.string().min(1).optional(),schemaVersion:e.optional()}),_=i.object({tiles:i.boolean().optional(),widgets:i.boolean().optional(),pages:i.boolean().optional(),routes:i.boolean().optional()}),v={adapters:`adapter`,clients:`client`,providers:`provider`,hashTriggers:`hash trigger`,logImporters:`log importer`,sessionEventActions:`session event action`,artifactLifecycleHooks:`artifact lifecycle hook`};function y(e,t,n){e.addIssue({code:i.ZodIssueCode.custom,path:[t],message:`Duplicate ${v[t]} contribution identifier "${n}"`})}function b(e,t){let n=new Set,r=new Set,i=[];for(let a of e??[]){let e=t(a);if(n.has(e)){r.has(e)||(r.add(e),i.push(e));continue}n.add(e)}return i}const x=i.object({adapters:i.array(l).readonly().optional(),clients:i.array(u).readonly().optional(),providers:i.array(d).readonly().optional(),hashTriggers:i.array(f).readonly().optional(),logImporters:i.array(p).readonly().optional(),sessionEventActions:i.array(m).readonly().optional(),artifactLifecycleHooks:i.array(g).readonly().optional(),create:i.boolean().optional(),tools:i.boolean().optional(),bootstrap:i.boolean().optional(),namespace:i.boolean().optional(),configSchema:i.boolean().optional(),uiConfig:i.boolean().optional(),ui:_.optional()}).strict().superRefine((e,t)=>{for(let n of b(e.adapters,e=>e.name))y(t,`adapters`,n);for(let n of b(e.clients,e=>e.id))y(t,`clients`,n);for(let n of b(e.providers,e=>e.id))y(t,`providers`,n);for(let n of b(e.hashTriggers,e=>e.prefix))y(t,`hashTriggers`,n);for(let n of b(e.logImporters,e=>e.adapterName))y(t,`logImporters`,n);for(let n of b(e.sessionEventActions,e=>e.id))y(t,`sessionEventActions`,n);for(let n of b(e.artifactLifecycleHooks,e=>e.id))y(t,`artifactLifecycleHooks`,n)}),S=i.string().trim().min(1).transform(e=>e),C=i.object({name:i.string().min(1),required:i.boolean().optional()}),w=i.object({id:i.string(),style:i.enum([`tray-popover`,`utility`,`panel`]),width:i.number().optional(),height:i.number().optional(),singleton:i.boolean().optional(),params:i.array(C).readonly().optional()}).superRefine((e,t)=>{let n=new Set;for(let[r,a]of e.params?.entries()??[]){if(!n.has(a.name)){n.add(a.name);continue}t.addIssue({code:i.ZodIssueCode.custom,message:`Duplicate window param "${a.name}"`,path:[`params`,r,`name`]})}}),T=i.object({label:i.string(),section:i.enum([`utilities`,`tools`,`views`]).optional(),opensWindow:i.string().optional(),action:i.string().optional()}),E=i.object({name:i.string().min(1),description:i.string(),required:i.boolean().optional(),positional:i.boolean().optional(),short:i.string().regex(/^-[A-Za-z0-9]$/,`Expected a short flag like -p`).optional(),type:i.enum([`string`,`boolean`,`number`]).optional()}),D=i.object({name:i.string().min(1),description:i.string(),args:i.array(E).readonly().optional()}),O=i.object({name:i.string().min(1),description:i.string(),subcommands:i.array(D).readonly().optional(),hasInteractive:i.boolean().optional(),canProvideBus:i.boolean().optional()}),k=[`sqlite`,`postgres`];function A(e){if(e!==void 0)return typeof e==`string`?e:e.sqlite??Object.values(e).find(e=>e!==void 0)}function j(e){if(e===void 0)return[];if(typeof e==`string`)return[e];let t=new Set;for(let n of Object.values(e))n!==void 0&&t.add(n);return[...t]}const M=i.string().min(1).refine(e=>!/^(?:[\\/]|[A-Za-z]:)/.test(e),`Expected a relative path`).refine(e=>!e.split(/[\\/]/).some(e=>e===``||e===`.`||e===`..`),`Path must not contain empty or dot segments`),N=i.object({migrations:i.union([M,i.object({sqlite:M.optional(),postgres:M.optional()}).strict().refine(e=>Object.values(e).some(e=>e!==void 0),`Per-dialect storage.migrations must declare at least one chain`)]).optional(),migrationSourceId:i.string().min(1).optional()}),P=i.object({type:i.literal(`extension`),name:i.string().min(1),version:n,optional:i.boolean().optional()});function F(e,t=`>=0.1.0`,n){return n===void 0?{type:`extension`,name:e,version:t}:{type:`extension`,name:e,version:t,optional:n}}const I=i.discriminatedUnion(`type`,[i.object({type:i.literal(`host`),id:i.string().min(1)}),i.object({type:i.literal(`capability`),id:i.string().min(1),version:n.optional()})]),L=i.object({name:i.string().min(1).regex(/^(@[^/\\]+\/)?[^/\\]+$/,`Extension name must be a plain identifier or an npm-scoped name (@scope/pkg)`).refine(e=>(e.startsWith(`@`)?e.split(`/`):[e]).every(e=>e!==`.`&&e!==`..`),`Extension name must not be a dot-segment`),displayName:i.string().min(1),version:r,surface:i.enum([`interactive`,`headless`,`any`]).optional(),dependencies:i.array(P).readonly().optional(),requires:i.array(I).readonly().optional(),provides:i.array(S).readonly().optional(),windows:i.array(w).readonly().optional(),tray:T.optional(),cli:O.optional(),storage:N.optional(),browser:a.optional(),contributions:x.optional()});function R(e){return Object.freeze({name:e})}const z=i.object({command:i.string().min(1),args:i.array(i.string()).optional(),env:i.record(i.string(),i.string()).optional(),healthTimeoutMs:i.number().int().positive().optional(),shutdownTimeoutMs:i.number().int().positive().optional()}),B=i.enum([`none`,`on-crash`,`always`]),V=z.extend({restartPolicy:B.optional()}),H=i.discriminatedUnion(`type`,[V.extend({type:i.literal(`bus-stdio`)}),V.extend({type:i.literal(`bus-websocket`)}),z.extend({type:i.literal(`mcp-stdio`)})]);function U(e){if(e.includes(`\\`)||e.startsWith(`./`)||e.startsWith(`../`)||e.startsWith(`/`))return!1;let t=e.split(`/`),n=t.at(-1);return!n||n.includes(`.`)?!1:t.every(e=>e!==``&&e!==`.`&&e!==`..`&&e!==`src`&&e!==`dist`)}const W=i.union([i.literal(!0),i.string().min(1).refine(U,{message:`entrypoint stem must use forward-slash path stems, must not contain empty, . or .. segments, must not include a dotted final segment, and must not contain src or dist segments`})]),G=i.object({server:W.optional(),browser:W.optional(),cli:W.optional()}).refine(e=>e.server!==void 0||e.browser!==void 0||e.cli!==void 0,{message:`at least one entrypoint must be declared`});function K(e){return e.execution===`detached`}const q=L.extend({version:r,makaio:i.object({framework:n}).strict().readonly(),entrypoints:G.optional(),execution:i.enum([`embedded`,`detached`]).optional(),transport:H.optional(),prebundleDependencies:i.array(i.string().regex(/\S/,`prebundleDependencies entries must not be blank`)).readonly().optional(),config:i.object({defaults:i.record(i.string(),i.unknown()).optional()}).optional()}).superRefine((e,t)=>{e.prebundleDependencies!==void 0&&e.entrypoints?.browser===void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`prebundleDependencies requires a browser entrypoint`,path:[`prebundleDependencies`]}),e.execution===`detached`?(e.transport===void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`detached extensions must declare a 'transport' config`,path:[`transport`]}),e.entrypoints!==void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`detached extensions must not declare entrypoints`,path:[`entrypoints`]})):(e.entrypoints===void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`embedded extensions must declare at least one entrypoint`,path:[`entrypoints`]}),e.transport!==void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`embedded extensions must not declare a transport config`,path:[`transport`]}))});function J(e){return e}function Y(e){return J(q.parse(e))}function X(e){let t=q.safeParse(e);return t.success?{success:!0,data:J(t.data)}:t}const Z=i.discriminatedUnion(`kind`,[i.object({kind:i.literal(`configure-integration`),clientId:i.string().min(1),bundle:i.string().min(1)}),i.object({kind:i.literal(`install-extension`),extensionName:i.string().min(1)}),i.object({kind:i.literal(`open-url`),url:i.string().url()}),i.object({kind:i.literal(`run-command`),command:i.string().min(1)})]),Q=i.enum([`info`,`recommended`,`degraded`]),$=i.object({severity:Q,title:i.string().min(1),message:i.string().min(1),action:Z.optional()});function ee(e){switch(e.kind){case`configure-integration`:return`Configure`;case`install-extension`:return`Install`;case`open-url`:return`Open`;case`run-command`:return`Run`}}const te=i.object({extensionName:i.string().min(1),warnings:i.array($)});function ne(e,t){return e.parse(t??{})}function re(e){return JSON.stringify([e.extensionId,e.type,e.name,e.filename])}export{c as A,d as B,T as C,F as D,j as E,x as F,_ as H,f as I,p as L,h as M,g as N,A as O,u as P,o as R,N as S,C as T,a as U,m as V,D as _,$ as a,I as b,H as c,K as d,Y as f,O as g,E as h,te as i,l as j,S as k,q as l,R as m,ne as n,Q as o,X as p,Z as r,ee as s,re as t,G as u,P as v,w,k as x,L as y,s as z};
1
+ import{c as e}from"./kind-registration-DggkrLkv.mjs";import{n as t}from"./definition-Dqw0YJdi.mjs";import{n,t as r}from"./version-sDSWOMn_.mjs";import{z as i}from"zod";const a=i.object({entrypoint:i.string().startsWith(`/`,{message:`Entrypoint must be a URL path starting with "/"`})}),o=i.object({endpoint:i.string().url().optional()}),s=i.union([t,i.object({anthropic:o.optional(),openai:o.optional()}).refine(e=>Object.keys(e).length>0,{message:`ProtocolRef config object must specify at least one protocol`})]),c=i.object({id:i.string().min(1),version:n,binaryVersion:n.optional()}),l=i.object({name:i.string().min(1),displayName:i.string().min(1).optional(),description:i.string().optional(),clients:i.array(c).readonly().optional(),protocols:i.array(s).readonly(),defaultProvider:i.string().min(1).optional()}),u=i.object({id:i.string().min(1),name:i.string().min(1),description:i.string().optional(),binary:i.object({name:i.string().min(1),managed:i.boolean().optional(),version:r.optional()}).strict().refine(e=>e.managed!==!0||e.version!==void 0,{message:`binary.version is required when binary.managed is true`,path:[`version`]}).refine(e=>e.version===void 0||e.managed===!0,{message:`binary.managed must be true when binary.version is provided`,path:[`managed`]}).optional()}).strict(),d=i.object({id:i.string().min(1),name:i.string().min(1),description:i.string().optional()}),f=i.object({prefix:i.string().min(1),description:i.string().optional(),stage:i.enum([`gather`,`transform`,`action`]).optional()}),p=i.object({adapterName:i.string().min(1),displayName:i.string().min(1),logFilePattern:i.string().min(1).optional()}),m=i.object({id:i.string().min(1),label:i.string().min(1),description:i.string().optional(),icon:i.string().min(1).optional(),selectionMode:i.enum([`single`,`multi`]),messageRoles:i.array(i.enum([`user`,`assistant`])).readonly().optional()}),h=i.enum([`beforeCreate`,`beforeRevise`,`afterCreate`,`afterRevise`,`afterStatusChanged`,`afterObservationAdded`]),g=i.object({id:i.string().min(1),event:h,kind:i.string().min(1).optional(),schemaVersion:e.optional()}),_=i.object({tiles:i.boolean().optional(),widgets:i.boolean().optional(),pages:i.boolean().optional(),routes:i.boolean().optional()}),v={adapters:`adapter`,clients:`client`,providers:`provider`,hashTriggers:`hash trigger`,logImporters:`log importer`,sessionEventActions:`session event action`,artifactLifecycleHooks:`artifact lifecycle hook`};function y(e,t,n){e.addIssue({code:i.ZodIssueCode.custom,path:[t],message:`Duplicate ${v[t]} contribution identifier "${n}"`})}function b(e,t){let n=new Set,r=new Set,i=[];for(let a of e??[]){let e=t(a);if(n.has(e)){r.has(e)||(r.add(e),i.push(e));continue}n.add(e)}return i}const x=i.object({adapters:i.array(l).readonly().optional(),clients:i.array(u).readonly().optional(),providers:i.array(d).readonly().optional(),hashTriggers:i.array(f).readonly().optional(),logImporters:i.array(p).readonly().optional(),sessionEventActions:i.array(m).readonly().optional(),artifactLifecycleHooks:i.array(g).readonly().optional(),create:i.boolean().optional(),tools:i.boolean().optional(),bootstrap:i.boolean().optional(),namespace:i.boolean().optional(),configSchema:i.boolean().optional(),uiConfig:i.boolean().optional(),ui:_.optional()}).strict().superRefine((e,t)=>{for(let n of b(e.adapters,e=>e.name))y(t,`adapters`,n);for(let n of b(e.clients,e=>e.id))y(t,`clients`,n);for(let n of b(e.providers,e=>e.id))y(t,`providers`,n);for(let n of b(e.hashTriggers,e=>e.prefix))y(t,`hashTriggers`,n);for(let n of b(e.logImporters,e=>e.adapterName))y(t,`logImporters`,n);for(let n of b(e.sessionEventActions,e=>e.id))y(t,`sessionEventActions`,n);for(let n of b(e.artifactLifecycleHooks,e=>e.id))y(t,`artifactLifecycleHooks`,n)}),S=i.string().trim().min(1).transform(e=>e),C=i.object({name:i.string().min(1),required:i.boolean().optional()}),w=i.object({id:i.string(),style:i.enum([`tray-popover`,`utility`,`panel`]),width:i.number().optional(),height:i.number().optional(),singleton:i.boolean().optional(),params:i.array(C).readonly().optional()}).superRefine((e,t)=>{let n=new Set;for(let[r,a]of e.params?.entries()??[]){if(!n.has(a.name)){n.add(a.name);continue}t.addIssue({code:i.ZodIssueCode.custom,message:`Duplicate window param "${a.name}"`,path:[`params`,r,`name`]})}}),T=i.object({label:i.string(),section:i.enum([`utilities`,`tools`,`views`]).optional(),opensWindow:i.string().optional(),action:i.string().optional()}),E=i.object({name:i.string().min(1),description:i.string(),required:i.boolean().optional(),positional:i.boolean().optional(),short:i.string().regex(/^-[A-Za-z0-9]$/,`Expected a short flag like -p`).optional(),type:i.enum([`string`,`boolean`,`number`]).optional()}),D=i.object({name:i.string().min(1),description:i.string(),args:i.array(E).readonly().optional()}),O=i.object({name:i.string().min(1),description:i.string(),subcommands:i.array(D).readonly().optional(),hasInteractive:i.boolean().optional(),canProvideBus:i.boolean().optional()}),k=[`sqlite`,`postgres`];function A(e){if(e!==void 0)return typeof e==`string`?e:e.sqlite??Object.values(e).find(e=>e!==void 0)}function j(e){if(e===void 0)return[];if(typeof e==`string`)return[e];let t=new Set;for(let n of Object.values(e))n!==void 0&&t.add(n);return[...t]}const M=i.string().min(1).refine(e=>!/^(?:[\\/]|[A-Za-z]:)/.test(e),`Expected a relative path`).refine(e=>!e.split(/[\\/]/).some(e=>e===``||e===`.`||e===`..`),`Path must not contain empty or dot segments`),N=i.object({migrations:i.union([M,i.object({sqlite:M.optional(),postgres:M.optional()}).strict().refine(e=>Object.values(e).some(e=>e!==void 0),`Per-dialect storage.migrations must declare at least one chain`)]).optional(),migrationSourceId:i.string().min(1).optional()}),P=i.object({type:i.literal(`extension`),name:i.string().min(1),version:n,optional:i.boolean().optional()});function F(e,t=`>=0.1.0`,n){return n===void 0?{type:`extension`,name:e,version:t}:{type:`extension`,name:e,version:t,optional:n}}const I=i.discriminatedUnion(`type`,[i.object({type:i.literal(`host`),id:i.string().min(1)}),i.object({type:i.literal(`capability`),id:i.string().min(1),version:n.optional()})]),L=i.object({name:i.string().min(1).regex(/^(@[^/\\]+\/)?[^/\\]+$/,`Extension name must be a plain identifier or an npm-scoped name (@scope/pkg)`).refine(e=>(e.startsWith(`@`)?e.split(`/`):[e]).every(e=>e!==`.`&&e!==`..`),`Extension name must not be a dot-segment`),displayName:i.string().min(1),version:r,surface:i.enum([`interactive`,`headless`,`any`]).optional(),dependencies:i.array(P).readonly().optional(),requires:i.array(I).readonly().optional(),provides:i.array(S).readonly().optional(),windows:i.array(w).readonly().optional(),tray:T.optional(),cli:O.optional(),storage:N.optional(),browser:a.optional(),contributions:x.optional()});function R(e){return Object.freeze({name:e})}const z=i.object({command:i.string().min(1),args:i.array(i.string()).optional(),env:i.record(i.string(),i.string()).optional(),healthTimeoutMs:i.number().int().positive().optional(),shutdownTimeoutMs:i.number().int().positive().optional()}),B=i.enum([`none`,`on-crash`,`always`]),V=z.extend({restartPolicy:B.optional()}),H=i.discriminatedUnion(`type`,[V.extend({type:i.literal(`bus-stdio`)}),V.extend({type:i.literal(`bus-websocket`)}),z.extend({type:i.literal(`mcp-stdio`)})]);function U(e){if(e.includes(`\\`)||e.startsWith(`./`)||e.startsWith(`../`)||e.startsWith(`/`))return!1;let t=e.split(`/`),n=t.at(-1);return!n||n.includes(`.`)?!1:t.every(e=>e!==``&&e!==`.`&&e!==`..`&&e!==`src`&&e!==`dist`)}const W=i.union([i.literal(!0),i.string().min(1).refine(U,{message:`entrypoint stem must use forward-slash path stems, must not contain empty, . or .. segments, must not include a dotted final segment, and must not contain src or dist segments`})]),G=i.object({server:W.optional(),browser:W.optional(),cli:W.optional()}).refine(e=>e.server!==void 0||e.browser!==void 0||e.cli!==void 0,{message:`at least one entrypoint must be declared`});function K(e){return e.execution===`detached`}const q=L.extend({version:r,makaio:i.object({framework:n}).strict().readonly(),entrypoints:G.optional(),execution:i.enum([`embedded`,`detached`]).optional(),transport:H.optional(),prebundleDependencies:i.array(i.string().regex(/\S/,`prebundleDependencies entries must not be blank`)).readonly().optional(),config:i.object({defaults:i.record(i.string(),i.unknown()).optional()}).optional()}).superRefine((e,t)=>{e.prebundleDependencies!==void 0&&e.entrypoints?.browser===void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`prebundleDependencies requires a browser entrypoint`,path:[`prebundleDependencies`]}),e.execution===`detached`?(e.transport===void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`detached extensions must declare a 'transport' config`,path:[`transport`]}),e.entrypoints!==void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`detached extensions must not declare entrypoints`,path:[`entrypoints`]})):(e.entrypoints===void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`embedded extensions must declare at least one entrypoint`,path:[`entrypoints`]}),e.transport!==void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`embedded extensions must not declare a transport config`,path:[`transport`]}))});function J(e){return e}function Y(e){return J(q.parse(e))}function X(e){let t=q.safeParse(e);return t.success?{success:!0,data:J(t.data)}:t}const Z=i.discriminatedUnion(`kind`,[i.object({kind:i.literal(`configure-integration`),clientId:i.string().min(1),bundle:i.string().min(1)}),i.object({kind:i.literal(`install-extension`),extensionName:i.string().min(1)}),i.object({kind:i.literal(`open-url`),url:i.string().url()}),i.object({kind:i.literal(`run-command`),command:i.string().min(1)})]),Q=i.enum([`info`,`recommended`,`degraded`]),$=i.object({severity:Q,title:i.string().min(1),message:i.string().min(1),action:Z.optional()});function ee(e){switch(e.kind){case`configure-integration`:return`Configure`;case`install-extension`:return`Install`;case`open-url`:return`Open`;case`run-command`:return`Run`}}const te=i.object({extensionName:i.string().min(1),warnings:i.array($)});function ne(e,t){return e.parse(t??{})}function re(e){return JSON.stringify([e.extensionId,e.type,e.name,e.filename])}export{c as A,d as B,T as C,F as D,j as E,x as F,_ as H,f as I,p as L,h as M,g as N,A as O,u as P,o as R,N as S,C as T,a as U,m as V,D as _,$ as a,I as b,H as c,K as d,Y as f,O as g,E as h,te as i,l as j,S as k,q as l,R as m,ne as n,Q as o,X as p,Z as r,ee as s,re as t,G as u,P as v,w,k as x,L as y,s as z};
@@ -63,8 +63,8 @@ declare const ExtensionWarningActionSchema: z.ZodDiscriminatedUnion<[z.ZodObject
63
63
  * - `'degraded'` — the extension is operating in a degraded fallback mode.
64
64
  */
65
65
  declare const ExtensionWarningSeveritySchema: z.ZodEnum<{
66
- info: "info";
67
66
  degraded: "degraded";
67
+ info: "info";
68
68
  recommended: "recommended";
69
69
  }>;
70
70
  /**
@@ -75,8 +75,8 @@ declare const ExtensionWarningSeveritySchema: z.ZodEnum<{
75
75
  */
76
76
  declare const ExtensionWarningSchema: z.ZodObject<{
77
77
  severity: z.ZodEnum<{
78
- info: "info";
79
78
  degraded: "degraded";
79
+ info: "info";
80
80
  recommended: "recommended";
81
81
  }>;
82
82
  title: z.ZodString;
@@ -122,8 +122,8 @@ declare const ExtensionWarningEntrySchema: z.ZodObject<{
122
122
  extensionName: z.ZodString;
123
123
  warnings: z.ZodArray<z.ZodObject<{
124
124
  severity: z.ZodEnum<{
125
- info: "info";
126
125
  degraded: "degraded";
126
+ info: "info";
127
127
  recommended: "recommended";
128
128
  }>;
129
129
  title: z.ZodString;
@@ -1 +1 @@
1
- import{FileSystemSubjects as e,FsSubjects as t}from"./services/filesystem/namespace.mjs";import*as n from"node:fs/promises";import*as r from"node:path";import{BaseService as i}from"@makaio/framework/service-base";import*as a from"node:os";const o=[`node_modules`,`.git`,`dist`,`build`,`.next`,`coverage`,`.turbo`,`.cache`];function s(e){return e.split(r.sep).filter(Boolean)}function c(e){let t=r.dirname(e);return t===e?null:t}function l(e){let t=s(e),n=[],i=r.parse(e).root;for(let e of t)i=r.join(i,e),n.push({name:e,path:i});return n}async function u(e,t){let i=r.resolve(e),a=await n.readdir(i,{withFileTypes:!0}),u=t?.includeHidden??!1,d=new Set(t?.excludeNames??o),f=[],p=[];for(let e of a){if(e.name.startsWith(`.`)&&!u||d.has(e.name))continue;let t=r.join(i,e.name),a=e.isDirectory();try{let i=!1;if(a)try{await n.access(r.join(t,`.git`)),i=!0}catch{}let o=await n.stat(t);f.push({name:e.name,path:t,type:a?`directory`:`file`,isGitRepo:a?i:void 0,size:a?void 0:o.size,modified:o.mtimeMs})}catch(t){let n=t;p.push({name:e.name,code:n.code??`UNKNOWN`,message:n.message})}}f.sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1);let m=!1;try{await n.access(r.join(i,`.git`)),m=!0}catch{}return{entries:f,isGitRepo:m,path:i,parentPath:c(i),segments:s(i),breadcrumbs:l(i),errors:p.length>0?p:void 0}}var d=class extends i{machineId;label;constructor(e,t,n=`Local`){super(e),this.machineId=t,this.label=n}async onInit(){this.registerHandler(e.listSources,e=>{e.identify?.(this.machineId),e.setResult({sources:[{machineId:this.machineId,label:this.label}]})}),this.addCleanup(this.bus.on(e.listDirectory,async e=>{let t=await u(e.payload.path??a.homedir(),e.payload.options);e.setResult(t)},{filter:{machineId:this.machineId}})),this.addCleanup(this.bus.on(e.getHomeDir,e=>{e.setResult({path:a.homedir()})},{filter:{machineId:this.machineId}})),this.registerHandler(t.glob,async e=>{let{pattern:t,cwd:i,limit:a=100,offset:o=0,ignore:s=[],machineId:c}=e.payload;if(this.requireMachineIdForRemote(e,c),c!==void 0&&!this.shouldHandle(c))return;let{globby:l}=await import(`./globby-z2SR0jRo.mjs`).then(e=>e.n),u=await l(t,{cwd:i,ignore:[`node_modules/**`,`.git/**`,...s],absolute:!0,onlyFiles:!1,expandDirectories:!1}),d=u.length,f=o+a<d,p=u.slice(o,o+a),m=await Promise.all(p.map(async e=>{let t=r.relative(i,e),a=`file`,o;try{let t=await n.stat(e);a=t.isDirectory()?`directory`:`file`,o=t.isFile()?t.size:void 0}catch{}return{path:e,relativePath:t,type:a,size:o}}));e.setResult({files:m,truncated:f,total:d})}),this.registerHandler(t.readFile,async e=>{let{path:t,machineId:r,encoding:i=`utf-8`}=e.payload;if(this.requireMachineIdForRemote(e,r),r!==void 0&&!this.shouldHandle(r))return;let a=await n.readFile(t,{encoding:i});e.setResult({content:a})}),this.registerHandler(t.writeFile,async e=>{let{path:t,content:r,machineId:i,encoding:a=`utf-8`}=e.payload;this.requireMachineIdForRemote(e,i),!(i!==void 0&&!this.shouldHandle(i))&&(await n.writeFile(t,r,{encoding:a}),e.setResult({success:!0}))})}requireMachineIdForRemote(e,t){if(!this.isHostOwnedOrigin(e)&&t===void 0)throw Error(`machineId is required for remote filesystem access`)}isHostOwnedOrigin(e){return e.origin.local||e.transport?.transportName===`worker`&&e.transport.peer===void 0}shouldHandle(e){return e===this.machineId}};export{d as t};
1
+ import{FileSystemSubjects as e,FsSubjects as t}from"./services/filesystem/namespace.mjs";import*as n from"node:fs/promises";import*as r from"node:path";import{BaseService as i}from"@makaio/framework/service-base";import*as a from"node:os";const o=[`node_modules`,`.git`,`dist`,`build`,`.next`,`coverage`,`.turbo`,`.cache`];function s(e){return e.split(r.sep).filter(Boolean)}function c(e){let t=r.dirname(e);return t===e?null:t}function l(e){let t=s(e),n=[],i=r.parse(e).root;for(let e of t)i=r.join(i,e),n.push({name:e,path:i});return n}async function u(e,t){let i=r.resolve(e),a=await n.readdir(i,{withFileTypes:!0}),u=t?.includeHidden??!1,d=new Set(t?.excludeNames??o),f=[],p=[];for(let e of a){if(e.name.startsWith(`.`)&&!u||d.has(e.name))continue;let t=r.join(i,e.name),a=e.isDirectory();try{let i=!1;if(a)try{await n.access(r.join(t,`.git`)),i=!0}catch{}let o=await n.stat(t);f.push({name:e.name,path:t,type:a?`directory`:`file`,isGitRepo:a?i:void 0,size:a?void 0:o.size,modified:o.mtimeMs})}catch(t){let n=t;p.push({name:e.name,code:n.code??`UNKNOWN`,message:n.message})}}f.sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1);let m=!1;try{await n.access(r.join(i,`.git`)),m=!0}catch{}return{entries:f,isGitRepo:m,path:i,parentPath:c(i),segments:s(i),breadcrumbs:l(i),errors:p.length>0?p:void 0}}var d=class extends i{machineId;label;constructor(e,t,n=`Local`){super(e),this.machineId=t,this.label=n}async onInit(){this.registerHandler(e.listSources,e=>{e.identify?.(this.machineId),e.setResult({sources:[{machineId:this.machineId,label:this.label}]})}),this.addCleanup(this.bus.on(e.listDirectory,async e=>{let t=await u(e.payload.path??a.homedir(),e.payload.options);e.setResult(t)},{filter:{machineId:this.machineId}})),this.addCleanup(this.bus.on(e.getHomeDir,e=>{e.setResult({path:a.homedir()})},{filter:{machineId:this.machineId}})),this.registerHandler(t.glob,async e=>{let{pattern:t,cwd:i,limit:a=100,offset:o=0,ignore:s=[],machineId:c}=e.payload;if(this.requireMachineIdForRemote(e,c),c!==void 0&&!this.shouldHandle(c))return;let{globby:l}=await import(`./globby-Begk3aIP.mjs`).then(e=>e.n),u=await l(t,{cwd:i,ignore:[`node_modules/**`,`.git/**`,...s],absolute:!0,onlyFiles:!1,expandDirectories:!1}),d=u.length,f=o+a<d,p=u.slice(o,o+a),m=await Promise.all(p.map(async e=>{let t=r.relative(i,e),a=`file`,o;try{let t=await n.stat(e);a=t.isDirectory()?`directory`:`file`,o=t.isFile()?t.size:void 0}catch{}return{path:e,relativePath:t,type:a,size:o}}));e.setResult({files:m,truncated:f,total:d})}),this.registerHandler(t.readFile,async e=>{let{path:t,machineId:r,encoding:i=`utf-8`}=e.payload;if(this.requireMachineIdForRemote(e,r),r!==void 0&&!this.shouldHandle(r))return;let a=await n.readFile(t,{encoding:i});e.setResult({content:a})}),this.registerHandler(t.writeFile,async e=>{let{path:t,content:r,machineId:i,encoding:a=`utf-8`}=e.payload;this.requireMachineIdForRemote(e,i),!(i!==void 0&&!this.shouldHandle(i))&&(await n.writeFile(t,r,{encoding:a}),e.setResult({success:!0}))})}requireMachineIdForRemote(e,t){if(!this.isHostOwnedOrigin(e)&&t===void 0)throw Error(`machineId is required for remote filesystem access`)}isHostOwnedOrigin(e){return e.origin.local||e.transport?.transportName===`worker`&&e.transport.peer===void 0}shouldHandle(e){return e===this.machineId}};export{d as t};