@makaio/framework 1.0.0-dev-1788966380232 → 1.0.0-dev-1789000242829

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 (244) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/{2020-CpDjcHDh.mjs → 2020-DvDj4r_K.mjs} +1 -1
  3. package/dist/{account-identity-D00LLclm.mjs → account-identity-CNdiLYaM.mjs} +1 -1
  4. package/dist/{adapter-D92pfm_b.mjs → adapter-BdMny6vw.mjs} +1 -1
  5. package/dist/adapters/claude/index.d.mts +24 -24
  6. package/dist/adapters/index.mjs +1 -1
  7. package/dist/artifact-Cxm5ZX7L.mjs +1 -0
  8. package/dist/{auth-CB4an9bh.mjs → auth-BIgwGHp-.mjs} +1 -1
  9. package/dist/authority-state-bootstrap-DVFYemDL.mjs +1 -0
  10. package/dist/{automation-trigger-xNDX0Am_.mjs → automation-trigger-CQNQpzkA.mjs} +1 -1
  11. package/dist/bus/index.mjs +8 -1
  12. package/dist/{caller-owned-adapter-stub-oM1G1KvC.mjs → caller-owned-adapter-stub-NiR7KT2N.mjs} +1 -1
  13. package/dist/{canonical-model-D7Cg0l2R.mjs → canonical-model-BMnzRhG_.mjs} +1 -1
  14. package/dist/{capabilities-D2ggcMem.mjs → capabilities-CEwSeTB3.mjs} +1 -1
  15. package/dist/{client-CpUVfDxa.mjs → client-C0HcPzvw.mjs} +1 -1
  16. package/dist/{code-execution-CMqsHnGg.mjs → code-execution-BhUo84eg.mjs} +1 -1
  17. package/dist/{compression-Civ-rf-O.mjs → compression-DvPXSBWS.mjs} +1 -1
  18. package/dist/{config-namespace-CQnsvr77.mjs → config-namespace-CE3KasJn.mjs} +1 -1
  19. package/dist/contracts/adapter/index.d.mts +1 -1
  20. package/dist/contracts/adapter/index.mjs +1 -1
  21. package/dist/contracts/artifact/index.d.mts +3 -3
  22. package/dist/contracts/artifact/index.mjs +1 -1
  23. package/dist/contracts/auth/index.mjs +1 -1
  24. package/dist/contracts/automation-trigger/index.mjs +1 -1
  25. package/dist/contracts/canonical-model/index.mjs +1 -1
  26. package/dist/contracts/capabilities/index.d.mts +1 -1
  27. package/dist/contracts/capabilities/index.mjs +1 -1
  28. package/dist/contracts/client/index.d.mts +1 -1
  29. package/dist/contracts/client/index.mjs +1 -1
  30. package/dist/contracts/code-execution/index.mjs +1 -1
  31. package/dist/contracts/common/index.mjs +1 -1
  32. package/dist/contracts/config/index.mjs +1 -1
  33. package/dist/contracts/extension/index.d.mts +2 -2
  34. package/dist/contracts/extension/index.mjs +1 -1
  35. package/dist/contracts/facet/index.d.mts +1 -1
  36. package/dist/contracts/facet/index.mjs +1 -1
  37. package/dist/contracts/harness/index.d.mts +1 -1
  38. package/dist/contracts/harness/index.mjs +1 -1
  39. package/dist/contracts/host/index.mjs +1 -1
  40. package/dist/contracts/index.d.mts +92 -226
  41. package/dist/contracts/index.mjs +1 -1
  42. package/dist/contracts/materialization/index.d.mts +2 -2
  43. package/dist/contracts/materialization/index.mjs +1 -1
  44. package/dist/contracts/model-registry/index.mjs +1 -1
  45. package/dist/contracts/native-session-supervisor/index.mjs +1 -1
  46. package/dist/contracts/platform/index.mjs +1 -1
  47. package/dist/contracts/provider/index.mjs +1 -1
  48. package/dist/contracts/reaction/index.mjs +1 -1
  49. package/dist/contracts/session/index.d.mts +2 -2
  50. package/dist/contracts/session/index.mjs +1 -1
  51. package/dist/contracts/shared/index.mjs +1 -1
  52. package/dist/contracts/skill/index.mjs +1 -1
  53. package/dist/contracts/telemetry/index.mjs +1 -1
  54. package/dist/contracts/timeout/index.mjs +1 -1
  55. package/dist/contracts/toast/index.mjs +1 -1
  56. package/dist/contracts/variant/index.d.mts +1 -1
  57. package/dist/contracts/variant/index.mjs +1 -1
  58. package/dist/contracts/worker/index.d.mts +1 -1
  59. package/dist/contracts/worker/index.mjs +1 -1
  60. package/dist/contracts/workflow/index.d.mts +3 -3
  61. package/dist/contracts/workflow/index.mjs +1 -1
  62. package/dist/{definition-Dqw0YJdi.mjs → definition-o5Dfg5j-.mjs} +1 -1
  63. package/dist/{dist-DeI9zYMP.mjs → dist-DMIaE8sg.mjs} +1 -1
  64. package/dist/{execution-attempt-repository--RVils5-.d.mts → execution-attempt-repository-DSpz2kyW.d.mts} +7 -25
  65. package/dist/{execution-target-_oVNW6Zm.mjs → execution-target-Ba7b_UmX.mjs} +1 -1
  66. package/dist/{extension-CAi7bbyv.mjs → extension-D9D8tJQY.mjs} +1 -1
  67. package/dist/{extension-CrghVa93.mjs → extension-GQEL-NCV.mjs} +1 -1
  68. package/dist/{framework-packages-BOPhhtK7.mjs → framework-packages-DdCJ4JsE.mjs} +1 -1
  69. package/dist/{handlers-YPTyZDhF.mjs → handlers-CqL2TWbk.mjs} +1 -1
  70. package/dist/{harness-Ds1I4smU.mjs → harness-CYzkReGi.mjs} +1 -1
  71. package/dist/{index-LjLUr3Dm.d.mts → index-BIlFSGnW.d.mts} +10 -10
  72. package/dist/{index-BqR2xDu6.d.mts → index-BTluq4-E.d.mts} +151 -108
  73. package/dist/{index-nJvYTAbD.d.mts → index-BfwHYuRf.d.mts} +1 -1
  74. package/dist/{index-MtDz_goH.d.mts → index-BxJRljy-.d.mts} +274 -86
  75. package/dist/{index-BKwYE1Qk.d.mts → index-Bzxs2nVR.d.mts} +5 -5
  76. package/dist/{index-BkQlL0Pl.d.mts → index-CCNCo440.d.mts} +5 -5
  77. package/dist/{index-v9TbeVee2.d.mts → index-CRM23ToM2.d.mts} +5 -5
  78. package/dist/{index-Bxq_zO2E.d.mts → index-CilWtThn.d.mts} +4 -4
  79. package/dist/{index-B7wjmaev.d.mts → index-CjMMvZch.d.mts} +12 -12
  80. package/dist/{index-ud9i9pue.d.mts → index-DCHdW5g-.d.mts} +16 -16
  81. package/dist/{index-BT5qcsEf2.d.mts → index-DR308wUB2.d.mts} +18 -18
  82. package/dist/{index-DU9Y9tes2.d.mts → index-Dckvm0Ml2.d.mts} +12 -12
  83. package/dist/{index-Bnm0QvJ4.d.mts → index-DvoitgXV.d.mts} +9 -9
  84. package/dist/{index-DzlGAEws.d.mts → index-Dzozmb5u.d.mts} +1 -1
  85. package/dist/{index-DO633_D-.d.mts → index-GTCM4lXx.d.mts} +38 -38
  86. package/dist/{index-09eal6WI2.d.mts → index-hm8NV4CJ2.d.mts} +7 -7
  87. package/dist/kernel/cli/index.mjs +1 -1
  88. package/dist/kernel/cli/register.mjs +1 -1
  89. package/dist/kernel/cli/schemas.mjs +1 -1
  90. package/dist/kernel/extension/index.d.mts +1 -1
  91. package/dist/kernel/extension/index.mjs +1 -1
  92. package/dist/kernel/index.d.mts +2 -2
  93. package/dist/kernel/index.mjs +1 -1
  94. package/dist/kernel/namespace/index.mjs +1 -1
  95. package/dist/kernel/observability/index.d.mts +1 -1
  96. package/dist/kernel/observability/index.mjs +1 -1
  97. package/dist/kernel/providers/index.mjs +1 -1
  98. package/dist/kernel/window/index.mjs +1 -1
  99. package/dist/kind-registration-BanX_UAF.mjs +1 -0
  100. package/dist/{materialization-BwC7pVg2.mjs → materialization--bg6ZwQd.mjs} +1 -1
  101. package/dist/mcp-http-server/index.mjs +1 -1
  102. package/dist/model-Dya0clsM.mjs +1 -0
  103. package/dist/{namespace-wuGMWlyz.d.mts → namespace-B0_Sg-1m.d.mts} +2 -2
  104. package/dist/{namespace-CnRcpgJ8.mjs → namespace-CD9mJGhU.mjs} +1 -1
  105. package/dist/{namespace-BYsKOw-g.d.mts → namespace-CY-9Evdf.d.mts} +3 -3
  106. package/dist/{namespace-B1sjokHd.d.mts → namespace-CfA0C0JR.d.mts} +2 -2
  107. package/dist/namespace-D53UGrP6.mjs +1 -0
  108. package/dist/{namespace-Cy62a3YP.d.mts → namespace-Dmbm2JzV.d.mts} +2 -2
  109. package/dist/{native-session-supervisor-B0rziwHI.mjs → native-session-supervisor-i3PeijHn.mjs} +1 -1
  110. package/dist/{orchestrator-shared-CmS8iU9_.mjs → orchestrator-shared-DMldWEah.mjs} +1 -1
  111. package/dist/{ownership-memory-handler-DMirNILL.mjs → ownership-memory-handler-LXaweX6V.mjs} +1 -1
  112. package/dist/{package-Co36_pRw.mjs → package-BFto8lbP.mjs} +1 -1
  113. package/dist/package-BT94BLu4.mjs +7 -0
  114. package/dist/{package-Bl0mcGb8.d.mts → package-BaTrCWZl.d.mts} +46 -42
  115. package/dist/package.json +1 -1
  116. package/dist/packages-DAw3Z011.mjs +1 -0
  117. package/dist/{profile-C9RV7ao-.mjs → profile-Cjq4QnUQ.mjs} +1 -1
  118. package/dist/{provider-context-BPITm0cn.mjs → provider-context-BpabfMlj.mjs} +1 -1
  119. package/dist/{provider-context-CyGvwXPz.mjs → provider-context-CYUUoI6x.mjs} +1 -1
  120. package/dist/{resolved-M6PyrgFr.mjs → resolved-XQTiHgrA.mjs} +1 -1
  121. package/dist/runtime-node/index.d.mts +1 -1
  122. package/dist/runtime-node/index.mjs +1 -1
  123. package/dist/runtime-node/workflow-execution-bus-access.mjs +1 -1
  124. package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
  125. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  126. package/dist/{schema-DrHrto2J.mjs → schema-BVbkNHVQ.mjs} +1 -1
  127. package/dist/{schemas-DGKWi7mk.d.mts → schemas-CQe4xCRn.d.mts} +2 -2
  128. package/dist/{schemas-D2HmGmCt.d.mts → schemas-CSeLgroC.d.mts} +1 -1
  129. package/dist/{schemas-DRho446W.mjs → schemas-NKlV5jqJ.mjs} +1 -1
  130. package/dist/{schemas-DyZNwquY.mjs → schemas-QEr2LI43.mjs} +1 -1
  131. package/dist/{schemas-CvUe_yff.d.mts → schemas-bcDK-fK3.d.mts} +18 -9
  132. package/dist/{schemas-CQKfd2Xd.mjs → schemas-pHboaOxJ.mjs} +1 -1
  133. package/dist/{schemas-BYyT43gX.d.mts → schemas-yXs929kr.d.mts} +3 -3
  134. package/dist/{selection-BDs7K53w.mjs → selection-D7V0wyHX.mjs} +1 -1
  135. package/dist/services/adapter-runtime/index.d.mts +3 -3
  136. package/dist/services/adapter-runtime/index.mjs +1 -1
  137. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  138. package/dist/services/adapter-runtime/schemas.d.mts +1 -1
  139. package/dist/services/adapter-subsystem/index.mjs +1 -1
  140. package/dist/services/adapter-subsystem/namespace.mjs +1 -1
  141. package/dist/services/agent-runtime/index.d.mts +2 -2
  142. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  143. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  144. package/dist/services/context-rules/index.d.mts +3 -3
  145. package/dist/services/execution-target/index.mjs +1 -1
  146. package/dist/services/execution-target/namespace.mjs +1 -1
  147. package/dist/services/execution-target/schemas.mjs +1 -1
  148. package/dist/services/harness/index.d.mts +3 -3
  149. package/dist/services/index.d.mts +14 -14
  150. package/dist/services/index.mjs +1 -1
  151. package/dist/services/materialization/index.mjs +1 -1
  152. package/dist/services/provider-context/index.mjs +1 -1
  153. package/dist/services/session/handlers/index.mjs +1 -1
  154. package/dist/services/session/index.d.mts +1 -1
  155. package/dist/services/session/index.mjs +1 -1
  156. package/dist/services/session/messages/namespace.d.mts +1 -1
  157. package/dist/services/session/messages/namespace.mjs +1 -1
  158. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  159. package/dist/services/session/session-events/namespace.mjs +1 -1
  160. package/dist/services/session/testing/index.mjs +1 -1
  161. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  162. package/dist/services/session/turns/namespace.mjs +1 -1
  163. package/dist/services/session-editor/index.mjs +1 -1
  164. package/dist/services/settings/index.mjs +1 -1
  165. package/dist/services/settings/storage/clients-namespace.mjs +1 -1
  166. package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
  167. package/dist/services/settings/storage/index.mjs +1 -1
  168. package/dist/services/settings/storage/providers-namespace.mjs +1 -1
  169. package/dist/services/subagent/index.mjs +1 -1
  170. package/dist/services/subagent-template/index.d.mts +2 -2
  171. package/dist/services/subagent-template/namespace.d.mts +1 -1
  172. package/dist/services/subagent-template/schemas.d.mts +1 -1
  173. package/dist/services/tool-approval/index.mjs +1 -1
  174. package/dist/services/tools/index.mjs +1 -1
  175. package/dist/services/workflow-transitions/index.mjs +1 -1
  176. package/dist/{session-Cn8z1hxD.mjs → session-CAKfa5o8.mjs} +1 -1
  177. package/dist/{session-9C42TPQq.mjs → session-CODDwsGa.mjs} +1 -1
  178. package/dist/{shared-DqvfJVYk.mjs → shared-CkCrHz66.mjs} +1 -1
  179. package/dist/{skill-BmRp8GhW.mjs → skill-91kZNQnF.mjs} +1 -1
  180. package/dist/{tool-approval-service-DchkAdAr.mjs → tool-approval-service-BV3WxxX6.mjs} +1 -1
  181. package/dist/{tools-r50UBPJ9.mjs → tools-CElCajoS.mjs} +1 -1
  182. package/dist/{transition-CgsrmsfE.d.mts → transition-bYkXnLY2.d.mts} +1 -1
  183. package/dist/{types-ZvPhKp3j.d.mts → types-BNKqcHfP.d.mts} +5 -5
  184. package/dist/{version-sDSWOMn_.mjs → version-DdGhNoY5.mjs} +1 -1
  185. package/dist/{view-builder-D54kvyf7.d.mts → view-builder-CA5qUx85.d.mts} +10 -10
  186. package/dist/{visibility-syKffo3e.mjs → visibility-cMXbf9nY.mjs} +1 -1
  187. package/dist/{worker-DRQGyWAS.mjs → worker-B0xwfo9-.mjs} +1 -1
  188. package/dist/{worker-DzbPk2YI.mjs → worker-Cx1JDOB9.mjs} +1 -1
  189. package/dist/{workflow-D-yrAZW8.mjs → workflow-5yHn_Knq.mjs} +1 -1
  190. package/dist/workflow-engine/execution-attempt-repository.d.mts +1 -1
  191. package/dist/workflow-engine/index.d.mts +70 -70
  192. package/dist/workflow-engine/index.mjs +1 -1
  193. package/dist/workflow-engine/package.d.mts +1 -1
  194. package/dist/workflow-engine/package.mjs +1 -1
  195. package/dist/workflow-engine/provider-operation.d.mts +1 -1
  196. package/dist/workflow-engine/testing/conformance.d.mts +1 -1
  197. package/dist/workflow-engine/testing/index.d.mts +15 -4
  198. package/dist/workflow-engine/testing/index.mjs +1 -1
  199. package/dist/workflow-engine/testing/sqlite.d.mts +1 -1
  200. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  201. package/dist/{workflow-transitions-D5RvMSnf.mjs → workflow-transitions-DH246j6E.mjs} +1 -1
  202. package/dist/workflow-worker-BAO7pQpx.mjs +2 -0
  203. package/package.json +1 -1
  204. package/dist/artifact-_pN73_7c.mjs +0 -1
  205. package/dist/authority-state-bootstrap-DgoHPc9J.mjs +0 -1
  206. package/dist/kind-registration-DggkrLkv.mjs +0 -1
  207. package/dist/model-Cn1IFEP8.mjs +0 -1
  208. package/dist/namespace-DFc1nkal.mjs +0 -1
  209. package/dist/package-B-xpYKe8.mjs +0 -7
  210. package/dist/packages-COqPg5TI.mjs +0 -1
  211. package/dist/workflow-worker-CrnDwpkP.mjs +0 -2
  212. /package/dist/{ajv-IlnfOGAj.mjs → ajv-Dz-0DD7m.mjs} +0 -0
  213. /package/dist/{attach-error-DOlUtquX.mjs → attach-error-D5BWfaBO.mjs} +0 -0
  214. /package/dist/{capability-BQHyskJB.mjs → capability-BnQx1BWc.mjs} +0 -0
  215. /package/dist/{common-CylczUIW.mjs → common-Bta2ivrd.mjs} +0 -0
  216. /package/dist/{definitions-2T95Q-y6.mjs → definitions-CyFaNG_c.mjs} +0 -0
  217. /package/dist/{extension-namespace-CWfV3IiR.mjs → extension-namespace-AaHKv6tQ.mjs} +0 -0
  218. /package/dist/{facet-6tnSbjXc.mjs → facet-De-2AP_o.mjs} +0 -0
  219. /package/dist/{host-D7v3YlDG.mjs → host-CbaJg6D4.mjs} +0 -0
  220. /package/dist/{identity-CxMRRAXx.mjs → identity-B6RqbCn7.mjs} +0 -0
  221. /package/dist/{model-registry-BTjKBCCw.mjs → model-registry-DVTFd0RF.mjs} +0 -0
  222. /package/dist/{modes-Bo9Vv5c9.mjs → modes-Dc9_sSbr.mjs} +0 -0
  223. /package/dist/{namespace-DX3QsYpv.mjs → namespace-BZ7UQmW4.mjs} +0 -0
  224. /package/dist/{namespace-Dyxpur8_.mjs → namespace-BnNBM94X.mjs} +0 -0
  225. /package/dist/{namespace-DORNUF0_.mjs → namespace-DGi7tw_W.mjs} +0 -0
  226. /package/dist/{namespace-BCSJz417.mjs → namespace-KYIbWPvl.mjs} +0 -0
  227. /package/dist/{ownership-recovery-guard-CYA5CsiO.mjs → ownership-recovery-guard-BIB5uqgz.mjs} +0 -0
  228. /package/dist/{platform-BdLHWgVc.mjs → platform-BObC-WJA.mjs} +0 -0
  229. /package/dist/{providers-DGTA-lki.mjs → providers-BysYiNMO.mjs} +0 -0
  230. /package/dist/{reaction-aQJGWUWl.mjs → reaction-Cev6JNcb.mjs} +0 -0
  231. /package/dist/{schema-mXXJcaQT.mjs → schema-bfw9nz8B.mjs} +0 -0
  232. /package/dist/{schema-introspection-BsWP1vGC.mjs → schema-introspection-BTS7FZT_.mjs} +0 -0
  233. /package/dist/{schemas-HffXbw8C.mjs → schemas-A2hlgeNu.mjs} +0 -0
  234. /package/dist/{schemas-NYUz8K9Q.mjs → schemas-B3UNnzKG.mjs} +0 -0
  235. /package/dist/{schemas-7fHmNUQc.mjs → schemas-BEDq3Psz.mjs} +0 -0
  236. /package/dist/{schemas-MIYusvwn.mjs → schemas-mLjTSUvJ.mjs} +0 -0
  237. /package/dist/{semver-_h8-BJ8k.mjs → semver-ByPlHR3P.mjs} +0 -0
  238. /package/dist/{shared-schemas-CaL1iEk6.mjs → shared-schemas-CKsgVsGX.mjs} +0 -0
  239. /package/dist/{storage-namespace-definition-4UYuij1r.mjs → storage-namespace-definition-Ct9ohqU0.mjs} +0 -0
  240. /package/dist/{telemetry-BLYrkonr.mjs → telemetry-Be3u4I7b.mjs} +0 -0
  241. /package/dist/{timeout-d0dzIY3V.mjs → timeout-Bscg1B-y.mjs} +0 -0
  242. /package/dist/{ui-config-CsH94fwa.mjs → ui-config-Bl2Wbkr-.mjs} +0 -0
  243. /package/dist/{variant-BZ9UcJBi.mjs → variant-B5j5wR2p.mjs} +0 -0
  244. /package/dist/{window-registry-DQkv5wM9.mjs → window-registry-DWHz8TA5.mjs} +0 -0
