@makaio/framework 1.0.0-dev-1785409369816 → 1.0.0-dev-1787670071418

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 (549) hide show
  1. package/README.md +2 -0
  2. package/dist/.makaio-build.json +4 -3
  3. package/dist/{account-identity-DFx8pwKL.mjs → account-identity-B3vLwm9O.mjs} +1 -1
  4. package/dist/adapter-Dz1fX5Wa.mjs +1 -0
  5. package/dist/adapter-subsystem/index.d.mts +194 -20
  6. package/dist/adapter-subsystem/index.mjs +1 -1
  7. package/dist/adapters/acp-client/index.d.mts +105 -7
  8. package/dist/adapters/acp-client/index.mjs +2 -2
  9. package/dist/adapters/claude/index.d.mts +5 -5
  10. package/dist/adapters/config/index.d.mts +1 -1
  11. package/dist/adapters/config/index.mjs +1 -1
  12. package/dist/adapters/index.d.mts +405 -824
  13. package/dist/adapters/index.mjs +6 -6
  14. package/dist/adapters/node.d.mts +1 -1
  15. package/dist/adapters/node.mjs +1 -1
  16. package/dist/adapters/stream-session/index.d.mts +28 -7
  17. package/dist/adapters/stream-session/index.mjs +1 -1
  18. package/dist/{ajv-DD3SIL2i.mjs → ajv-krzJXh1X.mjs} +2 -2
  19. package/dist/artifact-Btbuib48.mjs +1 -0
  20. package/dist/attach-error-Cb3GbeKe.mjs +1 -0
  21. package/dist/{auth-DGEdiHF6.mjs → auth-C6tVtaOX.mjs} +1 -1
  22. package/dist/authority-state-bootstrap-CLYus369.mjs +1 -0
  23. package/dist/automation-trigger-ByjNlClm.mjs +1 -0
  24. package/dist/await-trigger-Bkg2BQfg.mjs +1 -0
  25. package/dist/bus/index.d.mts +41 -9
  26. package/dist/bus/index.mjs +1 -1
  27. package/dist/bus-D6NoBhIV.mjs +2 -0
  28. package/dist/bus-UgFdHybD.mjs +1 -0
  29. package/dist/caller-owned-adapter-stub-C1M7FKrv.mjs +1 -0
  30. package/dist/{canonical-model-BAytQ4NV.mjs → canonical-model-DXOvCaVg.mjs} +1 -1
  31. package/dist/capabilities-BUwuA7XX.mjs +1 -0
  32. package/dist/capability-j3NekkIu.mjs +1 -0
  33. package/dist/{client-DbS847wW.mjs → client-BkznbdsO.mjs} +1 -1
  34. package/dist/clients/index.d.mts +2 -2
  35. package/dist/clients/index.mjs +1 -1
  36. package/dist/clients/managed-install.d.mts +1 -1
  37. package/dist/clients/managed-install.mjs +1 -1
  38. package/dist/code-execution/worker-entry.d.mts +21 -0
  39. package/dist/code-execution/worker-entry.mjs +1 -0
  40. package/dist/code-execution-Ckmn8OZu.mjs +1 -0
  41. package/dist/code-execution-CweDSWco.mjs +1 -0
  42. package/dist/code-execution-DqkQjKa1.mjs +1 -0
  43. package/dist/{compression-74fFeBha.mjs → compression-CtgeVLpP.mjs} +1 -1
  44. package/dist/{config-namespace-TVX-hG4I.mjs → config-namespace-CjWvw8ij.mjs} +1 -1
  45. package/dist/{context-resolution-DdyhpH4L.d.mts → context-resolution-841T7jBI.d.mts} +11 -11
  46. package/dist/contracts/adapter/index.d.mts +3 -3
  47. package/dist/contracts/adapter/index.mjs +1 -1
  48. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  49. package/dist/contracts/artifact/index.d.mts +3 -3
  50. package/dist/contracts/artifact/index.mjs +1 -1
  51. package/dist/contracts/auth/index.d.mts +2 -2
  52. package/dist/contracts/auth/index.mjs +1 -1
  53. package/dist/contracts/automation-trigger/index.d.mts +4 -0
  54. package/dist/contracts/automation-trigger/index.mjs +1 -0
  55. package/dist/contracts/canonical-model/index.d.mts +1 -1
  56. package/dist/contracts/canonical-model/index.mjs +1 -1
  57. package/dist/contracts/capabilities/index.d.mts +1 -1
  58. package/dist/contracts/capabilities/index.mjs +1 -1
  59. package/dist/contracts/client/index.d.mts +2 -2
  60. package/dist/contracts/client/index.mjs +1 -1
  61. package/dist/contracts/code-execution/index.d.mts +2 -0
  62. package/dist/contracts/code-execution/index.mjs +1 -0
  63. package/dist/contracts/common/index.d.mts +1 -1
  64. package/dist/contracts/config/index.d.mts +1 -1
  65. package/dist/contracts/config/index.mjs +1 -1
  66. package/dist/contracts/extension/index.d.mts +6 -5
  67. package/dist/contracts/extension/index.mjs +1 -1
  68. package/dist/contracts/facet/index.d.mts +1 -1
  69. package/dist/contracts/facet/index.mjs +1 -1
  70. package/dist/contracts/harness/index.d.mts +1 -1
  71. package/dist/contracts/harness/index.mjs +1 -1
  72. package/dist/contracts/host/index.d.mts +1 -1
  73. package/dist/contracts/host/index.mjs +1 -1
  74. package/dist/contracts/index.d.mts +171 -100
  75. package/dist/contracts/index.mjs +1 -1
  76. package/dist/contracts/materialization/index.d.mts +3 -3
  77. package/dist/contracts/materialization/index.mjs +1 -1
  78. package/dist/contracts/model-registry/index.d.mts +1 -1
  79. package/dist/contracts/model-registry/index.mjs +1 -1
  80. package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
  81. package/dist/contracts/native-session-supervisor/index.mjs +1 -1
  82. package/dist/contracts/platform/index.d.mts +1 -1
  83. package/dist/contracts/platform/index.mjs +1 -1
  84. package/dist/contracts/provider/index.d.mts +2 -2
  85. package/dist/contracts/provider/index.mjs +1 -1
  86. package/dist/contracts/reaction/index.d.mts +2 -0
  87. package/dist/contracts/reaction/index.mjs +1 -0
  88. package/dist/contracts/session/index.d.mts +3 -3
  89. package/dist/contracts/session/index.mjs +1 -1
  90. package/dist/contracts/shared/index.d.mts +3 -3
  91. package/dist/contracts/shared/index.mjs +1 -1
  92. package/dist/contracts/skill/index.d.mts +1 -1
  93. package/dist/contracts/skill/index.mjs +1 -1
  94. package/dist/contracts/telemetry/index.d.mts +1 -1
  95. package/dist/contracts/telemetry/index.mjs +1 -1
  96. package/dist/contracts/timeout/index.d.mts +1 -1
  97. package/dist/contracts/timeout/index.mjs +1 -1
  98. package/dist/contracts/toast/index.mjs +1 -1
  99. package/dist/contracts/variant/index.d.mts +1 -1
  100. package/dist/contracts/variant/index.mjs +1 -1
  101. package/dist/contracts/worker-node/index.d.mts +1 -1
  102. package/dist/contracts/worker-node/index.mjs +1 -1
  103. package/dist/contracts/workflow/index.d.mts +3 -3
  104. package/dist/contracts/workflow/index.mjs +1 -1
  105. package/dist/contribution-CUHLVLsT.d.mts +35 -0
  106. package/dist/core/index.d.mts +84 -2
  107. package/dist/core/index.mjs +1 -1
  108. package/dist/{definition-CJfiv8xm.mjs → definition-BH4QLGLI.mjs} +1 -1
  109. package/dist/definition-DyGImhyi.d.mts +375 -0
  110. package/dist/{detached-extension-handle-Ddfquy5_.mjs → detached-extension-handle-D0aI0pJA.mjs} +1 -1
  111. package/dist/drizzle/0031_adapter_session_currency.sql +66 -0
  112. package/dist/drizzle/0032_native_session_ownership.sql +77 -0
  113. package/dist/drizzle/0033_m_msf3hu2s.sql +1 -0
  114. package/dist/drizzle/0034_m_msha1388.sql +41 -0
  115. package/dist/drizzle/0035_m_mshgj6x7.sql +40 -0
  116. package/dist/drizzle/0036_m_msivwbgm.sql +1 -0
  117. package/dist/drizzle/0037_runtime_instance_incarnation_counter.sql +6 -0
  118. package/dist/drizzle/meta/_journal.json +49 -0
  119. package/dist/event-B8ELuk6k.mjs +1 -0
  120. package/dist/{execution-attempt-repository-DWXKY41_.d.mts → execution-attempt-repository-BJ2W6wwx.d.mts} +1 -1
  121. package/dist/{execution-target-Cf645pDj.mjs → execution-target-H0RWV7Py.mjs} +1 -1
  122. package/dist/extension-Bfkr2DBs.mjs +1 -0
  123. package/dist/extension-Cz39YNXy.mjs +1 -0
  124. package/dist/extension-context-QmFuHdq5.d.mts +295 -0
  125. package/dist/{extension-discovery-CQRdbVQ6.d.mts → extension-discovery-Dhu3WplO.d.mts} +11 -1
  126. package/dist/{extension-namespace-Yu41YepM.mjs → extension-namespace-QoTTwKPt.mjs} +1 -1
  127. package/dist/extension-package-provenance-aYrZuS4W.mjs +1 -0
  128. package/dist/{filesystem-service-DlP2HfDg.mjs → filesystem-service-CiUw0YN5.mjs} +1 -1
  129. package/dist/framework-packages-BHgul8Kl.mjs +1 -0
  130. package/dist/git/index.mjs +2 -2
  131. package/dist/{globby-1yCVCk8s.mjs → globby-QBDqstzq.mjs} +1 -1
  132. package/dist/handlers-BsHAFtye.mjs +57 -0
  133. package/dist/{harness-DpwsFsE7.mjs → harness-YQ2ewID9.mjs} +1 -1
  134. package/dist/{hook-responses-Dh1PWXqJ.d.mts → hook-responses-9Ywsqzzq.d.mts} +2 -293
  135. package/dist/identity-OjRlG6dZ.mjs +1 -0
  136. package/dist/{index-CMgLxw14.d.mts → index-8NdPPzUh2.d.mts} +2 -2
  137. package/dist/{index-Ds5_rDEJ.d.mts → index-8y4hT9WL.d.mts} +1 -12
  138. package/dist/{index-BVlXneHH.d.mts → index-B-3I98nw.d.mts} +14 -10
  139. package/dist/index-B0VO0rAl.d.mts +302 -0
  140. package/dist/{index-gUhidukN.d.mts → index-B0yMCJW8.d.mts} +324 -2
  141. package/dist/index-BM56936c.d.mts +165 -0
  142. package/dist/{index-CLvQsL6s2.d.mts → index-BNzUyVwV.d.mts} +2105 -320
  143. package/dist/{index-BaZeoZoS.d.mts → index-BTEJfzjE.d.mts} +1 -1
  144. package/dist/{index-B0Kf_OWi.d.mts → index-BfV8U4XX.d.mts} +1 -1
  145. package/dist/{index-DCZ8BX9S.d.mts → index-BkbnC65b.d.mts} +487 -85
  146. package/dist/{index-GHASUiem.d.mts → index-BmevAPME2.d.mts} +1 -1
  147. package/dist/index-Bqk0pJBQ2.d.mts +138 -0
  148. package/dist/{index-B9UW_vPM.d.mts → index-C146Eq_J.d.mts} +2465 -273
  149. package/dist/{index-BAXkicoQ.d.mts → index-CIEycZrt.d.mts} +1 -1
  150. package/dist/{index-DkiTJM5p.d.mts → index-CMekqu_D.d.mts} +44 -10
  151. package/dist/{index-SsBHjUqA.d.mts → index-CPRQ4dWX.d.mts} +0 -23
  152. package/dist/{index-EjsSBQXy2.d.mts → index-CPi0UpRh.d.mts} +1 -1
  153. package/dist/{index-DSBT83c0.d.mts → index-CYjgoYeX.d.mts} +24 -3
  154. package/dist/{index-DnG-QFpG.d.mts → index-CmwAJ8-5.d.mts} +18 -1
  155. package/dist/index-Cny5RvjO.d.mts +800 -0
  156. package/dist/{index-BNMnIe-j.d.mts → index-D-4jv_66.d.mts} +434 -863
  157. package/dist/{index-brqfk9JQ.d.mts → index-D8D-yibS2.d.mts} +4 -4
  158. package/dist/index-DHnSLGP4.d.mts +268 -0
  159. package/dist/{index-D5Nb7IEP.d.mts → index-DI2lS7VT.d.mts} +79 -41
  160. package/dist/{index-D_ODXsBv.d.mts → index-DJ2KgJDJ2.d.mts} +51 -95
  161. package/dist/{index-cqLS1eFV.d.mts → index-DNI6UF9h.d.mts} +133 -134
  162. package/dist/index-DQ8o3JGi.d.mts +132 -0
  163. package/dist/index-DWBkiiXH.d.mts +18 -0
  164. package/dist/{index-DlsHL9Jg.d.mts → index-DXtQRehh.d.mts} +12 -12
  165. package/dist/{index-4VfqCjl2.d.mts → index-D_4K3Tf_.d.mts} +79 -194
  166. package/dist/index-Dg11JxKZ.d.mts +496 -0
  167. package/dist/json-value-BBZ6uGwc.mjs +1 -0
  168. package/dist/json-value-DPqb-SJ8.d.mts +177 -0
  169. package/dist/kernel/cli/index.d.mts +2 -2
  170. package/dist/kernel/cli/index.mjs +1 -1
  171. package/dist/kernel/cli/register.d.mts +1 -1
  172. package/dist/kernel/cli/register.mjs +1 -1
  173. package/dist/kernel/cli/schemas.mjs +1 -1
  174. package/dist/kernel/extension/index.d.mts +1 -1
  175. package/dist/kernel/extension/index.mjs +1 -1
  176. package/dist/kernel/index.d.mts +9 -9
  177. package/dist/kernel/index.mjs +1 -1
  178. package/dist/kernel/namespace/index.d.mts +2 -2
  179. package/dist/kernel/namespace/index.mjs +1 -1
  180. package/dist/kernel/observability/index.d.mts +1 -1
  181. package/dist/kernel/observability/index.mjs +1 -1
  182. package/dist/kernel/providers/index.d.mts +1 -1
  183. package/dist/kernel/providers/index.mjs +1 -1
  184. package/dist/kernel/window/index.d.mts +1 -1
  185. package/dist/kernel/window/index.mjs +1 -1
  186. package/dist/{lib-DErgth_E.mjs → lib-BpGvHZye.mjs} +2 -2
  187. package/dist/{lib-C7-s68uf.mjs → lib-Cm-uEoC1.mjs} +1 -1
  188. package/dist/{load-extensions-BxsDB87B.d.mts → load-extensions-BQoXaHhR.d.mts} +17 -13
  189. package/dist/load-extensions-DG5LvPyM.mjs +1 -0
  190. package/dist/{materialization-Jd198K3y.mjs → materialization-lVd9_-jr.mjs} +1 -1
  191. package/dist/mcp-http-server/index.mjs +1 -1
  192. package/dist/model-DrzPt3ou.mjs +1 -0
  193. package/dist/{namespace-BqxtpNAn.mjs → namespace-BL7lHlmg.mjs} +1 -1
  194. package/dist/{namespace-CjjFvrIA2.d.mts → namespace-BNp7n_gu.d.mts} +25 -25
  195. package/dist/{namespace-g_mbIZq_.d.mts → namespace-BRuHzhPo.d.mts} +564 -28
  196. package/dist/{namespace-DV-Hr9sZ.d.mts → namespace-C06lJSuj.d.mts} +17 -7
  197. package/dist/{namespace-TseEI3Pu.d.mts → namespace-DOezqDti.d.mts} +18 -10
  198. package/dist/{namespace-CErHuXtb.d.mts → namespace-DknCutQZ.d.mts} +50 -0
  199. package/dist/{namespace-B8uKAzWJ.mjs → namespace-Du0accdE.mjs} +1 -1
  200. package/dist/{namespace-CWUDFGOy.mjs → namespace-NXm_zvL1.mjs} +1 -1
  201. package/dist/{namespace-CupOzbRv.d.mts → namespace-l-HG1rLF.d.mts} +24 -20
  202. package/dist/namespace-sCPb79-7.mjs +1 -0
  203. package/dist/{native-session-supervisor-DRx0MX-d.mjs → native-session-supervisor-LKio8XZn.mjs} +1 -1
  204. package/dist/node/bus-server/index.d.mts +1 -1
  205. package/dist/node/bus-server/index.mjs +1 -1
  206. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  207. package/dist/node/bus-server/server-lifecycle.mjs +1 -1
  208. package/dist/npm-package-name-DuTYVICk.mjs +1 -0
  209. package/dist/orchestrator-shared-BGlN-m-V.mjs +1 -0
  210. package/dist/{orchestrator-shared-BHCv-l2O.d.mts → orchestrator-shared-CNHSImNY.d.mts} +10 -10
  211. package/dist/ownership-memory-handler-BpGdR_uG.mjs +1 -0
  212. package/dist/ownership-recovery-guard-DyW5vGBr.mjs +1 -0
  213. package/dist/package-B01gmu75.mjs +7 -0
  214. package/dist/{package-DWMxGfzK.d.mts → package-BNFTUFLB.d.mts} +234 -84
  215. package/dist/package-DttKA9wN.mjs +1 -0
  216. package/dist/package-EGTn-Ng1.mjs +1 -0
  217. package/dist/package-JtjbO-Oi.mjs +1 -0
  218. package/dist/package.json +1 -1
  219. package/dist/{profile-BTAI31Nt.mjs → profile-N5qGUpF0.mjs} +1 -1
  220. package/dist/{provider-context-PZIQWcqQ.mjs → provider-context-CG42JlP9.mjs} +1 -1
  221. package/dist/{provider-context-Dq53Cgzz.mjs → provider-context-zTDSH2x9.mjs} +1 -1
  222. package/dist/reaction-D3TNwPK8.mjs +1 -0
  223. package/dist/{registry-wfF2uTty.mjs → registry-Dk12tAfv.mjs} +2 -2
  224. package/dist/{resolved-DZgqql2Z.mjs → resolved-sq8RXNDf.mjs} +1 -1
  225. package/dist/rules/index.d.mts +1 -1
  226. package/dist/rules/index.mjs +1 -1
  227. package/dist/rules/schemas.d.mts +1 -1
  228. package/dist/rules/schemas.mjs +1 -1
  229. package/dist/runtime-bun/index.mjs +1 -1
  230. package/dist/runtime-node/code-execution/index.d.mts +3 -0
  231. package/dist/runtime-node/code-execution/index.mjs +1 -0
  232. package/dist/runtime-node/extension-discovery.d.mts +2 -2
  233. package/dist/runtime-node/extension-discovery.mjs +1 -1
  234. package/dist/runtime-node/extension-validation.d.mts +1 -1
  235. package/dist/runtime-node/extension-validation.mjs +1 -1
  236. package/dist/runtime-node/index.d.mts +7 -5
  237. package/dist/runtime-node/index.mjs +24 -24
  238. package/dist/runtime-node/makaio-config.d.mts +1 -1
  239. package/dist/runtime-node/makaio-config.mjs +1 -1
  240. package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
  241. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  242. package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -1
  243. package/dist/{schema-DKUb4rkr.d.mts → schema-B3Pf7JP7.d.mts} +778 -21
  244. package/dist/{schema-Dd-e89MO.mjs → schema-Dq-7si8u.mjs} +1 -1
  245. package/dist/{schemas-B1NWNASS.d.mts → schemas-BXc9qOpl.d.mts} +2 -0
  246. package/dist/schemas-BfO5jkrL.mjs +1 -0
  247. package/dist/{schemas-CR8hSqTy.d.mts → schemas-C1mxTfd7.d.mts} +60 -4
  248. package/dist/schemas-C3kyQWGf.mjs +1 -0
  249. package/dist/{schemas-DnYiAvfz.d.mts → schemas-D7ScxLrf.d.mts} +24 -20
  250. package/dist/{schemas-BsVYZviy.d.mts → schemas-OWvBn7AH.d.mts} +4 -4
  251. package/dist/{schemas-DaHQzpgm.mjs → schemas-QWDnauKX.mjs} +1 -1
  252. package/dist/schemas-TK29KWx-.mjs +1 -0
  253. package/dist/schemas-_2Syo_01.mjs +1 -0
  254. package/dist/scoped-bus-DoPmCJeM.mjs +1 -0
  255. package/dist/{selection-BNwTKEVT.mjs → selection-DL3ric7K.mjs} +1 -1
  256. package/dist/services/adapter-runtime/index.d.mts +4 -4
  257. package/dist/services/adapter-runtime/index.mjs +1 -1
  258. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  259. package/dist/services/adapter-runtime/schemas.d.mts +2 -2
  260. package/dist/services/adapter-runtime/schemas.mjs +1 -1
  261. package/dist/services/adapter-subsystem/index.d.mts +4 -4
  262. package/dist/services/adapter-subsystem/index.mjs +1 -1
  263. package/dist/services/adapter-subsystem/namespace.d.mts +2 -2
  264. package/dist/services/adapter-subsystem/namespace.mjs +1 -1
  265. package/dist/services/agent-runtime/index.d.mts +2 -2
  266. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  267. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  268. package/dist/services/automation-trigger/index.d.mts +943 -0
  269. package/dist/services/automation-trigger/index.mjs +1 -0
  270. package/dist/services/capability/index.d.mts +3 -2
  271. package/dist/services/capability/index.mjs +1 -1
  272. package/dist/services/code-execution/index.d.mts +2 -0
  273. package/dist/services/code-execution/index.mjs +1 -0
  274. package/dist/services/codebase/index.d.mts +2 -2
  275. package/dist/services/codebase/namespace.d.mts +1 -1
  276. package/dist/services/codebase/schemas.d.mts +1 -1
  277. package/dist/services/compression/index.d.mts +2 -2
  278. package/dist/services/compression/namespace.d.mts +1 -1
  279. package/dist/services/compression/schemas.d.mts +1 -1
  280. package/dist/services/context-rules/index.d.mts +1 -1
  281. package/dist/services/context-rules/index.mjs +1 -1
  282. package/dist/services/execution-target/index.d.mts +3 -3
  283. package/dist/services/execution-target/index.mjs +1 -1
  284. package/dist/services/execution-target/namespace.d.mts +1 -1
  285. package/dist/services/execution-target/namespace.mjs +1 -1
  286. package/dist/services/execution-target/schemas.d.mts +1 -1
  287. package/dist/services/execution-target/schemas.mjs +1 -1
  288. package/dist/services/filesystem/index.d.mts +1 -1
  289. package/dist/services/filesystem/index.mjs +1 -1
  290. package/dist/services/filesystem/namespace.d.mts +6 -6
  291. package/dist/services/filesystem/schemas.d.mts +3 -3
  292. package/dist/services/git/namespace.d.mts +18 -0
  293. package/dist/services/git/namespace.mjs +1 -1
  294. package/dist/services/git/schemas.d.mts +10 -1
  295. package/dist/services/git/schemas.mjs +1 -1
  296. package/dist/services/harness/index.mjs +1 -1
  297. package/dist/services/index.d.mts +567 -101
  298. package/dist/services/index.mjs +1 -1
  299. package/dist/services/log-import/browser.d.mts +2 -2
  300. package/dist/services/log-import/index.d.mts +3 -3
  301. package/dist/services/log-import/log-import.d.mts +1 -1
  302. package/dist/services/log-import/log-import.mjs +1 -1
  303. package/dist/services/log-import/namespace.mjs +1 -1
  304. package/dist/services/log-import/schemas.mjs +1 -1
  305. package/dist/services/materialization/index.d.mts +1 -1
  306. package/dist/services/materialization/index.mjs +1 -1
  307. package/dist/services/model-registry/index.d.mts +1 -1
  308. package/dist/services/model-registry/index.mjs +1 -1
  309. package/dist/services/preferences/index.d.mts +2 -2
  310. package/dist/services/preferences/schemas.d.mts +1 -1
  311. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  312. package/dist/services/provider-context/index.d.mts +1 -1
  313. package/dist/services/provider-context/index.mjs +1 -1
  314. package/dist/services/provider-runtime/index.mjs +1 -1
  315. package/dist/services/session/handlers/index.d.mts +2 -2
  316. package/dist/services/session/handlers/index.mjs +1 -1
  317. package/dist/services/session/index.d.mts +10 -10
  318. package/dist/services/session/index.mjs +1 -1
  319. package/dist/services/session/messages/namespace.d.mts +1 -1
  320. package/dist/services/session/messages/namespace.mjs +1 -1
  321. package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
  322. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  323. package/dist/services/session/session-events/namespace.d.mts +1 -1
  324. package/dist/services/session/session-events/namespace.mjs +1 -1
  325. package/dist/services/session/storage/namespace.d.mts +1 -1
  326. package/dist/services/session/storage/schema.d.mts +2 -2
  327. package/dist/services/session/storage/schema.mjs +1 -1
  328. package/dist/services/session/testing/index.d.mts +33 -4
  329. package/dist/services/session/testing/index.mjs +68 -12
  330. package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
  331. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  332. package/dist/services/session/turns/namespace.d.mts +1 -1
  333. package/dist/services/session/turns/namespace.mjs +1 -1
  334. package/dist/services/session-editor/index.d.mts +1 -1
  335. package/dist/services/session-editor/index.mjs +1 -1
  336. package/dist/services/settings/index.d.mts +3 -3
  337. package/dist/services/settings/index.mjs +1 -1
  338. package/dist/services/settings/namespace.mjs +1 -1
  339. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  340. package/dist/services/settings/storage/clients-namespace.mjs +1 -1
  341. package/dist/services/settings/storage/index.d.mts +3 -3
  342. package/dist/services/settings/storage/index.mjs +1 -1
  343. package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
  344. package/dist/services/settings/storage/providers-namespace.mjs +1 -1
  345. package/dist/services/subagent/index.d.mts +1 -1
  346. package/dist/services/subagent/index.mjs +1 -1
  347. package/dist/services/subagent-template/index.d.mts +2 -2
  348. package/dist/services/subagent-template/namespace.d.mts +1 -1
  349. package/dist/services/subagent-template/schemas.d.mts +1 -1
  350. package/dist/services/tool-approval/index.d.mts +1 -1
  351. package/dist/services/tool-approval/index.mjs +1 -1
  352. package/dist/services/tools/index.d.mts +1 -1
  353. package/dist/services/tools/index.mjs +1 -1
  354. package/dist/services/tray-menu/index.d.mts +3 -3
  355. package/dist/services/tray-menu/index.mjs +1 -1
  356. package/dist/services/tray-menu/namespace.d.mts +1 -1
  357. package/dist/services/tray-menu/schemas.d.mts +1 -1
  358. package/dist/services/turn/index.d.mts +1 -1
  359. package/dist/services/turn/namespace.d.mts +1 -1
  360. package/dist/services/workflow-transitions/index.d.mts +1 -1
  361. package/dist/services/workflow-transitions/index.mjs +1 -1
  362. package/dist/session-BOpTI79g.mjs +1 -0
  363. package/dist/session-CXOPk3yg.mjs +95 -0
  364. package/dist/shared-B9AWRm9A.mjs +1 -0
  365. package/dist/{skill-BR6rkfLe.mjs → skill-DGNtc_ww.mjs} +1 -1
  366. package/dist/{src-DD0v-nIj.mjs → src-BmSQ3rlz.mjs} +1 -1
  367. package/dist/storage/drizzle/client.d.mts +1 -1
  368. package/dist/storage/drizzle/client.mjs +1 -1
  369. package/dist/storage/drizzle/index.d.mts +81 -2
  370. package/dist/storage/drizzle/index.mjs +1 -1
  371. package/dist/storage/handlers/drizzle/index.d.mts +1 -1
  372. package/dist/storage/handlers/drizzle/index.mjs +1 -1
  373. package/dist/storage/handlers/index.d.mts +1 -1
  374. package/dist/storage/handlers/index.mjs +1 -1
  375. package/dist/tool-approval-service-BFDOFUGC.mjs +1 -0
  376. package/dist/{tools-PdG9fO1M.mjs → tools-DWKWX3eV.mjs} +1 -1
  377. package/dist/{transition-Du3MQzJV.d.mts → transition-D3zUBTPc.d.mts} +11 -38
  378. package/dist/{types-D7_kevBK.d.mts → types-BlB23n4f.d.mts} +1 -1
  379. package/dist/{types-DMLDHFR9.d.mts → types-CtDGkyLx2.d.mts} +1 -1
  380. package/dist/types-Cwza95hS.mjs +1 -0
  381. package/dist/{types-Dzrwa1GY.d.mts → types-DcxBYlPA.d.mts} +5834 -1436
  382. package/dist/types-DnK6Wa_Y.d.mts +260 -0
  383. package/dist/types-OKJCOjme.d.mts +2937 -0
  384. package/dist/ui-hooks/index.d.mts +29 -2
  385. package/dist/ui-hooks/index.mjs +1 -1
  386. package/dist/ui-kernel/index.d.mts +2 -2
  387. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  388. package/dist/ui-views/index.d.mts +1 -1
  389. package/dist/utils/index.d.mts +98 -1
  390. package/dist/utils/index.mjs +2 -2
  391. package/dist/utils/project-manifest.mjs +1 -1
  392. package/dist/{version-CoCeMxDT.mjs → version-BYeVh1pI.mjs} +1 -1
  393. package/dist/{view-builder-DeFd-k7C.d.mts → view-builder-B0j9p5C0.d.mts} +4 -4
  394. package/dist/{visibility-qhGWmpSJ.mjs → visibility-DtDLRBdr.mjs} +1 -1
  395. package/dist/worker-node-CjuQb9hl.mjs +1 -0
  396. package/dist/{worker-node-DZTuT1DS.mjs → worker-node-Dtf9ilsR.mjs} +1 -1
  397. package/dist/workflow-C4mck_NW.mjs +1 -0
  398. package/dist/workflow-engine/execution-attempt-repository.d.mts +1 -1
  399. package/dist/workflow-engine/index.d.mts +237 -518
  400. package/dist/workflow-engine/index.mjs +1 -1
  401. package/dist/workflow-engine/package.d.mts +1 -1
  402. package/dist/workflow-engine/package.mjs +1 -1
  403. package/dist/workflow-engine/provider-operation.d.mts +1 -1
  404. package/dist/workflow-engine/testing/index.d.mts +2 -2
  405. package/dist/workflow-engine/testing/index.mjs +1 -1
  406. package/dist/workflow-engine/testing/sqlite.d.mts +1 -1
  407. package/dist/workflow-engine/testing/sqlite.mjs +27 -27
  408. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  409. package/dist/workflow-engine/workflow-trigger-binding-consumer.d.mts +46 -0
  410. package/dist/workflow-engine/workflow-trigger-binding-consumer.mjs +1 -0
  411. package/dist/{workflow-transitions-DSc45ixc.mjs → workflow-transitions-c_VQbyV0.mjs} +1 -1
  412. package/dist/workflow-worker-aNbdgqml.mjs +1 -0
  413. package/dist/zod-json-schema-Dixc-B1T.mjs +1 -0
  414. package/package.json +46 -1
  415. package/dist/adapter-D5c5LrPN.mjs +0 -1
  416. package/dist/artifact-DGiXqb11.mjs +0 -1
  417. package/dist/attach-error-C3tngg6J.mjs +0 -1
  418. package/dist/authority-state-bootstrap-GPL_tqaT.mjs +0 -1
  419. package/dist/await-trigger-I3lrepb8.mjs +0 -1
  420. package/dist/bus-B6SAjgOC.mjs +0 -2
  421. package/dist/bus-C2l3K74u.mjs +0 -1
  422. package/dist/capabilities-BQEp34ir.mjs +0 -1
  423. package/dist/capability-service-BqiLlRGA.mjs +0 -1
  424. package/dist/event-CmVjR6Ib.mjs +0 -1
  425. package/dist/extension-DCA4pYrY.mjs +0 -1
  426. package/dist/extension-hjOPs10e.mjs +0 -1
  427. package/dist/framework-packages-C3RWfJDk.mjs +0 -1
  428. package/dist/handlers-CfnLyLfE.mjs +0 -57
  429. package/dist/identity-D6guMtmi.mjs +0 -1
  430. package/dist/index-CRvpVIqA.d.mts +0 -89
  431. package/dist/json-value-Brslhqbm.d.mts +0 -57
  432. package/dist/json-value-DmU8ibo_.mjs +0 -1
  433. package/dist/load-extensions-D0DfjYLC.mjs +0 -1
  434. package/dist/model-BGgVmRnN.mjs +0 -1
  435. package/dist/namespace-DJfUADSV.mjs +0 -1
  436. package/dist/orchestrator-shared-BxmHCPvx.mjs +0 -1
  437. package/dist/package-CNUPPcU1.mjs +0 -7
  438. package/dist/package-Dft_RItb.mjs +0 -1
  439. package/dist/schemas-CRB2O5zo.mjs +0 -1
  440. package/dist/schemas-Cm09dXL4.mjs +0 -1
  441. package/dist/schemas-tDf_WiC8.mjs +0 -1
  442. package/dist/scoped-bus-C9BdNwfM.mjs +0 -1
  443. package/dist/session-BOGCd18q.mjs +0 -1
  444. package/dist/session-BTFiDoGz.mjs +0 -76
  445. package/dist/shared-BQ0CHIVy.mjs +0 -1
  446. package/dist/tool-approval-service-kBA0fRzm.mjs +0 -1
  447. package/dist/types-CJ_QZ1yW.d.mts +0 -1487
  448. package/dist/worker-node-Bl9_vqYi.mjs +0 -1
  449. package/dist/workflow-BfDbgtIQ.mjs +0 -1
  450. package/dist/workflow-worker-BN9XPxQO.mjs +0 -1
  451. package/dist/{adapter-auth-runtime-DO-FVTXg.mjs → adapter-auth-runtime-DHHppU4f.mjs} +0 -0
  452. package/dist/{adapter-binding-DQchUtrK.d.mts → adapter-binding-CATvmGuz.d.mts} +0 -0
  453. package/dist/{attempt-record-codec-CqO1_XnE.mjs → attempt-record-codec-BYfYkj4M.mjs} +0 -0
  454. package/dist/{base-orchestrator-BilsQNW1.d.mts → base-orchestrator-B4YW6z_Q.d.mts} +0 -0
  455. package/dist/{index-DN4NOCqN2.d.mts → capability-service-BW1-teFU.d.mts} +0 -0
  456. package/dist/{client-B--e2qcU.d.mts → client-BG0WX5Vz.d.mts} +0 -0
  457. package/dist/{client-binary-version-verifier-taewmKTY.mjs → client-binary-version-verifier-0lCKZOTg.mjs} +0 -0
  458. package/dist/{client-binary-version-verifier-CgjM_vGF.d.mts → client-binary-version-verifier-lcv83Hq3.d.mts} +0 -0
  459. package/dist/{clients-namespace-DfxjG2ZP.d.mts → clients-namespace-DLAjOTTb.d.mts} +0 -0
  460. package/dist/{config-namespace-BCqvufbD.d.mts → config-namespace-CH7sJZ4f.d.mts} +0 -0
  461. package/dist/{create-static-mount-bbQhTt6W.mjs → create-static-mount-DxuixuLZ.mjs} +0 -0
  462. package/dist/{cross-spawn-B57KZuns.mjs → cross-spawn-CZygZJMH.mjs} +0 -0
  463. package/dist/{cursor-storage-DIFK_9hg.mjs → cursor-storage-bsc9lZKk.mjs} +0 -0
  464. package/dist/{definition-gnKgXU91.d.mts → definition-BrgzUuFk.d.mts} +0 -0
  465. package/dist/{definitions-xrrY0wgz.mjs → definitions-CRpdnHYM.mjs} +0 -0
  466. package/dist/{descriptor-to-package-DvF08krT.mjs → descriptor-to-package-CcjdoWP4.mjs} +0 -0
  467. package/dist/{drizzle-z_0SiGY8.mjs → drizzle-Bzc-OGVI.mjs} +0 -0
  468. package/dist/{esm-CltRnX8_.mjs → esm-i-S5TW72.mjs} +0 -0
  469. package/dist/{facet-BCI00njh.mjs → facet-BnMh7Jyc.mjs} +0 -0
  470. package/dist/{filesystem-service-CQ9yVkSz.d.mts → filesystem-service-ZJ43SbBi.d.mts} +0 -0
  471. package/dist/{handler-Cbv9FqDO.mjs → handler-DF1fVDpf.mjs} +0 -0
  472. package/dist/{host-Caq6ZfSJ.mjs → host-B-_ntOMH.mjs} +0 -0
  473. package/dist/{index-ye0oklfU.d.mts → index-B2Y1Wvbh.d.mts} +0 -0
  474. package/dist/{index-Cv-o5Krs.d.mts → index-B4svZC6L.d.mts} +0 -0
  475. package/dist/{index-DZunhZec.d.mts → index-B5dP8rj6.d.mts} +0 -0
  476. package/dist/{index-jTaAHsul.d.mts → index-BC-6qNeo.d.mts} +0 -0
  477. package/dist/{index-ByKi34v5.d.mts → index-BFWvT0NG.d.mts} +0 -0
  478. package/dist/{index-vA--0lOM.d.mts → index-BMRB9yhF.d.mts} +0 -0
  479. package/dist/{index-BskPjMet.d.mts → index-BuMsrli0.d.mts} +0 -0
  480. package/dist/{index-DR40QWlw.d.mts → index-C4V8Pmi4.d.mts} +0 -0
  481. package/dist/{index-BIdsFcQs2.d.mts → index-CL0Jo1b92.d.mts} +0 -0
  482. package/dist/{index-CjdRdsd0.d.mts → index-CVpaGijY.d.mts} +0 -0
  483. package/dist/{index-vcSj12YQ.d.mts → index-CmbkCxj-.d.mts} +0 -0
  484. package/dist/{index-sS6KUlrx.d.mts → index-CqdMbYmR.d.mts} +0 -0
  485. package/dist/{index-CnMu8BQl.d.mts → index-D037TVsm.d.mts} +0 -0
  486. package/dist/{index-CGZQVTid.d.mts → index-DgspOUa72.d.mts} +0 -0
  487. package/dist/{index-dtsLKOID.d.mts → index-Ek4y8M9J2.d.mts} +0 -0
  488. package/dist/{index-DjgLchuQ.d.mts → index-VzLAV0Yt.d.mts} +0 -0
  489. package/dist/{index-DXN_L5D6.d.mts → index-jxPncqWZ2.d.mts} +0 -0
  490. package/dist/{index-BVRQEpAg.d.mts → index-kzIjbrS02.d.mts} +6 -6
  491. /package/dist/{index-Dm1nUxCF.d.mts → index-l01zsChf.d.mts} +0 -0
  492. /package/dist/{index-CWHfOz6d.d.mts → index-pvX-BIpr2.d.mts} +0 -0
  493. /package/dist/{jsonl-transport-bQl3JwIu.mjs → jsonl-transport-Cyyh5Wje.mjs} +0 -0
  494. /package/dist/{lib-DOBXZmYX.mjs → lib-BqV8hYtk.mjs} +0 -0
  495. /package/dist/{model-registry-xyBKSye-.mjs → model-registry-C9rFu3kV.mjs} +0 -0
  496. /package/dist/{model-registry-CmgcPDH3.mjs → model-registry-Cixxx2jv.mjs} +0 -0
  497. /package/dist/{modes-BheyN7SS.mjs → modes-DwsJ3yVl.mjs} +0 -0
  498. /package/dist/{namespace-BOkKoq34.d.mts → namespace-B0ftHlK3.d.mts} +0 -0
  499. /package/dist/{namespace-YytVKIgI.d.mts → namespace-BGRHcrmp.d.mts} +0 -0
  500. /package/dist/{namespace-jDhZjw-i.d.mts → namespace-BUYDmd0r.d.mts} +0 -0
  501. /package/dist/{namespace-YxU1xf-K.mjs → namespace-BW3Bfu9h.mjs} +0 -0
  502. /package/dist/{namespace-DWCEo-9M.d.mts → namespace-BdAK0lD8.d.mts} +0 -0
  503. /package/dist/{namespace-Cv1RFP7n.d.mts → namespace-CPG6u60N.d.mts} +0 -0
  504. /package/dist/{namespace-GPA7zots.d.mts → namespace-CVFaZv8x.d.mts} +0 -0
  505. /package/dist/{namespace-Blp4c8GK.d.mts → namespace-DBO1OzYB.d.mts} +0 -0
  506. /package/dist/{namespace-C-9si-fV.mjs → namespace-DiwqpB-c.mjs} +0 -0
  507. /package/dist/{namespace-tGRAod3o.d.mts → namespace-DqZweTbX.d.mts} +0 -0
  508. /package/dist/{namespace-HO2J9sO8.mjs → namespace-jVTsuZHX.mjs} +0 -0
  509. /package/dist/{namespace-CWGKCNZm.mjs → namespace-tjoxekmf.mjs} +0 -0
  510. /package/dist/{out-CvjtANXN.mjs → out-8bOYN6EF.mjs} +0 -0
  511. /package/dist/{packages-DtEEP0Vt.mjs → packages-Bp124-gx.mjs} +0 -0
  512. /package/dist/{packages-BZ6pzFIq.d.mts → packages-CxPMEg8D.d.mts} +0 -0
  513. /package/dist/{platform-Bv8llU9c.mjs → platform-CxyYPrkf.mjs} +0 -0
  514. /package/dist/{provider-operation-Cxoe2SUr.d.mts → provider-operation-DbdyFwNm.d.mts} +0 -0
  515. /package/dist/{providers-Co5UszRH.mjs → providers-C-eekMxD.mjs} +0 -0
  516. /package/dist/{providers-namespace-DjFkmvBR.d.mts → providers-namespace-CfZKp-C0.d.mts} +0 -0
  517. /package/dist/{quick-lru-CrOpWwrf.mjs → quick-lru-CCEnf7y6.mjs} +0 -0
  518. /package/dist/{schema-Db-y-09L.mjs → schema-C0opCPww.mjs} +0 -0
  519. /package/dist/{schema-introspection-DgWQCpwx.mjs → schema-introspection-6-r_KEJQ.mjs} +0 -0
  520. /package/dist/{schemas-N6x2z7Lf.d.mts → schemas-B50oWBuj.d.mts} +0 -0
  521. /package/dist/{schemas-BO7uOum6.d.mts → schemas-B6Q-qdmn.d.mts} +0 -0
  522. /package/dist/{schemas-BGExwp3j.mjs → schemas-B8hKbBwI.mjs} +0 -0
  523. /package/dist/{schemas-miYxK_Z1.d.mts → schemas-BGvkTiCx.d.mts} +0 -0
  524. /package/dist/{schemas-CqRm0i9a.mjs → schemas-BivbWRkG.mjs} +0 -0
  525. /package/dist/{schemas-CwbYk_kZ.d.mts → schemas-ChmQldVH.d.mts} +0 -0
  526. /package/dist/{schemas-DrVg4aQQ.d.mts → schemas-Dd13TMgU.d.mts} +0 -0
  527. /package/dist/{schemas-BtZqovRH.d.mts → schemas-Pe892GgN.d.mts} +0 -0
  528. /package/dist/{schemas-CQyRBqD6.d.mts → schemas-bfZNpl0B.d.mts} +0 -0
  529. /package/dist/{schemas-Bfxskx_2.mjs → schemas-scyC2tFF.mjs} +0 -0
  530. /package/dist/{semver-DlM8znk4.mjs → semver-BI7kTNsY.mjs} +0 -0
  531. /package/dist/{server-lifecycle-kmQ5PUDv.mjs → server-lifecycle-B_OZnoe-.mjs} +0 -0
  532. /package/dist/{server-lifecycle-Dsq56aqC.d.mts → server-lifecycle-L8zja8t8.d.mts} +0 -0
  533. /package/dist/{session-lineage-B_JW5LpF.d.mts → session-lineage-bUkd3fqx.d.mts} +0 -0
  534. /package/dist/{shared-schemas-DXwyMCwZ.mjs → shared-schemas-CQ6blrEW.mjs} +0 -0
  535. /package/dist/{src-CCu8TwL6.mjs → src-BacfeiI4.mjs} +0 -0
  536. /package/dist/{storage-namespace-BSrv0vXR.mjs → storage-namespace-BZce8kkW.mjs} +0 -0
  537. /package/dist/{storage-namespace-dfywhXR3.d.mts → storage-namespace-YmE8XCCL.d.mts} +0 -0
  538. /package/dist/{storage-namespace-definition-BvlX0QV_.d.mts → storage-namespace-definition-BsnYAPot.d.mts} +0 -0
  539. /package/dist/{storage-namespace-definition-CkMKt7-I.mjs → storage-namespace-definition-Cca-zwXU.mjs} +0 -0
  540. /package/dist/{supports-color-DUugCQsK.mjs → supports-color-SV_FgSN2.mjs} +0 -0
  541. /package/dist/{telemetry-Pr3oP2rk.mjs → telemetry-BqoC87F-.mjs} +0 -0
  542. /package/dist/{timeout-DWDhddRJ.mjs → timeout-DVlN2Zhy.mjs} +0 -0
  543. /package/dist/{tray-menu-service-BBLa-Rcv.mjs → tray-menu-service-eVVxgPLc.mjs} +0 -0
  544. /package/dist/{types-BrcjaNPZ.d.mts → types-DdpSEmTO.d.mts} +0 -0
  545. /package/dist/{types-b54n1o57.d.mts → types-tyv0B605.d.mts} +0 -0
  546. /package/dist/{ui-config-CyCdlns_.mjs → ui-config-B35GloSX.mjs} +0 -0
  547. /package/dist/{variant-krjlTdJt.mjs → variant-Dwnge3J_.mjs} +0 -0
  548. /package/dist/{window-registry-I-imZHV_.mjs → window-registry-CKiMJjId.mjs} +0 -0
  549. /package/dist/{window-registry-BDnZLPVx.d.mts → window-registry-Pcf35cac.d.mts} +0 -0
