@makaio/framework 1.0.0-dev-1790614475240 → 1.0.0-dev-1790750768917

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 (418) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/adapters/config/index.d.mts +1 -1
  3. package/dist/adapters/config/index.mjs +1 -1
  4. package/dist/adapters/index.d.mts +2 -2
  5. package/dist/adapters/index.mjs +1 -1
  6. package/dist/adapters/node.d.mts +1 -1
  7. package/dist/adapters/node.mjs +1 -1
  8. package/dist/{attempt-record-codec-DXpdMgyI.mjs → attempt-record-codec-zQnXwJF-.mjs} +1 -1
  9. package/dist/{caller-owned-adapter-stub-D8RZEdRn.mjs → caller-owned-adapter-stub-BLbPeCP9.mjs} +1 -1
  10. package/dist/clients/hook-subjects.d.mts +158 -0
  11. package/dist/clients/hook-subjects.mjs +1 -0
  12. package/dist/clients/index.d.mts +3 -129
  13. package/dist/clients/index.mjs +1 -1
  14. package/dist/clients/managed-install.d.mts +1 -1
  15. package/dist/clients/managed-install.mjs +1 -1
  16. package/dist/code-execution/worker-entry.d.mts +1 -1
  17. package/dist/code-execution/worker-entry.mjs +1 -1
  18. package/dist/{code-execution-BspFbEdT.mjs → code-execution-Bdqurit9.mjs} +1 -1
  19. package/dist/{code-execution-DWSux6k1.mjs → code-execution-BwqsnOwu.mjs} +1 -1
  20. package/dist/contracts/adapter/index.d.mts +2 -2
  21. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  22. package/dist/contracts/artifact/index.d.mts +2 -2
  23. package/dist/contracts/auth/index.d.mts +2 -2
  24. package/dist/contracts/automation-trigger/index.d.mts +3 -3
  25. package/dist/contracts/canonical-model/index.d.mts +1 -1
  26. package/dist/contracts/capabilities/index.d.mts +1 -1
  27. package/dist/contracts/client/index.d.mts +2 -2
  28. package/dist/contracts/code-execution/index.d.mts +1 -1
  29. package/dist/contracts/common/index.d.mts +1 -1
  30. package/dist/contracts/config/index.d.mts +2 -2
  31. package/dist/contracts/extension/index.d.mts +5 -5
  32. package/dist/contracts/facet/index.d.mts +1 -1
  33. package/dist/contracts/harness/index.d.mts +1 -1
  34. package/dist/contracts/host/index.d.mts +1 -1
  35. package/dist/contracts/index.d.mts +90 -90
  36. package/dist/contracts/materialization/index.d.mts +2 -2
  37. package/dist/contracts/model-registry/index.d.mts +1 -1
  38. package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
  39. package/dist/contracts/platform/index.d.mts +1 -1
  40. package/dist/contracts/provider/index.d.mts +2 -2
  41. package/dist/contracts/reaction/index.d.mts +1 -1
  42. package/dist/contracts/session/index.d.mts +2 -2
  43. package/dist/contracts/shared/index.d.mts +2 -2
  44. package/dist/contracts/skill/index.d.mts +1 -1
  45. package/dist/contracts/telemetry/index.d.mts +1 -1
  46. package/dist/contracts/timeout/index.d.mts +1 -1
  47. package/dist/contracts/variant/index.d.mts +1 -1
  48. package/dist/contracts/worker/index.d.mts +2 -2
  49. package/dist/contracts/workflow/index.d.mts +2 -2
  50. package/dist/{contribution-DTb65rRN.d.mts → contribution-CCVRsaNB.d.mts} +2 -2
  51. package/dist/{definition-DWhjp0db.d.mts → definition-i4PufQpo.d.mts} +1 -1
  52. package/dist/{detached-extension-handle-QrXVNUR2.mjs → detached-extension-handle-DtnyN7vI.mjs} +1 -1
  53. package/dist/{execution-attempt-owner-recovery-BZOEVYFH.mjs → execution-attempt-owner-recovery-CvnTavxP.mjs} +1 -1
  54. package/dist/{execution-target-CDeIBu4b.mjs → execution-target-BumuKpUR.mjs} +1 -1
  55. package/dist/{extension-kOwzAMud.mjs → extension-C9EyvptA.mjs} +1 -1
  56. package/dist/{extension-context-DH84KOm9.d.mts → extension-context-BWrjVPXR.d.mts} +1 -1
  57. package/dist/fast-connection-CAm0eRI4.mjs +1 -0
  58. package/dist/{filesystem-service-CIaAqTRi.mjs → filesystem-service-yIGQgXXP.mjs} +1 -1
  59. package/dist/{framework-packages-D2fycy02.mjs → framework-packages-blqho6Nk.mjs} +1 -1
  60. package/dist/git/index.mjs +1 -1
  61. package/dist/{globby-CxGKRBGC.mjs → globby-DBl3Lybh.mjs} +1 -1
  62. package/dist/{handlers-CfWqy2KP.mjs → handlers-DmEPQqPX.mjs} +1 -1
  63. package/dist/{hook-responses-OETFKaAL.d.mts → hook-responses-v6EA_7WC.d.mts} +1 -1
  64. package/dist/inbound-hooks/fast-connection.d.mts +37 -0
  65. package/dist/inbound-hooks/fast-connection.mjs +1 -0
  66. package/dist/inbound-hooks/index.d.mts +3 -42
  67. package/dist/inbound-hooks/index.mjs +1 -1
  68. package/dist/inbound-hooks/stdio.d.mts +42 -0
  69. package/dist/inbound-hooks/stdio.mjs +1 -0
  70. package/dist/{index-B1uHTa1l.d.mts → index-BBrLhtLK.d.mts} +1 -1
  71. package/dist/{index-DPsQ_cFG2.d.mts → index-BIf8JHBp2.d.mts} +1 -1
  72. package/dist/{index-wQB90bP1.d.mts → index-BytbaguH.d.mts} +4 -4
  73. package/dist/{index-_CsKmUOy.d.mts → index-C0NhPcTU.d.mts} +6 -6
  74. package/dist/{index-1mY0aNe3.d.mts → index-CBzHX2vt.d.mts} +1 -1
  75. package/dist/{index-DyWD9bfP.d.mts → index-CE6cAf_r.d.mts} +1 -1
  76. package/dist/{index-C0Jfr8UK.d.mts → index-CPPulAkE.d.mts} +2 -2
  77. package/dist/{index-3G70bNLs.d.mts → index-CexFpJGs.d.mts} +17 -17
  78. package/dist/{index-CU0AgN84.d.mts → index-CfGPuR1W.d.mts} +3 -3
  79. package/dist/{index-BfFi98B_.d.mts → index-CrZ-G2qH.d.mts} +1 -1
  80. package/dist/{index-BRXETFym.d.mts → index-Cxx1aoPR.d.mts} +1 -1
  81. package/dist/{index-DDCixELI.d.mts → index-D-1RUdHM.d.mts} +1 -1
  82. package/dist/{index-e3AB0Iyv.d.mts → index-DKPap20V.d.mts} +33 -33
  83. package/dist/{index-DHTLIeW62.d.mts → index-DUqPPB_X2.d.mts} +7 -7
  84. package/dist/{index-CLwnkYRD.d.mts → index-DWWP2cUb.d.mts} +1 -1
  85. package/dist/{index-bXozN5vc.d.mts → index-DZkpkd7L.d.mts} +8 -8
  86. package/dist/{index-DrfwkH1x.d.mts → index-D_fMdJbU.d.mts} +8 -8
  87. package/dist/{index-CdkIg4Gu.d.mts → index-DeXQczqV.d.mts} +1 -1
  88. package/dist/{index-CVRQS5jk.d.mts → index-Di2-G_3M.d.mts} +1 -1
  89. package/dist/{index-C-tLT_IE.d.mts → index-DpqO6tbz.d.mts} +14 -14
  90. package/dist/{index-CtwkMknv.d.mts → index-Fmdwbgei.d.mts} +8 -8
  91. package/dist/{index-D9BLsMs8.d.mts → index-OLasQ7NP.d.mts} +1 -1
  92. package/dist/{index-BM8oUon_.d.mts → index-gOYLLgKk.d.mts} +12 -12
  93. package/dist/{index-BYMgvz_a2.d.mts → index-hoGiyiqe2.d.mts} +8 -8
  94. package/dist/{index-t6LnywuE.d.mts → index-l8b_NgVk.d.mts} +1 -1
  95. package/dist/{index-6UlianLY2.d.mts → index-zD2RYwIn2.d.mts} +11 -11
  96. package/dist/kernel/cli/index.d.mts +2 -2
  97. package/dist/kernel/cli/index.mjs +1 -1
  98. package/dist/kernel/cli/register.d.mts +1 -1
  99. package/dist/kernel/cli/register.mjs +1 -1
  100. package/dist/kernel/cli/schemas.mjs +1 -1
  101. package/dist/kernel/extension/index.d.mts +2 -2
  102. package/dist/kernel/extension/index.mjs +1 -1
  103. package/dist/kernel/index.d.mts +5 -5
  104. package/dist/kernel/index.mjs +1 -1
  105. package/dist/kernel/namespace/index.d.mts +1 -1
  106. package/dist/kernel/namespace/index.mjs +1 -1
  107. package/dist/kernel/observability/index.d.mts +1 -1
  108. package/dist/kernel/observability/index.mjs +1 -1
  109. package/dist/kernel/providers/index.d.mts +1 -1
  110. package/dist/kernel/providers/index.mjs +1 -1
  111. package/dist/kernel/window/index.d.mts +1 -1
  112. package/dist/kernel/window/index.mjs +1 -1
  113. package/dist/{lib-BdyGVjpO.mjs → lib-BvRpcV8o.mjs} +1 -1
  114. package/dist/{lib-DxP3tPm9.mjs → lib-C0osDjMk.mjs} +1 -1
  115. package/dist/{load-extensions-eyXZhbRn.mjs → load-extensions-C4HK679X.mjs} +1 -1
  116. package/dist/{load-extensions-CCzTHlUE.d.mts → load-extensions-CMdXwAq-.d.mts} +1 -1
  117. package/dist/mcp-http-server/index.mjs +1 -1
  118. package/dist/{namespace-CHSwZhH7.d.mts → namespace-BH9U2C1O.d.mts} +2 -2
  119. package/dist/{namespace-B9iQN3FQ.d.mts → namespace-C42bZCbK.d.mts} +5 -5
  120. package/dist/namespace-CUKQ8osk.mjs +1 -0
  121. package/dist/{namespace-CMntzAPI.mjs → namespace-D-_gP6_l.mjs} +1 -1
  122. package/dist/{namespace-DAzOxaux.d.mts → namespace-D74MefGI.d.mts} +2 -2
  123. package/dist/{namespace-CNX4llM5.d.mts → namespace-DK5qZpST.d.mts} +6 -6
  124. package/dist/{namespace-D38Fmd0E.d.mts → namespace-DYnHI_Nk.d.mts} +6 -6
  125. package/dist/node/bus-server/index.d.mts +1 -1
  126. package/dist/node/bus-server/index.mjs +1 -1
  127. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  128. package/dist/node/bus-server/server-lifecycle.mjs +1 -1
  129. package/dist/{orchestrator-shared-CF-jPH91.mjs → orchestrator-shared-yQ-cLSjx.mjs} +1 -1
  130. package/dist/{ownership-memory-handler-C-y9zQf8.mjs → ownership-memory-handler-BkB4ondL.mjs} +1 -1
  131. package/dist/{package-CeEUAKHI.mjs → package-C-XcWpYW.mjs} +1 -1
  132. package/dist/{package-BSz4hbav.mjs → package-C_PVR-xw.mjs} +1 -1
  133. package/dist/{package-AlsbnlSt.mjs → package-CuXEeVP0.mjs} +1 -1
  134. package/dist/{package-BjtsXnaA.d.mts → package-Ir6SEHkA.d.mts} +1 -1
  135. package/dist/package.json +1 -1
  136. package/dist/{provider-context-D6GIZ5DC.mjs → provider-context-DHS1LRQA.mjs} +1 -1
  137. package/dist/rules/index.d.mts +1 -1
  138. package/dist/rules/index.mjs +1 -1
  139. package/dist/rules/schemas.d.mts +1 -1
  140. package/dist/runtime-bun/index.mjs +1 -1
  141. package/dist/runtime-node/code-execution/index.d.mts +2 -2
  142. package/dist/runtime-node/code-execution/index.mjs +1 -1
  143. package/dist/runtime-node/extension-discovery.d.mts +1 -1
  144. package/dist/runtime-node/extension-validation.d.mts +1 -1
  145. package/dist/runtime-node/extension-validation.mjs +1 -1
  146. package/dist/runtime-node/index.d.mts +5 -5
  147. package/dist/runtime-node/index.mjs +3 -3
  148. package/dist/runtime-node/makaio-config.d.mts +1 -1
  149. package/dist/runtime-node/makaio-config.mjs +1 -1
  150. package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
  151. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  152. package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -1
  153. package/dist/{schema-Cz6-4_Dn.mjs → schema-C0lK_6u-.mjs} +1 -1
  154. package/dist/{schemas-BjhhkGN_.d.mts → schemas-BBMHnFq8.d.mts} +4 -4
  155. package/dist/{schemas-DnyXA-9o.d.mts → schemas-C8YaJLKz.d.mts} +2 -2
  156. package/dist/{schemas-BXkSHQaF.d.mts → schemas-CEc_v3dl.d.mts} +2 -2
  157. package/dist/{schemas-D9pXu76T.d.mts → schemas-CtL2su-K.d.mts} +4 -4
  158. package/dist/{schemas-feb64ScA.d.mts → schemas-DNP5mdxx.d.mts} +7 -7
  159. package/dist/{schemas-CBDNnyz4.d.mts → schemas-DnwAE1ao.d.mts} +1 -1
  160. package/dist/{schemas-RwAlAMbq2.d.mts → schemas-DrrpHMbF2.d.mts} +7 -7
  161. package/dist/services/adapter-runtime/index.d.mts +3 -3
  162. package/dist/services/adapter-runtime/index.mjs +1 -1
  163. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  164. package/dist/services/adapter-runtime/schemas.d.mts +1 -1
  165. package/dist/services/adapter-subsystem/index.d.mts +3 -3
  166. package/dist/services/adapter-subsystem/index.mjs +1 -1
  167. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  168. package/dist/services/adapter-subsystem/namespace.mjs +1 -1
  169. package/dist/services/agent-runtime/index.d.mts +2 -2
  170. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  171. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  172. package/dist/services/automation-trigger/index.mjs +1 -1
  173. package/dist/services/capability/index.d.mts +2 -2
  174. package/dist/services/capability/index.mjs +1 -1
  175. package/dist/services/code-execution/index.d.mts +1 -1
  176. package/dist/services/code-execution/index.mjs +1 -1
  177. package/dist/services/codebase/index.d.mts +2 -2
  178. package/dist/services/codebase/namespace.d.mts +1 -1
  179. package/dist/services/codebase/schemas.d.mts +1 -1
  180. package/dist/services/compression/index.d.mts +2 -2
  181. package/dist/services/compression/namespace.d.mts +1 -1
  182. package/dist/services/compression/schemas.d.mts +1 -1
  183. package/dist/services/context-rules/index.d.mts +4 -4
  184. package/dist/services/context-rules/index.mjs +1 -1
  185. package/dist/services/execution-target/index.d.mts +3 -3
  186. package/dist/services/execution-target/index.mjs +1 -1
  187. package/dist/services/execution-target/namespace.d.mts +1 -1
  188. package/dist/services/execution-target/namespace.mjs +1 -1
  189. package/dist/services/execution-target/schemas.d.mts +1 -1
  190. package/dist/services/execution-target/schemas.mjs +1 -1
  191. package/dist/services/filesystem/index.d.mts +1 -1
  192. package/dist/services/filesystem/index.mjs +1 -1
  193. package/dist/services/filesystem/namespace.d.mts +6 -6
  194. package/dist/services/filesystem/schemas.d.mts +3 -3
  195. package/dist/services/git/namespace.mjs +1 -1
  196. package/dist/services/git/schemas.mjs +1 -1
  197. package/dist/services/harness/index.d.mts +3 -3
  198. package/dist/services/harness/index.mjs +1 -1
  199. package/dist/services/index.d.mts +60 -60
  200. package/dist/services/index.mjs +1 -1
  201. package/dist/services/log-import/browser.d.mts +2 -2
  202. package/dist/services/log-import/index.d.mts +2 -2
  203. package/dist/services/log-import/log-import.d.mts +1 -1
  204. package/dist/services/log-import/log-import.mjs +1 -1
  205. package/dist/services/log-import/namespace.mjs +1 -1
  206. package/dist/services/log-import/schemas.mjs +1 -1
  207. package/dist/services/materialization/index.d.mts +1 -1
  208. package/dist/services/materialization/index.mjs +1 -1
  209. package/dist/services/model-registry/index.d.mts +1 -1
  210. package/dist/services/model-registry/index.mjs +1 -1
  211. package/dist/services/preferences/index.d.mts +2 -2
  212. package/dist/services/preferences/schemas.d.mts +1 -1
  213. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  214. package/dist/services/provider-context/index.d.mts +1 -1
  215. package/dist/services/provider-context/index.mjs +1 -1
  216. package/dist/services/provider-runtime/index.mjs +1 -1
  217. package/dist/services/session/handlers/index.d.mts +1 -1
  218. package/dist/services/session/handlers/index.mjs +1 -1
  219. package/dist/services/session/index.d.mts +9 -9
  220. package/dist/services/session/index.mjs +1 -1
  221. package/dist/services/session/messages/namespace.d.mts +1 -1
  222. package/dist/services/session/messages/namespace.mjs +1 -1
  223. package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
  224. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  225. package/dist/services/session/session-events/namespace.d.mts +1 -1
  226. package/dist/services/session/session-events/namespace.mjs +1 -1
  227. package/dist/services/session/storage/namespace.d.mts +1 -1
  228. package/dist/services/session/storage/schema.d.mts +1 -1
  229. package/dist/services/session/testing/index.mjs +1 -1
  230. package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
  231. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  232. package/dist/services/session/turns/namespace.d.mts +1 -1
  233. package/dist/services/session/turns/namespace.mjs +1 -1
  234. package/dist/services/session-editor/index.d.mts +1 -1
  235. package/dist/services/session-editor/index.mjs +1 -1
  236. package/dist/services/settings/index.d.mts +3 -3
  237. package/dist/services/settings/index.mjs +1 -1
  238. package/dist/services/settings/namespace.d.mts +2 -2
  239. package/dist/services/settings/namespace.mjs +1 -1
  240. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  241. package/dist/services/settings/storage/clients-namespace.mjs +1 -1
  242. package/dist/services/settings/storage/index.d.mts +3 -3
  243. package/dist/services/settings/storage/index.mjs +1 -1
  244. package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
  245. package/dist/services/settings/storage/providers-namespace.mjs +1 -1
  246. package/dist/services/subagent/index.d.mts +1 -1
  247. package/dist/services/subagent/index.mjs +1 -1
  248. package/dist/services/subagent-template/index.d.mts +2 -2
  249. package/dist/services/subagent-template/namespace.d.mts +1 -1
  250. package/dist/services/subagent-template/schemas.d.mts +1 -1
  251. package/dist/services/tool-approval/index.d.mts +1 -1
  252. package/dist/services/tool-approval/index.mjs +1 -1
  253. package/dist/services/tools/index.d.mts +1 -1
  254. package/dist/services/tools/index.mjs +1 -1
  255. package/dist/services/tray-menu/index.d.mts +3 -3
  256. package/dist/services/tray-menu/index.mjs +1 -1
  257. package/dist/services/tray-menu/namespace.d.mts +1 -1
  258. package/dist/services/tray-menu/schemas.d.mts +1 -1
  259. package/dist/services/turn/index.d.mts +1 -1
  260. package/dist/services/turn/namespace.d.mts +1 -1
  261. package/dist/services/workflow-transitions/index.d.mts +1 -1
  262. package/dist/services/workflow-transitions/index.mjs +1 -1
  263. package/dist/{session-Tj_635zr.mjs → session-BjV4HPCQ.mjs} +1 -1
  264. package/dist/{session-lineage-BQ9NWlt6.d.mts → session-lineage-CLrQb1Hz.d.mts} +1 -1
  265. package/dist/{src-CkKKoY0M.mjs → src-BDw_ijvA.mjs} +1 -1
  266. package/dist/src-CnTMHQm0.mjs +1 -0
  267. package/dist/storage/drizzle/client.d.mts +1 -1
  268. package/dist/storage/drizzle/client.mjs +1 -1
  269. package/dist/storage/drizzle/index.d.mts +1 -1
  270. package/dist/storage/drizzle/index.mjs +1 -1
  271. package/dist/storage/handlers/drizzle/index.d.mts +1 -1
  272. package/dist/storage/handlers/drizzle/index.mjs +1 -1
  273. package/dist/storage/handlers/index.d.mts +1 -1
  274. package/dist/storage/handlers/index.mjs +1 -1
  275. package/dist/{storage-namespace-NHTWAjaX.d.mts → storage-namespace-DoxNJ9Cg.d.mts} +10 -10
  276. package/dist/{tool-approval-service-BCN4W8eS.mjs → tool-approval-service-Bc0IC6Hj.mjs} +1 -1
  277. package/dist/{tools-BCL_dtHe.mjs → tools-Cbuj-ClQ.mjs} +1 -1
  278. package/dist/{transition-DK43U3QJ.d.mts → transition-DNNBGMtx.d.mts} +2 -2
  279. package/dist/{types-CW-4Y0k_2.d.mts → types-BfuE1-1V2.d.mts} +1 -1
  280. package/dist/{types-jmH0Yad4.d.mts → types-DsZBnL7z.d.mts} +6 -6
  281. package/dist/ui-kernel/index.d.mts +4 -4
  282. package/dist/ui-kernel/pages/namespace.d.mts +4 -4
  283. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  284. package/dist/{view-builder-tgwZ1ucc.d.mts → view-builder-HU_v1Jg7.d.mts} +2 -2
  285. package/dist/workflow-engine/execution-attempt-repository.d.mts +1 -1
  286. package/dist/workflow-engine/execution-attempt-repository.mjs +1 -1
  287. package/dist/workflow-engine/index.d.mts +19 -19
  288. package/dist/workflow-engine/index.mjs +1 -1
  289. package/dist/workflow-engine/package.d.mts +1 -1
  290. package/dist/workflow-engine/package.mjs +1 -1
  291. package/dist/workflow-engine/provider-operation.d.mts +1 -1
  292. package/dist/workflow-engine/testing/conformance.d.mts +1 -1
  293. package/dist/workflow-engine/testing/conformance.mjs +1 -1
  294. package/dist/workflow-engine/testing/index.d.mts +1 -1
  295. package/dist/workflow-engine/testing/index.mjs +1 -1
  296. package/dist/workflow-engine/testing/sqlite.d.mts +1 -1
  297. package/dist/workflow-engine/testing/sqlite.mjs +1 -1
  298. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  299. package/dist/{workflow-transitions-7d9lGi08.mjs → workflow-transitions-CvT6P03B.mjs} +1 -1
  300. package/dist/{workflow-worker-BCLy_g_a.mjs → workflow-worker-CvQN2dmX.mjs} +1 -1
  301. package/package.json +13 -1
  302. package/dist/namespace-BPf6AbBO.mjs +0 -1
  303. package/dist/src-BZdw54VU.mjs +0 -1
  304. /package/dist/{adapter-auth-runtime-B6yX_QfG.mjs → adapter-auth-runtime-CYgj-Ht4.mjs} +0 -0
  305. /package/dist/{adapter-binding-DF-j-XHg.d.mts → adapter-binding-DG877aQO.d.mts} +0 -0
  306. /package/dist/{attach-error-wNJ8Q5uU.mjs → attach-error-mkj6SVd2.mjs} +0 -0
  307. /package/dist/{attempt-control-evidence-CHBnJoqN.mjs → attempt-control-evidence-DmNT2Wkb.mjs} +0 -0
  308. /package/dist/{attempt-fixtures-D3IsP0KH.mjs → attempt-fixtures-DPGw7peT.mjs} +0 -0
  309. /package/dist/{authority-state-bootstrap-4F5Wc_6l.mjs → authority-state-bootstrap-kIU-C2nI.mjs} +0 -0
  310. /package/dist/{base-orchestrator-DH6W4NQg.d.mts → base-orchestrator-CYU2iHqB.d.mts} +0 -0
  311. /package/dist/{bootstrap-start-client-9nOdeDYl.mjs → bootstrap-start-client-DyKCj6Eu.mjs} +0 -0
  312. /package/dist/{capability-service-BHcRd1td.d.mts → capability-service-BEVVEaTj.d.mts} +0 -0
  313. /package/dist/{client-Sx_N8LXo.d.mts → client-CkfU-f8m.d.mts} +0 -0
  314. /package/dist/{client-binary-version-verifier-DcHCFmsI.mjs → client-binary-version-verifier-CITusS9s.mjs} +0 -0
  315. /package/dist/{client-binary-version-verifier-C8gtKQFO.d.mts → client-binary-version-verifier-DgGke3gW.d.mts} +0 -0
  316. /package/dist/{clients-namespace-CASHxXUM.d.mts → clients-namespace-BRijqVIc.d.mts} +0 -0
  317. /package/dist/{config-namespace-Ctia-VDG.d.mts → config-namespace-9pC41Rtl.d.mts} +0 -0
  318. /package/dist/{create-static-mount-4B-mNtx1.mjs → create-static-mount-Dt-iC0Uq.mjs} +0 -0
  319. /package/dist/{credential-ref-MsnUkz9G.d.mts → credential-ref-DHhA4VTS.d.mts} +0 -0
  320. /package/dist/{cross-spawn-DGqEuNyT.mjs → cross-spawn-DIqCmSCD.mjs} +0 -0
  321. /package/dist/{cursor-storage-BvjxwBW6.mjs → cursor-storage-TgG0XBrI.mjs} +0 -0
  322. /package/dist/{definition-Cx175qXh.d.mts → definition-RnEMoWgj.d.mts} +0 -0
  323. /package/dist/{descriptor-to-package-BPIArq6N.mjs → descriptor-to-package-BmbVrmaM.mjs} +0 -0
  324. /package/dist/{drizzle-_w6sUR8p.mjs → drizzle-C9VHmFKj.mjs} +0 -0
  325. /package/dist/{esm-DwiWcwH0.mjs → esm-CC8hYyqN.mjs} +0 -0
  326. /package/dist/{event-D5_UaIBZ.mjs → event-DK8N_EOT.mjs} +0 -0
  327. /package/dist/{execution-attempt-repository-CY289HlC.mjs → execution-attempt-repository-BMbbbk7n.mjs} +0 -0
  328. /package/dist/{execution-attempt-repository-C2XKRZ3O.d.mts → execution-attempt-repository-Dyluu7wy.d.mts} +0 -0
  329. /package/dist/{extension-discovery-BqSPn73R.d.mts → extension-discovery-DmV1H6kV.d.mts} +0 -0
  330. /package/dist/{extension-namespace-CeRpt6C8.mjs → extension-namespace-BwNmFrd3.mjs} +0 -0
  331. /package/dist/{extension-package-provenance-ClpN3GHp.mjs → extension-package-provenance-DAc6EC8S.mjs} +0 -0
  332. /package/dist/{filesystem-service-5Ecp3nSV.d.mts → filesystem-service-RvR9ogzG.d.mts} +0 -0
  333. /package/dist/{handler-Cc1MhaR4.mjs → handler-BY2DDdyI.mjs} +0 -0
  334. /package/dist/{identity-DgTjgflr.mjs → identity-DBdzjf61.mjs} +0 -0
  335. /package/dist/{index-CwVSr7Ow.d.mts → index-2XwNyZAw.d.mts} +0 -0
  336. /package/dist/{index-B_Hf4XPX.d.mts → index-AtnMf7Qf.d.mts} +0 -0
  337. /package/dist/{index-BCuWtlv5.d.mts → index-B-ZgZuHg.d.mts} +0 -0
  338. /package/dist/{index-u0EteHlR2.d.mts → index-B4MBx8vA2.d.mts} +0 -0
  339. /package/dist/{index-Bmb7jPIe2.d.mts → index-BN4sKsLl2.d.mts} +0 -0
  340. /package/dist/{index-BjrbddkU.d.mts → index-BS3GYAN9.d.mts} +0 -0
  341. /package/dist/{index-CURT4JaX.d.mts → index-BrJ_6xi2.d.mts} +0 -0
  342. /package/dist/{index-w1AeWV4F.d.mts → index-BuRaseJB.d.mts} +0 -0
  343. /package/dist/{index-DmV9ybgT.d.mts → index-C5u82-qr.d.mts} +0 -0
  344. /package/dist/{index-DMgbNdEU.d.mts → index-C9G0Namh.d.mts} +0 -0
  345. /package/dist/{index-C9vF42jh.d.mts → index-CE-VlXE2.d.mts} +0 -0
  346. /package/dist/{index-2YW8DTb62.d.mts → index-CFet5T7v2.d.mts} +0 -0
  347. /package/dist/{index-rik4Uc5G.d.mts → index-CVQ852YA.d.mts} +0 -0
  348. /package/dist/{index-By1UhKYU2.d.mts → index-CVlnG_H22.d.mts} +0 -0
  349. /package/dist/{index-DOui-7u2.d.mts → index-C_LQ5NSy.d.mts} +0 -0
  350. /package/dist/{index-_OD_Nz3m.d.mts → index-Cc5kDe9y.d.mts} +0 -0
  351. /package/dist/{index-DDnY7JhE.d.mts → index-CnyQ2N42.d.mts} +0 -0
  352. /package/dist/{index-BOxMyaqG.d.mts → index-D-rTv5WO.d.mts} +0 -0
  353. /package/dist/{index-BEPn58tG.d.mts → index-D1es2sEA.d.mts} +0 -0
  354. /package/dist/{index-62OoZLGr.d.mts → index-DJZZS_H0.d.mts} +0 -0
  355. /package/dist/{index-N0-r5Hcd.d.mts → index-DggZJ6TT.d.mts} +0 -0
  356. /package/dist/{index-BV3nQpdO.d.mts → index-Do3__CB3.d.mts} +0 -0
  357. /package/dist/{index-DsmyofuM.d.mts → index-lJLrusa5.d.mts} +0 -0
  358. /package/dist/{index-BleQ0SR7.d.mts → index-riopop0h.d.mts} +0 -0
  359. /package/dist/{index-DAqAa9aL.d.mts → index-yfLm_tCv.d.mts} +0 -0
  360. /package/dist/{json-value--pv1-OHx.d.mts → json-value-B2gMynW3.d.mts} +0 -0
  361. /package/dist/{jsonl-transport-Ct1RWs0h.mjs → jsonl-transport-_zPQoMpM.mjs} +0 -0
  362. /package/dist/{lib-DomKag_k.mjs → lib-l8EW0aRq.mjs} +0 -0
  363. /package/dist/{model-registry-CeDu27XL.mjs → model-registry-BJbUh4uw.mjs} +0 -0
  364. /package/dist/{namespace-HLrZerLd.d.mts → namespace-B6S7ZFyX.d.mts} +0 -0
  365. /package/dist/{namespace-CqJhR19O.mjs → namespace-BG-DwVwA.mjs} +0 -0
  366. /package/dist/{namespace-Bo6-o_rW.mjs → namespace-BWTEnslo.mjs} +0 -0
  367. /package/dist/{namespace-Sd6qj6w22.d.mts → namespace-CO9J3NB-2.d.mts} +0 -0
  368. /package/dist/{namespace-CJ5sH_Bp.d.mts → namespace-CVO6bZ4F.d.mts} +0 -0
  369. /package/dist/{namespace-KomML5ti.d.mts → namespace-CytKzWBF.d.mts} +0 -0
  370. /package/dist/{namespace-C9xmGXbW.mjs → namespace-D1tJewLB.mjs} +0 -0
  371. /package/dist/{namespace-DbtfwD5Z.d.mts → namespace-D8pSI--d.d.mts} +0 -0
  372. /package/dist/{namespace-CnRQ8tCJ.mjs → namespace-DS4y8Kv9.mjs} +0 -0
  373. /package/dist/{namespace-J87EeVTm.mjs → namespace-DaFbUCqO.mjs} +0 -0
  374. /package/dist/{namespace-QV_2m25r.d.mts → namespace-Dcs8KeNG.d.mts} +0 -0
  375. /package/dist/{namespace-C_NGRHKs.d.mts → namespace-Dt7hJA-a.d.mts} +0 -0
  376. /package/dist/{namespace-CL9OyrHs.d.mts → namespace-F8g5LZte.d.mts} +0 -0
  377. /package/dist/{namespace-Bz0ZDWhE.d.mts → namespace-u4eoUCLp.d.mts} +0 -0
  378. /package/dist/{node-bridge-backend-DtRT--yn.mjs → node-bridge-backend-CsJ3_7CF.mjs} +0 -0
  379. /package/dist/{node-pty-backend-C72EgRws.mjs → node-pty-backend-o9xyqPMi.mjs} +0 -0
  380. /package/dist/{orchestrator-shared-Bvo0u-1D.d.mts → orchestrator-shared-B96yveBr.d.mts} +0 -0
  381. /package/dist/{out-EjlaPopg.mjs → out-GD8gVf9J.mjs} +0 -0
  382. /package/dist/{ownership-recovery-guard-C9h8K1jo.mjs → ownership-recovery-guard-C00rcqvz.mjs} +0 -0
  383. /package/dist/{package-BCKYMTYG.mjs → package-B6mFblgK.mjs} +0 -0
  384. /package/dist/{package-BwlW7N32.mjs → package-Dke3gaTJ.mjs} +0 -0
  385. /package/dist/{packages-vF9F4M41.mjs → packages-CZ2x-Ver.mjs} +0 -0
  386. /package/dist/{packages-KX9yofCa.d.mts → packages-Fy4a6vQy.d.mts} +0 -0
  387. /package/dist/{providers-CahjB0Kh.mjs → providers-CIb7WiA8.mjs} +0 -0
  388. /package/dist/{providers-namespace-B-l-OQZk.d.mts → providers-namespace-Bg03KVpr.d.mts} +0 -0
  389. /package/dist/{quick-lru-C1yB5RCQ.mjs → quick-lru-BgvUj18f.mjs} +0 -0
  390. /package/dist/{registry-DtaRGU8i.mjs → registry-mZnnYsTk.mjs} +0 -0
  391. /package/dist/{runtime-inputs-B7nWstrY.d.mts → runtime-inputs-qWXJyPAC.d.mts} +0 -0
  392. /package/dist/{schema-DLE6Dqyc.d.mts → schema-C58MdqlI.d.mts} +0 -0
  393. /package/dist/{schema-BnuyCklU.mjs → schema-CdUStsjr.mjs} +0 -0
  394. /package/dist/{schema-introspection-_Yw9L_mB.mjs → schema-introspection-CRLs6TZU.mjs} +0 -0
  395. /package/dist/{schemas-BNQtL3Ln.d.mts → schemas-BKE3qw_w.d.mts} +0 -0
  396. /package/dist/{schemas-C0Fb2-LN.d.mts → schemas-BNG5UOHC.d.mts} +0 -0
  397. /package/dist/{schemas-BNRFKQdz.mjs → schemas-BzzkGp4E.mjs} +0 -0
  398. /package/dist/{schemas-BOT1HUv6.d.mts → schemas-CUfqNSQj.d.mts} +0 -0
  399. /package/dist/{schemas-Djjq4LLs.mjs → schemas-D9hVAoP5.mjs} +0 -0
  400. /package/dist/{schemas-DekYSXka.mjs → schemas-dPLES84M.mjs} +0 -0
  401. /package/dist/{schemas-Dxfk39-v.d.mts → schemas-hXVl5GeF.d.mts} +0 -0
  402. /package/dist/{schemas-BGTuiO3u.d.mts → schemas-zWy59x9Y.d.mts} +0 -0
  403. /package/dist/{server-lifecycle-BjbuCO-s.mjs → server-lifecycle-CmsnIyst.mjs} +0 -0
  404. /package/dist/{server-lifecycle-BINetU26.d.mts → server-lifecycle-DJcc_FqN.d.mts} +0 -0
  405. /package/dist/{shared-schemas-CnOyMY42.mjs → shared-schemas-DwAPAqeD.mjs} +0 -0
  406. /package/dist/{src-CqQSqLQI.mjs → src-CHyuN-wv.mjs} +0 -0
  407. /package/dist/{storage-namespace-TBX8VgK3.mjs → storage-namespace-CYZOP3RS.mjs} +0 -0
  408. /package/dist/{storage-namespace-definition-DV3IipmH.d.mts → storage-namespace-definition--9lrtKns.d.mts} +0 -0
  409. /package/dist/{supports-color-CjiFmM1U.mjs → supports-color-BZuv8Isw.mjs} +0 -0
  410. /package/dist/{tray-menu-service-BRrnoqaY.mjs → tray-menu-service-DGhHTNyy.mjs} +0 -0
  411. /package/dist/{types-CjoaGe_E.d.mts → types-BfQSVqtV.d.mts} +0 -0
  412. /package/dist/{types-B_mVEuYd.d.mts → types-CA6i6flt.d.mts} +0 -0
  413. /package/dist/{types-wwuw7RkB.mjs → types-CGL_-qT6.mjs} +0 -0
  414. /package/dist/{types-CqVuKsLC.d.mts → types-D-Q9gxe2.d.mts} +0 -0
  415. /package/dist/{types-D7WtaoMR.d.mts → types-DEDjIt3d.d.mts} +0 -0
  416. /package/dist/{types-MFZzmywp.d.mts → types-DVZYa4bZ.d.mts} +0 -0
  417. /package/dist/{window-registry-2MZdZPdA.mjs → window-registry-BB_bd5Yu.mjs} +0 -0
  418. /package/dist/{window-registry-1jI3f9ir.d.mts → window-registry-DqVHgb6Y.d.mts} +0 -0
@@ -1,8 +1,8 @@
1
- import{i as e,t}from"../chunk-DTipWd-i.mjs";import{$ as n,A as r,B as i,F as a,G as o,H as s,I as c,J as l,K as u,L as d,M as f,N as p,P as m,Q as h,R as g,U as _,V as v,W as y,X as b,Y as x,Z as S,_ as C,a as w,b as T,c as E,f as ee,g as te,i as D,j as ne,l as O,n as k,o as re,p as ie,q as ae,r as oe,s as se,t as ce,u as le,y as ue,z as de}from"../workflow-worker-BCLy_g_a.mjs";import{createNodeClientBinaryStrategyDependencies as fe}from"./client-binary-strategy-dependencies.mjs";import{RuntimeNamespace as pe,RuntimeSubjects as me}from"./bus/runtime/namespace.mjs";import{ExplicitDescriptorDiscovery as A,ExtensionNameCollisionError as j,FilesystemDescriptorDiscovery as he,MergedDescriptorDiscovery as ge,describeSameTierNameCollision as _e,discoverExtensionTiers as ve}from"./extension-discovery.mjs";import{t as ye}from"../package-AlsbnlSt.mjs";import{t as be}from"../descriptor-to-package-BPIArq6N.mjs";import{n as xe}from"../extension-package-provenance-ClpN3GHp.mjs";import{a as Se,c as Ce,i as we,l as M,n as Te,o as Ee,r as N,s as De,t as Oe,u as P}from"../load-extensions-eyXZhbRn.mjs";import{MAKAIO_CONFIG_FILE_ENV as ke,MAKAIO_HOME_ENV as F,buildConfiguredRuntimeOptions as Ae,createMakaioConfigDiscovery as I,defineMakaioConfig as je,loadMakaioConfig as Me,parseMakaioConfig as Ne,resolveMakaioConfigPath as Pe,resolveMakaioHome as Fe,shouldIncludeExtension as Ie}from"./makaio-config.mjs";import{filterConfigDefaultsForLoadedPackages as Le,mergePackageConfigDefaults as Re,registerConfigHandlers as ze}from"./boot-config.mjs";import{a as Be,c as Ve,i as He,l as Ue,n as We,r as Ge,s as Ke,t as qe}from"../bootstrap-start-client-9nOdeDYl.mjs";import{captureWorkflowExecutionBusSecretCleanup as Je}from"./workflow-execution-bus-access.mjs";import{a as Ye,c as Xe,i as Ze,n as Qe,o as $e,r as et,s as tt,t as nt}from"../types-wwuw7RkB.mjs";import{t as rt}from"../code-execution-DWSux6k1.mjs";import{createRequire as it}from"node:module";import{z as L}from"zod";import{fileURLToPath as at,pathToFileURL as ot}from"node:url";import*as R from"node:fs/promises";import*as z from"node:path";import B from"node:path";import*as st from"node:crypto";import{createHash as ct,randomUUID as lt}from"node:crypto";import*as V from"node:fs";import{existsSync as ut,readFileSync as dt,statSync as ft}from"node:fs";import{isRecord as pt,summarizeDiagnosticText as mt}from"@makaio/framework/utils";import{AIModelSchema as ht,BUILT_IN_THIN_WORKFLOW_PROVIDER_ID as gt,ClientSubjects as _t,ConfigSchema as vt,EXTENSION_OPERATOR_CONFIG_FILE_SUFFIX as yt,FrameworkContractNamespaces as bt,FrameworkStorageNamespaces as xt,SubjectTelemetrySubjects as St,decodeExtensionNamePathSegment as Ct,encodeExtensionNameAsPathSegment as wt,registerWorkerProvider as Tt,unregisterWorkerProvider as Et}from"@makaio/framework/contracts";import{MakaioBus as Dt,projectSubjectTelemetryFacts as Ot}from"@makaio/framework/bus";import{DispatchingAuth as kt,E2EAuth as At,HmacAuth as jt,WebSocketClientTransport as Mt}from"@makaio/framework/node/transports";import{BootNamespace as Nt,ExtensionCoordinator as Pt,ExtensionNamespace as Ft,KernelNamespace as It,createShutdownSequence as Lt}from"@makaio/framework/kernel";import{BaseService as Rt}from"@makaio/framework/service-base";import{index as zt,uniqueIndex as Bt}from"drizzle-orm/sqlite-core";import{index as Vt,uniqueIndex as Ht}from"drizzle-orm/pg-core";import{STORAGE_ENGINE_URL_HINTS as Ut,defineDialectSchema as Wt,defineDualTable as Gt,findStorageEngine as Kt,getDatabaseDialect as qt,getRawSqlExecutor as Jt,getStorageEngine as Yt,registerDrizzleHandlers as Xt,registerStorageEngine as Zt,resolveSchema as H,resolveStorageEngine as Qt,resolveStorageEngineForUrl as $t}from"@makaio/framework/storage/drizzle";import{and as en,eq as U,sql as W}from"drizzle-orm";import{createStorageNamespaceDefinition as tn}from"@makaio/framework/storage";import*as nn from"node:os";import{ProviderStorageSubjects as rn}from"@makaio/framework/services/settings/storage";import{FrameworkServicesCoreNamespaces as an,ModelRegistryToken as on,createArtifactKindContributionProcessor as sn,createArtifactLifecycleHookContributionProcessor as cn,createFacetNamespaceContributionProcessor as ln,createModelRegistryPackage as un,createReactionContributionProcessor as dn,createToolContributionProcessor as fn,createTransitionContributionProcessor as pn,createWorkflowBlockContributionProcessor as mn,frameworkCorePackages as hn}from"@makaio/framework/services";import{CachedRegistryFetcher as gn,FallbackRegistryFetcher as _n,ModelRegistrySchema as vn,ProviderModelOverrideSchema as yn,mergeModelMetadata as bn}from"@makaio/framework/services/model-registry";import{ClientsCoreToken as xn,createClientsCorePackage as Sn}from"@makaio/framework/clients";import{createDatabaseClient as Cn}from"@makaio/framework/storage/drizzle/client";import{AdapterRuntimeSnapshotError as wn,resolveAdapterRuntimeSnapshot as Tn,resolveBoundProviderAuth as En,resolveConnectorCredentials as Dn}from"@makaio/framework/adapters/config";import{DefinitionSubjects as On}from"@makaio/framework/services/definition";import{ProviderRuntimeSubjects as kn}from"@makaio/framework/services/provider-runtime";import{SettingsSubjects as An}from"@makaio/framework/services/settings/namespace";import{AdapterSubsystemToken as jn,FileAdapterConfigRepository as Mn,orderAfterAdapterSubsystem as Nn}from"@makaio/framework/adapter-subsystem";import{loadOrCreateMachineIdentity as Pn,loadOrCreateMachineIdentity as Fn,machineKeysExist as In,validateMachineKeys as Ln}from"@makaio/framework/node/machine-identity";import{resolveWorkspaceRoot as Rn}from"@makaio/framework/utils/workspace-root";import{Hono as zn}from"hono";import{CliNamespace as Bn}from"@makaio/framework/kernel/cli";import{startBusServer as Vn}from"@makaio/framework/node/bus-server";import{WebSocketServer as Hn}from"ws";import{ConfigProvider as Un}from"@makaio/framework/providers";import{KernelSubjects as Wn}from"@makaio/framework/kernel/namespace";import{AutomationCronSchedulerToken as Gn,createAutomationTriggerContributionProcessor as Kn,selectAutomationCronSchedulerPackage as qn}from"@makaio/framework/services/automation-trigger";import{createArtifactViewBuilderContributionProcessor as Jn,createSurfaceBindingContributionProcessor as Yn}from"@makaio/framework/services/materialization";import{createLogImportContributionProcessor as Xn,logImportRegistryPackage as Zn}from"@makaio/framework/services/log-import";import{WorkflowEngineToken as Qn,createWorkflowEnginePackage as $n}from"@makaio/framework/workflow-engine/package";import{NativeSessionSupervisorSubjects as G,SupervisorSessionStatusSchema as er}from"@makaio/framework/contracts/native-session-supervisor";import{PreferenceValueSchema as tr,PreferencesSubjects as nr}from"@makaio/framework/services/preferences";import{parseWorkspaceGlobs as rr}from"@makaio/framework/utils/workspace-packages";import{serveStatic as ir}from"@hono/node-server/serve-static";var ar=class extends Error{constructor(){super(`Live model discovery requires an adapter/provider protocol declaration.`),this.name=`ProviderModelFetchProtocolError`}};function or(e){let t=e.providerProtocol;if(t===void 0)throw new ar;return e.snapshot.context.endpointOverrides?.[t]??e.snapshot.definition.endpoints?.[t]}function sr(e){let t,n=!1;for(let r=e.length-1;r>=0;--r){let i=e[r];try{i()}catch(e){n||=(t=e,!0)}}if(e.length=0,n)throw t}function cr(e,t){try{return t()}catch(t){try{sr(e)}catch{}throw t}}function lr(e,t){for(let n of e){let e=n.providers.find(e=>e.definition.id===t);if(e)return e}}function ur(e){let{$schema:t,...n}=e;return n}function dr(e){let t=e.definition,n=Date.now();return{id:t.id,packageName:e.providerPackageName,name:t.name,description:t.description,endpoints:t.endpoints,defaultModel:t.defaultModel,fastModel:t.fastModel,availableModels:t.availableModels??[],defaultModelFilterMode:`show-all`,authMethods:t.authMethods,capabilities:t.capabilities,enabled:!0,createdAt:n,updatedAt:n}}function fr(e,t){if(e?.kind!==`config`)return;let n=Object.keys(e.config),r=t&&!t.usedSchemaDefaults?t.config:void 0;return pt(r)?{source:e.source,keys:n,values:Object.fromEntries(n.filter(e=>e in r).map(e=>[e,r[e]]))}:{source:e.source,keys:n}}function pr(e,t,n,r,i,a){let o=[];return cr(o,()=>(o.push(e.on(An.adapter.getConfigSchema,({payload:e,setResult:n})=>{let r=t().find(t=>t.name===e.adapterName);if(!r?.adapterConfigSchema){n({hasSchema:!1,schema:null});return}n({hasSchema:!0,schema:L.toJSONSchema(r.adapterConfigSchema)})})),o.push(e.on(On.getConfigSchema,({payload:e,setResult:n})=>{let r=lr(t(),e.definitionId)?.configSchema;if(r){n({hasSchema:!0,schema:L.toJSONSchema(r)});return}n({hasSchema:!1,schema:null})})),r&&o.push(e.on(An.extension.getConfigSchema,({payload:e,setResult:t})=>{let n=r(e.extensionName);if(!n?.configSchema){t({hasSchema:!1,schema:null,uiConfig:null});return}let o=i?.(e.extensionName),s=fr(o,a?.(e.extensionName));t({hasSchema:!0,schema:ur(L.toJSONSchema(n.configSchema)),uiConfig:n.uiConfig??null,operatorConfig:s})})),o.push(e.on(rn.get,({payload:e,setResult:n})=>{for(let r of t()){let t=r.providers.find(t=>t.definition.id===e.id);if(t){n({provider:dr(t)});return}}n({provider:null})},{priority:-1})),o.push(e.on(rn.list,({setResult:e})=>{let n=[],r=new Set;for(let e of t())for(let t of e.providers)r.has(t.definition.id)||(r.add(t.definition.id),n.push(dr(t)));e({providers:n})},{priority:-1})),o.push(e.on(kn.listModelFetchAdapters,async({payload:r,setResult:i})=>{let a=[];for(let i of t()){let t=i.options.adapterId,o=t?n().get(t):void 0;if(!(!o||!(`fetchModels`in o)||typeof o.fetchModels!=`function`))try{await Tn(e,{adapterName:i.name,providerConfigId:r.providerConfigId}),a.push(i.name)}catch(e){if(!(e instanceof wn))throw e}}a.sort((e,t)=>e.localeCompare(t)),i({adapterNames:a})})),o.push(e.on(kn.fetchModels,async({payload:r,setResult:i})=>{let a=t().find(e=>e.name===r.adapterName);if(!a)throw Error(`Adapter '${r.adapterName}' is not loaded for live model discovery`);let o=await Tn(e,{adapterName:a.name,providerConfigId:r.providerConfigId}),s=a.options.adapterId,c=s?n().get(s):void 0;if(!s||!c)throw Error(`Adapter instance for '${a.name}' not initialized`);if(!(`fetchModels`in c)||typeof c.fetchModels!=`function`)throw Error(`Adapter '${a.name}' does not support model fetching`);let l=or(o),u=await En(o.boundProviderAuth,t=>Dn(e,t));i({models:await c.fetchModels(l,u)})})),()=>{sr(o)}))}function mr(e=`sqlite`){let{migrations:t}=Yt(e);return t.resolveSourceChainDir?.()??B.resolve(import.meta.dirname,`..`,t.chainDirName)}var hr=class extends Error{expectedDialect;journalDialect;constructor(e,t,n,r){super(`Migration journal at ${r} declares dialect '${n??`unknown`}', but the target database speaks '${e}'. Point the runner at a migrations directory generated for '${e}' (journal dialect '${t}').`),this.name=`MigrationDialectMismatchError`,this.expectedDialect=e,this.journalDialect=n}};function gr(e={}){let t=typeof e==`string`?void 0:e.expectedDialect,n=typeof e==`string`?e:e.migrationsDir??mr(t),r=B.join(n,`meta`,`_journal.json`);if(!ut(r))throw Error(`Cannot find migrations journal at ${r}`);let i=JSON.parse(dt(r,`utf-8`));if(t!==void 0){let e=Yt(t).migrations.journalDialect;if(i.dialect!==e)throw new hr(t,e,i.dialect,r)}return i.entries.map(e=>{let t=dt(B.join(n,`${e.tag}.sql`),`utf-8`);return{tag:e.tag,sql:t.split(`--> statement-breakpoint`),folderMillis:e.when,hash:ct(`sha256`).update(t).digest(`hex`),bps:e.breakpoints}})}function _r(e){return e.replace(/--.*$/gm,``).trim()}async function vr(e,t){try{await e.run(W.raw(`ROLLBACK`))}catch(e){console.error(`[storage-migrations] Failed to roll back migration transaction`,{...t,rollbackError:e})}}async function yr(e){let{migrations:t}=e.engine;if(await e.session.run(W.raw(t.beginTransactionStatement)),t.acquireTransactionLock)try{await t.acquireTransactionLock(e.session,e.tableName)}catch(t){throw await vr(e.session,{migrationsTable:e.tableName}),t}}async function br(e){let t=e.engine.migrations.acquireTransactionLock!==void 0;t&&await yr(e);try{await e.session.run(W.raw(e.engine.migrations.buildLedgerDdl(e.tableName)));let n=await e.session.all(W`SELECT hash FROM ${e.tableId}`);return t&&await e.session.run(W.raw(`COMMIT`)),new Set(n.map(e=>e.hash))}catch(n){throw t&&await vr(e.session,{migrationsTable:e.tableName}),n}}async function xr(e,t){try{await e.session.run(W`INSERT INTO ${e.tableId} ("hash", "created_at") VALUES (${t.hash}, ${t.folderMillis})`),await e.session.run(W.raw(`COMMIT`))}catch(e){throw console.error(`[storage-migrations] Failed to finalize migration`,{hash:t.hash,folderMillis:t.folderMillis,error:e}),e}}async function Sr(e,t){return e.engine.migrations.acquireTransactionLock===void 0||(await e.session.all(W`SELECT hash FROM ${e.tableId} WHERE hash = ${t.hash}`)).length===0?!1:(console.warn(`[storage-migrations] Migration already recorded by a concurrent runner, skipping`,{hash:t.hash,folderMillis:t.folderMillis}),await e.session.run(W.raw(`COMMIT`)),!0)}async function Cr(e,t){await e.session.run(W.raw(`ROLLBACK`)),await yr(e),!await Sr(e,t)&&await xr(e,t)}async function wr(e,t){await yr(e);try{if(await Sr(e,t))return;for(let[n,r]of t.sql.entries())if(_r(r))try{await e.session.run(W.raw(r))}catch(i){if(n===0&&/^\s*CREATE\s/i.test(r)&&e.engine.errors.isDuplicateObjectError(i)){if(t.sql.length>1)throw Error(`Cannot adopt multi-statement migration '${t.tag}' because its first schema object already exists. Reset the database or provide an incremental migration.`,{cause:i});console.warn(`[storage-migrations] Schema object already exists, adopting into ledger`,{hash:t.hash,folderMillis:t.folderMillis,statementIndex:n}),await Cr(e,t);return}throw console.error(`[storage-migrations] Failed to apply migration statement`,{hash:t.hash,folderMillis:t.folderMillis,statementIndex:n,statement:r,error:i}),i}await xr(e,t)}catch(n){throw await vr(e.session,{hash:t.hash,folderMillis:t.folderMillis}),n}}async function Tr(e,t,n){let r=e.engine.migrations.constraintSuspension;if(!r?.isRequestedBy(t.sql)){await n();return}await e.session.run(W.raw(r.suspendStatement));try{await n()}finally{await e.session.run(W.raw(r.restoreStatement))}}async function Er(e,t,n){let r=Jt(e),i=Yt(r.dialect),a=n??i.migrations.defaultLedgerTable;await r.withSession(async e=>{let n={session:e,engine:i,tableName:a,tableId:W.identifier(a)},r=await br(n);for(let e of t)r.has(e.hash)||(await Tr(n,e,()=>wr(n,e)),r.add(e.hash))})}async function Dr(e,t={}){await Er(e,gr({migrationsDir:t.migrationsDir,expectedDialect:qt(e)})),await Qt(e).fts.provisionSearchIndex(e)}var Or=class{configPath;constructor(e){this.configPath=z.join(e,`config.json`)}async getConfig(){try{let e=await R.readFile(this.configPath,`utf-8`);return vt.parse(JSON.parse(e))}catch(e){if(e.code===`ENOENT`)return vt.parse({});if(e instanceof SyntaxError||e instanceof Error&&e.name===`ZodError`)return console.warn(`[FileConfigStorage] Failed to parse config, falling back to defaults:`,e),vt.parse({});throw e}}async saveConfig(e){let t=z.dirname(this.configPath);await R.mkdir(t,{recursive:!0}),await R.writeFile(this.configPath,JSON.stringify(e,null,2),{encoding:`utf-8`,mode:384}),await R.chmod(this.configPath,384)}};function kr(e){try{let t=Rn(e);return[z.resolve(t,`framework/static/model-registry.yaml`),z.resolve(t,`static/model-registry.yaml`)].find(e=>{try{return ft(e).isFile()}catch{return!1}})}catch{return}}async function Ar(e,t){await new Promise((n,r)=>{if(e.address()){n();return}let i=e=>{if(o(),e.code===`EADDRINUSE`){r(Error(`Port ${t} is already in use`));return}r(e)},a=()=>{o(),n()},o=()=>{e.off(`error`,i),e.off(`listening`,a)};e.once(`error`,i),e.once(`listening`,a)}),e.on(`error`,e=>{console.error(`[HttpServer] Post-bind error:`,e)})}function jr(e){let t=e.address();if(typeof t==`object`&&t&&`port`in t)return t.port;throw Error(`HTTP server is not bound to a TCP address`)}function Mr(e,t){let n=e,r=!1;return{fetch:(e,i,a)=>{if(!r)return new Response(`Makaio runtime is booting`,{status:503,headers:{"Retry-After":`1`}});let{pathname:o}=new URL(e.url);return t?.health&&e.method===`GET`&&o===`/health`?Response.json(t.health()):e.method===`GET`&&o===`/bus`?new Response(`WebSocket endpoint`,{status:426,headers:{Upgrade:`websocket`}}):n.fetch(e,i,a)},markReady(){r=!0},replaceApp(e){n=e}}}const Nr=[`extension`,`static-fallback`];function Pr(e){let t=[];function n(e){let t=new zn,n=[...e].sort((e,t)=>Nr.indexOf(e.phase)-Nr.indexOf(t.phase));for(let e of n)e.mount(t);return t}function r(){return n(t)}function i(r){e&&e.replaceApp(n(r)),t=r}return{add(e){i([...t,e])},remove(e){let n=t.filter(t=>t.owner!==e);n.length!==t.length&&i(n)},build:r,get contributions(){return[...t]}}}function Fr(e){let t=e.url?.split(`?`)[0]??``;return t===`/bus`?!0:(t===`/`||t===``)&&e.headers.origin===void 0}function Ir(e,t){return(n,r,i)=>{if(!Fr(n))return;let a=e();if(!a||!t()){r.destroy();return}a.handleUpgrade(n,r,i,e=>{a.emit(`connection`,e,n)})}}function Lr(e){let t=e.address();return t===null||typeof t==`string`?!1:t.address===`127.0.0.1`||t.address===`::1`||t.address===`::ffff:127.0.0.1`}var Rr=class{contexts=new Map;async authenticateClient(e){}async authenticateServer(e,t){this.contexts.set(e,{transportName:``,connectionId:lt(),peer:{kind:`makaio-loopback`,authenticated:!1}})}handleAuthMessage(e,t){return!1}getReceiveContext(e){return e===void 0?void 0:this.contexts.get(e)}cleanupSocket(e){this.contexts.delete(e)}cleanup(){this.contexts.clear()}},zr=class{options;busServer=null;websocketServer=null;upgradeHandlerServer=null;upgradeHandler=null;busReady=!1;connecting=!1;constructor(e){this.options=e}get dispatchingAuth(){return this.options.auth instanceof kt?this.options.auth:void 0}async connect(e,t){if(this.connecting||this.busServer||this.websocketServer)throw Error(`[BusServerTransport] connect() called while transport is already connected or connecting`);if(this.options.httpServer.address()===null)throw Error(`[BusServerTransport] httpServer must already be listening before connect() is called`);this.connecting=!0;try{let t=new Hn({noServer:!0});this.websocketServer=t;let n=Ir(()=>this.websocketServer,()=>this.busReady);this.options.httpServer.on(`upgrade`,n),this.upgradeHandlerServer=this.options.httpServer,this.upgradeHandler=n;let r=this.options.auth??(Lr(this.options.httpServer)?new Rr:void 0);this.busServer=await Vn({websocket:t,bus:e,auth:r,loopbackName:this.options.loopbackName??`node`}),this.busReady=!0}catch(e){throw await this.stopBusServer(`startup error`),this.detachUpgradeHandler(),await this.stopWebSocketServer(`startup error`),e}finally{this.connecting=!1}}async disconnect(){await this.stopBusServer(`shutdown`),this.detachUpgradeHandler(),await this.stopWebSocketServer(`shutdown`)}async stopBusServer(e){this.busReady=!1,this.busServer&&=(await this.busServer.stop().catch(t=>{console.error(`[BusServerTransport] Failed to stop bus server during ${e}:`,t)}),null)}detachUpgradeHandler(){this.upgradeHandlerServer&&this.upgradeHandler&&this.upgradeHandlerServer.off(`upgrade`,this.upgradeHandler),this.upgradeHandlerServer=null,this.upgradeHandler=null}async stopWebSocketServer(e){this.websocketServer&&=(await new Promise((e,t)=>{this.websocketServer.close(n=>n?t(n):e())}).catch(t=>{t instanceof Error&&t.message===`The server is not running`||console.error(`[BusServerTransport] Failed to close WebSocket server during ${e}:`,t)}),null)}},Br=class extends Un{keysDir;constructor(e,t){super(e),this.keysDir=z.join(t,`keys`)}async getConfig(e){let t=await super.getConfig(e);return t.bus?.remote&&!t.bus.remote.secret&&(t.bus.remote.secret=this.generateSecret(),(await this.getStoredConfig()).bus?.remote?.url===t.bus.remote.url&&await this.saveConfig(await this.prepareConfigForPersistence(t))),t}generateSecret(){return st.randomBytes(32).toString(`base64`)}async getMachineId(){return(await Fn(this.keysDir)).machineId}getEnv(e){return process.env[e]}};function Vr(e,t){return{extensions:e.discovery??new he(void 0,{extensionsDir:B.join(t,`extensions`),nodeModulesDir:B.join(t,`node_modules`)})}}function Hr(e){return ut(B.join(e,`meta`,`_journal.json`))}function Ur(e,t={}){let{moduleDir:n=import.meta.dirname,getMigrationsFolder:r=mr}=t,i=Yt(e).migrations.chainDirName,a=[],o=B.resolve(n,`..`,i);if(Hr(o))return o;a.push(o);try{let t=r(e);if(Hr(t))return t;a.push(t)}catch(t){a.push(`getMigrationsFolder('${e}') unavailable: ${t instanceof Error?t.message:String(t)}`)}throw Error(`resolveBundledMigrationsDir: no '${e}' migrations directory with meta/_journal.json found. Probed: ${a.join(`; `)}. Pass an explicit migrations directory (boot option 'centralMigrationsDir' or InitializeNodeDatabaseOptions.migrationsDir) when migrations are staged elsewhere.`)}function Wr(e){if(process.platform===`win32`)return!0;let t=e?.code;return t===`ENOSYS`||t===`EINVAL`}function Gr(e){return e===void 0||e.trim()===``?void 0:e}function Kr(e){try{let t=new URL(e);if(t.host!==``)return`${t.protocol}//${t.host}${t.pathname}`}catch{}let t=e.indexOf(`:`);return t===-1?`<unparseable database URL>`:`${e.slice(0,t+1)}…`}async function qr(e,t,n){let r;try{r=await import(ot(it(z.resolve(t,`package.json`)).resolve(e.packageName)).href)}catch(t){throw Error(`initializeNodeDatabase: the database URL from ${n} targets the '${e.dialect}' storage engine, but '${e.packageName}' could not be loaded. Install ${e.packageName} in the host application, or pass its already-loaded storageEngine via the 'database.engines' boot option.`,{cause:t})}let i=r.storageEngine;if(i===void 0||i.dialect!==e.dialect)throw Error(`initializeNodeDatabase: '${e.packageName}' does not provide a storage engine for dialect '${e.dialect}'. Auto-resolved engine packages must export 'storageEngine: StorageEngine' with a matching dialect.`);Kt(e.dialect)===void 0&&Zt(i)}async function Jr(e){let t=Gr(e.database?.url),n=t??Gr(process.env.MAKAIO_DATABASE_URL);if(n!==void 0){let r=t===void 0?`the MAKAIO_DATABASE_URL environment variable`:`the 'database.url' boot option`,i=$t(n);if(i.kind===`missing-engine`&&(await qr(i,e.database?.enginePackageImportBasePath??process.cwd(),r),i=$t(n)),i.kind!==`engine`){let e=Ut.map(e=>e.packageName).join(`, `);throw Error(`initializeNodeDatabase: unsupported database URL '${Kr(n)}' from ${r}. URL targets require a storage engine that claims the URL (e.g. postgres:// / postgresql:// via ${e}); SQLite targets are configured via the dbPath option or MAKAIO_DATABASE_PATH.`)}return{kind:`url`,url:n,dialect:i.engine.dialect}}let r=z.resolve(Gr(e.dbPath)??Gr(process.env.MAKAIO_DATABASE_PATH)??z.join(e.makaioHome,`makaio.db`));return{kind:`file`,dbPath:r,url:ot(r).href}}async function Yr(e){for(let t of e.database?.engines??[])Zt(t);let t=await Jr(e);if(t.kind===`url`){let n=await Cn({url:t.url,postgres:{poolMax:e.database?.poolMax}});try{let r=e.migrationsDir??Ur(t.dialect);return await Dr(n.db,{migrationsDir:r}),{databaseClient:n}}catch(e){throw await n.close(),e}}let{dbPath:n}=t,r=z.dirname(n);await V.promises.mkdir(r,{recursive:!0});let i=await Cn({url:t.url});try{await Dr(i.db,{migrationsDir:e.migrationsDir});try{await V.promises.chmod(n,384)}catch(e){if(!Wr(e))throw e;console.warn(`[initializeNodeDatabase] Failed to set SQLite file permissions (continuing; this may be unsupported on Windows):`,e)}return{databaseClient:i,dbPath:n}}catch(e){throw await i.close(),e}}const Xr=Gt(`supervisor_runtimes`,e=>({supervisorSessionId:e.text(`supervisor_session_id`).primaryKey(),clientId:e.text(`client_id`).notNull(),pid:e.int4(`pid`),status:e.textEnum(`status`,{enum:[`running`,`stopped`,`exited`,`unknown`]}).notNull(),cwd:e.text(`cwd`).notNull(),command:e.text(`command`).notNull(),argsJson:e.text(`args_json`).notNull(),envJson:e.text(`env_json`),sessionId:e.text(`session_id`),adapterSessionId:e.text(`adapter_session_id`),startedAt:e.epochMs(`started_at`).notNull(),stoppedAt:e.epochMs(`stopped_at`),metadataJson:e.text(`metadata_json`)}),{sqlite:e=>[zt(`supervisor_runtimes_session_id_idx`).on(e.sessionId),zt(`supervisor_runtimes_adapter_session_id_idx`).on(e.adapterSessionId),zt(`supervisor_runtimes_status_idx`).on(e.status)],postgres:e=>[Vt(`supervisor_runtimes_session_id_idx`).on(e.sessionId),Vt(`supervisor_runtimes_adapter_session_id_idx`).on(e.adapterSessionId),Vt(`supervisor_runtimes_status_idx`).on(e.status)]}),Zr=Xr.sqlite,Qr=L.object({supervisorSessionId:L.string(),clientId:L.string(),pid:L.number().int().positive().nullable(),status:er,cwd:L.string(),command:L.string(),args:L.array(L.string()),env:L.record(L.string(),L.string()).optional(),sessionId:L.string().optional(),adapterSessionId:L.string().optional(),startedAt:L.number().int().nonnegative(),stoppedAt:L.number().int().nonnegative().optional(),metadata:L.record(L.string(),L.unknown()).optional()}),$r=L.object({supervisorSessionId:L.string(),pid:L.number().int().positive().nullable().optional(),status:er.optional(),sessionId:L.string().optional(),adapterSessionId:L.string().optional(),stoppedAt:L.number().int().nonnegative().optional(),metadata:L.record(L.string(),L.unknown()).optional()}),K=tn(`supervisor-runtime`,{schemas:{get:{request:L.union([L.object({supervisorSessionId:L.string()}).strict(),L.object({sessionId:L.string()}).strict(),L.object({adapterSessionId:L.string()}).strict()]),response:L.object({runtime:Qr.nullable()})},set:{request:Qr,response:L.object({success:L.boolean()})},update:{request:$r,response:L.object({success:L.boolean()})},delete:{request:L.object({supervisorSessionId:L.string()}),response:L.object({success:L.boolean()})},list:{request:L.object({status:er.optional(),limit:L.number().int().min(1).optional()}),response:L.object({runtimes:L.array(Qr)})}},extensions:{drizzle:{supervisorRuntimes:Zr}}}).subjects;var ei=class{bus;_byId=new Map;_bySessionId=new Map;_byAdapterSessionId=new Map;constructor(e){this.bus=e}async loadFromStorage(){let{runtimes:e}=await this.bus.request(K.list,{});for(let t of e)this._indexRuntime(t)}async register(e){let t={...e,status:`running`},{success:n}=await this.bus.request(K.set,t);if(!n)throw Error(`Failed to persist runtime ${e.supervisorSessionId} to storage`);this._indexRuntime(t)}async update(e){let t=this._byId.get(e.supervisorSessionId);if(t===void 0)return!1;let n={...e.pid!==void 0&&{pid:e.pid},...e.status!==void 0&&{status:e.status},...e.sessionId!==void 0&&{sessionId:e.sessionId},...e.adapterSessionId!==void 0&&{adapterSessionId:e.adapterSessionId},...e.stoppedAt!==void 0&&{stoppedAt:e.stoppedAt},...e.metadata!==void 0&&{metadata:e.metadata}},r={...t,...n},{success:i}=await this.bus.request(K.update,{supervisorSessionId:e.supervisorSessionId,...n});return i?(e.sessionId!==void 0&&t.sessionId!==e.sessionId&&t.sessionId!==void 0&&this._bySessionId.delete(t.sessionId),e.adapterSessionId!==void 0&&t.adapterSessionId!==e.adapterSessionId&&t.adapterSessionId!==void 0&&this._byAdapterSessionId.delete(t.adapterSessionId),this._indexRuntime(r),!0):!1}async remove(e){let t=this._byId.get(e);if(t===void 0)return!1;let{success:n}=await this.bus.request(K.delete,{supervisorSessionId:e});return n?(this._removeIndex(t),!0):!1}getBySupervisorId(e){return this._byId.get(e)}getBySessionId(e){let t=this._bySessionId.get(e);return t===void 0?void 0:this._byId.get(t)}getByAdapterSessionId(e){let t=this._byAdapterSessionId.get(e);return t===void 0?void 0:this._byId.get(t)}getAll(){return Array.from(this._byId.values())}getByStatus(e){return Array.from(this._byId.values()).filter(t=>t.status===e)}_indexRuntime(e){this._byId.set(e.supervisorSessionId,e),e.sessionId!==void 0&&this._bySessionId.set(e.sessionId,e.supervisorSessionId),e.adapterSessionId!==void 0&&this._byAdapterSessionId.set(e.adapterSessionId,e.supervisorSessionId)}_removeIndex(e){this._byId.delete(e.supervisorSessionId),e.sessionId!==void 0&&this._bySessionId.delete(e.sessionId),e.adapterSessionId!==void 0&&this._byAdapterSessionId.delete(e.adapterSessionId)}};function ti(e){return{supervisorSessionId:e.supervisorSessionId,clientId:e.clientId,pid:e.pid,status:e.status,cwd:e.cwd,...e.sessionId!==void 0&&{sessionId:e.sessionId},...e.adapterSessionId!==void 0&&{adapterSessionId:e.adapterSessionId},startedAt:e.startedAt,...e.stoppedAt!==void 0&&{stoppedAt:e.stoppedAt}}}var ni=class{maxLines;maxChunks;chunks=[];newlineCount=0;truncated=!1;constructor(e=5e3,t=1e4){this.maxLines=e,this.maxChunks=t}push(e,t){if(!t)return;let n=0;for(let e=0;e<t.length;e++)t.charCodeAt(e)===10&&n++;for(this.chunks.push({seq:e,data:t,newlines:n}),this.newlineCount+=n;(this.newlineCount>this.maxLines||this.chunks.length>this.maxChunks)&&this.chunks.length>0;){let e=this.chunks.shift();e&&(this.newlineCount-=e.newlines),this.truncated=!0}}getContent(){return this.chunks.map(e=>e.data).join(``)}getLastNLines(e){if(e===null)return{content:this.getContent(),wasTruncated:this.truncated};if(e<=0||this.chunks.length===0)return{content:``,wasTruncated:this.truncated};let t=e,n=[];for(let e=this.chunks.length-1;e>=0;--e){let r=this.chunks[e];if(n.push({seq:r.seq,data:r.data}),t-=r.newlines,t<=0)break}if(n.length===0)return{content:``,wasTruncated:this.truncated};n.sort((e,t)=>e.seq-t.seq);let r=n.map(e=>e.data).join(``),i=r.endsWith(`
1
+ import{i as e,t}from"../chunk-DTipWd-i.mjs";import{$ as n,A as r,B as i,F as a,G as o,H as s,I as c,J as l,K as u,L as d,M as f,N as p,P as m,Q as h,R as g,U as _,V as v,W as y,X as b,Y as x,Z as S,_ as C,a as w,b as T,c as E,f as ee,g as te,i as D,j as ne,l as O,n as k,o as re,p as ie,q as ae,r as oe,s as se,t as ce,u as le,y as ue,z as de}from"../workflow-worker-CvQN2dmX.mjs";import{createNodeClientBinaryStrategyDependencies as fe}from"./client-binary-strategy-dependencies.mjs";import{RuntimeNamespace as pe,RuntimeSubjects as me}from"./bus/runtime/namespace.mjs";import{ExplicitDescriptorDiscovery as A,ExtensionNameCollisionError as j,FilesystemDescriptorDiscovery as he,MergedDescriptorDiscovery as ge,describeSameTierNameCollision as _e,discoverExtensionTiers as ve}from"./extension-discovery.mjs";import{t as ye}from"../package-CuXEeVP0.mjs";import{t as be}from"../descriptor-to-package-BmbVrmaM.mjs";import{n as xe}from"../extension-package-provenance-DAc6EC8S.mjs";import{a as Se,c as Ce,i as we,l as M,n as Te,o as Ee,r as N,s as De,t as Oe,u as P}from"../load-extensions-C4HK679X.mjs";import{MAKAIO_CONFIG_FILE_ENV as ke,MAKAIO_HOME_ENV as F,buildConfiguredRuntimeOptions as Ae,createMakaioConfigDiscovery as I,defineMakaioConfig as je,loadMakaioConfig as Me,parseMakaioConfig as Ne,resolveMakaioConfigPath as Pe,resolveMakaioHome as Fe,shouldIncludeExtension as Ie}from"./makaio-config.mjs";import{filterConfigDefaultsForLoadedPackages as Le,mergePackageConfigDefaults as Re,registerConfigHandlers as ze}from"./boot-config.mjs";import{a as Be,c as Ve,i as He,l as Ue,n as We,r as Ge,s as Ke,t as qe}from"../bootstrap-start-client-DyKCj6Eu.mjs";import{captureWorkflowExecutionBusSecretCleanup as Je}from"./workflow-execution-bus-access.mjs";import{a as Ye,c as Xe,i as Ze,n as Qe,o as $e,r as et,s as tt,t as nt}from"../types-CGL_-qT6.mjs";import{t as rt}from"../code-execution-BwqsnOwu.mjs";import{createRequire as it}from"node:module";import{z as L}from"zod";import{fileURLToPath as at,pathToFileURL as ot}from"node:url";import*as R from"node:fs/promises";import*as z from"node:path";import B from"node:path";import*as st from"node:crypto";import{createHash as ct,randomUUID as lt}from"node:crypto";import*as V from"node:fs";import{existsSync as ut,readFileSync as dt,statSync as ft}from"node:fs";import{isRecord as pt,summarizeDiagnosticText as mt}from"@makaio/framework/utils";import{AIModelSchema as ht,BUILT_IN_THIN_WORKFLOW_PROVIDER_ID as gt,ClientSubjects as _t,ConfigSchema as vt,EXTENSION_OPERATOR_CONFIG_FILE_SUFFIX as yt,FrameworkContractNamespaces as bt,FrameworkStorageNamespaces as xt,SubjectTelemetrySubjects as St,decodeExtensionNamePathSegment as Ct,encodeExtensionNameAsPathSegment as wt,registerWorkerProvider as Tt,unregisterWorkerProvider as Et}from"@makaio/framework/contracts";import{MakaioBus as Dt,projectSubjectTelemetryFacts as Ot}from"@makaio/framework/bus";import{DispatchingAuth as kt,E2EAuth as At,HmacAuth as jt,WebSocketClientTransport as Mt}from"@makaio/framework/node/transports";import{BootNamespace as Nt,ExtensionCoordinator as Pt,ExtensionNamespace as Ft,KernelNamespace as It,createShutdownSequence as Lt}from"@makaio/framework/kernel";import{BaseService as Rt}from"@makaio/framework/service-base";import{index as zt,uniqueIndex as Bt}from"drizzle-orm/sqlite-core";import{index as Vt,uniqueIndex as Ht}from"drizzle-orm/pg-core";import{STORAGE_ENGINE_URL_HINTS as Ut,defineDialectSchema as Wt,defineDualTable as Gt,findStorageEngine as Kt,getDatabaseDialect as qt,getRawSqlExecutor as Jt,getStorageEngine as Yt,registerDrizzleHandlers as Xt,registerStorageEngine as Zt,resolveSchema as H,resolveStorageEngine as Qt,resolveStorageEngineForUrl as $t}from"@makaio/framework/storage/drizzle";import{and as en,eq as U,sql as W}from"drizzle-orm";import{createStorageNamespaceDefinition as tn}from"@makaio/framework/storage";import*as nn from"node:os";import{ProviderStorageSubjects as rn}from"@makaio/framework/services/settings/storage";import{FrameworkServicesCoreNamespaces as an,ModelRegistryToken as on,createArtifactKindContributionProcessor as sn,createArtifactLifecycleHookContributionProcessor as cn,createFacetNamespaceContributionProcessor as ln,createModelRegistryPackage as un,createReactionContributionProcessor as dn,createToolContributionProcessor as fn,createTransitionContributionProcessor as pn,createWorkflowBlockContributionProcessor as mn,frameworkCorePackages as hn}from"@makaio/framework/services";import{CachedRegistryFetcher as gn,FallbackRegistryFetcher as _n,ModelRegistrySchema as vn,ProviderModelOverrideSchema as yn,mergeModelMetadata as bn}from"@makaio/framework/services/model-registry";import{ClientsCoreToken as xn,createClientsCorePackage as Sn}from"@makaio/framework/clients";import{createDatabaseClient as Cn}from"@makaio/framework/storage/drizzle/client";import{AdapterRuntimeSnapshotError as wn,resolveAdapterRuntimeSnapshot as Tn,resolveBoundProviderAuth as En,resolveConnectorCredentials as Dn}from"@makaio/framework/adapters/config";import{DefinitionSubjects as On}from"@makaio/framework/services/definition";import{ProviderRuntimeSubjects as kn}from"@makaio/framework/services/provider-runtime";import{SettingsSubjects as An}from"@makaio/framework/services/settings/namespace";import{AdapterSubsystemToken as jn,FileAdapterConfigRepository as Mn,orderAfterAdapterSubsystem as Nn}from"@makaio/framework/adapter-subsystem";import{loadOrCreateMachineIdentity as Pn,loadOrCreateMachineIdentity as Fn,machineKeysExist as In,validateMachineKeys as Ln}from"@makaio/framework/node/machine-identity";import{resolveWorkspaceRoot as Rn}from"@makaio/framework/utils/workspace-root";import{Hono as zn}from"hono";import{CliNamespace as Bn}from"@makaio/framework/kernel/cli";import{startBusServer as Vn}from"@makaio/framework/node/bus-server";import{WebSocketServer as Hn}from"ws";import{ConfigProvider as Un}from"@makaio/framework/providers";import{KernelSubjects as Wn}from"@makaio/framework/kernel/namespace";import{AutomationCronSchedulerToken as Gn,createAutomationTriggerContributionProcessor as Kn,selectAutomationCronSchedulerPackage as qn}from"@makaio/framework/services/automation-trigger";import{createArtifactViewBuilderContributionProcessor as Jn,createSurfaceBindingContributionProcessor as Yn}from"@makaio/framework/services/materialization";import{createLogImportContributionProcessor as Xn,logImportRegistryPackage as Zn}from"@makaio/framework/services/log-import";import{WorkflowEngineToken as Qn,createWorkflowEnginePackage as $n}from"@makaio/framework/workflow-engine/package";import{NativeSessionSupervisorSubjects as G,SupervisorSessionStatusSchema as er}from"@makaio/framework/contracts/native-session-supervisor";import{PreferenceValueSchema as tr,PreferencesSubjects as nr}from"@makaio/framework/services/preferences";import{parseWorkspaceGlobs as rr}from"@makaio/framework/utils/workspace-packages";import{serveStatic as ir}from"@hono/node-server/serve-static";var ar=class extends Error{constructor(){super(`Live model discovery requires an adapter/provider protocol declaration.`),this.name=`ProviderModelFetchProtocolError`}};function or(e){let t=e.providerProtocol;if(t===void 0)throw new ar;return e.snapshot.context.endpointOverrides?.[t]??e.snapshot.definition.endpoints?.[t]}function sr(e){let t,n=!1;for(let r=e.length-1;r>=0;--r){let i=e[r];try{i()}catch(e){n||=(t=e,!0)}}if(e.length=0,n)throw t}function cr(e,t){try{return t()}catch(t){try{sr(e)}catch{}throw t}}function lr(e,t){for(let n of e){let e=n.providers.find(e=>e.definition.id===t);if(e)return e}}function ur(e){let{$schema:t,...n}=e;return n}function dr(e){let t=e.definition,n=Date.now();return{id:t.id,packageName:e.providerPackageName,name:t.name,description:t.description,endpoints:t.endpoints,defaultModel:t.defaultModel,fastModel:t.fastModel,availableModels:t.availableModels??[],defaultModelFilterMode:`show-all`,authMethods:t.authMethods,capabilities:t.capabilities,enabled:!0,createdAt:n,updatedAt:n}}function fr(e,t){if(e?.kind!==`config`)return;let n=Object.keys(e.config),r=t&&!t.usedSchemaDefaults?t.config:void 0;return pt(r)?{source:e.source,keys:n,values:Object.fromEntries(n.filter(e=>e in r).map(e=>[e,r[e]]))}:{source:e.source,keys:n}}function pr(e,t,n,r,i,a){let o=[];return cr(o,()=>(o.push(e.on(An.adapter.getConfigSchema,({payload:e,setResult:n})=>{let r=t().find(t=>t.name===e.adapterName);if(!r?.adapterConfigSchema){n({hasSchema:!1,schema:null});return}n({hasSchema:!0,schema:L.toJSONSchema(r.adapterConfigSchema)})})),o.push(e.on(On.getConfigSchema,({payload:e,setResult:n})=>{let r=lr(t(),e.definitionId)?.configSchema;if(r){n({hasSchema:!0,schema:L.toJSONSchema(r)});return}n({hasSchema:!1,schema:null})})),r&&o.push(e.on(An.extension.getConfigSchema,({payload:e,setResult:t})=>{let n=r(e.extensionName);if(!n?.configSchema){t({hasSchema:!1,schema:null,uiConfig:null});return}let o=i?.(e.extensionName),s=fr(o,a?.(e.extensionName));t({hasSchema:!0,schema:ur(L.toJSONSchema(n.configSchema)),uiConfig:n.uiConfig??null,operatorConfig:s})})),o.push(e.on(rn.get,({payload:e,setResult:n})=>{for(let r of t()){let t=r.providers.find(t=>t.definition.id===e.id);if(t){n({provider:dr(t)});return}}n({provider:null})},{priority:-1})),o.push(e.on(rn.list,({setResult:e})=>{let n=[],r=new Set;for(let e of t())for(let t of e.providers)r.has(t.definition.id)||(r.add(t.definition.id),n.push(dr(t)));e({providers:n})},{priority:-1})),o.push(e.on(kn.listModelFetchAdapters,async({payload:r,setResult:i})=>{let a=[];for(let i of t()){let t=i.options.adapterId,o=t?n().get(t):void 0;if(!(!o||!(`fetchModels`in o)||typeof o.fetchModels!=`function`))try{await Tn(e,{adapterName:i.name,providerConfigId:r.providerConfigId}),a.push(i.name)}catch(e){if(!(e instanceof wn))throw e}}a.sort((e,t)=>e.localeCompare(t)),i({adapterNames:a})})),o.push(e.on(kn.fetchModels,async({payload:r,setResult:i})=>{let a=t().find(e=>e.name===r.adapterName);if(!a)throw Error(`Adapter '${r.adapterName}' is not loaded for live model discovery`);let o=await Tn(e,{adapterName:a.name,providerConfigId:r.providerConfigId}),s=a.options.adapterId,c=s?n().get(s):void 0;if(!s||!c)throw Error(`Adapter instance for '${a.name}' not initialized`);if(!(`fetchModels`in c)||typeof c.fetchModels!=`function`)throw Error(`Adapter '${a.name}' does not support model fetching`);let l=or(o),u=await En(o.boundProviderAuth,t=>Dn(e,t));i({models:await c.fetchModels(l,u)})})),()=>{sr(o)}))}function mr(e=`sqlite`){let{migrations:t}=Yt(e);return t.resolveSourceChainDir?.()??B.resolve(import.meta.dirname,`..`,t.chainDirName)}var hr=class extends Error{expectedDialect;journalDialect;constructor(e,t,n,r){super(`Migration journal at ${r} declares dialect '${n??`unknown`}', but the target database speaks '${e}'. Point the runner at a migrations directory generated for '${e}' (journal dialect '${t}').`),this.name=`MigrationDialectMismatchError`,this.expectedDialect=e,this.journalDialect=n}};function gr(e={}){let t=typeof e==`string`?void 0:e.expectedDialect,n=typeof e==`string`?e:e.migrationsDir??mr(t),r=B.join(n,`meta`,`_journal.json`);if(!ut(r))throw Error(`Cannot find migrations journal at ${r}`);let i=JSON.parse(dt(r,`utf-8`));if(t!==void 0){let e=Yt(t).migrations.journalDialect;if(i.dialect!==e)throw new hr(t,e,i.dialect,r)}return i.entries.map(e=>{let t=dt(B.join(n,`${e.tag}.sql`),`utf-8`);return{tag:e.tag,sql:t.split(`--> statement-breakpoint`),folderMillis:e.when,hash:ct(`sha256`).update(t).digest(`hex`),bps:e.breakpoints}})}function _r(e){return e.replace(/--.*$/gm,``).trim()}async function vr(e,t){try{await e.run(W.raw(`ROLLBACK`))}catch(e){console.error(`[storage-migrations] Failed to roll back migration transaction`,{...t,rollbackError:e})}}async function yr(e){let{migrations:t}=e.engine;if(await e.session.run(W.raw(t.beginTransactionStatement)),t.acquireTransactionLock)try{await t.acquireTransactionLock(e.session,e.tableName)}catch(t){throw await vr(e.session,{migrationsTable:e.tableName}),t}}async function br(e){let t=e.engine.migrations.acquireTransactionLock!==void 0;t&&await yr(e);try{await e.session.run(W.raw(e.engine.migrations.buildLedgerDdl(e.tableName)));let n=await e.session.all(W`SELECT hash FROM ${e.tableId}`);return t&&await e.session.run(W.raw(`COMMIT`)),new Set(n.map(e=>e.hash))}catch(n){throw t&&await vr(e.session,{migrationsTable:e.tableName}),n}}async function xr(e,t){try{await e.session.run(W`INSERT INTO ${e.tableId} ("hash", "created_at") VALUES (${t.hash}, ${t.folderMillis})`),await e.session.run(W.raw(`COMMIT`))}catch(e){throw console.error(`[storage-migrations] Failed to finalize migration`,{hash:t.hash,folderMillis:t.folderMillis,error:e}),e}}async function Sr(e,t){return e.engine.migrations.acquireTransactionLock===void 0||(await e.session.all(W`SELECT hash FROM ${e.tableId} WHERE hash = ${t.hash}`)).length===0?!1:(console.warn(`[storage-migrations] Migration already recorded by a concurrent runner, skipping`,{hash:t.hash,folderMillis:t.folderMillis}),await e.session.run(W.raw(`COMMIT`)),!0)}async function Cr(e,t){await e.session.run(W.raw(`ROLLBACK`)),await yr(e),!await Sr(e,t)&&await xr(e,t)}async function wr(e,t){await yr(e);try{if(await Sr(e,t))return;for(let[n,r]of t.sql.entries())if(_r(r))try{await e.session.run(W.raw(r))}catch(i){if(n===0&&/^\s*CREATE\s/i.test(r)&&e.engine.errors.isDuplicateObjectError(i)){if(t.sql.length>1)throw Error(`Cannot adopt multi-statement migration '${t.tag}' because its first schema object already exists. Reset the database or provide an incremental migration.`,{cause:i});console.warn(`[storage-migrations] Schema object already exists, adopting into ledger`,{hash:t.hash,folderMillis:t.folderMillis,statementIndex:n}),await Cr(e,t);return}throw console.error(`[storage-migrations] Failed to apply migration statement`,{hash:t.hash,folderMillis:t.folderMillis,statementIndex:n,statement:r,error:i}),i}await xr(e,t)}catch(n){throw await vr(e.session,{hash:t.hash,folderMillis:t.folderMillis}),n}}async function Tr(e,t,n){let r=e.engine.migrations.constraintSuspension;if(!r?.isRequestedBy(t.sql)){await n();return}await e.session.run(W.raw(r.suspendStatement));try{await n()}finally{await e.session.run(W.raw(r.restoreStatement))}}async function Er(e,t,n){let r=Jt(e),i=Yt(r.dialect),a=n??i.migrations.defaultLedgerTable;await r.withSession(async e=>{let n={session:e,engine:i,tableName:a,tableId:W.identifier(a)},r=await br(n);for(let e of t)r.has(e.hash)||(await Tr(n,e,()=>wr(n,e)),r.add(e.hash))})}async function Dr(e,t={}){await Er(e,gr({migrationsDir:t.migrationsDir,expectedDialect:qt(e)})),await Qt(e).fts.provisionSearchIndex(e)}var Or=class{configPath;constructor(e){this.configPath=z.join(e,`config.json`)}async getConfig(){try{let e=await R.readFile(this.configPath,`utf-8`);return vt.parse(JSON.parse(e))}catch(e){if(e.code===`ENOENT`)return vt.parse({});if(e instanceof SyntaxError||e instanceof Error&&e.name===`ZodError`)return console.warn(`[FileConfigStorage] Failed to parse config, falling back to defaults:`,e),vt.parse({});throw e}}async saveConfig(e){let t=z.dirname(this.configPath);await R.mkdir(t,{recursive:!0}),await R.writeFile(this.configPath,JSON.stringify(e,null,2),{encoding:`utf-8`,mode:384}),await R.chmod(this.configPath,384)}};function kr(e){try{let t=Rn(e);return[z.resolve(t,`framework/static/model-registry.yaml`),z.resolve(t,`static/model-registry.yaml`)].find(e=>{try{return ft(e).isFile()}catch{return!1}})}catch{return}}async function Ar(e,t){await new Promise((n,r)=>{if(e.address()){n();return}let i=e=>{if(o(),e.code===`EADDRINUSE`){r(Error(`Port ${t} is already in use`));return}r(e)},a=()=>{o(),n()},o=()=>{e.off(`error`,i),e.off(`listening`,a)};e.once(`error`,i),e.once(`listening`,a)}),e.on(`error`,e=>{console.error(`[HttpServer] Post-bind error:`,e)})}function jr(e){let t=e.address();if(typeof t==`object`&&t&&`port`in t)return t.port;throw Error(`HTTP server is not bound to a TCP address`)}function Mr(e,t){let n=e,r=!1;return{fetch:(e,i,a)=>{if(!r)return new Response(`Makaio runtime is booting`,{status:503,headers:{"Retry-After":`1`}});let{pathname:o}=new URL(e.url);return t?.health&&e.method===`GET`&&o===`/health`?Response.json(t.health()):e.method===`GET`&&o===`/bus`?new Response(`WebSocket endpoint`,{status:426,headers:{Upgrade:`websocket`}}):n.fetch(e,i,a)},markReady(){r=!0},replaceApp(e){n=e}}}const Nr=[`extension`,`static-fallback`];function Pr(e){let t=[];function n(e){let t=new zn,n=[...e].sort((e,t)=>Nr.indexOf(e.phase)-Nr.indexOf(t.phase));for(let e of n)e.mount(t);return t}function r(){return n(t)}function i(r){e&&e.replaceApp(n(r)),t=r}return{add(e){i([...t,e])},remove(e){let n=t.filter(t=>t.owner!==e);n.length!==t.length&&i(n)},build:r,get contributions(){return[...t]}}}function Fr(e){let t=e.url?.split(`?`)[0]??``;return t===`/bus`?!0:(t===`/`||t===``)&&e.headers.origin===void 0}function Ir(e,t){return(n,r,i)=>{if(!Fr(n))return;let a=e();if(!a||!t()){r.destroy();return}a.handleUpgrade(n,r,i,e=>{a.emit(`connection`,e,n)})}}function Lr(e){let t=e.address();return t===null||typeof t==`string`?!1:t.address===`127.0.0.1`||t.address===`::1`||t.address===`::ffff:127.0.0.1`}var Rr=class{contexts=new Map;async authenticateClient(e){}async authenticateServer(e,t){this.contexts.set(e,{transportName:``,connectionId:lt(),peer:{kind:`makaio-loopback`,authenticated:!1}})}handleAuthMessage(e,t){return!1}getReceiveContext(e){return e===void 0?void 0:this.contexts.get(e)}cleanupSocket(e){this.contexts.delete(e)}cleanup(){this.contexts.clear()}},zr=class{options;busServer=null;websocketServer=null;upgradeHandlerServer=null;upgradeHandler=null;busReady=!1;connecting=!1;constructor(e){this.options=e}get dispatchingAuth(){return this.options.auth instanceof kt?this.options.auth:void 0}async connect(e,t){if(this.connecting||this.busServer||this.websocketServer)throw Error(`[BusServerTransport] connect() called while transport is already connected or connecting`);if(this.options.httpServer.address()===null)throw Error(`[BusServerTransport] httpServer must already be listening before connect() is called`);this.connecting=!0;try{let t=new Hn({noServer:!0});this.websocketServer=t;let n=Ir(()=>this.websocketServer,()=>this.busReady);this.options.httpServer.on(`upgrade`,n),this.upgradeHandlerServer=this.options.httpServer,this.upgradeHandler=n;let r=this.options.auth??(Lr(this.options.httpServer)?new Rr:void 0);this.busServer=await Vn({websocket:t,bus:e,auth:r,loopbackName:this.options.loopbackName??`node`}),this.busReady=!0}catch(e){throw await this.stopBusServer(`startup error`),this.detachUpgradeHandler(),await this.stopWebSocketServer(`startup error`),e}finally{this.connecting=!1}}async disconnect(){await this.stopBusServer(`shutdown`),this.detachUpgradeHandler(),await this.stopWebSocketServer(`shutdown`)}async stopBusServer(e){this.busReady=!1,this.busServer&&=(await this.busServer.stop().catch(t=>{console.error(`[BusServerTransport] Failed to stop bus server during ${e}:`,t)}),null)}detachUpgradeHandler(){this.upgradeHandlerServer&&this.upgradeHandler&&this.upgradeHandlerServer.off(`upgrade`,this.upgradeHandler),this.upgradeHandlerServer=null,this.upgradeHandler=null}async stopWebSocketServer(e){this.websocketServer&&=(await new Promise((e,t)=>{this.websocketServer.close(n=>n?t(n):e())}).catch(t=>{t instanceof Error&&t.message===`The server is not running`||console.error(`[BusServerTransport] Failed to close WebSocket server during ${e}:`,t)}),null)}},Br=class extends Un{keysDir;constructor(e,t){super(e),this.keysDir=z.join(t,`keys`)}async getConfig(e){let t=await super.getConfig(e);return t.bus?.remote&&!t.bus.remote.secret&&(t.bus.remote.secret=this.generateSecret(),(await this.getStoredConfig()).bus?.remote?.url===t.bus.remote.url&&await this.saveConfig(await this.prepareConfigForPersistence(t))),t}generateSecret(){return st.randomBytes(32).toString(`base64`)}async getMachineId(){return(await Fn(this.keysDir)).machineId}getEnv(e){return process.env[e]}};function Vr(e,t){return{extensions:e.discovery??new he(void 0,{extensionsDir:B.join(t,`extensions`),nodeModulesDir:B.join(t,`node_modules`)})}}function Hr(e){return ut(B.join(e,`meta`,`_journal.json`))}function Ur(e,t={}){let{moduleDir:n=import.meta.dirname,getMigrationsFolder:r=mr}=t,i=Yt(e).migrations.chainDirName,a=[],o=B.resolve(n,`..`,i);if(Hr(o))return o;a.push(o);try{let t=r(e);if(Hr(t))return t;a.push(t)}catch(t){a.push(`getMigrationsFolder('${e}') unavailable: ${t instanceof Error?t.message:String(t)}`)}throw Error(`resolveBundledMigrationsDir: no '${e}' migrations directory with meta/_journal.json found. Probed: ${a.join(`; `)}. Pass an explicit migrations directory (boot option 'centralMigrationsDir' or InitializeNodeDatabaseOptions.migrationsDir) when migrations are staged elsewhere.`)}function Wr(e){if(process.platform===`win32`)return!0;let t=e?.code;return t===`ENOSYS`||t===`EINVAL`}function Gr(e){return e===void 0||e.trim()===``?void 0:e}function Kr(e){try{let t=new URL(e);if(t.host!==``)return`${t.protocol}//${t.host}${t.pathname}`}catch{}let t=e.indexOf(`:`);return t===-1?`<unparseable database URL>`:`${e.slice(0,t+1)}…`}async function qr(e,t,n){let r;try{r=await import(ot(it(z.resolve(t,`package.json`)).resolve(e.packageName)).href)}catch(t){throw Error(`initializeNodeDatabase: the database URL from ${n} targets the '${e.dialect}' storage engine, but '${e.packageName}' could not be loaded. Install ${e.packageName} in the host application, or pass its already-loaded storageEngine via the 'database.engines' boot option.`,{cause:t})}let i=r.storageEngine;if(i===void 0||i.dialect!==e.dialect)throw Error(`initializeNodeDatabase: '${e.packageName}' does not provide a storage engine for dialect '${e.dialect}'. Auto-resolved engine packages must export 'storageEngine: StorageEngine' with a matching dialect.`);Kt(e.dialect)===void 0&&Zt(i)}async function Jr(e){let t=Gr(e.database?.url),n=t??Gr(process.env.MAKAIO_DATABASE_URL);if(n!==void 0){let r=t===void 0?`the MAKAIO_DATABASE_URL environment variable`:`the 'database.url' boot option`,i=$t(n);if(i.kind===`missing-engine`&&(await qr(i,e.database?.enginePackageImportBasePath??process.cwd(),r),i=$t(n)),i.kind!==`engine`){let e=Ut.map(e=>e.packageName).join(`, `);throw Error(`initializeNodeDatabase: unsupported database URL '${Kr(n)}' from ${r}. URL targets require a storage engine that claims the URL (e.g. postgres:// / postgresql:// via ${e}); SQLite targets are configured via the dbPath option or MAKAIO_DATABASE_PATH.`)}return{kind:`url`,url:n,dialect:i.engine.dialect}}let r=z.resolve(Gr(e.dbPath)??Gr(process.env.MAKAIO_DATABASE_PATH)??z.join(e.makaioHome,`makaio.db`));return{kind:`file`,dbPath:r,url:ot(r).href}}async function Yr(e){for(let t of e.database?.engines??[])Zt(t);let t=await Jr(e);if(t.kind===`url`){let n=await Cn({url:t.url,postgres:{poolMax:e.database?.poolMax}});try{let r=e.migrationsDir??Ur(t.dialect);return await Dr(n.db,{migrationsDir:r}),{databaseClient:n}}catch(e){throw await n.close(),e}}let{dbPath:n}=t,r=z.dirname(n);await V.promises.mkdir(r,{recursive:!0});let i=await Cn({url:t.url});try{await Dr(i.db,{migrationsDir:e.migrationsDir});try{await V.promises.chmod(n,384)}catch(e){if(!Wr(e))throw e;console.warn(`[initializeNodeDatabase] Failed to set SQLite file permissions (continuing; this may be unsupported on Windows):`,e)}return{databaseClient:i,dbPath:n}}catch(e){throw await i.close(),e}}const Xr=Gt(`supervisor_runtimes`,e=>({supervisorSessionId:e.text(`supervisor_session_id`).primaryKey(),clientId:e.text(`client_id`).notNull(),pid:e.int4(`pid`),status:e.textEnum(`status`,{enum:[`running`,`stopped`,`exited`,`unknown`]}).notNull(),cwd:e.text(`cwd`).notNull(),command:e.text(`command`).notNull(),argsJson:e.text(`args_json`).notNull(),envJson:e.text(`env_json`),sessionId:e.text(`session_id`),adapterSessionId:e.text(`adapter_session_id`),startedAt:e.epochMs(`started_at`).notNull(),stoppedAt:e.epochMs(`stopped_at`),metadataJson:e.text(`metadata_json`)}),{sqlite:e=>[zt(`supervisor_runtimes_session_id_idx`).on(e.sessionId),zt(`supervisor_runtimes_adapter_session_id_idx`).on(e.adapterSessionId),zt(`supervisor_runtimes_status_idx`).on(e.status)],postgres:e=>[Vt(`supervisor_runtimes_session_id_idx`).on(e.sessionId),Vt(`supervisor_runtimes_adapter_session_id_idx`).on(e.adapterSessionId),Vt(`supervisor_runtimes_status_idx`).on(e.status)]}),Zr=Xr.sqlite,Qr=L.object({supervisorSessionId:L.string(),clientId:L.string(),pid:L.number().int().positive().nullable(),status:er,cwd:L.string(),command:L.string(),args:L.array(L.string()),env:L.record(L.string(),L.string()).optional(),sessionId:L.string().optional(),adapterSessionId:L.string().optional(),startedAt:L.number().int().nonnegative(),stoppedAt:L.number().int().nonnegative().optional(),metadata:L.record(L.string(),L.unknown()).optional()}),$r=L.object({supervisorSessionId:L.string(),pid:L.number().int().positive().nullable().optional(),status:er.optional(),sessionId:L.string().optional(),adapterSessionId:L.string().optional(),stoppedAt:L.number().int().nonnegative().optional(),metadata:L.record(L.string(),L.unknown()).optional()}),K=tn(`supervisor-runtime`,{schemas:{get:{request:L.union([L.object({supervisorSessionId:L.string()}).strict(),L.object({sessionId:L.string()}).strict(),L.object({adapterSessionId:L.string()}).strict()]),response:L.object({runtime:Qr.nullable()})},set:{request:Qr,response:L.object({success:L.boolean()})},update:{request:$r,response:L.object({success:L.boolean()})},delete:{request:L.object({supervisorSessionId:L.string()}),response:L.object({success:L.boolean()})},list:{request:L.object({status:er.optional(),limit:L.number().int().min(1).optional()}),response:L.object({runtimes:L.array(Qr)})}},extensions:{drizzle:{supervisorRuntimes:Zr}}}).subjects;var ei=class{bus;_byId=new Map;_bySessionId=new Map;_byAdapterSessionId=new Map;constructor(e){this.bus=e}async loadFromStorage(){let{runtimes:e}=await this.bus.request(K.list,{});for(let t of e)this._indexRuntime(t)}async register(e){let t={...e,status:`running`},{success:n}=await this.bus.request(K.set,t);if(!n)throw Error(`Failed to persist runtime ${e.supervisorSessionId} to storage`);this._indexRuntime(t)}async update(e){let t=this._byId.get(e.supervisorSessionId);if(t===void 0)return!1;let n={...e.pid!==void 0&&{pid:e.pid},...e.status!==void 0&&{status:e.status},...e.sessionId!==void 0&&{sessionId:e.sessionId},...e.adapterSessionId!==void 0&&{adapterSessionId:e.adapterSessionId},...e.stoppedAt!==void 0&&{stoppedAt:e.stoppedAt},...e.metadata!==void 0&&{metadata:e.metadata}},r={...t,...n},{success:i}=await this.bus.request(K.update,{supervisorSessionId:e.supervisorSessionId,...n});return i?(e.sessionId!==void 0&&t.sessionId!==e.sessionId&&t.sessionId!==void 0&&this._bySessionId.delete(t.sessionId),e.adapterSessionId!==void 0&&t.adapterSessionId!==e.adapterSessionId&&t.adapterSessionId!==void 0&&this._byAdapterSessionId.delete(t.adapterSessionId),this._indexRuntime(r),!0):!1}async remove(e){let t=this._byId.get(e);if(t===void 0)return!1;let{success:n}=await this.bus.request(K.delete,{supervisorSessionId:e});return n?(this._removeIndex(t),!0):!1}getBySupervisorId(e){return this._byId.get(e)}getBySessionId(e){let t=this._bySessionId.get(e);return t===void 0?void 0:this._byId.get(t)}getByAdapterSessionId(e){let t=this._byAdapterSessionId.get(e);return t===void 0?void 0:this._byId.get(t)}getAll(){return Array.from(this._byId.values())}getByStatus(e){return Array.from(this._byId.values()).filter(t=>t.status===e)}_indexRuntime(e){this._byId.set(e.supervisorSessionId,e),e.sessionId!==void 0&&this._bySessionId.set(e.sessionId,e.supervisorSessionId),e.adapterSessionId!==void 0&&this._byAdapterSessionId.set(e.adapterSessionId,e.supervisorSessionId)}_removeIndex(e){this._byId.delete(e.supervisorSessionId),e.sessionId!==void 0&&this._bySessionId.delete(e.sessionId),e.adapterSessionId!==void 0&&this._byAdapterSessionId.delete(e.adapterSessionId)}};function ti(e){return{supervisorSessionId:e.supervisorSessionId,clientId:e.clientId,pid:e.pid,status:e.status,cwd:e.cwd,...e.sessionId!==void 0&&{sessionId:e.sessionId},...e.adapterSessionId!==void 0&&{adapterSessionId:e.adapterSessionId},startedAt:e.startedAt,...e.stoppedAt!==void 0&&{stoppedAt:e.stoppedAt}}}var ni=class{maxLines;maxChunks;chunks=[];newlineCount=0;truncated=!1;constructor(e=5e3,t=1e4){this.maxLines=e,this.maxChunks=t}push(e,t){if(!t)return;let n=0;for(let e=0;e<t.length;e++)t.charCodeAt(e)===10&&n++;for(this.chunks.push({seq:e,data:t,newlines:n}),this.newlineCount+=n;(this.newlineCount>this.maxLines||this.chunks.length>this.maxChunks)&&this.chunks.length>0;){let e=this.chunks.shift();e&&(this.newlineCount-=e.newlines),this.truncated=!0}}getContent(){return this.chunks.map(e=>e.data).join(``)}getLastNLines(e){if(e===null)return{content:this.getContent(),wasTruncated:this.truncated};if(e<=0||this.chunks.length===0)return{content:``,wasTruncated:this.truncated};let t=e,n=[];for(let e=this.chunks.length-1;e>=0;--e){let r=this.chunks[e];if(n.push({seq:r.seq,data:r.data}),t-=r.newlines,t<=0)break}if(n.length===0)return{content:``,wasTruncated:this.truncated};n.sort((e,t)=>e.seq-t.seq);let r=n.map(e=>e.data).join(``),i=r.endsWith(`
2
2
  `),a=r.split(`
3
3
  `);return i&&a.pop(),a.length>e&&(r=a.slice(-e).join(`
4
4
  `),i&&(r+=`
5
- `)),{content:r,wasTruncated:this.truncated}}getSince(e){if(e===null)return{content:this.getContent(),wasTruncated:this.truncated};let t=this.chunks[0]?.seq??null,n=t!==null&&e<t;return{content:this.chunks.filter(t=>t.seq>e).map(e=>e.data).join(``),wasTruncated:n}}drain(){let e=this.getContent(),t=this.truncated;return this.clear(),{content:e,wasTruncated:t}}wasTruncated(){return this.truncated}clear(){this.chunks=[],this.newlineCount=0,this.truncated=!1}};function ri(e,t,n=3e5){return e.disconnectedAt===null?!1:t-e.disconnectedAt>=n}function ii(e,t){return e.disconnectedAt===null?null:Math.round((t-e.disconnectedAt)/1e3)}var ai=class{backend;handlers;sessions=new Map;logger;cleanupInterval=null;constructor(e,t,n=console){this.backend=e,this.handlers=t,this.logger=n}init(){this.cleanupInterval===null&&(this.cleanupInterval=setInterval(()=>{this.cleanupOrphans()},3e4))}async destroy(){if(this.cleanupInterval!==null){clearInterval(this.cleanupInterval),this.cleanupInterval=null;for(let e of this.sessions.values())e.disposables.forEach(e=>e.dispose()),this.killPty(e.pty);this.sessions.clear(),await this.backend.dispose?.()}}async spawn(e){if(this.cleanupInterval===null)throw Error(`PtyRuntime.spawn called before init()`);let{supervisorSessionId:t,file:n,args:r,options:i}=e,a;try{a=await this.backend.spawn(n,r,i)}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to spawn PTY (file=${n}): ${t}`,{cause:e})}if(this.cleanupInterval===null)throw this.killPty(a),Error(`PtyRuntime was destroyed while spawn was in progress`);let o=this.sessions.get(t);o!==void 0&&(o.disposables.forEach(e=>e.dispose()),this.killPty(o.pty),this.sessions.delete(t));let s=Date.now(),c={supervisorSessionId:t,pty:a,disposables:[],outputBuffer:new ni,activeSubscriptions:0,lastSeq:0,lastActivity:s,disconnectedAt:s};this.sessions.set(t,c);let l=a.onData(e=>{let n=this.sessions.get(t);n!==void 0&&(n.lastSeq+=1,n.lastActivity=Date.now(),n.outputBuffer.push(n.lastSeq,e),n.activeSubscriptions>0&&this.handlers.onOutput({supervisorSessionId:t,seq:n.lastSeq,data:e}))});this.sessions.get(t)===c?c.disposables.push(l):l.dispose();let u=a.onExit(({exitCode:e,signal:n})=>{this.sessions.get(t)?.disposables.forEach(e=>e.dispose()),this.sessions.delete(t),this.handlers.onExit({supervisorSessionId:t,exitCode:e,signal:n})});return this.sessions.get(t)===c?c.disposables.push(u):u.dispose(),{pid:a.pid,processName:a.process}}write(e,t){let n=this.sessions.get(e);return n===void 0?!1:(n.pty.write(t),n.lastActivity=Date.now(),!0)}resize(e,t,n){let r=this.sessions.get(e);return r===void 0?!1:(r.pty.resize(t,n),!0)}kill(e,t){let n=this.sessions.get(e);if(n===void 0)return!1;try{n.pty.kill(t??`SIGHUP`)}catch{}return!0}connect(e,t){let n=this.sessions.get(e);if(n===void 0)return null;n.activeSubscriptions+=1,n.lastActivity=Date.now(),n.disconnectedAt=null;let r=n.outputBuffer.getSince(t);return{bufferedOutput:r.content,wasTruncated:r.wasTruncated,lastSeq:n.lastSeq,pid:n.pty.pid,processName:n.pty.process}}disconnect(e){let t=this.sessions.get(e);return t===void 0?!1:(t.activeSubscriptions>0&&--t.activeSubscriptions,t.activeSubscriptions===0&&t.disconnectedAt===null&&(t.disconnectedAt=Date.now()),!0)}getSessionStatus(e){let t=this.sessions.get(e);return t===void 0?null:{pid:t.pty.pid,processName:t.pty.process,bufferedOutput:t.outputBuffer.getContent(),wasTruncated:t.outputBuffer.wasTruncated(),lastSeq:t.lastSeq,activeSubscriptions:t.activeSubscriptions,disconnectedAt:t.disconnectedAt}}getScrollback(e,t,n,r){let i=this.sessions.get(e);if(i===void 0)return null;let a=i.outputBuffer.getLastNLines(t),o=a.content.length,s=Math.max(0,Math.min(n,o)),c=Math.min(s+Math.max(0,r),o);return{content:a.content.slice(s,c),totalSize:o,offset:s,hasMore:c<o,wasTruncated:a.wasTruncated,processName:i.pty.process}}killPty(e){try{e.kill()}catch{}}cleanupOrphans(){let e=Date.now(),t=[];for(let n of this.sessions.values()){let r={supervisorSessionId:n.supervisorSessionId,disconnectedAt:n.disconnectedAt,dispose:()=>n.disposables.forEach(e=>e.dispose()),kill:()=>this.killPty(n.pty)};ri(r,e)&&t.push({session:n,cleanupable:r})}for(let{session:n,cleanupable:r}of t){let t=this.sessions.get(n.supervisorSessionId);if(t===void 0||t.activeSubscriptions>0||t.disconnectedAt===null)continue;let i=ii(r,e);this.logger.info(`[PtyRuntime] Cleaning up orphan PTY session: ${n.supervisorSessionId} (disconnected for ${i}s)`),r.dispose(),r.kill(),this.sessions.delete(n.supervisorSessionId),this.handlers.onExit({supervisorSessionId:n.supervisorSessionId,exitCode:1})}}},oi=class{createBackend;backend=null;backendPromise=null;constructor(e=async()=>{if(globalThis.Bun!==void 0){let{NodeBridgeBackend:e}=await import(`../node-bridge-backend-DtRT--yn.mjs`);return new e}let{NodePtyBackend:e}=await import(`../node-pty-backend-C72EgRws.mjs`);return new e}){this.createBackend=e}async spawn(e,t,n){return(await this.getBackend()).spawn(e,t,n)}async dispose(){try{await(this.backend??(this.backendPromise?await this.backendPromise:null))?.dispose?.()}finally{this.backend=null,this.backendPromise=null}}async getBackend(){if(this.backend!==null)return this.backend;this.backendPromise??=this.createBackend().then(e=>(this.backend=e,e));try{return await this.backendPromise}catch(e){throw this.backendPromise=null,e}}},si=class{bus;ptyRuntime;attachments=new Map;connectionCloseUnsubscribers=new Map;constructor(e,t){this.bus=e,this.ptyRuntime=t}open(e,t,n,r){if(t===null||this.attachments.has(e)||n===void 0!=(r===void 0))return{success:!1};n!==void 0&&r!==void 0&&this.observeConnection(n),this.attachments.set(e,{supervisorSessionId:t.supervisorSessionId,transportName:n,connectionId:r});let i=this.ptyRuntime.connect(t.supervisorSessionId,null);return i===null?(this.attachments.delete(e),{success:!1}):{success:!0,supervisorSessionId:t.supervisorSessionId,pid:i.pid,bufferedOutput:i.bufferedOutput,wasTruncated:i.wasTruncated,lastSeq:i.lastSeq}}write(e,t,n,r){let i=this.getOwnedAttachment(e,n,r);if(i===void 0)throw Error(`Terminal attachment '${e}' is not open`);this.ptyRuntime.write(i.supervisorSessionId,t)}resize(e,t,n,r,i){let a=this.getOwnedAttachment(e,r,i);if(a===void 0)throw Error(`Terminal attachment '${e}' is not open`);this.ptyRuntime.resize(a.supervisorSessionId,t,n)}close(e,t,n){let r=this.getOwnedAttachment(e,t,n);return r===void 0?!1:(this.attachments.delete(e),this.ptyRuntime.disconnect(r.supervisorSessionId))}releaseRuntime(e){for(let[t,n]of this.attachments)n.supervisorSessionId===e&&(this.emitForAttachment(G.terminal.closed,{attachmentId:t},n),this.attachments.delete(t))}clear(){this.attachments.clear();for(let e of this.connectionCloseUnsubscribers.values())e();this.connectionCloseUnsubscribers.clear()}routeOutput(e){for(let[t,n]of this.attachments)n.supervisorSessionId===e.supervisorSessionId&&this.emitForAttachment(G.terminal.output,{attachmentId:t,seq:e.seq,data:e.data},n)}getOwnedAttachment(e,t,n){let r=this.attachments.get(e);if(r!==void 0)return r.transportName===t&&r.connectionId===n?r:void 0}observeConnection(e){if(this.connectionCloseUnsubscribers.has(e))return;let t=this.bus.getContext().transportRegistry.getTransport(e)?.onConnectionClosed?.(t=>{for(let[n,r]of this.attachments)r.transportName===e&&r.connectionId===t&&this.close(n,e,t)});t!==void 0&&this.connectionCloseUnsubscribers.set(e,t)}emitForAttachment(e,t,n){this.bus.emit(e,t,{transports:n.transportName===void 0?[]:[n.transportName],...n.connectionId!==void 0&&{connectionId:n.connectionId}}).catch(()=>{})}};function ci(e){let t=e.transport?.peer;return e.origin.local||t?.authenticated===!0&&t.kind===`makaio-cli-local`||t?.authenticated===!1&&t.kind===`makaio-loopback`&&e.transport?.connectionId!==void 0}function li(e,t){return{...e,MAKAIO_SUPERVISOR_SESSION_ID:t}}const ui=e=>new ai(new oi,e);var di=class extends Rt{registry;ptyRuntime;pendingExits=new Map;sessionConfigBindings=new Map;terminalAttachments;#e=!1;constructor(e,t){super(e),this.registry=new ei(e);let n=t??ui;this.ptyRuntime=n({onOutput:e=>{this.terminalAttachments?.routeOutput(e)},onExit:e=>{this._handlePtyExit(e).catch(t=>{let n=t instanceof Error?t.name:`UnknownError`;console.error(`[SupervisorService] PTY exit finalization failed`,{supervisorSessionId:e.supervisorSessionId,errorName:n})})}}),this.terminalAttachments=new si(e,this.ptyRuntime)}async onInit(){this.ptyRuntime.init(),await this.registry.loadFromStorage(),await this._markHydratedRunningRuntimesUnknown(),this.registerHandler(G.launch,e=>{if(!ci(e))throw Error(`Unauthorized: supervisor.launch requires local CLI control`);return this._handleLaunch(e)}),this.registerHandler(G.attach,e=>this._handleAttach(e)),this.registerHandler(G.terminal.open,e=>{if(!ci(e))throw Error(`Unauthorized: supervisor.terminal.open requires local CLI control`);e.setResult(this.terminalAttachments.open(e.payload.attachmentId,this._resolveRunningRuntime(e.payload.locator),e.transport?.transportName,e.transport?.connectionId))}),this.registerHandler(G.terminal.input,e=>{if(!ci(e))throw Error(`Unauthorized: supervisor.terminal.input requires local CLI control`);this.terminalAttachments.write(e.payload.attachmentId,e.payload.data,e.transport?.transportName,e.transport?.connectionId),e.setResult({success:!0})}),this.registerHandler(G.terminal.resize,e=>{if(!ci(e))throw Error(`Unauthorized: supervisor.terminal.resize requires local CLI control`);this.terminalAttachments.resize(e.payload.attachmentId,e.payload.cols,e.payload.rows,e.transport?.transportName,e.transport?.connectionId),e.setResult({success:!0})}),this.registerHandler(G.terminal.close,e=>{if(!ci(e))throw Error(`Unauthorized: supervisor.terminal.close requires local CLI control`);e.setResult({success:this.terminalAttachments.close(e.payload.attachmentId,e.transport?.transportName,e.transport?.connectionId)})}),this.registerHandler(G.stop,e=>{if(!ci(e))throw Error(`Unauthorized: supervisor.stop requires local CLI control`);return this._handleStop(e)}),this.registerHandler(G.status,e=>this._handleStatus(e))}async onDestroy(){this.#e=!0;let e=[];try{await this.ptyRuntime.destroy()}catch{e.push(Error(`PTY runtime teardown failed`))}this.pendingExits.clear(),this.terminalAttachments.clear();let t=[...this.sessionConfigBindings.keys()],n=await Promise.allSettled(t.map(e=>this.destroySessionConfig(e)));for(let r=0;r<n.length;r+=1)n[r]?.status===`rejected`&&e.push(Error(`Config lease cleanup failed for supervised runtime '${t[r]}'`));if(e.length===1)throw e[0];if(e.length>1)throw AggregateError(e,`Native session supervisor teardown failed`)}getRegistry(){return this.registry}async _handleLaunch(e){let{clientId:t,cwd:n,command:r,args:i,env:a,sessionId:o,clientProfileName:s,adapterSessionId:c,metadata:l}=e.payload,u=lt(),d=Date.now(),f=await this.prepareSessionConfig({supervisorSessionId:u,clientId:t,sessionId:o,profileName:s,env:a}),p;try{({pid:p}=await this.ptyRuntime.spawn({supervisorSessionId:u,file:r,args:i,options:{cwd:n,env:li(f.env,u),inheritEnvironment:!0}}))}catch(e){try{await this.destroySessionConfig(u)}catch(t){throw AggregateError([e,t],`Native runtime spawn and config cleanup both failed`)}throw e}try{await this.registry.register({supervisorSessionId:u,clientId:t,pid:p,cwd:n,command:r,args:i,...f.env!==void 0&&{env:f.env},...o!==void 0&&{sessionId:o},...c!==void 0&&{adapterSessionId:c},...l!==void 0&&{metadata:l},startedAt:d})}catch(e){this.ptyRuntime.kill(u,`SIGTERM`);try{await this.destroySessionConfig(u)}catch(t){throw AggregateError([e,t],`Runtime registration and config cleanup both failed`)}finally{this.pendingExits.delete(u)}throw e}this.ptyRuntime.connect(u,null);let m=this.pendingExits.get(u);m!==void 0&&(this.pendingExits.delete(u),await this._recordPtyExit(m)),this.bus.requestOptional(_t.runtime.observe,{clientId:t,source:{layer:`supervisor`,producer:`native-session-supervisor`},observedAt:Date.now(),supervisorSessionId:u,pid:p,...o!==void 0&&{sessionId:o},...c!==void 0&&{adapterSessionId:c}}).catch(()=>{}),e.setResult({supervisorSessionId:u,pid:p})}_handleAttach(e){let t=e.payload,n;if(`supervisorSessionId`in t)n=t.supervisorSessionId;else if(`sessionId`in t){let r=this.registry.getBySessionId(t.sessionId);if(r===void 0){e.setResult({success:!1});return}n=r.supervisorSessionId}else{let r=this.registry.getByAdapterSessionId(t.adapterSessionId);if(r===void 0){e.setResult({success:!1});return}n=r.supervisorSessionId}let r=this.registry.getBySupervisorId(n);if(r===void 0||r.status!==`running`){e.setResult({success:!1});return}let i=this.ptyRuntime.getSessionStatus(n);e.setResult({success:!0,supervisorSessionId:n,...r.pid!==null&&{pid:r.pid},terminalAttachment:{canAttach:i!==null}})}_resolveRunningRuntime(e){let t=`supervisorSessionId`in e?e.supervisorSessionId:`sessionId`in e?this.registry.getBySessionId(e.sessionId)?.supervisorSessionId:this.registry.getByAdapterSessionId(e.adapterSessionId)?.supervisorSessionId,n=this.registry.getBySupervisorId(t??``);return n===void 0||n.status!==`running`||this.ptyRuntime.getSessionStatus(n.supervisorSessionId)===null?null:n}async _handleStop(e){let{supervisorSessionId:t,signal:n}=e.payload;if(this.registry.getBySupervisorId(t)===void 0){e.setResult({success:!1});return}if(!this.ptyRuntime.kill(t,n??`SIGTERM`)){e.setResult({success:!1});return}await this.registry.update({supervisorSessionId:t,status:`stopped`,pid:null,stoppedAt:Date.now()}),await this.destroySessionConfig(t),e.setResult({success:!0})}_handleStatus(e){let t=e.payload;if(`supervisorSessionId`in t){let n=this.registry.getBySupervisorId(t.supervisorSessionId);e.setResult({runtimes:n===void 0?[]:[ti(n)]});return}if(`sessionId`in t){let n=this.registry.getBySessionId(t.sessionId);e.setResult({runtimes:n===void 0?[]:[ti(n)]});return}if(`adapterSessionId`in t){let n=this.registry.getByAdapterSessionId(t.adapterSessionId);e.setResult({runtimes:n===void 0?[]:[ti(n)]});return}e.setResult({runtimes:this.registry.getAll().map(ti)})}async _handlePtyExit(e){this.#e||await this._recordPtyExit(e)}async _recordPtyExit(e){this.terminalAttachments.releaseRuntime(e.supervisorSessionId);let t=this.registry.getBySupervisorId(e.supervisorSessionId);if(t===void 0){this.pendingExits.set(e.supervisorSessionId,e);return}t.status!==`stopped`&&(await this.registry.update({supervisorSessionId:e.supervisorSessionId,status:`exited`,pid:null,stoppedAt:Date.now()}),await this.destroySessionConfig(e.supervisorSessionId))}async prepareSessionConfig(e){let t=await this.bus.requestOptional(_t.sessionConfig.create,{clientId:e.clientId,leaseId:e.supervisorSessionId,...e.sessionId===void 0?{}:{ownerSessionId:e.sessionId},profileName:e.profileName});if(!t.handled){if(e.profileName!==void 0)throw Error(`Client profile launch requires client.sessionConfig.create support`);return{env:e.env}}return this.sessionConfigBindings.set(e.supervisorSessionId,{clientId:e.clientId,leaseId:e.supervisorSessionId}),{env:{...e.env??{},...t.data.env}}}async destroySessionConfig(e){let t=this.sessionConfigBindings.get(e);if(t!==void 0){try{let e=await this.bus.requestOptional(_t.sessionConfig.destroy,{clientId:t.clientId,leaseId:t.leaseId});if(!e.handled||!e.data.success)throw Error(`Config lease cleanup was not handled successfully`)}catch{throw Error(`Failed to release config lease for supervised runtime '${e}'`)}this.sessionConfigBindings.get(e)===t&&this.sessionConfigBindings.delete(e)}}async _markHydratedRunningRuntimesUnknown(){let e=this.registry.getByStatus(`running`);for(let t of e)await this.registry.update({supervisorSessionId:t.supervisorSessionId,status:`unknown`,pid:null})}};const fi=Xr.postgres,pi=Wt({supervisorRuntimes:Zr},{supervisorRuntimes:fi});function mi(e){return e??null}function hi(e){return e??void 0}function gi(e){if(e!==null)try{let t=JSON.parse(e);if(typeof t==`object`&&t&&!Array.isArray(t))return t}catch{}}function _i(e){return{supervisorSessionId:e.supervisorSessionId,clientId:e.clientId,pid:e.pid,status:e.status,cwd:e.cwd,command:e.command,argsJson:JSON.stringify(e.args),envJson:e.env===void 0?null:JSON.stringify(e.env),sessionId:mi(e.sessionId),adapterSessionId:mi(e.adapterSessionId),startedAt:e.startedAt,stoppedAt:mi(e.stoppedAt),metadataJson:e.metadata===void 0?null:JSON.stringify(e.metadata)}}function vi(e){let t=[];try{let n=JSON.parse(e.argsJson);Array.isArray(n)&&n.every(e=>typeof e==`string`)&&(t=n)}catch{}let n=gi(e.envJson),r=gi(e.metadataJson);return{supervisorSessionId:e.supervisorSessionId,clientId:e.clientId,pid:e.pid,status:e.status,cwd:e.cwd,command:e.command,args:t,env:n,sessionId:hi(e.sessionId),adapterSessionId:hi(e.adapterSessionId),startedAt:e.startedAt,stoppedAt:hi(e.stoppedAt),metadata:r}}function yi(e,t){let{supervisorRuntimes:n}=H(t,pi);return e.on(K.get,async e=>{let r=e.payload,i=`supervisorSessionId`in r?U(n.supervisorSessionId,r.supervisorSessionId):`sessionId`in r?U(n.sessionId,r.sessionId):U(n.adapterSessionId,r.adapterSessionId),a=(await t.select().from(n).where(i).limit(1))[0];e.setResult({runtime:a===void 0?null:vi(a)})})}function bi(e,t){let{supervisorRuntimes:n}=H(t,pi);return e.on(K.set,async e=>{let r=_i(e.payload);await t.insert(n).values(r).onConflictDoUpdate({target:n.supervisorSessionId,set:{clientId:r.clientId,pid:r.pid,status:r.status,cwd:r.cwd,command:r.command,argsJson:r.argsJson,envJson:r.envJson,sessionId:r.sessionId,adapterSessionId:r.adapterSessionId,startedAt:r.startedAt,stoppedAt:r.stoppedAt,metadataJson:r.metadataJson}}),e.setResult({success:!0})})}function xi(e,t){let{supervisorRuntimes:n}=H(t,pi);return e.on(K.update,async e=>{let{supervisorSessionId:r,pid:i,status:a,sessionId:o,adapterSessionId:s,stoppedAt:c,metadata:l}=e.payload,u={};if(i!==void 0&&(u.pid=i),a!==void 0&&(u.status=a),o!==void 0&&(u.sessionId=o),s!==void 0&&(u.adapterSessionId=s),c!==void 0&&(u.stoppedAt=c),l!==void 0&&(u.metadataJson=JSON.stringify(l)),Object.keys(u).length===0){e.setResult({success:!0});return}let d=await t.update(n).set(u).where(U(n.supervisorSessionId,r)).returning({supervisorSessionId:n.supervisorSessionId});e.setResult({success:d.length>0})})}function Si(e,t){let{supervisorRuntimes:n}=H(t,pi);return e.on(K.delete,async e=>{let r=await t.delete(n).where(U(n.supervisorSessionId,e.payload.supervisorSessionId)).returning({supervisorSessionId:n.supervisorSessionId});e.setResult({success:r.length>0})})}function Ci(e,t){let{supervisorRuntimes:n}=H(t,pi);return e.on(K.list,async e=>{let{status:r,limit:i}=e.payload,a=r===void 0?void 0:U(n.status,r),o=a?t.select().from(n).where(a):t.select().from(n),s=await(i===void 0?o:o.limit(i));e.setResult({runtimes:s.map(vi)})})}function wi(e,t){let n=yi(e,t),r=bi(e,t),i=xi(e,t),a=Si(e,t),o=Ci(e,t);return()=>{n(),r(),i(),a(),o()}}const Ti={name:`makaio.native-session-supervisor`,displayName:`Native Session Supervisor`,version:`0.1.0`,critical:!0,create:e=>new di(e.bus),storage:{registerHandlers:Xt(wi)}};function Ei(e){return e===void 0||typeof e==`boolean`}function Di(e){return e===`interactive`||e===`headless`?e:void 0}const Oi=async e=>{let{serverImportPath:t,descriptorName:n,label:r}=e,i;try{i=(await import(ot(t).href)).default}catch(e){console.warn(`${r}: failed to import server entry while reading its exported packages:`,e instanceof Error?e.message:e);return}return ki(i,n,r)};function ki(e,t,n){let r=M(e,t,n);if(r===void 0)return;let i=r,a=new Set;return{packages:i.map(e=>{let t=Di(e.surface),r={name:e.name,version:e.version,...t!==void 0&&{surface:t}};return Ei(e.critical)?e.critical===void 0?r:{...r,critical:e.critical}:(a.add(e.name),console.warn(`${n}: exported package '${e.name}' declares 'critical' as ${typeof e.critical}, not a boolean; treating criticality as unresolved`),r)}),invalidCriticalNames:a}}function Ai(e){return async t=>{let{resolveExportedPackages:n}=await import(`../src-BZdw54VU.mjs`);return n(t.serverImportPath,t.descriptorName,t.label,e)}}const ji={local:`project-local`,installed:`local`,"global-npm":`npm`};async function Mi(e){let t=e.frameworkModuleResolver;try{return await t?.install(),await Ni(e)}finally{await t?.uninstall()}}async function Ni(e){let t=e.exportedPackages??Oi,n=await ve(e.discovery);return Pi(n),Bi(await Promise.all(n.map(async e=>{let n=await Promise.all(e.map(Fi));return Promise.all(n.map(e=>Li(e,t)))})))}function Pi(e){for(let t of e){let e=new Map;for(let n of t){let t=n.descriptor.name,r=e.get(t);if(r===void 0){e.set(t,n);continue}console.warn(`[extension catalog] ${_e(t,r,n)}`)}}}async function Fi(e){let{descriptor:t,extensionPath:n}=e,r=t.entrypoints?.server,i=r!==void 0,a=i?P(`server`,r,n):void 0,o=await Ii(n);return{name:t.name,version:t.version,origin:ji[e.source],declaresServerEntrypoint:i,...t.critical!==void 0&&{critical:t.critical},...t.surface!==void 0&&{surface:t.surface},...i&&e.preloadedModule!==void 0&&{preloadedModule:e.preloadedModule},...a!==void 0&&{serverImportPath:a},...o!==void 0&&o!==t.name&&{npmName:o}}}async function Ii(e){try{let t=await R.readFile(z.join(e,`package.json`),`utf-8`),n=JSON.parse(t).name;return typeof n==`string`&&n.length>0?n:void 0}catch{return}}async function Li(e,t){let n=await Ri(e,t);if(n===void 0)return[zi(e,{version:e.version,...e.critical!==void 0&&{critical:e.critical},surface:Di(e.surface),criticalityUnknown:e.declaresServerEntrypoint})];let{packages:r,invalidCriticalNames:i}=n,a=r.find(t=>t.name===e.name);return[zi(e,{version:a?.version??e.version,...a?.critical!==void 0&&{critical:a.critical},surface:a?a.surface:Di(e.surface),criticalityUnknown:i.has(e.name)}),...r.filter(t=>t.name!==e.name).map(t=>({name:t.name,version:t.version,origin:e.origin,...t.critical!==void 0&&{critical:t.critical},...t.surface!==void 0&&{surface:t.surface},...i.has(t.name)&&{criticalityUnknown:!0},declaresServerEntrypoint:!0}))]}async function Ri(e,t){let n=`[extension catalog] ${e.name}`;if(e.preloadedModule!==void 0)return ki(e.preloadedModule.default,e.name,n);if(e.serverImportPath!==void 0)return t({serverImportPath:e.serverImportPath,descriptorName:e.name,label:n})}function zi(e,t){return{name:e.name,version:t.version,origin:e.origin,...t.critical!==void 0&&{critical:t.critical},...t.surface!==void 0&&{surface:t.surface},...t.criticalityUnknown&&{criticalityUnknown:!0},...e.declaresServerEntrypoint&&{declaresServerEntrypoint:!0},...e.npmName!==void 0&&{npmName:e.npmName}}}function Bi(e){let t=new Map,n=new Map,r=[];return e.forEach((e,i)=>{for(let a of e){let e=a[0];if(e===void 0)continue;let o=t.get(e.name),s=o!==void 0&&o.tierIndex<i?o.origin:void 0;o===void 0&&t.set(e.name,{tierIndex:i,origin:e.origin});let c=o?.tierIndex===i;for(let t of a){if(s!==void 0){r.push({...t,shadowedBy:s});continue}let i=n.get(t.name)??[];i.push({mergedIndex:r.length,origin:t.origin,surface:t.surface,sameTierDescriptorContest:c&&t.name===e.name}),n.set(t.name,i),r.push(t)}}}),Hi(r,n)}function Vi(e,t){return e.sameTierDescriptorContest||t.sameTierDescriptorContest?!0:e.surface===void 0||t.surface===void 0||e.surface===t.surface}function Hi(e,t){let n=[...e];for(let e of t.values())if(!(e.length<2))for(let t of e){let r=n[t.mergedIndex],i=e.filter(e=>e!==t&&Vi(t,e)),a=i[0];if(r===void 0||a===void 0)continue;let o=i.some(e=>t.sameTierDescriptorContest||e.sameTierDescriptorContest);n[t.mergedIndex]={...r,collidesWith:a.origin,...o&&{collisionIgnoresSurface:!0}}}return n}function Ui(e){let t=Ai(e.frameworkDistPath);return()=>Mi({discovery:e.discovery,exportedPackages:t})}function Wi(e){return{filter:e=>!!e.http,async processActivated(t,n){e.add({owner:t,phase:`extension`,mount:e=>n.http.mount(e)})},async processStopped(t){e.remove(t)}}}const Gi={resolve(e,t){return!e&&!t?null:e?t?e.updatedAt>t.updatedAt?e:t:e:t}};function Ki(e){return{scope:e.scope,surface:e.surface??`any`,context:e.context??`any`,viewport:e.viewport??`any`}}function qi(e){return{scope:e.scope,surface:e.surface===`any`?void 0:e.surface,context:e.context===`any`?void 0:e.context,viewport:e.viewport===`any`?void 0:e.viewport}}function Ji(e,t){return[`makaio:prefs`,e.scope,e.surface||`any`,e.context||`any`,e.viewport||`any`,t].join(`:`)}function Yi(e){return typeof e==`object`&&!!e&&`value`in e&&`updatedAt`in e&&typeof e.value==`string`&&typeof e.updatedAt==`number`}function Xi(e){try{let t=JSON.parse(e);return Yi(t)?t:{value:JSON.stringify(t),updatedAt:0}}catch{return null}}const Zi=Gt(`preferences`,e=>({scope:e.text(`scope`).notNull(),surface:e.text(`surface`).notNull().default(`any`),context:e.text(`context`).notNull().default(`any`),viewport:e.text(`viewport`).notNull().default(`any`),category:e.text(`category`).notNull(),value:e.text(`value`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull()}),{sqlite:e=>[Bt(`preferences_pk`).on(e.scope,e.surface,e.context,e.viewport,e.category)],postgres:e=>[Ht(`preferences_pk`).on(e.scope,e.surface,e.context,e.viewport,e.category)]}),Qi=Zi.sqlite,$i=Zi.postgres,ea=Wt({preferences:Qi},{preferences:$i});function ta(e,t,n){let r=[];return n!==void 0&&r.push(U(e.category,n)),t&&(t.scope!==void 0&&r.push(U(e.scope,t.scope)),t.surface!==void 0&&r.push(U(e.surface,t.surface)),t.context!==void 0&&r.push(U(e.context,t.context)),t.viewport!==void 0&&r.push(U(e.viewport,t.viewport))),r}async function na(e,t,n){let{preferences:r}=H(e,ea),i=ta(r,t,n);return(i.length>0?await e.select().from(r).where(en(...i)):await e.select().from(r)).map(e=>{let t;try{t=JSON.parse(e.value)}catch{t=null}let n=tr.safeParse(t);return{key:qi(e),category:e.category,value:n.success?n.data:null,updatedAt:e.updatedAt}})}async function ra(e,t,n){let{preferences:r}=H(e,ea),i=Ki(t),[a]=await e.select().from(r).where(en(U(r.scope,i.scope),U(r.surface,i.surface),U(r.context,i.context),U(r.viewport,i.viewport),U(r.category,n))).limit(1);return a}var ia=class{db;conflictResolver;constructor(e){this.db=e.db,this.conflictResolver=e.conflictResolver??Gi}async get(e,t){let n=await this.readFromDb(e,t),r=this.readFromLocalStorage(e,t),i=r?.updatedAt===0?r:null;!n&&r&&!i&&this.removeFromLocalStorage(e,t);let a=this.conflictResolver.resolve(i,n);if(!a)return null;let o;try{o=JSON.parse(a.value)}catch{return null}let s=tr.safeParse(o);return s.success?(await this.syncResolvedPreference(e,t,a,r,n),s.data):null}async set(e,t,n){let r=Date.now(),i=JSON.stringify(n??null);this.writeToLocalStorage(e,t,{value:i,updatedAt:r}),await this.writeToDb(e,t,i,r)}async delete(e,t){this.removeFromLocalStorage(e,t),await this.deleteFromDb(e,t)}async list(e,t){return na(this.db,e,t)}async writeToDb(e,t,n,r){let{preferences:i}=H(this.db,ea),a=Ki(e);await this.db.insert(i).values({...a,category:t,value:n,updatedAt:r}).onConflictDoUpdate({target:[i.scope,i.surface,i.context,i.viewport,i.category],set:{value:n,updatedAt:r}})}readFromLocalStorage(e,t){let n=Ji(e,t),r=globalThis.localStorage?.getItem(n);return r?Xi(r):null}writeToLocalStorage(e,t,n){let r=Ji(e,t);try{globalThis.localStorage?.setItem(r,JSON.stringify(n))}catch(e){console.warn(`[StorageCoordinator] localStorage write failed:`,e)}}removeFromLocalStorage(e,t){let n=Ji(e,t);try{globalThis.localStorage?.removeItem(n)}catch(e){console.warn(`[StorageCoordinator] localStorage delete failed:`,e)}}async syncResolvedPreference(e,t,n,r,i){this.isSameStoredPreference(n,i)||await this.writeToDb(e,t,n.value,n.updatedAt),r&&!this.isSameStoredPreference(n,r)&&this.writeToLocalStorage(e,t,n)}isSameStoredPreference(e,t){return!e||!t?!1:e.value===t.value&&e.updatedAt===t.updatedAt}async readFromDb(e,t){let n=await ra(this.db,e,t);return n?{value:n.value,updatedAt:n.updatedAt}:null}async deleteFromDb(e,t){let{preferences:n}=H(this.db,ea),r=Ki(e);await this.db.delete(n).where(en(U(n.scope,r.scope),U(n.surface,r.surface),U(n.context,r.context),U(n.viewport,r.viewport),U(n.category,t)))}};function aa(e,t,n){let r=new ia({db:t}),i=e.on(nr.get,async e=>{let{key:t,category:n}=e.payload,i=await r.get(t,n);e.setResult({value:i})}),a=e.on(nr.set,async e=>{let{key:t,category:n,value:i}=e.payload;await r.set(t,n,i),e.setResult({success:!0})}),o=e.on(nr.delete,async e=>{let{key:t,category:n}=e.payload;await r.delete(t,n),e.setResult({success:!0})}),s=e.on(nr.list,async e=>{let{key:t,category:n}=e.payload,i=await r.list(t,n);e.setResult({items:i})});return()=>{i(),a(),o(),s()}}const oa={name:`preferences-storage`,displayName:`Preferences Storage`,version:`0.1.0`,critical:!0,storage:{registerHandlers:Xt(aa)}},sa=[`config`,`extensions`],ca=1024*1024,la=/\bat position \d+(?: \(line \d+ column \d+\))?/u;function ua(e){return z.join(e,...sa)}function da(e){let t=new Map;for(let[n,r]of e)r.kind===`config`&&ya(r.config),t.set(n,Object.freeze(r));let n=Object.freeze([...t].map(e=>Object.freeze(e)));return Object.freeze({entries:n,get(e){return t.get(e)}})}async function fa(e){let t=await ha(ua(e.makaioHome)),n=new Map;for(let e of t)n.set(e.extensionName,await _a(e.filePath));return da(n)}function pa(e,t){let n=new Map(t.map(e=>[e.name,e.configSchema]));for(let[t,r]of e.entries){let e=mt(t);if(!n.has(t)){console.warn(`[boot] Operator config ${r.source} names extension "${e}", which is not loaded; it has no effect`);continue}r.kind===`config`&&n.get(t)===void 0&&console.warn(`[boot] Operator config ${r.source} names extension "${e}", which declares no config schema; it has no effect`)}}function ma(e){for(let t of e)wt(t.name)===void 0&&console.warn(`[boot] Extension "${mt(t.name)}" has no operator config file name; it cannot be configured from ${sa.join(`/`)}`)}async function ha(e){let t;try{t=await R.readdir(e)}catch(t){if(Ca(t))return[];throw Error(`[boot] Cannot read operator config directory at ${e}: ${wa(t)}`,{cause:t})}let n=[];for(let r of t){let t=ga(e,r);t!==void 0&&n.push(t)}return n}function ga(e,t){if(t.startsWith(`.`))return;if(!t.endsWith(yt)){console.warn(`[boot] Ignoring ${Sa(e,t)}: operator config file names must end in ${yt}`);return}let n=Ct(t.slice(0,-yt.length));if(n===void 0){console.warn(`[boot] Ignoring ${Sa(e,t)}: its name is not the encoded form of any extension name`);return}return{extensionName:n,fileName:t,filePath:z.join(e,t)}}async function _a(e){let t;try{let n=await va(e);if(n!==void 0)return q(e,`unreadable`,n);let r=await R.open(e,R.constants.O_RDONLY|R.constants.O_NONBLOCK);try{let n=await r.stat();if(!n.isFile())return q(e,`unreadable`,`not a regular file`);if(n.size>1048576)return q(e,`unreadable`,`exceeds ${ca} bytes`);t=await r.readFile()}finally{await r.close()}}catch(t){return q(e,`unreadable`,wa(t))}let n;try{n=new TextDecoder(`utf-8`,{fatal:!0}).decode(t)}catch{return q(e,`invalid-json`,`not valid UTF-8`)}let r;try{r=JSON.parse(n)}catch(t){return q(e,`invalid-json`,Ta(t))}return ba(r)?{kind:`config`,source:e,config:r}:q(e,`not-an-object`,`top-level value is ${xa(r)}`)}async function va(e){let t=await R.lstat(e);if(!t.isFile()&&!(t.isSymbolicLink()&&(await R.stat(e)).isFile()))return`not a regular file`}function q(e,t,n){return n===void 0?{kind:`failure`,source:e,reason:t}:{kind:`failure`,source:e,reason:t,detail:n}}function ya(e){let t=new WeakSet,n=[e];for(;n.length>0;){let e=n.pop();if(!(typeof e!=`object`||!e||t.has(e))){t.add(e),Object.freeze(e);for(let t of Object.values(e))n.push(t)}}}function ba(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function xa(e){return e===null?`null`:Array.isArray(e)?`an array`:`a ${typeof e}`}function Sa(e,t){return z.join(e,mt(t))}function Ca(e){return e instanceof Error&&`code`in e&&e.code===`ENOENT`}function wa(e){return e instanceof Error&&`code`in e&&typeof e.code==`string`?e.code:mt(e instanceof Error?e.message:String(e))}function Ta(e){let t=e instanceof Error?e.message:String(e);return la.exec(t)?.[0]}var J=t((e=>{let t=Symbol.for(`yaml.alias`),n=Symbol.for(`yaml.document`),r=Symbol.for(`yaml.map`),i=Symbol.for(`yaml.pair`),a=Symbol.for(`yaml.scalar`),o=Symbol.for(`yaml.seq`),s=Symbol.for(`yaml.node.type`),c=e=>!!e&&typeof e==`object`&&e[s]===t,l=e=>!!e&&typeof e==`object`&&e[s]===n,u=e=>!!e&&typeof e==`object`&&e[s]===r,d=e=>!!e&&typeof e==`object`&&e[s]===i,f=e=>!!e&&typeof e==`object`&&e[s]===a,p=e=>!!e&&typeof e==`object`&&e[s]===o;function m(e){if(e&&typeof e==`object`)switch(e[s]){case r:case o:return!0}return!1}function h(e){if(e&&typeof e==`object`)switch(e[s]){case t:case r:case a:case o:return!0}return!1}e.ALIAS=t,e.DOC=n,e.MAP=r,e.NODE_TYPE=s,e.PAIR=i,e.SCALAR=a,e.SEQ=o,e.hasAnchor=e=>(f(e)||m(e))&&!!e.anchor,e.isAlias=c,e.isCollection=m,e.isDocument=l,e.isMap=u,e.isNode=h,e.isPair=d,e.isScalar=f,e.isSeq=p})),Ea=t((e=>{var t=J();let n=Symbol(`break visit`),r=Symbol(`skip children`),i=Symbol(`remove node`);function a(e,n){let r=l(n);t.isDocument(e)?o(null,e.contents,r,Object.freeze([e]))===i&&(e.contents=null):o(null,e,r,Object.freeze([]))}a.BREAK=n,a.SKIP=r,a.REMOVE=i;function o(e,r,a,s){let c=u(e,r,a,s);if(t.isNode(c)||t.isPair(c))return d(e,s,c),o(e,c,a,s);if(typeof c!=`symbol`){if(t.isCollection(r)){s=Object.freeze(s.concat(r));for(let e=0;e<r.items.length;++e){let t=o(e,r.items[e],a,s);if(typeof t==`number`)e=t-1;else if(t===n)return n;else t===i&&(r.items.splice(e,1),--e)}}else if(t.isPair(r)){s=Object.freeze(s.concat(r));let e=o(`key`,r.key,a,s);if(e===n)return n;e===i&&(r.key=null);let t=o(`value`,r.value,a,s);if(t===n)return n;t===i&&(r.value=null)}}return c}async function s(e,n){let r=l(n);t.isDocument(e)?await c(null,e.contents,r,Object.freeze([e]))===i&&(e.contents=null):await c(null,e,r,Object.freeze([]))}s.BREAK=n,s.SKIP=r,s.REMOVE=i;async function c(e,r,a,o){let s=await u(e,r,a,o);if(t.isNode(s)||t.isPair(s))return d(e,o,s),c(e,s,a,o);if(typeof s!=`symbol`){if(t.isCollection(r)){o=Object.freeze(o.concat(r));for(let e=0;e<r.items.length;++e){let t=await c(e,r.items[e],a,o);if(typeof t==`number`)e=t-1;else if(t===n)return n;else t===i&&(r.items.splice(e,1),--e)}}else if(t.isPair(r)){o=Object.freeze(o.concat(r));let e=await c(`key`,r.key,a,o);if(e===n)return n;e===i&&(r.key=null);let t=await c(`value`,r.value,a,o);if(t===n)return n;t===i&&(r.value=null)}}return s}function l(e){return typeof e==`object`&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function u(e,n,r,i){if(typeof r==`function`)return r(e,n,i);if(t.isMap(n))return r.Map?.(e,n,i);if(t.isSeq(n))return r.Seq?.(e,n,i);if(t.isPair(n))return r.Pair?.(e,n,i);if(t.isScalar(n))return r.Scalar?.(e,n,i);if(t.isAlias(n))return r.Alias?.(e,n,i)}function d(e,n,r){let i=n[n.length-1];if(t.isCollection(i))i.items[e]=r;else if(t.isPair(i))e===`key`?i.key=r:i.value=r;else if(t.isDocument(i))i.contents=r;else{let e=t.isAlias(i)?`alias`:`scalar`;throw Error(`Cannot replace node with ${e} parent`)}}e.visit=a,e.visitAsync=s})),Da=t((e=>{var t=J(),n=Ea();let r={"!":`%21`,",":`%2C`,"[":`%5B`,"]":`%5D`,"{":`%7B`,"}":`%7D`},i=e=>e.replace(/[!,[\]{}]/g,e=>r[e]);var a=class e{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},e.defaultYaml,t),this.tags=Object.assign({},e.defaultTags,n)}clone(){let t=new e(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){let t=new e(this.yaml,this.tags);switch(this.yaml.version){case`1.1`:this.atNextDocument=!0;break;case`1.2`:this.atNextDocument=!1,this.yaml={explicit:e.defaultYaml.explicit,version:`1.2`},this.tags=Object.assign({},e.defaultTags);break}return t}add(t,n){this.atNextDocument&&=(this.yaml={explicit:e.defaultYaml.explicit,version:`1.1`},this.tags=Object.assign({},e.defaultTags),!1);let r=t.trim().split(/[ \t]+/),i=r.shift();switch(i){case`%TAG`:{if(r.length!==2&&(n(0,`%TAG directive should contain exactly two parts`),r.length<2))return!1;let[e,t]=r;return this.tags[e]=t,!0}case`%YAML`:{if(this.yaml.explicit=!0,r.length!==1)return n(0,`%YAML directive should contain exactly one part`),!1;let[e]=r;if(e===`1.1`||e===`1.2`)return this.yaml.version=e,!0;{let t=/^\d+\.\d+$/.test(e);return n(6,`Unsupported YAML version ${e}`,t),!1}}default:return n(0,`Unknown directive ${i}`,!0),!1}}tagName(e,t){if(e===`!`)return`!`;if(e[0]!==`!`)return t(`Not a valid tag: ${e}`),null;if(e[1]===`<`){let n=e.slice(2,-1);return n===`!`||n===`!!`?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==`>`&&t(`Verbatim tags must end with a >`),n)}let[,n,r]=e.match(/^(.*!)([^!]*)$/s);r||t(`The ${e} tag has no suffix`);let i=this.tags[n];if(i)try{return i+decodeURIComponent(r)}catch(e){return t(String(e)),null}return n===`!`?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+i(e.substring(n.length));return e[0]===`!`?e:`!<${e}>`}toString(e){let r=this.yaml.explicit?[`%YAML ${this.yaml.version||`1.2`}`]:[],i=Object.entries(this.tags),a;if(e&&i.length>0&&t.isNode(e.contents)){let r={};n.visit(e.contents,(e,n)=>{t.isNode(n)&&n.tag&&(r[n.tag]=!0)}),a=Object.keys(r)}else a=[];for(let[t,n]of i)t===`!!`&&n===`tag:yaml.org,2002:`||(!e||a.some(e=>e.startsWith(n)))&&r.push(`%TAG ${t} ${n}`);return r.join(`
5
+ `)),{content:r,wasTruncated:this.truncated}}getSince(e){if(e===null)return{content:this.getContent(),wasTruncated:this.truncated};let t=this.chunks[0]?.seq??null,n=t!==null&&e<t;return{content:this.chunks.filter(t=>t.seq>e).map(e=>e.data).join(``),wasTruncated:n}}drain(){let e=this.getContent(),t=this.truncated;return this.clear(),{content:e,wasTruncated:t}}wasTruncated(){return this.truncated}clear(){this.chunks=[],this.newlineCount=0,this.truncated=!1}};function ri(e,t,n=3e5){return e.disconnectedAt===null?!1:t-e.disconnectedAt>=n}function ii(e,t){return e.disconnectedAt===null?null:Math.round((t-e.disconnectedAt)/1e3)}var ai=class{backend;handlers;sessions=new Map;logger;cleanupInterval=null;constructor(e,t,n=console){this.backend=e,this.handlers=t,this.logger=n}init(){this.cleanupInterval===null&&(this.cleanupInterval=setInterval(()=>{this.cleanupOrphans()},3e4))}async destroy(){if(this.cleanupInterval!==null){clearInterval(this.cleanupInterval),this.cleanupInterval=null;for(let e of this.sessions.values())e.disposables.forEach(e=>e.dispose()),this.killPty(e.pty);this.sessions.clear(),await this.backend.dispose?.()}}async spawn(e){if(this.cleanupInterval===null)throw Error(`PtyRuntime.spawn called before init()`);let{supervisorSessionId:t,file:n,args:r,options:i}=e,a;try{a=await this.backend.spawn(n,r,i)}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to spawn PTY (file=${n}): ${t}`,{cause:e})}if(this.cleanupInterval===null)throw this.killPty(a),Error(`PtyRuntime was destroyed while spawn was in progress`);let o=this.sessions.get(t);o!==void 0&&(o.disposables.forEach(e=>e.dispose()),this.killPty(o.pty),this.sessions.delete(t));let s=Date.now(),c={supervisorSessionId:t,pty:a,disposables:[],outputBuffer:new ni,activeSubscriptions:0,lastSeq:0,lastActivity:s,disconnectedAt:s};this.sessions.set(t,c);let l=a.onData(e=>{let n=this.sessions.get(t);n!==void 0&&(n.lastSeq+=1,n.lastActivity=Date.now(),n.outputBuffer.push(n.lastSeq,e),n.activeSubscriptions>0&&this.handlers.onOutput({supervisorSessionId:t,seq:n.lastSeq,data:e}))});this.sessions.get(t)===c?c.disposables.push(l):l.dispose();let u=a.onExit(({exitCode:e,signal:n})=>{this.sessions.get(t)?.disposables.forEach(e=>e.dispose()),this.sessions.delete(t),this.handlers.onExit({supervisorSessionId:t,exitCode:e,signal:n})});return this.sessions.get(t)===c?c.disposables.push(u):u.dispose(),{pid:a.pid,processName:a.process}}write(e,t){let n=this.sessions.get(e);return n===void 0?!1:(n.pty.write(t),n.lastActivity=Date.now(),!0)}resize(e,t,n){let r=this.sessions.get(e);return r===void 0?!1:(r.pty.resize(t,n),!0)}kill(e,t){let n=this.sessions.get(e);if(n===void 0)return!1;try{n.pty.kill(t??`SIGHUP`)}catch{}return!0}connect(e,t){let n=this.sessions.get(e);if(n===void 0)return null;n.activeSubscriptions+=1,n.lastActivity=Date.now(),n.disconnectedAt=null;let r=n.outputBuffer.getSince(t);return{bufferedOutput:r.content,wasTruncated:r.wasTruncated,lastSeq:n.lastSeq,pid:n.pty.pid,processName:n.pty.process}}disconnect(e){let t=this.sessions.get(e);return t===void 0?!1:(t.activeSubscriptions>0&&--t.activeSubscriptions,t.activeSubscriptions===0&&t.disconnectedAt===null&&(t.disconnectedAt=Date.now()),!0)}getSessionStatus(e){let t=this.sessions.get(e);return t===void 0?null:{pid:t.pty.pid,processName:t.pty.process,bufferedOutput:t.outputBuffer.getContent(),wasTruncated:t.outputBuffer.wasTruncated(),lastSeq:t.lastSeq,activeSubscriptions:t.activeSubscriptions,disconnectedAt:t.disconnectedAt}}getScrollback(e,t,n,r){let i=this.sessions.get(e);if(i===void 0)return null;let a=i.outputBuffer.getLastNLines(t),o=a.content.length,s=Math.max(0,Math.min(n,o)),c=Math.min(s+Math.max(0,r),o);return{content:a.content.slice(s,c),totalSize:o,offset:s,hasMore:c<o,wasTruncated:a.wasTruncated,processName:i.pty.process}}killPty(e){try{e.kill()}catch{}}cleanupOrphans(){let e=Date.now(),t=[];for(let n of this.sessions.values()){let r={supervisorSessionId:n.supervisorSessionId,disconnectedAt:n.disconnectedAt,dispose:()=>n.disposables.forEach(e=>e.dispose()),kill:()=>this.killPty(n.pty)};ri(r,e)&&t.push({session:n,cleanupable:r})}for(let{session:n,cleanupable:r}of t){let t=this.sessions.get(n.supervisorSessionId);if(t===void 0||t.activeSubscriptions>0||t.disconnectedAt===null)continue;let i=ii(r,e);this.logger.info(`[PtyRuntime] Cleaning up orphan PTY session: ${n.supervisorSessionId} (disconnected for ${i}s)`),r.dispose(),r.kill(),this.sessions.delete(n.supervisorSessionId),this.handlers.onExit({supervisorSessionId:n.supervisorSessionId,exitCode:1})}}},oi=class{createBackend;backend=null;backendPromise=null;constructor(e=async()=>{if(globalThis.Bun!==void 0){let{NodeBridgeBackend:e}=await import(`../node-bridge-backend-CsJ3_7CF.mjs`);return new e}let{NodePtyBackend:e}=await import(`../node-pty-backend-o9xyqPMi.mjs`);return new e}){this.createBackend=e}async spawn(e,t,n){return(await this.getBackend()).spawn(e,t,n)}async dispose(){try{await(this.backend??(this.backendPromise?await this.backendPromise:null))?.dispose?.()}finally{this.backend=null,this.backendPromise=null}}async getBackend(){if(this.backend!==null)return this.backend;this.backendPromise??=this.createBackend().then(e=>(this.backend=e,e));try{return await this.backendPromise}catch(e){throw this.backendPromise=null,e}}},si=class{bus;ptyRuntime;attachments=new Map;connectionCloseUnsubscribers=new Map;constructor(e,t){this.bus=e,this.ptyRuntime=t}open(e,t,n,r){if(t===null||this.attachments.has(e)||n===void 0!=(r===void 0))return{success:!1};n!==void 0&&r!==void 0&&this.observeConnection(n),this.attachments.set(e,{supervisorSessionId:t.supervisorSessionId,transportName:n,connectionId:r});let i=this.ptyRuntime.connect(t.supervisorSessionId,null);return i===null?(this.attachments.delete(e),{success:!1}):{success:!0,supervisorSessionId:t.supervisorSessionId,pid:i.pid,bufferedOutput:i.bufferedOutput,wasTruncated:i.wasTruncated,lastSeq:i.lastSeq}}write(e,t,n,r){let i=this.getOwnedAttachment(e,n,r);if(i===void 0)throw Error(`Terminal attachment '${e}' is not open`);this.ptyRuntime.write(i.supervisorSessionId,t)}resize(e,t,n,r,i){let a=this.getOwnedAttachment(e,r,i);if(a===void 0)throw Error(`Terminal attachment '${e}' is not open`);this.ptyRuntime.resize(a.supervisorSessionId,t,n)}close(e,t,n){let r=this.getOwnedAttachment(e,t,n);return r===void 0?!1:(this.attachments.delete(e),this.ptyRuntime.disconnect(r.supervisorSessionId))}releaseRuntime(e){for(let[t,n]of this.attachments)n.supervisorSessionId===e&&(this.emitForAttachment(G.terminal.closed,{attachmentId:t},n),this.attachments.delete(t))}clear(){this.attachments.clear();for(let e of this.connectionCloseUnsubscribers.values())e();this.connectionCloseUnsubscribers.clear()}routeOutput(e){for(let[t,n]of this.attachments)n.supervisorSessionId===e.supervisorSessionId&&this.emitForAttachment(G.terminal.output,{attachmentId:t,seq:e.seq,data:e.data},n)}getOwnedAttachment(e,t,n){let r=this.attachments.get(e);if(r!==void 0)return r.transportName===t&&r.connectionId===n?r:void 0}observeConnection(e){if(this.connectionCloseUnsubscribers.has(e))return;let t=this.bus.getContext().transportRegistry.getTransport(e)?.onConnectionClosed?.(t=>{for(let[n,r]of this.attachments)r.transportName===e&&r.connectionId===t&&this.close(n,e,t)});t!==void 0&&this.connectionCloseUnsubscribers.set(e,t)}emitForAttachment(e,t,n){this.bus.emit(e,t,{transports:n.transportName===void 0?[]:[n.transportName],...n.connectionId!==void 0&&{connectionId:n.connectionId}}).catch(()=>{})}};function ci(e){let t=e.transport?.peer;return e.origin.local||t?.authenticated===!0&&t.kind===`makaio-cli-local`||t?.authenticated===!1&&t.kind===`makaio-loopback`&&e.transport?.connectionId!==void 0}function li(e,t){return{...e,MAKAIO_SUPERVISOR_SESSION_ID:t}}const ui=e=>new ai(new oi,e);var di=class extends Rt{registry;ptyRuntime;pendingExits=new Map;sessionConfigBindings=new Map;terminalAttachments;#e=!1;constructor(e,t){super(e),this.registry=new ei(e);let n=t??ui;this.ptyRuntime=n({onOutput:e=>{this.terminalAttachments?.routeOutput(e)},onExit:e=>{this._handlePtyExit(e).catch(t=>{let n=t instanceof Error?t.name:`UnknownError`;console.error(`[SupervisorService] PTY exit finalization failed`,{supervisorSessionId:e.supervisorSessionId,errorName:n})})}}),this.terminalAttachments=new si(e,this.ptyRuntime)}async onInit(){this.ptyRuntime.init(),await this.registry.loadFromStorage(),await this._markHydratedRunningRuntimesUnknown(),this.registerHandler(G.launch,e=>{if(!ci(e))throw Error(`Unauthorized: supervisor.launch requires local CLI control`);return this._handleLaunch(e)}),this.registerHandler(G.attach,e=>this._handleAttach(e)),this.registerHandler(G.terminal.open,e=>{if(!ci(e))throw Error(`Unauthorized: supervisor.terminal.open requires local CLI control`);e.setResult(this.terminalAttachments.open(e.payload.attachmentId,this._resolveRunningRuntime(e.payload.locator),e.transport?.transportName,e.transport?.connectionId))}),this.registerHandler(G.terminal.input,e=>{if(!ci(e))throw Error(`Unauthorized: supervisor.terminal.input requires local CLI control`);this.terminalAttachments.write(e.payload.attachmentId,e.payload.data,e.transport?.transportName,e.transport?.connectionId),e.setResult({success:!0})}),this.registerHandler(G.terminal.resize,e=>{if(!ci(e))throw Error(`Unauthorized: supervisor.terminal.resize requires local CLI control`);this.terminalAttachments.resize(e.payload.attachmentId,e.payload.cols,e.payload.rows,e.transport?.transportName,e.transport?.connectionId),e.setResult({success:!0})}),this.registerHandler(G.terminal.close,e=>{if(!ci(e))throw Error(`Unauthorized: supervisor.terminal.close requires local CLI control`);e.setResult({success:this.terminalAttachments.close(e.payload.attachmentId,e.transport?.transportName,e.transport?.connectionId)})}),this.registerHandler(G.stop,e=>{if(!ci(e))throw Error(`Unauthorized: supervisor.stop requires local CLI control`);return this._handleStop(e)}),this.registerHandler(G.status,e=>this._handleStatus(e))}async onDestroy(){this.#e=!0;let e=[];try{await this.ptyRuntime.destroy()}catch{e.push(Error(`PTY runtime teardown failed`))}this.pendingExits.clear(),this.terminalAttachments.clear();let t=[...this.sessionConfigBindings.keys()],n=await Promise.allSettled(t.map(e=>this.destroySessionConfig(e)));for(let r=0;r<n.length;r+=1)n[r]?.status===`rejected`&&e.push(Error(`Config lease cleanup failed for supervised runtime '${t[r]}'`));if(e.length===1)throw e[0];if(e.length>1)throw AggregateError(e,`Native session supervisor teardown failed`)}getRegistry(){return this.registry}async _handleLaunch(e){let{clientId:t,cwd:n,command:r,args:i,env:a,sessionId:o,clientProfileName:s,adapterSessionId:c,metadata:l}=e.payload,u=lt(),d=Date.now(),f=await this.prepareSessionConfig({supervisorSessionId:u,clientId:t,sessionId:o,profileName:s,env:a}),p;try{({pid:p}=await this.ptyRuntime.spawn({supervisorSessionId:u,file:r,args:i,options:{cwd:n,env:li(f.env,u),inheritEnvironment:!0}}))}catch(e){try{await this.destroySessionConfig(u)}catch(t){throw AggregateError([e,t],`Native runtime spawn and config cleanup both failed`)}throw e}try{await this.registry.register({supervisorSessionId:u,clientId:t,pid:p,cwd:n,command:r,args:i,...f.env!==void 0&&{env:f.env},...o!==void 0&&{sessionId:o},...c!==void 0&&{adapterSessionId:c},...l!==void 0&&{metadata:l},startedAt:d})}catch(e){this.ptyRuntime.kill(u,`SIGTERM`);try{await this.destroySessionConfig(u)}catch(t){throw AggregateError([e,t],`Runtime registration and config cleanup both failed`)}finally{this.pendingExits.delete(u)}throw e}this.ptyRuntime.connect(u,null);let m=this.pendingExits.get(u);m!==void 0&&(this.pendingExits.delete(u),await this._recordPtyExit(m)),this.bus.requestOptional(_t.runtime.observe,{clientId:t,source:{layer:`supervisor`,producer:`native-session-supervisor`},observedAt:Date.now(),supervisorSessionId:u,pid:p,...o!==void 0&&{sessionId:o},...c!==void 0&&{adapterSessionId:c}}).catch(()=>{}),e.setResult({supervisorSessionId:u,pid:p})}_handleAttach(e){let t=e.payload,n;if(`supervisorSessionId`in t)n=t.supervisorSessionId;else if(`sessionId`in t){let r=this.registry.getBySessionId(t.sessionId);if(r===void 0){e.setResult({success:!1});return}n=r.supervisorSessionId}else{let r=this.registry.getByAdapterSessionId(t.adapterSessionId);if(r===void 0){e.setResult({success:!1});return}n=r.supervisorSessionId}let r=this.registry.getBySupervisorId(n);if(r===void 0||r.status!==`running`){e.setResult({success:!1});return}let i=this.ptyRuntime.getSessionStatus(n);e.setResult({success:!0,supervisorSessionId:n,...r.pid!==null&&{pid:r.pid},terminalAttachment:{canAttach:i!==null}})}_resolveRunningRuntime(e){let t=`supervisorSessionId`in e?e.supervisorSessionId:`sessionId`in e?this.registry.getBySessionId(e.sessionId)?.supervisorSessionId:this.registry.getByAdapterSessionId(e.adapterSessionId)?.supervisorSessionId,n=this.registry.getBySupervisorId(t??``);return n===void 0||n.status!==`running`||this.ptyRuntime.getSessionStatus(n.supervisorSessionId)===null?null:n}async _handleStop(e){let{supervisorSessionId:t,signal:n}=e.payload;if(this.registry.getBySupervisorId(t)===void 0){e.setResult({success:!1});return}if(!this.ptyRuntime.kill(t,n??`SIGTERM`)){e.setResult({success:!1});return}await this.registry.update({supervisorSessionId:t,status:`stopped`,pid:null,stoppedAt:Date.now()}),await this.destroySessionConfig(t),e.setResult({success:!0})}_handleStatus(e){let t=e.payload;if(`supervisorSessionId`in t){let n=this.registry.getBySupervisorId(t.supervisorSessionId);e.setResult({runtimes:n===void 0?[]:[ti(n)]});return}if(`sessionId`in t){let n=this.registry.getBySessionId(t.sessionId);e.setResult({runtimes:n===void 0?[]:[ti(n)]});return}if(`adapterSessionId`in t){let n=this.registry.getByAdapterSessionId(t.adapterSessionId);e.setResult({runtimes:n===void 0?[]:[ti(n)]});return}e.setResult({runtimes:this.registry.getAll().map(ti)})}async _handlePtyExit(e){this.#e||await this._recordPtyExit(e)}async _recordPtyExit(e){this.terminalAttachments.releaseRuntime(e.supervisorSessionId);let t=this.registry.getBySupervisorId(e.supervisorSessionId);if(t===void 0){this.pendingExits.set(e.supervisorSessionId,e);return}t.status!==`stopped`&&(await this.registry.update({supervisorSessionId:e.supervisorSessionId,status:`exited`,pid:null,stoppedAt:Date.now()}),await this.destroySessionConfig(e.supervisorSessionId))}async prepareSessionConfig(e){let t=await this.bus.requestOptional(_t.sessionConfig.create,{clientId:e.clientId,leaseId:e.supervisorSessionId,...e.sessionId===void 0?{}:{ownerSessionId:e.sessionId},profileName:e.profileName});if(!t.handled){if(e.profileName!==void 0)throw Error(`Client profile launch requires client.sessionConfig.create support`);return{env:e.env}}return this.sessionConfigBindings.set(e.supervisorSessionId,{clientId:e.clientId,leaseId:e.supervisorSessionId}),{env:{...e.env??{},...t.data.env}}}async destroySessionConfig(e){let t=this.sessionConfigBindings.get(e);if(t!==void 0){try{let e=await this.bus.requestOptional(_t.sessionConfig.destroy,{clientId:t.clientId,leaseId:t.leaseId});if(!e.handled||!e.data.success)throw Error(`Config lease cleanup was not handled successfully`)}catch{throw Error(`Failed to release config lease for supervised runtime '${e}'`)}this.sessionConfigBindings.get(e)===t&&this.sessionConfigBindings.delete(e)}}async _markHydratedRunningRuntimesUnknown(){let e=this.registry.getByStatus(`running`);for(let t of e)await this.registry.update({supervisorSessionId:t.supervisorSessionId,status:`unknown`,pid:null})}};const fi=Xr.postgres,pi=Wt({supervisorRuntimes:Zr},{supervisorRuntimes:fi});function mi(e){return e??null}function hi(e){return e??void 0}function gi(e){if(e!==null)try{let t=JSON.parse(e);if(typeof t==`object`&&t&&!Array.isArray(t))return t}catch{}}function _i(e){return{supervisorSessionId:e.supervisorSessionId,clientId:e.clientId,pid:e.pid,status:e.status,cwd:e.cwd,command:e.command,argsJson:JSON.stringify(e.args),envJson:e.env===void 0?null:JSON.stringify(e.env),sessionId:mi(e.sessionId),adapterSessionId:mi(e.adapterSessionId),startedAt:e.startedAt,stoppedAt:mi(e.stoppedAt),metadataJson:e.metadata===void 0?null:JSON.stringify(e.metadata)}}function vi(e){let t=[];try{let n=JSON.parse(e.argsJson);Array.isArray(n)&&n.every(e=>typeof e==`string`)&&(t=n)}catch{}let n=gi(e.envJson),r=gi(e.metadataJson);return{supervisorSessionId:e.supervisorSessionId,clientId:e.clientId,pid:e.pid,status:e.status,cwd:e.cwd,command:e.command,args:t,env:n,sessionId:hi(e.sessionId),adapterSessionId:hi(e.adapterSessionId),startedAt:e.startedAt,stoppedAt:hi(e.stoppedAt),metadata:r}}function yi(e,t){let{supervisorRuntimes:n}=H(t,pi);return e.on(K.get,async e=>{let r=e.payload,i=`supervisorSessionId`in r?U(n.supervisorSessionId,r.supervisorSessionId):`sessionId`in r?U(n.sessionId,r.sessionId):U(n.adapterSessionId,r.adapterSessionId),a=(await t.select().from(n).where(i).limit(1))[0];e.setResult({runtime:a===void 0?null:vi(a)})})}function bi(e,t){let{supervisorRuntimes:n}=H(t,pi);return e.on(K.set,async e=>{let r=_i(e.payload);await t.insert(n).values(r).onConflictDoUpdate({target:n.supervisorSessionId,set:{clientId:r.clientId,pid:r.pid,status:r.status,cwd:r.cwd,command:r.command,argsJson:r.argsJson,envJson:r.envJson,sessionId:r.sessionId,adapterSessionId:r.adapterSessionId,startedAt:r.startedAt,stoppedAt:r.stoppedAt,metadataJson:r.metadataJson}}),e.setResult({success:!0})})}function xi(e,t){let{supervisorRuntimes:n}=H(t,pi);return e.on(K.update,async e=>{let{supervisorSessionId:r,pid:i,status:a,sessionId:o,adapterSessionId:s,stoppedAt:c,metadata:l}=e.payload,u={};if(i!==void 0&&(u.pid=i),a!==void 0&&(u.status=a),o!==void 0&&(u.sessionId=o),s!==void 0&&(u.adapterSessionId=s),c!==void 0&&(u.stoppedAt=c),l!==void 0&&(u.metadataJson=JSON.stringify(l)),Object.keys(u).length===0){e.setResult({success:!0});return}let d=await t.update(n).set(u).where(U(n.supervisorSessionId,r)).returning({supervisorSessionId:n.supervisorSessionId});e.setResult({success:d.length>0})})}function Si(e,t){let{supervisorRuntimes:n}=H(t,pi);return e.on(K.delete,async e=>{let r=await t.delete(n).where(U(n.supervisorSessionId,e.payload.supervisorSessionId)).returning({supervisorSessionId:n.supervisorSessionId});e.setResult({success:r.length>0})})}function Ci(e,t){let{supervisorRuntimes:n}=H(t,pi);return e.on(K.list,async e=>{let{status:r,limit:i}=e.payload,a=r===void 0?void 0:U(n.status,r),o=a?t.select().from(n).where(a):t.select().from(n),s=await(i===void 0?o:o.limit(i));e.setResult({runtimes:s.map(vi)})})}function wi(e,t){let n=yi(e,t),r=bi(e,t),i=xi(e,t),a=Si(e,t),o=Ci(e,t);return()=>{n(),r(),i(),a(),o()}}const Ti={name:`makaio.native-session-supervisor`,displayName:`Native Session Supervisor`,version:`0.1.0`,critical:!0,create:e=>new di(e.bus),storage:{registerHandlers:Xt(wi)}};function Ei(e){return e===void 0||typeof e==`boolean`}function Di(e){return e===`interactive`||e===`headless`?e:void 0}const Oi=async e=>{let{serverImportPath:t,descriptorName:n,label:r}=e,i;try{i=(await import(ot(t).href)).default}catch(e){console.warn(`${r}: failed to import server entry while reading its exported packages:`,e instanceof Error?e.message:e);return}return ki(i,n,r)};function ki(e,t,n){let r=M(e,t,n);if(r===void 0)return;let i=r,a=new Set;return{packages:i.map(e=>{let t=Di(e.surface),r={name:e.name,version:e.version,...t!==void 0&&{surface:t}};return Ei(e.critical)?e.critical===void 0?r:{...r,critical:e.critical}:(a.add(e.name),console.warn(`${n}: exported package '${e.name}' declares 'critical' as ${typeof e.critical}, not a boolean; treating criticality as unresolved`),r)}),invalidCriticalNames:a}}function Ai(e){return async t=>{let{resolveExportedPackages:n}=await import(`../src-CnTMHQm0.mjs`);return n(t.serverImportPath,t.descriptorName,t.label,e)}}const ji={local:`project-local`,installed:`local`,"global-npm":`npm`};async function Mi(e){let t=e.frameworkModuleResolver;try{return await t?.install(),await Ni(e)}finally{await t?.uninstall()}}async function Ni(e){let t=e.exportedPackages??Oi,n=await ve(e.discovery);return Pi(n),Bi(await Promise.all(n.map(async e=>{let n=await Promise.all(e.map(Fi));return Promise.all(n.map(e=>Li(e,t)))})))}function Pi(e){for(let t of e){let e=new Map;for(let n of t){let t=n.descriptor.name,r=e.get(t);if(r===void 0){e.set(t,n);continue}console.warn(`[extension catalog] ${_e(t,r,n)}`)}}}async function Fi(e){let{descriptor:t,extensionPath:n}=e,r=t.entrypoints?.server,i=r!==void 0,a=i?P(`server`,r,n):void 0,o=await Ii(n);return{name:t.name,version:t.version,origin:ji[e.source],declaresServerEntrypoint:i,...t.critical!==void 0&&{critical:t.critical},...t.surface!==void 0&&{surface:t.surface},...i&&e.preloadedModule!==void 0&&{preloadedModule:e.preloadedModule},...a!==void 0&&{serverImportPath:a},...o!==void 0&&o!==t.name&&{npmName:o}}}async function Ii(e){try{let t=await R.readFile(z.join(e,`package.json`),`utf-8`),n=JSON.parse(t).name;return typeof n==`string`&&n.length>0?n:void 0}catch{return}}async function Li(e,t){let n=await Ri(e,t);if(n===void 0)return[zi(e,{version:e.version,...e.critical!==void 0&&{critical:e.critical},surface:Di(e.surface),criticalityUnknown:e.declaresServerEntrypoint})];let{packages:r,invalidCriticalNames:i}=n,a=r.find(t=>t.name===e.name);return[zi(e,{version:a?.version??e.version,...a?.critical!==void 0&&{critical:a.critical},surface:a?a.surface:Di(e.surface),criticalityUnknown:i.has(e.name)}),...r.filter(t=>t.name!==e.name).map(t=>({name:t.name,version:t.version,origin:e.origin,...t.critical!==void 0&&{critical:t.critical},...t.surface!==void 0&&{surface:t.surface},...i.has(t.name)&&{criticalityUnknown:!0},declaresServerEntrypoint:!0}))]}async function Ri(e,t){let n=`[extension catalog] ${e.name}`;if(e.preloadedModule!==void 0)return ki(e.preloadedModule.default,e.name,n);if(e.serverImportPath!==void 0)return t({serverImportPath:e.serverImportPath,descriptorName:e.name,label:n})}function zi(e,t){return{name:e.name,version:t.version,origin:e.origin,...t.critical!==void 0&&{critical:t.critical},...t.surface!==void 0&&{surface:t.surface},...t.criticalityUnknown&&{criticalityUnknown:!0},...e.declaresServerEntrypoint&&{declaresServerEntrypoint:!0},...e.npmName!==void 0&&{npmName:e.npmName}}}function Bi(e){let t=new Map,n=new Map,r=[];return e.forEach((e,i)=>{for(let a of e){let e=a[0];if(e===void 0)continue;let o=t.get(e.name),s=o!==void 0&&o.tierIndex<i?o.origin:void 0;o===void 0&&t.set(e.name,{tierIndex:i,origin:e.origin});let c=o?.tierIndex===i;for(let t of a){if(s!==void 0){r.push({...t,shadowedBy:s});continue}let i=n.get(t.name)??[];i.push({mergedIndex:r.length,origin:t.origin,surface:t.surface,sameTierDescriptorContest:c&&t.name===e.name}),n.set(t.name,i),r.push(t)}}}),Hi(r,n)}function Vi(e,t){return e.sameTierDescriptorContest||t.sameTierDescriptorContest?!0:e.surface===void 0||t.surface===void 0||e.surface===t.surface}function Hi(e,t){let n=[...e];for(let e of t.values())if(!(e.length<2))for(let t of e){let r=n[t.mergedIndex],i=e.filter(e=>e!==t&&Vi(t,e)),a=i[0];if(r===void 0||a===void 0)continue;let o=i.some(e=>t.sameTierDescriptorContest||e.sameTierDescriptorContest);n[t.mergedIndex]={...r,collidesWith:a.origin,...o&&{collisionIgnoresSurface:!0}}}return n}function Ui(e){let t=Ai(e.frameworkDistPath);return()=>Mi({discovery:e.discovery,exportedPackages:t})}function Wi(e){return{filter:e=>!!e.http,async processActivated(t,n){e.add({owner:t,phase:`extension`,mount:e=>n.http.mount(e)})},async processStopped(t){e.remove(t)}}}const Gi={resolve(e,t){return!e&&!t?null:e?t?e.updatedAt>t.updatedAt?e:t:e:t}};function Ki(e){return{scope:e.scope,surface:e.surface??`any`,context:e.context??`any`,viewport:e.viewport??`any`}}function qi(e){return{scope:e.scope,surface:e.surface===`any`?void 0:e.surface,context:e.context===`any`?void 0:e.context,viewport:e.viewport===`any`?void 0:e.viewport}}function Ji(e,t){return[`makaio:prefs`,e.scope,e.surface||`any`,e.context||`any`,e.viewport||`any`,t].join(`:`)}function Yi(e){return typeof e==`object`&&!!e&&`value`in e&&`updatedAt`in e&&typeof e.value==`string`&&typeof e.updatedAt==`number`}function Xi(e){try{let t=JSON.parse(e);return Yi(t)?t:{value:JSON.stringify(t),updatedAt:0}}catch{return null}}const Zi=Gt(`preferences`,e=>({scope:e.text(`scope`).notNull(),surface:e.text(`surface`).notNull().default(`any`),context:e.text(`context`).notNull().default(`any`),viewport:e.text(`viewport`).notNull().default(`any`),category:e.text(`category`).notNull(),value:e.text(`value`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull()}),{sqlite:e=>[Bt(`preferences_pk`).on(e.scope,e.surface,e.context,e.viewport,e.category)],postgres:e=>[Ht(`preferences_pk`).on(e.scope,e.surface,e.context,e.viewport,e.category)]}),Qi=Zi.sqlite,$i=Zi.postgres,ea=Wt({preferences:Qi},{preferences:$i});function ta(e,t,n){let r=[];return n!==void 0&&r.push(U(e.category,n)),t&&(t.scope!==void 0&&r.push(U(e.scope,t.scope)),t.surface!==void 0&&r.push(U(e.surface,t.surface)),t.context!==void 0&&r.push(U(e.context,t.context)),t.viewport!==void 0&&r.push(U(e.viewport,t.viewport))),r}async function na(e,t,n){let{preferences:r}=H(e,ea),i=ta(r,t,n);return(i.length>0?await e.select().from(r).where(en(...i)):await e.select().from(r)).map(e=>{let t;try{t=JSON.parse(e.value)}catch{t=null}let n=tr.safeParse(t);return{key:qi(e),category:e.category,value:n.success?n.data:null,updatedAt:e.updatedAt}})}async function ra(e,t,n){let{preferences:r}=H(e,ea),i=Ki(t),[a]=await e.select().from(r).where(en(U(r.scope,i.scope),U(r.surface,i.surface),U(r.context,i.context),U(r.viewport,i.viewport),U(r.category,n))).limit(1);return a}var ia=class{db;conflictResolver;constructor(e){this.db=e.db,this.conflictResolver=e.conflictResolver??Gi}async get(e,t){let n=await this.readFromDb(e,t),r=this.readFromLocalStorage(e,t),i=r?.updatedAt===0?r:null;!n&&r&&!i&&this.removeFromLocalStorage(e,t);let a=this.conflictResolver.resolve(i,n);if(!a)return null;let o;try{o=JSON.parse(a.value)}catch{return null}let s=tr.safeParse(o);return s.success?(await this.syncResolvedPreference(e,t,a,r,n),s.data):null}async set(e,t,n){let r=Date.now(),i=JSON.stringify(n??null);this.writeToLocalStorage(e,t,{value:i,updatedAt:r}),await this.writeToDb(e,t,i,r)}async delete(e,t){this.removeFromLocalStorage(e,t),await this.deleteFromDb(e,t)}async list(e,t){return na(this.db,e,t)}async writeToDb(e,t,n,r){let{preferences:i}=H(this.db,ea),a=Ki(e);await this.db.insert(i).values({...a,category:t,value:n,updatedAt:r}).onConflictDoUpdate({target:[i.scope,i.surface,i.context,i.viewport,i.category],set:{value:n,updatedAt:r}})}readFromLocalStorage(e,t){let n=Ji(e,t),r=globalThis.localStorage?.getItem(n);return r?Xi(r):null}writeToLocalStorage(e,t,n){let r=Ji(e,t);try{globalThis.localStorage?.setItem(r,JSON.stringify(n))}catch(e){console.warn(`[StorageCoordinator] localStorage write failed:`,e)}}removeFromLocalStorage(e,t){let n=Ji(e,t);try{globalThis.localStorage?.removeItem(n)}catch(e){console.warn(`[StorageCoordinator] localStorage delete failed:`,e)}}async syncResolvedPreference(e,t,n,r,i){this.isSameStoredPreference(n,i)||await this.writeToDb(e,t,n.value,n.updatedAt),r&&!this.isSameStoredPreference(n,r)&&this.writeToLocalStorage(e,t,n)}isSameStoredPreference(e,t){return!e||!t?!1:e.value===t.value&&e.updatedAt===t.updatedAt}async readFromDb(e,t){let n=await ra(this.db,e,t);return n?{value:n.value,updatedAt:n.updatedAt}:null}async deleteFromDb(e,t){let{preferences:n}=H(this.db,ea),r=Ki(e);await this.db.delete(n).where(en(U(n.scope,r.scope),U(n.surface,r.surface),U(n.context,r.context),U(n.viewport,r.viewport),U(n.category,t)))}};function aa(e,t,n){let r=new ia({db:t}),i=e.on(nr.get,async e=>{let{key:t,category:n}=e.payload,i=await r.get(t,n);e.setResult({value:i})}),a=e.on(nr.set,async e=>{let{key:t,category:n,value:i}=e.payload;await r.set(t,n,i),e.setResult({success:!0})}),o=e.on(nr.delete,async e=>{let{key:t,category:n}=e.payload;await r.delete(t,n),e.setResult({success:!0})}),s=e.on(nr.list,async e=>{let{key:t,category:n}=e.payload,i=await r.list(t,n);e.setResult({items:i})});return()=>{i(),a(),o(),s()}}const oa={name:`preferences-storage`,displayName:`Preferences Storage`,version:`0.1.0`,critical:!0,storage:{registerHandlers:Xt(aa)}},sa=[`config`,`extensions`],ca=1024*1024,la=/\bat position \d+(?: \(line \d+ column \d+\))?/u;function ua(e){return z.join(e,...sa)}function da(e){let t=new Map;for(let[n,r]of e)r.kind===`config`&&ya(r.config),t.set(n,Object.freeze(r));let n=Object.freeze([...t].map(e=>Object.freeze(e)));return Object.freeze({entries:n,get(e){return t.get(e)}})}async function fa(e){let t=await ha(ua(e.makaioHome)),n=new Map;for(let e of t)n.set(e.extensionName,await _a(e.filePath));return da(n)}function pa(e,t){let n=new Map(t.map(e=>[e.name,e.configSchema]));for(let[t,r]of e.entries){let e=mt(t);if(!n.has(t)){console.warn(`[boot] Operator config ${r.source} names extension "${e}", which is not loaded; it has no effect`);continue}r.kind===`config`&&n.get(t)===void 0&&console.warn(`[boot] Operator config ${r.source} names extension "${e}", which declares no config schema; it has no effect`)}}function ma(e){for(let t of e)wt(t.name)===void 0&&console.warn(`[boot] Extension "${mt(t.name)}" has no operator config file name; it cannot be configured from ${sa.join(`/`)}`)}async function ha(e){let t;try{t=await R.readdir(e)}catch(t){if(Ca(t))return[];throw Error(`[boot] Cannot read operator config directory at ${e}: ${wa(t)}`,{cause:t})}let n=[];for(let r of t){let t=ga(e,r);t!==void 0&&n.push(t)}return n}function ga(e,t){if(t.startsWith(`.`))return;if(!t.endsWith(yt)){console.warn(`[boot] Ignoring ${Sa(e,t)}: operator config file names must end in ${yt}`);return}let n=Ct(t.slice(0,-yt.length));if(n===void 0){console.warn(`[boot] Ignoring ${Sa(e,t)}: its name is not the encoded form of any extension name`);return}return{extensionName:n,fileName:t,filePath:z.join(e,t)}}async function _a(e){let t;try{let n=await va(e);if(n!==void 0)return q(e,`unreadable`,n);let r=await R.open(e,R.constants.O_RDONLY|R.constants.O_NONBLOCK);try{let n=await r.stat();if(!n.isFile())return q(e,`unreadable`,`not a regular file`);if(n.size>1048576)return q(e,`unreadable`,`exceeds ${ca} bytes`);t=await r.readFile()}finally{await r.close()}}catch(t){return q(e,`unreadable`,wa(t))}let n;try{n=new TextDecoder(`utf-8`,{fatal:!0}).decode(t)}catch{return q(e,`invalid-json`,`not valid UTF-8`)}let r;try{r=JSON.parse(n)}catch(t){return q(e,`invalid-json`,Ta(t))}return ba(r)?{kind:`config`,source:e,config:r}:q(e,`not-an-object`,`top-level value is ${xa(r)}`)}async function va(e){let t=await R.lstat(e);if(!t.isFile()&&!(t.isSymbolicLink()&&(await R.stat(e)).isFile()))return`not a regular file`}function q(e,t,n){return n===void 0?{kind:`failure`,source:e,reason:t}:{kind:`failure`,source:e,reason:t,detail:n}}function ya(e){let t=new WeakSet,n=[e];for(;n.length>0;){let e=n.pop();if(!(typeof e!=`object`||!e||t.has(e))){t.add(e),Object.freeze(e);for(let t of Object.values(e))n.push(t)}}}function ba(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function xa(e){return e===null?`null`:Array.isArray(e)?`an array`:`a ${typeof e}`}function Sa(e,t){return z.join(e,mt(t))}function Ca(e){return e instanceof Error&&`code`in e&&e.code===`ENOENT`}function wa(e){return e instanceof Error&&`code`in e&&typeof e.code==`string`?e.code:mt(e instanceof Error?e.message:String(e))}function Ta(e){let t=e instanceof Error?e.message:String(e);return la.exec(t)?.[0]}var J=t((e=>{let t=Symbol.for(`yaml.alias`),n=Symbol.for(`yaml.document`),r=Symbol.for(`yaml.map`),i=Symbol.for(`yaml.pair`),a=Symbol.for(`yaml.scalar`),o=Symbol.for(`yaml.seq`),s=Symbol.for(`yaml.node.type`),c=e=>!!e&&typeof e==`object`&&e[s]===t,l=e=>!!e&&typeof e==`object`&&e[s]===n,u=e=>!!e&&typeof e==`object`&&e[s]===r,d=e=>!!e&&typeof e==`object`&&e[s]===i,f=e=>!!e&&typeof e==`object`&&e[s]===a,p=e=>!!e&&typeof e==`object`&&e[s]===o;function m(e){if(e&&typeof e==`object`)switch(e[s]){case r:case o:return!0}return!1}function h(e){if(e&&typeof e==`object`)switch(e[s]){case t:case r:case a:case o:return!0}return!1}e.ALIAS=t,e.DOC=n,e.MAP=r,e.NODE_TYPE=s,e.PAIR=i,e.SCALAR=a,e.SEQ=o,e.hasAnchor=e=>(f(e)||m(e))&&!!e.anchor,e.isAlias=c,e.isCollection=m,e.isDocument=l,e.isMap=u,e.isNode=h,e.isPair=d,e.isScalar=f,e.isSeq=p})),Ea=t((e=>{var t=J();let n=Symbol(`break visit`),r=Symbol(`skip children`),i=Symbol(`remove node`);function a(e,n){let r=l(n);t.isDocument(e)?o(null,e.contents,r,Object.freeze([e]))===i&&(e.contents=null):o(null,e,r,Object.freeze([]))}a.BREAK=n,a.SKIP=r,a.REMOVE=i;function o(e,r,a,s){let c=u(e,r,a,s);if(t.isNode(c)||t.isPair(c))return d(e,s,c),o(e,c,a,s);if(typeof c!=`symbol`){if(t.isCollection(r)){s=Object.freeze(s.concat(r));for(let e=0;e<r.items.length;++e){let t=o(e,r.items[e],a,s);if(typeof t==`number`)e=t-1;else if(t===n)return n;else t===i&&(r.items.splice(e,1),--e)}}else if(t.isPair(r)){s=Object.freeze(s.concat(r));let e=o(`key`,r.key,a,s);if(e===n)return n;e===i&&(r.key=null);let t=o(`value`,r.value,a,s);if(t===n)return n;t===i&&(r.value=null)}}return c}async function s(e,n){let r=l(n);t.isDocument(e)?await c(null,e.contents,r,Object.freeze([e]))===i&&(e.contents=null):await c(null,e,r,Object.freeze([]))}s.BREAK=n,s.SKIP=r,s.REMOVE=i;async function c(e,r,a,o){let s=await u(e,r,a,o);if(t.isNode(s)||t.isPair(s))return d(e,o,s),c(e,s,a,o);if(typeof s!=`symbol`){if(t.isCollection(r)){o=Object.freeze(o.concat(r));for(let e=0;e<r.items.length;++e){let t=await c(e,r.items[e],a,o);if(typeof t==`number`)e=t-1;else if(t===n)return n;else t===i&&(r.items.splice(e,1),--e)}}else if(t.isPair(r)){o=Object.freeze(o.concat(r));let e=await c(`key`,r.key,a,o);if(e===n)return n;e===i&&(r.key=null);let t=await c(`value`,r.value,a,o);if(t===n)return n;t===i&&(r.value=null)}}return s}function l(e){return typeof e==`object`&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function u(e,n,r,i){if(typeof r==`function`)return r(e,n,i);if(t.isMap(n))return r.Map?.(e,n,i);if(t.isSeq(n))return r.Seq?.(e,n,i);if(t.isPair(n))return r.Pair?.(e,n,i);if(t.isScalar(n))return r.Scalar?.(e,n,i);if(t.isAlias(n))return r.Alias?.(e,n,i)}function d(e,n,r){let i=n[n.length-1];if(t.isCollection(i))i.items[e]=r;else if(t.isPair(i))e===`key`?i.key=r:i.value=r;else if(t.isDocument(i))i.contents=r;else{let e=t.isAlias(i)?`alias`:`scalar`;throw Error(`Cannot replace node with ${e} parent`)}}e.visit=a,e.visitAsync=s})),Da=t((e=>{var t=J(),n=Ea();let r={"!":`%21`,",":`%2C`,"[":`%5B`,"]":`%5D`,"{":`%7B`,"}":`%7D`},i=e=>e.replace(/[!,[\]{}]/g,e=>r[e]);var a=class e{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},e.defaultYaml,t),this.tags=Object.assign({},e.defaultTags,n)}clone(){let t=new e(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){let t=new e(this.yaml,this.tags);switch(this.yaml.version){case`1.1`:this.atNextDocument=!0;break;case`1.2`:this.atNextDocument=!1,this.yaml={explicit:e.defaultYaml.explicit,version:`1.2`},this.tags=Object.assign({},e.defaultTags);break}return t}add(t,n){this.atNextDocument&&=(this.yaml={explicit:e.defaultYaml.explicit,version:`1.1`},this.tags=Object.assign({},e.defaultTags),!1);let r=t.trim().split(/[ \t]+/),i=r.shift();switch(i){case`%TAG`:{if(r.length!==2&&(n(0,`%TAG directive should contain exactly two parts`),r.length<2))return!1;let[e,t]=r;return this.tags[e]=t,!0}case`%YAML`:{if(this.yaml.explicit=!0,r.length!==1)return n(0,`%YAML directive should contain exactly one part`),!1;let[e]=r;if(e===`1.1`||e===`1.2`)return this.yaml.version=e,!0;{let t=/^\d+\.\d+$/.test(e);return n(6,`Unsupported YAML version ${e}`,t),!1}}default:return n(0,`Unknown directive ${i}`,!0),!1}}tagName(e,t){if(e===`!`)return`!`;if(e[0]!==`!`)return t(`Not a valid tag: ${e}`),null;if(e[1]===`<`){let n=e.slice(2,-1);return n===`!`||n===`!!`?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==`>`&&t(`Verbatim tags must end with a >`),n)}let[,n,r]=e.match(/^(.*!)([^!]*)$/s);r||t(`The ${e} tag has no suffix`);let i=this.tags[n];if(i)try{return i+decodeURIComponent(r)}catch(e){return t(String(e)),null}return n===`!`?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+i(e.substring(n.length));return e[0]===`!`?e:`!<${e}>`}toString(e){let r=this.yaml.explicit?[`%YAML ${this.yaml.version||`1.2`}`]:[],i=Object.entries(this.tags),a;if(e&&i.length>0&&t.isNode(e.contents)){let r={};n.visit(e.contents,(e,n)=>{t.isNode(n)&&n.tag&&(r[n.tag]=!0)}),a=Object.keys(r)}else a=[];for(let[t,n]of i)t===`!!`&&n===`tag:yaml.org,2002:`||(!e||a.some(e=>e.startsWith(n)))&&r.push(`%TAG ${t} ${n}`);return r.join(`
6
6
  `)}};a.defaultYaml={explicit:!1,version:`1.2`},a.defaultTags={"!!":`tag:yaml.org,2002:`},e.Directives=a})),Oa=t((e=>{var t=J(),n=Ea();function r(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let t=`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`;throw Error(t)}return!0}function i(e){let t=new Set;return n.visit(e,{Value(e,n){n.anchor&&t.add(n.anchor)}}),t}function a(e,t){for(let n=1;;++n){let r=`${e}${n}`;if(!t.has(r))return r}}function o(e,n){let r=[],o=new Map,s=null;return{onAnchor:t=>{r.push(t),s??=i(e);let o=a(n,s);return s.add(o),o},setAnchors:()=>{for(let e of r){let n=o.get(e);if(typeof n==`object`&&n.anchor&&(t.isScalar(n.node)||t.isCollection(n.node)))n.node.anchor=n.anchor;else{let t=Error(`Failed to resolve repeated object (this should not happen)`);throw t.source=e,t}}},sourceObjects:o}}e.anchorIsValid=r,e.anchorNames=i,e.createNodeAnchors=o,e.findNewAnchor=a})),ka=t((e=>{function t(e,n,r,i){if(i&&typeof i==`object`)if(Array.isArray(i))for(let n=0,r=i.length;n<r;++n){let r=i[n],a=t(e,i,String(n),r);a===void 0?delete i[n]:a!==r&&(i[n]=a)}else if(i instanceof Map)for(let n of Array.from(i.keys())){let r=i.get(n),a=t(e,i,n,r);a===void 0?i.delete(n):a!==r&&i.set(n,a)}else if(i instanceof Set)for(let n of Array.from(i)){let r=t(e,i,n,n);r===void 0?i.delete(n):r!==n&&(i.delete(n),i.add(r))}else for(let[n,r]of Object.entries(i)){let a=t(e,i,n,r);a===void 0?delete i[n]:a!==r&&(i[n]=a)}return e.call(n,r,i)}e.applyReviver=t})),Y=t((e=>{var t=J();function n(e,r,i){if(Array.isArray(e))return e.map((e,t)=>n(e,String(t),i));if(e&&typeof e.toJSON==`function`){if(!i||!t.hasAnchor(e))return e.toJSON(r,i);let n={aliasCount:0,count:1,res:void 0};i.anchors.set(e,n),i.onCreate=e=>{n.res=e,delete i.onCreate};let a=e.toJSON(r,i);return i.onCreate&&i.onCreate(a),a}return typeof e==`bigint`&&!i?.keep?Number(e):e}e.toJS=n})),Aa=t((e=>{var t=ka(),n=J(),r=Y();e.NodeBase=class{constructor(e){Object.defineProperty(this,n.NODE_TYPE,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:i,maxAliasCount:a,onAnchor:o,reviver:s}={}){if(!n.isDocument(e))throw TypeError(`A document argument is required`);let c={anchors:new Map,doc:e,keep:!0,mapAsMap:i===!0,mapKeyWarned:!1,maxAliasCount:typeof a==`number`?a:100},l=r.toJS(this,``,c);if(typeof o==`function`)for(let{count:e,res:t}of c.anchors.values())o(t,e);return typeof s==`function`?t.applyReviver(s,{"":l},``,l):l}}})),ja=t((e=>{var t=Oa(),n=Ea(),r=J(),i=Aa(),a=Y(),o=class extends i.NodeBase{constructor(e){super(r.ALIAS),this.source=e,Object.defineProperty(this,`tag`,{set(){throw Error(`Alias nodes cannot have tags`)}})}resolve(e,t){if(t?.maxAliasCount===0)throw ReferenceError(`Alias resolution is disabled`);let i;t?.aliasResolveCache?i=t.aliasResolveCache:(i=[],n.visit(e,{Node:(e,t)=>{(r.isAlias(t)||r.hasAnchor(t))&&i.push(t)}}),t&&(t.aliasResolveCache=i));let a;for(let e of i){if(e===this)break;e.anchor===this.source&&(a=e)}return a}toJSON(e,t){if(!t)return{source:this.source};let{anchors:n,doc:r,maxAliasCount:i}=t,o=this.resolve(r,t);if(!o){let e=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(e)}let c=n.get(o);if(c||=(a.toJS(o,null,t),n.get(o)),c?.res===void 0)throw ReferenceError(`This should not happen: Alias anchor was not resolved?`);if(i>=0&&(c.count+=1,c.aliasCount===0&&(c.aliasCount=s(r,o,n)),c.count*c.aliasCount>i))throw ReferenceError(`Excessive alias count indicates a resource exhaustion attack`);return c.res}toString(e,n,r){let i=`*${this.source}`;if(e){if(t.anchorIsValid(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let e=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(e)}if(e.implicitKey)return`${i} `}return i}};function s(e,t,n){if(r.isAlias(t)){let r=t.resolve(e),i=n&&r&&n.get(r);return i?i.count*i.aliasCount:0}else if(r.isCollection(t)){let r=0;for(let i of t.items){let t=s(e,i,n);t>r&&(r=t)}return r}else if(r.isPair(t)){let r=s(e,t.key,n),i=s(e,t.value,n);return Math.max(r,i)}return 1}e.Alias=o})),X=t((e=>{var t=J(),n=Aa(),r=Y();let i=e=>!e||typeof e!=`function`&&typeof e!=`object`;var a=class extends n.NodeBase{constructor(e){super(t.SCALAR),this.value=e}toJSON(e,t){return t?.keep?this.value:r.toJS(this.value,e,t)}toString(){return String(this.value)}};a.BLOCK_FOLDED=`BLOCK_FOLDED`,a.BLOCK_LITERAL=`BLOCK_LITERAL`,a.PLAIN=`PLAIN`,a.QUOTE_DOUBLE=`QUOTE_DOUBLE`,a.QUOTE_SINGLE=`QUOTE_SINGLE`,e.Scalar=a,e.isScalarValue=i})),Ma=t((e=>{var t=ja(),n=J(),r=X();function i(e,t,n){if(t){let e=n.filter(e=>e.tag===t),r=e.find(e=>!e.format)??e[0];if(!r)throw Error(`Tag ${t} not found`);return r}return n.find(t=>t.identify?.(e)&&!t.format)}function a(e,a,o){if(n.isDocument(e)&&(e=e.contents),n.isNode(e))return e;if(n.isPair(e)){let t=o.schema[n.MAP].createNode?.(o.schema,null,o);return t.items.push(e),t}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<`u`&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:s,onAnchor:c,onTagObj:l,schema:u,sourceObjects:d}=o,f;if(s&&e&&typeof e==`object`){if(f=d.get(e),f)return f.anchor??=c(e),new t.Alias(f.anchor);f={anchor:null,node:null},d.set(e,f)}a?.startsWith(`!!`)&&(a=`tag:yaml.org,2002:`+a.slice(2));let p=i(e,a,u.tags);if(!p){if(e&&typeof e.toJSON==`function`&&(e=e.toJSON()),!e||typeof e!=`object`){let t=new r.Scalar(e);return f&&(f.node=t),t}p=e instanceof Map?u[n.MAP]:Symbol.iterator in Object(e)?u[n.SEQ]:u[n.MAP]}l&&(l(p),delete o.onTagObj);let m=p?.createNode?p.createNode(o.schema,e,o):typeof p?.nodeClass?.from==`function`?p.nodeClass.from(o.schema,e,o):new r.Scalar(e);return a?m.tag=a:p.default||(m.tag=p.tag),f&&(f.node=m),m}e.createNode=a})),Na=t((e=>{var t=Ma(),n=J(),r=Aa();function i(e,n,r){let i=r;for(let e=n.length-1;e>=0;--e){let t=n[e];if(typeof t==`number`&&Number.isInteger(t)&&t>=0){let e=[];e[t]=i,i=e}else i=new Map([[t,i]])}return t.createNode(i,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error(`This should not happen, please report a bug.`)},schema:e,sourceObjects:new Map})}let a=e=>e==null||typeof e==`object`&&!!e[Symbol.iterator]().next().done;e.Collection=class extends r.NodeBase{constructor(e,t){super(e),Object.defineProperty(this,`schema`,{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(t=>n.isNode(t)||n.isPair(t)?t.clone(e):t),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(a(e))this.add(t);else{let[r,...a]=e,o=this.get(r,!0);if(n.isCollection(o))o.addIn(a,t);else if(o===void 0&&this.schema)this.set(r,i(this.schema,a,t));else throw Error(`Expected YAML collection at ${r}. Remaining path: ${a}`)}}deleteIn(e){let[t,...r]=e;if(r.length===0)return this.delete(t);let i=this.get(t,!0);if(n.isCollection(i))return i.deleteIn(r);throw Error(`Expected YAML collection at ${t}. Remaining path: ${r}`)}getIn(e,t){let[r,...i]=e,a=this.get(r,!0);return i.length===0?!t&&n.isScalar(a)?a.value:a:n.isCollection(a)?a.getIn(i,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!n.isPair(t))return!1;let r=t.value;return r==null||e&&n.isScalar(r)&&r.value==null&&!r.commentBefore&&!r.comment&&!r.tag})}hasIn(e){let[t,...r]=e;if(r.length===0)return this.has(t);let i=this.get(t,!0);return n.isCollection(i)?i.hasIn(r):!1}setIn(e,t){let[r,...a]=e;if(a.length===0)this.set(r,t);else{let e=this.get(r,!0);if(n.isCollection(e))e.setIn(a,t);else if(e===void 0&&this.schema)this.set(r,i(this.schema,a,t));else throw Error(`Expected YAML collection at ${r}. Remaining path: ${a}`)}}},e.collectionFromPath=i,e.isEmptyPath=a})),Pa=t((e=>{let t=e=>e.replace(/^(?!$)(?: $)?/gm,`#`);function n(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}e.indentComment=n,e.lineComment=(e,t,r)=>e.endsWith(`
7
7
  `)?n(r,t):r.includes(`
8
8
  `)?`
@@ -117,4 +117,4 @@ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,`$1$2`).replace(/\
117
117
  `,e)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case`newline`:if(this.onKeyLine=!1,t.value){let n=`end`in t.value?t.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type===`comment`?n?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case`space`:case`comment`:if(t.value)e.items.push({start:[this.sourceToken]});else if(t.sep)t.sep.push(this.sourceToken);else{if(this.atIndentedComment(t.start,e.indent)){let n=e.items[e.items.length-2]?.value?.end;if(Array.isArray(n)){u(n,t.start),n.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return}if(this.indent>=e.indent){let n=!this.onKeyLine&&this.indent===e.indent,r=n&&(t.sep||t.explicitKey)&&this.type!==`seq-item-ind`,i=[];if(r&&t.sep&&!t.value){let n=[];for(let r=0;r<t.sep.length;++r){let i=t.sep[r];switch(i.type){case`newline`:n.push(r);break;case`space`:break;case`comment`:i.indent>e.indent&&(n.length=0);break;default:n.length=0}}n.length>=2&&(i=t.sep.splice(n[1]))}switch(this.type){case`anchor`:case`tag`:r||t.value?(i.push(this.sourceToken),e.items.push({start:i}),this.onKeyLine=!0):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case`explicit-key-ind`:!t.sep&&!t.explicitKey?(t.start.push(this.sourceToken),t.explicitKey=!0):r||t.value?(i.push(this.sourceToken),e.items.push({start:i,explicitKey:!0})):this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case`map-value-ind`:if(t.explicitKey)if(!t.sep)if(a(t.start,`newline`))Object.assign(t,{key:null,sep:[this.sourceToken]});else{let e=l(t.start);this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:e,key:null,sep:[this.sourceToken]}]})}else if(t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(a(t.sep,`map-value-ind`))this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]});else if(s(t.key)&&!a(t.sep,`newline`)){let e=l(t.start),n=t.key,r=t.sep;r.push(this.sourceToken),delete t.key,delete t.sep,this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:e,key:n,sep:r}]})}else i.length>0?t.sep=t.sep.concat(i,this.sourceToken):t.sep.push(this.sourceToken);else t.sep?t.value||r?e.items.push({start:i,key:null,sep:[this.sourceToken]}):a(t.sep,`map-value-ind`)?this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case`alias`:case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:{let n=this.flowScalar(this.type);r||t.value?(e.items.push({start:i,key:n,sep:[]}),this.onKeyLine=!0):t.sep?this.stack.push(n):(Object.assign(t,{key:n,sep:[]}),this.onKeyLine=!0);return}default:{let r=this.startBlockValue(e);if(r){if(r.type===`block-seq`){if(!t.explicitKey&&t.sep&&!a(t.sep,`newline`)){yield*this.pop({type:`error`,offset:this.offset,message:`Unexpected block-seq-ind on same line with key`,source:this.source});return}}else n&&e.items.push({start:i});this.stack.push(r);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(e){let t=e.items[e.items.length-1];switch(this.type){case`newline`:if(t.value){let n=`end`in t.value?t.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type===`comment`?n?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.start.push(this.sourceToken);return;case`space`:case`comment`:if(t.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(t.start,e.indent)){let n=e.items[e.items.length-2]?.value?.end;if(Array.isArray(n)){u(n,t.start),n.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return;case`anchor`:case`tag`:if(t.value||this.indent<=e.indent)break;t.start.push(this.sourceToken);return;case`seq-item-ind`:if(this.indent!==e.indent)break;t.value||a(t.start,`seq-item-ind`)?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return}if(this.indent>e.indent){let t=this.startBlockValue(e);if(t){this.stack.push(t);return}}yield*this.pop(),yield*this.step()}*flowCollection(e){let t=e.items[e.items.length-1];if(this.type===`flow-error-end`){let e;do yield*this.pop(),e=this.peek(1);while(e?.type===`flow-collection`)}else if(e.end.length===0){switch(this.type){case`comma`:case`explicit-key-ind`:!t||t.sep?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return;case`map-value-ind`:!t||t.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});return;case`space`:case`comment`:case`newline`:case`anchor`:case`tag`:!t||t.value?e.items.push({start:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case`alias`:case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:{let n=this.flowScalar(this.type);!t||t.value?e.items.push({start:[],key:n,sep:[]}):t.sep?this.stack.push(n):Object.assign(t,{key:n,sep:[]});return}case`flow-map-end`:case`flow-seq-end`:e.end.push(this.sourceToken);return}let n=this.startBlockValue(e);n?this.stack.push(n):(yield*this.pop(),yield*this.step())}else{let t=this.peek(2);if(t.type===`block-map`&&(this.type===`map-value-ind`&&t.indent===e.indent||this.type===`newline`&&!t.items[t.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type===`map-value-ind`&&t.type!==`flow-collection`){let n=l(c(t));d(e);let r=e.end.splice(1,e.end.length);r.push(this.sourceToken);let i={type:`block-map`,offset:e.offset,indent:e.indent,items:[{start:n,key:e,sep:r}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=i}else yield*this.lineEnd(e)}}flowScalar(e){if(this.onNewLine){let e=this.source.indexOf(`
118
118
  `)+1;for(;e!==0;)this.onNewLine(this.offset+e),e=this.source.indexOf(`
119
119
  `,e)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case`alias`:case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:return this.flowScalar(this.type);case`block-scalar-header`:return{type:`block-scalar`,offset:this.offset,indent:this.indent,props:[this.sourceToken],source:``};case`flow-map-start`:case`flow-seq-start`:return{type:`flow-collection`,offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case`seq-item-ind`:return{type:`block-seq`,offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case`explicit-key-ind`:{this.onKeyLine=!0;let t=l(c(e));return t.push(this.sourceToken),{type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:t,explicitKey:!0}]}}case`map-value-ind`:{this.onKeyLine=!0;let t=l(c(e));return{type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:t,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){return this.type!==`comment`||this.indent<=t?!1:e.every(e=>e.type===`newline`||e.type===`space`)}*documentEnd(e){this.type!==`doc-mode`&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type===`newline`&&(yield*this.pop()))}*lineEnd(e){switch(this.type){case`comma`:case`doc-start`:case`doc-end`:case`flow-seq-end`:case`flow-map-end`:case`map-value-ind`:yield*this.pop(),yield*this.step();break;case`newline`:this.onKeyLine=!1;default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type===`newline`&&(yield*this.pop())}}}})),Lo=t((e=>{var t=ko(),n=fo(),r=po(),i=za(),a=J(),o=Fo(),s=Io();function c(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new o.LineCounter||null,prettyErrors:t}}function l(e,n={}){let{lineCounter:i,prettyErrors:a}=c(n),o=new s.Parser(i?.addNewLine),l=new t.Composer(n),u=Array.from(l.compose(o.parse(e)));if(a&&i)for(let t of u)t.errors.forEach(r.prettifyError(e,i)),t.warnings.forEach(r.prettifyError(e,i));return u.length>0?u:Object.assign([],{empty:!0},l.streamInfo())}function u(e,n={}){let{lineCounter:i,prettyErrors:a}=c(n),o=new s.Parser(i?.addNewLine),l=new t.Composer(n),u=null;for(let t of l.compose(o.parse(e),!0,e.length))if(!u)u=t;else if(u.options.logLevel!==`silent`){u.errors.push(new r.YAMLParseError(t.range.slice(0,2),`MULTIPLE_DOCS`,`Source contains multiple documents; please use YAML.parseAllDocuments()`));break}return a&&i&&(u.errors.forEach(r.prettifyError(e,i)),u.warnings.forEach(r.prettifyError(e,i))),u}function d(e,t,n){let r;typeof t==`function`?r=t:n===void 0&&t&&typeof t==`object`&&(n=t);let a=u(e,n);if(!a)return null;if(a.warnings.forEach(e=>i.warn(a.options.logLevel,e)),a.errors.length>0){if(a.options.logLevel!==`silent`)throw a.errors[0];a.errors=[]}return a.toJS(Object.assign({reviver:r},n))}function f(e,t,r){let i=null;if(typeof t==`function`||Array.isArray(t)?i=t:r===void 0&&t&&(r=t),typeof r==`string`&&(r=r.length),typeof r==`number`){let e=Math.round(r);r=e<1?void 0:e>8?{indent:8}:{indent:e}}if(e===void 0){let{keepUndefined:e}=r??t??{};if(!e)return}return a.isDocument(e)&&!i?e.toString(r):new n.Document(e,i,r).toString(r)}e.parse=d,e.parseAllDocuments=l,e.parseDocument=u,e.stringify=f})),Ro=t((e=>{var t=ko(),n=fo(),r=lo(),i=po(),a=ja(),o=J(),s=Z(),c=X(),l=Q(),u=$();No();var d=Po(),f=Fo(),p=Io(),m=Lo(),h=Ea();e.Composer=t.Composer,e.Document=n.Document,e.Schema=r.Schema,e.YAMLError=i.YAMLError,e.YAMLParseError=i.YAMLParseError,e.YAMLWarning=i.YAMLWarning,e.Alias=a.Alias,e.isAlias=o.isAlias,e.isCollection=o.isCollection,e.isDocument=o.isDocument,e.isMap=o.isMap,e.isNode=o.isNode,e.isPair=o.isPair,e.isScalar=o.isScalar,e.isSeq=o.isSeq,e.Pair=s.Pair,e.Scalar=c.Scalar,e.YAMLMap=l.YAMLMap,e.YAMLSeq=u.YAMLSeq,e.Lexer=d.Lexer,e.LineCounter=f.LineCounter,e.Parser=p.Parser,e.parse=m.parse,e.parseAllDocuments=m.parseAllDocuments,e.parseDocument=m.parseDocument,e.stringify=m.stringify,e.visit=h.visit,e.visitAsync=h.visitAsync}))();function zo(e){return e instanceof Error&&`code`in e&&typeof e.code==`string`}function Bo(e){return zo(e)&&e.code===`ENOENT`}function Vo(e){return zo(e)&&e.code===`ENOTDIR`}function Ho(e){return e instanceof Error?e.message:String(e)}async function Uo(e){try{return(await V.promises.readdir(e)).filter(e=>e.endsWith(`.yaml`)).sort().map(t=>z.join(e,t))}catch(t){if(Bo(t))return[];throw Vo(t)?Error(`Invalid model registry directory ${e}: expected a directory.`,{cause:t}):t}}var Wo=class{seedPaths;constructor(e){this.seedPaths=Array.isArray(e)?e:[e]}async fetch(){for(let e of this.seedPaths){let t=await Go(e);if(t!==void 0)try{return vn.parse((0,Ro.parse)(t))}catch(t){throw Error(`Invalid bundled model registry seed at ${e}: ${Ho(t)}`,{cause:t})}}throw Error(`Bundled model registry seed not found. Tried:\n${this.seedPaths.map(e=>`- ${e}`).join(`
120
- `)}`)}};async function Go(e){try{return await V.promises.readFile(e,`utf-8`)}catch(t){if(Ko(t))return;throw Error(`Failed to read bundled model registry seed at ${e}: ${Ho(t)}`,{cause:t})}}function Ko(e){return Bo(e)||Vo(e)}var qo=class{url;timeoutMs;constructor(e,t=1e4){let n=e.trim();if(!n)throw Error(`CdnRegistryFetcher requires a non-empty registry URL`);let r;try{r=new URL(n)}catch(e){throw Error(`CdnRegistryFetcher requires a valid registry URL: ${n}`,{cause:e})}if(r.protocol!==`http:`&&r.protocol!==`https:`)throw Error(`CdnRegistryFetcher requires an HTTP(S) registry URL: ${n}`);if(!Number.isFinite(t)||t<=0)throw Error(`CdnRegistryFetcher requires a positive finite timeoutMs, got ${t}`);this.url=r.toString(),this.timeoutMs=t}async fetch(){let e=new AbortController,t=setTimeout(()=>e.abort(),this.timeoutMs);try{let t=await fetch(this.url,{signal:e.signal});if(!t.ok)throw Error(`Failed to fetch model registry: ${t.status} ${t.statusText}`);let n=(0,Ro.parse)(await t.text());return vn.parse(n)}catch(e){throw e instanceof Error&&e.name===`AbortError`?Error(`Failed to fetch model registry: timed out after ${this.timeoutMs}ms`,{cause:e}):e}finally{clearTimeout(t)}}},Jo=class{cachePath;trackFetchedAt;constructor(e,t={}){this.cachePath=e,this.trackFetchedAt=t.trackFetchedAt??!1}async get(){try{let e=await V.promises.readFile(this.cachePath,`utf-8`),t=Yo(JSON.parse(e)),n=vn.safeParse(t);return n.success?n.data:null}catch{return null}}async set(e){try{await V.promises.mkdir(z.dirname(this.cachePath),{recursive:!0});let t=this.trackFetchedAt?{fetchedAt:new Date().toISOString(),registry:e}:e;await V.promises.writeFile(this.cachePath,JSON.stringify(t,null,2),`utf-8`)}catch(e){console.warn(`[FileRegistryCache] Failed to write cache:`,e)}}};function Yo(e){return pt(e)&&`registry`in e&&`fetchedAt`in e?e.registry:e}const Xo=L.object({name:L.string().optional(),models:L.array(ht)}),Zo=L.object({name:L.string().optional(),models:L.record(L.string(),yn)}),Qo=L.object({$schema:L.literal(`makaio/model-registry/v2`).optional(),updatedAt:L.string().datetime().optional(),labs:L.record(L.string(),Xo).optional(),providers:L.record(L.string(),Zo).optional()}),$o=L.object({name:L.string().optional(),models:L.array(L.record(L.string(),L.unknown()))}),es=L.object({name:L.string().optional(),models:L.record(L.string(),yn)});var ts=class{userModelsDir;constructor(e){this.userModelsDir=e}async fetch(){let e=ns();return await Promise.all([this.loadLabDirectory(z.join(this.userModelsDir,`labs`),e),this.loadProviderDirectory(z.join(this.userModelsDir,`providers`),e)]),await this.loadFlatFiles(e),e}async loadLabDirectory(e,t){let n=await Uo(e),r=await Promise.all(n.map(async e=>({labId:z.basename(e,`.yaml`),lab:await us(e,z.basename(e,`.yaml`))})));for(let{labId:e,lab:n}of r)hs(t,e,n)}async loadProviderDirectory(e,t){let n=await Uo(e),r=await Promise.all(n.map(async e=>({providerId:z.basename(e,`.yaml`),provider:await ds(e)})));for(let{providerId:e,provider:n}of r)gs(t,e,n)}async loadFlatFiles(e){let t=await Uo(this.userModelsDir);for(let n of t){let t=z.basename(n,`.yaml`),r=(0,Ro.parse)(await V.promises.readFile(n,`utf-8`));if(!pt(r))throw Error(`Invalid model registry overlay YAML in ${n}: expected a YAML object.`);if(`labs`in r||`providers`in r){ms(e,Qo.parse(r));continue}if(Array.isArray(r.models)){hs(e,t,fs(r,t));continue}if(pt(r.models)){gs(e,t,ps(r));continue}throw Error(`Unrecognized model registry overlay shape in ${n}: expected labs, providers, or models.`)}}};function ns(){return{labs:{},providers:{}}}function rs(e,t){return{$schema:`makaio/model-registry/v2`,updatedAt:t.updatedAt??e.updatedAt,labs:_s(is(e.labs,t.labs)),providers:vs(ss(e.providers,t.providers))}}function is(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t===void 0?r:{...t,...r,models:as(t.models,r.models)}}return n}function as(e,t){let n=[...e],r=new Map(e.map((e,t)=>[e.name,t]));for(let e of t){let t=r.get(e.name);if(t===void 0){r.set(e.name,n.length),n.push(e);continue}n[t]=os(n[t],e)}return n}function os(e,t){let n={...e,...t},r=bn(e.metadata,t.metadata);return r===void 0?delete n.metadata:n.metadata=r,n}function ss(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t===void 0?r:{...t,...r,models:cs(t.models,r.models)}}return n}function cs(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t===void 0?r:ls(t,r)}return n}function ls(e,t){let n={...e,...t},r=bn(e.metadata,t.metadata);return r===void 0?delete n.metadata:n.metadata=r,n}async function us(e,t){return fs((0,Ro.parse)(await V.promises.readFile(e,`utf-8`)),t)}async function ds(e){return ps((0,Ro.parse)(await V.promises.readFile(e,`utf-8`)))}function fs(e,t){let n=$o.parse(e);return{...n.name===void 0?{}:{name:n.name},models:n.models.map(e=>ht.parse({...e,labId:t}))}}function ps(e){let t=es.parse(e);return{...t.name===void 0?{}:{name:t.name},models:t.models}}function ms(e,t){e.updatedAt=t.updatedAt??e.updatedAt,t.labs!==void 0&&(e.labs=is(e.labs,t.labs)),t.providers!==void 0&&(e.providers=ss(e.providers,t.providers))}function hs(e,t,n){e.labs=is(e.labs,{[t]:n})}function gs(e,t,n){e.providers=ss(e.providers,{[t]:n})}function _s(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,{...t,name:t.name??e}]))}function vs(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,{...t,name:t.name??e}]))}var ys=class{userModelsDir;baseFetcher;constructor(e,t){this.userModelsDir=e,this.baseFetcher=t}async fetch(){let e=await this.baseFetcher.fetch();if(await this.validateDirectory(this.userModelsDir),await this.validateDirectory(`${this.userModelsDir}/labs`),await this.validateDirectory(`${this.userModelsDir}/providers`),!await this.hasAnyOverlayFiles())return e;let t=rs(e,await new ts(this.userModelsDir).fetch());return vn.parse(t)}async validateDirectory(e){await Uo(e)}async hasAnyOverlayFiles(){let e,t;try{let n=await R.readdir(this.userModelsDir,{withFileTypes:!0});e=n.map(e=>String(e.name)),t=new Map(n.map(e=>[String(e.name),[e.isFile(),e.isDirectory()]]))}catch(e){if(Bo(e))return!1;throw e}return e.some(e=>{let[n,r]=t.get(e)??[!1,!1];return n&&e.endsWith(`.yaml`)||r&&(e===`labs`||e===`providers`)})}},bs=class extends Error{constructor(e){super(`[boot] Could not find workspace root (no package.json with 'workspaces' field) starting from: ${e}`),this.name=`WorkspaceRootNotFoundError`}};function xs(e){return Ss(e).root}function Ss(e){let t=z.resolve(e);for(;;){let n=z.join(t,`package.json`);if(V.existsSync(n))try{let e=V.readFileSync(n,`utf-8`),r=JSON.parse(e);if(typeof r==`object`&&r&&`workspaces`in r)return{root:t,packageJsonPath:n,workspaces:rr(r)}}catch{}let r=z.dirname(t);if(r===t)throw new bs(e);t=r}}const Cs=`MAKAIO_MODEL_REGISTRY_SOURCES`;function ws(e){let t=z.join(e.makaioHome,`models`),n=z.join(e.makaioHome,`cache`,`model-registry`);return new ys(t,new _n(Ts(e).map(e=>Os(e,n))))}function Ts(e){let t=Ds(e.srcDir,e.cwd),n=t.slice(0,-1),r=t.slice(n.length);return js([...Es(e.env??process.env),...e.seedPaths??[],...n,e.cdnRegistryUrl??`https://makaio-ai.github.io/makaio-framework/model-registry.yaml`,...e.fallbackSeedPaths??[],...r])}function Es(e){let t=e[Cs]?.trim();if(!t)return[];let n;try{n=t.startsWith(`[`)?JSON.parse(t):t}catch(e){throw Error(`[boot] ${Cs} must be a JSON string array or a single source string`,{cause:e})}let r=Array.isArray(n)?n:[n];if(!r.every(e=>typeof e==`string`))throw Error(`[boot] ${Cs} entries must be strings`);return r.map(e=>e.trim()).filter(e=>e.length>0)}function Ds(e,t=process.cwd()){let n=z.resolve(e,`static/model-registry.yaml`),r=z.resolve(t,`static/model-registry.yaml`);try{return js([r,z.resolve(xs(e),`static/model-registry.yaml`),n])}catch(e){if(e instanceof bs)return js([r,n]);throw e}}function Os(e,t){let n=As(e);return n?.protocol===`http:`||n?.protocol===`https:`?new gn(new qo(n.href),new Jo(z.join(t,`${Ns(n.href)}.json`),{trackFetchedAt:!0})):new Wo(ks(e,n))}function ks(e,t){if(t?.protocol===`file:`)return at(t);if(t!==void 0)throw Error(`[boot] Unsupported model registry source protocol "${t.protocol}" for ${e}`);return z.isAbsolute(e)?e:z.resolve(e)}function As(e){try{return new URL(e)}catch{return}}function js(e){let t=new Set,n=[];for(let r of e){let e=Ms(r);t.has(e)||(t.add(e),n.push(r))}return n}function Ms(e){let t=As(e);return t?.protocol===`file:`?`file:${z.resolve(at(t))}`:t===void 0?`file:${z.resolve(e)}`:`${t.protocol}//${t.host}${t.pathname}${t.search}`}function Ns(e){return ct(`sha256`).update(e).digest(`hex`).slice(0,16)}async function Ps(e){let t=z.resolve(e.frameworkPackagePath);await Fs(t);let n=z.join(e.makaioHome,`node_modules`,`@makaio`),r=z.join(n,`framework`);await R.mkdir(n,{recursive:!0}),!await Is(r,t)&&(await R.rm(r,{recursive:!0,force:!0}),await R.symlink(t,r,process.platform===`win32`?`junction`:`dir`))}async function Fs(e){let t=z.join(e,`package.json`),n=await R.readFile(t,`utf-8`);if(JSON.parse(n).name!==`@makaio/framework`)throw Error(`Expected @makaio/framework package at ${e}`)}async function Is(e,t){try{return(await R.lstat(e)).isSymbolicLink()?await R.realpath(e)===await R.realpath(t):!1}catch(e){if(Ls(e))return!1;throw e}}function Ls(e){return typeof e==`object`&&!!e&&`code`in e&&e.code===`ENOENT`}function Rs(e,t){let n=t.endsWith(`/`)?t:`${t}/`,r=ir({root:e,rewriteRequestPath:e=>e.slice(n.length-1)});return e=>{e.use(`${t}/*`,r)}}function zs(e){return`/extensions/${e}/browser`}function Bs(e,t){return`extensions/${e}/browser/${Hs(t)}`}function Vs(e,t){return`/${Bs(e,t)}.js`}function Hs(e){let t=e.replaceAll(B.win32.sep,B.posix.sep),n=B.posix.basename(t),r=B.posix.extname(n);return r?n.slice(0,-r.length):n}function Us(e,t,n={}){let{createMount:r=Rs}=n,i=new Map(e.map(e=>[e.descriptor.name,e]));return t.map(e=>{let t=i.get(e.name);if(!t?.descriptor.entrypoints?.browser)return e;if(e.browser)return console.warn(`[extensions] ${e.name}: server entry already declares browser, skipping browser bridge`),e;if(e.http)return console.warn(`[extensions] ${e.name}: server entry already declares http, skipping browser bridge`),e;let n=t.descriptor.entrypoints.browser,a=N(`browser`,n),o=P(`browser`,n,t.extensionPath);if(!o)return console.warn(`[extensions] ${e.name}: browser entry has no resolvable candidate within extension directory, skipping bridge`),e;let s=z.dirname(o),c=zs(e.name),l=Vs(e.name,a);return xe({...e,browser:{entrypoint:l},http:{prefix:c,mount:r(s,c)}},e)})}function Ws(e,t={}){let{createMount:n=Rs,frameworkVersion:r}=t,i=[],a=new Map;for(let t of e){let{descriptor:e,extensionPath:o}=t;if(r!==void 0&&!Se(t,r)||e.execution===`detached`||e.entrypoints.server||!e.entrypoints.browser)continue;let s=e.entrypoints.browser,c=N(`browser`,s),l=P(`browser`,s,o);if(!l){console.warn(`[extensions] ${e.name}: browser entry has no resolvable candidate within extension directory, skipping synthesis`);continue}let u=z.dirname(l),d=zs(e.name),f=Vs(e.name,c);i.push({...be(e),browser:{entrypoint:f},http:{prefix:d,mount:n(u,d)}}),e.config?.defaults&&a.set(e.name,e.config.defaults)}return{packages:i,configDefaults:a}}async function Gs(){let e=z.dirname(at(import.meta.url)),t=z.resolve(e,`..`,`package.json`),n=await R.readFile(t,`utf-8`),r=JSON.parse(n);if(typeof r!=`object`||!r||!(`version`in r)||typeof r.version!=`string`)throw Error(`[boot] package.json at ${t} has no string 'version' field`);return r.version}async function Ks(e){let t={packages:[],automationCronSchedulerHostPolicies:[],configDefaults:new Map},n=[],r=e.frameworkVersion??await Gs();try{if(n=await e.extensionOptions.extensions.discover(),n=qs(n,e.skipExtensions),process.env.MAKAIO_DEBUG){console.info(`[boot] Discovered %d extension descriptor(s):`,n.length);for(let e of n)console.info(`[boot] - %s (%s)`,e.descriptor.displayName??e.descriptor.name,e.source)}}catch(e){if(e instanceof j)throw e;console.warn(`[boot] Extension discovery failed, skipping:`,e instanceof Error?e.message:e)}let i=n.filter(e=>Se(e,r));if(i.length>0)try{t=await Ce(i,{frameworkVersion:r})}catch(e){if(e instanceof Oe)throw e;console.warn(`[boot] Extension loading failed, skipping:`,e instanceof Error?e.message:e)}let a={...e.createMount?{createMount:e.createMount}:{},frameworkVersion:r},o=Us(i,t.packages,a),s=Ws(i,a),c=await Te(i,[...o,...s.packages],{frameworkVersion:r});return{discovered:n,extensionLoadResult:t,browserOnlyResult:s,extensionsWithCli:c,allExtensionPackages:c.packages}}function qs(e,t){if(t.size===0)return e;let n=new Set(e.map(e=>e.descriptor.name)),r=[...t].filter(e=>!n.has(e));r.length&&console.warn(`[boot] MAKAIO_SKIP_EXTENSIONS: no matching extension(s): %s`,r.join(`, `));let i=new Set([...t].filter(e=>n.has(e))),a=e.filter(e=>!i.has(e.descriptor.name));return a.length<e.length&&console.info(`[boot] MAKAIO_SKIP_EXTENSIONS filtered %d extension(s): %s`,e.length-a.length,[...i].join(`, `)),a}async function Js(e,t){let n=Qt(e),r=n.dialect,i=new Set;for(let a of t){if(i.has(a.migrationSourceId))continue;i.add(a.migrationSourceId);let t=Ys(a.migrationSourceId,n);process.env.MAKAIO_DEBUG===`true`&&console.info(`[boot] Running migrations for package: ${a.name}`);let o;try{o=gr({migrationsDir:a.migrationsPathByDialect?.[r]??a.migrationsPath,migrationSourceId:a.migrationSourceId,expectedDialect:r})}catch(e){throw e instanceof Error&&e.name===`MigrationDialectMismatchError`?Error(`Extension '${a.name}' ships migrations that do not match the '${r}' database dialect. Disable this extension on '${r}' hosts or ship a migration chain generated for '${r}'.`,{cause:e}):e}await Er(e,o,t)}}function Ys(e,t){let n=ct(`sha256`).update(e).digest(`hex`).slice(0,16);return t.migrations.extensionLedgerName(n)}function Xs(e,t){return new At({signingKeyPair:e.signingKeyPair,identityId:e.machineId,getPeerSigningKey:t})}const Zs=St.fact.$meta.namespace,Qs=St.fact.subject;function $s(e,t){if(t.transport!==void 0||t.localOnly===!0)return!1;let n=`${t.namespace}.${t.subject}`,r=e.getContext().namespaceRegistry;return!r.isLocalSubject(n)&&!r.isCollectorOnlySubject(n)}function ec(e){return e.type===`event`?{type:`event`,namespace:e.namespace,subject:e.subject,payload:e.payload,messageId:e.messageId,...e.correlationId===void 0?{}:{correlationId:e.correlationId}}:{type:e.type,namespace:e.namespace,subject:e.subject,payload:e.payload,messageId:e.messageId,correlationId:e.correlationId??e.messageId}}async function tc(e,t,n,r,i){let a=ec(i),o=Ot({message:a,direction:`outbound`,observedAt:Date.now(),machineId:n,namespaceRegistry:t.getContext().namespaceRegistry,projectorRegistry:r.projectorRegistry});for(let t of o)await e.send({type:`event`,namespace:Zs,subject:Qs,payload:t,messageId:`${a.messageId}:telemetry:${t.factId}`,correlationId:a.correlationId})}async function nc(e,t,n){let r=n.transport;await r.connect();let i;try{i=e.observeMessages(i=>{$s(e,i)&&tc(r,e,t,n,i).catch(e=>{console.error(`[upstream-telemetry] Failed to export subject telemetry fact`,e)})})}catch(e){throw await r.disconnect().catch(()=>void 0),e}return{shutdown:async()=>{i(),await r.disconnect()}}}function rc(e,...t){return async n=>{let r=await e(n);if(r!==void 0)return r;for(let e of t){let t=await e?.(n);if(t!==void 0)return t}}}function ic(e,t){let n=e===`0.0.0.0`?`127.0.0.1`:e===`::`?`::1`:e;return`ws://${n.includes(`:`)&&!n.startsWith(`[`)?`[${n}]`:n}:${t}/bus`}async function ac(e,t,n,r){let o=r.makaioHome??Fe(),c=r.operatorConfig??await fa({makaioHome:o}),_=await u(o);_.readFailure&&console.warn(`[boot] Extension enablement file could not be read:`,_.readFailure.diagnostic);let y=Vr(r,o),x=d(),C=r.peerSigningKeyResolver,w=[];try{if(r.lanBind&&e.dispatchingAuth&&!C)throw Error(`[boot] peerSigningKeyResolver is required when lanBind is enabled`);let u=r.configProvider,d=u??new Br(new Or(o),o),ee=await d.getConfig({mode:`local`}),D=r.machineIdentity??await Fn(z.join(o,`keys`)),O=u?await u.getMachineId():D.machineId;if(D.machineId!==O)throw Error(`[boot] Config provider machineId '${O}' does not match runtime machine identity '${D.machineId}'`);console.info(`[boot] Config resolved (mode=%s)`,ee.mode);let k=Dt;if(k.registerNamespaces(bt),k.registerNamespaces(xt),k.registerNamespaces([Nt,Bn,Ft,It,pe]),k.registerNamespaces(an),k.registerNamespaces(r.hostNamespaces??[]),process.env.MAKAIO_DEBUG===`true`){let e=k.__onAny(e=>{let t;try{t=JSON.stringify(e.payload)}catch{t=`[unserializable payload]`}console.debug(`[bus-server] subject: ${e.subject}, payload: ${t}`)});w.push(e)}if(r.upstreamTelemetry){let e=await nc(k,O,r.upstreamTelemetry);w.push(e.shutdown)}await k.emit(Wn.phase.busCreated,{machineId:O}),await e.connect(k,O),w.push(()=>e.disconnect()),console.info(`[boot] Transport ready on %s:%d`,n,t);try{r.onTransportReady?.({port:t,host:n})}catch(e){console.warn(`[boot] onTransportReady callback failed:`,e)}let{databaseClient:re}=await Yr({makaioHome:o,migrationsDir:r.centralMigrationsDir,database:r.database}),ie=re.db;console.info(`[boot] Database initialized`),w.push(()=>re.close());let ae=[k.on(me.database,e=>{e.setResult({db:ie})}),k.on(me.machineIdentity,e=>{e.setResult({identity:D})}),k.on(me.busPort,e=>{e.setResult({port:t})})],oe=!1,ce=k.on(Wn.isReady,e=>{e.setResult({ready:oe,machineId:O})});w.push(()=>{oe=!1,ce();for(let e of ae)e()}),await k.emit(Wn.phase.coreReady,{machineId:O}),console.info(`[boot] Core ready (machineId=%s)`,O);let le=z.dirname(at(import.meta.url)),fe=ze(k,d);w.push(fe),console.info(`[boot] Config handlers registered`),r.frameworkPackagePath&&(await Ps({makaioHome:o,frameworkPackagePath:r.frameworkPackagePath}),console.info(`[boot] Framework package linked for extension resolution`));let A=r.frameworkModuleResolver;if(A){try{await A.install()}catch(e){throw await Promise.resolve(A.uninstall()).catch(()=>void 0),e}w.push(()=>A.uninstall()),console.info(`[boot] Framework module resolver installed`)}let j={current:void 0},he=ws({makaioHome:o,srcDir:le,fallbackSeedPaths:r.modelRegistryFallbackSeedPaths}),ge=process.env.USER??process.env.USERNAME??`unknown`;try{ge=nn.userInfo().username}catch{}let _e=r.frameworkVersion??await Gs(),{extensionLoadResult:ve,browserOnlyResult:be,extensionsWithCli:xe,allExtensionPackages:Se}=await Ks({extensionOptions:y,skipExtensions:x,frameworkVersion:_e,createMount:r.createMount}),Ce=p(process.platform,r.hostCapabilities),we=de({packages:Se,configProvider:_,surface:r.surface??`headless`,runtimeEnvironment:Ce}),M;process.platform===`darwin`&&({platformMacOSPackage:M}=await import(`../src-CqQSqLQI.mjs`));let Te=new Set([oa.name,l.name,xn.name,...r.enablePackageManager===!1?[]:[ye().name],jn.name,Ti.name,...hn.map(e=>e.name),Qn.name,on.name,Zn.name,Gn.name,...M?[M.name]:[]]),Ee=a({bootEligibleExtensionPackages:we,configProvider:_,frameworkPackageNames:Te}),{effectiveEnabledBootPackages:N,effectiveEnabledPackageNames:De,mergeableExtensionPackages:Oe}=Ee;f(Oe,{fileAccessRuleProvider:r.fileAccessRuleProvider});let P=ic(n,t),ke=new ne(k),F=new Pt(k,{surface:r.surface??`headless`,db:ie,extensionContextBase:{cwd:process.cwd(),platform:process.platform,homedir:nn.homedir(),makaioHome:o,username:ge,machineId:D.machineId,busUrl:P,tryImport:b,credentials:ke},runtimeEnvironment:Ce,launcherCommand:r.launcherCommand,loadConfig:r.extensionConfigProvider?e=>r.extensionConfigProvider.loadConfig(e):void 0,loadEnabled:e=>_.loadEnabled(e),persistEnabled:(e,t)=>_.persistEnabled(e,t),installedCatalog:Ui({discovery:y.extensions,...A?.frameworkDistPath?{frameworkDistPath:A.frameworkDistPath}:{}}),operatorConfig:c,runMigrations:e=>Js(ie,e),extensionManagedNames:Ee.extensionManagedPackageNames,frameworkPackageNames:Te}),Ae=r.adapterConfigRepository??new Mn({providerConfigsDir:z.join(o,`provider-configs`),adaptersDir:z.join(o,`adapters`)}),I=[oa,l,Sn({definitions:N.flatMap(e=>e.clients??[]),strategyDependencies:r.clientBinaryStrategyDependencies,postInstallHandlers:r.clientBinaryPostInstallHandlers})];r.enablePackageManager!==!1&&I.push(ye({frameworkPeerRange:`^${_e}`,frameworkPackagePath:r.frameworkPackagePath,frameworkDistPath:A?.frameworkDistPath||void 0,devPortalPackages:r.devPortalPackages}));let je={cwd:process.cwd()},Me=async e=>F.getExtensionService(Qn)?.resolveWorkspaceRoot(e),Ne=rc(Me,r.piscinaWorkspaceRootResolver),Pe=rc(Me,r.workflowRunner?.mode===`piscina`?r.workflowRunner.resolveWorkspaceRoot:void 0,r.piscinaWorkspaceRootResolver),Fe=te({busUrl:P,runtimeModuleDir:le,platformDefaults:je,workflowRunner:r.workflowRunner?.mode===`piscina`?{...r.workflowRunner,resolveWorkspaceRoot:Pe}:r.workflowRunner,makaioHome:o,bus:k,executionAttemptRepository:r.executionAttemptRepository,executionAttemptBootstrapTimeoutMs:r.executionAttemptBootstrapTimeoutMs,workflowMaterializationSpecResolvers:r.workflowMaterializationSpecResolvers}),{adapterSubsystemPackage:Ie}=h({coordinator:F,configRepository:Ae,platformDefaults:je});I.push(Ie,Ti,...s(N,{fileAccessRuleProvider:r.fileAccessRuleProvider}),$n(Fe),un(he),Zn),M&&I.push(M);let Be=qn({hostPackages:[...r.automationCronSchedulerPackage?[r.automationCronSchedulerPackage]:[],...i(ve.automationCronSchedulerHostPolicies,{packages:Se,configProvider:_,surface:r.surface??`headless`,runtimeEnvironment:Ce},N)],loadedPackages:[...I,...N]});Be&&I.push(Be);let Ve=[...I,...Nn(Oe)],He=new Set(Ve.map(e=>e.name)),Ue=Le(Re(ve.configDefaults,be.configDefaults,xe.configDefaults,r.packageConfigDefaults),He),We=F.load(Ve,Ue);pa(c,We),ma(We),F.registerContributionProcessor(Xn()),F.registerContributionProcessor(sn()),F.registerContributionProcessor(cn()),F.registerContributionProcessor(ln()),F.registerContributionProcessor(Yn()),F.registerContributionProcessor(Jn()),F.registerContributionProcessor(fn()),F.registerContributionProcessor(mn()),F.registerContributionProcessor(pn()),F.registerContributionProcessor(dn({forEachActiveExtension:e=>F.forEachActiveExtension(e)})),F.registerContributionProcessor(Kn({forEachActiveExtension:e=>F.forEachActiveExtension(e)})),r.routeGraphBuilder&&F.registerContributionProcessor(Wi(r.routeGraphBuilder)),m(w,g(v(We,Ee.extensionManagedPackageNames,De),k,F)),w.push(()=>ke.close()),w.push(()=>F.shutdown()),m(w,r.configureCoordinator?.({bus:k,coordinator:F,registerContributionProcessor:e=>{F.registerContributionProcessor(e)},getAdapterSubsystemService:()=>F.getExtensionService(jn)})),await F.startAll(),await k.emit(Wn.phase.servicesReady,{machineId:O});let Ge=F.list(),Ke=Ge.filter(e=>e.state===`active`);if(console.info(`[boot] Extensions started: %d active`,Ke.length),process.env.MAKAIO_DEBUG){let e=Ge.filter(e=>e.state===`failed`);for(let e of Ke)console.info(`[boot] ✓ %s (%s)`,e.displayName,e.name);for(let t of e)console.warn(`[boot] ✗ %s (%s): %s`,t.displayName,t.name,t.error??`unknown`)}j.current=F.getExtensionService(jn);let qe=F.getExtensionService(Qn)?.executionAttemptAuthority;if(qe===void 0)console.info(`[boot] Piscina workflow provider not registered: no ExecutionAttemptAuthority configured`);else{let e=new T({workerEntry:ue({moduleDir:le,mode:z.basename(le)===`src`?`source`:`dist`}),manifest:{contributionRefs:[]},resolveWorkspaceRoot:Ne}),t=new E({id:gt,displayName:`Local (Piscina)`,runner:e,bus:k,launchResolver:se(e=>qe.getInstruction(e))});try{await Tt(k,t)}catch(t){throw await e.dispose().catch(()=>void 0),t}w.push(async()=>{try{await Et(k,t.id)}finally{await e.dispose().catch(()=>void 0)}}),console.info(`[boot] Piscina thin workflow provider registered (id=%s)`,t.id)}w.push(pr(k,()=>j.current?.getLoadedAdapters()??[],()=>j.current?.getAdapterInstances()??new Map,e=>F.getExtension(e),e=>c.get(e),e=>F.getResolvedConfig(e)));let Je=S({bus:k,currentMachineId:O,resolveLiveAdapterId:e=>j.current?.resolveLiveAdapterId(e),resolveLiveAdapterIdentity:e=>j.current?.resolveLiveAdapterIdentity(e),listLiveAdapterIdentities:()=>j.current?.getLiveAdapterIdentities()??[]});if(w.push(Je.cleanup),await k.broadcast(Wn.phase.coordinatorReady,{machineId:O}),r.lanBind&&e.dispatchingAuth&&C){let t=Xs(D,C);e.dispatchingAuth.setE2EAuth(t),console.info(`[boot] E2E auth enabled (LAN mode, machineId=%s)`,O)}oe=!0,await k.emit(Wn.ready,{machineId:O}),console.info(`[boot] Runtime ready (machineId=%s)`,O);let Ye=Lt([...w].reverse());return{port:t,host:n,machineId:O,bus:k,coordinator:F,trayEntries:F.trayEntries,windowRegistry:F.windowRegistry,shutdown:Ye}}catch(e){console.error(`[boot] Startup failed — rolling back started resources`,e);for(let e of[...w].reverse())try{await e()}catch(e){console.warn(`[boot] Rollback step error:`,e)}throw e}}async function oc(e){let t=new zr({httpServer:e.httpServer,auth:e.auth,loopbackName:e.loopbackName??`node`}),n=e.httpServer.address();if(typeof n!=`object`||!n)throw Error(`HTTP server is not bound to a TCP address`);return ac(t,n.port,n.address,{...e,hostCapabilities:c(e.hostCapabilities),clientBinaryStrategyDependencies:e.clientBinaryStrategyDependencies??fe()})}const sc=`MAKAIO_UPSTREAM_URL`,cc=`MAKAIO_UPSTREAM_SECRET`;function lc(e){return new Mt({url:e.url,name:`upstream-telemetry-ws`,auth:e.secret===void 0?void 0:new jt({secret:e.secret})})}function uc(e={}){let t=e.env??process.env,n=fc(t[cc]),r=dc(t[sc]);if(r===void 0){if(n!==void 0)throw Error(`${cc} requires ${sc}`);return}return{transport:(e.createTransport??lc)({url:r,...n===void 0?{}:{secret:n}})}}function dc(e){let t=e?.trim();return t===void 0||t===``?void 0:t}function fc(e){let t=e?.trim();return t===void 0||t===``?void 0:t}async function pc(e){return{...await Ae(e),hostCapabilities:[`node`]}}async function mc(e){let{db:t}=await e.request(me.database,{});return t}const hc=[`default`,`import`,`require`];var gc=class{frameworkDistPath=``;install(){}uninstall(){}},_c=class{frameworkDistPath;hooks;installPromise;installToken;constructor(e){this.frameworkDistPath=e}async install(){if(this.hooks)return;if(this.installPromise)return this.installPromise;let e={};this.installToken=e;let t=this.installWithToken(e);this.installPromise=t;try{await t}finally{this.installPromise===t&&(this.installPromise=void 0)}}async installWithToken(e){let{registerHooks:t}=await import(`node:module`);if(this.installToken!==e||this.hooks)return;let n=this.frameworkDistPath,r=yc(n);this.hooks=t({resolve(e,t,i){let a=vc(n,e,r);return a?{shortCircuit:!0,url:ot(a).href}:i(e,t)}})}uninstall(){this.installToken=void 0,this.installPromise=void 0,this.hooks?.deregister(),this.hooks=void 0}};function vc(e,t,n){if(!t.startsWith(`@makaio/framework/`))return;let r=t.slice(18),i=r.split(`/`);if(i.length===0||i.some(e=>e.length===0||e===`.`||e===`..`||e.includes(`\\`)))return;let a=xc((n??yc(e))[`./${r}`]);if(!a)return;let o=Sc(a);if(!o)return;let s=B.resolve(e,o);return Cc(s,e)?s:void 0}function yc(e){let t=B.join(e,`..`,`package.json`);return bc(JSON.parse(dt(t,`utf-8`)).exports)}function bc(e){if(typeof e!=`object`||!e||Array.isArray(e))return{};let t={};for(let[n,r]of Object.entries(e))if(n.startsWith(`.`)){if(typeof r==`string`){t[n]=r;continue}typeof r==`object`&&r&&!Array.isArray(r)&&(t[n]=r)}return t}function xc(e){if(typeof e==`string`)return e;if(e)for(let t of hc){let n=e[t];if(typeof n==`string`)return n}}function Sc(e){let t=e.split(`\\`).join(`/`);if(t.startsWith(`./dist/`))return t.slice(7)}function Cc(e,t){let n=B.relative(t,e);return n===``||!n.startsWith(`..`)&&!B.isAbsolute(n)}export{O as AttemptOutcomeDeliveryError,le as AuthorityRequestDeliveryError,qe as BootstrapStartRefusedError,zr as BusServerTransportProvider,nt as CODE_EXECUTION_DEFAULT_IDLE_TIMEOUT_MS,Qe as CODE_EXECUTION_DEFAULT_MAX_ARGUMENT_BYTES,et as CODE_EXECUTION_DEFAULT_MAX_CONCURRENCY,Ze as CODE_EXECUTION_DEFAULT_MAX_INVOCATIONS_PER_WORKER,Ye as CODE_EXECUTION_DEFAULT_MAX_PROGRAM_FILES,$e as CODE_EXECUTION_DEFAULT_MAX_QUEUED_INVOCATIONS,tt as CODE_EXECUTION_DEFAULT_MAX_RESULT_BYTES,Xe as CODE_EXECUTION_DEFAULT_MAX_SOURCE_BYTES,A as ExplicitDescriptorDiscovery,j as ExtensionNameCollisionError,Or as FileConfigStorage,Jo as FileRegistryCache,he as FilesystemDescriptorDiscovery,C as InProcessWorkflowRunner,ke as MAKAIO_CONFIG_FILE_ENV,F as MAKAIO_HOME_ENV,cc as MAKAIO_UPSTREAM_SECRET_ENV,sc as MAKAIO_UPSTREAM_URL_ENV,_ as MAX_ENABLEMENT_FILE_BYTES,ca as MAX_OPERATOR_CONFIG_BYTES,ge as MergedDescriptorDiscovery,r as NodeCredentialProvider,_c as NodeFrameworkModuleResolver,gc as NoopFrameworkModuleResolver,Ge as OperationAdmissionRefusedError,ee as OutcomeDeliveryError,rt as PiscinaCodeExecutionProvider,He as RuntimeRegistrationRefusedError,me as RuntimeSubjects,ne as StoredCredentialProvider,T as ThinWorkflowPiscinaRunner,bs as WorkspaceRootNotFoundError,S as activateAdapterRuntimeIdentity,Be as admitWorkflowRunOperation,nc as attachUpstreamTelemetry,oc as bootMakaioRuntime,ac as bootMakaioRuntimeCore,We as bootstrapWorkerRuntime,Us as bridgeExtensionBrowserEntries,Ae as buildConfiguredRuntimeOptions,Bs as buildExtensionBrowserRollupInputName,Vs as buildExtensionBrowserRuntimeEntrypoint,pc as buildNodeRuntimeOptions,Je as captureWorkflowExecutionBusSecretCleanup,da as createExtensionOperatorConfigSnapshot,Mr as createHonoRouteGraph,Pr as createHttpRouteGraphBuilder,Ui as createInstalledExtensionCatalogSource,re as createIsolatedWorkflowRuntime,ce as createLocalGitWorkspacePreparation,I as createMakaioConfigDiscovery,fe as createNodeClientBinaryStrategyDependencies,lc as createUpstreamTelemetryTransport,Ai as createWorkerExportedPackagesReader,je as defineMakaioConfig,N as entrypointStem,Le as filterConfigDefaultsForLoadedPackages,xs as findWorkspaceRoot,Ss as findWorkspaceRootInfo,mc as getRuntimeDatabase,Yr as initializeNodeDatabase,D as installAttemptControlEndpoint,Ke as installOperationDeliveryEndpoint,we as isCliContributionLike,y as isExtensionDisabledInStore,o as isExtensionEnabled,Ee as isMakaioExtensionLike,x as isMissingOptionalRuntimePackage,De as isWithinDirectory,u as loadExtensionEnablementStore,fa as loadExtensionOperatorConfig,Ce as loadExtensions,Me as loadMakaioConfig,Pn as loadOrCreateMachineIdentity,In as machineKeysExist,Re as mergePackageConfigDefaults,c as normalizeNodeHostCapabilities,M as normalizePackageExport,Ne as parseMakaioConfig,h as prepareAdapterRuntime,Gs as readFrameworkVersion,n as registerAdapterNameResolver,Ve as registerAndAdmitWorkflowRun,pr as registerRuntimeHandlers,Ue as registerWorkerRuntime,Ur as resolveBundledMigrationsDir,P as resolveConventionEntrypoint,ae as resolveExtensionEnablementFile,ua as resolveExtensionOperatorConfigDir,vc as resolveFrameworkSpecifier,jr as resolveListeningPort,Pe as resolveMakaioConfigPath,Fe as resolveMakaioHome,kr as resolveStaticModelRegistryPath,uc as resolveUpstreamTelemetryBootOptionsFromEnv,ue as resolveWorkflowWorkerEntry,oe as runHeadlessWorker,k as runHeadlessWorkflowWorker,Dr as runMigrations,sr as runRuntimeHandlerCleanups,w as runWorkloadInvocation,Mi as scanInstalledExtensions,s as selectFrameworkCorePackages,Ie as shouldIncludeExtension,ie as submitAttemptOutcomeWithAck,b as tryImport,Ln as validateMachineKeys,Ar as waitForServerListening,ma as warnOnUnaddressableExtensionOperatorConfigNames,pa as warnOnUnappliedExtensionOperatorConfig};
120
+ `)}`)}};async function Go(e){try{return await V.promises.readFile(e,`utf-8`)}catch(t){if(Ko(t))return;throw Error(`Failed to read bundled model registry seed at ${e}: ${Ho(t)}`,{cause:t})}}function Ko(e){return Bo(e)||Vo(e)}var qo=class{url;timeoutMs;constructor(e,t=1e4){let n=e.trim();if(!n)throw Error(`CdnRegistryFetcher requires a non-empty registry URL`);let r;try{r=new URL(n)}catch(e){throw Error(`CdnRegistryFetcher requires a valid registry URL: ${n}`,{cause:e})}if(r.protocol!==`http:`&&r.protocol!==`https:`)throw Error(`CdnRegistryFetcher requires an HTTP(S) registry URL: ${n}`);if(!Number.isFinite(t)||t<=0)throw Error(`CdnRegistryFetcher requires a positive finite timeoutMs, got ${t}`);this.url=r.toString(),this.timeoutMs=t}async fetch(){let e=new AbortController,t=setTimeout(()=>e.abort(),this.timeoutMs);try{let t=await fetch(this.url,{signal:e.signal});if(!t.ok)throw Error(`Failed to fetch model registry: ${t.status} ${t.statusText}`);let n=(0,Ro.parse)(await t.text());return vn.parse(n)}catch(e){throw e instanceof Error&&e.name===`AbortError`?Error(`Failed to fetch model registry: timed out after ${this.timeoutMs}ms`,{cause:e}):e}finally{clearTimeout(t)}}},Jo=class{cachePath;trackFetchedAt;constructor(e,t={}){this.cachePath=e,this.trackFetchedAt=t.trackFetchedAt??!1}async get(){try{let e=await V.promises.readFile(this.cachePath,`utf-8`),t=Yo(JSON.parse(e)),n=vn.safeParse(t);return n.success?n.data:null}catch{return null}}async set(e){try{await V.promises.mkdir(z.dirname(this.cachePath),{recursive:!0});let t=this.trackFetchedAt?{fetchedAt:new Date().toISOString(),registry:e}:e;await V.promises.writeFile(this.cachePath,JSON.stringify(t,null,2),`utf-8`)}catch(e){console.warn(`[FileRegistryCache] Failed to write cache:`,e)}}};function Yo(e){return pt(e)&&`registry`in e&&`fetchedAt`in e?e.registry:e}const Xo=L.object({name:L.string().optional(),models:L.array(ht)}),Zo=L.object({name:L.string().optional(),models:L.record(L.string(),yn)}),Qo=L.object({$schema:L.literal(`makaio/model-registry/v2`).optional(),updatedAt:L.string().datetime().optional(),labs:L.record(L.string(),Xo).optional(),providers:L.record(L.string(),Zo).optional()}),$o=L.object({name:L.string().optional(),models:L.array(L.record(L.string(),L.unknown()))}),es=L.object({name:L.string().optional(),models:L.record(L.string(),yn)});var ts=class{userModelsDir;constructor(e){this.userModelsDir=e}async fetch(){let e=ns();return await Promise.all([this.loadLabDirectory(z.join(this.userModelsDir,`labs`),e),this.loadProviderDirectory(z.join(this.userModelsDir,`providers`),e)]),await this.loadFlatFiles(e),e}async loadLabDirectory(e,t){let n=await Uo(e),r=await Promise.all(n.map(async e=>({labId:z.basename(e,`.yaml`),lab:await us(e,z.basename(e,`.yaml`))})));for(let{labId:e,lab:n}of r)hs(t,e,n)}async loadProviderDirectory(e,t){let n=await Uo(e),r=await Promise.all(n.map(async e=>({providerId:z.basename(e,`.yaml`),provider:await ds(e)})));for(let{providerId:e,provider:n}of r)gs(t,e,n)}async loadFlatFiles(e){let t=await Uo(this.userModelsDir);for(let n of t){let t=z.basename(n,`.yaml`),r=(0,Ro.parse)(await V.promises.readFile(n,`utf-8`));if(!pt(r))throw Error(`Invalid model registry overlay YAML in ${n}: expected a YAML object.`);if(`labs`in r||`providers`in r){ms(e,Qo.parse(r));continue}if(Array.isArray(r.models)){hs(e,t,fs(r,t));continue}if(pt(r.models)){gs(e,t,ps(r));continue}throw Error(`Unrecognized model registry overlay shape in ${n}: expected labs, providers, or models.`)}}};function ns(){return{labs:{},providers:{}}}function rs(e,t){return{$schema:`makaio/model-registry/v2`,updatedAt:t.updatedAt??e.updatedAt,labs:_s(is(e.labs,t.labs)),providers:vs(ss(e.providers,t.providers))}}function is(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t===void 0?r:{...t,...r,models:as(t.models,r.models)}}return n}function as(e,t){let n=[...e],r=new Map(e.map((e,t)=>[e.name,t]));for(let e of t){let t=r.get(e.name);if(t===void 0){r.set(e.name,n.length),n.push(e);continue}n[t]=os(n[t],e)}return n}function os(e,t){let n={...e,...t},r=bn(e.metadata,t.metadata);return r===void 0?delete n.metadata:n.metadata=r,n}function ss(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t===void 0?r:{...t,...r,models:cs(t.models,r.models)}}return n}function cs(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t===void 0?r:ls(t,r)}return n}function ls(e,t){let n={...e,...t},r=bn(e.metadata,t.metadata);return r===void 0?delete n.metadata:n.metadata=r,n}async function us(e,t){return fs((0,Ro.parse)(await V.promises.readFile(e,`utf-8`)),t)}async function ds(e){return ps((0,Ro.parse)(await V.promises.readFile(e,`utf-8`)))}function fs(e,t){let n=$o.parse(e);return{...n.name===void 0?{}:{name:n.name},models:n.models.map(e=>ht.parse({...e,labId:t}))}}function ps(e){let t=es.parse(e);return{...t.name===void 0?{}:{name:t.name},models:t.models}}function ms(e,t){e.updatedAt=t.updatedAt??e.updatedAt,t.labs!==void 0&&(e.labs=is(e.labs,t.labs)),t.providers!==void 0&&(e.providers=ss(e.providers,t.providers))}function hs(e,t,n){e.labs=is(e.labs,{[t]:n})}function gs(e,t,n){e.providers=ss(e.providers,{[t]:n})}function _s(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,{...t,name:t.name??e}]))}function vs(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,{...t,name:t.name??e}]))}var ys=class{userModelsDir;baseFetcher;constructor(e,t){this.userModelsDir=e,this.baseFetcher=t}async fetch(){let e=await this.baseFetcher.fetch();if(await this.validateDirectory(this.userModelsDir),await this.validateDirectory(`${this.userModelsDir}/labs`),await this.validateDirectory(`${this.userModelsDir}/providers`),!await this.hasAnyOverlayFiles())return e;let t=rs(e,await new ts(this.userModelsDir).fetch());return vn.parse(t)}async validateDirectory(e){await Uo(e)}async hasAnyOverlayFiles(){let e,t;try{let n=await R.readdir(this.userModelsDir,{withFileTypes:!0});e=n.map(e=>String(e.name)),t=new Map(n.map(e=>[String(e.name),[e.isFile(),e.isDirectory()]]))}catch(e){if(Bo(e))return!1;throw e}return e.some(e=>{let[n,r]=t.get(e)??[!1,!1];return n&&e.endsWith(`.yaml`)||r&&(e===`labs`||e===`providers`)})}},bs=class extends Error{constructor(e){super(`[boot] Could not find workspace root (no package.json with 'workspaces' field) starting from: ${e}`),this.name=`WorkspaceRootNotFoundError`}};function xs(e){return Ss(e).root}function Ss(e){let t=z.resolve(e);for(;;){let n=z.join(t,`package.json`);if(V.existsSync(n))try{let e=V.readFileSync(n,`utf-8`),r=JSON.parse(e);if(typeof r==`object`&&r&&`workspaces`in r)return{root:t,packageJsonPath:n,workspaces:rr(r)}}catch{}let r=z.dirname(t);if(r===t)throw new bs(e);t=r}}const Cs=`MAKAIO_MODEL_REGISTRY_SOURCES`;function ws(e){let t=z.join(e.makaioHome,`models`),n=z.join(e.makaioHome,`cache`,`model-registry`);return new ys(t,new _n(Ts(e).map(e=>Os(e,n))))}function Ts(e){let t=Ds(e.srcDir,e.cwd),n=t.slice(0,-1),r=t.slice(n.length);return js([...Es(e.env??process.env),...e.seedPaths??[],...n,e.cdnRegistryUrl??`https://makaio-ai.github.io/makaio-framework/model-registry.yaml`,...e.fallbackSeedPaths??[],...r])}function Es(e){let t=e[Cs]?.trim();if(!t)return[];let n;try{n=t.startsWith(`[`)?JSON.parse(t):t}catch(e){throw Error(`[boot] ${Cs} must be a JSON string array or a single source string`,{cause:e})}let r=Array.isArray(n)?n:[n];if(!r.every(e=>typeof e==`string`))throw Error(`[boot] ${Cs} entries must be strings`);return r.map(e=>e.trim()).filter(e=>e.length>0)}function Ds(e,t=process.cwd()){let n=z.resolve(e,`static/model-registry.yaml`),r=z.resolve(t,`static/model-registry.yaml`);try{return js([r,z.resolve(xs(e),`static/model-registry.yaml`),n])}catch(e){if(e instanceof bs)return js([r,n]);throw e}}function Os(e,t){let n=As(e);return n?.protocol===`http:`||n?.protocol===`https:`?new gn(new qo(n.href),new Jo(z.join(t,`${Ns(n.href)}.json`),{trackFetchedAt:!0})):new Wo(ks(e,n))}function ks(e,t){if(t?.protocol===`file:`)return at(t);if(t!==void 0)throw Error(`[boot] Unsupported model registry source protocol "${t.protocol}" for ${e}`);return z.isAbsolute(e)?e:z.resolve(e)}function As(e){try{return new URL(e)}catch{return}}function js(e){let t=new Set,n=[];for(let r of e){let e=Ms(r);t.has(e)||(t.add(e),n.push(r))}return n}function Ms(e){let t=As(e);return t?.protocol===`file:`?`file:${z.resolve(at(t))}`:t===void 0?`file:${z.resolve(e)}`:`${t.protocol}//${t.host}${t.pathname}${t.search}`}function Ns(e){return ct(`sha256`).update(e).digest(`hex`).slice(0,16)}async function Ps(e){let t=z.resolve(e.frameworkPackagePath);await Fs(t);let n=z.join(e.makaioHome,`node_modules`,`@makaio`),r=z.join(n,`framework`);await R.mkdir(n,{recursive:!0}),!await Is(r,t)&&(await R.rm(r,{recursive:!0,force:!0}),await R.symlink(t,r,process.platform===`win32`?`junction`:`dir`))}async function Fs(e){let t=z.join(e,`package.json`),n=await R.readFile(t,`utf-8`);if(JSON.parse(n).name!==`@makaio/framework`)throw Error(`Expected @makaio/framework package at ${e}`)}async function Is(e,t){try{return(await R.lstat(e)).isSymbolicLink()?await R.realpath(e)===await R.realpath(t):!1}catch(e){if(Ls(e))return!1;throw e}}function Ls(e){return typeof e==`object`&&!!e&&`code`in e&&e.code===`ENOENT`}function Rs(e,t){let n=t.endsWith(`/`)?t:`${t}/`,r=ir({root:e,rewriteRequestPath:e=>e.slice(n.length-1)});return e=>{e.use(`${t}/*`,r)}}function zs(e){return`/extensions/${e}/browser`}function Bs(e,t){return`extensions/${e}/browser/${Hs(t)}`}function Vs(e,t){return`/${Bs(e,t)}.js`}function Hs(e){let t=e.replaceAll(B.win32.sep,B.posix.sep),n=B.posix.basename(t),r=B.posix.extname(n);return r?n.slice(0,-r.length):n}function Us(e,t,n={}){let{createMount:r=Rs}=n,i=new Map(e.map(e=>[e.descriptor.name,e]));return t.map(e=>{let t=i.get(e.name);if(!t?.descriptor.entrypoints?.browser)return e;if(e.browser)return console.warn(`[extensions] ${e.name}: server entry already declares browser, skipping browser bridge`),e;if(e.http)return console.warn(`[extensions] ${e.name}: server entry already declares http, skipping browser bridge`),e;let n=t.descriptor.entrypoints.browser,a=N(`browser`,n),o=P(`browser`,n,t.extensionPath);if(!o)return console.warn(`[extensions] ${e.name}: browser entry has no resolvable candidate within extension directory, skipping bridge`),e;let s=z.dirname(o),c=zs(e.name),l=Vs(e.name,a);return xe({...e,browser:{entrypoint:l},http:{prefix:c,mount:r(s,c)}},e)})}function Ws(e,t={}){let{createMount:n=Rs,frameworkVersion:r}=t,i=[],a=new Map;for(let t of e){let{descriptor:e,extensionPath:o}=t;if(r!==void 0&&!Se(t,r)||e.execution===`detached`||e.entrypoints.server||!e.entrypoints.browser)continue;let s=e.entrypoints.browser,c=N(`browser`,s),l=P(`browser`,s,o);if(!l){console.warn(`[extensions] ${e.name}: browser entry has no resolvable candidate within extension directory, skipping synthesis`);continue}let u=z.dirname(l),d=zs(e.name),f=Vs(e.name,c);i.push({...be(e),browser:{entrypoint:f},http:{prefix:d,mount:n(u,d)}}),e.config?.defaults&&a.set(e.name,e.config.defaults)}return{packages:i,configDefaults:a}}async function Gs(){let e=z.dirname(at(import.meta.url)),t=z.resolve(e,`..`,`package.json`),n=await R.readFile(t,`utf-8`),r=JSON.parse(n);if(typeof r!=`object`||!r||!(`version`in r)||typeof r.version!=`string`)throw Error(`[boot] package.json at ${t} has no string 'version' field`);return r.version}async function Ks(e){let t={packages:[],automationCronSchedulerHostPolicies:[],configDefaults:new Map},n=[],r=e.frameworkVersion??await Gs();try{if(n=await e.extensionOptions.extensions.discover(),n=qs(n,e.skipExtensions),process.env.MAKAIO_DEBUG){console.info(`[boot] Discovered %d extension descriptor(s):`,n.length);for(let e of n)console.info(`[boot] - %s (%s)`,e.descriptor.displayName??e.descriptor.name,e.source)}}catch(e){if(e instanceof j)throw e;console.warn(`[boot] Extension discovery failed, skipping:`,e instanceof Error?e.message:e)}let i=n.filter(e=>Se(e,r));if(i.length>0)try{t=await Ce(i,{frameworkVersion:r})}catch(e){if(e instanceof Oe)throw e;console.warn(`[boot] Extension loading failed, skipping:`,e instanceof Error?e.message:e)}let a={...e.createMount?{createMount:e.createMount}:{},frameworkVersion:r},o=Us(i,t.packages,a),s=Ws(i,a),c=await Te(i,[...o,...s.packages],{frameworkVersion:r});return{discovered:n,extensionLoadResult:t,browserOnlyResult:s,extensionsWithCli:c,allExtensionPackages:c.packages}}function qs(e,t){if(t.size===0)return e;let n=new Set(e.map(e=>e.descriptor.name)),r=[...t].filter(e=>!n.has(e));r.length&&console.warn(`[boot] MAKAIO_SKIP_EXTENSIONS: no matching extension(s): %s`,r.join(`, `));let i=new Set([...t].filter(e=>n.has(e))),a=e.filter(e=>!i.has(e.descriptor.name));return a.length<e.length&&console.info(`[boot] MAKAIO_SKIP_EXTENSIONS filtered %d extension(s): %s`,e.length-a.length,[...i].join(`, `)),a}async function Js(e,t){let n=Qt(e),r=n.dialect,i=new Set;for(let a of t){if(i.has(a.migrationSourceId))continue;i.add(a.migrationSourceId);let t=Ys(a.migrationSourceId,n);process.env.MAKAIO_DEBUG===`true`&&console.info(`[boot] Running migrations for package: ${a.name}`);let o;try{o=gr({migrationsDir:a.migrationsPathByDialect?.[r]??a.migrationsPath,migrationSourceId:a.migrationSourceId,expectedDialect:r})}catch(e){throw e instanceof Error&&e.name===`MigrationDialectMismatchError`?Error(`Extension '${a.name}' ships migrations that do not match the '${r}' database dialect. Disable this extension on '${r}' hosts or ship a migration chain generated for '${r}'.`,{cause:e}):e}await Er(e,o,t)}}function Ys(e,t){let n=ct(`sha256`).update(e).digest(`hex`).slice(0,16);return t.migrations.extensionLedgerName(n)}function Xs(e,t){return new At({signingKeyPair:e.signingKeyPair,identityId:e.machineId,getPeerSigningKey:t})}const Zs=St.fact.$meta.namespace,Qs=St.fact.subject;function $s(e,t){if(t.transport!==void 0||t.localOnly===!0)return!1;let n=`${t.namespace}.${t.subject}`,r=e.getContext().namespaceRegistry;return!r.isLocalSubject(n)&&!r.isCollectorOnlySubject(n)}function ec(e){return e.type===`event`?{type:`event`,namespace:e.namespace,subject:e.subject,payload:e.payload,messageId:e.messageId,...e.correlationId===void 0?{}:{correlationId:e.correlationId}}:{type:e.type,namespace:e.namespace,subject:e.subject,payload:e.payload,messageId:e.messageId,correlationId:e.correlationId??e.messageId}}async function tc(e,t,n,r,i){let a=ec(i),o=Ot({message:a,direction:`outbound`,observedAt:Date.now(),machineId:n,namespaceRegistry:t.getContext().namespaceRegistry,projectorRegistry:r.projectorRegistry});for(let t of o)await e.send({type:`event`,namespace:Zs,subject:Qs,payload:t,messageId:`${a.messageId}:telemetry:${t.factId}`,correlationId:a.correlationId})}async function nc(e,t,n){let r=n.transport;await r.connect();let i;try{i=e.observeMessages(i=>{$s(e,i)&&tc(r,e,t,n,i).catch(e=>{console.error(`[upstream-telemetry] Failed to export subject telemetry fact`,e)})})}catch(e){throw await r.disconnect().catch(()=>void 0),e}return{shutdown:async()=>{i(),await r.disconnect()}}}function rc(e,...t){return async n=>{let r=await e(n);if(r!==void 0)return r;for(let e of t){let t=await e?.(n);if(t!==void 0)return t}}}function ic(e,t){let n=e===`0.0.0.0`?`127.0.0.1`:e===`::`?`::1`:e;return`ws://${n.includes(`:`)&&!n.startsWith(`[`)?`[${n}]`:n}:${t}/bus`}async function ac(e,t,n,r){let o=r.makaioHome??Fe(),c=r.operatorConfig??await fa({makaioHome:o}),_=await u(o);_.readFailure&&console.warn(`[boot] Extension enablement file could not be read:`,_.readFailure.diagnostic);let y=Vr(r,o),x=d(),C=r.peerSigningKeyResolver,w=[];try{if(r.lanBind&&e.dispatchingAuth&&!C)throw Error(`[boot] peerSigningKeyResolver is required when lanBind is enabled`);let u=r.configProvider,d=u??new Br(new Or(o),o),ee=await d.getConfig({mode:`local`}),D=r.machineIdentity??await Fn(z.join(o,`keys`)),O=u?await u.getMachineId():D.machineId;if(D.machineId!==O)throw Error(`[boot] Config provider machineId '${O}' does not match runtime machine identity '${D.machineId}'`);console.info(`[boot] Config resolved (mode=%s)`,ee.mode);let k=Dt;if(k.registerNamespaces(bt),k.registerNamespaces(xt),k.registerNamespaces([Nt,Bn,Ft,It,pe]),k.registerNamespaces(an),k.registerNamespaces(r.hostNamespaces??[]),process.env.MAKAIO_DEBUG===`true`){let e=k.__onAny(e=>{let t;try{t=JSON.stringify(e.payload)}catch{t=`[unserializable payload]`}console.debug(`[bus-server] subject: ${e.subject}, payload: ${t}`)});w.push(e)}if(r.upstreamTelemetry){let e=await nc(k,O,r.upstreamTelemetry);w.push(e.shutdown)}await k.emit(Wn.phase.busCreated,{machineId:O}),await e.connect(k,O),w.push(()=>e.disconnect()),console.info(`[boot] Transport ready on %s:%d`,n,t);try{r.onTransportReady?.({port:t,host:n})}catch(e){console.warn(`[boot] onTransportReady callback failed:`,e)}let{databaseClient:re}=await Yr({makaioHome:o,migrationsDir:r.centralMigrationsDir,database:r.database}),ie=re.db;console.info(`[boot] Database initialized`),w.push(()=>re.close());let ae=[k.on(me.database,e=>{e.setResult({db:ie})}),k.on(me.machineIdentity,e=>{e.setResult({identity:D})}),k.on(me.busPort,e=>{e.setResult({port:t})})],oe=!1,ce=k.on(Wn.isReady,e=>{e.setResult({ready:oe,machineId:O})});w.push(()=>{oe=!1,ce();for(let e of ae)e()}),await k.emit(Wn.phase.coreReady,{machineId:O}),console.info(`[boot] Core ready (machineId=%s)`,O);let le=z.dirname(at(import.meta.url)),fe=ze(k,d);w.push(fe),console.info(`[boot] Config handlers registered`),r.frameworkPackagePath&&(await Ps({makaioHome:o,frameworkPackagePath:r.frameworkPackagePath}),console.info(`[boot] Framework package linked for extension resolution`));let A=r.frameworkModuleResolver;if(A){try{await A.install()}catch(e){throw await Promise.resolve(A.uninstall()).catch(()=>void 0),e}w.push(()=>A.uninstall()),console.info(`[boot] Framework module resolver installed`)}let j={current:void 0},he=ws({makaioHome:o,srcDir:le,fallbackSeedPaths:r.modelRegistryFallbackSeedPaths}),ge=process.env.USER??process.env.USERNAME??`unknown`;try{ge=nn.userInfo().username}catch{}let _e=r.frameworkVersion??await Gs(),{extensionLoadResult:ve,browserOnlyResult:be,extensionsWithCli:xe,allExtensionPackages:Se}=await Ks({extensionOptions:y,skipExtensions:x,frameworkVersion:_e,createMount:r.createMount}),Ce=p(process.platform,r.hostCapabilities),we=de({packages:Se,configProvider:_,surface:r.surface??`headless`,runtimeEnvironment:Ce}),M;process.platform===`darwin`&&({platformMacOSPackage:M}=await import(`../src-CHyuN-wv.mjs`));let Te=new Set([oa.name,l.name,xn.name,...r.enablePackageManager===!1?[]:[ye().name],jn.name,Ti.name,...hn.map(e=>e.name),Qn.name,on.name,Zn.name,Gn.name,...M?[M.name]:[]]),Ee=a({bootEligibleExtensionPackages:we,configProvider:_,frameworkPackageNames:Te}),{effectiveEnabledBootPackages:N,effectiveEnabledPackageNames:De,mergeableExtensionPackages:Oe}=Ee;f(Oe,{fileAccessRuleProvider:r.fileAccessRuleProvider});let P=ic(n,t),ke=new ne(k),F=new Pt(k,{surface:r.surface??`headless`,db:ie,extensionContextBase:{cwd:process.cwd(),platform:process.platform,homedir:nn.homedir(),makaioHome:o,username:ge,machineId:D.machineId,busUrl:P,tryImport:b,credentials:ke},runtimeEnvironment:Ce,launcherCommand:r.launcherCommand,loadConfig:r.extensionConfigProvider?e=>r.extensionConfigProvider.loadConfig(e):void 0,loadEnabled:e=>_.loadEnabled(e),persistEnabled:(e,t)=>_.persistEnabled(e,t),installedCatalog:Ui({discovery:y.extensions,...A?.frameworkDistPath?{frameworkDistPath:A.frameworkDistPath}:{}}),operatorConfig:c,runMigrations:e=>Js(ie,e),extensionManagedNames:Ee.extensionManagedPackageNames,frameworkPackageNames:Te}),Ae=r.adapterConfigRepository??new Mn({providerConfigsDir:z.join(o,`provider-configs`),adaptersDir:z.join(o,`adapters`)}),I=[oa,l,Sn({definitions:N.flatMap(e=>e.clients??[]),strategyDependencies:r.clientBinaryStrategyDependencies,postInstallHandlers:r.clientBinaryPostInstallHandlers})];r.enablePackageManager!==!1&&I.push(ye({frameworkPeerRange:`^${_e}`,frameworkPackagePath:r.frameworkPackagePath,frameworkDistPath:A?.frameworkDistPath||void 0,devPortalPackages:r.devPortalPackages}));let je={cwd:process.cwd()},Me=async e=>F.getExtensionService(Qn)?.resolveWorkspaceRoot(e),Ne=rc(Me,r.piscinaWorkspaceRootResolver),Pe=rc(Me,r.workflowRunner?.mode===`piscina`?r.workflowRunner.resolveWorkspaceRoot:void 0,r.piscinaWorkspaceRootResolver),Fe=te({busUrl:P,runtimeModuleDir:le,platformDefaults:je,workflowRunner:r.workflowRunner?.mode===`piscina`?{...r.workflowRunner,resolveWorkspaceRoot:Pe}:r.workflowRunner,makaioHome:o,bus:k,executionAttemptRepository:r.executionAttemptRepository,executionAttemptBootstrapTimeoutMs:r.executionAttemptBootstrapTimeoutMs,workflowMaterializationSpecResolvers:r.workflowMaterializationSpecResolvers}),{adapterSubsystemPackage:Ie}=h({coordinator:F,configRepository:Ae,platformDefaults:je});I.push(Ie,Ti,...s(N,{fileAccessRuleProvider:r.fileAccessRuleProvider}),$n(Fe),un(he),Zn),M&&I.push(M);let Be=qn({hostPackages:[...r.automationCronSchedulerPackage?[r.automationCronSchedulerPackage]:[],...i(ve.automationCronSchedulerHostPolicies,{packages:Se,configProvider:_,surface:r.surface??`headless`,runtimeEnvironment:Ce},N)],loadedPackages:[...I,...N]});Be&&I.push(Be);let Ve=[...I,...Nn(Oe)],He=new Set(Ve.map(e=>e.name)),Ue=Le(Re(ve.configDefaults,be.configDefaults,xe.configDefaults,r.packageConfigDefaults),He),We=F.load(Ve,Ue);pa(c,We),ma(We),F.registerContributionProcessor(Xn()),F.registerContributionProcessor(sn()),F.registerContributionProcessor(cn()),F.registerContributionProcessor(ln()),F.registerContributionProcessor(Yn()),F.registerContributionProcessor(Jn()),F.registerContributionProcessor(fn()),F.registerContributionProcessor(mn()),F.registerContributionProcessor(pn()),F.registerContributionProcessor(dn({forEachActiveExtension:e=>F.forEachActiveExtension(e)})),F.registerContributionProcessor(Kn({forEachActiveExtension:e=>F.forEachActiveExtension(e)})),r.routeGraphBuilder&&F.registerContributionProcessor(Wi(r.routeGraphBuilder)),m(w,g(v(We,Ee.extensionManagedPackageNames,De),k,F)),w.push(()=>ke.close()),w.push(()=>F.shutdown()),m(w,r.configureCoordinator?.({bus:k,coordinator:F,registerContributionProcessor:e=>{F.registerContributionProcessor(e)},getAdapterSubsystemService:()=>F.getExtensionService(jn)})),await F.startAll(),await k.emit(Wn.phase.servicesReady,{machineId:O});let Ge=F.list(),Ke=Ge.filter(e=>e.state===`active`);if(console.info(`[boot] Extensions started: %d active`,Ke.length),process.env.MAKAIO_DEBUG){let e=Ge.filter(e=>e.state===`failed`);for(let e of Ke)console.info(`[boot] ✓ %s (%s)`,e.displayName,e.name);for(let t of e)console.warn(`[boot] ✗ %s (%s): %s`,t.displayName,t.name,t.error??`unknown`)}j.current=F.getExtensionService(jn);let qe=F.getExtensionService(Qn)?.executionAttemptAuthority;if(qe===void 0)console.info(`[boot] Piscina workflow provider not registered: no ExecutionAttemptAuthority configured`);else{let e=new T({workerEntry:ue({moduleDir:le,mode:z.basename(le)===`src`?`source`:`dist`}),manifest:{contributionRefs:[]},resolveWorkspaceRoot:Ne}),t=new E({id:gt,displayName:`Local (Piscina)`,runner:e,bus:k,launchResolver:se(e=>qe.getInstruction(e))});try{await Tt(k,t)}catch(t){throw await e.dispose().catch(()=>void 0),t}w.push(async()=>{try{await Et(k,t.id)}finally{await e.dispose().catch(()=>void 0)}}),console.info(`[boot] Piscina thin workflow provider registered (id=%s)`,t.id)}w.push(pr(k,()=>j.current?.getLoadedAdapters()??[],()=>j.current?.getAdapterInstances()??new Map,e=>F.getExtension(e),e=>c.get(e),e=>F.getResolvedConfig(e)));let Je=S({bus:k,currentMachineId:O,resolveLiveAdapterId:e=>j.current?.resolveLiveAdapterId(e),resolveLiveAdapterIdentity:e=>j.current?.resolveLiveAdapterIdentity(e),listLiveAdapterIdentities:()=>j.current?.getLiveAdapterIdentities()??[]});if(w.push(Je.cleanup),await k.broadcast(Wn.phase.coordinatorReady,{machineId:O}),r.lanBind&&e.dispatchingAuth&&C){let t=Xs(D,C);e.dispatchingAuth.setE2EAuth(t),console.info(`[boot] E2E auth enabled (LAN mode, machineId=%s)`,O)}oe=!0,await k.emit(Wn.ready,{machineId:O}),console.info(`[boot] Runtime ready (machineId=%s)`,O);let Ye=Lt([...w].reverse());return{port:t,host:n,machineId:O,bus:k,coordinator:F,trayEntries:F.trayEntries,windowRegistry:F.windowRegistry,shutdown:Ye}}catch(e){console.error(`[boot] Startup failed — rolling back started resources`,e);for(let e of[...w].reverse())try{await e()}catch(e){console.warn(`[boot] Rollback step error:`,e)}throw e}}async function oc(e){let t=new zr({httpServer:e.httpServer,auth:e.auth,loopbackName:e.loopbackName??`node`}),n=e.httpServer.address();if(typeof n!=`object`||!n)throw Error(`HTTP server is not bound to a TCP address`);return ac(t,n.port,n.address,{...e,hostCapabilities:c(e.hostCapabilities),clientBinaryStrategyDependencies:e.clientBinaryStrategyDependencies??fe()})}const sc=`MAKAIO_UPSTREAM_URL`,cc=`MAKAIO_UPSTREAM_SECRET`;function lc(e){return new Mt({url:e.url,name:`upstream-telemetry-ws`,auth:e.secret===void 0?void 0:new jt({secret:e.secret})})}function uc(e={}){let t=e.env??process.env,n=fc(t[cc]),r=dc(t[sc]);if(r===void 0){if(n!==void 0)throw Error(`${cc} requires ${sc}`);return}return{transport:(e.createTransport??lc)({url:r,...n===void 0?{}:{secret:n}})}}function dc(e){let t=e?.trim();return t===void 0||t===``?void 0:t}function fc(e){let t=e?.trim();return t===void 0||t===``?void 0:t}async function pc(e){return{...await Ae(e),hostCapabilities:[`node`]}}async function mc(e){let{db:t}=await e.request(me.database,{});return t}const hc=[`default`,`import`,`require`];var gc=class{frameworkDistPath=``;install(){}uninstall(){}},_c=class{frameworkDistPath;hooks;installPromise;installToken;constructor(e){this.frameworkDistPath=e}async install(){if(this.hooks)return;if(this.installPromise)return this.installPromise;let e={};this.installToken=e;let t=this.installWithToken(e);this.installPromise=t;try{await t}finally{this.installPromise===t&&(this.installPromise=void 0)}}async installWithToken(e){let{registerHooks:t}=await import(`node:module`);if(this.installToken!==e||this.hooks)return;let n=this.frameworkDistPath,r=yc(n);this.hooks=t({resolve(e,t,i){let a=vc(n,e,r);return a?{shortCircuit:!0,url:ot(a).href}:i(e,t)}})}uninstall(){this.installToken=void 0,this.installPromise=void 0,this.hooks?.deregister(),this.hooks=void 0}};function vc(e,t,n){if(!t.startsWith(`@makaio/framework/`))return;let r=t.slice(18),i=r.split(`/`);if(i.length===0||i.some(e=>e.length===0||e===`.`||e===`..`||e.includes(`\\`)))return;let a=xc((n??yc(e))[`./${r}`]);if(!a)return;let o=Sc(a);if(!o)return;let s=B.resolve(e,o);return Cc(s,e)?s:void 0}function yc(e){let t=B.join(e,`..`,`package.json`);return bc(JSON.parse(dt(t,`utf-8`)).exports)}function bc(e){if(typeof e!=`object`||!e||Array.isArray(e))return{};let t={};for(let[n,r]of Object.entries(e))if(n.startsWith(`.`)){if(typeof r==`string`){t[n]=r;continue}typeof r==`object`&&r&&!Array.isArray(r)&&(t[n]=r)}return t}function xc(e){if(typeof e==`string`)return e;if(e)for(let t of hc){let n=e[t];if(typeof n==`string`)return n}}function Sc(e){let t=e.split(`\\`).join(`/`);if(t.startsWith(`./dist/`))return t.slice(7)}function Cc(e,t){let n=B.relative(t,e);return n===``||!n.startsWith(`..`)&&!B.isAbsolute(n)}export{O as AttemptOutcomeDeliveryError,le as AuthorityRequestDeliveryError,qe as BootstrapStartRefusedError,zr as BusServerTransportProvider,nt as CODE_EXECUTION_DEFAULT_IDLE_TIMEOUT_MS,Qe as CODE_EXECUTION_DEFAULT_MAX_ARGUMENT_BYTES,et as CODE_EXECUTION_DEFAULT_MAX_CONCURRENCY,Ze as CODE_EXECUTION_DEFAULT_MAX_INVOCATIONS_PER_WORKER,Ye as CODE_EXECUTION_DEFAULT_MAX_PROGRAM_FILES,$e as CODE_EXECUTION_DEFAULT_MAX_QUEUED_INVOCATIONS,tt as CODE_EXECUTION_DEFAULT_MAX_RESULT_BYTES,Xe as CODE_EXECUTION_DEFAULT_MAX_SOURCE_BYTES,A as ExplicitDescriptorDiscovery,j as ExtensionNameCollisionError,Or as FileConfigStorage,Jo as FileRegistryCache,he as FilesystemDescriptorDiscovery,C as InProcessWorkflowRunner,ke as MAKAIO_CONFIG_FILE_ENV,F as MAKAIO_HOME_ENV,cc as MAKAIO_UPSTREAM_SECRET_ENV,sc as MAKAIO_UPSTREAM_URL_ENV,_ as MAX_ENABLEMENT_FILE_BYTES,ca as MAX_OPERATOR_CONFIG_BYTES,ge as MergedDescriptorDiscovery,r as NodeCredentialProvider,_c as NodeFrameworkModuleResolver,gc as NoopFrameworkModuleResolver,Ge as OperationAdmissionRefusedError,ee as OutcomeDeliveryError,rt as PiscinaCodeExecutionProvider,He as RuntimeRegistrationRefusedError,me as RuntimeSubjects,ne as StoredCredentialProvider,T as ThinWorkflowPiscinaRunner,bs as WorkspaceRootNotFoundError,S as activateAdapterRuntimeIdentity,Be as admitWorkflowRunOperation,nc as attachUpstreamTelemetry,oc as bootMakaioRuntime,ac as bootMakaioRuntimeCore,We as bootstrapWorkerRuntime,Us as bridgeExtensionBrowserEntries,Ae as buildConfiguredRuntimeOptions,Bs as buildExtensionBrowserRollupInputName,Vs as buildExtensionBrowserRuntimeEntrypoint,pc as buildNodeRuntimeOptions,Je as captureWorkflowExecutionBusSecretCleanup,da as createExtensionOperatorConfigSnapshot,Mr as createHonoRouteGraph,Pr as createHttpRouteGraphBuilder,Ui as createInstalledExtensionCatalogSource,re as createIsolatedWorkflowRuntime,ce as createLocalGitWorkspacePreparation,I as createMakaioConfigDiscovery,fe as createNodeClientBinaryStrategyDependencies,lc as createUpstreamTelemetryTransport,Ai as createWorkerExportedPackagesReader,je as defineMakaioConfig,N as entrypointStem,Le as filterConfigDefaultsForLoadedPackages,xs as findWorkspaceRoot,Ss as findWorkspaceRootInfo,mc as getRuntimeDatabase,Yr as initializeNodeDatabase,D as installAttemptControlEndpoint,Ke as installOperationDeliveryEndpoint,we as isCliContributionLike,y as isExtensionDisabledInStore,o as isExtensionEnabled,Ee as isMakaioExtensionLike,x as isMissingOptionalRuntimePackage,De as isWithinDirectory,u as loadExtensionEnablementStore,fa as loadExtensionOperatorConfig,Ce as loadExtensions,Me as loadMakaioConfig,Pn as loadOrCreateMachineIdentity,In as machineKeysExist,Re as mergePackageConfigDefaults,c as normalizeNodeHostCapabilities,M as normalizePackageExport,Ne as parseMakaioConfig,h as prepareAdapterRuntime,Gs as readFrameworkVersion,n as registerAdapterNameResolver,Ve as registerAndAdmitWorkflowRun,pr as registerRuntimeHandlers,Ue as registerWorkerRuntime,Ur as resolveBundledMigrationsDir,P as resolveConventionEntrypoint,ae as resolveExtensionEnablementFile,ua as resolveExtensionOperatorConfigDir,vc as resolveFrameworkSpecifier,jr as resolveListeningPort,Pe as resolveMakaioConfigPath,Fe as resolveMakaioHome,kr as resolveStaticModelRegistryPath,uc as resolveUpstreamTelemetryBootOptionsFromEnv,ue as resolveWorkflowWorkerEntry,oe as runHeadlessWorker,k as runHeadlessWorkflowWorker,Dr as runMigrations,sr as runRuntimeHandlerCleanups,w as runWorkloadInvocation,Mi as scanInstalledExtensions,s as selectFrameworkCorePackages,Ie as shouldIncludeExtension,ie as submitAttemptOutcomeWithAck,b as tryImport,Ln as validateMachineKeys,Ar as waitForServerListening,ma as warnOnUnaddressableExtensionOperatorConfigNames,pa as warnOnUnappliedExtensionOperatorConfig};
@@ -1,4 +1,4 @@
1
- import { r as ExtensionDiscovery, t as DiscoveredExtension } from "../extension-discovery-BqSPn73R.mjs";
1
+ import { r as ExtensionDiscovery, t as DiscoveredExtension } from "../extension-discovery-DmV1H6kV.mjs";
2
2
  import { z } from "zod";
3
3
 
4
4
  //#region runtimes/node/src/makaio-config.d.ts
@@ -1 +1 @@
1
- import{deduplicateByDescriptorName as e,enumerateDescriptorPaths as t}from"./extension-discovery.mjs";import{n}from"../esm-DwiWcwH0.mjs";import{z as r}from"zod";import{pathToFileURL as i}from"node:url";import*as a from"node:fs/promises";import*as o from"node:path";import{parseExtensionDescriptor as s}from"@makaio/framework/contracts";import*as c from"node:os";const l=`MAKAIO_CONFIG_FILE`,u=`MAKAIO_HOME`,d=[`makaio.config.ts`,`makaio.config.js`,`makaio.config.json`],f=r.object({mode:r.enum([`in-process`,`piscina`,`worker`]).optional(),maxConcurrency:r.number().int().positive().optional(),idleTimeoutMs:r.number().int().positive().optional()}).strict(),p=r.object({extensions:r.object({autoDiscover:r.boolean().optional(),discoveryPaths:r.array(r.string().min(1)).optional(),include:r.array(r.string().min(1)).optional(),exclude:r.array(r.string().min(1)).optional()}).optional(),launcherCommand:r.string().min(1).optional(),workflowRunner:f.optional(),packageConfigDefaults:r.record(r.string().min(1),r.record(r.string(),r.unknown())).optional()}).strict();function m(e){return e}function h(e=process.env){let t=e[u]?.trim();return t&&t.length>0?o.resolve(t):o.join(c.homedir(),`.makaio`)}function g(e,t){let n=p.safeParse(e??{});if(!n.success)throw k(`Invalid Makaio runtime config`,t.source,n.error);let r=n.data,i=r.extensions??{},a=_(i.discoveryPaths,t);return{extensions:{autoDiscover:i.autoDiscover??!0,discoveryPaths:a.map(e=>e.path),discoveryRoots:a,include:i.include??[],exclude:i.exclude??[]},launcherCommand:r.launcherCommand??`makaio`,workflowRunner:r.workflowRunner,packageConfigDefaults:new Map(Object.entries(r.packageConfigDefaults??{}))}}function _(e,t){return e===void 0?[{path:o.join(t.makaioHome,`extensions`),source:`installed`},{path:o.join(t.makaioHome,`node_modules`),source:`global-npm`}]:e.map(e=>({path:v(e,t.baseDir),source:`local`}))}function v(e,t){return o.isAbsolute(e)?e:o.resolve(t,e)}async function y(e){let t=e.env?.[l]?.trim(),n=e.configPath??(t||void 0);if(n!==void 0){let e=o.resolve(n);return await j(e,`runtime config`),e}for(let t of d){let n=o.join(e.makaioHome,t);if(await A(n))return n}if(process.env.NODE_ENV!==`production`){let t=process.cwd();if(t!==e.makaioHome)for(let e of d){let n=o.join(t,e);if(await A(n))return n}}}async function b(e){let t=await y(e);if(t===void 0)return{config:g({},{baseDir:e.makaioHome,makaioHome:e.makaioHome})};let n;try{n=await O(t)}catch(e){throw k(`Failed to load Makaio runtime config`,t,e)}return{configPath:t,config:g(n,{baseDir:o.dirname(t),makaioHome:e.makaioHome,source:t})}}async function x(e){let{config:t}=await b(e);return{launcherCommand:t.launcherCommand,discovery:S(t),workflowRunner:t.workflowRunner,packageConfigDefaults:t.packageConfigDefaults}}function S(e){return new C(e)}var C=class{config;constructor(e){this.config=e}async discover(){return e(await this.discoverTiers())}async discoverTiers(){let e=[];for(let t of this.config.extensions.discoveryRoots){let n=await w(t);e.push(n.filter(e=>D(e.descriptor.name,this.config)))}return e}};async function w(e){return T(await t(e.path),e.source)}async function T(e,t){let n=[];for(let r of e){let e=await E(r,t);e!==void 0&&n.push(e)}return n}async function E(e,t){try{let n=await a.readFile(e,`utf-8`);return{descriptor:s(JSON.parse(n)),extensionPath:o.dirname(e),source:t}}catch(t){console.warn(`[makaio-config] Skipping invalid descriptor at ${e}:`,t instanceof Error?t.message:t);return}}function D(e,t){let{autoDiscover:r,include:i,exclude:a}=t.extensions;return a.some(t=>n(e,t))?!1:i.length>0?i.some(t=>n(e,t)):r}async function O(e){if(e.endsWith(`.json`))return JSON.parse(await a.readFile(e,`utf-8`));let t=await import(i(e).href);return t.default??t}function k(e,t,n){let r=t===void 0?``:` at ${t}`,i=n instanceof Error?n.message:String(n);return Error(`${e}${r}: ${i}`,{cause:n})}async function A(e){return a.stat(e).then(e=>e.isFile()).catch(()=>!1)}async function j(e,t){if(!await A(e))throw Error(`Missing ${t}: ${e}`)}export{l as MAKAIO_CONFIG_FILE_ENV,u as MAKAIO_HOME_ENV,x as buildConfiguredRuntimeOptions,S as createMakaioConfigDiscovery,m as defineMakaioConfig,b as loadMakaioConfig,g as parseMakaioConfig,y as resolveMakaioConfigPath,h as resolveMakaioHome,D as shouldIncludeExtension};
1
+ import{deduplicateByDescriptorName as e,enumerateDescriptorPaths as t}from"./extension-discovery.mjs";import{n}from"../esm-CC8hYyqN.mjs";import{z as r}from"zod";import{pathToFileURL as i}from"node:url";import*as a from"node:fs/promises";import*as o from"node:path";import{parseExtensionDescriptor as s}from"@makaio/framework/contracts";import*as c from"node:os";const l=`MAKAIO_CONFIG_FILE`,u=`MAKAIO_HOME`,d=[`makaio.config.ts`,`makaio.config.js`,`makaio.config.json`],f=r.object({mode:r.enum([`in-process`,`piscina`,`worker`]).optional(),maxConcurrency:r.number().int().positive().optional(),idleTimeoutMs:r.number().int().positive().optional()}).strict(),p=r.object({extensions:r.object({autoDiscover:r.boolean().optional(),discoveryPaths:r.array(r.string().min(1)).optional(),include:r.array(r.string().min(1)).optional(),exclude:r.array(r.string().min(1)).optional()}).optional(),launcherCommand:r.string().min(1).optional(),workflowRunner:f.optional(),packageConfigDefaults:r.record(r.string().min(1),r.record(r.string(),r.unknown())).optional()}).strict();function m(e){return e}function h(e=process.env){let t=e[u]?.trim();return t&&t.length>0?o.resolve(t):o.join(c.homedir(),`.makaio`)}function g(e,t){let n=p.safeParse(e??{});if(!n.success)throw k(`Invalid Makaio runtime config`,t.source,n.error);let r=n.data,i=r.extensions??{},a=_(i.discoveryPaths,t);return{extensions:{autoDiscover:i.autoDiscover??!0,discoveryPaths:a.map(e=>e.path),discoveryRoots:a,include:i.include??[],exclude:i.exclude??[]},launcherCommand:r.launcherCommand??`makaio`,workflowRunner:r.workflowRunner,packageConfigDefaults:new Map(Object.entries(r.packageConfigDefaults??{}))}}function _(e,t){return e===void 0?[{path:o.join(t.makaioHome,`extensions`),source:`installed`},{path:o.join(t.makaioHome,`node_modules`),source:`global-npm`}]:e.map(e=>({path:v(e,t.baseDir),source:`local`}))}function v(e,t){return o.isAbsolute(e)?e:o.resolve(t,e)}async function y(e){let t=e.env?.[l]?.trim(),n=e.configPath??(t||void 0);if(n!==void 0){let e=o.resolve(n);return await j(e,`runtime config`),e}for(let t of d){let n=o.join(e.makaioHome,t);if(await A(n))return n}if(process.env.NODE_ENV!==`production`){let t=process.cwd();if(t!==e.makaioHome)for(let e of d){let n=o.join(t,e);if(await A(n))return n}}}async function b(e){let t=await y(e);if(t===void 0)return{config:g({},{baseDir:e.makaioHome,makaioHome:e.makaioHome})};let n;try{n=await O(t)}catch(e){throw k(`Failed to load Makaio runtime config`,t,e)}return{configPath:t,config:g(n,{baseDir:o.dirname(t),makaioHome:e.makaioHome,source:t})}}async function x(e){let{config:t}=await b(e);return{launcherCommand:t.launcherCommand,discovery:S(t),workflowRunner:t.workflowRunner,packageConfigDefaults:t.packageConfigDefaults}}function S(e){return new C(e)}var C=class{config;constructor(e){this.config=e}async discover(){return e(await this.discoverTiers())}async discoverTiers(){let e=[];for(let t of this.config.extensions.discoveryRoots){let n=await w(t);e.push(n.filter(e=>D(e.descriptor.name,this.config)))}return e}};async function w(e){return T(await t(e.path),e.source)}async function T(e,t){let n=[];for(let r of e){let e=await E(r,t);e!==void 0&&n.push(e)}return n}async function E(e,t){try{let n=await a.readFile(e,`utf-8`);return{descriptor:s(JSON.parse(n)),extensionPath:o.dirname(e),source:t}}catch(t){console.warn(`[makaio-config] Skipping invalid descriptor at ${e}:`,t instanceof Error?t.message:t);return}}function D(e,t){let{autoDiscover:r,include:i,exclude:a}=t.extensions;return a.some(t=>n(e,t))?!1:i.length>0?i.some(t=>n(e,t)):r}async function O(e){if(e.endsWith(`.json`))return JSON.parse(await a.readFile(e,`utf-8`));let t=await import(i(e).href);return t.default??t}function k(e,t,n){let r=t===void 0?``:` at ${t}`,i=n instanceof Error?n.message:String(n);return Error(`${e}${r}: ${i}`,{cause:n})}async function A(e){return a.stat(e).then(e=>e.isFile()).catch(()=>!1)}async function j(e,t){if(!await A(e))throw Error(`Missing ${t}: ${e}`)}export{l as MAKAIO_CONFIG_FILE_ENV,u as MAKAIO_HOME_ENV,x as buildConfiguredRuntimeOptions,S as createMakaioConfigDiscovery,m as defineMakaioConfig,b as loadMakaioConfig,g as parseMakaioConfig,y as resolveMakaioConfigPath,h as resolveMakaioHome,D as shouldIncludeExtension};
@@ -1,2 +1,2 @@
1
- import { $ as CreateIsolatedWorkflowRuntimeOptions, $t as computeContributionPackageDigest, A as createLocalGitWorkspacePreparation, At as runWorkerBootstrapExchange, B as HeadlessWorkerMaterializer, C as admitWorkflowRunOperation, Ct as WorkerRunnerOptions, D as loadWorkflowModule, Dt as createNodeWorkflowRunnerPackageOptions, E as registerWorkerRuntime, Et as createNodeWorkflowRunner, F as HeadlessWorkerBootstrap, Ft as IWorkflowRunner, G as runHeadlessWorkflowWorker, H as HeadlessWorkflowWorkerDeps, I as HeadlessWorkerBootstrapCredentials, It as RuntimeLoadedWorkflow, J as WorkloadControlBinding, Jt as MaterializationError, K as InstalledWorkloadAdapter, L as HeadlessWorkerBusConnector, Lt as ThinWorkflowPiscinaRunnerOptions, M as HeadlessWorkerDeps, Mt as withWorkerBootstrapDeadline, N as HeadlessWorkerResult, Nt as createWorkerBusAuth, O as loadWorkflowModules, Ot as BootstrapExchangeResult, P as runHeadlessWorker, Pt as ThinWorkflowPiscinaRunner, Qt as assertNoSymlinkEscape, R as HeadlessWorkerContributionLoader, Rt as WorkflowRunResult, S as RuntimeRegistrationRefusedError, St as WorkerRunner, T as registerAndAdmitWorkflowRun, Tt as NodeWorkflowRunnerPackageOptions, U as HeadlessWorkflowWorkerResult, V as HeadlessWorkerPostCommitObserver, W as MaterializedWorkspace, X as WorkloadInvocationResult, Xt as WorkspaceRootResolver, Y as WorkloadInvocationPreparation, Yt as ParsedSriIntegrity, Z as runWorkloadInvocation, Zt as assertContainedIn, _ as OperationDeliveryEndpointIdentity, _t as OutcomeReconnect, a as InstalledAttemptControlEndpoint, an as WorkflowWorkerEntryMode, at as InProcessWorkflowRunner, b as RegisterAndAdmitWorkflowRunOptions, bt as submitAttemptOutcomeWithAck, c as BootstrapStartRefusedError, ct as PiscinaThinWorkflowProviderOptions, d as bootstrapWorkerRuntime, dt as createWorkflowLaunchResolver, en as computeDirectoryDigest, et as IsolatedWorkflowRuntime, f as AdmitWorkflowRunOperationOptions, ft as AttemptOutcomeDeliveryError, g as OperationDeliveryEndpoint, gt as OutcomeDeliveryError, h as OperationAdmissionRefusedError, ht as DELIVERED_DECISIONS, i as AttemptControlReportOptions, in as verifyContribution, it as createIsolatedWorkflowRuntime, j as LocalGitSourceOptions, jt as BootstrapDeadlineExceededError, k as loadWorkflowFromConfig, kt as WorkerBootstrapExchangeOptions, l as BootstrapWorkerRuntimeOptions, lt as WorkflowAttemptInstructionReader, m as DeliverableOperationKind, mt as AuthorityRequestDeliveryError, n as AttemptControlEndpointIdentity, nn as materializeLocalDirectory, nt as WorkflowRuntimeAuthorityConnector, o as installAttemptControlEndpoint, on as WorkflowWorkerEntryResolverOptions, ot as InProcessWorkflowRunnerOptions, p as AdmittedWorkflowRun, pt as AttemptOutcomeSubmitPayload, q as RunWorkloadInvocationOptions, qt as LocalDirectoryMaterializerOptions, r as AttemptControlLastReport, rn as parseSriIntegrity, rt as WorkflowRuntimeContributionLoader, s as BootstrapRuntimeConnection, sn as resolveWorkflowWorkerEntry, st as PiscinaThinWorkflowProvider, t as AttemptControlEndpointDeps, tn as computeFileDigest, tt as IsolatedWorkflowRuntimeContext, u as StartedWorkerRuntime, ut as WorkflowLaunchResolver, v as OperationDeliveryHandler, vt as OutcomeSubmitPayload, w as installOperationDeliveryEndpoint, wt as CreateNodeWorkflowRunnerPackageOptionsParams, x as RegisterWorkerRuntimeOptions, xt as submitOutcomeWithAck, y as OperationDeliveryHandlers, yt as OutcomeSubmitRetryConfig, z as HeadlessWorkerExecutor } from "../../index-DyWD9bfP.mjs";
1
+ import { $ as CreateIsolatedWorkflowRuntimeOptions, $t as computeContributionPackageDigest, A as createLocalGitWorkspacePreparation, At as runWorkerBootstrapExchange, B as HeadlessWorkerMaterializer, C as admitWorkflowRunOperation, Ct as WorkerRunnerOptions, D as loadWorkflowModule, Dt as createNodeWorkflowRunnerPackageOptions, E as registerWorkerRuntime, Et as createNodeWorkflowRunner, F as HeadlessWorkerBootstrap, Ft as IWorkflowRunner, G as runHeadlessWorkflowWorker, H as HeadlessWorkflowWorkerDeps, I as HeadlessWorkerBootstrapCredentials, It as RuntimeLoadedWorkflow, J as WorkloadControlBinding, Jt as MaterializationError, K as InstalledWorkloadAdapter, L as HeadlessWorkerBusConnector, Lt as ThinWorkflowPiscinaRunnerOptions, M as HeadlessWorkerDeps, Mt as withWorkerBootstrapDeadline, N as HeadlessWorkerResult, Nt as createWorkerBusAuth, O as loadWorkflowModules, Ot as BootstrapExchangeResult, P as runHeadlessWorker, Pt as ThinWorkflowPiscinaRunner, Qt as assertNoSymlinkEscape, R as HeadlessWorkerContributionLoader, Rt as WorkflowRunResult, S as RuntimeRegistrationRefusedError, St as WorkerRunner, T as registerAndAdmitWorkflowRun, Tt as NodeWorkflowRunnerPackageOptions, U as HeadlessWorkflowWorkerResult, V as HeadlessWorkerPostCommitObserver, W as MaterializedWorkspace, X as WorkloadInvocationResult, Xt as WorkspaceRootResolver, Y as WorkloadInvocationPreparation, Yt as ParsedSriIntegrity, Z as runWorkloadInvocation, Zt as assertContainedIn, _ as OperationDeliveryEndpointIdentity, _t as OutcomeReconnect, a as InstalledAttemptControlEndpoint, an as WorkflowWorkerEntryMode, at as InProcessWorkflowRunner, b as RegisterAndAdmitWorkflowRunOptions, bt as submitAttemptOutcomeWithAck, c as BootstrapStartRefusedError, ct as PiscinaThinWorkflowProviderOptions, d as bootstrapWorkerRuntime, dt as createWorkflowLaunchResolver, en as computeDirectoryDigest, et as IsolatedWorkflowRuntime, f as AdmitWorkflowRunOperationOptions, ft as AttemptOutcomeDeliveryError, g as OperationDeliveryEndpoint, gt as OutcomeDeliveryError, h as OperationAdmissionRefusedError, ht as DELIVERED_DECISIONS, i as AttemptControlReportOptions, in as verifyContribution, it as createIsolatedWorkflowRuntime, j as LocalGitSourceOptions, jt as BootstrapDeadlineExceededError, k as loadWorkflowFromConfig, kt as WorkerBootstrapExchangeOptions, l as BootstrapWorkerRuntimeOptions, lt as WorkflowAttemptInstructionReader, m as DeliverableOperationKind, mt as AuthorityRequestDeliveryError, n as AttemptControlEndpointIdentity, nn as materializeLocalDirectory, nt as WorkflowRuntimeAuthorityConnector, o as installAttemptControlEndpoint, on as WorkflowWorkerEntryResolverOptions, ot as InProcessWorkflowRunnerOptions, p as AdmittedWorkflowRun, pt as AttemptOutcomeSubmitPayload, q as RunWorkloadInvocationOptions, qt as LocalDirectoryMaterializerOptions, r as AttemptControlLastReport, rn as parseSriIntegrity, rt as WorkflowRuntimeContributionLoader, s as BootstrapRuntimeConnection, sn as resolveWorkflowWorkerEntry, st as PiscinaThinWorkflowProvider, t as AttemptControlEndpointDeps, tn as computeFileDigest, tt as IsolatedWorkflowRuntimeContext, u as StartedWorkerRuntime, ut as WorkflowLaunchResolver, v as OperationDeliveryHandler, vt as OutcomeSubmitPayload, w as installOperationDeliveryEndpoint, wt as CreateNodeWorkflowRunnerPackageOptionsParams, x as RegisterWorkerRuntimeOptions, xt as submitOutcomeWithAck, y as OperationDeliveryHandlers, yt as OutcomeSubmitRetryConfig, z as HeadlessWorkerExecutor } from "../../index-CE6cAf_r.mjs";
2
2
  export { AdmitWorkflowRunOperationOptions, AdmittedWorkflowRun, AttemptControlEndpointDeps, AttemptControlEndpointIdentity, AttemptControlLastReport, AttemptControlReportOptions, AttemptOutcomeDeliveryError, AttemptOutcomeSubmitPayload, AuthorityRequestDeliveryError, BootstrapDeadlineExceededError, BootstrapExchangeResult, BootstrapRuntimeConnection, BootstrapStartRefusedError, BootstrapWorkerRuntimeOptions, CreateIsolatedWorkflowRuntimeOptions, CreateNodeWorkflowRunnerPackageOptionsParams, DELIVERED_DECISIONS, DeliverableOperationKind, HeadlessWorkerBootstrap, HeadlessWorkerBootstrapCredentials, HeadlessWorkerBusConnector, HeadlessWorkerContributionLoader, HeadlessWorkerDeps, HeadlessWorkerExecutor, HeadlessWorkerMaterializer, HeadlessWorkerPostCommitObserver, HeadlessWorkerResult, HeadlessWorkflowWorkerDeps, HeadlessWorkflowWorkerResult, IWorkflowRunner, InProcessWorkflowRunner, InProcessWorkflowRunnerOptions, InstalledAttemptControlEndpoint, InstalledWorkloadAdapter, IsolatedWorkflowRuntime, IsolatedWorkflowRuntimeContext, LocalDirectoryMaterializerOptions, LocalGitSourceOptions, MaterializationError, MaterializedWorkspace, NodeWorkflowRunnerPackageOptions, OperationAdmissionRefusedError, OperationDeliveryEndpoint, OperationDeliveryEndpointIdentity, OperationDeliveryHandler, OperationDeliveryHandlers, OutcomeDeliveryError, OutcomeReconnect, OutcomeSubmitPayload, OutcomeSubmitRetryConfig, ParsedSriIntegrity, PiscinaThinWorkflowProvider, PiscinaThinWorkflowProviderOptions, RegisterAndAdmitWorkflowRunOptions, RegisterWorkerRuntimeOptions, RunWorkloadInvocationOptions, RuntimeLoadedWorkflow, RuntimeRegistrationRefusedError, StartedWorkerRuntime, ThinWorkflowPiscinaRunner, ThinWorkflowPiscinaRunnerOptions, WorkerBootstrapExchangeOptions, WorkerRunner, WorkerRunnerOptions, WorkflowAttemptInstructionReader, WorkflowLaunchResolver, WorkflowRunResult, WorkflowRuntimeAuthorityConnector, WorkflowRuntimeContributionLoader, WorkflowWorkerEntryMode, WorkflowWorkerEntryResolverOptions, WorkloadControlBinding, WorkloadInvocationPreparation, WorkloadInvocationResult, WorkspaceRootResolver, admitWorkflowRunOperation, assertContainedIn, assertNoSymlinkEscape, bootstrapWorkerRuntime, computeContributionPackageDigest, computeDirectoryDigest, computeFileDigest, createIsolatedWorkflowRuntime, createLocalGitWorkspacePreparation, createNodeWorkflowRunner, createNodeWorkflowRunnerPackageOptions, createWorkerBusAuth, createWorkflowLaunchResolver, installAttemptControlEndpoint, installOperationDeliveryEndpoint, loadWorkflowFromConfig, loadWorkflowModule, loadWorkflowModules, materializeLocalDirectory, parseSriIntegrity, registerAndAdmitWorkflowRun, registerWorkerRuntime, resolveWorkflowWorkerEntry, runHeadlessWorker, runHeadlessWorkflowWorker, runWorkerBootstrapExchange, runWorkloadInvocation, submitAttemptOutcomeWithAck, submitOutcomeWithAck, verifyContribution, withWorkerBootstrapDeadline };
@@ -1 +1 @@
1
- import{C as e,D as t,E as n,O as r,S as i,T as a,_ as o,a as s,b as c,c as l,d as u,f as d,g as f,h as p,i as m,k as h,l as g,m as _,n as v,o as y,p as b,r as x,s as S,t as C,u as w,v as T,w as E,x as D,y as O}from"../../workflow-worker-BCLy_g_a.mjs";import{a as k,c as A,d as j,f as M,h as N,i as P,l as F,m as I,n as L,p as R,r as z,s as B,t as V,v as H,y as U}from"../../bootstrap-start-client-9nOdeDYl.mjs";export{g as AttemptOutcomeDeliveryError,w as AuthorityRequestDeliveryError,H as BootstrapDeadlineExceededError,V as BootstrapStartRefusedError,u as DELIVERED_DECISIONS,o as InProcessWorkflowRunner,D as MaterializationError,z as OperationAdmissionRefusedError,d as OutcomeDeliveryError,l as PiscinaThinWorkflowProvider,P as RuntimeRegistrationRefusedError,c as ThinWorkflowPiscinaRunner,T as WorkerRunner,k as admitWorkflowRunOperation,i as assertContainedIn,e as assertNoSymlinkEscape,L as bootstrapWorkerRuntime,E as computeContributionPackageDigest,a as computeDirectoryDigest,n as computeFileDigest,y as createIsolatedWorkflowRuntime,C as createLocalGitWorkspacePreparation,p as createNodeWorkflowRunner,f as createNodeWorkflowRunnerPackageOptions,N as createWorkerBusAuth,S as createWorkflowLaunchResolver,m as installAttemptControlEndpoint,B as installOperationDeliveryEndpoint,j as loadWorkflowFromConfig,M as loadWorkflowModule,R as loadWorkflowModules,t as materializeLocalDirectory,r as parseSriIntegrity,A as registerAndAdmitWorkflowRun,F as registerWorkerRuntime,O as resolveWorkflowWorkerEntry,x as runHeadlessWorker,v as runHeadlessWorkflowWorker,I as runWorkerBootstrapExchange,s as runWorkloadInvocation,b as submitAttemptOutcomeWithAck,_ as submitOutcomeWithAck,h as verifyContribution,U as withWorkerBootstrapDeadline};
1
+ import{C as e,D as t,E as n,O as r,S as i,T as a,_ as o,a as s,b as c,c as l,d as u,f as d,g as f,h as p,i as m,k as h,l as g,m as _,n as v,o as y,p as b,r as x,s as S,t as C,u as w,v as T,w as E,x as D,y as O}from"../../workflow-worker-CvQN2dmX.mjs";import{a as k,c as A,d as j,f as M,h as N,i as P,l as F,m as I,n as L,p as R,r as z,s as B,t as V,v as H,y as U}from"../../bootstrap-start-client-DyKCj6Eu.mjs";export{g as AttemptOutcomeDeliveryError,w as AuthorityRequestDeliveryError,H as BootstrapDeadlineExceededError,V as BootstrapStartRefusedError,u as DELIVERED_DECISIONS,o as InProcessWorkflowRunner,D as MaterializationError,z as OperationAdmissionRefusedError,d as OutcomeDeliveryError,l as PiscinaThinWorkflowProvider,P as RuntimeRegistrationRefusedError,c as ThinWorkflowPiscinaRunner,T as WorkerRunner,k as admitWorkflowRunOperation,i as assertContainedIn,e as assertNoSymlinkEscape,L as bootstrapWorkerRuntime,E as computeContributionPackageDigest,a as computeDirectoryDigest,n as computeFileDigest,y as createIsolatedWorkflowRuntime,C as createLocalGitWorkspacePreparation,p as createNodeWorkflowRunner,f as createNodeWorkflowRunnerPackageOptions,N as createWorkerBusAuth,S as createWorkflowLaunchResolver,m as installAttemptControlEndpoint,B as installOperationDeliveryEndpoint,j as loadWorkflowFromConfig,M as loadWorkflowModule,R as loadWorkflowModules,t as materializeLocalDirectory,r as parseSriIntegrity,A as registerAndAdmitWorkflowRun,F as registerWorkerRuntime,O as resolveWorkflowWorkerEntry,x as runHeadlessWorker,v as runHeadlessWorkflowWorker,I as runWorkerBootstrapExchange,s as runWorkloadInvocation,b as submitAttemptOutcomeWithAck,_ as submitOutcomeWithAck,h as verifyContribution,U as withWorkerBootstrapDeadline};