@makaio/framework 1.0.0-dev-1779051654000 → 1.0.0-dev-1781023871421

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 (419) hide show
  1. package/LICENSE +1 -1
  2. package/dist/.makaio-build.json +5 -0
  3. package/dist/account-identity-DT5NOtFi.mjs +1 -0
  4. package/dist/adapter-C1eI-fGV.mjs +1 -0
  5. package/dist/adapters/acp-client/index.d.mts +6013 -14
  6. package/dist/adapters/acp-client/index.mjs +3 -1
  7. package/dist/adapters/config/index.d.mts +1 -1
  8. package/dist/adapters/config/index.mjs +1 -1
  9. package/dist/adapters/index.d.mts +47 -20
  10. package/dist/adapters/index.mjs +13 -6
  11. package/dist/adapters/node.d.mts +4 -4
  12. package/dist/adapters/node.mjs +4 -4
  13. package/dist/adapters/stream-session/index.d.mts +30 -0
  14. package/dist/adapters/stream-session/index.mjs +1 -1
  15. package/dist/artifact-B3npq1cy.mjs +1 -0
  16. package/dist/bus/index.d.mts +866 -203
  17. package/dist/bus/index.mjs +1 -1
  18. package/dist/bus-Caz3Jpbc.mjs +1 -0
  19. package/dist/bus-Hb-LGzgb.mjs +2 -0
  20. package/dist/chunk-DTipWd-i.mjs +1 -0
  21. package/dist/client-bx74gm4R.mjs +1 -0
  22. package/dist/clients/index.d.mts +113 -35
  23. package/dist/clients/index.mjs +2 -2
  24. package/dist/{clients-namespace-UHj5wt-l.d.mts → clients-namespace-GmSJpBUV.d.mts} +8 -8
  25. package/dist/{config-namespace-ChZOpi1W.d.mts → config-namespace-CPY9YsR8.d.mts} +4 -4
  26. package/dist/contracts/adapter/index.d.mts +3 -3
  27. package/dist/contracts/adapter/index.mjs +1 -1
  28. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  29. package/dist/contracts/artifact/index.d.mts +2 -0
  30. package/dist/contracts/artifact/index.mjs +1 -0
  31. package/dist/contracts/client/index.d.mts +2 -2
  32. package/dist/contracts/client/index.mjs +1 -1
  33. package/dist/contracts/common/index.d.mts +1 -1
  34. package/dist/contracts/config/index.d.mts +8 -8
  35. package/dist/contracts/config/index.mjs +1 -1
  36. package/dist/contracts/extension/index.d.mts +4 -3
  37. package/dist/contracts/extension/index.mjs +1 -1
  38. package/dist/contracts/facet/index.d.mts +2 -0
  39. package/dist/contracts/facet/index.mjs +1 -0
  40. package/dist/contracts/harness/index.d.mts +1 -1
  41. package/dist/contracts/harness/index.mjs +1 -1
  42. package/dist/contracts/host/index.d.mts +1 -1
  43. package/dist/contracts/host/index.mjs +1 -1
  44. package/dist/contracts/index.d.mts +12370 -1990
  45. package/dist/contracts/index.mjs +1 -1
  46. package/dist/contracts/materialization/index.d.mts +4 -0
  47. package/dist/contracts/materialization/index.mjs +1 -0
  48. package/dist/contracts/model-registry/index.d.mts +1 -1
  49. package/dist/contracts/model-registry/index.mjs +1 -1
  50. package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
  51. package/dist/contracts/native-session-supervisor/index.mjs +1 -1
  52. package/dist/contracts/platform/index.d.mts +1 -1
  53. package/dist/contracts/platform/index.mjs +1 -1
  54. package/dist/contracts/provider/index.d.mts +2 -2
  55. package/dist/contracts/provider/index.mjs +1 -1
  56. package/dist/contracts/session/index.d.mts +3 -3
  57. package/dist/contracts/session/index.mjs +1 -1
  58. package/dist/contracts/shared/index.d.mts +2 -2
  59. package/dist/contracts/shared/index.mjs +1 -1
  60. package/dist/contracts/skill/index.d.mts +1 -1
  61. package/dist/contracts/skill/index.mjs +1 -1
  62. package/dist/contracts/telemetry/index.d.mts +2 -0
  63. package/dist/contracts/telemetry/index.mjs +1 -0
  64. package/dist/contracts/timeout/index.d.mts +1 -1
  65. package/dist/contracts/timeout/index.mjs +1 -1
  66. package/dist/contracts/toast/index.d.mts +2 -2
  67. package/dist/contracts/toast/index.mjs +1 -1
  68. package/dist/contracts/variant/index.d.mts +1 -1
  69. package/dist/contracts/variant/index.mjs +1 -1
  70. package/dist/core/index.d.mts +296 -34
  71. package/dist/core/index.mjs +1 -1
  72. package/dist/{credential-ref-DLCsoKVZ.mjs → credential-ref-YWQQENEo.mjs} +1 -1
  73. package/dist/cursor-storage-CtVJ3JzB.mjs +1 -0
  74. package/dist/{definition-DB7bbFSa.d.mts → definition-BLCdXGzh.d.mts} +17 -3
  75. package/dist/definition-CrgHIpTK.d.mts +60 -0
  76. package/dist/{definition-DkYy1PZz.mjs → definition-DZMXOnjX.mjs} +1 -1
  77. package/dist/{definition-DtUNiGom.d.mts → definition-pkJ6szUl.d.mts} +1 -1
  78. package/dist/drizzle-Eq8W1EbD.mjs +1 -0
  79. package/dist/event-Ca2yUf5i.mjs +1 -0
  80. package/dist/execution-target-CRPTfZlc.mjs +1 -0
  81. package/dist/extension-C-4BHMRI.mjs +1 -0
  82. package/dist/extension-CpIUgBKI.mjs +1 -0
  83. package/dist/facet-BuwhrThl.mjs +1 -0
  84. package/dist/filesystem-service-B8rhBRgB.mjs +1 -0
  85. package/dist/filesystem-service-p_iJVHd4.d.mts +66 -0
  86. package/dist/git/index.d.mts +210 -0
  87. package/dist/git/index.mjs +18 -0
  88. package/dist/globby-rtWVaFHv.mjs +41 -0
  89. package/dist/{handlers-DR_4_rAT.mjs → handlers-CkTsQLra.mjs} +3 -3
  90. package/dist/{harness-B6lGP9rm.mjs → harness-BRCMcvQN.mjs} +1 -1
  91. package/dist/{host-CvEht5RT.mjs → host-Br9VuOyr.mjs} +1 -1
  92. package/dist/{index-WKjrpcA_.d.mts → index-472sOmsW.d.mts} +6 -6
  93. package/dist/index-8SZkg7s6.d.mts +353 -0
  94. package/dist/index-B3PK4FIn.d.mts +5116 -0
  95. package/dist/{index-D2jejYlV.d.mts → index-B80L4YqA.d.mts} +3 -3
  96. package/dist/index-BFg9BUpx.d.mts +355 -0
  97. package/dist/index-BGfWS6GE.d.mts +483 -0
  98. package/dist/{index-DQRsGXb5.d.mts → index-BVgfS-AJ.d.mts} +2 -2
  99. package/dist/{index-CnmPtjnA.d.mts → index-B_zQC98V.d.mts} +16 -16
  100. package/dist/{index-DaEp4UWW.d.mts → index-Bh_Ne7LF.d.mts} +54 -42
  101. package/dist/{index-yvN8UcEH.d.mts → index-Bvb2mMH6.d.mts} +109 -109
  102. package/dist/{index-tKvu34DJ2.d.mts → index-CCGVh9BF2.d.mts} +242 -28
  103. package/dist/{index-C-myW_aK.d.mts → index-CGmcS0Ma.d.mts} +2 -2
  104. package/dist/{index-DEw90pa2.d.mts → index-CLpjm52M.d.mts} +3 -3
  105. package/dist/{index-DQWMu5fS.d.mts → index-Caig6TeF.d.mts} +85 -99
  106. package/dist/{index-DwCA1HWa.d.mts → index-CelJCBjk.d.mts} +15 -15
  107. package/dist/{index-ESSDWIB7.d.mts → index-ChunCFu4.d.mts} +1 -1
  108. package/dist/{index-e5C62_M3.d.mts → index-Cm0dUkWL.d.mts} +819 -85
  109. package/dist/{index-N5K1NOYs.d.mts → index-CokQYGVP.d.mts} +4 -4
  110. package/dist/{index-Bigx81Kr.d.mts → index-Cs0kZXIz2.d.mts} +1 -1
  111. package/dist/{index-6lyShOoU.d.mts → index-D5d5HeWI2.d.mts} +34 -0
  112. package/dist/{index-sBob9D25.d.mts → index-D90OmGmV.d.mts} +3 -3
  113. package/dist/{index-D1T-PPqF.d.mts → index-D9MwJ2Q8.d.mts} +3 -3
  114. package/dist/{index-BePI0ckL.d.mts → index-DANINzMu.d.mts} +1 -1
  115. package/dist/{index-BnSQE7z7.d.mts → index-DBw-89vC2.d.mts} +129 -1332
  116. package/dist/{index-C_kS2aqV2.d.mts → index-DGBu6bHi2.d.mts} +14 -14
  117. package/dist/index-DKC62dY5.d.mts +146 -0
  118. package/dist/{index-7sXlairn2.d.mts → index-DKia0MX1.d.mts} +1 -1
  119. package/dist/{index-E8d_RwaF.d.mts → index-DMKnON5s.d.mts} +1 -1
  120. package/dist/{index-Cq8B7cwK.d.mts → index-DUaw0Dw8.d.mts} +1524 -369
  121. package/dist/{index-Dd5s4MSm.d.mts → index-De3kPhlN.d.mts} +2 -2
  122. package/dist/{index-DGTFJB_8.d.mts → index-L4GjJDKb.d.mts} +116 -23
  123. package/dist/{index-iID2R9G1.d.mts → index-U-A8eyGT.d.mts} +7 -7
  124. package/dist/{index-D7T8XCku.d.mts → index-eemAKwsB.d.mts} +23 -2
  125. package/dist/{index-BXP9GK5q.d.mts → index-mNec7V-9.d.mts} +27 -27
  126. package/dist/{index-CnZOKNjU.d.mts → index-soFznFCy2.d.mts} +2 -2
  127. package/dist/{index-Ch3ph52M2.d.mts → index-vtXJuwrz.d.mts} +2 -2
  128. package/dist/{index-BnNqbx2I.d.mts → index-x_lVDp_J.d.mts} +2 -2
  129. package/dist/json-value-CmhSGMLv.mjs +1 -0
  130. package/dist/kernel/cli/index.d.mts +4 -2
  131. package/dist/kernel/cli/index.mjs +1 -1
  132. package/dist/kernel/cli/schemas.d.mts +1 -0
  133. package/dist/kernel/cli/schemas.mjs +1 -1
  134. package/dist/kernel/extension/index.d.mts +1 -1
  135. package/dist/kernel/extension/index.mjs +1 -1
  136. package/dist/kernel/index.d.mts +5 -5
  137. package/dist/kernel/index.mjs +1 -1
  138. package/dist/kernel/namespace/index.d.mts +1 -1
  139. package/dist/kernel/namespace/index.mjs +1 -1
  140. package/dist/kernel/observability/index.d.mts +1 -1
  141. package/dist/kernel/observability/index.mjs +1 -1
  142. package/dist/kernel/providers/index.d.mts +1 -1
  143. package/dist/kernel/providers/index.mjs +1 -1
  144. package/dist/kernel/window/index.d.mts +1 -1
  145. package/dist/kernel/window/index.mjs +1 -1
  146. package/dist/materialization-CuUBu4XI.mjs +1 -0
  147. package/dist/{namespace-BpIE-jQW.d.mts → namespace-5QQqbF-B.d.mts} +1018 -111
  148. package/dist/{namespace-DwCyOaZn2.d.mts → namespace-BM7Djng9.d.mts} +3 -3
  149. package/dist/namespace-BwzZJqTV.mjs +1 -0
  150. package/dist/{namespace-DZcuLwEA.d.mts → namespace-CTm3nEvh.d.mts} +1 -1
  151. package/dist/{namespace-BK2erxpV.d.mts → namespace-CaaNnKcR.d.mts} +3 -3
  152. package/dist/{namespace-GLGGcWPH.d.mts → namespace-CaoZ3S78.d.mts} +1 -1
  153. package/dist/{namespace-DXnMk3U8.d.mts → namespace-CxhsoFUP.d.mts} +27 -31
  154. package/dist/{namespace-B1E57soL.d.mts → namespace-DD8Oiqo7.d.mts} +23 -23
  155. package/dist/{namespace-BCRNwPnw.d.mts → namespace-DLovh2Ws.d.mts} +21 -21
  156. package/dist/{namespace-Ysg1N6rR.d.mts → namespace-DgqkaOVu.d.mts} +26 -25
  157. package/dist/{namespace-B5ZCshBw.d.mts → namespace-Dr8K0MCp.d.mts} +82 -81
  158. package/dist/{namespace-DGMO2E8f.mjs → namespace-DuXK5AYN.mjs} +1 -1
  159. package/dist/{namespace-ZbthBQVt.d.mts → namespace-EQniz-Aw.d.mts} +14 -14
  160. package/dist/{namespace-C54Oj025.d.mts → namespace-IV1QK__V.d.mts} +1 -1
  161. package/dist/{namespace-BKrV_2gZ.d.mts → namespace-TyiTsLFv.d.mts} +46 -45
  162. package/dist/{namespace-OwAf1Brw.mjs → namespace-xcmbQlxh.mjs} +1 -1
  163. package/dist/{native-session-supervisor-zPt624Tp.mjs → native-session-supervisor-B1TnaPUF.mjs} +1 -1
  164. package/dist/node/bus-server/index.d.mts +1 -1
  165. package/dist/node/bus-server/index.mjs +1 -1
  166. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  167. package/dist/node/bus-server/server-lifecycle.mjs +1 -1
  168. package/dist/node/machine-identity/index.mjs +2 -2
  169. package/dist/node/transports/index.d.mts +200 -7
  170. package/dist/node/transports/index.mjs +2 -2
  171. package/dist/{orchestrator-shared-D2txLAUs.mjs → orchestrator-shared-CIDiFJMD.mjs} +1 -1
  172. package/dist/{orchestrator-shared-DrjtTXYh.d.mts → orchestrator-shared-Dfa7FMyw.d.mts} +5 -5
  173. package/dist/package-DKVlsMP3.mjs +1 -0
  174. package/dist/{profile-Cq4A7kQa.mjs → profile-6ynCD5k3.mjs} +1 -1
  175. package/dist/{provider-context-BB4eD8ON.mjs → provider-context-CK6B4X_8.mjs} +1 -1
  176. package/dist/providers/index.mjs +1 -1
  177. package/dist/{providers-namespace-CDwxY_DV.d.mts → providers-namespace-DSEpli4A.d.mts} +1 -1
  178. package/dist/{schema-B295yplx.d.mts → schema-M5YTvSAG.d.mts} +114 -2
  179. package/dist/{schema-C4iznV0q.mjs → schema-e0wU_lcV.mjs} +1 -1
  180. package/dist/{schema-introspection-DCYC47_d.mjs → schema-introspection-Dn1jWQs1.mjs} +1 -1
  181. package/dist/{schemas-C5xtVqdb.d.mts → schemas-Bd0OjRQf.d.mts} +1 -1
  182. package/dist/{schemas-Ra8pz5M-.d.mts → schemas-C46QfKzv.d.mts} +24 -28
  183. package/dist/{schemas-sshQEF3l.d.mts → schemas-CDBSjg7o.d.mts} +1 -1
  184. package/dist/schemas-CR1Rripy.mjs +1 -0
  185. package/dist/schemas-CVvwIfG4.mjs +1 -0
  186. package/dist/schemas-CaLhkkLn.mjs +1 -0
  187. package/dist/{schemas-DYqKRNju.d.mts → schemas-ClOOT1W6.d.mts} +4 -4
  188. package/dist/{schemas-BfMZAwff.d.mts → schemas-DATniTHb.d.mts} +8 -8
  189. package/dist/{schemas-BWvuaL0w.d.mts → schemas-DVF1A4DF.d.mts} +4 -4
  190. package/dist/{schemas-Di0XnnMX.d.mts → schemas-DaRSfYLf.d.mts} +1 -1
  191. package/dist/{schemas-C31qbb0s.d.mts → schemas-DiYVzG6e.d.mts} +51 -48
  192. package/dist/{schemas-KMA1efQg.d.mts → schemas-j7ivZ2HI.d.mts} +3 -3
  193. package/dist/schemas-wg_6PAdV.d.mts +153 -0
  194. package/dist/scoped-bus-04pwo1uM.mjs +1 -0
  195. package/dist/service-base/index.d.mts +1 -1
  196. package/dist/services/adapter-runtime/index.d.mts +3 -3
  197. package/dist/services/adapter-runtime/index.mjs +1 -1
  198. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  199. package/dist/services/adapter-runtime/schemas.d.mts +1 -1
  200. package/dist/services/adapter-subsystem/index.d.mts +2 -2
  201. package/dist/services/adapter-subsystem/index.mjs +1 -1
  202. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  203. package/dist/services/adapter-subsystem/namespace.mjs +1 -1
  204. package/dist/services/agent-runtime/index.d.mts +2 -2
  205. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  206. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  207. package/dist/services/capability/index.d.mts +1 -1
  208. package/dist/services/capability/index.mjs +1 -1
  209. package/dist/services/cli-detection/namespace.d.mts +1 -1
  210. package/dist/services/codebase/index.d.mts +2 -2
  211. package/dist/services/codebase/namespace.d.mts +1 -1
  212. package/dist/services/codebase/schemas.d.mts +1 -1
  213. package/dist/services/compression/index.d.mts +2 -2
  214. package/dist/services/compression/namespace.d.mts +1 -1
  215. package/dist/services/compression/schemas.d.mts +1 -1
  216. package/dist/services/context-rules/index.d.mts +4 -4
  217. package/dist/services/context-rules/index.mjs +1 -1
  218. package/dist/services/credential-change/index.d.mts +1 -1
  219. package/dist/services/definition/namespace.d.mts +1 -1
  220. package/dist/services/definition/schemas.d.mts +1 -1
  221. package/dist/services/dialog/namespace.d.mts +1 -1
  222. package/dist/services/dialog/schemas.d.mts +1 -1
  223. package/dist/services/execution-target/index.d.mts +4 -4
  224. package/dist/services/execution-target/index.mjs +1 -1
  225. package/dist/services/execution-target/namespace.d.mts +1 -1
  226. package/dist/services/execution-target/schemas.d.mts +1 -1
  227. package/dist/services/execution-target/schemas.mjs +1 -1
  228. package/dist/services/filesystem/index.d.mts +3 -0
  229. package/dist/services/filesystem/index.mjs +1 -0
  230. package/dist/services/filesystem/namespace.d.mts +7 -7
  231. package/dist/services/filesystem/schemas.d.mts +4 -4
  232. package/dist/services/git/namespace.d.mts +1163 -0
  233. package/dist/services/git/namespace.mjs +1 -0
  234. package/dist/services/git/schemas.d.mts +932 -0
  235. package/dist/services/git/schemas.mjs +1 -0
  236. package/dist/services/harness/index.d.mts +35 -35
  237. package/dist/services/harness/index.mjs +1 -1
  238. package/dist/services/harness/storage/schema.d.mts +5 -5
  239. package/dist/services/index.d.mts +1411 -928
  240. package/dist/services/index.mjs +1 -1
  241. package/dist/services/local-notification/index.d.mts +1 -1
  242. package/dist/services/local-notification/namespace.d.mts +1 -1
  243. package/dist/services/local-notification/schemas.d.mts +1 -1
  244. package/dist/services/log-import/browser.d.mts +2 -2
  245. package/dist/services/log-import/index.d.mts +23 -24
  246. package/dist/services/log-import/index.mjs +2 -2
  247. package/dist/services/log-import/log-import.d.mts +1 -1
  248. package/dist/services/log-import/log-import.mjs +1 -1
  249. package/dist/services/log-import/namespace.d.mts +1 -1
  250. package/dist/services/log-import/namespace.mjs +1 -1
  251. package/dist/services/log-import/schemas.d.mts +1 -1
  252. package/dist/services/log-import/schemas.mjs +1 -1
  253. package/dist/services/model-registry/index.d.mts +1 -1
  254. package/dist/services/model-registry/index.mjs +1 -1
  255. package/dist/services/preferences/index.d.mts +2 -2
  256. package/dist/services/preferences/schemas.d.mts +1 -1
  257. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  258. package/dist/services/provider-context/index.d.mts +1 -1
  259. package/dist/services/provider-context/index.mjs +1 -1
  260. package/dist/services/provider-runtime/index.d.mts +1 -1
  261. package/dist/services/provider-runtime/index.mjs +1 -1
  262. package/dist/services/session/handlers/index.d.mts +1 -1
  263. package/dist/services/session/handlers/index.mjs +1 -1
  264. package/dist/services/session/index.d.mts +10 -10
  265. package/dist/services/session/index.mjs +1 -1
  266. package/dist/services/session/messages/namespace.d.mts +1 -1
  267. package/dist/services/session/messages/namespace.mjs +1 -1
  268. package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
  269. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  270. package/dist/services/session/session-events/namespace.d.mts +1 -1
  271. package/dist/services/session/session-events/namespace.mjs +1 -1
  272. package/dist/services/session/storage/namespace.d.mts +1 -1
  273. package/dist/services/session/storage/schema.d.mts +1 -1
  274. package/dist/services/session/storage/schema.mjs +1 -1
  275. package/dist/services/session/testing/index.d.mts +2 -2
  276. package/dist/services/session/testing/index.mjs +16 -3
  277. package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
  278. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  279. package/dist/services/session/turns/namespace.d.mts +1 -1
  280. package/dist/services/session/turns/namespace.mjs +1 -1
  281. package/dist/services/session-editor/index.d.mts +3 -3
  282. package/dist/services/session-editor/index.mjs +1 -1
  283. package/dist/services/settings/index.d.mts +4 -4
  284. package/dist/services/settings/index.mjs +1 -1
  285. package/dist/services/settings/namespace.d.mts +19 -18
  286. package/dist/services/settings/namespace.mjs +1 -1
  287. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  288. package/dist/services/settings/storage/clients-namespace.mjs +1 -1
  289. package/dist/services/settings/storage/extension-configs/namespace.d.mts +4 -4
  290. package/dist/services/settings/storage/index.d.mts +3 -3
  291. package/dist/services/settings/storage/index.mjs +1 -1
  292. package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
  293. package/dist/services/settings/storage/providers-namespace.mjs +1 -1
  294. package/dist/services/subagent/index.d.mts +2 -0
  295. package/dist/services/subagent/index.mjs +1 -0
  296. package/dist/services/subagent-template/index.d.mts +3 -0
  297. package/dist/services/subagent-template/index.mjs +1 -0
  298. package/dist/services/subagent-template/namespace.d.mts +2 -0
  299. package/dist/services/subagent-template/namespace.mjs +1 -0
  300. package/dist/services/subagent-template/schemas.d.mts +2 -0
  301. package/dist/services/subagent-template/schemas.mjs +1 -0
  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/turn/schemas.d.mts +12 -12
  313. package/dist/session-BoldSdNZ2.mjs +134 -0
  314. package/dist/session-DuVOYctZ.mjs +1 -0
  315. package/dist/{session-lineage-B0cpHfuc.d.mts → session-lineage-CRsc9g1x.d.mts} +1 -1
  316. package/dist/shared-DpOEfD8F.mjs +1 -0
  317. package/dist/{skill-20_SBXaI.mjs → skill-CQO4mDqK.mjs} +1 -1
  318. package/dist/storage/drizzle/client.d.mts +2 -2
  319. package/dist/storage/drizzle/client.mjs +1 -1
  320. package/dist/storage/drizzle/index.d.mts +49 -10
  321. package/dist/storage/drizzle/index.mjs +1 -1
  322. package/dist/storage/handlers/drizzle/index.d.mts +1 -1
  323. package/dist/storage/handlers/drizzle/index.mjs +1 -1
  324. package/dist/storage/handlers/index.d.mts +2 -2
  325. package/dist/storage/handlers/index.mjs +1 -1
  326. package/dist/storage/index.d.mts +4 -4
  327. package/dist/{storage-namespace-DoH-Wkjp.d.mts → storage-namespace-BXkoh5Sy.d.mts} +11 -11
  328. package/dist/storage-namespace-DWsYLAXa.mjs +1 -0
  329. package/dist/{storage-namespace-definition-CJgqyXH1.d.mts → storage-namespace-definition-Bkx5rSto.d.mts} +1 -1
  330. package/dist/style.css +540 -540
  331. package/dist/telemetry-CvdLBWuk.mjs +1 -0
  332. package/dist/testing/drizzle-harness.mjs +1 -1
  333. package/dist/testing/index.mjs +1 -1
  334. package/dist/tool-approval-service-BvZWhYZp.mjs +1 -0
  335. package/dist/tools/index.d.mts +20 -10
  336. package/dist/tools/index.mjs +1 -1
  337. package/dist/tools/testing/index.d.mts +1 -1
  338. package/dist/tools-D-luYcDw.mjs +1431 -0
  339. package/dist/{types-C11LvekX.d.mts → types-BCMUtBj1.d.mts} +117 -20
  340. package/dist/{types-vNpkAe4Y.d.mts → types-C2Ob9zz_.d.mts} +1 -1
  341. package/dist/{types-t295YC6T.d.mts → types-CCdqjeuH.d.mts} +2 -2
  342. package/dist/{types-Cvrj2ogm.d.mts → types-DZHvOc_Q.d.mts} +4 -4
  343. package/dist/{types--nrtGZ1V.d.mts → types-Dy3YTcTF.d.mts} +255 -97
  344. package/dist/{types-DYF5LxZY.d.mts → types-MfJZ67e9.d.mts} +91 -9
  345. package/dist/{types-6WxLfoM3.d.mts → types-dyP-bXXE.d.mts} +1 -1
  346. package/dist/ui-components/index.mjs +2 -2
  347. package/dist/ui-hooks/index.d.mts +111 -1
  348. package/dist/ui-hooks/index.mjs +1 -1
  349. package/dist/ui-kernel/index.d.mts +4 -4
  350. package/dist/ui-kernel/pages/namespace.d.mts +4 -4
  351. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  352. package/dist/ui-views/index.mjs +2 -2
  353. package/dist/utils/index.d.mts +36 -1
  354. package/dist/utils/index.mjs +2 -2
  355. package/dist/utils/project-manifest.d.mts +130 -0
  356. package/dist/utils/project-manifest.mjs +1 -0
  357. package/dist/utils/scope-paths.d.mts +33 -0
  358. package/dist/utils/scope-paths.mjs +1 -0
  359. package/dist/utils/workspace-packages.d.mts +59 -0
  360. package/dist/utils/workspace-packages.mjs +1 -0
  361. package/dist/utils/workspace-root.d.mts +6 -9
  362. package/dist/utils/workspace-root.mjs +1 -1
  363. package/dist/{version-D8S4O22A.mjs → version-BeT3ASEe.mjs} +1 -1
  364. package/package.json +55 -2
  365. package/dist/account-identity-Bg_vKkcs.mjs +0 -1
  366. package/dist/adapter-CpF2aK_-.mjs +0 -1
  367. package/dist/bus-B1seC4M_.mjs +0 -2
  368. package/dist/chunk-Dc06z0qk.mjs +0 -1
  369. package/dist/client-DMWXCWhM.mjs +0 -1
  370. package/dist/cursor-storage-BoNI7OAR.mjs +0 -1
  371. package/dist/drizzle-Bn2GtW8c.mjs +0 -1
  372. package/dist/execution-target-D6MgthYs.mjs +0 -1
  373. package/dist/extension-53GerdGg.mjs +0 -1
  374. package/dist/extension-fJmv8Yri.mjs +0 -1
  375. package/dist/namespace-C_h7scWx2.mjs +0 -1
  376. package/dist/schemas-Bn8aqDIE.mjs +0 -1
  377. package/dist/services/worker/index.d.mts +0 -3
  378. package/dist/services/worker/index.mjs +0 -1
  379. package/dist/services/worker/namespace.d.mts +0 -2
  380. package/dist/services/worker/namespace.mjs +0 -1
  381. package/dist/services/worker/schemas.d.mts +0 -2
  382. package/dist/services/worker/schemas.mjs +0 -1
  383. package/dist/session-BCSf-Fgj.mjs +0 -1
  384. package/dist/session-BNo_cIiz.mjs +0 -123
  385. package/dist/shared-BhuSHZXH.mjs +0 -1
  386. package/dist/storage-namespace-BIDs9LPb.mjs +0 -1
  387. package/dist/tool-approval-service-CZCPfvVy.mjs +0 -1
  388. package/dist/tools-Cid9D99F.mjs +0 -1
  389. /package/dist/{base-orchestrator-BOAPgqF7.d.mts → base-orchestrator-wyumsn3b.d.mts} +0 -0
  390. /package/dist/{capability-service-DV32ecwR.mjs → capability-service-CJbmhfv9.mjs} +0 -0
  391. /package/dist/{cleanEnvForAdapter-hTPNvPU5.mjs → cleanEnvForAdapter-KkYzQa1f.mjs} +0 -0
  392. /package/dist/{config-namespace-wJ2CakDB.mjs → config-namespace-ncYg2ct_.mjs} +0 -0
  393. /package/dist/{extension-namespace-CTd9kOtt.mjs → extension-namespace-cMh_mMiL.mjs} +0 -0
  394. /package/dist/{identity-DBST3-XO.mjs → identity-Cz2IeEtm.mjs} +0 -0
  395. /package/dist/{index-SzSiyG61.d.mts → index-CHQ1SqT0.d.mts} +0 -0
  396. /package/dist/{model-registry-xINyxQUT.mjs → model-registry-CfXytvzx.mjs} +0 -0
  397. /package/dist/{model-registry-Dzpssh9j.mjs → model-registry-Scn_MC2d.mjs} +0 -0
  398. /package/dist/{namespace-DBw9BYr8.mjs → namespace-BoD94mrN.mjs} +0 -0
  399. /package/dist/{namespace-DUVgMfTR.mjs → namespace-CFLAmQfh.mjs} +0 -0
  400. /package/dist/{namespace-aALq9tnE.mjs → namespace-DkRgbZYn.mjs} +0 -0
  401. /package/dist/{namespace-yxIxUsjo.mjs → namespace-LViZ-EQk.mjs} +0 -0
  402. /package/dist/{namespace-Zb8HAbyF.mjs → namespace-Yna5-Pws.mjs} +0 -0
  403. /package/dist/{platform-BMFUpmTA.mjs → platform-DZ7z-wXD.mjs} +0 -0
  404. /package/dist/{providers-DhiW_fx4.mjs → providers-u8i15co9.mjs} +0 -0
  405. /package/dist/{schema-D3ZG13h9.mjs → schema-CoyE6mPt.mjs} +0 -0
  406. /package/dist/{schemas-CEBe89yE.mjs → schemas-DE-GNmSD.mjs} +0 -0
  407. /package/dist/{schemas-COnLJnt_.mjs → schemas-hSrzflwZ.mjs} +0 -0
  408. /package/dist/{schemas-CrnlCRep.mjs → schemas-jFe1AuI-.mjs} +0 -0
  409. /package/dist/{server-lifecycle-Dx5WgfoS.mjs → server-lifecycle-FXTPW39-.mjs} +0 -0
  410. /package/dist/{server-lifecycle-BC6FRn86.d.mts → server-lifecycle-YoSGFGnU.d.mts} +0 -0
  411. /package/dist/{shared-schemas-Byah36lG.mjs → shared-schemas-CPShiLNp.mjs} +0 -0
  412. /package/dist/{storage-namespace-definition-BjK9nZAN.mjs → storage-namespace-definition-CqSdsuCC.mjs} +0 -0
  413. /package/dist/{timeout-D33CUZ0M.mjs → timeout-XsYIOKrc.mjs} +0 -0
  414. /package/dist/{tray-menu-service-BAYtLdAg.mjs → tray-menu-service-DuXq5k22.mjs} +0 -0
  415. /package/dist/{ui-config-zawaoEfB.mjs → ui-config-9bDRwFZr.mjs} +0 -0
  416. /package/dist/{variant-BZWfmS0q.mjs → variant-CT6XBP6T.mjs} +0 -0
  417. /package/dist/{visibility-CZu8ooOA.mjs → visibility-Cb62p9bv.mjs} +0 -0
  418. /package/dist/{window-registry-C_IJmY8_.d.mts → window-registry-CBcrGTv4.d.mts} +0 -0
  419. /package/dist/{window-registry-B_-hBEcV.mjs → window-registry-DW-dKRjQ.mjs} +0 -0