@@ -1 +0,0 @@
1
- import{B as e,b as t}from"./handlers-CfnLyLfE.mjs";import{SessionStorageSubjects as n}from"./services/session/storage/namespace.mjs";import{$ as r,D as i,L as a,W as o,a as s,b as c,c as l,f as u,i as d,j as f,n as ee,q as te,r as ne,tt as re}from"./session-BTFiDoGz.mjs";import{n as p}from"./namespace-CWUDFGOy.mjs";import{a as ie,c as ae,o as oe,s as se,v as ce}from"./packages-DtEEP0Vt.mjs";import{t as le}from"./capability-service-BqiLlRGA.mjs";import"./services/adapter-subsystem/index.mjs";import{i as ue,s as de}from"./model-registry-CmgcPDH3.mjs";import{t as fe}from"./tool-approval-service-kBA0fRzm.mjs";import{t as pe}from"./tray-menu-service-BBLa-Rcv.mjs";import{r as m,t as h}from"./handler-Cbv9FqDO.mjs";import{r as me}from"./package-Dft_RItb.mjs";import{t as he}from"./filesystem-service-DlP2HfDg.mjs";import{z as g}from"zod";import{createHash as ge}from"node:crypto";import{MakaioError as _e,createMakaioContext as ve}from"@makaio/framework/core";import{MakaioBus as _}from"@makaio/framework/bus";import{AdapterSubjects as ye,ArtifactSubjects as v,CanonicalModelSubjects as be,DEFAULT_HARNESSES as xe,HarnessDefinitionCreateSchema as Se,HarnessSubjects as y,JsonValueSchema as Ce,ToolSubjects as b,TransitionRuleDefinitionSchema as we,WorkflowBlocksSubjects as x,WorkflowSubjects as Te,dep as S,extensionToken as C,validateToolAdapterIdentity as Ee,zodSchemaToJsonRecord as w}from"@makaio/framework/contracts";import{BaseService as T}from"@makaio/framework/service-base";import{registerDrizzleHandlers as E}from"@makaio/framework/storage/drizzle";import{slugifyProviderConfigName as D}from"@makaio/framework/contracts/config";import{ClientAccountIdentifierSchema as De,ClientSessionAccountObserveSchema as Oe,ClientSubjects as O}from"@makaio/framework/contracts/client";import{FacetSubjects as k}from"@makaio/framework/contracts/facet";import{FILE_ACCESS_RULES_KEY as ke,ToolErrorCodes as A,errorToToolResult as Ae,toolError as j,toolSuccess as je}from"@makaio/framework/tools";import{ConditionSchema as Me,evaluate as Ne}from"@makaio/framework/rules";import{evaluateSync as Pe}from"@makaio/framework/expression";import{GitService as Fe}from"@makaio/framework/git";var M=class extends Error{reason;hookId;constructor(e,t){super(`Artifact write rejected by hook '${t}': ${e}`),this.reason=e,this.hookId=t,this.name=`ArtifactLifecycleHookRejectedError`}};function N(e,t){return e?!(e.kind!==void 0&&e.kind!==`*`&&e.kind!==t.kind||e.schemaVersion!==void 0&&e.schemaVersion!==t.schemaVersion):!0}function P(e){return e.priority??0}function Ie(e,t,n){return e.filter(e=>e.event===t&&N(e.filter,n)).sort((e,t)=>P(t)-P(e))}function Le(e,t,n){return e.filter(e=>e.event===t&&N(e.filter,n)).sort((e,t)=>P(t)-P(e))}function Re(e,t){return{...e,...`data`in t?{data:t.data}:{},...`relations`in t?{relations:t.relations}:{},...`confidence`in t?{confidence:t.confidence}:{},...`representations`in t?{representations:t.representations}:{},...`actor`in t?{actor:t.actor}:{}}}function ze(e,t){let{confidence:n,representations:r,...i}=e;return{...i,data:t.data,relations:[...t.relations],...t.confidence===void 0?{}:{confidence:t.confidence},...t.representations===void 0?{}:{representations:t.representations},actor:t.actor}}var F=class extends T{registrations=new Map;constructor(e){super(e)}async onInit(){}onDestroy(){this.registrations.clear()}registerHooks(e,t){let n=[...t];this.registrations.set(e,n);let r=!1;return()=>{r||(r=!0,this.registrations.get(e)===n&&this.registrations.delete(e))}}allHooks(){let e=[];for(let t of this.registrations.values())e.push(...t);return e}async runBeforeCreate(e){return this.runBeforeHooks(`beforeCreate`,e)}async runBeforeRevise(e){return this.runBeforeHooks(`beforeRevise`,e)}async runBeforeHooks(e,t){let{draft:n,previous:r,kindRegistration:i}=t,a=Ie(this.allHooks(),e,n),o=new Map,s={kind:n.kind,schemaVersion:n.schemaVersion,scope:n.scope,data:n.data,relations:n.relations,...n.confidence===void 0?{}:{confidence:n.confidence},...n.representations===void 0?{}:{representations:n.representations},actor:n.actor},c=!1;for(let t of a){let n,a={event:e,get draft(){return s},previous:r,kindRegistration:i,bus:this.bus,meta:o,rejectCreation(e){n={reason:e}},skipMaterialization(){c=!0},updateDraft(e){s=Re(s,e)}};if(await t.handler(a),n)throw new M(n.reason,t.id)}return{draft:ze(n,s),skipMaterialization:c,meta:o}}async runAfterCreate(e){await this.runAfterHooks(`afterCreate`,`created`,e)}async runAfterRevise(e){await this.runAfterHooks(`afterRevise`,`revised`,e)}async runAfterStatusChanged(e){await this.runAfterHooks(`afterStatusChanged`,`status-changed`,e)}async runAfterObservationAdded(e){await this.runAfterHooks(`afterObservationAdded`,`observation-added`,e)}async runAfterHooks(e,t,n){let{artifact:r,previous:i,observation:a,kindRegistration:o,projectionPolicy:s,skipDefaultProjection:c,meta:l}=n,u=Le(this.allHooks(),e,r),d=this.bus,f=!1;for(let n of u){if(c&&(n.priority??0)<0||f&&(n.priority??0)<0)continue;let u={event:e,semanticEvent:t,artifact:r,previous:i?{refClass:`artifact`,id:i.id,revision:i.revision,kind:i.kind}:void 0,observation:a,kindRegistration:o,projectionPolicy:s,bus:d,meta:l,preventDefault(){f=!0},async resolveRelations(e){let t=r.relations.filter(t=>t.type===e).map(e=>e.target),n=[];for(let e of t){let t=e;if(t.refClass===`artifact`){let e=t,{artifact:r}=await d.request(v.resolve,{ref:e});r&&n.push(r)}}return n}};try{await n.handler(u)}catch(t){console.error(`[ArtifactLifecycleHookRegistry] Hook '${n.id}' threw during '${e}':`,t)}}}};function I(e){return structuredClone(e)}var L=class extends T{namespaces=new Map;constructor(e){super(e)}async onInit(){this.registerHandler(k.namespace.register,e=>{this.registerNamespace(e.payload),e.setResult({registered:!0})}),this.registerHandler(k.namespace.list,e=>{let{namespace:t}=e.payload,n=[...this.namespaces.values()].filter(e=>!t||e.namespace===t).map(I);e.setResult({namespaces:n})})}registerNamespace(e){let t=this.namespaces.get(e.namespace);if(t){if(JSON.stringify(t)!==JSON.stringify(e))throw Error(`Facet namespace '${e.namespace}' is already registered with a different definition`);return}this.namespaces.set(e.namespace,I(e)),this.bus.emit(k.namespace.changed,{namespace:e.namespace})}deregisterNamespace(e){this.namespaces.delete(e)&&this.bus.emit(k.namespace.changed,{namespace:e})}getNamespace(e){let t=this.namespaces.get(e);return t?I(t):void 0}onDestroy(){this.namespaces.clear()}},R=class extends _e{code;suggestions;constructor(e,t,n){super(e),this.code=t,this.suggestions=n}},z=class{deps;constructor(e){this.deps=e}async resolve(e,t){switch(e.kind){case`bare`:return this.resolveBare(e.model);case`qualified`:return this.resolveQualified(e.segment1,e.segment2,e.model)}}async resolveBare(e){let t=await this.deps.resolveDefaultModelTarget(e);switch(t.kind){case`resolved`:return{kind:`adapter`,adapterName:t.target.adapterName,providerConfigId:t.target.providerConfigId,model:t.target.model};case`ambiguous`:throw new R(`Model "${e}" is available via multiple providers. Use a qualified reference to select one.`,`ambiguous-model`,t.matches.map(e=>e.qualifiedName));case`not-found`:throw new R(`Model "${e}" was not found in any enabled adapter's registry.`,`model-not-found`)}}async resolveQualified(e,t,n){return t===void 0?this.resolveQualifiedOneSegment(e,n):this.resolveQualifiedTwoSegments(e,t,n)}async resolveQualifiedTwoSegments(e,t,n){let r=await this.deps.listEnabledAdapterNames();if(!r.includes(e))throw new R(`Adapter "${e}" is not enabled or does not exist.`,`adapter-not-found`);return{kind:`adapter`,adapterName:e,providerConfigId:await this.resolveProviderSegment(t,e,r),model:n}}async resolveQualifiedOneSegment(e,t){let n=await this.deps.listEnabledAdapterNames();if(n.includes(e)){let n=await this.deps.getDefaultBinding(e);if(!n)throw new R(`Adapter "${e}" has no enabled provider binding. Configure or enable a provider binding first.`,`no-binding`);return{kind:`adapter`,adapterName:e,providerConfigId:n.providerConfigId,model:t}}let r=await this.deps.findProviderConfigByName(e);if(r)return{kind:`adapter`,adapterName:(await this.pickBindingForConfig(r.id,n)).adapterName,providerConfigId:r.id,model:t};let i=await this.deps.findProviderDefinition(e,n);if(i){let r=await this.deps.findDefaultConfigForDefinition(i.id);if(!r)throw new R(`Provider definition "${e}" exists but has no configured provider config. Create a provider config first.`,`provider-not-found`);return{kind:`adapter`,adapterName:(await this.pickBindingForConfig(r.id,n)).adapterName,providerConfigId:r.id,model:t}}throw new R(`"${e}" does not match any enabled adapter name, provider config name, or provider definition ID.`,`adapter-not-found`)}async resolveProviderSegment(e,t,n){let r=await this.deps.findProviderConfigByName(e);if(r)return await this.requireBindingForAdapterAndConfig(t,r.id,e),r.id;let i=await this.deps.findProviderDefinition(e,n);if(i){let n=await this.deps.findConfigForDefinitionAndAdapter(i.id,t);if(!n)throw new R(`Provider definition "${e}" has no enabled config bound to adapter "${t}". Create a provider config and binding first.`,`no-binding`);return n.id}throw new R(`"${e}" does not match any provider config name or provider definition ID.`,`provider-not-found`)}async requireBindingForAdapterAndConfig(e,t,n){if(!(await this.deps.listBindingsForConfig(t)).some(t=>t.adapterName===e))throw new R(`No binding exists between adapter "${e}" and provider "${n}". Create a binding first.`,`no-binding`)}async pickBindingForConfig(e,t){let n=(await this.deps.listBindingsForConfig(e)).filter(e=>t.includes(e.adapterName));if(n.length===0)throw new R(`Provider config "${e}" has no bindings to enabled adapters. Bind it to an enabled adapter first.`,`no-binding`);return n.find(e=>e.isDefault)??n[0]}},B=class e extends T{constructor(e=_){super(e)}async onInit(){await this.bus.request(p.ensureReady,{});let e=new z(this.createDeps());this.registerHandler(be.resolve,async t=>{let n=await e.resolve(t.payload.parsed,t.payload.context);t.setResult(n)})}createDeps(){let e=this.bus,t=async()=>{let{adapters:t}=await e.request(p.listAdapters,{});return t.filter(e=>e.enabled).map(e=>e.name)},n=async t=>{let[n,r]=await Promise.all([e.request(p.getDefaultBinding,{adapterName:t}),this.listEnabledProviderConfigIds()]);if(n.binding&&r.has(n.binding.providerConfigId))return n.binding;let{bindings:i}=await e.request(p.listBindings,{adapterName:t}),a=i.filter(e=>r.has(e.providerConfigId));return a.find(e=>e.isDefault)??a[0]},r=async t=>{let{definitions:n}=await e.request(p.getProviderDefinitionsByAdapter,{adapterName:t});return n},i=async t=>{let{bindings:n}=await e.request(p.listBindingsByConfig,{providerConfigId:t});return n},a=async t=>{let{configs:n}=await e.request(p.listProviderConfigs,{enabled:!0}),r=D(t);return n.find(e=>D(e.name)===r)},o=this.buildFindProviderDefinition(t,r),s=async t=>{let{configs:n}=await e.request(p.listProviderConfigsByDefinition,{definitionId:t}),r=n.filter(e=>e.enabled);return r.find(e=>e.isDefault)??r[0]},c=async(t,n)=>{let{config:r}=await e.request(p.findConfigForDefinitionAndAdapter,{definitionId:t,adapterName:n});return r?{id:r.id}:void 0};return{listEnabledAdapterNames:t,getDefaultBinding:n,findProviderConfigByName:a,findProviderDefinition:o,listBindingsForConfig:i,findDefaultConfigForDefinition:s,findConfigForDefinitionAndAdapter:c,resolveDefaultModelTarget:this.buildResolveDefaultModelTarget(t,r,c)}}buildFindProviderDefinition(e,t){return async(n,r)=>{let i=r??await e();for(let e of i){let r=(await t(e)).find(e=>e.id===n);if(r)return r}}}buildResolveDefaultModelTarget(t,n,r){let i=this.bus;return async a=>{let o=await t(),s=await Promise.all(o.map(async e=>({adapterName:e,definitions:await n(e)}))),c=Array.from(new Set(s.flatMap(({definitions:e})=>e.map(e=>e.id))));if(c.length===0)return{kind:`not-found`};let{matches:l}=await i.request(de.checkModelInProviders,{providerIds:c,model:a}),u=(await Promise.all(s.map(({adapterName:e,definitions:t})=>this.collectAdapterCandidates(e,t,a,l,r)))).flat();return e.buildResolution(u)}}async collectAdapterCandidates(e,t,n,r,i){let a=t.filter(e=>e.id in r),o=await Promise.all(a.map(t=>i(t.id,e)));return a.flatMap((t,r)=>{let i=o[r];return i?[{adapterName:e,definitionId:t.id,providerConfigId:i.id,qualifiedName:`${e}/${t.id}::${n}`,model:n}]:[]})}static buildResolution(e){let t=Array.from(new Map(e.map(e=>[this.routeKey(e),e])).values());if(t.length===0)return{kind:`not-found`};if(t.length>1)return{kind:`ambiguous`,matches:t.map(({adapterName:e,definitionId:t,qualifiedName:n})=>({adapterName:e,definitionId:t,qualifiedName:n}))};let[n]=t;return{kind:`resolved`,target:{adapterName:n.adapterName,providerConfigId:n.providerConfigId,definitionId:n.definitionId,model:n.model}}}static routeKey(e){return`${e.adapterName}\0${e.definitionId}\0${e.providerConfigId}`}async listEnabledProviderConfigIds(){let{configs:e}=await this.bus.request(p.listProviderConfigs,{enabled:!0});return new Set(e.map(e=>e.id))}};const V={name:`makaio.canonical-model`,displayName:`Canonical Model`,version:`0.1.0`,critical:!1,create:e=>new B(e.bus)};function Be(e){let t=Ee({adapterId:e?.adapterId,adapterName:e?.adapterName,contextOverrides:{adapterId:e?.contextOverrides?.adapterId,adapterName:e?.contextOverrides?.adapterName}}),n=t.issues[0];return n?j(A.VALIDATION_FAILED,n.message):je(t.effectiveIdentity)}function Ve(e){let t=e?.allowedDirectories;if(Array.isArray(t))return t.filter(e=>typeof e==`string`)}async function He(e,t,n,r){let i=new Map;for(let e of t)i.set(e.name,await r(e.name));let a=t.filter(e=>{let t=i.get(e.name);return!t?.allowedAdapters||t.allowedAdapters.length===0?!0:t.allowedAdapters.includes(n)}),o=new Set(a.map(e=>e.name));return{filteredTools:e.filter(e=>!(!o.has(e.toolsetName)||i.get(e.toolsetName)?.disabledTools?.includes(e.name))),filteredToolsets:a}}function Ue(){return`exec_${Date.now()}_${Math.random().toString(36).substring(2,9)}`}var H=class{bus;toolsets=new Map;tools=new Map;cleanupHandlers=[];handlerPriority;policyProvider;fileAccessRuleProvider;revision=0;constructor(e){this.bus=e?.bus??_,this.handlerPriority=e?.handlerPriority??0,this.policyProvider=e?.policyProvider,this.fileAccessRuleProvider=e?.fileAccessRuleProvider,this.registerHandlers()}registerHandlers(){let e=this.bus.on(b.list,async e=>{let{toolsetName:t,adapterId:n,adapterName:r}=e.payload,{tools:i,toolsets:a}=await this.listToolsWithToolsets({toolsetName:t,adapterId:n,adapterName:r});e.setResult({tools:i,toolsets:a})},{priority:this.handlerPriority});this.cleanupHandlers.push(e);let t=this.bus.on(b.execute,async e=>{let{toolName:t,input:n,adapterId:r,adapterName:i,contextOverrides:a}=e.payload,o=await this.execute(t,n,{contextOverrides:a,adapterId:r,adapterName:i});e.setResult(o)},{priority:this.handlerPriority});this.cleanupHandlers.push(t)}async register(e){if(this.toolsets.has(e.metadata.name))throw Error(`Toolset '${e.metadata.name}' is already registered`);let t=[],n=[];for(let[,r]of Object.entries(e.tools)){let i=r.metadata.name;if(this.tools.has(i))throw Error(`Tool '${i}' is already registered (from toolset '${this.tools.get(i).toolsetName}')`);n.push({tool:r,toolsetName:e.metadata.name}),t.push(i)}this.toolsets.set(e.metadata.name,e);for(let e=0;e<n.length;e+=1)this.tools.set(t[e],n[e]);await this.emitRegistryChanged(`toolset-registered`,e.metadata.name).catch(t=>console.warn(`[ToolRegistry] Failed to emit ${b.registryChanged.subject} for '${e.metadata.name}':`,t)),await this.bus.emit(b.registered,{toolsetName:e.metadata.name,toolsetVersion:e.metadata.version,toolNames:t}).catch(t=>console.warn(`[ToolRegistry] Failed to emit ${b.registered.subject} for '${e.metadata.name}':`,t))}async deregister(e){let t=this.toolsets.get(e);if(!t)throw Error(`Toolset '${e}' is not registered`);for(let e of Object.values(t.tools))this.tools.delete(e.metadata.name);this.toolsets.delete(e),await this.emitRegistryChanged(`toolset-unregistered`,e).catch(t=>console.warn(`[ToolRegistry] Failed to emit ${b.registryChanged.subject} for '${e}':`,t))}async emitRegistryChanged(e,t){this.revision+=1,await this.bus.emit(b.registryChanged,{revision:this.revision,reason:e,toolsetName:t})}async execute(e,t,n){let r=this.tools.get(e);if(!r)return j(A.TOOL_NOT_FOUND,`Tool '${e}' not found`);let i=Be(n);if(!i.success)return i;let{tool:a,toolsetName:o}=r,s=await this.checkPolicy(o,e,i.data.adapterId,i.data.adapterName);if(s)return s;let c=Ue(),l=Date.now();await this.bus.emit(b.started,{toolName:e,toolsetName:o,executionId:c,timestamp:l});try{let r=a.inputSchema.safeParse(t);if(!r.success){let t=j(A.VALIDATION_FAILED,`Input validation failed`,{issues:r.error.issues});return await this.bus.emit(b.error,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),error:t.error}),t}let s=await this.buildExecutionContext(n,i.data),u=await a.execute(r.data,s);return u.success?await this.bus.emit(b.completed,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),durationMs:Date.now()-l}):await this.bus.emit(b.error,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),error:u.error}),u}catch(t){let n=Ae(t);return await this.bus.emit(b.error,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),error:n.error}),n}}async buildExecutionContext(e,t){let n=e?.contextOverrides?.constraints;if(this.fileAccessRuleProvider){let t=e?.contextOverrides?.cwd??process.cwd(),r=Ve(n),i=await this.fileAccessRuleProvider(t,r);n={...n,[ke]:i}}let r=ve({...e?.contextOverrides,constraints:n}),i=e?.contextOverrides;return{...r,bus:this.bus,sessionId:i?.sessionId,agentId:i?.agentId,adapterId:t.adapterId,adapterName:t.adapterName,adapterSessionId:i?.adapterSessionId,turnId:i?.turnId,turnContext:i?.turnContext,toolCallId:i?.toolCallId}}async checkPolicy(e,t,n,r){if(!this.policyProvider)return null;let i=await this.policyProvider(e);if(!i)return null;if(i.disabledTools?.includes(t))return j(A.PERMISSION_DENIED,`Tool '${t}' is disabled`,{toolsetName:e,toolName:t});if(i.allowedAdapters&&i.allowedAdapters.length>0){let t=r??n;if(!t||!i.allowedAdapters.includes(t))return j(A.PERMISSION_DENIED,`Adapter not allowed for toolset '${e}'`,{toolsetName:e,adapterId:n,adapterName:r,allowedAdapters:i.allowedAdapters})}return null}listTools(e){let t=[];for(let[,n]of this.tools){if(e?.toolsetName&&n.toolsetName!==e.toolsetName)continue;let{$schema:r,...i}=g.toJSONSchema(n.tool.inputSchema);t.push({name:n.tool.metadata.name,description:n.tool.metadata.description,toolsetName:n.toolsetName,annotations:n.tool.metadata.annotations,inputSchema:i})}return t}listToolsets(){let e=[];for(let[,t]of this.toolsets){let n={name:t.metadata.name,description:t.metadata.description,version:t.metadata.version,toolCount:Object.keys(t.tools).length};if(t.configSchema){let{$schema:e,...r}=g.toJSONSchema(t.configSchema);n.configSchema=r}e.push(n)}return e}async listToolsWithToolsets(e){let t=this.listTools(e),n=this.listToolsets(),r=e?.toolsetName?n.filter(t=>t.name===e.toolsetName):n,i=e?.adapterName??e?.adapterId;if(this.policyProvider&&i){let{filteredTools:e,filteredToolsets:n}=await He(t,r,i,this.policyProvider);return{tools:e,toolsets:n}}return{tools:t,toolsets:r}}getTool(e){return this.tools.get(e)?.tool}getToolset(e){return this.toolsets.get(e)}dispose(){for(let e of this.cleanupHandlers)e();this.cleanupHandlers.length=0}destroy(){this.dispose()}},U=class extends T{triggersByExtension=new Map;stepsByExtension=new Map;revision=0;cache=null;constructor(e){super(e)}onInit(){this.registerHandler(x.list,e=>{e.setResult({triggers:this.listTriggers(),steps:this.listSteps()})})}async register(e,t){let n=[],r=[],i=this.snapshotExtensionState(e),a=new Set;for(let e of this.triggersByExtension.values())for(let t of e)a.add(t.metadata.name);for(let e of this.stepsByExtension.values())for(let t of e)a.add(t.metadata.name);if(t.triggers)for(let r of t.triggers)this.assertExtensionNamespace(e,r.metadata),this.assertNoCollision(r.metadata,a),a.add(r.metadata.name),n.push({metadata:{...r.metadata,extensionName:e},configSchema:w(r.configSchema),outputSchema:w(r.outputSchema)});if(t.steps)for(let n of t.steps)this.assertExtensionNamespace(e,n.metadata),this.assertNoCollision(n.metadata,a),a.add(n.metadata.name),r.push({metadata:{...n.metadata,extensionName:e},configSchema:w(n.configSchema),inputSchema:w(n.inputSchema),outputSchema:w(n.outputSchema),runs:structuredClone(n.runs)});if(n.length>0&&this.triggersByExtension.set(e,n),r.length>0&&this.stepsByExtension.set(e,r),n.length>0||r.length>0){this.revision+=1;try{await this.emitChanged(e,`registered`)}catch(t){throw this.restoreExtensionState(e,i),t}}}async deregister(e){let t=this.snapshotExtensionState(e),n=this.triggersByExtension.delete(e),r=this.stepsByExtension.delete(e);if(n||r){this.revision+=1;try{await this.emitChanged(e,`deregistered`)}catch(n){throw this.restoreExtensionState(e,t),n}}}listTriggers(){return this.getCache().triggers.map(We)}listSteps(){return this.getCache().steps.map(Ge)}async emitChanged(e,t){await this.bus.emit(x.changed,{extensionName:e,revision:this.revision,reason:t})}getCache(){return(!this.cache||this.cache.revision!==this.revision)&&(this.cache={revision:this.revision,triggers:[...this.triggersByExtension.values()].flat(),steps:[...this.stepsByExtension.values()].flat()}),this.cache}snapshotExtensionState(e){return{triggers:this.triggersByExtension.get(e),steps:this.stepsByExtension.get(e),revision:this.revision,cache:this.cache}}restoreExtensionState(e,t){t.triggers?this.triggersByExtension.set(e,t.triggers):this.triggersByExtension.delete(e),t.steps?this.stepsByExtension.set(e,t.steps):this.stepsByExtension.delete(e),this.revision=t.revision,this.cache=t.cache}assertNoCollision(e,t){if(t.has(e.name))throw Error(`Workflow block name collision: '${e.name}' is already registered`)}assertExtensionNamespace(e,t){let n=`${e}.`;if(!t.name.startsWith(n))throw Error(`Workflow block '${t.name}' must be namespaced by extension '${n}'`)}};function We(e){return{metadata:W(e.metadata),configSchema:structuredClone(e.configSchema),outputSchema:structuredClone(e.outputSchema)}}function Ge(e){return{metadata:W(e.metadata),configSchema:structuredClone(e.configSchema),inputSchema:structuredClone(e.inputSchema),outputSchema:structuredClone(e.outputSchema),runs:structuredClone(e.runs)}}function W(e){return e.categories?{...e,categories:[...e.categories]}:{...e}}const G=`workflow.start`;function Ke(e){return()=>({async execute(t,n){let{input:r={}}=t,{workflowId:i}=r;if(typeof i!=`string`||i.length===0)throw Error(`[TransitionActionRegistry] 'workflow.start' action requires a non-empty 'input.workflowId' string`);await e.request(Te.start,{workflowId:i,input:qe(r,n),config:r.config,artifactRef:r.artifactRef,scope:r.scope,triggerPayload:{_transitionRuleId:n._transition.ruleId,_transitionDepth:n._transition.depth,_transitionEventType:n._transition.eventType}})}})}function qe(e,t){let n=e.inputExpression;if(typeof n!=`string`)return e.input;let r=Pe(n,Je(t)),i=Ce.safeParse(r);if(!i.success)throw Error(`[TransitionActionRegistry] 'workflow.start' inputExpression for rule '${t._transition.ruleId}' must resolve to a JSON value`);return i.data}function Je(e){let t={...e};return{...t,ctx:t}}var K=class{factories=new Map;factoriesBySource=new Map;constructor(e){this.factories.set(G,Ke(e)),this.factoriesBySource.set(`__builtin__`,[G])}register(e,t){let n=Object.keys(t);if(n.length!==0){if(this.factoriesBySource.has(e))throw Error(`TransitionActionRegistry: duplicate source '${e}'`);for(let t of n)if(this.factories.has(t))throw Error(`TransitionActionRegistry: duplicate action type '${t}' from source '${e}'`);for(let e of n)this.factories.set(e,t[e]);this.factoriesBySource.set(e,n)}}deregister(e){if(e===`__builtin__`)return;let t=this.factoriesBySource.get(e);if(t){for(let e of t)this.factories.delete(e);this.factoriesBySource.delete(e)}}async dispatch(e,t){let n=this.factories.get(e.type);if(!n)throw Error(`TransitionActionRegistry: unknown action type '${e.type}'. Registered types: ${[...this.factories.keys()].join(`, `)}`);await n().execute(e,t)}has(e){return this.factories.has(e)}listTypes(){return[...this.factories.keys()]}},Ye=class{rulesBySource=new Map;rulesByEventType=new Map;ruleIdSet=new Set;register(e,t){if(t.length===0)return;if(this.rulesBySource.has(e))throw Error(`TransitionRuleRegistry: duplicate source '${e}'`);let n=new Set,r=[];for(let i of t){let t=we.parse(i);if(n.has(t.id))throw Error(`TransitionRuleRegistry: duplicate rule ID '${t.id}' within source '${e}'`);if(this.ruleIdSet.has(t.id))throw Error(`TransitionRuleRegistry: duplicate rule ID '${t.id}' from source '${e}'`);n.add(t.id),r.push({rule:t,condition:t.when===void 0?void 0:Me.parse(t.when)})}for(let e of r){let{rule:t}=e;this.ruleIdSet.add(t.id);let n=this.rulesByEventType.get(t.on)??[];n.push(e),this.rulesByEventType.set(t.on,n)}this.rulesBySource.set(e,r)}deregister(e){let t=this.rulesBySource.get(e);if(t){for(let{rule:e}of t){this.ruleIdSet.delete(e.id);let t=this.rulesByEventType.get(e.on);if(t){let n=t.filter(t=>t.rule.id!==e.id);n.length>0?this.rulesByEventType.set(e.on,n):this.rulesByEventType.delete(e.on)}}this.rulesBySource.delete(e)}}getRulesForEvent(e){let t=this.rulesByEventType.get(e);return t?t.filter(e=>e.rule.enabled):[]}snapshotSource(e){let t=this.rulesBySource.get(e);if(t)return{ruleIds:t.map(e=>e.rule.id)}}},Xe=class extends T{ruleRegistry;actionRegistry;depthMap=new Map;constructor(e){super(e),this.ruleRegistry=new Ye,this.actionRegistry=new K(e)}onInit(){this.registerHandler(v.created,async e=>{await this.handleArtifactEvent(`artifact.created`,{artifact:e.payload.artifact})}),this.registerHandler(v.revised,async e=>{let t=await this.resolvePreviousRevisedArtifact(e.payload.previous);await this.handleArtifactEvent(`artifact.revised`,{artifact:e.payload.artifact,previous:e.payload.previous,...t===void 0?{}:{previousArtifact:t}})}),this.registerHandler(v.status.changed,async e=>{let t=await this.resolveStatusChangedArtifact(e.payload.artifact);t!==void 0&&await this.handleArtifactEvent(`artifact.status.changed`,{artifact:t,path:e.payload.path,previous:e.payload.previous,current:e.payload.current})})}async handleArtifactEvent(e,t){let n=this.artifactKey(t.artifact),r=this.readDepth(n);if(r>=10){console.warn(`[TransitionPipelineService] Transition depth limit (10) reached for event '${e}' on artifact '${n}'. Loop protection active — skipping rule evaluation.`);return}let i=this.ruleRegistry.getRulesForEvent(e);if(i.length!==0)for(let a of i)await this.evaluateAndDispatch(a,e,t,n,r)}async resolveStatusChangedArtifact(e){let t=await this.bus.requestOptional(v.resolve,{ref:e});if(!t.handled){console.warn(`[TransitionPipelineService] No artifact resolver is registered for status transition on artifact '${this.artifactKey(e)}'. Skipping rule evaluation.`);return}if(t.data.artifact===null){console.warn(`[TransitionPipelineService] Could not resolve status transition artifact '${this.artifactKey(e)}'. Skipping rule evaluation.`);return}return t.data.artifact}async resolvePreviousRevisedArtifact(e){let t=await this.bus.requestOptional(v.resolve,{ref:e});if(!(!t.handled||t.data.artifact===null))return t.data.artifact}async evaluateAndDispatch(e,t,n,r,i){let{rule:a,condition:o}=e,s={...n,_transition:{ruleId:a.id,eventType:t,depth:i+1}};if(o!==void 0){let e={...s},t;try{t=Ne(o,e)}catch(e){console.error(`[TransitionPipelineService] Condition evaluation error for rule '${a.id}':`,e);return}if(!t)return}try{await this.actionRegistry.dispatch(a.action,s),a.action.type===`workflow.start`&&this.incrementDepth(r)}catch(e){console.error(`[TransitionPipelineService] Action dispatch error for rule '${a.id}' (action type '${a.action.type}'):`,e)}}artifactKey(e){return`${typeof e.kind==`string`?e.kind:`unknown`}:${typeof e.id==`string`?e.id:`unknown`}`}readDepth(e){let t=this.depthMap.get(e);return t===void 0?0:Date.now()>t.expiresAt?(this.depthMap.delete(e),0):t.count}incrementDepth(e){let t=this.depthMap.get(e);this.depthMap.set(e,{count:t===void 0?1:t.count+1,expiresAt:Date.now()+6e4})}};function Ze(e){return async t=>{let n=await Qe(e,t);if(!n)return{handled:!1,sessionId:null,clientAccountId:null,changed:!1};let{sessionId:r}=n,{observation:i,accountObserveRequest:a}=$e(t),o=await e.requestOptional(O.account.observe,a);if(!o.handled)return{handled:!1,sessionId:r,clientAccountId:null,changed:!1};let{clientAccountId:s}=o.data;return{handled:!0,sessionId:r,clientAccountId:s,changed:await ot(e,r,i,s)}}}async function Qe(e,t){switch(t.locator.kind){case`session`:{let{session:r}=await e.request(n.get,{sessionId:t.locator.sessionId});return r?{sessionId:r.sessionId,session:r}:null}case`adapter-session`:{let{session:r}=await e.request(n.getByAdapterSessionId,{adapterSessionId:t.locator.adapterSessionId});return r?{sessionId:r.sessionId,session:r}:null}case`both`:{let[{session:r},{session:i}]=await Promise.all([e.request(n.get,{sessionId:t.locator.sessionId}),e.request(n.getByAdapterSessionId,{adapterSessionId:t.locator.adapterSessionId})]);if(!r&&!i)return null;if(!r||!i)throw Error(`Session locator mismatch: sessionId "${t.locator.sessionId}" and adapterSessionId "${t.locator.adapterSessionId}" must both resolve the same session`);if(r.sessionId!==i.sessionId)throw Error(`Session locator mismatch: sessionId "${t.locator.sessionId}" and adapterSessionId "${t.locator.adapterSessionId}" resolve to different sessions`);return{sessionId:r.sessionId,session:r}}}}function $e(e){let t={clientId:e.clientId,source:e.source,kind:e.kind,observedAt:e.observedAt,payload:it(e.payload)};return{observation:t,accountObserveRequest:et(t)}}function et(e){let t=e.payload,n=tt(t),r=nt(t);if(r.length>0)return{clientId:e.clientId,observedAt:e.observedAt,displayLabel:rt(t,n),identifiers:r};throw Error(`client.session.account.observe for "${e.clientId}" requires canonical client account identifiers`)}function tt(e){return at(e.accountInfo)??e}function nt(e){let t=e.identifiers;if(!Array.isArray(t))return[];try{return g.array(De).min(1).parse(t)}catch(e){throw Error(`client.session.account.observe received malformed canonical client account identifiers`,{cause:e})}}function rt(e,t){return q(e.displayLabel)??q(t.displayLabel)??q(t.email)??q(t.label)}function it(e){return structuredClone(e)}function at(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function q(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}async function ot(e,t,r,i){let a=await e.request(n.update,{sessionId:t,clientId:r.clientId,clientAccountId:i,lastClientIdentityObservation:r});if(!a.success)throw Error(`Failed to update session "${t}" with client account linkage`);return a.clientAccountChanged??!1}const st=C(`session-storage`).name;var ct=class extends T{constructor(e=_){super(e)}onInit(){let e=Ze(this.bus);this.registerHandler(O.session.account.observe,async t=>{t.setResult(await e(Oe.request.parse(t.payload)))})}};const lt={name:`makaio.session-client-account-linking`,displayName:`Session Client Account Linking`,version:`0.1.0`,dependencies:[S(st),S(`makaio.clients-core`)],critical:!1,create:e=>new ct(e.bus)},ut={name:`framework-shell`,displayName:`Shell`,version:`0.1.0`,surface:`interactive`,windows:[{id:`main`,style:`utility`,width:1e3,height:700,singleton:!0}]};async function dt(e){let{harnesses:t}=await e.request(m.list,{}),n=new Set(t.map(e=>e.id));for(let t of xe){if(n.has(t.id))continue;let r={...t};await e.request(m.set,{harness:r})}}function J(e,t,n){return e??t??n}var ft=class extends T{static storage={drizzle:h};constructor(e=_){super(e)}async onInit(){await dt(this.bus),this.registerHandlers()}registerHandlers(){this.registerHandler(y.get,async e=>{let t=await this.loadHarness(e.payload);if(!t)throw Error(`Harness not found`);e.setResult(t)}),this.registerHandler(y.list,async e=>{let{harnesses:t}=await this.bus.request(m.list,e.payload);e.setResult({harnesses:t})}),this.registerHandler(y.set,async e=>{let t=await this.upsertHarness(e.payload);e.setResult({id:t})}),this.registerHandler(y.delete,async e=>{let{deleted:t}=await this.bus.request(m.delete,{id:e.payload.id});e.setResult({success:t})}),this.registerHandler(y.getDefault,async e=>{let t=await this.getDefaultHarness(e.payload.adapterName,e.payload.clientId);e.setResult(t)}),this.registerHandler(y.resolve,async e=>{let{adapterName:t,clientId:n,personaHarnessId:r,profileHarnessId:i}=e.payload;if(r){let i=await this.resolveAndValidateHarness(r,t,`persona`,n);e.setResult(i);return}if(i){let r=await this.resolveAndValidateHarness(i,t,`profile`,n);e.setResult(r);return}let a=await this.getDefaultHarness(t,n);e.setResult(a)}),this.registerHandler(y.getSchema,({setResult:e})=>{let{$schema:t,...n}=g.toJSONSchema(Se);e({schema:n,uiConfig:{editMode:`fullPage`,hiddenFields:[`isDefault`]}})})}async upsertHarness(e){let t=await this.resolveHarnessId(e.name,e.adapterName,e.clientId),n=await this.loadHarness({id:t,adapterName:e.adapterName,clientId:e.clientId}),r=this.mergeHarnessPayload(t,e,n);return r.adapterName&&await this.validateNativeTools(r.adapterName,r.nativeTools),await this.bus.request(m.set,{harness:r}),t}mergeHarnessPayload(e,t,n){let r={enabled:[],disabled:[]};return{id:e,name:t.name,description:J(t.description,n?.description,void 0),adapterName:t.adapterName,clientId:J(t.clientId,n?.clientId,void 0),env:J(t.env,n?.env,void 0),credentials:J(t.credentials,n?.credentials,void 0),cwd:J(t.cwd,n?.cwd,void 0),approvalPolicy:J(t.approvalPolicy,n?.approvalPolicy,`always-ask`),nativeTools:J(t.nativeTools,n?.nativeTools,r),registryTools:J(t.registryTools,n?.registryTools,r),skills:J(t.skills,n?.skills,void 0),toolCapabilityMap:t.toolCapabilityMap??n?.toolCapabilityMap,capabilityOverrides:t.capabilityOverrides??n?.capabilityOverrides,toolApprovalOverrides:t.toolApprovalOverrides??n?.toolApprovalOverrides,isDefault:J(t.isDefault,n?.isDefault,!1),enabled:J(t.enabled,n?.enabled,!0)}}async resolveHarnessId(e,t,n){let r=n??t,{harnesses:i}=await this.bus.request(m.list,{name:e}),a=i.find(t=>t.name===e&&(t.clientId??t.adapterName)===r);if(a)return a.id;let o=i.find(t=>t.name===e&&(t.clientId??t.adapterName)!==r);if(o){let t=o.clientId?`client '${o.clientId}'`:`adapter '${o.adapterName}'`;throw Error(`Harness "${e}" already exists with scope ${t}; cannot change scope to ${r??`(none)`}`)}return this.createStableHarnessId(e,r)}async loadHarness(e){if(e.id){let{harness:t}=await this.bus.request(m.get,{id:e.id});return t&&(!e.adapterName||t.adapterName===e.adapterName)&&(!e.clientId||t.clientId===e.clientId)?t:null}if(!e.name)return null;let{harnesses:t}=await this.bus.request(m.list,{name:e.name,adapterName:e.adapterName,clientId:e.clientId});return e.clientId?t.find(t=>t.clientId===e.clientId)??null:e.adapterName?t.find(t=>t.adapterName===e.adapterName)??null:t[0]??null}async getDefaultHarness(e,t){if(t){let{harnesses:e}=await this.bus.request(m.list,{clientId:t}),n=e.find(e=>e.isDefault&&e.enabled);if(n)return n;let r=e.find(e=>e.enabled);if(r)return r}if(e){let{harnesses:t}=await this.bus.request(m.list,{adapterName:e}),n=t.find(e=>e.isDefault&&e.enabled);if(n)return n;let r=t.find(e=>e.enabled);if(r)return r}let n=t?e?`client '${t}' or adapter '${e}'`:`client '${t}'`:`adapter '${e}'`;throw Error(`No harness available for ${n}`)}assertHarnessAdapterMatch(e,t,n,r){if(e.adapterName&&t&&e.adapterName!==t)throw Error(`Resolved ${n} harness adapter mismatch: expected "${t}", got "${e.adapterName}"`);if(e.clientId&&r&&e.clientId!==r)throw Error(`Resolved ${n} harness client mismatch: expected "${r}", got "${e.clientId}"`)}assertHarnessEnabled(e,t){if(!e.enabled)throw Error(`Resolved ${t} harness is disabled: ${e.id}`)}async validateNativeTools(e,t){let n=await this.bus.requestOptional(ye.getCapabilities,{adapterName:e});if(!n.handled)return;let r=new Set(n.data.nativeTools),i=[...t.enabled,...t.disabled].filter(e=>!r.has(e));if(i.length>0)throw Error(`Tool '${i[0]}' not found in adapter '${e}' native tools. Declared tools: ${[...r].join(`, `)}`)}createStableHarnessId(e,t){return`harness-${ge(`sha256`).update(`${t??``}\0${e}`).digest(`hex`).slice(0,24)}`}async resolveAndValidateHarness(e,t,n,r){let i=await this.loadHarness({id:e});if(!i)throw Error(`${n===`persona`?`Persona`:`Profile`} harness not found: ${e}`);return this.assertHarnessAdapterMatch(i,t,n,r),this.assertHarnessEnabled(i,n),i}};const pt={name:`makaio.harness`,displayName:`Harness`,version:`0.1.0`,critical:!0,storage:{registerHandlers:E(h)},create:e=>new ft(e.bus)},Y=C(`session-storage`),X=C(`session-bridge`),Z=C(`session`),mt=C(`session-orchestrator`),ht=C(`observed-session-ingestion`),Q=C(`tool-registry`),gt=C(`tool-approval`),_t=C(`tray-menu`),vt=C(`capability`),yt=C(`model-registry`),bt=C(`workflow-block-registry`),xt=C(`transition-pipeline`),St=C(`filesystem`),Ct=C(`git`),wt=C(`artifact-lifecycle-hook-registry`),Tt=C(`facet-namespace-registry`),Et={name:wt.name,displayName:`Artifact Lifecycle Hook Registry`,version:`0.1.0`,critical:!0,create:e=>new F(e.bus)},$={name:Tt.name,displayName:`Facet Namespace Registry`,version:`0.1.0`,critical:!0,create:e=>new L(e.bus)},Dt={name:Y.name,displayName:`Session Storage`,version:`0.1.0`,critical:!0,storage:{registerHandlers:E((n,a)=>{let o=[],u=e=>{for(let t=o.length-1;t>=0;--t)try{o[t]?.()}catch(t){console.warn(`[sessionStoragePackage] cleanup failed during ${e}:`,t)}o.length=0};try{o.push(i(n,a)),o.push(e(n,a)),o.push(r(n,a)),o.push(te(n,a)),o.push(t(n,a)),o.push(f(n,a)),o.push(l(n,a)),o.push(c(n,a)),o.push(s(n,a)),o.push(d(n)),o.push(ne(n)),o.push(ee(n))}catch(e){throw u(`rollback`),e}return()=>{u(`shutdown`)}})}},Ot={name:X.name,displayName:`Session Bridge`,version:`0.1.0`,dependencies:[S(Y.name)],critical:!0,create:e=>new a(e.bus)},kt={name:Z.name,displayName:`Session`,version:`0.1.0`,dependencies:[S(X.name)],critical:!0,create:e=>new re(e.bus)},At={name:mt.name,displayName:`Session Orchestrator`,version:`0.1.0`,dependencies:[S(Z.name),S(V.name)],critical:!0,runtimeOwnership:{sessionOrchestrator:!0},create:e=>new o(e.bus,e.machineId)},jt={name:ht.name,displayName:`Observed-Session Ingestion`,version:`0.1.0`,dependencies:[S(X.name)],critical:!1,create:e=>new u(e.bus)},Mt={name:Q.name,displayName:`Tool Registry`,version:`0.1.0`,critical:!0,create:e=>new H({bus:e.bus})},Nt={name:gt.name,displayName:`Tool Approval`,version:`0.1.0`,dependencies:[S(Q.name)],critical:!0,create:e=>new fe(e.bus)},Pt={name:_t.name,displayName:`Tray Menu`,version:`0.1.0`,critical:!0,create:e=>new pe(e.bus)},Ft={name:vt.name,displayName:`Capability`,version:`0.1.0`,critical:!0,create:e=>new le(e.bus)},It={name:bt.name,displayName:`Workflow Block Registry`,version:`0.1.0`,critical:!0,create:e=>new U(e.bus)},Lt={name:xt.name,displayName:`Transition Pipeline`,version:`0.1.0`,critical:!0,create:e=>new Xe(e.bus)},Rt={name:St.name,displayName:`Filesystem`,version:`0.1.0`,critical:!0,create:e=>new he(e.bus,e.machineId)},zt={name:Ct.name,displayName:`Git`,version:`0.1.0`,dependencies:[S(St.name)],critical:!0,create:e=>new Fe(e.bus)};function Bt(e){return{name:yt.name,displayName:`Model Registry`,version:`0.1.0`,critical:!0,create:t=>new ue({bus:t.bus,fetcher:e})}}const Vt=[ce,Et,$,ae,se,ie,oe,Dt,Ot,lt,kt,At,jt,me,Mt,Nt,Pt,Ft,pt,V,ut,It,Lt,zt,Rt];export{K as A,M as B,Nt as C,It as D,Pt as E,B as F,z as I,R as L,U as M,H as N,Xe as O,V as P,L as R,Dt as S,Lt as T,$ as _,X as a,At as b,Z as c,xt as d,_t as f,Bt as g,Ft as h,yt as i,G as j,Ye as k,gt as l,Et as m,vt as n,mt as o,bt as p,Tt as r,Y as s,wt as t,Q as u,Vt as v,Mt as w,kt as x,Ot as y,F as z};
@@ -1,57 +0,0 @@
1
- import{agents as e}from"./services/session/storage/schema.mjs";import{n as t,t as n}from"./schema-Db-y-09L.mjs";import{i as r,n as i,r as a}from"./namespace-BqxtpNAn.mjs";import{TurnStorageSubjects as o}from"./services/turn/namespace.mjs";import{SessionStorageSubjects as s}from"./services/session/storage/namespace.mjs";import{n as c}from"./namespace-CWUDFGOy.mjs";import{ProviderStorageSubjects as l}from"./services/settings/storage/providers-namespace.mjs";import{a as u,o as d}from"./provider-context-PZIQWcqQ.mjs";import{AdapterRuntimeSubjects as f}from"./services/adapter-runtime/namespace.mjs";import{ExecutionTargetSubjects as p}from"./services/execution-target/namespace.mjs";import{MessageStorageSubjects as m}from"./services/session/messages/namespace.mjs";import"./services/session/turns/namespace.mjs";import{t as h}from"./attach-error-C3tngg6J.mjs";import{ExtractedContextSchema as g}from"./services/compression/schemas.mjs";import{PreferencesSubjects as _}from"./services/preferences/storage-namespace.mjs";import{z as v}from"zod";import{AdapterSubjects as y,AgentResolutionSubjects as b,AgentStatusSchema as x,AgentSubjects as S,MakaioSessionAgentSchema as C,ProviderContextSchema as w,SessionSubjects as T,TurnInitiatorSchema as ee,TurnUsageSchema as E}from"@makaio/framework/contracts";import{defineDialectSchema as D,getRawSqlExecutor as O,getStorageEngine as k,resolveSchema as A}from"@makaio/framework/storage/drizzle";import{and as j,asc as M,desc as N,eq as P,gt as te,inArray as F,lt as ne,sql as I}from"drizzle-orm";import{createStorageNamespaceDefinition as re}from"@makaio/framework/storage";import{HookAbortError as ie}from"@makaio/framework/hooks";import{AdapterRuntimeSubjects as ae}from"@makaio/framework/services/adapter-runtime";import{resolveRuntimeProviderContext as oe}from"@makaio/framework/services/provider-context";function se(e,t,n,r){return e.on(i.append,e=>{let{event:i}=e.payload,a=t.get(i.sessionId)??[];if(n.has(i.eventId)){e.setResult({success:!0});return}a.push(i),t.set(i.sessionId,a),n.set(i.eventId,r()),e.setResult({success:!0})})}function ce(e,t,n){return e.on(i.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 le(e,t){return e.on(i.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 ue(e,t,n){return e.on(i.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 de(e,t){return e.on(i.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 fe(e){let t=new Map,n=new Map,r=1,i=[se(e,t,n,()=>r++),ce(e,t,n),le(e,t),ue(e,t,n),de(e,t)];return()=>i.forEach(e=>e())}const pe=r.postgres,me=D({sessionEvents:a},{sessionEvents:pe}),he=[`sessionId`,`agentId`,`adapterId`,`messageId`,`turnId`];function ge(e){let t=e.payload,n={};for(let[e,r]of Object.entries(t))he.includes(e)||(n[e]=r);return n}function _e(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 ve(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
- `)}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 ye(e.payload)}}function ye(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 be({bus:e,db:t,sessionEvents:n}){return e.on(i.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:ve(r),payload:JSON.stringify(ge(r))};await t.insert(n).values(u).onConflictDoNothing(),e.setResult({success:!0})})}function xe({bus:e,db:t,sessionEvents:n}){return e.on(i.getEvents,async e=>{let{sessionId:r,options:i}=e.payload,a=[P(n.sessionId,r)],o=i?.order??`asc`;if(i?.after){let e=parseInt(i.after,10);!isNaN(e)&&e>0&&(o===`desc`?a.push(ne(n.id,e)):a.push(te(n.id,e)))}i?.types&&i.types.length>0&&a.push(F(n.type,i.types));let s=i?.limit??100,c=o===`desc`?N:M,l=await t.select().from(n).where(j(...a)).orderBy(c(n.id)).limit(s+1),u=l.length>s,d=u?l.slice(0,s):l,f=d.map(_e),p=u&&d.length>0?d[d.length-1].id.toString():null;e.setResult({events:f,nextCursor:p})})}function Se({bus:e,db:t,sessionEvents:n}){return e.on(i.getByIds,async e=>{let{sessionId:r,eventIds:i}=e.payload,a=(await t.select().from(n).where(j(P(n.sessionId,r),F(n.eventId,i))).orderBy(M(n.timestamp))).map(_e);e.setResult({events:a})})}function Ce({bus:e,db:t,sessionEvents:n}){return e.on(i.deleteBySession,async e=>{let{sessionId:r}=e.payload,i=(await t.select().from(n).where(P(n.sessionId,r))).length;await t.delete(n).where(P(n.sessionId,r)),e.setResult({success:!0,deletedCount:i})})}function we({bus:e,db:t,sessionEvents:n}){return e.on(i.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(j(P(n.sessionId,e),F(n.type,i))).orderBy(N(n.timestamp)).limit(a);r.length>0&&(o[e]=r.map(_e))}e.setResult({eventsBySession:o})})}function Te(e,t){let{sessionEvents:n}=A(t,me),r={bus:e,db:t,sessionEvents:n},i=[be(r),xe(r),Se(r),Ce(r),we(r)];return()=>i.forEach(e=>e())}async function L(e,t,n){let r={sessionId:t.sessionId,eventId:t.eventId??crypto.randomUUID(),timestamp:t.timestamp??Date.now(),type:t.type,payload:t.payload},a=n?n(r):r;a&&await e.requestOptional(i.append,{event:a})}async function Ee(e,t){await L(e,{type:`turn.started`,sessionId:t.sessionId,eventId:`turn.started:${t.turnId}`,payload:t});try{await e.emit(T.turn.started,t)}catch(e){console.error(`[SessionLifecycle] Failed to emit turn.started for turn ${t.turnId}:`,e)}}async function De(e,t){try{await e.emit(T.user_message.sent,t)}catch(e){console.error(`[SessionLifecycle] Failed to emit user_message.sent for turn ${t.turnId}:`,e)}}function Oe(e,t){let n=[e.on(T.agent.added,async n=>{await ke(e,{type:`agent.added`,sessionId:n.payload.sessionId,payload:n.payload},t)}),e.on(T.branch.created,async n=>{await ke(e,{type:`branch.created`,sessionId:n.payload.sessionId,payload:n.payload},t)})];return()=>{for(let e of n)e()}}async function ke(e,t,n){try{await L(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 R(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 L(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(T.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)})}}const Ae=re(`agent`,{schemas:{get:{request:v.object({agentId:v.string()}),response:v.object({agent:C.nullable()})},set:{request:v.object({agentId:v.string(),agent:C}),response:v.object({success:v.boolean()})},delete:{request:v.object({agentId:v.string()}),response:v.object({success:v.boolean()})},listByAdapter:{request:v.object({adapterName:v.string(),status:v.enum([`idle`,`active`,`dead`,`disposed`,`all`]).optional()}),response:v.object({agents:v.array(C)})},listBySession:{request:v.object({sessionId:v.string()}),response:v.object({agents:v.array(C)})},updateStatus:{request:v.object({agentId:v.string(),status:x}),response:v.object({success:v.boolean()})},updateActivity:{request:v.object({agentId:v.string(),lastActivityAt:v.number()}),response:v.object({success:v.boolean()})},updateRuntime:{request:v.object({agentId:v.string(),adapterId:v.string().optional(),adapterSessionId:v.string().optional(),cwd:v.string().optional(),model:v.string().optional(),allowedDirectories:v.array(v.string()).optional(),providerConfigId:v.string().nullable().optional()}).refine(e=>e.adapterId!==void 0||e.adapterSessionId!==void 0||e.cwd!==void 0||e.model!==void 0||e.allowedDirectories!==void 0||e.providerConfigId!==void 0,{message:`At least one runtime field (adapterId, adapterSessionId, cwd, model, allowedDirectories, or providerConfigId) must be provided`}),response:v.object({success:v.boolean()})}},extensions:{drizzle:{agents:e}}}),z=Ae.subjects;async function B(e,t,n){let{adapterId:r}=await e.request(f.resolveId,{adapterName:t,...n!==void 0&&{machineId:n}});return r}async function je(e,t,n){if(!(!t||!n))try{let{config:r}=await e.request(c.getProviderConfig,{id:t});if(!r)return;let{provider:i}=await e.request(l.get,{id:r.definitionId}),a=i?.availableModels?.find(e=>e.name===n);return a?{supportedReasoningLevels:a.supportedReasoningLevels}:void 0}catch{return}}async function Me(e,t){let{executionTarget:n}=await e.request(p.resolve,t);return n}async function Ne(e,t){let{sessionId:n,limit:r}=t,a=[],o=!1,s=!1,c;do{let{events:t,nextCursor:l}=await e.request(i.getEvents,{sessionId:n,options:{limit:1e4,...c&&{after:c}}});for(let i of t){if(i.type===`squash`){o=!0,a.length=0;let e=i.payload,t={messageId:`squash-${i.eventId}`,sessionId:n,turnId:null,role:`assistant`,contentText:e.summaryJson,blocks:[{type:`text`,content:e.summaryJson}],timestamp:i.timestamp};a.push(t)}else if(i.type===`message`){let t=i.payload,{message:n}=await e.request(m.get,{messageId:t.messageId});n&&a.push(n)}if(r&&a.length>=r){s=!0;break}}if(r&&a.length>=r)break;c=l??void 0}while(c);return{messages:a,hasSquashBoundary:o,sessionChain:[n],truncated:s,incomplete:!1}}const V=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 H(e,t,n){let r=e,i,a;for(let e of t){let t=V.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 Pe(e){return e.map(e=>({...e,blocks:e.blocks.filter(e=>e.type!==`reasoning`)}))}const Fe={id:`strip-reasoning`,label:`Strip Reasoning`,description:`Remove reasoning/thinking blocks from messages`,category:`transformation`,async execute(e){return{kind:`messages`,messages:Pe(e)}}};function Ie(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 Le={id:`strip-tool-outputs`,label:`Strip Tool Outputs`,description:`Remove tool output contents, keep structure`,category:`transformation`,async execute(e){return{kind:`messages`,messages:Ie(e)}}};async function U(e,t){let n=[],r=[],i=[],a=!1,o=!1,c=!1,l=[],u,d=t,f;for(;d;){let n=await e.request(s.get,{sessionId:d});if(!n.session){c=!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 Ne(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 Re(r,u)),{messages:[...r,...i],hasSquashBoundary:a,sessionChain:n,truncated:o,incomplete:c}}async function Re(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 Be(e,t.segments);let o=e.slice(0,i),s=e.slice(i,a+1),c=e.slice(a+1),l=Be(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 H(n,t.appliedPipeline)).messages),n}function ze(e,t){let n=e;return t.stripReasoning&&(n=Pe(n)),t.stripToolOutputs&&(n=Ie(n)),n}function Be(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=ze(s,i),r.push(...s)}return r}function W(e){return{role:e.role,blocks:e.blocks}}async function Ve(e,t){return{messageHistory:(await U(e,t.sessionId)).messages.map(W),isFirstTurn:!0}}async function He(e,t,n,r){if(t.cwd===n)return{swapped:!1};let i=await e.request(S.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 Ue(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 d(e,{adapterName:t.adapterName,providerConfigId:r.providerConfigId}):void 0,c=await e.request(S.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 We(e,t,n){let r=[],i=new Set;for(let a of t){let t=await e.requestOptional(y.getAgent,{adapterId:a.adapterId,agentId:a.agentId});if(t.handled&&t.data.agent!==null)r.push(a);else{let t=await Ke(e,a,n);r.push(t),i.add(t.agentId)}}return{verifiedAgents:r,recoveredAgentIds:i}}async function Ge(e,t,n){let r=await U(e,t.sessionId),i=n?.pipeline??[];return{messageHistory:(i.length>0?(await H(r.messages,i)).messages:r.messages).map(W),isFirstTurn:!0}}async function Ke(e,t,n){let r=await B(e,t.adapterName).catch(()=>t.adapterId);return await e.request(y.rehydrateAgent,{adapterId:r,agentId:t.agentId,cwd:n.cwd,model:n.model??t.model,...t.adapterSessionId!==void 0&&{adapterSessionId:t.adapterSessionId},...n.resumeAdapterSessionId!==void 0&&{resumeAdapterSessionId:n.resumeAdapterSessionId}}),t.adapterId=r,t}function qe(e,t){return t?.hasNewTransforms===!0||e.forkTransforms!==void 0}function Je(e,t){return e.adapterName!==void 0&&t!==e.adapterName}function G(e){let{session:t,sessionContext:n}=e;return e.adapterSupportsNative?Je(t,e.targetAdapterName)?{kind:`degrade`,reason:`adapter-mismatch`}:t.adapterSessionId?!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`}:qe(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:`no-adapter-session`}:{kind:`degrade`,reason:`adapter-unsupported`}}const Ye=t.postgres,K=D({turns:n},{turns:Ye});async function Xe(e,t){let n=k(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 Ze(e){if(e)try{let t=JSON.parse(e),n=E.safeParse(t);return n.success?n.data:void 0}catch{return}}function q(e){return e?JSON.stringify(e):null}function Qe(e){if(e)try{let t=JSON.parse(e),n=ee.safeParse(t);return n.success?n.data:void 0}catch{return}}function J(e){let t=Qe(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:Ze(e.usage),...t!==void 0&&{initiator:t}}}function $e(e,t){let n=[et(e,t),tt(e,t),nt(e,t),rt(e,t),it(e,t),at(e,t),ot(e,t),st(e,t)];return()=>n.forEach(e=>e())}function et(e,t){let n=O(t),{turns:r}=A(t,K);return e.on(o.create,async e=>{let{sessionId:i,turnId:a,initiator:o}=e.payload,s=Date.now(),c=a??crypto.randomUUID(),l=q(o);await Xe(n,()=>I`
3
- WITH next_num AS (
4
- SELECT COALESCE(MAX(turn_number), 0) + 1 AS n
5
- FROM turns
6
- WHERE session_id = ${i}
7
- )
8
- INSERT INTO turns (turn_id, session_id, turn_number, started_at, status, initiator)
9
- SELECT ${c}, ${i}, n, ${s}, ${`active`}, ${l}
10
- FROM next_num
11
- `);let[u]=await t.select({turnNumber:r.turnNumber}).from(r).where(P(r.turnId,c)),d={turnId:c,sessionId:i,turnNumber:u.turnNumber,startedAt:s,status:`active`,...o!==void 0&&{initiator:o}};e.setResult({turn:d})})}function tt(e,t){let n=O(t),{turns:r}=A(t,K);return e.on(o.ingestCompleted,async e=>{let{sessionId:i,turnAnchorId:a,startedAt:o,completedAt:s,status:c,error:l,usage:u,initiator:d}=e.payload,f=crypto.randomUUID(),p=q(d),m=u===void 0?null:JSON.stringify(u);await Xe(n,()=>I`
12
- WITH next_num AS (
13
- SELECT COALESCE(MAX(turn_number), 0) + 1 AS n
14
- FROM turns
15
- WHERE session_id = ${i}
16
- )
17
- INSERT INTO turns (turn_id, session_id, turn_number, started_at, completed_at, status, error, usage, initiator, turn_anchor_id)
18
- SELECT ${f}, ${i}, n, ${o}, ${s}, ${c}, ${l??null}, ${m}, ${p}, ${a}
19
- FROM next_num
20
- WHERE true
21
- ON CONFLICT(session_id, turn_anchor_id) DO UPDATE SET
22
- completed_at = excluded.completed_at,
23
- status = excluded.status,
24
- error = excluded.error,
25
- usage = excluded.usage
26
- `);let[h]=await t.select().from(r).where(j(P(r.sessionId,i),P(r.turnAnchorId,a))).limit(1);e.setResult({turn:J(h),created:h.turnId===f})})}function nt(e,t){let{turns:n}=A(t,K);return e.on(o.complete,async e=>{let{turnId:r,status:i,expectedStatus:a,error:o,usage:s}=e.payload,c=Date.now(),l=a?j(P(n.turnId,r),P(n.status,a),I`${n.status} not in ('completed', 'error')`):j(P(n.turnId,r),I`${n.status} not in ('completed', 'error')`),u={completedAt:c,status:i,error:o??null,...s!==void 0&&{usage:s===null?null:JSON.stringify(s)}},[d]=await t.update(n).set(u).where(l).returning();if(d){e.setResult({turn:J(d),transitioned:!0});return}let[f]=await t.select().from(n).where(P(n.turnId,r)).limit(1);if(!f)throw Error(`Turn not found: ${r}`);if(a){e.setResult({turn:J(f),transitioned:!1});return}if(!(f.status===`completed`||f.status===`error`)||s===void 0){e.setResult({turn:J(f),transitioned:!1});return}let[p]=await t.update(n).set({usage:s===null?null:JSON.stringify(s)}).where(j(P(n.turnId,r),I`${n.status} in ('completed', 'error')`)).returning();e.setResult({turn:J(p??f),transitioned:!1})})}function rt(e,t){let{turns:n}=A(t,K);return e.on(o.set,async e=>{let{turn:r}=e.payload,i={turnId:r.turnId,sessionId:r.sessionId,turnNumber:r.turnNumber,startedAt:r.startedAt,completedAt:r.completedAt??null,status:r.status,error:r.error??null,usage:r.usage?JSON.stringify(r.usage):null,initiator:q(r.initiator)};await t.insert(n).values(i).onConflictDoUpdate({target:n.turnId,set:i}),e.setResult({turn:r})})}function it(e,t){let{turns:n}=A(t,K);return e.on(o.get,async e=>{let{turnId:r}=e.payload,[i]=await t.select().from(n).where(P(n.turnId,r)).limit(1);e.setResult({turn:i?J(i):null})})}function at(e,t){let{turns:n}=A(t,K);return e.on(o.getBySession,async e=>{let{sessionId:r,limit:i,status:a}=e.payload,o=t.select().from(n).where(P(n.sessionId,r)).orderBy(M(n.turnNumber));a&&(o=t.select().from(n).where(j(P(n.sessionId,r),P(n.status,a))).orderBy(M(n.turnNumber))),i&&(o=o.limit(i));let s=await o;e.setResult({turns:s.map(J)})})}function ot(e,t){let{turns:n}=A(t,K);return e.on(o.getActive,async e=>{let{sessionId:r}=e.payload,[i]=await t.select().from(n).where(j(P(n.sessionId,r),P(n.status,`active`))).orderBy(N(n.turnNumber)).limit(1);e.setResult({turn:i?J(i):null})})}function st(e,t){let{turns:n}=A(t,K);return e.on(o.listActive,async e=>{let r=await t.select().from(n).where(P(n.status,`active`)).orderBy(M(n.startedAt));e.setResult({turns:r.map(J)})})}function ct(e){let t=new Map,n=new Map,r=new Map,i=lt(t,n,r),a=new Map,o=[ut(e,i,r),dt(e,t,i,r,a),ft(e,t,i),pt(e,i),mt(e,t),ht(e,t,n),gt(e,t,n),_t(e,t)];return()=>o.forEach(e=>e())}function lt(e,t,n){return r=>{e.set(r.turnId,r);let i=t.get(r.sessionId)??[];i.includes(r.turnId)||i.push(r.turnId),t.set(r.sessionId,i);let a=n.get(r.sessionId)??0;r.turnNumber>a&&n.set(r.sessionId,r.turnNumber)}}function ut(e,t,n){return e.on(o.create,e=>{let{sessionId:r,turnId:i,initiator:a}=e.payload,o=Date.now(),s={turnId:i??crypto.randomUUID(),sessionId:r,turnNumber:(n.get(r)??0)+1,startedAt:o,status:`active`,...a!==void 0&&{initiator:a}};t(s),e.setResult({turn:s})})}function dt(e,t,n,r,i){return e.on(o.ingestCompleted,e=>{let{sessionId:a,turnAnchorId:o,startedAt:s,completedAt:c,status:l,error:u,usage:d,initiator:f}=e.payload,p=i.get(a)??new Map,m=p.get(o);if(m!==void 0){let r=t.get(m);if(!r)throw Error(`Turn not found for anchor in session: ${a}`);let i={...r,completedAt:c,status:l,error:u??void 0,usage:d??void 0};n(i),e.setResult({turn:i,created:!1});return}let h={turnId:crypto.randomUUID(),sessionId:a,turnNumber:(r.get(a)??0)+1,startedAt:s,completedAt:c,status:l,error:u??void 0,usage:d??void 0,...f!==void 0&&{initiator:f}};n(h),p.set(o,h.turnId),i.set(a,p),e.setResult({turn:h,created:!0})})}function ft(e,t,n){return e.on(o.complete,e=>{let{turnId:r,status:i,expectedStatus:a,error:o,usage:s}=e.payload,c=t.get(r);if(!c)throw Error(`Turn not found: ${r}`);if(a&&c.status!==a){e.setResult({turn:c,transitioned:!1});return}let l=c.status===`completed`||c.status===`error`,u=s===null?void 0:s??c.usage,d=l?{...c,usage:u}:{...c,completedAt:Date.now(),status:i,error:o??void 0,usage:u};n(d),e.setResult({turn:d,transitioned:!l})})}function pt(e,t){return e.on(o.set,e=>{let{turn:n}=e.payload;t(n),e.setResult({turn:n})})}function mt(e,t){return e.on(o.get,e=>{e.setResult({turn:t.get(e.payload.turnId)??null})})}function ht(e,t,n){return e.on(o.getBySession,e=>{let{sessionId:r,status:i,limit:a}=e.payload,o=(n.get(r)??[]).map(e=>t.get(e)).filter(e=>!!e);i&&(o=o.filter(e=>e.status===i)),o.sort((e,t)=>e.turnNumber-t.turnNumber),a&&(o=o.slice(0,a)),e.setResult({turns:o})})}function gt(e,t,n){return e.on(o.getActive,e=>{let{sessionId:r}=e.payload,i=(n.get(r)??[]).map(e=>t.get(e)).filter(e=>!!e).filter(e=>e.status===`active`).sort((e,t)=>t.turnNumber-e.turnNumber).at(0);e.setResult({turn:i??null})})}function _t(e,t){return e.on(o.listActive,e=>{let n=[...t.values()].filter(e=>e.status===`active`).sort((e,t)=>e.startedAt-t.startedAt);e.setResult({turns:n})})}function Y(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}async function vt(e,t,n,r){let{adapterName:i}=await e.request(f.resolveName,{adapterId:t});if(n&&i!==n)throw Error(`${r}adapterName "${n}" does not match adapterId "${t}"`);return i}function X(e){return typeof e==`string`?e:(Array.isArray(e.blocks)?e.blocks:[e.blocks]).filter(e=>e.type===`text`).map(e=>e.content).join(`
27
- `)}function yt(e){return e}function bt(e){return typeof e==`string`?[{type:`text`,content:e}]:(Array.isArray(e.blocks)?e.blocks:[e.blocks]).map(yt)}async function xt(e,t,n,r,i){let{session:a}=await e.request(T.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(T.create,{sessionId:t,originWindowId:r,...i!==void 0&&{machineId:i}});let{session:o}=await e.request(T.get,{sessionId:t});if(!o)throw Error(`[getOrCreateSession] Failed to create session: ${t}`);return{sessionId:t,session:o}}function St(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 Ct(e,t){for(let n of e.values())if(n.hasAgent(t))return n}function wt(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 Tt(e,t,n,r,i){let a=i?.state===`resolved`?i.providerConfigId:void 0;if(a!==void 0&&n!==void 0&&n!==a)throw Error(`[attach-handler] providerConfigId '${n}' does not match resolved provider context '${a}'`);let o=n??a??r?.providerConfigId;if(i!==void 0){if(i.state!==`resolved`&&o!==void 0)throw new u(`provider-context-unresolved`,t,o);return{providerConfigId:o,providerContext:i}}return{providerConfigId:o,providerContext:o===void 0?void 0:await d(e,{adapterName:t,providerConfigId:o})}}function Et(e){if(e instanceof ie)return e;if(e instanceof Error&&e.cause instanceof ie)return e.cause}async function Dt(e,t){try{await e.emit(T.user_message.acknowledged,t)}catch(e){console.error(`[SessionRouting] Failed to emit user-message acknowledgement:`,e)}}async function Ot(e,t,n,r){await e.emit(T.turn.assistantPersistenceSettled,{sessionId:t.sessionId,turnId:t.turnId,messageId:n,agentId:r})}async function Z(e){let{bus:t,turn:n,messageId:r,agentId:i,outcome:a,error:o,onTurnComplete:s,turnManager:c}=e;try{await Ot(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 kt(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(S.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 Dt(e,{sessionId:a.sessionId,turnId:a.turnId,turnNumber:a.turnNumber,messageId:i,agentId:n.agentId}),{agentId:n.agentId,kind:`dispatched`}}catch(t){if(Et(t)!==void 0)return await Z({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 Z({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 At(e,t,n){try{let{session:t}=await e.request(T.get,{sessionId:n});if(!t||t.status!==`active`)throw Error(`[attach-handler] Session is no longer active after agent startup: ${n}`)}catch(r){throw await Q(e,t,n,`session closed during agent startup`),r}}async function jt(e,t,n,r,i,a,o,s,c){try{return await Nt(e,t,n,i,a,o,s,c)}catch(t){throw console.error(`[attach-handler] Failed to set up initial-message turn, rolling back started agent`,{sessionId:i,agentId:a,adapterId:r.adapterId,error:t}),await Q(e,r,i,`initial-message turn setup failure`),t}}async function Mt(e,t,n,r,i,a,o,s,c,l){try{l?.()}catch(t){throw await Q(e,r,i.sessionId,`initial-message admission rejection`),t}let u=await jt(e,t,n,r,i.sessionId,r.agentId,crypto.randomUUID(),a,s),d;try{d=await kt(e,i,[{agentId:r.agentId,adapterId:r.adapterId}],a,u.messageId,u.turn,void 0,t.completeTurn.bind(t),t,c,o,l)}catch(n){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 await Q(e,r,i.sessionId,`initial-message routing failure`),n}let f=d[0];if(!f||f.kind===`dispatched`)return{messageId:u.messageId,turnId:u.turn.turnId};throw await Q(e,r,i.sessionId,`initial-message routing failure`),f.error}async function Q(e,t,n,r){try{await e.request(y.stopAgent,{adapterId:t.adapterId,agentId:t.agentId})}catch(e){console.error(`[attach-handler] Failed to rollback started agent after ${r}`,{sessionId:n,agentId:t.agentId,adapterId:t.adapterId,error:e})}}async function Nt(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(m.append,{message:{messageId:a,turnId:c.turnId,sessionId:r,role:`user`,contentText:X(o),blocks:bt(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 Pt(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 Pt(e,t,n,r,i,a){await Ee(e,{sessionId:t,turnId:n.turnId,turnNumber:n.turnNumber,messageId:r,agentIds:[...n.agentIds],initiator:n.initiator,ingestionMarker:`live`}),await De(e,{sessionId:t,turnId:n.turnId,turnNumber:n.turnNumber,messageId:r,content:i,agentIds:[...n.agentIds],source:a})}async function Ft(e,t){return!t.personaId&&!t.profileId&&!t.harnessId&&!t.providerConfigId?!1:(await e.request(z.set,{agentId:t.agentId,agent:{agentId:t.agentId,adapterId:t.adapterId,adapterName:t.adapterName,sessionId:t.sessionId,role:t.role,status:`idle`,personaId:t.personaId,profileId:t.profileId,harnessId:t.harnessId,providerConfigId:t.providerConfigId,createdAt:t.timestamp,lastActivityAt:t.timestamp,...t.model!==void 0&&{model:t.model},...t.cwd!==void 0&&{cwd:t.cwd},...t.compressionMode!==void 0&&{compressionMode:t.compressionMode}}}),!0)}async function It(e,t,n){try{return await Ft(e,{...n,...t})}catch(r){throw console.error(`[attach-handler] Failed to persist agent identity, rolling back started agent`,{sessionId:n.sessionId,agentId:t.agentId,adapterId:t.adapterId,error:r}),await Q(e,t,n.sessionId,`identity persistence failure`),r}}async function Lt(e,t,n){try{let{success:r}=await e.request(z.delete,{agentId:t});if(!r)throw Error(`Persisted agent identity was not deleted: ${t}`);return n}catch(e){return AggregateError([n,e],`Failed to rollback agent identity after attach failure: ${t}`)}}function Rt(e){return{...e.model!==void 0&&{model:e.model},...e.reasoningEffort!==void 0&&{reasoningEffort:e.reasoningEffort},...e.cwd!==void 0&&{cwd:e.cwd},...e.allowedTools!==void 0&&{allowedTools:e.allowedTools},...e.disallowedTools!==void 0&&{disallowedTools:e.disallowedTools},...e.allowedDirectories!==void 0&&{allowedDirectories:e.allowedDirectories},...e.env!==void 0&&{env:e.env},...e.mcpSessionContext!==void 0&&{mcpSessionContext:e.mcpSessionContext},...e.adapterConfig!==void 0&&{adapterConfig:e.adapterConfig},...e.systemPrompt!==void 0&&{systemPrompt:e.systemPrompt}}}function zt(e,t,n){let r=e.model??t?.model,i=e.cwd;return{runtimeOptions:Vt({model:r,reasoningEffort:e.reasoningEffort??t?.reasoningEffort,cwd:i,allowedTools:e.allowedTools??t?.allowedTools,disallowedTools:e.disallowedTools??t?.disallowedTools,allowedDirectories:e.allowedDirectories??t?.allowedDirectories,env:e.env,mcpSessionContext:e.mcpSessionContext,adapterConfig:e.adapterConfig,systemPrompt:e.systemPrompt??t?.systemPrompt,providerContext:n}),mergedModel:r,mergedCwd:i}}function Bt(e,t,n){let r=e??t;return{effectiveCwd:r,effectiveRuntimeOptions:r!==void 0&&n.cwd===void 0?{...n,cwd:r}:n}}function Vt(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}function Ht(e,t,n,r,i,a,o){return i?{mode:`resume`,adapterId:e,sessionId:t,adapterSessionId:i,role:n,...r,...a!==void 0&&{harnessId:a}}:{adapterId:e,sessionId:t,role:n,...r,...a!==void 0&&{harnessId:a},...o!==void 0&&{sessionContext:o}}}async function Ut(e,t){let{adapterId:n,sessionId:r,role:i,effectiveRuntimeOptions:a,resumeAdapterSessionId:o,harnessId:s,attachSessionContext:c}=t,l=Ht(n,r,i,a,o,s,c),u=await e.request(y.startAgent,l);if(!u.success)throw Error(`[attach-handler] Failed to start agent: ${u.message}`);return u}async function Wt(e,t,n){let r=await U(e,t);if(r.messages.length===0)return n;let i=r.messages.map(W);return{...n,messageHistory:i,isFirstTurn:!0}}var Gt=class{closeClaims=new Map;registerCloseMiddleware(e){return e.on(T.close,async e=>{let t=this.beginClose(e.payload.sessionId);try{await e.next()}finally{t()}},{priority:1e4})}assertAttachCommitAllowed(e){if((this.closeClaims.get(e)??0)>0)throw Error(`[attach-handler] Session close won before agent attach committed: ${e}`)}beginClose(e){this.closeClaims.set(e,(this.closeClaims.get(e)??0)+1);let t=!1;return()=>{if(t)return;t=!0;let n=(this.closeClaims.get(e)??1)-1;n===0?this.closeClaims.delete(e):this.closeClaims.set(e,n)}}};function Kt(e,t,n){let r=new Gt,i=e.on(T.agent.attach,async i=>{i.setResult(await Zt(e,t,n,{...i.payload,assertAttachCommitAllowed:()=>r.assertAttachCommitAllowed(i.payload.sessionId)}))}),a=e.on(T.agent.attachResolved,async i=>{if(!i.origin.local)throw Error(`[attach-handler] session.agent.attachResolved requires a local-origin request`);let a=i.payload.assertInitialMessageAdmission;if(a!==void 0&&typeof a!=`function`)throw Error(`[attach-handler] assertInitialMessageAdmission must be a function`);i.setResult(await Zt(e,t,n,{...i.payload,assertAttachCommitAllowed:()=>r.assertAttachCommitAllowed(i.payload.sessionId),assertInitialMessageAdmission:a,resolvedProviderContext:i.payload.agent.providerContext===void 0?void 0:w.parse(i.payload.agent.providerContext)}))}),o=r.registerCloseMiddleware(e);return()=>{i(),a(),o()}}async function qt(e,t){try{let n=await e();return n.handled?t(n.data):!1}catch{return!1}}async function Jt(e,t){return qt(()=>e.requestOptional(y.getCapabilities,{adapterId:t}),e=>new Set(e.capabilities).has(`session:resume`))}async function Yt(e,t,n){return qt(()=>e.requestOptional(y.listAgents,{adapterId:t}),e=>e.agents.some(e=>e.adapterSessionId===n))}async function Xt(e){let{bus:t,adapterId:n,adapterName:r,session:i,machineId:a,effectiveCwd:o}=e,s=G({intent:`resume`,session:i,localMachineId:a,adapterSupportsNative:await Jt(t,n),targetAdapterName:r,currentCwd:i.targetWorkingDirectory,targetCwd:o});if(s.kind===`native`&&i.adapterSessionId!==void 0&&await Yt(t,n,i.adapterSessionId)){let e={kind:`degrade`,reason:`agent-already-started`};return R(t,{sessionId:i.sessionId,intent:`resume`,verdict:e,adapterId:n}),{resumeAdapterSessionId:void 0,attachSessionContext:{nativeLocality:e}}}return s.kind!==`native`&&R(t,{sessionId:i.sessionId,intent:`resume`,verdict:s,adapterId:n}),{resumeAdapterSessionId:s.kind===`native`?i.adapterSessionId:void 0,attachSessionContext:s.kind===`native`?void 0:{nativeLocality:s}}}async function Zt(e,t,n,r){let{sessionId:i,agent:a,initialMessage:o,responseSchema:s,source:c,extensionId:l,assertAttachCommitAllowed:u,assertInitialMessageAdmission:d,role:f,resolvedProviderContext:p}=r,m=Rt(a),h=await rn(e,i),g=await nn(e,i,o,a),_=en(a,g),{adapterName:v,adapterId:y}=await tn(e,_.adapterName,_.adapterId,n),{providerConfigId:b,providerContext:x}=await Tt(e,v,a.providerConfigId,g,p),{runtimeOptions:S,mergedModel:C,mergedCwd:w}=zt(m,g,x),{effectiveCwd:T,effectiveRuntimeOptions:ee}=Bt(w,h.targetWorkingDirectory,S),E=an(h,f),D=await Xt({bus:e,adapterId:y,adapterName:v,session:h,machineId:n,effectiveCwd:T}),{resumeAdapterSessionId:O}=D,k=D.attachSessionContext?await Wt(e,i,D.attachSessionContext):void 0;return Qt(e,t,{launch:{adapterId:y,sessionId:i,role:E,effectiveRuntimeOptions:ee,resumeAdapterSessionId:O,harnessId:r.harnessId??g?.harnessId,attachSessionContext:k},identity:{adapterName:v,sessionId:i,role:E,timestamp:Date.now(),personaId:$t(a),profileId:g?.profileId,harnessId:r.harnessId??g?.harnessId,providerConfigId:b,compressionMode:g?.compressionMode,model:C,cwd:T},session:h,initialMessage:o,responseSchema:s,initiator:wt(c,l),sessionContext:k,assertAttachCommitAllowed:()=>u?.(),assertInitialMessageAdmission:d})}async function Qt(e,t,n){let r;try{r=n.initialMessage===void 0?void 0:await t.reserveTurn(n.session.sessionId)}catch(e){throw new h(`initial_message`,e)}try{let i=!1,a;try{a=await Ut(e,n.launch),await At(e,a,n.session.sessionId),i=await It(e,a,n.identity)}catch(e){throw new h(`agent_attach`,e)}let o;if(r===void 0||n.initialMessage===void 0)try{n.assertAttachCommitAllowed()}catch(t){let r=i?await Lt(e,a.agentId,t):t;throw await Q(e,a,n.session.sessionId,`session close won attach commit`),new h(`agent_attach`,r)}else o=await Mt(e,t,r,a,n.session,n.initialMessage,n.responseSchema,n.initiator,n.sessionContext,()=>{n.assertAttachCommitAllowed(),n.assertInitialMessageAdmission?.()}).catch(async t=>{throw new h(`initial_message`,i?await Lt(e,a.agentId,t):t)});return{agentId:a.agentId,adapterSessionId:a.adapterSessionId,role:n.identity.role,...o&&{messageId:o.messageId,turnId:o.turnId}}}finally{r!==void 0&&t.releaseTurnReservation(r)}}function $t(e){return e.kind===`persona`?e.personaId:void 0}function en(e,t){return{adapterName:e.kind===`adapter`&&`adapterName`in e?e.adapterName:t?.adapterName,adapterId:e.kind===`adapter`&&`adapterId`in e?e.adapterId:void 0}}async function tn(e,t,n,r){let i=Y(t),a=Y(n);if(!i&&!a)throw Error(`[attach-handler] adapterName or adapterId is required — provide one explicitly or via persona/profile/virtualModel resolution`);if(a)return{adapterName:await vt(e,a,i,`[attach-handler] `),adapterId:a};let o=i;return{adapterName:o,adapterId:await B(e,o,r)}}async function nn(e,t,n,r){if(r.kind===`adapter`)return null;let i=n?X(n):void 0;return e.request(b.resolve,{selection:r,context:{sessionId:t,promptText:i}})}async function rn(e,t){let{session:n}=await e.request(T.get,{sessionId:t});if(!n)throw Error(`[attach-handler] Session not found: ${t}`);if(n.status!==`active`)throw Error(`[attach-handler] Session is not active: ${t}`);return n}function an(e,t){let n=e.agents.length===0;return t??(n?`lead`:`member`)}function on(e){return e.on(T.abandon,async t=>{let{parentSessionId:n,childSessionId:r}=t.payload,{session:i}=await e.request(T.get,{sessionId:r});if(!i)throw Error(`[abandon-handler] Child session not found: ${r}`);if(i.parentSessionId!==n)throw Error(`[abandon-handler] Invalid parent-child relationship: session ${r} is not a child of ${n}`+(i.parentSessionId?` (actual parent: ${i.parentSessionId})`:` (session has no parent)`));if(!(await e.request(T.close,{sessionId:r})).success)throw Error(`[abandon-handler] Failed to close child session: ${r}`);await e.emit(T.abandoned,{sessionId:r,parentSessionId:n}),t.setResult({success:!0})})}const sn={id:`messages-to-context`,label:`Export as Context`,description:`Convert messages to context JSON (final step)`,category:`extraction`,async execute(e){let t=e.map(e=>({role:e.role,content:e.blocks.map(e=>e.type===`text`?e.content:e.type===`reasoning`?`[reasoning: ${e.content}]`:e.type===`tool_call`?`[tool: ${e.name}]`:e.type===`tool_output`?e.output:``).filter(Boolean).join(`
28
- `)})),n=t.reduce((e,t)=>e+t.content.length,0),r=Math.ceil(n/4);return{kind:`context`,json:{type:`compressed-messages`,messageCount:e.length,messages:t},tokenEstimate:r}}},cn={id:`llm-summarize`,label:`Summarize`,description:`LLM-generated summary of selected messages`,category:`transformation`,async execute(e){return{kind:`messages`,messages:e}}};function ln(e){let t=[];for(let n of e){let e=n.blocks.filter(e=>e.type===`text`).map(e=>e.content).join(`
29
- `);e&&(n.role===`user`?t.push(`[human]\n${e}\n[/human]`):n.role===`assistant`&&t.push(`[assistant]\n${e}\n[/assistant]`))}return`<conversation>\n${t.join(`
30
-
31
- `)}\n</conversation>`}function un(e){return{id:`llm-extract`,label:`LLM Extract`,description:`Extract structured context using a cheap LLM model (requires virtualModelId in options)`,category:`extraction`,async execute(t,n){let r={kind:`messages`,messages:t},i=n?.virtualModelId;if(typeof i!=`string`)return r;let a=(typeof n?.sessionId==`string`&&n.sessionId.length>0?n.sessionId:void 0)??t[0]?.sessionId;if(typeof a!=`string`||a.length===0)return r;try{let n=await e.request(b.resolve,{selection:{kind:`virtual-model`,virtualModelId:i},context:{sessionId:a}}),{adapterId:r}=await e.request(ae.resolveId,{adapterName:n.adapterName}),o=ln(t),s=n.providerConfigId?await oe(e,{adapterName:n.adapterName,providerConfigId:n.providerConfigId}):void 0,{text:c}=await e.request(y.infer,{adapterId:r,prompt:o,model:n.model,systemPrompt:`You are a context extraction assistant. Analyze the following conversation and extract structured information. Respond with ONLY valid JSON matching this exact schema — no markdown, no explanation, no code fences:
32
-
33
- {
34
- "resolved_items": ["string — completed work with resolution details"],
35
- "known_bugs": [{ "issue": "string", "location": "string", "impact": "string" }],
36
- "todos": [{ "issue": "string", "location": "string", "priority": "high|medium|low" }],
37
- "key_decisions_and_rationale": ["string — decision with reasoning"],
38
- "technical_details": {
39
- "files": ["string — file paths mentioned"],
40
- "schemas": {},
41
- "apis": ["string — API endpoints or contracts"],
42
- "config": {}
43
- },
44
- "constraints_and_requirements": ["string — constraints or non-negotiable requirements"],
45
- "current_state": "string — one paragraph summary of where work stands now",
46
- "roadmap": ["string — future work items in priority order"],
47
- "data_flows": ["string — key data movement patterns"],
48
- "component_interactions": { "ComponentName": "string — description of its role" },
49
- "key_files": { "filepath": "string — what this file does" },
50
- "helpful_hint": ["string — quick reference hints for resuming work"]
51
- }
52
-
53
- Rules:
54
- - Omit array items you have no evidence for (prefer empty array over fabrication).
55
- - current_state MUST be present; write "No summary available" if you cannot determine it.
56
- - Extract only facts stated or clearly implied in the conversation. Do not invent.
57
- - key_files and component_interactions should only include items explicitly mentioned.`,...s!==void 0&&{providerContext:s}}),l=c.trim().replace(/^```(?:json)?\s*/i,``).replace(/\s*```$/i,``).trim(),u=JSON.parse(l),d=g.parse(u),f=Math.ceil(JSON.stringify(d).length/4);return{kind:`context`,json:{...d},tokenEstimate:f}}catch(e){return console.warn(`[llm-extract] action failed`,{action:`llm-extract`,sessionId:a,error:e}),r}}}}let dn=!1,fn=!1;function pn(e){dn||(dn=!0,V.register(Fe),V.register(Le),V.register(sn),V.register(cn)),e&&!fn&&(fn=!0,V.register(un(e)))}function mn(){dn=!1,fn=!1}function hn(e){return pn(e),e.on(T.compress,async t=>{let{sessionId:n,pipeline:r}=t.payload,{messages:a}=await e.request(m.getBySession,{sessionId:n,limit:1e4}),o=await H(a,r,{sessionId:n});if(!o.contextJson)throw Error(`[compress-handler] Compress pipeline must produce context JSON (sessionId=${n})`);let s=a.map(e=>e.messageId),c=Math.ceil(a.reduce((e,t)=>e+JSON.stringify(t.blocks).length/4,0)),l=crypto.randomUUID();await e.request(i.append,{event:{sessionId:n,eventId:l,timestamp:Date.now(),type:`squash`,payload:{summaryJson:JSON.stringify(o.contextJson),tokensBefore:c,tokensAfter:o.tokenEstimate,compressedMessageIds:s}}}),await e.emit(T.compressed,{sessionId:n,eventId:l}),t.setResult({eventId:l,contextJson:o.contextJson,tokensBefore:c,tokensAfter:o.tokenEstimate})})}async function gn(e,t,n,r){if(!n.segments?.length)return!1;let i=[],a;do{let{messages:n,nextCursor:o}=await e.request(m.getBySession,{sessionId:t,order:`asc`,limit:200,after:a});i.push(...n),a=r&&n.some(e=>e.messageId===r)?void 0:o??void 0}while(a);if(i.length===0)throw Error(`[fork-handler] Segment transforms require at least one source message (sourceSessionId=${t})`);let o=i;if(r){let e=i.findIndex(e=>e.messageId===r);if(e===-1)throw Error(`[fork-handler] Fork point message not found in source message list: ${r} (sourceSessionId=${t})`);o=i.slice(0,e+1)}let s=new Map;o.forEach((e,t)=>{s.set(e.messageId,t)});let c=-1;for(let e of n.segments){if(!e.fromMessageId||!e.toMessageId)throw Error(`[fork-handler] Segment must have fromMessageId and toMessageId (sourceSessionId=${t})`);let n=s.get(e.fromMessageId),r=s.get(e.toMessageId);if(n===void 0||r===void 0)throw Error(`[fork-handler] Segment boundaries must reference source messages: ${e.fromMessageId}..${e.toMessageId} (sourceSessionId=${t})`);if(n>r)throw Error(`[fork-handler] Segment range is reversed: ${e.fromMessageId}..${e.toMessageId} (sourceSessionId=${t})`);if(n<=c)throw Error(`[fork-handler] Segments must not overlap and must be ordered (sourceSessionId=${t})`);if(n!==c+1)throw Error(`[fork-handler] Segments must be contiguous without gaps (sourceSessionId=${t})`);c=r}if(c!==o.length-1)throw Error(`[fork-handler] Segments must cover the entire source message range (sourceSessionId=${t})`);return!0}function _n(e){if(!e.segments?.length&&e.appliedPipeline?.length)for(let t of e.appliedPipeline){let e=V.get(t.actionId);if(!e)throw Error(`[fork-handler] Unknown action in pipeline: ${t.actionId}`);if(e.category!==`transformation`)throw Error(`[fork-handler] Action '${t.actionId}' is category '${e.category}', but only 'transformation' actions are allowed in fork transforms`)}}function vn(e,t){return e.on(T.fork,async n=>{let{sourceSessionId:r,fromMessageId:i,name:a,branchKind:o=`fork`,transforms:s,targetWorkingDirectory:c,metadata:l,existingSessionId:u}=n.payload,{session:d}=await e.request(T.get,{sessionId:r});if(!d)throw Error(`[fork-handler] Source session not found: ${r}`);if(i){let{message:t}=await e.request(m.get,{messageId:i});if(!t)throw Error(`[fork-handler] Fork point message not found: ${i} (sourceSessionId=${r})`);if(t.sessionId!==r)throw Error(`[fork-handler] Fork point message ${i} does not belong to session ${r}`)}s&&(await gn(e,r,s,i)||_n(s));let{sessionId:f}=await e.request(T.create,{...u?{sessionId:u}:{},parentSessionId:r,forkPointMessageId:i,branchKind:o,forkTransforms:s,...t!==void 0&&{machineId:t},...a?{title:a}:{},...c?{targetWorkingDirectory:c}:{},...l?{metadata:l}:{}});await e.emit(T.branch.created,{sessionId:r,childSessionId:f,parentSessionId:r,kind:o,forkPointMessageId:i,transforms:s}),await e.emit(T.forked,{parentSessionId:r,childSessionId:f,forkPoint:i}),n.setResult({sessionId:f})})}function yn(e){return e.on(T.merge,async t=>{let{parentSessionId:n,childSessionId:r,summary:a}=t.payload,o=`merge:${n}:${r}`,{session:s}=await e.request(T.get,{sessionId:n});if(!s)throw Error(`[merge-handler] Parent session not found: ${n}`);if(s.status!==`active`)throw Error(`[merge-handler] Parent session is not active: ${n}`);let{session:c}=await e.request(T.get,{sessionId:r});if(!c)throw Error(`[merge-handler] Child session not found: ${r}`);if(c.parentSessionId!==n)throw Error(`[merge-handler] Invalid parent-child relationship: session ${r} is not a child of ${n}`+(c.parentSessionId?` (actual parent: ${c.parentSessionId})`:` (session has no parent)`));await e.emit(T.merging,{parentSessionId:n,childSessionId:r});let l=a??`Child session ${r} merged.`;if(!(await e.request(T.close,{sessionId:r})).success)throw Error(`[merge-handler] Failed to close child session: ${r}`);let u=JSON.stringify({handoff:l});await e.request(i.append,{event:{sessionId:n,eventId:o,timestamp:Date.now(),type:`branch.merged`,payload:{childSessionId:r,parentSessionId:n,resultJson:u}}}),await e.emit(T.branch.merged,{sessionId:n,childSessionId:r,parentSessionId:n,resultJson:u}),await e.emit(T.merged,{parentSessionId:n,childSessionId:r,handoff:l}),t.setResult({success:!0,handoff:l})})}const $={enabled:!0,template:`User changed working directory from {oldCwd} to {newCwd}`};function bn(e,t,n){return e.replace(/\{oldCwd\}/g,t).replace(/\{newCwd\}/g,n)}function xn(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.enabled==`boolean`&&typeof t.template==`string`}async function Sn(e){try{let t=await e.request(_.get,{key:{scope:`global`,surface:`ui`,context:`cwdChangeNotification`},category:`chat-display`});if(t.value!==null&&t.value!==void 0)return xn(t.value)?t.value:$}catch{}return $}function Cn(e,t){return e??t.adapterName??``}async function wn(e,t,n,r,i){R(e,{sessionId:t,intent:`fork`,verdict:i});let a=(await U(e,t)).messages.map(W);return{...n,messageHistory:a,isFirstTurn:!0,hasNewTransforms:r.forkTransforms!==void 0,nativeLocality:i}}async function Tn(e,t){let{message:n}=await e.request(m.get,{messageId:t});return n?.adapterMessageId??void 0}async function En(e,t,n,r,i,a,c,l,u){if(!(t.parentSessionId!==void 0&&(t.contextInheritance===`parent-history`||t.contextInheritance===void 0&&t.branchKind!==`subagent`))||r?.messageHistory)return r;let{turns:d}=await e.request(o.getBySession,{sessionId:n,limit:2});if(!(i&&d.length<=1))return r;let f=t.parentSessionId;if(f===void 0)return r;let{session:p}=await e.request(s.get,{sessionId:f});if(p===null)return r;let m=l??t.targetWorkingDirectory,h=G({intent:`fork`,session:{...p,forkPointMessageId:t.forkPointMessageId,forkTransforms:t.forkTransforms},localMachineId:a,adapterSupportsNative:c?.adapterSupportsNativeFork===!0,targetAdapterName:Cn(u,p),currentCwd:p.targetWorkingDirectory,targetCwd:m,sessionContext:r,midHistoryForkSupported:c?.midHistoryForkSupported===!0}),g=p.adapterSessionId;if(h.kind===`native`&&g!==void 0){if(t.forkPointMessageId!==void 0){let i=await Tn(e,t.forkPointMessageId);if(i===void 0)return wn(e,n,r,t,{kind:`degrade`,reason:`fork-point-unresolvable`});let a={sourceSessionId:f,sourceAdapterSessionId:g,forkPointMessageId:i,...t.targetWorkingDirectory!==void 0&&{targetWorkingDirectory:t.targetWorkingDirectory}};return{...r,nativeLocality:h,nativeFork:a,isFirstTurn:!0}}let i={sourceSessionId:f,sourceAdapterSessionId:g,...t.targetWorkingDirectory!==void 0&&{targetWorkingDirectory:t.targetWorkingDirectory}};return{...r,nativeLocality:h,nativeFork:i,isFirstTurn:!0}}return wn(e,n,r,t,h)}async function Dn(e,t,n){if(t.parentSessionId===void 0)return;let r=[...new Set(n.map(e=>e.adapterId))];if(r.length===0)return{adapterSupportsNativeFork:!1,midHistoryForkSupported:!1};let i=await Promise.all(r.map(async t=>{try{let n=await e.requestOptional(y.getCapabilities,{adapterId:t}),r=n.handled?new Set(n.data.capabilities):new Set;return{supportsNativeFork:r.has(`session:fork`),supportsMidHistoryFork:r.has(`session:forkAtMessage`)}}catch{return{supportsNativeFork:!1,supportsMidHistoryFork:!1}}}));return{adapterSupportsNativeFork:i.every(e=>e.supportsNativeFork),midHistoryForkSupported:i.every(e=>e.supportsMidHistoryFork)}}function On(e){let{baseContext:t,recoveryContext:n,isRecovered:r,isSwapped:i,swapMeta:a,cwdMessage:o,freshMessageHistory:s}=e,c=r&&n?{...t,...n}:t;if(!i)return c;let l=a&&o!==void 0?{cwdChange:{previousCwd:a.previousCwd,newCwd:a.newCwd,message:o}}:void 0;return c={...c,hasConnectorSwap:!0,...s!==void 0&&{messageHistory:s},...l&&{turnContext:{...c?.turnContext,...l}}},c}async function kn(e,t){let{agentId:n,adapterId:r,message:i,deliveryMode:a,messageId:o,turnId:s,sessionId:c,sessionContext:l,responseSchema:u,turn:d}=t;await e.request(S.sendMessage,{agentId:n,adapterId:r,message:i,deliveryMode:a,messageId:o,turnId:s,sessionId:c,sessionContext:l,...u!==void 0&&{responseSchema:u}}),await Dt(e,{sessionId:d.sessionId,turnId:d.turnId,turnNumber:d.turnNumber,messageId:o,agentId:n})}async function An(e,t,n){return{messageHistory:(await U(e,t.sessionId)).messages.filter(e=>e.messageId!==n).map(W),isFirstTurn:!0}}async function jn(e,t,n,r){let{agentId:i,adapterId:a,message:o,deliveryMode:s,messageId:c,turnId:l,sessionId:u,responseSchema:d,turn:f}=n;try{await e.request(S.sendMessage,{agentId:i,adapterId:a,message:o,deliveryMode:s,messageId:c,turnId:l,sessionId:u,sessionContext:r,...d!==void 0&&{responseSchema:d}})}catch(n){if(Et(n))throw n;let o={kind:`degrade`,reason:`native-attempt-failed`};R(e,{sessionId:u,intent:r.nativeFork?`fork`:`resume`,verdict:o,agentId:i,adapterId:a,turnId:l});let s=await An(e,t,c);return{...r,...s,nativeLocality:o,nativeFork:void 0}}return await Dt(e,{sessionId:f.sessionId,turnId:f.turnId,turnNumber:f.turnNumber,messageId:c,agentId:i}),null}async function Mn(e){let{bus:t,session:n,turn:r,message:i,messageId:a,deliveryMode:o,onTurnComplete:s,agent:c,responseSchema:l,turnManager:u}=e,{agentContext:d}=e,f={agentId:c.agentId,adapterId:c.adapterId,message:i,deliveryMode:o,messageId:a,turnId:r.turnId,sessionId:n.sessionId,responseSchema:l,turn:r};try{if(d?.nativeLocality?.kind===`native`){let e=await jn(t,n,f,d);if(e===null)return;d=e}await kn(t,{agentId:c.agentId,adapterId:c.adapterId,message:i,deliveryMode:o,messageId:a,turnId:r.turnId,sessionId:n.sessionId,sessionContext:d,responseSchema:l,turn:r})}catch(e){if(Et(e)){await Z({bus:t,turn:r,messageId:a,agentId:c.agentId,outcome:`cancelled`,onTurnComplete:s,turnManager:u});return}let n=e instanceof Error?e.message:String(e);await Z({bus:t,turn:r,messageId:a,agentId:c.agentId,outcome:`error`,error:n,onTurnComplete:s,turnManager:u})}}async function Nn(e,t,n){let r={kind:`degrade`,reason:`agent-already-started`};R(e,{sessionId:t.sessionId,intent:`fork`,verdict:r});let i=(await U(e,t.sessionId)).messages.map(W);return{...n,messageHistory:i,nativeFork:void 0,nativeLocality:r}}async function Pn(e){let{bus:t,session:n,agents:r,message:i,messageId:a,turn:o,deliveryMode:s,onTurnComplete:c,turnManager:l,sessionContext:u,turnContextEnricher:d,isNewTurn:f,recoveryContext:p,recoveredAgentIds:m,swappedAgentIds:h,swappedAgentCwd:g,freshMessageHistory:_,responseSchema:v,localMachineId:y}=e,b=await Dn(t,n,r),x=await En(t,n,n.sessionId,u,f,y,b);x?.nativeFork&&(x=await Nn(t,n,x));let S=d?await d.enrichForDeliveryMode(x?.messageHistory,o.turnId,s):x?.messageHistory,C=x?{...x,messageHistory:S}:void 0,w=h?.size?await Sn(t):$,T=r.map(async e=>{let r=g?.get(e.agentId),u=r&&w.enabled?bn(w.template,r.previousCwd,r.newCwd):void 0;await Mn({bus:t,session:n,turn:o,message:i,messageId:a,deliveryMode:s,onTurnComplete:c,turnManager:l,agent:e,agentContext:On({baseContext:C,recoveryContext:p,isRecovered:m?.has(e.agentId)??!1,isSwapped:h?.has(e.agentId)??!1,swapMeta:r,cwdMessage:u,freshMessageHistory:_}),responseSchema:v})});await Promise.all(T)}export{Ne as A,Te as B,He as C,Ve as D,We as E,z as F,L as I,Ee as L,Me as M,je as N,U as O,Ae as P,De as R,Ge as S,Ke as T,fe as V,Y as _,hn as a,$e as b,on as c,wt as d,Ct as f,bt as g,X as h,vn as i,B as j,V as k,Kt as l,St as m,En as n,pn as o,xt as p,yn as r,mn as s,Pn as t,kt as u,vt as v,Ue as w,G as x,ct as y,Oe as z};
@@ -1 +0,0 @@
1
- import{AdapterRuntimeSubjects as e}from"./services/adapter-runtime/namespace.mjs";import{AdapterSubjects as t}from"@makaio/framework/contracts";const n=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],r=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];function i(e,t){return e>>>t|e<<32-t}function a(e){let t=new TextEncoder().encode(e),a=t.length*8,o=t.length+9+63>>6<<6>>>0,s=new Uint8Array(o);s.set(t),s[t.length]=128;let c=new DataView(s.buffer),l=Math.floor(a/4294967296),u=a>>>0;c.setUint32(o-8,l,!1),c.setUint32(o-4,u,!1);let d=[...r],f=new Uint32Array(64);for(let e=0;e<s.length;e+=64){for(let t=0;t<16;t+=1)f[t]=c.getUint32(e+t*4,!1);for(let e=16;e<64;e+=1){let t=i(f[e-15],7)^i(f[e-15],18)^f[e-15]>>>3,n=i(f[e-2],17)^i(f[e-2],19)^f[e-2]>>>10;f[e]=f[e-16]+t+f[e-7]+n>>>0}let[t,r,a,o,s,l,u,p]=d;for(let e=0;e<64;e+=1){let c=i(s,6)^i(s,11)^i(s,25),d=s&l^~s&u,m=p+c+d+n[e]+f[e]>>>0,h=(i(t,2)^i(t,13)^i(t,22))+(t&r^t&a^r&a)>>>0;p=u,u=l,l=s,s=o+m>>>0,o=a,a=r,r=t,t=m+h>>>0}d[0]=d[0]+t>>>0,d[1]=d[1]+r>>>0,d[2]=d[2]+a>>>0,d[3]=d[3]+o>>>0,d[4]=d[4]+s>>>0,d[5]=d[5]+l>>>0,d[6]=d[6]+u>>>0,d[7]=d[7]+p>>>0}return d.map(e=>e.toString(16).padStart(8,`0`)).join(``)}function o(e,t){let n=a(JSON.stringify([e,t]));return[n.slice(0,8),n.slice(8,12),`5${n.slice(13,16)}`,`a${n.slice(17,20)}`,n.slice(20,32)].join(`-`)}function s(e,t){let n=e.machineId??t;if(!n)throw Error(`resolveId requires machineId when no runtime default machine is configured for adapterName="${e.adapterName}"`);return o(n,e.adapterName)}var c=class{currentMachineId;adapterNamesById=new Map;localAdapterIds=new Set;constructor(e){this.currentMachineId=e}replaceKnownAdapterNames(e){for(let e of this.localAdapterIds)this.adapterNamesById.delete(e);if(this.localAdapterIds=new Set,this.currentMachineId)for(let t of e){let e=o(this.currentMachineId,t);this.adapterNamesById.set(e,t),this.localAdapterIds.add(e)}}resolveId(e){let t=s(e,this.currentMachineId);return this.rememberAdapterId(t,e.adapterName),t}rememberAdapterId(e,t){this.adapterNamesById.set(e,t)}resolveAdapterName(e){return this.adapterNamesById.get(e)}async resolveAdapterNameFromKnownNames(e,t){return this.resolveAdapterName(e)||(this.replaceKnownAdapterNames(await t()),this.resolveAdapterName(e))}clear(){this.adapterNamesById.clear(),this.localAdapterIds.clear()}};function l(n,r={}){let i=new c(r.currentMachineId);r.knownAdapterNames&&i.replaceKnownAdapterNames(r.knownAdapterNames);let a=[n.on(t.initialized,e=>{i.rememberAdapterId(e.payload.adapterId,e.payload.adapterName)}),n.on(e.resolveId,e=>{e.setResult({adapterId:i.resolveId(e.payload)})}),n.on(e.getMachineId,e=>{e.setResult({machineId:r.currentMachineId})}),n.on(e.resolveName,async e=>{let t=i.resolveAdapterName(e.payload.adapterId)??(r.listKnownAdapterNames?await i.resolveAdapterNameFromKnownNames(e.payload.adapterId,r.listKnownAdapterNames):void 0);if(!t)throw Error(`Adapter not found for adapterId="${e.payload.adapterId}"`);e.setResult({adapterName:t})})];return{registry:i,cleanup:()=>{for(let e of a)e()}}}export{s as i,o as n,l as r,c as t};
@@ -1,89 +0,0 @@
1
- import { o as ResolveIdRequest } from "./schemas-CR8hSqTy.mjs";
2
- import { IMakaioBus } from "@makaio/framework/bus";
3
-
4
- //#region services/core/src/adapter-runtime/identity.d.ts
5
- /**
6
- * Build the deterministic runtime adapter id for a machine-local adapter.
7
- * @param machineId - Runtime machine identifier.
8
- * @param adapterName - Stable adapter driver name.
9
- * @returns Deterministic UUID-shaped runtime adapter id.
10
- */
11
- declare function buildDeterministicAdapterId(machineId: string, adapterName: string): string;
12
- /**
13
- * Resolve an adapter id request against the current runtime machine.
14
- * @param request - Forward lookup payload.
15
- * @param currentMachineId - Runtime-default machine identifier.
16
- * @returns Deterministic UUID-shaped runtime adapter id.
17
- */
18
- declare function resolveDeterministicAdapterId(request: ResolveIdRequest, currentMachineId?: string): string;
19
- /**
20
- * Service-lifetime adapter identity index.
21
- */
22
- declare class AdapterIdentityRegistry {
23
- private readonly currentMachineId?;
24
- private readonly adapterNamesById;
25
- private localAdapterIds;
26
- /**
27
- * Create a new identity registry.
28
- * @param currentMachineId - Runtime-default machine identifier.
29
- */
30
- constructor(currentMachineId?: string | undefined);
31
- /**
32
- * Replace the set of locally known adapters while preserving remote ids
33
- * already resolved during this service lifetime.
34
- * @param adapterNames - Current local adapter names.
35
- */
36
- replaceKnownAdapterNames(adapterNames: Iterable<string>): void;
37
- /**
38
- * Resolve and remember an adapter id.
39
- * @param request - Forward lookup payload.
40
- * @returns Deterministic runtime adapter id.
41
- */
42
- resolveId(request: ResolveIdRequest): string;
43
- /**
44
- * Remember a resolved adapter id without re-deriving it.
45
- * @param adapterId - Runtime adapter id.
46
- * @param adapterName - Stable adapter driver name.
47
- */
48
- rememberAdapterId(adapterId: string, adapterName: string): void;
49
- /**
50
- * Resolve a runtime adapter id back to its known adapter name.
51
- * @param adapterId - Runtime adapter id.
52
- * @returns Adapter name when known.
53
- */
54
- resolveAdapterName(adapterId: string): string | undefined;
55
- /**
56
- * Hydrate local deterministic adapter names from the provided catalog and
57
- * retry the reverse lookup.
58
- * @param adapterId - Runtime adapter id to resolve.
59
- * @param listKnownAdapterNames - Canonical name supplier.
60
- * @returns Adapter name when known after hydration.
61
- */
62
- resolveAdapterNameFromKnownNames(adapterId: string, listKnownAdapterNames: () => Promise<Iterable<string>>): Promise<string | undefined>;
63
- /**
64
- * Clear all remembered ids.
65
- */
66
- clear(): void;
67
- }
68
- /**
69
- * Registered adapter identity helpers for tests and lightweight hosts.
70
- */
71
- interface RegisteredAdapterRuntimeIdentityHandlers {
72
- /** Mutable identity registry backing the registered handlers. */
73
- readonly registry: AdapterIdentityRegistry;
74
- /** Cleanup function that unregisters the handlers. */
75
- readonly cleanup: () => void;
76
- }
77
- /**
78
- * Register runtime adapter identity handlers.
79
- * @param bus - Bus instance used for registration.
80
- * @param options - Runtime identity configuration.
81
- * @returns Registry instance and cleanup function.
82
- */
83
- declare function registerAdapterRuntimeIdentityHandlers(bus: IMakaioBus, options?: {
84
- currentMachineId?: string;
85
- knownAdapterNames?: Iterable<string>;
86
- listKnownAdapterNames?: () => Promise<Iterable<string>>;
87
- }): RegisteredAdapterRuntimeIdentityHandlers;
88
- //#endregion
89
- export { resolveDeterministicAdapterId as a, registerAdapterRuntimeIdentityHandlers as i, RegisteredAdapterRuntimeIdentityHandlers as n, buildDeterministicAdapterId as r, AdapterIdentityRegistry as t };
@@ -1,57 +0,0 @@
1
- import { z } from "zod";
2
-
3
- //#region core/contracts/src/shared/json-value.d.ts
4
- /**
5
- * JSON-safe value type shared by storage and runtime context contracts.
6
- *
7
- * Restricting persisted values to JSON keeps the storage contracts aligned
8
- * with the actual serialization boundary instead of accepting runtime-only
9
- * values such as functions, Maps, or `undefined`.
10
- *
11
- * The object branch intentionally stays broad (`object`) instead of requiring
12
- * an index signature. The runtime Zod schema remains the source of truth for
13
- * JSON validation, while the broader TypeScript type keeps regular DTOs and
14
- * typed fixtures assignable without forcing every interface in the codebase to
15
- * declare `[key: string]: ...`.
16
- */
17
- type JsonValue = string | number | boolean | null | JsonValue[] | object;
18
- /**
19
- * Recursive JSON-safe value schema.
20
- *
21
- * Uses `z.lazy()` so arrays and objects can reference the same schema without
22
- * widening the contract to arbitrary `unknown`.
23
- */
24
- declare const JsonValueSchema: z.ZodType<JsonValue>;
25
- /**
26
- * JSON object helper for map-like persisted configuration records.
27
- *
28
- * The runtime validation stays strict, while the public TypeScript surface
29
- * remains `Record<string, unknown>` so opaque config bags do not force callers
30
- * to thread `JsonValue` through every intermediate type.
31
- */
32
- declare const JsonObjectSchema: z.ZodType<Record<string, unknown>>;
33
- /**
34
- * Contract-friendly JSON object schema for opaque config bags.
35
- *
36
- * Uses the strict runtime validator above and only narrows the public Zod
37
- * type. Keeping the underlying schema as `z.record()` is important for
38
- * protocol exports: `z.custom()` validates correctly at runtime but cannot be
39
- * represented as JSON Schema.
40
- */
41
- declare const JsonObjectContractSchema: z.ZodType<Record<string, unknown>, Record<string, unknown>>;
42
- /**
43
- * Serializable JSON Schema record used for `inputSchema`, `outputSchema`, and
44
- * `configSchema` fields on persisted workflow definitions and node primitives.
45
- *
46
- * A JSON Schema document is itself a JSON object, so this is a
47
- * `Record<string, JsonValue>` — identical at runtime to {@link JsonObjectContractSchema}
48
- * but carries a semantically narrower name to distinguish "a JSON Schema document"
49
- * from "an arbitrary JSON payload".
50
- *
51
- * The underlying `z.record(z.string(), JsonValueSchema)` validator rejects
52
- * functions, `undefined`, and other non-serializable values, keeping persisted
53
- * workflow definitions purely JSON-safe.
54
- */
55
- declare const JsonSchemaRecordSchema: z.ZodType<Record<string, JsonValue>, Record<string, JsonValue>>;
56
- //#endregion
57
- export { JsonValueSchema as a, JsonValue as i, JsonObjectSchema as n, JsonSchemaRecordSchema as r, JsonObjectContractSchema as t };
@@ -1 +0,0 @@
1
- import{z as e}from"zod";const t=e.lazy(()=>e.union([e.string(),e.number().finite(),e.boolean(),e.null(),e.array(t),e.record(e.string(),t)])),n=e.record(e.string(),t),r=n,i=e.record(e.string(),t);export{t as i,n,i as r,r as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./descriptor-to-package-DvF08krT.mjs";import{pathToFileURL as t}from"node:url";import*as n from"node:path";import*as r from"node:fs";import{versionSatisfies as i}from"@makaio/framework/contracts";async function a(e,t){let{frameworkVersion:n,importModule:r=S}=t,i=[],a=new Map,s;for(let t of e){let{descriptor:e,extensionPath:c}=t,l=`[extensions] ${e.name}@${e.version}`;if(!u(t,n))continue;if(e.execution===`detached`){let t;try{s??=(await import(`./detached-extension-handle-Ddfquy5_.mjs`)).createDetachedExtensionPackage,t=s(e,c)}catch(e){console.warn(`${l}: failed to synthesize detached extension package:`,e instanceof Error?e.message:e);continue}i.push(t),e.config?.defaults&&a.set(e.name,e.config.defaults);continue}if(!e.entrypoints.server){!e.entrypoints.browser&&!e.entrypoints.cli&&console.warn(`${l}: no executable entrypoint declared, skipping`);continue}let d;if(t.preloadedModule)d=t.preloadedModule;else try{let t=_(`server`,e.entrypoints.server,c);if(!t){console.warn(`${l}: server entrypoint could not be resolved within extension directory, skipping`);continue}d=await r(t)}catch(e){console.warn(`${l}: failed to import server entry:`,e instanceof Error?e.message:e);continue}let f=o(d.default,e.name,l);f&&(i.push(...f),e.config?.defaults&&a.set(e.name,e.config.defaults))}return{packages:i,configDefaults:a}}function o(e,t,n){if(Array.isArray(e)){let r=[],i=new Set;for(let t of e){if(!f(t)){console.warn(`${n}: default export array contains an invalid MakaioExtension, skipping`);return}if(i.has(t.name)){console.warn(`${n}: default export array contains duplicate package name '${t.name}', skipping`);return}i.add(t.name),r.push(t)}if(!r.some(e=>e.name===t)){console.warn(`${n}: default export array must include a package named '${t}' to match descriptor identity, skipping`);return}if(r.some(e=>e.name!==t&&!e.name.startsWith(`${t}.`))){console.warn(`${n}: default export array contains package names outside descriptor namespace '${t}', skipping`);return}return r}if(!f(e)){console.warn(`${n}: default export is not a valid MakaioExtension or MakaioExtension[], skipping`);return}if(e.name!==t){console.warn(`${n}: imported package name '${e.name}' does not match descriptor name '${t}', skipping`);return}return[e]}async function s(e,t,n){let{importModule:r=S,frameworkVersion:i}=n,a=new Map(t.map(e=>[e.name,e])),o=new Map;for(let t of e){let e=c(t,i);if(!e)continue;let n=`[extensions] ${t.descriptor.name}@${t.descriptor.version}`,s=a.get(t.descriptor.name);if(s?.cli)continue;let u=await d(t,e,n,r);if(!u)continue;if(!p(u.default)){console.warn(`${n}: default export is not a valid CliContribution, skipping`);continue}let f=t.descriptor.cli?.name??t.descriptor.name;if(u.default.name!==f){console.warn(`${n}: imported CLI contribution name '${u.default.name}' does not match descriptor CLI name '${f}', skipping`);continue}if(s){a.set(t.descriptor.name,{...s,cli:u.default});continue}if(t.descriptor.entrypoints?.server||t.descriptor.entrypoints?.browser){console.warn(`${n}: server or browser entry is present but no package was loaded, skipping CLI-only synthesis`);continue}a.set(t.descriptor.name,l(t,u.default)),t.descriptor.config?.defaults&&o.set(t.descriptor.name,t.descriptor.config.defaults)}return{packages:[...a.values()],configDefaults:o}}function c(e,t){if(u(e,t)&&e.descriptor.execution!==`detached`)return e.descriptor.entrypoints?.cli}function l(t,n){return{...e(t.descriptor),cli:n}}function u(e,t){let{descriptor:n}=e,r=`[extensions] ${n.name}@${n.version}`;try{return i(t,n.makaio.framework)?!0:(console.warn(`${r}: requires framework ${n.makaio.framework}, current is ${t}, skipping`),!1)}catch(e){return console.warn(`${r}: invalid version metadata (framework=${t}, range=${n.makaio.framework}), skipping:`,e instanceof Error?e.message:e),!1}}async function d(e,t,n,r){try{let i=_(`cli`,t,e.extensionPath);if(!i){console.warn(`${n}: cli entrypoint has no resolvable candidate within extension directory, skipping`);return}return await r(i)}catch(e){console.warn(`${n}: failed to import cli entry:`,e instanceof Error?e.message:e);return}}function f(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.name==`string`&&typeof t.displayName==`string`&&typeof t.version==`string`}function p(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.name!=`string`||typeof t.description!=`string`||!Array.isArray(t.subcommands)||`interactive`in t&&t.interactive!==void 0&&typeof t.interactive!=`function`?!1:t.subcommands.length===0?typeof t.interactive==`function`:t.subcommands.every(m)}function m(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.name==`string`&&typeof t.description==`string`&&h(t.schema)&&typeof t.handler==`function`}function h(e){return typeof e==`object`&&!!e&&typeof e.safeParse==`function`}function g(e,t){return t===!0?e:t}function _(e,t,r){if(!n.isAbsolute(r))return;let i=g(e,t),a=x(r),o=n.resolve(r,`src`,`${i}.ts`);if(y(o,a))return o;let s=n.resolve(r,`dist`,`${i}.mjs`);if(y(s,a))return s}function v(e,t){let n=x(t);return b(x(e),n)}function y(e,t){try{return b(r.realpathSync(e),t)}catch{return!1}}function b(e,t){return e.startsWith(t+n.sep)}function x(e){let t=n.resolve(e);try{return r.realpathSync(t)}catch{return t}}async function S(e){return await import(t(e).href)}export{f as a,_ as c,u as i,g as n,v as o,p as r,a as s,s as t};
@@ -1 +0,0 @@
1
- import"./visibility-qhGWmpSJ.mjs";export{};
@@ -1 +0,0 @@
1
- import{t as e}from"./schemas-CqRm0i9a.mjs";import{createBusNamespace as t}from"@makaio/framework/core";const n=t(`kernel:cli`,e),r=n.subjects;export{r as n,n as t};
@@ -1 +0,0 @@
1
- import{n as e}from"./namespace-BqxtpNAn.mjs";import{MakaioBus as t}from"@makaio/framework/bus";import{AdapterSubjects as n,AgentSubjects as r,SessionSubjects as i}from"@makaio/framework/contracts";function a(){t.__resetHandlers?.()}function o(e=10){return new Promise(t=>setTimeout(t,e))}function s(e,t){let n=Date.now();return{agentId:e,adapterId:`adapter-${e}`,adapterName:`test-adapter`,sessionId:t?.sessionId??`test-session`,role:`member`,status:`idle`,createdAt:n,lastActivityAt:n,...t}}async function c(e,r=e){await t.emit(n.initialized,{adapterName:e,adapterId:r,capabilities:[]})}async function l(n){return(await t.request(e.getEvents,{sessionId:n})).events}function u(e,n,r){let i=[];return r.push(t.on(e,(e=>{let t=e.payload;i.push(n(t))}))),{received:i,clear:()=>{i.length=0}}}function d(e){return u(i.turn.started,e=>({sessionId:e.sessionId,turnId:e.turnId,turnNumber:e.turnNumber,messageId:e.messageId,agentIds:[...e.agentIds],initiator:e.initiator,ingestionMarker:e.ingestionMarker}),e)}function f(e){return u(i.turn.completed,e=>({sessionId:e.sessionId,turnId:e.turnId,turnNumber:e.turnNumber,success:e.success,error:e.error,initiator:e.initiator,ingestionMarker:e.ingestionMarker}),e)}function p(e){return u(i.user_message.sent,e=>({sessionId:e.sessionId,turnId:e.turnId,messageId:e.messageId,content:e.content,agentIds:[...e.agentIds],origin:e.origin}),e)}function m(e){return u(i.user_message.acknowledged,e=>({sessionId:e.sessionId,turnId:e.turnId,messageId:e.messageId,agentId:e.agentId}),e)}function h(e){return u(i.user_message.completed,e=>({sessionId:e.sessionId,turnId:e.turnId,messageId:e.messageId,agentId:e.agentId,outcome:e.outcome,error:e.error}),e)}const g=s;function _(e){let t=Date.now();return{sessionId:e.sessionId,createdAt:t,lastActivityAt:t,status:e.status??`active`,agents:e.agents??[],leadAgentId:e.leadAgentId,targetWorkingDirectory:e.targetWorkingDirectory}}function v(e){return t.on(i.create,t=>{let n=t.payload.sessionId??`session-${crypto.randomUUID().slice(0,8)}`;e.set(n,_({sessionId:n,agents:[]})),t.setResult({sessionId:n})})}function y(e){return t.on(i.agent.added,t=>{let n=e.get(t.payload.sessionId);if(!n)return;let r=n.agents.length===0,i=t.payload.role??(r?`lead`:`member`);r&&(n.adapterSessionId=t.payload.adapterSessionId,n.adapterName=t.payload.adapterName,n.adapterId=t.payload.adapterId);let a=Date.now();n.agents.push({agentId:t.payload.agentId,adapterId:t.payload.adapterId,adapterName:t.payload.adapterName,sessionId:t.payload.sessionId,role:i,status:`idle`,createdAt:a,lastActivityAt:a}),i===`lead`&&(n.leadAgentId=t.payload.agentId),n.lastActivityAt=Date.now()})}function b(e){return t.on(i.get,t=>{t.setResult({session:e.get(t.payload.sessionId)??null})})}function x(e){return t.on(n.getAgent,t=>{for(let n of e.values()){let e=n.agents.find(e=>e.agentId===t.payload.agentId);if(e){t.setResult({agent:{agentId:e.agentId,sessionId:n.sessionId,adapterSessionId:``}});return}}t.setResult({agent:null})})}function S(){return t.on(n.rehydrateAgent,e=>{e.setResult({})})}function C(e=`/previous/cwd`){return t.on(r.cwd.change,t=>{t.setResult({success:!0,previousCwd:e})})}function w(){return t.on(r.model.change,e=>{e.setResult({success:!0,swapped:!1})})}function T(e){return t.on(n.startAgent,t=>{let{adapterId:n,initialMessage:r}=t.payload,i=t.payload.sessionId??`session-${crypto.randomUUID().slice(0,8)}`,a=`agent-${crypto.randomUUID().slice(0,8)}`,o=r?`msg-${crypto.randomUUID().slice(0,8)}`:void 0,s=`adapter-session-${i}`;e?.({adapterId:n,sessionId:i,initialMessage:r}),t.setResult({success:!0,agentId:a,adapterId:n,adapterSessionId:s,sessionId:i,...o&&{messageId:o}}),j({sessionId:i,agentId:a,adapterId:n,adapterSessionId:s})})}function E(e){return t.on(n.startAgent,t=>{t.setResult({success:!1,message:e})})}function D(e){return t.on(r.sendMessage,t=>{let{agentId:n,adapterId:r,message:i,messageId:a,sessionContext:o,responseSchema:s}=t.payload,c=a??`msg-${crypto.randomUUID().slice(0,8)}`;e?.({agentId:n,adapterId:r,message:i,messageId:c,sessionContext:o,responseSchema:s}),t.setResult({messageId:c})})}function O(e,n){return t.on(r.sendMessage,t=>{if(e.has(t.payload.agentId))throw Error(n);t.setResult({messageId:t.payload.messageId??`generated-id`})})}async function k(e){await t.emit(r.complete,{agentId:e.agentId,adapterId:`adapter-${e.agentId}`,adapterName:`test-adapter`,adapterSessionId:`adapter-session-${e.agentId}`,messageId:e.messageId,turnId:e.turnId})}async function A(e){await t.emit(r.complete,{agentId:e.agentId,adapterId:`adapter-${e.agentId}`,adapterName:`test-adapter`,adapterSessionId:`adapter-session-${e.agentId}`,messageId:e.messageId,turnId:e.turnId,outcome:`error`,error:e.error})}function j(e){setImmediate(()=>{t.emit(i.agent.added,{sessionId:e.sessionId,agentId:e.agentId,adapterId:e.adapterId,adapterName:e.adapterId,adapterSessionId:e.adapterSessionId,role:e.role})})}function M(e,r){let i=new Map,a=t.on(n.startAgent,t=>{r.payload=t.payload;let n=`agent-${crypto.randomUUID().slice(0,8)}`,a=t.payload.initialMessage?`msg-${crypto.randomUUID().slice(0,8)}`:void 0,o=`adapter-session-${e}`;i.set(n,{agentId:n,sessionId:e,adapterSessionId:o,adapterId:t.payload.adapterId}),t.setResult({success:!0,agentId:n,adapterId:t.payload.adapterId,adapterSessionId:o,sessionId:e,...a&&{messageId:a}}),j({sessionId:e,agentId:n,adapterId:t.payload.adapterId,adapterSessionId:o})}),o=t.on(n.getAgent,e=>{let t=i.get(e.payload.agentId);e.setResult({agent:t?{agentId:t.agentId,sessionId:t.sessionId,adapterSessionId:t.adapterSessionId}:null})});return()=>{a(),o()}}export{c as C,o as E,p as S,a as T,T as _,A as a,m as b,v as c,E as d,x as f,D as g,S as h,k as i,C as l,w as m,_ as n,y as o,b as p,j as r,M as s,g as t,O as u,f as v,l as w,h as x,d as y};