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

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 (527) hide show
  1. package/README.md +0 -2
  2. package/dist/.makaio-build.json +2 -2
  3. package/dist/{account-identity-B3vLwm9O.mjs → account-identity-DGpXd8h_.mjs} +1 -1
  4. package/dist/adapter-BkdJaOOG.mjs +1 -0
  5. package/dist/adapter-subsystem/index.d.mts +76 -118
  6. package/dist/adapter-subsystem/index.mjs +1 -1
  7. package/dist/adapters/claude/index.d.mts +5 -5
  8. package/dist/adapters/config/index.d.mts +1 -1
  9. package/dist/adapters/config/index.mjs +1 -1
  10. package/dist/adapters/index.d.mts +53 -73
  11. package/dist/adapters/index.mjs +6 -6
  12. package/dist/adapters/node.d.mts +1 -1
  13. package/dist/adapters/node.mjs +1 -1
  14. package/dist/adapters/stream-session/index.mjs +1 -1
  15. package/dist/agent-namespace-D51PODFf.mjs +1 -0
  16. package/dist/{artifact-Btbuib48.mjs → artifact-k3veR4Yx.mjs} +1 -1
  17. package/dist/attach-error-BSlc7JfL.mjs +1 -0
  18. package/dist/{auth-C6tVtaOX.mjs → auth-A1K_7q-8.mjs} +1 -1
  19. package/dist/{authority-state-bootstrap-CLYus369.mjs → authority-state-bootstrap-YwtEImIB.mjs} +1 -1
  20. package/dist/{automation-trigger-ByjNlClm.mjs → automation-trigger-CuSdQwir.mjs} +1 -1
  21. package/dist/bus/index.d.mts +4 -22
  22. package/dist/bus/index.mjs +1 -1
  23. package/dist/bus-BIj0_aG6.mjs +1 -0
  24. package/dist/{bus-D6NoBhIV.mjs → bus-CqgrphNE.mjs} +1 -1
  25. package/dist/{canonical-model-DXOvCaVg.mjs → canonical-model-DJASlL4m.mjs} +1 -1
  26. package/dist/capabilities-Bqckjh7G.mjs +1 -0
  27. package/dist/capability-service-CJHNkjvm.mjs +1 -0
  28. package/dist/{client-BkznbdsO.mjs → client-BL5__WT0.mjs} +1 -1
  29. package/dist/clients/index.d.mts +1 -1
  30. package/dist/clients/index.mjs +1 -1
  31. package/dist/clients/managed-install.d.mts +1 -1
  32. package/dist/clients/managed-install.mjs +1 -1
  33. package/dist/{compression-CtgeVLpP.mjs → compression-BbttSqm8.mjs} +1 -1
  34. package/dist/{config-namespace-CjWvw8ij.mjs → config-namespace-CyzeLWSg.mjs} +1 -1
  35. package/dist/{context-resolution-841T7jBI.d.mts → context-resolution-ya9TXKg-.d.mts} +1 -1
  36. package/dist/contracts/adapter/index.d.mts +3 -3
  37. package/dist/contracts/adapter/index.mjs +1 -1
  38. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  39. package/dist/contracts/artifact/index.d.mts +2 -2
  40. package/dist/contracts/artifact/index.mjs +1 -1
  41. package/dist/contracts/auth/index.d.mts +2 -2
  42. package/dist/contracts/auth/index.mjs +1 -1
  43. package/dist/contracts/automation-trigger/index.d.mts +3 -3
  44. package/dist/contracts/automation-trigger/index.mjs +1 -1
  45. package/dist/contracts/canonical-model/index.d.mts +1 -1
  46. package/dist/contracts/canonical-model/index.mjs +1 -1
  47. package/dist/contracts/capabilities/index.d.mts +1 -1
  48. package/dist/contracts/capabilities/index.mjs +1 -1
  49. package/dist/contracts/client/index.d.mts +2 -2
  50. package/dist/contracts/client/index.mjs +1 -1
  51. package/dist/contracts/common/index.d.mts +1 -1
  52. package/dist/contracts/config/index.d.mts +1 -1
  53. package/dist/contracts/config/index.mjs +1 -1
  54. package/dist/contracts/extension/index.d.mts +5 -5
  55. package/dist/contracts/extension/index.mjs +1 -1
  56. package/dist/contracts/facet/index.d.mts +1 -1
  57. package/dist/contracts/facet/index.mjs +1 -1
  58. package/dist/contracts/harness/index.d.mts +1 -1
  59. package/dist/contracts/harness/index.mjs +1 -1
  60. package/dist/contracts/host/index.d.mts +1 -1
  61. package/dist/contracts/host/index.mjs +1 -1
  62. package/dist/contracts/index.d.mts +47 -57
  63. package/dist/contracts/index.mjs +1 -1
  64. package/dist/contracts/materialization/index.d.mts +3 -3
  65. package/dist/contracts/materialization/index.mjs +1 -1
  66. package/dist/contracts/model-registry/index.d.mts +1 -1
  67. package/dist/contracts/model-registry/index.mjs +1 -1
  68. package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
  69. package/dist/contracts/native-session-supervisor/index.mjs +1 -1
  70. package/dist/contracts/platform/index.d.mts +1 -1
  71. package/dist/contracts/platform/index.mjs +1 -1
  72. package/dist/contracts/provider/index.d.mts +2 -2
  73. package/dist/contracts/provider/index.mjs +1 -1
  74. package/dist/contracts/reaction/index.d.mts +1 -1
  75. package/dist/contracts/reaction/index.mjs +1 -1
  76. package/dist/contracts/session/index.d.mts +3 -3
  77. package/dist/contracts/session/index.mjs +1 -1
  78. package/dist/contracts/shared/index.d.mts +3 -3
  79. package/dist/contracts/shared/index.mjs +1 -1
  80. package/dist/contracts/skill/index.d.mts +1 -1
  81. package/dist/contracts/skill/index.mjs +1 -1
  82. package/dist/contracts/telemetry/index.d.mts +1 -1
  83. package/dist/contracts/telemetry/index.mjs +1 -1
  84. package/dist/contracts/timeout/index.d.mts +1 -1
  85. package/dist/contracts/timeout/index.mjs +1 -1
  86. package/dist/contracts/toast/index.mjs +1 -1
  87. package/dist/contracts/variant/index.d.mts +1 -1
  88. package/dist/contracts/variant/index.mjs +1 -1
  89. package/dist/contracts/worker-node/index.d.mts +1 -1
  90. package/dist/contracts/worker-node/index.mjs +1 -1
  91. package/dist/contracts/workflow/index.d.mts +2 -2
  92. package/dist/contracts/workflow/index.mjs +1 -1
  93. package/dist/{contribution-CUHLVLsT.d.mts → contribution-BB5bjx3f.d.mts} +2 -2
  94. package/dist/core/index.d.mts +2 -25
  95. package/dist/{definition-DyGImhyi.d.mts → definition-BYgHlmMw.d.mts} +1 -1
  96. package/dist/{definition-BH4QLGLI.mjs → definition-CDg-Jq1T.mjs} +1 -1
  97. package/dist/{detached-extension-handle-D0aI0pJA.mjs → detached-extension-handle-DKd17UB6.mjs} +1 -1
  98. package/dist/drizzle/meta/_journal.json +0 -28
  99. package/dist/event-DR8U9Efx.mjs +1 -0
  100. package/dist/{execution-attempt-repository-BJ2W6wwx.d.mts → execution-attempt-repository-DFyAnchJ.d.mts} +1 -1
  101. package/dist/{execution-target-H0RWV7Py.mjs → execution-target-ByNwZh5-.mjs} +1 -1
  102. package/dist/{extension-Cz39YNXy.mjs → extension-DMdmj9gi.mjs} +1 -1
  103. package/dist/{extension-Bfkr2DBs.mjs → extension-DUmibvMk.mjs} +1 -1
  104. package/dist/{extension-discovery-Dhu3WplO.d.mts → extension-discovery-Fhps4icD.d.mts} +1 -9
  105. package/dist/{filesystem-service-CiUw0YN5.mjs → filesystem-service-FAtd9gWH.mjs} +1 -1
  106. package/dist/framework-packages-D_2hBZ-p.mjs +1 -0
  107. package/dist/git/index.mjs +2 -2
  108. package/dist/{globby-QBDqstzq.mjs → globby-BBLuT_vy.mjs} +1 -1
  109. package/dist/handlers-2yd00VEq.mjs +57 -0
  110. package/dist/{harness-YQ2ewID9.mjs → harness-KxbWGL4I.mjs} +1 -1
  111. package/dist/{hook-responses-9Ywsqzzq.d.mts → hook-responses-uCXAICTU.d.mts} +1 -1
  112. package/dist/identity-DC3Pk0ps.mjs +1 -0
  113. package/dist/{index-D-4jv_66.d.mts → index-1UcQWrZy.d.mts} +149 -149
  114. package/dist/{index-D8D-yibS2.d.mts → index-B0xJgTi-.d.mts} +4 -4
  115. package/dist/{index-CYjgoYeX.d.mts → index-BMVZs6pm.d.mts} +3 -3
  116. package/dist/{index-CPi0UpRh.d.mts → index-BSQ30wYP.d.mts} +1 -1
  117. package/dist/{index-DXtQRehh.d.mts → index-Bl7KWFod.d.mts} +1 -1
  118. package/dist/{index-D_4K3Tf_.d.mts → index-BtdK8HeH.d.mts} +168 -43
  119. package/dist/{index-C146Eq_J.d.mts → index-C-JzEkqs.d.mts} +1802 -536
  120. package/dist/{index-DI2lS7VT.d.mts → index-CER64zYO.d.mts} +15 -15
  121. package/dist/{index-BkbnC65b.d.mts → index-CM75k-Ff.d.mts} +17 -189
  122. package/dist/{index-CmwAJ8-5.d.mts → index-CSN_0sCo.d.mts} +1 -1
  123. package/dist/{index-CIEycZrt.d.mts → index-C__EQfKa.d.mts} +1 -1
  124. package/dist/{index-B0VO0rAl.d.mts → index-CfiCJPP6.d.mts} +1 -1
  125. package/dist/{index-BNzUyVwV.d.mts → index-CqQYgsbB.d.mts} +170 -513
  126. package/dist/{index-B0yMCJW8.d.mts → index-DI7-tIL3.d.mts} +14 -39
  127. package/dist/{index-CMekqu_D.d.mts → index-DxYDRoDE2.d.mts} +8 -28
  128. package/dist/index-OsbtyMgx2.d.mts +98 -0
  129. package/dist/{index-DJ2KgJDJ2.d.mts → index-cPqSpWQC.d.mts} +12 -12
  130. package/dist/{index-DNI6UF9h.d.mts → index-e4Txan9i.d.mts} +4 -4
  131. package/dist/{index-CPRQ4dWX.d.mts → index-nydhGvXa.d.mts} +23 -0
  132. package/dist/json-value-C1RGgS0a.d.mts +72 -0
  133. package/dist/json-value-D57aJhVn.mjs +1 -0
  134. package/dist/kernel/cli/index.d.mts +2 -2
  135. package/dist/kernel/cli/index.mjs +1 -1
  136. package/dist/kernel/cli/register.d.mts +1 -1
  137. package/dist/kernel/cli/register.mjs +1 -1
  138. package/dist/kernel/cli/schemas.mjs +1 -1
  139. package/dist/kernel/extension/index.d.mts +1 -1
  140. package/dist/kernel/extension/index.mjs +1 -1
  141. package/dist/kernel/index.d.mts +5 -5
  142. package/dist/kernel/index.mjs +1 -1
  143. package/dist/kernel/namespace/index.d.mts +1 -1
  144. package/dist/kernel/namespace/index.mjs +1 -1
  145. package/dist/kernel/observability/index.d.mts +1 -1
  146. package/dist/kernel/observability/index.mjs +1 -1
  147. package/dist/kernel/providers/index.d.mts +1 -1
  148. package/dist/kernel/providers/index.mjs +1 -1
  149. package/dist/kernel/window/index.d.mts +1 -1
  150. package/dist/kernel/window/index.mjs +1 -1
  151. package/dist/{lib-Cm-uEoC1.mjs → lib-B_rJ6r0T.mjs} +1 -1
  152. package/dist/{lib-BpGvHZye.mjs → lib-CnOAtohU.mjs} +2 -2
  153. package/dist/{load-extensions-DG5LvPyM.mjs → load-extensions-CW9uzNR5.mjs} +1 -1
  154. package/dist/{load-extensions-BQoXaHhR.d.mts → load-extensions-DUpaMQ7G.d.mts} +1 -1
  155. package/dist/{materialization-lVd9_-jr.mjs → materialization-CcpCDhXh.mjs} +1 -1
  156. package/dist/mcp-http-server/index.mjs +1 -1
  157. package/dist/model-ZH3L1dPW.mjs +1 -0
  158. package/dist/{namespace-BL7lHlmg.mjs → namespace-B7bntOB8.mjs} +1 -1
  159. package/dist/{namespace-BNp7n_gu.d.mts → namespace-BgEiY7r1.d.mts} +3 -3
  160. package/dist/{namespace-DknCutQZ.d.mts → namespace-C6CVEGH8.d.mts} +0 -50
  161. package/dist/{namespace-C06lJSuj.d.mts → namespace-ChnRTUG4.d.mts} +6 -6
  162. package/dist/namespace-CxrOLeeP.mjs +1 -0
  163. package/dist/{namespace-BRuHzhPo.d.mts → namespace-DSlfFhB1.d.mts} +2 -154
  164. package/dist/{native-session-supervisor-LKio8XZn.mjs → native-session-supervisor-fZYPUk0-.mjs} +1 -1
  165. package/dist/node/bus-server/index.d.mts +1 -1
  166. package/dist/node/bus-server/index.mjs +1 -1
  167. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  168. package/dist/node/bus-server/server-lifecycle.mjs +1 -1
  169. package/dist/{orchestrator-shared-CNHSImNY.d.mts → orchestrator-shared-B-KRW1Z0.d.mts} +10 -9
  170. package/dist/orchestrator-shared-CTCZc6Vl.mjs +1 -0
  171. package/dist/ownership-memory-handler-Bblp93YC.mjs +1 -0
  172. package/dist/{package-BNFTUFLB.d.mts → package-Bf3hyuzs.d.mts} +2 -2
  173. package/dist/{package-JtjbO-Oi.mjs → package-CddkNbZI.mjs} +1 -1
  174. package/dist/{package-B01gmu75.mjs → package-ypz4rKvn.mjs} +1 -1
  175. package/dist/package.json +1 -1
  176. package/dist/{profile-N5qGUpF0.mjs → profile-BtznZlq3.mjs} +1 -1
  177. package/dist/{provider-context-zTDSH2x9.mjs → provider-context-BrLZYnDW.mjs} +1 -1
  178. package/dist/{provider-context-CG42JlP9.mjs → provider-context-Dh-VOOYF.mjs} +1 -1
  179. package/dist/{reaction-D3TNwPK8.mjs → reaction-BS0k4eNN.mjs} +1 -1
  180. package/dist/{registry-Dk12tAfv.mjs → registry-BO_bOoky.mjs} +1 -1
  181. package/dist/{resolved-sq8RXNDf.mjs → resolved-DMByz1_2.mjs} +1 -1
  182. package/dist/rules/index.d.mts +1 -1
  183. package/dist/rules/index.mjs +1 -1
  184. package/dist/rules/schemas.d.mts +1 -1
  185. package/dist/runtime-bun/index.mjs +1 -1
  186. package/dist/runtime-node/extension-discovery.d.mts +2 -2
  187. package/dist/runtime-node/extension-discovery.mjs +1 -1
  188. package/dist/runtime-node/extension-validation.d.mts +1 -1
  189. package/dist/runtime-node/extension-validation.mjs +1 -1
  190. package/dist/runtime-node/index.d.mts +4 -6
  191. package/dist/runtime-node/index.mjs +24 -24
  192. package/dist/runtime-node/makaio-config.d.mts +1 -1
  193. package/dist/runtime-node/makaio-config.mjs +1 -1
  194. package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
  195. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  196. package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -1
  197. package/dist/{schema-Dq-7si8u.mjs → schema-DBG7Jq5_.mjs} +1 -1
  198. package/dist/{schema-B3Pf7JP7.d.mts → schema-DKTzriEY.d.mts} +3 -250
  199. package/dist/{schemas-C1mxTfd7.d.mts → schemas-B7zo7Zcx.d.mts} +4 -60
  200. package/dist/schemas-BqD8LlQw.mjs +1 -0
  201. package/dist/{schemas-QWDnauKX.mjs → schemas-CsjN7cmM.mjs} +1 -1
  202. package/dist/schemas-CvHFbzdy.mjs +1 -0
  203. package/dist/{schemas-BfO5jkrL.mjs → schemas-DSkBOdx_.mjs} +1 -1
  204. package/dist/{schemas-OWvBn7AH.d.mts → schemas-DZH9lpxs.d.mts} +4 -4
  205. package/dist/schemas-DplrlAyR.mjs +1 -0
  206. package/dist/{schemas-Dd13TMgU.d.mts → schemas-DvMbcABQ.d.mts} +4 -4
  207. package/dist/scoped-bus-ClwTWqX8.mjs +1 -0
  208. package/dist/{selection-DL3ric7K.mjs → selection-7Ku8DBnh.mjs} +1 -1
  209. package/dist/services/adapter-runtime/index.d.mts +4 -4
  210. package/dist/services/adapter-runtime/index.mjs +1 -1
  211. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  212. package/dist/services/adapter-runtime/schemas.d.mts +2 -2
  213. package/dist/services/adapter-runtime/schemas.mjs +1 -1
  214. package/dist/services/adapter-subsystem/index.d.mts +3 -3
  215. package/dist/services/adapter-subsystem/index.mjs +1 -1
  216. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  217. package/dist/services/adapter-subsystem/namespace.mjs +1 -1
  218. package/dist/services/agent-runtime/index.d.mts +2 -2
  219. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  220. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  221. package/dist/services/automation-trigger/index.mjs +1 -1
  222. package/dist/services/capability/index.d.mts +2 -3
  223. package/dist/services/capability/index.mjs +1 -1
  224. package/dist/services/codebase/index.d.mts +2 -2
  225. package/dist/services/codebase/namespace.d.mts +1 -1
  226. package/dist/services/codebase/schemas.d.mts +1 -1
  227. package/dist/services/compression/index.d.mts +2 -2
  228. package/dist/services/compression/namespace.d.mts +1 -1
  229. package/dist/services/compression/schemas.d.mts +1 -1
  230. package/dist/services/context-rules/index.d.mts +1 -1
  231. package/dist/services/context-rules/index.mjs +1 -1
  232. package/dist/services/execution-target/index.d.mts +3 -3
  233. package/dist/services/execution-target/index.mjs +1 -1
  234. package/dist/services/execution-target/namespace.d.mts +1 -1
  235. package/dist/services/execution-target/namespace.mjs +1 -1
  236. package/dist/services/execution-target/schemas.d.mts +1 -1
  237. package/dist/services/execution-target/schemas.mjs +1 -1
  238. package/dist/services/filesystem/index.d.mts +1 -1
  239. package/dist/services/filesystem/index.mjs +1 -1
  240. package/dist/services/filesystem/namespace.d.mts +6 -6
  241. package/dist/services/filesystem/schemas.d.mts +3 -3
  242. package/dist/services/git/namespace.d.mts +0 -18
  243. package/dist/services/git/namespace.mjs +1 -1
  244. package/dist/services/git/schemas.d.mts +1 -10
  245. package/dist/services/git/schemas.mjs +1 -1
  246. package/dist/services/harness/index.mjs +1 -1
  247. package/dist/services/index.d.mts +61 -161
  248. package/dist/services/index.mjs +1 -1
  249. package/dist/services/log-import/browser.d.mts +2 -2
  250. package/dist/services/log-import/index.d.mts +2 -2
  251. package/dist/services/log-import/log-import.d.mts +1 -1
  252. package/dist/services/log-import/log-import.mjs +1 -1
  253. package/dist/services/log-import/namespace.mjs +1 -1
  254. package/dist/services/log-import/schemas.mjs +1 -1
  255. package/dist/services/materialization/index.d.mts +1 -1
  256. package/dist/services/materialization/index.mjs +1 -1
  257. package/dist/services/model-registry/index.d.mts +1 -1
  258. package/dist/services/model-registry/index.mjs +1 -1
  259. package/dist/services/preferences/index.d.mts +2 -2
  260. package/dist/services/preferences/schemas.d.mts +1 -1
  261. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  262. package/dist/services/provider-context/index.d.mts +1 -1
  263. package/dist/services/provider-context/index.mjs +1 -1
  264. package/dist/services/provider-runtime/index.mjs +1 -1
  265. package/dist/services/session/handlers/index.d.mts +1 -1
  266. package/dist/services/session/handlers/index.mjs +1 -1
  267. package/dist/services/session/index.d.mts +10 -10
  268. package/dist/services/session/index.mjs +1 -1
  269. package/dist/services/session/messages/namespace.d.mts +1 -1
  270. package/dist/services/session/messages/namespace.mjs +1 -1
  271. package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
  272. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  273. package/dist/services/session/session-events/namespace.d.mts +1 -1
  274. package/dist/services/session/session-events/namespace.mjs +1 -1
  275. package/dist/services/session/storage/namespace.d.mts +1 -1
  276. package/dist/services/session/storage/schema.d.mts +2 -2
  277. package/dist/services/session/storage/schema.mjs +1 -1
  278. package/dist/services/session/testing/index.d.mts +1 -22
  279. package/dist/services/session/testing/index.mjs +14 -38
  280. package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
  281. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  282. package/dist/services/session/turns/namespace.d.mts +1 -1
  283. package/dist/services/session/turns/namespace.mjs +1 -1
  284. package/dist/services/session-editor/index.d.mts +1 -1
  285. package/dist/services/session-editor/index.mjs +1 -1
  286. package/dist/services/settings/index.d.mts +3 -3
  287. package/dist/services/settings/index.mjs +1 -1
  288. package/dist/services/settings/namespace.d.mts +4 -4
  289. package/dist/services/settings/namespace.mjs +1 -1
  290. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  291. package/dist/services/settings/storage/clients-namespace.mjs +1 -1
  292. package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
  293. package/dist/services/settings/storage/index.d.mts +3 -3
  294. package/dist/services/settings/storage/index.mjs +1 -1
  295. package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
  296. package/dist/services/settings/storage/providers-namespace.mjs +1 -1
  297. package/dist/services/subagent/index.d.mts +1 -1
  298. package/dist/services/subagent/index.mjs +1 -1
  299. package/dist/services/subagent-template/index.d.mts +2 -2
  300. package/dist/services/subagent-template/namespace.d.mts +1 -1
  301. package/dist/services/subagent-template/schemas.d.mts +1 -1
  302. package/dist/services/tool-approval/index.d.mts +1 -1
  303. package/dist/services/tool-approval/index.mjs +1 -1
  304. package/dist/services/tools/index.d.mts +1 -1
  305. package/dist/services/tools/index.mjs +1 -1
  306. package/dist/services/tray-menu/index.d.mts +3 -3
  307. package/dist/services/tray-menu/index.mjs +1 -1
  308. package/dist/services/tray-menu/namespace.d.mts +1 -1
  309. package/dist/services/tray-menu/schemas.d.mts +1 -1
  310. package/dist/services/turn/index.d.mts +1 -1
  311. package/dist/services/turn/namespace.d.mts +1 -1
  312. package/dist/services/workflow-transitions/index.d.mts +1 -1
  313. package/dist/services/workflow-transitions/index.mjs +1 -1
  314. package/dist/session-BMy2kRpX.mjs +90 -0
  315. package/dist/session-Cipx34j6.mjs +1 -0
  316. package/dist/{shared-B9AWRm9A.mjs → shared-BFVuCDPx.mjs} +1 -1
  317. package/dist/{skill-DGNtc_ww.mjs → skill-C1D51nhh.mjs} +1 -1
  318. package/dist/{src-BmSQ3rlz.mjs → src-xbmzokNe.mjs} +1 -1
  319. package/dist/storage/drizzle/client.d.mts +1 -1
  320. package/dist/storage/drizzle/client.mjs +1 -1
  321. package/dist/storage/drizzle/index.d.mts +2 -41
  322. package/dist/storage/drizzle/index.mjs +1 -1
  323. package/dist/storage/handlers/drizzle/index.d.mts +1 -1
  324. package/dist/storage/handlers/drizzle/index.mjs +1 -1
  325. package/dist/storage/handlers/index.d.mts +1 -1
  326. package/dist/storage/handlers/index.mjs +1 -1
  327. package/dist/tool-approval-service-BVgN9Q1r.mjs +1 -0
  328. package/dist/{tools-DWKWX3eV.mjs → tools-DxwHox1a.mjs} +1 -1
  329. package/dist/{transition-D3zUBTPc.d.mts → transition-C_Ka6b0-.d.mts} +6 -6
  330. package/dist/{types-CtDGkyLx2.d.mts → types-BNjPhj_a.d.mts} +1 -1
  331. package/dist/{types-OKJCOjme.d.mts → types-ClpEaoAm.d.mts} +4 -24
  332. package/dist/{types-DcxBYlPA.d.mts → types-CwvN4uN2.d.mts} +49 -3029
  333. package/dist/ui-kernel/index.d.mts +1 -1
  334. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  335. package/dist/utils/index.d.mts +1 -22
  336. package/dist/utils/index.mjs +2 -2
  337. package/dist/utils/project-manifest.mjs +1 -1
  338. package/dist/{version-BYeVh1pI.mjs → version-BfNnVAGr.mjs} +1 -1
  339. package/dist/{view-builder-B0j9p5C0.d.mts → view-builder-KYsPqV-5.d.mts} +4 -4
  340. package/dist/{visibility-DtDLRBdr.mjs → visibility-Dl1o2I01.mjs} +1 -1
  341. package/dist/worker-node-BDOYPEpi.mjs +1 -0
  342. package/dist/{worker-node-Dtf9ilsR.mjs → worker-node-DJ41Tr-F.mjs} +1 -1
  343. package/dist/workflow-Hzc5jlnV.mjs +1 -0
  344. package/dist/workflow-engine/execution-attempt-repository.d.mts +1 -1
  345. package/dist/workflow-engine/index.d.mts +95 -95
  346. package/dist/workflow-engine/index.mjs +1 -1
  347. package/dist/workflow-engine/package.d.mts +1 -1
  348. package/dist/workflow-engine/package.mjs +1 -1
  349. package/dist/workflow-engine/provider-operation.d.mts +1 -1
  350. package/dist/workflow-engine/testing/index.d.mts +2 -2
  351. package/dist/workflow-engine/testing/index.mjs +1 -1
  352. package/dist/workflow-engine/testing/sqlite.d.mts +1 -1
  353. package/dist/workflow-engine/testing/sqlite.mjs +1 -1
  354. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  355. package/dist/{workflow-transitions-c_VQbyV0.mjs → workflow-transitions-DM0fN_eP.mjs} +1 -1
  356. package/dist/workflow-worker-DARC7UZl.mjs +1 -0
  357. package/package.json +1 -18
  358. package/dist/adapter-Dz1fX5Wa.mjs +0 -1
  359. package/dist/attach-error-Cb3GbeKe.mjs +0 -1
  360. package/dist/bus-UgFdHybD.mjs +0 -1
  361. package/dist/caller-owned-adapter-stub-C1M7FKrv.mjs +0 -1
  362. package/dist/capabilities-BUwuA7XX.mjs +0 -1
  363. package/dist/capability-j3NekkIu.mjs +0 -1
  364. package/dist/code-execution/worker-entry.d.mts +0 -21
  365. package/dist/code-execution/worker-entry.mjs +0 -1
  366. package/dist/code-execution-Ckmn8OZu.mjs +0 -1
  367. package/dist/code-execution-CweDSWco.mjs +0 -1
  368. package/dist/code-execution-DqkQjKa1.mjs +0 -1
  369. package/dist/contracts/code-execution/index.d.mts +0 -2
  370. package/dist/contracts/code-execution/index.mjs +0 -1
  371. package/dist/drizzle/0034_m_msha1388.sql +0 -41
  372. package/dist/drizzle/0035_m_mshgj6x7.sql +0 -40
  373. package/dist/drizzle/0036_m_msivwbgm.sql +0 -1
  374. package/dist/drizzle/0037_runtime_instance_incarnation_counter.sql +0 -6
  375. package/dist/event-B8ELuk6k.mjs +0 -1
  376. package/dist/framework-packages-BHgul8Kl.mjs +0 -1
  377. package/dist/handlers-BsHAFtye.mjs +0 -57
  378. package/dist/identity-OjRlG6dZ.mjs +0 -1
  379. package/dist/index-Bqk0pJBQ2.d.mts +0 -138
  380. package/dist/index-Cny5RvjO.d.mts +0 -800
  381. package/dist/index-DHnSLGP4.d.mts +0 -268
  382. package/dist/index-DQ8o3JGi.d.mts +0 -132
  383. package/dist/index-DWBkiiXH.d.mts +0 -18
  384. package/dist/index-Dg11JxKZ.d.mts +0 -496
  385. package/dist/json-value-BBZ6uGwc.mjs +0 -1
  386. package/dist/json-value-DPqb-SJ8.d.mts +0 -177
  387. package/dist/model-DrzPt3ou.mjs +0 -1
  388. package/dist/namespace-sCPb79-7.mjs +0 -1
  389. package/dist/npm-package-name-DuTYVICk.mjs +0 -1
  390. package/dist/orchestrator-shared-BGlN-m-V.mjs +0 -1
  391. package/dist/ownership-memory-handler-BpGdR_uG.mjs +0 -1
  392. package/dist/ownership-recovery-guard-DyW5vGBr.mjs +0 -1
  393. package/dist/package-DttKA9wN.mjs +0 -1
  394. package/dist/runtime-node/code-execution/index.d.mts +0 -3
  395. package/dist/runtime-node/code-execution/index.mjs +0 -1
  396. package/dist/schemas-C3kyQWGf.mjs +0 -1
  397. package/dist/schemas-TK29KWx-.mjs +0 -1
  398. package/dist/schemas-_2Syo_01.mjs +0 -1
  399. package/dist/scoped-bus-DoPmCJeM.mjs +0 -1
  400. package/dist/services/code-execution/index.d.mts +0 -2
  401. package/dist/services/code-execution/index.mjs +0 -1
  402. package/dist/session-BOpTI79g.mjs +0 -1
  403. package/dist/session-CXOPk3yg.mjs +0 -95
  404. package/dist/tool-approval-service-BFDOFUGC.mjs +0 -1
  405. package/dist/types-Cwza95hS.mjs +0 -1
  406. package/dist/types-DnK6Wa_Y.d.mts +0 -260
  407. package/dist/worker-node-CjuQb9hl.mjs +0 -1
  408. package/dist/workflow-C4mck_NW.mjs +0 -1
  409. package/dist/workflow-worker-aNbdgqml.mjs +0 -1
  410. /package/dist/{adapter-auth-runtime-DHHppU4f.mjs → adapter-auth-runtime-D9Lnl7cc.mjs} +0 -0
  411. /package/dist/{adapter-binding-CATvmGuz.d.mts → adapter-binding-B-FBoCys.d.mts} +0 -0
  412. /package/dist/{ajv-krzJXh1X.mjs → ajv-L5fKxaia.mjs} +0 -0
  413. /package/dist/{attempt-record-codec-BYfYkj4M.mjs → attempt-record-codec-DaFLKR5C.mjs} +0 -0
  414. /package/dist/{await-trigger-Bkg2BQfg.mjs → await-trigger-ph1S0zVI.mjs} +0 -0
  415. /package/dist/{base-orchestrator-B4YW6z_Q.d.mts → base-orchestrator-D9u4NyiM.d.mts} +0 -0
  416. /package/dist/{client-BG0WX5Vz.d.mts → client-4ihewPUm.d.mts} +0 -0
  417. /package/dist/{client-binary-version-verifier-0lCKZOTg.mjs → client-binary-version-verifier-DJajc_Ff.mjs} +0 -0
  418. /package/dist/{client-binary-version-verifier-lcv83Hq3.d.mts → client-binary-version-verifier-jDDZ64Ah.d.mts} +0 -0
  419. /package/dist/{clients-namespace-DLAjOTTb.d.mts → clients-namespace-DFWuUawf.d.mts} +0 -0
  420. /package/dist/{config-namespace-CH7sJZ4f.d.mts → config-namespace-D1kyZj0B.d.mts} +0 -0
  421. /package/dist/{create-static-mount-DxuixuLZ.mjs → create-static-mount-9tnGpIeK.mjs} +0 -0
  422. /package/dist/{cross-spawn-CZygZJMH.mjs → cross-spawn-BIgueAqr.mjs} +0 -0
  423. /package/dist/{cursor-storage-bsc9lZKk.mjs → cursor-storage-ROWfiTh1.mjs} +0 -0
  424. /package/dist/{definition-BrgzUuFk.d.mts → definition-DB-kKc0d.d.mts} +0 -0
  425. /package/dist/{definitions-CRpdnHYM.mjs → definitions-CF6YmEhL.mjs} +0 -0
  426. /package/dist/{descriptor-to-package-CcjdoWP4.mjs → descriptor-to-package-BecVCopf.mjs} +0 -0
  427. /package/dist/{drizzle-Bzc-OGVI.mjs → drizzle-CPv3vdTE.mjs} +0 -0
  428. /package/dist/{esm-i-S5TW72.mjs → esm-CBFWM8u_.mjs} +0 -0
  429. /package/dist/{extension-context-QmFuHdq5.d.mts → extension-context-DzB7ydM3.d.mts} +0 -0
  430. /package/dist/{extension-namespace-QoTTwKPt.mjs → extension-namespace-B554RmCp.mjs} +0 -0
  431. /package/dist/{extension-package-provenance-aYrZuS4W.mjs → extension-package-provenance-Dh_-Z-tE.mjs} +0 -0
  432. /package/dist/{facet-BnMh7Jyc.mjs → facet-DVsW12iF.mjs} +0 -0
  433. /package/dist/{filesystem-service-ZJ43SbBi.d.mts → filesystem-service-Cm2RHKBa.d.mts} +0 -0
  434. /package/dist/{handler-DF1fVDpf.mjs → handler-Bqlk-6BY.mjs} +0 -0
  435. /package/dist/{host-B-_ntOMH.mjs → host-k5yoyKHg.mjs} +0 -0
  436. /package/dist/{index-8NdPPzUh2.d.mts → index--atUpi5l2.d.mts} +0 -0
  437. /package/dist/{index-Ek4y8M9J2.d.mts → index-42UdYStR.d.mts} +0 -0
  438. /package/dist/{index-C4V8Pmi4.d.mts → index-BJAB-BW_.d.mts} +0 -0
  439. /package/dist/{index-l01zsChf.d.mts → index-BJMezANn.d.mts} +0 -0
  440. /package/dist/{index-D037TVsm.d.mts → index-BQprJNA_.d.mts} +0 -0
  441. /package/dist/{index-B4svZC6L.d.mts → index-BRCrFirq.d.mts} +0 -0
  442. /package/dist/{index-jxPncqWZ2.d.mts → index-BSbGB23v.d.mts} +0 -0
  443. /package/dist/{index-BMRB9yhF.d.mts → index-BVcQcphK.d.mts} +0 -0
  444. /package/dist/{index-B2Y1Wvbh.d.mts → index-BcvqDfcN.d.mts} +0 -0
  445. /package/dist/{index-DgspOUa72.d.mts → index-BeENojSx2.d.mts} +0 -0
  446. /package/dist/{index-VzLAV0Yt.d.mts → index-Beo_Ik8-.d.mts} +0 -0
  447. /package/dist/{index-CqdMbYmR.d.mts → index-BgGe9WZz.d.mts} +0 -0
  448. /package/dist/{index-kzIjbrS02.d.mts → index-Bqm0ahTQ.d.mts} +0 -0
  449. /package/dist/{index-B-3I98nw.d.mts → index-C7HcDpHE.d.mts} +0 -0
  450. /package/dist/{index-pvX-BIpr2.d.mts → index-CK3f0bAL.d.mts} +0 -0
  451. /package/dist/{index-B5dP8rj6.d.mts → index-CQuRTeRa.d.mts} +0 -0
  452. /package/dist/{index-BC-6qNeo.d.mts → index-CRmE88hi.d.mts} +0 -0
  453. /package/dist/{index-CVpaGijY.d.mts → index-CvW9_SzR.d.mts} +0 -0
  454. /package/dist/{index-BFWvT0NG.d.mts → index-CxSSdIZz.d.mts} +0 -0
  455. /package/dist/{index-BmevAPME2.d.mts → index-DBadVauL.d.mts} +0 -0
  456. /package/dist/{index-BM56936c.d.mts → index-DP3o_13U.d.mts} +0 -0
  457. /package/dist/{index-BfV8U4XX.d.mts → index-DgOfgjx3.d.mts} +0 -0
  458. /package/dist/{index-8y4hT9WL.d.mts → index-DwLRZscE.d.mts} +0 -0
  459. /package/dist/{index-CmbkCxj-.d.mts → index-E4SET1AA.d.mts} +0 -0
  460. /package/dist/{index-BuMsrli0.d.mts → index-OADt3xlS.d.mts} +0 -0
  461. /package/dist/{capability-service-BW1-teFU.d.mts → index-Ol9RBB0W2.d.mts} +0 -0
  462. /package/dist/{index-CL0Jo1b92.d.mts → index-aoxdnhJ42.d.mts} +0 -0
  463. /package/dist/{index-BTEJfzjE.d.mts → index-bIe_57cL.d.mts} +0 -0
  464. /package/dist/{jsonl-transport-Cyyh5Wje.mjs → jsonl-transport-Bp_6pB2a.mjs} +0 -0
  465. /package/dist/{lib-BqV8hYtk.mjs → lib-Bwdd2m81.mjs} +0 -0
  466. /package/dist/{model-registry-Cixxx2jv.mjs → model-registry-Y854mUml.mjs} +0 -0
  467. /package/dist/{model-registry-C9rFu3kV.mjs → model-registry-yURX738J.mjs} +0 -0
  468. /package/dist/{modes-DwsJ3yVl.mjs → modes-DmUsjHdV.mjs} +0 -0
  469. /package/dist/{namespace-jVTsuZHX.mjs → namespace-B9FEGuEu.mjs} +0 -0
  470. /package/dist/{namespace-NXm_zvL1.mjs → namespace-BFqkUTJp.mjs} +0 -0
  471. /package/dist/{namespace-BUYDmd0r.d.mts → namespace-Bi3CmYQy.d.mts} +0 -0
  472. /package/dist/{namespace-CVFaZv8x.d.mts → namespace-BusZERU8.d.mts} +0 -0
  473. /package/dist/{namespace-B0ftHlK3.d.mts → namespace-ByP1Iipi.d.mts} +0 -0
  474. /package/dist/{namespace-BGRHcrmp.d.mts → namespace-C1D77w7U.d.mts} +0 -0
  475. /package/dist/{namespace-Du0accdE.mjs → namespace-CFjdyNXG.mjs} +0 -0
  476. /package/dist/{namespace-DiwqpB-c.mjs → namespace-CfIW0hpQ.mjs} +0 -0
  477. /package/dist/{namespace-BW3Bfu9h.mjs → namespace-CkBbNFSU.mjs} +0 -0
  478. /package/dist/{namespace-DOezqDti.d.mts → namespace-CrDlawqu.d.mts} +0 -0
  479. /package/dist/{namespace-BdAK0lD8.d.mts → namespace-DX1Ec15L.d.mts} +0 -0
  480. /package/dist/{namespace-tjoxekmf.mjs → namespace-DbNWsPFY.mjs} +0 -0
  481. /package/dist/{namespace-CPG6u60N.d.mts → namespace-Dgg0uoe6.d.mts} +0 -0
  482. /package/dist/{namespace-l-HG1rLF.d.mts → namespace-DwZwGXgF.d.mts} +0 -0
  483. /package/dist/{namespace-DqZweTbX.d.mts → namespace-s2y_NFKf.d.mts} +0 -0
  484. /package/dist/{namespace-DBO1OzYB.d.mts → namespace-yREpGJgG.d.mts} +0 -0
  485. /package/dist/{out-8bOYN6EF.mjs → out-DrhwCgqM.mjs} +0 -0
  486. /package/dist/{package-EGTn-Ng1.mjs → package-CBdvjyyZ.mjs} +0 -0
  487. /package/dist/{packages-Bp124-gx.mjs → packages-FBv3fAOR.mjs} +0 -0
  488. /package/dist/{packages-CxPMEg8D.d.mts → packages-N3-2Kl-Y.d.mts} +0 -0
  489. /package/dist/{platform-CxyYPrkf.mjs → platform-BrsMv_S3.mjs} +0 -0
  490. /package/dist/{provider-operation-DbdyFwNm.d.mts → provider-operation-DJ_TLZFf.d.mts} +0 -0
  491. /package/dist/{providers-C-eekMxD.mjs → providers-CCcn4Ndp.mjs} +0 -0
  492. /package/dist/{providers-namespace-CfZKp-C0.d.mts → providers-namespace-DeJBh6MP.d.mts} +0 -0
  493. /package/dist/{quick-lru-CCEnf7y6.mjs → quick-lru-uwB0hP-y.mjs} +0 -0
  494. /package/dist/{schema-introspection-6-r_KEJQ.mjs → schema-introspection-C1wvklj9.mjs} +0 -0
  495. /package/dist/{schema-C0opCPww.mjs → schema-jIapW8Kb.mjs} +0 -0
  496. /package/dist/{schemas-BXc9qOpl.d.mts → schemas-B3bfVYcL.d.mts} +0 -0
  497. /package/dist/{schemas-BivbWRkG.mjs → schemas-BNdiVBWh.mjs} +0 -0
  498. /package/dist/{schemas-B6Q-qdmn.d.mts → schemas-CD0wOQxx.d.mts} +0 -0
  499. /package/dist/{schemas-B50oWBuj.d.mts → schemas-CeUI2i5j.d.mts} +0 -0
  500. /package/dist/{schemas-ChmQldVH.d.mts → schemas-Cg-Kwp8c.d.mts} +0 -0
  501. /package/dist/{schemas-Pe892GgN.d.mts → schemas-Cv3rR9Sz.d.mts} +0 -0
  502. /package/dist/{schemas-B8hKbBwI.mjs → schemas-DgwEVUt-.mjs} +0 -0
  503. /package/dist/{schemas-D7ScxLrf.d.mts → schemas-VbB1FTxx.d.mts} +0 -0
  504. /package/dist/{schemas-scyC2tFF.mjs → schemas-mLpOfMoN.mjs} +0 -0
  505. /package/dist/{schemas-bfZNpl0B.d.mts → schemas-qA279_j_.d.mts} +0 -0
  506. /package/dist/{schemas-BGvkTiCx.d.mts → schemas-sMoRnBdZ.d.mts} +0 -0
  507. /package/dist/{semver-BI7kTNsY.mjs → semver-DTXuyLcK.mjs} +0 -0
  508. /package/dist/{server-lifecycle-L8zja8t8.d.mts → server-lifecycle-C_8iKgat.d.mts} +0 -0
  509. /package/dist/{server-lifecycle-B_OZnoe-.mjs → server-lifecycle-DKx_fWlq.mjs} +0 -0
  510. /package/dist/{session-lineage-bUkd3fqx.d.mts → session-lineage-D5E142LU.d.mts} +0 -0
  511. /package/dist/{shared-schemas-CQ6blrEW.mjs → shared-schemas-aahW97QW.mjs} +0 -0
  512. /package/dist/{src-BacfeiI4.mjs → src-DHqsl5Pg.mjs} +0 -0
  513. /package/dist/{storage-namespace-BZce8kkW.mjs → storage-namespace-Dz2jsssp.mjs} +0 -0
  514. /package/dist/{storage-namespace-YmE8XCCL.d.mts → storage-namespace-Tf3P5yJ5.d.mts} +0 -0
  515. /package/dist/{storage-namespace-definition-Cca-zwXU.mjs → storage-namespace-definition-CDef0E20.mjs} +0 -0
  516. /package/dist/{supports-color-SV_FgSN2.mjs → supports-color-i7OTnKcZ.mjs} +0 -0
  517. /package/dist/{telemetry-BqoC87F-.mjs → telemetry-BvCBUjFg.mjs} +0 -0
  518. /package/dist/{timeout-DVlN2Zhy.mjs → timeout-B0nYjLc8.mjs} +0 -0
  519. /package/dist/{tray-menu-service-eVVxgPLc.mjs → tray-menu-service-Deo6yyP8.mjs} +0 -0
  520. /package/dist/{types-DdpSEmTO.d.mts → types-CNS55jvt.d.mts} +0 -0
  521. /package/dist/{types-tyv0B605.d.mts → types-Ce6LL25v.d.mts} +0 -0
  522. /package/dist/{types-BlB23n4f.d.mts → types-xCdGghb2.d.mts} +0 -0
  523. /package/dist/{ui-config-B35GloSX.mjs → ui-config-BIyGzMNL.mjs} +0 -0
  524. /package/dist/{variant-Dwnge3J_.mjs → variant-B4uWdxW7.mjs} +0 -0
  525. /package/dist/{window-registry-Pcf35cac.d.mts → window-registry-BLtVx3Iw.d.mts} +0 -0
  526. /package/dist/{window-registry-CKiMJjId.mjs → window-registry-CoBJq3u4.mjs} +0 -0
  527. /package/dist/{zod-json-schema-Dixc-B1T.mjs → zod-json-schema-BAGAFfCN.mjs} +0 -0