@@ -1,4 +1,4 @@
1
- import{agents as e}from"./services/session/storage/schema.mjs";import{t}from"./schema-D3ZG13h9.mjs";import{n}from"./namespace-DGMO2E8f.mjs";import{SessionStorageSubjects as r}from"./services/session/storage/namespace.mjs";import{TurnStorageSubjects as i}from"./services/turn/namespace.mjs";import"./services/session/turns/namespace.mjs";import{AdapterRuntimeSubjects as a}from"./services/adapter-runtime/namespace.mjs";import{MessageStorageSubjects as o}from"./services/session/messages/namespace.mjs";import{n as s}from"./namespace-aALq9tnE.mjs";import{ProviderStorageSubjects as c}from"./services/settings/storage/providers-namespace.mjs";import{ExecutionTargetSubjects as l}from"./services/execution-target/namespace.mjs";import{r as u,t as d}from"./provider-context-BB4eD8ON.mjs";import{ExtractedContextSchema as f}from"./services/compression/schemas.mjs";import{PreferencesSubjects as p}from"./services/preferences/storage-namespace.mjs";import{z as m}from"zod";import{AdapterSubjects as h,AgentResolutionSubjects as g,AgentStatusSchema as _,AgentSubjects as v,MakaioSessionAgentSchema as y,SessionSubjects as b,TurnUsageSchema as x}from"@makaio/framework/contracts";import{createStorageNamespaceDefinition as S}from"@makaio/framework/storage";import{and as C,asc as w,desc as ee,eq as T,sql as te}from"drizzle-orm";import{HookAbortError as E}from"@makaio/framework/hooks";import{AdapterRuntimeSubjects as ne}from"@makaio/framework/services/adapter-runtime";import{buildProviderContext as re}from"@makaio/framework/services/provider-context";const D=S(`agent`,{schemas:{get:{request:m.object({agentId:m.string()}),response:m.object({agent:y.nullable()})},set:{request:m.object({agentId:m.string(),agent:y}),response:m.object({success:m.boolean()})},delete:{request:m.object({agentId:m.string()}),response:m.object({success:m.boolean()})},listByAdapter:{request:m.object({adapterName:m.string(),status:m.enum([`idle`,`active`,`dead`,`disposed`,`all`]).optional()}),response:m.object({agents:m.array(y)})},listBySession:{request:m.object({sessionId:m.string()}),response:m.object({agents:m.array(y)})},updateStatus:{request:m.object({agentId:m.string(),status:_}),response:m.object({success:m.boolean()})},updateActivity:{request:m.object({agentId:m.string(),lastActivityAt:m.number()}),response:m.object({success:m.boolean()})},updateRuntime:{request:m.object({agentId:m.string(),cwd:m.string().optional(),model:m.string().optional(),providerConfigId:m.string().optional()}).refine(e=>e.cwd!==void 0||e.model!==void 0||e.providerConfigId!==void 0,{message:`At least one runtime field (cwd, model, or providerConfigId) must be provided`}),response:m.object({success:m.boolean()})}},extensions:{drizzle:{agents:e}}}),O=D.subjects;function ie(e){if(e)try{let t=JSON.parse(e),n=x.safeParse(t);return n.success?n.data:void 0}catch{return}}function k(e){return{turnId:e.turnId,sessionId:e.sessionId,turnNumber:e.turnNumber,startedAt:e.startedAt,completedAt:e.completedAt??void 0,status:e.status,error:e.error??void 0,usage:ie(e.usage)}}function ae(e,t,n){let r=[oe(e,t),se(e,t),ce(e,t),A(e,t),j(e,t),M(e,t),le(e,t)];return()=>r.forEach(e=>e())}function oe(e,n){return e.on(i.create,async e=>{let{sessionId:r,turnId:i}=e.payload,a=Date.now(),o=i??crypto.randomUUID();await n.run(te`
1
+ import{agents as e}from"./services/session/storage/schema.mjs";import{t}from"./schema-CoyE6mPt.mjs";import{n}from"./namespace-DuXK5AYN.mjs";import{SessionStorageSubjects as r}from"./services/session/storage/namespace.mjs";import{TurnStorageSubjects as i}from"./services/turn/namespace.mjs";import"./services/session/turns/namespace.mjs";import{AdapterRuntimeSubjects as a}from"./services/adapter-runtime/namespace.mjs";import{MessageStorageSubjects as o}from"./services/session/messages/namespace.mjs";import{n as s}from"./namespace-DkRgbZYn.mjs";import{ProviderStorageSubjects as c}from"./services/settings/storage/providers-namespace.mjs";import{ExecutionTargetSubjects as l}from"./services/execution-target/namespace.mjs";import{r as u,t as d}from"./provider-context-CK6B4X_8.mjs";import{ExtractedContextSchema as f}from"./services/compression/schemas.mjs";import{PreferencesSubjects as p}from"./services/preferences/storage-namespace.mjs";import{z as m}from"zod";import{AdapterSubjects as h,AgentResolutionSubjects as g,AgentStatusSchema as _,AgentSubjects as v,MakaioSessionAgentSchema as y,SessionSubjects as b,TurnUsageSchema as x}from"@makaio/framework/contracts";import{and as S,asc as C,desc as w,eq as T,sql as ee}from"drizzle-orm";import{createStorageNamespaceDefinition as te}from"@makaio/framework/storage";import{HookAbortError as E}from"@makaio/framework/hooks";import{AdapterRuntimeSubjects as ne}from"@makaio/framework/services/adapter-runtime";import{buildProviderContext as re}from"@makaio/framework/services/provider-context";const D=te(`agent`,{schemas:{get:{request:m.object({agentId:m.string()}),response:m.object({agent:y.nullable()})},set:{request:m.object({agentId:m.string(),agent:y}),response:m.object({success:m.boolean()})},delete:{request:m.object({agentId:m.string()}),response:m.object({success:m.boolean()})},listByAdapter:{request:m.object({adapterName:m.string(),status:m.enum([`idle`,`active`,`dead`,`disposed`,`all`]).optional()}),response:m.object({agents:m.array(y)})},listBySession:{request:m.object({sessionId:m.string()}),response:m.object({agents:m.array(y)})},updateStatus:{request:m.object({agentId:m.string(),status:_}),response:m.object({success:m.boolean()})},updateActivity:{request:m.object({agentId:m.string(),lastActivityAt:m.number()}),response:m.object({success:m.boolean()})},updateRuntime:{request:m.object({agentId:m.string(),cwd:m.string().optional(),model:m.string().optional(),providerConfigId:m.string().optional()}).refine(e=>e.cwd!==void 0||e.model!==void 0||e.providerConfigId!==void 0,{message:`At least one runtime field (cwd, model, or providerConfigId) must be provided`}),response:m.object({success:m.boolean()})}},extensions:{drizzle:{agents:e}}}),O=D.subjects;function ie(e){if(e)try{let t=JSON.parse(e),n=x.safeParse(t);return n.success?n.data:void 0}catch{return}}function k(e){return{turnId:e.turnId,sessionId:e.sessionId,turnNumber:e.turnNumber,startedAt:e.startedAt,completedAt:e.completedAt??void 0,status:e.status,error:e.error??void 0,usage:ie(e.usage)}}function ae(e,t,n){let r=[oe(e,t),se(e,t),ce(e,t),A(e,t),j(e,t),M(e,t),le(e,t)];return()=>r.forEach(e=>e())}function oe(e,n){return e.on(i.create,async e=>{let{sessionId:r,turnId:i}=e.payload,a=Date.now(),o=i??crypto.randomUUID();await n.run(ee`
2
2
  WITH next_num AS (
3
3
  SELECT COALESCE(MAX(turn_number), 0) + 1 AS n
4
4
  FROM turns
@@ -7,7 +7,7 @@ import{agents as e}from"./services/session/storage/schema.mjs";import{t}from"./s
7
7
  INSERT INTO turns (turn_id, session_id, turn_number, started_at, status)
8
8
  SELECT ${o}, ${r}, n, ${a}, ${`active`}
9
9
  FROM next_num
10
- `);let[s]=await n.select({turnNumber:t.turnNumber}).from(t).where(T(t.turnId,o)),c={turnId:o,sessionId:r,turnNumber:s.turnNumber,startedAt:a,status:`active`};e.setResult({turn:c})})}function se(e,n){return e.on(i.complete,async e=>{let{turnId:r,status:i,expectedStatus:a,error:o,usage:s}=e.payload,c={completedAt:Date.now(),status:i,error:o??null};s!==void 0&&(c.usage=JSON.stringify(s));let l=a?C(T(t.turnId,r),T(t.status,a)):T(t.turnId,r),u=await n.update(t).set(c).where(l).returning();if(u.length>0){e.setResult({turn:k(u[0]),transitioned:!0});return}let[d]=await n.select().from(t).where(T(t.turnId,r)).limit(1);if(!d)throw Error(`Turn not found: ${r}`);e.setResult({turn:k(d),transitioned:!1})})}function ce(e,n){return e.on(i.set,async e=>{let{turn:r}=e.payload,i={turnId:r.turnId,sessionId:r.sessionId,turnNumber:r.turnNumber,startedAt:r.startedAt,completedAt:r.completedAt??null,status:r.status,error:r.error??null,usage:r.usage?JSON.stringify(r.usage):null};await n.insert(t).values(i).onConflictDoUpdate({target:t.turnId,set:i}),e.setResult({turn:r})})}function A(e,n){return e.on(i.get,async e=>{let{turnId:r}=e.payload,[i]=await n.select().from(t).where(T(t.turnId,r)).limit(1);e.setResult({turn:i?k(i):null})})}function j(e,n){return e.on(i.getBySession,async e=>{let{sessionId:r,limit:i,status:a}=e.payload,o=n.select().from(t).where(T(t.sessionId,r)).orderBy(w(t.turnNumber));a&&(o=n.select().from(t).where(C(T(t.sessionId,r),T(t.status,a))).orderBy(w(t.turnNumber))),i&&(o=o.limit(i));let s=await o;e.setResult({turns:s.map(k)})})}function M(e,n){return e.on(i.getActive,async e=>{let{sessionId:r}=e.payload,[i]=await n.select().from(t).where(C(T(t.sessionId,r),T(t.status,`active`))).orderBy(ee(t.turnNumber)).limit(1);e.setResult({turn:i?k(i):null})})}function le(e,n){return e.on(i.listActive,async e=>{let r=await n.select().from(t).where(T(t.status,`active`)).orderBy(w(t.startedAt));e.setResult({turns:r.map(k)})})}function ue(e){let t=new Map,n=new Map,r=new Map,i=de(t,n,r),a=[fe(e,i,r),pe(e,t,i),me(e,i),he(e,t),ge(e,t,n),_e(e,t,n),ve(e,t)];return()=>a.forEach(e=>e())}function de(e,t,n){return r=>{e.set(r.turnId,r);let i=t.get(r.sessionId)??[];i.includes(r.turnId)||i.push(r.turnId),t.set(r.sessionId,i);let a=n.get(r.sessionId)??0;r.turnNumber>a&&n.set(r.sessionId,r.turnNumber)}}function fe(e,t,n){return e.on(i.create,e=>{let{sessionId:r,turnId:i}=e.payload,a=Date.now(),o={turnId:i??crypto.randomUUID(),sessionId:r,turnNumber:(n.get(r)??0)+1,startedAt:a,status:`active`};t(o),e.setResult({turn:o})})}function pe(e,t,n){return e.on(i.complete,e=>{let{turnId:r,status:i,expectedStatus:a,error:o,usage:s}=e.payload,c=t.get(r);if(!c)throw Error(`Turn not found: ${r}`);if(a&&c.status!==a){e.setResult({turn:c,transitioned:!1});return}let l={...c,completedAt:Date.now(),status:i,error:o??void 0,usage:s??c.usage};n(l),e.setResult({turn:l,transitioned:!0})})}function me(e,t){return e.on(i.set,e=>{let{turn:n}=e.payload;t(n),e.setResult({turn:n})})}function he(e,t){return e.on(i.get,e=>{e.setResult({turn:t.get(e.payload.turnId)??null})})}function ge(e,t,n){return e.on(i.getBySession,e=>{let{sessionId:r,status:i,limit:a}=e.payload,o=(n.get(r)??[]).map(e=>t.get(e)).filter(e=>!!e);i&&(o=o.filter(e=>e.status===i)),o.sort((e,t)=>e.turnNumber-t.turnNumber),a&&(o=o.slice(0,a)),e.setResult({turns:o})})}function _e(e,t,n){return e.on(i.getActive,e=>{let{sessionId:r}=e.payload,i=(n.get(r)??[]).map(e=>t.get(e)).filter(e=>!!e).filter(e=>e.status===`active`).sort((e,t)=>t.turnNumber-e.turnNumber).at(0);e.setResult({turn:i??null})})}function ve(e,t){return e.on(i.listActive,e=>{let n=[...t.values()].filter(e=>e.status===`active`).sort((e,t)=>e.startedAt-t.startedAt);e.setResult({turns:n})})}function N(e){return{source:e.source,...e.sourceId!==void 0&&{sourceId:e.sourceId}}}var P=class{turnId;sessionId;turnNumber;startedAt;_initiator;_agentIds;_messageIds=[];_completedAgents=new Set;_erroredAgents=new Map;constructor(e){if(!Number.isInteger(e.turnNumber)||e.turnNumber<1)throw Error(`turnNumber must be a positive integer`);this.turnId=e.turnId??crypto.randomUUID(),this.sessionId=e.sessionId,this.turnNumber=e.turnNumber,this.startedAt=e.startedAt??Date.now(),this._initiator=Object.freeze(N(e.initiator??{source:`user`})),this._agentIds=Object.freeze([...e.agentIds])}get agentIds(){return this._agentIds}get initiator(){return N(this._initiator)}get messageIds(){return this._messageIds}get completedAgents(){return this._completedAgents}get erroredAgents(){return this._erroredAgents}addMessage(e){this._messageIds.push(e)}markAgentCompleted(e){return this._completedAgents.add(e),this.checkCompletion()}markAgentErrored(e,t){return this._erroredAgents.set(e,t),this.checkCompletion()}hasAgent(e){return this._agentIds.includes(e)}isComplete(){return this._completedAgents.size+this._erroredAgents.size>=this._agentIds.length}getResult(){return{success:this._erroredAgents.size===0,errors:Array.from(this._erroredAgents.values())}}getContext(){if(this._messageIds.length===0)throw Error(`Turn ${this.turnId} has no messages yet`);return{turnId:this.turnId,messageId:this._messageIds[this._messageIds.length-1]}}getContextForMessage(e){return{turnId:this.turnId,messageId:e}}checkCompletion(){return this.isComplete()?{turnComplete:!0,result:this.getResult()}:{turnComplete:!1}}};function F(e){return typeof e==`string`?e:(Array.isArray(e.blocks)?e.blocks:[e.blocks]).filter(e=>e.type===`text`).map(e=>e.content).join(`
10
+ `);let[s]=await n.select({turnNumber:t.turnNumber}).from(t).where(T(t.turnId,o)),c={turnId:o,sessionId:r,turnNumber:s.turnNumber,startedAt:a,status:`active`};e.setResult({turn:c})})}function se(e,n){return e.on(i.complete,async e=>{let{turnId:r,status:i,expectedStatus:a,error:o,usage:s}=e.payload,c={completedAt:Date.now(),status:i,error:o??null};s!==void 0&&(c.usage=JSON.stringify(s));let l=a?S(T(t.turnId,r),T(t.status,a)):T(t.turnId,r),u=await n.update(t).set(c).where(l).returning();if(u.length>0){e.setResult({turn:k(u[0]),transitioned:!0});return}let[d]=await n.select().from(t).where(T(t.turnId,r)).limit(1);if(!d)throw Error(`Turn not found: ${r}`);e.setResult({turn:k(d),transitioned:!1})})}function ce(e,n){return e.on(i.set,async e=>{let{turn:r}=e.payload,i={turnId:r.turnId,sessionId:r.sessionId,turnNumber:r.turnNumber,startedAt:r.startedAt,completedAt:r.completedAt??null,status:r.status,error:r.error??null,usage:r.usage?JSON.stringify(r.usage):null};await n.insert(t).values(i).onConflictDoUpdate({target:t.turnId,set:i}),e.setResult({turn:r})})}function A(e,n){return e.on(i.get,async e=>{let{turnId:r}=e.payload,[i]=await n.select().from(t).where(T(t.turnId,r)).limit(1);e.setResult({turn:i?k(i):null})})}function j(e,n){return e.on(i.getBySession,async e=>{let{sessionId:r,limit:i,status:a}=e.payload,o=n.select().from(t).where(T(t.sessionId,r)).orderBy(C(t.turnNumber));a&&(o=n.select().from(t).where(S(T(t.sessionId,r),T(t.status,a))).orderBy(C(t.turnNumber))),i&&(o=o.limit(i));let s=await o;e.setResult({turns:s.map(k)})})}function M(e,n){return e.on(i.getActive,async e=>{let{sessionId:r}=e.payload,[i]=await n.select().from(t).where(S(T(t.sessionId,r),T(t.status,`active`))).orderBy(w(t.turnNumber)).limit(1);e.setResult({turn:i?k(i):null})})}function le(e,n){return e.on(i.listActive,async e=>{let r=await n.select().from(t).where(T(t.status,`active`)).orderBy(C(t.startedAt));e.setResult({turns:r.map(k)})})}function ue(e){let t=new Map,n=new Map,r=new Map,i=de(t,n,r),a=[fe(e,i,r),pe(e,t,i),me(e,i),he(e,t),ge(e,t,n),_e(e,t,n),ve(e,t)];return()=>a.forEach(e=>e())}function de(e,t,n){return r=>{e.set(r.turnId,r);let i=t.get(r.sessionId)??[];i.includes(r.turnId)||i.push(r.turnId),t.set(r.sessionId,i);let a=n.get(r.sessionId)??0;r.turnNumber>a&&n.set(r.sessionId,r.turnNumber)}}function fe(e,t,n){return e.on(i.create,e=>{let{sessionId:r,turnId:i}=e.payload,a=Date.now(),o={turnId:i??crypto.randomUUID(),sessionId:r,turnNumber:(n.get(r)??0)+1,startedAt:a,status:`active`};t(o),e.setResult({turn:o})})}function pe(e,t,n){return e.on(i.complete,e=>{let{turnId:r,status:i,expectedStatus:a,error:o,usage:s}=e.payload,c=t.get(r);if(!c)throw Error(`Turn not found: ${r}`);if(a&&c.status!==a){e.setResult({turn:c,transitioned:!1});return}let l={...c,completedAt:Date.now(),status:i,error:o??void 0,usage:s??c.usage};n(l),e.setResult({turn:l,transitioned:!0})})}function me(e,t){return e.on(i.set,e=>{let{turn:n}=e.payload;t(n),e.setResult({turn:n})})}function he(e,t){return e.on(i.get,e=>{e.setResult({turn:t.get(e.payload.turnId)??null})})}function ge(e,t,n){return e.on(i.getBySession,e=>{let{sessionId:r,status:i,limit:a}=e.payload,o=(n.get(r)??[]).map(e=>t.get(e)).filter(e=>!!e);i&&(o=o.filter(e=>e.status===i)),o.sort((e,t)=>e.turnNumber-t.turnNumber),a&&(o=o.slice(0,a)),e.setResult({turns:o})})}function _e(e,t,n){return e.on(i.getActive,e=>{let{sessionId:r}=e.payload,i=(n.get(r)??[]).map(e=>t.get(e)).filter(e=>!!e).filter(e=>e.status===`active`).sort((e,t)=>t.turnNumber-e.turnNumber).at(0);e.setResult({turn:i??null})})}function ve(e,t){return e.on(i.listActive,e=>{let n=[...t.values()].filter(e=>e.status===`active`).sort((e,t)=>e.startedAt-t.startedAt);e.setResult({turns:n})})}function N(e){return{source:e.source,...e.sourceId!==void 0&&{sourceId:e.sourceId}}}var P=class{turnId;sessionId;turnNumber;startedAt;_initiator;_agentIds;_messageIds=[];_completedAgents=new Set;_erroredAgents=new Map;constructor(e){if(!Number.isInteger(e.turnNumber)||e.turnNumber<1)throw Error(`turnNumber must be a positive integer`);this.turnId=e.turnId??crypto.randomUUID(),this.sessionId=e.sessionId,this.turnNumber=e.turnNumber,this.startedAt=e.startedAt??Date.now(),this._initiator=Object.freeze(N(e.initiator??{source:`user`})),this._agentIds=Object.freeze([...e.agentIds])}get agentIds(){return this._agentIds}get initiator(){return N(this._initiator)}get messageIds(){return this._messageIds}get completedAgents(){return this._completedAgents}get erroredAgents(){return this._erroredAgents}addMessage(e){this._messageIds.push(e)}markAgentCompleted(e){return this._completedAgents.add(e),this.checkCompletion()}markAgentErrored(e,t){return this._erroredAgents.set(e,t),this.checkCompletion()}hasAgent(e){return this._agentIds.includes(e)}isComplete(){return this._completedAgents.size+this._erroredAgents.size>=this._agentIds.length}getResult(){return{success:this._erroredAgents.size===0,errors:Array.from(this._erroredAgents.values())}}getContext(){if(this._messageIds.length===0)throw Error(`Turn ${this.turnId} has no messages yet`);return{turnId:this.turnId,messageId:this._messageIds[this._messageIds.length-1]}}getContextForMessage(e){return{turnId:this.turnId,messageId:e}}checkCompletion(){return this.isComplete()?{turnComplete:!0,result:this.getResult()}:{turnComplete:!1}}};function F(e){return typeof e==`string`?e:(Array.isArray(e.blocks)?e.blocks:[e.blocks]).filter(e=>e.type===`text`).map(e=>e.content).join(`
11
11
  `)}function ye(e){return e}function be(e){return typeof e==`string`?[{type:`text`,content:e}]:(Array.isArray(e.blocks)?e.blocks:[e.blocks]).map(ye)}async function xe(e,t,n,r){let{session:i}=await e.request(b.get,{sessionId:t});if(i){if(i.status!==`active`)throw Error(`[getOrCreateSession] Session is not active: ${t}`);return{sessionId:t,session:i}}await e.request(b.create,{sessionId:t,originWindowId:r});let{session:a}=await e.request(b.get,{sessionId:t});if(!a)throw Error(`[getOrCreateSession] Failed to create session: ${t}`);return{sessionId:t,session:a}}function Se(e,t){if(t===void 0){let t=e.agents.find(t=>t.agentId===e.leadAgentId);if(!t)throw Error(`[resolveTargetAgents] Lead agent not found: ${e.leadAgentId}`);return[t]}if(t===`all`)return e.agents;let n=new Set(t);return e.agents.filter(e=>n.has(e.agentId))}function Ce(e,t){for(let n of e.values())if(n.hasAgent(t))return n}function we(e,t){if(e===`extension`){let e=t?.trim();if(!e)throw Error(`extensionId is required when source is "extension"`);return{source:`extension`,sourceId:e}}return e?{source:e}:{source:`user`}}async function I(e,t,n){let{adapterId:r}=await e.request(a.resolveId,{adapterName:t,...n!==void 0&&{machineId:n}});return r}async function Te(e,t,n){if(!(!t||!n))try{let{config:r}=await e.request(s.getProviderConfig,{id:t});if(!r)return;let{provider:i}=await e.request(c.get,{id:r.definitionId}),a=i?.availableModels?.find(e=>e.name===n);return a?{supportedReasoningLevels:a.supportedReasoningLevels}:void 0}catch{return}}async function Ee(e,t){let{executionTarget:n}=await e.request(l.resolve,t);return n}async function L(e,t){let{sessionId:r,limit:i}=t,a=[],s=!1,c=!1,l;do{let{events:t,nextCursor:u}=await e.request(n.getEvents,{sessionId:r,options:{limit:1e4,...l&&{after:l}}});for(let n of t){if(n.type===`squash`){s=!0,a.length=0;let e=n.payload,t={messageId:`squash-${n.eventId}`,sessionId:r,turnId:null,role:`assistant`,contentText:e.summaryJson,blocks:[{type:`text`,content:e.summaryJson}],timestamp:n.timestamp};a.push(t)}else if(n.type===`message`){let t=n.payload,{message:r}=await e.request(o.get,{messageId:t.messageId});r&&a.push(r)}if(i&&a.length>=i){c=!0;break}}if(i&&a.length>=i)break;l=u??void 0}while(l);return{messages:a,hasSquashBoundary:s,sessionChain:[r],truncated:c,incomplete:!1}}const R=new class{actions=new Map;register(e){if(this.actions.has(e.id))throw Error(`Action already registered: ${e.id}`);this.actions.set(e.id,e)}get(e){return this.actions.get(e)}getAll(){return Array.from(this.actions.values())}getByCategory(e){return this.getAll().filter(t=>t.category===e)}reset(){this.actions.clear()}};async function z(e,t,n){let r=e,i,a;for(let e of t){let t=R.get(e.actionId);if(!t)throw Error(`Unknown action: ${e.actionId}`);let o={...n,...e.options},s=await t.execute(r,o);if(s.kind===`messages`)r=s.messages;else{i=s.json,a=s.tokenEstimate,r=[];break}}if(!i&&r.length>0){let e=r.reduce((e,t)=>e+JSON.stringify(t.blocks).length,0);a=Math.ceil(e/4)}return{messages:r,contextJson:i,tokenEstimate:a}}function B(e){return e.map(e=>({...e,blocks:e.blocks.filter(e=>e.type!==`reasoning`)}))}const De={id:`strip-reasoning`,label:`Strip Reasoning`,description:`Remove reasoning/thinking blocks from messages`,category:`transformation`,async execute(e){return{kind:`messages`,messages:B(e)}}};function V(e){return e.map(e=>({...e,blocks:e.blocks.map(e=>{if(e.type===`tool_output`){let t=e.output.length;return{...e,output:`[output removed - ${t} chars]`}}return e})}))}const Oe={id:`strip-tool-outputs`,label:`Strip Tool Outputs`,description:`Remove tool output contents, keep structure`,category:`transformation`,async execute(e){return{kind:`messages`,messages:V(e)}}};async function H(e,t){let n=[],i=[],a=[],o=!1,s=!1,c=!1,l=[],u,d=t,f;for(;d;){let n=await e.request(r.get,{sessionId:d});if(!n.session){c=!0;break}d===t&&(u=n.session.forkTransforms??void 0),l.unshift({sessionId:d,forkPointMessageId:n.session.forkPointMessageId??void 0}),f=n.session.parentSessionId??void 0,d=f}for(let t=0;t<l.length;t++){let{sessionId:r}=l[t],c=t===l.length-1,u=l[t+1]?.forkPointMessageId;n.push(r);let d=await L(e,{sessionId:r});if(d.hasSquashBoundary&&(o=!0,c||(i.length=0)),d.truncated&&(s=!0),c)a=d.messages;else for(let e of d.messages)if(i.push(e),u&&e.messageId===u)break}return u&&(i=await ke(i,u)),{messages:[...i,...a],hasSquashBoundary:o,sessionChain:n,truncated:s,incomplete:c}}async function ke(e,t){if(t.segments?.length){let n=t.segments[0].fromMessageId,r=t.segments[t.segments.length-1].toMessageId,i=e.findIndex(e=>e.messageId===n),a=e.findIndex(e=>e.messageId===r);if(i===-1||a===-1||i>a)return U(e,t.segments);let o=e.slice(0,i),s=e.slice(i,a+1),c=e.slice(a+1),l=U(s,t.segments);return[...o,...l,...c]}let n=e;if(t.removedMessageIds?.length){let e=new Set(t.removedMessageIds);n=n.filter(t=>!e.has(t.messageId))}return t.appliedPipeline?.length&&(n=(await z(n,t.appliedPipeline)).messages),n}function Ae(e,t){let n=e;return t.stripReasoning&&(n=B(n)),t.stripToolOutputs&&(n=V(n)),n}function U(e,t){let n=new Map;for(let t=0;t<e.length;t++)n.set(e[t].messageId,t);let r=[];for(let i of t){let t=n.get(i.fromMessageId),a=n.get(i.toMessageId);if(t===void 0||a===void 0){console.warn(`[getFullConversation] Skipping segment with missing boundary IDs`,{segmentKey:`${i.fromMessageId}..${i.toMessageId}`,fromMessageId:i.fromMessageId,toMessageId:i.toMessageId,hasFrom:t!==void 0,hasTo:a!==void 0});continue}let o=e.slice(t,a+1),s;switch(i.policy){case`exclude`:s=[];break;case`summarize`:if(i.summaryText){if(o.length===0)throw Error(`Cannot create synthetic summary message for empty segment: ${i.fromMessageId}..${i.toMessageId}`);s=[{messageId:`summary-${i.fromMessageId}-${i.toMessageId}`,turnId:null,sessionId:o[0].sessionId,role:`assistant`,contentText:i.summaryText,blocks:[{type:`text`,content:i.summaryText}],timestamp:o[o.length-1].timestamp}]}else s=o;break;default:s=o;break}if((i.policy!==`summarize`||!i.summaryText)&&i.overrides&&Object.keys(i.overrides).length>0){let e=new Set(Object.entries(i.overrides).filter(([,e])=>e===`exclude`).map(([e])=>e));s=s.filter(t=>!e.has(t.messageId))}s=Ae(s,i),r.push(...s)}return r}function W(e){return{role:e.role,blocks:e.blocks}}async function je(e,t){return{messageHistory:(await H(e,t.sessionId)).messages.map(W),isFirstTurn:!0}}async function Me(e,t,n,r){if(t.cwd===n)return{swapped:!1};let i=await e.request(v.cwd.change,{agentId:t.agentId,adapterId:t.adapterId,adapterName:t.adapterName,adapterSessionId:t.adapterSessionId??``,sessionId:t.sessionId,newCwd:n,...r?.skipWarning?{skipWarning:!0}:{}});if(!i.success)throw Error(`Failed to change cwd for agent ${t.agentId}: ${i.reason??`unknown`}`);return i.previousCwd?(t.cwd=n,{swapped:!0,previousCwd:i.previousCwd}):(t.cwd=n,{swapped:!1})}async function Ne(e,t,n,r){let i=n===void 0||t.model===n,a=r?.reasoningEffort===void 0,o=!r?.providerConfigId;if(i&&a&&o)return{changed:!1};let s=r?.providerConfigId?await u(e,r.providerConfigId):void 0,c=await e.request(v.model.change,{agentId:t.agentId,adapterId:t.adapterId,adapterName:t.adapterName,adapterSessionId:t.adapterSessionId??``,...n!==void 0&&{newModel:n},...r?.reasoningEffort!==void 0&&{reasoningEffort:r.reasoningEffort},...r?.skipWarning!==void 0&&{skipWarning:r.skipWarning},...s!==void 0&&{providerContext:s}});if(!c.success)throw Error(`Failed to change model for agent ${t.agentId}: ${c.reason??`unknown`}`);return n!==void 0&&(t.model=n),{changed:!0,swapped:c.swapped??!1}}async function Pe(e,t,n){let r=[],i=new Set;for(let a of t){let t=await e.requestOptional(h.getAgent,{adapterId:a.adapterId,agentId:a.agentId});if(t.handled&&t.data.agent!==null)r.push(a);else{let t=await G(e,a,n);r.push(t),i.add(t.agentId)}}return{verifiedAgents:r,recoveredAgentIds:i}}async function Fe(e,t,n){let r=await H(e,t.sessionId),i=n?.pipeline??[];return{messageHistory:(i.length>0?(await z(r.messages,i)).messages:r.messages).map(W),isFirstTurn:!0}}async function G(e,t,n){let r=await I(e,t.adapterName).catch(()=>t.adapterId);return await e.request(h.rehydrateAgent,{adapterId:r,agentId:t.agentId,cwd:n.cwd,model:n.model??t.model}),t.adapterId=r,t}function K(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}async function q(e,t,n,r){let{adapterName:i}=await e.request(a.resolveName,{adapterId:t});if(n&&i!==n)throw Error(`${r}adapterName "${n}" does not match adapterId "${t}"`);return i}async function J(e,t,n,r,i,a,o,s,c,l){let u=n.map(async n=>{try{await e.request(v.sendMessage,{agentId:n.agentId,adapterId:n.adapterId,message:r,deliveryMode:o,messageId:i,turnId:a.turnId,sessionId:t.sessionId,sessionContext:c,...l!==void 0&&{responseSchema:l}}),await e.emit(b.user_message.acknowledged,{sessionId:a.sessionId,turnId:a.turnId,turnNumber:a.turnNumber,messageId:i,agentId:n.agentId})}catch(t){if(t instanceof E){await e.emit(b.user_message.completed,{sessionId:a.sessionId,turnId:a.turnId,turnNumber:a.turnNumber,messageId:i,agentId:n.agentId,outcome:`cancelled`});let t=a.markAgentCompleted(n.agentId);t.turnComplete&&await s(a,t.result);return}let r=t instanceof Error?t.message:String(t),o=a.markAgentErrored(n.agentId,r);await e.emit(b.user_message.completed,{sessionId:a.sessionId,turnId:a.turnId,turnNumber:a.turnNumber,messageId:i,agentId:n.agentId,outcome:`error`,error:r}),o.turnComplete&&await s(a,o.result)}});await Promise.all(u)}function Ie(e){return e.on(b.abandon,async t=>{let{parentSessionId:n,childSessionId:r}=t.payload,{session:i}=await e.request(b.get,{sessionId:r});if(!i)throw Error(`[abandon-handler] Child session not found: ${r}`);if(i.parentSessionId!==n)throw Error(`[abandon-handler] Invalid parent-child relationship: session ${r} is not a child of ${n}`+(i.parentSessionId?` (actual parent: ${i.parentSessionId})`:` (session has no parent)`));if(!(await e.request(b.close,{sessionId:r})).success)throw Error(`[abandon-handler] Failed to close child session: ${r}`);await e.emit(b.abandoned,{sessionId:r,parentSessionId:n}),t.setResult({success:!0})})}function Le(e,t,n){return e.on(b.agent.attach,async r=>{let{sessionId:i,agent:a,initialMessage:o,role:s}=r.payload,c=Re(a),l=await We(e,i),u=await Be(e,i,o,a),{adapterName:f,adapterId:p}=await ze(e,a.kind===`adapter`&&`adapterName`in a?a.adapterName:u?.adapterName,a.kind===`adapter`&&`adapterId`in a?a.adapterId:void 0,n),{providerConfigId:m,providerContext:g}=await Ve(e,a.providerConfigId,u),{runtimeOptions:_,mergedModel:v,mergedCwd:y}=Ue(c,u,g),b=Ge(l,s),x=qe(p,i,o,b,_,Ke(l),u?.harnessId);g!==void 0&&await d(e,g);let S=await e.request(h.startAgent,x);if(!S.success)throw Error(`[attach-handler] Failed to start agent: ${S.message}`);let C=a.kind===`persona`?a.personaId:void 0;await Ye(e,S,{adapterName:f,sessionId:i,role:b,timestamp:Date.now(),personaId:C,profileId:u?.profileId,harnessId:u?.harnessId,providerConfigId:m,compressionMode:u?.compressionMode,model:v,cwd:y});let w=o&&S.messageId?await Xe(e,t,i,S.agentId,S.messageId,o):void 0;r.setResult({agentId:S.agentId,adapterSessionId:S.adapterSessionId,role:b,...w&&{messageId:w.messageId,turnId:w.turnId}})})}function Re(e){return{...e.model!==void 0&&{model:e.model},...e.reasoningEffort!==void 0&&{reasoningEffort:e.reasoningEffort},...e.cwd!==void 0&&{cwd:e.cwd},...e.allowedTools!==void 0&&{allowedTools:e.allowedTools},...e.disallowedTools!==void 0&&{disallowedTools:e.disallowedTools},...e.allowedDirectories!==void 0&&{allowedDirectories:e.allowedDirectories},...e.systemPrompt!==void 0&&{systemPrompt:e.systemPrompt}}}async function ze(e,t,n,r){let i=K(t),a=K(n);if(!i&&!a)throw Error(`[attach-handler] adapterName or adapterId is required — provide one explicitly or via persona/profile/virtualModel resolution`);if(a)return{adapterName:await q(e,a,i,`[attach-handler] `),adapterId:a};let o=i;return{adapterName:o,adapterId:await I(e,o,r)}}async function Be(e,t,n,r){if(r.kind===`adapter`)return null;let i=n?F(n):void 0;return e.request(g.resolve,{selection:r,context:{sessionId:t,promptText:i}})}async function Ve(e,t,n){let r=t??n?.providerConfigId;return{providerConfigId:r,providerContext:r===void 0?void 0:await u(e,r)}}function He(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}function Ue(e,t,n){let r=e.model??t?.model,i=e.cwd;return{runtimeOptions:He({model:r,reasoningEffort:e.reasoningEffort??t?.reasoningEffort,cwd:i,allowedTools:e.allowedTools??t?.allowedTools,disallowedTools:e.disallowedTools??t?.disallowedTools,allowedDirectories:e.allowedDirectories??t?.allowedDirectories,systemPrompt:e.systemPrompt??t?.systemPrompt,providerContext:n}),mergedModel:r,mergedCwd:i}}async function We(e,t){let{session:n}=await e.request(b.get,{sessionId:t});if(!n)throw Error(`[attach-handler] Session not found: ${t}`);if(n.status!==`active`)throw Error(`[attach-handler] Session is not active: ${t}`);return n}function Ge(e,t){let n=e.agents.length===0;return t??(n?`lead`:`member`)}function Ke(e){if(e.isImported&&e.isOrchestrated===!1&&e.adapterSessionId)return e.adapterSessionId}function qe(e,t,n,r,i,a,o){return a?{mode:`resume`,adapterId:e,sessionId:t,adapterSessionId:a,role:r,...i,...n!==void 0&&{initialMessage:n},...o!==void 0&&{harnessId:o}}:{adapterId:e,sessionId:t,role:r,...i,...n!==void 0&&{initialMessage:n},...o!==void 0&&{harnessId:o}}}async function Je(e,t){!t.personaId&&!t.profileId&&!t.harnessId&&!t.providerConfigId||await e.request(O.set,{agentId:t.agentId,agent:{agentId:t.agentId,adapterId:t.adapterId,adapterName:t.adapterName,sessionId:t.sessionId,role:t.role,status:`idle`,personaId:t.personaId,profileId:t.profileId,harnessId:t.harnessId,providerConfigId:t.providerConfigId,createdAt:t.timestamp,lastActivityAt:t.timestamp,...t.model!==void 0&&{model:t.model},...t.cwd!==void 0&&{cwd:t.cwd},...t.compressionMode!==void 0&&{compressionMode:t.compressionMode}}})}async function Ye(e,t,n){try{await Je(e,{agentId:t.agentId,adapterId:t.adapterId,adapterName:n.adapterName,sessionId:n.sessionId,role:n.role,timestamp:n.timestamp,personaId:n.personaId,profileId:n.profileId,harnessId:n.harnessId,providerConfigId:n.providerConfigId,compressionMode:n.compressionMode,model:n.model,cwd:n.cwd})}catch(r){console.error(`[attach-handler] Failed to persist agent identity, rolling back started agent`,{sessionId:n.sessionId,agentId:t.agentId,adapterId:t.adapterId,error:r});try{await e.request(h.stopAgent,{adapterId:t.adapterId,agentId:t.agentId})}catch(e){console.error(`[attach-handler] Failed to rollback started agent after identity persistence failure`,{sessionId:n.sessionId,agentId:t.agentId,adapterId:t.adapterId,error:e})}throw r}}async function Xe(e,t,n,r,a,o){let{turn:s}=await e.request(i.create,{sessionId:n}),c=new P({sessionId:n,agentIds:[r],turnId:s.turnId,turnNumber:s.turnNumber});return c.addMessage(a),t.set(n,c),await e.emit(b.turn.started,{sessionId:n,turnId:c.turnId,turnNumber:c.turnNumber,messageId:a,agentIds:[...c.agentIds]}),await e.emit(b.user_message.sent,{sessionId:n,turnId:c.turnId,turnNumber:c.turnNumber,messageId:a,content:o,agentIds:[...c.agentIds]}),await e.emit(b.user_message.acknowledged,{sessionId:n,turnId:c.turnId,turnNumber:c.turnNumber,messageId:a,agentId:r}),{messageId:a,turnId:c.turnId}}const Ze={id:`messages-to-context`,label:`Export as Context`,description:`Convert messages to context JSON (final step)`,category:`extraction`,async execute(e){let t=e.map(e=>({role:e.role,content:e.blocks.map(e=>e.type===`text`?e.content:e.type===`reasoning`?`[reasoning: ${e.content}]`:e.type===`tool_call`?`[tool: ${e.name}]`:e.type===`tool_output`?e.output:``).filter(Boolean).join(`
12
12
  `)})),n=t.reduce((e,t)=>e+t.content.length,0),r=Math.ceil(n/4);return{kind:`context`,json:{type:`compressed-messages`,messageCount:e.length,messages:t},tokenEstimate:r}}},Qe={id:`llm-summarize`,label:`Summarize`,description:`LLM-generated summary of selected messages`,category:`transformation`,async execute(e){return{kind:`messages`,messages:e}}};function $e(e){let t=[];for(let n of e){let e=n.blocks.filter(e=>e.type===`text`).map(e=>e.content).join(`
13
13
  `);e&&(n.role===`user`?t.push(`[human]\n${e}\n[/human]`):n.role===`assistant`&&t.push(`[assistant]\n${e}\n[/assistant]`))}return`<conversation>\n${t.join(`
@@ -38,4 +38,4 @@ Rules:
38
38
  - Omit array items you have no evidence for (prefer empty array over fabrication).
39
39
  - current_state MUST be present; write "No summary available" if you cannot determine it.
40
40
  - Extract only facts stated or clearly implied in the conversation. Do not invent.
41
- - key_files and component_interactions should only include items explicitly mentioned.`,...s!==void 0&&{providerContext:s}}),l=c.trim().replace(/^```(?:json)?\s*/i,``).replace(/\s*```$/i,``).trim(),u=JSON.parse(l),d=f.parse(u),p=Math.ceil(JSON.stringify(d).length/4);return{kind:`context`,json:{...d},tokenEstimate:p}}catch(e){return console.warn(`[llm-extract] action failed`,{action:`llm-extract`,sessionId:a,error:e}),r}}}}let Y=!1,X=!1;function Z(e){Y||(Y=!0,R.register(De),R.register(Oe),R.register(Ze),R.register(Qe)),e&&!X&&(X=!0,R.register(et(e)))}function tt(){Y=!1,X=!1}function nt(e){return Z(e),e.on(b.compress,async t=>{let{sessionId:r,pipeline:i}=t.payload,{messages:a}=await e.request(o.getBySession,{sessionId:r,limit:1e4}),s=await z(a,i,{sessionId:r});if(!s.contextJson)throw Error(`[compress-handler] Compress pipeline must produce context JSON (sessionId=${r})`);let c=a.map(e=>e.messageId),l=Math.ceil(a.reduce((e,t)=>e+JSON.stringify(t.blocks).length/4,0)),u=crypto.randomUUID();await e.request(n.append,{event:{sessionId:r,eventId:u,timestamp:Date.now(),type:`squash`,payload:{summaryJson:JSON.stringify(s.contextJson),tokensBefore:l,tokensAfter:s.tokenEstimate,compressedMessageIds:c}}}),await e.emit(b.compressed,{sessionId:r,eventId:u}),t.setResult({eventId:u,contextJson:s.contextJson,tokensBefore:l,tokensAfter:s.tokenEstimate})})}async function rt(e,t,n,r){if(!n.segments?.length)return!1;let i=[],a;do{let{messages:n,nextCursor:s}=await e.request(o.getBySession,{sessionId:t,order:`asc`,limit:200,after:a});i.push(...n),a=r&&n.some(e=>e.messageId===r)?void 0:s??void 0}while(a);if(i.length===0)throw Error(`[fork-handler] Segment transforms require at least one source message (sourceSessionId=${t})`);let s=i;if(r){let e=i.findIndex(e=>e.messageId===r);if(e===-1)throw Error(`[fork-handler] Fork point message not found in source message list: ${r} (sourceSessionId=${t})`);s=i.slice(0,e+1)}let c=new Map;s.forEach((e,t)=>{c.set(e.messageId,t)});let l=-1;for(let e of n.segments){if(!e.fromMessageId||!e.toMessageId)throw Error(`[fork-handler] Segment must have fromMessageId and toMessageId (sourceSessionId=${t})`);let n=c.get(e.fromMessageId),r=c.get(e.toMessageId);if(n===void 0||r===void 0)throw Error(`[fork-handler] Segment boundaries must reference source messages: ${e.fromMessageId}..${e.toMessageId} (sourceSessionId=${t})`);if(n>r)throw Error(`[fork-handler] Segment range is reversed: ${e.fromMessageId}..${e.toMessageId} (sourceSessionId=${t})`);if(n<=l)throw Error(`[fork-handler] Segments must not overlap and must be ordered (sourceSessionId=${t})`);if(n!==l+1)throw Error(`[fork-handler] Segments must be contiguous without gaps (sourceSessionId=${t})`);l=r}if(l!==s.length-1)throw Error(`[fork-handler] Segments must cover the entire source message range (sourceSessionId=${t})`);return!0}function it(e){if(!e.segments?.length&&e.appliedPipeline?.length)for(let t of e.appliedPipeline){let e=R.get(t.actionId);if(!e)throw Error(`[fork-handler] Unknown action in pipeline: ${t.actionId}`);if(e.category!==`transformation`)throw Error(`[fork-handler] Action '${t.actionId}' is category '${e.category}', but only 'transformation' actions are allowed in fork transforms`)}}function at(e){return e.on(b.fork,async t=>{let{sourceSessionId:n,fromMessageId:r,name:i,branchKind:a=`fork`,transforms:s,targetWorkingDirectory:c,existingSessionId:l}=t.payload,{session:u}=await e.request(b.get,{sessionId:n});if(!u)throw Error(`[fork-handler] Source session not found: ${n}`);if(r){let{message:t}=await e.request(o.get,{messageId:r});if(!t)throw Error(`[fork-handler] Fork point message not found: ${r} (sourceSessionId=${n})`);if(t.sessionId!==n)throw Error(`[fork-handler] Fork point message ${r} does not belong to session ${n}`)}s&&(await rt(e,n,s,r)||it(s));let{sessionId:d}=await e.request(b.create,{...l?{sessionId:l}:{},parentSessionId:n,forkPointMessageId:r,branchKind:a,forkTransforms:s,...i?{title:i}:{},...c?{targetWorkingDirectory:c}:{}});await e.emit(b.branch.created,{sessionId:n,childSessionId:d,parentSessionId:n,kind:a,forkPointMessageId:r,transforms:s}),await e.emit(b.forked,{parentSessionId:n,childSessionId:d,forkPoint:r}),t.setResult({sessionId:d})})}function ot(e){return e.on(b.merge,async t=>{let{parentSessionId:r,childSessionId:i,summary:a}=t.payload,o=`merge:${r}:${i}`,{session:s}=await e.request(b.get,{sessionId:r});if(!s)throw Error(`[merge-handler] Parent session not found: ${r}`);if(s.status!==`active`)throw Error(`[merge-handler] Parent session is not active: ${r}`);let{session:c}=await e.request(b.get,{sessionId:i});if(!c)throw Error(`[merge-handler] Child session not found: ${i}`);if(c.parentSessionId!==r)throw Error(`[merge-handler] Invalid parent-child relationship: session ${i} is not a child of ${r}`+(c.parentSessionId?` (actual parent: ${c.parentSessionId})`:` (session has no parent)`));await e.emit(b.merging,{parentSessionId:r,childSessionId:i});let l=a??`Child session ${i} merged.`;if(!(await e.request(b.close,{sessionId:i})).success)throw Error(`[merge-handler] Failed to close child session: ${i}`);let u=JSON.stringify({handoff:l});await e.request(n.append,{event:{sessionId:r,eventId:o,timestamp:Date.now(),type:`branch.merged`,payload:{childSessionId:i,parentSessionId:r,resultJson:u}}}),await e.emit(b.branch.merged,{sessionId:r,childSessionId:i,parentSessionId:r,resultJson:u}),await e.emit(b.merged,{parentSessionId:r,childSessionId:i,handoff:l}),t.setResult({success:!0,handoff:l})})}async function Q(e,t,n,r,a){if(!t.parentSessionId||r?.messageHistory)return r;let{turns:o}=await e.request(i.getBySession,{sessionId:n,limit:2});if(!(a&&o.length<=1))return r;let s=(await H(e,n)).messages.map(W);return{...r,messageHistory:s,isFirstTurn:!0,hasNewTransforms:t.forkTransforms!==void 0}}const $={enabled:!0,template:`User changed working directory from {oldCwd} to {newCwd}`};function st(e,t,n){return e.replace(/\{oldCwd\}/g,t).replace(/\{newCwd\}/g,n)}function ct(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.enabled==`boolean`&&typeof t.template==`string`}async function lt(e){try{let t=await e.request(p.get,{key:{scope:`global`,surface:`ui`,context:`cwdChangeNotification`},category:`chat-display`});if(t.value!==null&&t.value!==void 0)return ct(t.value)?t.value:$}catch{}return $}function ut(e){let{baseContext:t,recoveryContext:n,isRecovered:r,isSwapped:i,swapMeta:a,cwdMessage:o,freshMessageHistory:s}=e,c=r&&n?{...t,...n}:t;if(!i)return c;let l=a&&o!==void 0?{cwdChange:{previousCwd:a.previousCwd,newCwd:a.newCwd,message:o}}:void 0;return c={...c,hasConnectorSwap:!0,...s!==void 0&&{messageHistory:s},...l&&{turnContext:{...c?.turnContext,...l}}},c}async function dt(e){let{bus:t,session:n,turn:r,message:i,messageId:a,deliveryMode:o,onTurnComplete:s,agent:c,agentContext:l,responseSchema:u}=e;try{await t.request(v.sendMessage,{agentId:c.agentId,adapterId:c.adapterId,message:i,deliveryMode:o,messageId:a,turnId:r.turnId,sessionId:n.sessionId,sessionContext:l,...u!==void 0&&{responseSchema:u}}),await t.emit(b.user_message.acknowledged,{sessionId:r.sessionId,turnId:r.turnId,turnNumber:r.turnNumber,messageId:a,agentId:c.agentId})}catch(e){if(e instanceof E){await t.emit(b.user_message.completed,{sessionId:r.sessionId,turnId:r.turnId,turnNumber:r.turnNumber,messageId:a,agentId:c.agentId,outcome:`cancelled`});let e=r.markAgentCompleted(c.agentId);e.turnComplete&&await s(r,e.result);return}let n=e instanceof Error?e.message:String(e),i=r.markAgentErrored(c.agentId,n);await t.emit(b.user_message.completed,{sessionId:r.sessionId,turnId:r.turnId,turnNumber:r.turnNumber,messageId:a,agentId:c.agentId,outcome:`error`,error:n}),i.turnComplete&&await s(r,i.result)}}async function ft(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g){let _=await Q(e,t,t.sessionId,c,u),v=l?await l.enrichForDeliveryMode(_?.messageHistory,a.turnId,o):_?.messageHistory,y=_?{..._,messageHistory:v}:void 0,b=p?.size?await lt(e):$,x=n.map(async n=>{let c=m?.get(n.agentId),l=c&&b.enabled?st(b.template,c.previousCwd,c.newCwd):void 0;await dt({bus:e,session:t,turn:a,message:r,messageId:i,deliveryMode:o,onTurnComplete:s,agent:n,agentContext:ut({baseContext:y,recoveryContext:d,isRecovered:f?.has(n.agentId)??!1,isSwapped:p?.has(n.agentId)??!1,swapMeta:c,cwdMessage:l,freshMessageHistory:h}),responseSchema:g})});await Promise.all(x)}export{be as A,Ee as C,xe as D,Ce as E,O as F,ue as M,ae as N,Se as O,D as P,I as S,we as T,Pe as _,nt as a,R as b,Le as c,K as d,q as f,G as g,Ne as h,at as i,P as j,F as k,Ie as l,Me as m,Q as n,Z as o,Fe as p,ot as r,tt as s,ft as t,J as u,je as v,Te as w,L as x,H as y};
41
+ - key_files and component_interactions should only include items explicitly mentioned.`,...s!==void 0&&{providerContext:s}}),l=c.trim().replace(/^```(?:json)?\s*/i,``).replace(/\s*```$/i,``).trim(),u=JSON.parse(l),d=f.parse(u),p=Math.ceil(JSON.stringify(d).length/4);return{kind:`context`,json:{...d},tokenEstimate:p}}catch(e){return console.warn(`[llm-extract] action failed`,{action:`llm-extract`,sessionId:a,error:e}),r}}}}let Y=!1,X=!1;function Z(e){Y||(Y=!0,R.register(De),R.register(Oe),R.register(Ze),R.register(Qe)),e&&!X&&(X=!0,R.register(et(e)))}function tt(){Y=!1,X=!1}function nt(e){return Z(e),e.on(b.compress,async t=>{let{sessionId:r,pipeline:i}=t.payload,{messages:a}=await e.request(o.getBySession,{sessionId:r,limit:1e4}),s=await z(a,i,{sessionId:r});if(!s.contextJson)throw Error(`[compress-handler] Compress pipeline must produce context JSON (sessionId=${r})`);let c=a.map(e=>e.messageId),l=Math.ceil(a.reduce((e,t)=>e+JSON.stringify(t.blocks).length/4,0)),u=crypto.randomUUID();await e.request(n.append,{event:{sessionId:r,eventId:u,timestamp:Date.now(),type:`squash`,payload:{summaryJson:JSON.stringify(s.contextJson),tokensBefore:l,tokensAfter:s.tokenEstimate,compressedMessageIds:c}}}),await e.emit(b.compressed,{sessionId:r,eventId:u}),t.setResult({eventId:u,contextJson:s.contextJson,tokensBefore:l,tokensAfter:s.tokenEstimate})})}async function rt(e,t,n,r){if(!n.segments?.length)return!1;let i=[],a;do{let{messages:n,nextCursor:s}=await e.request(o.getBySession,{sessionId:t,order:`asc`,limit:200,after:a});i.push(...n),a=r&&n.some(e=>e.messageId===r)?void 0:s??void 0}while(a);if(i.length===0)throw Error(`[fork-handler] Segment transforms require at least one source message (sourceSessionId=${t})`);let s=i;if(r){let e=i.findIndex(e=>e.messageId===r);if(e===-1)throw Error(`[fork-handler] Fork point message not found in source message list: ${r} (sourceSessionId=${t})`);s=i.slice(0,e+1)}let c=new Map;s.forEach((e,t)=>{c.set(e.messageId,t)});let l=-1;for(let e of n.segments){if(!e.fromMessageId||!e.toMessageId)throw Error(`[fork-handler] Segment must have fromMessageId and toMessageId (sourceSessionId=${t})`);let n=c.get(e.fromMessageId),r=c.get(e.toMessageId);if(n===void 0||r===void 0)throw Error(`[fork-handler] Segment boundaries must reference source messages: ${e.fromMessageId}..${e.toMessageId} (sourceSessionId=${t})`);if(n>r)throw Error(`[fork-handler] Segment range is reversed: ${e.fromMessageId}..${e.toMessageId} (sourceSessionId=${t})`);if(n<=l)throw Error(`[fork-handler] Segments must not overlap and must be ordered (sourceSessionId=${t})`);if(n!==l+1)throw Error(`[fork-handler] Segments must be contiguous without gaps (sourceSessionId=${t})`);l=r}if(l!==s.length-1)throw Error(`[fork-handler] Segments must cover the entire source message range (sourceSessionId=${t})`);return!0}function it(e){if(!e.segments?.length&&e.appliedPipeline?.length)for(let t of e.appliedPipeline){let e=R.get(t.actionId);if(!e)throw Error(`[fork-handler] Unknown action in pipeline: ${t.actionId}`);if(e.category!==`transformation`)throw Error(`[fork-handler] Action '${t.actionId}' is category '${e.category}', but only 'transformation' actions are allowed in fork transforms`)}}function at(e){return e.on(b.fork,async t=>{let{sourceSessionId:n,fromMessageId:r,name:i,branchKind:a=`fork`,transforms:s,targetWorkingDirectory:c,existingSessionId:l}=t.payload,{session:u}=await e.request(b.get,{sessionId:n});if(!u)throw Error(`[fork-handler] Source session not found: ${n}`);if(r){let{message:t}=await e.request(o.get,{messageId:r});if(!t)throw Error(`[fork-handler] Fork point message not found: ${r} (sourceSessionId=${n})`);if(t.sessionId!==n)throw Error(`[fork-handler] Fork point message ${r} does not belong to session ${n}`)}s&&(await rt(e,n,s,r)||it(s));let{sessionId:d}=await e.request(b.create,{...l?{sessionId:l}:{},parentSessionId:n,forkPointMessageId:r,branchKind:a,forkTransforms:s,...i?{title:i}:{},...c?{targetWorkingDirectory:c}:{}});await e.emit(b.branch.created,{sessionId:n,childSessionId:d,parentSessionId:n,kind:a,forkPointMessageId:r,transforms:s}),await e.emit(b.forked,{parentSessionId:n,childSessionId:d,forkPoint:r}),t.setResult({sessionId:d})})}function ot(e){return e.on(b.merge,async t=>{let{parentSessionId:r,childSessionId:i,summary:a}=t.payload,o=`merge:${r}:${i}`,{session:s}=await e.request(b.get,{sessionId:r});if(!s)throw Error(`[merge-handler] Parent session not found: ${r}`);if(s.status!==`active`)throw Error(`[merge-handler] Parent session is not active: ${r}`);let{session:c}=await e.request(b.get,{sessionId:i});if(!c)throw Error(`[merge-handler] Child session not found: ${i}`);if(c.parentSessionId!==r)throw Error(`[merge-handler] Invalid parent-child relationship: session ${i} is not a child of ${r}`+(c.parentSessionId?` (actual parent: ${c.parentSessionId})`:` (session has no parent)`));await e.emit(b.merging,{parentSessionId:r,childSessionId:i});let l=a??`Child session ${i} merged.`;if(!(await e.request(b.close,{sessionId:i})).success)throw Error(`[merge-handler] Failed to close child session: ${i}`);let u=JSON.stringify({handoff:l});await e.request(n.append,{event:{sessionId:r,eventId:o,timestamp:Date.now(),type:`branch.merged`,payload:{childSessionId:i,parentSessionId:r,resultJson:u}}}),await e.emit(b.branch.merged,{sessionId:r,childSessionId:i,parentSessionId:r,resultJson:u}),await e.emit(b.merged,{parentSessionId:r,childSessionId:i,handoff:l}),t.setResult({success:!0,handoff:l})})}async function Q(e,t,n,r,a){if(!(t.parentSessionId!==void 0&&(t.contextInheritance===`parent-history`||t.contextInheritance===void 0&&t.branchKind!==`subagent`))||r?.messageHistory)return r;let{turns:o}=await e.request(i.getBySession,{sessionId:n,limit:2});if(!(a&&o.length<=1))return r;let s=(await H(e,n)).messages.map(W);return{...r,messageHistory:s,isFirstTurn:!0,hasNewTransforms:t.forkTransforms!==void 0}}const $={enabled:!0,template:`User changed working directory from {oldCwd} to {newCwd}`};function st(e,t,n){return e.replace(/\{oldCwd\}/g,t).replace(/\{newCwd\}/g,n)}function ct(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.enabled==`boolean`&&typeof t.template==`string`}async function lt(e){try{let t=await e.request(p.get,{key:{scope:`global`,surface:`ui`,context:`cwdChangeNotification`},category:`chat-display`});if(t.value!==null&&t.value!==void 0)return ct(t.value)?t.value:$}catch{}return $}function ut(e){let{baseContext:t,recoveryContext:n,isRecovered:r,isSwapped:i,swapMeta:a,cwdMessage:o,freshMessageHistory:s}=e,c=r&&n?{...t,...n}:t;if(!i)return c;let l=a&&o!==void 0?{cwdChange:{previousCwd:a.previousCwd,newCwd:a.newCwd,message:o}}:void 0;return c={...c,hasConnectorSwap:!0,...s!==void 0&&{messageHistory:s},...l&&{turnContext:{...c?.turnContext,...l}}},c}async function dt(e){let{bus:t,session:n,turn:r,message:i,messageId:a,deliveryMode:o,onTurnComplete:s,agent:c,agentContext:l,responseSchema:u}=e;try{await t.request(v.sendMessage,{agentId:c.agentId,adapterId:c.adapterId,message:i,deliveryMode:o,messageId:a,turnId:r.turnId,sessionId:n.sessionId,sessionContext:l,...u!==void 0&&{responseSchema:u}}),await t.emit(b.user_message.acknowledged,{sessionId:r.sessionId,turnId:r.turnId,turnNumber:r.turnNumber,messageId:a,agentId:c.agentId})}catch(e){if(e instanceof E){await t.emit(b.user_message.completed,{sessionId:r.sessionId,turnId:r.turnId,turnNumber:r.turnNumber,messageId:a,agentId:c.agentId,outcome:`cancelled`});let e=r.markAgentCompleted(c.agentId);e.turnComplete&&await s(r,e.result);return}let n=e instanceof Error?e.message:String(e),i=r.markAgentErrored(c.agentId,n);await t.emit(b.user_message.completed,{sessionId:r.sessionId,turnId:r.turnId,turnNumber:r.turnNumber,messageId:a,agentId:c.agentId,outcome:`error`,error:n}),i.turnComplete&&await s(r,i.result)}}async function ft(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g){let _=await Q(e,t,t.sessionId,c,u),v=l?await l.enrichForDeliveryMode(_?.messageHistory,a.turnId,o):_?.messageHistory,y=_?{..._,messageHistory:v}:void 0,b=p?.size?await lt(e):$,x=n.map(async n=>{let c=m?.get(n.agentId),l=c&&b.enabled?st(b.template,c.previousCwd,c.newCwd):void 0;await dt({bus:e,session:t,turn:a,message:r,messageId:i,deliveryMode:o,onTurnComplete:s,agent:n,agentContext:ut({baseContext:y,recoveryContext:d,isRecovered:f?.has(n.agentId)??!1,isSwapped:p?.has(n.agentId)??!1,swapMeta:c,cwdMessage:l,freshMessageHistory:h}),responseSchema:g})});await Promise.all(x)}export{be as A,Ee as C,xe as D,Ce as E,O as F,ue as M,ae as N,Se as O,D as P,I as S,we as T,Pe as _,nt as a,R as b,Le as c,K as d,q as f,G as g,Ne as h,at as i,P as j,F as k,Ie as l,Me as m,Q as n,Z as o,Fe as p,ot as r,tt as s,ft as t,J as u,je as v,Te as w,L as x,H as y};
@@ -1 +1 @@
1
- import{t as e}from"./ui-config-zawaoEfB.mjs";import{i as t,r as n}from"./schemas-COnLJnt_.mjs";import{z as r}from"zod";import{createBusNamespace as i}from"@makaio/framework/core";const a=`At least one of adapterName or clientId must be provided`,o=e=>!!(e.adapterName||e.clientId);function s(e){return!!(e.id||e.name)}function c(e){return e.id||!e.name?!0:!!e.adapterName}const l={get:{request:r.object({id:r.string().optional(),name:r.string().optional(),adapterName:r.string().optional()}).refine(s,{message:`Either id or name is required`,path:[`id`]}).refine(c,{message:`adapterName is required when looking up by name`,path:[`adapterName`]}),response:t},list:{request:r.object({adapterName:r.string().optional(),clientId:r.string().optional(),name:r.string().optional()}),response:r.object({harnesses:r.array(t)})},set:{request:n,response:r.object({id:r.string()})},delete:{request:r.object({id:r.string()}),response:r.object({success:r.boolean()})},getDefault:{request:r.object({adapterName:r.string().optional(),clientId:r.string().optional()}).refine(o,{message:a,path:[`adapterName`]}),response:t},resolve:{request:r.object({adapterName:r.string().optional(),clientId:r.string().optional(),personaHarnessId:r.string().optional(),profileHarnessId:r.string().optional()}).refine(o,{message:a,path:[`adapterName`]}),response:t},getSchema:{request:r.object({}),response:r.object({schema:r.record(r.string(),r.unknown()),uiConfig:e})},created:t,updated:t,deleted:r.object({id:r.string()})},u=i(`harness`,l),d=u.subjects;function f(e,t){return t[e]??[]}function p(e){let{registeredTools:t,allowedCapabilities:n,disallowedCapabilities:r,capabilityMap:i}=e,a=new Set(n),o=new Set(r),s=[],c=[];for(let e of t){let t=f(e,i);n.length>0&&t.length>0&&t.every(e=>a.has(e))&&s.push(e),t.some(e=>o.has(e))&&c.push(e)}return{allowedTools:s,disallowedTools:c}}function m(e,t){return t.length===0?e?[...e]:void 0:[...new Set([...e??[],...t])]}function h(e,t){return{allowedTools:m(e,[]),disallowedTools:m(t,[])}}async function g(e,t){let{allowedCapabilities:n,disallowedCapabilities:r,harnessId:i,allowedTools:a,disallowedTools:o}=t;if(!((n?.length??0)||(r?.length??0))||!i)return h(a,o);let s=await e.request(d.get,{id:i});if(!s.toolCapabilityMap)return h(a,o);let c=p({registeredTools:s.nativeTools.enabled,allowedCapabilities:n??[],disallowedCapabilities:r??[],capabilityMap:s.toolCapabilityMap});return{allowedTools:m(a,c.allowedTools),disallowedTools:m(o,c.disallowedTools)}}const _={bash:[`shell.execute`,`file.read`,`file.write`,`file.delete`,`network.request`,`process.manage`],patch:[`file.write`]};function v(e){return{id:e.id,name:e.name,description:e.description,adapterName:e.adapterName,clientId:e.clientId,approvalPolicy:`always-ask`,nativeTools:{enabled:[],disabled:[]},registryTools:{enabled:[],disabled:[]},isDefault:!0,enabled:!0}}const y={id:`harness-codex-app-server-native`,name:`Codex Native`,description:`Codex app server with built-in native tools`,adapterName:`codex-app-server`,clientId:`codex`,approvalPolicy:`always-ask`,nativeTools:{enabled:[`bash`,`patch`],disabled:[]},registryTools:{enabled:[],disabled:[]},toolCapabilityMap:_,isDefault:!0,enabled:!0},b=v({id:`harness-openai-node-registry`,name:`OpenAI Registry`,description:`OpenAI adapter with registry-managed tools`,adapterName:`openai-node`}),x=v({id:`harness-claude-code-registry`,name:`Claude Code Registry`,description:`Claude Code adapter with registry-managed tools`,adapterName:`claude-code`,clientId:`claude-code`}),S=v({id:`harness-gemini-sdk-registry`,name:`Gemini SDK Registry`,description:`Gemini SDK adapter with registry-managed tools`,adapterName:`gemini-sdk`,clientId:`gemini`}),C=[y,b,x,S];export{b as a,g as c,l as d,d as f,S as i,f as l,y as n,_ as o,C as r,p as s,x as t,u};
1
+ import{t as e}from"./ui-config-9bDRwFZr.mjs";import{i as t,r as n}from"./schemas-hSrzflwZ.mjs";import{z as r}from"zod";import{createBusNamespace as i}from"@makaio/framework/core";const a=`At least one of adapterName or clientId must be provided`,o=e=>!!(e.adapterName||e.clientId);function s(e){return!!(e.id||e.name)}function c(e){return e.id||!e.name?!0:!!e.adapterName}const l={get:{request:r.object({id:r.string().optional(),name:r.string().optional(),adapterName:r.string().optional()}).refine(s,{message:`Either id or name is required`,path:[`id`]}).refine(c,{message:`adapterName is required when looking up by name`,path:[`adapterName`]}),response:t},list:{request:r.object({adapterName:r.string().optional(),clientId:r.string().optional(),name:r.string().optional()}),response:r.object({harnesses:r.array(t)})},set:{request:n,response:r.object({id:r.string()})},delete:{request:r.object({id:r.string()}),response:r.object({success:r.boolean()})},getDefault:{request:r.object({adapterName:r.string().optional(),clientId:r.string().optional()}).refine(o,{message:a,path:[`adapterName`]}),response:t},resolve:{request:r.object({adapterName:r.string().optional(),clientId:r.string().optional(),personaHarnessId:r.string().optional(),profileHarnessId:r.string().optional()}).refine(o,{message:a,path:[`adapterName`]}),response:t},getSchema:{request:r.object({}),response:r.object({schema:r.record(r.string(),r.unknown()),uiConfig:e})},created:t,updated:t,deleted:r.object({id:r.string()})},u=i(`harness`,l),d=u.subjects;function f(e,t){return t[e]??[]}function p(e){let{registeredTools:t,allowedCapabilities:n,disallowedCapabilities:r,capabilityMap:i}=e,a=new Set(n),o=new Set(r),s=[],c=[];for(let e of t){let t=f(e,i);n.length>0&&t.length>0&&t.every(e=>a.has(e))&&s.push(e),t.some(e=>o.has(e))&&c.push(e)}return{allowedTools:s,disallowedTools:c}}function m(e,t){return t.length===0?e?[...e]:void 0:[...new Set([...e??[],...t])]}function h(e,t){return{allowedTools:m(e,[]),disallowedTools:m(t,[])}}async function g(e,t){let{allowedCapabilities:n,disallowedCapabilities:r,harnessId:i,allowedTools:a,disallowedTools:o}=t;if(!((n?.length??0)||(r?.length??0))||!i)return h(a,o);let s=await e.request(d.get,{id:i});if(!s.toolCapabilityMap)return h(a,o);let c=p({registeredTools:s.nativeTools.enabled,allowedCapabilities:n??[],disallowedCapabilities:r??[],capabilityMap:s.toolCapabilityMap});return{allowedTools:m(a,c.allowedTools),disallowedTools:m(o,c.disallowedTools)}}const _={bash:[`shell.execute`,`file.read`,`file.write`,`file.delete`,`network.request`,`process.manage`],patch:[`file.write`]};function v(e){return{id:e.id,name:e.name,description:e.description,adapterName:e.adapterName,clientId:e.clientId,approvalPolicy:`always-ask`,nativeTools:{enabled:[],disabled:[]},registryTools:{enabled:[],disabled:[]},isDefault:!0,enabled:!0}}const y={id:`harness-codex-app-server-native`,name:`Codex Native`,description:`Codex app server with built-in native tools`,adapterName:`codex-app-server`,clientId:`codex`,approvalPolicy:`always-ask`,nativeTools:{enabled:[`bash`,`patch`],disabled:[]},registryTools:{enabled:[],disabled:[]},toolCapabilityMap:_,isDefault:!0,enabled:!0},b=v({id:`harness-openai-node-registry`,name:`OpenAI Registry`,description:`OpenAI adapter with registry-managed tools`,adapterName:`openai-node`}),x=v({id:`harness-claude-code-registry`,name:`Claude Code Registry`,description:`Claude Code adapter with registry-managed tools`,adapterName:`claude-code`,clientId:`claude-code`}),S=v({id:`harness-gemini-sdk-registry`,name:`Gemini SDK Registry`,description:`Gemini SDK adapter with registry-managed tools`,adapterName:`gemini-sdk`,clientId:`gemini`}),C=[y,b,x,S];export{b as a,g as c,l as d,d as f,S as i,f as l,y as n,_ as o,C as r,p as s,x as t,u};
@@ -1 +1 @@
1
- import{z as e}from"zod";import{createBusNamespace as t}from"@makaio/framework/core";const n=e.string().refine(e=>{let t=e.split(`:`);return t.length===2&&t[0].length>0&&t[1].length>0},{message:`registrationId must be "{packageName}:{windowId}"`}),r=e.record(e.string(),e.string()).optional(),i=e.object({windowId:e.number().int().nonnegative(),registrationId:n,params:r,label:e.string().optional(),visible:e.boolean(),focused:e.boolean()}),a={"window.opened":e.object({windowId:e.number().int().nonnegative(),registrationId:n,params:r,label:e.string().optional(),visible:e.boolean(),focused:e.boolean()}),"window.closed":e.object({windowId:e.number().int().nonnegative(),registrationId:n,params:r}),"window.labelChanged":e.object({windowId:e.number().int().nonnegative(),label:e.string()}),"window.create":{request:e.object({registrationId:n,params:r}),response:e.object({windowId:e.number().int().nonnegative()})},"window.focus":{request:e.object({windowId:e.number().int().nonnegative().optional()}),response:e.object({success:e.boolean()})},"window.list":{request:e.object({}),response:e.object({windows:e.array(i)})},"window.openDashboard":{request:e.object({}),response:e.object({windowId:e.number().nullable()})},"tray.activate":{request:e.object({}),response:e.object({handled:e.boolean()})},"app.focus":{request:e.object({}),response:e.object({focused:e.boolean(),windowId:e.number().int().nonnegative().nullable()})}},o=t(`host`,a),s=o.subjects;export{i,s as n,a as r,o as t};
1
+ import{z as e}from"zod";import{createBusNamespace as t}from"@makaio/framework/core";const n=e.string().refine(e=>{let t=e.split(`:`);return t.length===2&&t[0].length>0&&t[1].length>0},{message:`registrationId must be "{packageName}:{windowId}"`}),r=e.record(e.string(),e.string()).optional(),i=e.object({windowId:e.number().int().nonnegative(),registrationId:n,params:r,label:e.string().optional(),visible:e.boolean(),focused:e.boolean()}),a={"window.opened":e.object({windowId:e.number().int().nonnegative(),registrationId:n,params:r,label:e.string().optional(),visible:e.boolean(),focused:e.boolean()}),"window.closed":e.object({windowId:e.number().int().nonnegative(),registrationId:n,params:r}),"window.labelChanged":e.object({windowId:e.number().int().nonnegative(),label:e.string()}),"window.create":{request:e.object({registrationId:n,params:r}),response:e.object({windowId:e.number().int().nonnegative()})},"window.focus":{request:e.object({windowId:e.number().int().nonnegative().optional()}),response:e.object({success:e.boolean()})},"window.list":{request:e.object({}),response:e.object({windows:e.array(i)})},"window.openDashboard":{request:e.object({}),response:e.object({windowId:e.number().nullable()})},"tray.activate":{request:e.object({}),response:e.object({handled:e.boolean()})},"app.focus":{request:e.object({}),response:e.object({focused:e.boolean(),windowId:e.number().int().nonnegative().nullable()})},"app.shutdown":{request:e.object({}),response:e.object({})}},o=t(`host`,a),s=o.subjects;export{i,s as n,a as r,o as t};
@@ -3,7 +3,7 @@ import { z } from "zod";
3
3
  import * as _$_makaio_core0 from "@makaio/framework/core";
4
4
  import * as _$zod_v4_core0 from "zod/v4/core";
5
5
 
6
- //#region packages/contracts/src/variant/schemas.d.ts
6
+ //#region core/contracts/src/variant/schemas.d.ts
7
7
  /**
8
8
  * Supported build variant identifiers for the Electrobun desktop host.
9
9
  *
@@ -27,8 +27,8 @@ type MakaioVariant = z.infer<typeof MakaioVariantSchema>;
27
27
  */
28
28
  declare const VariantUpgradeStatusSchema: z.ZodEnum<{
29
29
  error: "error";
30
- progress: "progress";
31
30
  complete: "complete";
31
+ progress: "progress";
32
32
  downloading: "downloading";
33
33
  applying: "applying";
34
34
  }>;
@@ -101,8 +101,8 @@ declare const VariantSchemas: {
101
101
  upgradeProgress: z.ZodObject<{
102
102
  status: z.ZodEnum<{
103
103
  error: "error";
104
- progress: "progress";
105
104
  complete: "complete";
105
+ progress: "progress";
106
106
  downloading: "downloading";
107
107
  applying: "applying";
108
108
  }>;
@@ -119,7 +119,7 @@ type VariantRequestUpgradeResponse = z.infer<(typeof VariantSchemas)['requestUpg
119
119
  /** Payload of the `host:variant.upgradeProgress` event. */
120
120
  type VariantUpgradeProgressEvent = z.infer<(typeof VariantSchemas)['upgradeProgress']>;
121
121
  //#endregion
122
- //#region packages/contracts/src/variant/namespace.d.ts
122
+ //#region core/contracts/src/variant/namespace.d.ts
123
123
  /**
124
124
  * Variant namespace definition.
125
125
  * Provides typed subjects for variant detection and upgrade operations.
@@ -158,8 +158,8 @@ declare const VariantNamespace: _$_makaio_core0.BusNamespaceDefinition<"host:var
158
158
  upgradeProgress: _$zod.ZodObject<{
159
159
  status: _$zod.ZodEnum<{
160
160
  error: "error";
161
- progress: "progress";
162
161
  complete: "complete";
162
+ progress: "progress";
163
163
  downloading: "downloading";
164
164
  applying: "applying";
165
165
  }>;
@@ -205,8 +205,8 @@ declare const VariantSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.FlatS
205
205
  upgradeProgress: _$zod.ZodObject<{
206
206
  status: _$zod.ZodEnum<{
207
207
  error: "error";
208
- progress: "progress";
209
208
  complete: "complete";
209
+ progress: "progress";
210
210
  downloading: "downloading";
211
211
  applying: "applying";
212
212
  }>;
@@ -0,0 +1,353 @@
1
+ import { z } from "zod";
2
+ import * as _$_makaio_core0 from "@makaio/framework/core";
3
+
4
+ //#region core/contracts/src/facet/schemas.d.ts
5
+ /**
6
+ * Authority actors permitted to assert or modify a facet value.
7
+ *
8
+ * - `'human'` — end-user acting through the UI or a client tool
9
+ * - `'system'` — runtime infrastructure (e.g., lifecycle rules)
10
+ * - `'agent'` — an AI or automated agent operating in a session
11
+ */
12
+ declare const FacetAuthoritySchema: z.ZodEnum<{
13
+ agent: "agent";
14
+ system: "system";
15
+ human: "human";
16
+ }>;
17
+ /**
18
+ * Cardinality of values a facet namespace permits per target.
19
+ *
20
+ * - `'single'` — at most one value active at a time (e.g., a status field)
21
+ * - `'multiple'` — several values may coexist (e.g., labels or tags)
22
+ */
23
+ declare const FacetCardinalitySchema: z.ZodEnum<{
24
+ single: "single";
25
+ multiple: "multiple";
26
+ }>;
27
+ /**
28
+ * Entity classes that a facet namespace may be applied to.
29
+ *
30
+ * - `'workpiece'` — a top-level unit of work (e.g., a task or session)
31
+ * - `'artifact'` — a versioned framework artifact revision
32
+ * - `'surface'` — a UI surface or layout area
33
+ */
34
+ declare const FacetAppliesToSchema: z.ZodEnum<{
35
+ surface: "surface";
36
+ workpiece: "workpiece";
37
+ artifact: "artifact";
38
+ }>;
39
+ /**
40
+ * Serializable registration record for a named facet namespace.
41
+ *
42
+ * Facet namespace registrations are declared by framework services and product
43
+ * extensions, then consumed by the facet service to validate and route facet
44
+ * assertions. The `namespace` field is a kebab-case identifier unique within
45
+ * the facet registry.
46
+ */
47
+ declare const FacetNamespaceRegistrationSchema: z.ZodObject<{
48
+ namespace: z.ZodString;
49
+ cardinality: z.ZodEnum<{
50
+ single: "single";
51
+ multiple: "multiple";
52
+ }>;
53
+ values: z.ZodUnion<readonly [z.ZodLiteral<"open">, z.ZodReadonly<z.ZodArray<z.ZodString>>]>;
54
+ authority: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
55
+ agent: "agent";
56
+ system: "system";
57
+ human: "human";
58
+ }>>>;
59
+ appliesTo: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
60
+ surface: "surface";
61
+ workpiece: "workpiece";
62
+ artifact: "artifact";
63
+ }>>>;
64
+ description: z.ZodOptional<z.ZodString>;
65
+ }, z.core.$strip>;
66
+ /** Serializable registration record for a named facet namespace. */
67
+ type FacetNamespaceRegistration = z.infer<typeof FacetNamespaceRegistrationSchema>;
68
+ /** Authority actor permitted to assert or modify a facet value. */
69
+ type FacetAuthority = z.infer<typeof FacetAuthoritySchema>;
70
+ /** Cardinality policy for a facet namespace. */
71
+ type FacetCardinality = z.infer<typeof FacetCardinalitySchema>;
72
+ /** Entity class a facet namespace may be applied to. */
73
+ type FacetAppliesTo = z.infer<typeof FacetAppliesToSchema>;
74
+ //#endregion
75
+ //#region core/contracts/src/facet/definition.d.ts
76
+ /**
77
+ * A facet namespace definition with a serializable registration record.
78
+ *
79
+ * Created by {@link defineFacetNamespace}. The definition retains the original
80
+ * options and produces a bus-transportable {@link FacetNamespaceRegistration}
81
+ * via `toRegistration()`.
82
+ *
83
+ * The interface is intentionally opaque: only `namespace` is exposed directly
84
+ * so that callers have a stable, lightweight handle on the definition.
85
+ * All other properties (`cardinality`, `values`, `authority`, `appliesTo`,
86
+ * `description`) are accessible exclusively through `toRegistration()`, which
87
+ * also produces the serializable, bus-transportable snapshot. This design
88
+ * avoids spreading raw mutable fields onto a long-lived definition object and
89
+ * keeps the contract aligned with the bus registration shape.
90
+ */
91
+ interface FacetNamespaceDefinition {
92
+ /** Unique namespace identifier (e.g., `'status'`, `'review-state'`). */
93
+ readonly namespace: string;
94
+ /**
95
+ * Produces a serializable registration record suitable for bus transport.
96
+ * @returns A {@link FacetNamespaceRegistration} snapshot with all array
97
+ * fields copied to prevent shared-reference mutation.
98
+ */
99
+ readonly toRegistration: () => FacetNamespaceRegistration;
100
+ }
101
+ /**
102
+ * Options for {@link defineFacetNamespace}.
103
+ *
104
+ * Structurally identical to {@link FacetNamespaceRegistration} — every field
105
+ * is included in the serializable registration output.
106
+ */
107
+ type DefineFacetNamespaceOptions = FacetNamespaceRegistration;
108
+ /**
109
+ * Creates a facet namespace definition with a serializable registration.
110
+ *
111
+ * The returned definition exposes the `namespace` identifier directly and
112
+ * produces a bus-transportable {@link FacetNamespaceRegistration} via
113
+ * `toRegistration()`. Array fields (`values`, `authority`, `appliesTo`) are
114
+ * defensively copied so callers cannot mutate the registration snapshot.
115
+ * @param options - Facet namespace registration options including cardinality,
116
+ * values, authority, and the entity classes the facet applies to.
117
+ * @returns A {@link FacetNamespaceDefinition} with a `toRegistration` method.
118
+ * @example
119
+ * ```ts
120
+ * export const statusFacet = defineFacetNamespace({
121
+ * namespace: 'status',
122
+ * cardinality: 'single',
123
+ * values: ['pending', 'processing', 'blocked', 'completed'],
124
+ * authority: ['system'],
125
+ * appliesTo: ['workpiece'],
126
+ * });
127
+ * ```
128
+ */
129
+ declare function defineFacetNamespace(options: DefineFacetNamespaceOptions): FacetNamespaceDefinition;
130
+ //#endregion
131
+ //#region core/contracts/src/facet/namespace.d.ts
132
+ /**
133
+ * Framework-level facet bus schemas.
134
+ *
135
+ * Defines the RPC and event subjects for the facet namespace registry.
136
+ * The schema set covers:
137
+ *
138
+ * - `namespace.register` — register a new facet namespace with the facet service (RPC)
139
+ * - `namespace.list` — query registered facet namespaces (RPC)
140
+ * - `namespace.changed` — emitted when a facet namespace registration is added or updated (event)
141
+ *
142
+ * Product hosts that extend the framework facet namespace should register a
143
+ * product-owned namespace rather than merging additional subjects into this one.
144
+ */
145
+ declare const FacetSchemas: {
146
+ /**
147
+ * Register a new facet namespace with the facet service (RPC).
148
+ * Returns `{ registered: true }` when successfully stored.
149
+ */
150
+ 'namespace.register': {
151
+ request: z.ZodObject<{
152
+ namespace: z.ZodString;
153
+ cardinality: z.ZodEnum<{
154
+ single: "single";
155
+ multiple: "multiple";
156
+ }>;
157
+ values: z.ZodUnion<readonly [z.ZodLiteral<"open">, z.ZodReadonly<z.ZodArray<z.ZodString>>]>;
158
+ authority: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
159
+ agent: "agent";
160
+ system: "system";
161
+ human: "human";
162
+ }>>>;
163
+ appliesTo: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
164
+ surface: "surface";
165
+ workpiece: "workpiece";
166
+ artifact: "artifact";
167
+ }>>>;
168
+ description: z.ZodOptional<z.ZodString>;
169
+ }, z.core.$strip>;
170
+ response: z.ZodObject<{
171
+ registered: z.ZodBoolean;
172
+ }, z.core.$strip>;
173
+ }; /** List registered facet namespaces, optionally filtered by namespace string (RPC). */
174
+ 'namespace.list': {
175
+ request: z.ZodObject<{
176
+ namespace: z.ZodOptional<z.ZodString>;
177
+ }, z.core.$strip>;
178
+ response: z.ZodObject<{
179
+ namespaces: z.ZodArray<z.ZodObject<{
180
+ namespace: z.ZodString;
181
+ cardinality: z.ZodEnum<{
182
+ single: "single";
183
+ multiple: "multiple";
184
+ }>;
185
+ values: z.ZodUnion<readonly [z.ZodLiteral<"open">, z.ZodReadonly<z.ZodArray<z.ZodString>>]>;
186
+ authority: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
187
+ agent: "agent";
188
+ system: "system";
189
+ human: "human";
190
+ }>>>;
191
+ appliesTo: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
192
+ surface: "surface";
193
+ workpiece: "workpiece";
194
+ artifact: "artifact";
195
+ }>>>;
196
+ description: z.ZodOptional<z.ZodString>;
197
+ }, z.core.$strip>>;
198
+ }, z.core.$strip>;
199
+ }; /** Emitted when a facet namespace registration is added or updated. */
200
+ 'namespace.changed': z.ZodObject<{
201
+ namespace: z.ZodString;
202
+ }, z.core.$strip>;
203
+ };
204
+ /**
205
+ * Facet bus namespace.
206
+ *
207
+ * Registers the `facet` namespace with framework-level RPC and event subjects
208
+ * for the facet namespace registry. Use `FacetSubjects` to access typed bus
209
+ * subject descriptors.
210
+ */
211
+ declare const FacetNamespace: _$_makaio_core0.BusNamespaceDefinition<"facet", {
212
+ /**
213
+ * Register a new facet namespace with the facet service (RPC).
214
+ * Returns `{ registered: true }` when successfully stored.
215
+ */
216
+ 'namespace.register': {
217
+ request: z.ZodObject<{
218
+ namespace: z.ZodString;
219
+ cardinality: z.ZodEnum<{
220
+ single: "single";
221
+ multiple: "multiple";
222
+ }>;
223
+ values: z.ZodUnion<readonly [z.ZodLiteral<"open">, z.ZodReadonly<z.ZodArray<z.ZodString>>]>;
224
+ authority: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
225
+ agent: "agent";
226
+ system: "system";
227
+ human: "human";
228
+ }>>>;
229
+ appliesTo: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
230
+ surface: "surface";
231
+ workpiece: "workpiece";
232
+ artifact: "artifact";
233
+ }>>>;
234
+ description: z.ZodOptional<z.ZodString>;
235
+ }, z.core.$strip>;
236
+ response: z.ZodObject<{
237
+ registered: z.ZodBoolean;
238
+ }, z.core.$strip>;
239
+ }; /** List registered facet namespaces, optionally filtered by namespace string (RPC). */
240
+ 'namespace.list': {
241
+ request: z.ZodObject<{
242
+ namespace: z.ZodOptional<z.ZodString>;
243
+ }, z.core.$strip>;
244
+ response: z.ZodObject<{
245
+ namespaces: z.ZodArray<z.ZodObject<{
246
+ namespace: z.ZodString;
247
+ cardinality: z.ZodEnum<{
248
+ single: "single";
249
+ multiple: "multiple";
250
+ }>;
251
+ values: z.ZodUnion<readonly [z.ZodLiteral<"open">, z.ZodReadonly<z.ZodArray<z.ZodString>>]>;
252
+ authority: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
253
+ agent: "agent";
254
+ system: "system";
255
+ human: "human";
256
+ }>>>;
257
+ appliesTo: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
258
+ surface: "surface";
259
+ workpiece: "workpiece";
260
+ artifact: "artifact";
261
+ }>>>;
262
+ description: z.ZodOptional<z.ZodString>;
263
+ }, z.core.$strip>>;
264
+ }, z.core.$strip>;
265
+ }; /** Emitted when a facet namespace registration is added or updated. */
266
+ 'namespace.changed': z.ZodObject<{
267
+ namespace: z.ZodString;
268
+ }, z.core.$strip>;
269
+ }>;
270
+ /**
271
+ * Typed subjects for facet bus communication.
272
+ *
273
+ * Available subjects:
274
+ * - `FacetSubjects['namespace.register']` — register a facet namespace (RPC)
275
+ * - `FacetSubjects['namespace.list']` — list facet namespaces (RPC)
276
+ * - `FacetSubjects['namespace.changed']` — facet namespace changed event
277
+ *
278
+ * Nested shorthand (via dot-segment nesting):
279
+ * - `FacetSubjects.namespace.register` — register (RPC)
280
+ * - `FacetSubjects.namespace.list` — list (RPC)
281
+ * - `FacetSubjects.namespace.changed` — changed event
282
+ */
283
+ declare const FacetSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.FlatSubjectDefinitions<"facet", {
284
+ /**
285
+ * Register a new facet namespace with the facet service (RPC).
286
+ * Returns `{ registered: true }` when successfully stored.
287
+ */
288
+ 'namespace.register': {
289
+ request: z.ZodObject<{
290
+ namespace: z.ZodString;
291
+ cardinality: z.ZodEnum<{
292
+ single: "single";
293
+ multiple: "multiple";
294
+ }>;
295
+ values: z.ZodUnion<readonly [z.ZodLiteral<"open">, z.ZodReadonly<z.ZodArray<z.ZodString>>]>;
296
+ authority: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
297
+ agent: "agent";
298
+ system: "system";
299
+ human: "human";
300
+ }>>>;
301
+ appliesTo: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
302
+ surface: "surface";
303
+ workpiece: "workpiece";
304
+ artifact: "artifact";
305
+ }>>>;
306
+ description: z.ZodOptional<z.ZodString>;
307
+ }, z.core.$strip>;
308
+ response: z.ZodObject<{
309
+ registered: z.ZodBoolean;
310
+ }, z.core.$strip>;
311
+ }; /** List registered facet namespaces, optionally filtered by namespace string (RPC). */
312
+ 'namespace.list': {
313
+ request: z.ZodObject<{
314
+ namespace: z.ZodOptional<z.ZodString>;
315
+ }, z.core.$strip>;
316
+ response: z.ZodObject<{
317
+ namespaces: z.ZodArray<z.ZodObject<{
318
+ namespace: z.ZodString;
319
+ cardinality: z.ZodEnum<{
320
+ single: "single";
321
+ multiple: "multiple";
322
+ }>;
323
+ values: z.ZodUnion<readonly [z.ZodLiteral<"open">, z.ZodReadonly<z.ZodArray<z.ZodString>>]>;
324
+ authority: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
325
+ agent: "agent";
326
+ system: "system";
327
+ human: "human";
328
+ }>>>;
329
+ appliesTo: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
330
+ surface: "surface";
331
+ workpiece: "workpiece";
332
+ artifact: "artifact";
333
+ }>>>;
334
+ description: z.ZodOptional<z.ZodString>;
335
+ }, z.core.$strip>>;
336
+ }, z.core.$strip>;
337
+ }; /** Emitted when a facet namespace registration is added or updated. */
338
+ 'namespace.changed': z.ZodObject<{
339
+ namespace: z.ZodString;
340
+ }, z.core.$strip>;
341
+ }>, "facet">;
342
+ /** Request payload for registering a facet namespace. */
343
+ type FacetNamespaceRegisterRequest = z.infer<(typeof FacetSchemas)['namespace.register']['request']>;
344
+ /** Response payload for registering a facet namespace. */
345
+ type FacetNamespaceRegisterResponse = z.infer<(typeof FacetSchemas)['namespace.register']['response']>;
346
+ /** Request payload for listing facet namespaces. */
347
+ type FacetNamespaceListRequest = z.infer<(typeof FacetSchemas)['namespace.list']['request']>;
348
+ /** Response payload for listing facet namespaces. */
349
+ type FacetNamespaceListResponse = z.infer<(typeof FacetSchemas)['namespace.list']['response']>;
350
+ /** Payload for the facet namespace changed event. */
351
+ type FacetNamespaceChangedPayload = z.infer<(typeof FacetSchemas)['namespace.changed']>;
352
+ //#endregion
353
+ export { FacetNamespaceRegistration as _, FacetNamespaceRegisterRequest as a, FacetSubjects as c, FacetAppliesTo as d, FacetAppliesToSchema as f, FacetCardinalitySchema as g, FacetCardinality as h, FacetNamespaceListResponse as i, FacetNamespaceDefinition as l, FacetAuthoritySchema as m, FacetNamespaceChangedPayload as n, FacetNamespaceRegisterResponse as o, FacetAuthority as p, FacetNamespaceListRequest as r, FacetSchemas as s, FacetNamespace as t, defineFacetNamespace as u, FacetNamespaceRegistrationSchema as v };