@makaio/framework 1.0.0-dev-1784154668798 → 1.0.0-dev-1784706768858

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 (364) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/{adapter-B9vVBwli.mjs → adapter-CYobxqN_.mjs} +1 -1
  3. package/dist/adapters/claude/index.mjs +2 -2
  4. package/dist/adapters/config/index.d.mts +1 -1
  5. package/dist/adapters/config/index.mjs +1 -1
  6. package/dist/adapters/index.d.mts +2 -2
  7. package/dist/adapters/index.mjs +2 -2
  8. package/dist/adapters/node.d.mts +1 -1
  9. package/dist/adapters/node.mjs +1 -1
  10. package/dist/artifact-DCkizHkS.mjs +1 -0
  11. package/dist/attach-error-DCnzW-Yz.mjs +1 -0
  12. package/dist/authority-state-bootstrap-C_-F_dtq.mjs +1 -0
  13. package/dist/bus/index.d.mts +99 -4
  14. package/dist/bus/index.mjs +1 -1
  15. package/dist/bus-B6SAjgOC.mjs +2 -0
  16. package/dist/bus-C2l3K74u.mjs +1 -0
  17. package/dist/{canonical-model-C31NaBJs.mjs → canonical-model-EMRYCVjX.mjs} +1 -1
  18. package/dist/client-OYk0Ttck.mjs +1 -0
  19. package/dist/client-binary-version-verifier-Dv7TGFxh.mjs +2 -0
  20. package/dist/clients/index.d.mts +383 -13
  21. package/dist/clients/index.mjs +1 -1
  22. package/dist/clients/managed-install.d.mts +1 -1
  23. package/dist/clients/managed-install.mjs +1 -1
  24. package/dist/{context-resolution-D5jHK1w-.d.mts → context-resolution-DZSBOCKY.d.mts} +10 -10
  25. package/dist/contracts/adapter/index.d.mts +2 -2
  26. package/dist/contracts/adapter/index.mjs +1 -1
  27. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  28. package/dist/contracts/artifact/index.d.mts +2 -2
  29. package/dist/contracts/artifact/index.mjs +1 -1
  30. package/dist/contracts/auth/index.d.mts +2 -2
  31. package/dist/contracts/canonical-model/index.d.mts +1 -1
  32. package/dist/contracts/canonical-model/index.mjs +1 -1
  33. package/dist/contracts/client/index.d.mts +3 -3
  34. package/dist/contracts/client/index.mjs +1 -1
  35. package/dist/contracts/common/index.d.mts +1 -1
  36. package/dist/contracts/config/index.d.mts +1 -1
  37. package/dist/contracts/extension/index.d.mts +5 -4
  38. package/dist/contracts/facet/index.d.mts +1 -1
  39. package/dist/contracts/harness/index.d.mts +1 -1
  40. package/dist/contracts/host/index.d.mts +1 -1
  41. package/dist/contracts/index.d.mts +133 -94
  42. package/dist/contracts/index.mjs +1 -1
  43. package/dist/contracts/materialization/index.d.mts +4 -4
  44. package/dist/contracts/materialization/index.mjs +1 -1
  45. package/dist/contracts/model-registry/index.d.mts +1 -1
  46. package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
  47. package/dist/contracts/platform/index.d.mts +1 -1
  48. package/dist/contracts/provider/index.d.mts +2 -2
  49. package/dist/contracts/session/index.d.mts +2 -2
  50. package/dist/contracts/session/index.mjs +1 -1
  51. package/dist/contracts/shared/index.d.mts +2 -2
  52. package/dist/contracts/skill/index.d.mts +1 -1
  53. package/dist/contracts/telemetry/index.d.mts +1 -1
  54. package/dist/contracts/timeout/index.d.mts +1 -1
  55. package/dist/contracts/variant/index.d.mts +1 -1
  56. package/dist/contracts/workflow/index.d.mts +2 -2
  57. package/dist/contracts/workflow/index.mjs +1 -1
  58. package/dist/core/index.d.mts +78 -3
  59. package/dist/core/index.mjs +1 -1
  60. package/dist/{detached-extension-handle-BVM-Ic-4.mjs → detached-extension-handle-BsywhHfk.mjs} +1 -1
  61. package/dist/{filesystem-service-qR9Zy5-r.mjs → filesystem-service-Cupz_Z7S.mjs} +1 -1
  62. package/dist/git/index.mjs +1 -1
  63. package/dist/{globby-DE358g5u.mjs → globby-DWp7V-P2.mjs} +1 -1
  64. package/dist/handlers-cMBmexF4.mjs +57 -0
  65. package/dist/hook-responses-mmqRa2Dq.d.mts +825 -0
  66. package/dist/{index-Du-AJm69.d.mts → index-0Ju2i8gV.d.mts} +20 -6
  67. package/dist/{index-DD9inq5h.d.mts → index-4NQLoI7R.d.mts} +1 -1
  68. package/dist/{index-DAVLhzkq.d.mts → index-8fJ6dkzR.d.mts} +2 -1
  69. package/dist/{index-BdsuBxEz.d.mts → index-BHQXXd-O.d.mts} +4 -4
  70. package/dist/{index-ZGPSCZdC.d.mts → index-BKeJ-Act.d.mts} +24 -10
  71. package/dist/{index-BPBSMsc8.d.mts → index-BWvTZJxe.d.mts} +20 -20
  72. package/dist/{index-BM7u_OTo.d.mts → index-B_aBwkE-.d.mts} +111 -94
  73. package/dist/{index-ChB3K_a12.d.mts → index-BhXCCgJV2.d.mts} +1 -1
  74. package/dist/{index-BcqWLD6J.d.mts → index-BsBvs0aK.d.mts} +117 -45
  75. package/dist/{index-D_lLZ2dU.d.mts → index-C81hMexK.d.mts} +129 -37
  76. package/dist/{index-DoJRv-c3.d.mts → index-CFqShlHD.d.mts} +85 -85
  77. package/dist/{index-DHejCnq8.d.mts → index-CHxWUmmA.d.mts} +3 -3
  78. package/dist/{index-BfNfKh4y.d.mts → index-CKccv4s2.d.mts} +20 -26
  79. package/dist/{index-TWs1TQ2-.d.mts → index-Cw7_69gV.d.mts} +1 -1
  80. package/dist/{index-DE29b4QM.d.mts → index-CzKLLQLw.d.mts} +8 -8
  81. package/dist/{index-CSyR9Fie2.d.mts → index-D73PTKXG2.d.mts} +3 -3
  82. package/dist/{index-DA5S_dj8.d.mts → index-DRiTICBU.d.mts} +1 -1
  83. package/dist/{index-XzetMf0e.d.mts → index-DitLUuR5.d.mts} +126 -42
  84. package/dist/{index-B_KmL_z8.d.mts → index-jbgHR5J2.d.mts} +1 -1
  85. package/dist/{index-B96HlWaM.d.mts → index-pjATMrvJ.d.mts} +10 -4
  86. package/dist/{index-CrbFA2kp.d.mts → index-t9fTvyq6.d.mts} +4 -4
  87. package/dist/kernel/cli/index.d.mts +2 -2
  88. package/dist/kernel/cli/register.d.mts +1 -1
  89. package/dist/kernel/extension/index.d.mts +1 -1
  90. package/dist/kernel/index.d.mts +5 -5
  91. package/dist/kernel/namespace/index.d.mts +1 -1
  92. package/dist/kernel/observability/index.d.mts +1 -1
  93. package/dist/kernel/providers/index.d.mts +1 -1
  94. package/dist/kernel/window/index.d.mts +1 -1
  95. package/dist/{lib-DhbCgfYD.mjs → lib-B7TpTzkG.mjs} +3 -3
  96. package/dist/{lib-6P8_sBCe.mjs → lib-BeMM738r.mjs} +1 -1
  97. package/dist/{load-extensions-jGQgvw6Z.d.mts → load-extensions-BLdG90Zi.d.mts} +1 -1
  98. package/dist/{load-extensions-5VckHXuw.mjs → load-extensions-CUmFCcYi.mjs} +1 -1
  99. package/dist/materialization-s8eR1eQ4.mjs +1 -0
  100. package/dist/mcp-http-server/index.mjs +1 -1
  101. package/dist/{namespace-C_phrzqu2.d.mts → namespace-BWsPZGiq2.d.mts} +5 -5
  102. package/dist/{namespace-CzZmsumy.d.mts → namespace-BeV7LST-.d.mts} +2 -2
  103. package/dist/{namespace-BTp6-zD8.d.mts → namespace-BsF9IxJ9.d.mts} +53 -5
  104. package/dist/{namespace-CpSZfHLv.d.mts → namespace-Db_PFX3v.d.mts} +36 -18
  105. package/dist/{namespace-Bldr5X64.d.mts → namespace-Dvo_7BQw.d.mts} +2 -2
  106. package/dist/{namespace-BwAiuQ2_.d.mts → namespace-lWlqWTKu.d.mts} +48 -4
  107. package/dist/node/bus-server/index.d.mts +1 -1
  108. package/dist/node/bus-server/index.mjs +1 -1
  109. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  110. package/dist/node/bus-server/server-lifecycle.mjs +1 -1
  111. package/dist/node/transports/index.d.mts +5 -3
  112. package/dist/node/transports/index.mjs +2 -2
  113. package/dist/package-DKnzOvoR.mjs +1 -0
  114. package/dist/{package-Brt4dhRC.mjs → package-DW1Upu8E.mjs} +1 -1
  115. package/dist/package.json +1 -1
  116. package/dist/{packages-BBJsifai.d.mts → packages-DeIgn0Hn.d.mts} +2 -2
  117. package/dist/packages-zDnokBpl.mjs +1 -0
  118. package/dist/rules/index.d.mts +1 -1
  119. package/dist/rules/index.mjs +1 -1
  120. package/dist/rules/schemas.d.mts +1 -1
  121. package/dist/runtime-bun/index.mjs +1 -1
  122. package/dist/runtime-node/extension-discovery.d.mts +1 -1
  123. package/dist/runtime-node/extension-validation.d.mts +1 -1
  124. package/dist/runtime-node/extension-validation.mjs +1 -1
  125. package/dist/runtime-node/index.d.mts +3 -3
  126. package/dist/runtime-node/index.mjs +22 -22
  127. package/dist/runtime-node/makaio-config.d.mts +1 -1
  128. package/dist/runtime-node/makaio-config.mjs +1 -1
  129. package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
  130. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  131. package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -1
  132. package/dist/schemas-BJ8VMXhO.mjs +1 -0
  133. package/dist/schemas-BRxU_oqL.mjs +1 -0
  134. package/dist/schemas-Dgj3WaOI.mjs +1 -0
  135. package/dist/{schemas-BLJ2k226.d.mts → schemas-SsGbBOZ-.d.mts} +2 -2
  136. package/dist/{schemas-Ca3BLPH5.d.mts → schemas-oTIqxZN_.d.mts} +17 -17
  137. package/dist/scoped-bus-C9BdNwfM.mjs +1 -0
  138. package/dist/services/adapter-runtime/index.d.mts +3 -3
  139. package/dist/services/adapter-runtime/index.mjs +1 -1
  140. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  141. package/dist/services/adapter-runtime/schemas.d.mts +1 -1
  142. package/dist/services/adapter-subsystem/index.d.mts +3 -3
  143. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  144. package/dist/services/agent-runtime/index.d.mts +2 -2
  145. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  146. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  147. package/dist/services/capability/index.d.mts +1 -1
  148. package/dist/services/capability/index.mjs +1 -1
  149. package/dist/services/codebase/index.d.mts +2 -2
  150. package/dist/services/codebase/namespace.d.mts +1 -1
  151. package/dist/services/codebase/schemas.d.mts +1 -1
  152. package/dist/services/compression/index.d.mts +2 -2
  153. package/dist/services/compression/namespace.d.mts +1 -1
  154. package/dist/services/compression/schemas.d.mts +1 -1
  155. package/dist/services/context-rules/index.d.mts +4 -4
  156. package/dist/services/context-rules/index.mjs +1 -1
  157. package/dist/services/execution-target/index.d.mts +3 -3
  158. package/dist/services/execution-target/index.mjs +1 -1
  159. package/dist/services/execution-target/namespace.d.mts +1 -1
  160. package/dist/services/execution-target/schemas.d.mts +1 -1
  161. package/dist/services/filesystem/index.d.mts +1 -1
  162. package/dist/services/filesystem/index.mjs +1 -1
  163. package/dist/services/git/namespace.d.mts +2 -2
  164. package/dist/services/git/namespace.mjs +1 -1
  165. package/dist/services/git/schemas.d.mts +1 -1
  166. package/dist/services/git/schemas.mjs +1 -1
  167. package/dist/services/harness/index.d.mts +3 -3
  168. package/dist/services/harness/index.mjs +1 -1
  169. package/dist/services/index.d.mts +73 -51
  170. package/dist/services/index.mjs +1 -1
  171. package/dist/services/log-import/browser.d.mts +2 -2
  172. package/dist/services/log-import/index.d.mts +2 -2
  173. package/dist/services/log-import/log-import.d.mts +1 -1
  174. package/dist/services/log-import/log-import.mjs +1 -1
  175. package/dist/services/log-import/namespace.mjs +1 -1
  176. package/dist/services/log-import/schemas.mjs +1 -1
  177. package/dist/services/materialization/index.d.mts +5 -5
  178. package/dist/services/materialization/index.mjs +1 -1
  179. package/dist/services/model-registry/index.d.mts +1 -1
  180. package/dist/services/model-registry/index.mjs +1 -1
  181. package/dist/services/preferences/index.d.mts +2 -2
  182. package/dist/services/preferences/schemas.d.mts +1 -1
  183. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  184. package/dist/services/provider-context/index.d.mts +1 -1
  185. package/dist/services/provider-runtime/index.mjs +1 -1
  186. package/dist/services/session/handlers/index.d.mts +1 -1
  187. package/dist/services/session/handlers/index.mjs +1 -1
  188. package/dist/services/session/index.d.mts +9 -9
  189. package/dist/services/session/index.mjs +1 -1
  190. package/dist/services/session/messages/namespace.d.mts +1 -1
  191. package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
  192. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  193. package/dist/services/session/session-events/namespace.d.mts +1 -1
  194. package/dist/services/session/storage/namespace.d.mts +1 -1
  195. package/dist/services/session/storage/schema.d.mts +1 -1
  196. package/dist/services/session/testing/index.mjs +2 -2
  197. package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
  198. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  199. package/dist/services/session/turns/namespace.d.mts +1 -1
  200. package/dist/services/session-editor/index.d.mts +1 -1
  201. package/dist/services/session-editor/index.mjs +1 -1
  202. package/dist/services/settings/index.d.mts +3 -3
  203. package/dist/services/settings/namespace.d.mts +14 -14
  204. package/dist/services/settings/namespace.mjs +1 -1
  205. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  206. package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
  207. package/dist/services/settings/storage/index.d.mts +3 -3
  208. package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
  209. package/dist/services/subagent/index.d.mts +1 -1
  210. package/dist/services/subagent/index.mjs +1 -1
  211. package/dist/services/subagent-template/index.d.mts +2 -2
  212. package/dist/services/subagent-template/namespace.d.mts +1 -1
  213. package/dist/services/subagent-template/schemas.d.mts +1 -1
  214. package/dist/services/tool-approval/index.d.mts +1 -1
  215. package/dist/services/tool-approval/index.mjs +1 -1
  216. package/dist/services/tools/index.d.mts +1 -1
  217. package/dist/services/tools/index.mjs +1 -1
  218. package/dist/services/tray-menu/index.d.mts +3 -3
  219. package/dist/services/tray-menu/index.mjs +1 -1
  220. package/dist/services/tray-menu/namespace.d.mts +1 -1
  221. package/dist/services/tray-menu/schemas.d.mts +1 -1
  222. package/dist/services/turn/index.d.mts +1 -1
  223. package/dist/services/turn/namespace.d.mts +1 -1
  224. package/dist/services/turn/schemas.d.mts +24 -2
  225. package/dist/services/turn/schemas.mjs +1 -1
  226. package/dist/{session-BxWogVkD.mjs → session-Carng3Yk.mjs} +1 -1
  227. package/dist/session-idI1jk5X.mjs +76 -0
  228. package/dist/{session-lineage-CWlcOKBZ.d.mts → session-lineage-Cte63dGx.d.mts} +1 -1
  229. package/dist/src-XihJcAQS.mjs +1 -0
  230. package/dist/storage/drizzle/client.d.mts +1 -1
  231. package/dist/storage/drizzle/client.mjs +1 -1
  232. package/dist/storage/drizzle/index.d.mts +1 -1
  233. package/dist/storage/drizzle/index.mjs +1 -1
  234. package/dist/storage/handlers/drizzle/index.d.mts +1 -1
  235. package/dist/storage/handlers/drizzle/index.mjs +1 -1
  236. package/dist/storage/handlers/index.d.mts +1 -1
  237. package/dist/storage/handlers/index.mjs +1 -1
  238. package/dist/{tool-approval-service-BgSn_6NT.mjs → tool-approval-service-fIZ9x0kL.mjs} +1 -1
  239. package/dist/{tools-CWSuNk-M.mjs → tools-Cs2DwjCC.mjs} +1 -1
  240. package/dist/{transition-CukPcOG5.d.mts → transition-BMYk_IVK.d.mts} +2 -2
  241. package/dist/{types-DiZJnwN0.d.mts → types-CtSkJqzV.d.mts} +104 -14
  242. package/dist/{types-Be7wY1De.d.mts → types-LspCUW09.d.mts} +1 -1
  243. package/dist/ui-components/index.d.mts +4 -4
  244. package/dist/ui-components/index.mjs +2 -2
  245. package/dist/ui-kernel/index.d.mts +1 -1
  246. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  247. package/dist/{view-builder-DQiA4wDH.d.mts → view-builder-CpKzgyS2.d.mts} +77 -18
  248. package/dist/workflow-BX-FxDb0.mjs +1 -0
  249. package/dist/workflow-engine/index.d.mts +76 -76
  250. package/dist/workflow-engine/index.mjs +1 -1
  251. package/dist/workflow-engine/package.d.mts +1 -1
  252. package/dist/workflow-engine/package.mjs +1 -1
  253. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  254. package/dist/workflow-worker-DR9qYOFc.mjs +1 -0
  255. package/package.json +4 -4
  256. package/dist/artifact-Dnpy5ei_.mjs +0 -1
  257. package/dist/authority-state-bootstrap-BlbmQ9A5.mjs +0 -1
  258. package/dist/bus-D-ioC0DE.mjs +0 -1
  259. package/dist/bus-rgUFuO2a.mjs +0 -2
  260. package/dist/client-CzPCSeyE.mjs +0 -1
  261. package/dist/client-binary-version-verifier-CaFlNNjs.mjs +0 -2
  262. package/dist/definition-ClKlXenJ.d.mts +0 -413
  263. package/dist/handlers-RGs3eC9X.mjs +0 -57
  264. package/dist/materialization-BBxXhthv.mjs +0 -1
  265. package/dist/package-3cW8oIkI.mjs +0 -1
  266. package/dist/packages-I0D3JP9L.mjs +0 -1
  267. package/dist/schemas-6H-dlMrB.mjs +0 -1
  268. package/dist/schemas-DyJHJ8Pm.mjs +0 -1
  269. package/dist/schemas-th_nuC5t.mjs +0 -1
  270. package/dist/scoped-bus-CZId-Df8.mjs +0 -1
  271. package/dist/session-CAjudDuJ.mjs +0 -76
  272. package/dist/src-T5DtFSyU.mjs +0 -1
  273. package/dist/workflow-DPeE6-Ta.mjs +0 -1
  274. package/dist/workflow-worker-CPCh68Qf.mjs +0 -1
  275. /package/dist/{adapter-auth-runtime-CotG_6M4.mjs → adapter-auth-runtime-DFBLXD5K.mjs} +0 -0
  276. /package/dist/{adapter-binding-DQ1HrGcH.d.mts → adapter-binding-Dfk_g-lP.d.mts} +0 -0
  277. /package/dist/{ajv-WvFKnw8d.mjs → ajv-C8r45sFs.mjs} +0 -0
  278. /package/dist/{await-trigger-COHFNyNi.mjs → await-trigger-UceeyCyi.mjs} +0 -0
  279. /package/dist/{base-orchestrator-p3zIcnaJ.d.mts → base-orchestrator-5yH3l39s.d.mts} +0 -0
  280. /package/dist/{capability-service-TCOwWrLi.mjs → capability-service-BzKBK0n2.mjs} +0 -0
  281. /package/dist/{client-CGEyBWKl.d.mts → client-DYEHDiJN.d.mts} +0 -0
  282. /package/dist/{client-binary-version-verifier-WsNRplFB.d.mts → client-binary-version-verifier-C12PvQmz.d.mts} +0 -0
  283. /package/dist/{clients-namespace-ClKm1GLT.d.mts → clients-namespace-DcFmhtLv.d.mts} +0 -0
  284. /package/dist/{config-namespace-DOw8R5eb.d.mts → config-namespace-DmP7NVju.d.mts} +0 -0
  285. /package/dist/{create-static-mount-DM9qO98Q.mjs → create-static-mount-BLbqGmva.mjs} +0 -0
  286. /package/dist/{cross-spawn-CVfmnMVP.mjs → cross-spawn-BXxQUsPS.mjs} +0 -0
  287. /package/dist/{cursor-storage-BoFVjVGq.mjs → cursor-storage-DCj4uUxr.mjs} +0 -0
  288. /package/dist/{definition-BZrouYAq.d.mts → definition-BEvV7tbD.d.mts} +0 -0
  289. /package/dist/{descriptor-to-package-DCwvJoUE.mjs → descriptor-to-package-VfB8lK5w.mjs} +0 -0
  290. /package/dist/{drizzle-BQDvlDL2.mjs → drizzle-oCH9H53q.mjs} +0 -0
  291. /package/dist/{esm-1UzF2r1U.mjs → esm-ClQELElL.mjs} +0 -0
  292. /package/dist/{event-Ddxe4yp9.mjs → event-BOLVCfhH.mjs} +0 -0
  293. /package/dist/{execution-target-D6PoGaO8.mjs → execution-target-CsZXIvli.mjs} +0 -0
  294. /package/dist/{extension-discovery-Cce4FmRu.d.mts → extension-discovery-B6p3iZaV.d.mts} +0 -0
  295. /package/dist/{filesystem-service-CWBzOEAA.d.mts → filesystem-service-CGdboor3.d.mts} +0 -0
  296. /package/dist/{handler-Bxs0moLY.mjs → handler-GGOD_ofd.mjs} +0 -0
  297. /package/dist/{identity-D481xSkS.mjs → identity-BmEHHoBw.mjs} +0 -0
  298. /package/dist/{index-BoCL9IHT.d.mts → index-BDDbcWNI.d.mts} +0 -0
  299. /package/dist/{index-p1N3ZuqF.d.mts → index-BG9-vQHD.d.mts} +0 -0
  300. /package/dist/{index-C2PHX5Em.d.mts → index-BSmwpgkR.d.mts} +0 -0
  301. /package/dist/{index-M8rNEeH8.d.mts → index-BUYyZm5I.d.mts} +0 -0
  302. /package/dist/{index-Jec13bI-2.d.mts → index-Bd1GC1kU2.d.mts} +0 -0
  303. /package/dist/{index-D3cH5U0n.d.mts → index-BgpYhR2z.d.mts} +0 -0
  304. /package/dist/{index-BrvsExEF.d.mts → index-Brdc35b-.d.mts} +0 -0
  305. /package/dist/{index-4b-ig5Uf.d.mts → index-C96LlS5m.d.mts} +0 -0
  306. /package/dist/{index-RtP5Mi4D.d.mts → index-CFeY8lfU.d.mts} +0 -0
  307. /package/dist/{index-NZ-gfUOw.d.mts → index-CcsJnJOD.d.mts} +0 -0
  308. /package/dist/{index-XLGBNeu0.d.mts → index-CdEhEXlY.d.mts} +0 -0
  309. /package/dist/{index-DKCFz7dL.d.mts → index-Chy9aknK.d.mts} +0 -0
  310. /package/dist/{index-BRdPSBFH2.d.mts → index-Ci3_i-WC2.d.mts} +0 -0
  311. /package/dist/{index-ChsmMZmN.d.mts → index-DC0yVsYL.d.mts} +0 -0
  312. /package/dist/{index-DIAmg04s.d.mts → index-DEchpaya.d.mts} +0 -0
  313. /package/dist/{index-CNS1jyBU.d.mts → index-DYUxNOIX.d.mts} +0 -0
  314. /package/dist/{index-fFSPF7N0.d.mts → index-DaMfTvfz.d.mts} +0 -0
  315. /package/dist/{index-Dx6P-ajY.d.mts → index-DquI_1X5.d.mts} +0 -0
  316. /package/dist/{index-DbP0yaRw.d.mts → index-GYZs75UP.d.mts} +0 -0
  317. /package/dist/{index-CQco6KNL.d.mts → index-oYGf2zIe.d.mts} +0 -0
  318. /package/dist/{index-BOlzcjwS.d.mts → index-pgYFJ5h6.d.mts} +0 -0
  319. /package/dist/{json-value-BsWNQQbr.d.mts → json-value-BwVdTylT.d.mts} +0 -0
  320. /package/dist/{jsonl-transport-B70HQ9l1.mjs → jsonl-transport-D8RBF0dK.mjs} +0 -0
  321. /package/dist/{lib-C_apP_9s.mjs → lib-3_xcE8J-.mjs} +0 -0
  322. /package/dist/{model-registry-C3NX834K.mjs → model-registry-CoegIvks.mjs} +0 -0
  323. /package/dist/{namespace-Bogua97s.d.mts → namespace-8-GrdcbF.d.mts} +0 -0
  324. /package/dist/{namespace-DNgZ_rfi.d.mts → namespace-B9CYb9Gh.d.mts} +0 -0
  325. /package/dist/{namespace-DDx4NVJm.mjs → namespace-BHj13hbA.mjs} +0 -0
  326. /package/dist/{namespace-Dzbt8LqQ.d.mts → namespace-BHliaabz.d.mts} +0 -0
  327. /package/dist/{namespace-BqlDkdht2.d.mts → namespace-BSXHdCVh2.d.mts} +0 -0
  328. /package/dist/{namespace-CU1jSw6E.d.mts → namespace-Bd49QmzS.d.mts} +0 -0
  329. /package/dist/{namespace-kIjqar0Y.mjs → namespace-BeED_Ojz.mjs} +0 -0
  330. /package/dist/{namespace-SwgMs4rw.d.mts → namespace-D9HNjIdc.d.mts} +0 -0
  331. /package/dist/{namespace-B1_egU5J.mjs → namespace-DWwWnLBu.mjs} +0 -0
  332. /package/dist/{namespace-UCwUrFRx.d.mts → namespace-De9Mg3zv.d.mts} +0 -0
  333. /package/dist/{namespace-CddQuUvG.d.mts → namespace-SQAGytmu.d.mts} +0 -0
  334. /package/dist/{orchestrator-shared-DrEFeZYw.d.mts → orchestrator-shared-BB6j8ezL.d.mts} +0 -0
  335. /package/dist/{orchestrator-shared-jYk9mi5C.mjs → orchestrator-shared-CY7Tu7kZ.mjs} +0 -0
  336. /package/dist/{out-B6fO6go6.mjs → out-CFkI17mk.mjs} +0 -0
  337. /package/dist/{package-BVm1EakP.d.mts → package-BSG1681x.d.mts} +0 -0
  338. /package/dist/{providers-namespace-Bl3M8Ibo.d.mts → providers-namespace-sPbGcZ6I.d.mts} +0 -0
  339. /package/dist/{quick-lru-Coxb6GVa.mjs → quick-lru-CTBjxfgD.mjs} +0 -0
  340. /package/dist/{registry-ElIHcMM2.mjs → registry-Dw6l7k3e.mjs} +0 -0
  341. /package/dist/{schema-DOPEco97.d.mts → schema-CfMsufSb.d.mts} +0 -0
  342. /package/dist/{schemas-B3K1ekm7.d.mts → schemas-B4FyOOJj.d.mts} +0 -0
  343. /package/dist/{schemas-Dq_g7Giu.d.mts → schemas-B5tMYfhC.d.mts} +0 -0
  344. /package/dist/{schemas-D_H0ztxl.d.mts → schemas-BAvt2HDy.d.mts} +0 -0
  345. /package/dist/{schemas-FiDj_kLq.mjs → schemas-BGS9RfqV.mjs} +0 -0
  346. /package/dist/{schemas-BKgUDm_a2.d.mts → schemas-BKKpQC4X2.d.mts} +0 -0
  347. /package/dist/{schemas-CzT0LApM.d.mts → schemas-ChF2z4RB.d.mts} +0 -0
  348. /package/dist/{schemas-DfZ85CRF2.d.mts → schemas-CiWCNQ9a2.d.mts} +0 -0
  349. /package/dist/{schemas-pl0mzEtO.d.mts → schemas-D55eXBgl.d.mts} +0 -0
  350. /package/dist/{schemas-CVbfHPw-.d.mts → schemas-DYvvMd3c.d.mts} +0 -0
  351. /package/dist/{schemas-DPosZWw-.d.mts → schemas-Dmij0PIc.d.mts} +0 -0
  352. /package/dist/{server-lifecycle-DzO3rjKP.d.mts → server-lifecycle-C-3OgoKi.d.mts} +0 -0
  353. /package/dist/{server-lifecycle-DLdh0-4H.mjs → server-lifecycle-DV6NMsgH.mjs} +0 -0
  354. /package/dist/{src-Dqa1n_kI.mjs → src-ftBp6GpR.mjs} +0 -0
  355. /package/dist/{storage-namespace-D4yQ--Sp.d.mts → storage-namespace-9N9R61pI.d.mts} +0 -0
  356. /package/dist/{storage-namespace-B1_x8Ho2.mjs → storage-namespace-B1GI4elv.mjs} +0 -0
  357. /package/dist/{storage-namespace-definition-BzSaRLtZ.d.mts → storage-namespace-definition-V8sc3drq.d.mts} +0 -0
  358. /package/dist/{supports-color-CCdGjFUY.mjs → supports-color-DwW9N6YC.mjs} +0 -0
  359. /package/dist/{tray-menu-service-BJ9r7IY3.mjs → tray-menu-service-Dgedanv-.mjs} +0 -0
  360. /package/dist/{types-Diu9uAnB.d.mts → types-Bju4dmAg.d.mts} +0 -0
  361. /package/dist/{types-C8_OhAFv.d.mts → types-DBb5jY4Z.d.mts} +0 -0
  362. /package/dist/{types-Bgb8eQkd.d.mts → types-DVLq657Y.d.mts} +0 -0
  363. /package/dist/{types-B9QOZAZ5.d.mts → types-DkFvBdIY.d.mts} +0 -0
  364. /package/dist/{window-registry-CHv3cgSN.d.mts → window-registry-Qcnvlhp7.d.mts} +0 -0