@@ -783,63 +783,6 @@ declare const SessionStorageNamespace$1: {
783
783
  }, {}, {
784
784
  length: number | undefined;
785
785
  }>;
786
- ownerMachineId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
787
- name: "owner_machine_id";
788
- tableName: "agents";
789
- dataType: "string";
790
- columnType: "SQLiteText";
791
- data: string;
792
- driverParam: string;
793
- notNull: false;
794
- hasDefault: false;
795
- isPrimaryKey: false;
796
- isAutoincrement: false;
797
- hasRuntimeDefault: false;
798
- enumValues: [string, ...string[]];
799
- baseColumn: never;
800
- identity: undefined;
801
- generated: undefined;
802
- }, {}, {
803
- length: number | undefined;
804
- }>;
805
- ownerInstanceId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
806
- name: "owner_instance_id";
807
- tableName: "agents";
808
- dataType: "string";
809
- columnType: "SQLiteText";
810
- data: string;
811
- driverParam: string;
812
- notNull: false;
813
- hasDefault: false;
814
- isPrimaryKey: false;
815
- isAutoincrement: false;
816
- hasRuntimeDefault: false;
817
- enumValues: [string, ...string[]];
818
- baseColumn: never;
819
- identity: undefined;
820
- generated: undefined;
821
- }, {}, {
822
- length: number | undefined;
823
- }>;
824
- recoveryAttemptId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
825
- name: "recovery_attempt_id";
826
- tableName: "agents";
827
- dataType: "string";
828
- columnType: "SQLiteText";
829
- data: string;
830
- driverParam: string;
831
- notNull: false;
832
- hasDefault: false;
833
- isPrimaryKey: false;
834
- isAutoincrement: false;
835
- hasRuntimeDefault: false;
836
- enumValues: [string, ...string[]];
837
- baseColumn: never;
838
- identity: undefined;
839
- generated: undefined;
840
- }, {}, {
841
- length: number | undefined;
842
- }>;
843
786
  adapterSessionId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