@@ -1,4 +1,4 @@
1
- import{n as e,t}from"./schema-mXXJcaQT.mjs";import{i as n,n as r,r as i}from"./namespace-CnRcpgJ8.mjs";import{TurnStorageSubjects as a}from"./services/turn/namespace.mjs";import{a as o,n as s}from"./ownership-recovery-guard-CYA5CsiO.mjs";import{SessionStorageSubjects as c}from"./services/session/storage/namespace.mjs";import{AdapterRuntimeSubjects as l}from"./services/adapter-runtime/namespace.mjs";import{r as u}from"./namespace-BCSJz417.mjs";import{ProviderStorageSubjects as d}from"./services/settings/storage/providers-namespace.mjs";import{ExecutionTargetSubjects as f}from"./services/execution-target/namespace.mjs";import{MessageStorageSubjects as p}from"./services/session/messages/namespace.mjs";import{a as m,o as h}from"./provider-context-CyGvwXPz.mjs";import"./services/session/turns/namespace.mjs";import{n as g}from"./identity-CxMRRAXx.mjs";import{n as _,t as v}from"./attach-error-DOlUtquX.mjs";import{ExtractedContextSchema as ee}from"./services/compression/schemas.mjs";import{PreferencesSubjects as te}from"./services/preferences/storage-namespace.mjs";import{AdapterSubjects as y,AgentResolutionSubjects as b,AgentSubjects as x,ProviderContextSchema as S,SessionOwnershipStorageSubjects as C,SessionSubjects as w,TurnInitiatorSchema as ne,TurnUsageSchema as re,normalizeSessionOwnershipReserveStartServiceRequest as ie,resolveResumableAdapterSessionId as ae,teardownWasObserved as oe}from"@makaio/framework/contracts";import{defineDialectSchema as se,getRawSqlExecutor as ce,getStorageEngine as le,resolveSchema as T}from"@makaio/framework/storage/drizzle";import{and as E,asc as D,desc as ue,eq as O,gt as de,inArray as fe,lt as pe,sql as k}from"drizzle-orm";import{HookAbortError as me}from"@makaio/framework/hooks";import{AdapterRuntimeSubjects as he}from"@makaio/framework/services/adapter-runtime";import{resolveRuntimeProviderContext as ge}from"@makaio/framework/services/provider-context";function _e(e,t,n,i){return e.on(r.append,e=>{let{event:r}=e.payload,a=t.get(r.sessionId)??[];if(n.has(r.eventId)){e.setResult({success:!0});return}a.push(r),t.set(r.sessionId,a),n.set(r.eventId,i()),e.setResult({success:!0})})}function ve(e,t,n){return e.on(r.getEvents,e=>{let{sessionId:r,options:i}=e.payload,a=t.get(r)??[],o=i?.order??`asc`,s=o===`desc`?[...a].reverse():a,c=0;if(i?.after&&/^\d+$/.test(i.after)){let t=Number(i.after),r=s.findIndex(e=>{let r=n.get(e.eventId)??-1;return o===`desc`?r<t:r>t});if(r===-1){e.setResult({events:[],nextCursor:null,totalCount:a.length});return}c=r}let l=s.slice(c);if(i?.types&&i.types.length>0){let e=new Set(i.types);l=l.filter(t=>e.has(t.type))}let u=i?.limit??100,d=l.length>u,f=l.slice(0,u),p=null;if(d&&f.length>0){let e=f[f.length-1],t=n.get(e.eventId);t!==void 0&&(p=t.toString())}e.setResult({events:f,nextCursor:p,totalCount:a.length})})}function ye(e,t){return e.on(r.getByIds,e=>{let{sessionId:n,eventIds:r}=e.payload,i=t.get(n)??[],a=new Set(r),o=i.filter(e=>a.has(e.eventId));e.setResult({events:o})})}function be(e,t,n){return e.on(r.deleteBySession,e=>{let{sessionId:r}=e.payload,i=t.get(r);if(i)for(let e of i)n.delete(e.eventId);let a=i?.length??0;t.delete(r),e.setResult({success:!0,deletedCount:a})})}function xe(e,t){return e.on(r.getEventsBySessions,e=>{let{sessionIds:n,types:r,limitPerSession:i=50}=e.payload;if(n.length===0||r.length===0){e.setResult({eventsBySession:{}});return}let a=new Set(r),o={};for(let e of n){let n=(t.get(e)??[]).filter(e=>a.has(e.type)).reverse().slice(0,i);n.length>0&&(o[e]=n)}e.setResult({eventsBySession:o})})}function Se(e){let t=new Map,n=new Map,r=1,i=[_e(e,t,n,()=>r++),ve(e,t,n),ye(e,t),be(e,t,n),xe(e,t)];return()=>i.forEach(e=>e())}const Ce=n.postgres,we=se({sessionEvents:i},{sessionEvents:Ce}),Te=[`sessionId`,`agentId`,`adapterId`,`messageId`,`turnId`];function Ee(e){let t=e.payload,n={};for(let[e,r]of Object.entries(t))Te.includes(e)||(n[e]=r);return n}function De(e){let t=JSON.parse(e.payload),n=e.type===`message`?e.messageId:e.originatingMessageId,r={...t,sessionId:e.sessionId,...e.agentId&&{agentId:e.agentId},...e.adapterId&&{adapterId:e.adapterId},...n&&{messageId:n},...e.type===`message`?{turnId:e.turnId??null}:e.turnId&&{turnId:e.turnId}};return{sessionId:e.sessionId,eventId:e.eventId,timestamp:e.timestamp,type:e.type,payload:r}}function Oe(e){switch(e.type){case`user_message.sent`:{let t=e.payload.content;return typeof t==`string`?t:(Array.isArray(t.blocks)?t.blocks:[t.blocks]).filter(e=>e.type===`text`).map(e=>e.content).join(`
1
+ import{n as e,t}from"./schema-bfw9nz8B.mjs";import{i as n,n as r,r as i}from"./namespace-CD9mJGhU.mjs";import{TurnStorageSubjects as a}from"./services/turn/namespace.mjs";import{a as o,n as s}from"./ownership-recovery-guard-BIB5uqgz.mjs";import{SessionStorageSubjects as c}from"./services/session/storage/namespace.mjs";import{AdapterRuntimeSubjects as l}from"./services/adapter-runtime/namespace.mjs";import{r as u}from"./namespace-KYIbWPvl.mjs";import{ProviderStorageSubjects as d}from"./services/settings/storage/providers-namespace.mjs";import{ExecutionTargetSubjects as f}from"./services/execution-target/namespace.mjs";import{MessageStorageSubjects as p}from"./services/session/messages/namespace.mjs";import{a as m,o as h}from"./provider-context-CYUUoI6x.mjs";import"./services/session/turns/namespace.mjs";import{n as g}from"./identity-B6RqbCn7.mjs";import{n as _,t as v}from"./attach-error-D5BWfaBO.mjs";import{ExtractedContextSchema as ee}from"./services/compression/schemas.mjs";import{PreferencesSubjects as te}from"./services/preferences/storage-namespace.mjs";import{AdapterSubjects as y,AgentResolutionSubjects as b,AgentSubjects as x,ProviderContextSchema as S,SessionOwnershipStorageSubjects as C,SessionSubjects as w,TurnInitiatorSchema as ne,TurnUsageSchema as re,normalizeSessionOwnershipReserveStartServiceRequest as ie,resolveResumableAdapterSessionId as ae,teardownWasObserved as oe}from"@makaio/framework/contracts";import{defineDialectSchema as se,getRawSqlExecutor as ce,getStorageEngine as le,resolveSchema as T}from"@makaio/framework/storage/drizzle";import{and as E,asc as D,desc as ue,eq as O,gt as de,inArray as fe,lt as pe,sql as k}from"drizzle-orm";import{HookAbortError as me}from"@makaio/framework/hooks";import{AdapterRuntimeSubjects as he}from"@makaio/framework/services/adapter-runtime";import{resolveRuntimeProviderContext as ge}from"@makaio/framework/services/provider-context";function _e(e,t,n,i){return e.on(r.append,e=>{let{event:r}=e.payload,a=t.get(r.sessionId)??[];if(n.has(r.eventId)){e.setResult({success:!0});return}a.push(r),t.set(r.sessionId,a),n.set(r.eventId,i()),e.setResult({success:!0})})}function ve(e,t,n){return e.on(r.getEvents,e=>{let{sessionId:r,options:i}=e.payload,a=t.get(r)??[],o=i?.order??`asc`,s=o===`desc`?[...a].reverse():a,c=0;if(i?.after&&/^\d+$/.test(i.after)){let t=Number(i.after),r=s.findIndex(e=>{let r=n.get(e.eventId)??-1;return o===`desc`?r<t:r>t});if(r===-1){e.setResult({events:[],nextCursor:null,totalCount:a.length});return}c=r}let l=s.slice(c);if(i?.types&&i.types.length>0){let e=new Set(i.types);l=l.filter(t=>e.has(t.type))}let u=i?.limit??100,d=l.length>u,f=l.slice(0,u),p=null;if(d&&f.length>0){let e=f[f.length-1],t=n.get(e.eventId);t!==void 0&&(p=t.toString())}e.setResult({events:f,nextCursor:p,totalCount:a.length})})}function ye(e,t){return e.on(r.getByIds,e=>{let{sessionId:n,eventIds:r}=e.payload,i=t.get(n)??[],a=new Set(r),o=i.filter(e=>a.has(e.eventId));e.setResult({events:o})})}function be(e,t,n){return e.on(r.deleteBySession,e=>{let{sessionId:r}=e.payload,i=t.get(r);if(i)for(let e of i)n.delete(e.eventId);let a=i?.length??0;t.delete(r),e.setResult({success:!0,deletedCount:a})})}function xe(e,t){return e.on(r.getEventsBySessions,e=>{let{sessionIds:n,types:r,limitPerSession:i=50}=e.payload;if(n.length===0||r.length===0){e.setResult({eventsBySession:{}});return}let a=new Set(r),o={};for(let e of n){let n=(t.get(e)??[]).filter(e=>a.has(e.type)).reverse().slice(0,i);n.length>0&&(o[e]=n)}e.setResult({eventsBySession:o})})}function Se(e){let t=new Map,n=new Map,r=1,i=[_e(e,t,n,()=>r++),ve(e,t,n),ye(e,t),be(e,t,n),xe(e,t)];return()=>i.forEach(e=>e())}const Ce=n.postgres,we=se({sessionEvents:i},{sessionEvents:Ce}),Te=[`sessionId`,`agentId`,`adapterId`,`messageId`,`turnId`];function Ee(e){let t=e.payload,n={};for(let[e,r]of Object.entries(t))Te.includes(e)||(n[e]=r);return n}function De(e){let t=JSON.parse(e.payload),n=e.type===`message`?e.messageId:e.originatingMessageId,r={...t,sessionId:e.sessionId,...e.agentId&&{agentId:e.agentId},...e.adapterId&&{adapterId:e.adapterId},...n&&{messageId:n},...e.type===`message`?{turnId:e.turnId??null}:e.turnId&&{turnId:e.turnId}};return{sessionId:e.sessionId,eventId:e.eventId,timestamp:e.timestamp,type:e.type,payload:r}}function Oe(e){switch(e.type){case`user_message.sent`:{let t=e.payload.content;return typeof t==`string`?t:(Array.isArray(t.blocks)?t.blocks:[t.blocks]).filter(e=>e.type===`text`).map(e=>e.content).join(`
2
2
  `)}case`agent.added`:case`user_message.acknowledged`:case`user_message.completed`:case`turn.started`:case`turn.completed`:case`message`:case`branch.created`:case`branch.merged`:case`squash`:return null;default:return ke(e.payload)}}function ke(e){let t=e.contentText;if(typeof t==`string`&&t.length>0)return t;let n=e.summary;return typeof n==`string`&&n.length>0?n:null}function Ae({bus:e,db:t,sessionEvents:n}){return e.on(r.append,async e=>{let{event:r}=e.payload,i=`payload`in r&&`agentId`in r.payload?r.payload.agentId:null,a=`payload`in r&&`adapterId`in r.payload?r.payload.adapterId:null,o=`payload`in r&&`turnId`in r.payload?r.payload.turnId:null,s=`payload`in r&&`messageId`in r.payload?r.payload.messageId:null,c=r.type===`message`?s:null,l=r.type===`message`?null:s,u={sessionId:r.sessionId,eventId:r.eventId,timestamp:r.timestamp,type:r.type,agentId:i,adapterId:a,messageId:c,originatingMessageId:l,turnId:o,contentText:Oe(r),payload:JSON.stringify(Ee(r))};await t.insert(n).values(u).onConflictDoNothing(),e.setResult({success:!0})})}function je({bus:e,db:t,sessionEvents:n}){return e.on(r.getEvents,async e=>{let{sessionId:r,options:i}=e.payload,a=[O(n.sessionId,r)],o=i?.order??`asc`;if(i?.after){let e=parseInt(i.after,10);!isNaN(e)&&e>0&&(o===`desc`?a.push(pe(n.id,e)):a.push(de(n.id,e)))}i?.types&&i.types.length>0&&a.push(fe(n.type,i.types));let s=i?.limit??100,c=o===`desc`?ue:D,l=await t.select().from(n).where(E(...a)).orderBy(c(n.id)).limit(s+1),u=l.length>s,d=u?l.slice(0,s):l,f=d.map(De),p=u&&d.length>0?d[d.length-1].id.toString():null;e.setResult({events:f,nextCursor:p})})}function Me({bus:e,db:t,sessionEvents:n}){return e.on(r.getByIds,async e=>{let{sessionId:r,eventIds:i}=e.payload,a=(await t.select().from(n).where(E(O(n.sessionId,r),fe(n.eventId,i))).orderBy(D(n.timestamp))).map(De);e.setResult({events:a})})}function Ne({bus:e,db:t,sessionEvents:n}){return e.on(r.deleteBySession,async e=>{let{sessionId:r}=e.payload,i=(await t.select().from(n).where(O(n.sessionId,r))).length;await t.delete(n).where(O(n.sessionId,r)),e.setResult({success:!0,deletedCount:i})})}function Pe({bus:e,db:t,sessionEvents:n}){return e.on(r.getEventsBySessions,async e=>{let{sessionIds:r,types:i,limitPerSession:a=50}=e.payload;if(r.length===0||i.length===0){e.setResult({eventsBySession:{}});return}let o={};for(let e of r){let r=await t.select().from(n).where(E(O(n.sessionId,e),fe(n.type,i))).orderBy(ue(n.timestamp)).limit(a);r.length>0&&(o[e]=r.map(De))}e.setResult({eventsBySession:o})})}function Fe(e,t){let{sessionEvents:n}=T(t,we),r={bus:e,db:t,sessionEvents:n},i=[Ae(r),je(r),Me(r),Ne(r),Pe(r)];return()=>i.forEach(e=>e())}async function A(e,t,n){let i={sessionId:t.sessionId,eventId:t.eventId??crypto.randomUUID(),timestamp:t.timestamp??Date.now(),type:t.type,payload:t.payload},a=n?n(i):i;a&&await e.requestOptional(r.append,{event:a})}async function Ie(e,t){await A(e,{type:`turn.started`,sessionId:t.sessionId,eventId:`turn.started:${t.turnId}`,payload:t});try{await e.emit(w.turn.started,t)}catch(e){console.error(`[SessionLifecycle] Failed to emit turn.started for turn ${t.turnId}:`,e)}}async function Le(e,t){try{await e.emit(w.user_message.sent,t)}catch(e){console.error(`[SessionLifecycle] Failed to emit user_message.sent for turn ${t.turnId}:`,e)}}function Re(e,t){let n=[e.on(w.agent.added,async n=>{await ze(e,{type:`agent.added`,sessionId:n.payload.sessionId,payload:n.payload},t)}),e.on(w.branch.created,async n=>{await ze(e,{type:`branch.created`,sessionId:n.payload.sessionId,payload:n.payload},t)})];return()=>{for(let e of n)e()}}async function ze(e,t,n){try{await A(e,t,n)}catch(e){console.warn(`[session-lifecycle-events] Failed to persist subscription lifecycle event`,{type:t.type,sessionId:t.sessionId,error:e instanceof Error?e.message:String(e)})}}async function j(e,t){let{verdict:n}=t;if(n.kind===`native`)return;let r=crypto.randomUUID(),i=Date.now(),a={sessionId:t.sessionId,eventId:r,timestamp:i,intent:t.intent,...t.agentId!==void 0&&{agentId:t.agentId},...t.adapterId!==void 0&&{adapterId:t.adapterId},...t.turnId!==void 0&&{turnId:t.turnId}},o=n.kind===`degrade`?{...a,verdictKind:`degrade`,reason:n.reason}:{...a,verdictKind:`foreign`,foreignMachineId:n.machineId};try{await A(e,{type:`locality.degraded`,sessionId:t.sessionId,eventId:r,timestamp:i,payload:o})}catch(e){console.warn(`[session-lifecycle-events] Failed to persist locality.degraded event`,{sessionId:t.sessionId,error:e instanceof Error?e.message:String(e)})}try{await e.emit(w.locality.degraded,o)}catch(e){console.warn(`[session-lifecycle-events] Failed to emit live locality.degraded event`,{sessionId:t.sessionId,error:e instanceof Error?e.message:String(e)})}}async function Be(e,t){let n=await M(e,t.sessionId);if(n===null)return{outcome:`not-found`};let r=await He(e,n);if(r.kind===`unresolved`)return{outcome:`unresolved`,sessionId:n.sessionId};let i=r.session;if(i.status!==`closed`)return{outcome:`unchanged`,sessionId:i.sessionId};let a=await e.bus.requestOptional(c.update,{sessionId:i.sessionId,status:`active`,expectedStatus:[`closed`]});return!a.handled||!a.data.success?Ve(e,i.sessionId):(await e.bus.emit(w.updated,{sessionId:i.sessionId,changedProperties:[`status`]}),{outcome:`reopened`,sessionId:i.sessionId})}async function Ve(e,t){return await M(e,t)===null?{outcome:`not-found`}:{outcome:`unchanged`,sessionId:t}}async function M(e,t){let n=await e.bus.requestOptional(c.get,{sessionId:t});return n.handled?n.data.session:null}async function He(e,t){if(t.branchKind!==`compress`)return{kind:`root`,session:t};if(t.rootSessionId!==void 0){let n=await M(e,t.rootSessionId);return n===null||n.branchKind===`compress`?{kind:`unresolved`}:{kind:`root`,session:n}}let n=t;for(let t=0;t<64;t+=1){if(n.parentSessionId===void 0)return{kind:`unresolved`};let t=await M(e,n.parentSessionId);if(t===null)return{kind:`unresolved`};if(t.branchKind!==`compress`)return{kind:`root`,session:t};n=t}return{kind:`unresolved`}}async function Ue(e,t,n){let r=await Ke(e,n.agentId);return r===Ge?null:r===null?`agent-gone`:r.status===`disposed`?`agent-disposed`:await We(e,n)?`owner-instance-retired`:t===`machine-exclusive`?await qe(e,n.adapterId)?null:`adapter-instance-gone`:null}async function We(e,t){if(t.ownerInstanceId===null)return!1;try{let n=await e.requestOptional(C.getRuntimeInstance,{instanceId:t.ownerInstanceId,machineId:t.machineId});return n.handled&&n.data.instance!==null&&n.data.instance.retiredAt!==null}catch{return!1}}const Ge=Symbol(`inconclusive`);async function Ke(e,t){try{let n=await e.requestOptional(o.get,{agentId:t});return n.handled?n.data.agent:Ge}catch{return Ge}}async function qe(e,t){try{return(await e.requestOptional(y.listAgents,{adapterId:t})).handled}catch{return!1}}async function Je(e){let{machineId:t}=e;if(t===void 0)return{outcome:`skipped`,reason:`machine-identity-unavailable`};let n=await e.bus.requestOptional(C.listClaims,{machineId:t});if(!n.handled)return{outcome:`reconciled`,machineId:t,claims:[]};let r=[];for(let t of n.data.claims){let n=await Ue(e.bus,e.topology,t);if(n===null){r.push({claim:t,verdict:`retained`});continue}let i=await e.bus.request(C.release,{agentId:t.agentId,claimToken:t.claimToken,disposition:`abandoned`});r.push({...Ye(t,i),reason:n})}return{outcome:`reconciled`,machineId:t,claims:r}}function Ye(e,t){switch(t.outcome){case`marked`:return{claim:t.claim,verdict:`abandoned`};case`not-owner`:return{claim:t.holder,verdict:`vanished`};case`released`:case`not-found`:return{claim:e,verdict:`vanished`}}}async function Xe(e,t){let n=await e.bus.requestOptional(C.releaseAgentClaims,{agentId:t.agentId,...t.claimToken!==void 0&&{claimToken:t.claimToken},disposition:t.disposition});return n.handled?n.data:{releasedProviderSessionIds:[],markedClaims:[],claimTokenNotFound:t.claimToken!==void 0}}function N(){return crypto.randomUUID()}const Ze={machineId:`keyless-designation`,adapterId:`keyless-designation`,adapterName:`keyless-designation`};async function Qe(e,t){let n=await e.requestOptional(C.claim,{...Ze,providerSessionId:null,sessionId:t.sessionId,agentId:t.agentId,claimToken:N(),designateLead:{expectedLeadAgentId:t.expectedLeadAgentId,...t.clear===!0&&{clear:!0},...t.restore===!0&&{restore:!0}}});return n.handled?n.data:void 0}function $e(e,t){return t??e.machineId}function et(e,t,n,r){return{machineId:n,adapterId:t.adapterId,adapterName:t.adapterName,providerSessionId:t.resumeProviderSessionId,sessionId:t.sessionId,agentId:t.agentId,claimToken:t.claimToken,topology:e.topology,...t.recoveryGuard!==void 0&&{recoveryGuard:t.recoveryGuard},...t.recoveryAttemptId!==void 0&&{recoveryAttemptId:t.recoveryAttemptId},...!r||t.recoveryGuard!==void 0?{ownerInstance:{instanceId:t.ownerInstanceId}}:{},...t.role===`lead`&&{designateLead:{expectedLeadAgentId:t.expectedLeadAgentId??null}}}}async function tt(e,t){let n=ie(t);if(n.ownerInstanceId!==e.instanceId)throw Error(`reserveStart routed to owner ${e.instanceId} for target ${n.ownerInstanceId}`);let r=$e(e,n.machineId),i=n.resumeProviderSessionId===null;if(r===void 0&&!i)return{outcome:`machine-identity-unavailable`};let a=et(e,n,r??Ze.machineId,i),o=await e.bus.request(C.claim,a);switch(o.outcome){case`claimed`:case`idempotent`:{let e={agentId:n.agentId,sessionId:n.sessionId,adapterId:n.adapterId,ownerInstanceId:n.ownerInstanceId,leadDesignated:o.leadDesignated,previousLeadAgentId:o.previousLeadAgentId,...o.recovery!==void 0&&{recovery:o.recovery}};if(o.claim===null)return{outcome:`reserved`,reservation:{...e,...r!==void 0&&{machineId:r},claim:null}};if(r===void 0)throw Error(`A keyed ownership claim was returned without a resolved machine identity`);return{outcome:`reserved`,reservation:{...e,machineId:r,claim:o.claim}}}case`already-claimed`:return{outcome:`occupied`,holder:o.holder};case`lead-conflict`:return{outcome:`lead-conflict`,currentLeadAgentId:o.currentLeadAgentId};case`agent-disposed`:return{outcome:`agent-disposed`};case`session-not-active`:return{outcome:`session-not-active`,status:o.status};case`not-found`:return{outcome:`not-found`,missing:o.missing};case`currency-changed`:case`recovery-conflict`:return o}}function nt(e,t){return e.confirmed?{kind:`confirmed`,providerSessionId:e.providerSessionId,claimToken:t}:{kind:`demote`,claimToken:t}}async function rt(e,t){if(t.ownerInstanceId!==e.instanceId)throw Error(`settleMovement routed to owner ${e.instanceId} for target ${t.ownerInstanceId}`);let n=$e(e,t.machineId);if(n===void 0)return{outcome:`machine-identity-unavailable`};let r=t.claimToken??N();for(let i=0;;i+=1){let{ownership:a}=await e.bus.request(C.read,{agentId:t.agentId});if(a===null)return{outcome:`not-found`};let o=await e.bus.request(C.settleMovement,{machineId:n,adapterId:t.adapterId,adapterName:t.adapterName,sessionId:t.sessionId,agentId:t.agentId,expectedRevision:a.revision,movement:nt(t.movement,r),ownerInstance:{instanceId:t.ownerInstanceId},topology:e.topology});if(o.outcome!==`currency-changed`||i>=1)return o}}var it=class extends Error{constructor(){super(`The session ownership authority is closed`),this.name=`OwnershipAuthorityClosedError`}},at=class{closed=!1;active=new Set;drainWaiters=[];async run(e){if(this.closed)throw new it;let t=Symbol(`ownership-operation`);this.active.add(t);try{return await e()}finally{if(this.active.delete(t),this.closed&&this.active.size===0){let e=this.drainWaiters;this.drainWaiters=[];for(let t of e)t()}}}close(){this.closed=!0}drain(){return this.active.size===0?Promise.resolve():new Promise(e=>this.drainWaiters.push(e))}};function ot(e){let{bus:t}=e,n={...e,instanceId:e.instanceId??crypto.randomUUID()},r=new at,i,a,o=[t.on(w.ownership.reserveStart,async e=>{e.setResult(await r.run(()=>tt(n,e.payload)))},{filter:{ownerInstanceId:n.instanceId}}),t.on(w.ownership.settleMovement,async e=>{e.setResult(await r.run(()=>rt(n,e.payload)))},{filter:{ownerInstanceId:n.instanceId}}),t.on(w.ownership.release,async e=>{e.setResult(await r.run(()=>Xe(n,e.payload)))}),t.on(w.ownership.reconcile,async e=>{e.setResult(await r.run(()=>Je(n)))}),t.on(w.ownership.continuation,async e=>{e.setResult(await r.run(()=>Be(n,e.payload)))})],s=t.on(l.teardownCompleted,e=>{i=e.payload.evidence},{filter:{ownerInstanceId:n.instanceId}}),c=!1,u=()=>{if(!c){c=!0;for(let e=o.length-1;e>=0;--e)o[e]?.()}},d={instanceId:n.instanceId,close:()=>a===void 0?(r.close(),u(),a=(async()=>{await r.drain(),!(i===void 0||!oe(i))&&await t.requestOptional(C.retireInstance,{instanceId:n.instanceId})})(),a):a};return{cleanups:[u,s],ownership:d}}const P=new Map;function st(e,t){let n=(P.get(e)??Promise.resolve()).then(t),r=n.then(()=>void 0,()=>void 0);return P.set(e,r),r.then(()=>{P.get(e)===r&&P.delete(e)}),n}function ct(e){return e.on(x.adapterSession.moved,async t=>{let{agentId:n,adapterId:r,adapterName:i,machineId:a,ownerInstanceId:o,sessionId:s,adapterSessionId:c,confirmed:l}=t.payload;if(s===void 0||l!==(c!==void 0))return;let u=c===void 0?{confirmed:!1}:{confirmed:!0,providerSessionId:c};await st(n,async()=>{await lt(e,{agentId:n,adapterId:r,adapterName:i,machineId:a,ownerInstanceId:o,sessionId:s},u)})})}var F=class extends Error{outcome;constructor(e,t,n){super(`[session.ownership] movement for agent ${e} was not settled: ${t}`,n),this.name=`MovementNotSettledError`,this.outcome=t}};async function lt(e,t,n){let r;try{let i=await e.requestOptional(o.get,{agentId:t.agentId}),a=i.handled?i.data.agent:null;if(a===null)throw new F(t.agentId,`agent-row-unreadable`);if(a.adapterName!==t.adapterName||a.adapterId!==t.adapterId)throw new F(t.agentId,`adapter-mismatch`);if(a.runtimeOwner===void 0||a.runtimeOwner.machineId!==t.machineId||a.runtimeOwner.instanceId!==t.ownerInstanceId)throw new F(t.agentId,`runtime-owner-mismatch`);let s=await e.requestOptional(w.ownership.settleMovement,{sessionId:t.sessionId,agentId:t.agentId,adapterId:t.adapterId,adapterName:t.adapterName,ownerInstanceId:t.ownerInstanceId,machineId:t.machineId,movement:n});if(!s.handled)throw new F(t.agentId,`authority-unavailable`);if(s.data.outcome===`settled`||s.data.outcome===`idempotent`)return;r=s.data.outcome}catch(e){throw e instanceof F?e:new F(t.agentId,`settle-failed`,{cause:e})}throw new F(t.agentId,r)}const I=new Map;function ut(e,t){let n=I.get(e);if(n!==void 0)return{joined:!0,settled:n.settled};let r=()=>void 0,i=new Promise(e=>{r=e}),a,o=(async()=>{await i;try{return await t()}finally{I.get(e)===a&&I.delete(e)}})();return a={settled:o},I.set(e,a),r(),{joined:!1,settled:o}}function dt(e){return I.get(e)}function ft(e,t){return t?.hasNewTransforms===!0||e.forkTransforms!==void 0}function pt(e,t){return e.adapterName!==void 0&&t!==e.adapterName}function mt(e){if(e.resumeIdentity?.movedUnconfirmed===!0)return{kind:`degrade`,reason:`adapter-session-moved`};if(!(e.resumeIdentity?e.resumeIdentity.adapterSessionId:e.session.adapterSessionId))return{kind:`degrade`,reason:`no-adapter-session`}}function ht(e){let{session:t,sessionContext:n}=e;return e.adapterSupportsNative?pt(t,e.targetAdapterName)?{kind:`degrade`,reason:`adapter-mismatch`}:mt(e)||(!t.machineId||!e.localMachineId?{kind:`degrade`,reason:`missing-machine-id`}:t.machineId===e.localMachineId?t.isImported&&t.isOrchestrated===!0?{kind:`degrade`,reason:`hybrid-imported-orchestrated`}:n?.hasCompression?{kind:`degrade`,reason:`compression-present`}:ft(t,n)?{kind:`degrade`,reason:`transforms-present`}:n?.hasConnectorSwap?{kind:`degrade`,reason:`connector-swap`}:e.currentCwd&&e.targetCwd&&e.currentCwd!==e.targetCwd?{kind:`degrade`,reason:`cwd-mismatch`}:e.intent===`fork`&&t.forkPointMessageId&&e.midHistoryForkSupported!==!0?{kind:`degrade`,reason:`mid-history-unsupported`}:{kind:`native`}:{kind:`foreign`,machineId:t.machineId}):{kind:`degrade`,reason:`adapter-unsupported`}}const gt=Object.freeze({kind:`fresh-with-history`});function _t(e,t){return e.kind!==`native`||t===void 0?gt:{kind:`native-resume`,resumeAdapterSessionId:t}}function vt(e){return e.kind===`native-resume`?e.resumeAdapterSessionId:void 0}function yt(e){return e.kind===`fresh-with-history`}function bt(e){return{adapterSessionId:e.adapterSessionId??null,currentAdapterSessionId:e.currentAdapterSessionId??null,currentAdapterSessionIdState:e.currentAdapterSessionIdState??`inherited`}}function xt(e){return{adapterSessionId:ae(e)??void 0,movedUnconfirmed:e.currentAdapterSessionIdState===`moved`}}function L(e){return xt(bt(e))}function St(e,t){return(t.currencyFence??0)>0?xt(bt(t)):e.leadAgentId===t.agentId||e.leadAgentId===void 0&&e.isImported===!0?L(e):xt(bt(t))}async function Ct(e,t,n){let{adapterId:r}=await e.request(l.resolveId,{adapterName:t,...n!==void 0&&{machineId:n}});return r}function R(e){if(!(e===void 0||e.machineId===void 0||e.machineId.length===0||e.ownerInstanceId===void 0||e.ownerInstanceId.length===0))return{adapterId:e.adapterId,machineId:e.machineId,ownerInstanceId:e.ownerInstanceId}}async function wt(e,t){try{let n=await e.request(l.resolveLiveIdentity,t);return{adapterId:n.adapterId,machineId:n.machineId,ownerInstanceId:n.ownerInstanceId}}catch(e){console.debug(`[resolveAnnouncedAdapterInstance] adapter ${t.adapterId} is not live as ${t.adapterName} on ${t.machineId}:`,e);return}}async function z(e,t){let{adapterName:n,adapterId:r,machineId:i,storedAdapterId:a}=t;if(r!==void 0)return i===void 0?void 0:await wt(e,{adapterId:r,adapterName:n,machineId:i});let o=await Ct(e,n,i).catch(e=>{console.debug(`[resolveOwnedAdapterInstance] no instance of ${n} resolvable for machine ${i??`<unscoped>`}:`,e)})??(i===void 0?a:void 0);if(o!==void 0)return i===void 0?{adapterId:o}:await wt(e,{adapterId:o,adapterName:n,machineId:i})}async function Tt(e,t,n){if(!(!t||!n))try{let{config:r}=await e.request(u.getProviderConfig,{id:t});if(!r)return;let{provider:i}=await e.request(d.get,{id:r.definitionId}),a=i?.availableModels?.find(e=>e.name===n);return a?{supportedReasoningLevels:a.supportedReasoningLevels}:void 0}catch{return}}async function Et(e,t){let{executionTarget:n}=await e.request(f.resolve,t);return n}async function Dt(e,t){let{instance:n}=t;return e.request(w.ownership.reserveStart,{sessionId:t.sessionId,agentId:t.agentId,adapterId:n.adapterId,adapterName:t.adapterName,ownerInstanceId:n.ownerInstanceId,role:t.role,resumeProviderSessionId:t.resumeProviderSessionId,claimToken:t.claimToken,...t.recoveryGuard!==void 0&&{recoveryGuard:t.recoveryGuard},...t.recoveryAttemptId!==void 0&&{recoveryAttemptId:t.recoveryAttemptId},...t.role===`lead`&&{expectedLeadAgentId:t.expectedLeadAgentId},...n.machineId!==void 0&&{machineId:n.machineId}})}var B=class extends Error{code;deferredAgentIds;sessionStatus;constructor(e,t,n,r,i){super(t,{cause:n}),this.code=e,this.name=`SessionStartError`,r!==void 0&&(this.deferredAgentIds=r),i!==void 0&&(this.sessionStatus=i)}},Ot=class{tokens=new Set;constructor(e=[]){for(let t of e)this.add(t)}add(e){e!=null&&this.tokens.add(e)}record(e){(e.outcome===`settled`||e.outcome===`idempotent`)&&this.add(e.claim?.claimToken)}toArray(){return[...this.tokens]}};async function kt(e,t,n,r){try{await e.requestOptional(w.ownership.release,{agentId:t,disposition:n,claimToken:r})}catch(e){console.debug(`[session.start] release for agent ${t} failed:`,e)}}async function At(e,t,n,r){for(let i of r.toArray())await kt(e,t,n,i)}async function jt(e,t){let n=t.previousLeadAgentId,r=await Qe(e,{sessionId:t.sessionId,agentId:n??t.agentId,expectedLeadAgentId:t.agentId,...n===null&&{clear:!0},...n!==null&&{restore:!0}});r!==void 0&&r.outcome===`lead-conflict`&&console.debug(`[session.start] lead restore for session ${t.sessionId} abandoned: a newer designation stands`)}async function Mt(e,t){if(t!==void 0)try{if(!t.leadDesignated)return;await jt(e,t)}catch(e){console.debug(`[session.start] clearing the designation of agent ${t.agentId} failed:`,e)}}async function Nt(e,t){if(t!==void 0)try{await jt(e,{sessionId:t.sessionId,agentId:t.agentId,previousLeadAgentId:t.transition===`replace`?t.expectedLeadAgentId:null})}catch(e){console.debug(`[session.start] clearing uncertain designation of agent ${t.agentId} failed:`,e)}}async function V(e,t,n,r){n!==void 0&&(n.claim!==null&&await kt(e,t,`released`,n.claim.claimToken),await Mt(e,n)),await Nt(e,r);try{let n=await e.requestOptional(o.delete,{agentId:t});return{rowDeleted:n.handled&&n.data.success?!0:await Pt(e,t)}}catch(n){return console.debug(`[session.start] deleting agent ${t} during rollback failed:`,n),{rowDeleted:await Pt(e,t)}}}async function Pt(e,t){try{let n=await e.requestOptional(o.get,{agentId:t});return n.handled&&n.data.agent===null}catch(e){return console.debug(`[session.start] verifying rollback deletion of agent ${t} failed:`,e),!1}}async function H(e,t,n,r){await It(e,t,`abandoned`,n,r)}async function Ft(e,t,n,r){await It(e,t,`released`,n,r)}async function It(e,t,n,r,i){await At(e,t,n,i),await Mt(e,r.reservation),r.writesAgentStatus&&await Lt(e,t)}async function Lt(e,t){try{await e.requestOptional(o.updateStatus,{agentId:t,status:`dead`,expectedStatus:[`starting`]})}catch(e){console.debug(`[session.start] marking agent ${t} dead failed:`,e)}}function Rt(e){switch(e){case`settled`:case`idempotent`:return;case`already-claimed`:case`superseded`:case`not-owner`:return{code:`ownership-refused`,disposition:`abandoned`,stopConnector:!0,markDead:!0};case`agent-disposed`:case`not-found`:return{code:`agent-unavailable`,disposition:`released`,stopConnector:!0,markDead:!1};case`currency-changed`:case`machine-identity-unavailable`:return{code:`settlement-unresolved`,disposition:null,stopConnector:!1,markDead:!1}}}async function U(e,t,n,r,i=!1){try{await e.requestOptional(y.stopAgent,{adapterId:t,agentId:n,ownerInstanceId:r,...i&&{teardown:`connector-only`}})}catch(e){console.debug(`[session.start] stopping agent ${n} failed:`,e)}}async function zt(e,t,n,r,i,a,o){o.record(i);let s=Rt(i.outcome);if(s!==void 0)throw s.disposition!==null&&await At(e,n,s.disposition,o),await Mt(e,a.reservation),s.stopConnector&&await U(e,t,n,r,a.connectorOnlyTeardown),s.markDead&&a.writesAgentStatus&&await Lt(e,n),new B(s.code,`[session.start] settlement for agent ${n} was refused: ${i.outcome}`)}function Bt(e){return typeof e==`string`?e:(Array.isArray(e.blocks)?e.blocks:[e.blocks]).filter(e=>e.type===`text`).map(e=>e.content).join(`
3
3
  `)}function Vt(e){return e}function Ht(e){return typeof e==`string`?[{type:`text`,content:e}]:(Array.isArray(e.blocks)?e.blocks:[e.blocks]).map(Vt)}async function Ut(e,t,n,r,i){let{session:a}=await e.request(w.get,{sessionId:t});if(a){if(a.status!==`active`)throw Error(`[getOrCreateSession] Session is not active: ${t}`);return{sessionId:t,session:a}}await e.request(w.create,{sessionId:t,originWindowId:r,...i!==void 0&&{machineId:i}});let{session:o}=await e.request(w.get,{sessionId:t});if(!o)throw Error(`[getOrCreateSession] Failed to create session: ${t}`);return{sessionId:t,session:o}}function Wt(e,t){if(t===void 0){let t=e.agents.find(t=>t.agentId===e.leadAgentId);if(!t)throw Error(`[resolveTargetAgents] Lead agent not found: ${e.leadAgentId}`);return[t]}if(t===`all`)return e.agents;let n=new Set(t);return e.agents.filter(e=>n.has(e.agentId))}function Gt(e,t){for(let n of e.values())if(n.hasAgent(t))return n}function Kt(e,t){if(e===`extension`){let e=t?.trim();if(!e)throw Error(`extensionId is required when source is "extension"`);return{source:`extension`,sourceId:e}}return e?{source:e}:{source:`user`}}async function qt(e,t){let{sessionId:n,limit:i}=t,a=[],o=!1,s=!1,c;do{let{events:t,nextCursor:l}=await e.request(r.getEvents,{sessionId:n,options:{limit:1e4,...c&&{after:c}}});for(let r of t){if(r.type===`squash`){o=!0,a.length=0;let e=r.payload,t={messageId:`squash-${r.eventId}`,sessionId:n,turnId:null,role:`assistant`,contentText:e.summaryJson,blocks:[{type:`text`,content:e.summaryJson}],timestamp:r.timestamp};a.push(t)}else if(r.type===`message`){let t=r.payload,{message:n}=await e.request(p.get,{messageId:t.messageId});n&&a.push(n)}if(i&&a.length>=i){s=!0;break}}if(i&&a.length>=i)break;c=l??void 0}while(c);return{messages:a,hasSquashBoundary:o,sessionChain:[n],truncated:s,incomplete:!1}}const W=new class{actions=new Map;register(e){if(this.actions.has(e.id))throw Error(`Action already registered: ${e.id}`);this.actions.set(e.id,e)}get(e){return this.actions.get(e)}getAll(){return Array.from(this.actions.values())}getByCategory(e){return this.getAll().filter(t=>t.category===e)}reset(){this.actions.clear()}};async function Jt(e,t,n){let r=e,i,a;for(let e of t){let t=W.get(e.actionId);if(!t)throw Error(`Unknown action: ${e.actionId}`);let o={...n,...e.options},s=await t.execute(r,o);if(s.kind===`messages`)r=s.messages;else{i=s.json,a=s.tokenEstimate,r=[];break}}if(!i&&r.length>0){let e=r.reduce((e,t)=>e+JSON.stringify(t.blocks).length,0);a=Math.ceil(e/4)}return{messages:r,contextJson:i,tokenEstimate:a}}function Yt(e){return e.map(e=>({...e,blocks:e.blocks.filter(e=>e.type!==`reasoning`)}))}const Xt={id:`strip-reasoning`,label:`Strip Reasoning`,description:`Remove reasoning/thinking blocks from messages`,category:`transformation`,async execute(e){return{kind:`messages`,messages:Yt(e)}}};function Zt(e){return e.map(e=>({...e,blocks:e.blocks.map(e=>{if(e.type===`tool_output`){let t=e.output.length;return{...e,output:`[output removed - ${t} chars]`}}return e})}))}const Qt={id:`strip-tool-outputs`,label:`Strip Tool Outputs`,description:`Remove tool output contents, keep structure`,category:`transformation`,async execute(e){return{kind:`messages`,messages:Zt(e)}}};async function G(e,t){let n=[],r=[],i=[],a=!1,o=!1,s=!1,l=[],u,d=t,f;for(;d;){let n=await e.request(c.get,{sessionId:d});if(!n.session){s=!0;break}d===t&&(u=n.session.forkTransforms??void 0),l.unshift({sessionId:d,forkPointMessageId:n.session.forkPointMessageId??void 0}),f=n.session.parentSessionId??void 0,d=f}for(let t=0;t<l.length;t++){let{sessionId:s}=l[t],c=t===l.length-1,u=l[t+1]?.forkPointMessageId;n.push(s);let d=await qt(e,{sessionId:s});if(d.hasSquashBoundary&&(a=!0,c||(r.length=0)),d.truncated&&(o=!0),c)i=d.messages;else for(let e of d.messages)if(r.push(e),u&&e.messageId===u)break}return u&&(r=await $t(r,u)),{messages:[...r,...i],hasSquashBoundary:a,sessionChain:n,truncated:o,incomplete:s}}async function $t(e,t){if(t.segments?.length){let n=t.segments[0].fromMessageId,r=t.segments[t.segments.length-1].toMessageId,i=e.findIndex(e=>e.messageId===n),a=e.findIndex(e=>e.messageId===r);if(i===-1||a===-1||i>a)return tn(e,t.segments);let o=e.slice(0,i),s=e.slice(i,a+1),c=e.slice(a+1),l=tn(s,t.segments);return[...o,...l,...c]}let n=e;if(t.removedMessageIds?.length){let e=new Set(t.removedMessageIds);n=n.filter(t=>!e.has(t.messageId))}return t.appliedPipeline?.length&&(n=(await Jt(n,t.appliedPipeline)).messages),n}function en(e,t){let n=e;return t.stripReasoning&&(n=Yt(n)),t.stripToolOutputs&&(n=Zt(n)),n}function tn(e,t){let n=new Map;for(let t=0;t<e.length;t++)n.set(e[t].messageId,t);let r=[];for(let i of t){let t=n.get(i.fromMessageId),a=n.get(i.toMessageId);if(t===void 0||a===void 0){console.warn(`[getFullConversation] Skipping segment with missing boundary IDs`,{segmentKey:`${i.fromMessageId}..${i.toMessageId}`,fromMessageId:i.fromMessageId,toMessageId:i.toMessageId,hasFrom:t!==void 0,hasTo:a!==void 0});continue}let o=e.slice(t,a+1),s;switch(i.policy){case`exclude`:s=[];break;case`summarize`:if(i.summaryText){if(o.length===0)throw Error(`Cannot create synthetic summary message for empty segment: ${i.fromMessageId}..${i.toMessageId}`);s=[{messageId:`summary-${i.fromMessageId}-${i.toMessageId}`,turnId:null,sessionId:o[0].sessionId,role:`assistant`,contentText:i.summaryText,blocks:[{type:`text`,content:i.summaryText}],timestamp:o[o.length-1].timestamp}]}else s=o;break;default:s=o;break}if((i.policy!==`summarize`||!i.summaryText)&&i.overrides&&Object.keys(i.overrides).length>0){let e=new Set(Object.entries(i.overrides).filter(([,e])=>e===`exclude`).map(([e])=>e));s=s.filter(t=>!e.has(t.messageId))}s=en(s,i),r.push(...s)}return r}function K(e){return{role:e.role,blocks:e.blocks}}async function nn(e,t){return{messageHistory:(await G(e,t.sessionId)).messages.map(K),isFirstTurn:!0}}async function rn(e,t,n){if(yt(n))return nn(e,t)}function an(e){return ae(e.guard.expectedCurrency)}function q(e){return e.agent.status===`idle`||e.agent.status===`active`||e.agent.status===`dead`}async function J(e,t){let n=await e.requestOptional(o.get,{agentId:t}),r=n.handled?n.data.agent:null;if(r===null)return null;let i=await e.requestOptional(C.read,{agentId:t}),a=i.handled?i.data.ownership:null;if(a===null)return null;let{currency:s}=a,c={...r,adapterSessionId:s.adapterSessionId??void 0,currentAdapterSessionId:s.currentAdapterSessionId??void 0,currentAdapterSessionIdState:s.currentAdapterSessionIdState,revision:a.revision,currencyFence:a.currencyFence};return{agent:c,guard:{expectedStatus:c.status,expectedPreimage:{status:c.status,adapterId:c.adapterId,...c.runtimeOwner===void 0?{}:{binding:{adapterId:c.adapterId,ownerMachineId:c.runtimeOwner.machineId,ownerInstanceId:c.runtimeOwner.instanceId}},...c.recoveryAttemptId===void 0?{}:{recoveryAttemptId:c.recoveryAttemptId}},expectedRevision:a.revision,expectedCurrencyFence:a.currencyFence,expectedCurrency:s}}}async function on(e,t,n,r){if(n.machineId===void 0||r===null)return{...t.guard,ownerGeneration:null};let i=await e.request(C.listClaims,{machineId:n.machineId,adapterId:n.adapterId,providerSessionId:r});return{...t.guard,ownerGeneration:s(i.claims[0]??null)}}async function sn(e,t,n,r){if(t.cwd===n)return{swapped:!1};let i=await e.request(x.cwd.change,{agentId:t.agentId,adapterId:t.adapterId,adapterName:t.adapterName,adapterSessionId:t.adapterSessionId??``,sessionId:t.sessionId,newCwd:n,...r?.skipWarning?{skipWarning:!0}:{}});if(!i.success)throw Error(`Failed to change cwd for agent ${t.agentId}: ${i.reason??`unknown`}`);return i.previousCwd?(t.cwd=n,{swapped:!0,previousCwd:i.previousCwd}):(t.cwd=n,{swapped:!1})}async function cn(e,t,n,r){let i=n===void 0||t.model===n,a=r?.reasoningEffort===void 0,o=!r?.providerConfigId;if(i&&a&&o)return{changed:!1};let s=r?.providerConfigId?await h(e,{adapterName:t.adapterName,providerConfigId:r.providerConfigId}):void 0,c=await e.request(x.model.change,{agentId:t.agentId,adapterId:t.adapterId,adapterName:t.adapterName,adapterSessionId:t.adapterSessionId??``,...n!==void 0&&{newModel:n},...r?.reasoningEffort!==void 0&&{reasoningEffort:r.reasoningEffort},...r?.skipWarning!==void 0&&{skipWarning:r.skipWarning},...s!==void 0&&{providerContext:s}});if(!c.success)throw Error(`Failed to change model for agent ${t.agentId}: ${c.reason??`unknown`}`);return n!==void 0&&(t.model=n),{changed:!0,swapped:c.swapped??!1}}async function ln(e,t,n){let r=[],i=new Set,a=new Set;for(let o of t){if(o.runtimeOwner===void 0){a.add(o.agentId);continue}let t=await e.requestOptional(y.getAgent,{adapterId:o.adapterId,ownerInstanceId:o.runtimeOwner.instanceId,agentId:o.agentId});if(t.handled&&t.data.agent!==null){o.status===`dead`&&await Gn(e,o.agentId),r.push(o);continue}let s=await dn(e,o,n);if(s.kind===`deferred`){a.add(o.agentId);continue}r.push(s.agent),i.add(s.agent.agentId)}return{usable:r,recoveredAgentIds:i,deferredAgentIds:a}}async function un(e,t,n){let r=await G(e,t.sessionId),i=n?.pipeline??[];return{messageHistory:(i.length>0?(await Jt(r.messages,i)).messages:r.messages).map(K),isFirstTurn:!0}}async function dn(e,t,n){for(let r=0;r<=1;r+=1){let i=await $n(e,t,()=>fn(e,t,n));if(!(i?.kind===`stale-plan`&&r<1))return pn(t,i)}return pn(t,{kind:`stale-plan`})}async function fn(e,t,n){let r=await J(e,t.agentId);if(r===null||!q(r))return{kind:`lost`};let i=vt(n.plan),a=i===void 0?null:an(r);if(a===null&&i!==void 0)return{kind:`stale-plan`};Object.assign(t,r.agent);let o=R(await z(e,{adapterName:t.adapterName,...t.runtimeOwner===void 0?{storedAdapterId:t.adapterId,...n.machineId!==void 0&&{machineId:n.machineId}}:{adapterId:t.adapterId,machineId:t.runtimeOwner.machineId}}));return o===void 0?{kind:`deferred`,reason:`machine-identity-unavailable`}:{agent:t,sessionId:t.sessionId,instance:o,resumeProviderSessionId:a,recoveryGuard:await on(e,r,o,a),...n.cwd!==void 0&&{cwd:n.cwd},...(n.model??t.model)!==void 0&&{model:n.model??t.model}}}function pn(e,t){switch(t?.kind){case`rehydrated`:case`joined`:return{kind:`recovered`,agent:t.agent};case`deferred`:return{kind:`deferred`,reason:t.reason};default:throw Pn(e.agentId,t)}}function mn(e){if(e instanceof me)return e;if(e instanceof Error&&e.cause instanceof me)return e.cause}async function hn(e,t){try{await e.emit(w.user_message.acknowledged,t)}catch(e){console.error(`[SessionRouting] Failed to emit user-message acknowledgement:`,e)}}async function gn(e,t,n,r){await e.emit(w.turn.assistantPersistenceSettled,{sessionId:t.sessionId,turnId:t.turnId,messageId:n,agentId:r})}async function _n(e){let{bus:t,turn:n,messageId:r,agentId:i,outcome:a,error:o,onTurnComplete:s,turnManager:c}=e;try{await gn(t,n,r,i)}catch(e){console.error(`[SessionRouting] Failed to emit terminal routing settlement:`,e)}await c.recordAgentCompletion(i,r,a,o,s,n.turnId)}async function vn(e,t,n,r,i,a,o,s,c,l,u,d){if(n.some(e=>!a.hasAdmittedPair(i,e.agentId)))throw Error(`Turn ${a.turnId} has no admitted fanout for message ${i}`);let f=n.map(async n=>{try{return d?.(),await e.request(x.sendMessage,{agentId:n.agentId,adapterId:n.adapterId,message:r,deliveryMode:o,messageId:i,turnId:a.turnId,sessionId:t.sessionId,sessionContext:l,...u!==void 0&&{responseSchema:u}}),await hn(e,{sessionId:a.sessionId,turnId:a.turnId,turnNumber:a.turnNumber,messageId:i,agentId:n.agentId}),{agentId:n.agentId,kind:`dispatched`}}catch(t){if(mn(t)!==void 0)return await _n({bus:e,turn:a,messageId:i,agentId:n.agentId,outcome:`cancelled`,onTurnComplete:s,turnManager:c}),{agentId:n.agentId,kind:`cancelled`,error:t};let r=t instanceof Error?t.message:String(t);return await _n({bus:e,turn:a,messageId:i,agentId:n.agentId,outcome:`error`,error:r,onTurnComplete:s,turnManager:c}),{agentId:n.agentId,kind:`failed`,error:t}}});return await Promise.all(f)}async function yn(e,t){let{session:n}=await e.request(w.get,{sessionId:t});if(n?.status===`active`)return;let r=n?.status===`closed`||n?.status===`archived`||n?.status===`discovered`?n.status:void 0;throw new B(`session-not-active`,`[attach-handler] Session is no longer active after agent startup: ${t}`,void 0,void 0,r)}async function bn(e,t,n,r,i,a,o,s,c){try{return await Sn(e,t,n,i,a,o,s,c)}catch(e){throw console.error(`[attach-handler] Failed to set up initial-message turn`,{sessionId:i,agentId:a,adapterId:r.adapterId,error:e}),e}}async function xn(e,t,n,r,i,a,o,s,c,l){l?.();let u=await bn(e,t,n,r,i.sessionId,r.agentId,crypto.randomUUID(),a,s),d;try{d=await vn(e,i,[{agentId:r.agentId,adapterId:r.adapterId}],a,u.messageId,u.turn,void 0,t.completeTurn.bind(t),t,c,o,l)}catch(e){try{await t.retryTurnCompletion(u.turn.turnId)}catch(e){console.error(`[attach-handler] Failed to retry initial-message completion after routing failure`,{sessionId:i.sessionId,turnId:u.turn.turnId,error:e})}throw e}let f=d[0];if(!f||f.kind===`dispatched`)return{messageId:u.messageId,turnId:u.turn.turnId};throw f.error}async function Sn(e,t,n,r,i,a,o,s){let c=await t.createReservedTurn(n,[i],s),l=t.admitReservedMessage(c,a,[i]);try{if(!(await e.requestOptional(p.append,{message:{messageId:a,turnId:c.turnId,sessionId:r,role:`user`,contentText:Bt(o),blocks:Ht(o),timestamp:Date.now()}})).handled)throw Error(`Message storage append handler is not registered`)}catch(e){console.warn(`[attach-handler] Failed to store initial user message`,{sessionId:r,messageId:a,error:e instanceof Error?e.message:String(e)});try{await l.rollback(`initial-message-persistence-failed`)}catch(e){console.error(`[attach-handler] Failed to finalize rejected initial-message persistence:`,e)}throw e}try{await Cn(e,r,c,a,o,s.source)}catch(e){try{await l.rollback(`initial-message-lifecycle-failed`)}catch(e){console.error(`[attach-handler] Failed to finalize rejected initial-message lifecycle:`,e)}throw e}return l.commit(),{messageId:a,turn:c}}async function Cn(e,t,n,r,i,a){await Ie(e,{sessionId:t,turnId:n.turnId,turnNumber:n.turnNumber,messageId:r,agentIds:[...n.agentIds],initiator:n.initiator,ingestionMarker:`live`}),await Le(e,{sessionId:t,turnId:n.turnId,turnNumber:n.turnNumber,messageId:r,content:i,agentIds:[...n.agentIds],source:a})}async function wn(e,t){try{let n=await e.requestOptional(o.get,{agentId:t});if(!n.handled)return!1;let r=n.data.agent;return r===null||r.status===`disposed`}catch(e){return console.debug(`[session.start] re-reading agent ${t} during failure cleanup failed:`,e),!1}}async function Tn(e,t,n,r,i,a=!1){let o;try{o=await Dn(e,t,n)}catch(n){throw await kn(e,t,i,n)}o!==void 0&&await zt(e,t.adapterId,t.agentId,i,o,t.policy,t.claimTokens);try{await On(e,t,n,i),t.admitSessionBeforeFinalAdoption&&await yn(e,t.sessionId),await En(e,t,r,i,a)}catch(n){throw await kn(e,t,i,n)}}async function En(e,t,n,r,i=!1){if(n===void 0)throw Error(`[session.start] adapter omitted the settlement acknowledgement token for agent ${t.agentId}`);let a=await e.request(y.acknowledgeCallerSettlement,{adapterId:t.adapterId,ownerInstanceId:r,agentId:t.agentId,settlementAckToken:n,...i&&{recovery:!0}});if(!a.acknowledged)throw Error(`[session.start] adapter refused the settlement acknowledgement for agent ${t.agentId}: ${a.reason}`)}async function Dn(e,t,n){let{agentId:r,adapterId:i}=t;if(n!==void 0)return e.request(w.ownership.settleMovement,{sessionId:t.sessionId,agentId:r,adapterId:i,adapterName:t.adapterName,ownerInstanceId:t.ownerInstanceId,movement:{confirmed:!0,providerSessionId:n},...t.settlementClaimToken!==void 0&&{claimToken:t.settlementClaimToken},machineId:t.machineId})}async function On(e,t,n,r){let{agentId:i,providerConfigId:a,machineId:s}=t;if(!(await e.request(o.updateRuntime,{agentId:i,runtimeOwner:{machineId:s,instanceId:r},...n!==void 0&&{adapterSessionId:n},...a!==void 0&&{providerConfigId:a}})).success)throw Error(`[session.start] recording the origin session of agent ${i} was refused`)}async function kn(e,t,n,r){return An(e,{adapterId:t.adapterId,ownerInstanceId:n,agentId:t.agentId,attemptKind:`start`,policy:t.policy,claimTokens:t.claimTokens},r)}async function An(e,t,n){let{adapterId:r,ownerInstanceId:i,agentId:a,attemptKind:o,policy:s,claimTokens:c}=t;return await H(e,a,s,c),await U(e,r,a,i,s.connectorOnlyTeardown),await wn(e,a)?new B(`agent-unavailable`,`[session.start] agent ${a} was removed while its ${o} was completing`,n):n instanceof B&&n.code===`session-not-active`?n:new B(`settlement-unresolved`,`[session.start] completing the ${o} of agent ${a} did not resolve`,n)}async function jn(e,t){return e.request(y.rehydrateAgent,{adapterId:t.adapterId,ownerInstanceId:t.ownerInstanceId,agentId:t.agentId,...t.cwd!==void 0&&{cwd:t.cwd},...t.model!==void 0&&{model:t.model},...t.resumeProviderSessionId!==null&&{resumeAdapterSessionId:t.resumeProviderSessionId},...t.callerOwnsAgentRow===!0&&{callerOwnsAgentRow:!0}})}const Mn={writesAgentStatus:!1,connectorOnlyTeardown:!0},Nn={writesAgentStatus:!1};function Pn(e,t){return t===void 0?new B(`start-failed`,`[session.start] recovery of agent ${e} produced no result`):t.kind===`lost`?new B(`agent-unavailable`,`[session.start] agent ${e} was removed or claimed by another runtime while it was recovered`):t.kind===`stale-plan`?new B(`start-unresolved`,`[session.start] recovery plan for agent ${e} remained stale after its bounded retry`):new B(t.outcome===`session-not-active`?`session-not-active`:t.outcome===`agent-disposed`||t.outcome===`not-found`?`agent-unavailable`:`start-failed`,`[session.start] recovery of agent ${e} was refused: ${t.message??t.outcome}`,void 0,void 0,t.status)}async function Fn(e,t){if(R(t.instance)===void 0)return{kind:`deferred`,reason:`machine-identity-unavailable`};let{agent:n}=t;if(n.status===`disposed`)return{kind:`refused`,outcome:`agent-disposed`};if(t.recoveryGuard===void 0)throw Error(`[session.start] recovery of agent ${n.agentId} omitted its atomic recovery guard`);let r=await In(e,t);return r.kind===`settled`?r.outcome:Rn(e,t,r.reservation)}async function In(e,t){let{agent:n,instance:r,resumeProviderSessionId:i,sessionId:a}=t,o=t.recoveryGuard;if(o===void 0)throw Error(`[session.start] recovery of agent ${n.agentId} omitted its guard`);let s=N(),c=N(),l;try{l=await Dt(e,{sessionId:a,agentId:n.agentId,adapterName:n.adapterName,instance:r,role:`member`,resumeProviderSessionId:i,claimToken:s,recoveryGuard:o,recoveryAttemptId:c})}catch(r){throw await Ln(e,n.agentId,s),await Un(e,n.agentId,t.instance,c,o.expectedPreimage),r}return l.outcome===`reserved`?{kind:`reserved`,reservation:l.reservation}:l.outcome===`occupied`||l.outcome===`machine-identity-unavailable`?{kind:`settled`,outcome:{kind:`deferred`,reason:l.outcome}}:l.outcome===`currency-changed`?{kind:`settled`,outcome:{kind:`stale-plan`}}:l.outcome===`recovery-conflict`?{kind:`settled`,outcome:l.status===`disposed`?{kind:`refused`,outcome:`agent-disposed`}:{kind:`lost`}}:l.outcome===`session-not-active`?{kind:`settled`,outcome:{kind:`refused`,outcome:l.outcome,status:l.status}}:{kind:`settled`,outcome:{kind:`refused`,outcome:l.outcome}}}async function Ln(e,t,n){try{let r=await e.request(w.ownership.release,{agentId:t,claimToken:n,disposition:`released`});return r.releasedProviderSessionIds.length>0&&!r.claimTokenNotFound}catch{return!1}}async function Rn(e,t,n){let{agent:r,resumeProviderSessionId:i}=t,{adapterId:a}=t.instance,o=r.agentId,{ownerInstanceId:s}=n,c=Hn(n);if(c===void 0)throw Error(`[session.start] recovery reservation for agent ${o} omitted its terminal authority`);let l=N(),u=new Ot([n.claim?.claimToken,l]),d;try{d=await jn(e,{agentId:o,adapterId:a,ownerInstanceId:s,resumeProviderSessionId:i,callerOwnsAgentRow:!0,...t.cwd!==void 0&&{cwd:t.cwd},...t.model!==void 0&&{model:t.model}})}catch(t){throw await H(e,o,Mn,u),await Y(e,o,c,`failed`),await U(e,a,o,s,!0),t}if(!d.success)return await Ft(e,o,Nn,u),await Y(e,o,c,`rollback`),{kind:`refused`,outcome:`rehydrate-refused`,message:d.message};if(d.ownerInstanceId!==s)throw await Vn(e,a,o,u,Error(`Adapter owner mismatch for rehydrated agent ${o}: expected ${s}, received ${d.ownerInstanceId??`none`}`),s,c);let f=d.adapterSessionId??i;r.adapterId=a;let p;try{f!==null&&(p=await zn(e,t,f,l))}catch(t){throw await Vn(e,a,o,u,t,s,c)}if(p!==void 0)try{await zt(e,a,o,s,p,Mn,u)}catch(t){throw await Y(e,o,c,`failed`),t}try{return await Bn(e,t,d.settlementAckToken,s,c)}catch(t){throw await Vn(e,a,o,u,t,s,c)}}async function zn(e,t,n,r){let{agent:i,sessionId:a}=t,{adapterId:o,machineId:s}=t.instance;return e.request(w.ownership.settleMovement,{sessionId:a,agentId:i.agentId,adapterId:o,adapterName:i.adapterName,ownerInstanceId:t.instance.ownerInstanceId,movement:{confirmed:!0,providerSessionId:n},claimToken:r,...s!==void 0&&{machineId:s}})}async function Bn(e,t,n,r,i){let{agent:a,resumeProviderSessionId:o}=t,{adapterId:s}=t.instance;return await yn(e,t.sessionId),await En(e,{adapterId:s,agentId:a.agentId},n,r,!0),await Y(e,a.agentId,i,`succeeded`),{kind:`rehydrated`,agent:a,native:o!==null}}async function Vn(e,t,n,r,i,a,o){let s=await An(e,{adapterId:t,ownerInstanceId:a,agentId:n,attemptKind:`rehydrate`,policy:Mn,claimTokens:r},i);return await Y(e,n,o,`failed`),s}function Hn(e){if(!(e.recovery===void 0||e.machineId===void 0))return{...e.recovery,binding:{adapterId:e.adapterId,ownerMachineId:e.machineId,ownerInstanceId:e.ownerInstanceId}}}async function Y(e,t,n,r){if(n===void 0)return;let i=r===`rollback`?{kind:`rollback`,preimage:n.preimage}:{kind:r},a=await e.request(C.finalizeRecovery,{agentId:t,attemptId:n.attemptId,binding:n.binding,action:i});if(r===`succeeded`&&!a.applied)throw Error(`[session.start] recovery ${n.attemptId} for agent ${t} was superseded before ${r}`)}async function Un(e,t,n,r,i){await e.request(C.finalizeRecovery,{agentId:t,attemptId:r,binding:{adapterId:n.adapterId,ownerMachineId:n.machineId,ownerInstanceId:n.ownerInstanceId},action:{kind:`rollback`,preimage:i}})}function Wn(e){if(e===null)return`drop`;switch(e.status){case`idle`:case`active`:return`use`;case`dead`:return`recover`;case`disposed`:return`drop`;case`starting`:return}}async function Gn(e,t){await e.requestOptional(o.updateStatus,{agentId:t,status:`idle`,expectedStatus:[`dead`]})}async function X(e,t,n){let r=await e.requestOptional(o.get,{agentId:t});return r.handled?r.data.agent:n}async function Kn(e,t){let n=t.runtimeOwner;if(n===void 0)return!1;try{let t=await e.requestOptional(C.getRuntimeInstance,{instanceId:n.instanceId,machineId:n.machineId});return t.handled&&t.data.instance!==null&&t.data.instance.retiredAt!==null}catch{return!1}}async function qn(e,t){let n=t,r=!1;for(let i=0;i<2;i+=1){let i=dt(t.agentId);if(i!==void 0)await i.settled.catch(()=>void 0),r=!0;else if(n=await X(e,t.agentId,n??t),n?.status===`starting`&&n.recoveryAttemptId!==void 0){let t=n.runtimeOwner;if(t===void 0||!await Kn(e,n))return{resolution:`defer`,row:n,arbitrated:!1,joined:r};await e.request(C.finalizeRecovery,{agentId:n.agentId,attemptId:n.recoveryAttemptId,binding:{adapterId:n.adapterId,ownerMachineId:t.machineId,ownerInstanceId:t.instanceId},action:{kind:`failed`}})}else{let i=await e.requestOptional(o.updateStatus,{agentId:t.agentId,status:`dead`,expectedStatus:[`starting`]});if(!i.handled||i.data.transitioned)return{resolution:`recover`,row:await X(e,t.agentId,n??t),arbitrated:!0,joined:r}}n=await X(e,t.agentId,n??t);let a=Wn(n);if(a!==void 0)return{resolution:a,row:n,arbitrated:!1,joined:r}}throw new B(`start-unresolved`,`[session.start] agent ${t.agentId} is still starting after joining and arbitrating its start`)}function Jn(e,t,n){let{resolution:r,row:i,arbitrated:a}=t;n.droppedAgentIds.delete(e),n.recoveringAgentIds.delete(e),n.deferredAgentIds.delete(e),n.arbitratedAgentIds.delete(e),r===`drop`&&n.droppedAgentIds.add(e),r===`recover`&&(n.recoveringAgentIds.add(e),a&&n.arbitratedAgentIds.add(e)),r===`defer`&&n.deferredAgentIds.add(e),i!==null&&n.refreshed.set(e,i)}function Yn(e,t,n){switch(Wn(t)){case`drop`:n.recoveringAgentIds.delete(e),n.deferredAgentIds.delete(e),n.arbitratedAgentIds.delete(e),n.droppedAgentIds.add(e);return;case`use`:n.droppedAgentIds.delete(e),n.recoveringAgentIds.delete(e),n.deferredAgentIds.delete(e),n.arbitratedAgentIds.delete(e),t!==null&&n.refreshed.set(e,t);return;case`recover`:n.droppedAgentIds.delete(e),n.deferredAgentIds.delete(e),t!==null&&n.refreshed.set(e,t);return;case void 0:throw Error(`[session.start] a starting sibling must be resolved before it is recorded`)}}async function Xn(e,t,n){let r=0;for(;;){let i=!1;for(let r of t.agents){let t=await X(e,r.agentId,r);if(t?.status===`starting`){let a=await qn(e,t);i||=a.joined,Jn(r.agentId,a,n)}else Yn(r.agentId,t,n)}if(!i)return;if(r+=1,r>2)throw new B(`start-unresolved`,`[session.start] session ${t.sessionId} did not stabilize after 2 joined refresh passes`)}}async function Zn(e,t){let n=new Set,r=new Set,i=new Set,a=new Set,o=new Map,s={droppedAgentIds:n,recoveringAgentIds:r,deferredAgentIds:i,arbitratedAgentIds:a,refreshed:o},c=!1;for(let n of t.agents){if(n.status!==`starting`)continue;let t=await qn(e,n);c||=t.joined,Jn(n.agentId,t,s)}return c&&await Xn(e,t,s),(n.size>0||o.size>0)&&(t.agents=t.agents.filter(e=>!n.has(e.agentId)).map(e=>o.get(e.agentId)??e)),{droppedAgentIds:n,recoveringAgentIds:r,deferredAgentIds:i,arbitratedAgentIds:a}}function Qn(e){return`resumeProviderSessionId`in e}async function $n(e,t,n){for(let r=0;r<=1;r+=1){let r,i=ut(t.agentId,async()=>{let t=await n();return r=Qn(t)?await Fn(e,t):t,r.kind===`rehydrated`?`connected`:`no-connector`});if(!i.joined)return await i.settled,r;let a=await er(e,t,i.settled);if(a!==`retry`)return a}throw new B(`start-unresolved`,`[session.start] recovery of agent ${t.agentId} did not resolve after joining and re-entering its start`)}async function er(e,t,n){let r,i=await n.catch(e=>(r={error:e},`no-connector`));if(r!==void 0)throw new B(`start-failed`,`[session.start] recovery of agent ${t.agentId} was joined from another attempt, which failed`,r.error);let a=await X(e,t.agentId,t);if(a!==null&&Object.assign(t,a),i===`no-connector`)return`retry`;switch(Wn(a)){case`use`:return{kind:`joined`,agent:t};case`drop`:return{kind:`refused`,outcome:a===null?`not-found`:`agent-disposed`};case`recover`:return`retry`;case`defer`:throw Error(`[session.start] joined-row classification returned an unsupported ownership deferral`);case void 0:return`retry`}}async function tr(e,t,n){let{agentId:r}=t;if(n.resumeProviderSessionId===null)return nr(r,await $n(e,t,async()=>{let i=await J(e,r);if(i===null||!q(i))return{kind:`lost`};Object.assign(t,i.agent);let a=R(await z(e,{adapterName:t.adapterName,storedAdapterId:t.adapterId,...n.machineId!==void 0&&{machineId:n.machineId}}));return a===void 0?{kind:`deferred`,reason:`machine-identity-unavailable`}:{agent:t,sessionId:t.sessionId,instance:a,resumeProviderSessionId:null,recoveryGuard:{...i.guard,ownerGeneration:null}}}));for(let i=0;i<=1;i+=1){let a=await $n(e,t,async()=>{let i=await J(e,r);if(i===null||!q(i))return{kind:`lost`};let a=an(i);if(a===null)return{kind:`stale-plan`};Object.assign(t,i.agent);let o=R(await z(e,{adapterName:t.adapterName,storedAdapterId:t.adapterId,...n.machineId!==void 0&&{machineId:n.machineId}}));if(o===void 0)return{kind:`deferred`,reason:`machine-identity-unavailable`};let s=await on(e,i,o,a);return{agent:t,sessionId:t.sessionId,instance:o,resumeProviderSessionId:a,recoveryGuard:s}});if(!(a?.kind===`stale-plan`&&i<1))return nr(r,a)}return nr(r,{kind:`stale-plan`})}function nr(e,t){switch(t?.kind){case`rehydrated`:case`joined`:return{deferred:!1};case`deferred`:return{deferred:!0};default:throw Pn(e,t)}}const rr=e.postgres,Z=se({turns:t},{turns:rr});async function ir(e,t){let n=le(e.dialect);for(let r=1;;r++)try{await e.run(t());return}catch(e){if(r>=32||!n.capabilities.maxCounterAssignmentRaces||!n.errors.isUniqueViolationError(e,`uniq_turns_session_number`))throw e}}function ar(e){if(e)try{let t=JSON.parse(e),n=re.safeParse(t);return n.success?n.data:void 0}catch{return}}function or(e){return e?JSON.stringify(e):null}function sr(e){if(e)try{let t=JSON.parse(e),n=ne.safeParse(t);return n.success?n.data:void 0}catch{return}}function Q(e){let t=sr(e.initiator);return{turnId:e.turnId,sessionId:e.sessionId,turnNumber:e.turnNumber,startedAt:e.startedAt,completedAt:e.completedAt??void 0,status:e.status,error:e.error??void 0,usage:ar(e.usage),...t!==void 0&&{initiator:t}}}function cr(e,t){let n=[lr(e,t),ur(e,t),dr(e,t),fr(e,t),pr(e,t),mr(e,t),hr(e,t),gr(e,t)];return()=>n.forEach(e=>e())}function lr(e,t){let n=ce(t),{turns:r}=T(t,Z);return e.on(a.create,async e=>{let{sessionId:i,turnId:a,initiator:o}=e.payload,s=Date.now(),c=a??crypto.randomUUID(),l=or(o);await ir(n,()=>k`
4
4
  WITH next_num AS (
@@ -1 +1 @@
1
- import{t as e}from"./ui-config-CsH94fwa.mjs";import{i as t,r as n}from"./schemas-HffXbw8C.mjs";import{z as r}from"zod";import{createBusNamespace as i}from"@makaio/framework/core";const a=`At least one of adapterName or clientId must be provided`,o=e=>!!(e.adapterName||e.clientId);function s(e){return!!(e.id||e.name)}function c(e){return e.id||!e.name?!0:!!e.adapterName}const l={get:{request:r.object({id:r.string().optional(),name:r.string().optional(),adapterName:r.string().optional()}).refine(s,{message:`Either id or name is required`,path:[`id`]}).refine(c,{message:`adapterName is required when looking up by name`,path:[`adapterName`]}),response:t},list:{request:r.object({adapterName:r.string().optional(),clientId:r.string().optional(),name:r.string().optional()}),response:r.object({harnesses:r.array(t)})},set:{request:n,response:r.object({id:r.string()})},delete:{request:r.object({id:r.string()}),response:r.object({success:r.boolean()})},getDefault:{request:r.object({adapterName:r.string().optional(),clientId:r.string().optional()}).refine(o,{message:a,path:[`adapterName`]}),response:t},resolve:{request:r.object({adapterName:r.string().optional(),clientId:r.string().optional(),personaHarnessId:r.string().optional(),profileHarnessId:r.string().optional()}).refine(o,{message:a,path:[`adapterName`]}),response:t},getSchema:{request:r.object({}),response:r.object({schema:r.record(r.string(),r.unknown()),uiConfig:e})},created:t,updated:t,deleted:r.object({id:r.string()})},u=i(`harness`,l),d=u.subjects;function f(e,t){return t[e]??[]}function p(e){let{registeredTools:t,allowedCapabilities:n,disallowedCapabilities:r,capabilityMap:i}=e,a=new Set(n),o=new Set(r),s=[],c=[];for(let e of t){let t=f(e,i);n.length>0&&t.length>0&&t.every(e=>a.has(e))&&s.push(e),t.some(e=>o.has(e))&&c.push(e)}return{allowedTools:s,disallowedTools:c}}function m(e,t){return t.length===0?e?[...e]:void 0:[...new Set([...e??[],...t])]}function h(e,t){return{allowedTools:m(e,[]),disallowedTools:m(t,[])}}async function g(e,t){let{allowedCapabilities:n,disallowedCapabilities:r,harnessId:i,allowedTools:a,disallowedTools:o}=t;if(!((n?.length??0)||(r?.length??0))||!i)return h(a,o);let s=await e.request(d.get,{id:i});if(!s.toolCapabilityMap)return h(a,o);let c=p({registeredTools:s.nativeTools.enabled,allowedCapabilities:n??[],disallowedCapabilities:r??[],capabilityMap:s.toolCapabilityMap});return{allowedTools:m(a,c.allowedTools),disallowedTools:m(o,c.disallowedTools)}}const _={bash:[`shell.execute`,`file.read`,`file.write`,`file.delete`,`network.request`,`process.manage`],patch:[`file.write`]};function v(e){return{id:e.id,name:e.name,description:e.description,adapterName:e.adapterName,clientId:e.clientId,approvalPolicy:`always-ask`,nativeTools:{enabled:[],disabled:[]},registryTools:{enabled:[],disabled:[]},isDefault:!0,enabled:!0}}const y={id:`harness-codex-app-server-native`,name:`Codex Native`,description:`Codex app server with built-in native tools`,adapterName:`codex-app-server`,clientId:`codex`,approvalPolicy:`always-ask`,nativeTools:{enabled:[`bash`,`patch`],disabled:[]},registryTools:{enabled:[],disabled:[]},toolCapabilityMap:_,isDefault:!0,enabled:!0},b=v({id:`harness-openai-node-registry`,name:`OpenAI Registry`,description:`OpenAI adapter with registry-managed tools`,adapterName:`openai-node`}),x=v({id:`harness-claude-code-registry`,name:`Claude Code Registry`,description:`Claude Code adapter with registry-managed tools`,adapterName:`claude-code`,clientId:`claude-code`}),S=v({id:`harness-gemini-sdk-registry`,name:`Gemini SDK Registry`,description:`Gemini SDK adapter with registry-managed tools`,adapterName:`gemini-sdk`,clientId:`gemini`}),C=[y,b,x,S];export{b as a,g as c,l as d,d as f,S as i,f as l,y as n,_ as o,C as r,p as s,x as t,u};
1
+ import{t as e}from"./ui-config-Bl2Wbkr-.mjs";import{i as t,r as n}from"./schemas-A2hlgeNu.mjs";import{z as r}from"zod";import{createBusNamespace as i}from"@makaio/framework/core";const a=`At least one of adapterName or clientId must be provided`,o=e=>!!(e.adapterName||e.clientId);function s(e){return!!(e.id||e.name)}function c(e){return e.id||!e.name?!0:!!e.adapterName}const l={get:{request:r.object({id:r.string().optional(),name:r.string().optional(),adapterName:r.string().optional()}).refine(s,{message:`Either id or name is required`,path:[`id`]}).refine(c,{message:`adapterName is required when looking up by name`,path:[`adapterName`]}),response:t},list:{request:r.object({adapterName:r.string().optional(),clientId:r.string().optional(),name:r.string().optional()}),response:r.object({harnesses:r.array(t)})},set:{request:n,response:r.object({id:r.string()})},delete:{request:r.object({id:r.string()}),response:r.object({success:r.boolean()})},getDefault:{request:r.object({adapterName:r.string().optional(),clientId:r.string().optional()}).refine(o,{message:a,path:[`adapterName`]}),response:t},resolve:{request:r.object({adapterName:r.string().optional(),clientId:r.string().optional(),personaHarnessId:r.string().optional(),profileHarnessId:r.string().optional()}).refine(o,{message:a,path:[`adapterName`]}),response:t},getSchema:{request:r.object({}),response:r.object({schema:r.record(r.string(),r.unknown()),uiConfig:e})},created:t,updated:t,deleted:r.object({id:r.string()})},u=i(`harness`,l),d=u.subjects;function f(e,t){return t[e]??[]}function p(e){let{registeredTools:t,allowedCapabilities:n,disallowedCapabilities:r,capabilityMap:i}=e,a=new Set(n),o=new Set(r),s=[],c=[];for(let e of t){let t=f(e,i);n.length>0&&t.length>0&&t.every(e=>a.has(e))&&s.push(e),t.some(e=>o.has(e))&&c.push(e)}return{allowedTools:s,disallowedTools:c}}function m(e,t){return t.length===0?e?[...e]:void 0:[...new Set([...e??[],...t])]}function h(e,t){return{allowedTools:m(e,[]),disallowedTools:m(t,[])}}async function g(e,t){let{allowedCapabilities:n,disallowedCapabilities:r,harnessId:i,allowedTools:a,disallowedTools:o}=t;if(!((n?.length??0)||(r?.length??0))||!i)return h(a,o);let s=await e.request(d.get,{id:i});if(!s.toolCapabilityMap)return h(a,o);let c=p({registeredTools:s.nativeTools.enabled,allowedCapabilities:n??[],disallowedCapabilities:r??[],capabilityMap:s.toolCapabilityMap});return{allowedTools:m(a,c.allowedTools),disallowedTools:m(o,c.disallowedTools)}}const _={bash:[`shell.execute`,`file.read`,`file.write`,`file.delete`,`network.request`,`process.manage`],patch:[`file.write`]};function v(e){return{id:e.id,name:e.name,description:e.description,adapterName:e.adapterName,clientId:e.clientId,approvalPolicy:`always-ask`,nativeTools:{enabled:[],disabled:[]},registryTools:{enabled:[],disabled:[]},isDefault:!0,enabled:!0}}const y={id:`harness-codex-app-server-native`,name:`Codex Native`,description:`Codex app server with built-in native tools`,adapterName:`codex-app-server`,clientId:`codex`,approvalPolicy:`always-ask`,nativeTools:{enabled:[`bash`,`patch`],disabled:[]},registryTools:{enabled:[],disabled:[]},toolCapabilityMap:_,isDefault:!0,enabled:!0},b=v({id:`harness-openai-node-registry`,name:`OpenAI Registry`,description:`OpenAI adapter with registry-managed tools`,adapterName:`openai-node`}),x=v({id:`harness-claude-code-registry`,name:`Claude Code Registry`,description:`Claude Code adapter with registry-managed tools`,adapterName:`claude-code`,clientId:`claude-code`}),S=v({id:`harness-gemini-sdk-registry`,name:`Gemini SDK Registry`,description:`Gemini SDK adapter with registry-managed tools`,adapterName:`gemini-sdk`,clientId:`gemini`}),C=[y,b,x,S];export{b as a,g as c,l as d,d as f,S as i,f as l,y as n,_ as o,C as r,p as s,x as t,u};
@@ -18,8 +18,8 @@ import * as _$_makaio_contracts0 from "@makaio/framework/contracts";
18
18
  declare const ArtifactViewResolveRequestSchema$1: z.ZodObject<{
19
19
  level: z.ZodEnum<{
20
20
  link: "link";
21
- full: "full";
22
21
  summary: "summary";
22
+ full: "full";
23
23
  }>;
24
24
  params: z.ZodOptional<z.ZodType<Record<string, unknown>, Record<string, unknown>, z.core.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
25
25
  ref: z.ZodObject<{
@@ -193,8 +193,8 @@ declare const MaterializationSchemas: {
193
193
  template: z.ZodString;
194
194
  }, z.core.$strip>], "kind">;
195
195
  appliesTo: z.ZodArray<z.ZodEnum<{
196
- workpiece: "workpiece";
197
196
  artifact: "artifact";
197
+ workpiece: "workpiece";
198
198
  surface: "surface";
199
199
  }>>;
200
200
  valueMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -235,8 +235,8 @@ declare const MaterializationSchemas: {
235
235
  template: z.ZodString;
236
236
  }, z.core.$strip>], "kind">;
237
237
  appliesTo: z.ZodArray<z.ZodEnum<{
238
- workpiece: "workpiece";
239
238
  artifact: "artifact";
239
+ workpiece: "workpiece";
240
240
  surface: "surface";
241
241
  }>>;
242
242
  valueMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -279,8 +279,8 @@ declare const MaterializationSchemas: {
279
279
  request: z.ZodObject<{
280
280
  level: z.ZodEnum<{
281
281
  link: "link";
282
- full: "full";
283
282
  summary: "summary";
283
+ full: "full";
284
284
  }>;
285
285
  params: z.ZodOptional<z.ZodType<Record<string, unknown>, Record<string, unknown>, z.core.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
286
286
  ref: z.ZodObject<{
@@ -431,8 +431,8 @@ declare const MaterializationNamespace: _$_makaio_core0.BusNamespaceDefinition<"
431
431
  template: z.ZodString;
432
432
  }, z.core.$strip>], "kind">;
433
433
  appliesTo: z.ZodArray<z.ZodEnum<{
434
- workpiece: "workpiece";
435
434
  artifact: "artifact";
435
+ workpiece: "workpiece";
436
436
  surface: "surface";
437
437
  }>>;
438
438
  valueMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -473,8 +473,8 @@ declare const MaterializationNamespace: _$_makaio_core0.BusNamespaceDefinition<"
473
473
  template: z.ZodString;
474
474
  }, z.core.$strip>], "kind">;
475
475
  appliesTo: z.ZodArray<z.ZodEnum<{
476
- workpiece: "workpiece";
477
476
  artifact: "artifact";
477
+ workpiece: "workpiece";
478
478
  surface: "surface";
479
479
  }>>;
480
480
  valueMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -517,8 +517,8 @@ declare const MaterializationNamespace: _$_makaio_core0.BusNamespaceDefinition<"
517
517
  request: z.ZodObject<{
518
518
  level: z.ZodEnum<{
519
519
  link: "link";
520
- full: "full";
521
520
  summary: "summary";
521
+ full: "full";
522
522
  }>;
523
523
  params: z.ZodOptional<z.ZodType<Record<string, unknown>, Record<string, unknown>, z.core.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
524
524
  ref: z.ZodObject<{
@@ -681,8 +681,8 @@ declare const MaterializationSubjects$1: _$_makaio_core0.BusSubjects<_$_makaio_c
681
681
  template: z.ZodString;
682
682
  }, z.core.$strip>], "kind">;
683
683
  appliesTo: z.ZodArray<z.ZodEnum<{
684
- workpiece: "workpiece";
685
684
  artifact: "artifact";
685
+ workpiece: "workpiece";
686
686
  surface: "surface";
687
687
  }>>;
688
688
  valueMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -723,8 +723,8 @@ declare const MaterializationSubjects$1: _$_makaio_core0.BusSubjects<_$_makaio_c
723
723
  template: z.ZodString;
724
724
  }, z.core.$strip>], "kind">;
725
725
  appliesTo: z.ZodArray<z.ZodEnum<{
726
- workpiece: "workpiece";
727
726
  artifact: "artifact";
727
+ workpiece: "workpiece";
728
728
  surface: "surface";
729
729
  }>>;
730
730
  valueMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -767,8 +767,8 @@ declare const MaterializationSubjects$1: _$_makaio_core0.BusSubjects<_$_makaio_c
767
767
  request: z.ZodObject<{
768
768
  level: z.ZodEnum<{
769
769
  link: "link";
770
- full: "full";
771
770
  summary: "summary";
771
+ full: "full";
772
772
  }>;
773
773
  params: z.ZodOptional<z.ZodType<Record<string, unknown>, Record<string, unknown>, z.core.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
774
774
  ref: z.ZodObject<{