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

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 (288) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/adapter-subsystem/index.mjs +1 -1
  3. package/dist/adapters/config/index.d.mts +1 -1
  4. package/dist/adapters/index.d.mts +2 -2
  5. package/dist/adapters/node.d.mts +1 -1
  6. package/dist/bus/index.d.mts +27 -2
  7. package/dist/bus/index.mjs +1 -1
  8. package/dist/{bus-CX0d5tTa.mjs → bus-D4DBDaoS.mjs} +1 -1
  9. package/dist/clients/index.d.mts +2 -1
  10. package/dist/clients/index.mjs +1 -1
  11. package/dist/clients/managed-install.d.mts +1 -1
  12. package/dist/code-execution/worker-entry.d.mts +1 -1
  13. package/dist/contracts/adapter/index.d.mts +2 -2
  14. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  15. package/dist/contracts/artifact/index.d.mts +2 -2
  16. package/dist/contracts/auth/index.d.mts +2 -2
  17. package/dist/contracts/automation-trigger/index.d.mts +3 -3
  18. package/dist/contracts/canonical-model/index.d.mts +1 -1
  19. package/dist/contracts/capabilities/index.d.mts +1 -1
  20. package/dist/contracts/client/index.d.mts +2 -2
  21. package/dist/contracts/code-execution/index.d.mts +1 -1
  22. package/dist/contracts/common/index.d.mts +1 -1
  23. package/dist/contracts/config/index.d.mts +2 -2
  24. package/dist/contracts/extension/index.d.mts +5 -5
  25. package/dist/contracts/facet/index.d.mts +1 -1
  26. package/dist/contracts/harness/index.d.mts +1 -1
  27. package/dist/contracts/host/index.d.mts +1 -1
  28. package/dist/contracts/index.d.mts +47 -47
  29. package/dist/contracts/index.mjs +1 -1
  30. package/dist/contracts/materialization/index.d.mts +2 -2
  31. package/dist/contracts/model-registry/index.d.mts +1 -1
  32. package/dist/contracts/native-session-supervisor/index.d.mts +2 -2
  33. package/dist/contracts/native-session-supervisor/index.mjs +1 -1
  34. package/dist/contracts/platform/index.d.mts +1 -1
  35. package/dist/contracts/provider/index.d.mts +2 -2
  36. package/dist/contracts/reaction/index.d.mts +1 -1
  37. package/dist/contracts/session/index.d.mts +2 -2
  38. package/dist/contracts/shared/index.d.mts +2 -2
  39. package/dist/contracts/skill/index.d.mts +1 -1
  40. package/dist/contracts/telemetry/index.d.mts +1 -1
  41. package/dist/contracts/timeout/index.d.mts +1 -1
  42. package/dist/contracts/variant/index.d.mts +1 -1
  43. package/dist/contracts/worker/index.d.mts +2 -2
  44. package/dist/contracts/workflow/index.d.mts +2 -2
  45. package/dist/{contribution-1GL7Rjaq.d.mts → contribution-kpR61mnG.d.mts} +2 -2
  46. package/dist/{definition-DeIGoROj.d.mts → definition-DWhjp0db.d.mts} +1 -1
  47. package/dist/{detached-extension-handle-W5_yfCyE.mjs → detached-extension-handle-QrXVNUR2.mjs} +1 -1
  48. package/dist/{extension-context-pQ7Uio_s.d.mts → extension-context-CmhBCbbq.d.mts} +4 -4
  49. package/dist/filesystem-service-CIaAqTRi.mjs +1 -0
  50. package/dist/{framework-packages-U4Xhouxe.mjs → framework-packages-C2tvdFmP.mjs} +1 -1
  51. package/dist/{hook-responses-B882RcQc.d.mts → hook-responses-C3nUIm-6.d.mts} +1 -1
  52. package/dist/{index-6bsTWnnc.d.mts → index-04uTOEVU.d.mts} +39 -39
  53. package/dist/{index-FyY9jdCQ2.d.mts → index-8HtSFrzb.d.mts} +16 -16
  54. package/dist/{index-UjNxC0VC2.d.mts → index-9O8N514B2.d.mts} +4 -4
  55. package/dist/{index-DQU8ZoJr.d.mts → index-BM53WQaQ.d.mts} +1 -1
  56. package/dist/{index-ConhyAnB.d.mts → index-BTLbhl35.d.mts} +21 -21
  57. package/dist/{index-Di-R1gmo.d.mts → index-BYwt4CNf.d.mts} +80 -80
  58. package/dist/{index-L6mssyeZ.d.mts → index-BfFi98B_.d.mts} +1 -1
  59. package/dist/{index-CESqYf8a.d.mts → index-C0Jfr8UK.d.mts} +2 -2
  60. package/dist/{index-DqliLe_D2.d.mts → index-C9Dz8UoK2.d.mts} +242 -7
  61. package/dist/{index-BtMWM80d.d.mts → index-CFMaXW-s.d.mts} +36 -36
  62. package/dist/{index-DUYjTfHD.d.mts → index-CLwnkYRD.d.mts} +1 -1
  63. package/dist/{index-aIJ7A4DC2.d.mts → index-CRjWqvy02.d.mts} +4 -4
  64. package/dist/{index-C8two8wz.d.mts → index-CdkIg4Gu.d.mts} +1 -1
  65. package/dist/{index-DfREUyAk.d.mts → index-CkE9MwNX.d.mts} +1 -1
  66. package/dist/{index-DJVQG6Nn.d.mts → index-CpGWwlRN.d.mts} +14 -14
  67. package/dist/{index-BDcK7jqJ2.d.mts → index-Csua5M_M2.d.mts} +8 -8
  68. package/dist/{index-DJxg7U2X.d.mts → index-D5BLD2Pw.d.mts} +7 -3
  69. package/dist/{index-B2bxgKiK.d.mts → index-D9BLsMs8.d.mts} +1 -1
  70. package/dist/{index-DdJKsdya.d.mts → index-D9hIDsPr.d.mts} +1 -1
  71. package/dist/{index-D6Uq1btG.d.mts → index-DDCixELI.d.mts} +1 -1
  72. package/dist/{index-m5ZQFglW2.d.mts → index-DVo_rb2w2.d.mts} +12 -12
  73. package/dist/{index-DpLjyQ-Z.d.mts → index-J6C4thLY.d.mts} +3 -3
  74. package/dist/{index-D2TphOHU2.d.mts → index-LCumcYK12.d.mts} +3 -3
  75. package/dist/{index-anIxF_eT.d.mts → index-aAo9ugCm.d.mts} +4 -4
  76. package/dist/{index-Jdju2W3y.d.mts → index-t6LnywuE.d.mts} +1 -1
  77. package/dist/{index-zqo2mX_Z.d.mts → index-ul45YFff.d.mts} +6 -6
  78. package/dist/{index-CmCLAMNs.d.mts → index-xad0YUyF.d.mts} +1 -1
  79. package/dist/kernel/cli/index.d.mts +2 -2
  80. package/dist/kernel/cli/register.d.mts +1 -1
  81. package/dist/kernel/extension/index.d.mts +2 -2
  82. package/dist/kernel/index.d.mts +5 -5
  83. package/dist/kernel/namespace/index.d.mts +1 -1
  84. package/dist/kernel/observability/index.d.mts +1 -1
  85. package/dist/kernel/providers/index.d.mts +1 -1
  86. package/dist/kernel/window/index.d.mts +1 -1
  87. package/dist/{load-extensions-Be_lOjm_.d.mts → load-extensions-CCzTHlUE.d.mts} +1 -1
  88. package/dist/{load-extensions-BGfSWW_R.mjs → load-extensions-eyXZhbRn.mjs} +1 -1
  89. package/dist/{namespace-zusFEJPh.d.mts → namespace-B1FBjHfn.d.mts} +6 -6
  90. package/dist/native-session-supervisor-BmnAZuia.mjs +1 -0
  91. package/dist/node/bus-server/index.d.mts +1 -1
  92. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  93. package/dist/node/transports/index.d.mts +53 -1
  94. package/dist/node/transports/index.mjs +2 -2
  95. package/dist/node-bridge-backend-DtRT--yn.mjs +1 -0
  96. package/dist/node-pty-backend-C72EgRws.mjs +1 -0
  97. package/dist/{package-CwyC-Krg.d.mts → package-BswWlFSn.d.mts} +1 -1
  98. package/dist/{package-kkPGlxMm.mjs → package-CeEUAKHI.mjs} +1 -1
  99. package/dist/package.json +1 -1
  100. package/dist/rules/index.d.mts +1 -1
  101. package/dist/rules/schemas.d.mts +1 -1
  102. package/dist/runtime-bun/index.d.mts +5 -0
  103. package/dist/runtime-bun/index.mjs +1 -1
  104. package/dist/runtime-node/bridge/pty-bridge.cjs +222 -0
  105. package/dist/runtime-node/code-execution/index.d.mts +2 -2
  106. package/dist/runtime-node/extension-discovery.d.mts +1 -1
  107. package/dist/runtime-node/extension-validation.d.mts +1 -1
  108. package/dist/runtime-node/extension-validation.mjs +1 -1
  109. package/dist/runtime-node/index.d.mts +5 -5
  110. package/dist/runtime-node/index.mjs +25 -21
  111. package/dist/runtime-node/makaio-config.d.mts +1 -1
  112. package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
  113. package/dist/{schemas-BLxdGZkr.d.mts → schemas-BzSB9u68.d.mts} +4 -4
  114. package/dist/{schemas-B7YzDHLs.d.mts → schemas-CjFPsYeV.d.mts} +4 -4
  115. package/dist/{schemas-DNNHiY8g2.d.mts → schemas-DPtj1sPC2.d.mts} +7 -7
  116. package/dist/service-base/index.d.mts +35 -5
  117. package/dist/service-base/index.mjs +1 -1
  118. package/dist/services/adapter-runtime/index.d.mts +3 -3
  119. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  120. package/dist/services/adapter-runtime/schemas.d.mts +1 -1
  121. package/dist/services/adapter-subsystem/index.d.mts +3 -3
  122. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  123. package/dist/services/agent-runtime/index.d.mts +2 -2
  124. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  125. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  126. package/dist/services/capability/index.d.mts +2 -2
  127. package/dist/services/code-execution/index.d.mts +1 -1
  128. package/dist/services/codebase/index.d.mts +2 -2
  129. package/dist/services/codebase/namespace.d.mts +1 -1
  130. package/dist/services/codebase/schemas.d.mts +1 -1
  131. package/dist/services/compression/index.d.mts +2 -2
  132. package/dist/services/compression/namespace.d.mts +1 -1
  133. package/dist/services/compression/schemas.d.mts +1 -1
  134. package/dist/services/context-rules/index.d.mts +4 -4
  135. package/dist/services/execution-target/index.d.mts +3 -3
  136. package/dist/services/execution-target/namespace.d.mts +1 -1
  137. package/dist/services/execution-target/schemas.d.mts +1 -1
  138. package/dist/services/filesystem/index.d.mts +1 -1
  139. package/dist/services/filesystem/index.mjs +1 -1
  140. package/dist/services/filesystem/namespace.d.mts +6 -6
  141. package/dist/services/filesystem/schemas.d.mts +3 -3
  142. package/dist/services/git/namespace.d.mts +2 -2
  143. package/dist/services/git/schemas.d.mts +2 -2
  144. package/dist/services/harness/index.d.mts +3 -3
  145. package/dist/services/index.d.mts +51 -51
  146. package/dist/services/index.mjs +1 -1
  147. package/dist/services/log-import/browser.d.mts +2 -2
  148. package/dist/services/log-import/index.d.mts +2 -2
  149. package/dist/services/log-import/log-import.d.mts +1 -1
  150. package/dist/services/materialization/index.d.mts +1 -1
  151. package/dist/services/model-registry/index.d.mts +1 -1
  152. package/dist/services/preferences/index.d.mts +2 -2
  153. package/dist/services/preferences/schemas.d.mts +1 -1
  154. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  155. package/dist/services/provider-context/index.d.mts +1 -1
  156. package/dist/services/session/handlers/index.d.mts +1 -1
  157. package/dist/services/session/index.d.mts +9 -9
  158. package/dist/services/session/index.mjs +1 -1
  159. package/dist/services/session/messages/namespace.d.mts +1 -1
  160. package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
  161. package/dist/services/session/session-events/namespace.d.mts +1 -1
  162. package/dist/services/session/storage/namespace.d.mts +1 -1
  163. package/dist/services/session/storage/schema.d.mts +1 -1
  164. package/dist/services/session/testing/index.mjs +1 -1
  165. package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
  166. package/dist/services/session/turns/namespace.d.mts +1 -1
  167. package/dist/services/session-editor/index.d.mts +1 -1
  168. package/dist/services/settings/index.d.mts +3 -3
  169. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  170. package/dist/services/settings/storage/index.d.mts +3 -3
  171. package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
  172. package/dist/services/subagent/index.d.mts +1 -1
  173. package/dist/services/subagent-template/index.d.mts +2 -2
  174. package/dist/services/subagent-template/namespace.d.mts +1 -1
  175. package/dist/services/subagent-template/schemas.d.mts +1 -1
  176. package/dist/services/tool-approval/index.d.mts +1 -1
  177. package/dist/services/tool-approval/index.mjs +1 -1
  178. package/dist/services/tools/index.d.mts +1 -1
  179. package/dist/services/tools/index.mjs +1 -1
  180. package/dist/services/tray-menu/index.d.mts +3 -3
  181. package/dist/services/tray-menu/namespace.d.mts +1 -1
  182. package/dist/services/tray-menu/schemas.d.mts +1 -1
  183. package/dist/services/turn/index.d.mts +1 -1
  184. package/dist/services/turn/namespace.d.mts +1 -1
  185. package/dist/services/workflow-transitions/index.d.mts +1 -1
  186. package/dist/services/workflow-transitions/index.mjs +1 -1
  187. package/dist/{session-CMbztxNO.mjs → session-D38UuGGX.mjs} +1 -1
  188. package/dist/{session-lineage-BuGN3RZs.d.mts → session-lineage-CmP7L5g2.d.mts} +1 -1
  189. package/dist/storage/drizzle/client.d.mts +1 -1
  190. package/dist/storage/drizzle/index.d.mts +1 -1
  191. package/dist/storage/handlers/drizzle/index.d.mts +1 -1
  192. package/dist/storage/handlers/index.d.mts +1 -1
  193. package/dist/{storage-namespace-DaCB01dg.d.mts → storage-namespace-CwwiV3kt.d.mts} +10 -10
  194. package/dist/{tool-approval-service-CRo3fZRF.mjs → tool-approval-service-vG2mEC9p.mjs} +1 -1
  195. package/dist/{tools-CKaxi3Mb.mjs → tools-ByDy0ueE.mjs} +1 -1
  196. package/dist/{transition-DMv8cgEd.d.mts → transition-B0qsutdE.d.mts} +2 -2
  197. package/dist/{types-Dvsn8TOX.d.mts → types-BP_P1izV.d.mts} +3 -3
  198. package/dist/{types-7L3BrU9m2.d.mts → types-DyBD5MdV2.d.mts} +1 -1
  199. package/dist/ui-kernel/index.d.mts +4 -4
  200. package/dist/ui-kernel/pages/namespace.d.mts +4 -4
  201. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  202. package/dist/{view-builder-BVIbIS_J.d.mts → view-builder-nKz9DKfE.d.mts} +4 -4
  203. package/dist/workflow-engine/execution-attempt-repository.d.mts +1 -1
  204. package/dist/workflow-engine/index.d.mts +25 -25
  205. package/dist/workflow-engine/index.mjs +1 -1
  206. package/dist/workflow-engine/package.d.mts +1 -1
  207. package/dist/workflow-engine/package.mjs +1 -1
  208. package/dist/workflow-engine/provider-operation.d.mts +1 -1
  209. package/dist/workflow-engine/testing/conformance.d.mts +1 -1
  210. package/dist/workflow-engine/testing/index.d.mts +1 -1
  211. package/dist/workflow-engine/testing/sqlite.d.mts +1 -1
  212. package/dist/{workflow-transitions-t0ORS1F5.mjs → workflow-transitions-UOXY-VZa.mjs} +1 -1
  213. package/package.json +2 -1
  214. package/dist/filesystem-service-ClZEAw7E.mjs +0 -1
  215. package/dist/native-session-supervisor-DtuN1Dgs.mjs +0 -1
  216. package/dist/{adapter-binding-CaYBrIkL.d.mts → adapter-binding-DF-j-XHg.d.mts} +0 -0
  217. package/dist/{base-orchestrator-1ofFsqUz.d.mts → base-orchestrator-FNFJ6Cwf.d.mts} +0 -0
  218. package/dist/{capability-service-CUN0MIS7.d.mts → capability-service-BHcRd1td.d.mts} +0 -0
  219. package/dist/{client-BY3sBW2L.d.mts → client-Sx_N8LXo.d.mts} +0 -0
  220. package/dist/{client-binary-version-verifier-BeO4Eptw.d.mts → client-binary-version-verifier-C8gtKQFO.d.mts} +0 -0
  221. package/dist/{clients-namespace-D92YsbKI.d.mts → clients-namespace-CASHxXUM.d.mts} +0 -0
  222. package/dist/{config-namespace-OEckUfVE.d.mts → config-namespace-CeTODseW.d.mts} +0 -0
  223. package/dist/{credential-ref-w4ZYpYW0.d.mts → credential-ref-MsnUkz9G.d.mts} +0 -0
  224. package/dist/{definition-DLJg-P4G.d.mts → definition-D2SO1tX-.d.mts} +0 -0
  225. package/dist/{execution-attempt-repository-DOb5V4N2.d.mts → execution-attempt-repository-C2XKRZ3O.d.mts} +0 -0
  226. package/dist/{extension-discovery-Rup-gANp.d.mts → extension-discovery-BqSPn73R.d.mts} +0 -0
  227. package/dist/{filesystem-service-BmavE-uO.d.mts → filesystem-service-5Ecp3nSV.d.mts} +0 -0
  228. package/dist/{index-DubyRZD9.d.mts → index-62OoZLGr.d.mts} +0 -0
  229. package/dist/{index-DEx4ZFkz.d.mts → index-BCuWtlv5.d.mts} +0 -0
  230. package/dist/{index-BneZFJ7x.d.mts → index-BEPn58tG.d.mts} +0 -0
  231. package/dist/{index-CpN2C9jq.d.mts → index-BOxMyaqG.d.mts} +0 -0
  232. package/dist/{index-fxh7TB0q.d.mts → index-BTd3fTkW.d.mts} +0 -0
  233. package/dist/{index-DGoJayJg.d.mts → index-BV3nQpdO.d.mts} +0 -0
  234. package/dist/{index--gbsE1W0.d.mts → index-B_Hf4XPX.d.mts} +0 -0
  235. package/dist/{index-BQYGOXY5.d.mts → index-BjrbddkU.d.mts} +0 -0
  236. package/dist/{index-D7smT-YD.d.mts → index-BleQ0SR7.d.mts} +0 -0
  237. package/dist/{index-CvdvuhTL2.d.mts → index-By1UhKYU2.d.mts} +0 -0
  238. package/dist/{index-YOXWpZAS.d.mts → index-CURT4JaX.d.mts} +0 -0
  239. package/dist/{index-CCTzitBA.d.mts → index-Ce6-SiB3.d.mts} +0 -0
  240. package/dist/{index-DxkSkszz.d.mts → index-CwVSr7Ow.d.mts} +0 -0
  241. package/dist/{index-DOD7Lmgu.d.mts → index-D5Lw1UsO.d.mts} +0 -0
  242. package/dist/{index-C2StVLk4.d.mts → index-DAqAa9aL.d.mts} +0 -0
  243. package/dist/{index-CsRPJ9FV.d.mts → index-DDnY7JhE.d.mts} +0 -0
  244. package/dist/{index-DTvYp2GT.d.mts → index-DMgbNdEU.d.mts} +0 -0
  245. package/dist/{index-BD1SbHpP.d.mts → index-DOui-7u2.d.mts} +0 -0
  246. package/dist/{index-BujgCaKt.d.mts → index-DsmyofuM.d.mts} +0 -0
  247. package/dist/{index-DwOpaQAE.d.mts → index-N0-r5Hcd.d.mts} +0 -0
  248. package/dist/{index-Cj_V1aRL.d.mts → index-_OD_Nz3m.d.mts} +0 -0
  249. package/dist/{index-TBJ1kIGA.d.mts → index-rik4Uc5G.d.mts} +0 -0
  250. package/dist/{index-D3peNmHN2.d.mts → index-u0EteHlR2.d.mts} +0 -0
  251. package/dist/{index-B36rL4gp.d.mts → index-w1AeWV4F.d.mts} +0 -0
  252. package/dist/{json-value-Bjl8jzom.d.mts → json-value--pv1-OHx.d.mts} +0 -0
  253. package/dist/{namespace-DudchWPb.d.mts → namespace-6O0G1s65.d.mts} +0 -0
  254. package/dist/{namespace-BtOBQybk.d.mts → namespace-BEi98VfQ.d.mts} +0 -0
  255. package/dist/{namespace-B1CgZ0oQ.d.mts → namespace-C5tKjqgb.d.mts} +0 -0
  256. package/dist/{namespace-hlhPqSsw.d.mts → namespace-CHSwZhH7.d.mts} +0 -0
  257. package/dist/{namespace-D09uQ231.d.mts → namespace-CJ5sH_Bp.d.mts} +0 -0
  258. package/dist/{namespace-DHLwz4o3.d.mts → namespace-CL9OyrHs.d.mts} +0 -0
  259. package/dist/{namespace-DHbrNQYD.d.mts → namespace-D38Fmd0E.d.mts} +0 -0
  260. package/dist/{namespace-MW-Eg_yB.d.mts → namespace-D6W4Erwp.d.mts} +0 -0
  261. package/dist/{namespace-CxEQv9iZ.d.mts → namespace-DbtfwD5Z.d.mts} +0 -0
  262. package/dist/{namespace-D5DkpaaN.d.mts → namespace-HLrZerLd.d.mts} +0 -0
  263. package/dist/{namespace-Bhx72V7S.d.mts → namespace-KomML5ti.d.mts} +0 -0
  264. package/dist/{namespace-Dz5_Hrz7.d.mts → namespace-QV_2m25r.d.mts} +0 -0
  265. package/dist/{namespace-DyD06b5-.d.mts → namespace-Sd6qj6w22.d.mts} +0 -0
  266. package/dist/{orchestrator-shared-ChU5qRSe.d.mts → orchestrator-shared-Bvo0u-1D.d.mts} +0 -0
  267. package/dist/{packages-D2s51nGU.d.mts → packages-KX9yofCa.d.mts} +0 -0
  268. package/dist/{providers-namespace-BLVt8OyP.d.mts → providers-namespace-B-l-OQZk.d.mts} +0 -0
  269. package/dist/{runtime-inputs-BU_kBrP7.d.mts → runtime-inputs-B7nWstrY.d.mts} +0 -0
  270. package/dist/{schema-FY0EakKe.d.mts → schema-De6d0FWI.d.mts} +0 -0
  271. package/dist/{schemas-CqawCYTY.d.mts → schemas-BGTuiO3u.d.mts} +0 -0
  272. package/dist/{schemas-CD3Mq-jC.d.mts → schemas-BOT1HUv6.d.mts} +0 -0
  273. package/dist/{schemas-3KTmPuZg.d.mts → schemas-BXkSHQaF.d.mts} +0 -0
  274. package/dist/{schemas--wiEYYQs.d.mts → schemas-Bv7ecHxV.d.mts} +0 -0
  275. package/dist/{schemas-B-5_Dp4_.d.mts → schemas-C0Fb2-LN.d.mts} +0 -0
  276. package/dist/{schemas-DiXL8NfA.d.mts → schemas-Cb9OJ9va.d.mts} +0 -0
  277. package/dist/{schemas-CBBzvIh0.d.mts → schemas-Dxfk39-v.d.mts} +0 -0
  278. package/dist/{schemas-BegArpU_.d.mts → schemas-feb64ScA.d.mts} +0 -0
  279. package/dist/{schemas-rMUsvzeJ.d.mts → schemas-rliUGyrt.d.mts} +1 -1
  280. /package/dist/{server-lifecycle-CTJvpdeL.d.mts → server-lifecycle-BINetU26.d.mts} +0 -0
  281. /package/dist/{src-C0sw_Vs_.mjs → src-CkKKoY0M.mjs} +0 -0
  282. /package/dist/{storage-namespace-definition-DiYr8UNl.d.mts → storage-namespace-definition-DV3IipmH.d.mts} +0 -0
  283. /package/dist/{types-DEGuc-fn.d.mts → types-B_mVEuYd.d.mts} +0 -0
  284. /package/dist/{types-CpEoQapk.d.mts → types-BrsmFcWl.d.mts} +0 -0
  285. /package/dist/{types-DciLiPMd.d.mts → types-CjoaGe_E.d.mts} +0 -0
  286. /package/dist/{types-BSx8YYlc.d.mts → types-CqVuKsLC.d.mts} +0 -0
  287. /package/dist/{types-Cuhnt15L.d.mts → types-D7WtaoMR.d.mts} +0 -0
  288. /package/dist/{window-registry-C3W2wtlX.d.mts → window-registry-1jI3f9ir.d.mts} +0 -0