844
787
  name: "adapter_session_id";
845
788
  tableName: "agents";
@@ -1196,11 +1139,6 @@ declare const SessionStorageNamespace$1: {
1196
1139
  adapterId: _$zod.ZodString;
1197
1140
  adapterName: _$zod.ZodString;
1198
1141
  sessionId: _$zod.ZodString;
1199
- runtimeOwner: _$zod.ZodOptional<_$zod.ZodObject<{
1200
- machineId: _$zod.ZodString;
1201
- instanceId: _$zod.ZodString;
1202
- }, _$zod_v4_core0.$strip>>;
1203
- recoveryAttemptId: _$zod.ZodOptional<_$zod.ZodString>;
1204
1142
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
1205
1143
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
1206
1144
  currentAdapterSessionIdState: _$zod.ZodOptional<_$zod.ZodEnum<{
@@ -1338,11 +1276,6 @@ declare const SessionStorageNamespace$1: {
1338
1276
  adapterId: _$zod.ZodString;
1339
1277
  adapterName: _$zod.ZodString;
1340
1278
  sessionId: _$zod.ZodString;
1341
- runtimeOwner: _$zod.ZodOptional<_$zod.ZodObject<{
1342
- machineId: _$zod.ZodString;
1343
- instanceId: _$zod.ZodString;
1344
- }, _$zod_v4_core0.$strip>>;
1345
- recoveryAttemptId: _$zod.ZodOptional<_$zod.ZodString>;
1346
1279
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
1347
1280
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
1348
1281
  currentAdapterSessionIdState: _$zod.ZodOptional<_$zod.ZodEnum<{
@@ -1505,11 +1438,6 @@ declare const SessionStorageNamespace$1: {
1505
1438
  adapterId: _$zod.ZodString;
1506
1439
  adapterName: _$zod.ZodString;
1507
1440
  sessionId: _$zod.ZodString;
1508
- runtimeOwner: _$zod.ZodOptional<_$zod.ZodObject<{
1509
- machineId: _$zod.ZodString;
1510
- instanceId: _$zod.ZodString;
1511
- }, _$zod_v4_core0.$strip>>;
1512
- recoveryAttemptId: _$zod.ZodOptional<_$zod.ZodString>;
1513
1441
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
1514
1442
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
1515
1443
  currentAdapterSessionIdState: _$zod.ZodOptional<_$zod.ZodEnum<{
@@ -1687,11 +1615,6 @@ declare const SessionStorageNamespace$1: {
1687
1615
  adapterId: _$zod.ZodString;
1688
1616
  adapterName: _$zod.ZodString;
1689
1617
  sessionId: _$zod.ZodString;
1690
- runtimeOwner: _$zod.ZodOptional<_$zod.ZodObject<{
1691
- machineId: _$zod.ZodString;
1692
- instanceId: _$zod.ZodString;
1693
- }, _$zod_v4_core0.$strip>>;
1694
- recoveryAttemptId: _$zod.ZodOptional<_$zod.ZodString>;
1695
1618
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
1696
1619
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
1697
1620
  currentAdapterSessionIdState: _$zod.ZodOptional<_$zod.ZodEnum<{
@@ -1837,7 +1760,7 @@ declare const SessionStorageNamespace$1: {
1837
1760
  active: "active";
1838
1761
  archived: "archived";
1839
1762
  }>>>;
1840
- parentSessionId: _$zod.ZodOptional<_$zod.ZodNullable<_$zod.ZodString>>;
1763
+ parentSessionId: _$zod.ZodOptional<_$zod.ZodString>;
1841
1764
  contextInheritance: _$zod.ZodOptional<_$zod.ZodEnum<{
1842
1765
  none: "none";
1843
1766
  "parent-history": "parent-history";
@@ -1882,13 +1805,6 @@ declare const SessionStorageNamespace$1: {
1882
1805
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
1883
1806
  }, _$zod_v4_core0.$strip>>;
1884
1807
  expectIdentityOpenForLead: _$zod.ZodOptional<_$zod.ZodNullable<_$zod.ZodString>>;
1885
- reconcileAdapterSession: _$zod.ZodOptional<_$zod.ZodObject<{
1886
- agentId: _$zod.ZodString;
1887
- adapterName: _$zod.ZodString;
1888
- adapterId: _$zod.ZodString;
1889
- adapterSessionId: _$zod.ZodString;
1890
- lastActivityAt: _$zod.ZodNumber;
1891
- }, _$zod_v4_core0.$strip>>;
1892
1808
  }, _$zod_v4_core0.$strip>;
1893
1809
  response: _$zod.ZodObject<{
1894
1810
  success: _$zod.ZodBoolean;
@@ -1911,11 +1827,6 @@ declare const SessionStorageNamespace$1: {
1911
1827
  adapterId: _$zod.ZodString;
1912
1828
  adapterName: _$zod.ZodString;
1913
1829
  sessionId: _$zod.ZodString;
1914
- runtimeOwner: _$zod.ZodOptional<_$zod.ZodObject<{
1915
- machineId: _$zod.ZodString;
1916
- instanceId: _$zod.ZodString;
1917
- }, _$zod_v4_core0.$strip>>;
1918
- recoveryAttemptId: _$zod.ZodOptional<_$zod.ZodString>;
1919
1830
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
1920
1831
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
1921
1832
  currentAdapterSessionIdState: _$zod.ZodOptional<_$zod.ZodEnum<{
@@ -2203,11 +2114,6 @@ declare const SessionStorageNamespace$1: {
2203
2114
  adapterId: _$zod.ZodString;
2204
2115
  adapterName: _$zod.ZodString;
2205
2116
  sessionId: _$zod.ZodString;
2206
- runtimeOwner: _$zod.ZodOptional<_$zod.ZodObject<{
2207
- machineId: _$zod.ZodString;
2208
- instanceId: _$zod.ZodString;
2209
- }, _$zod_v4_core0.$strip>>;
2210
- recoveryAttemptId: _$zod.ZodOptional<_$zod.ZodString>;
2211
2117
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
2212
2118
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
2213
2119
  currentAdapterSessionIdState: _$zod.ZodOptional<_$zod.ZodEnum<{
@@ -2352,11 +2258,6 @@ declare const SessionStorageNamespace$1: {
2352
2258
  adapterId: _$zod.ZodString;
2353
2259
  adapterName: _$zod.ZodString;
2354
2260
  sessionId: _$zod.ZodString;
2355
- runtimeOwner: _$zod.ZodOptional<_$zod.ZodObject<{
2356
- machineId: _$zod.ZodString;
2357
- instanceId: _$zod.ZodString;
2358
- }, _$zod_v4_core0.$strip>>;
2359
- recoveryAttemptId: _$zod.ZodOptional<_$zod.ZodString>;
2360
2261
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
2361
2262
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
2362
2263
  currentAdapterSessionIdState: _$zod.ZodOptional<_$zod.ZodEnum<{
@@ -2522,11 +2423,6 @@ declare const SessionStorageNamespace$1: {
2522
2423
  adapterId: _$zod.ZodString;
2523
2424
  adapterName: _$zod.ZodString;
2524
2425
  sessionId: _$zod.ZodString;
2525
- runtimeOwner: _$zod.ZodOptional<_$zod.ZodObject<{
2526
- machineId: _$zod.ZodString;
2527
- instanceId: _$zod.ZodString;
2528
- }, _$zod_v4_core0.$strip>>;
2529
- recoveryAttemptId: _$zod.ZodOptional<_$zod.ZodString>;
2530
2426
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
2531
2427
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
2532
2428
  currentAdapterSessionIdState: _$zod.ZodOptional<_$zod.ZodEnum<{
@@ -2664,11 +2560,6 @@ declare const SessionStorageNamespace$1: {
2664
2560
  adapterId: _$zod.ZodString;
2665
2561
  adapterName: _$zod.ZodString;
2666
2562
  sessionId: _$zod.ZodString;
2667
- runtimeOwner: _$zod.ZodOptional<_$zod.ZodObject<{
2668
- machineId: _$zod.ZodString;
2669
- instanceId: _$zod.ZodString;
2670
- }, _$zod_v4_core0.$strip>>;
2671
- recoveryAttemptId: _$zod.ZodOptional<_$zod.ZodString>;
2672
2563
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
2673
2564
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
2674
2565
  currentAdapterSessionIdState: _$zod.ZodOptional<_$zod.ZodEnum<{
@@ -2831,11 +2722,6 @@ declare const SessionStorageNamespace$1: {
2831
2722
  adapterId: _$zod.ZodString;
2832
2723
  adapterName: _$zod.ZodString;
2833
2724
  sessionId: _$zod.ZodString;
2834
- runtimeOwner: _$zod.ZodOptional<_$zod.ZodObject<{
2835
- machineId: _$zod.ZodString;
2836
- instanceId: _$zod.ZodString;
2837
- }, _$zod_v4_core0.$strip>>;
2838
- recoveryAttemptId: _$zod.ZodOptional<_$zod.ZodString>;
2839
2725
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
2840
2726
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
2841
2727
  currentAdapterSessionIdState: _$zod.ZodOptional<_$zod.ZodEnum<{
@@ -3013,11 +2899,6 @@ declare const SessionStorageNamespace$1: {
3013
2899
  adapterId: _$zod.ZodString;
3014
2900
  adapterName: _$zod.ZodString;
3015
2901
  sessionId: _$zod.ZodString;
3016
- runtimeOwner: _$zod.ZodOptional<_$zod.ZodObject<{
3017
- machineId: _$zod.ZodString;
3018
- instanceId: _$zod.ZodString;
3019
- }, _$zod_v4_core0.$strip>>;
3020
- recoveryAttemptId: _$zod.ZodOptional<_$zod.ZodString>;
3021
2902
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
3022
2903
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
3023
2904
  currentAdapterSessionIdState: _$zod.ZodOptional<_$zod.ZodEnum<{
@@ -3163,7 +3044,7 @@ declare const SessionStorageNamespace$1: {
3163
3044
  active: "active";
3164
3045
  archived: "archived";
3165
3046
  }>>>;
3166
- parentSessionId: _$zod.ZodOptional<_$zod.ZodNullable<_$zod.ZodString>>;
3047
+ parentSessionId: _$zod.ZodOptional<_$zod.ZodString>;
3167
3048
  contextInheritance: _$zod.ZodOptional<_$zod.ZodEnum<{
3168
3049
  none: "none";
3169
3050
  "parent-history": "parent-history";
@@ -3208,13 +3089,6 @@ declare const SessionStorageNamespace$1: {
3208
3089
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
3209
3090
  }, _$zod_v4_core0.$strip>>;
3210
3091
  expectIdentityOpenForLead: _$zod.ZodOptional<_$zod.ZodNullable<_$zod.ZodString>>;
3211
- reconcileAdapterSession: _$zod.ZodOptional<_$zod.ZodObject<{
3212
- agentId: _$zod.ZodString;
3213
- adapterName: _$zod.ZodString;
3214
- adapterId: _$zod.ZodString;
3215
- adapterSessionId: _$zod.ZodString;
3216
- lastActivityAt: _$zod.ZodNumber;
3217
- }, _$zod_v4_core0.$strip>>;
3218
3092
  }, _$zod_v4_core0.$strip>;
3219
3093
  response: _$zod.ZodObject<{
3220
3094
  success: _$zod.ZodBoolean;
@@ -3237,11 +3111,6 @@ declare const SessionStorageNamespace$1: {
3237
3111
  adapterId: _$zod.ZodString;
3238
3112
  adapterName: _$zod.ZodString;
3239
3113
  sessionId: _$zod.ZodString;
3240
- runtimeOwner: _$zod.ZodOptional<_$zod.ZodObject<{
3241
- machineId: _$zod.ZodString;
3242
- instanceId: _$zod.ZodString;
3243
- }, _$zod_v4_core0.$strip>>;
3244
- recoveryAttemptId: _$zod.ZodOptional<_$zod.ZodString>;
3245
3114
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
3246
3115
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
3247
3116
  currentAdapterSessionIdState: _$zod.ZodOptional<_$zod.ZodEnum<{
@@ -3529,11 +3398,6 @@ declare const SessionStorageNamespace$1: {
3529
3398
  adapterId: _$zod.ZodString;
3530
3399
  adapterName: _$zod.ZodString;
3531
3400
  sessionId: _$zod.ZodString;
3532
- runtimeOwner: _$zod.ZodOptional<_$zod.ZodObject<{
3533
- machineId: _$zod.ZodString;
3534
- instanceId: _$zod.ZodString;
3535
- }, _$zod_v4_core0.$strip>>;
3536
- recoveryAttemptId: _$zod.ZodOptional<_$zod.ZodString>;
3537
3401
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
3538
3402
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
3539
3403
  currentAdapterSessionIdState: _$zod.ZodOptional<_$zod.ZodEnum<{
@@ -3678,11 +3542,6 @@ declare const SessionStorageNamespace$1: {
3678
3542
  adapterId: _$zod.ZodString;
3679
3543
  adapterName: _$zod.ZodString;
3680
3544
  sessionId: _$zod.ZodString;
3681
- runtimeOwner: _$zod.ZodOptional<_$zod.ZodObject<{
3682
- machineId: _$zod.ZodString;
3683
- instanceId: _$zod.ZodString;
3684
- }, _$zod_v4_core0.$strip>>;
3685
- recoveryAttemptId: _$zod.ZodOptional<_$zod.ZodString>;
3686
3545
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
3687
3546
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
3688
3547
  currentAdapterSessionIdState: _$zod.ZodOptional<_$zod.ZodEnum<{
@@ -3855,11 +3714,6 @@ declare const SessionStorageNamespace$1: {
3855
3714
  status: "idle" | "active" | "starting" | "dead" | "disposed";
3856
3715
  createdAt: number;
3857
3716
  lastActivityAt: number;
3858
- runtimeOwner?: {
3859
- machineId: string;
3860
- instanceId: string;
3861
- } | undefined;
3862
- recoveryAttemptId?: string | undefined;
3863
3717
  adapterSessionId?: string | undefined;
3864
3718
  currentAdapterSessionId?: string | undefined;
3865
3719
  currentAdapterSessionIdState?: "confirmed" | "moved" | "inherited" | undefined;
@@ -3933,12 +3787,6 @@ declare const SessionStorageNamespace$1: {
3933
3787
  adapterName: string;
3934
3788
  adapterId: string;
3935
3789
  adapterSessionId?: string | undefined;
3936
- } | {
3937
- agentId: string;
3938
- adapterName: string;
3939
- adapterId: string;
3940
- adapterSessionId: string;
3941
- lastActivityAt: number;
3942
3790
  } | null;
3943
3791
  } | undefined;
3944
3792
  };
@@ -1 +1 @@
1
- import{r as e}from"./profile-N5qGUpF0.mjs";import{z as t}from"zod";import{createBusNamespace as n}from"@makaio/framework/core";const r=t.enum([`running`,`stopped`,`exited`,`unknown`]),i={request:t.object({clientId:t.string(),cwd:t.string(),command:t.string(),args:t.array(t.string()),env:t.record(t.string(),t.string()).optional(),sessionId:t.string().optional(),clientProfileName:e.optional(),adapterSessionId:t.string().optional(),metadata:t.record(t.string(),t.unknown()).optional()}),response:t.object({supervisorSessionId:t.string(),pid:t.number().int().positive()})},a={request:t.union([t.object({supervisorSessionId:t.string()}).strict(),t.object({sessionId:t.string()}).strict(),t.object({adapterSessionId:t.string()}).strict()]),response:t.object({success:t.boolean(),supervisorSessionId:t.string().optional(),pid:t.number().int().positive().optional(),terminalAttachment:t.object({canAttach:t.boolean()}).optional()})},o={request:t.object({supervisorSessionId:t.string(),signal:t.string().optional()}),response:t.object({success:t.boolean()})},s=t.object({supervisorSessionId:t.string(),clientId:t.string(),pid:t.number().int().positive().nullable(),status:r,cwd:t.string(),sessionId:t.string().optional(),adapterSessionId:t.string().optional(),startedAt:t.number().int().nonnegative(),stoppedAt:t.number().int().nonnegative().optional()}),c={request:t.union([t.object({}).strict(),t.object({supervisorSessionId:t.string()}).strict(),t.object({sessionId:t.string()}).strict(),t.object({adapterSessionId:t.string()}).strict()]),response:t.object({runtimes:t.array(s)})},l={launch:i,attach:a,stop:o,status:c},u=n(`native-session-supervisor`,l),d=u.subjects;export{i as a,s as c,a as i,r as l,d as n,c as o,l as r,o as s,u as t};
1
+ import{r as e}from"./profile-BtznZlq3.mjs";import{z as t}from"zod";import{createBusNamespace as n}from"@makaio/framework/core";const r=t.enum([`running`,`stopped`,`exited`,`unknown`]),i={request:t.object({clientId:t.string(),cwd:t.string(),command:t.string(),args:t.array(t.string()),env:t.record(t.string(),t.string()).optional(),sessionId:t.string().optional(),clientProfileName:e.optional(),adapterSessionId:t.string().optional(),metadata:t.record(t.string(),t.unknown()).optional()}),response:t.object({supervisorSessionId:t.string(),pid:t.number().int().positive()})},a={request:t.union([t.object({supervisorSessionId:t.string()}).strict(),t.object({sessionId:t.string()}).strict(),t.object({adapterSessionId:t.string()}).strict()]),response:t.object({success:t.boolean(),supervisorSessionId:t.string().optional(),pid:t.number().int().positive().optional(),terminalAttachment:t.object({canAttach:t.boolean()}).optional()})},o={request:t.object({supervisorSessionId:t.string(),signal:t.string().optional()}),response:t.object({success:t.boolean()})},s=t.object({supervisorSessionId:t.string(),clientId:t.string(),pid:t.number().int().positive().nullable(),status:r,cwd:t.string(),sessionId:t.string().optional(),adapterSessionId:t.string().optional(),startedAt:t.number().int().nonnegative(),stoppedAt:t.number().int().nonnegative().optional()}),c={request:t.union([t.object({}).strict(),t.object({supervisorSessionId:t.string()}).strict(),t.object({sessionId:t.string()}).strict(),t.object({adapterSessionId:t.string()}).strict()]),response:t.object({runtimes:t.array(s)})},l={launch:i,attach:a,stop:o,status:c},u=n(`native-session-supervisor`,l),d=u.subjects;export{i as a,s as c,a as i,r as l,d as n,c as o,l as r,o as s,u as t};
@@ -1,4 +1,4 @@
1
- import { i as BusServerConfig, n as startBusServer, r as BusServer, t as StartBusServerOptions } from "../../server-lifecycle-L8zja8t8.mjs";
1
+ import { i as BusServerConfig, n as startBusServer, r as BusServer, t as StartBusServerOptions } from "../../server-lifecycle-C_8iKgat.mjs";
2
2
  import { BusBroadcastMessage, BusMessage, BusRequestMessage, BusTransport, BusTransportError } from "@makaio/framework/bus";
3
3
  import { TransportAuth, WebSocketLike, WebSocketServerLike, WebSocketServerLike as WebSocketServerLike$1 } from "@makaio/framework/node/transports";
4
4
 
@@ -1 +1 @@
1
- import{n as e,r as t,t as n}from"../../server-lifecycle-B_OZnoe-.mjs";var r=class{connectionListeners=new Set;on(e,t){e===`connection`&&this.connectionListeners.add(t)}off(e,t){e===`connection`&&this.connectionListeners.delete(t)}close(e){this.connectionListeners.clear(),e?.()}accept(e){for(let t of this.connectionListeners)t(e)}};export{r as HonoWebSocketBridge,t as LoopbackTransport,e as createBusServer,n as startBusServer};
1
+ import{n as e,r as t,t as n}from"../../server-lifecycle-DKx_fWlq.mjs";var r=class{connectionListeners=new Set;on(e,t){e===`connection`&&this.connectionListeners.add(t)}off(e,t){e===`connection`&&this.connectionListeners.delete(t)}close(e){this.connectionListeners.clear(),e?.()}accept(e){for(let t of this.connectionListeners)t(e)}};export{r as HonoWebSocketBridge,t as LoopbackTransport,e as createBusServer,n as startBusServer};
@@ -1,2 +1,2 @@
1
- import { n as startBusServer, t as StartBusServerOptions } from "../../server-lifecycle-L8zja8t8.mjs";
1
+ import { n as startBusServer, t as StartBusServerOptions } from "../../server-lifecycle-C_8iKgat.mjs";
2
2
  export { StartBusServerOptions, startBusServer };
@@ -1 +1 @@
1
- import{t as e}from"../../server-lifecycle-B_OZnoe-.mjs";export{e as startBusServer};
1
+ import{t as e}from"../../server-lifecycle-DKx_fWlq.mjs";export{e as startBusServer};
@@ -13,6 +13,13 @@ declare function resetBusHandlers(): void;
13
13
  * @param ms - Milliseconds to wait (default 10ms)
14
14
  */
15
15
  declare function waitForAsync(ms?: number): Promise<void>;
16
+ /**
17
+ * Creates a test agent with sensible defaults.
18
+ * @param agentId - The agent identifier
19
+ * @param overrides - Optional overrides for agent properties
20
+ * @returns A MakaioSessionAgent for testing
21
+ */
22
+ declare function createTestAgent(agentId: string, overrides?: Partial<MakaioSessionAgent>): MakaioSessionAgent;
16
23
  /**
17
24
  * Emit `adapter.initialized` for tests that intentionally exercise the
18
25
  * AdapterRegistry event cache or reverse adapter-name lookup.
@@ -22,9 +29,8 @@ declare function waitForAsync(ms?: number): Promise<void>;
22
29
  * runtime identity handlers unless they specifically need the event cache.
23
30
  * @param adapterName - Adapter type name (e.g., `'test-adapter'`)
24
31
  * @param adapterId - Adapter instance ID. Defaults to `adapterName` for test simplicity.
25
- * @param machineId - Machine that announced the adapter instance.
26
32
  */
27
- declare function emitAdapterInitialized(adapterName: string, adapterId?: string, machineId?: string): Promise<void>;
33
+ declare function emitAdapterInitialized(adapterName: string, adapterId?: string): Promise<void>;
28
34
  /**
29
35
  * Query stored session events.
30
36
  * @param sessionId - Session ID to query
@@ -115,13 +121,8 @@ declare function collectUserMessageAcknowledgedEvents(unsubs: UnsubscribeFunctio
115
121
  declare function collectUserMessageCompletedEvents(unsubs: UnsubscribeFunction[]): EventCollector<UserMessageCompletedPayload>;
116
122
  //#endregion
117
123
  //#region services/core/src/session/testing/orchestrator-shared.d.ts
118
- /**
119
- * Create an agent row owned by the mock runtime unless a test explicitly models a legacy row.
120
- * @param agentId - The agent identifier.
121
- * @param overrides - Optional persisted-agent fields to override.
122
- * @returns A test agent with the mock runtime owner.
123
- */
124
- declare function createMockAgent(agentId: string, overrides?: Partial<MakaioSessionAgent>): MakaioSessionAgent;
124
+ /** Alias for {@link createTestAgent} - kept for orchestrator test naming consistency. */
125
+ declare const createMockAgent: typeof createTestAgent;
125
126
  /** Configuration for creating mock sessions. */
126
127
  interface MockSessionConfig {
127
128
  sessionId: string;
@@ -0,0 +1 @@
1
+ import{n as e}from"./namespace-B7bntOB8.mjs";import"./ownership-memory-handler-Bblp93YC.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({success:!0})})}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=t.payload.agentId??`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,dispatch:`not-dispatched`,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=t.payload.agentId??`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};
@@ -0,0 +1 @@
1
+ import{SessionStorageSubjects as e}from"./services/session/storage/namespace.mjs";import{n as t}from"./agent-namespace-D51PODFf.mjs";import{SessionOwnershipStorageSubjects as n,SessionStorageSetRequestSchema as r,SessionStorageUpdateSchema as i,SessionSubjects as a,resolveResumableAdapterSessionId as o}from"@makaio/framework/contracts";function s(){return{sessions:new Map,agents:new Map,claims:new Map}}function c(e,t){for(let[n,r]of e.claims)t(r)&&e.claims.delete(n)}function l(e,t){let n=e?.clientAccountId??null,r=t.clientAccountId??null;return!r||n===r?null:{previousClientAccountId:n,clientAccountId:r}}function u(e,t){let n=t.lastClientIdentityObservation;if(t.clientAccountId!==void 0&&!n)throw Error(`Session "${t.sessionId}" cannot persist clientAccountId without lastClientIdentityObservation`);if(t.clientAccountId!==void 0&&t.clientId===void 0)throw Error(`Session "${t.sessionId}" cannot persist clientAccountId without clientId`);if(n&&t.clientId!==void 0&&t.clientId!==n.clientId)throw Error(`Session "${t.sessionId}" cannot persist clientId "${t.clientId}" because lastClientIdentityObservation belongs to "${n.clientId}"`)}function d(e,t,n){let r=l(t,n);if(!r)return;let i=n.lastClientIdentityObservation;if(!i)return;let o={sessionId:n.sessionId,clientId:i.clientId,previousClientAccountId:r.previousClientAccountId,clientAccountId:r.clientAccountId,source:i.source,observedAt:i.observedAt,lastClientIdentityObservation:structuredClone(i)};queueMicrotask(()=>{Promise.resolve().then(()=>e.emit(a.clientAccount.changed,o)).catch(e=>{console.error(`[SessionStorage] Failed to emit session.clientAccount.changed:`,e)})})}function f(e){switch(e){case`fork`:return`fork`;case`subagent`:return`subagent`;case`compress`:return`compress`;case`root`:return;default:return}}function ee(e){switch(e.kind){case`root`:return{kind:`root`,parentAdapterSessionId:null,forkPointMessageId:null};case`fork`:return{kind:`fork`,parentAdapterSessionId:e.parentAdapterSessionId,forkPointMessageId:e.forkPointMessageId};case`subagent`:return{kind:`subagent`,parentAdapterSessionId:e.parentAdapterSessionId,forkPointMessageId:null};case`compress`:return{kind:`compress`,parentAdapterSessionId:e.parentAdapterSessionId,forkPointMessageId:null};default:return e.kind}}function p(){let e=0;return()=>{let t=Date.now();return e=t>e?t:e+1,e}}function m(e){return e.activation===`live`?`active`:`discovered`}const te=p();function ne(e,t){return e===`imported`||t===`imported`?`imported`:e===`tracking`||t===`tracking`?`tracking`:e??t??`discovered`}function h(e,t,n){n!==void 0&&(e[t]=n)}function re(e){return e.status===`closed`||e.status===`archived`||e.status===`active`&&e.isImported===!0}function g(e,t,n){if(!re(e)){if(n===`live`){e.status===`discovered`&&(e.status=`active`);return}t===`discovered`&&(e.status=`discovered`)}}function _(e,t,n){let r=e.startedAt??n,i=f(e.kind);return{sessionId:t,createdAt:r,lastActivityAt:r,agents:[],status:m(e),branchKind:i,adapterName:e.source,adapterSessionId:e.externalSessionId,adapterId:e.adapterId,clientId:e.clientId,isOrchestrated:!1,isImported:!0,title:e.title??void 0,targetWorkingDirectory:e.cwd??void 0,source:e.source,parentExternalSessionId:e.parentAdapterSessionId??void 0,logFilePath:e.logFilePath??void 0,discoveredAt:n,importStatus:e.importStatus??`discovered`,forkPointMessageId:e.forkPointMessageId??void 0,metadata:e.metadata,lastClientIdentityObservation:e.lastClientIdentityObservation,isSidechain:e.isSidechain,machineId:e.machineId??void 0}}function v(e,t,n){let r=ne(e.importStatus,t.importStatus);g(e,r,t.activation),e.isImported=!0,e.importStatus=r,e.adapterName??=t.source,e.adapterSessionId??=t.externalSessionId,e.source??=t.source,e.discoveredAt??=n}function y(e,t){t.logFilePath!==void 0&&t.logFilePath!==null&&(e.logFilePath??=t.logFilePath),t.cwd!==null&&(e.targetWorkingDirectory=t.cwd),t.title!==void 0&&t.title!==null&&(e.title=t.title),e.forkPointMessageId===void 0&&t.forkPointMessageId!==null&&(e.forkPointMessageId=t.forkPointMessageId),e.parentExternalSessionId===void 0&&t.parentAdapterSessionId!==null&&(e.parentExternalSessionId=t.parentAdapterSessionId);let n=f(t.kind);n!==void 0&&e.branchKind===void 0&&(e.branchKind=n),h(e,`adapterId`,t.adapterId),h(e,`clientId`,t.clientId),t.metadata!==void 0&&(e.metadata={...t.metadata,...e.metadata??{}}),h(e,`isSidechain`,t.isSidechain),h(e,`lastClientIdentityObservation`,t.lastClientIdentityObservation),t.machineId===null?e.machineId=void 0:t.machineId!==void 0&&(e.machineId??=t.machineId)}function b(e,t,n){t.startedAt!==void 0&&((n===void 0||e.createdAt===n)&&(e.createdAt=t.startedAt),(n===void 0||e.lastActivityAt===n)&&(e.lastActivityAt=t.startedAt))}function x(e,t,n){let r=e.discoveredAt;v(e,t,n),y(e,t),b(e,t,r)}function S(e,t){if(t.parentExternalSessionId===void 0)return;let n=t.source??t.adapterName,r=Array.from(e.values()).find(e=>e.adapterSessionId===t.parentExternalSessionId&&(e.source??e.adapterName)===n);r&&(t.parentSessionId=r.sessionId,t.rootSessionId=r.rootSessionId??r.sessionId)}function ie(e,t,n){if(n){e.emit(a.created,{sessionId:t.sessionId,parentSessionId:t.parentSessionId??null,branchKind:t.branchKind??null,createdAt:t.createdAt}).catch(e=>console.error(`[SessionStorage] Failed to emit session.created:`,e));return}e.emit(a.updated,{sessionId:t.sessionId,changedProperties:[`source`,`targetWorkingDirectory`,`title`]}).catch(e=>console.error(`[SessionStorage] Failed to emit session.updated:`,e))}function ae(e){let t=0,n=0,r=0;for(let i of e)i.importStatus===`imported`&&(t+=1),i.importStatus===`tracking`&&(n+=1),i.importStatus===`discovered`&&(r+=1);return{total:e.length,imported:t,tracking:n,discovered:r}}function C(e,t,n){return Array.from(e.values()).find(e=>e.adapterSessionId===n&&e.source===t)}function oe(e,t){let n=[];return t.cwd!==void 0&&(e.targetWorkingDirectory=t.cwd,n.push(`targetWorkingDirectory`)),t.logFilePath!==void 0&&(e.logFilePath=t.logFilePath,n.push(`logFilePath`)),t.machineId!==void 0&&(e.machineId=t.machineId??void 0,n.push(`machineId`)),n}function se(e,t,n){e.emit(a.importStatusChanged,{sessionId:t.sessionId,importStatus:n}).catch(e=>console.error(`[SessionStorage] Failed to emit session.importStatusChanged:`,e));let r=t.source??t.adapterName;n!==`imported`||t.adapterSessionId===void 0||r===void 0||e.emit(a.import.completed,{sessionId:t.sessionId,adapterSessionId:t.adapterSessionId,source:r}).catch(e=>console.error(`[SessionStorage] Failed to emit session.import.completed:`,e))}function ce(t,n){return t.on(e.rebindObserved,e=>{let r=e.payload,i=C(n,r.source,r.externalSessionId);if(!i){e.setResult({outcome:`not-found`});return}let o=oe(i,r);e.setResult({outcome:`rebound`,sessionId:i.sessionId}),o.length>0&&t.emit(a.updated,{sessionId:i.sessionId,changedProperties:o}).catch(e=>console.error(`[SessionStorage] Failed to emit session.updated:`,e))})}function le(t){let{bus:n,store:r,cloneSession:i,populateAgents:a}=t;return[n.on(e.importUpsert,e=>{let t=e.payload,i=C(r,t.source,t.externalSessionId),a=te(),o=i===void 0,s=i??_(t,crypto.randomUUID(),a);i?(x(i,t,a),i.parentExternalSessionId!==void 0&&i.parentSessionId===void 0&&S(r,i)):(r.set(s.sessionId,s),S(r,s)),ie(n,s,o),e.setResult({sessionId:s.sessionId,created:o})}),ce(n,r),n.on(e.getByLogFilePath,async e=>{let t=Array.from(r.values()).find(t=>t.logFilePath===e.payload.logFilePath);if(!t){e.setResult({session:null});return}let o=await a(n,t.sessionId);e.setResult({session:{...i(t),agents:o}})}),n.on(e.listImported,async e=>{let{source:t,importStatus:o}=e.payload,s=Array.from(r.values()).filter(e=>e.isImported===!0).filter(e=>t===void 0||e.source===t).filter(e=>o===void 0||e.importStatus===o).sort((e,t)=>t.createdAt-e.createdAt),c=await Promise.all(s.map(async e=>({...i(e),agents:await a(n,e.sessionId)})));e.setResult({sessions:c})}),n.on(e.countBySource,e=>{let t=Array.from(r.values()).filter(t=>t.isImported===!0&&t.source===e.payload.source);e.setResult(ae(t))}),n.on(e.updateImportStatus,e=>{let t=r.get(e.payload.sessionId),i=e.payload.importStatus;if(!t||t.importStatus===i){e.setResult({success:!1});return}t.importStatus=i,i===`imported`&&t.status===`discovered`&&(t.status=`active`),e.setResult({success:!0}),se(n,t,i)})]}function w(e,t){let n=t.expectIdentityOpenForLead;return n===void 0?!1:e.adapterName!==void 0||e.adapterId!==void 0?!0:(e.leadAgentId??null)!==n}async function T(e,n){let r=await e.requestOptional(t.listBySession,{sessionId:n});return r.handled?r.data.agents:[]}function E(e){return structuredClone(e)}function D(e,t,n){n!==void 0&&(e[t]=n)}function O(e,t,n){n!==void 0&&(e[t]=n??void 0)}function k(e,t){let n=e;return t.status!==`all`&&(n=n.filter(e=>e.status===t.status)),t.executionTargetId!==void 0&&(n=n.filter(e=>e.executionTargetId===t.executionTargetId)),n}function A(e,t){e.currentAdapterSessionId=t?.currentAdapterSessionId,e.currentAdapterSessionIdState=t?.currentAdapterSessionIdState??`inherited`,t!==null&&(e.leadAgentId=t.leadAgentId)}function j(e,t){D(e,`status`,t.status),D(e,`parentSessionId`,t.parentSessionId),D(e,`contextInheritance`,t.contextInheritance),D(e,`rootSessionId`,t.rootSessionId),D(e,`forkPointMessageId`,t.forkPointMessageId),D(e,`branchKind`,t.branchKind),D(e,`isOrchestrated`,t.isOrchestrated),D(e,`clientId`,t.clientId),D(e,`clientAccountId`,t.clientAccountId),D(e,`lastClientIdentityObservation`,t.lastClientIdentityObservation),D(e,`title`,t.title),D(e,`targetWorkingDirectory`,t.targetWorkingDirectory),D(e,`createdAt`,t.createdAt),D(e,`lastActivityAt`,t.lastActivityAt),D(e,`machineId`,t.machineId),t.identity!==void 0&&(e.adapterName=t.identity.adapterName,e.adapterId=t.identity.adapterId,D(e,`adapterSessionId`,t.identity.adapterSessionId)),O(e,`executionTargetId`,t.executionTargetId),O(e,`approvalPolicyOverride`,t.approvalPolicyOverride),O(e,`metadata`,t.metadata),t.spawningToolCallId===null?e.spawningToolCallId=void 0:t.spawningToolCallId!==void 0&&e.spawningToolCallId===void 0&&(e.spawningToolCallId=t.spawningToolCallId)}function M(t,n){return t.on(e.list,async e=>{let{status:r=`all`,limit:i,offset:a=0,includePreview:o=!1,executionTargetId:s}=e.payload,c=k(Array.from(n.values()),{status:r,executionTargetId:s});c.sort((e,t)=>t.lastActivityAt-e.lastActivityAt);let l=c.length;i!==void 0&&(c=c.slice(a,a+i));let u=await Promise.all(c.map(async e=>({...E(e),agents:await T(t,e.sessionId)}))),d=o?u.map(e=>({...e,preview:{messageCount:0,firstUserMessage:null}})):u;e.setResult({sessions:d,total:l})})}function N(t,n){return t.on(e.update,async e=>{let r=structuredClone(i.request.parse(e.payload)),a=n.get(r.sessionId);if(!a){e.setResult({success:!1,clientAccountChanged:!1});return}if(r.expectedStatus!==void 0&&!r.expectedStatus.includes(a.status)){e.setResult({success:!1,clientAccountChanged:!1});return}if(w(a,r)){e.setResult({success:!1,clientAccountChanged:!1});return}let o=E(a);u(o,{sessionId:a.sessionId,clientId:r.clientId??a.clientId,clientAccountId:r.clientAccountId??a.clientAccountId,lastClientIdentityObservation:r.lastClientIdentityObservation??a.lastClientIdentityObservation}),j(a,r),e.setResult({success:!0,clientAccountChanged:(o.clientAccountId??null)!==(a.clientAccountId??null)}),d(t,o,E(a))})}function P(t,n=s()){let i=n.sessions,a=[];return a.push(t.on(e.get,async e=>{let n=i.get(e.payload.sessionId);if(!n){e.setResult({session:null});return}let r=await T(t,e.payload.sessionId);e.setResult({session:{...E(n),agents:r}})})),a.push(t.on(e.set,async e=>{let{sessionId:n,session:a,ifAbsent:o}=r.parse(e.payload);if(o&&i.has(n)){e.setResult({success:!1,clientAccountChanged:!1});return}let s=structuredClone(a),c=i.get(n)??null,l=c?E(c):null;A(s,l),u(c,s),i.set(n,s),e.setResult({success:!0,clientAccountChanged:(l?.clientAccountId??null)!==(s.clientAccountId??null)}),d(t,l,E(s))})),a.push(t.on(e.delete,async e=>{let t=new Set;for(let[r,i]of n.agents)i.sessionId===e.payload.sessionId&&(t.add(r),n.agents.delete(r));c(n,n=>n.sessionId===e.payload.sessionId||t.has(n.agentId)),i.delete(e.payload.sessionId),e.setResult({success:!0}),await e.next()})),a.push(M(t,i)),a.push(t.on(e.getChildren,e=>{let{sessionId:t}=e.payload,n=Array.from(i.values()),r=n.filter(e=>e.parentSessionId===t),a=new Set(n.map(e=>e.parentSessionId).filter(e=>!!e)),o=r.map(e=>({sessionId:e.sessionId,title:e.title??null,forkPointMessageId:e.forkPointMessageId??null,branchKind:e.branchKind??null,messageCount:0,hasChildren:a.has(e.sessionId),spawningToolCallId:e.spawningToolCallId}));e.setResult({children:o})})),a.push(t.on(e.getStatusCounts,e=>{e.payload;let t=Array.from(i.values()),n=t.filter(e=>e.status===`active`).length,r=t.filter(e=>e.status===`closed`).length,a=t.filter(e=>e.status===`archived`).length,o=t.filter(e=>e.status===`discovered`).length;e.setResult({all:n+r+a+o,active:n,closed:r,archived:a,discovered:o})})),a.push(N(t,i)),a.push(F(t,i)),a.push(...le({bus:t,store:i,populateAgents:T,cloneSession:E})),()=>a.forEach(e=>e())}function F(n,r){return n.on(e.getByAdapterSessionId,async e=>{let{adapterSessionId:i,source:a,adapterName:o}=e.payload,s=Array.from(r.values()).filter(e=>e.adapterSessionId!==void 0&&e.adapterSessionId===i&&(a===void 0||e.source===a)&&(o===void 0||e.adapterName===o)),c=s[0];if(s.length!==1||c===void 0){e.setResult({session:null});return}let l=await n.requestOptional(t.listBySession,{sessionId:c.sessionId}),u=l.handled?l.data.agents:[];e.setResult({session:{...E(c),agents:u}})})}function I(e){return structuredClone(e)}function L(e,t){let{adapterId:n,adapterSessionId:r,cwd:i,model:a,allowedDirectories:o,providerConfigId:s}=t;return n===void 0&&r===void 0&&i===void 0&&a===void 0&&o===void 0&&s===void 0?!1:(n!==void 0&&(e.adapterId=n),r!==void 0&&(e.adapterSessionId=r),i!==void 0&&(e.cwd=i),a!==void 0&&(e.model=a),o!==void 0&&(e.allowedDirectories=o),s===null?delete e.providerConfigId:s!==void 0&&(e.providerConfigId=s),!0)}function R(e){return{status:e.status,adapterSessionId:e.adapterSessionId,currentAdapterSessionId:e.currentAdapterSessionId,currentAdapterSessionIdState:e.currentAdapterSessionIdState,revision:e.revision,currencyFence:e.currencyFence}}function z(e,t,n){let r=e.get(t),i=r===void 0?void 0:R(r);e.set(t,{...structuredClone(n),status:i?.status===`disposed`?`disposed`:n.status,adapterSessionId:i===void 0?n.adapterSessionId:i.adapterSessionId,currentAdapterSessionId:i?.currentAdapterSessionId,currentAdapterSessionIdState:i?.currentAdapterSessionIdState??`inherited`,revision:i?.revision??0,currencyFence:i?.currencyFence??0})}function B(e,t,n){let r=e.get(t);return r===void 0?!1:n(r)}function V(e,t,n,r){let i=e.get(t);return i===void 0?{success:!1,transitioned:!1}:i.status===`disposed`||r!==void 0&&!r.includes(i.status)?{success:!0,transitioned:!1}:(i.status=n,i.lastActivityAt=Date.now(),{success:!0,transitioned:!0})}function H(e,t){return c(e,e=>e.agentId===t),e.agents.delete(t)}function U(e,n=s()){let r=n.agents,i=[];return i.push(e.on(t.get,e=>{let t=r.get(e.payload.agentId);e.setResult({agent:t===void 0?null:I(t)})})),i.push(e.on(t.set,e=>{z(r,e.payload.agentId,e.payload.agent),e.setResult({success:!0})})),i.push(e.on(t.delete,e=>{e.setResult({success:H(n,e.payload.agentId)})})),i.push(e.on(t.listByAdapter,e=>{let{adapterName:t,status:n}=e.payload,i=Array.from(r.values()).filter(e=>e.adapterName===t);n&&n!==`all`&&(i=i.filter(e=>e.status===n)),e.setResult({agents:i.map(I)})})),i.push(e.on(t.listBySession,e=>{let t=Array.from(r.values()).filter(t=>t.sessionId===e.payload.sessionId);e.setResult({agents:t.map(I)})})),i.push(e.on(t.updateStatus,e=>{let{agentId:t,status:n,expectedStatus:i}=e.payload;e.setResult(V(r,t,n,i))})),i.push(e.on(t.updateActivity,e=>{let t=B(r,e.payload.agentId,t=>(t.lastActivityAt=e.payload.lastActivityAt,!0));e.setResult({success:t})})),i.push(e.on(t.updateRuntime,e=>{let{adapterId:t,adapterSessionId:n,cwd:i,model:a,allowedDirectories:o,providerConfigId:s}=e.payload,c=B(r,e.payload.agentId,e=>L(e,{adapterId:t,adapterSessionId:n,cwd:i,model:a,allowedDirectories:o,providerConfigId:s})?(e.lastActivityAt=Date.now(),!0):!1);e.setResult({success:c})})),()=>i.forEach(e=>e())}function W(e,t,n,r){for(let i of e.values())if(i.machineId===t&&i.adapterId===n&&i.providerSessionId===r)return i}function G(e,t){for(let n of e.values())if(n.claimToken===t)return n}function ue(e,t){let n=0;for(let r of e.values())r.agentId===t&&r.fence>n&&(n=r.fence);return n}function K(e,t,n){let r=e.agents.get(t)?.currencyFence??0;return 1+Math.max(n,r,ue(e.claims,t))}function q(e,t){let n=e.currentAdapterSessionIdState??`inherited`;if(n!==`inherited`)return{currentAdapterSessionId:e.currentAdapterSessionId,currentAdapterSessionIdState:n};let r=e.adapterSessionId??null;return r===t?{currentAdapterSessionId:void 0,currentAdapterSessionIdState:`inherited`}:r===null?{currentAdapterSessionId:void 0,currentAdapterSessionIdState:`moved`}:{currentAdapterSessionId:r,currentAdapterSessionIdState:`confirmed`}}function de(e,t){if(t===`confirmed`!=(e!==null))throw Error(`Currency pairing invariant violated: confirmed ↔ id !== null (state="${t}", id=${e===null?`null`:`present`})`)}function J(e){return{adapterSessionId:e.adapterSessionId??null,currentAdapterSessionId:e.currentAdapterSessionId??null,currentAdapterSessionIdState:e.currentAdapterSessionIdState??`inherited`}}function Y(e,t,n){let r=e.sessions.get(t.sessionId);if(r===void 0)return{kind:`refused`,result:{outcome:`not-found`,missing:`session`}};let i=r.leadAgentId??null,a=t.designateLead;if(a===void 0)return{kind:`ok`,leadDesignated:!1,previousLeadAgentId:i};let o=a.clear===!0,s=o?null:n.agentId;if(!o&&n.status===`disposed`)return{kind:`refused`,result:{outcome:`agent-disposed`}};if(!o&&i===n.agentId)return{kind:`ok`,leadDesignated:!1,previousLeadAgentId:i};if(i!==a.expectedLeadAgentId)return{kind:`conflict`,currentLeadAgentId:i};if(r.leadAgentId=s??void 0,!o){let e=q(n,r.adapterSessionId??null);r.currentAdapterSessionId=e.currentAdapterSessionId,r.currentAdapterSessionIdState=e.currentAdapterSessionIdState}return{kind:`ok`,leadDesignated:!0,previousLeadAgentId:i}}function X(e,t,n){if(!e.sessions.has(t.sessionId))return{kind:`refused`,result:{outcome:`not-found`,missing:`session`}};let r=e.agents.get(t.agentId);if(r===void 0||r.sessionId!==t.sessionId)return{kind:`refused`,result:{outcome:`not-found`,missing:`agent`}};if(r.status===`disposed`)return{kind:`refused`,result:{outcome:`agent-disposed`}};let i=G(e.claims,t.claimToken);if(i!==void 0&&i.claimId!==n?.claimId)throw Error(`UNIQUE constraint failed: adapter_session_claims.claim_token (uniq_adapter_session_claims_token): "${t.claimToken}" is already in use`);return{kind:`ok`,agent:r}}function Z(e,t,n){return{outcome:e,claim:t===null?null:structuredClone(t),leadDesignated:n.leadDesignated,previousLeadAgentId:n.previousLeadAgentId}}function fe(e,t){let n=X(e,t);if(n.kind===`refused`)return n.result;let r=Date.now(),i=crypto.randomUUID(),a={claimId:i,machineId:t.machineId,adapterId:t.adapterId,adapterName:t.adapterName,providerSessionId:t.providerSessionId,sessionId:t.sessionId,agentId:t.agentId,claimToken:t.claimToken,fence:K(e,t.agentId,0),status:`held`,claimedAt:r,updatedAt:r};e.claims.set(i,structuredClone(a));let o=Y(e,t,n.agent);return o.kind===`ok`?Z(`claimed`,a,o):(e.claims.delete(i),o.kind===`conflict`?{outcome:`lead-conflict`,currentLeadAgentId:o.currentLeadAgentId}:o.result)}function pe(e,t,n){let r=X(e,t,n);if(r.kind===`refused`)return r.result;let i=Date.now(),a={...n,claimToken:t.claimToken,fence:K(e,t.agentId,n.fence),agentId:t.agentId,sessionId:t.sessionId,adapterName:t.adapterName,status:`held`,claimedAt:i,updatedAt:i};e.claims.set(n.claimId,structuredClone(a));let o=Y(e,t,r.agent);return o.kind===`ok`?Z(`claimed`,a,o):(e.claims.set(n.claimId,structuredClone(n)),o.kind===`conflict`?{outcome:`lead-conflict`,currentLeadAgentId:o.currentLeadAgentId}:o.result)}function me(e,t,n){if(n.status!==`held`)return{outcome:`already-claimed`,holder:structuredClone(n)};let r=X(e,t,n);if(r.kind===`refused`)return r.result;let i=Y(e,t,r.agent);return i.kind===`conflict`?{outcome:`lead-conflict`,currentLeadAgentId:i.currentLeadAgentId}:i.kind===`refused`?i.result:Z(`idempotent`,n,i)}function he(e,t){let n=e.agents.get(t.agentId);if(n===void 0||n.sessionId!==t.sessionId)return{outcome:`not-found`,missing:`agent`};if(n.status===`disposed`&&t.designateLead?.clear!==!0)return{outcome:`agent-disposed`};let r=Y(e,t,n);return r.kind===`conflict`?{outcome:`lead-conflict`,currentLeadAgentId:r.currentLeadAgentId}:r.kind===`refused`?r.result:Z(`claimed`,null,r)}function ge(e,t){let{providerSessionId:n}=t;if(n===null)return he(e,t);let r={...t,providerSessionId:n},i=W(e.claims,r.machineId,r.adapterId,n);return i===void 0?fe(e,r):i.claimToken===r.claimToken?i.agentId===r.agentId&&i.sessionId===r.sessionId?me(e,r,i):{outcome:`already-claimed`,holder:structuredClone(i)}:r.supersedes?.claimToken===i.claimToken||e.agents.get(i.agentId)?.status===`disposed`?pe(e,r,i):{outcome:`already-claimed`,holder:structuredClone(i)}}function _e(e,t,n){let{agentId:r,claimToken:i,fence:a,expectedRevision:o,target:s}=n,c=t.revision??0,l=t.currencyFence??0;if(t.status===`disposed`)return{outcome:`agent-disposed`};let u=G(e.claims,i);if(u===void 0||u.agentId!==r||u.sessionId!==t.sessionId||u.status!==`held`||u.fence!==a)return{outcome:`not-owner`};if(a<l)return{outcome:`superseded`,currentFence:l};let d=J(t);if(d.currentAdapterSessionId===s.currentAdapterSessionId&&d.currentAdapterSessionIdState===s.currentAdapterSessionIdState&&l===a)return{outcome:`idempotent`,revision:c,currency:d,sessionSnapshotUpdated:!1};if(c!==o)return{outcome:`currency-changed`,revision:c,currency:d}}function Q(e,t,n){let r=_e(e,t,n);if(r!==void 0)return r;let{agentId:i,fence:a,expectedRevision:o,target:s}=n;de(s.currentAdapterSessionId,s.currentAdapterSessionIdState);let c=t.adapterSessionId??null;t.currentAdapterSessionId=s.currentAdapterSessionId??void 0,t.currentAdapterSessionIdState=s.currentAdapterSessionIdState,t.currencyFence=a,t.revision=o+1,t.lastActivityAt=Date.now();let l=e.sessions.get(t.sessionId),u=!1;if(l!==void 0&&l.leadAgentId===i){let e=q(t,l.adapterSessionId??null);l.currentAdapterSessionId=e.currentAdapterSessionId,l.currentAdapterSessionIdState=e.currentAdapterSessionIdState,u=!0}return{outcome:`settled`,revision:o+1,currency:{adapterSessionId:c,...s},sessionSnapshotUpdated:u}}function ve(e,t,n){let r=G(e.claims,t);if(!(r===void 0||r.claimId===n))throw Error(`UNIQUE constraint failed: adapter_session_claims.claim_token (uniq_adapter_session_claims_token): "${t}" is already in use`)}function ye(e,t,n){let{machineId:r,adapterId:i,agentId:a}=t,o=W(e.claims,r,i,n),s,c;if(o!==void 0&&o.agentId===a&&o.status===`held`)s=o,c=()=>{};else if(o!==void 0&&e.agents.get(o.agentId)?.status!==`disposed`)return{outcome:`already-claimed`,holder:structuredClone(o)};else{let l=Date.now(),u=o?.claimId??crypto.randomUUID();ve(e,t.movement.claimToken,u),s={claimId:u,machineId:r,adapterId:i,adapterName:t.adapterName,providerSessionId:n,sessionId:t.sessionId,agentId:a,claimToken:t.movement.claimToken,fence:K(e,a,o?.fence??0),status:`held`,claimedAt:l,updatedAt:l},e.claims.set(u,structuredClone(s)),c=o===void 0?()=>{e.claims.delete(u)}:()=>{e.claims.set(u,structuredClone(o))}}let l=t.movement.kind===`confirmed`?Array.from(e.claims.values()).filter(e=>e.agentId===a&&e.status===`held`&&e.claimId!==s.claimId):[];for(let t of l)e.claims.delete(t.claimId);return{generation:s,releasedProviderSessionIds:l.map(e=>e.providerSessionId),rollback:()=>{for(let t of l)e.claims.set(t.claimId,structuredClone(t));c()}}}function be(e,t){if(e.kind===`confirmed`)return{providerSessionId:e.providerSessionId,currency:{currentAdapterSessionId:e.providerSessionId,currentAdapterSessionIdState:`confirmed`}};let n=o(J(t));return n===null?null:{providerSessionId:n,currency:{currentAdapterSessionId:null,currentAdapterSessionIdState:`moved`}}}function xe(e,t){return e.on(n.read,e=>{let{agentId:n}=e.payload,r=t.agents.get(n);if(r===void 0){e.setResult({ownership:null});return}let i=Array.from(t.claims.values()).filter(e=>e.agentId===n).sort((e,t)=>e.fence-t.fence||e.claimId.localeCompare(t.claimId));e.setResult({ownership:{agentId:n,sessionId:r.sessionId,currency:J(r),revision:r.revision??0,currencyFence:r.currencyFence??0,claims:i.map(e=>structuredClone(e))}})})}function Se(e,t){return e.on(n.settleCurrency,e=>{let n=t.agents.get(e.payload.agentId);if(n===void 0){e.setResult({outcome:`not-found`});return}e.setResult(Q(t,n,e.payload))})}function Ce(e,t){return e.on(n.settleMovement,e=>{let n=e.payload,r=t.agents.get(n.agentId);if(r===void 0||r.sessionId!==n.sessionId){e.setResult({outcome:`not-found`});return}if(r.status===`disposed`){e.setResult({outcome:`agent-disposed`});return}let i=be(n.movement,r);if(i===null){e.setResult({outcome:`idempotent`,revision:r.revision??0,currency:J(r),sessionSnapshotUpdated:!1,claim:null});return}let a=ye(t,n,i.providerSessionId);if(!(`generation`in a)){e.setResult(a);return}let o=Q(t,r,{agentId:n.agentId,claimToken:a.generation.claimToken,fence:a.generation.fence,expectedRevision:n.expectedRevision,target:i.currency});if(o.outcome!==`settled`){a.rollback(),e.setResult(o.outcome===`idempotent`?{...o,claim:structuredClone(a.generation)}:o);return}e.setResult({outcome:`settled`,revision:o.revision,currency:o.currency,sessionSnapshotUpdated:o.sessionSnapshotUpdated,releasedProviderSessionIds:a.releasedProviderSessionIds,claim:structuredClone(a.generation)})})}function $(e,t){return e.on(n.releaseAgentClaims,e=>{let{agentId:n,claimToken:r,disposition:i}=e.payload,a=Array.from(t.claims.values()).filter(e=>e.agentId===n&&(r===void 0||e.claimToken===r));if(i===`released`){for(let e of a)t.claims.delete(e.claimId);e.setResult({releasedProviderSessionIds:a.map(e=>e.providerSessionId),markedClaims:[],claimTokenNotFound:r!==void 0&&a.length===0});return}let o=Date.now(),s=a.map(e=>{let n={...e,status:i,updatedAt:o};return t.claims.set(e.claimId,structuredClone(n)),n});e.setResult({releasedProviderSessionIds:[],markedClaims:s,claimTokenNotFound:r!==void 0&&a.length===0})})}function we(e,t){return e.on(n.release,e=>{let{agentId:n,claimToken:r,disposition:i}=e.payload,a=G(t.claims,r);if(a===void 0){e.setResult({outcome:`not-found`});return}if(a.agentId!==n){e.setResult({outcome:`not-owner`,holder:structuredClone(a)});return}if(i===`released`){t.claims.delete(a.claimId),e.setResult({outcome:`released`});return}let o={...a,status:i,updatedAt:Date.now()};t.claims.set(a.claimId,structuredClone(o)),e.setResult({outcome:`marked`,claim:structuredClone(o)})})}function Te(e,t){return e.on(n.listClaims,e=>{let{machineId:n,adapterId:r,providerSessionId:i,statuses:a}=e.payload,o=Array.from(t.claims.values()).filter(e=>e.machineId===n&&(r===void 0||e.adapterId===r)&&(i===void 0||e.providerSessionId===i)&&(a===void 0||a.includes(e.status)));o.sort((e,t)=>e.claimedAt-t.claimedAt||e.claimId.localeCompare(t.claimId)),e.setResult({claims:o.map(e=>structuredClone(e))})})}function Ee(e,t=s()){let r=[xe(e,t),e.on(n.claim,e=>{e.setResult(ge(t,e.payload))}),Se(e,t),Ce(e,t),we(e,t),$(e,t),Te(e,t)];return()=>{for(let e=r.length-1;e>=0;--e)r[e]?.()}}export{m as a,ee as c,s as d,w as i,u as l,U as n,p as o,P as r,f as s,Ee as t,d as u};
@@ -1,5 +1,5 @@
1
- import { l as ProviderOperationOwnershipRecord, o as ProviderOperationClaimDecision, s as ProviderOperationMutationDecision } from "./provider-operation-DbdyFwNm.mjs";
2
- import { A as RecoverableAttemptRecord, C as ProvisioningClaimDecision, D as RecordProviderOperationUncertaintyInput, E as RecordInfrastructureFailureInput, M as TakeOverProviderOperationInput, O as RecordProvisionerIncarnationLostInput, S as ProvisioningAbsenceDecision, T as RecordAllocationTerminatedInput, a as BeginProvisioningInput, b as PendingAttemptAbandonmentDecision, f as ExecutionAttemptOutcomeDecision, h as ExecutionAttemptRepository, i as AllocationTerminationDecision, j as RenewProviderOperationClaimInput, k as RecordProvisioningAbsentInput, n as AllocationRefEvolution, o as DiscoveredAllocationDecision, p as ExecutionAttemptRecord, r as AllocationRefEvolutionDecision, t as AllocationRecordingDecision, v as HandoffProviderOperationInput, w as RecordAllocationInput, x as ProvisionerIncarnationLossDecision, y as InfrastructureFailureDecision } from "./execution-attempt-repository-BJ2W6wwx.mjs";
1
+ import { l as ProviderOperationOwnershipRecord, o as ProviderOperationClaimDecision, s as ProviderOperationMutationDecision } from "./provider-operation-DJ_TLZFf.mjs";
2
+ import { A as RecoverableAttemptRecord, C as ProvisioningClaimDecision, D as RecordProviderOperationUncertaintyInput, E as RecordInfrastructureFailureInput, M as TakeOverProviderOperationInput, O as RecordProvisionerIncarnationLostInput, S as ProvisioningAbsenceDecision, T as RecordAllocationTerminatedInput, a as BeginProvisioningInput, b as PendingAttemptAbandonmentDecision, f as ExecutionAttemptOutcomeDecision, h as ExecutionAttemptRepository, i as AllocationTerminationDecision, j as RenewProviderOperationClaimInput, k as RecordProvisioningAbsentInput, n as AllocationRefEvolution, o as DiscoveredAllocationDecision, p as ExecutionAttemptRecord, r as AllocationRefEvolutionDecision, t as AllocationRecordingDecision, v as HandoffProviderOperationInput, w as RecordAllocationInput, x as ProvisionerIncarnationLossDecision, y as InfrastructureFailureDecision } from "./execution-attempt-repository-DFyAnchJ.mjs";
3
3
  import { IMakaioBus } from "@makaio/framework/bus";
4
4
  import * as _$_makaio_contracts0 from "@makaio/framework/contracts";
5
5
  import { IWorkflowRunner, LoopGateHandler, MakaioNodeExtension, StationHandler, StepRunnerBusAuth, StepRunnerPlatformDefaults, WorkerMaterializationSpec, WorkflowDefinition, WorkflowExecution, WorkflowRunContext, WorkflowRunResult } from "@makaio/framework/contracts";
@@ -1 +1 @@
1
- import{SessionStorageSubjects as e}from"./services/session/storage/namespace.mjs";import{ExecutionTargetSubjects as t}from"./services/execution-target/namespace.mjs";import{r as n}from"./attach-error-Cb3GbeKe.mjs";import{MakaioBus as r}from"@makaio/framework/bus";import{AdapterSubjects as i,AgentSubjects as a,DEFAULT_CONSTRAINTS as o,SessionSubjects as s,SpawnSubagentRpcRequestSchema as c,SubagentConfigSchema as l,SubagentError as u,SubagentErrorCode as d,SubagentSubjects as f,dep as p,extensionToken as m}from"@makaio/framework/contracts";import{BaseService as h}from"@makaio/framework/service-base";import{RuntimeProviderContextResolutionError as g,resolveRuntimeProviderContext as _}from"@makaio/framework/services/provider-context";function v(e,t){return`${e}:${t}`}function y(e,t){return e?.authenticated!==!0||!e.id?!1:e.kind===`workflow-execution`?!0:t.size===0?!1:t.has(v(e.kind,e.id))}var b=class{maxSize;items=[];constructor(e=50){this.maxSize=e}push(e){this.items.push(e),this.items.length>this.maxSize&&this.items.shift()}toArray(){return[...this.items]}get length(){return this.items.length}clear(){this.items=[]}};const x=[`completed`,`failed`,`cancelled`];function S(e){return x.includes(e)}var C=class{constraints;subagents=new Map;awaiters=new Map;constructor(e){this.constraints=e}track(e){let t=Date.now(),n={subagentId:e.subagentId,parentSessionId:e.parentSessionId,childSessionId:void 0,status:`spawning`,config:e.config,depth:e.depth,progressUpdates:new b(50),toolObservations:[],completedTurnUsage:new Map,completedTurnSuccess:new Map,toolCallIds:new Set,startTime:t,lastActivityAt:t};return this.subagents.set(e.subagentId,n),n}setChildSessionId(e,t){let n=this.subagents.get(e);n&&(n.childSessionId=t,n.lastActivityAt=Date.now())}markStarted(e){let t=this.subagents.get(e);t&&t.status===`spawning`&&this.applyStatus(t,`running`)}get(e){return this.subagents.get(e)}getByChildSessionId(e){return[...this.subagents.values()].find(t=>t.childSessionId===e)}recordTurnStarted(e,t){let n=this.getByChildSessionId(e);n===void 0||S(n.status)||(n.activeTurnId=t,n.lastActivityAt=Date.now())}recordTurnCompleted(e,t){let n=this.getByChildSessionId(e);n===void 0||S(n.status)||(n.activeTurnId===t&&(n.activeTurnId=void 0),n.lastActivityAt=Date.now())}recordToolObservation(e,t,n){let r=this.getByChildSessionId(e);if(!(r===void 0||S(r.status))){if(n!==void 0){if(r.toolCallIds.has(n))return;r.toolCallIds.add(n)}r.toolObservations.push(t),r.lastActivityAt=Date.now()}}getAllNonTerminal(){let e=[];for(let t of this.subagents.values())S(t.status)||e.push(t);return e}countActiveBySession(e){let t=0;for(let n of this.subagents.values())n.parentSessionId===e&&!S(n.status)&&t++;return t}countTotalActive(){let e=0;for(let t of this.subagents.values())S(t.status)||e++;return e}updateStatus(e,t){let n=this.subagents.get(e);n&&this.applyStatus(n,t)}applyStatus(e,t){let n=Date.now();e.status=t,e.lastActivityAt=n,S(t)&&(e.activeTurnId=void 0,e.endTime=n)}addProgress(e,t){let n=this.subagents.get(e);n&&(n.progressUpdates.push(t),n.lastActivityAt=Date.now())}setPendingRequest(e,t){let n=this.subagents.get(e);if(!n)throw new u(d.NOT_FOUND,`Subagent ${e} not found`);if(n.pendingRequest)throw new u(d.REQUEST_PENDING,`Cannot call request_input while another request is pending`);if(n.completionCandidate!==void 0)throw new u(d.INVALID_STATE,`Cannot request input while completion is pending`);n.pendingRequest=t,n.status=`waiting_input`,n.lastActivityAt=Date.now()}resolvePendingRequest(e,t){let n=this.subagents.get(e);n?.pendingRequest&&(n.pendingRequest.resolver(t),n.pendingRequest=void 0,n.lastActivityAt=Date.now(),n.status===`waiting_input`&&(n.status=`running`))}markCompleted(e,t,n,r){let i=this.subagents.get(e);if(!i)throw new u(d.NOT_FOUND,`Subagent ${e} not found`);if(S(i.status))throw new u(d.ALREADY_TERMINAL,`Subagent already in terminal state: ${i.status}`);this.applyStatus(i,`completed`),i.result=t,i.summary=n,i.completionSource=r,this.resolveAwaiters(e)}recordCompletionCandidate(e,t,n,r,i){let a=this.subagents.get(e);if(!a)throw new u(d.NOT_FOUND,`Subagent ${e} not found`);let o=a.completionCandidate;if(o!==void 0){if(o.turnId===t&&o.result===n&&o.summary===r&&o.source===i)return;throw new u(d.INVALID_STATE,`Conflicting subagent completion candidate`)}if(S(a.status))throw new u(d.ALREADY_TERMINAL,`Subagent already in terminal state: ${a.status}`);if(a.pendingRequest!==void 0)throw new u(d.INVALID_STATE,`Cannot complete while an input request is pending`);a.completionCandidate={turnId:t,result:n,summary:r,source:i},a.status=`completing`,a.lastActivityAt=Date.now()}recordCompletedTurn(e,t,n,r=!0,i){let a=this.subagents.get(e);a===void 0||S(a.status)||(a.completedTurnUsage.has(t)||(a.completedTurnUsage.set(t,n===void 0?void 0:{total:{...n.total},...n.byAgent===void 0?{}:{byAgent:Object.fromEntries(Object.entries(n.byAgent).map(([e,t])=>[e,{...t}]))}}),a.completedTurnSuccess.set(t,{success:r,...i!==void 0&&{error:i}})),a.lastActivityAt=Date.now())}finalizeCompletionIfReady(e){let t=this.subagents.get(e);if(!t)throw new u(d.NOT_FOUND,`Subagent ${e} not found`);if(S(t.status))return!1;let n=t.completionCandidate;if(n===void 0||!t.completedTurnUsage.has(n.turnId))return!1;let r=t.completedTurnSuccess.get(n.turnId);if(r?.success===!1)return this.markFailed(e,r.error??`child turn failed`),!0;let i=this.freezeUsage(t);return this.applyStatus(t,`completed`),t.result=n.result,t.summary=n.summary,t.completionSource=n.source,t.usage=i,this.resolveAwaiters(e),!0}freezeUsage(e){let t=0,n=0,r=0,i=!1;for(let a of e.completedTurnUsage.values())a!==void 0&&(i=!0,t+=a.total.inputTokens,n+=a.total.cachedInputTokens??0,r+=a.total.outputTokens);return Object.freeze({...i?{inputTokens:t,cachedInputTokens:n,outputTokens:r}:{},toolCallCount:e.toolCallIds.size})}markFailed(e,t){let n=this.subagents.get(e);!n||S(n.status)||(this.applyStatus(n,`failed`),n.error=t,this.resolveAwaiters(e))}markCancelled(e){let t=this.subagents.get(e);return!t||S(t.status)?!1:(this.applyStatus(t,`cancelled`),t.pendingRequest&&=(t.pendingRequest.resolver(null),void 0),this.resolveAwaiters(e),!0)}addAwaiter(e,t){let n=this.awaiters.get(e)??[];n.push(t),this.awaiters.set(e,n)}removeAwaiter(e,t){let n=this.awaiters.get(e);if(!n)return!1;let r=n.indexOf(t);return r===-1?!1:(n.splice(r,1),n.length===0&&this.awaiters.delete(e),!0)}resolveAwaiters(e){let t=this.subagents.get(e),n=this.awaiters.get(e);if(!n||!t)return;let r={status:t.status,result:t.result,error:t.error,completionSource:t.completionSource,usage:t.usage,toolObservations:[...t.toolObservations]};for(let e of n)e(r);this.awaiters.delete(e)}cleanup(){let e=Date.now(),t=0;for(let[n,r]of this.subagents)S(r.status)&&r.endTime&&e-r.endTime>this.constraints.stateRetentionMs&&(this.subagents.delete(n),t++);return t}sweepHung(e){if(e<=0)return 0;let t=Date.now(),n=0;for(let r of this.subagents.values())S(r.status)||r.status!==`spawning`&&r.status!==`waiting_input`&&r.status!==`hung`&&t-r.lastActivityAt>=e&&(r.status=`hung`,r.lastActivityAt=t,n++);return n}};async function w(e,t,n){let r=n?.trim();if(r)return r;let{session:i}=await e.request(s.get,{sessionId:t});return(i?.agents.find(e=>e.agentId===i.leadAgentId)??i?.agents[0])?.adapterName?.trim()}function T(e,t){let n=e.manager.get(t.subagentId);if(!n)throw Error(`Subagent not found: ${t.subagentId}`);return{status:n.status,childSessionId:n.childSessionId,pendingRequest:n.pendingRequest?{messageId:n.pendingRequest.messageId,question:n.pendingRequest.question,context:n.pendingRequest.context}:void 0,progress:n.progressUpdates.toArray(),result:n.result,summary:n.summary,error:n.error,usage:n.usage}}async function E(e,t){let{parentSessionId:n,config:r,depth:i,spawningToolCallId:a}=t,{constraints:o}=e.manager,s=Math.min(r.maxDepth??o.maxDepth,o.maxDepth);if(i>s)throw new u(d.DEPTH_EXCEEDED,`Maximum subagent depth (${s}) exceeded`);if(e.manager.countActiveBySession(n)>=o.maxConcurrentPerSession)throw new u(d.SESSION_LIMIT,`Maximum concurrent subagents per session (${o.maxConcurrentPerSession}) reached`);if(e.manager.countTotalActive()>=o.maxTotalActive)throw new u(d.GLOBAL_LIMIT,`Maximum total active subagents (${o.maxTotalActive}) reached`);let c=await w(e.bus,n,r.adapterName);if(!c)throw new u(d.ADAPTER_NOT_ALLOWED,`adapterName is required for subagent spawn when parent session has no inheritable adapter`);if(o.allowedAdapters.length>0&&!o.allowedAdapters.includes(c))throw new u(d.ADAPTER_NOT_ALLOWED,`Adapter '${c}' is not allowed`);if(r.model&&o.allowedModels.length>0&&!o.allowedModels.includes(r.model))throw new u(d.MODEL_NOT_ALLOWED,`Model '${r.model}' is not allowed`);let l={...r,adapterName:c},p=crypto.randomUUID();return e.manager.track({subagentId:p,parentSessionId:n,config:l,depth:i}),await e.bus.emit(f.spawned,{subagentId:p,parentSessionId:n,task:l.task,config:l,depth:i,...e.executionOwnerId!==void 0&&{executionOwnerId:e.executionOwnerId},...a!==void 0&&{spawningToolCallId:a}}),{subagentId:p,status:`spawning`}}async function D(e,t){let{subagentId:n,timeoutMs:r}=t,i=e.manager.get(n);if(!i)throw Error(`Subagent not found: ${n}`);if([`completed`,`failed`,`cancelled`].includes(i.status))return{status:i.status,result:i.result,error:i.error,completionSource:i.completionSource,toolObservations:[...i.toolObservations],usage:i.usage};if(i.status===`waiting_input`&&i.pendingRequest)return{status:`waiting_input`,pendingRequest:{messageId:i.pendingRequest.messageId,question:i.pendingRequest.question,context:i.pendingRequest.context}};let a=r??e.manager.constraints.defaultAwaitTimeoutMs;return new Promise(t=>{let r=!1,i,o=e=>{r||(r=!0,i&&clearTimeout(i),t({status:e.status,result:e.result,error:e.error,pendingRequest:e.pendingRequest,completionSource:e.completionSource,toolObservations:e.toolObservations,usage:e.usage}))};e.manager.addAwaiter(n,o),a>0&&(i=setTimeout(()=>{r||(r=!0,e.manager.removeAwaiter(n,o),t({status:`timeout`}))},a))})}async function O(e,t){let{subagentId:n,content:r,inResponseTo:i}=t,a=e.manager.get(n);if(!a)throw Error(`Subagent not found: ${n}`);if(a.status===`spawning`)throw new u(d.INVALID_STATE,`Cannot send to a subagent before startup completes`);if(a.completionCandidate!==void 0)throw new u(d.INVALID_STATE,`Cannot send to a subagent while completion is pending`);let o=!1;return i&&a.pendingRequest?.messageId===i&&(e.manager.resolvePendingRequest(n,r),o=!0),await e.bus.emit(f.toChild,{subagentId:n,messageId:crypto.randomUUID(),content:r,inResponseTo:i}),{sent:!0,resolvedPending:o}}async function k(e,t){let{subagentId:n,reason:r}=t,i=e.manager.markCancelled(n);return i&&await e.bus.emit(f.cancelled,{subagentId:n,reason:r??`Killed by parent`}),{killed:i}}async function A(e,t){let{subagentId:n,update:r,percentComplete:i}=t;if(!e.manager.get(n))throw Error(`Subagent not found: ${n}`);let a=i===void 0?r:`[${i}%] ${r}`;return e.manager.addProgress(n,a),await e.bus.emit(f.toParent,{subagentId:n,messageId:crypto.randomUUID(),type:`progress`,content:a}),{reported:!0}}async function j(e,t){let{subagentId:n,question:r,context:i,timeoutMs:a}=t,o=e.manager.get(n);if(!o)throw Error(`Subagent not found: ${n}`);if(o.completionCandidate!==void 0)throw new u(d.INVALID_STATE,`Cannot request input while completion is pending`);let s=crypto.randomUUID(),c=a??e.manager.constraints.defaultRequestTimeoutMs,l=!1,p,m,h=new Promise(e=>{m=e});e.manager.setPendingRequest(n,{messageId:s,question:r,context:i,resolver:e=>{l||(l=!0,p&&clearTimeout(p),m(e===null?{responded:!1,timedOut:!0}:{responded:!0,response:e,timedOut:!1}))}}),c>0&&(p=setTimeout(()=>{l||e.manager.resolvePendingRequest(n,null)},c));let g=e.bus.emit(f.toParent,{subagentId:n,messageId:s,type:`request_input`,content:r,context:i}).then(()=>({published:!0}),e=>({published:!1,error:e})),_=await Promise.race([h.then(e=>({response:e})),g]);if(`response`in _)return _.response;if(!_.published)throw e.manager.resolvePendingRequest(n,null),_.error;return h}async function M(e,t){let{sessionId:n,turnId:r,result:i,summary:a}=t,o=e.manager.getByChildSessionId(n);if(o===void 0)throw new u(d.NOT_FOUND,`No subagent owns this child session`);if(o.status===`completed`||o.status===`failed`||o.status===`cancelled`)throw new u(d.ALREADY_TERMINAL,`Subagent already in terminal state: ${o.status}`);let s=o.activeTurnId;if(s===void 0)throw new u(d.INVALID_STATE,`No active turn exists for this child session`);if(r!==void 0&&r!==s)throw new u(d.INVALID_STATE,`Completion turn does not match the active child turn`);return e.manager.recordCompletionCandidate(o.subagentId,s,i,a,`tool`),await e.onCompletionCandidate?.(o.subagentId),{completed:!0}}function N(e,t){let{parentSessionId:n}=t;return{subagents:e.manager.getAllNonTerminal().filter(e=>e.parentSessionId===n).map(e=>({subagentId:e.subagentId,task:e.config.task,status:e.status}))}}function P(e,t,n,r){return{kind:`adapter`,adapterName:e,...n!==void 0&&{providerContext:n},...t.model!==void 0&&{model:t.model},...t.reasoningEffort!==void 0&&{reasoningEffort:t.reasoningEffort},...t.systemPrompt!==void 0&&{systemPrompt:t.systemPrompt},...t.adapterConfig!==void 0&&{adapterConfig:t.adapterConfig},...r!==void 0&&{cwd:r},...t.tools!==void 0&&{allowedTools:t.tools},...t.disallowedTools!==void 0&&{disallowedTools:t.disallowedTools},...t.allowedDirectories!==void 0&&{allowedDirectories:t.allowedDirectories}}}async function F(e,t){let{subagentId:n,adapterName:r,config:i,sessionId:a,task:o,targetWorkingDirectory:c,assertAdmission:l}=t,u=i.providerContext;if(u?.state===`resolved`&&i.providerConfigId!==void 0&&i.providerConfigId!==u.providerConfigId)throw Error(`Subagent providerConfigId "${i.providerConfigId}" does not match its resolved provider context "${u.providerConfigId}".`);if(u?.state===`unresolved`&&i.providerConfigId!==void 0)throw new g(`provider-context-unresolved`,r,i.providerConfigId);let d=u??(i.providerConfigId?await _(e,{adapterName:r,providerConfigId:i.providerConfigId}):void 0);await e.request(s.agent.attachResolved,{sessionId:a,role:`lead`,initialMessage:o,source:`system`,assertInitialMessageAdmission:()=>{try{l()}catch{throw Error(`Subagent startup was cancelled before initial task admission: ${n}`)}},...i.responseSchema!==void 0&&{responseSchema:i.responseSchema},...i.harnessId!==void 0&&{harnessId:i.harnessId},agent:P(r,i,d,c)},{timeout:0})}const I={id:`system:local`,name:`Local`,description:`Default local process execution`,type:`local`,scope:`default`,enabled:!0,createdAt:Date.now(),updatedAt:Date.now()};var L=class extends Error{code;constructor(e){super(`Subagent failure finalization failed (${e}).`),this.code=e,this.name=`SubagentFailureFinalizationError`}},R=class extends h{delegationAllowSet;requestHandlerPriority;executionOwnerId;manager;pendingChildSessionClose=new Set;spawningExecutions=new Set;constructor(e=r,t=o,n=new Set,i=0,a=crypto.randomUUID()){super(e),this.delegationAllowSet=n,this.requestHandlerPriority=i,this.executionOwnerId=a,this.manager=new C(t)}grantDelegation(e,t){this.delegationAllowSet.add(`${e}:${t}`)}revokeDelegation(e,t){this.delegationAllowSet.delete(`${e}:${t}`)}onInit(){this.registerHandler(f.spawned,async e=>{e.payload.executionOwnerId!==void 0&&e.payload.executionOwnerId!==this.executionOwnerId||this.handleSpawned(e.payload).catch(e=>{console.error(`[SubagentService] handleSpawned error:`,e)})}),this.registerHandler(f.execute,async e=>{if(!this.isRemoteDelegationAllowed(e))return;let t=await this.handleExecute(e.payload);e.setResult(t)}),this.registerHandler(f.toChild,async e=>{await this.handleToChild(e.payload)}),this.registerHandler(f.completed,async e=>{await this.handleCompleted(e.payload.subagentId)}),this.registerHandler(f.cancelled,async e=>{await this.handleCancelled(e.payload.subagentId)}),this.registerHandler(i.session.closed,e=>{this.handleAdapterSessionClosed(e.payload.sessionId)}),this.registerHandler(a.complete,async e=>{await this.handleAgentComplete(e.payload)}),this.registerHandler(s.turn.completed,async e=>{await this.handleSessionTurnCompleted(e.payload)}),this.registerHandler(s.turn.started,e=>{this.handleSessionTurnStarted(e.payload)}),this.registerHandler(a.tool.completed,e=>{e.payload._import||e.payload.sessionId===void 0||e.payload.success===void 0||this.manager.recordToolObservation(e.payload.sessionId,{toolName:e.payload.toolName,outcome:e.payload.success?`success`:`failure`,...e.payload.success===!0&&e.payload.artifactResult!==void 0?{artifact:e.payload.artifactResult}:{}},e.payload.toolCallId)}),this.registerRpcHandlers(),this.wirePeriodicSweep()}wirePeriodicSweep(){let{inactivityTimeoutMs:e,sweepIntervalMs:t}=this.manager.constraints;if(t<=0)return;let n=setInterval(()=>{let t=this.manager.sweepHung(e);t>0&&console.warn(`[SubagentService] Swept ${t} hung subagent(s) due to inactivity`),this.manager.cleanup()},t);this.addCleanup(()=>clearInterval(n))}registerRpcHandlers(){let e={manager:this.manager,bus:this.bus,executionOwnerId:this.executionOwnerId,onCompletionCandidate:e=>this.finalizeSubagentIfReady(e)};this.registerHandler(f.getStatus,t=>{let n=T(e,t.payload);t.setResult(n)},{priority:this.requestHandlerPriority}),this.registerHandler(f.spawn,async t=>{if(!this.isRemoteDelegationAllowed(t))return;let n=await E(e,c.parse(t.payload));t.setResult(n)},{priority:this.requestHandlerPriority}),this.registerHandler(f.await,async t=>{let n=await D(e,t.payload);t.setResult(n)},{priority:this.requestHandlerPriority}),this.registerHandler(f.send,async t=>{let n=await O(e,t.payload);t.setResult(n)}),this.registerHandler(f.kill,async t=>{let n=await k(e,t.payload);t.setResult(n)},{priority:this.requestHandlerPriority}),this.registerHandler(f.reportProgress,async t=>{let n=await A(e,t.payload);t.setResult(n)}),this.registerHandler(f.requestInput,async t=>{let n=await j(e,t.payload);t.setResult(n)}),this.registerHandler(f.completeTask,async t=>{let n=await M(e,t.payload);t.setResult(n)}),this.registerHandler(f.listBySession,t=>{let n=N(e,t.payload);t.setResult(n)})}onDestroy(){this.pendingChildSessionClose.clear(),this.spawningExecutions.clear()}async handleSpawned(e){let{subagentId:t,parentSessionId:n,task:r,spawningToolCallId:i}=e,a=this.manager.get(t);if(!(a&&a.status!==`spawning`)&&!this.spawningExecutions.has(t)){this.spawningExecutions.add(t);try{return await this.executeSpawned(e,n,r,i)}finally{this.spawningExecutions.delete(t)}}}async executeSpawned(e,n,r,i){let{subagentId:a}=e,o=()=>this.shouldAbortSpawn(this.manager.get(a)?.status),s=l.parse({...e.config,task:r}),c=s.adapterName?.trim();if(!c)return this.failSpawn(a,n,`adapter_start`,`Subagent spawn requires a non-empty adapterName`);this.manager.get(a)||this.manager.track({subagentId:a,parentSessionId:n,config:s,depth:e.depth??1});let u,d;try{d=await this.buildExecutionTargetResolutionParams(n,s.executionTargetId);let e=await this.bus.requestOptional(t.resolve,d),r;if(e.handled)r=e.data.executionTarget;else if(d.executionTargetId!=null)throw Error(`Execution target resolver unavailable for explicit target '${d.executionTargetId}'`);else r=I;if(r.type!==`local`)return this.failSpawn(a,n,`adapter_start`,`Execution target type '${r.type}' is not yet supported for subagents`);u=d.executionTargetId??void 0}catch(e){return this.failSpawn(a,n,`adapter_start`,e)}let f;try{f=await this.createChildSessionForSpawn(a,n,s,u,d,i)}catch(e){return this.failSpawn(a,n,`session_create`,e)}if(!o())return this.attachSpawnedSubagent({subagentId:a,parentSessionId:n,adapterName:c,config:s,sessionId:f,task:r,targetWorkingDirectory:d.targetWorkingDirectory,shouldAbort:o})}async attachSpawnedSubagent(e){let{subagentId:t,parentSessionId:r,adapterName:i,config:a,sessionId:o,task:s,targetWorkingDirectory:c,shouldAbort:l}=e;try{await F(this.bus,{subagentId:t,adapterName:i,config:a,sessionId:o,task:s,targetWorkingDirectory:c,assertAdmission:()=>{if(this.shouldAbortSpawn(this.manager.get(t)?.status))throw Error(`startup cancelled`)}})}catch(e){if(l())return;let i=n(e);return this.failSpawn(t,r,i?.stage===`initial_message`?`agent_start`:`adapter_start`,e)}l()||this.manager.markStarted(t)}async createChildSessionForSpawn(e,t,n,r,i,a){let{sessionId:o}=await this.bus.request(s.create,this.buildChildSessionCreatePayload(t,n,r,i.targetWorkingDirectory,a));return this.manager.setChildSessionId(e,o),this.pendingChildSessionClose.has(e)&&await this.closeChildSession(e),o}async failSpawn(e,t,n,r){let i=r instanceof Error?r:Error(String(r));this.manager.markFailed(e,i.message);let[a,o]=await Promise.allSettled([this.manager.get(e)?.childSessionId===void 0?Promise.resolve():this.requestChildSessionClose(e),this.emitExecutionFailed(e,t,n,i)]),s=[];if(a.status===`rejected`&&s.push(new L(`child-session-close-failed`)),o.status===`rejected`&&s.push(new L(`failure-publication-failed`)),s.length>0)throw AggregateError([i,...s],`Subagent spawn failed and failure finalization also failed.`);return i.message}async buildExecutionTargetResolutionParams(t,n){if(n!==void 0)return{executionTargetId:n};let{session:r}=await this.bus.request(e.get,{sessionId:t});if(!r)throw Error(`Parent session not found: ${t}`);return{...r.executionTargetId!==void 0&&{executionTargetId:r.executionTargetId},...r.targetWorkingDirectory!==void 0&&{targetWorkingDirectory:r.targetWorkingDirectory}}}buildChildSessionCreatePayload(e,t,n,r,i){return{branchKind:`subagent`,parentSessionId:e,contextInheritance:t.contextMode===`fork`?`parent-history`:`none`,...n!==void 0&&{executionTargetId:n},...r!==void 0&&{targetWorkingDirectory:r},...i!==void 0&&{spawningToolCallId:i}}}async handleExecute(e){let t=l.parse({...e.config,task:e.task});this.manager.track({subagentId:e.subagentId,parentSessionId:e.parentSessionId,config:t,depth:e.depth});let n=await this.handleSpawned({subagentId:e.subagentId,parentSessionId:e.parentSessionId,task:e.task,config:t,depth:e.depth});return n?{success:!1,error:n}:{success:!0}}async handleToChild(e){let{subagentId:t,content:n}=e,r=this.manager.get(t);if(!r){console.warn(`[SubagentService] No subagent found: ${t}`);return}if(!r.childSessionId){console.warn(`[SubagentService] No child session for subagent: ${t}`);return}try{await this.bus.request(s.sendMessage,{sessionId:r.childSessionId,message:n,source:`system`})}catch(e){console.error(`[SubagentService] Failed to route message to child session:`,e)}}async handleCompleted(e){await this.closeChildSession(e)}async handleCancelled(e){await this.closeChildSession(e)}async closeChildSession(e){try{await this.requestChildSessionClose(e)}catch{console.error(`[SubagentService] Failed to close child session for subagent ${e}:`,new L(`child-session-close-failed`))}}async requestChildSessionClose(e){let t=this.manager.get(e);if(t){if(!t.childSessionId){this.pendingChildSessionClose.add(e);return}this.pendingChildSessionClose.delete(e),await this.bus.request(s.close,{sessionId:t.childSessionId})}}shouldAbortSpawn(e){return e===void 0||e===`completed`||e===`failed`||e===`cancelled`}handleAdapterSessionClosed(e){for(let t of this.manager.getAllNonTerminal())if(t.childSessionId===e){console.warn(`[SubagentService] Adapter session closed for subagent ${t.subagentId}: ${e}`),this.manager.markFailed(t.subagentId,`adapter-session-closed`);return}}async handleAgentComplete(e){let{sessionId:t,turnId:n,outcome:r,message:i,error:a}=e;if(!(!t||!n))for(let e of this.manager.getAllNonTerminal()){if(e.childSessionId!==t)continue;if((e.config.completion??`tool`)!==`turn`||e.status===`waiting_input`)return;let o=r??`completed`;if(o===`completed`)try{this.manager.recordCompletionCandidate(e.subagentId,n,i??``,void 0,`turn`),await this.finalizeSubagentIfReady(e.subagentId)}catch{return}else if(o===`error`)try{this.manager.recordCompletionCandidate(e.subagentId,n,a??`child turn failed`,void 0,`turn`),await this.finalizeSubagentIfReady(e.subagentId)}catch{return}return}}async handleSessionTurnCompleted(e){if(e.ingestionMarker!==`backfill`){for(let t of this.manager.getAllNonTerminal())if(t.childSessionId===e.sessionId){if(this.manager.recordTurnCompleted(e.sessionId,e.turnId),this.manager.recordCompletedTurn(t.subagentId,e.turnId,e.usage,e.success,e.error),t.completionCandidate?.turnId!==e.turnId)return;await this.finalizeSubagentIfReady(t.subagentId);return}}}handleSessionTurnStarted(e){e.ingestionMarker!==`backfill`&&this.manager.recordTurnStarted(e.sessionId,e.turnId)}async finalizeSubagentIfReady(e){if(!this.manager.finalizeCompletionIfReady(e))return;let t=this.manager.get(e);await this.bus.emit(f.completed,{subagentId:e,success:t?.status===`completed`,...t?.status===`completed`?{result:t.summary?`${t.summary}\n\n${t.result??``}`:t?.result,usage:t.usage}:{error:t?.error??`child turn failed`}})}isRemoteDelegationAllowed(e){return e.origin.local||y(e.transport?.peer,this.delegationAllowSet)}async emitExecutionFailed(e,t,n,r){let i=r instanceof Error?r.message:String(r);await this.bus.emit(f.executionFailed,{subagentId:e,parentSessionId:t,phase:n,error:i})}};const z=m(`subagent-service`);function B(e=0){return{name:z.name,displayName:`Subagent Service`,version:`0.1.0`,critical:!0,surface:`headless`,dependencies:[p(`session`)],create:t=>new R(t.bus,o,new Set,e)}}const V=B();export{R as a,L as i,B as n,C as o,V as r,y as s,z as t};
1
+ import{SessionStorageSubjects as e}from"./services/session/storage/namespace.mjs";import{ExecutionTargetSubjects as t}from"./services/execution-target/namespace.mjs";import{r as n}from"./attach-error-BSlc7JfL.mjs";import{MakaioBus as r}from"@makaio/framework/bus";import{AdapterSubjects as i,AgentSubjects as a,DEFAULT_CONSTRAINTS as o,SessionSubjects as s,SpawnSubagentRpcRequestSchema as c,SubagentConfigSchema as l,SubagentError as u,SubagentErrorCode as d,SubagentSubjects as f,dep as p,extensionToken as m}from"@makaio/framework/contracts";import{BaseService as h}from"@makaio/framework/service-base";import{RuntimeProviderContextResolutionError as g,resolveRuntimeProviderContext as _}from"@makaio/framework/services/provider-context";function v(e,t){return`${e}:${t}`}function y(e,t){return e?.authenticated!==!0||!e.id?!1:e.kind===`workflow-execution`?!0:t.size===0?!1:t.has(v(e.kind,e.id))}var b=class{maxSize;items=[];constructor(e=50){this.maxSize=e}push(e){this.items.push(e),this.items.length>this.maxSize&&this.items.shift()}toArray(){return[...this.items]}get length(){return this.items.length}clear(){this.items=[]}};const x=[`completed`,`failed`,`cancelled`];function S(e){return x.includes(e)}var C=class{constraints;subagents=new Map;awaiters=new Map;constructor(e){this.constraints=e}track(e){let t=Date.now(),n={subagentId:e.subagentId,parentSessionId:e.parentSessionId,childSessionId:void 0,status:`spawning`,config:e.config,depth:e.depth,progressUpdates:new b(50),toolObservations:[],completedTurnUsage:new Map,completedTurnSuccess:new Map,toolCallIds:new Set,startTime:t,lastActivityAt:t};return this.subagents.set(e.subagentId,n),n}setChildSessionId(e,t){let n=this.subagents.get(e);n&&(n.childSessionId=t,n.lastActivityAt=Date.now())}markStarted(e){let t=this.subagents.get(e);t&&t.status===`spawning`&&this.applyStatus(t,`running`)}get(e){return this.subagents.get(e)}getByChildSessionId(e){return[...this.subagents.values()].find(t=>t.childSessionId===e)}recordTurnStarted(e,t){let n=this.getByChildSessionId(e);n===void 0||S(n.status)||(n.activeTurnId=t,n.lastActivityAt=Date.now())}recordTurnCompleted(e,t){let n=this.getByChildSessionId(e);n===void 0||S(n.status)||(n.activeTurnId===t&&(n.activeTurnId=void 0),n.lastActivityAt=Date.now())}recordToolObservation(e,t,n){let r=this.getByChildSessionId(e);if(!(r===void 0||S(r.status))){if(n!==void 0){if(r.toolCallIds.has(n))return;r.toolCallIds.add(n)}r.toolObservations.push(t),r.lastActivityAt=Date.now()}}getAllNonTerminal(){let e=[];for(let t of this.subagents.values())S(t.status)||e.push(t);return e}countActiveBySession(e){let t=0;for(let n of this.subagents.values())n.parentSessionId===e&&!S(n.status)&&t++;return t}countTotalActive(){let e=0;for(let t of this.subagents.values())S(t.status)||e++;return e}updateStatus(e,t){let n=this.subagents.get(e);n&&this.applyStatus(n,t)}applyStatus(e,t){let n=Date.now();e.status=t,e.lastActivityAt=n,S(t)&&(e.activeTurnId=void 0,e.endTime=n)}addProgress(e,t){let n=this.subagents.get(e);n&&(n.progressUpdates.push(t),n.lastActivityAt=Date.now())}setPendingRequest(e,t){let n=this.subagents.get(e);if(!n)throw new u(d.NOT_FOUND,`Subagent ${e} not found`);if(n.pendingRequest)throw new u(d.REQUEST_PENDING,`Cannot call request_input while another request is pending`);if(n.completionCandidate!==void 0)throw new u(d.INVALID_STATE,`Cannot request input while completion is pending`);n.pendingRequest=t,n.status=`waiting_input`,n.lastActivityAt=Date.now()}resolvePendingRequest(e,t){let n=this.subagents.get(e);n?.pendingRequest&&(n.pendingRequest.resolver(t),n.pendingRequest=void 0,n.lastActivityAt=Date.now(),n.status===`waiting_input`&&(n.status=`running`))}markCompleted(e,t,n,r){let i=this.subagents.get(e);if(!i)throw new u(d.NOT_FOUND,`Subagent ${e} not found`);if(S(i.status))throw new u(d.ALREADY_TERMINAL,`Subagent already in terminal state: ${i.status}`);this.applyStatus(i,`completed`),i.result=t,i.summary=n,i.completionSource=r,this.resolveAwaiters(e)}recordCompletionCandidate(e,t,n,r,i){let a=this.subagents.get(e);if(!a)throw new u(d.NOT_FOUND,`Subagent ${e} not found`);let o=a.completionCandidate;if(o!==void 0){if(o.turnId===t&&o.result===n&&o.summary===r&&o.source===i)return;throw new u(d.INVALID_STATE,`Conflicting subagent completion candidate`)}if(S(a.status))throw new u(d.ALREADY_TERMINAL,`Subagent already in terminal state: ${a.status}`);if(a.pendingRequest!==void 0)throw new u(d.INVALID_STATE,`Cannot complete while an input request is pending`);a.completionCandidate={turnId:t,result:n,summary:r,source:i},a.status=`completing`,a.lastActivityAt=Date.now()}recordCompletedTurn(e,t,n,r=!0,i){let a=this.subagents.get(e);a===void 0||S(a.status)||(a.completedTurnUsage.has(t)||(a.completedTurnUsage.set(t,n===void 0?void 0:{total:{...n.total},...n.byAgent===void 0?{}:{byAgent:Object.fromEntries(Object.entries(n.byAgent).map(([e,t])=>[e,{...t}]))}}),a.completedTurnSuccess.set(t,{success:r,...i!==void 0&&{error:i}})),a.lastActivityAt=Date.now())}finalizeCompletionIfReady(e){let t=this.subagents.get(e);if(!t)throw new u(d.NOT_FOUND,`Subagent ${e} not found`);if(S(t.status))return!1;let n=t.completionCandidate;if(n===void 0||!t.completedTurnUsage.has(n.turnId))return!1;let r=t.completedTurnSuccess.get(n.turnId);if(r?.success===!1)return this.markFailed(e,r.error??`child turn failed`),!0;let i=this.freezeUsage(t);return this.applyStatus(t,`completed`),t.result=n.result,t.summary=n.summary,t.completionSource=n.source,t.usage=i,this.resolveAwaiters(e),!0}freezeUsage(e){let t=0,n=0,r=0,i=!1;for(let a of e.completedTurnUsage.values())a!==void 0&&(i=!0,t+=a.total.inputTokens,n+=a.total.cachedInputTokens??0,r+=a.total.outputTokens);return Object.freeze({...i?{inputTokens:t,cachedInputTokens:n,outputTokens:r}:{},toolCallCount:e.toolCallIds.size})}markFailed(e,t){let n=this.subagents.get(e);!n||S(n.status)||(this.applyStatus(n,`failed`),n.error=t,this.resolveAwaiters(e))}markCancelled(e){let t=this.subagents.get(e);return!t||S(t.status)?!1:(this.applyStatus(t,`cancelled`),t.pendingRequest&&=(t.pendingRequest.resolver(null),void 0),this.resolveAwaiters(e),!0)}addAwaiter(e,t){let n=this.awaiters.get(e)??[];n.push(t),this.awaiters.set(e,n)}removeAwaiter(e,t){let n=this.awaiters.get(e);if(!n)return!1;let r=n.indexOf(t);return r===-1?!1:(n.splice(r,1),n.length===0&&this.awaiters.delete(e),!0)}resolveAwaiters(e){let t=this.subagents.get(e),n=this.awaiters.get(e);if(!n||!t)return;let r={status:t.status,result:t.result,error:t.error,completionSource:t.completionSource,usage:t.usage,toolObservations:[...t.toolObservations]};for(let e of n)e(r);this.awaiters.delete(e)}cleanup(){let e=Date.now(),t=0;for(let[n,r]of this.subagents)S(r.status)&&r.endTime&&e-r.endTime>this.constraints.stateRetentionMs&&(this.subagents.delete(n),t++);return t}sweepHung(e){if(e<=0)return 0;let t=Date.now(),n=0;for(let r of this.subagents.values())S(r.status)||r.status!==`spawning`&&r.status!==`waiting_input`&&r.status!==`hung`&&t-r.lastActivityAt>=e&&(r.status=`hung`,r.lastActivityAt=t,n++);return n}};async function w(e,t,n){let r=n?.trim();if(r)return r;let{session:i}=await e.request(s.get,{sessionId:t});return(i?.agents.find(e=>e.agentId===i.leadAgentId)??i?.agents[0])?.adapterName?.trim()}function T(e,t){let n=e.manager.get(t.subagentId);if(!n)throw Error(`Subagent not found: ${t.subagentId}`);return{status:n.status,childSessionId:n.childSessionId,pendingRequest:n.pendingRequest?{messageId:n.pendingRequest.messageId,question:n.pendingRequest.question,context:n.pendingRequest.context}:void 0,progress:n.progressUpdates.toArray(),result:n.result,summary:n.summary,error:n.error,usage:n.usage}}async function E(e,t){let{parentSessionId:n,config:r,depth:i,spawningToolCallId:a}=t,{constraints:o}=e.manager,s=Math.min(r.maxDepth??o.maxDepth,o.maxDepth);if(i>s)throw new u(d.DEPTH_EXCEEDED,`Maximum subagent depth (${s}) exceeded`);if(e.manager.countActiveBySession(n)>=o.maxConcurrentPerSession)throw new u(d.SESSION_LIMIT,`Maximum concurrent subagents per session (${o.maxConcurrentPerSession}) reached`);if(e.manager.countTotalActive()>=o.maxTotalActive)throw new u(d.GLOBAL_LIMIT,`Maximum total active subagents (${o.maxTotalActive}) reached`);let c=await w(e.bus,n,r.adapterName);if(!c)throw new u(d.ADAPTER_NOT_ALLOWED,`adapterName is required for subagent spawn when parent session has no inheritable adapter`);if(o.allowedAdapters.length>0&&!o.allowedAdapters.includes(c))throw new u(d.ADAPTER_NOT_ALLOWED,`Adapter '${c}' is not allowed`);if(r.model&&o.allowedModels.length>0&&!o.allowedModels.includes(r.model))throw new u(d.MODEL_NOT_ALLOWED,`Model '${r.model}' is not allowed`);let l={...r,adapterName:c},p=crypto.randomUUID();return e.manager.track({subagentId:p,parentSessionId:n,config:l,depth:i}),await e.bus.emit(f.spawned,{subagentId:p,parentSessionId:n,task:l.task,config:l,depth:i,...e.executionOwnerId!==void 0&&{executionOwnerId:e.executionOwnerId},...a!==void 0&&{spawningToolCallId:a}}),{subagentId:p,status:`spawning`}}async function D(e,t){let{subagentId:n,timeoutMs:r}=t,i=e.manager.get(n);if(!i)throw Error(`Subagent not found: ${n}`);if([`completed`,`failed`,`cancelled`].includes(i.status))return{status:i.status,result:i.result,error:i.error,completionSource:i.completionSource,toolObservations:[...i.toolObservations],usage:i.usage};if(i.status===`waiting_input`&&i.pendingRequest)return{status:`waiting_input`,pendingRequest:{messageId:i.pendingRequest.messageId,question:i.pendingRequest.question,context:i.pendingRequest.context}};let a=r??e.manager.constraints.defaultAwaitTimeoutMs;return new Promise(t=>{let r=!1,i,o=e=>{r||(r=!0,i&&clearTimeout(i),t({status:e.status,result:e.result,error:e.error,pendingRequest:e.pendingRequest,completionSource:e.completionSource,toolObservations:e.toolObservations,usage:e.usage}))};e.manager.addAwaiter(n,o),a>0&&(i=setTimeout(()=>{r||(r=!0,e.manager.removeAwaiter(n,o),t({status:`timeout`}))},a))})}async function O(e,t){let{subagentId:n,content:r,inResponseTo:i}=t,a=e.manager.get(n);if(!a)throw Error(`Subagent not found: ${n}`);if(a.status===`spawning`)throw new u(d.INVALID_STATE,`Cannot send to a subagent before startup completes`);if(a.completionCandidate!==void 0)throw new u(d.INVALID_STATE,`Cannot send to a subagent while completion is pending`);let o=!1;return i&&a.pendingRequest?.messageId===i&&(e.manager.resolvePendingRequest(n,r),o=!0),await e.bus.emit(f.toChild,{subagentId:n,messageId:crypto.randomUUID(),content:r,inResponseTo:i}),{sent:!0,resolvedPending:o}}async function k(e,t){let{subagentId:n,reason:r}=t,i=e.manager.markCancelled(n);return i&&await e.bus.emit(f.cancelled,{subagentId:n,reason:r??`Killed by parent`}),{killed:i}}async function A(e,t){let{subagentId:n,update:r,percentComplete:i}=t;if(!e.manager.get(n))throw Error(`Subagent not found: ${n}`);let a=i===void 0?r:`[${i}%] ${r}`;return e.manager.addProgress(n,a),await e.bus.emit(f.toParent,{subagentId:n,messageId:crypto.randomUUID(),type:`progress`,content:a}),{reported:!0}}async function j(e,t){let{subagentId:n,question:r,context:i,timeoutMs:a}=t,o=e.manager.get(n);if(!o)throw Error(`Subagent not found: ${n}`);if(o.completionCandidate!==void 0)throw new u(d.INVALID_STATE,`Cannot request input while completion is pending`);let s=crypto.randomUUID(),c=a??e.manager.constraints.defaultRequestTimeoutMs,l=!1,p,m,h=new Promise(e=>{m=e});e.manager.setPendingRequest(n,{messageId:s,question:r,context:i,resolver:e=>{l||(l=!0,p&&clearTimeout(p),m(e===null?{responded:!1,timedOut:!0}:{responded:!0,response:e,timedOut:!1}))}}),c>0&&(p=setTimeout(()=>{l||e.manager.resolvePendingRequest(n,null)},c));let g=e.bus.emit(f.toParent,{subagentId:n,messageId:s,type:`request_input`,content:r,context:i}).then(()=>({published:!0}),e=>({published:!1,error:e})),_=await Promise.race([h.then(e=>({response:e})),g]);if(`response`in _)return _.response;if(!_.published)throw e.manager.resolvePendingRequest(n,null),_.error;return h}async function M(e,t){let{sessionId:n,turnId:r,result:i,summary:a}=t,o=e.manager.getByChildSessionId(n);if(o===void 0)throw new u(d.NOT_FOUND,`No subagent owns this child session`);if(o.status===`completed`||o.status===`failed`||o.status===`cancelled`)throw new u(d.ALREADY_TERMINAL,`Subagent already in terminal state: ${o.status}`);let s=o.activeTurnId;if(s===void 0)throw new u(d.INVALID_STATE,`No active turn exists for this child session`);if(r!==void 0&&r!==s)throw new u(d.INVALID_STATE,`Completion turn does not match the active child turn`);return e.manager.recordCompletionCandidate(o.subagentId,s,i,a,`tool`),await e.onCompletionCandidate?.(o.subagentId),{completed:!0}}function N(e,t){let{parentSessionId:n}=t;return{subagents:e.manager.getAllNonTerminal().filter(e=>e.parentSessionId===n).map(e=>({subagentId:e.subagentId,task:e.config.task,status:e.status}))}}function P(e,t,n,r){return{kind:`adapter`,adapterName:e,...n!==void 0&&{providerContext:n},...t.model!==void 0&&{model:t.model},...t.reasoningEffort!==void 0&&{reasoningEffort:t.reasoningEffort},...t.systemPrompt!==void 0&&{systemPrompt:t.systemPrompt},...t.adapterConfig!==void 0&&{adapterConfig:t.adapterConfig},...r!==void 0&&{cwd:r},...t.tools!==void 0&&{allowedTools:t.tools},...t.disallowedTools!==void 0&&{disallowedTools:t.disallowedTools},...t.allowedDirectories!==void 0&&{allowedDirectories:t.allowedDirectories}}}async function F(e,t){let{subagentId:n,adapterName:r,config:i,sessionId:a,task:o,targetWorkingDirectory:c,assertAdmission:l}=t,u=i.providerContext;if(u?.state===`resolved`&&i.providerConfigId!==void 0&&i.providerConfigId!==u.providerConfigId)throw Error(`Subagent providerConfigId "${i.providerConfigId}" does not match its resolved provider context "${u.providerConfigId}".`);if(u?.state===`unresolved`&&i.providerConfigId!==void 0)throw new g(`provider-context-unresolved`,r,i.providerConfigId);let d=u??(i.providerConfigId?await _(e,{adapterName:r,providerConfigId:i.providerConfigId}):void 0);await e.request(s.agent.attachResolved,{sessionId:a,role:`lead`,initialMessage:o,source:`system`,assertInitialMessageAdmission:()=>{try{l()}catch{throw Error(`Subagent startup was cancelled before initial task admission: ${n}`)}},...i.responseSchema!==void 0&&{responseSchema:i.responseSchema},...i.harnessId!==void 0&&{harnessId:i.harnessId},agent:P(r,i,d,c)},{timeout:0})}const I={id:`system:local`,name:`Local`,description:`Default local process execution`,type:`local`,scope:`default`,enabled:!0,createdAt:Date.now(),updatedAt:Date.now()};var L=class extends Error{code;constructor(e){super(`Subagent failure finalization failed (${e}).`),this.code=e,this.name=`SubagentFailureFinalizationError`}},R=class extends h{delegationAllowSet;requestHandlerPriority;executionOwnerId;manager;pendingChildSessionClose=new Set;spawningExecutions=new Set;constructor(e=r,t=o,n=new Set,i=0,a=crypto.randomUUID()){super(e),this.delegationAllowSet=n,this.requestHandlerPriority=i,this.executionOwnerId=a,this.manager=new C(t)}grantDelegation(e,t){this.delegationAllowSet.add(`${e}:${t}`)}revokeDelegation(e,t){this.delegationAllowSet.delete(`${e}:${t}`)}onInit(){this.registerHandler(f.spawned,async e=>{e.payload.executionOwnerId!==void 0&&e.payload.executionOwnerId!==this.executionOwnerId||this.handleSpawned(e.payload).catch(e=>{console.error(`[SubagentService] handleSpawned error:`,e)})}),this.registerHandler(f.execute,async e=>{if(!this.isRemoteDelegationAllowed(e))return;let t=await this.handleExecute(e.payload);e.setResult(t)}),this.registerHandler(f.toChild,async e=>{await this.handleToChild(e.payload)}),this.registerHandler(f.completed,async e=>{await this.handleCompleted(e.payload.subagentId)}),this.registerHandler(f.cancelled,async e=>{await this.handleCancelled(e.payload.subagentId)}),this.registerHandler(i.session.closed,e=>{this.handleAdapterSessionClosed(e.payload.sessionId)}),this.registerHandler(a.complete,async e=>{await this.handleAgentComplete(e.payload)}),this.registerHandler(s.turn.completed,async e=>{await this.handleSessionTurnCompleted(e.payload)}),this.registerHandler(s.turn.started,e=>{this.handleSessionTurnStarted(e.payload)}),this.registerHandler(a.tool.completed,e=>{e.payload._import||e.payload.sessionId===void 0||e.payload.success===void 0||this.manager.recordToolObservation(e.payload.sessionId,{toolName:e.payload.toolName,outcome:e.payload.success?`success`:`failure`,...e.payload.success===!0&&e.payload.artifactResult!==void 0?{artifact:e.payload.artifactResult}:{}},e.payload.toolCallId)}),this.registerRpcHandlers(),this.wirePeriodicSweep()}wirePeriodicSweep(){let{inactivityTimeoutMs:e,sweepIntervalMs:t}=this.manager.constraints;if(t<=0)return;let n=setInterval(()=>{let t=this.manager.sweepHung(e);t>0&&console.warn(`[SubagentService] Swept ${t} hung subagent(s) due to inactivity`),this.manager.cleanup()},t);this.addCleanup(()=>clearInterval(n))}registerRpcHandlers(){let e={manager:this.manager,bus:this.bus,executionOwnerId:this.executionOwnerId,onCompletionCandidate:e=>this.finalizeSubagentIfReady(e)};this.registerHandler(f.getStatus,t=>{let n=T(e,t.payload);t.setResult(n)},{priority:this.requestHandlerPriority}),this.registerHandler(f.spawn,async t=>{if(!this.isRemoteDelegationAllowed(t))return;let n=await E(e,c.parse(t.payload));t.setResult(n)},{priority:this.requestHandlerPriority}),this.registerHandler(f.await,async t=>{let n=await D(e,t.payload);t.setResult(n)},{priority:this.requestHandlerPriority}),this.registerHandler(f.send,async t=>{let n=await O(e,t.payload);t.setResult(n)}),this.registerHandler(f.kill,async t=>{let n=await k(e,t.payload);t.setResult(n)},{priority:this.requestHandlerPriority}),this.registerHandler(f.reportProgress,async t=>{let n=await A(e,t.payload);t.setResult(n)}),this.registerHandler(f.requestInput,async t=>{let n=await j(e,t.payload);t.setResult(n)}),this.registerHandler(f.completeTask,async t=>{let n=await M(e,t.payload);t.setResult(n)}),this.registerHandler(f.listBySession,t=>{let n=N(e,t.payload);t.setResult(n)})}onDestroy(){this.pendingChildSessionClose.clear(),this.spawningExecutions.clear()}async handleSpawned(e){let{subagentId:t,parentSessionId:n,task:r,spawningToolCallId:i}=e,a=this.manager.get(t);if(!(a&&a.status!==`spawning`)&&!this.spawningExecutions.has(t)){this.spawningExecutions.add(t);try{return await this.executeSpawned(e,n,r,i)}finally{this.spawningExecutions.delete(t)}}}async executeSpawned(e,n,r,i){let{subagentId:a}=e,o=()=>this.shouldAbortSpawn(this.manager.get(a)?.status),s=l.parse({...e.config,task:r}),c=s.adapterName?.trim();if(!c)return this.failSpawn(a,n,`adapter_start`,`Subagent spawn requires a non-empty adapterName`);this.manager.get(a)||this.manager.track({subagentId:a,parentSessionId:n,config:s,depth:e.depth??1});let u,d;try{d=await this.buildExecutionTargetResolutionParams(n,s.executionTargetId);let e=await this.bus.requestOptional(t.resolve,d),r;if(e.handled)r=e.data.executionTarget;else if(d.executionTargetId!=null)throw Error(`Execution target resolver unavailable for explicit target '${d.executionTargetId}'`);else r=I;if(r.type!==`local`)return this.failSpawn(a,n,`adapter_start`,`Execution target type '${r.type}' is not yet supported for subagents`);u=d.executionTargetId??void 0}catch(e){return this.failSpawn(a,n,`adapter_start`,e)}let f;try{f=await this.createChildSessionForSpawn(a,n,s,u,d,i)}catch(e){return this.failSpawn(a,n,`session_create`,e)}if(!o())return this.attachSpawnedSubagent({subagentId:a,parentSessionId:n,adapterName:c,config:s,sessionId:f,task:r,targetWorkingDirectory:d.targetWorkingDirectory,shouldAbort:o})}async attachSpawnedSubagent(e){let{subagentId:t,parentSessionId:r,adapterName:i,config:a,sessionId:o,task:s,targetWorkingDirectory:c,shouldAbort:l}=e;try{await F(this.bus,{subagentId:t,adapterName:i,config:a,sessionId:o,task:s,targetWorkingDirectory:c,assertAdmission:()=>{if(this.shouldAbortSpawn(this.manager.get(t)?.status))throw Error(`startup cancelled`)}})}catch(e){if(l())return;let i=n(e);return this.failSpawn(t,r,i?.stage===`initial_message`?`agent_start`:`adapter_start`,e)}l()||this.manager.markStarted(t)}async createChildSessionForSpawn(e,t,n,r,i,a){let{sessionId:o}=await this.bus.request(s.create,this.buildChildSessionCreatePayload(t,n,r,i.targetWorkingDirectory,a));return this.manager.setChildSessionId(e,o),this.pendingChildSessionClose.has(e)&&await this.closeChildSession(e),o}async failSpawn(e,t,n,r){let i=r instanceof Error?r:Error(String(r));this.manager.markFailed(e,i.message);let[a,o]=await Promise.allSettled([this.manager.get(e)?.childSessionId===void 0?Promise.resolve():this.requestChildSessionClose(e),this.emitExecutionFailed(e,t,n,i)]),s=[];if(a.status===`rejected`&&s.push(new L(`child-session-close-failed`)),o.status===`rejected`&&s.push(new L(`failure-publication-failed`)),s.length>0)throw AggregateError([i,...s],`Subagent spawn failed and failure finalization also failed.`);return i.message}async buildExecutionTargetResolutionParams(t,n){if(n!==void 0)return{executionTargetId:n};let{session:r}=await this.bus.request(e.get,{sessionId:t});if(!r)throw Error(`Parent session not found: ${t}`);return{...r.executionTargetId!==void 0&&{executionTargetId:r.executionTargetId},...r.targetWorkingDirectory!==void 0&&{targetWorkingDirectory:r.targetWorkingDirectory}}}buildChildSessionCreatePayload(e,t,n,r,i){return{branchKind:`subagent`,parentSessionId:e,contextInheritance:t.contextMode===`fork`?`parent-history`:`none`,...n!==void 0&&{executionTargetId:n},...r!==void 0&&{targetWorkingDirectory:r},...i!==void 0&&{spawningToolCallId:i}}}async handleExecute(e){let t=l.parse({...e.config,task:e.task});this.manager.track({subagentId:e.subagentId,parentSessionId:e.parentSessionId,config:t,depth:e.depth});let n=await this.handleSpawned({subagentId:e.subagentId,parentSessionId:e.parentSessionId,task:e.task,config:t,depth:e.depth});return n?{success:!1,error:n}:{success:!0}}async handleToChild(e){let{subagentId:t,content:n}=e,r=this.manager.get(t);if(!r){console.warn(`[SubagentService] No subagent found: ${t}`);return}if(!r.childSessionId){console.warn(`[SubagentService] No child session for subagent: ${t}`);return}try{await this.bus.request(s.sendMessage,{sessionId:r.childSessionId,message:n,source:`system`})}catch(e){console.error(`[SubagentService] Failed to route message to child session:`,e)}}async handleCompleted(e){await this.closeChildSession(e)}async handleCancelled(e){await this.closeChildSession(e)}async closeChildSession(e){try{await this.requestChildSessionClose(e)}catch{console.error(`[SubagentService] Failed to close child session for subagent ${e}:`,new L(`child-session-close-failed`))}}async requestChildSessionClose(e){let t=this.manager.get(e);if(t){if(!t.childSessionId){this.pendingChildSessionClose.add(e);return}this.pendingChildSessionClose.delete(e),await this.bus.request(s.close,{sessionId:t.childSessionId})}}shouldAbortSpawn(e){return e===void 0||e===`completed`||e===`failed`||e===`cancelled`}handleAdapterSessionClosed(e){for(let t of this.manager.getAllNonTerminal())if(t.childSessionId===e){console.warn(`[SubagentService] Adapter session closed for subagent ${t.subagentId}: ${e}`),this.manager.markFailed(t.subagentId,`adapter-session-closed`);return}}async handleAgentComplete(e){let{sessionId:t,turnId:n,outcome:r,message:i,error:a}=e;if(!(!t||!n))for(let e of this.manager.getAllNonTerminal()){if(e.childSessionId!==t)continue;if((e.config.completion??`tool`)!==`turn`||e.status===`waiting_input`)return;let o=r??`completed`;if(o===`completed`)try{this.manager.recordCompletionCandidate(e.subagentId,n,i??``,void 0,`turn`),await this.finalizeSubagentIfReady(e.subagentId)}catch{return}else if(o===`error`)try{this.manager.recordCompletionCandidate(e.subagentId,n,a??`child turn failed`,void 0,`turn`),await this.finalizeSubagentIfReady(e.subagentId)}catch{return}return}}async handleSessionTurnCompleted(e){if(e.ingestionMarker!==`backfill`){for(let t of this.manager.getAllNonTerminal())if(t.childSessionId===e.sessionId){if(this.manager.recordTurnCompleted(e.sessionId,e.turnId),this.manager.recordCompletedTurn(t.subagentId,e.turnId,e.usage,e.success,e.error),t.completionCandidate?.turnId!==e.turnId)return;await this.finalizeSubagentIfReady(t.subagentId);return}}}handleSessionTurnStarted(e){e.ingestionMarker!==`backfill`&&this.manager.recordTurnStarted(e.sessionId,e.turnId)}async finalizeSubagentIfReady(e){if(!this.manager.finalizeCompletionIfReady(e))return;let t=this.manager.get(e);await this.bus.emit(f.completed,{subagentId:e,success:t?.status===`completed`,...t?.status===`completed`?{result:t.summary?`${t.summary}\n\n${t.result??``}`:t?.result,usage:t.usage}:{error:t?.error??`child turn failed`}})}isRemoteDelegationAllowed(e){return e.origin.local||y(e.transport?.peer,this.delegationAllowSet)}async emitExecutionFailed(e,t,n,r){let i=r instanceof Error?r.message:String(r);await this.bus.emit(f.executionFailed,{subagentId:e,parentSessionId:t,phase:n,error:i})}};const z=m(`subagent-service`);function B(e=0){return{name:z.name,displayName:`Subagent Service`,version:`0.1.0`,critical:!0,surface:`headless`,dependencies:[p(`session`)],create:t=>new R(t.bus,o,new Set,e)}}const V=B();export{R as a,L as i,B as n,C as o,V as r,y as s,z as t};