@@ -1 +1 @@
1
- import{n as e,r as t,t as n}from"../client-binary-version-verifier-CaFlNNjs.mjs";import{z as r}from"zod";import*as i from"node:fs/promises";import*as a from"node:path";import{randomUUID as o}from"node:crypto";import{createBusNamespace as s}from"@makaio/framework/core";import{MakaioBus as c}from"@makaio/framework/bus";import{extensionToken as l,isUniversalRange as u,versionSatisfies as d}from"@makaio/framework/contracts";import{BaseService as f}from"@makaio/framework/service-base";import{index as p,unique as ee,uniqueIndex as te}from"drizzle-orm/sqlite-core";import{index as m,unique as ne,uniqueIndex as re}from"drizzle-orm/pg-core";import{defineDialectSchema as h,defineDualTable as g,didAffectRows as ie,executeTransaction as _,registerDrizzleHandlers as ae,resolveSchema as v}from"@makaio/framework/storage/drizzle";import{and as y,eq as b,gt as oe,sql as x}from"drizzle-orm";import{ClientProfileNameSchema as S,ClientProfileSchema as se,ClientSubjects as ce,ClientSubjects as C,ClientWiringEntrySchema as w,SessionConfigLeaseIdSchema as le}from"@makaio/framework/contracts/client";import*as T from"node:os";import{CLIDetectionSubjects as ue}from"@makaio/framework/services/cli-detection/namespace";import{ClientStorageSubjects as de}from"@makaio/framework/services/settings/storage";import{SessionSubjects as fe}from"@makaio/framework/contracts/session";async function pe(e,t,n,r,i){let a,o=(n.get(e)??Promise.resolve()).then(async()=>{let n=await i(r(await me(e,t)));n.changed&&await he(e,n.content),a=n.result}),s=o.then(()=>void 0,()=>void 0);n.set(e,s);try{await o}finally{n.get(e)===s&&n.delete(e)}return a}async function me(e,t){let n;try{n=await i.readFile(e,`utf-8`)}catch(e){if(e.code===`ENOENT`)return t;throw e}return JSON.parse(n)}async function he(e,t){let n=a.dirname(e),r=a.join(n,`${a.basename(e)}.${o()}.tmp`);await i.mkdir(n,{recursive:!0});try{await i.writeFile(r,`${JSON.stringify(t,null,2)}\n`,`utf-8`),await i.rename(r,e)}catch(e){throw await i.unlink(r).catch(()=>void 0),e}}var ge=class e extends Error{code=`BINARY_NOT_FOUND`;constructor(t){super(`client.resolveBinary: no binary found for client '${t}' — install a managed version or ensure the binary is on PATH`),this.name=`BinaryNotFoundError`,Error.captureStackTrace?.(this,e)}},_e=class{nextAccountSequence=1;accountIdsByIdentifier=new Map;accounts=new Map;upsertAccount(e){let t=ye(e.displayLabel),n=new Map;for(let t of e.identifiers)n.set(ve(e.clientId,t.scheme,t.value),t);let r=be(n,this.accountIdsByIdentifier,`strong`),i=be(n,this.accountIdsByIdentifier,`alias`),a=r[0]??(i.length===1?i[0]:i.length>1?xe(i):this.createAccount()),o=(r.length>0?Ce(a,r,i):[]).flatMap(e=>this.mergeInto(a,e)),s=this.accounts.get(a);if(!s)throw Error(`Client account registry invariant violated: missing account ${a}`);for(let[e,t]of n){let n=this.accountIdsByIdentifier.get(e);r.length===0&&t.strength===`alias`&&n!==void 0&&n!==a||(s.identifiers.set(e,t),this.accountIdsByIdentifier.set(e,a))}return t!==void 0&&(s.displayLabel=t),{clientAccountId:a,displayLabel:s.displayLabel,mergedAccountIds:o}}clear(){this.accountIdsByIdentifier.clear(),this.accounts.clear(),this.nextAccountSequence=1}createAccount(){let e=`client-account-${this.nextAccountSequence}`;return this.nextAccountSequence+=1,this.accounts.set(e,{clientAccountId:e,identifiers:new Map}),e}mergeInto(e,t){if(e===t)return[];let n=this.accounts.get(e),r=this.accounts.get(t);if(!n||!r)return[];for(let[t,i]of r.identifiers)n.identifiers.set(t,i),this.accountIdsByIdentifier.set(t,e);return n.displayLabel===void 0&&r.displayLabel!==void 0&&(n.displayLabel=r.displayLabel),this.accounts.delete(t),[t]}};function ve(e,t,n){return`${e}\u0000${t}\u0000${n}`}function ye(e){return e?.trim()||void 0}function be(e,t,n){let r=new Set;for(let[i,a]of e){if(a.strength!==n)continue;let e=t.get(i);e!==void 0&&r.add(e)}return Array.from(r).sort(E)}function xe(e){return[...e].sort(E)[0]}function E(e,t){let n=Se(e),r=Se(t);return n!==null&&r!==null&&n!==r?n-r:e.localeCompare(t)}function Se(e){let t=e.match(/^client-account-(\d+)$/);return t?Number(t[1]):null}function Ce(e,t,n){let r=new Set([...t,...n]);return r.delete(e),Array.from(r).sort(E)}function we(e){return{subject:`config.prime`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1}}}async function D(e,t){let n=await e.requestOptional(we(t.clientId),t);return n.handled?n.data:{primed:!1}}function Te(){let e=e=>async()=>{throw Error(`StrategyDependencies.${e} is not implemented`)};return{fetchText:e(`fetchText`),fetchJson:e(`fetchJson`),downloadFile:e(`downloadFile`),exec:e(`exec`),extractArchive:e(`extractArchive`),deleteFile:e(`deleteFile`),computeChecksum:e(`computeChecksum`),removeDirectory:e(`removeDirectory`)}}var Ee=class{resolveInstallVersion(e,t,n){let r=t.version;if(n===void 0)return{version:r,explicit:!1};let i=n.trim();if(i.length===0)throw Error(`Explicit version returned an empty version string`);if(i!==r)throw Error(`client.install: requested version ${i} for client '${e}' does not match pinned version ${r}`);return{version:i,explicit:!0}}};function O(t,n){return!a.isAbsolute(t)||!a.isAbsolute(n)?!1:e(a.resolve(t),a.resolve(n))}function k(e,t){if(!e||!a.isAbsolute(e))throw Error(`${t} requires a non-empty absolute basePath`);return a.resolve(e)}var De=class{strategyDeps;config;jobs=new Map;#e=!1;resolvedBasePath;constructor(e,t){this.strategyDeps=e,this.config=t,this.resolvedBasePath=k(t.basePath,`ClientBinaryJobRunner`)}startJob(e,t,n,r,i,a,o){let s={...e,status:`running`};return this.jobs.set(e.jobId,s),this.runJob(s,t,n,r,i,a,o),e.jobId}cancelAll(){this.#e=!0,this.jobs.clear()}safeOnProgress(e,t){try{e(t)}catch{}}emitProgressIfActive(e,t){return this.#e?!1:(this.safeOnProgress(e,t),!this.#e)}async runJob(e,n,r,i,a,o,s){try{let c=this.resolveTargetDir(e.clientId,e.version),l=t(n,this.strategyDeps);if(l===void 0)throw Error(`Unsupported managed install descriptor type: ${n.type}`);let u=await this.executeStrategy(e,l,c,r);if(this.#e)return;let d;try{if(d=await this.runPostInstall(e,u.installPath,o,r),this.#e)return;s!==void 0&&await this.runVersionVerification(e,u.installPath,s,r)}catch(e){throw this.#e||await this.cleanupStagedArtifact(u.installPath),e}if(this.#e)return;await this.finalizeSuccess(e,u,d,r,i,a)}catch(t){if(this.#e)return;let n=t instanceof Error?t.message:String(t),r=t instanceof Error&&`code`in t?String(t.code):void 0;try{await a({jobId:e.jobId,clientId:e.clientId,version:e.version,strategy:e.strategy,status:`error`,activeVersion:null,error:{message:n,...r===void 0?{}:{code:r}}})}catch{}}finally{this.jobs.delete(e.jobId)}}async finalizeSuccess(e,t,n,r,i,a){if(!(e.makeActive&&!this.emitProgressIfActive(r,{jobId:e.jobId,clientId:e.clientId,version:t.version,strategy:e.strategy,stage:`activating`,progress:null,installPath:t.installPath,activeAfterCompletion:!0}))&&!this.#e){try{await i({jobId:e.jobId,clientId:e.clientId,version:t.version,installPath:t.installPath,makeActive:e.makeActive,reason:e.reason})}catch(e){try{await this.strategyDeps.removeDirectory(t.installPath)}catch{}throw e}if(!this.#e)try{await a({jobId:e.jobId,clientId:e.clientId,version:t.version,strategy:e.strategy,status:`success`,installPath:t.installPath,activeVersion:e.makeActive?t.version:null,...n===void 0?{}:{metadata:{postInstall:n}}})}catch{}}}async cleanupStagedArtifact(e){try{await this.strategyDeps.removeDirectory(e)}catch{}}async executeStrategy(e,t,n,r){try{return await t.execute(e.version,n,(t,i)=>{this.emitProgressIfActive(r,{jobId:e.jobId,clientId:e.clientId,version:e.version,strategy:e.strategy,stage:t,progress:i,installPath:t===`installing`?n:void 0,activeAfterCompletion:e.makeActive})})}catch(e){throw this.#e||await this.cleanupStagedArtifact(n),e}}async runPostInstall(e,t,n,r){if(n===void 0)return;let i=this.resolvePostInstallHandler(n),a=this.buildProgressPayload(e,`post-install`,null,t,{kind:n.kind});if(!this.emitProgressIfActive(r,a))return;let o=await i({clientId:e.clientId,version:e.version,installPath:t,descriptor:n});return this.emitProgressIfActive(r,this.buildProgressPayload(e,`post-install`,100,t,{kind:n.kind,...o??{}})),o??void 0}async runVersionVerification(e,t,r,i){this.emitProgressIfActive(i,this.buildProgressPayload(e,`verifying`,null,t,{kind:`version-command`}))&&(this.#e||await n(this.strategyDeps.exec,t,r,e.version))}resolvePostInstallHandler(e){let t=this.config.postInstallHandlers?.get(e.kind);if(t===void 0)throw Error(`No post-install handler registered for kind "${e.kind}"`);return t}buildProgressPayload(e,t,n,r,i){return{jobId:e.jobId,clientId:e.clientId,version:e.version,strategy:e.strategy,stage:t,progress:n,installPath:r,activeAfterCompletion:e.makeActive,...i===void 0?{}:{metadata:i}}}resolveTargetDir(e,t){let n=a.resolve(this.resolvedBasePath,e,t);if(!O(this.resolvedBasePath,n))throw Error(`Invalid install target path for client "${e}" and version "${t}"`);return n}};const A=r.object({id:r.string(),clientId:r.string(),version:r.string(),installPath:r.string(),installedAt:r.number().int().nonnegative(),createdAt:r.number().int().nonnegative()}),j=r.object({clientId:r.string(),activeVersion:r.string().nullable(),updatedAt:r.number().int().nonnegative()}),Oe=r.object({previousActiveVersion:r.string().nullable(),activeVersion:r.string().nullable()}),ke=s(`client-binary:storage`,{insertVersion:{request:A,response:r.object({success:r.boolean()})},recordInstalledVersion:{request:r.object({versionRecord:A,makeActive:r.boolean(),updatedAt:r.number().int().nonnegative()}),response:Oe},listVersions:{request:r.object({clientId:r.string()}),response:r.object({versions:r.array(A)})},getSnapshot:{request:r.object({clientId:r.string()}),response:r.object({state:j.nullable(),versions:r.array(A)})},loadAllVersions:{request:r.object({}),response:r.object({versions:r.array(A)})},upsertState:{request:j,response:r.object({success:r.boolean()})},setActiveVersion:{request:r.object({clientId:r.string(),activeVersion:r.string().nullable(),updatedAt:r.number().int().nonnegative()}),response:Oe},getState:{request:r.object({clientId:r.string()}),response:r.object({state:j.nullable()})},loadAllState:{request:r.object({}),response:r.object({states:r.array(j)})},loadSnapshot:{request:r.object({}),response:r.object({states:r.array(j),versions:r.array(A)})},removeVersionAndClearActive:{request:r.object({clientId:r.string(),version:r.string(),updatedAt:r.number().int().nonnegative()}),response:Oe.extend({removedVersion:r.string().nullable()})}}),M=ke.subjects;var N=class{definitions=new Map;constructor(e=[]){for(let t of e)this.registerUnique(t)}getDefinition(e){return this.definitions.get(e)}listDefinitions(){return[...this.definitions.values()]}register(e){this.definitions.set(e.id,e)}registerUnique(e){if(this.definitions.has(e.id))throw Error(`ClientDefinitionRegistry: duplicate client definition id '${e.id}'`);this.definitions.set(e.id,e)}};const Ae=process.env.MAKAIO_SKIP_CLIENT_VERSION_CHECK===`1`;function P(e,t,n,r,i){if(n===null){if(u(r))return;if(Ae){console.warn(`[SKIP_VERSION_CHECK] ${e}: ${i} for client '${t}' did not report a version; requires ${r}`);return}throw Error(`${e}: ${i} for client '${t}' did not report a version; requires ${r}`)}if(!d(n,r)){if(Ae){console.warn(`[SKIP_VERSION_CHECK] ${e}: ${i} ${n} for client '${t}' does not satisfy ${r} — check bypassed`);return}throw Error(`${e}: ${i} ${n} for client '${t}' does not satisfy ${r}`)}}var je=class{bus;resolvedBasePath;resolvedConfigBasePath;definitionLookup;resolutionPolicy;constructor(e){this.bus=e.bus,this.resolvedBasePath=e.resolvedBasePath,this.resolvedConfigBasePath=e.resolvedConfigBasePath,this.definitionLookup=e.definitionLookup,this.resolutionPolicy=e.resolutionPolicy??`managed-first`}async resolve(e){let t=this.definitionLookup.getDefinition(e);if(t===void 0)throw Error(`client.resolveBinary: no definition registered for client '${e}'`);if(this.resolutionPolicy===`managed-first`){let{state:n,versions:r}=await this.bus.request(M.getSnapshot,{clientId:e}),i=n?.activeVersion??null;if(i!==null)return this.buildManagedContext(e,i,t,r)}return this.buildGlobalContext(e,t)}isInstallPathWithinBase(e){return O(this.resolvedBasePath,e)}async isExpectedInstallPath(e,t,n){if(!a.isAbsolute(e)||!this.isInstallPathWithinBase(e))return!1;let r=a.resolve(this.resolvedBasePath,t,n);if(!this.isInstallPathWithinBase(r))return!1;try{let[t,n,a]=await Promise.all([i.realpath(this.resolvedBasePath),i.realpath(r),i.realpath(e)]);return O(t,n)?a===n||O(n,a):!1}catch{return!1}}async buildManagedContext(e,t,n,r){let i=r.find(e=>e.version===t);if(i===void 0)throw Error(`client.resolveBinary: active version '${t}' is not installed for client '${e}'`);if(!await this.isExpectedInstallPath(i.installPath,e,t))throw Error(`client.resolveBinary: stored installPath "${i.installPath}" does not match the expected install directory for ${e}@${t}`);n.binary!==void 0&&P(`client.resolveBinary`,e,t,n.binary.supportedVersions,`managed binary version`);let o=F(n.versionCommand)?.[0];if(o===void 0)throw Error(`client.resolveBinary: definition for '${e}' has no versionCommand — cannot derive binary path`);let s=a.resolve(i.installPath,o),c=a.resolve(i.installPath);if(!s.startsWith(c+a.sep)&&s!==c)throw Error(`client.resolveBinary: versionCommand for '${e}' resolves outside the install directory`);let{configDir:l,env:u}=this.resolveIsolatedConfig(e,n);return{binaryPath:s,env:u,configDir:l,source:`managed`,version:t}}async buildGlobalContext(e,t){if(!t.binary?.name)throw Error(`client.resolveBinary: definition for '${e}' has no binary.name — cannot scan PATH`);let n={clientId:e,binaryName:t.binary.name,supportedVersions:t.binary.supportedVersions},{results:r}=await this.bus.request(C.scan,{targets:[n]}),i=r.find(t=>t.clientId===e);if(i===void 0||!i.found)throw new ge(e);let o=i.version??null;P(`client.resolveBinary`,e,o,t.binary.supportedVersions,`detected global binary version`);let s=this.resolveGlobalConfigDir(t),c=i.binaryPath??null;if(c!==null&&!a.isAbsolute(c))throw Error(`client.resolveBinary: detected global binary path for '${e}' is not absolute`);return{binaryPath:c,env:{},configDir:s,source:`global`,version:o}}resolveIsolatedConfig(e,t){let{configIsolation:n}=t;if(n===void 0)return{configDir:null,env:{}};let r=a.join(this.resolvedConfigBasePath,e,`config`),i=n.pathKind===`file`?a.join(r,a.basename(n.defaultPath)):r;return{configDir:r,env:{[n.envVar]:i}}}resolveGlobalConfigDir(e){let{configIsolation:t}=e;if(t===void 0)return null;let n=t.defaultPath,r=n===`~`?T.homedir():n.startsWith(`~/`)?a.join(T.homedir(),n.slice(2)):n,i=t.pathKind===`file`?a.dirname(r):r;if(!a.isAbsolute(i))throw Error(`ConfigIsolation defaultPath for '${e.id}' resolved to non-absolute path '${r}'; use an absolute or tilde-expanded path (e.g. '~/.myapp')`);return i}};function F(e){if(e===void 0)return;let{executable:t,args:n}=e,r=typeof t==`string`?t:t[process.platform]??t.default;if(typeof r!=`string`||r.trim()===``)throw Error(`client.resolveBinary: versionCommand executable is missing for this platform`);return[r,...n]}async function Me(e,t){let{versions:n,states:r}=await e.request(M.loadSnapshot,{}),i=Map.groupBy(n,e=>e.clientId),a=new Map;for(let e of r)a.set(e.clientId,e.activeVersion);let o=new Map;for(let e of t.listDefinitions())e.managedInstall!==void 0&&o.set(e.id,e.managedInstall);return[...new Set(o.keys())].map(e=>{let t=o.get(e);if(t===void 0)throw Error(`assembleBinaryList: missing descriptor for client '${e}'`);let n=a.get(e)??null,r=(i.get(e)??[]).map(e=>({version:e.version,installPath:e.installPath,installedAt:e.installedAt,isActive:e.version===n})),s=t.version;return{clientId:e,installedVersions:r,activeVersion:n,pinnedVersion:s,updateAvailable:n!==null&&n!==s}})}var Ne=class extends f{config;definitionLookup;versionResolver;jobRunner;strategyDeps;resolvedBasePath;resolvedConfigBasePath;resolver;pendingClients=new Set;constructor(e=c,t,n=new N([]),r=Te()){super(e),this.config=t,this.definitionLookup=n,this.resolvedBasePath=k(t.basePath,`ClientBinaryManager`),this.resolvedConfigBasePath=k(t.configBasePath,`ClientBinaryManager configBasePath`),this.strategyDeps=r,this.versionResolver=new Ee,this.jobRunner=new De(r,t),this.resolver=new je({bus:e,resolvedBasePath:this.resolvedBasePath,resolvedConfigBasePath:this.resolvedConfigBasePath,definitionLookup:n,...t.resolutionPolicy!==void 0&&{resolutionPolicy:t.resolutionPolicy}})}async onInit(){this.registerHandler(C.list,async e=>{let t=await this.handleList();e.setResult({clients:t})}),this.registerHandler(C.install,async e=>{let t=await this.handleInstall(e.payload.clientId,e.payload.version);e.setResult(t)}),this.registerHandler(C.update,async e=>{let t=await this.handleUpdate(e.payload.clientId);e.setResult(t)}),this.registerHandler(C.setActive,async e=>{let t=await this.handleSetActive(e.payload.clientId,e.payload.version);e.setResult(t)}),this.registerHandler(C.uninstall,async e=>{let t=await this.handleUninstall(e.payload.clientId,e.payload.version);e.setResult(t)}),this.registerHandler(C.resolveBinary,async e=>{let t=await this.resolver.resolve(e.payload.clientId);e.setResult(t)})}onDestroy(){this.jobRunner.cancelAll(),this.pendingClients.clear()}async handleList(){return Me(this.bus,this.definitionLookup)}async handleInstall(e,t){let{definition:n,descriptor:r}=this.requireManagedDefinition(e,`client.install`);return this.withClientLock(e,async()=>{let{version:i}=this.versionResolver.resolveInstallVersion(e,r,t);return n.binary!==void 0&&P(`client.install`,e,i,n.binary.supportedVersions,t===void 0?`resolved binary version`:`requested binary version`),{jobId:this.startInstallJob(e,i,r,n,!1,`install`),requestedVersion:t??null,resolvedVersion:i}})}async handleUpdate(e){let{definition:t,descriptor:n}=this.requireManagedDefinition(e,`client.update`);return this.withClientLock(e,async()=>{let{version:r}=this.versionResolver.resolveInstallVersion(e,n);return t.binary!==void 0&&P(`client.update`,e,r,t.binary.supportedVersions,`resolved binary version`),{jobId:this.startInstallJob(e,r,n,t,!0,`update`),resolvedVersion:r}})}async handleSetActive(e,t){if(this.pendingClients.has(e))throw Error(`Operation already in progress for client "${e}"`);this.pendingClients.add(e);try{let{versions:r}=await this.bus.request(M.listVersions,{clientId:e}),i=r.find(e=>e.version===t);if(i===void 0)throw Error(`client.setActive: version '${t}' is not installed for client '${e}'`);let a=this.definitionLookup.getDefinition(e);if(a===void 0)throw Error(`client.setActive: no definition registered for client '${e}'`);a.binary!==void 0&&P(`client.setActive`,e,t,a.binary.supportedVersions,`requested binary version`);let o=F(a.versionCommand);if(o===void 0)throw Error(`client.setActive: no versionCommand registered for client '${e}'`);if(!await this.resolver.isExpectedInstallPath(i.installPath,e,t))throw Error(`client.setActive: stored installPath "${i.installPath}" does not match the expected install directory for ${e}@${t}`);return await n(this.strategyDeps.exec,i.installPath,o,t),await this.patchActiveVersion(e,t,`set-active`),{clientId:e,activeVersion:t}}finally{this.pendingClients.delete(e)}}async handleUninstall(e,t){if(this.pendingClients.has(e))throw Error(`Operation already in progress for client "${e}"`);this.pendingClients.add(e);try{let{versions:n}=await this.bus.request(M.listVersions,{clientId:e}),r=n.find(e=>e.version===t);if(r===void 0)throw Error(`client.uninstall: version '${t}' is not installed for client '${e}'`);let{removedVersion:i,previousActiveVersion:o,activeVersion:s}=await this.bus.request(M.removeVersionAndClearActive,{clientId:e,version:t,updatedAt:Date.now()});if(i===null)throw Error(`client.uninstall: failed to delete version '${t}' for client '${e}'`);let c=r.installPath,l=typeof c==`string`&&c.length>0?a.resolve(c):null;if(typeof c!=`string`||c.length===0||l===null||!a.isAbsolute(c)||!await this.resolver.isExpectedInstallPath(l,e,t)?console.warn(`[ClientBinaryManager] Skipping removeDirectory: stored installPath "${String(c)}" does not match the expected install directory for ${e}@${t}`):await this.strategyDeps.removeDirectory(l).catch(n=>{console.warn(`[ClientBinaryManager] Failed to remove binary directory "${l}" for ${e}@${t}:`,n)}),o!==null&&s===null)try{await this.bus.emit(C.version.changed,{clientId:e,previousActiveVersion:o,activeVersion:null,reason:`uninstall`})}catch(e){console.warn(`[ClientBinaryManager] Failed to emit client.version.changed:`,e)}return{clientId:e,removedVersion:t,activeVersion:s}}finally{this.pendingClients.delete(e)}}async patchActiveVersion(e,t,n){let r=(await this.bus.request(M.setActiveVersion,{clientId:e,activeVersion:t,updatedAt:Date.now()})).previousActiveVersion;if(r!==t)try{await this.bus.emit(C.version.changed,{clientId:e,previousActiveVersion:r,activeVersion:t,reason:n})}catch(e){console.warn(`[ClientBinaryManager] Failed to emit client.version.changed:`,e)}return r}requireManagedDefinition(e,t){let n=this.definitionLookup.getDefinition(e);if(n===void 0)throw Error(`${t}: no definition registered for client '${e}'`);let r=n.managedInstall;if(r===void 0)throw Error(`${t}: client '${e}' does not declare a managed install descriptor`);return{definition:n,descriptor:r}}async withClientLock(e,t){if(this.pendingClients.has(e))throw Error(`Operation already in progress for client "${e}"`);this.pendingClients.add(e);try{return await t()}catch(t){throw this.pendingClients.delete(e),t}}startInstallJob(e,t,n,r,i,a){let o={jobId:crypto.randomUUID(),clientId:e,version:t,strategy:n.type,status:`pending`,makeActive:i,reason:a};return this.jobRunner.startJob(o,n,e=>{this.bus.emit(C.installJob.progress,e).catch(e=>{console.warn(`[ClientBinaryManager] Failed to emit client.installJob.progress:`,e)})},this.makeCompletionCallback(),async e=>{this.pendingClients.delete(e.clientId),await this.bus.emit(C.installJob.completed,e).catch(e=>{console.warn(`[ClientBinaryManager] Failed to emit client.installJob.completed:`,e)})},r.postInstall,F(r.versionCommand)),o.jobId}makeCompletionCallback(){return async({clientId:e,version:t,installPath:n,makeActive:r,reason:i})=>{let a=Date.now();await D(this.bus,{clientId:e,configDir:this.resolveManagedConfigDir(e),phase:`managed-install`,binaryVersion:t});let o=await this.bus.request(M.recordInstalledVersion,{versionRecord:{id:crypto.randomUUID(),clientId:e,version:t,installPath:n,installedAt:a,createdAt:a},makeActive:r,updatedAt:a});if(r&&o.previousActiveVersion!==o.activeVersion)try{await this.bus.emit(C.version.changed,{clientId:e,previousActiveVersion:o.previousActiveVersion,activeVersion:o.activeVersion,reason:i})}catch(e){console.warn(`[ClientBinaryManager] Failed to emit client.version.changed:`,e)}}}resolveManagedConfigDir(e){return a.join(this.resolvedConfigBasePath,e,`config`)}};function I(e,t){return`${e}${t}`}function L(e,t){return`${e}${t}`}var Pe=class{records=new Map;bySupervisorSessionId=new Map;byPidClientId=new Map;byAdapterSessionClientId=new Map;adapterOwnedSessions=new Set;set(e){let t=this.records.get(e.clientRuntimeId);t&&this.removeIndexEntries(t),this.records.set(e.clientRuntimeId,e),this.addIndexEntries(e)}setFromStorage(e,t,n){this.records.set(e.clientRuntimeId,e),e.supervisorSessionId!==void 0&&this.bySupervisorSessionId.set(e.supervisorSessionId,e.clientRuntimeId),t-e.updatedAt<=n&&(e.pid!==void 0&&this.byPidClientId.set(I(e.pid,e.clientId),e.clientRuntimeId),e.adapterSessionId!==void 0&&this.byAdapterSessionClientId.set(L(e.adapterSessionId,e.clientId),e.clientRuntimeId))}delete(e){let t=this.records.get(e);t&&(this.removeIndexEntries(t),t.adapterSessionId!==void 0&&this.adapterOwnedSessions.delete(L(t.adapterSessionId,t.clientId)),this.records.delete(e))}get(e){return this.records.get(e)}findByEvidence(e,t,n,r){if(e!==void 0){let t=this.bySupervisorSessionId.get(e);if(t!==void 0)return this.records.get(t)}if(t!==void 0){let e=this.byPidClientId.get(I(t,r));if(e!==void 0)return this.records.get(e)}if(n!==void 0){let e=this.byAdapterSessionClientId.get(L(n,r));if(e!==void 0)return this.records.get(e)}}values(){return this.records.values()}clear(){this.records.clear(),this.bySupervisorSessionId.clear(),this.byPidClientId.clear(),this.byAdapterSessionClientId.clear(),this.adapterOwnedSessions.clear()}markAdapterOwned(e,t){this.adapterOwnedSessions.add(L(e,t))}hasAdapterSession(e,t){return this.adapterOwnedSessions.has(L(e,t))}get size(){return this.records.size}addIndexEntries(e){e.supervisorSessionId!==void 0&&this.bySupervisorSessionId.set(e.supervisorSessionId,e.clientRuntimeId),e.pid!==void 0&&this.byPidClientId.set(I(e.pid,e.clientId),e.clientRuntimeId),e.adapterSessionId!==void 0&&this.byAdapterSessionClientId.set(L(e.adapterSessionId,e.clientId),e.clientRuntimeId)}removeIndexEntries(e){e.supervisorSessionId!==void 0&&this.bySupervisorSessionId.delete(e.supervisorSessionId),e.pid!==void 0&&this.byPidClientId.delete(I(e.pid,e.clientId)),e.adapterSessionId!==void 0&&this.byAdapterSessionClientId.delete(L(e.adapterSessionId,e.clientId))}};const R=[`observed`,`started`],z=r.object({clientRuntimeId:r.string(),clientId:r.string(),status:r.enum(R),supervisorSessionId:r.string().optional(),pid:r.number().int().positive().optional(),parentPid:r.number().int().positive().optional(),adapterSessionId:r.string().optional(),sessionId:r.string().optional(),cwd:r.string().optional(),argv:r.array(r.string()).optional(),metadata:r.record(r.string(),r.unknown()).optional(),observedAt:r.number().int().nonnegative(),createdAt:r.number().int().nonnegative(),updatedAt:r.number().int().nonnegative()}),B=s(`client-runtime:storage`,{upsert:{request:z,response:r.object({success:r.boolean()})},loadAll:{request:r.object({}),response:r.object({records:r.array(z)})}}),V=B.subjects;function Fe(e){return e.supervisorSessionId!==void 0||e.adapterSessionId!==void 0}function H(e){return{...e,argv:e.argv===void 0?void 0:[...e.argv],metadata:e.metadata===void 0?void 0:structuredClone(e.metadata)}}function Ie(e){return Math.max(Date.now(),e+1)}function Le(e,t){let n=!1;return t.supervisorSessionId!==void 0&&e.supervisorSessionId!==t.supervisorSessionId&&(e.supervisorSessionId=t.supervisorSessionId,n=!0),t.pid!==void 0&&e.pid!==t.pid&&(e.pid=t.pid,n=!0),t.parentPid!==void 0&&e.parentPid!==t.parentPid&&(e.parentPid=t.parentPid,n=!0),t.adapterSessionId!==void 0&&e.adapterSessionId!==t.adapterSessionId&&(e.adapterSessionId=t.adapterSessionId,n=!0),t.sessionId!==void 0&&e.sessionId!==t.sessionId&&(e.sessionId=t.sessionId,n=!0),t.cwd!==void 0&&e.cwd!==t.cwd&&(e.cwd=t.cwd,n=!0),t.argv!==void 0&&JSON.stringify(e.argv)!==JSON.stringify(t.argv)&&(e.argv=[...t.argv],n=!0),t.metadata!==void 0&&JSON.stringify(e.metadata)!==JSON.stringify(t.metadata)&&(e.metadata=structuredClone(t.metadata),n=!0),n}var Re=class{runtimeMap=new Pe;bus;constructor(e){this.bus=e}async loadFromStorage(){if(!this.bus)return;let e=await this.bus.requestOptional(V.loadAll,{});if(!e.handled)return;let t=Date.now();for(let n of e.data.records)this.runtimeMap.setFromStorage(H(n),t,864e5)}async upsertRuntime(e){let t=this.runtimeMap.findByEvidence(e.supervisorSessionId,e.pid,e.adapterSessionId,e.clientId);if(t){let n=t.status===`observed`,r=n&&Fe(e),i=Le(t,e),a=n&&e.observedAt>t.observedAt;return r&&(t.status=`started`),(i||r||a)&&(t.updatedAt=Ie(t.updatedAt),a&&(t.observedAt=e.observedAt),this.runtimeMap.set(t),await this.persistRecord(t)),{clientRuntimeId:t.clientRuntimeId,created:!1,promoted:r,record:H(t)}}let n=Date.now(),r=o(),i=Fe(e)?`started`:`observed`,a={clientRuntimeId:r,clientId:e.clientId,status:i,supervisorSessionId:e.supervisorSessionId,pid:e.pid,parentPid:e.parentPid,adapterSessionId:e.adapterSessionId,sessionId:e.sessionId,cwd:e.cwd,argv:e.argv?[...e.argv]:void 0,metadata:e.metadata?structuredClone(e.metadata):void 0,observedAt:e.observedAt,createdAt:n,updatedAt:n};return this.runtimeMap.set(a),await this.persistRecord(a),{clientRuntimeId:r,created:!0,promoted:!1,record:H(a)}}getRuntime(e){let t=this.runtimeMap.get(e);return t?H(t):void 0}markAdapterOwned(e,t){this.runtimeMap.markAdapterOwned(e,t)}hasAdapterSession(e,t){return this.runtimeMap.hasAdapterSession(e,t)}clear(){this.runtimeMap.clear()}get size(){return this.runtimeMap.size}async persistRecord(e){this.bus&&await this.bus.requestOptional(V.upsert,H(e))}};const U=r.object({eventName:r.string(),receivedAt:r.number().int().finite().nonnegative().describe(`Unix epoch timestamp in milliseconds`),payload:r.record(r.string(),r.unknown()),metadata:r.record(r.string(),r.unknown()).optional()}),ze=/^[a-z0-9-]+$/;function W(e,t=`canonicalizeClientId`){let n=e.trim().toLowerCase(),r=n.startsWith(`client:`)?n.slice(7):n;if(r.length===0)throw Error(`[${t}] clientId must be a non-empty string`);if(!ze.test(r))throw Error(`[${t}] clientId must contain only lowercase letters, numbers, and hyphens after an optional client: prefix`);return r}function Be(e){return{subject:`hook.received`,$meta:{namespace:`client:${W(e,`createRawClientHookReceivedSubject`)}`,isRequest:!1,local:!1,channel:!1}}}const Ve=5e3,He=r.object({exitCode:r.number().int().min(0).max(255).default(0),stdout:r.string().default(``),stderr:r.string().default(``)});function Ue(e){return{subject:`hook.handle`,$meta:{namespace:`client:${W(e,`createRawClientHookHandleSubject`)}`,isRequest:!0,local:!1,channel:!1}}}function We(e){if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0}function Ge(e,t){return We(e[t])}function Ke(e){return{clientId:e.clientId,source:`adapter-derived`,observedAt:Date.now(),...e.sessionId!==void 0&&{sessionId:e.sessionId},...e.adapterSessionId!==void 0&&{adapterSessionId:e.adapterSessionId}}}function qe(e){try{e().catch(Je)}catch(e){Je(e)}}function Je(e){(process.env.DEBUG||process.env.MAKAIO_DEBUG)&&console.debug(`[emitBestEffort] observed-semantics emission failed`,e)}function Ye(e,t){return{subject:t,$meta:{namespace:`client:${W(e,`createClientWiringSubjectDef`)}`,isRequest:!0,local:!1,channel:!1}}}function Xe(e){return Ye(e,`wiring.list`)}const Ze=r.string().min(1).refine(a.isAbsolute,{message:`projectDir must be an absolute path`}),Qe=r.object({entries:r.array(w)}),$e=r.object({applied:r.number().int().nonnegative(),skipped:r.number().int().nonnegative()}),et=r.object({removed:r.number().int().nonnegative()}),tt=r.object({clientId:r.string().trim().min(1),entries:r.array(w)});function nt(e){if(e!==void 0&&!a.isAbsolute(e))throw Error(`projectDir must be an absolute path, got: ${e}`)}var rt=class extends f{accountRegistry;runtimeRegistry;latestSnapshots=new Map;activeIdentities=new Map;constructor(e=c,t=new _e,n=new Re(e)){super(e),this.accountRegistry=t,this.runtimeRegistry=n}async onInit(){await this.runtimeRegistry.loadFromStorage(),this.registerHandler(C.account.observe,e=>this.handleAccountObserve(e)),this.registerHandler(C.usage.ingest,e=>this.handleUsageIngest(e)),this.registerHandler(C.scan,async e=>{let t=await this.scanClients(e.payload.targets);e.setResult({results:t})}),this.registerHandler(C.runtime.observe,e=>this.handleRuntimeObserve(e)),this.registerHandler(C.runtime.isAdapterManaged,e=>{let{adapterSessionId:t,clientId:n}=e.payload;e.setResult({managed:this.runtimeRegistry.hasAdapterSession(t,n)})}),this.registerHandler(C.wiring.list,async e=>{let t=await this.listWirings(e.payload);e.setResult({results:t})}),this.registerHandler(C.account.activate,e=>{this.activeIdentities.set(e.payload.clientId,{clientAccountId:e.payload.clientAccountId,identifiers:e.payload.identifiers,displayLabel:e.payload.displayLabel}),e.setResult({accepted:!0})}),this.registerHandler(C.account.getActive,e=>{let t=this.activeIdentities.get(e.payload.clientId);e.setResult({identity:t??null})})}onDestroy(){this.latestSnapshots.clear(),this.activeIdentities.clear(),this.accountRegistry.clear(),this.runtimeRegistry.clear()}getLatestSnapshot(e){return this.latestSnapshots.get(e)}async handleAccountObserve(e){let t=this.accountRegistry.upsertAccount({clientId:e.payload.clientId,identifiers:e.payload.identifiers,displayLabel:e.payload.displayLabel}),n=this.latestSnapshots.get(t.clientAccountId),r=ot(this.consolidateMergedSnapshots(t.clientAccountId,t.mergedAccountIds)??n,t.displayLabel);r&&this.latestSnapshots.set(t.clientAccountId,r),r&&(t.mergedAccountIds.length>0||r!==n)&&await this.bus.emit(C.usage.snapshot,r),e.setResult({clientAccountId:t.clientAccountId,displayLabel:t.displayLabel})}async handleUsageIngest(e){let t=this.accountRegistry.upsertAccount({clientId:e.payload.clientId,identifiers:e.payload.account.identifiers,displayLabel:e.payload.account.displayLabel});this.consolidateMergedSnapshots(t.clientAccountId,t.mergedAccountIds);let n=it(t.clientAccountId,e.payload,t.displayLabel),r=ot(at(this.latestSnapshots.get(t.clientAccountId),n),t.displayLabel);this.latestSnapshots.set(t.clientAccountId,r),await this.bus.emit(C.usage.snapshot,r),e.setResult({clientAccountId:t.clientAccountId,snapshot:r})}async handleRuntimeObserve(e){let{payload:t}=e;if(t.supervisorSessionId===void 0&&t.pid===void 0&&t.adapterSessionId===void 0)throw Error(`client.runtime.observe: at least one hard-evidence field is required (supervisorSessionId, pid, or adapterSessionId)`);let{record:n,...r}=await this.runtimeRegistry.upsertRuntime(t);t.source.layer===`adapter`&&t.adapterSessionId!==void 0&&this.runtimeRegistry.markAdapterOwned(t.adapterSessionId,t.clientId),(r.created||r.promoted)&&await this.bus.emit(C.runtime.started,{clientRuntimeId:n.clientRuntimeId,clientId:n.clientId,status:n.status,source:t.source,observedAt:t.observedAt,supervisorSessionId:n.supervisorSessionId,pid:n.pid,parentPid:n.parentPid,adapterSessionId:n.adapterSessionId,sessionId:n.sessionId,cwd:n.cwd,argv:n.argv,metadata:n.metadata}),e.setResult({clientRuntimeId:r.clientRuntimeId,created:r.created,promoted:r.promoted})}async scanClients(e){let t=e??await this.listScannableStoredClients();if(t.length===0)return[];let n=Array.from(new Set(t.map(e=>e.binaryName))),{results:r}=await this.bus.request(ue.scan,{binaries:n}),i=new Map(r.map(e=>[e.binary,e]));return t.map(e=>{let t=i.get(e.binaryName),n=t?.found??!1,r=t?.version,a=t?.path;return{clientId:e.clientId,found:n,...a!==void 0&&{binaryPath:a},version:r,warningMessage:ct(n,r,e.supportedVersions)}})}async listScannableStoredClients(){let{clients:e}=await this.bus.request(de.list,{});return e.filter(st).map(e=>({clientId:e.id,binaryName:e.binary.name,supportedVersions:e.binary.supportedVersions}))}async listWirings(e){nt(e.projectDir);let{clients:t}=await this.bus.request(de.list,{}),n=e.clientId===void 0?void 0:W(e.clientId,`listWirings`),r=t.filter(e=>e.enabled).filter(e=>n===void 0||e.id===n),i=await Promise.allSettled(r.map(async t=>{let n=Xe(t.id),r=await this.bus.requestOptional(n,{projectDir:e.projectDir,makaioCommand:e.makaioCommand});return r.handled?{clientId:t.id,entries:r.data.entries}:null}));for(let e=0;e<i.length;e++){let t=i[e];if(t.status===`rejected`){let n=t.reason instanceof Error?t.reason.message:String(t.reason);console.warn(`[ClientRuntimeService] wiring.list for ${r[e].id} failed: ${n}`)}}return i.filter(e=>e.status===`fulfilled`).map(e=>e.value).filter(e=>e!==null)}consolidateMergedSnapshots(e,t){let n=this.latestSnapshots.get(e),r=!1;for(let i of t){if(i===e)continue;let t=this.latestSnapshots.get(i);t&&(n===void 0||t.observedAt>n.observedAt)&&(n={...t,clientAccountId:e},r=!0),this.latestSnapshots.delete(i)}return n&&this.latestSnapshots.set(e,n),r?n:void 0}};function it(e,t,n){return{clientAccountId:e,clientId:t.clientId,observedAt:t.observedAt,source:t.source,displayLabel:n,usage:{windows:t.usage.windows.map(e=>({...e}))},metadata:t.metadata?{...t.metadata}:void 0}}function at(e,t){return e&&e.observedAt>t.observedAt?e:t}function ot(e,t){return!e||t===void 0||e.displayLabel===t?e:{...e,displayLabel:t}}function st(e){return e.enabled&&e.binary!==void 0}function ct(e,t,n){if(e&&t!==void 0&&t!==`unknown`&&n!==void 0&&!d(t,n))return`Unsupported version: requires ${n}`}var lt=class extends f{constructor(e=c){super(e)}onInit(){this.registerHandler(C.config.prime,async e=>{e.setResult(await D(this.bus,e.payload))})}};const G=se,K=r.string().trim().min(1),q=s(`client-profile:storage`,{get:{request:r.object({clientId:K,name:S}),response:r.object({record:G.nullable()})},getById:{request:r.object({id:K}),response:r.object({record:G.nullable()})},list:{request:r.object({clientId:K}),response:r.object({records:r.array(G)})},set:{request:G,response:r.object({success:r.boolean()})},delete:{request:r.object({clientId:K,name:S}),response:r.object({success:r.boolean()})},clearDefault:{request:r.object({clientId:K}),response:r.object({success:r.boolean()})},setDefault:{request:r.object({clientId:K,name:S}),response:r.object({record:G.nullable()})}}),J=q.subjects;function ut(e,t,n){let r=a.resolve(e),i=a.resolve(t),o=a.relative(r,i);if(o!==``&&!o.startsWith(`..`)&&!a.isAbsolute(o))return i;throw Error(`${n} refused to access path outside client profile root`)}var dt=class extends f{clientsBasePath;constructor(e,t){super(e),this.clientsBasePath=t}async onInit(){this.registerCreateHandler(),this.registerListHandler(),this.registerGetHandler(),this.registerUpdateHandler(),this.registerDeleteHandler(),this.registerSetDefaultHandler()}registerCreateHandler(){this.registerHandler(C.profile.create,async e=>{let t=W(e.payload.clientId,`profile.create`),{name:n,description:r}=e.payload;if((await this.bus.request(J.get,{clientId:t,name:n})).record!==null)throw Error(`Profile '${n}' already exists for client '${t}'`);let s=a.join(this.clientsBasePath,t,`profiles`),c=ut(s,a.join(s,n),`profile.create`);await i.mkdir(c,{recursive:!0});try{await D(this.bus,{clientId:t,configDir:c,phase:`profile-create`});let i=Date.now(),a={id:o(),clientId:t,name:n,description:r??null,configDir:c,isDefault:!1,createdAt:i,updatedAt:i};await this.bus.request(J.set,a),e.setResult({profile:a})}catch(e){throw await i.rm(c,{recursive:!0,force:!0}),e}})}registerListHandler(){this.registerHandler(C.profile.list,async e=>{let t=W(e.payload.clientId,`profile.list`),n=await this.bus.request(J.list,{clientId:t});e.setResult({profiles:n.records})})}registerGetHandler(){this.registerHandler(C.profile.get,async e=>{let t=W(e.payload.clientId,`profile.get`),n=await this.bus.request(J.get,{clientId:t,name:e.payload.name});e.setResult({profile:n.record})})}registerUpdateHandler(){this.registerHandler(C.profile.update,async e=>{let t=W(e.payload.clientId,`profile.update`),{name:n,description:r}=e.payload,i=await this.bus.request(J.get,{clientId:t,name:n});if(i.record===null)throw Error(`Profile '${n}' not found for client '${t}'`);let a={...i.record,description:r===void 0?i.record.description:r,updatedAt:Date.now()};await this.bus.request(J.set,a),e.setResult({profile:a})})}registerDeleteHandler(){this.registerHandler(C.profile.delete,async e=>{let t=W(e.payload.clientId,`profile.delete`),{name:n}=e.payload,r=await this.bus.request(J.get,{clientId:t,name:n});r.record!==null&&(ut(a.join(this.clientsBasePath,t,`profiles`),r.record.configDir,`profile.delete`),await i.rm(r.record.configDir,{recursive:!0,force:!0}));let o=await this.bus.request(J.delete,{clientId:t,name:n});e.setResult({success:o.success})})}registerSetDefaultHandler(){this.registerHandler(C.profile.setDefault,async e=>{let t=W(e.payload.clientId,`profile.setDefault`),{name:n}=e.payload,r=await this.bus.request(J.setDefault,{clientId:t,name:n});if(r.record===null)throw Error(`Profile '${n}' not found for client '${t}'`);e.setResult({profile:r.record})})}};function ft(e){return{subject:`sessionConfig.setup`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1}}}function pt(e){return{subject:`sessionConfig.destroy`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1}}}const mt=()=>Date.now();function ht(){let e=T.platform();if(e===`darwin`||e===`linux`||e===`win32`)return e;throw Error(`client.sessionConfig does not support platform '${e}'`)}function gt(e,t,n){let r=le.safeParse(t);if(!r.success)throw Error(`${n} received an unsafe lease ID`);let i=a.resolve(e),o=a.resolve(i,r.data),s=a.relative(i,o);if(s===``||!s.startsWith(`..`)&&!a.isAbsolute(s))return o;throw Error(`${n} refused to access path outside client sessions root`)}var _t=class extends f{clientsBasePath;getNow;liveLeasesByClient=new Map;liveLeasesByOwner=new Map;constructor(e,t,n=mt){super(e),this.clientsBasePath=t,this.getNow=n}async onInit(){this.registerCreateHandler(),this.registerHandler(C.sessionConfig.destroy,async e=>{let{clientId:t,leaseId:n}=e.payload,r=W(t,`sessionConfig.destroy`),i=this.resolveClientSessionDir(r,n,`sessionConfig.destroy`),a=this.getLiveLease(r,n);a===void 0?await this.destroyClientSessionDir(r,i):await this.releaseLiveLease(a),e.setResult({success:!0})}),this.registerHandler(C.sessionConfig.cleanup,async e=>{let{clientId:t}=e.payload,n=t===void 0?void 0:W(t,`sessionConfig.cleanup`),r=await this.cleanupOrphanedDirs(n);e.setResult({removed:r})}),this.registerHandler(fe.closed,async e=>{await this.destroyOwnedLeases(e.payload.sessionId)}),await this.cleanupOrphanedDirs()}registerCreateHandler(){this.registerHandler(C.sessionConfig.create,async e=>{let{clientId:t,leaseId:n,ownerSessionId:r,profileName:a,baseConfigDir:o,projectDir:s,configInheritance:c=`full`}=e.payload,l=W(t,`sessionConfig.create`),u=this.resolveClientSessionDir(l,n,`sessionConfig.create`),d=this.reserveLiveLease({clientId:l,leaseId:n,...r===void 0?{}:{ownerSessionId:r}});try{await i.mkdir(u,{recursive:!0});let t=await this.resolveBaseConfigDir(l,u,a,o),r=ft(l),f=await this.bus.requestOptional(r,{sessionDir:u,baseConfigDir:t,projectDir:s,platform:ht(),configInheritance:c}),p=f.handled?f.data.env??{}:{},ee=f.handled?f.data.authMaterialized:!1;if(await D(this.bus,{clientId:l,configDir:u,phase:`session-create`,projectDir:s}),d.releaseRequested)throw Error(`Config lease '${n}' was released while it was being created`);e.setResult({sessionDir:u,env:p,authMaterialized:ee}),d.state=`ready`}catch(e){try{await this.beginLeaseCleanup(d)}catch(t){throw AggregateError([e,t],`Client session config creation and rollback both failed`)}throw e}finally{d.settleCreation(),d.state===`released`&&this.untrackLiveLease(d)}})}async resolveBaseConfigDir(e,t,n,r){if(r!==void 0)return r;if(n!==void 0){let t=await this.bus.request(J.get,{clientId:e,name:n});if(t.record!==null)return t.record.configDir;throw Error(`Profile '${n}' not found for client '${e}'`)}let i=(await this.bus.request(J.list,{clientId:e})).records.find(e=>e.isDefault);return i?i.configDir:t}async cleanupOrphanedDirs(e){let t=[],n=this.getNow(),r=e===void 0?await this.listClientIds():[e];return await Promise.all(r.map(async e=>{let r=a.join(this.clientsBasePath,e,`sessions`),o=await i.readdir(r).catch(()=>[]);await Promise.all(o.map(async a=>{if(!le.safeParse(a).success)return;let o=gt(r,a,`sessionConfig.cleanup`),s;try{s=await i.stat(o)}catch(e){let t=e.code;if(t===`ENOENT`||t===`ENOTDIR`)return;throw e}let c=s.birthtimeMs>0?s.birthtimeMs:s.ctimeMs;s.isDirectory()&&n-c>36e5&&!this.isLiveLease(e,a)&&(await this.destroyClientSessionDir(e,o),t.push(o))}))})),t}async destroyOwnedLeases(e){let t=[...this.liveLeasesByOwner.get(e)??[]],n=(await Promise.allSettled(t.map(async e=>{this.getLiveLease(e.clientId,e.leaseId)===e&&await this.releaseLiveLease(e)}))).flatMap(e=>e.status===`rejected`?[e.reason]:[]);if(n.length>0)throw AggregateError(n,`Failed to release config leases owned by session '${e}'`)}async destroyClientSessionDir(e,t){try{await this.bus.requestOptional(pt(e),{sessionDir:t,platform:ht()})}finally{await i.rm(t,{recursive:!0,force:!0})}}isLiveLease(e,t){return this.getLiveLease(e,t)!==void 0}getLiveLease(e,t){return this.liveLeasesByClient.get(e)?.get(t)}resolveClientSessionDir(e,t,n){return gt(a.join(this.clientsBasePath,e,`sessions`),t,n)}reserveLiveLease(e){if(this.isLiveLease(e.clientId,e.leaseId))throw Error(`Config lease '${e.leaseId}' is already active for client '${e.clientId}'`);let t=Promise.withResolvers(),n={...e,state:`creating`,releaseRequested:!1,creationSettled:t.promise,settleCreation:()=>t.resolve()},r=this.liveLeasesByClient.get(n.clientId)??new Map;if(r.set(n.leaseId,n),this.liveLeasesByClient.set(n.clientId,r),n.ownerSessionId!==void 0){let e=this.liveLeasesByOwner.get(n.ownerSessionId)??new Set;e.add(n),this.liveLeasesByOwner.set(n.ownerSessionId,e)}return n}async releaseLiveLease(e){if(this.getLiveLease(e.clientId,e.leaseId)!==e){e.releasePromise!==void 0&&await e.releasePromise;return}if(e.releaseRequested=!0,e.state===`creating`){await e.creationSettled,e.releasePromise!==void 0&&await e.releasePromise;return}await this.beginLeaseCleanup(e)}beginLeaseCleanup(e){if(e.releasePromise!==void 0)return e.releasePromise;if(this.getLiveLease(e.clientId,e.leaseId)!==e)return Promise.resolve();let t=e.state===`creating`;e.state=`releasing`;let n=this.resolveClientSessionDir(e.clientId,e.leaseId,`sessionConfig.release`);return e.releasePromise=this.destroyClientSessionDir(e.clientId,n).finally(()=>{e.state=`released`,t||this.untrackLiveLease(e)}),e.releasePromise}untrackLiveLease(e){let t=this.liveLeasesByClient.get(e.clientId);if(t?.get(e.leaseId)===e&&(t.delete(e.leaseId),t.size===0&&this.liveLeasesByClient.delete(e.clientId),e.ownerSessionId!==void 0)){let t=this.liveLeasesByOwner.get(e.ownerSessionId);t?.delete(e),t?.size===0&&this.liveLeasesByOwner.delete(e.ownerSessionId)}}async listClientIds(){return(await i.readdir(this.clientsBasePath,{withFileTypes:!0}).catch(()=>[])).filter(e=>e.isDirectory()).map(e=>e.name)}};const vt=new Set([`hook.received`,`hook.handle`]);function yt(e,t){return c.registerNamespace(s(`client:${e}`,{"hook.received":U,"hook.handle":{request:U,response:He},...t})).subjects}function bt(e,t){let n=Object.keys(t).filter(e=>vt.has(e));if(n.length===0)return;let r=n.join(`, `);throw Error([`[createClientNamespace] additionalSchemas for client:${e}`,`cannot override reserved shared hook subjects: ${r}`].join(` `))}function xt(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n||!(e in n))return!1;n=n[e]}return!0}function St(e,t,n){let r=Object.keys(n).filter(e=>!xt(t,e));if(r.length!==0)throw Error(`[createClientNamespace] client:${e} was already registered without required subjects: ${r.join(`, `)}`)}function Ct(e,t){let n=W(e,`createClientNamespace`),r=t??{};bt(n,r);let i=yt(n,r);return St(n,i,r),{namespaceDomain:`client:${n}`,subjects:i}}const Y=g(`client_runtimes`,e=>({id:e.text(`id`).primaryKey(),clientId:e.text(`client_id`).notNull(),status:e.text(`status`).notNull(),supervisorSessionId:e.text(`supervisor_session_id`),pid:e.int4(`pid`),parentPid:e.int4(`parent_pid`),adapterSessionId:e.text(`adapter_session_id`),sessionId:e.text(`session_id`),cwd:e.text(`cwd`),argv:e.jsonCol(`argv`),metadata:e.jsonCol(`metadata`),observedAt:e.epochMs(`observed_at`).notNull(),createdAt:e.epochMs(`created_at`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull()}),{sqlite:e=>[p(`idx_client_runtimes_supervisor_session_id`).on(e.supervisorSessionId),p(`idx_client_runtimes_pid_client_id`).on(e.pid,e.clientId),p(`idx_client_runtimes_adapter_session_id_client_id`).on(e.adapterSessionId,e.clientId)],postgres:e=>[m(`idx_client_runtimes_supervisor_session_id`).on(e.supervisorSessionId),m(`idx_client_runtimes_pid_client_id`).on(e.pid,e.clientId),m(`idx_client_runtimes_adapter_session_id_client_id`).on(e.adapterSessionId,e.clientId)]}),wt=Y.sqlite,Tt=Y.postgres,Et=h({clientRuntimes:wt},{clientRuntimes:Tt}),Dt=new Set(R);function Ot(e){if(!Dt.has(e.status))throw Error(`Unknown ClientRuntimeStatus in DB: '${e.status}'`);return{clientRuntimeId:e.id,clientId:e.clientId,status:e.status,supervisorSessionId:e.supervisorSessionId??void 0,pid:e.pid??void 0,parentPid:e.parentPid??void 0,adapterSessionId:e.adapterSessionId??void 0,sessionId:e.sessionId??void 0,cwd:e.cwd??void 0,argv:e.argv??void 0,metadata:e.metadata??void 0,observedAt:e.observedAt,createdAt:e.createdAt,updatedAt:e.updatedAt}}function kt(e,t){let{clientRuntimes:n}=v(t,Et),r=e.on(V.upsert,async e=>{let r=e.payload,i={clientId:r.clientId,status:r.status,supervisorSessionId:r.supervisorSessionId??null,pid:r.pid??null,parentPid:r.parentPid??null,adapterSessionId:r.adapterSessionId??null,sessionId:r.sessionId??null,cwd:r.cwd??null,argv:r.argv??null,metadata:r.metadata??null,observedAt:r.observedAt,updatedAt:r.updatedAt};await t.insert(n).values({id:r.clientRuntimeId,createdAt:r.createdAt,...i}).onConflictDoUpdate({target:n.id,set:i,setWhere:oe(x`excluded.updated_at`,n.updatedAt)}),e.setResult({success:!0})}),i=e.on(V.loadAll,async e=>{let r=await t.select().from(n);e.setResult({records:r.map(Ot)})});return()=>{r(),i()}}const At=g(`client_binary_versions`,e=>({id:e.text(`id`).primaryKey(),clientId:e.text(`client_id`).notNull(),version:e.text(`version`).notNull(),installPath:e.text(`install_path`).notNull(),installedAt:e.epochMs(`installed_at`).notNull(),createdAt:e.epochMs(`created_at`).notNull()}),{sqlite:e=>[ee(`uq_client_binary_versions_client_version`).on(e.clientId,e.version)],postgres:e=>[ne(`uq_client_binary_versions_client_version`).on(e.clientId,e.version)]}),jt=At.sqlite,Mt=g(`client_binary_state`,e=>({clientId:e.text(`client_id`).primaryKey(),activeVersion:e.text(`active_version`),updatedAt:e.epochMs(`updated_at`).notNull()})),Nt=Mt.sqlite,Pt=At.postgres,Ft=Mt.postgres,X=h({clientBinaryVersions:jt,clientBinaryState:Nt},{clientBinaryVersions:Pt,clientBinaryState:Ft});function Z(e){return{id:e.id,clientId:e.clientId,version:e.version,installPath:e.installPath,installedAt:e.installedAt,createdAt:e.createdAt}}function Q(e){return{clientId:e.clientId,activeVersion:e.activeVersion??null,updatedAt:e.updatedAt}}function It(e){return{id:e.id,clientId:e.clientId,version:e.version,installPath:e.installPath,installedAt:e.installedAt,createdAt:e.createdAt}}async function Lt(e,t,n){await e.insert(n).values(It(t)).onConflictDoNothing({target:[n.clientId,n.version]})}function Rt(e,t,n){return{clientId:e,activeVersion:t,updatedAt:n}}async function zt(e,t,n,r,i){await e.insert(i).values(Rt(t,n,r)).onConflictDoUpdate({target:i.clientId,set:{activeVersion:n,updatedAt:r}})}async function Bt(e,t){let{clientBinaryVersions:n}=v(e,X);await Lt(e,t,n)}async function Vt(e,t,n,r){let{clientBinaryVersions:i,clientBinaryState:a}=v(e,X);return _(e,async e=>{let[o]=await e.select().from(a).where(b(a.clientId,t.clientId)).limit(1),s=o?.activeVersion??null;return await Lt(e,t,i),n?(await zt(e,t.clientId,t.version,r,a),{previousActiveVersion:s,activeVersion:t.version}):{previousActiveVersion:s,activeVersion:s}})}async function Ht(e,t){let{clientBinaryVersions:n,clientBinaryState:r}=v(e,X);return _(e,async e=>{let[i]=await e.select().from(r).where(b(r.clientId,t)).limit(1),a=await e.select().from(n).where(b(n.clientId,t));return{state:i?Q(i):null,versions:a.map(Z)}})}async function Ut(e){let{clientBinaryVersions:t,clientBinaryState:n}=v(e,X);return _(e,async e=>{let r=await e.select().from(n),i=await e.select().from(t);return{states:r.map(Q),versions:i.map(Z)}})}async function Wt(e,t){let{clientBinaryState:n}=v(e,X),r={clientId:t.clientId,activeVersion:t.activeVersion??null,updatedAt:t.updatedAt};await e.insert(n).values(r).onConflictDoUpdate({target:n.clientId,set:r})}async function Gt(e,t,n,r){let{clientBinaryState:i}=v(e,X);return _(e,async e=>{let[a]=await e.select().from(i).where(b(i.clientId,t)).limit(1),o=a?.activeVersion??null;return await zt(e,t,n,r,i),{previousActiveVersion:o,activeVersion:n}})}async function Kt(e,t,n,r){let{clientBinaryVersions:i,clientBinaryState:a}=v(e,X);return _(e,async e=>{let[o]=await e.select().from(a).where(b(a.clientId,t)).limit(1),s=o?.activeVersion??null;if(!ie(await e.delete(i).where(y(b(i.clientId,t),b(i.version,n)))))return{removedVersion:null,previousActiveVersion:s,activeVersion:s};await e.update(a).set({activeVersion:null,updatedAt:r}).where(y(b(a.clientId,t),b(a.activeVersion,n)));let[c]=await e.select().from(a).where(b(a.clientId,t)).limit(1);return{removedVersion:n,previousActiveVersion:s,activeVersion:c?.activeVersion??null}})}function qt(e,t){let{clientBinaryVersions:n,clientBinaryState:r}=v(t,X),i=[e.on(M.insertVersion,async e=>{await Bt(t,e.payload),e.setResult({success:!0})}),e.on(M.recordInstalledVersion,async e=>{let{versionRecord:n,makeActive:r,updatedAt:i}=e.payload,a=await Vt(t,n,r,i);e.setResult(a)}),e.on(M.listVersions,async e=>{let r=await t.select().from(n).where(b(n.clientId,e.payload.clientId));e.setResult({versions:r.map(Z)})}),e.on(M.getSnapshot,async e=>{let{state:n,versions:r}=await Ht(t,e.payload.clientId);e.setResult({state:n,versions:r})}),e.on(M.loadAllVersions,async e=>{let r=await t.select().from(n);e.setResult({versions:r.map(Z)})}),e.on(M.upsertState,async e=>{await Wt(t,e.payload),e.setResult({success:!0})}),e.on(M.setActiveVersion,async e=>{let{clientId:n,activeVersion:r,updatedAt:i}=e.payload,a=await Gt(t,n,r,i);e.setResult(a)}),e.on(M.getState,async e=>{let[n]=await t.select().from(r).where(b(r.clientId,e.payload.clientId)).limit(1);e.setResult({state:n?Q(n):null})}),e.on(M.loadAllState,async e=>{let n=await t.select().from(r);e.setResult({states:n.map(Q)})}),e.on(M.loadSnapshot,async e=>{let{states:n,versions:r}=await Ut(t);e.setResult({states:n,versions:r})}),e.on(M.removeVersionAndClearActive,async e=>{let{clientId:n,version:r,updatedAt:i}=e.payload,a=await Kt(t,n,r,i);e.setResult(a)})];return()=>{for(let e of i)e()}}const Jt=g(`client_profiles`,e=>({id:e.text(`id`).primaryKey(),clientId:e.text(`client_id`).notNull(),name:e.text(`name`).notNull(),description:e.text(`description`),configDir:e.text(`config_dir`).notNull(),isDefault:e.bool(`is_default`).notNull().default(!1),createdAt:e.epochMs(`created_at`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull()}),{sqlite:e=>[te(`uq_client_profiles_client_name`).on(e.clientId,e.name),te(`uq_client_profiles_default`).on(e.clientId).where(x`${e.isDefault} = 1`)],postgres:e=>[re(`uq_client_profiles_client_name`).on(e.clientId,e.name),re(`uq_client_profiles_default`).on(e.clientId).where(x`${e.isDefault} = true`)]}),Yt=Jt.sqlite,Xt=Jt.postgres,Zt=h({clientProfiles:Yt},{clientProfiles:Xt});function $(e){return{id:e.id,clientId:e.clientId,name:e.name,description:e.description??null,configDir:e.configDir,isDefault:e.isDefault,createdAt:e.createdAt,updatedAt:e.updatedAt}}async function Qt(e,t,n){let{clientProfiles:r}=v(e,Zt),i=Date.now();return _(e,async e=>{let[a]=await e.select().from(r).where(y(b(r.clientId,t),b(r.name,n))).limit(1);if(a===void 0)return null;await e.update(r).set({isDefault:!1,updatedAt:i}).where(y(b(r.clientId,t),b(r.isDefault,!0))),await e.update(r).set({isDefault:!0,updatedAt:i}).where(y(b(r.clientId,t),b(r.name,n)));let[o]=await e.select().from(r).where(y(b(r.clientId,t),b(r.name,n))).limit(1);return o===void 0?null:$(o)})}function $t(e,t){let{clientProfiles:n}=v(t,Zt),r=[e.on(J.get,async e=>{let{clientId:r,name:i}=e.payload,[a]=await t.select().from(n).where(y(b(n.clientId,r),b(n.name,i))).limit(1);e.setResult({record:a?$(a):null})}),e.on(J.getById,async e=>{let[r]=await t.select().from(n).where(b(n.id,e.payload.id)).limit(1);e.setResult({record:r?$(r):null})}),e.on(J.list,async e=>{let r=await t.select().from(n).where(b(n.clientId,e.payload.clientId));e.setResult({records:r.map($)})}),e.on(J.set,async e=>{let r=e.payload,i={id:r.id,clientId:r.clientId,name:r.name,description:r.description??null,configDir:r.configDir,isDefault:r.isDefault,createdAt:r.createdAt,updatedAt:r.updatedAt};await t.insert(n).values(i).onConflictDoUpdate({target:n.id,set:{name:r.name,description:r.description??null,configDir:r.configDir,isDefault:r.isDefault,updatedAt:r.updatedAt}}),e.setResult({success:!0})}),e.on(J.delete,async e=>{let{clientId:r,name:i}=e.payload,a=await t.delete(n).where(y(b(n.clientId,r),b(n.name,i)));e.setResult({success:ie(a)})}),e.on(J.clearDefault,async e=>{await t.update(n).set({isDefault:!1,updatedAt:Date.now()}).where(y(b(n.clientId,e.payload.clientId),b(n.isDefault,!0))),e.setResult({success:!0})}),e.on(J.setDefault,async e=>{let{clientId:n,name:r}=e.payload,i=await Qt(t,n,r);e.setResult({record:i})})];return()=>{for(let e of r)e()}}var en=class{runtimeService;binaryManager;configPrimeService;profileService;sessionConfigService;constructor(e,t,n,r,i){this.runtimeService=e,this.binaryManager=t,this.configPrimeService=n,this.profileService=r,this.sessionConfigService=i}async init(){let e=(await Promise.allSettled([this.runtimeService.init(),this.binaryManager.init(),this.configPrimeService.init(),this.profileService.init(),this.sessionConfigService.init()])).filter(e=>e.status===`rejected`);if(e.length>0){for(let t=1;t<e.length;t++)console.warn(`[ClientsCoreService] Multiple init failures, secondary:`,e[t].reason);throw e[0].reason}}async destroy(){let e=(await Promise.allSettled([this.runtimeService.destroy(),this.binaryManager.destroy(),this.configPrimeService.destroy(),this.profileService.destroy(),this.sessionConfigService.destroy()])).filter(e=>e.status===`rejected`);for(let t of e)console.warn(`[ClientsCoreService] destroy failure:`,t.reason)}};const tn=l(`makaio.clients-core`);function nn(e){let t=[],n=()=>{for(let e of[...t].reverse())e()};try{for(let n of e)t.push(n())}catch(e){throw n(),e}return n}function rn(e={}){let{definitions:t=[],strategyDependencies:n,postInstallHandlers:r,binaryResolutionPolicy:i}=e,o=[...t];return{name:`makaio.clients-core`,displayName:`Clients Core`,version:`0.1.0`,critical:!0,namespaces:[ke,B,q],storage:{registerHandlers:ae((e,t)=>nn([()=>kt(e,t),()=>qt(e,t),()=>$t(e,t)]))},create:e=>{let t=new N(o),s=a.join(e.makaioHome,`clients`),c=new Ne(e.bus,{basePath:a.join(e.makaioHome,`binaries`),configBasePath:s,postInstallHandlers:r,...i!==void 0&&{resolutionPolicy:i}},t,n),l=new dt(e.bus,s),u=new _t(e.bus,s);return new en(new rt(e.bus),c,new lt(e.bus),l,u)}}}async function an(e,t){let n=await e.requestOptional(C.resolveBinary,{clientId:t});return n.handled?n.data:void 0}function on(e,t,n){return[...n??[],e,...t].map(ln).join(` `)}function sn(e,t,n,r,i){return on(e,[...i??[],...t.split(` `),n],r)}function cn(e){return e.runtimeCapabilities.hookEvents.filter(e=>e.frameworkSubject!==void 0).map(e=>({eventName:e.name,mode:e.mode}))}function ln(e){return/^[A-Za-z0-9_@%+=:,./-]+$/.test(e)?e:`'${e.replaceAll(`'`,`'\\''`)}'`}export{Ze as AbsolutePathSchema,ge as BinaryNotFoundError,R as CLIENT_RUNTIME_STATUSES,_e as ClientAccountRegistry,De as ClientBinaryJobRunner,Ne as ClientBinaryManager,j as ClientBinaryStateRecordSchema,ke as ClientBinaryStorageNamespace,M as ClientBinaryStorageSubjects,A as ClientBinaryVersionRecordSchema,Ee as ClientBinaryVersionResolver,lt as ClientConfigPrimeService,N as ClientDefinitionRegistry,He as ClientHookHandleResponseSchema,G as ClientProfileRecordSchema,dt as ClientProfileService,q as ClientProfileStorageNamespace,J as ClientProfileStorageSubjects,Re as ClientRuntimeRegistry,rt as ClientRuntimeService,B as ClientRuntimeStorageNamespace,V as ClientRuntimeStorageSubjects,_t as ClientSessionConfigService,ce as ClientSubjects,tt as ClientWiringAggregatedResultSchema,$e as ClientWiringApplyResponseSchema,w as ClientWiringEntrySchema,Qe as ClientWiringListResponseSchema,et as ClientWiringRemoveResponseSchema,en as ClientsCoreService,tn as ClientsCoreToken,Ve as DEFAULT_HOOK_HANDLE_TIMEOUT_MS,U as RawClientHookPayloadSchema,z as RuntimeRecordSchema,nt as assertAbsoluteProjectDir,pe as atomicModifyFile,on as buildClientCommand,Ke as buildClientSessionBase,sn as buildHookCommand,W as canonicalizeClientId,Y as clientRuntimesDual,Ct as createClientNamespace,Xe as createClientWiringListSubjectDef,Ye as createClientWiringSubjectDef,rn as createClientsCorePackage,Ue as createRawClientHookHandleSubject,Be as createRawClientHookReceivedSubject,t as createStrategy,cn as deriveSessionEventDescriptors,qe as emitBestEffort,O as isPathWithinBase,Ge as pickNonEmptyString,We as pickNonEmptyStringValue,qt as registerDrizzleClientBinaryStorage,$t as registerDrizzleProfileStorage,kt as registerDrizzleRuntimeStorage,nn as registerStorageHandlersWithRollback,k as resolveAndValidateBasePath,an as resolveClientBinary,n as verifyInstalledVersion};
1
+ import{n as e,r as t,t as n}from"../client-binary-version-verifier-Dv7TGFxh.mjs";import{z as r}from"zod";import*as i from"node:fs/promises";import*as a from"node:path";import{randomUUID as o}from"node:crypto";import{createBusNamespace as s,hostLocalRequest as c}from"@makaio/framework/core";import{MakaioBus as l}from"@makaio/framework/bus";import{extensionToken as u,isUniversalRange as d,versionSatisfies as f}from"@makaio/framework/contracts";import{BaseService as p}from"@makaio/framework/service-base";import{index as m,unique as ee,uniqueIndex as te}from"drizzle-orm/sqlite-core";import{index as h,unique as ne,uniqueIndex as re}from"drizzle-orm/pg-core";import{defineDialectSchema as g,defineDualTable as _,didAffectRows as ie,executeTransaction as v,registerDrizzleHandlers as ae,resolveSchema as y}from"@makaio/framework/storage/drizzle";import{and as b,eq as x,gt as oe,sql as S}from"drizzle-orm";import{ClientProfileNameSchema as C,ClientProfileSchema as se,ClientSubjects as ce,ClientSubjects as w,ClientWiringEntrySchema as le,DEFAULT_FAILURE_POLICY as ue,SessionConfigLeaseIdSchema as de,deriveHookEventTransportMode as fe,isValidContributorId as pe,isValidTimeoutMs as me,validateClosedPolicy as he}from"@makaio/framework/contracts/client";import*as ge from"node:os";import{CLIDetectionSubjects as _e}from"@makaio/framework/services/cli-detection/namespace";import{ClientStorageSubjects as ve}from"@makaio/framework/services/settings/storage";import{SessionSubjects as ye}from"@makaio/framework/contracts/session";async function be(e,t,n,r,i){let a,o=(n.get(e)??Promise.resolve()).then(async()=>{let n=await i(r(await xe(e,t)));n.changed&&await Se(e,n.content),a=n.result}),s=o.then(()=>void 0,()=>void 0);n.set(e,s);try{await o}finally{n.get(e)===s&&n.delete(e)}return a}async function xe(e,t){let n;try{n=await i.readFile(e,`utf-8`)}catch(e){if(e.code===`ENOENT`)return t;throw e}return JSON.parse(n)}async function Se(e,t){let n=a.dirname(e),r=a.join(n,`${a.basename(e)}.${o()}.tmp`);await i.mkdir(n,{recursive:!0});try{await i.writeFile(r,`${JSON.stringify(t,null,2)}\n`,`utf-8`),await i.rename(r,e)}catch(e){throw await i.unlink(r).catch(()=>void 0),e}}var Ce=class e extends Error{code=`BINARY_NOT_FOUND`;constructor(t){super(`client.resolveBinary: no binary found for client '${t}' — install a managed version or ensure the binary is on PATH`),this.name=`BinaryNotFoundError`,Error.captureStackTrace?.(this,e)}},we=class{nextAccountSequence=1;accountIdsByIdentifier=new Map;accounts=new Map;upsertAccount(e){let t=Ee(e.displayLabel),n=new Map;for(let t of e.identifiers)n.set(Te(e.clientId,t.scheme,t.value),t);let r=De(n,this.accountIdsByIdentifier,`strong`),i=De(n,this.accountIdsByIdentifier,`alias`),a=r[0]??(i.length===1?i[0]:i.length>1?Oe(i):this.createAccount()),o=(r.length>0?je(a,r,i):[]).flatMap(e=>this.mergeInto(a,e)),s=this.accounts.get(a);if(!s)throw Error(`Client account registry invariant violated: missing account ${a}`);for(let[e,t]of n){let n=this.accountIdsByIdentifier.get(e);r.length===0&&t.strength===`alias`&&n!==void 0&&n!==a||(s.identifiers.set(e,t),this.accountIdsByIdentifier.set(e,a))}return t!==void 0&&(s.displayLabel=t),{clientAccountId:a,displayLabel:s.displayLabel,mergedAccountIds:o}}clear(){this.accountIdsByIdentifier.clear(),this.accounts.clear(),this.nextAccountSequence=1}createAccount(){let e=`client-account-${this.nextAccountSequence}`;return this.nextAccountSequence+=1,this.accounts.set(e,{clientAccountId:e,identifiers:new Map}),e}mergeInto(e,t){if(e===t)return[];let n=this.accounts.get(e),r=this.accounts.get(t);if(!n||!r)return[];for(let[t,i]of r.identifiers)n.identifiers.set(t,i),this.accountIdsByIdentifier.set(t,e);return n.displayLabel===void 0&&r.displayLabel!==void 0&&(n.displayLabel=r.displayLabel),this.accounts.delete(t),[t]}};function Te(e,t,n){return`${e}\u0000${t}\u0000${n}`}function Ee(e){return e?.trim()||void 0}function De(e,t,n){let r=new Set;for(let[i,a]of e){if(a.strength!==n)continue;let e=t.get(i);e!==void 0&&r.add(e)}return Array.from(r).sort(ke)}function Oe(e){return[...e].sort(ke)[0]}function ke(e,t){let n=Ae(e),r=Ae(t);return n!==null&&r!==null&&n!==r?n-r:e.localeCompare(t)}function Ae(e){let t=e.match(/^client-account-(\d+)$/);return t?Number(t[1]):null}function je(e,t,n){let r=new Set([...t,...n]);return r.delete(e),Array.from(r).sort(ke)}function Me(e){return{subject:`config.prime`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1}}}async function T(e,t){let n=await e.requestOptional(Me(t.clientId),t);return n.handled?n.data:{primed:!1}}function Ne(){let e=e=>async()=>{throw Error(`StrategyDependencies.${e} is not implemented`)};return{fetchText:e(`fetchText`),fetchJson:e(`fetchJson`),downloadFile:e(`downloadFile`),exec:e(`exec`),extractArchive:e(`extractArchive`),deleteFile:e(`deleteFile`),computeChecksum:e(`computeChecksum`),removeDirectory:e(`removeDirectory`)}}var Pe=class{resolveInstallVersion(e,t,n){let r=t.version;if(n===void 0)return{version:r,explicit:!1};let i=n.trim();if(i.length===0)throw Error(`Explicit version returned an empty version string`);if(i!==r)throw Error(`client.install: requested version ${i} for client '${e}' does not match pinned version ${r}`);return{version:i,explicit:!0}}};function E(t,n){return!a.isAbsolute(t)||!a.isAbsolute(n)?!1:e(a.resolve(t),a.resolve(n))}function D(e,t){if(!e||!a.isAbsolute(e))throw Error(`${t} requires a non-empty absolute basePath`);return a.resolve(e)}var Fe=class{strategyDeps;config;jobs=new Map;#e=!1;resolvedBasePath;constructor(e,t){this.strategyDeps=e,this.config=t,this.resolvedBasePath=D(t.basePath,`ClientBinaryJobRunner`)}startJob(e,t,n,r,i,a,o){let s={...e,status:`running`};return this.jobs.set(e.jobId,s),this.runJob(s,t,n,r,i,a,o),e.jobId}cancelAll(){this.#e=!0,this.jobs.clear()}safeOnProgress(e,t){try{e(t)}catch{}}emitProgressIfActive(e,t){return this.#e?!1:(this.safeOnProgress(e,t),!this.#e)}async runJob(e,n,r,i,a,o,s){try{let c=this.resolveTargetDir(e.clientId,e.version),l=t(n,this.strategyDeps);if(l===void 0)throw Error(`Unsupported managed install descriptor type: ${n.type}`);let u=await this.executeStrategy(e,l,c,r);if(this.#e)return;let d;try{if(d=await this.runPostInstall(e,u.installPath,o,r),this.#e)return;s!==void 0&&await this.runVersionVerification(e,u.installPath,s,r)}catch(e){throw this.#e||await this.cleanupStagedArtifact(u.installPath),e}if(this.#e)return;await this.finalizeSuccess(e,u,d,r,i,a)}catch(t){if(this.#e)return;let n=t instanceof Error?t.message:String(t),r=t instanceof Error&&`code`in t?String(t.code):void 0;try{await a({jobId:e.jobId,clientId:e.clientId,version:e.version,strategy:e.strategy,status:`error`,activeVersion:null,error:{message:n,...r===void 0?{}:{code:r}}})}catch{}}finally{this.jobs.delete(e.jobId)}}async finalizeSuccess(e,t,n,r,i,a){if(!(e.makeActive&&!this.emitProgressIfActive(r,{jobId:e.jobId,clientId:e.clientId,version:t.version,strategy:e.strategy,stage:`activating`,progress:null,installPath:t.installPath,activeAfterCompletion:!0}))&&!this.#e){try{await i({jobId:e.jobId,clientId:e.clientId,version:t.version,installPath:t.installPath,makeActive:e.makeActive,reason:e.reason})}catch(e){try{await this.strategyDeps.removeDirectory(t.installPath)}catch{}throw e}if(!this.#e)try{await a({jobId:e.jobId,clientId:e.clientId,version:t.version,strategy:e.strategy,status:`success`,installPath:t.installPath,activeVersion:e.makeActive?t.version:null,...n===void 0?{}:{metadata:{postInstall:n}}})}catch{}}}async cleanupStagedArtifact(e){try{await this.strategyDeps.removeDirectory(e)}catch{}}async executeStrategy(e,t,n,r){try{return await t.execute(e.version,n,(t,i)=>{this.emitProgressIfActive(r,{jobId:e.jobId,clientId:e.clientId,version:e.version,strategy:e.strategy,stage:t,progress:i,installPath:t===`installing`?n:void 0,activeAfterCompletion:e.makeActive})})}catch(e){throw this.#e||await this.cleanupStagedArtifact(n),e}}async runPostInstall(e,t,n,r){if(n===void 0)return;let i=this.resolvePostInstallHandler(n),a=this.buildProgressPayload(e,`post-install`,null,t,{kind:n.kind});if(!this.emitProgressIfActive(r,a))return;let o=await i({clientId:e.clientId,version:e.version,installPath:t,descriptor:n});return this.emitProgressIfActive(r,this.buildProgressPayload(e,`post-install`,100,t,{kind:n.kind,...o??{}})),o??void 0}async runVersionVerification(e,t,r,i){this.emitProgressIfActive(i,this.buildProgressPayload(e,`verifying`,null,t,{kind:`version-command`}))&&(this.#e||await n(this.strategyDeps.exec,t,r,e.version))}resolvePostInstallHandler(e){let t=this.config.postInstallHandlers?.get(e.kind);if(t===void 0)throw Error(`No post-install handler registered for kind "${e.kind}"`);return t}buildProgressPayload(e,t,n,r,i){return{jobId:e.jobId,clientId:e.clientId,version:e.version,strategy:e.strategy,stage:t,progress:n,installPath:r,activeAfterCompletion:e.makeActive,...i===void 0?{}:{metadata:i}}}resolveTargetDir(e,t){let n=a.resolve(this.resolvedBasePath,e,t);if(!E(this.resolvedBasePath,n))throw Error(`Invalid install target path for client "${e}" and version "${t}"`);return n}};const O=r.object({id:r.string(),clientId:r.string(),version:r.string(),installPath:r.string(),installedAt:r.number().int().nonnegative(),createdAt:r.number().int().nonnegative()}),k=r.object({clientId:r.string(),activeVersion:r.string().nullable(),updatedAt:r.number().int().nonnegative()}),A=r.object({previousActiveVersion:r.string().nullable(),activeVersion:r.string().nullable()}),j=s(`client-binary:storage`,{insertVersion:{request:O,response:r.object({success:r.boolean()})},recordInstalledVersion:{request:r.object({versionRecord:O,makeActive:r.boolean(),updatedAt:r.number().int().nonnegative()}),response:A},listVersions:{request:r.object({clientId:r.string()}),response:r.object({versions:r.array(O)})},getSnapshot:{request:r.object({clientId:r.string()}),response:r.object({state:k.nullable(),versions:r.array(O)})},loadAllVersions:{request:r.object({}),response:r.object({versions:r.array(O)})},upsertState:{request:k,response:r.object({success:r.boolean()})},setActiveVersion:{request:r.object({clientId:r.string(),activeVersion:r.string().nullable(),updatedAt:r.number().int().nonnegative()}),response:A},getState:{request:r.object({clientId:r.string()}),response:r.object({state:k.nullable()})},loadAllState:{request:r.object({}),response:r.object({states:r.array(k)})},loadSnapshot:{request:r.object({}),response:r.object({states:r.array(k),versions:r.array(O)})},removeVersionAndClearActive:{request:r.object({clientId:r.string(),version:r.string(),updatedAt:r.number().int().nonnegative()}),response:A.extend({removedVersion:r.string().nullable()})}}),M=j.subjects;var N=class{definitions=new Map;constructor(e=[]){for(let t of e)this.registerUnique(t)}getDefinition(e){return this.definitions.get(e)}listDefinitions(){return[...this.definitions.values()]}register(e){this.definitions.set(e.id,e)}registerUnique(e){if(this.definitions.has(e.id))throw Error(`ClientDefinitionRegistry: duplicate client definition id '${e.id}'`);this.definitions.set(e.id,e)}};const Ie=process.env.MAKAIO_SKIP_CLIENT_VERSION_CHECK===`1`;function P(e,t,n,r,i){if(n===null){if(d(r))return;if(Ie){console.warn(`[SKIP_VERSION_CHECK] ${e}: ${i} for client '${t}' did not report a version; requires ${r}`);return}throw Error(`${e}: ${i} for client '${t}' did not report a version; requires ${r}`)}if(!f(n,r)){if(Ie){console.warn(`[SKIP_VERSION_CHECK] ${e}: ${i} ${n} for client '${t}' does not satisfy ${r} — check bypassed`);return}throw Error(`${e}: ${i} ${n} for client '${t}' does not satisfy ${r}`)}}var Le=class{bus;resolvedBasePath;resolvedConfigBasePath;definitionLookup;resolutionPolicy;constructor(e){this.bus=e.bus,this.resolvedBasePath=e.resolvedBasePath,this.resolvedConfigBasePath=e.resolvedConfigBasePath,this.definitionLookup=e.definitionLookup,this.resolutionPolicy=e.resolutionPolicy??`managed-first`}async resolve(e){let t=this.definitionLookup.getDefinition(e);if(t===void 0)throw Error(`client.resolveBinary: no definition registered for client '${e}'`);if(this.resolutionPolicy===`managed-first`){let{state:n,versions:r}=await this.bus.request(M.getSnapshot,{clientId:e}),i=n?.activeVersion??null;if(i!==null)return this.buildManagedContext(e,i,t,r)}return this.buildGlobalContext(e,t)}isInstallPathWithinBase(e){return E(this.resolvedBasePath,e)}async isExpectedInstallPath(e,t,n){if(!a.isAbsolute(e)||!this.isInstallPathWithinBase(e))return!1;let r=a.resolve(this.resolvedBasePath,t,n);if(!this.isInstallPathWithinBase(r))return!1;try{let[t,n,a]=await Promise.all([i.realpath(this.resolvedBasePath),i.realpath(r),i.realpath(e)]);return E(t,n)?a===n||E(n,a):!1}catch{return!1}}async buildManagedContext(e,t,n,r){let i=r.find(e=>e.version===t);if(i===void 0)throw Error(`client.resolveBinary: active version '${t}' is not installed for client '${e}'`);if(!await this.isExpectedInstallPath(i.installPath,e,t))throw Error(`client.resolveBinary: stored installPath "${i.installPath}" does not match the expected install directory for ${e}@${t}`);n.binary!==void 0&&P(`client.resolveBinary`,e,t,n.binary.supportedVersions,`managed binary version`);let o=F(n.versionCommand)?.[0];if(o===void 0)throw Error(`client.resolveBinary: definition for '${e}' has no versionCommand — cannot derive binary path`);let s=a.resolve(i.installPath,o),c=a.resolve(i.installPath);if(!s.startsWith(c+a.sep)&&s!==c)throw Error(`client.resolveBinary: versionCommand for '${e}' resolves outside the install directory`);let{configDir:l,env:u}=this.resolveIsolatedConfig(e,n);return{binaryPath:s,env:u,configDir:l,source:`managed`,version:t}}async buildGlobalContext(e,t){if(!t.binary?.name)throw Error(`client.resolveBinary: definition for '${e}' has no binary.name — cannot scan PATH`);let n={clientId:e,binaryName:t.binary.name,supportedVersions:t.binary.supportedVersions},{results:r}=await this.bus.request(w.scan,{targets:[n]}),i=r.find(t=>t.clientId===e);if(i===void 0||!i.found)throw new Ce(e);let o=i.version??null;P(`client.resolveBinary`,e,o,t.binary.supportedVersions,`detected global binary version`);let s=this.resolveGlobalConfigDir(t),c=i.binaryPath??null;if(c!==null&&!a.isAbsolute(c))throw Error(`client.resolveBinary: detected global binary path for '${e}' is not absolute`);return{binaryPath:c,env:{},configDir:s,source:`global`,version:o}}resolveIsolatedConfig(e,t){let{configIsolation:n}=t;if(n===void 0)return{configDir:null,env:{}};let r=a.join(this.resolvedConfigBasePath,e,`config`),i=n.pathKind===`file`?a.join(r,a.basename(n.defaultPath)):r;return{configDir:r,env:{[n.envVar]:i}}}resolveGlobalConfigDir(e){let{configIsolation:t}=e;if(t===void 0)return null;let n=t.defaultPath,r=n===`~`?ge.homedir():n.startsWith(`~/`)?a.join(ge.homedir(),n.slice(2)):n,i=t.pathKind===`file`?a.dirname(r):r;if(!a.isAbsolute(i))throw Error(`ConfigIsolation defaultPath for '${e.id}' resolved to non-absolute path '${r}'; use an absolute or tilde-expanded path (e.g. '~/.myapp')`);return i}};function F(e){if(e===void 0)return;let{executable:t,args:n}=e,r=typeof t==`string`?t:t[process.platform]??t.default;if(typeof r!=`string`||r.trim()===``)throw Error(`client.resolveBinary: versionCommand executable is missing for this platform`);return[r,...n]}async function Re(e,t){let{versions:n,states:r}=await e.request(M.loadSnapshot,{}),i=Map.groupBy(n,e=>e.clientId),a=new Map;for(let e of r)a.set(e.clientId,e.activeVersion);let o=new Map;for(let e of t.listDefinitions())e.managedInstall!==void 0&&o.set(e.id,e.managedInstall);return[...new Set(o.keys())].map(e=>{let t=o.get(e);if(t===void 0)throw Error(`assembleBinaryList: missing descriptor for client '${e}'`);let n=a.get(e)??null,r=(i.get(e)??[]).map(e=>({version:e.version,installPath:e.installPath,installedAt:e.installedAt,isActive:e.version===n})),s=t.version;return{clientId:e,installedVersions:r,activeVersion:n,pinnedVersion:s,updateAvailable:n!==null&&n!==s}})}var ze=class extends p{config;definitionLookup;versionResolver;jobRunner;strategyDeps;resolvedBasePath;resolvedConfigBasePath;resolver;pendingClients=new Set;constructor(e=l,t,n=new N([]),r=Ne()){super(e),this.config=t,this.definitionLookup=n,this.resolvedBasePath=D(t.basePath,`ClientBinaryManager`),this.resolvedConfigBasePath=D(t.configBasePath,`ClientBinaryManager configBasePath`),this.strategyDeps=r,this.versionResolver=new Pe,this.jobRunner=new Fe(r,t),this.resolver=new Le({bus:e,resolvedBasePath:this.resolvedBasePath,resolvedConfigBasePath:this.resolvedConfigBasePath,definitionLookup:n,...t.resolutionPolicy!==void 0&&{resolutionPolicy:t.resolutionPolicy}})}async onInit(){this.registerHandler(w.list,async e=>{let t=await this.handleList();e.setResult({clients:t})}),this.registerHandler(w.install,async e=>{let t=await this.handleInstall(e.payload.clientId,e.payload.version);e.setResult(t)}),this.registerHandler(w.update,async e=>{let t=await this.handleUpdate(e.payload.clientId);e.setResult(t)}),this.registerHandler(w.setActive,async e=>{let t=await this.handleSetActive(e.payload.clientId,e.payload.version);e.setResult(t)}),this.registerHandler(w.uninstall,async e=>{let t=await this.handleUninstall(e.payload.clientId,e.payload.version);e.setResult(t)}),this.registerHandler(w.resolveBinary,async e=>{let t=await this.resolver.resolve(e.payload.clientId);e.setResult(t)})}onDestroy(){this.jobRunner.cancelAll(),this.pendingClients.clear()}async handleList(){return Re(this.bus,this.definitionLookup)}async handleInstall(e,t){let{definition:n,descriptor:r}=this.requireManagedDefinition(e,`client.install`);return this.withClientLock(e,async()=>{let{version:i}=this.versionResolver.resolveInstallVersion(e,r,t);return n.binary!==void 0&&P(`client.install`,e,i,n.binary.supportedVersions,t===void 0?`resolved binary version`:`requested binary version`),{jobId:this.startInstallJob(e,i,r,n,!1,`install`),requestedVersion:t??null,resolvedVersion:i}})}async handleUpdate(e){let{definition:t,descriptor:n}=this.requireManagedDefinition(e,`client.update`);return this.withClientLock(e,async()=>{let{version:r}=this.versionResolver.resolveInstallVersion(e,n);return t.binary!==void 0&&P(`client.update`,e,r,t.binary.supportedVersions,`resolved binary version`),{jobId:this.startInstallJob(e,r,n,t,!0,`update`),resolvedVersion:r}})}async handleSetActive(e,t){if(this.pendingClients.has(e))throw Error(`Operation already in progress for client "${e}"`);this.pendingClients.add(e);try{let{versions:r}=await this.bus.request(M.listVersions,{clientId:e}),i=r.find(e=>e.version===t);if(i===void 0)throw Error(`client.setActive: version '${t}' is not installed for client '${e}'`);let a=this.definitionLookup.getDefinition(e);if(a===void 0)throw Error(`client.setActive: no definition registered for client '${e}'`);a.binary!==void 0&&P(`client.setActive`,e,t,a.binary.supportedVersions,`requested binary version`);let o=F(a.versionCommand);if(o===void 0)throw Error(`client.setActive: no versionCommand registered for client '${e}'`);if(!await this.resolver.isExpectedInstallPath(i.installPath,e,t))throw Error(`client.setActive: stored installPath "${i.installPath}" does not match the expected install directory for ${e}@${t}`);return await n(this.strategyDeps.exec,i.installPath,o,t),await this.patchActiveVersion(e,t,`set-active`),{clientId:e,activeVersion:t}}finally{this.pendingClients.delete(e)}}async handleUninstall(e,t){if(this.pendingClients.has(e))throw Error(`Operation already in progress for client "${e}"`);this.pendingClients.add(e);try{let{versions:n}=await this.bus.request(M.listVersions,{clientId:e}),r=n.find(e=>e.version===t);if(r===void 0)throw Error(`client.uninstall: version '${t}' is not installed for client '${e}'`);let{removedVersion:i,previousActiveVersion:o,activeVersion:s}=await this.bus.request(M.removeVersionAndClearActive,{clientId:e,version:t,updatedAt:Date.now()});if(i===null)throw Error(`client.uninstall: failed to delete version '${t}' for client '${e}'`);let c=r.installPath,l=typeof c==`string`&&c.length>0?a.resolve(c):null;if(typeof c!=`string`||c.length===0||l===null||!a.isAbsolute(c)||!await this.resolver.isExpectedInstallPath(l,e,t)?console.warn(`[ClientBinaryManager] Skipping removeDirectory: stored installPath "${String(c)}" does not match the expected install directory for ${e}@${t}`):await this.strategyDeps.removeDirectory(l).catch(n=>{console.warn(`[ClientBinaryManager] Failed to remove binary directory "${l}" for ${e}@${t}:`,n)}),o!==null&&s===null)try{await this.bus.emit(w.version.changed,{clientId:e,previousActiveVersion:o,activeVersion:null,reason:`uninstall`})}catch(e){console.warn(`[ClientBinaryManager] Failed to emit client.version.changed:`,e)}return{clientId:e,removedVersion:t,activeVersion:s}}finally{this.pendingClients.delete(e)}}async patchActiveVersion(e,t,n){let r=(await this.bus.request(M.setActiveVersion,{clientId:e,activeVersion:t,updatedAt:Date.now()})).previousActiveVersion;if(r!==t)try{await this.bus.emit(w.version.changed,{clientId:e,previousActiveVersion:r,activeVersion:t,reason:n})}catch(e){console.warn(`[ClientBinaryManager] Failed to emit client.version.changed:`,e)}return r}requireManagedDefinition(e,t){let n=this.definitionLookup.getDefinition(e);if(n===void 0)throw Error(`${t}: no definition registered for client '${e}'`);let r=n.managedInstall;if(r===void 0)throw Error(`${t}: client '${e}' does not declare a managed install descriptor`);return{definition:n,descriptor:r}}async withClientLock(e,t){if(this.pendingClients.has(e))throw Error(`Operation already in progress for client "${e}"`);this.pendingClients.add(e);try{return await t()}catch(t){throw this.pendingClients.delete(e),t}}startInstallJob(e,t,n,r,i,a){let o={jobId:crypto.randomUUID(),clientId:e,version:t,strategy:n.type,status:`pending`,makeActive:i,reason:a};return this.jobRunner.startJob(o,n,e=>{this.bus.emit(w.installJob.progress,e).catch(e=>{console.warn(`[ClientBinaryManager] Failed to emit client.installJob.progress:`,e)})},this.makeCompletionCallback(),async e=>{this.pendingClients.delete(e.clientId),await this.bus.emit(w.installJob.completed,e).catch(e=>{console.warn(`[ClientBinaryManager] Failed to emit client.installJob.completed:`,e)})},r.postInstall,F(r.versionCommand)),o.jobId}makeCompletionCallback(){return async({clientId:e,version:t,installPath:n,makeActive:r,reason:i})=>{let a=Date.now();await T(this.bus,{clientId:e,configDir:this.resolveManagedConfigDir(e),phase:`managed-install`,binaryVersion:t});let o=await this.bus.request(M.recordInstalledVersion,{versionRecord:{id:crypto.randomUUID(),clientId:e,version:t,installPath:n,installedAt:a,createdAt:a},makeActive:r,updatedAt:a});if(r&&o.previousActiveVersion!==o.activeVersion)try{await this.bus.emit(w.version.changed,{clientId:e,previousActiveVersion:o.previousActiveVersion,activeVersion:o.activeVersion,reason:i})}catch(e){console.warn(`[ClientBinaryManager] Failed to emit client.version.changed:`,e)}}}resolveManagedConfigDir(e){return a.join(this.resolvedConfigBasePath,e,`config`)}};function I(e,t){return`${e}${t}`}function L(e,t){return`${e}${t}`}var Be=class{records=new Map;bySupervisorSessionId=new Map;byPidClientId=new Map;byAdapterSessionClientId=new Map;adapterOwnedSessions=new Set;set(e){let t=this.records.get(e.clientRuntimeId);t&&this.removeIndexEntries(t),this.records.set(e.clientRuntimeId,e),this.addIndexEntries(e)}setFromStorage(e,t,n){this.records.set(e.clientRuntimeId,e),e.supervisorSessionId!==void 0&&this.bySupervisorSessionId.set(e.supervisorSessionId,e.clientRuntimeId),t-e.updatedAt<=n&&(e.pid!==void 0&&this.byPidClientId.set(I(e.pid,e.clientId),e.clientRuntimeId),e.adapterSessionId!==void 0&&this.byAdapterSessionClientId.set(L(e.adapterSessionId,e.clientId),e.clientRuntimeId))}delete(e){let t=this.records.get(e);t&&(this.removeIndexEntries(t),t.adapterSessionId!==void 0&&this.adapterOwnedSessions.delete(L(t.adapterSessionId,t.clientId)),this.records.delete(e))}get(e){return this.records.get(e)}findByEvidence(e,t,n,r){if(e!==void 0){let t=this.bySupervisorSessionId.get(e);if(t!==void 0)return this.records.get(t)}if(t!==void 0){let e=this.byPidClientId.get(I(t,r));if(e!==void 0)return this.records.get(e)}if(n!==void 0){let e=this.byAdapterSessionClientId.get(L(n,r));if(e!==void 0)return this.records.get(e)}}values(){return this.records.values()}clear(){this.records.clear(),this.bySupervisorSessionId.clear(),this.byPidClientId.clear(),this.byAdapterSessionClientId.clear(),this.adapterOwnedSessions.clear()}markAdapterOwned(e,t){this.adapterOwnedSessions.add(L(e,t))}hasAdapterSession(e,t){return this.adapterOwnedSessions.has(L(e,t))}get size(){return this.records.size}addIndexEntries(e){e.supervisorSessionId!==void 0&&this.bySupervisorSessionId.set(e.supervisorSessionId,e.clientRuntimeId),e.pid!==void 0&&this.byPidClientId.set(I(e.pid,e.clientId),e.clientRuntimeId),e.adapterSessionId!==void 0&&this.byAdapterSessionClientId.set(L(e.adapterSessionId,e.clientId),e.clientRuntimeId)}removeIndexEntries(e){e.supervisorSessionId!==void 0&&this.bySupervisorSessionId.delete(e.supervisorSessionId),e.pid!==void 0&&this.byPidClientId.delete(I(e.pid,e.clientId)),e.adapterSessionId!==void 0&&this.byAdapterSessionClientId.delete(L(e.adapterSessionId,e.clientId))}};const R=[`observed`,`started`],z=r.object({clientRuntimeId:r.string(),clientId:r.string(),status:r.enum(R),supervisorSessionId:r.string().optional(),pid:r.number().int().positive().optional(),parentPid:r.number().int().positive().optional(),adapterSessionId:r.string().optional(),sessionId:r.string().optional(),cwd:r.string().optional(),argv:r.array(r.string()).optional(),metadata:r.record(r.string(),r.unknown()).optional(),observedAt:r.number().int().nonnegative(),createdAt:r.number().int().nonnegative(),updatedAt:r.number().int().nonnegative()}),B=s(`client-runtime:storage`,{upsert:{request:z,response:r.object({success:r.boolean()})},loadAll:{request:r.object({}),response:r.object({records:r.array(z)})}}),V=B.subjects;function Ve(e){return e.supervisorSessionId!==void 0||e.adapterSessionId!==void 0}function H(e){return{...e,argv:e.argv===void 0?void 0:[...e.argv],metadata:e.metadata===void 0?void 0:structuredClone(e.metadata)}}function He(e){return Math.max(Date.now(),e+1)}function Ue(e,t){let n=!1;return t.supervisorSessionId!==void 0&&e.supervisorSessionId!==t.supervisorSessionId&&(e.supervisorSessionId=t.supervisorSessionId,n=!0),t.pid!==void 0&&e.pid!==t.pid&&(e.pid=t.pid,n=!0),t.parentPid!==void 0&&e.parentPid!==t.parentPid&&(e.parentPid=t.parentPid,n=!0),t.adapterSessionId!==void 0&&e.adapterSessionId!==t.adapterSessionId&&(e.adapterSessionId=t.adapterSessionId,n=!0),t.sessionId!==void 0&&e.sessionId!==t.sessionId&&(e.sessionId=t.sessionId,n=!0),t.cwd!==void 0&&e.cwd!==t.cwd&&(e.cwd=t.cwd,n=!0),t.argv!==void 0&&JSON.stringify(e.argv)!==JSON.stringify(t.argv)&&(e.argv=[...t.argv],n=!0),t.metadata!==void 0&&JSON.stringify(e.metadata)!==JSON.stringify(t.metadata)&&(e.metadata=structuredClone(t.metadata),n=!0),n}var We=class{runtimeMap=new Be;bus;constructor(e){this.bus=e}async loadFromStorage(){if(!this.bus)return;let e=await this.bus.requestOptional(V.loadAll,{});if(!e.handled)return;let t=Date.now();for(let n of e.data.records)this.runtimeMap.setFromStorage(H(n),t,864e5)}async upsertRuntime(e){let t=this.runtimeMap.findByEvidence(e.supervisorSessionId,e.pid,e.adapterSessionId,e.clientId);if(t){let n=t.status===`observed`,r=n&&Ve(e),i=Ue(t,e),a=n&&e.observedAt>t.observedAt;return r&&(t.status=`started`),(i||r||a)&&(t.updatedAt=He(t.updatedAt),a&&(t.observedAt=e.observedAt),this.runtimeMap.set(t),await this.persistRecord(t)),{clientRuntimeId:t.clientRuntimeId,created:!1,promoted:r,record:H(t)}}let n=Date.now(),r=o(),i=Ve(e)?`started`:`observed`,a={clientRuntimeId:r,clientId:e.clientId,status:i,supervisorSessionId:e.supervisorSessionId,pid:e.pid,parentPid:e.parentPid,adapterSessionId:e.adapterSessionId,sessionId:e.sessionId,cwd:e.cwd,argv:e.argv?[...e.argv]:void 0,metadata:e.metadata?structuredClone(e.metadata):void 0,observedAt:e.observedAt,createdAt:n,updatedAt:n};return this.runtimeMap.set(a),await this.persistRecord(a),{clientRuntimeId:r,created:!0,promoted:!1,record:H(a)}}getRuntime(e){let t=this.runtimeMap.get(e);return t?H(t):void 0}markAdapterOwned(e,t){this.runtimeMap.markAdapterOwned(e,t)}hasAdapterSession(e,t){return this.runtimeMap.hasAdapterSession(e,t)}clear(){this.runtimeMap.clear()}get size(){return this.runtimeMap.size}async persistRecord(e){this.bus&&await this.bus.requestOptional(V.upsert,H(e))}};const U=r.object({eventName:r.string(),receivedAt:r.number().int().finite().nonnegative().describe(`Unix epoch timestamp in milliseconds`),payload:r.record(r.string(),r.unknown()),metadata:r.record(r.string(),r.unknown()).optional()}),Ge=/^[a-z0-9-]+$/;function W(e,t=`canonicalizeClientId`){let n=e.trim().toLowerCase(),r=n.startsWith(`client:`)?n.slice(7):n;if(r.length===0)throw Error(`[${t}] clientId must be a non-empty string`);if(!Ge.test(r))throw Error(`[${t}] clientId must contain only lowercase letters, numbers, and hyphens after an optional client: prefix`);return r}function Ke(e){return{subject:`hook.received`,$meta:{namespace:`client:${W(e,`createRawClientHookReceivedSubject`)}`,isRequest:!1,local:!1,channel:!1}}}const qe=5e3,Je=r.object({exitCode:r.number().int().min(0).max(255).default(0),stdout:r.string().default(``),stderr:r.string().default(``)}),Ye=Object.freeze({exitCode:0,stdout:``,stderr:``});function Xe(e){return{subject:`hook.handle`,$meta:{namespace:`client:${W(e,`createRawClientHookHandleSubject`)}`,isRequest:!0,local:!1,channel:!1,hostLocalRequest:!0}}}function Ze(e){if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0}function Qe(e,t){return Ze(e[t])}function $e(e){return{clientId:e.clientId,source:`adapter-derived`,observedAt:Date.now(),...e.sessionId!==void 0&&{sessionId:e.sessionId},...e.adapterSessionId!==void 0&&{adapterSessionId:e.adapterSessionId}}}function et(e){try{e().catch(tt)}catch(e){tt(e)}}function tt(e){(process.env.DEBUG||process.env.MAKAIO_DEBUG)&&console.debug(`[emitBestEffort] observed-semantics emission failed`,e)}function nt(e,t){return{subject:t,$meta:{namespace:`client:${W(e,`createClientWiringSubjectDef`)}`,isRequest:!0,local:!1,channel:!1}}}function rt(e){return nt(e,`wiring.list`)}const it=r.string().min(1).refine(a.isAbsolute,{message:`projectDir must be an absolute path`}),at=r.object({entries:r.array(le)}),ot=r.object({applied:r.number().int().nonnegative(),skipped:r.number().int().nonnegative()}),st=r.object({removed:r.number().int().nonnegative()}),ct=r.object({clientId:r.string().trim().min(1),entries:r.array(le)});function lt(e){if(e!==void 0&&!a.isAbsolute(e))throw Error(`projectDir must be an absolute path, got: ${e}`)}var ut=class extends p{accountRegistry;runtimeRegistry;latestSnapshots=new Map;activeIdentities=new Map;constructor(e=l,t=new we,n=new We(e)){super(e),this.accountRegistry=t,this.runtimeRegistry=n}async onInit(){await this.runtimeRegistry.loadFromStorage(),this.registerHandler(w.account.observe,e=>this.handleAccountObserve(e)),this.registerHandler(w.usage.ingest,e=>this.handleUsageIngest(e)),this.registerHandler(w.scan,async e=>{let t=await this.scanClients(e.payload.targets);e.setResult({results:t})}),this.registerHandler(w.runtime.observe,e=>this.handleRuntimeObserve(e)),this.registerHandler(w.runtime.isAdapterManaged,e=>{let{adapterSessionId:t,clientId:n}=e.payload;e.setResult({managed:this.runtimeRegistry.hasAdapterSession(t,n)})}),this.registerHandler(w.wiring.list,async e=>{let t=await this.listWirings(e.payload);e.setResult({results:t})}),this.registerHandler(w.account.activate,e=>{this.activeIdentities.set(e.payload.clientId,{clientAccountId:e.payload.clientAccountId,identifiers:e.payload.identifiers,displayLabel:e.payload.displayLabel}),e.setResult({accepted:!0})}),this.registerHandler(w.account.getActive,e=>{let t=this.activeIdentities.get(e.payload.clientId);e.setResult({identity:t??null})})}onDestroy(){this.latestSnapshots.clear(),this.activeIdentities.clear(),this.accountRegistry.clear(),this.runtimeRegistry.clear()}getLatestSnapshot(e){return this.latestSnapshots.get(e)}async handleAccountObserve(e){let t=this.accountRegistry.upsertAccount({clientId:e.payload.clientId,identifiers:e.payload.identifiers,displayLabel:e.payload.displayLabel}),n=this.latestSnapshots.get(t.clientAccountId),r=pt(this.consolidateMergedSnapshots(t.clientAccountId,t.mergedAccountIds)??n,t.displayLabel);r&&this.latestSnapshots.set(t.clientAccountId,r),r&&(t.mergedAccountIds.length>0||r!==n)&&await this.bus.emit(w.usage.snapshot,r),e.setResult({clientAccountId:t.clientAccountId,displayLabel:t.displayLabel})}async handleUsageIngest(e){let t=this.accountRegistry.upsertAccount({clientId:e.payload.clientId,identifiers:e.payload.account.identifiers,displayLabel:e.payload.account.displayLabel});this.consolidateMergedSnapshots(t.clientAccountId,t.mergedAccountIds);let n=dt(t.clientAccountId,e.payload,t.displayLabel),r=pt(ft(this.latestSnapshots.get(t.clientAccountId),n),t.displayLabel);this.latestSnapshots.set(t.clientAccountId,r),await this.bus.emit(w.usage.snapshot,r),e.setResult({clientAccountId:t.clientAccountId,snapshot:r})}async handleRuntimeObserve(e){let{payload:t}=e;if(t.supervisorSessionId===void 0&&t.pid===void 0&&t.adapterSessionId===void 0)throw Error(`client.runtime.observe: at least one hard-evidence field is required (supervisorSessionId, pid, or adapterSessionId)`);let{record:n,...r}=await this.runtimeRegistry.upsertRuntime(t);t.source.layer===`adapter`&&t.adapterSessionId!==void 0&&this.runtimeRegistry.markAdapterOwned(t.adapterSessionId,t.clientId),(r.created||r.promoted)&&await this.bus.emit(w.runtime.started,{clientRuntimeId:n.clientRuntimeId,clientId:n.clientId,status:n.status,source:t.source,observedAt:t.observedAt,supervisorSessionId:n.supervisorSessionId,pid:n.pid,parentPid:n.parentPid,adapterSessionId:n.adapterSessionId,sessionId:n.sessionId,cwd:n.cwd,argv:n.argv,metadata:n.metadata}),e.setResult({clientRuntimeId:r.clientRuntimeId,created:r.created,promoted:r.promoted})}async scanClients(e){let t=e??await this.listScannableStoredClients();if(t.length===0)return[];let n=Array.from(new Set(t.map(e=>e.binaryName))),{results:r}=await this.bus.request(_e.scan,{binaries:n}),i=new Map(r.map(e=>[e.binary,e]));return t.map(e=>{let t=i.get(e.binaryName),n=t?.found??!1,r=t?.version,a=t?.path;return{clientId:e.clientId,found:n,...a!==void 0&&{binaryPath:a},version:r,warningMessage:ht(n,r,e.supportedVersions)}})}async listScannableStoredClients(){let{clients:e}=await this.bus.request(ve.list,{});return e.filter(mt).map(e=>({clientId:e.id,binaryName:e.binary.name,supportedVersions:e.binary.supportedVersions}))}async listWirings(e){lt(e.projectDir);let{clients:t}=await this.bus.request(ve.list,{}),n=e.clientId===void 0?void 0:W(e.clientId,`listWirings`),r=t.filter(e=>e.enabled).filter(e=>n===void 0||e.id===n),i=await Promise.allSettled(r.map(async t=>{let n=rt(t.id),r=await this.bus.requestOptional(n,{projectDir:e.projectDir,makaioCommand:e.makaioCommand});return r.handled?{clientId:t.id,entries:r.data.entries}:null}));for(let e=0;e<i.length;e++){let t=i[e];if(t.status===`rejected`){let n=t.reason instanceof Error?t.reason.message:String(t.reason);console.warn(`[ClientRuntimeService] wiring.list for ${r[e].id} failed: ${n}`)}}return i.filter(e=>e.status===`fulfilled`).map(e=>e.value).filter(e=>e!==null)}consolidateMergedSnapshots(e,t){let n=this.latestSnapshots.get(e),r=!1;for(let i of t){if(i===e)continue;let t=this.latestSnapshots.get(i);t&&(n===void 0||t.observedAt>n.observedAt)&&(n={...t,clientAccountId:e},r=!0),this.latestSnapshots.delete(i)}return n&&this.latestSnapshots.set(e,n),r?n:void 0}};function dt(e,t,n){return{clientAccountId:e,clientId:t.clientId,observedAt:t.observedAt,source:t.source,displayLabel:n,usage:{windows:t.usage.windows.map(e=>({...e}))},metadata:t.metadata?{...t.metadata}:void 0}}function ft(e,t){return e&&e.observedAt>t.observedAt?e:t}function pt(e,t){return!e||t===void 0||e.displayLabel===t?e:{...e,displayLabel:t}}function mt(e){return e.enabled&&e.binary!==void 0}function ht(e,t,n){if(e&&t!==void 0&&t!==`unknown`&&n!==void 0&&!f(t,n))return`Unsupported version: requires ${n}`}var gt=class extends p{constructor(e=l){super(e)}onInit(){this.registerHandler(w.config.prime,async e=>{e.setResult(await T(this.bus,e.payload))})}};const G=se,K=r.string().trim().min(1),_t=s(`client-profile:storage`,{get:{request:r.object({clientId:K,name:C}),response:r.object({record:G.nullable()})},getById:{request:r.object({id:K}),response:r.object({record:G.nullable()})},list:{request:r.object({clientId:K}),response:r.object({records:r.array(G)})},set:{request:G,response:r.object({success:r.boolean()})},delete:{request:r.object({clientId:K,name:C}),response:r.object({success:r.boolean()})},clearDefault:{request:r.object({clientId:K}),response:r.object({success:r.boolean()})},setDefault:{request:r.object({clientId:K,name:C}),response:r.object({record:G.nullable()})}}),q=_t.subjects;function vt(e,t,n){let r=a.resolve(e),i=a.resolve(t),o=a.relative(r,i);if(o!==``&&!o.startsWith(`..`)&&!a.isAbsolute(o))return i;throw Error(`${n} refused to access path outside client profile root`)}var yt=class extends p{clientsBasePath;constructor(e,t){super(e),this.clientsBasePath=t}async onInit(){this.registerCreateHandler(),this.registerListHandler(),this.registerGetHandler(),this.registerUpdateHandler(),this.registerDeleteHandler(),this.registerSetDefaultHandler()}registerCreateHandler(){this.registerHandler(w.profile.create,async e=>{let t=W(e.payload.clientId,`profile.create`),{name:n,description:r}=e.payload;if((await this.bus.request(q.get,{clientId:t,name:n})).record!==null)throw Error(`Profile '${n}' already exists for client '${t}'`);let s=a.join(this.clientsBasePath,t,`profiles`),c=vt(s,a.join(s,n),`profile.create`);await i.mkdir(c,{recursive:!0});try{await T(this.bus,{clientId:t,configDir:c,phase:`profile-create`});let i=Date.now(),a={id:o(),clientId:t,name:n,description:r??null,configDir:c,isDefault:!1,createdAt:i,updatedAt:i};await this.bus.request(q.set,a),e.setResult({profile:a})}catch(e){throw await i.rm(c,{recursive:!0,force:!0}),e}})}registerListHandler(){this.registerHandler(w.profile.list,async e=>{let t=W(e.payload.clientId,`profile.list`),n=await this.bus.request(q.list,{clientId:t});e.setResult({profiles:n.records})})}registerGetHandler(){this.registerHandler(w.profile.get,async e=>{let t=W(e.payload.clientId,`profile.get`),n=await this.bus.request(q.get,{clientId:t,name:e.payload.name});e.setResult({profile:n.record})})}registerUpdateHandler(){this.registerHandler(w.profile.update,async e=>{let t=W(e.payload.clientId,`profile.update`),{name:n,description:r}=e.payload,i=await this.bus.request(q.get,{clientId:t,name:n});if(i.record===null)throw Error(`Profile '${n}' not found for client '${t}'`);let a={...i.record,description:r===void 0?i.record.description:r,updatedAt:Date.now()};await this.bus.request(q.set,a),e.setResult({profile:a})})}registerDeleteHandler(){this.registerHandler(w.profile.delete,async e=>{let t=W(e.payload.clientId,`profile.delete`),{name:n}=e.payload,r=await this.bus.request(q.get,{clientId:t,name:n});r.record!==null&&(vt(a.join(this.clientsBasePath,t,`profiles`),r.record.configDir,`profile.delete`),await i.rm(r.record.configDir,{recursive:!0,force:!0}));let o=await this.bus.request(q.delete,{clientId:t,name:n});e.setResult({success:o.success})})}registerSetDefaultHandler(){this.registerHandler(w.profile.setDefault,async e=>{let t=W(e.payload.clientId,`profile.setDefault`),{name:n}=e.payload,r=await this.bus.request(q.setDefault,{clientId:t,name:n});if(r.record===null)throw Error(`Profile '${n}' not found for client '${t}'`);e.setResult({profile:r.record})})}};function bt(e){return{subject:`sessionConfig.setup`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1}}}function xt(e){return{subject:`sessionConfig.destroy`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1}}}const St=()=>Date.now();function Ct(){let e=ge.platform();if(e===`darwin`||e===`linux`||e===`win32`)return e;throw Error(`client.sessionConfig does not support platform '${e}'`)}function wt(e,t,n){let r=de.safeParse(t);if(!r.success)throw Error(`${n} received an unsafe lease ID`);let i=a.resolve(e),o=a.resolve(i,r.data),s=a.relative(i,o);if(s===``||!s.startsWith(`..`)&&!a.isAbsolute(s))return o;throw Error(`${n} refused to access path outside client sessions root`)}var Tt=class extends p{clientsBasePath;getNow;liveLeasesByClient=new Map;liveLeasesByOwner=new Map;constructor(e,t,n=St){super(e),this.clientsBasePath=t,this.getNow=n}async onInit(){this.registerCreateHandler(),this.registerHandler(w.sessionConfig.destroy,async e=>{let{clientId:t,leaseId:n}=e.payload,r=W(t,`sessionConfig.destroy`),i=this.resolveClientSessionDir(r,n,`sessionConfig.destroy`),a=this.getLiveLease(r,n);a===void 0?await this.destroyClientSessionDir(r,i):await this.releaseLiveLease(a),e.setResult({success:!0})}),this.registerHandler(w.sessionConfig.cleanup,async e=>{let{clientId:t}=e.payload,n=t===void 0?void 0:W(t,`sessionConfig.cleanup`),r=await this.cleanupOrphanedDirs(n);e.setResult({removed:r})}),this.registerHandler(ye.closed,async e=>{await this.destroyOwnedLeases(e.payload.sessionId)}),await this.cleanupOrphanedDirs()}registerCreateHandler(){this.registerHandler(w.sessionConfig.create,async e=>{let{clientId:t,leaseId:n,ownerSessionId:r,profileName:a,baseConfigDir:o,projectDir:s,configInheritance:c=`full`}=e.payload,l=W(t,`sessionConfig.create`),u=this.resolveClientSessionDir(l,n,`sessionConfig.create`),d=this.reserveLiveLease({clientId:l,leaseId:n,...r===void 0?{}:{ownerSessionId:r}});try{await i.mkdir(u,{recursive:!0});let t=await this.resolveBaseConfigDir(l,u,a,o),r=bt(l),f=await this.bus.requestOptional(r,{sessionDir:u,baseConfigDir:t,projectDir:s,platform:Ct(),configInheritance:c}),p=f.handled?f.data.env??{}:{},m=f.handled?f.data.authMaterialized:!1;if(await T(this.bus,{clientId:l,configDir:u,phase:`session-create`,projectDir:s}),d.releaseRequested)throw Error(`Config lease '${n}' was released while it was being created`);e.setResult({sessionDir:u,env:p,authMaterialized:m}),d.state=`ready`}catch(e){try{await this.beginLeaseCleanup(d)}catch(t){throw AggregateError([e,t],`Client session config creation and rollback both failed`)}throw e}finally{d.settleCreation(),d.state===`released`&&this.untrackLiveLease(d)}})}async resolveBaseConfigDir(e,t,n,r){if(r!==void 0)return r;if(n!==void 0){let t=await this.bus.request(q.get,{clientId:e,name:n});if(t.record!==null)return t.record.configDir;throw Error(`Profile '${n}' not found for client '${e}'`)}let i=(await this.bus.request(q.list,{clientId:e})).records.find(e=>e.isDefault);return i?i.configDir:t}async cleanupOrphanedDirs(e){let t=[],n=this.getNow(),r=e===void 0?await this.listClientIds():[e];return await Promise.all(r.map(async e=>{let r=a.join(this.clientsBasePath,e,`sessions`),o=await i.readdir(r).catch(()=>[]);await Promise.all(o.map(async a=>{if(!de.safeParse(a).success)return;let o=wt(r,a,`sessionConfig.cleanup`),s;try{s=await i.stat(o)}catch(e){let t=e.code;if(t===`ENOENT`||t===`ENOTDIR`)return;throw e}let c=s.birthtimeMs>0?s.birthtimeMs:s.ctimeMs;s.isDirectory()&&n-c>36e5&&!this.isLiveLease(e,a)&&(await this.destroyClientSessionDir(e,o),t.push(o))}))})),t}async destroyOwnedLeases(e){let t=[...this.liveLeasesByOwner.get(e)??[]],n=(await Promise.allSettled(t.map(async e=>{this.getLiveLease(e.clientId,e.leaseId)===e&&await this.releaseLiveLease(e)}))).flatMap(e=>e.status===`rejected`?[e.reason]:[]);if(n.length>0)throw AggregateError(n,`Failed to release config leases owned by session '${e}'`)}async destroyClientSessionDir(e,t){try{await this.bus.requestOptional(xt(e),{sessionDir:t,platform:Ct()})}finally{await i.rm(t,{recursive:!0,force:!0})}}isLiveLease(e,t){return this.getLiveLease(e,t)!==void 0}getLiveLease(e,t){return this.liveLeasesByClient.get(e)?.get(t)}resolveClientSessionDir(e,t,n){return wt(a.join(this.clientsBasePath,e,`sessions`),t,n)}reserveLiveLease(e){if(this.isLiveLease(e.clientId,e.leaseId))throw Error(`Config lease '${e.leaseId}' is already active for client '${e.clientId}'`);let t=Promise.withResolvers(),n={...e,state:`creating`,releaseRequested:!1,creationSettled:t.promise,settleCreation:()=>t.resolve()},r=this.liveLeasesByClient.get(n.clientId)??new Map;if(r.set(n.leaseId,n),this.liveLeasesByClient.set(n.clientId,r),n.ownerSessionId!==void 0){let e=this.liveLeasesByOwner.get(n.ownerSessionId)??new Set;e.add(n),this.liveLeasesByOwner.set(n.ownerSessionId,e)}return n}async releaseLiveLease(e){if(this.getLiveLease(e.clientId,e.leaseId)!==e){e.releasePromise!==void 0&&await e.releasePromise;return}if(e.releaseRequested=!0,e.state===`creating`){await e.creationSettled,e.releasePromise!==void 0&&await e.releasePromise;return}await this.beginLeaseCleanup(e)}beginLeaseCleanup(e){if(e.releasePromise!==void 0)return e.releasePromise;if(this.getLiveLease(e.clientId,e.leaseId)!==e)return Promise.resolve();let t=e.state===`creating`;e.state=`releasing`;let n=this.resolveClientSessionDir(e.clientId,e.leaseId,`sessionConfig.release`);return e.releasePromise=this.destroyClientSessionDir(e.clientId,n).finally(()=>{e.state=`released`,t||this.untrackLiveLease(e)}),e.releasePromise}untrackLiveLease(e){let t=this.liveLeasesByClient.get(e.clientId);if(t?.get(e.leaseId)===e&&(t.delete(e.leaseId),t.size===0&&this.liveLeasesByClient.delete(e.clientId),e.ownerSessionId!==void 0)){let t=this.liveLeasesByOwner.get(e.ownerSessionId);t?.delete(e),t?.size===0&&this.liveLeasesByOwner.delete(e.ownerSessionId)}}async listClientIds(){return(await i.readdir(this.clientsBasePath,{withFileTypes:!0}).catch(()=>[])).filter(e=>e.isDirectory()).map(e=>e.name)}};const Et=new Set([`hook.received`,`hook.handle`]);function Dt(e,t){return l.registerNamespace(s(`client:${e}`,{"hook.received":U,"hook.handle":c({request:U,response:Je}),...t})).subjects}function Ot(e,t){let n=Object.keys(t).filter(e=>Et.has(e));if(n.length===0)return;let r=n.join(`, `);throw Error([`[createClientNamespace] additionalSchemas for client:${e}`,`cannot override reserved shared hook subjects: ${r}`].join(` `))}function kt(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n||!(e in n))return!1;n=n[e]}return!0}function At(e,t,n){let r=Object.keys(n).filter(e=>!kt(t,e));if(r.length!==0)throw Error(`[createClientNamespace] client:${e} was already registered without required subjects: ${r.join(`, `)}`)}function jt(e,t){let n=W(e,`createClientNamespace`),r=t??{};Ot(n,r);let i=Dt(n,r);return At(n,i,r),{namespaceDomain:`client:${n}`,subjects:i}}const Mt=_(`client_runtimes`,e=>({id:e.text(`id`).primaryKey(),clientId:e.text(`client_id`).notNull(),status:e.text(`status`).notNull(),supervisorSessionId:e.text(`supervisor_session_id`),pid:e.int4(`pid`),parentPid:e.int4(`parent_pid`),adapterSessionId:e.text(`adapter_session_id`),sessionId:e.text(`session_id`),cwd:e.text(`cwd`),argv:e.jsonCol(`argv`),metadata:e.jsonCol(`metadata`),observedAt:e.epochMs(`observed_at`).notNull(),createdAt:e.epochMs(`created_at`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull()}),{sqlite:e=>[m(`idx_client_runtimes_supervisor_session_id`).on(e.supervisorSessionId),m(`idx_client_runtimes_pid_client_id`).on(e.pid,e.clientId),m(`idx_client_runtimes_adapter_session_id_client_id`).on(e.adapterSessionId,e.clientId)],postgres:e=>[h(`idx_client_runtimes_supervisor_session_id`).on(e.supervisorSessionId),h(`idx_client_runtimes_pid_client_id`).on(e.pid,e.clientId),h(`idx_client_runtimes_adapter_session_id_client_id`).on(e.adapterSessionId,e.clientId)]}),Nt=Mt.sqlite,Pt=Mt.postgres,Ft=g({clientRuntimes:Nt},{clientRuntimes:Pt}),It=new Set(R);function Lt(e){if(!It.has(e.status))throw Error(`Unknown ClientRuntimeStatus in DB: '${e.status}'`);return{clientRuntimeId:e.id,clientId:e.clientId,status:e.status,supervisorSessionId:e.supervisorSessionId??void 0,pid:e.pid??void 0,parentPid:e.parentPid??void 0,adapterSessionId:e.adapterSessionId??void 0,sessionId:e.sessionId??void 0,cwd:e.cwd??void 0,argv:e.argv??void 0,metadata:e.metadata??void 0,observedAt:e.observedAt,createdAt:e.createdAt,updatedAt:e.updatedAt}}function Rt(e,t){let{clientRuntimes:n}=y(t,Ft),r=e.on(V.upsert,async e=>{let r=e.payload,i={clientId:r.clientId,status:r.status,supervisorSessionId:r.supervisorSessionId??null,pid:r.pid??null,parentPid:r.parentPid??null,adapterSessionId:r.adapterSessionId??null,sessionId:r.sessionId??null,cwd:r.cwd??null,argv:r.argv??null,metadata:r.metadata??null,observedAt:r.observedAt,updatedAt:r.updatedAt};await t.insert(n).values({id:r.clientRuntimeId,createdAt:r.createdAt,...i}).onConflictDoUpdate({target:n.id,set:i,setWhere:oe(S`excluded.updated_at`,n.updatedAt)}),e.setResult({success:!0})}),i=e.on(V.loadAll,async e=>{let r=await t.select().from(n);e.setResult({records:r.map(Lt)})});return()=>{r(),i()}}const zt=_(`client_binary_versions`,e=>({id:e.text(`id`).primaryKey(),clientId:e.text(`client_id`).notNull(),version:e.text(`version`).notNull(),installPath:e.text(`install_path`).notNull(),installedAt:e.epochMs(`installed_at`).notNull(),createdAt:e.epochMs(`created_at`).notNull()}),{sqlite:e=>[ee(`uq_client_binary_versions_client_version`).on(e.clientId,e.version)],postgres:e=>[ne(`uq_client_binary_versions_client_version`).on(e.clientId,e.version)]}),Bt=zt.sqlite,Vt=_(`client_binary_state`,e=>({clientId:e.text(`client_id`).primaryKey(),activeVersion:e.text(`active_version`),updatedAt:e.epochMs(`updated_at`).notNull()})),Ht=Vt.sqlite,Ut=zt.postgres,Wt=Vt.postgres,J=g({clientBinaryVersions:Bt,clientBinaryState:Ht},{clientBinaryVersions:Ut,clientBinaryState:Wt});function Y(e){return{id:e.id,clientId:e.clientId,version:e.version,installPath:e.installPath,installedAt:e.installedAt,createdAt:e.createdAt}}function X(e){return{clientId:e.clientId,activeVersion:e.activeVersion??null,updatedAt:e.updatedAt}}function Gt(e){return{id:e.id,clientId:e.clientId,version:e.version,installPath:e.installPath,installedAt:e.installedAt,createdAt:e.createdAt}}async function Kt(e,t,n){await e.insert(n).values(Gt(t)).onConflictDoNothing({target:[n.clientId,n.version]})}function qt(e,t,n){return{clientId:e,activeVersion:t,updatedAt:n}}async function Jt(e,t,n,r,i){await e.insert(i).values(qt(t,n,r)).onConflictDoUpdate({target:i.clientId,set:{activeVersion:n,updatedAt:r}})}async function Yt(e,t){let{clientBinaryVersions:n}=y(e,J);await Kt(e,t,n)}async function Xt(e,t,n,r){let{clientBinaryVersions:i,clientBinaryState:a}=y(e,J);return v(e,async e=>{let[o]=await e.select().from(a).where(x(a.clientId,t.clientId)).limit(1),s=o?.activeVersion??null;return await Kt(e,t,i),n?(await Jt(e,t.clientId,t.version,r,a),{previousActiveVersion:s,activeVersion:t.version}):{previousActiveVersion:s,activeVersion:s}})}async function Zt(e,t){let{clientBinaryVersions:n,clientBinaryState:r}=y(e,J);return v(e,async e=>{let[i]=await e.select().from(r).where(x(r.clientId,t)).limit(1),a=await e.select().from(n).where(x(n.clientId,t));return{state:i?X(i):null,versions:a.map(Y)}})}async function Qt(e){let{clientBinaryVersions:t,clientBinaryState:n}=y(e,J);return v(e,async e=>{let r=await e.select().from(n),i=await e.select().from(t);return{states:r.map(X),versions:i.map(Y)}})}async function $t(e,t){let{clientBinaryState:n}=y(e,J),r={clientId:t.clientId,activeVersion:t.activeVersion??null,updatedAt:t.updatedAt};await e.insert(n).values(r).onConflictDoUpdate({target:n.clientId,set:r})}async function en(e,t,n,r){let{clientBinaryState:i}=y(e,J);return v(e,async e=>{let[a]=await e.select().from(i).where(x(i.clientId,t)).limit(1),o=a?.activeVersion??null;return await Jt(e,t,n,r,i),{previousActiveVersion:o,activeVersion:n}})}async function tn(e,t,n,r){let{clientBinaryVersions:i,clientBinaryState:a}=y(e,J);return v(e,async e=>{let[o]=await e.select().from(a).where(x(a.clientId,t)).limit(1),s=o?.activeVersion??null;if(!ie(await e.delete(i).where(b(x(i.clientId,t),x(i.version,n)))))return{removedVersion:null,previousActiveVersion:s,activeVersion:s};await e.update(a).set({activeVersion:null,updatedAt:r}).where(b(x(a.clientId,t),x(a.activeVersion,n)));let[c]=await e.select().from(a).where(x(a.clientId,t)).limit(1);return{removedVersion:n,previousActiveVersion:s,activeVersion:c?.activeVersion??null}})}function nn(e,t){let{clientBinaryVersions:n,clientBinaryState:r}=y(t,J),i=[e.on(M.insertVersion,async e=>{await Yt(t,e.payload),e.setResult({success:!0})}),e.on(M.recordInstalledVersion,async e=>{let{versionRecord:n,makeActive:r,updatedAt:i}=e.payload,a=await Xt(t,n,r,i);e.setResult(a)}),e.on(M.listVersions,async e=>{let r=await t.select().from(n).where(x(n.clientId,e.payload.clientId));e.setResult({versions:r.map(Y)})}),e.on(M.getSnapshot,async e=>{let{state:n,versions:r}=await Zt(t,e.payload.clientId);e.setResult({state:n,versions:r})}),e.on(M.loadAllVersions,async e=>{let r=await t.select().from(n);e.setResult({versions:r.map(Y)})}),e.on(M.upsertState,async e=>{await $t(t,e.payload),e.setResult({success:!0})}),e.on(M.setActiveVersion,async e=>{let{clientId:n,activeVersion:r,updatedAt:i}=e.payload,a=await en(t,n,r,i);e.setResult(a)}),e.on(M.getState,async e=>{let[n]=await t.select().from(r).where(x(r.clientId,e.payload.clientId)).limit(1);e.setResult({state:n?X(n):null})}),e.on(M.loadAllState,async e=>{let n=await t.select().from(r);e.setResult({states:n.map(X)})}),e.on(M.loadSnapshot,async e=>{let{states:n,versions:r}=await Qt(t);e.setResult({states:n,versions:r})}),e.on(M.removeVersionAndClearActive,async e=>{let{clientId:n,version:r,updatedAt:i}=e.payload,a=await tn(t,n,r,i);e.setResult(a)})];return()=>{for(let e of i)e()}}const rn=_(`client_profiles`,e=>({id:e.text(`id`).primaryKey(),clientId:e.text(`client_id`).notNull(),name:e.text(`name`).notNull(),description:e.text(`description`),configDir:e.text(`config_dir`).notNull(),isDefault:e.bool(`is_default`).notNull().default(!1),createdAt:e.epochMs(`created_at`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull()}),{sqlite:e=>[te(`uq_client_profiles_client_name`).on(e.clientId,e.name),te(`uq_client_profiles_default`).on(e.clientId).where(S`${e.isDefault} = 1`)],postgres:e=>[re(`uq_client_profiles_client_name`).on(e.clientId,e.name),re(`uq_client_profiles_default`).on(e.clientId).where(S`${e.isDefault} = true`)]}),an=rn.sqlite,on=rn.postgres,sn=g({clientProfiles:an},{clientProfiles:on});function Z(e){return{id:e.id,clientId:e.clientId,name:e.name,description:e.description??null,configDir:e.configDir,isDefault:e.isDefault,createdAt:e.createdAt,updatedAt:e.updatedAt}}async function cn(e,t,n){let{clientProfiles:r}=y(e,sn),i=Date.now();return v(e,async e=>{let[a]=await e.select().from(r).where(b(x(r.clientId,t),x(r.name,n))).limit(1);if(a===void 0)return null;await e.update(r).set({isDefault:!1,updatedAt:i}).where(b(x(r.clientId,t),x(r.isDefault,!0))),await e.update(r).set({isDefault:!0,updatedAt:i}).where(b(x(r.clientId,t),x(r.name,n)));let[o]=await e.select().from(r).where(b(x(r.clientId,t),x(r.name,n))).limit(1);return o===void 0?null:Z(o)})}function ln(e,t){let{clientProfiles:n}=y(t,sn),r=[e.on(q.get,async e=>{let{clientId:r,name:i}=e.payload,[a]=await t.select().from(n).where(b(x(n.clientId,r),x(n.name,i))).limit(1);e.setResult({record:a?Z(a):null})}),e.on(q.getById,async e=>{let[r]=await t.select().from(n).where(x(n.id,e.payload.id)).limit(1);e.setResult({record:r?Z(r):null})}),e.on(q.list,async e=>{let r=await t.select().from(n).where(x(n.clientId,e.payload.clientId));e.setResult({records:r.map(Z)})}),e.on(q.set,async e=>{let r=e.payload,i={id:r.id,clientId:r.clientId,name:r.name,description:r.description??null,configDir:r.configDir,isDefault:r.isDefault,createdAt:r.createdAt,updatedAt:r.updatedAt};await t.insert(n).values(i).onConflictDoUpdate({target:n.id,set:{name:r.name,description:r.description??null,configDir:r.configDir,isDefault:r.isDefault,updatedAt:r.updatedAt}}),e.setResult({success:!0})}),e.on(q.delete,async e=>{let{clientId:r,name:i}=e.payload,a=await t.delete(n).where(b(x(n.clientId,r),x(n.name,i)));e.setResult({success:ie(a)})}),e.on(q.clearDefault,async e=>{await t.update(n).set({isDefault:!1,updatedAt:Date.now()}).where(b(x(n.clientId,e.payload.clientId),x(n.isDefault,!0))),e.setResult({success:!0})}),e.on(q.setDefault,async e=>{let{clientId:n,name:r}=e.payload,i=await cn(t,n,r);e.setResult({record:i})})];return()=>{for(let e of r)e()}}function un(e,t){return`${e}\0${t}`}function dn(e){let t=e=>typeof e==`string`&&e.trim().length>0;if(typeof e!=`object`||!e)throw Error(`Provider contract catalog must be an object`);if(!t(e.clientId)||!t(e.contractId)||!t(e.version))throw Error(`Provider contract catalog requires non-empty clientId, contractId, and version`);if(!Array.isArray(e.supportedInteractions)||e.supportedInteractions.length===0)throw Error(`Provider contract catalog requires supported interactions`);if(e.supportedInteractions.some(e=>!t(e))||new Set(e.supportedInteractions).size!==e.supportedInteractions.length)throw Error(`Provider contract catalog interactions must be non-empty and unique`);if(!Array.isArray(e.blockability)||e.blockability.length!==e.supportedInteractions.length)throw Error(`Provider contract catalog requires complete blockability metadata`);let n=new Map;for(let r of e.blockability){if(!t(r.interaction)||typeof r.blockable!=`boolean`||n.has(r.interaction))throw Error(`Provider contract catalog blockability metadata must be complete and unique`);n.set(r.interaction,r.blockable)}if(e.supportedInteractions.some(e=>!n.has(e))||typeof e.validate!=`function`)throw Error(`Provider contract catalog must provide blockability metadata and a validator for every interaction`)}var fn=class{entries=new Map;registerProviderContract(e,t){dn(t);let n=un(t.clientId,t.contractId),r=this.entries.get(n);if(r)throw Error(`Provider contract collision: contract '${t.contractId}' for client '${t.clientId}' is already registered by extension '${r.extensionId}'; extension '${e}' cannot claim it`);this.entries.set(n,{extensionId:e,catalog:t})}unregisterProviderContract(e,t,n){let r=un(t,n),i=this.entries.get(r);i&&i.extensionId===e&&this.entries.delete(r)}unregisterAllByExtension(e){for(let[t,n]of this.entries)n.extensionId===e&&this.entries.delete(t)}getProviderContract(e,t){let n=un(e,t);return this.entries.get(n)?.catalog}getProviderContractsByClient(e){let t=[];for(let n of this.entries.values())n.catalog.clientId===e&&t.push(n.catalog);return t}getAllProviderContracts(){return[...this.entries.values()].map(e=>e.catalog)}clear(){this.entries.clear()}};function pn(e,t){return`${e}/${t}`}function mn(e,t,n){switch(e.kind){case`event-name`:return e.name===t;case`capability`:return n.includes(e.capability)}}function hn(e,t){let n=t.definition.priority-e.definition.priority;return n===0?e.ordinal-t.ordinal:n}function gn(e){return Array.isArray(e)&&e.length>0&&e.every(e=>typeof e!=`object`||!e?!1:e.kind===`event-name`?typeof e.name==`string`&&e.name.trim().length>0:e.kind===`capability`&&typeof e.capability==`string`&&e.capability.trim().length>0)}function _n(e){return e.lane===`canonical`?e.clientIds===void 0||Array.isArray(e.clientIds)&&e.clientIds.length>0&&e.clientIds.every(e=>typeof e==`string`&&e.trim().length>0):e.lane===`provider`?typeof e.clientId==`string`&&e.clientId.trim().length>0&&typeof e.contractId==`string`&&e.contractId.trim().length>0:!1}function vn(e,t){if(typeof t!=`object`||!t||Array.isArray(t))return{code:`invalid-contributor-lane`,message:`Contributor definition must be an object`,extensionName:e};let n={...typeof t.id==`string`&&{contributorId:t.id},extensionName:e};if(!Number.isFinite(t.priority))return{...n,code:`invalid-priority`,message:`Contributor '${t.id}' priority must be a finite number`};if(!gn(t.selectors))return{...n,code:`invalid-selectors`,message:`Contributor '${t.id}' requires non-empty valid selectors`};if(typeof t.respond!=`function`)return{...n,code:`invalid-respond`,message:`Contributor '${t.id}' respond must be a function`};if(!_n(t))return{...n,code:`invalid-contributor-lane`,message:`Contributor '${t.id}' has an invalid lane or target identity`};if(!pe(t.id))return{...n,code:`invalid-contributor-id`,message:`Contributor ID is empty or invalid`};if(!me(t.timeoutMs))return{...n,code:`invalid-timeout-ms`,message:`Contributor '${t.id}' has an invalid timeoutMs: ${String(t.timeoutMs)}; must be a positive finite number`}}function yn(e,t,n,r){let i=[],a=new Set;for(let o of t){let t=vn(e,o);if(t){i.push(t);continue}let s=pn(e,o.id);if(a.has(s)){i.push({code:`invalid-contributor-id`,message:`Duplicate contributor ID '${o.id}' within the same extension batch '${e}'`,contributorId:o.id,extensionName:e});continue}if(r.has(s)){i.push({code:`invalid-contributor-id`,message:`Contributor ID '${o.id}' is already registered by extension '${e}'`,contributorId:o.id,extensionName:e});continue}a.add(s),bn(e,o,n,i)}return i}function bn(e,t,n,r){let i=t.failurePolicy??`open`;if(t.lane===`provider`){let a=n.getProviderContract(t.clientId,t.contractId);if(!a){r.push({code:`inactive-provider-contract`,message:`Provider contributor requires active contract '${t.contractId}' for client '${t.clientId}'`,contributorId:t.id,extensionName:e});return}xn(e,t,[a],i,r);return}xn(e,t,t.clientIds?t.clientIds.flatMap(e=>n.getProviderContractsByClient(e)):n.getAllProviderContracts(),i,r)}function xn(e,t,n,r,i){for(let a of t.selectors){let o=a.kind===`capability`?a.capability:a.name,s=n.filter(e=>e.supportedInteractions.includes(o));if((t.lane===`provider`||a.kind===`capability`)&&s.length===0){i.push({code:`unsupported-interaction`,message:`Interaction '${o}' is not supported by an eligible active provider contract`,contributorId:t.id,extensionName:e});continue}if(r===`closed`){if(s.length===0){i.push({code:`closed-policy-on-non-blockable`,message:`Closed failure policy requires blockability proof for interaction '${o}', but no contract declares it for an eligible active client`,contributorId:t.id,extensionName:e});continue}for(let n of s)for(let r of he([a],n))i.push({code:`closed-policy-on-non-blockable`,message:r,contributorId:t.id,extensionName:e})}}}var Sn=class{contractRegistry;contributors=new Map;extensionIndex=new Map;nextOrdinal=1;constructor(e){this.contractRegistry=e}installContributors(e,t){let n=yn(e,t,this.contractRegistry,this.contributors);if(n.length>0)return{errors:n};let r=this.extensionIndex.get(e)??new Set;for(let n of t){let t=pn(e,n.id),i=Object.freeze({...n,selectors:Object.freeze(n.selectors.map(e=>Object.freeze({...e})))}),a=Object.freeze({namespacedId:t,extensionId:e,ordinal:this.nextOrdinal,definition:i});this.nextOrdinal+=1,this.contributors.set(t,a),r.add(t)}return this.extensionIndex.set(e,r),{errors:[]}}removeContributors(e){let t=this.extensionIndex.get(e);if(t){for(let e of t)this.contributors.delete(e);this.extensionIndex.delete(e)}}snapshot(e,t,n,r=[]){let i=[];for(let a of this.contributors.values()){let{definition:o}=a;o.lane===`provider`&&(o.clientId!==e||o.contractId!==t)||o.lane===`canonical`&&o.clientIds!==void 0&&!o.clientIds.includes(e)||a.definition.selectors.some(e=>mn(e,n,r))&&i.push(a)}return i.sort(hn),Object.freeze(i)}clear(){this.contributors.clear(),this.extensionIndex.clear(),this.nextOrdinal=1}};function Cn(e,t){return{filter:e=>!!e.clientHookResponses,async processActivated(n,r,i){let a=r.clientHookResponses;if(!a)return;let o={extensionName:n,getProviderContract:(e,n)=>t.getProviderContract(e,n)},s;try{s=await a.createContributors(o)}catch(e){throw Error(`[ClientHookResponseContributionProcessor] createContributors failed for '${n}': ${e instanceof Error?e.message:String(e)}`,{cause:e})}let c=e.installContributors(n,s);if(c.errors.length>0){let e=c.errors.map(e=>`[${e.code}] ${e.contributorId??`<unknown>`}: ${e.message}`).join(`; `);throw Error(`[ClientHookResponseContributionProcessor] Contributor validation failed for '${n}': ${e}`)}},async processStopped(t){e.removeContributors(t)}}}var wn=class{runtimeService;binaryManager;configPrimeService;profileService;sessionConfigService;providerContractRegistry;hookResponseRegistry;constructor(e,t,n,r,i,a,o){this.runtimeService=e,this.binaryManager=t,this.configPrimeService=n,this.profileService=r,this.sessionConfigService=i,this.providerContractRegistry=a,this.hookResponseRegistry=o}async init(){let e=(await Promise.allSettled([this.runtimeService.init(),this.binaryManager.init(),this.configPrimeService.init(),this.profileService.init(),this.sessionConfigService.init()])).filter(e=>e.status===`rejected`);if(e.length>0){for(let t=1;t<e.length;t++)console.warn(`[ClientsCoreService] Multiple init failures, secondary:`,e[t].reason);throw e[0].reason}}async destroy(){let e=(await Promise.allSettled([this.runtimeService.destroy(),this.binaryManager.destroy(),this.configPrimeService.destroy(),this.profileService.destroy(),this.sessionConfigService.destroy()])).filter(e=>e.status===`rejected`);for(let t of e)console.warn(`[ClientsCoreService] destroy failure:`,t.reason)}};const Tn=u(`makaio.clients-core`);function En(e){let t=[],n=()=>{for(let e of[...t].reverse())e()};try{for(let n of e)t.push(n())}catch(e){throw n(),e}return n}function Dn(e={}){let{definitions:t=[],strategyDependencies:n,postInstallHandlers:r,binaryResolutionPolicy:i}=e,o=[...t],s=new fn,c=new Sn(s);return{name:`makaio.clients-core`,displayName:`Clients Core`,version:`0.1.0`,critical:!0,namespaces:[j,B,_t],storage:{registerHandlers:ae((e,t)=>En([()=>Rt(e,t),()=>nn(e,t),()=>ln(e,t)]))},create:e=>{let t=new N(o),l=a.join(e.makaioHome,`clients`),u=new ze(e.bus,{basePath:a.join(e.makaioHome,`binaries`),configBasePath:l,postInstallHandlers:r,...i!==void 0&&{resolutionPolicy:i}},t,n),d=new yt(e.bus,l),f=new Tt(e.bus,l);return new wn(new ut(e.bus),u,new gt(e.bus),d,f,s,c)},runtimeBoot:{configure:e=>{e.registerContributionProcessor(Cn(c,s))}}}}async function On(e,t){let n=await e.requestOptional(w.resolveBinary,{clientId:t});return n.handled?n.data:void 0}function kn(e,t,n){return[...n??[],e,...t].map(Mn).join(` `)}function An(e,t,n,r,i){return kn(e,[...i??[],...t.split(` `),n],r)}function jn(e){return e.runtimeCapabilities.hookEvents.map(e=>({eventName:e.name,mode:fe(e)}))}function Mn(e){return/^[A-Za-z0-9_@%+=:,./-]+$/.test(e)?e:`'${e.replaceAll(`'`,`'\\''`)}'`}function Nn(e){if(e===void 0)return!0;if(!Array.isArray(e))return`canonicalEffects must be an array`;for(let t of e){if(typeof t!=`object`||!t||t.kind!==`context.append`||typeof t.value!=`string`)return`canonicalEffects must contain complete context.append effects`;if(Object.keys(t).some(e=>e!==`kind`&&e!==`value`))return`canonicalEffects must contain only kind and value`}return!0}function Pn(e,t,n){return e===void 0?!0:typeof e!=`object`||!e||Array.isArray(e)||e.clientId!==t||e.contractId!==n||typeof e.effects!=`object`||e.effects===null||Array.isArray(e.effects)?`providerEnvelope must contain the exact clientId, contractId, and an effects object`:Object.keys(e).some(e=>e!==`clientId`&&e!==`contractId`&&e!==`effects`)?`providerEnvelope must contain only clientId, contractId, and effects`:!0}function Fn(e,t,n,r,i,a){if(!r)return`Provider contributor requires active contract '${t.contractId}'`;if(r.clientId!==n||r.clientId!==t.clientId)return`Provider contract client '${r.clientId}' does not match '${t.clientId}'`;if(r.contractId!==t.contractId)return`Provider contract '${r.contractId}' does not match '${t.contractId}'`;let o=Pn(e.providerEnvelope,t.clientId,t.contractId);return o===!0?r.validate(e,{clientId:n,eventName:i,eventPayload:a}):o}function In(e,t,n,r,i,a){if(e===void 0)return!0;if(typeof e!=`object`||!e||Array.isArray(e))return`Contributor response must be an object or undefined`;let o=t.lane===`canonical`?[`canonicalEffects`]:[`providerEnvelope`];return Object.keys(e).some(e=>!o.includes(e))?`Contributor response contains keys outside the ${t.lane} lane`:t.lane===`canonical`?Nn(e.canonicalEffects):Fn(e,t,n,r,i,a)}const Q=Symbol(`contributor-timeout`);function Ln(e){return e.failurePolicy??ue}function Rn(e){return e.namespacedId??e.definition.id}function $(e,t){return e===`closed`?`closed-failure`:t}function zn(e){if(!e)return;let t=[];return e.canonicalEffects&&t.push(...e.canonicalEffects),e.providerEnvelope&&t.push(e.providerEnvelope),t.length>0?t:void 0}function Bn(e,t,n){let r=t-Date.now();return r<=0||n.signal.aborted?(n.abort(Error(`Contributor deadline expired`)),Promise.resolve(Q)):new Promise((i,a)=>{let o=!1,s=e=>{o||(o=!0,clearTimeout(c),n.signal.removeEventListener(`abort`,l),i(e))},c=setTimeout(()=>{n.abort(Error(`Contributor timeout`)),s(Q)},r),l=()=>s(Q);n.signal.addEventListener(`abort`,l,{once:!0}),e.then(e=>{Date.now()>=t?(n.abort(Error(`Contributor timeout`)),s(Q)):s(e)},e=>{o||(o=!0,clearTimeout(c),n.signal.removeEventListener(`abort`,l),a(e))})})}function Vn(e){let t=[],n=[],r=`Request deadline already expired before collection started`;for(let i of e){let e=Rn(i),a=$(Ln(i.definition),`timeout`);t.push({contributorId:e,outcome:a,durationMs:0}),n.push({contributorId:e,severity:`error`,message:r})}let i=t.find(e=>e.outcome===`closed-failure`);return{outcomes:t,diagnostics:n,closedFailure:i?{contributorId:i.contributorId,detail:r}:void 0}}function Hn(e,t){if(t.aborted){e.abort(t.reason);return}let n=()=>{e.abort(t.reason)};t.addEventListener(`abort`,n,{once:!0}),e.signal.addEventListener(`abort`,()=>{t.removeEventListener(`abort`,n)},{once:!0})}function Un(e,t,n,r,i,a){let{definition:o}=e,s=Rn(e),c=Date.now(),l=c+o.timeoutMs,u=n===void 0?l:Math.min(n,l),d=u-c,f=new AbortController;r&&Hn(f,r);let p={clientId:t,deadline:u,remainingBudgetMs:d,signal:f.signal,eventName:i,eventPayload:a};if(f.signal.aborted)return{contributorId:s,definition:o,startMs:c,abort:f,settled:Promise.resolve({tag:`timeout`})};let m;try{let e=o.respond(p);m=e instanceof Promise?e:Promise.resolve(e)}catch(e){m=Promise.reject(e)}return{contributorId:s,definition:o,startMs:c,abort:f,settled:Bn(m,u,f).then(e=>e===Q?{tag:`timeout`}:{tag:`ok`,response:e},e=>({tag:`rejected`,error:e}))}}function Wn(e,t,n,r,i,a){let{contributorId:o,definition:s,startMs:c,abort:l}=e,u=Date.now()-c,d=Ln(s);if(l.signal.aborted||l.abort(Error(`Collection complete`)),t.tag===`timeout`){let e=`Contributor timed out after ${u}ms`;return{outcome:{contributorId:o,outcome:$(d,`timeout`),durationMs:u},diagnostic:{contributorId:o,severity:`error`,message:e}}}if(t.tag===`rejected`){let e=`Contributor rejected: ${t.error instanceof Error?t.error.message:String(t.error)}`;return{outcome:{contributorId:o,outcome:$(d,`rejection`),durationMs:u},diagnostic:{contributorId:o,severity:`error`,message:e,cause:t.error}}}let{response:f}=t,p=In(f,s,n,r,i,a);if(p!==!0){let e=`Validation failed: ${p}`;return{outcome:{contributorId:o,outcome:$(d,`rejection`),durationMs:u},diagnostic:{contributorId:o,severity:`error`,message:e}}}return{outcome:{contributorId:o,outcome:`success`,durationMs:u,effects:zn(f)}}}function Gn(e,t){let n=e.find(e=>e.outcome===`closed-failure`);if(!n)return{outcomes:e,diagnostics:t};let r={contributorId:n.contributorId,detail:t.find(e=>e.contributorId===n.contributorId)?.message??`Closed failure`};return{outcomes:e.map(e=>{if(e.effects){let{effects:t,...n}=e;return n}return e}),diagnostics:t,closedFailure:r}}async function Kn(e,t,n,r,i,a,o){if(e.length===0)return{outcomes:[],diagnostics:[]};if(n!==void 0&&n<=Date.now())return Vn(e);let s=e.map(e=>Un(e,t,n,r,i,a)),c=await Promise.all(s.map(e=>e.settled)),l=[],u=[];for(let e=0;e<s.length;e++){let{outcome:n,diagnostic:r}=Wn(s[e],c[e],t,o,i,a);l.push(n),r&&u.push(r)}return Gn(l,u)}export{it as AbsolutePathSchema,Ce as BinaryNotFoundError,R as CLIENT_RUNTIME_STATUSES,we as ClientAccountRegistry,Fe as ClientBinaryJobRunner,ze as ClientBinaryManager,k as ClientBinaryStateRecordSchema,j as ClientBinaryStorageNamespace,M as ClientBinaryStorageSubjects,O as ClientBinaryVersionRecordSchema,Pe as ClientBinaryVersionResolver,gt as ClientConfigPrimeService,N as ClientDefinitionRegistry,Je as ClientHookHandleResponseSchema,fn as ClientHookProviderContractRegistry,Sn as ClientHookResponseRegistry,G as ClientProfileRecordSchema,yt as ClientProfileService,_t as ClientProfileStorageNamespace,q as ClientProfileStorageSubjects,We as ClientRuntimeRegistry,ut as ClientRuntimeService,B as ClientRuntimeStorageNamespace,V as ClientRuntimeStorageSubjects,Tt as ClientSessionConfigService,ce as ClientSubjects,ct as ClientWiringAggregatedResultSchema,ot as ClientWiringApplyResponseSchema,le as ClientWiringEntrySchema,at as ClientWiringListResponseSchema,st as ClientWiringRemoveResponseSchema,wn as ClientsCoreService,Tn as ClientsCoreToken,qe as DEFAULT_HOOK_HANDLE_TIMEOUT_MS,Ye as NOOP_HOOK_HANDLE_RESPONSE,U as RawClientHookPayloadSchema,z as RuntimeRecordSchema,lt as assertAbsoluteProjectDir,be as atomicModifyFile,kn as buildClientCommand,$e as buildClientSessionBase,An as buildHookCommand,W as canonicalizeClientId,Mt as clientRuntimesDual,Kn as collectContributions,Cn as createClientHookResponseContributionProcessor,jt as createClientNamespace,rt as createClientWiringListSubjectDef,nt as createClientWiringSubjectDef,Dn as createClientsCorePackage,Xe as createRawClientHookHandleSubject,Ke as createRawClientHookReceivedSubject,t as createStrategy,jn as deriveSessionEventDescriptors,et as emitBestEffort,E as isPathWithinBase,Qe as pickNonEmptyString,Ze as pickNonEmptyStringValue,nn as registerDrizzleClientBinaryStorage,ln as registerDrizzleProfileStorage,Rt as registerDrizzleRuntimeStorage,En as registerStorageHandlersWithRollback,D as resolveAndValidateBasePath,On as resolveClientBinary,n as verifyInstalledVersion};
@@ -1,2 +1,2 @@
1
- import { a as StrategyDependencies, i as InstallStrategy, n as createStrategy, r as InstallArtifact, t as verifyInstalledVersion } from "../client-binary-version-verifier-WsNRplFB.mjs";
1
+ import { a as StrategyDependencies, i as InstallStrategy, n as createStrategy, r as InstallArtifact, t as verifyInstalledVersion } from "../client-binary-version-verifier-C12PvQmz.mjs";
2
2
  export { type InstallArtifact, type InstallStrategy, type StrategyDependencies, createStrategy, verifyInstalledVersion };
@@ -1 +1 @@
1
- import{r as e,t}from"../client-binary-version-verifier-CaFlNNjs.mjs";export{e as createStrategy,t as verifyInstalledVersion};
1
+ import{r as e,t}from"../client-binary-version-verifier-Dv7TGFxh.mjs";export{e as createStrategy,t as verifyInstalledVersion};
@@ -459,9 +459,9 @@ declare const ArtifactKindRegistrationSchema: z.ZodObject<{
459
459
  lifecycle: z.ZodOptional<z.ZodObject<{
460
460
  defaultRelevance: z.ZodOptional<z.ZodEnum<{
461
461
  active: "active";
462
- archived: "archived";
463
462
  fading: "fading";
464
463
  retired: "retired";
464
+ archived: "archived";
465
465
  }>>;
466
466
  decayPolicy: z.ZodOptional<z.ZodString>;
467
467
  }, z.core.$strip>>;
@@ -474,8 +474,8 @@ declare const ArtifactKindRegistrationSchema: z.ZodObject<{
474
474
  comment: "comment";
475
475
  }>;
476
476
  defaultRole: z.ZodOptional<z.ZodEnum<{
477
- workpiece: "workpiece";
478
477
  artifact: "artifact";
478
+ workpiece: "workpiece";
479
479
  }>>;
480
480
  semanticEvents: z.ZodOptional<z.ZodArray<z.ZodEnum<{
481
481
  created: "created";
@@ -492,8 +492,8 @@ declare const ArtifactKindRegistrationSchema: z.ZodObject<{
492
492
  }>>;
493
493
  fromLevel: z.ZodOptional<z.ZodEnum<{
494
494
  link: "link";
495
- full: "full";
496
495
  summary: "summary";
496
+ full: "full";
497
497
  }>>;
498
498
  viewRole: z.ZodOptional<z.ZodEnum<{
499
499
  title: "title";
@@ -507,8 +507,8 @@ declare const ArtifactKindRegistrationSchema: z.ZodObject<{
507
507
  hostRelation: z.ZodString;
508
508
  as: z.ZodOptional<z.ZodEnum<{
509
509
  link: "link";
510
- full: "full";
511
510
  summary: "summary";
511
+ full: "full";
512
512
  }>>;
513
513
  }, z.core.$strip>, z.ZodObject<{
514
514
  kind: z.ZodLiteral<"entry">;
@@ -919,8 +919,8 @@ declare const SurfaceBindingRegistrationSchema: z.ZodObject<{
919
919
  template: z.ZodString;
920
920
  }, z.core.$strip>], "kind">;
921
921
  appliesTo: z.ZodArray<z.ZodEnum<{
922
- workpiece: "workpiece";
923
922
  artifact: "artifact";
923
+ workpiece: "workpiece";
924
924
  surface: "surface";
925
925
  }>>;
926
926
  valueMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -958,8 +958,8 @@ declare const ProjectedFieldSchema: z.ZodObject<{
958
958
  }>>;
959
959
  fromLevel: z.ZodOptional<z.ZodEnum<{
960
960
  link: "link";
961
- full: "full";
962
961
  summary: "summary";
962
+ full: "full";
963
963
  }>>;
964
964
  viewRole: z.ZodOptional<z.ZodEnum<{
965
965
  title: "title";
@@ -986,8 +986,8 @@ declare const ArtifactProjectionPolicySchema: z.ZodObject<{
986
986
  comment: "comment";
987
987
  }>;
988
988
  defaultRole: z.ZodOptional<z.ZodEnum<{
989
- workpiece: "workpiece";
990
989
  artifact: "artifact";
990
+ workpiece: "workpiece";
991
991
  }>>;
992
992
  semanticEvents: z.ZodOptional<z.ZodArray<z.ZodEnum<{
993
993
  created: "created";
@@ -1004,8 +1004,8 @@ declare const ArtifactProjectionPolicySchema: z.ZodObject<{
1004
1004
  }>>;
1005
1005
  fromLevel: z.ZodOptional<z.ZodEnum<{
1006
1006
  link: "link";
1007
- full: "full";
1008
1007
  summary: "summary";
1008
+ full: "full";
1009
1009
  }>>;
1010
1010
  viewRole: z.ZodOptional<z.ZodEnum<{
1011
1011
  title: "title";
@@ -1019,8 +1019,8 @@ declare const ArtifactProjectionPolicySchema: z.ZodObject<{
1019
1019
  hostRelation: z.ZodString;
1020
1020
  as: z.ZodOptional<z.ZodEnum<{
1021
1021
  link: "link";
1022
- full: "full";
1023
1022
  summary: "summary";
1023
+ full: "full";
1024
1024
  }>>;
1025
1025
  }, z.core.$strip>, z.ZodObject<{
1026
1026
  kind: z.ZodLiteral<"entry">;
@@ -1044,8 +1044,8 @@ declare const ArtifactMaterializationRefSchema: z.ZodObject<{
1044
1044
  externalId: z.ZodString;
1045
1045
  externalUrl: z.ZodOptional<z.ZodString>;
1046
1046
  surfaceRole: z.ZodEnum<{
1047
- workpiece: "workpiece";
1048
1047
  artifact: "artifact";
1048
+ workpiece: "workpiece";
1049
1049
  }>;
1050
1050
  lastSyncedRevision: z.ZodOptional<z.ZodString>;
1051
1051
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
@@ -1,3 +1,3 @@
1
- import { C as StartAgentSchema, D as AdapterNamespace, E as AdapterSchemas, O as AdapterSubjects, S as StartAgentResponse, T as AdapterRuntimeOptionsSchema, _ as SessionUsageSchema, a as UnresolvedProviderContext, b as RehydrateAgentSchema, c as AdapterSelectionSchema, d as AgentSelectionBaseSchema, f as AgentSelectionKindMap, g as SessionUsage, h as SessionDiscoveredSchema, i as ResolvedProviderContextSchema, l as AgentSelection, m as SessionDiscovered, n as ProviderContextSchema, o as UnresolvedProviderContextSchema, p as AgentSelectionSchema, r as ResolvedProviderContext, s as AdapterSelection, t as ProviderContext, u as AgentSelectionBase, v as RehydrateAgentRequest, w as AdapterRuntimeOptions, x as StartAgentRequest, y as RehydrateAgentResponse } from "../../index-BoCL9IHT.mjs";
2
- import { a as ROOT_SESSION_LINEAGE_KIND, c as SUBAGENT_SESSION_LINEAGE_KIND, d as SessionLineageKindSchema, f as SessionLineageSchema, i as ForkSessionLineageSchema, l as SessionLineage, n as CompressSessionLineageSchema, o as RootSessionLineageSchema, p as SubagentSessionLineageSchema, r as FORK_SESSION_LINEAGE_KIND, s as SESSION_LINEAGE_KINDS, t as COMPRESS_SESSION_LINEAGE_KIND, u as SessionLineageKind } from "../../session-lineage-CWlcOKBZ.mjs";
1
+ import { C as StartAgentSchema, D as AdapterNamespace, E as AdapterSchemas, O as AdapterSubjects, S as StartAgentResponse, T as AdapterRuntimeOptionsSchema, _ as SessionUsageSchema, a as UnresolvedProviderContext, b as RehydrateAgentSchema, c as AdapterSelectionSchema, d as AgentSelectionBaseSchema, f as AgentSelectionKindMap, g as SessionUsage, h as SessionDiscoveredSchema, i as ResolvedProviderContextSchema, l as AgentSelection, m as SessionDiscovered, n as ProviderContextSchema, o as UnresolvedProviderContextSchema, p as AgentSelectionSchema, r as ResolvedProviderContext, s as AdapterSelection, t as ProviderContext, u as AgentSelectionBase, v as RehydrateAgentRequest, w as AdapterRuntimeOptions, x as StartAgentRequest, y as RehydrateAgentResponse } from "../../index-BDDbcWNI.mjs";
2
+ import { a as ROOT_SESSION_LINEAGE_KIND, c as SUBAGENT_SESSION_LINEAGE_KIND, d as SessionLineageKindSchema, f as SessionLineageSchema, i as ForkSessionLineageSchema, l as SessionLineage, n as CompressSessionLineageSchema, o as RootSessionLineageSchema, p as SubagentSessionLineageSchema, r as FORK_SESSION_LINEAGE_KIND, s as SESSION_LINEAGE_KINDS, t as COMPRESS_SESSION_LINEAGE_KIND, u as SessionLineageKind } from "../../session-lineage-Cte63dGx.mjs";
3
3
  export { AdapterNamespace, AdapterRuntimeOptions, AdapterRuntimeOptionsSchema, AdapterSchemas, AdapterSelection, AdapterSelectionSchema, AdapterSubjects, AgentSelection, AgentSelectionBase, AgentSelectionBaseSchema, AgentSelectionKindMap, AgentSelectionSchema, COMPRESS_SESSION_LINEAGE_KIND, CompressSessionLineageSchema, FORK_SESSION_LINEAGE_KIND, ForkSessionLineageSchema, ProviderContext, ProviderContextSchema, ROOT_SESSION_LINEAGE_KIND, RehydrateAgentRequest, RehydrateAgentResponse, RehydrateAgentSchema, ResolvedProviderContext, ResolvedProviderContextSchema, RootSessionLineageSchema, SESSION_LINEAGE_KINDS, SUBAGENT_SESSION_LINEAGE_KIND, SessionDiscovered, SessionDiscoveredSchema, SessionLineage, SessionLineageKind, SessionLineageKindSchema, SessionLineageSchema, SessionUsage, SessionUsageSchema, StartAgentRequest, StartAgentResponse, StartAgentSchema, SubagentSessionLineageSchema, UnresolvedProviderContext, UnresolvedProviderContextSchema };
@@ -1 +1 @@
1
- import{b as e,d as t,gt as n,h as r,t as i}from"../../schemas-DyJHJ8Pm.mjs";import{a,i as o,r as s}from"../../compression-CZ_6fYq8.mjs";import{n as c,r as l,t as u}from"../../provider-context-DOsjOjiR.mjs";import{COMPRESS_SESSION_LINEAGE_KIND as d,CompressSessionLineageSchema as f,FORK_SESSION_LINEAGE_KIND as p,ForkSessionLineageSchema as m,ROOT_SESSION_LINEAGE_KIND as h,RootSessionLineageSchema as g,SESSION_LINEAGE_KINDS as _,SUBAGENT_SESSION_LINEAGE_KIND as v,SessionLineageKindSchema as y,SessionLineageSchema as b,SubagentSessionLineageSchema as x}from"./schemas/session-lineage.mjs";import{n as S,r as C,t as w}from"../../adapter-B9vVBwli.mjs";export{w as AdapterNamespace,n as AdapterRuntimeOptionsSchema,C as AdapterSchemas,s as AdapterSelectionSchema,S as AdapterSubjects,o as AgentSelectionBaseSchema,a as AgentSelectionSchema,d as COMPRESS_SESSION_LINEAGE_KIND,f as CompressSessionLineageSchema,p as FORK_SESSION_LINEAGE_KIND,m as ForkSessionLineageSchema,u as ProviderContextSchema,h as ROOT_SESSION_LINEAGE_KIND,r as RehydrateAgentSchema,c as ResolvedProviderContextSchema,g as RootSessionLineageSchema,_ as SESSION_LINEAGE_KINDS,v as SUBAGENT_SESSION_LINEAGE_KIND,i as SessionDiscoveredSchema,y as SessionLineageKindSchema,b as SessionLineageSchema,t as SessionUsageSchema,e as StartAgentSchema,x as SubagentSessionLineageSchema,l as UnresolvedProviderContextSchema};
1
+ import{b as e,d as t,gt as n,h as r,t as i}from"../../schemas-Dgj3WaOI.mjs";import{a,i as o,r as s}from"../../compression-CZ_6fYq8.mjs";import{n as c,r as l,t as u}from"../../provider-context-DOsjOjiR.mjs";import{COMPRESS_SESSION_LINEAGE_KIND as d,CompressSessionLineageSchema as f,FORK_SESSION_LINEAGE_KIND as p,ForkSessionLineageSchema as m,ROOT_SESSION_LINEAGE_KIND as h,RootSessionLineageSchema as g,SESSION_LINEAGE_KINDS as _,SUBAGENT_SESSION_LINEAGE_KIND as v,SessionLineageKindSchema as y,SessionLineageSchema as b,SubagentSessionLineageSchema as x}from"./schemas/session-lineage.mjs";import{n as S,r as C,t as w}from"../../adapter-CYobxqN_.mjs";export{w as AdapterNamespace,n as AdapterRuntimeOptionsSchema,C as AdapterSchemas,s as AdapterSelectionSchema,S as AdapterSubjects,o as AgentSelectionBaseSchema,a as AgentSelectionSchema,d as COMPRESS_SESSION_LINEAGE_KIND,f as CompressSessionLineageSchema,p as FORK_SESSION_LINEAGE_KIND,m as ForkSessionLineageSchema,u as ProviderContextSchema,h as ROOT_SESSION_LINEAGE_KIND,r as RehydrateAgentSchema,c as ResolvedProviderContextSchema,g as RootSessionLineageSchema,_ as SESSION_LINEAGE_KINDS,v as SUBAGENT_SESSION_LINEAGE_KIND,i as SessionDiscoveredSchema,y as SessionLineageKindSchema,b as SessionLineageSchema,t as SessionUsageSchema,e as StartAgentSchema,x as SubagentSessionLineageSchema,l as UnresolvedProviderContextSchema};
@@ -1,2 +1,2 @@
1
- import { a as ROOT_SESSION_LINEAGE_KIND, c as SUBAGENT_SESSION_LINEAGE_KIND, d as SessionLineageKindSchema, f as SessionLineageSchema, i as ForkSessionLineageSchema, l as SessionLineage, n as CompressSessionLineageSchema, o as RootSessionLineageSchema, p as SubagentSessionLineageSchema, r as FORK_SESSION_LINEAGE_KIND, s as SESSION_LINEAGE_KINDS, t as COMPRESS_SESSION_LINEAGE_KIND, u as SessionLineageKind } from "../../../session-lineage-CWlcOKBZ.mjs";
1
+ import { a as ROOT_SESSION_LINEAGE_KIND, c as SUBAGENT_SESSION_LINEAGE_KIND, d as SessionLineageKindSchema, f as SessionLineageSchema, i as ForkSessionLineageSchema, l as SessionLineage, n as CompressSessionLineageSchema, o as RootSessionLineageSchema, p as SubagentSessionLineageSchema, r as FORK_SESSION_LINEAGE_KIND, s as SESSION_LINEAGE_KINDS, t as COMPRESS_SESSION_LINEAGE_KIND, u as SessionLineageKind } from "../../../session-lineage-Cte63dGx.mjs";
2
2
  export { COMPRESS_SESSION_LINEAGE_KIND, CompressSessionLineageSchema, FORK_SESSION_LINEAGE_KIND, ForkSessionLineageSchema, ROOT_SESSION_LINEAGE_KIND, RootSessionLineageSchema, SESSION_LINEAGE_KINDS, SUBAGENT_SESSION_LINEAGE_KIND, SessionLineage, SessionLineageKind, SessionLineageKindSchema, SessionLineageSchema, SubagentSessionLineageSchema };
@@ -1,3 +1,3 @@
1
- import { $ as ConfidenceLevel, A as ArtifactKindRegistrationSchema, B as ArtifactRelationQueryTarget, C as ArtifactCompareRequest, D as ArtifactConflictPolicy, E as ArtifactCompareResponseSchema, F as ArtifactQueryScope, G as ArtifactRepresentations, H as ArtifactRelationSchema, I as ArtifactQueryScopeSchema, J as ArtifactRevisionSchema, K as ArtifactRepresentationsSchema, L as ArtifactRef, M as ArtifactObservationSchema, N as ArtifactQueryRequest, O as ArtifactConflictPolicySchema, P as ArtifactQueryRequestSchema, Q as ConfidenceBasisSchema, R as ArtifactRefSchema, S as ArtifactActorSchema, T as ArtifactCompareResponse, U as ArtifactRelationTarget, V as ArtifactRelationQueryTargetSchema, W as ArtifactRelationTargetSchema, X as ArtifactScopeSchema, Y as ArtifactScope, Z as ConfidenceBasis, a as ResolvedArtifactContextWire, at as LocalRef, ct as RelationTypeRegistrationSchema, et as ConfidenceLevelSchema, i as ArtifactContextUnresolvedReasonSchema, it as EvidenceRefSchema, j as ArtifactObservation, k as ArtifactKindRegistration, n as ArtifactContextRefEntrySchema, nt as ConfidenceMetadataSchema, o as ResolvedArtifactContextWireSchema, ot as LocalRefSchema, q as ArtifactRevision, r as ArtifactContextUnresolvedReason, rt as EvidenceRef, st as RelationTypeRegistration, t as ArtifactContextRefEntry, tt as ConfidenceMetadata, w as ArtifactCompareRequestSchema, x as ArtifactActor, z as ArtifactRelation } from "../../context-resolution-D5jHK1w-.mjs";
2
- import { $ as ArtifactContextRelationSelectorSchema, A as ArtifactContextTree, B as ArtifactHookFilter, C as ArtifactRevisedPayload, D as hydrateArtifactContextTree, E as ArtifactSubjects, F as ArtifactKindDefinition, G as ArtifactReactionHookContext, H as ArtifactLifecycleHookEvent, I as ArtifactOf, J as BeforeArtifactHookRegistration, K as ArtifactReactionHookRegistration, L as defineArtifactKind, M as UnresolvedArtifactContextNode, N as AnyArtifactKindDefinition, O as ArtifactContextNode, P as ArtifactDataOf, Q as ArtifactContextRelationSelector, R as ArtifactDraft, S as ArtifactReviseResponse, T as ArtifactStatusChangedPayload, U as ArtifactLifecycleHookRegistration, V as ArtifactLifecycleHookDefinition, W as ArtifactLifecycleSemanticEvent, X as ARTIFACT_CONTEXT_RENDER_HINTS, Y as defineArtifactLifecycleHooks, Z as ArtifactContextKnownRenderHint, _ as ArtifactResolveContextRequest, a as ArtifactKindListRequest, b as ArtifactResolveResponse, c as ArtifactKindRegisterResponse, d as ArtifactQueryResponse, et as ArtifactContextRenderHint, f as ArtifactRelationAddedPayload, g as ArtifactRelationTypeRegisterResponse, h as ArtifactRelationTypeRegisterRequest, i as ArtifactKindChangedPayload, j as ResolvedArtifactContextNode, k as ArtifactContextRootNode, l as ArtifactNamespace, m as ArtifactRelationTypeListResponse, n as ArtifactCreateResponse, nt as ArtifactContextSelector, o as ArtifactKindListResponse, p as ArtifactRelationTypeListRequest, q as BeforeArtifactHookContext, r as ArtifactCreatedPayload, rt as ArtifactContextSelectorSchema, s as ArtifactKindRegisterRequest, t as ArtifactCreateRequest, tt as ArtifactContextRenderHintSchema, u as ArtifactObservationAddedPayload, v as ArtifactResolveContextResponse, w as ArtifactSchemas, x as ArtifactReviseRequest, y as ArtifactResolveRequest, z as ArtifactDraftPatch } from "../../index-DoJRv-c3.mjs";
1
+ import { $ as ConfidenceLevel, A as ArtifactKindRegistrationSchema, B as ArtifactRelationQueryTarget, C as ArtifactCompareRequest, D as ArtifactConflictPolicy, E as ArtifactCompareResponseSchema, F as ArtifactQueryScope, G as ArtifactRepresentations, H as ArtifactRelationSchema, I as ArtifactQueryScopeSchema, J as ArtifactRevisionSchema, K as ArtifactRepresentationsSchema, L as ArtifactRef, M as ArtifactObservationSchema, N as ArtifactQueryRequest, O as ArtifactConflictPolicySchema, P as ArtifactQueryRequestSchema, Q as ConfidenceBasisSchema, R as ArtifactRefSchema, S as ArtifactActorSchema, T as ArtifactCompareResponse, U as ArtifactRelationTarget, V as ArtifactRelationQueryTargetSchema, W as ArtifactRelationTargetSchema, X as ArtifactScopeSchema, Y as ArtifactScope, Z as ConfidenceBasis, a as ResolvedArtifactContextWire, at as LocalRef, ct as RelationTypeRegistrationSchema, et as ConfidenceLevelSchema, i as ArtifactContextUnresolvedReasonSchema, it as EvidenceRefSchema, j as ArtifactObservation, k as ArtifactKindRegistration, n as ArtifactContextRefEntrySchema, nt as ConfidenceMetadataSchema, o as ResolvedArtifactContextWireSchema, ot as LocalRefSchema, q as ArtifactRevision, r as ArtifactContextUnresolvedReason, rt as EvidenceRef, st as RelationTypeRegistration, t as ArtifactContextRefEntry, tt as ConfidenceMetadata, w as ArtifactCompareRequestSchema, x as ArtifactActor, z as ArtifactRelation } from "../../context-resolution-DZSBOCKY.mjs";
2
+ import { $ as ArtifactContextRelationSelectorSchema, A as ArtifactContextTree, B as ArtifactHookFilter, C as ArtifactRevisedPayload, D as hydrateArtifactContextTree, E as ArtifactSubjects, F as ArtifactKindDefinition, G as ArtifactReactionHookContext, H as ArtifactLifecycleHookEvent, I as ArtifactOf, J as BeforeArtifactHookRegistration, K as ArtifactReactionHookRegistration, L as defineArtifactKind, M as UnresolvedArtifactContextNode, N as AnyArtifactKindDefinition, O as ArtifactContextNode, P as ArtifactDataOf, Q as ArtifactContextRelationSelector, R as ArtifactDraft, S as ArtifactReviseResponse, T as ArtifactStatusChangedPayload, U as ArtifactLifecycleHookRegistration, V as ArtifactLifecycleHookDefinition, W as ArtifactLifecycleSemanticEvent, X as ARTIFACT_CONTEXT_RENDER_HINTS, Y as defineArtifactLifecycleHooks, Z as ArtifactContextKnownRenderHint, _ as ArtifactResolveContextRequest, a as ArtifactKindListRequest, b as ArtifactResolveResponse, c as ArtifactKindRegisterResponse, d as ArtifactQueryResponse, et as ArtifactContextRenderHint, f as ArtifactRelationAddedPayload, g as ArtifactRelationTypeRegisterResponse, h as ArtifactRelationTypeRegisterRequest, i as ArtifactKindChangedPayload, j as ResolvedArtifactContextNode, k as ArtifactContextRootNode, l as ArtifactNamespace, m as ArtifactRelationTypeListResponse, n as ArtifactCreateResponse, nt as ArtifactContextSelector, o as ArtifactKindListResponse, p as ArtifactRelationTypeListRequest, q as BeforeArtifactHookContext, r as ArtifactCreatedPayload, rt as ArtifactContextSelectorSchema, s as ArtifactKindRegisterRequest, t as ArtifactCreateRequest, tt as ArtifactContextRenderHintSchema, u as ArtifactObservationAddedPayload, v as ArtifactResolveContextResponse, w as ArtifactSchemas, x as ArtifactReviseRequest, y as ArtifactResolveRequest, z as ArtifactDraftPatch } from "../../index-CFqShlHD.mjs";
3
3
  export { ARTIFACT_CONTEXT_RENDER_HINTS, AnyArtifactKindDefinition, ArtifactActor, ArtifactActorSchema, ArtifactCompareRequest, ArtifactCompareRequestSchema, ArtifactCompareResponse, ArtifactCompareResponseSchema, ArtifactConflictPolicy, ArtifactConflictPolicySchema, ArtifactContextKnownRenderHint, ArtifactContextNode, ArtifactContextRefEntry, ArtifactContextRefEntrySchema, ArtifactContextRelationSelector, ArtifactContextRelationSelectorSchema, ArtifactContextRenderHint, ArtifactContextRenderHintSchema, ArtifactContextRootNode, ArtifactContextSelector, ArtifactContextSelectorSchema, ArtifactContextTree, ArtifactContextUnresolvedReason, ArtifactContextUnresolvedReasonSchema, ArtifactCreateRequest, ArtifactCreateResponse, ArtifactCreatedPayload, ArtifactDataOf, ArtifactDraft, ArtifactDraftPatch, ArtifactHookFilter, ArtifactKindChangedPayload, ArtifactKindDefinition, ArtifactKindListRequest, ArtifactKindListResponse, ArtifactKindRegisterRequest, ArtifactKindRegisterResponse, ArtifactKindRegistration, ArtifactKindRegistrationSchema, ArtifactLifecycleHookDefinition, ArtifactLifecycleHookEvent, ArtifactLifecycleHookRegistration, ArtifactLifecycleSemanticEvent, ArtifactNamespace, ArtifactObservation, ArtifactObservationAddedPayload, ArtifactObservationSchema, ArtifactOf, ArtifactQueryRequest, ArtifactQueryRequestSchema, ArtifactQueryResponse, ArtifactQueryScope, ArtifactQueryScopeSchema, ArtifactReactionHookContext, ArtifactReactionHookRegistration, ArtifactRef, ArtifactRefSchema, ArtifactRelation, ArtifactRelationAddedPayload, ArtifactRelationQueryTarget, ArtifactRelationQueryTargetSchema, ArtifactRelationSchema, ArtifactRelationTarget, ArtifactRelationTargetSchema, ArtifactRelationTypeListRequest, ArtifactRelationTypeListResponse, ArtifactRelationTypeRegisterRequest, ArtifactRelationTypeRegisterResponse, ArtifactRepresentations, ArtifactRepresentationsSchema, ArtifactResolveContextRequest, ArtifactResolveContextResponse, ArtifactResolveRequest, ArtifactResolveResponse, ArtifactReviseRequest, ArtifactReviseResponse, ArtifactRevisedPayload, ArtifactRevision, ArtifactRevisionSchema, ArtifactSchemas, ArtifactScope, ArtifactScopeSchema, ArtifactStatusChangedPayload, ArtifactSubjects, BeforeArtifactHookContext, BeforeArtifactHookRegistration, ConfidenceBasis, ConfidenceBasisSchema, ConfidenceLevel, ConfidenceLevelSchema, ConfidenceMetadata, ConfidenceMetadataSchema, EvidenceRef, EvidenceRefSchema, LocalRef, LocalRefSchema, RelationTypeRegistration, RelationTypeRegistrationSchema, ResolvedArtifactContextNode, ResolvedArtifactContextWire, ResolvedArtifactContextWireSchema, UnresolvedArtifactContextNode, defineArtifactKind, defineArtifactLifecycleHooks, hydrateArtifactContextTree };
@@ -1 +1 @@
1
- import{A as e,C as t,D as n,E as r,M as i,N as a,O as o,P as s,S as c,T as l,_ as u,a as d,b as f,c as p,d as m,f as h,g,h as _,i as v,j as y,k as b,l as x,m as S,n as C,o as w,p as T,r as E,s as D,t as O,u as k,v as A,w as j,x as M,y as N}from"../../artifact-Dnpy5ei_.mjs";export{y as ARTIFACT_CONTEXT_RENDER_HINTS,k as ArtifactActorSchema,m as ArtifactCompareRequestSchema,h as ArtifactCompareResponseSchema,T as ArtifactConflictPolicySchema,d as ArtifactContextRefEntrySchema,i as ArtifactContextRelationSelectorSchema,a as ArtifactContextRenderHintSchema,s as ArtifactContextSelectorSchema,w as ArtifactContextUnresolvedReasonSchema,S as ArtifactKindRegistrationSchema,O as ArtifactNamespace,_ as ArtifactObservationSchema,g as ArtifactQueryRequestSchema,u as ArtifactQueryScopeSchema,A as ArtifactRefSchema,N as ArtifactRelationQueryTargetSchema,f as ArtifactRelationSchema,M as ArtifactRelationTargetSchema,c as ArtifactRepresentationsSchema,t as ArtifactRevisionSchema,C as ArtifactSchemas,j as ArtifactScopeSchema,E as ArtifactSubjects,l as ConfidenceBasisSchema,r as ConfidenceLevelSchema,n as ConfidenceMetadataSchema,o as EvidenceRefSchema,b as LocalRefSchema,e as RelationTypeRegistrationSchema,D as ResolvedArtifactContextWireSchema,x as defineArtifactKind,p as defineArtifactLifecycleHooks,v as hydrateArtifactContextTree};
1
+ import{Q as e,X as t,Y as n,Z as r,_ as i,a,b as o,c as s,d as c,f as l,g as u,h as d,i as f,l as p,m,n as h,o as g,p as _,r as v,s as y,t as b,u as x,v as S,x as C,y as w}from"../../schemas-BRxU_oqL.mjs";import{a as T,c as E,i as D,l as O,n as k,o as A,r as j,s as M,t as N}from"../../artifact-DCkizHkS.mjs";export{n as ARTIFACT_CONTEXT_RENDER_HINTS,b as ArtifactActorSchema,h as ArtifactCompareRequestSchema,v as ArtifactCompareResponseSchema,f as ArtifactConflictPolicySchema,T as ArtifactContextRefEntrySchema,t as ArtifactContextRelationSelectorSchema,r as ArtifactContextRenderHintSchema,e as ArtifactContextSelectorSchema,A as ArtifactContextUnresolvedReasonSchema,a as ArtifactKindRegistrationSchema,N as ArtifactNamespace,g as ArtifactObservationSchema,y as ArtifactQueryRequestSchema,s as ArtifactQueryScopeSchema,p as ArtifactRefSchema,x as ArtifactRelationQueryTargetSchema,c as ArtifactRelationSchema,l as ArtifactRelationTargetSchema,_ as ArtifactRepresentationsSchema,m as ArtifactRevisionSchema,k as ArtifactSchemas,d as ArtifactScopeSchema,j as ArtifactSubjects,u as ConfidenceBasisSchema,i as ConfidenceLevelSchema,S as ConfidenceMetadataSchema,w as EvidenceRefSchema,o as LocalRefSchema,C as RelationTypeRegistrationSchema,M as ResolvedArtifactContextWireSchema,O as defineArtifactKind,E as defineArtifactLifecycleHooks,D as hydrateArtifactContextTree};
@@ -1,3 +1,3 @@
1
- import { C as NoAuthMethodDefinitionSchema, E as ProviderAuthMethodsSchema, S as NoAuthMethodDefinition, T as ProviderAuthMethodDefinitionSchema, _ as ClientDefaultAuthSchema, a as AuthCredentialFieldDefinition, b as InferredAuthMethodDefinition, c as AuthCredentialSourceHintSchema, d as AuthFieldId, f as AuthFieldIdSchema, g as ClientDefaultAuth, h as ClientAuthMethodsSchema, i as ResolvedProviderAuthSchema, l as AuthEnvironmentVariableName, m as ClientAuthMethodDefinitionSchema, n as assertAdapterAuthBindingMatchesMethod, o as AuthCredentialFieldDefinitionSchema, p as ClientAuthMethodDefinition, r as ResolvedProviderAuth, s as AuthCredentialSourceHint, t as AdapterAuthBindingMethodDefinition, u as AuthEnvironmentVariableNameSchema, v as ExplicitAuthMethodDefinition, w as ProviderAuthMethodDefinition, x as InferredAuthMethodDefinitionSchema, y as ExplicitAuthMethodDefinitionSchema } from "../../index-DA5S_dj8.mjs";
2
- import { A as ProviderConfigAuthSchema, C as ClientAuthMethodRef, D as ProviderAuthMethodRef, E as NativeAccountSelectionSchema, M as ProviderConfigManagerSchema, O as ProviderAuthMethodRefSchema, S as AuthMethodRefSchema, T as NativeAccountSelection, _ as ProcessEnvAdapterAuthDeliverySchema, a as AdapterAuthDelivery, b as AuthCredentialRefSchema, c as AdapterProviderAuthInput, d as ConnectorAdapterAuthDeliverySchema, f as NativeClientAdapterAuthDelivery, g as ProcessEnvAdapterAuthDelivery, h as NoAdapterAuthDeliverySchema, i as AdapterAuthConstantSchema, j as ProviderConfigManager, k as ProviderConfigAuth, l as AdapterProviderAuthSchema, m as NoAdapterAuthDelivery, n as AdapterAuthBindingSchema, o as AdapterAuthDeliverySchema, p as NativeClientAdapterAuthDeliverySchema, r as AdapterAuthConstant, s as AdapterProviderAuth, t as AdapterAuthBinding, u as ConnectorAdapterAuthDelivery, v as defineAdapterProviderAuth, w as ClientAuthMethodRefSchema, x as AuthMethodRef, y as AuthCredentialRef } from "../../adapter-binding-DQ1HrGcH.mjs";
1
+ import { C as NoAuthMethodDefinitionSchema, E as ProviderAuthMethodsSchema, S as NoAuthMethodDefinition, T as ProviderAuthMethodDefinitionSchema, _ as ClientDefaultAuthSchema, a as AuthCredentialFieldDefinition, b as InferredAuthMethodDefinition, c as AuthCredentialSourceHintSchema, d as AuthFieldId, f as AuthFieldIdSchema, g as ClientDefaultAuth, h as ClientAuthMethodsSchema, i as ResolvedProviderAuthSchema, l as AuthEnvironmentVariableName, m as ClientAuthMethodDefinitionSchema, n as assertAdapterAuthBindingMatchesMethod, o as AuthCredentialFieldDefinitionSchema, p as ClientAuthMethodDefinition, r as ResolvedProviderAuth, s as AuthCredentialSourceHint, t as AdapterAuthBindingMethodDefinition, u as AuthEnvironmentVariableNameSchema, v as ExplicitAuthMethodDefinition, w as ProviderAuthMethodDefinition, x as InferredAuthMethodDefinitionSchema, y as ExplicitAuthMethodDefinitionSchema } from "../../index-DRiTICBU.mjs";
2
+ import { A as ProviderConfigAuthSchema, C as ClientAuthMethodRef, D as ProviderAuthMethodRef, E as NativeAccountSelectionSchema, M as ProviderConfigManagerSchema, O as ProviderAuthMethodRefSchema, S as AuthMethodRefSchema, T as NativeAccountSelection, _ as ProcessEnvAdapterAuthDeliverySchema, a as AdapterAuthDelivery, b as AuthCredentialRefSchema, c as AdapterProviderAuthInput, d as ConnectorAdapterAuthDeliverySchema, f as NativeClientAdapterAuthDelivery, g as ProcessEnvAdapterAuthDelivery, h as NoAdapterAuthDeliverySchema, i as AdapterAuthConstantSchema, j as ProviderConfigManager, k as ProviderConfigAuth, l as AdapterProviderAuthSchema, m as NoAdapterAuthDelivery, n as AdapterAuthBindingSchema, o as AdapterAuthDeliverySchema, p as NativeClientAdapterAuthDeliverySchema, r as AdapterAuthConstant, s as AdapterProviderAuth, t as AdapterAuthBinding, u as ConnectorAdapterAuthDelivery, v as defineAdapterProviderAuth, w as ClientAuthMethodRefSchema, x as AuthMethodRef, y as AuthCredentialRef } from "../../adapter-binding-Dfk_g-lP.mjs";
3
3
  export { AdapterAuthBinding, AdapterAuthBindingMethodDefinition, AdapterAuthBindingSchema, AdapterAuthConstant, AdapterAuthConstantSchema, AdapterAuthDelivery, AdapterAuthDeliverySchema, AdapterProviderAuth, AdapterProviderAuthInput, AdapterProviderAuthSchema, AuthCredentialFieldDefinition, AuthCredentialFieldDefinitionSchema, AuthCredentialRef, AuthCredentialRefSchema, AuthCredentialSourceHint, AuthCredentialSourceHintSchema, AuthEnvironmentVariableName, AuthEnvironmentVariableNameSchema, AuthFieldId, AuthFieldIdSchema, AuthMethodRef, AuthMethodRefSchema, ClientAuthMethodDefinition, ClientAuthMethodDefinitionSchema, ClientAuthMethodRef, ClientAuthMethodRefSchema, ClientAuthMethodsSchema, ClientDefaultAuth, ClientDefaultAuthSchema, ConnectorAdapterAuthDelivery, ConnectorAdapterAuthDeliverySchema, ExplicitAuthMethodDefinition, ExplicitAuthMethodDefinitionSchema, InferredAuthMethodDefinition, InferredAuthMethodDefinitionSchema, NativeAccountSelection, NativeAccountSelectionSchema, NativeClientAdapterAuthDelivery, NativeClientAdapterAuthDeliverySchema, NoAdapterAuthDelivery, NoAdapterAuthDeliverySchema, NoAuthMethodDefinition, NoAuthMethodDefinitionSchema, ProcessEnvAdapterAuthDelivery, ProcessEnvAdapterAuthDeliverySchema, ProviderAuthMethodDefinition, ProviderAuthMethodDefinitionSchema, ProviderAuthMethodRef, ProviderAuthMethodRefSchema, ProviderAuthMethodsSchema, ProviderConfigAuth, ProviderConfigAuthSchema, ProviderConfigManager, ProviderConfigManagerSchema, ResolvedProviderAuth, ResolvedProviderAuthSchema, assertAdapterAuthBindingMatchesMethod, defineAdapterProviderAuth };
@@ -1,2 +1,2 @@
1
- import { C as QualifiedModelRef, D as VirtualModelRef, E as ResolvableCanonicalModelSchema, O as VirtualModelRefSchema, S as ParsedCanonicalModelSchema, T as ResolvableCanonicalModel, _ as CanonicalModelParseErrorCodeSchema, a as CanonicalModelSchemas, b as CanonicalModelParseResultSchema, c as SEGMENT_RE, d as parseCanonicalModel, f as BareModelRef, g as CanonicalModelParseErrorCode, h as CanonicalModelParseError, i as CanonicalModelResolvedSelectionSchema, l as VIRTUAL_NAME_RE, m as CANONICAL_MODEL_PARSE_ERROR_CODES, n as CanonicalModelSubjects, o as CanonicalModelSelection, p as BareModelRefSchema, r as CanonicalModelResolvedSelection, s as CanonicalModelSelectionSchema, t as CanonicalModelNamespace, u as isCanonicalModelParseError, v as CanonicalModelParseErrorSchema, w as QualifiedModelRefSchema, x as ParsedCanonicalModel, y as CanonicalModelParseResult } from "../../index-DKCFz7dL.mjs";
1
+ import { C as QualifiedModelRef, D as VirtualModelRef, E as ResolvableCanonicalModelSchema, O as VirtualModelRefSchema, S as ParsedCanonicalModelSchema, T as ResolvableCanonicalModel, _ as CanonicalModelParseErrorCodeSchema, a as CanonicalModelSchemas, b as CanonicalModelParseResultSchema, c as SEGMENT_RE, d as parseCanonicalModel, f as BareModelRef, g as CanonicalModelParseErrorCode, h as CanonicalModelParseError, i as CanonicalModelResolvedSelectionSchema, l as VIRTUAL_NAME_RE, m as CANONICAL_MODEL_PARSE_ERROR_CODES, n as CanonicalModelSubjects, o as CanonicalModelSelection, p as BareModelRefSchema, r as CanonicalModelResolvedSelection, s as CanonicalModelSelectionSchema, t as CanonicalModelNamespace, u as isCanonicalModelParseError, v as CanonicalModelParseErrorSchema, w as QualifiedModelRefSchema, x as ParsedCanonicalModel, y as CanonicalModelParseResult } from "../../index-Chy9aknK.mjs";
2
2
  export { BareModelRef, BareModelRefSchema, CANONICAL_MODEL_PARSE_ERROR_CODES, CanonicalModelNamespace, CanonicalModelParseError, CanonicalModelParseErrorCode, CanonicalModelParseErrorCodeSchema, CanonicalModelParseErrorSchema, CanonicalModelParseResult, CanonicalModelParseResultSchema, CanonicalModelResolvedSelection, CanonicalModelResolvedSelectionSchema, CanonicalModelSchemas, CanonicalModelSelection, CanonicalModelSelectionSchema, CanonicalModelSubjects, ParsedCanonicalModel, ParsedCanonicalModelSchema, QualifiedModelRef, QualifiedModelRefSchema, ResolvableCanonicalModel, ResolvableCanonicalModelSchema, SEGMENT_RE, VIRTUAL_NAME_RE, VirtualModelRef, VirtualModelRefSchema, isCanonicalModelParseError, parseCanonicalModel };
@@ -1 +1 @@
1
- import{n as e}from"../../compression-CZ_6fYq8.mjs";import{_ as t,b as n,c as r,d as i,f as a,g as o,h as s,i as c,l,m as u,n as d,p as f,r as p,t as m,u as h,v as g,y as _}from"../../canonical-model-C31NaBJs.mjs";export{a as BareModelRefSchema,f as CANONICAL_MODEL_PARSE_ERROR_CODES,m as CanonicalModelNamespace,u as CanonicalModelParseErrorCodeSchema,s as CanonicalModelParseErrorSchema,o as CanonicalModelParseResultSchema,p as CanonicalModelResolvedSelectionSchema,c as CanonicalModelSchemas,e as CanonicalModelSelectionSchema,d as CanonicalModelSubjects,t as ParsedCanonicalModelSchema,g as QualifiedModelRefSchema,_ as ResolvableCanonicalModelSchema,r as SEGMENT_RE,l as VIRTUAL_NAME_RE,n as VirtualModelRefSchema,h as isCanonicalModelParseError,i as parseCanonicalModel};
1
+ import{n as e}from"../../compression-CZ_6fYq8.mjs";import{_ as t,b as n,c as r,d as i,f as a,g as o,h as s,i as c,l,m as u,n as d,p as f,r as p,t as m,u as h,v as g,y as _}from"../../canonical-model-EMRYCVjX.mjs";export{a as BareModelRefSchema,f as CANONICAL_MODEL_PARSE_ERROR_CODES,m as CanonicalModelNamespace,u as CanonicalModelParseErrorCodeSchema,s as CanonicalModelParseErrorSchema,o as CanonicalModelParseResultSchema,p as CanonicalModelResolvedSelectionSchema,c as CanonicalModelSchemas,e as CanonicalModelSelectionSchema,d as CanonicalModelSubjects,t as ParsedCanonicalModelSchema,g as QualifiedModelRefSchema,_ as ResolvableCanonicalModelSchema,r as SEGMENT_RE,l as VIRTUAL_NAME_RE,n as VirtualModelRefSchema,h as isCanonicalModelParseError,i as parseCanonicalModel};
@@ -1,3 +1,3 @@
1
- import { C as PostInstallDescriptorSchema, D as VersionCommandSchema, E as VersionCommand, S as PostInstallDescriptor, T as SignedBinaryBucketInstallDescriptorSchema, _ as LogSourceDefinitionSchema, a as ClientDefinitionSchema, b as NpmInstallDescriptor, c as ClientRuntimeCapabilities, d as ClientToolCapabilityAnnotationSchema, f as ClientToolDefinition, g as LogSourceDefinition, h as ConfigIsolationSchema, i as ClientDefinitionInput, l as ClientRuntimeCapabilitiesSchema, m as ConfigIsolation, n as ClientBinaryCompatibilitySchema, o as ClientHookEventDeclaration, p as ClientToolDefinitionSchema, r as ClientDefinition, s as ClientHookEventDeclarationSchema, t as ClientBinaryCompatibility, u as ClientToolCapabilityAnnotation, v as ManagedInstallDescriptor, w as SignedBinaryBucketInstallDescriptor, x as NpmInstallDescriptorSchema, y as ManagedInstallDescriptorSchema } from "../../definition-ClKlXenJ.mjs";
2
- import { $ as ClientSessionToolPre, $t as ManagedInstallStrategySchema, A as SessionConfigInheritance, An as ClientUsageWindows, At as ClientInstallResponse, B as SessionConfigTeardownResponseSchema, Bt as ClientUninstallSchema, C as SessionConfigCleanupRequest, Cn as ClientUsageIngestRequest, Ct as ClientBinaryListEntry, D as SessionConfigDestroyRequest, Dn as ClientUsageSnapshotSchema, Dt as ClientInstallProgress, E as SessionConfigCreateResponse, En as ClientUsageSnapshot, Et as ClientInstallCompletedSchema, F as SessionConfigSetupResponse, Fn as ClientResolveBinaryRequest, Ft as ClientSetActiveRequest, G as ClientSessionObservedBase, Gt as ClientVersionChangedSchema, H as ClientNamespace, Ht as ClientUpdateResponse, I as SessionConfigSetupResponseSchema, In as ClientResolveBinaryResponse, It as ClientSetActiveResponse, J as ClientSessionStartModeSchema, Jt as InstallStage, K as ClientSessionObservedBaseSchema, Kt as InstallError, L as SessionConfigTeardownRequest, Ln as ClientResolveBinarySchema, Lt as ClientSetActiveSchema, M as SessionConfigLeaseIdSchema, Mn as ClientSchemas, Mt as ClientListRequest, N as SessionConfigSetupRequest, Nn as ClientExecutionContext, Nt as ClientListResponse, O as SessionConfigDestroyResponse, On as ClientUsageWindow, Ot as ClientInstallProgressSchema, P as SessionConfigSetupRequestSchema, Pn as ClientExecutionContextSchema, Pt as ClientListSchema, Q as ClientSessionToolPostSchema, Qt as ManagedInstallStrategy, R as SessionConfigTeardownRequestSchema, Rt as ClientUninstallRequest, S as ProfileUpdateResponse, Sn as ClientSessionLocatorSchema, St as ClientRuntimeStartedSchema, T as SessionConfigCreateRequest, Tn as ClientUsageIngestSchema, Tt as ClientInstallCompleted, U as ClientSubjects, Ut as ClientUpdateSchema, V as createClientDefinition, Vt as ClientUpdateRequest, W as CLIENT_SESSION_START_MODES, Wt as ClientVersionChanged, X as ClientSessionStartedSchema, Xt as InstalledVersionEntry, Y as ClientSessionStarted, Yt as InstallStageSchema, Z as ClientSessionToolPost, Zt as InstalledVersionEntrySchema, _ as ProfileListRequest, _n as ClientScanTargetSchema, _t as ClientRuntimeSource, a as ClientConfigPrimeSchema, an as ClientAccountIdentifierSchema, at as ClientSessionUserPromptSubmitted, b as ProfileSetDefaultResponse, bn as ClientSessionAccountObserveSchema, bt as ClientRuntimeSourceSchema, c as ClientProfileSchema, cn as ClientAccountObserveSchema, ct as ClientWiringEntrySchema, d as ProfileCreateRequest, dn as ClientIdentityObservation, dt as ClientRuntimeIsAdapterManagedRequest, en as ClientSessionUsageCostProvenance, et as ClientSessionToolPreSchema, f as ProfileCreateResponse, fn as ClientIdentityObservationSchema, ft as ClientRuntimeIsAdapterManagedResponse, g as ProfileGetResponse, gn as ClientScanTarget, gt as ClientRuntimeObserveSchema, h as ProfileGetRequest, hn as ClientScanResultSchema, ht as ClientRuntimeObserveResponse, i as ClientConfigPrimeResponse, in as ClientAccountIdentifier, it as ClientSessionTurnStartedSchema, j as SessionConfigInheritanceSchema, jn as ClientUsageWindowsSchema, jt as ClientInstallSchema, k as SessionConfigEnvSchema, kn as ClientUsageWindowSchema, kt as ClientInstallRequest, l as ClientProfileSchemas, ln as ClientIdentifierStrength, lt as ClientRuntimeEvidenceBase, m as ProfileDeleteResponse, mn as ClientScanResult, mt as ClientRuntimeObserveRequest, n as ClientConfigPrimePhaseSchema, nn as ClientSessionUsageSnapshot, nt as ClientSessionTurnCompletedSchema, o as ClientProfile, on as ClientAccountObserveRequest, ot as ClientSessionUserPromptSubmittedSchema, p as ProfileDeleteRequest, pn as ClientMetadataSchema, pt as ClientRuntimeIsAdapterManagedSchema, q as ClientSessionStartMode, qt as InstallErrorSchema, r as ClientConfigPrimeRequest, rn as ClientSessionUsageSnapshotSchema, rt as ClientSessionTurnStarted, s as ClientProfileNameSchema, sn as ClientAccountObserveResponse, st as ClientWiringEntry, t as ClientConfigPrimePhase, tn as ClientSessionUsageCostProvenanceSchema, tt as ClientSessionTurnCompleted, u as ClientSessionConfigSchemas, un as ClientIdentifierStrengthSchema, ut as ClientRuntimeEvidenceBaseSchema, v as ProfileListResponse, vn as ClientSessionAccountObserveRequest, vt as ClientRuntimeSourceLayer, w as SessionConfigCleanupResponse, wn as ClientUsageIngestResponse, wt as ClientBinaryListEntrySchema, x as ProfileUpdateRequest, xn as ClientSessionLocator, xt as ClientRuntimeStarted, y as ProfileSetDefaultRequest, yn as ClientSessionAccountObserveResponse, yt as ClientRuntimeSourceLayerSchema, z as SessionConfigTeardownResponse, zt as ClientUninstallResponse } from "../../index-BPBSMsc8.mjs";
3
- export { CLIENT_SESSION_START_MODES, ClientAccountIdentifier, ClientAccountIdentifierSchema, ClientAccountObserveRequest, ClientAccountObserveResponse, ClientAccountObserveSchema, ClientBinaryCompatibility, ClientBinaryCompatibilitySchema, ClientBinaryListEntry, ClientBinaryListEntrySchema, ClientConfigPrimePhase, ClientConfigPrimePhaseSchema, ClientConfigPrimeRequest, ClientConfigPrimeResponse, ClientConfigPrimeSchema, ClientDefinition, ClientDefinitionInput, ClientDefinitionSchema, ClientExecutionContext, ClientExecutionContextSchema, ClientHookEventDeclaration, ClientHookEventDeclarationSchema, ClientIdentifierStrength, ClientIdentifierStrengthSchema, ClientIdentityObservation, ClientIdentityObservationSchema, ClientInstallCompleted, ClientInstallCompletedSchema, ClientInstallProgress, ClientInstallProgressSchema, ClientInstallRequest, ClientInstallResponse, ClientInstallSchema, ClientListRequest, ClientListResponse, ClientListSchema, ClientMetadataSchema, ClientNamespace, ClientProfile, ClientProfileNameSchema, ClientProfileSchema, ClientProfileSchemas, ClientResolveBinaryRequest, ClientResolveBinaryResponse, ClientResolveBinarySchema, ClientRuntimeCapabilities, ClientRuntimeCapabilitiesSchema, ClientRuntimeEvidenceBase, ClientRuntimeEvidenceBaseSchema, ClientRuntimeIsAdapterManagedRequest, ClientRuntimeIsAdapterManagedResponse, ClientRuntimeIsAdapterManagedSchema, ClientRuntimeObserveRequest, ClientRuntimeObserveResponse, ClientRuntimeObserveSchema, ClientRuntimeSource, ClientRuntimeSourceLayer, ClientRuntimeSourceLayerSchema, ClientRuntimeSourceSchema, ClientRuntimeStarted, ClientRuntimeStartedSchema, ClientScanResult, ClientScanResultSchema, ClientScanTarget, ClientScanTargetSchema, ClientSchemas, ClientSessionAccountObserveRequest, ClientSessionAccountObserveResponse, ClientSessionAccountObserveSchema, ClientSessionConfigSchemas, ClientSessionLocator, ClientSessionLocatorSchema, ClientSessionObservedBase, ClientSessionObservedBaseSchema, ClientSessionStartMode, ClientSessionStartModeSchema, ClientSessionStarted, ClientSessionStartedSchema, ClientSessionToolPost, ClientSessionToolPostSchema, ClientSessionToolPre, ClientSessionToolPreSchema, ClientSessionTurnCompleted, ClientSessionTurnCompletedSchema, ClientSessionTurnStarted, ClientSessionTurnStartedSchema, ClientSessionUsageCostProvenance, ClientSessionUsageCostProvenanceSchema, ClientSessionUsageSnapshot, ClientSessionUsageSnapshotSchema, ClientSessionUserPromptSubmitted, ClientSessionUserPromptSubmittedSchema, ClientSetActiveRequest, ClientSetActiveResponse, ClientSetActiveSchema, ClientSubjects, ClientToolCapabilityAnnotation, ClientToolCapabilityAnnotationSchema, ClientToolDefinition, ClientToolDefinitionSchema, ClientUninstallRequest, ClientUninstallResponse, ClientUninstallSchema, ClientUpdateRequest, ClientUpdateResponse, ClientUpdateSchema, ClientUsageIngestRequest, ClientUsageIngestResponse, ClientUsageIngestSchema, ClientUsageSnapshot, ClientUsageSnapshotSchema, ClientUsageWindow, ClientUsageWindowSchema, ClientUsageWindows, ClientUsageWindowsSchema, ClientVersionChanged, ClientVersionChangedSchema, ClientWiringEntry, ClientWiringEntrySchema, ConfigIsolation, ConfigIsolationSchema, InstallError, InstallErrorSchema, InstallStage, InstallStageSchema, InstalledVersionEntry, InstalledVersionEntrySchema, LogSourceDefinition, LogSourceDefinitionSchema, ManagedInstallDescriptor, ManagedInstallDescriptorSchema, ManagedInstallStrategy, ManagedInstallStrategySchema, NpmInstallDescriptor, NpmInstallDescriptorSchema, PostInstallDescriptor, PostInstallDescriptorSchema, ProfileCreateRequest, ProfileCreateResponse, ProfileDeleteRequest, ProfileDeleteResponse, ProfileGetRequest, ProfileGetResponse, ProfileListRequest, ProfileListResponse, ProfileSetDefaultRequest, ProfileSetDefaultResponse, ProfileUpdateRequest, ProfileUpdateResponse, SessionConfigCleanupRequest, SessionConfigCleanupResponse, SessionConfigCreateRequest, SessionConfigCreateResponse, SessionConfigDestroyRequest, SessionConfigDestroyResponse, SessionConfigEnvSchema, SessionConfigInheritance, SessionConfigInheritanceSchema, SessionConfigLeaseIdSchema, SessionConfigSetupRequest, SessionConfigSetupRequestSchema, SessionConfigSetupResponse, SessionConfigSetupResponseSchema, SessionConfigTeardownRequest, SessionConfigTeardownRequestSchema, SessionConfigTeardownResponse, SessionConfigTeardownResponseSchema, SignedBinaryBucketInstallDescriptor, SignedBinaryBucketInstallDescriptorSchema, VersionCommand, VersionCommandSchema, createClientDefinition };
1
+ import { A as ClientHookEventDeclarationSchema, B as LogSourceDefinitionSchema, C as validateClosedPolicy, D as ClientDefinitionInput, E as ClientDefinition, F as ClientToolDefinition, G as PostInstallDescriptor, H as ManagedInstallDescriptorSchema, I as ClientToolDefinitionSchema, J as SignedBinaryBucketInstallDescriptorSchema, K as PostInstallDescriptorSchema, L as ConfigIsolation, M as ClientRuntimeCapabilitiesSchema, N as ClientToolCapabilityAnnotation, O as ClientDefinitionSchema, P as ClientToolCapabilityAnnotationSchema, R as ConfigIsolationSchema, S as isValidTimeoutMs, T as ClientBinaryCompatibilitySchema, U as NpmInstallDescriptor, V as ManagedInstallDescriptor, W as NpmInstallDescriptorSchema, X as VersionCommandSchema, Y as VersionCommand, Z as deriveHookEventTransportMode, _ as ProviderContributionEnvelope, a as CapabilitySelector, b as createAppendEffect, c as ContributorDefinition, d as EventNameSelector, f as ExtensionClientHookResponsesContribution, g as ProviderContractCatalogEntry, h as InteractionSelector, i as CanonicalEffect, j as ClientRuntimeCapabilities, k as ClientHookEventDeclaration, l as ContributorResponse, m as InteractionBlockability, n as ActivationValidationError, o as ContributorActivationContext, p as FailurePolicy, q as SignedBinaryBucketInstallDescriptor, r as CanonicalAppendEffect, s as ContributorCallbackContext, t as ActivationErrorCode, u as DEFAULT_FAILURE_POLICY, v as RuntimeOutcome, w as ClientBinaryCompatibility, x as isValidContributorId, y as RuntimeOutcomeCode, z as LogSourceDefinition } from "../../hook-responses-mmqRa2Dq.mjs";
2
+ import { $ as ClientSessionToolPre, $t as ManagedInstallStrategySchema, A as SessionConfigInheritance, An as ClientUsageWindows, At as ClientInstallResponse, B as SessionConfigTeardownResponseSchema, Bt as ClientUninstallSchema, C as SessionConfigCleanupRequest, Cn as ClientUsageIngestRequest, Ct as ClientBinaryListEntry, D as SessionConfigDestroyRequest, Dn as ClientUsageSnapshotSchema, Dt as ClientInstallProgress, E as SessionConfigCreateResponse, En as ClientUsageSnapshot, Et as ClientInstallCompletedSchema, F as SessionConfigSetupResponse, Fn as ClientResolveBinaryRequest, Ft as ClientSetActiveRequest, G as ClientSessionObservedBase, Gt as ClientVersionChangedSchema, H as ClientNamespace, Ht as ClientUpdateResponse, I as SessionConfigSetupResponseSchema, In as ClientResolveBinaryResponse, It as ClientSetActiveResponse, J as ClientSessionStartModeSchema, Jt as InstallStage, K as ClientSessionObservedBaseSchema, Kt as InstallError, L as SessionConfigTeardownRequest, Ln as ClientResolveBinarySchema, Lt as ClientSetActiveSchema, M as SessionConfigLeaseIdSchema, Mn as ClientSchemas, Mt as ClientListRequest, N as SessionConfigSetupRequest, Nn as ClientExecutionContext, Nt as ClientListResponse, O as SessionConfigDestroyResponse, On as ClientUsageWindow, Ot as ClientInstallProgressSchema, P as SessionConfigSetupRequestSchema, Pn as ClientExecutionContextSchema, Pt as ClientListSchema, Q as ClientSessionToolPostSchema, Qt as ManagedInstallStrategy, R as SessionConfigTeardownRequestSchema, Rt as ClientUninstallRequest, S as ProfileUpdateResponse, Sn as ClientSessionLocatorSchema, St as ClientRuntimeStartedSchema, T as SessionConfigCreateRequest, Tn as ClientUsageIngestSchema, Tt as ClientInstallCompleted, U as ClientSubjects, Ut as ClientUpdateSchema, V as createClientDefinition, Vt as ClientUpdateRequest, W as CLIENT_SESSION_START_MODES, Wt as ClientVersionChanged, X as ClientSessionStartedSchema, Xt as InstalledVersionEntry, Y as ClientSessionStarted, Yt as InstallStageSchema, Z as ClientSessionToolPost, Zt as InstalledVersionEntrySchema, _ as ProfileListRequest, _n as ClientScanTargetSchema, _t as ClientRuntimeSource, a as ClientConfigPrimeSchema, an as ClientAccountIdentifierSchema, at as ClientSessionUserPromptSubmitted, b as ProfileSetDefaultResponse, bn as ClientSessionAccountObserveSchema, bt as ClientRuntimeSourceSchema, c as ClientProfileSchema, cn as ClientAccountObserveSchema, ct as ClientWiringEntrySchema, d as ProfileCreateRequest, dn as ClientIdentityObservation, dt as ClientRuntimeIsAdapterManagedRequest, en as ClientSessionUsageCostProvenance, et as ClientSessionToolPreSchema, f as ProfileCreateResponse, fn as ClientIdentityObservationSchema, ft as ClientRuntimeIsAdapterManagedResponse, g as ProfileGetResponse, gn as ClientScanTarget, gt as ClientRuntimeObserveSchema, h as ProfileGetRequest, hn as ClientScanResultSchema, ht as ClientRuntimeObserveResponse, i as ClientConfigPrimeResponse, in as ClientAccountIdentifier, it as ClientSessionTurnStartedSchema, j as SessionConfigInheritanceSchema, jn as ClientUsageWindowsSchema, jt as ClientInstallSchema, k as SessionConfigEnvSchema, kn as ClientUsageWindowSchema, kt as ClientInstallRequest, l as ClientProfileSchemas, ln as ClientIdentifierStrength, lt as ClientRuntimeEvidenceBase, m as ProfileDeleteResponse, mn as ClientScanResult, mt as ClientRuntimeObserveRequest, n as ClientConfigPrimePhaseSchema, nn as ClientSessionUsageSnapshot, nt as ClientSessionTurnCompletedSchema, o as ClientProfile, on as ClientAccountObserveRequest, ot as ClientSessionUserPromptSubmittedSchema, p as ProfileDeleteRequest, pn as ClientMetadataSchema, pt as ClientRuntimeIsAdapterManagedSchema, q as ClientSessionStartMode, qt as InstallErrorSchema, r as ClientConfigPrimeRequest, rn as ClientSessionUsageSnapshotSchema, rt as ClientSessionTurnStarted, s as ClientProfileNameSchema, sn as ClientAccountObserveResponse, st as ClientWiringEntry, t as ClientConfigPrimePhase, tn as ClientSessionUsageCostProvenanceSchema, tt as ClientSessionTurnCompleted, u as ClientSessionConfigSchemas, un as ClientIdentifierStrengthSchema, ut as ClientRuntimeEvidenceBaseSchema, v as ProfileListResponse, vn as ClientSessionAccountObserveRequest, vt as ClientRuntimeSourceLayer, w as SessionConfigCleanupResponse, wn as ClientUsageIngestResponse, wt as ClientBinaryListEntrySchema, x as ProfileUpdateRequest, xn as ClientSessionLocator, xt as ClientRuntimeStarted, y as ProfileSetDefaultRequest, yn as ClientSessionAccountObserveResponse, yt as ClientRuntimeSourceLayerSchema, z as SessionConfigTeardownResponse, zt as ClientUninstallResponse } from "../../index-BWvTZJxe.mjs";
3
+ export { ActivationErrorCode, ActivationValidationError, CLIENT_SESSION_START_MODES, CanonicalAppendEffect, CanonicalEffect, CapabilitySelector, ClientAccountIdentifier, ClientAccountIdentifierSchema, ClientAccountObserveRequest, ClientAccountObserveResponse, ClientAccountObserveSchema, ClientBinaryCompatibility, ClientBinaryCompatibilitySchema, ClientBinaryListEntry, ClientBinaryListEntrySchema, ClientConfigPrimePhase, ClientConfigPrimePhaseSchema, ClientConfigPrimeRequest, ClientConfigPrimeResponse, ClientConfigPrimeSchema, ClientDefinition, ClientDefinitionInput, ClientDefinitionSchema, ClientExecutionContext, ClientExecutionContextSchema, ClientHookEventDeclaration, ClientHookEventDeclarationSchema, ClientIdentifierStrength, ClientIdentifierStrengthSchema, ClientIdentityObservation, ClientIdentityObservationSchema, ClientInstallCompleted, ClientInstallCompletedSchema, ClientInstallProgress, ClientInstallProgressSchema, ClientInstallRequest, ClientInstallResponse, ClientInstallSchema, ClientListRequest, ClientListResponse, ClientListSchema, ClientMetadataSchema, ClientNamespace, ClientProfile, ClientProfileNameSchema, ClientProfileSchema, ClientProfileSchemas, ClientResolveBinaryRequest, ClientResolveBinaryResponse, ClientResolveBinarySchema, ClientRuntimeCapabilities, ClientRuntimeCapabilitiesSchema, ClientRuntimeEvidenceBase, ClientRuntimeEvidenceBaseSchema, ClientRuntimeIsAdapterManagedRequest, ClientRuntimeIsAdapterManagedResponse, ClientRuntimeIsAdapterManagedSchema, ClientRuntimeObserveRequest, ClientRuntimeObserveResponse, ClientRuntimeObserveSchema, ClientRuntimeSource, ClientRuntimeSourceLayer, ClientRuntimeSourceLayerSchema, ClientRuntimeSourceSchema, ClientRuntimeStarted, ClientRuntimeStartedSchema, ClientScanResult, ClientScanResultSchema, ClientScanTarget, ClientScanTargetSchema, ClientSchemas, ClientSessionAccountObserveRequest, ClientSessionAccountObserveResponse, ClientSessionAccountObserveSchema, ClientSessionConfigSchemas, ClientSessionLocator, ClientSessionLocatorSchema, ClientSessionObservedBase, ClientSessionObservedBaseSchema, ClientSessionStartMode, ClientSessionStartModeSchema, ClientSessionStarted, ClientSessionStartedSchema, ClientSessionToolPost, ClientSessionToolPostSchema, ClientSessionToolPre, ClientSessionToolPreSchema, ClientSessionTurnCompleted, ClientSessionTurnCompletedSchema, ClientSessionTurnStarted, ClientSessionTurnStartedSchema, ClientSessionUsageCostProvenance, ClientSessionUsageCostProvenanceSchema, ClientSessionUsageSnapshot, ClientSessionUsageSnapshotSchema, ClientSessionUserPromptSubmitted, ClientSessionUserPromptSubmittedSchema, ClientSetActiveRequest, ClientSetActiveResponse, ClientSetActiveSchema, ClientSubjects, ClientToolCapabilityAnnotation, ClientToolCapabilityAnnotationSchema, ClientToolDefinition, ClientToolDefinitionSchema, ClientUninstallRequest, ClientUninstallResponse, ClientUninstallSchema, ClientUpdateRequest, ClientUpdateResponse, ClientUpdateSchema, ClientUsageIngestRequest, ClientUsageIngestResponse, ClientUsageIngestSchema, ClientUsageSnapshot, ClientUsageSnapshotSchema, ClientUsageWindow, ClientUsageWindowSchema, ClientUsageWindows, ClientUsageWindowsSchema, ClientVersionChanged, ClientVersionChangedSchema, ClientWiringEntry, ClientWiringEntrySchema, ConfigIsolation, ConfigIsolationSchema, ContributorActivationContext, ContributorCallbackContext, ContributorDefinition, ContributorResponse, DEFAULT_FAILURE_POLICY, EventNameSelector, ExtensionClientHookResponsesContribution, FailurePolicy, InstallError, InstallErrorSchema, InstallStage, InstallStageSchema, InstalledVersionEntry, InstalledVersionEntrySchema, InteractionBlockability, InteractionSelector, LogSourceDefinition, LogSourceDefinitionSchema, ManagedInstallDescriptor, ManagedInstallDescriptorSchema, ManagedInstallStrategy, ManagedInstallStrategySchema, NpmInstallDescriptor, NpmInstallDescriptorSchema, PostInstallDescriptor, PostInstallDescriptorSchema, ProfileCreateRequest, ProfileCreateResponse, ProfileDeleteRequest, ProfileDeleteResponse, ProfileGetRequest, ProfileGetResponse, ProfileListRequest, ProfileListResponse, ProfileSetDefaultRequest, ProfileSetDefaultResponse, ProfileUpdateRequest, ProfileUpdateResponse, ProviderContractCatalogEntry, ProviderContributionEnvelope, RuntimeOutcome, RuntimeOutcomeCode, SessionConfigCleanupRequest, SessionConfigCleanupResponse, SessionConfigCreateRequest, SessionConfigCreateResponse, SessionConfigDestroyRequest, SessionConfigDestroyResponse, SessionConfigEnvSchema, SessionConfigInheritance, SessionConfigInheritanceSchema, SessionConfigLeaseIdSchema, SessionConfigSetupRequest, SessionConfigSetupRequestSchema, SessionConfigSetupResponse, SessionConfigSetupResponseSchema, SessionConfigTeardownRequest, SessionConfigTeardownRequestSchema, SessionConfigTeardownResponse, SessionConfigTeardownResponseSchema, SignedBinaryBucketInstallDescriptor, SignedBinaryBucketInstallDescriptorSchema, VersionCommand, VersionCommandSchema, createAppendEffect, createClientDefinition, deriveHookEventTransportMode, isValidContributorId, isValidTimeoutMs, validateClosedPolicy };