@@ -1,4 +1,4 @@
1
- import { a as StrategyDependencies, i as InstallStrategy, n as createStrategy, r as InstallArtifact, t as verifyInstalledVersion } from "../client-binary-version-verifier-BeO4Eptw.mjs";
1
+ import { a as StrategyDependencies, i as InstallStrategy, n as createStrategy, r as InstallArtifact, t as verifyInstalledVersion } from "../client-binary-version-verifier-C8gtKQFO.mjs";
2
2
  import * as _$zod from "zod";
3
3
  import { z } from "zod";
4
4
  import * as _$_makaio_core0 from "@makaio/framework/core";
@@ -1073,6 +1073,7 @@ declare class ClientRuntimeService extends BaseService {
1073
1073
  private readonly accountRegistry;
1074
1074
  private readonly runtimeRegistry;
1075
1075
  private readonly latestSnapshots;
1076
+ private runtimeObserveRegistrationEpoch;
1076
1077
  /**
1077
1078
  * Most recently activated account identity per client, keyed by `clientId`.
1078
1079
  *
@@ -1 +1 @@
1
- import{n as e,r as t,t as n}from"../client-binary-version-verifier-DcHCFmsI.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{SerialLane as s}from"@makaio/framework/utils";import{createBusNamespace as c,hostLocalRequest as l}from"@makaio/framework/core";import{VersionLiteralSchema as u,extensionToken as d,isUniversalRange as f,versionSatisfies as p}from"@makaio/framework/contracts";import{MakaioBus as m}from"@makaio/framework/bus";import{BaseService as h}from"@makaio/framework/service-base";import{index as g,unique as ee,uniqueIndex as te}from"drizzle-orm/sqlite-core";import{index as ne,unique as re,uniqueIndex as ie}from"drizzle-orm/pg-core";import{defineDialectSchema as _,defineDualTable as v,didAffectRows as ae,executeTransaction as y,registerDrizzleHandlers as oe,resolveSchema as b}from"@makaio/framework/storage/drizzle";import{and as x,eq as S,gt as se,sql as C}from"drizzle-orm";import{ClientProfileNameSchema as w,ClientProfileSchema as ce,ClientSubjects as le,ClientSubjects as T,ClientWiringEntrySchema as ue,DEFAULT_FAILURE_POLICY as de,SessionConfigLeaseIdSchema as fe,deriveHookEventTransportMode as pe,isValidContributorId as me,isValidTimeoutMs as he,validateClosedPolicy as ge}from"@makaio/framework/contracts/client";import{SessionSubjects as _e}from"@makaio/framework/contracts/session";import*as ve from"node:os";import{CLIDetectionSubjects as ye}from"@makaio/framework/services/cli-detection/namespace";import{ClientStorageSubjects as be}from"@makaio/framework/services/settings/storage";async function xe(e,t,n,r,i){let a,o=(n.get(e)??Promise.resolve()).then(async()=>{let n=await i(r(await Se(e,t)));n.changed&&await Ce(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 Se(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 Ce(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 we=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)}},Te=class{nextAccountSequence=1;accountIdsByIdentifier=new Map;accounts=new Map;upsertAccount(e){let t=De(e.displayLabel),n=new Map;for(let t of e.identifiers)n.set(Ee(e.clientId,t.scheme,t.value),t);let r=Oe(n,this.accountIdsByIdentifier,`strong`),i=Oe(n,this.accountIdsByIdentifier,`alias`),a=r[0]??(i.length===1?i[0]:i.length>1?ke(i):this.createAccount()),o=(r.length>0?Me(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 Ee(e,t,n){return`${e}\u0000${t}\u0000${n}`}function De(e){return e?.trim()||void 0}function Oe(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(Ae)}function ke(e){return[...e].sort(Ae)[0]}function Ae(e,t){let n=je(e),r=je(t);return n!==null&&r!==null&&n!==r?n-r:e.localeCompare(t)}function je(e){let t=e.match(/^client-account-(\d+)$/);return t?Number(t[1]):null}function Me(e,t,n){let r=new Set([...t,...n]);return r.delete(e),Array.from(r).sort(Ae)}function Ne(e){return{subject:`config.prime`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1}}}async function E(e,t){let n=await e.requestOptional(Ne(t.clientId),t);return n.handled?n.data:{primed:!1}}function Pe(){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 Fe=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 D(t,n){return!a.isAbsolute(t)||!a.isAbsolute(n)?!1:e(a.resolve(t),a.resolve(n))}function O(e,t){if(!e||!a.isAbsolute(e))throw Error(`${t} requires a non-empty absolute basePath`);return a.resolve(e)}var Ie=class{strategyDeps;config;jobs=new Map;#e=!1;resolvedBasePath;constructor(e,t){this.strategyDeps=e,this.config=t,this.resolvedBasePath=O(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(!D(this.resolvedBasePath,n))throw Error(`Invalid install target path for client "${e}" and version "${t}"`);return n}};const k=r.object({id:r.string(),clientId:r.string(),version:r.string(),installPath:r.string(),installedAt:r.number().int().nonnegative(),createdAt:r.number().int().nonnegative()}),A=r.object({clientId:r.string(),activeVersion:r.string().nullable(),updatedAt:r.number().int().nonnegative()}),j=r.object({previousActiveVersion:r.string().nullable(),activeVersion:r.string().nullable()}),M=c(`client-binary:storage`,{insertVersion:{request:k,response:r.object({success:r.boolean()})},recordInstalledVersion:{request:r.object({versionRecord:k,makeActive:r.boolean(),updatedAt:r.number().int().nonnegative()}),response:j},listVersions:{request:r.object({clientId:r.string()}),response:r.object({versions:r.array(k)})},getSnapshot:{request:r.object({clientId:r.string()}),response:r.object({state:A.nullable(),versions:r.array(k)})},loadAllVersions:{request:r.object({}),response:r.object({versions:r.array(k)})},upsertState:{request:A,response:r.object({success:r.boolean()})},setActiveVersion:{request:r.object({clientId:r.string(),activeVersion:r.string().nullable(),updatedAt:r.number().int().nonnegative()}),response:j},getState:{request:r.object({clientId:r.string()}),response:r.object({state:A.nullable()})},loadAllState:{request:r.object({}),response:r.object({states:r.array(A)})},loadSnapshot:{request:r.object({}),response:r.object({states:r.array(A),versions:r.array(k)})},removeVersionAndClearActive:{request:r.object({clientId:r.string(),version:r.string(),updatedAt:r.number().int().nonnegative()}),response:j.extend({removedVersion:r.string().nullable()})}}),N=M.subjects;var P=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 Le=process.env.MAKAIO_SKIP_CLIENT_VERSION_CHECK===`1`;function F(e,t,n,r,i){if(n===null){if(f(r))return;if(Le){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(!p(n,r)){if(Le){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 Re=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(N.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 D(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 D(t,n)?a===n||D(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&&F(`client.resolveBinary`,e,t,n.binary.supportedVersions,`managed binary version`);let o=I(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(T.scan,{targets:[n]}),i=r.find(t=>t.clientId===e);if(i===void 0||!i.found)throw new we(e);let o=i.version??null;F(`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===`~`?ve.homedir():n.startsWith(`~/`)?a.join(ve.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 I(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 ze(e,t){let{versions:n,states:r}=await e.request(N.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 Be=class extends h{config;definitionLookup;versionResolver;jobRunner;strategyDeps;resolvedBasePath;resolvedConfigBasePath;resolver;pendingClients=new Set;constructor(e=m,t,n=new P([]),r=Pe()){super(e),this.config=t,this.definitionLookup=n,this.resolvedBasePath=O(t.basePath,`ClientBinaryManager`),this.resolvedConfigBasePath=O(t.configBasePath,`ClientBinaryManager configBasePath`),this.strategyDeps=r,this.versionResolver=new Fe,this.jobRunner=new Ie(r,t),this.resolver=new Re({bus:e,resolvedBasePath:this.resolvedBasePath,resolvedConfigBasePath:this.resolvedConfigBasePath,definitionLookup:n,...t.resolutionPolicy!==void 0&&{resolutionPolicy:t.resolutionPolicy}})}async onInit(){this.registerHandler(T.list,async e=>{let t=await this.handleList();e.setResult({clients:t})}),this.registerHandler(T.install,async e=>{let t=await this.handleInstall(e.payload.clientId,e.payload.version);e.setResult(t)}),this.registerHandler(T.update,async e=>{let t=await this.handleUpdate(e.payload.clientId);e.setResult(t)}),this.registerHandler(T.setActive,async e=>{let t=await this.handleSetActive(e.payload.clientId,e.payload.version);e.setResult(t)}),this.registerHandler(T.uninstall,async e=>{let t=await this.handleUninstall(e.payload.clientId,e.payload.version);e.setResult(t)}),this.registerHandler(T.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 ze(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&&F(`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&&F(`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(N.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&&F(`client.setActive`,e,t,a.binary.supportedVersions,`requested binary version`);let o=I(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(N.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(N.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(T.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(N.setActiveVersion,{clientId:e,activeVersion:t,updatedAt:Date.now()})).previousActiveVersion;if(r!==t)try{await this.bus.emit(T.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(T.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(T.installJob.completed,e).catch(e=>{console.warn(`[ClientBinaryManager] Failed to emit client.installJob.completed:`,e)})},r.postInstall,I(r.versionCommand)),o.jobId}makeCompletionCallback(){return async({clientId:e,version:t,installPath:n,makeActive:r,reason:i})=>{let a=Date.now();await E(this.bus,{clientId:e,configDir:this.resolveManagedConfigDir(e),phase:`managed-install`,binaryVersion:t});let o=await this.bus.request(N.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(T.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 L(e,t){return`${e}\0${t}`}function R(e,t){return`${e}\0${t}`}var Ve=class{records=new Map;bySupervisorSessionId=new Map;byPidClientId=new Map;byAdapterSessionClientId=new Map;supervisorSessionCandidates=new Map;pidClientCandidates=new Map;adapterSessionClientCandidates=new Map;adapterOwnedSessions=new Set;set(e,t){let n=t??this.records.get(e.clientRuntimeId);n&&this.removeIndexEntries(n),this.records.set(e.clientRuntimeId,e),this.addIndexEntries(e,!0)}setFromStorage(e,t,n){let r=this.records.get(e.clientRuntimeId);r&&this.removeIndexEntries(r),this.records.set(e.clientRuntimeId,e);let i=t-e.updatedAt<=n;this.addIndexEntries(e,i)}delete(e){let t=this.records.get(e);t&&(this.removeIndexEntries(t),t.adapterSessionId!==void 0&&this.adapterOwnedSessions.delete(R(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 n=this.byPidClientId.get(L(t,r));if(n!==void 0){let t=this.records.get(n);if(t!==void 0)return this.canMatchFallbackEvidence(t,e)?t:void 0}}if(n!==void 0){let t=this.byAdapterSessionClientId.get(R(n,r));if(t!==void 0){let n=this.records.get(t);if(n!==void 0)return this.canMatchFallbackEvidence(n,e)?n:void 0}}}values(){return this.records.values()}clear(){this.records.clear(),this.bySupervisorSessionId.clear(),this.byPidClientId.clear(),this.byAdapterSessionClientId.clear(),this.supervisorSessionCandidates.clear(),this.pidClientCandidates.clear(),this.adapterSessionClientCandidates.clear(),this.adapterOwnedSessions.clear()}markAdapterOwned(e,t){this.adapterOwnedSessions.add(R(e,t))}hasAdapterSession(e,t){return this.adapterOwnedSessions.has(R(e,t))}get size(){return this.records.size}addIndexEntries(e,t){e.supervisorSessionId!==void 0&&this.setIndexEntry(this.bySupervisorSessionId,this.supervisorSessionCandidates,e.supervisorSessionId,e),t&&(e.pid!==void 0&&this.setIndexEntry(this.byPidClientId,this.pidClientCandidates,L(e.pid,e.clientId),e),e.adapterSessionId!==void 0&&this.setIndexEntry(this.byAdapterSessionClientId,this.adapterSessionClientCandidates,R(e.adapterSessionId,e.clientId),e))}removeIndexEntries(e){e.supervisorSessionId!==void 0&&this.deleteIndexEntry(this.bySupervisorSessionId,this.supervisorSessionCandidates,e.supervisorSessionId,e.clientRuntimeId),e.pid!==void 0&&this.deleteIndexEntry(this.byPidClientId,this.pidClientCandidates,L(e.pid,e.clientId),e.clientRuntimeId),e.adapterSessionId!==void 0&&this.deleteIndexEntry(this.byAdapterSessionClientId,this.adapterSessionClientCandidates,R(e.adapterSessionId,e.clientId),e.clientRuntimeId)}canMatchFallbackEvidence(e,t){return t===void 0||e.supervisorSessionId===void 0||e.supervisorSessionId===t}deleteIndexEntry(e,t,n,r){let i=t.get(n);if(i?.delete(r)&&(i.size===0&&t.delete(n),e.get(n)===r)){let t=this.findBestIndexOwner(i);t===void 0?e.delete(n):e.set(n,t.clientRuntimeId)}}setIndexEntry(e,t,n,r){let i=t.get(n);i===void 0&&(i=new Set,t.set(n,i)),i.add(r.clientRuntimeId);let a=e.get(n),o=a===void 0||!i.has(a)?void 0:this.records.get(a);(o===void 0||this.isNewerIndexOwner(r,o))&&e.set(n,r.clientRuntimeId)}findBestIndexOwner(e){let t;for(let n of e){let e=this.records.get(n);e!==void 0&&(t===void 0||this.isNewerIndexOwner(e,t))&&(t=e)}return t}isNewerIndexOwner(e,t){return e.createdAt>t.createdAt||e.createdAt===t.createdAt&&e.clientRuntimeId>t.clientRuntimeId}};const z=[`observed`,`started`],B=r.object({clientRuntimeId:r.string(),clientId:r.string(),status:r.enum(z),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()}),He=c(`client-runtime:storage`,{upsert:{request:B,response:r.object({success:r.boolean()})},loadAll:{request:r.object({}),response:r.object({records:r.array(B)})}}),V=He.subjects;function Ue(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 We(e){return Math.max(Date.now(),e+1)}function Ge(e,t){if(t.supervisorSessionId!==void 0&&t.supervisorSessionId===e.supervisorSessionId&&t.adapterSessionId!==void 0&&e.adapterSessionId!==void 0&&t.adapterSessionId!==e.adapterSessionId){if(Ke(e,t))return;throw Error(`client.runtime.observe: adapterSessionId '${t.adapterSessionId}' conflicts with the existing adapterSessionId '${e.adapterSessionId}' for supervisorSessionId '${t.supervisorSessionId}'`)}}function Ke(e,t){return t.adapterSessionTransition===`root-clear`&&t.clientId===`codex`&&t.source.layer===`client-hook`&&t.source.producer===`codex-client-session-service`&&t.supervisorSessionId!==void 0&&t.supervisorSessionId===e.supervisorSessionId&&t.adapterSessionId!==void 0&&t.adapterSessionId!==e.adapterSessionId}function qe(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}function Je(e,t){e.adapterSessionId=t.adapterSessionId,e.sessionId=void 0}var Ye=class{runtimeMap=new Ve;mutationLane=new s;bus;latestCreatedAt=0;constructor(e){this.bus=e}async loadFromStorage(){await this.mutationLane.run(()=>this.loadFromStorageInLane())}async loadFromStorageInLane(){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),this.latestCreatedAt=Math.max(this.latestCreatedAt,n.createdAt)}async upsertRuntime(e){return this.mutationLane.run(()=>this.upsertRuntimeInLane(e))}async upsertRuntimeInLane(e){let t=this.runtimeMap.findByEvidence(e.supervisorSessionId,e.pid,e.adapterSessionId,e.clientId);if(t){let n=H(t);Ge(n,e);let r=Ke(n,e);r&&Je(n,e);let i=n.status===`observed`,a=i&&Ue(e),o=qe(n,e),s=i&&e.observedAt>n.observedAt;return a&&(n.status=`started`),(r||o||a||s)&&(n.updatedAt=We(n.updatedAt),s&&(n.observedAt=e.observedAt),await this.persistRecord(n),this.runtimeMap.set(n,t)),{clientRuntimeId:n.clientRuntimeId,created:!1,promoted:a,record:H(n)}}let n=this.nextCreatedAt(),r=o(),i=Ue(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 await this.persistRecord(a),this.runtimeMap.set(a),{clientRuntimeId:r,created:!0,promoted:!1,record:H(a)}}getRuntime(e){let t=this.runtimeMap.get(e);return t?H(t):void 0}resolveBySupervisorSessionId(e,t){let n=this.runtimeMap.findByEvidence(t,void 0,void 0,e);return n===void 0||n.clientId!==e||n.supervisorSessionId!==t?null:{clientId:n.clientId,supervisorSessionId:n.supervisorSessionId,...n.adapterSessionId!==void 0&&{adapterSessionId:n.adapterSessionId},...n.sessionId!==void 0&&{sessionId:n.sessionId},updatedAt:n.updatedAt}}markAdapterOwned(e,t){this.runtimeMap.markAdapterOwned(e,t)}hasAdapterSession(e,t){return this.runtimeMap.hasAdapterSession(e,t)}async clear(){await this.mutationLane.run(async()=>{this.runtimeMap.clear()})}get size(){return this.runtimeMap.size}nextCreatedAt(){return this.latestCreatedAt=Math.max(Date.now(),this.latestCreatedAt+1),this.latestCreatedAt}async persistRecord(e){if(!this.bus)return;let t=await this.bus.requestOptional(V.upsert,H(e));if(t.handled&&!t.data.success)throw Error(`client runtime storage rejected persistence for '${e.clientRuntimeId}'`)}};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()}),Xe=/^[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(!Xe.test(r))throw Error(`[${t}] clientId must contain only lowercase letters, numbers, and hyphens after an optional client: prefix`);return r}function Ze(e){return{subject:`hook.received`,$meta:{namespace:`client:${W(e,`createRawClientHookReceivedSubject`)}`,isRequest:!1,local:!1,channel:!1}}}const Qe=5e3,$e=r.object({exitCode:r.number().int().min(0).max(255).default(0),stdout:r.string().default(``),stderr:r.string().default(``)}),et=Object.freeze({exitCode:0,stdout:``,stderr:``});function tt(e){return{subject:`hook.handle`,$meta:{namespace:`client:${W(e,`createRawClientHookHandleSubject`)}`,isRequest:!0,local:!1,channel:!1,hostLocalRequest:!0}}}function nt(e){if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0}function rt(e,t){return nt(e[t])}function it(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 at(e){try{e().catch(ot)}catch(e){ot(e)}}function ot(e){(process.env.DEBUG||process.env.MAKAIO_DEBUG)&&console.debug(`[emitBestEffort] observed-semantics emission failed`,e)}function st(e,t){return{subject:t,$meta:{namespace:`client:${W(e,`createClientWiringSubjectDef`)}`,isRequest:!0,local:!1,channel:!1}}}function ct(e){return st(e,`wiring.list`)}const lt=r.string().min(1).refine(a.isAbsolute,{message:`projectDir must be an absolute path`}),ut=r.object({entries:r.array(ue)}),dt=r.object({applied:r.number().int().nonnegative(),skipped:r.number().int().nonnegative()}),ft=r.object({removed:r.number().int().nonnegative()}),pt=r.object({clientId:r.string().trim().min(1),entries:r.array(ue)});function mt(e){if(e!==void 0&&!a.isAbsolute(e))throw Error(`projectDir must be an absolute path, got: ${e}`)}var ht=class extends h{accountRegistry;runtimeRegistry;latestSnapshots=new Map;activeIdentities=new Map;constructor(e=m,t=new Te,n=new Ye(e)){super(e),this.accountRegistry=t,this.runtimeRegistry=n}async onInit(){await this.runtimeRegistry.loadFromStorage(),this.registerHandler(T.account.observe,e=>this.handleAccountObserve(e)),this.registerHandler(T.usage.ingest,e=>this.handleUsageIngest(e)),this.registerHandler(T.scan,async e=>{let t=await this.scanClients(e.payload.targets);e.setResult({results:t})}),this.registerHandler(T.runtime.observe,e=>this.handleRuntimeObserve(e)),this.registerHandler(T.runtime.resolveBySupervisorSessionId,e=>{e.setResult({runtime:this.runtimeRegistry.resolveBySupervisorSessionId(e.payload.clientId,e.payload.supervisorSessionId)})}),this.registerHandler(T.runtime.isAdapterManaged,e=>{let{adapterSessionId:t,clientId:n}=e.payload;e.setResult({managed:this.runtimeRegistry.hasAdapterSession(t,n)})}),this.registerHandler(T.wiring.list,async e=>{let t=await this.listWirings(e.payload);e.setResult({results:t})}),this.registerHandler(T.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(T.account.getActive,e=>{let t=this.activeIdentities.get(e.payload.clientId);e.setResult({identity:t??null})})}async onDestroy(){await this.runtimeRegistry.clear(),this.latestSnapshots.clear(),this.activeIdentities.clear(),this.accountRegistry.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=vt(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(T.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=gt(t.clientAccountId,e.payload,t.displayLabel),r=vt(_t(this.latestSnapshots.get(t.clientAccountId),n),t.displayLabel);this.latestSnapshots.set(t.clientAccountId,r),await this.bus.emit(T.usage.snapshot,r),e.setResult({clientAccountId:t.clientAccountId,snapshot:r})}async handleRuntimeObserve(e){if(!this.initialized)throw Error(`client.runtime.observe: service is stopping`);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);if(!this.initialized){e.setResult({clientRuntimeId:r.clientRuntimeId,created:r.created,promoted:r.promoted});return}t.source.layer===`adapter`&&t.adapterSessionId!==void 0&&this.runtimeRegistry.markAdapterOwned(t.adapterSessionId,t.clientId),this.bus.emit(T.runtime.observed,{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,updatedAt:n.updatedAt}).catch(e=>{console.warn(`[ClientRuntimeService] Failed to emit client.runtime.observed:`,e)}),(r.created||r.promoted)&&this.initialized&&await this.bus.emit(T.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}).catch(e=>{console.warn(`[ClientRuntimeService] Failed to emit client.runtime.started:`,e)}),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(ye.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:bt(n,r,e.supportedVersions)}})}async listScannableStoredClients(){let{clients:e}=await this.bus.request(be.list,{});return e.filter(yt).map(e=>({clientId:e.id,binaryName:e.binary.name,supportedVersions:e.binary.supportedVersions}))}async listWirings(e){mt(e.projectDir);let{clients:t}=await this.bus.request(be.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=ct(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 gt(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 _t(e,t){return e&&e.observedAt>t.observedAt?e:t}function vt(e,t){return!e||t===void 0||e.displayLabel===t?e:{...e,displayLabel:t}}function yt(e){return e.enabled&&e.binary!==void 0}function bt(e,t,n){if(e&&t!==void 0&&t!==`unknown`&&n!==void 0&&!p(t,n))return`Unsupported version: requires ${n}`}var xt=class extends h{constructor(e=m){super(e)}onInit(){this.registerHandler(T.config.prime,async e=>{e.setResult(await E(this.bus,e.payload))})}};const G=ce,K=r.string().trim().min(1),St=c(`client-profile:storage`,{get:{request:r.object({clientId:K,name:w}),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:w}),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:w}),response:r.object({record:G.nullable()})}}),q=St.subjects;function Ct(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 wt=class extends h{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(T.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=Ct(s,a.join(s,n),`profile.create`);await i.mkdir(c,{recursive:!0});try{await E(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(T.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(T.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(T.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(T.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&&(Ct(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(T.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 Tt(e){return{subject:`sessionConfig.setup`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1}}}function Et(e){return{subject:`sessionConfig.destroy`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1}}}const Dt=()=>Date.now();function Ot(){let e=ve.platform();if(e===`darwin`||e===`linux`||e===`win32`)return e;throw Error(`client.sessionConfig does not support platform '${e}'`)}function kt(e,t,n){let r=fe.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 At=class extends h{clientsBasePath;getNow;liveLeasesByClient=new Map;liveLeasesByOwner=new Map;constructor(e,t,n=Dt){super(e),this.clientsBasePath=t,this.getNow=n}async onInit(){this.registerCreateHandler(),this.registerHandler(T.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(T.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(_e.closed,async e=>{await this.destroyOwnedLeases(e.payload.sessionId)}),await this.cleanupOrphanedDirs()}registerCreateHandler(){this.registerHandler(T.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=Tt(l),f=await this.bus.requestOptional(r,{sessionDir:u,baseConfigDir:t,projectDir:s,platform:Ot(),configInheritance:c}),p=f.handled?f.data.env??{}:{},m=f.handled?f.data.authMaterialized:!1;if(await E(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(!fe.safeParse(a).success)return;let o=kt(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(Et(e),{sessionDir:t,platform:Ot()})}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 kt(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)}},jt=class extends h{store=new Map;constructor(e){super(e)}record(e,t){let{clientId:n,adapterSessionId:r,agentId:i}=e,a=this.buildKey(n,r,i);if(this.store.get(a)!==void 0)this.store.delete(a);else if(this.store.size>=1e3){let e=this.store.keys().next().value;e!==void 0&&this.store.delete(e)}this.store.set(a,{token:t,lastActivity:Date.now()})}onInit(){this.registerHandler(T.session.token.get,e=>{let{clientId:t,adapterSessionId:n,agentId:r}=e.payload,i=this.buildKey(t,n,r),a=this.store.get(i);a!==void 0&&(this.store.delete(i),this.store.set(i,{token:a.token,lastActivity:Date.now()})),e.setResult({token:a?.token??null})});let e=setInterval(()=>{let e=Date.now()-864e5;for(let[t,n]of this.store)n.lastActivity<e&&this.store.delete(t)},3e5);e.unref(),this.addCleanup(()=>clearInterval(e))}onDestroy(){this.store.clear()}buildKey(e,t,n){let r=`${e}\n${t}`;return n===void 0?r:`${r}\n${n}`}};const Mt=new Set([`hook.received`,`hook.handle`]);function Nt(e,t){return m.registerNamespace(c(`client:${e}`,{"hook.received":U,"hook.handle":l({request:U,response:$e}),...t})).subjects}function Pt(e,t){let n=Object.keys(t).filter(e=>Mt.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 Ft(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 It(e,t,n){let r=Object.keys(n).filter(e=>!Ft(t,e));if(r.length!==0)throw Error(`[createClientNamespace] client:${e} was already registered without required subjects: ${r.join(`, `)}`)}function Lt(e,t){let n=W(e,`createClientNamespace`),r=t??{};Pt(n,r);let i=Nt(n,r);return It(n,i,r),{namespaceDomain:`client:${n}`,subjects:i}}const Rt=v(`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=>[g(`idx_client_runtimes_supervisor_session_id`).on(e.supervisorSessionId),g(`idx_client_runtimes_pid_client_id`).on(e.pid,e.clientId),g(`idx_client_runtimes_adapter_session_id_client_id`).on(e.adapterSessionId,e.clientId)],postgres:e=>[ne(`idx_client_runtimes_supervisor_session_id`).on(e.supervisorSessionId),ne(`idx_client_runtimes_pid_client_id`).on(e.pid,e.clientId),ne(`idx_client_runtimes_adapter_session_id_client_id`).on(e.adapterSessionId,e.clientId)]}),zt=Rt.sqlite,Bt=Rt.postgres,Vt=_({clientRuntimes:zt},{clientRuntimes:Bt}),Ht=new Set(z);function Ut(e){if(!Ht.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 Wt(e,t){let{clientRuntimes:n}=b(t,Vt),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:se(C`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(Ut)})});return()=>{r(),i()}}const Gt=v(`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=>[re(`uq_client_binary_versions_client_version`).on(e.clientId,e.version)]}),Kt=Gt.sqlite,qt=v(`client_binary_state`,e=>({clientId:e.text(`client_id`).primaryKey(),activeVersion:e.text(`active_version`),updatedAt:e.epochMs(`updated_at`).notNull()})),Jt=qt.sqlite,Yt=Gt.postgres,Xt=qt.postgres,J=_({clientBinaryVersions:Kt,clientBinaryState:Jt},{clientBinaryVersions:Yt,clientBinaryState:Xt});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 Zt(e){return{id:e.id,clientId:e.clientId,version:e.version,installPath:e.installPath,installedAt:e.installedAt,createdAt:e.createdAt}}async function Qt(e,t,n){await e.insert(n).values(Zt(t)).onConflictDoNothing({target:[n.clientId,n.version]})}function $t(e,t,n){return{clientId:e,activeVersion:t,updatedAt:n}}async function en(e,t,n,r,i){await e.insert(i).values($t(t,n,r)).onConflictDoUpdate({target:i.clientId,set:{activeVersion:n,updatedAt:r}})}async function tn(e,t){let{clientBinaryVersions:n}=b(e,J);await Qt(e,t,n)}async function nn(e,t,n,r){let{clientBinaryVersions:i,clientBinaryState:a}=b(e,J);return y(e,async e=>{let[o]=await e.select().from(a).where(S(a.clientId,t.clientId)).limit(1),s=o?.activeVersion??null;return await Qt(e,t,i),n?(await en(e,t.clientId,t.version,r,a),{previousActiveVersion:s,activeVersion:t.version}):{previousActiveVersion:s,activeVersion:s}})}async function rn(e,t){let{clientBinaryVersions:n,clientBinaryState:r}=b(e,J);return y(e,async e=>{let[i]=await e.select().from(r).where(S(r.clientId,t)).limit(1),a=await e.select().from(n).where(S(n.clientId,t));return{state:i?X(i):null,versions:a.map(Y)}})}async function an(e){let{clientBinaryVersions:t,clientBinaryState:n}=b(e,J);return y(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 on(e,t){let{clientBinaryState:n}=b(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 sn(e,t,n,r){let{clientBinaryState:i}=b(e,J);return y(e,async e=>{let[a]=await e.select().from(i).where(S(i.clientId,t)).limit(1),o=a?.activeVersion??null;return await en(e,t,n,r,i),{previousActiveVersion:o,activeVersion:n}})}async function cn(e,t,n,r){let{clientBinaryVersions:i,clientBinaryState:a}=b(e,J);return y(e,async e=>{let[o]=await e.select().from(a).where(S(a.clientId,t)).limit(1),s=o?.activeVersion??null;if(!ae(await e.delete(i).where(x(S(i.clientId,t),S(i.version,n)))))return{removedVersion:null,previousActiveVersion:s,activeVersion:s};await e.update(a).set({activeVersion:null,updatedAt:r}).where(x(S(a.clientId,t),S(a.activeVersion,n)));let[c]=await e.select().from(a).where(S(a.clientId,t)).limit(1);return{removedVersion:n,previousActiveVersion:s,activeVersion:c?.activeVersion??null}})}function ln(e,t){let{clientBinaryVersions:n,clientBinaryState:r}=b(t,J),i=[e.on(N.insertVersion,async e=>{await tn(t,e.payload),e.setResult({success:!0})}),e.on(N.recordInstalledVersion,async e=>{let{versionRecord:n,makeActive:r,updatedAt:i}=e.payload,a=await nn(t,n,r,i);e.setResult(a)}),e.on(N.listVersions,async e=>{let r=await t.select().from(n).where(S(n.clientId,e.payload.clientId));e.setResult({versions:r.map(Y)})}),e.on(N.getSnapshot,async e=>{let{state:n,versions:r}=await rn(t,e.payload.clientId);e.setResult({state:n,versions:r})}),e.on(N.loadAllVersions,async e=>{let r=await t.select().from(n);e.setResult({versions:r.map(Y)})}),e.on(N.upsertState,async e=>{await on(t,e.payload),e.setResult({success:!0})}),e.on(N.setActiveVersion,async e=>{let{clientId:n,activeVersion:r,updatedAt:i}=e.payload,a=await sn(t,n,r,i);e.setResult(a)}),e.on(N.getState,async e=>{let[n]=await t.select().from(r).where(S(r.clientId,e.payload.clientId)).limit(1);e.setResult({state:n?X(n):null})}),e.on(N.loadAllState,async e=>{let n=await t.select().from(r);e.setResult({states:n.map(X)})}),e.on(N.loadSnapshot,async e=>{let{states:n,versions:r}=await an(t);e.setResult({states:n,versions:r})}),e.on(N.removeVersionAndClearActive,async e=>{let{clientId:n,version:r,updatedAt:i}=e.payload,a=await cn(t,n,r,i);e.setResult(a)})];return()=>{for(let e of i)e()}}const un=v(`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(C`${e.isDefault} = 1`)],postgres:e=>[ie(`uq_client_profiles_client_name`).on(e.clientId,e.name),ie(`uq_client_profiles_default`).on(e.clientId).where(C`${e.isDefault} = true`)]}),dn=un.sqlite,fn=un.postgres,pn=_({clientProfiles:dn},{clientProfiles:fn});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 mn(e,t,n){let{clientProfiles:r}=b(e,pn),i=Date.now();return y(e,async e=>{let[a]=await e.select().from(r).where(x(S(r.clientId,t),S(r.name,n))).limit(1);if(a===void 0)return null;await e.update(r).set({isDefault:!1,updatedAt:i}).where(x(S(r.clientId,t),S(r.isDefault,!0))),await e.update(r).set({isDefault:!0,updatedAt:i}).where(x(S(r.clientId,t),S(r.name,n)));let[o]=await e.select().from(r).where(x(S(r.clientId,t),S(r.name,n))).limit(1);return o===void 0?null:Z(o)})}function hn(e,t){let{clientProfiles:n}=b(t,pn),r=[e.on(q.get,async e=>{let{clientId:r,name:i}=e.payload,[a]=await t.select().from(n).where(x(S(n.clientId,r),S(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(S(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(S(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(x(S(n.clientId,r),S(n.name,i)));e.setResult({success:ae(a)})}),e.on(q.clearDefault,async e=>{await t.update(n).set({isDefault:!1,updatedAt:Date.now()}).where(x(S(n.clientId,e.payload.clientId),S(n.isDefault,!0))),e.setResult({success:!0})}),e.on(q.setDefault,async e=>{let{clientId:n,name:r}=e.payload,i=await mn(t,n,r);e.setResult({record:i})})];return()=>{for(let e of r)e()}}function gn(e,t){return`${e}\0${t}`}function _n(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 vn=class{entries=new Map;registerProviderContract(e,t){_n(t);let n=gn(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=gn(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=gn(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 yn(e,t){return`${e}/${t}`}function bn(e,t,n){switch(e.kind){case`event-name`:return e.name===t;case`capability`:return n.includes(e.capability)}}function xn(e,t){let n=t.definition.priority-e.definition.priority;return n===0?e.ordinal-t.ordinal:n}function Sn(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 Cn(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 wn(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(!Sn(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(!Cn(t))return{...n,code:`invalid-contributor-lane`,message:`Contributor '${t.id}' has an invalid lane or target identity`};if(!me(t.id))return{...n,code:`invalid-contributor-id`,message:`Contributor ID is empty or invalid`};if(!he(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 Tn(e,t,n,r){let i=[],a=new Set;for(let o of t){let t=wn(e,o);if(t){i.push(t);continue}let s=yn(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),En(e,o,n,i)}return i}function En(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}Dn(e,t,[a],i,r);return}Dn(e,t,t.clientIds?t.clientIds.flatMap(e=>n.getProviderContractsByClient(e)):n.getAllProviderContracts(),i,r)}function Dn(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 ge([a],n))i.push({code:`closed-policy-on-non-blockable`,message:r,contributorId:t.id,extensionName:e})}}}var On=class{contractRegistry;contributors=new Map;extensionIndex=new Map;nextOrdinal=1;constructor(e){this.contractRegistry=e}installContributors(e,t){let n=Tn(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=yn(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=>bn(e,n,r))&&i.push(a)}return i.sort(xn),Object.freeze(i)}clear(){this.contributors.clear(),this.extensionIndex.clear(),this.nextOrdinal=1}};function kn(e,t){return{filter:e=>!!e.clientHookResponses,async processActivated(n,r,i){let a=r.clientHookResponses;if(!a)return;let o={extensionName:n,extensionContext:i,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 An=class{runtimeService;binaryManager;configPrimeService;profileService;sessionConfigService;sessionTokenService;providerContractRegistry;hookResponseRegistry;sessionTokens;constructor(e,t,n,r,i,a,o,s){this.runtimeService=e,this.binaryManager=t,this.configPrimeService=n,this.profileService=r,this.sessionConfigService=i,this.sessionTokenService=a,this.providerContractRegistry=o,this.hookResponseRegistry=s,this.sessionTokens=a}async init(){let e=(await Promise.allSettled([this.runtimeService.init(),this.binaryManager.init(),this.configPrimeService.init(),this.profileService.init(),this.sessionConfigService.init(),this.sessionTokenService.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(),this.sessionTokenService.destroy()])).filter(e=>e.status===`rejected`);if(e.length>0)throw AggregateError(e.map(e=>e.reason),`ClientsCoreService failed to tear down cleanly`)}};const jn=d(`makaio.clients-core`);function Mn(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 Nn(e={}){let{definitions:t=[],strategyDependencies:n,postInstallHandlers:r,binaryResolutionPolicy:i}=e,o=[...t],s=new vn,c=new On(s);return{name:`makaio.clients-core`,displayName:`Clients Core`,version:`0.1.0`,critical:!0,namespaces:[M,He,St],storage:{registerHandlers:oe((e,t)=>Mn([()=>Wt(e,t),()=>ln(e,t),()=>hn(e,t)]))},create:e=>{let t=new P(o),l=a.join(e.makaioHome,`clients`),u=new Be(e.bus,{basePath:a.join(e.makaioHome,`binaries`),configBasePath:l,postInstallHandlers:r,...i!==void 0&&{resolutionPolicy:i}},t,n),d=new wt(e.bus,l),f=new At(e.bus,l),p=new jt(e.bus);return new An(new ht(e.bus),u,new xt(e.bus),d,f,p,s,c)},runtimeBoot:{configure:e=>{e.registerContributionProcessor(kn(c,s))}}}}async function Pn(e,t){let n=await e.requestOptional(T.resolveBinary,{clientId:t});return n.handled?n.data:void 0}function Fn(e,t,n){return[...n??[],e,...t].map(zn).join(` `)}function In(e,t,n,r,i){return Fn(e,[...i??[],...t.split(` `),n],r)}function Ln(e){return e.runtimeCapabilities.hookEvents.map(e=>{let t={eventName:e.name,mode:pe(e)};return e.minimumVersion===void 0?t:{...t,minimumVersion:e.minimumVersion}})}function Rn(e,t){return e.minimumVersion===void 0||typeof t!=`string`||!u.safeParse(t).success?!0:p(t,`>=${e.minimumVersion}`)}function zn(e){return/^[A-Za-z0-9_@%+=:,./-]+$/.test(e)?e:`'${e.replaceAll(`'`,`'\\''`)}'`}const Bn=new Set([`context.append`,`session.token`]);function Vn(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||!Bn.has(t.kind)||typeof t.value!=`string`)return`canonicalEffects must contain complete context.append or session.token effects`;if(Object.keys(t).some(e=>e!==`kind`&&e!==`value`))return`canonicalEffects must contain only kind and value`;if(t.kind===`session.token`&&t.value.length===0)return`session.token effect requires a non-empty string value`}return!0}function Hn(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 Un(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=Hn(e.providerEnvelope,t.clientId,t.contractId);return o===!0?r.validate(e,{clientId:n,eventName:i,eventPayload:a}):o}function Wn(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`?Vn(e.canonicalEffects):Un(e,t,n,r,i,a)}const Q=Symbol(`contributor-timeout`);function Gn(e){return e.failurePolicy??de}function Kn(e){return e.namespacedId??e.definition.id}function $(e,t){return e===`closed`?`closed-failure`:t}function qn(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 Jn(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 Yn(e){let t=[],n=[],r=`Request deadline already expired before collection started`;for(let i of e){let e=Kn(i),a=$(Gn(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 Xn(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 Zn(e,t,n,r,i,a){let{definition:o}=e,s=Kn(e),c=Date.now(),l=c+o.timeoutMs,u=n===void 0?l:Math.min(n,l),d=u-c,f=new AbortController;r&&Xn(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:Jn(m,u,f).then(e=>e===Q?{tag:`timeout`}:{tag:`ok`,response:e},e=>({tag:`rejected`,error:e}))}}function Qn(e,t,n,r,i,a){let{contributorId:o,definition:s,startMs:c,abort:l}=e,u=Date.now()-c,d=Gn(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=Wn(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:qn(f)}}}function $n(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 er(e,t,n,r,i,a,o){if(e.length===0)return{outcomes:[],diagnostics:[]};if(n!==void 0&&n<=Date.now())return Yn(e);let s=e.map(e=>Zn(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}=Qn(s[e],c[e],t,o,i,a);l.push(n),r&&u.push(r)}return $n(l,u)}export{lt as AbsolutePathSchema,we as BinaryNotFoundError,z as CLIENT_RUNTIME_STATUSES,Te as ClientAccountRegistry,Ie as ClientBinaryJobRunner,Be as ClientBinaryManager,A as ClientBinaryStateRecordSchema,M as ClientBinaryStorageNamespace,N as ClientBinaryStorageSubjects,k as ClientBinaryVersionRecordSchema,Fe as ClientBinaryVersionResolver,xt as ClientConfigPrimeService,P as ClientDefinitionRegistry,$e as ClientHookHandleResponseSchema,vn as ClientHookProviderContractRegistry,On as ClientHookResponseRegistry,G as ClientProfileRecordSchema,wt as ClientProfileService,St as ClientProfileStorageNamespace,q as ClientProfileStorageSubjects,Ye as ClientRuntimeRegistry,ht as ClientRuntimeService,He as ClientRuntimeStorageNamespace,V as ClientRuntimeStorageSubjects,At as ClientSessionConfigService,jt as ClientSessionTokenService,le as ClientSubjects,pt as ClientWiringAggregatedResultSchema,dt as ClientWiringApplyResponseSchema,ue as ClientWiringEntrySchema,ut as ClientWiringListResponseSchema,ft as ClientWiringRemoveResponseSchema,An as ClientsCoreService,jn as ClientsCoreToken,Qe as DEFAULT_HOOK_HANDLE_TIMEOUT_MS,et as NOOP_HOOK_HANDLE_RESPONSE,U as RawClientHookPayloadSchema,B as RuntimeRecordSchema,mt as assertAbsoluteProjectDir,xe as atomicModifyFile,Fn as buildClientCommand,it as buildClientSessionBase,In as buildHookCommand,W as canonicalizeClientId,Rt as clientRuntimesDual,er as collectContributions,kn as createClientHookResponseContributionProcessor,Lt as createClientNamespace,ct as createClientWiringListSubjectDef,st as createClientWiringSubjectDef,Nn as createClientsCorePackage,tt as createRawClientHookHandleSubject,Ze as createRawClientHookReceivedSubject,t as createStrategy,Ln as deriveSessionEventDescriptors,at as emitBestEffort,D as isPathWithinBase,Rn as isSessionEventSupported,rt as pickNonEmptyString,nt as pickNonEmptyStringValue,ln as registerDrizzleClientBinaryStorage,hn as registerDrizzleProfileStorage,Wt as registerDrizzleRuntimeStorage,Mn as registerStorageHandlersWithRollback,O as resolveAndValidateBasePath,Pn as resolveClientBinary,n as verifyInstalledVersion};
1
+ import{n as e,r as t,t as n}from"../client-binary-version-verifier-DcHCFmsI.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{SerialLane as s}from"@makaio/framework/utils";import{createBusNamespace as c,hostLocalRequest as l}from"@makaio/framework/core";import{VersionLiteralSchema as u,extensionToken as d,isUniversalRange as f,versionSatisfies as p}from"@makaio/framework/contracts";import{MakaioBus as m}from"@makaio/framework/bus";import{BaseService as h}from"@makaio/framework/service-base";import{index as g,unique as ee,uniqueIndex as te}from"drizzle-orm/sqlite-core";import{index as ne,unique as re,uniqueIndex as ie}from"drizzle-orm/pg-core";import{defineDialectSchema as _,defineDualTable as v,didAffectRows as ae,executeTransaction as y,registerDrizzleHandlers as oe,resolveSchema as b}from"@makaio/framework/storage/drizzle";import{and as x,eq as S,gt as se,sql as C}from"drizzle-orm";import{ClientProfileNameSchema as w,ClientProfileSchema as ce,ClientSubjects as le,ClientSubjects as T,ClientWiringEntrySchema as ue,DEFAULT_FAILURE_POLICY as de,SessionConfigLeaseIdSchema as fe,deriveHookEventTransportMode as pe,isValidContributorId as me,isValidTimeoutMs as he,validateClosedPolicy as ge}from"@makaio/framework/contracts/client";import{SessionSubjects as _e}from"@makaio/framework/contracts/session";import*as ve from"node:os";import{CLIDetectionSubjects as ye}from"@makaio/framework/services/cli-detection/namespace";import{ClientStorageSubjects as be}from"@makaio/framework/services/settings/storage";async function xe(e,t,n,r,i){let a,o=(n.get(e)??Promise.resolve()).then(async()=>{let n=await i(r(await Se(e,t)));n.changed&&await Ce(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 Se(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 Ce(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 we=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)}},Te=class{nextAccountSequence=1;accountIdsByIdentifier=new Map;accounts=new Map;upsertAccount(e){let t=De(e.displayLabel),n=new Map;for(let t of e.identifiers)n.set(Ee(e.clientId,t.scheme,t.value),t);let r=Oe(n,this.accountIdsByIdentifier,`strong`),i=Oe(n,this.accountIdsByIdentifier,`alias`),a=r[0]??(i.length===1?i[0]:i.length>1?ke(i):this.createAccount()),o=(r.length>0?Me(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 Ee(e,t,n){return`${e}\u0000${t}\u0000${n}`}function De(e){return e?.trim()||void 0}function Oe(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(Ae)}function ke(e){return[...e].sort(Ae)[0]}function Ae(e,t){let n=je(e),r=je(t);return n!==null&&r!==null&&n!==r?n-r:e.localeCompare(t)}function je(e){let t=e.match(/^client-account-(\d+)$/);return t?Number(t[1]):null}function Me(e,t,n){let r=new Set([...t,...n]);return r.delete(e),Array.from(r).sort(Ae)}function Ne(e){return{subject:`config.prime`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1}}}async function E(e,t){let n=await e.requestOptional(Ne(t.clientId),t);return n.handled?n.data:{primed:!1}}function Pe(){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 Fe=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 D(t,n){return!a.isAbsolute(t)||!a.isAbsolute(n)?!1:e(a.resolve(t),a.resolve(n))}function O(e,t){if(!e||!a.isAbsolute(e))throw Error(`${t} requires a non-empty absolute basePath`);return a.resolve(e)}var Ie=class{strategyDeps;config;jobs=new Map;#e=!1;resolvedBasePath;constructor(e,t){this.strategyDeps=e,this.config=t,this.resolvedBasePath=O(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(!D(this.resolvedBasePath,n))throw Error(`Invalid install target path for client "${e}" and version "${t}"`);return n}};const k=r.object({id:r.string(),clientId:r.string(),version:r.string(),installPath:r.string(),installedAt:r.number().int().nonnegative(),createdAt:r.number().int().nonnegative()}),A=r.object({clientId:r.string(),activeVersion:r.string().nullable(),updatedAt:r.number().int().nonnegative()}),j=r.object({previousActiveVersion:r.string().nullable(),activeVersion:r.string().nullable()}),M=c(`client-binary:storage`,{insertVersion:{request:k,response:r.object({success:r.boolean()})},recordInstalledVersion:{request:r.object({versionRecord:k,makeActive:r.boolean(),updatedAt:r.number().int().nonnegative()}),response:j},listVersions:{request:r.object({clientId:r.string()}),response:r.object({versions:r.array(k)})},getSnapshot:{request:r.object({clientId:r.string()}),response:r.object({state:A.nullable(),versions:r.array(k)})},loadAllVersions:{request:r.object({}),response:r.object({versions:r.array(k)})},upsertState:{request:A,response:r.object({success:r.boolean()})},setActiveVersion:{request:r.object({clientId:r.string(),activeVersion:r.string().nullable(),updatedAt:r.number().int().nonnegative()}),response:j},getState:{request:r.object({clientId:r.string()}),response:r.object({state:A.nullable()})},loadAllState:{request:r.object({}),response:r.object({states:r.array(A)})},loadSnapshot:{request:r.object({}),response:r.object({states:r.array(A),versions:r.array(k)})},removeVersionAndClearActive:{request:r.object({clientId:r.string(),version:r.string(),updatedAt:r.number().int().nonnegative()}),response:j.extend({removedVersion:r.string().nullable()})}}),N=M.subjects;var P=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 Le=process.env.MAKAIO_SKIP_CLIENT_VERSION_CHECK===`1`;function F(e,t,n,r,i){if(n===null){if(f(r))return;if(Le){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(!p(n,r)){if(Le){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 Re=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(N.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 D(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 D(t,n)?a===n||D(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&&F(`client.resolveBinary`,e,t,n.binary.supportedVersions,`managed binary version`);let o=I(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(T.scan,{targets:[n]}),i=r.find(t=>t.clientId===e);if(i===void 0||!i.found)throw new we(e);let o=i.version??null;F(`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===`~`?ve.homedir():n.startsWith(`~/`)?a.join(ve.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 I(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 ze(e,t){let{versions:n,states:r}=await e.request(N.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 Be=class extends h{config;definitionLookup;versionResolver;jobRunner;strategyDeps;resolvedBasePath;resolvedConfigBasePath;resolver;pendingClients=new Set;constructor(e=m,t,n=new P([]),r=Pe()){super(e),this.config=t,this.definitionLookup=n,this.resolvedBasePath=O(t.basePath,`ClientBinaryManager`),this.resolvedConfigBasePath=O(t.configBasePath,`ClientBinaryManager configBasePath`),this.strategyDeps=r,this.versionResolver=new Fe,this.jobRunner=new Ie(r,t),this.resolver=new Re({bus:e,resolvedBasePath:this.resolvedBasePath,resolvedConfigBasePath:this.resolvedConfigBasePath,definitionLookup:n,...t.resolutionPolicy!==void 0&&{resolutionPolicy:t.resolutionPolicy}})}async onInit(){this.registerHandler(T.list,async e=>{let t=await this.handleList();e.setResult({clients:t})}),this.registerHandler(T.install,async e=>{let t=await this.handleInstall(e.payload.clientId,e.payload.version);e.setResult(t)}),this.registerHandler(T.update,async e=>{let t=await this.handleUpdate(e.payload.clientId);e.setResult(t)}),this.registerHandler(T.setActive,async e=>{let t=await this.handleSetActive(e.payload.clientId,e.payload.version);e.setResult(t)}),this.registerHandler(T.uninstall,async e=>{let t=await this.handleUninstall(e.payload.clientId,e.payload.version);e.setResult(t)}),this.registerHandler(T.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 ze(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&&F(`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&&F(`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(N.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&&F(`client.setActive`,e,t,a.binary.supportedVersions,`requested binary version`);let o=I(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(N.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(N.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(T.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(N.setActiveVersion,{clientId:e,activeVersion:t,updatedAt:Date.now()})).previousActiveVersion;if(r!==t)try{await this.bus.emit(T.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(T.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(T.installJob.completed,e).catch(e=>{console.warn(`[ClientBinaryManager] Failed to emit client.installJob.completed:`,e)})},r.postInstall,I(r.versionCommand)),o.jobId}makeCompletionCallback(){return async({clientId:e,version:t,installPath:n,makeActive:r,reason:i})=>{let a=Date.now();await E(this.bus,{clientId:e,configDir:this.resolveManagedConfigDir(e),phase:`managed-install`,binaryVersion:t});let o=await this.bus.request(N.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(T.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 L(e,t){return`${e}\0${t}`}function R(e,t){return`${e}\0${t}`}var Ve=class{records=new Map;bySupervisorSessionId=new Map;byPidClientId=new Map;byAdapterSessionClientId=new Map;supervisorSessionCandidates=new Map;pidClientCandidates=new Map;adapterSessionClientCandidates=new Map;adapterOwnedSessions=new Set;set(e,t){let n=t??this.records.get(e.clientRuntimeId);n&&this.removeIndexEntries(n),this.records.set(e.clientRuntimeId,e),this.addIndexEntries(e,!0)}setFromStorage(e,t,n){let r=this.records.get(e.clientRuntimeId);r&&this.removeIndexEntries(r),this.records.set(e.clientRuntimeId,e);let i=t-e.updatedAt<=n;this.addIndexEntries(e,i)}delete(e){let t=this.records.get(e);t&&(this.removeIndexEntries(t),t.adapterSessionId!==void 0&&this.adapterOwnedSessions.delete(R(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 n=this.byPidClientId.get(L(t,r));if(n!==void 0){let t=this.records.get(n);if(t!==void 0)return this.canMatchFallbackEvidence(t,e)?t:void 0}}if(n!==void 0){let t=this.byAdapterSessionClientId.get(R(n,r));if(t!==void 0){let n=this.records.get(t);if(n!==void 0)return this.canMatchFallbackEvidence(n,e)?n:void 0}}}values(){return this.records.values()}clear(){this.records.clear(),this.bySupervisorSessionId.clear(),this.byPidClientId.clear(),this.byAdapterSessionClientId.clear(),this.supervisorSessionCandidates.clear(),this.pidClientCandidates.clear(),this.adapterSessionClientCandidates.clear(),this.adapterOwnedSessions.clear()}markAdapterOwned(e,t){this.adapterOwnedSessions.add(R(e,t))}hasAdapterSession(e,t){return this.adapterOwnedSessions.has(R(e,t))}get size(){return this.records.size}addIndexEntries(e,t){e.supervisorSessionId!==void 0&&this.setIndexEntry(this.bySupervisorSessionId,this.supervisorSessionCandidates,e.supervisorSessionId,e),t&&(e.pid!==void 0&&this.setIndexEntry(this.byPidClientId,this.pidClientCandidates,L(e.pid,e.clientId),e),e.adapterSessionId!==void 0&&this.setIndexEntry(this.byAdapterSessionClientId,this.adapterSessionClientCandidates,R(e.adapterSessionId,e.clientId),e))}removeIndexEntries(e){e.supervisorSessionId!==void 0&&this.deleteIndexEntry(this.bySupervisorSessionId,this.supervisorSessionCandidates,e.supervisorSessionId,e.clientRuntimeId),e.pid!==void 0&&this.deleteIndexEntry(this.byPidClientId,this.pidClientCandidates,L(e.pid,e.clientId),e.clientRuntimeId),e.adapterSessionId!==void 0&&this.deleteIndexEntry(this.byAdapterSessionClientId,this.adapterSessionClientCandidates,R(e.adapterSessionId,e.clientId),e.clientRuntimeId)}canMatchFallbackEvidence(e,t){return t===void 0||e.supervisorSessionId===void 0||e.supervisorSessionId===t}deleteIndexEntry(e,t,n,r){let i=t.get(n);if(i?.delete(r)&&(i.size===0&&t.delete(n),e.get(n)===r)){let t=this.findBestIndexOwner(i);t===void 0?e.delete(n):e.set(n,t.clientRuntimeId)}}setIndexEntry(e,t,n,r){let i=t.get(n);i===void 0&&(i=new Set,t.set(n,i)),i.add(r.clientRuntimeId);let a=e.get(n),o=a===void 0||!i.has(a)?void 0:this.records.get(a);(o===void 0||this.isNewerIndexOwner(r,o))&&e.set(n,r.clientRuntimeId)}findBestIndexOwner(e){let t;for(let n of e){let e=this.records.get(n);e!==void 0&&(t===void 0||this.isNewerIndexOwner(e,t))&&(t=e)}return t}isNewerIndexOwner(e,t){return e.createdAt>t.createdAt||e.createdAt===t.createdAt&&e.clientRuntimeId>t.clientRuntimeId}};const z=[`observed`,`started`],B=r.object({clientRuntimeId:r.string(),clientId:r.string(),status:r.enum(z),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()}),He=c(`client-runtime:storage`,{upsert:{request:B,response:r.object({success:r.boolean()})},loadAll:{request:r.object({}),response:r.object({records:r.array(B)})}}),V=He.subjects;function Ue(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 We(e){return Math.max(Date.now(),e+1)}function Ge(e,t){if(t.supervisorSessionId!==void 0&&t.supervisorSessionId===e.supervisorSessionId&&t.adapterSessionId!==void 0&&e.adapterSessionId!==void 0&&t.adapterSessionId!==e.adapterSessionId){if(Ke(e,t))return;throw Error(`client.runtime.observe: adapterSessionId '${t.adapterSessionId}' conflicts with the existing adapterSessionId '${e.adapterSessionId}' for supervisorSessionId '${t.supervisorSessionId}'`)}}function Ke(e,t){return t.adapterSessionTransition===`root-clear`&&t.clientId===`codex`&&t.source.layer===`client-hook`&&t.source.producer===`codex-client-session-service`&&t.supervisorSessionId!==void 0&&t.supervisorSessionId===e.supervisorSessionId&&t.adapterSessionId!==void 0&&t.adapterSessionId!==e.adapterSessionId}function qe(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}function Je(e,t){e.adapterSessionId=t.adapterSessionId,e.sessionId=void 0}var Ye=class{runtimeMap=new Ve;mutationLane=new s;bus;latestCreatedAt=0;constructor(e){this.bus=e}async loadFromStorage(){await this.mutationLane.run(()=>this.loadFromStorageInLane())}async loadFromStorageInLane(){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),this.latestCreatedAt=Math.max(this.latestCreatedAt,n.createdAt)}async upsertRuntime(e){return this.mutationLane.run(()=>this.upsertRuntimeInLane(e))}async upsertRuntimeInLane(e){let t=this.runtimeMap.findByEvidence(e.supervisorSessionId,e.pid,e.adapterSessionId,e.clientId);if(t){let n=H(t);Ge(n,e);let r=Ke(n,e);r&&Je(n,e);let i=n.status===`observed`,a=i&&Ue(e),o=qe(n,e),s=i&&e.observedAt>n.observedAt;return a&&(n.status=`started`),(r||o||a||s)&&(n.updatedAt=We(n.updatedAt),s&&(n.observedAt=e.observedAt),await this.persistRecord(n),this.runtimeMap.set(n,t)),{clientRuntimeId:n.clientRuntimeId,created:!1,promoted:a,record:H(n)}}let n=this.nextCreatedAt(),r=o(),i=Ue(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 await this.persistRecord(a),this.runtimeMap.set(a),{clientRuntimeId:r,created:!0,promoted:!1,record:H(a)}}getRuntime(e){let t=this.runtimeMap.get(e);return t?H(t):void 0}resolveBySupervisorSessionId(e,t){let n=this.runtimeMap.findByEvidence(t,void 0,void 0,e);return n===void 0||n.clientId!==e||n.supervisorSessionId!==t?null:{clientId:n.clientId,supervisorSessionId:n.supervisorSessionId,...n.adapterSessionId!==void 0&&{adapterSessionId:n.adapterSessionId},...n.sessionId!==void 0&&{sessionId:n.sessionId},updatedAt:n.updatedAt}}markAdapterOwned(e,t){this.runtimeMap.markAdapterOwned(e,t)}hasAdapterSession(e,t){return this.runtimeMap.hasAdapterSession(e,t)}async clear(){await this.mutationLane.run(async()=>{this.runtimeMap.clear()})}get size(){return this.runtimeMap.size}nextCreatedAt(){return this.latestCreatedAt=Math.max(Date.now(),this.latestCreatedAt+1),this.latestCreatedAt}async persistRecord(e){if(!this.bus)return;let t=await this.bus.requestOptional(V.upsert,H(e));if(t.handled&&!t.data.success)throw Error(`client runtime storage rejected persistence for '${e.clientRuntimeId}'`)}};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()}),Xe=/^[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(!Xe.test(r))throw Error(`[${t}] clientId must contain only lowercase letters, numbers, and hyphens after an optional client: prefix`);return r}function Ze(e){return{subject:`hook.received`,$meta:{namespace:`client:${W(e,`createRawClientHookReceivedSubject`)}`,isRequest:!1,local:!1,channel:!1}}}const Qe=5e3,$e=r.object({exitCode:r.number().int().min(0).max(255).default(0),stdout:r.string().default(``),stderr:r.string().default(``)}),et=Object.freeze({exitCode:0,stdout:``,stderr:``});function tt(e){return{subject:`hook.handle`,$meta:{namespace:`client:${W(e,`createRawClientHookHandleSubject`)}`,isRequest:!0,local:!1,channel:!1,hostLocalRequest:!0}}}function nt(e){if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0}function rt(e,t){return nt(e[t])}function it(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 at(e){try{e().catch(ot)}catch(e){ot(e)}}function ot(e){(process.env.DEBUG||process.env.MAKAIO_DEBUG)&&console.debug(`[emitBestEffort] observed-semantics emission failed`,e)}function st(e,t){return{subject:t,$meta:{namespace:`client:${W(e,`createClientWiringSubjectDef`)}`,isRequest:!0,local:!1,channel:!1}}}function ct(e){return st(e,`wiring.list`)}const lt=r.string().min(1).refine(a.isAbsolute,{message:`projectDir must be an absolute path`}),ut=r.object({entries:r.array(ue)}),dt=r.object({applied:r.number().int().nonnegative(),skipped:r.number().int().nonnegative()}),ft=r.object({removed:r.number().int().nonnegative()}),pt=r.object({clientId:r.string().trim().min(1),entries:r.array(ue)});function mt(e){if(e!==void 0&&!a.isAbsolute(e))throw Error(`projectDir must be an absolute path, got: ${e}`)}var ht=class extends h{accountRegistry;runtimeRegistry;latestSnapshots=new Map;runtimeObserveRegistrationEpoch=0;activeIdentities=new Map;constructor(e=m,t=new Te,n=new Ye(e)){super(e),this.accountRegistry=t,this.runtimeRegistry=n}async onInit(){await this.runtimeRegistry.loadFromStorage(),this.registerHandler(T.account.observe,e=>this.handleAccountObserve(e)),this.registerHandler(T.usage.ingest,e=>this.handleUsageIngest(e)),this.registerHandler(T.scan,async e=>{let t=await this.scanClients(e.payload.targets);e.setResult({results:t})});let e=++this.runtimeObserveRegistrationEpoch;this.addCleanup(this.bus.on(T.runtime.observe,t=>this.handleRuntimeObserve(t,e))),this.registerHandler(T.runtime.resolveBySupervisorSessionId,e=>{e.setResult({runtime:this.runtimeRegistry.resolveBySupervisorSessionId(e.payload.clientId,e.payload.supervisorSessionId)})}),this.registerHandler(T.runtime.isAdapterManaged,e=>{let{adapterSessionId:t,clientId:n}=e.payload;e.setResult({managed:this.runtimeRegistry.hasAdapterSession(t,n)})}),this.registerHandler(T.wiring.list,async e=>{let t=await this.listWirings(e.payload);e.setResult({results:t})}),this.registerHandler(T.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(T.account.getActive,e=>{let t=this.activeIdentities.get(e.payload.clientId);e.setResult({identity:t??null})})}async onDestroy(){this.runtimeObserveRegistrationEpoch+=1,await this.runtimeRegistry.clear(),this.latestSnapshots.clear(),this.activeIdentities.clear(),this.accountRegistry.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=vt(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(T.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=gt(t.clientAccountId,e.payload,t.displayLabel),r=vt(_t(this.latestSnapshots.get(t.clientAccountId),n),t.displayLabel);this.latestSnapshots.set(t.clientAccountId,r),await this.bus.emit(T.usage.snapshot,r),e.setResult({clientAccountId:t.clientAccountId,snapshot:r})}async handleRuntimeObserve(e,t){if(t!==this.runtimeObserveRegistrationEpoch||!this.initialized)throw Error(`client.runtime.observe: service is stopping`);let n=this.serviceLifecycleGeneration,{payload:r}=e;if(r.supervisorSessionId===void 0&&r.pid===void 0&&r.adapterSessionId===void 0)throw Error(`client.runtime.observe: at least one hard-evidence field is required (supervisorSessionId, pid, or adapterSessionId)`);let{record:i,...a}=await this.runtimeRegistry.upsertRuntime(r);if(!this.isCurrentLifecycle(n)){e.setResult({clientRuntimeId:a.clientRuntimeId,created:a.created,promoted:a.promoted});return}r.source.layer===`adapter`&&r.adapterSessionId!==void 0&&this.runtimeRegistry.markAdapterOwned(r.adapterSessionId,r.clientId),this.bus.emit(T.runtime.observed,{clientRuntimeId:i.clientRuntimeId,clientId:i.clientId,status:i.status,source:r.source,observedAt:r.observedAt,supervisorSessionId:i.supervisorSessionId,pid:i.pid,parentPid:i.parentPid,adapterSessionId:i.adapterSessionId,sessionId:i.sessionId,cwd:i.cwd,argv:i.argv,metadata:i.metadata,updatedAt:i.updatedAt}).catch(e=>{console.warn(`[ClientRuntimeService] Failed to emit client.runtime.observed:`,e)}),(a.created||a.promoted)&&this.isCurrentLifecycle(n)&&await this.bus.emit(T.runtime.started,{clientRuntimeId:i.clientRuntimeId,clientId:i.clientId,status:i.status,source:r.source,observedAt:r.observedAt,supervisorSessionId:i.supervisorSessionId,pid:i.pid,parentPid:i.parentPid,adapterSessionId:i.adapterSessionId,sessionId:i.sessionId,cwd:i.cwd,argv:i.argv,metadata:i.metadata}).catch(e=>{console.warn(`[ClientRuntimeService] Failed to emit client.runtime.started:`,e)}),e.setResult({clientRuntimeId:a.clientRuntimeId,created:a.created,promoted:a.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(ye.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:bt(n,r,e.supportedVersions)}})}async listScannableStoredClients(){let{clients:e}=await this.bus.request(be.list,{});return e.filter(yt).map(e=>({clientId:e.id,binaryName:e.binary.name,supportedVersions:e.binary.supportedVersions}))}async listWirings(e){mt(e.projectDir);let{clients:t}=await this.bus.request(be.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=ct(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 gt(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 _t(e,t){return e&&e.observedAt>t.observedAt?e:t}function vt(e,t){return!e||t===void 0||e.displayLabel===t?e:{...e,displayLabel:t}}function yt(e){return e.enabled&&e.binary!==void 0}function bt(e,t,n){if(e&&t!==void 0&&t!==`unknown`&&n!==void 0&&!p(t,n))return`Unsupported version: requires ${n}`}var xt=class extends h{constructor(e=m){super(e)}onInit(){this.registerHandler(T.config.prime,async e=>{e.setResult(await E(this.bus,e.payload))})}};const G=ce,K=r.string().trim().min(1),St=c(`client-profile:storage`,{get:{request:r.object({clientId:K,name:w}),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:w}),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:w}),response:r.object({record:G.nullable()})}}),q=St.subjects;function Ct(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 wt=class extends h{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(T.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=Ct(s,a.join(s,n),`profile.create`);await i.mkdir(c,{recursive:!0});try{await E(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(T.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(T.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(T.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(T.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&&(Ct(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(T.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 Tt(e){return{subject:`sessionConfig.setup`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1}}}function Et(e){return{subject:`sessionConfig.destroy`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1}}}const Dt=()=>Date.now();function Ot(){let e=ve.platform();if(e===`darwin`||e===`linux`||e===`win32`)return e;throw Error(`client.sessionConfig does not support platform '${e}'`)}function kt(e,t,n){let r=fe.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 At=class extends h{clientsBasePath;getNow;liveLeasesByClient=new Map;liveLeasesByOwner=new Map;constructor(e,t,n=Dt){super(e),this.clientsBasePath=t,this.getNow=n}async onInit(){this.registerCreateHandler(),this.registerHandler(T.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(T.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(_e.closed,async e=>{await this.destroyOwnedLeases(e.payload.sessionId)}),await this.cleanupOrphanedDirs()}registerCreateHandler(){this.registerHandler(T.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=Tt(l),f=await this.bus.requestOptional(r,{sessionDir:u,baseConfigDir:t,projectDir:s,platform:Ot(),configInheritance:c}),p=f.handled?f.data.env??{}:{},m=f.handled?f.data.authMaterialized:!1;if(await E(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(!fe.safeParse(a).success)return;let o=kt(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(Et(e),{sessionDir:t,platform:Ot()})}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 kt(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)}},jt=class extends h{store=new Map;constructor(e){super(e)}record(e,t){let{clientId:n,adapterSessionId:r,agentId:i}=e,a=this.buildKey(n,r,i);if(this.store.get(a)!==void 0)this.store.delete(a);else if(this.store.size>=1e3){let e=this.store.keys().next().value;e!==void 0&&this.store.delete(e)}this.store.set(a,{token:t,lastActivity:Date.now()})}onInit(){this.registerHandler(T.session.token.get,e=>{let{clientId:t,adapterSessionId:n,agentId:r}=e.payload,i=this.buildKey(t,n,r),a=this.store.get(i);a!==void 0&&(this.store.delete(i),this.store.set(i,{token:a.token,lastActivity:Date.now()})),e.setResult({token:a?.token??null})});let e=setInterval(()=>{let e=Date.now()-864e5;for(let[t,n]of this.store)n.lastActivity<e&&this.store.delete(t)},3e5);e.unref(),this.addCleanup(()=>clearInterval(e))}onDestroy(){this.store.clear()}buildKey(e,t,n){let r=`${e}\n${t}`;return n===void 0?r:`${r}\n${n}`}};const Mt=new Set([`hook.received`,`hook.handle`]);function Nt(e,t){return m.registerNamespace(c(`client:${e}`,{"hook.received":U,"hook.handle":l({request:U,response:$e}),...t})).subjects}function Pt(e,t){let n=Object.keys(t).filter(e=>Mt.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 Ft(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 It(e,t,n){let r=Object.keys(n).filter(e=>!Ft(t,e));if(r.length!==0)throw Error(`[createClientNamespace] client:${e} was already registered without required subjects: ${r.join(`, `)}`)}function Lt(e,t){let n=W(e,`createClientNamespace`),r=t??{};Pt(n,r);let i=Nt(n,r);return It(n,i,r),{namespaceDomain:`client:${n}`,subjects:i}}const Rt=v(`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=>[g(`idx_client_runtimes_supervisor_session_id`).on(e.supervisorSessionId),g(`idx_client_runtimes_pid_client_id`).on(e.pid,e.clientId),g(`idx_client_runtimes_adapter_session_id_client_id`).on(e.adapterSessionId,e.clientId)],postgres:e=>[ne(`idx_client_runtimes_supervisor_session_id`).on(e.supervisorSessionId),ne(`idx_client_runtimes_pid_client_id`).on(e.pid,e.clientId),ne(`idx_client_runtimes_adapter_session_id_client_id`).on(e.adapterSessionId,e.clientId)]}),zt=Rt.sqlite,Bt=Rt.postgres,Vt=_({clientRuntimes:zt},{clientRuntimes:Bt}),Ht=new Set(z);function Ut(e){if(!Ht.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 Wt(e,t){let{clientRuntimes:n}=b(t,Vt),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:se(C`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(Ut)})});return()=>{r(),i()}}const Gt=v(`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=>[re(`uq_client_binary_versions_client_version`).on(e.clientId,e.version)]}),Kt=Gt.sqlite,qt=v(`client_binary_state`,e=>({clientId:e.text(`client_id`).primaryKey(),activeVersion:e.text(`active_version`),updatedAt:e.epochMs(`updated_at`).notNull()})),Jt=qt.sqlite,Yt=Gt.postgres,Xt=qt.postgres,J=_({clientBinaryVersions:Kt,clientBinaryState:Jt},{clientBinaryVersions:Yt,clientBinaryState:Xt});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 Zt(e){return{id:e.id,clientId:e.clientId,version:e.version,installPath:e.installPath,installedAt:e.installedAt,createdAt:e.createdAt}}async function Qt(e,t,n){await e.insert(n).values(Zt(t)).onConflictDoNothing({target:[n.clientId,n.version]})}function $t(e,t,n){return{clientId:e,activeVersion:t,updatedAt:n}}async function en(e,t,n,r,i){await e.insert(i).values($t(t,n,r)).onConflictDoUpdate({target:i.clientId,set:{activeVersion:n,updatedAt:r}})}async function tn(e,t){let{clientBinaryVersions:n}=b(e,J);await Qt(e,t,n)}async function nn(e,t,n,r){let{clientBinaryVersions:i,clientBinaryState:a}=b(e,J);return y(e,async e=>{let[o]=await e.select().from(a).where(S(a.clientId,t.clientId)).limit(1),s=o?.activeVersion??null;return await Qt(e,t,i),n?(await en(e,t.clientId,t.version,r,a),{previousActiveVersion:s,activeVersion:t.version}):{previousActiveVersion:s,activeVersion:s}})}async function rn(e,t){let{clientBinaryVersions:n,clientBinaryState:r}=b(e,J);return y(e,async e=>{let[i]=await e.select().from(r).where(S(r.clientId,t)).limit(1),a=await e.select().from(n).where(S(n.clientId,t));return{state:i?X(i):null,versions:a.map(Y)}})}async function an(e){let{clientBinaryVersions:t,clientBinaryState:n}=b(e,J);return y(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 on(e,t){let{clientBinaryState:n}=b(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 sn(e,t,n,r){let{clientBinaryState:i}=b(e,J);return y(e,async e=>{let[a]=await e.select().from(i).where(S(i.clientId,t)).limit(1),o=a?.activeVersion??null;return await en(e,t,n,r,i),{previousActiveVersion:o,activeVersion:n}})}async function cn(e,t,n,r){let{clientBinaryVersions:i,clientBinaryState:a}=b(e,J);return y(e,async e=>{let[o]=await e.select().from(a).where(S(a.clientId,t)).limit(1),s=o?.activeVersion??null;if(!ae(await e.delete(i).where(x(S(i.clientId,t),S(i.version,n)))))return{removedVersion:null,previousActiveVersion:s,activeVersion:s};await e.update(a).set({activeVersion:null,updatedAt:r}).where(x(S(a.clientId,t),S(a.activeVersion,n)));let[c]=await e.select().from(a).where(S(a.clientId,t)).limit(1);return{removedVersion:n,previousActiveVersion:s,activeVersion:c?.activeVersion??null}})}function ln(e,t){let{clientBinaryVersions:n,clientBinaryState:r}=b(t,J),i=[e.on(N.insertVersion,async e=>{await tn(t,e.payload),e.setResult({success:!0})}),e.on(N.recordInstalledVersion,async e=>{let{versionRecord:n,makeActive:r,updatedAt:i}=e.payload,a=await nn(t,n,r,i);e.setResult(a)}),e.on(N.listVersions,async e=>{let r=await t.select().from(n).where(S(n.clientId,e.payload.clientId));e.setResult({versions:r.map(Y)})}),e.on(N.getSnapshot,async e=>{let{state:n,versions:r}=await rn(t,e.payload.clientId);e.setResult({state:n,versions:r})}),e.on(N.loadAllVersions,async e=>{let r=await t.select().from(n);e.setResult({versions:r.map(Y)})}),e.on(N.upsertState,async e=>{await on(t,e.payload),e.setResult({success:!0})}),e.on(N.setActiveVersion,async e=>{let{clientId:n,activeVersion:r,updatedAt:i}=e.payload,a=await sn(t,n,r,i);e.setResult(a)}),e.on(N.getState,async e=>{let[n]=await t.select().from(r).where(S(r.clientId,e.payload.clientId)).limit(1);e.setResult({state:n?X(n):null})}),e.on(N.loadAllState,async e=>{let n=await t.select().from(r);e.setResult({states:n.map(X)})}),e.on(N.loadSnapshot,async e=>{let{states:n,versions:r}=await an(t);e.setResult({states:n,versions:r})}),e.on(N.removeVersionAndClearActive,async e=>{let{clientId:n,version:r,updatedAt:i}=e.payload,a=await cn(t,n,r,i);e.setResult(a)})];return()=>{for(let e of i)e()}}const un=v(`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(C`${e.isDefault} = 1`)],postgres:e=>[ie(`uq_client_profiles_client_name`).on(e.clientId,e.name),ie(`uq_client_profiles_default`).on(e.clientId).where(C`${e.isDefault} = true`)]}),dn=un.sqlite,fn=un.postgres,pn=_({clientProfiles:dn},{clientProfiles:fn});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 mn(e,t,n){let{clientProfiles:r}=b(e,pn),i=Date.now();return y(e,async e=>{let[a]=await e.select().from(r).where(x(S(r.clientId,t),S(r.name,n))).limit(1);if(a===void 0)return null;await e.update(r).set({isDefault:!1,updatedAt:i}).where(x(S(r.clientId,t),S(r.isDefault,!0))),await e.update(r).set({isDefault:!0,updatedAt:i}).where(x(S(r.clientId,t),S(r.name,n)));let[o]=await e.select().from(r).where(x(S(r.clientId,t),S(r.name,n))).limit(1);return o===void 0?null:Z(o)})}function hn(e,t){let{clientProfiles:n}=b(t,pn),r=[e.on(q.get,async e=>{let{clientId:r,name:i}=e.payload,[a]=await t.select().from(n).where(x(S(n.clientId,r),S(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(S(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(S(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(x(S(n.clientId,r),S(n.name,i)));e.setResult({success:ae(a)})}),e.on(q.clearDefault,async e=>{await t.update(n).set({isDefault:!1,updatedAt:Date.now()}).where(x(S(n.clientId,e.payload.clientId),S(n.isDefault,!0))),e.setResult({success:!0})}),e.on(q.setDefault,async e=>{let{clientId:n,name:r}=e.payload,i=await mn(t,n,r);e.setResult({record:i})})];return()=>{for(let e of r)e()}}function gn(e,t){return`${e}\0${t}`}function _n(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 vn=class{entries=new Map;registerProviderContract(e,t){_n(t);let n=gn(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=gn(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=gn(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 yn(e,t){return`${e}/${t}`}function bn(e,t,n){switch(e.kind){case`event-name`:return e.name===t;case`capability`:return n.includes(e.capability)}}function xn(e,t){let n=t.definition.priority-e.definition.priority;return n===0?e.ordinal-t.ordinal:n}function Sn(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 Cn(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 wn(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(!Sn(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(!Cn(t))return{...n,code:`invalid-contributor-lane`,message:`Contributor '${t.id}' has an invalid lane or target identity`};if(!me(t.id))return{...n,code:`invalid-contributor-id`,message:`Contributor ID is empty or invalid`};if(!he(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 Tn(e,t,n,r){let i=[],a=new Set;for(let o of t){let t=wn(e,o);if(t){i.push(t);continue}let s=yn(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),En(e,o,n,i)}return i}function En(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}Dn(e,t,[a],i,r);return}Dn(e,t,t.clientIds?t.clientIds.flatMap(e=>n.getProviderContractsByClient(e)):n.getAllProviderContracts(),i,r)}function Dn(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 ge([a],n))i.push({code:`closed-policy-on-non-blockable`,message:r,contributorId:t.id,extensionName:e})}}}var On=class{contractRegistry;contributors=new Map;extensionIndex=new Map;nextOrdinal=1;constructor(e){this.contractRegistry=e}installContributors(e,t){let n=Tn(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=yn(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=>bn(e,n,r))&&i.push(a)}return i.sort(xn),Object.freeze(i)}clear(){this.contributors.clear(),this.extensionIndex.clear(),this.nextOrdinal=1}};function kn(e,t){return{filter:e=>!!e.clientHookResponses,async processActivated(n,r,i){let a=r.clientHookResponses;if(!a)return;let o={extensionName:n,extensionContext:i,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 An=class{runtimeService;binaryManager;configPrimeService;profileService;sessionConfigService;sessionTokenService;providerContractRegistry;hookResponseRegistry;sessionTokens;constructor(e,t,n,r,i,a,o,s){this.runtimeService=e,this.binaryManager=t,this.configPrimeService=n,this.profileService=r,this.sessionConfigService=i,this.sessionTokenService=a,this.providerContractRegistry=o,this.hookResponseRegistry=s,this.sessionTokens=a}async init(){let e=(await Promise.allSettled([this.runtimeService.init(),this.binaryManager.init(),this.configPrimeService.init(),this.profileService.init(),this.sessionConfigService.init(),this.sessionTokenService.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(),this.sessionTokenService.destroy()])).filter(e=>e.status===`rejected`);if(e.length>0)throw AggregateError(e.map(e=>e.reason),`ClientsCoreService failed to tear down cleanly`)}};const jn=d(`makaio.clients-core`);function Mn(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 Nn(e={}){let{definitions:t=[],strategyDependencies:n,postInstallHandlers:r,binaryResolutionPolicy:i}=e,o=[...t],s=new vn,c=new On(s);return{name:`makaio.clients-core`,displayName:`Clients Core`,version:`0.1.0`,critical:!0,namespaces:[M,He,St],storage:{registerHandlers:oe((e,t)=>Mn([()=>Wt(e,t),()=>ln(e,t),()=>hn(e,t)]))},create:e=>{let t=new P(o),l=a.join(e.makaioHome,`clients`),u=new Be(e.bus,{basePath:a.join(e.makaioHome,`binaries`),configBasePath:l,postInstallHandlers:r,...i!==void 0&&{resolutionPolicy:i}},t,n),d=new wt(e.bus,l),f=new At(e.bus,l),p=new jt(e.bus);return new An(new ht(e.bus),u,new xt(e.bus),d,f,p,s,c)},runtimeBoot:{configure:e=>{e.registerContributionProcessor(kn(c,s))}}}}async function Pn(e,t){let n=await e.requestOptional(T.resolveBinary,{clientId:t});return n.handled?n.data:void 0}function Fn(e,t,n){return[...n??[],e,...t].map(zn).join(` `)}function In(e,t,n,r,i){return Fn(e,[...i??[],...t.split(` `),n],r)}function Ln(e){return e.runtimeCapabilities.hookEvents.map(e=>{let t={eventName:e.name,mode:pe(e)};return e.minimumVersion===void 0?t:{...t,minimumVersion:e.minimumVersion}})}function Rn(e,t){return e.minimumVersion===void 0||typeof t!=`string`||!u.safeParse(t).success?!0:p(t,`>=${e.minimumVersion}`)}function zn(e){return/^[A-Za-z0-9_@%+=:,./-]+$/.test(e)?e:`'${e.replaceAll(`'`,`'\\''`)}'`}const Bn=new Set([`context.append`,`session.token`]);function Vn(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||!Bn.has(t.kind)||typeof t.value!=`string`)return`canonicalEffects must contain complete context.append or session.token effects`;if(Object.keys(t).some(e=>e!==`kind`&&e!==`value`))return`canonicalEffects must contain only kind and value`;if(t.kind===`session.token`&&t.value.length===0)return`session.token effect requires a non-empty string value`}return!0}function Hn(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 Un(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=Hn(e.providerEnvelope,t.clientId,t.contractId);return o===!0?r.validate(e,{clientId:n,eventName:i,eventPayload:a}):o}function Wn(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`?Vn(e.canonicalEffects):Un(e,t,n,r,i,a)}const Q=Symbol(`contributor-timeout`);function Gn(e){return e.failurePolicy??de}function Kn(e){return e.namespacedId??e.definition.id}function $(e,t){return e===`closed`?`closed-failure`:t}function qn(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 Jn(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 Yn(e){let t=[],n=[],r=`Request deadline already expired before collection started`;for(let i of e){let e=Kn(i),a=$(Gn(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 Xn(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 Zn(e,t,n,r,i,a){let{definition:o}=e,s=Kn(e),c=Date.now(),l=c+o.timeoutMs,u=n===void 0?l:Math.min(n,l),d=u-c,f=new AbortController;r&&Xn(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:Jn(m,u,f).then(e=>e===Q?{tag:`timeout`}:{tag:`ok`,response:e},e=>({tag:`rejected`,error:e}))}}function Qn(e,t,n,r,i,a){let{contributorId:o,definition:s,startMs:c,abort:l}=e,u=Date.now()-c,d=Gn(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=Wn(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:qn(f)}}}function $n(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 er(e,t,n,r,i,a,o){if(e.length===0)return{outcomes:[],diagnostics:[]};if(n!==void 0&&n<=Date.now())return Yn(e);let s=e.map(e=>Zn(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}=Qn(s[e],c[e],t,o,i,a);l.push(n),r&&u.push(r)}return $n(l,u)}export{lt as AbsolutePathSchema,we as BinaryNotFoundError,z as CLIENT_RUNTIME_STATUSES,Te as ClientAccountRegistry,Ie as ClientBinaryJobRunner,Be as ClientBinaryManager,A as ClientBinaryStateRecordSchema,M as ClientBinaryStorageNamespace,N as ClientBinaryStorageSubjects,k as ClientBinaryVersionRecordSchema,Fe as ClientBinaryVersionResolver,xt as ClientConfigPrimeService,P as ClientDefinitionRegistry,$e as ClientHookHandleResponseSchema,vn as ClientHookProviderContractRegistry,On as ClientHookResponseRegistry,G as ClientProfileRecordSchema,wt as ClientProfileService,St as ClientProfileStorageNamespace,q as ClientProfileStorageSubjects,Ye as ClientRuntimeRegistry,ht as ClientRuntimeService,He as ClientRuntimeStorageNamespace,V as ClientRuntimeStorageSubjects,At as ClientSessionConfigService,jt as ClientSessionTokenService,le as ClientSubjects,pt as ClientWiringAggregatedResultSchema,dt as ClientWiringApplyResponseSchema,ue as ClientWiringEntrySchema,ut as ClientWiringListResponseSchema,ft as ClientWiringRemoveResponseSchema,An as ClientsCoreService,jn as ClientsCoreToken,Qe as DEFAULT_HOOK_HANDLE_TIMEOUT_MS,et as NOOP_HOOK_HANDLE_RESPONSE,U as RawClientHookPayloadSchema,B as RuntimeRecordSchema,mt as assertAbsoluteProjectDir,xe as atomicModifyFile,Fn as buildClientCommand,it as buildClientSessionBase,In as buildHookCommand,W as canonicalizeClientId,Rt as clientRuntimesDual,er as collectContributions,kn as createClientHookResponseContributionProcessor,Lt as createClientNamespace,ct as createClientWiringListSubjectDef,st as createClientWiringSubjectDef,Nn as createClientsCorePackage,tt as createRawClientHookHandleSubject,Ze as createRawClientHookReceivedSubject,t as createStrategy,Ln as deriveSessionEventDescriptors,at as emitBestEffort,D as isPathWithinBase,Rn as isSessionEventSupported,rt as pickNonEmptyString,nt as pickNonEmptyStringValue,ln as registerDrizzleClientBinaryStorage,hn as registerDrizzleProfileStorage,Wt as registerDrizzleRuntimeStorage,Mn as registerStorageHandlersWithRollback,O as resolveAndValidateBasePath,Pn 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-BeO4Eptw.mjs";
1
+ import { a as StrategyDependencies, i as InstallStrategy, n as createStrategy, r as InstallArtifact, t as verifyInstalledVersion } from "../client-binary-version-verifier-C8gtKQFO.mjs";
2
2
  export { type InstallArtifact, type InstallStrategy, type StrategyDependencies, createStrategy, verifyInstalledVersion };
@@ -1,4 +1,4 @@
1
- import { l as CodeExecutionWorkerOutcome, u as CodeExecutionWorkerTask } from "../types-BSx8YYlc.mjs";
1
+ import { l as CodeExecutionWorkerOutcome, u as CodeExecutionWorkerTask } from "../types-CqVuKsLC.mjs";
2
2
 
3
3
  //#region runtimes/node/src/code-execution/worker-entry.d.ts
4
4
  /**
@@ -1,3 +1,3 @@
1
- import { A as RehydrateAgentRequest, B as AdapterSchemas, C as aggregateTeardownResults, D as AcknowledgeCallerSettlementSchema, E as AcknowledgeCallerSettlementResponse, F as StartAgentRequest, H as AdapterSubjects, I as StartAgentResponse, L as StartAgentSchema, M as RehydrateAgentSchema, N as AdapterStartDisposition, O as CallerSettlementAckRefusal, P as AdapterStartDispositionSchema, R as AdapterRuntimeOptions, S as aggregateTeardownEvidence, T as AcknowledgeCallerSettlementRequest, V as AdapterNamespace, _ as SessionUsageSchema, a as UnresolvedProviderContext, b as TeardownEvidence, c as AdapterSelectionSchema, d as AgentSelectionBaseSchema, f as AgentSelectionKindMap, g as SessionUsage, h as SessionDiscoveredSchema, i as ResolvedProviderContextSchema, j as RehydrateAgentResponse, k as CallerSettlementAckRefusalSchema, 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 ConnectorTeardownResult, w as teardownWasObserved, x as TeardownEvidenceSchema, y as ConnectorTeardownResultSchema, z as AdapterRuntimeOptionsSchema } from "../../index-DOD7Lmgu.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-BuGN3RZs.mjs";
1
+ import { A as RehydrateAgentRequest, B as AdapterSchemas, C as aggregateTeardownResults, D as AcknowledgeCallerSettlementSchema, E as AcknowledgeCallerSettlementResponse, F as StartAgentRequest, H as AdapterSubjects, I as StartAgentResponse, L as StartAgentSchema, M as RehydrateAgentSchema, N as AdapterStartDisposition, O as CallerSettlementAckRefusal, P as AdapterStartDispositionSchema, R as AdapterRuntimeOptions, S as aggregateTeardownEvidence, T as AcknowledgeCallerSettlementRequest, V as AdapterNamespace, _ as SessionUsageSchema, a as UnresolvedProviderContext, b as TeardownEvidence, c as AdapterSelectionSchema, d as AgentSelectionBaseSchema, f as AgentSelectionKindMap, g as SessionUsage, h as SessionDiscoveredSchema, i as ResolvedProviderContextSchema, j as RehydrateAgentResponse, k as CallerSettlementAckRefusalSchema, 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 ConnectorTeardownResult, w as teardownWasObserved, x as TeardownEvidenceSchema, y as ConnectorTeardownResultSchema, z as AdapterRuntimeOptionsSchema } from "../../index-D5Lw1UsO.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-CmP7L5g2.mjs";
3
3
  export { AcknowledgeCallerSettlementRequest, AcknowledgeCallerSettlementResponse, AcknowledgeCallerSettlementSchema, AdapterNamespace, AdapterRuntimeOptions, AdapterRuntimeOptionsSchema, AdapterSchemas, AdapterSelection, AdapterSelectionSchema, AdapterStartDisposition, AdapterStartDispositionSchema, AdapterSubjects, AgentSelection, AgentSelectionBase, AgentSelectionBaseSchema, AgentSelectionKindMap, AgentSelectionSchema, COMPRESS_SESSION_LINEAGE_KIND, CallerSettlementAckRefusal, CallerSettlementAckRefusalSchema, CompressSessionLineageSchema, ConnectorTeardownResult, ConnectorTeardownResultSchema, 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, TeardownEvidence, TeardownEvidenceSchema, UnresolvedProviderContext, UnresolvedProviderContextSchema, aggregateTeardownEvidence, aggregateTeardownResults, teardownWasObserved };
@@ -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-BuGN3RZs.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-CmP7L5g2.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 ArtifactPartAreaSchema, A as ConfidenceMetadata, B as ARTIFACT_CATEGORY_LIFECYCLE_STATES, C as ArtifactScope, D as ConfidenceBasisSchema, E as ConfidenceBasis, F as EvidenceRefSchema, G as ArtifactEvidenceRequirementsSchema, H as ArtifactCategorySchema, I as LocalRef, J as ArtifactKindView, K as ArtifactKindRegistration, L as LocalRefSchema, M as EntityRef, N as EntityRefSchema, O as ConfidenceLevel, P as EvidenceRef, Q as ArtifactPartArea, R as RelationTypeRegistration, S as ArtifactRevisionSchema, T as ArtifactStatusPathSchema, U as ArtifactDataPathSchema, V as ArtifactCategory, W as ArtifactEvidenceRequirements, X as ArtifactLifecycleState, Y as ArtifactKindViewSchema, Z as ArtifactLifecycleStateSchema, _ as ArtifactRelationTarget, a as ArtifactCompareResponse, at as ArtifactUniquenessSelectorSchema, b as ArtifactRepresentationsSchema, c as ArtifactObservationSchema, d as ArtifactQueryScope, et as ArtifactRelationRequirement, f as ArtifactQueryScopeSchema, g as ArtifactRelationSchema, h as ArtifactRelationQueryTargetSchema, i as ArtifactCompareRequestSchema, it as ArtifactUniquenessRuleSchema, j as ConfidenceMetadataSchema, k as ConfidenceLevelSchema, l as ArtifactQueryRequest, m as ArtifactRelationQueryTarget, n as ArtifactActorSchema, nt as ArtifactSchemaVersionSchema, o as ArtifactCompareResponseSchema, ot as ArtifactRef, p as ArtifactRelation, q as ArtifactKindRegistrationSchema, r as ArtifactCompareRequest, rt as ArtifactUniquenessRule, s as ArtifactObservation, st as ArtifactRefSchema, t as ArtifactActor, tt as ArtifactRelationRequirementSchema, u as ArtifactQueryRequestSchema, v as ArtifactRelationTargetSchema, w as ArtifactScopeSchema, x as ArtifactRevision, y as ArtifactRepresentations, z as RelationTypeRegistrationSchema } from "../../schemas-rMUsvzeJ.mjs";
2
- import { $ as ArtifactLifecycleTransitionedEntry, $n as ArtifactContextSelector, $t as isArtifactDataPathDeclared, A as ArtifactLifecycleSchemas, An as ArtifactSubjects, Ar as EvidenceResolveResponseSchema, At as ArtifactPatchSegment, B as ArtifactLifecycleIdentitySchema, Bn as UnresolvedArtifactContextNode, Bt as ARTIFACT_RESOLVE_PART_ERROR_CODES, C as ArtifactLifecycleGetResponseSchema, Cn as ArtifactResolveRequest, Cr as defineArtifactLifecycleHooks, Ct as ArtifactPatchOperator, D as ArtifactLifecycleHistoryResponseSchema, Dn as ArtifactRevisedPayload, Dr as EvidenceResolveRequest, Dt as ArtifactPatchRequestSchema, E as ArtifactLifecycleHistoryResponse, En as ArtifactReviseResponse, Er as extractEvidenceOccurrences, Et as ArtifactPatchRequest, F as ArtifactLifecycleCurrent, Fn as hydrateArtifactContextTree, Ft as artifactPatchFilterName, G as ArtifactLifecycleSituation, Gn as ResolvedArtifactContextWire, Gt as ArtifactResolvePartErrorSchema, H as ArtifactLifecycleInitializedEntrySchema, Hn as ArtifactContextRefEntrySchema, Ht as ArtifactRelationSourceIssue, I as ArtifactLifecycleCurrentSchema, In as ArtifactContextNode, It as artifactPatchInstructions, J as ArtifactLifecycleSnapshotSchema, Jn as ArtifactContextKnownRenderHint, Jt as resolveArtifactPart, K as ArtifactLifecycleSituationSchema, Kn as ResolvedArtifactContextWireSchema, Kt as checkArtifactPartIds, L as ArtifactLifecycleError, Ln as ArtifactContextRootNode, Lt as artifactPatchPathFilterNames, M as ArtifactLifecycleTransitionResponseSchema, Mn as ArtifactResolvePartRequestSchema, Mr as EVIDENCE_VALUE_TYPE, Mt as ArtifactPatchSuccessSchema, N as toArtifactLifecycleFailure, Nn as ArtifactResolvePartResponse, Nr as EvidenceValue, Nt as ArtifactPatchTarget, O as ArtifactLifecycleRejectedPayload, On as ArtifactSchemas, Or as EvidenceResolveRequestSchema, Ot as ArtifactPatchResponse, P as ARTIFACT_LIFECYCLE_REJECTED_CODE, Pn as ArtifactResolvePartResponseSchema, Pr as EvidenceValueSchema, Pt as ArtifactPatchTargetSchema, Q as ArtifactLifecycleTransitionIntentSchema, Qn as ArtifactContextRenderHintSchema, Qt as inspectArtifactDataLocation, R as ArtifactLifecycleHistoryEntry, Rn as ArtifactContextTree, Rt as artifactPatchSegment, S as ArtifactLifecycleGetResponse, Sn as ArtifactResolveContextResponse, Sr as BeforeArtifactHookRegistration, St as ArtifactPatchOperationResultSchema, T as ArtifactLifecycleHistoryRequestSchema, Tn as ArtifactReviseRequest, Tr as EvidenceOccurrenceExtractionOptions, Tt as ArtifactPatchPersistedSchema, U as ArtifactLifecycleRejection, Un as ArtifactContextUnresolvedReason, Ut as ArtifactResolvePartError, V as ArtifactLifecycleInitializedEntry, Vn as ArtifactContextRefEntry, Vt as ArtifactPartResolution, W as ArtifactLifecycleRejectionSchema, Wn as ArtifactContextUnresolvedReasonSchema, Wt as ArtifactResolvePartErrorCode, X as ArtifactLifecycleTransitionCommandSchema, Xn as ArtifactContextRelationSelectorSchema, Xt as ARTIFACT_COLLECTION_ELEMENT_SEGMENT, Y as ArtifactLifecycleTransitionCommand, Yn as ArtifactContextRelationSelector, Yt as validateArtifactPartAreas, Z as ArtifactLifecycleTransitionIntent, Zn as ArtifactContextRenderHint, Zt as ArtifactSchemaFragment, _ as ArtifactLifecycleCommittedPayloadSchema, _n as ArtifactRelationTypeListRequest, _r as ArtifactLifecycleHookDefinition, _t as ArtifactPatchIssue, a as UniquenessKeyPart, an as ArtifactEvidenceResolveResponse, ar as compileArtifactDataChecker, at as ARTIFACT_PATCH_ERROR_CODES, b as ArtifactLifecycleGetRequest, bn as ArtifactRelationTypeRegisterResponse, br as ArtifactLifecycleSemanticEvent, bt as ArtifactPatchMigrationSchema, c as assessUniquenessSupport, cn as ArtifactKindListResponse, cr as ArtifactDataOf, ct as ArtifactPatchArrayFilterSchema, d as ArtifactRelationTargetIdentity, dn as ArtifactNamespace, dr as defineArtifactKind, dt as ArtifactPatchDryRunSchema, en as readArtifactTitle, er as ArtifactContextSelectorSchema, et as ArtifactLifecycleTransitionedEntrySchema, f as ArtifactRelationTargetIdentitySchema, fn as ArtifactObservationAddedPayload, fr as AfterArtifactHookContext, ft as ArtifactPatchError, g as ArtifactLifecycleCommittedPayload, gn as ArtifactRelationAddedPayload, gr as ArtifactHookFilter, gt as ArtifactPatchInstruction, h as serializeArtifactRelationTargetIdentity, hn as ArtifactQueryResponse, hr as ArtifactDraftPatch, ht as ArtifactPatchFailureSchema, i as UniquenessKeyIssueReason, in as ArtifactEvidenceResolveRequest, ir as ArtifactDataValidator, it as isArtifactLifecycleTransitionAllowed, j as ArtifactLifecycleTransitionResponse, jn as ArtifactResolvePartRequest, jr as ARTIFACT_VALUE_TYPE_KEYWORD, jt as ArtifactPatchSuccess, k as ArtifactLifecycleRejectedPayloadSchema, kn as ArtifactStatusChangedPayload, kr as EvidenceResolveResponse, kt as ArtifactPatchResponseSchema, l as buildUniquenessKeys, ln as ArtifactKindRegisterRequest, lr as ArtifactKindDefinition, lt as ArtifactPatchDocument, m as describeArtifactRelationTargetIdentity, mn as ArtifactPatchSubjectResponse, mr as ArtifactDraft, mt as ArtifactPatchErrorSchema, n as UniquenessKey, nn as ArtifactCreateResponse, nr as ArtifactDataChecker, nt as advanceArtifactLifecycle, o as UniquenessSelectorCapability, on as ArtifactKindChangedPayload, or as compileArtifactDataSchema, ot as ARTIFACT_PATCH_OPERATORS, p as artifactRelationTargetIdentity, pn as ArtifactPatchSubjectRequest, pr as AfterArtifactHookRegistration, pt as ArtifactPatchErrorCode, q as ArtifactLifecycleSnapshot, qn as ARTIFACT_CONTEXT_RENDER_HINTS, qt as checkArtifactRelationSourceParts, r as UniquenessKeyIssue, rn as ArtifactCreatedPayload, rr as ArtifactDataIssue, rt as initialArtifactLifecycle, s as UniquenessSupportIssue, sn as ArtifactKindListRequest, sr as AnyArtifactKindDefinition, st as ArtifactPatchArrayFilter, t as BuildUniquenessKeysResult, tn as ArtifactCreateRequest, tr as ArtifactDataCheck, tt as ArtifactLifecycleVersionSchema, u as describeUniquenessKey, un as ArtifactKindRegisterResponse, ur as ArtifactOf, ut as ArtifactPatchDocumentSchema, v as ArtifactLifecycleFailure, vn as ArtifactRelationTypeListResponse, vr as ArtifactLifecycleHookEvent, vt as ArtifactPatchIssueSchema, w as ArtifactLifecycleHistoryRequest, wn as ArtifactResolveResponse, wr as EvidenceOccurrence, wt as ArtifactPatchPathSchema, x as ArtifactLifecycleGetRequestSchema, xn as ArtifactResolveContextRequest, xr as BeforeArtifactHookContext, xt as ArtifactPatchOperationResult, y as ArtifactLifecycleFailureSchema, yn as ArtifactRelationTypeRegisterRequest, yr as ArtifactLifecycleHookRegistration, yt as ArtifactPatchMigration, z as ArtifactLifecycleHistoryEntrySchema, zn as ResolvedArtifactContextNode, zt as artifactPatchSegments } from "../../index-Di-R1gmo.mjs";
1
+ import { $ as ArtifactPartAreaSchema, A as ConfidenceMetadata, B as ARTIFACT_CATEGORY_LIFECYCLE_STATES, C as ArtifactScope, D as ConfidenceBasisSchema, E as ConfidenceBasis, F as EvidenceRefSchema, G as ArtifactEvidenceRequirementsSchema, H as ArtifactCategorySchema, I as LocalRef, J as ArtifactKindView, K as ArtifactKindRegistration, L as LocalRefSchema, M as EntityRef, N as EntityRefSchema, O as ConfidenceLevel, P as EvidenceRef, Q as ArtifactPartArea, R as RelationTypeRegistration, S as ArtifactRevisionSchema, T as ArtifactStatusPathSchema, U as ArtifactDataPathSchema, V as ArtifactCategory, W as ArtifactEvidenceRequirements, X as ArtifactLifecycleState, Y as ArtifactKindViewSchema, Z as ArtifactLifecycleStateSchema, _ as ArtifactRelationTarget, a as ArtifactCompareResponse, at as ArtifactUniquenessSelectorSchema, b as ArtifactRepresentationsSchema, c as ArtifactObservationSchema, d as ArtifactQueryScope, et as ArtifactRelationRequirement, f as ArtifactQueryScopeSchema, g as ArtifactRelationSchema, h as ArtifactRelationQueryTargetSchema, i as ArtifactCompareRequestSchema, it as ArtifactUniquenessRuleSchema, j as ConfidenceMetadataSchema, k as ConfidenceLevelSchema, l as ArtifactQueryRequest, m as ArtifactRelationQueryTarget, n as ArtifactActorSchema, nt as ArtifactSchemaVersionSchema, o as ArtifactCompareResponseSchema, ot as ArtifactRef, p as ArtifactRelation, q as ArtifactKindRegistrationSchema, r as ArtifactCompareRequest, rt as ArtifactUniquenessRule, s as ArtifactObservation, st as ArtifactRefSchema, t as ArtifactActor, tt as ArtifactRelationRequirementSchema, u as ArtifactQueryRequestSchema, v as ArtifactRelationTargetSchema, w as ArtifactScopeSchema, x as ArtifactRevision, y as ArtifactRepresentations, z as RelationTypeRegistrationSchema } from "../../schemas-rliUGyrt.mjs";
2
+ import { $ as ArtifactLifecycleTransitionedEntry, $n as ArtifactContextSelector, $t as isArtifactDataPathDeclared, A as ArtifactLifecycleSchemas, An as ArtifactSubjects, Ar as EvidenceResolveResponseSchema, At as ArtifactPatchSegment, B as ArtifactLifecycleIdentitySchema, Bn as UnresolvedArtifactContextNode, Bt as ARTIFACT_RESOLVE_PART_ERROR_CODES, C as ArtifactLifecycleGetResponseSchema, Cn as ArtifactResolveRequest, Cr as defineArtifactLifecycleHooks, Ct as ArtifactPatchOperator, D as ArtifactLifecycleHistoryResponseSchema, Dn as ArtifactRevisedPayload, Dr as EvidenceResolveRequest, Dt as ArtifactPatchRequestSchema, E as ArtifactLifecycleHistoryResponse, En as ArtifactReviseResponse, Er as extractEvidenceOccurrences, Et as ArtifactPatchRequest, F as ArtifactLifecycleCurrent, Fn as hydrateArtifactContextTree, Ft as artifactPatchFilterName, G as ArtifactLifecycleSituation, Gn as ResolvedArtifactContextWire, Gt as ArtifactResolvePartErrorSchema, H as ArtifactLifecycleInitializedEntrySchema, Hn as ArtifactContextRefEntrySchema, Ht as ArtifactRelationSourceIssue, I as ArtifactLifecycleCurrentSchema, In as ArtifactContextNode, It as artifactPatchInstructions, J as ArtifactLifecycleSnapshotSchema, Jn as ArtifactContextKnownRenderHint, Jt as resolveArtifactPart, K as ArtifactLifecycleSituationSchema, Kn as ResolvedArtifactContextWireSchema, Kt as checkArtifactPartIds, L as ArtifactLifecycleError, Ln as ArtifactContextRootNode, Lt as artifactPatchPathFilterNames, M as ArtifactLifecycleTransitionResponseSchema, Mn as ArtifactResolvePartRequestSchema, Mr as EVIDENCE_VALUE_TYPE, Mt as ArtifactPatchSuccessSchema, N as toArtifactLifecycleFailure, Nn as ArtifactResolvePartResponse, Nr as EvidenceValue, Nt as ArtifactPatchTarget, O as ArtifactLifecycleRejectedPayload, On as ArtifactSchemas, Or as EvidenceResolveRequestSchema, Ot as ArtifactPatchResponse, P as ARTIFACT_LIFECYCLE_REJECTED_CODE, Pn as ArtifactResolvePartResponseSchema, Pr as EvidenceValueSchema, Pt as ArtifactPatchTargetSchema, Q as ArtifactLifecycleTransitionIntentSchema, Qn as ArtifactContextRenderHintSchema, Qt as inspectArtifactDataLocation, R as ArtifactLifecycleHistoryEntry, Rn as ArtifactContextTree, Rt as artifactPatchSegment, S as ArtifactLifecycleGetResponse, Sn as ArtifactResolveContextResponse, Sr as BeforeArtifactHookRegistration, St as ArtifactPatchOperationResultSchema, T as ArtifactLifecycleHistoryRequestSchema, Tn as ArtifactReviseRequest, Tr as EvidenceOccurrenceExtractionOptions, Tt as ArtifactPatchPersistedSchema, U as ArtifactLifecycleRejection, Un as ArtifactContextUnresolvedReason, Ut as ArtifactResolvePartError, V as ArtifactLifecycleInitializedEntry, Vn as ArtifactContextRefEntry, Vt as ArtifactPartResolution, W as ArtifactLifecycleRejectionSchema, Wn as ArtifactContextUnresolvedReasonSchema, Wt as ArtifactResolvePartErrorCode, X as ArtifactLifecycleTransitionCommandSchema, Xn as ArtifactContextRelationSelectorSchema, Xt as ARTIFACT_COLLECTION_ELEMENT_SEGMENT, Y as ArtifactLifecycleTransitionCommand, Yn as ArtifactContextRelationSelector, Yt as validateArtifactPartAreas, Z as ArtifactLifecycleTransitionIntent, Zn as ArtifactContextRenderHint, Zt as ArtifactSchemaFragment, _ as ArtifactLifecycleCommittedPayloadSchema, _n as ArtifactRelationTypeListRequest, _r as ArtifactLifecycleHookDefinition, _t as ArtifactPatchIssue, a as UniquenessKeyPart, an as ArtifactEvidenceResolveResponse, ar as compileArtifactDataChecker, at as ARTIFACT_PATCH_ERROR_CODES, b as ArtifactLifecycleGetRequest, bn as ArtifactRelationTypeRegisterResponse, br as ArtifactLifecycleSemanticEvent, bt as ArtifactPatchMigrationSchema, c as assessUniquenessSupport, cn as ArtifactKindListResponse, cr as ArtifactDataOf, ct as ArtifactPatchArrayFilterSchema, d as ArtifactRelationTargetIdentity, dn as ArtifactNamespace, dr as defineArtifactKind, dt as ArtifactPatchDryRunSchema, en as readArtifactTitle, er as ArtifactContextSelectorSchema, et as ArtifactLifecycleTransitionedEntrySchema, f as ArtifactRelationTargetIdentitySchema, fn as ArtifactObservationAddedPayload, fr as AfterArtifactHookContext, ft as ArtifactPatchError, g as ArtifactLifecycleCommittedPayload, gn as ArtifactRelationAddedPayload, gr as ArtifactHookFilter, gt as ArtifactPatchInstruction, h as serializeArtifactRelationTargetIdentity, hn as ArtifactQueryResponse, hr as ArtifactDraftPatch, ht as ArtifactPatchFailureSchema, i as UniquenessKeyIssueReason, in as ArtifactEvidenceResolveRequest, ir as ArtifactDataValidator, it as isArtifactLifecycleTransitionAllowed, j as ArtifactLifecycleTransitionResponse, jn as ArtifactResolvePartRequest, jr as ARTIFACT_VALUE_TYPE_KEYWORD, jt as ArtifactPatchSuccess, k as ArtifactLifecycleRejectedPayloadSchema, kn as ArtifactStatusChangedPayload, kr as EvidenceResolveResponse, kt as ArtifactPatchResponseSchema, l as buildUniquenessKeys, ln as ArtifactKindRegisterRequest, lr as ArtifactKindDefinition, lt as ArtifactPatchDocument, m as describeArtifactRelationTargetIdentity, mn as ArtifactPatchSubjectResponse, mr as ArtifactDraft, mt as ArtifactPatchErrorSchema, n as UniquenessKey, nn as ArtifactCreateResponse, nr as ArtifactDataChecker, nt as advanceArtifactLifecycle, o as UniquenessSelectorCapability, on as ArtifactKindChangedPayload, or as compileArtifactDataSchema, ot as ARTIFACT_PATCH_OPERATORS, p as artifactRelationTargetIdentity, pn as ArtifactPatchSubjectRequest, pr as AfterArtifactHookRegistration, pt as ArtifactPatchErrorCode, q as ArtifactLifecycleSnapshot, qn as ARTIFACT_CONTEXT_RENDER_HINTS, qt as checkArtifactRelationSourceParts, r as UniquenessKeyIssue, rn as ArtifactCreatedPayload, rr as ArtifactDataIssue, rt as initialArtifactLifecycle, s as UniquenessSupportIssue, sn as ArtifactKindListRequest, sr as AnyArtifactKindDefinition, st as ArtifactPatchArrayFilter, t as BuildUniquenessKeysResult, tn as ArtifactCreateRequest, tr as ArtifactDataCheck, tt as ArtifactLifecycleVersionSchema, u as describeUniquenessKey, un as ArtifactKindRegisterResponse, ur as ArtifactOf, ut as ArtifactPatchDocumentSchema, v as ArtifactLifecycleFailure, vn as ArtifactRelationTypeListResponse, vr as ArtifactLifecycleHookEvent, vt as ArtifactPatchIssueSchema, w as ArtifactLifecycleHistoryRequest, wn as ArtifactResolveResponse, wr as EvidenceOccurrence, wt as ArtifactPatchPathSchema, x as ArtifactLifecycleGetRequestSchema, xn as ArtifactResolveContextRequest, xr as BeforeArtifactHookContext, xt as ArtifactPatchOperationResult, y as ArtifactLifecycleFailureSchema, yn as ArtifactRelationTypeRegisterRequest, yr as ArtifactLifecycleHookRegistration, yt as ArtifactPatchMigration, z as ArtifactLifecycleHistoryEntrySchema, zn as ResolvedArtifactContextNode, zt as artifactPatchSegments } from "../../index-BYwt4CNf.mjs";
3
3
  export { ARTIFACT_CATEGORY_LIFECYCLE_STATES, ARTIFACT_COLLECTION_ELEMENT_SEGMENT, ARTIFACT_CONTEXT_RENDER_HINTS, ARTIFACT_LIFECYCLE_REJECTED_CODE, ARTIFACT_PATCH_ERROR_CODES, ARTIFACT_PATCH_OPERATORS, ARTIFACT_RESOLVE_PART_ERROR_CODES, ARTIFACT_VALUE_TYPE_KEYWORD, AfterArtifactHookContext, AfterArtifactHookRegistration, AnyArtifactKindDefinition, ArtifactActor, ArtifactActorSchema, ArtifactCategory, ArtifactCategorySchema, ArtifactCompareRequest, ArtifactCompareRequestSchema, ArtifactCompareResponse, ArtifactCompareResponseSchema, ArtifactContextKnownRenderHint, ArtifactContextNode, ArtifactContextRefEntry, ArtifactContextRefEntrySchema, ArtifactContextRelationSelector, ArtifactContextRelationSelectorSchema, ArtifactContextRenderHint, ArtifactContextRenderHintSchema, ArtifactContextRootNode, ArtifactContextSelector, ArtifactContextSelectorSchema, ArtifactContextTree, ArtifactContextUnresolvedReason, ArtifactContextUnresolvedReasonSchema, ArtifactCreateRequest, ArtifactCreateResponse, ArtifactCreatedPayload, ArtifactDataCheck, ArtifactDataChecker, ArtifactDataIssue, ArtifactDataOf, ArtifactDataPathSchema, ArtifactDataValidator, ArtifactDraft, ArtifactDraftPatch, ArtifactEvidenceRequirements, ArtifactEvidenceRequirementsSchema, ArtifactEvidenceResolveRequest, ArtifactEvidenceResolveResponse, ArtifactHookFilter, ArtifactKindChangedPayload, ArtifactKindDefinition, ArtifactKindListRequest, ArtifactKindListResponse, ArtifactKindRegisterRequest, ArtifactKindRegisterResponse, ArtifactKindRegistration, ArtifactKindRegistrationSchema, ArtifactKindView, ArtifactKindViewSchema, ArtifactLifecycleCommittedPayload, ArtifactLifecycleCommittedPayloadSchema, ArtifactLifecycleCurrent, ArtifactLifecycleCurrentSchema, ArtifactLifecycleError, ArtifactLifecycleFailure, ArtifactLifecycleFailureSchema, ArtifactLifecycleGetRequest, ArtifactLifecycleGetRequestSchema, ArtifactLifecycleGetResponse, ArtifactLifecycleGetResponseSchema, ArtifactLifecycleHistoryEntry, ArtifactLifecycleHistoryEntrySchema, ArtifactLifecycleHistoryRequest, ArtifactLifecycleHistoryRequestSchema, ArtifactLifecycleHistoryResponse, ArtifactLifecycleHistoryResponseSchema, ArtifactLifecycleHookDefinition, ArtifactLifecycleHookEvent, ArtifactLifecycleHookRegistration, ArtifactLifecycleIdentitySchema, ArtifactLifecycleInitializedEntry, ArtifactLifecycleInitializedEntrySchema, ArtifactLifecycleRejectedPayload, ArtifactLifecycleRejectedPayloadSchema, ArtifactLifecycleRejection, ArtifactLifecycleRejectionSchema, ArtifactLifecycleSchemas, ArtifactLifecycleSemanticEvent, ArtifactLifecycleSituation, ArtifactLifecycleSituationSchema, ArtifactLifecycleSnapshot, ArtifactLifecycleSnapshotSchema, ArtifactLifecycleState, ArtifactLifecycleStateSchema, ArtifactLifecycleTransitionCommand, ArtifactLifecycleTransitionCommandSchema, ArtifactLifecycleTransitionIntent, ArtifactLifecycleTransitionIntentSchema, ArtifactLifecycleTransitionResponse, ArtifactLifecycleTransitionResponseSchema, ArtifactLifecycleTransitionedEntry, ArtifactLifecycleTransitionedEntrySchema, ArtifactLifecycleVersionSchema, ArtifactNamespace, ArtifactObservation, ArtifactObservationAddedPayload, ArtifactObservationSchema, ArtifactOf, ArtifactPartArea, ArtifactPartAreaSchema, ArtifactPartResolution, ArtifactPatchArrayFilter, ArtifactPatchArrayFilterSchema, ArtifactPatchDocument, ArtifactPatchDocumentSchema, ArtifactPatchDryRunSchema, ArtifactPatchError, ArtifactPatchErrorCode, ArtifactPatchErrorSchema, ArtifactPatchFailureSchema, ArtifactPatchInstruction, ArtifactPatchIssue, ArtifactPatchIssueSchema, ArtifactPatchMigration, ArtifactPatchMigrationSchema, ArtifactPatchOperationResult, ArtifactPatchOperationResultSchema, ArtifactPatchOperator, ArtifactPatchPathSchema, ArtifactPatchPersistedSchema, ArtifactPatchRequest, ArtifactPatchRequestSchema, ArtifactPatchResponse, ArtifactPatchResponseSchema, ArtifactPatchSegment, ArtifactPatchSubjectRequest, ArtifactPatchSubjectResponse, ArtifactPatchSuccess, ArtifactPatchSuccessSchema, ArtifactPatchTarget, ArtifactPatchTargetSchema, ArtifactQueryRequest, ArtifactQueryRequestSchema, ArtifactQueryResponse, ArtifactQueryScope, ArtifactQueryScopeSchema, ArtifactRef, ArtifactRefSchema, ArtifactRelation, ArtifactRelationAddedPayload, ArtifactRelationQueryTarget, ArtifactRelationQueryTargetSchema, ArtifactRelationRequirement, ArtifactRelationRequirementSchema, ArtifactRelationSchema, ArtifactRelationSourceIssue, ArtifactRelationTarget, ArtifactRelationTargetIdentity, ArtifactRelationTargetIdentitySchema, ArtifactRelationTargetSchema, ArtifactRelationTypeListRequest, ArtifactRelationTypeListResponse, ArtifactRelationTypeRegisterRequest, ArtifactRelationTypeRegisterResponse, ArtifactRepresentations, ArtifactRepresentationsSchema, ArtifactResolveContextRequest, ArtifactResolveContextResponse, ArtifactResolvePartError, ArtifactResolvePartErrorCode, ArtifactResolvePartErrorSchema, ArtifactResolvePartRequest, ArtifactResolvePartRequestSchema, ArtifactResolvePartResponse, ArtifactResolvePartResponseSchema, ArtifactResolveRequest, ArtifactResolveResponse, ArtifactReviseRequest, ArtifactReviseResponse, ArtifactRevisedPayload, ArtifactRevision, ArtifactRevisionSchema, ArtifactSchemaFragment, ArtifactSchemaVersionSchema, ArtifactSchemas, ArtifactScope, ArtifactScopeSchema, ArtifactStatusChangedPayload, ArtifactStatusPathSchema, ArtifactSubjects, ArtifactUniquenessRule, ArtifactUniquenessRuleSchema, ArtifactUniquenessSelectorSchema, BeforeArtifactHookContext, BeforeArtifactHookRegistration, BuildUniquenessKeysResult, ConfidenceBasis, ConfidenceBasisSchema, ConfidenceLevel, ConfidenceLevelSchema, ConfidenceMetadata, ConfidenceMetadataSchema, EVIDENCE_VALUE_TYPE, EntityRef, EntityRefSchema, EvidenceOccurrence, EvidenceOccurrenceExtractionOptions, EvidenceRef, EvidenceRefSchema, EvidenceResolveRequest, EvidenceResolveRequestSchema, EvidenceResolveResponse, EvidenceResolveResponseSchema, EvidenceValue, EvidenceValueSchema, LocalRef, LocalRefSchema, RelationTypeRegistration, RelationTypeRegistrationSchema, ResolvedArtifactContextNode, ResolvedArtifactContextWire, ResolvedArtifactContextWireSchema, UniquenessKey, UniquenessKeyIssue, UniquenessKeyIssueReason, UniquenessKeyPart, UniquenessSelectorCapability, UniquenessSupportIssue, UnresolvedArtifactContextNode, advanceArtifactLifecycle, artifactPatchFilterName, artifactPatchInstructions, artifactPatchPathFilterNames, artifactPatchSegment, artifactPatchSegments, artifactRelationTargetIdentity, assessUniquenessSupport, buildUniquenessKeys, checkArtifactPartIds, checkArtifactRelationSourceParts, compileArtifactDataChecker, compileArtifactDataSchema, defineArtifactKind, defineArtifactLifecycleHooks, describeArtifactRelationTargetIdentity, describeUniquenessKey, extractEvidenceOccurrences, hydrateArtifactContextTree, initialArtifactLifecycle, inspectArtifactDataLocation, isArtifactDataPathDeclared, isArtifactLifecycleTransitionAllowed, readArtifactTitle, resolveArtifactPart, serializeArtifactRelationTargetIdentity, toArtifactLifecycleFailure, validateArtifactPartAreas };
@@ -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-B2bxgKiK.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-CaYBrIkL.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-D9BLsMs8.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-DF-j-XHg.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,4 +1,4 @@
1
- import { _ as AutomationTriggerKindSchema, a as AutomationTriggerListener, c as AutomationTriggerSubscription, d as createAutomationTriggerDescriptor, f as defineAutomationTrigger, g as AutomationTriggerDescriptorSchema, h as AutomationTriggerDescriptor, i as AutomationTriggerEvent, l as AutomationTriggerType, m as AutomationTriggerBindingSchema, n as AutomationTriggerBinding, o as AutomationTriggerParams, p as toAutomationTriggerType, r as AutomationTriggerCleanup, s as AutomationTriggerPayload, t as AutomationTriggerActivationContext, u as DefinedAutomationTrigger, v as AutomationTriggerLocalNameSchema } from "../../definition-DeIGoROj.mjs";
2
- import { t as ExtensionAutomationTriggersContribution } from "../../contribution-1GL7Rjaq.mjs";
3
- import { a as AutomationTriggerSchemas, i as AutomationTriggerNamespace, n as AutomationTriggerListRequest, o as AutomationTriggerSubjects, r as AutomationTriggerListResponse, t as AutomationTriggerChangedPayload } from "../../index-YOXWpZAS.mjs";
1
+ import { _ as AutomationTriggerKindSchema, a as AutomationTriggerListener, c as AutomationTriggerSubscription, d as createAutomationTriggerDescriptor, f as defineAutomationTrigger, g as AutomationTriggerDescriptorSchema, h as AutomationTriggerDescriptor, i as AutomationTriggerEvent, l as AutomationTriggerType, m as AutomationTriggerBindingSchema, n as AutomationTriggerBinding, o as AutomationTriggerParams, p as toAutomationTriggerType, r as AutomationTriggerCleanup, s as AutomationTriggerPayload, t as AutomationTriggerActivationContext, u as DefinedAutomationTrigger, v as AutomationTriggerLocalNameSchema } from "../../definition-DWhjp0db.mjs";
2
+ import { t as ExtensionAutomationTriggersContribution } from "../../contribution-kpR61mnG.mjs";
3
+ import { a as AutomationTriggerSchemas, i as AutomationTriggerNamespace, n as AutomationTriggerListRequest, o as AutomationTriggerSubjects, r as AutomationTriggerListResponse, t as AutomationTriggerChangedPayload } from "../../index-CURT4JaX.mjs";
4
4
  export { AutomationTriggerActivationContext, AutomationTriggerBinding, AutomationTriggerBindingSchema, AutomationTriggerChangedPayload, AutomationTriggerCleanup, AutomationTriggerDescriptor, AutomationTriggerDescriptorSchema, AutomationTriggerEvent, AutomationTriggerKindSchema, AutomationTriggerListRequest, AutomationTriggerListResponse, AutomationTriggerListener, AutomationTriggerLocalNameSchema, AutomationTriggerNamespace, AutomationTriggerParams, AutomationTriggerPayload, AutomationTriggerSchemas, AutomationTriggerSubjects, AutomationTriggerSubscription, AutomationTriggerType, DefinedAutomationTrigger, ExtensionAutomationTriggersContribution, createAutomationTriggerDescriptor, defineAutomationTrigger, toAutomationTriggerType };
@@ -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-DGoJayJg.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-BV3nQpdO.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,2 +1,2 @@
1
- import { $ as ProviderAllocationRef, $n as ReviewTriggerResult, $t as STTResult, A as AllocationInspection, An as VisionAnalysisRequest, Ar as VCSCommitStatus, At as CheckRunDetail, B as IWorkerRecoveryCapability, Bn as unregisterReviewerProcessor, Br as VCSRepository, Bt as PullRequestState, C as unregisterWorkerProvider, Cn as STTMode, Cr as VCSSubjects, Ct as WorkerProvisionRequest, D as createAllocationRefCodec, Dn as VisionNamespace, Dr as VCSSchemas, Dt as WorkspaceSnapshotMaterializationSchema, E as ProviderAllocationRefError, En as TTS_MODE_LITERALS, Er as MergeOptions, Et as WorkerRuntimeConnection, F as BoundedRecoveryEvidence, Fn as REVIEWER_PROCESSOR_CAPABILITY_ID, Fr as VCSPullRequestDetail, Ft as FindingsSummarySchema, G as NO_ALLOCATION_OBSERVED_CODE, Gn as IReviewerProcessor, Gr as IServerProvider, Gt as ReadinessAssessmentSchema, H as MATERIALIZATION_MODES, Hn as ReviewSubjects, Hr as registerServerProvider, Ht as PullRequestTarget, I as BoundedRecoveryEvidenceSchema, In as REVIEW_SOURCE_CAPABILITY_ID, Ir as VCSPullRequestDetailSchema, It as LabelInfo, J as OutcomeAckDecision, Jn as ProcessIssueCommentsParams, Jr as UpgradeHandler, Jt as ReviewsSummary, K as NormalizedWorkerCapabilities, Kn as ProcessCliOutputParams, Kr as SERVER_CAPABILITY_ID, Kt as ReviewerState, L as EXHAUSTIVE_SEARCH_UNAVAILABLE_CODE, Ln as registerReviewSource, Lr as VCSPullRequestSchema, Lt as LabelInfoSchema, M as AllocationState, Mn as VisionAnalysisResult, Mr as VCSCheckRun, Mt as ChecksSummary, N as AllocationStateSchema, Nn as VisionAnalysisResultSchema, Nr as VCSCheckRunSchema, Nt as ChecksSummarySchema, O as ALLOCATION_STATES, On as VisionSubjects, Or as VCSReviewComment, Ot as VCSPRNamespace, P as BUILT_IN_THIN_WORKFLOW_PROVIDER_ID, Pn as VisionSchemas, Pr as VCSPullRequest, Pt as FindingsSummary, Q as PROVISIONING_DISCOVERY_KINDS, Qn as ReviewTriggerParams, Qt as VoiceSubjects, R as IRecoverableWorkerProvider, Rn as registerReviewerProcessor, Rr as VCSReview, Rt as LabelSemantic, S as registerWorkerProvider, Sn as VoiceProviderPreference, Sr as VCSNamespace, St as WorkerProvisionOutcome, T as ProviderAllocationRefCodec, Tn as TTSMode, Tr as IVCSProvider, Tt as WorkerRequirementsSchema, U as MaterializationMode, Un as FetchFindingsParams, Ur as unregisterServerProvider, Ut as PullRequestTargetSchema, V as LocalDirectoryMaterializationSchema, Vn as ReviewNamespace, Vr as VCSRepositorySchema, Vt as PullRequestStateSchema, W as MaterializationModeSchema, Wn as IReviewSource, Wr as HttpServerLike, Wt as ReadinessAssessment, X as PRE_REQUEST_REJECTION_CODE, Xn as ReviewRequestContext, Xr as registerAutoLaunchProvider, Xt as VCSPRSchemas, Y as OutcomeAckDecisionSchema, Yn as ProcessReviewBodyParams, Yr as AUTO_LAUNCH_CAPABILITY_ID, Yt as ReviewsSummarySchema, Z as PROVIDER_ALLOCATION_REF_VERSION, Zn as ReviewSourceSnapshot, Zr as IAutoLaunchProvider, Zt as VoiceNamespace, _ as GitHookRewritePair, _n as STTRequest, _r as VCS_CAPABILITY_ID, _t as WorkerHandle, a as GitHookCoverageReason, an as VoiceProviderPreferenceSchema, ar as FindingStatusSchema, at as WORKER_CAPABILITY_ID, b as GitHookNamespace, bn as VoicePipelineLeg, br as VCSEvents, bt as WorkerMaterializationSpecSchema, c as GitHookCoverageRequestSchema, cn as VoiceStatusState, cr as ReviewFinding, ct as WorkerAllocationLifetimeSchema, d as GitHookCoveredOperation, dn as ClientVoiceProviderDescriptor, dr as ReviewIssueCommentSchema, dt as WorkerCapabilitiesSchema, en as STTResultSchema, er as FindingOrigin, et as ProviderAllocationRefSchema, f as GitHookCoveredOperationSchema, fn as ISTTProvider, fr as ReviewSchemas, ft as WorkerConfirmedAbsentOutcome, g as GitHookRewriteEventSchema, gn as STTProviderCapabilities, gr as SuggestedChangeSchema, gt as WorkerDispatchAck, h as GitHookRewriteEvent, hn as ProviderRuntime, hr as SuggestedChange, ht as WorkerDispatch, i as IGitHookEventsProvider, in as VoicePipelineStrategySchemaType, ir as FindingStatus, it as WORKER_ALLOCATION_LIFETIMES, j as AllocationInspectionSchema, jn as VisionAnalysisRequestSchema, jr as VCSCommitStatusSchema, jt as CheckRunDetailSchema, k as AMBIGUOUS_ALLOCATION_MATCH_CODE, kn as IVisionProvider, kr as VCSReviewCommentSchema, kt as VCSPRSubjects, l as GitHookCoverageResponse, ln as VoiceStatusStateSchema, lr as ReviewFindingSchema, lt as WorkerCapabilities, m as GitHookNativeMergeEventSchema, mn as IVocabularyProvider, mr as ReviewSourceRateLimitSchema, mt as WorkerContributionRefSchema, n as registerGitHookEventsProvider, nn as VoicePipelineLegSchemaType, nr as FindingSeverity, nt as ProvisioningDiscoverySchema, o as GitHookCoverageReasonSchema, on as VoiceSchemas, or as FindingTarget, ot as WorkerAllocatedOutcome, p as GitHookNativeMergeEvent, pn as ITTSProvider, pr as ReviewSourceRateLimit, pt as WorkerContributionRef, q as NormalizedWorkerRequirements, qn as ProcessCommentsParams, qr as ServerAddress, qt as ReviewerStateSchema, r as unregisterGitHookEventsProvider, rn as VoicePipelineStrategySchema, rr as FindingSeveritySchema, rt as RECOVERY_EVIDENCE_LIMITS, s as GitHookCoverageRequest, sn as VoiceSessionStartResponse, sr as FindingTargetSchema, st as WorkerAllocationLifetime, t as GIT_HOOK_EVENTS_CAPABILITY_ID, tn as VoicePipelineLegSchema, tr as FindingOriginSchema, tt as ProvisioningDiscovery, u as GitHookCoverageResponseSchema, un as AudioChunk, ur as ReviewIssueComment, ut as WorkerCapabilitiesInput, v as GitHookRewritePairSchema, vn as TTSProviderCapabilities, vr as registerVCSProvider, vt as WorkerInfrastructureConclusion, w as boundedProviderEvidence, wn as STT_MODE_LITERALS, wr as CreatePROptions, wt as WorkerRequirements, x as GitHookSubjects, xn as VoicePipelineStrategy, xr as VCSEventsNamespace, xt as WorkerProviderContext, y as GitHookSchemas, yn as TTSRequest, yr as unregisterVCSProvider, yt as WorkerMaterializationSpec, z as IWorkerProvider, zn as unregisterReviewSource, zr as VCSReviewSchema, zt as LabelSemanticSchema } from "../../index-6bsTWnnc.mjs";
1
+ import { $ as ProviderAllocationRef, $n as ReviewTriggerResult, $t as STTResult, A as AllocationInspection, An as VisionAnalysisRequest, Ar as VCSCommitStatus, At as CheckRunDetail, B as IWorkerRecoveryCapability, Bn as unregisterReviewerProcessor, Br as VCSRepository, Bt as PullRequestState, C as unregisterWorkerProvider, Cn as STTMode, Cr as VCSSubjects, Ct as WorkerProvisionRequest, D as createAllocationRefCodec, Dn as VisionNamespace, Dr as VCSSchemas, Dt as WorkspaceSnapshotMaterializationSchema, E as ProviderAllocationRefError, En as TTS_MODE_LITERALS, Er as MergeOptions, Et as WorkerRuntimeConnection, F as BoundedRecoveryEvidence, Fn as REVIEWER_PROCESSOR_CAPABILITY_ID, Fr as VCSPullRequestDetail, Ft as FindingsSummarySchema, G as NO_ALLOCATION_OBSERVED_CODE, Gn as IReviewerProcessor, Gr as IServerProvider, Gt as ReadinessAssessmentSchema, H as MATERIALIZATION_MODES, Hn as ReviewSubjects, Hr as registerServerProvider, Ht as PullRequestTarget, I as BoundedRecoveryEvidenceSchema, In as REVIEW_SOURCE_CAPABILITY_ID, Ir as VCSPullRequestDetailSchema, It as LabelInfo, J as OutcomeAckDecision, Jn as ProcessIssueCommentsParams, Jr as UpgradeHandler, Jt as ReviewsSummary, K as NormalizedWorkerCapabilities, Kn as ProcessCliOutputParams, Kr as SERVER_CAPABILITY_ID, Kt as ReviewerState, L as EXHAUSTIVE_SEARCH_UNAVAILABLE_CODE, Ln as registerReviewSource, Lr as VCSPullRequestSchema, Lt as LabelInfoSchema, M as AllocationState, Mn as VisionAnalysisResult, Mr as VCSCheckRun, Mt as ChecksSummary, N as AllocationStateSchema, Nn as VisionAnalysisResultSchema, Nr as VCSCheckRunSchema, Nt as ChecksSummarySchema, O as ALLOCATION_STATES, On as VisionSubjects, Or as VCSReviewComment, Ot as VCSPRNamespace, P as BUILT_IN_THIN_WORKFLOW_PROVIDER_ID, Pn as VisionSchemas, Pr as VCSPullRequest, Pt as FindingsSummary, Q as PROVISIONING_DISCOVERY_KINDS, Qn as ReviewTriggerParams, Qt as VoiceSubjects, R as IRecoverableWorkerProvider, Rn as registerReviewerProcessor, Rr as VCSReview, Rt as LabelSemantic, S as registerWorkerProvider, Sn as VoiceProviderPreference, Sr as VCSNamespace, St as WorkerProvisionOutcome, T as ProviderAllocationRefCodec, Tn as TTSMode, Tr as IVCSProvider, Tt as WorkerRequirementsSchema, U as MaterializationMode, Un as FetchFindingsParams, Ur as unregisterServerProvider, Ut as PullRequestTargetSchema, V as LocalDirectoryMaterializationSchema, Vn as ReviewNamespace, Vr as VCSRepositorySchema, Vt as PullRequestStateSchema, W as MaterializationModeSchema, Wn as IReviewSource, Wr as HttpServerLike, Wt as ReadinessAssessment, X as PRE_REQUEST_REJECTION_CODE, Xn as ReviewRequestContext, Xr as registerAutoLaunchProvider, Xt as VCSPRSchemas, Y as OutcomeAckDecisionSchema, Yn as ProcessReviewBodyParams, Yr as AUTO_LAUNCH_CAPABILITY_ID, Yt as ReviewsSummarySchema, Z as PROVIDER_ALLOCATION_REF_VERSION, Zn as ReviewSourceSnapshot, Zr as IAutoLaunchProvider, Zt as VoiceNamespace, _ as GitHookRewritePair, _n as STTRequest, _r as VCS_CAPABILITY_ID, _t as WorkerHandle, a as GitHookCoverageReason, an as VoiceProviderPreferenceSchema, ar as FindingStatusSchema, at as WORKER_CAPABILITY_ID, b as GitHookNamespace, bn as VoicePipelineLeg, br as VCSEvents, bt as WorkerMaterializationSpecSchema, c as GitHookCoverageRequestSchema, cn as VoiceStatusState, cr as ReviewFinding, ct as WorkerAllocationLifetimeSchema, d as GitHookCoveredOperation, dn as ClientVoiceProviderDescriptor, dr as ReviewIssueCommentSchema, dt as WorkerCapabilitiesSchema, en as STTResultSchema, er as FindingOrigin, et as ProviderAllocationRefSchema, f as GitHookCoveredOperationSchema, fn as ISTTProvider, fr as ReviewSchemas, ft as WorkerConfirmedAbsentOutcome, g as GitHookRewriteEventSchema, gn as STTProviderCapabilities, gr as SuggestedChangeSchema, gt as WorkerDispatchAck, h as GitHookRewriteEvent, hn as ProviderRuntime, hr as SuggestedChange, ht as WorkerDispatch, i as IGitHookEventsProvider, in as VoicePipelineStrategySchemaType, ir as FindingStatus, it as WORKER_ALLOCATION_LIFETIMES, j as AllocationInspectionSchema, jn as VisionAnalysisRequestSchema, jr as VCSCommitStatusSchema, jt as CheckRunDetailSchema, k as AMBIGUOUS_ALLOCATION_MATCH_CODE, kn as IVisionProvider, kr as VCSReviewCommentSchema, kt as VCSPRSubjects, l as GitHookCoverageResponse, ln as VoiceStatusStateSchema, lr as ReviewFindingSchema, lt as WorkerCapabilities, m as GitHookNativeMergeEventSchema, mn as IVocabularyProvider, mr as ReviewSourceRateLimitSchema, mt as WorkerContributionRefSchema, n as registerGitHookEventsProvider, nn as VoicePipelineLegSchemaType, nr as FindingSeverity, nt as ProvisioningDiscoverySchema, o as GitHookCoverageReasonSchema, on as VoiceSchemas, or as FindingTarget, ot as WorkerAllocatedOutcome, p as GitHookNativeMergeEvent, pn as ITTSProvider, pr as ReviewSourceRateLimit, pt as WorkerContributionRef, q as NormalizedWorkerRequirements, qn as ProcessCommentsParams, qr as ServerAddress, qt as ReviewerStateSchema, r as unregisterGitHookEventsProvider, rn as VoicePipelineStrategySchema, rr as FindingSeveritySchema, rt as RECOVERY_EVIDENCE_LIMITS, s as GitHookCoverageRequest, sn as VoiceSessionStartResponse, sr as FindingTargetSchema, st as WorkerAllocationLifetime, t as GIT_HOOK_EVENTS_CAPABILITY_ID, tn as VoicePipelineLegSchema, tr as FindingOriginSchema, tt as ProvisioningDiscovery, u as GitHookCoverageResponseSchema, un as AudioChunk, ur as ReviewIssueComment, ut as WorkerCapabilitiesInput, v as GitHookRewritePairSchema, vn as TTSProviderCapabilities, vr as registerVCSProvider, vt as WorkerInfrastructureConclusion, w as boundedProviderEvidence, wn as STT_MODE_LITERALS, wr as CreatePROptions, wt as WorkerRequirements, x as GitHookSubjects, xn as VoicePipelineStrategy, xr as VCSEventsNamespace, xt as WorkerProviderContext, y as GitHookSchemas, yn as TTSRequest, yr as unregisterVCSProvider, yt as WorkerMaterializationSpec, z as IWorkerProvider, zn as unregisterReviewSource, zr as VCSReviewSchema, zt as LabelSemanticSchema } from "../../index-04uTOEVU.mjs";
2
2
  export { ALLOCATION_STATES, AMBIGUOUS_ALLOCATION_MATCH_CODE, AUTO_LAUNCH_CAPABILITY_ID, AllocationInspection, AllocationInspectionSchema, AllocationState, AllocationStateSchema, AudioChunk, BUILT_IN_THIN_WORKFLOW_PROVIDER_ID, BoundedRecoveryEvidence, BoundedRecoveryEvidenceSchema, CheckRunDetail, CheckRunDetailSchema, ChecksSummary, ChecksSummarySchema, ClientVoiceProviderDescriptor, CreatePROptions, EXHAUSTIVE_SEARCH_UNAVAILABLE_CODE, FetchFindingsParams, FindingOrigin, FindingOriginSchema, FindingSeverity, FindingSeveritySchema, FindingStatus, FindingStatusSchema, FindingTarget, FindingTargetSchema, FindingsSummary, FindingsSummarySchema, GIT_HOOK_EVENTS_CAPABILITY_ID, GitHookCoverageReason, GitHookCoverageReasonSchema, GitHookCoverageRequest, GitHookCoverageRequestSchema, GitHookCoverageResponse, GitHookCoverageResponseSchema, GitHookCoveredOperation, GitHookCoveredOperationSchema, GitHookNamespace, GitHookNativeMergeEvent, GitHookNativeMergeEventSchema, GitHookRewriteEvent, GitHookRewriteEventSchema, GitHookRewritePair, GitHookRewritePairSchema, GitHookSchemas, GitHookSubjects, HttpServerLike, IAutoLaunchProvider, IGitHookEventsProvider, IRecoverableWorkerProvider, IReviewSource, IReviewerProcessor, ISTTProvider, IServerProvider, ITTSProvider, IVCSProvider, IVisionProvider, IVocabularyProvider, IWorkerProvider, IWorkerRecoveryCapability, LabelInfo, LabelInfoSchema, LabelSemantic, LabelSemanticSchema, LocalDirectoryMaterializationSchema, MATERIALIZATION_MODES, MaterializationMode, MaterializationModeSchema, MergeOptions, NO_ALLOCATION_OBSERVED_CODE, NormalizedWorkerCapabilities, NormalizedWorkerRequirements, OutcomeAckDecision, OutcomeAckDecisionSchema, PRE_REQUEST_REJECTION_CODE, PROVIDER_ALLOCATION_REF_VERSION, PROVISIONING_DISCOVERY_KINDS, ProcessCliOutputParams, ProcessCommentsParams, ProcessIssueCommentsParams, ProcessReviewBodyParams, ProviderAllocationRef, ProviderAllocationRefCodec, ProviderAllocationRefError, ProviderAllocationRefSchema, ProviderRuntime, ProvisioningDiscovery, ProvisioningDiscoverySchema, PullRequestState, PullRequestStateSchema, PullRequestTarget, PullRequestTargetSchema, RECOVERY_EVIDENCE_LIMITS, REVIEWER_PROCESSOR_CAPABILITY_ID, REVIEW_SOURCE_CAPABILITY_ID, ReadinessAssessment, ReadinessAssessmentSchema, ReviewFinding, ReviewFindingSchema, ReviewIssueComment, ReviewIssueCommentSchema, ReviewNamespace, ReviewRequestContext, ReviewSchemas, ReviewSourceRateLimit, ReviewSourceRateLimitSchema, ReviewSourceSnapshot, ReviewSubjects, ReviewTriggerParams, ReviewTriggerResult, ReviewerState, ReviewerStateSchema, ReviewsSummary, ReviewsSummarySchema, SERVER_CAPABILITY_ID, STTMode, STTProviderCapabilities, STTRequest, STTResult, STTResultSchema, STT_MODE_LITERALS, ServerAddress, SuggestedChange, SuggestedChangeSchema, TTSMode, TTSProviderCapabilities, TTSRequest, TTS_MODE_LITERALS, UpgradeHandler, VCSCheckRun, VCSCheckRunSchema, VCSCommitStatus, VCSCommitStatusSchema, VCSEvents, VCSEventsNamespace, VCSNamespace, VCSPRNamespace, VCSPRSchemas, VCSPRSubjects, VCSPullRequest, VCSPullRequestDetail, VCSPullRequestDetailSchema, VCSPullRequestSchema, VCSRepository, VCSRepositorySchema, VCSReview, VCSReviewComment, VCSReviewCommentSchema, VCSReviewSchema, VCSSchemas, VCSSubjects, VCS_CAPABILITY_ID, VisionAnalysisRequest, VisionAnalysisRequestSchema, VisionAnalysisResult, VisionAnalysisResultSchema, VisionNamespace, VisionSchemas, VisionSubjects, VoiceNamespace, VoicePipelineLeg, VoicePipelineLegSchema, VoicePipelineLegSchemaType, VoicePipelineStrategy, VoicePipelineStrategySchema, VoicePipelineStrategySchemaType, VoiceProviderPreference, VoiceProviderPreferenceSchema, VoiceSchemas, VoiceSessionStartResponse, VoiceStatusState, VoiceStatusStateSchema, VoiceSubjects, WORKER_ALLOCATION_LIFETIMES, WORKER_CAPABILITY_ID, WorkerAllocatedOutcome, WorkerAllocationLifetime, WorkerAllocationLifetimeSchema, WorkerCapabilities, WorkerCapabilitiesInput, WorkerCapabilitiesSchema, WorkerConfirmedAbsentOutcome, WorkerContributionRef, WorkerContributionRefSchema, WorkerDispatch, WorkerDispatchAck, WorkerHandle, WorkerInfrastructureConclusion, WorkerMaterializationSpec, WorkerMaterializationSpecSchema, WorkerProviderContext, WorkerProvisionOutcome, WorkerProvisionRequest, WorkerRequirements, WorkerRequirementsSchema, WorkerRuntimeConnection, WorkspaceSnapshotMaterializationSchema, boundedProviderEvidence, createAllocationRefCodec, registerAutoLaunchProvider, registerGitHookEventsProvider, registerReviewSource, registerReviewerProcessor, registerServerProvider, registerVCSProvider, registerWorkerProvider, unregisterGitHookEventsProvider, unregisterReviewSource, unregisterReviewerProcessor, unregisterServerProvider, unregisterVCSProvider, unregisterWorkerProvider };