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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (549) hide show
  1. package/README.md +2 -0
  2. package/dist/.makaio-build.json +4 -3
  3. package/dist/{account-identity-DFx8pwKL.mjs → account-identity-B3vLwm9O.mjs} +1 -1
  4. package/dist/adapter-Dz1fX5Wa.mjs +1 -0
  5. package/dist/adapter-subsystem/index.d.mts +194 -20
  6. package/dist/adapter-subsystem/index.mjs +1 -1
  7. package/dist/adapters/acp-client/index.d.mts +105 -7
  8. package/dist/adapters/acp-client/index.mjs +2 -2
  9. package/dist/adapters/claude/index.d.mts +5 -5
  10. package/dist/adapters/config/index.d.mts +1 -1
  11. package/dist/adapters/config/index.mjs +1 -1
  12. package/dist/adapters/index.d.mts +405 -824
  13. package/dist/adapters/index.mjs +6 -6
  14. package/dist/adapters/node.d.mts +1 -1
  15. package/dist/adapters/node.mjs +1 -1
  16. package/dist/adapters/stream-session/index.d.mts +28 -7
  17. package/dist/adapters/stream-session/index.mjs +1 -1
  18. package/dist/{ajv-DD3SIL2i.mjs → ajv-krzJXh1X.mjs} +2 -2
  19. package/dist/artifact-Btbuib48.mjs +1 -0
  20. package/dist/attach-error-Cb3GbeKe.mjs +1 -0
  21. package/dist/{auth-DGEdiHF6.mjs → auth-C6tVtaOX.mjs} +1 -1
  22. package/dist/authority-state-bootstrap-CLYus369.mjs +1 -0
  23. package/dist/automation-trigger-ByjNlClm.mjs +1 -0
  24. package/dist/await-trigger-Bkg2BQfg.mjs +1 -0
  25. package/dist/bus/index.d.mts +41 -9
  26. package/dist/bus/index.mjs +1 -1
  27. package/dist/bus-D6NoBhIV.mjs +2 -0
  28. package/dist/bus-UgFdHybD.mjs +1 -0
  29. package/dist/caller-owned-adapter-stub-C1M7FKrv.mjs +1 -0
  30. package/dist/{canonical-model-BAytQ4NV.mjs → canonical-model-DXOvCaVg.mjs} +1 -1
  31. package/dist/capabilities-BUwuA7XX.mjs +1 -0
  32. package/dist/capability-j3NekkIu.mjs +1 -0
  33. package/dist/{client-DbS847wW.mjs → client-BkznbdsO.mjs} +1 -1
  34. package/dist/clients/index.d.mts +2 -2
  35. package/dist/clients/index.mjs +1 -1
  36. package/dist/clients/managed-install.d.mts +1 -1
  37. package/dist/clients/managed-install.mjs +1 -1
  38. package/dist/code-execution/worker-entry.d.mts +21 -0
  39. package/dist/code-execution/worker-entry.mjs +1 -0
  40. package/dist/code-execution-Ckmn8OZu.mjs +1 -0
  41. package/dist/code-execution-CweDSWco.mjs +1 -0
  42. package/dist/code-execution-DqkQjKa1.mjs +1 -0
  43. package/dist/{compression-74fFeBha.mjs → compression-CtgeVLpP.mjs} +1 -1
  44. package/dist/{config-namespace-TVX-hG4I.mjs → config-namespace-CjWvw8ij.mjs} +1 -1
  45. package/dist/{context-resolution-DdyhpH4L.d.mts → context-resolution-841T7jBI.d.mts} +11 -11
  46. package/dist/contracts/adapter/index.d.mts +3 -3
  47. package/dist/contracts/adapter/index.mjs +1 -1
  48. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  49. package/dist/contracts/artifact/index.d.mts +3 -3
  50. package/dist/contracts/artifact/index.mjs +1 -1
  51. package/dist/contracts/auth/index.d.mts +2 -2
  52. package/dist/contracts/auth/index.mjs +1 -1
  53. package/dist/contracts/automation-trigger/index.d.mts +4 -0
  54. package/dist/contracts/automation-trigger/index.mjs +1 -0
  55. package/dist/contracts/canonical-model/index.d.mts +1 -1
  56. package/dist/contracts/canonical-model/index.mjs +1 -1
  57. package/dist/contracts/capabilities/index.d.mts +1 -1
  58. package/dist/contracts/capabilities/index.mjs +1 -1
  59. package/dist/contracts/client/index.d.mts +2 -2
  60. package/dist/contracts/client/index.mjs +1 -1
  61. package/dist/contracts/code-execution/index.d.mts +2 -0
  62. package/dist/contracts/code-execution/index.mjs +1 -0
  63. package/dist/contracts/common/index.d.mts +1 -1
  64. package/dist/contracts/config/index.d.mts +1 -1
  65. package/dist/contracts/config/index.mjs +1 -1
  66. package/dist/contracts/extension/index.d.mts +6 -5
  67. package/dist/contracts/extension/index.mjs +1 -1
  68. package/dist/contracts/facet/index.d.mts +1 -1
  69. package/dist/contracts/facet/index.mjs +1 -1
  70. package/dist/contracts/harness/index.d.mts +1 -1
  71. package/dist/contracts/harness/index.mjs +1 -1
  72. package/dist/contracts/host/index.d.mts +1 -1
  73. package/dist/contracts/host/index.mjs +1 -1
  74. package/dist/contracts/index.d.mts +171 -100
  75. package/dist/contracts/index.mjs +1 -1
  76. package/dist/contracts/materialization/index.d.mts +3 -3
  77. package/dist/contracts/materialization/index.mjs +1 -1
  78. package/dist/contracts/model-registry/index.d.mts +1 -1
  79. package/dist/contracts/model-registry/index.mjs +1 -1
  80. package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
  81. package/dist/contracts/native-session-supervisor/index.mjs +1 -1
  82. package/dist/contracts/platform/index.d.mts +1 -1
  83. package/dist/contracts/platform/index.mjs +1 -1
  84. package/dist/contracts/provider/index.d.mts +2 -2
  85. package/dist/contracts/provider/index.mjs +1 -1
  86. package/dist/contracts/reaction/index.d.mts +2 -0
  87. package/dist/contracts/reaction/index.mjs +1 -0
  88. package/dist/contracts/session/index.d.mts +3 -3
  89. package/dist/contracts/session/index.mjs +1 -1
  90. package/dist/contracts/shared/index.d.mts +3 -3
  91. package/dist/contracts/shared/index.mjs +1 -1
  92. package/dist/contracts/skill/index.d.mts +1 -1
  93. package/dist/contracts/skill/index.mjs +1 -1
  94. package/dist/contracts/telemetry/index.d.mts +1 -1
  95. package/dist/contracts/telemetry/index.mjs +1 -1
  96. package/dist/contracts/timeout/index.d.mts +1 -1
  97. package/dist/contracts/timeout/index.mjs +1 -1
  98. package/dist/contracts/toast/index.mjs +1 -1
  99. package/dist/contracts/variant/index.d.mts +1 -1
  100. package/dist/contracts/variant/index.mjs +1 -1
  101. package/dist/contracts/worker-node/index.d.mts +1 -1
  102. package/dist/contracts/worker-node/index.mjs +1 -1
  103. package/dist/contracts/workflow/index.d.mts +3 -3
  104. package/dist/contracts/workflow/index.mjs +1 -1
  105. package/dist/contribution-CUHLVLsT.d.mts +35 -0
  106. package/dist/core/index.d.mts +84 -2
  107. package/dist/core/index.mjs +1 -1
  108. package/dist/{definition-CJfiv8xm.mjs → definition-BH4QLGLI.mjs} +1 -1
  109. package/dist/definition-DyGImhyi.d.mts +375 -0
  110. package/dist/{detached-extension-handle-Ddfquy5_.mjs → detached-extension-handle-D0aI0pJA.mjs} +1 -1
  111. package/dist/drizzle/0031_adapter_session_currency.sql +66 -0
  112. package/dist/drizzle/0032_native_session_ownership.sql +77 -0
  113. package/dist/drizzle/0033_m_msf3hu2s.sql +1 -0
  114. package/dist/drizzle/0034_m_msha1388.sql +41 -0
  115. package/dist/drizzle/0035_m_mshgj6x7.sql +40 -0
  116. package/dist/drizzle/0036_m_msivwbgm.sql +1 -0
  117. package/dist/drizzle/0037_runtime_instance_incarnation_counter.sql +6 -0
  118. package/dist/drizzle/meta/_journal.json +49 -0
  119. package/dist/event-B8ELuk6k.mjs +1 -0
  120. package/dist/{execution-attempt-repository-DWXKY41_.d.mts → execution-attempt-repository-BJ2W6wwx.d.mts} +1 -1
  121. package/dist/{execution-target-Cf645pDj.mjs → execution-target-H0RWV7Py.mjs} +1 -1
  122. package/dist/extension-Bfkr2DBs.mjs +1 -0
  123. package/dist/extension-Cz39YNXy.mjs +1 -0
  124. package/dist/extension-context-QmFuHdq5.d.mts +295 -0
  125. package/dist/{extension-discovery-CQRdbVQ6.d.mts → extension-discovery-Dhu3WplO.d.mts} +11 -1
  126. package/dist/{extension-namespace-Yu41YepM.mjs → extension-namespace-QoTTwKPt.mjs} +1 -1
  127. package/dist/extension-package-provenance-aYrZuS4W.mjs +1 -0
  128. package/dist/{filesystem-service-DlP2HfDg.mjs → filesystem-service-CiUw0YN5.mjs} +1 -1
  129. package/dist/framework-packages-BHgul8Kl.mjs +1 -0
  130. package/dist/git/index.mjs +2 -2
  131. package/dist/{globby-1yCVCk8s.mjs → globby-QBDqstzq.mjs} +1 -1
  132. package/dist/handlers-BsHAFtye.mjs +57 -0
  133. package/dist/{harness-DpwsFsE7.mjs → harness-YQ2ewID9.mjs} +1 -1
  134. package/dist/{hook-responses-Dh1PWXqJ.d.mts → hook-responses-9Ywsqzzq.d.mts} +2 -293
  135. package/dist/identity-OjRlG6dZ.mjs +1 -0
  136. package/dist/{index-CMgLxw14.d.mts → index-8NdPPzUh2.d.mts} +2 -2
  137. package/dist/{index-Ds5_rDEJ.d.mts → index-8y4hT9WL.d.mts} +1 -12
  138. package/dist/{index-BVlXneHH.d.mts → index-B-3I98nw.d.mts} +14 -10
  139. package/dist/index-B0VO0rAl.d.mts +302 -0
  140. package/dist/{index-gUhidukN.d.mts → index-B0yMCJW8.d.mts} +324 -2
  141. package/dist/index-BM56936c.d.mts +165 -0
  142. package/dist/{index-CLvQsL6s2.d.mts → index-BNzUyVwV.d.mts} +2105 -320
  143. package/dist/{index-BaZeoZoS.d.mts → index-BTEJfzjE.d.mts} +1 -1
  144. package/dist/{index-B0Kf_OWi.d.mts → index-BfV8U4XX.d.mts} +1 -1
  145. package/dist/{index-DCZ8BX9S.d.mts → index-BkbnC65b.d.mts} +487 -85
  146. package/dist/{index-GHASUiem.d.mts → index-BmevAPME2.d.mts} +1 -1
  147. package/dist/index-Bqk0pJBQ2.d.mts +138 -0
  148. package/dist/{index-B9UW_vPM.d.mts → index-C146Eq_J.d.mts} +2465 -273
  149. package/dist/{index-BAXkicoQ.d.mts → index-CIEycZrt.d.mts} +1 -1
  150. package/dist/{index-DkiTJM5p.d.mts → index-CMekqu_D.d.mts} +44 -10
  151. package/dist/{index-SsBHjUqA.d.mts → index-CPRQ4dWX.d.mts} +0 -23
  152. package/dist/{index-EjsSBQXy2.d.mts → index-CPi0UpRh.d.mts} +1 -1
  153. package/dist/{index-DSBT83c0.d.mts → index-CYjgoYeX.d.mts} +24 -3
  154. package/dist/{index-DnG-QFpG.d.mts → index-CmwAJ8-5.d.mts} +18 -1
  155. package/dist/index-Cny5RvjO.d.mts +800 -0
  156. package/dist/{index-BNMnIe-j.d.mts → index-D-4jv_66.d.mts} +434 -863
  157. package/dist/{index-brqfk9JQ.d.mts → index-D8D-yibS2.d.mts} +4 -4
  158. package/dist/index-DHnSLGP4.d.mts +268 -0
  159. package/dist/{index-D5Nb7IEP.d.mts → index-DI2lS7VT.d.mts} +79 -41
  160. package/dist/{index-D_ODXsBv.d.mts → index-DJ2KgJDJ2.d.mts} +51 -95
  161. package/dist/{index-cqLS1eFV.d.mts → index-DNI6UF9h.d.mts} +133 -134
  162. package/dist/index-DQ8o3JGi.d.mts +132 -0
  163. package/dist/index-DWBkiiXH.d.mts +18 -0
  164. package/dist/{index-DlsHL9Jg.d.mts → index-DXtQRehh.d.mts} +12 -12
  165. package/dist/{index-4VfqCjl2.d.mts → index-D_4K3Tf_.d.mts} +79 -194
  166. package/dist/index-Dg11JxKZ.d.mts +496 -0
  167. package/dist/json-value-BBZ6uGwc.mjs +1 -0
  168. package/dist/json-value-DPqb-SJ8.d.mts +177 -0
  169. package/dist/kernel/cli/index.d.mts +2 -2
  170. package/dist/kernel/cli/index.mjs +1 -1
  171. package/dist/kernel/cli/register.d.mts +1 -1
  172. package/dist/kernel/cli/register.mjs +1 -1
  173. package/dist/kernel/cli/schemas.mjs +1 -1
  174. package/dist/kernel/extension/index.d.mts +1 -1
  175. package/dist/kernel/extension/index.mjs +1 -1
  176. package/dist/kernel/index.d.mts +9 -9
  177. package/dist/kernel/index.mjs +1 -1
  178. package/dist/kernel/namespace/index.d.mts +2 -2
  179. package/dist/kernel/namespace/index.mjs +1 -1
  180. package/dist/kernel/observability/index.d.mts +1 -1
  181. package/dist/kernel/observability/index.mjs +1 -1
  182. package/dist/kernel/providers/index.d.mts +1 -1
  183. package/dist/kernel/providers/index.mjs +1 -1
  184. package/dist/kernel/window/index.d.mts +1 -1
  185. package/dist/kernel/window/index.mjs +1 -1
  186. package/dist/{lib-DErgth_E.mjs → lib-BpGvHZye.mjs} +2 -2
  187. package/dist/{lib-C7-s68uf.mjs → lib-Cm-uEoC1.mjs} +1 -1
  188. package/dist/{load-extensions-BxsDB87B.d.mts → load-extensions-BQoXaHhR.d.mts} +17 -13
  189. package/dist/load-extensions-DG5LvPyM.mjs +1 -0
  190. package/dist/{materialization-Jd198K3y.mjs → materialization-lVd9_-jr.mjs} +1 -1
  191. package/dist/mcp-http-server/index.mjs +1 -1
  192. package/dist/model-DrzPt3ou.mjs +1 -0
  193. package/dist/{namespace-BqxtpNAn.mjs → namespace-BL7lHlmg.mjs} +1 -1
  194. package/dist/{namespace-CjjFvrIA2.d.mts → namespace-BNp7n_gu.d.mts} +25 -25
  195. package/dist/{namespace-g_mbIZq_.d.mts → namespace-BRuHzhPo.d.mts} +564 -28
  196. package/dist/{namespace-DV-Hr9sZ.d.mts → namespace-C06lJSuj.d.mts} +17 -7
  197. package/dist/{namespace-TseEI3Pu.d.mts → namespace-DOezqDti.d.mts} +18 -10
  198. package/dist/{namespace-CErHuXtb.d.mts → namespace-DknCutQZ.d.mts} +50 -0
  199. package/dist/{namespace-B8uKAzWJ.mjs → namespace-Du0accdE.mjs} +1 -1
  200. package/dist/{namespace-CWUDFGOy.mjs → namespace-NXm_zvL1.mjs} +1 -1
  201. package/dist/{namespace-CupOzbRv.d.mts → namespace-l-HG1rLF.d.mts} +24 -20
  202. package/dist/namespace-sCPb79-7.mjs +1 -0
  203. package/dist/{native-session-supervisor-DRx0MX-d.mjs → native-session-supervisor-LKio8XZn.mjs} +1 -1
  204. package/dist/node/bus-server/index.d.mts +1 -1
  205. package/dist/node/bus-server/index.mjs +1 -1
  206. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  207. package/dist/node/bus-server/server-lifecycle.mjs +1 -1
  208. package/dist/npm-package-name-DuTYVICk.mjs +1 -0
  209. package/dist/orchestrator-shared-BGlN-m-V.mjs +1 -0
  210. package/dist/{orchestrator-shared-BHCv-l2O.d.mts → orchestrator-shared-CNHSImNY.d.mts} +10 -10
  211. package/dist/ownership-memory-handler-BpGdR_uG.mjs +1 -0
  212. package/dist/ownership-recovery-guard-DyW5vGBr.mjs +1 -0
  213. package/dist/package-B01gmu75.mjs +7 -0
  214. package/dist/{package-DWMxGfzK.d.mts → package-BNFTUFLB.d.mts} +234 -84
  215. package/dist/package-DttKA9wN.mjs +1 -0
  216. package/dist/package-EGTn-Ng1.mjs +1 -0
  217. package/dist/package-JtjbO-Oi.mjs +1 -0
  218. package/dist/package.json +1 -1
  219. package/dist/{profile-BTAI31Nt.mjs → profile-N5qGUpF0.mjs} +1 -1
  220. package/dist/{provider-context-PZIQWcqQ.mjs → provider-context-CG42JlP9.mjs} +1 -1
  221. package/dist/{provider-context-Dq53Cgzz.mjs → provider-context-zTDSH2x9.mjs} +1 -1
  222. package/dist/reaction-D3TNwPK8.mjs +1 -0
  223. package/dist/{registry-wfF2uTty.mjs → registry-Dk12tAfv.mjs} +2 -2
  224. package/dist/{resolved-DZgqql2Z.mjs → resolved-sq8RXNDf.mjs} +1 -1
  225. package/dist/rules/index.d.mts +1 -1
  226. package/dist/rules/index.mjs +1 -1
  227. package/dist/rules/schemas.d.mts +1 -1
  228. package/dist/rules/schemas.mjs +1 -1
  229. package/dist/runtime-bun/index.mjs +1 -1
  230. package/dist/runtime-node/code-execution/index.d.mts +3 -0
  231. package/dist/runtime-node/code-execution/index.mjs +1 -0
  232. package/dist/runtime-node/extension-discovery.d.mts +2 -2
  233. package/dist/runtime-node/extension-discovery.mjs +1 -1
  234. package/dist/runtime-node/extension-validation.d.mts +1 -1
  235. package/dist/runtime-node/extension-validation.mjs +1 -1
  236. package/dist/runtime-node/index.d.mts +7 -5
  237. package/dist/runtime-node/index.mjs +24 -24
  238. package/dist/runtime-node/makaio-config.d.mts +1 -1
  239. package/dist/runtime-node/makaio-config.mjs +1 -1
  240. package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
  241. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  242. package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -1
  243. package/dist/{schema-DKUb4rkr.d.mts → schema-B3Pf7JP7.d.mts} +778 -21
  244. package/dist/{schema-Dd-e89MO.mjs → schema-Dq-7si8u.mjs} +1 -1
  245. package/dist/{schemas-B1NWNASS.d.mts → schemas-BXc9qOpl.d.mts} +2 -0
  246. package/dist/schemas-BfO5jkrL.mjs +1 -0
  247. package/dist/{schemas-CR8hSqTy.d.mts → schemas-C1mxTfd7.d.mts} +60 -4
  248. package/dist/schemas-C3kyQWGf.mjs +1 -0
  249. package/dist/{schemas-DnYiAvfz.d.mts → schemas-D7ScxLrf.d.mts} +24 -20
  250. package/dist/{schemas-BsVYZviy.d.mts → schemas-OWvBn7AH.d.mts} +4 -4
  251. package/dist/{schemas-DaHQzpgm.mjs → schemas-QWDnauKX.mjs} +1 -1
  252. package/dist/schemas-TK29KWx-.mjs +1 -0
  253. package/dist/schemas-_2Syo_01.mjs +1 -0
  254. package/dist/scoped-bus-DoPmCJeM.mjs +1 -0
  255. package/dist/{selection-BNwTKEVT.mjs → selection-DL3ric7K.mjs} +1 -1
  256. package/dist/services/adapter-runtime/index.d.mts +4 -4
  257. package/dist/services/adapter-runtime/index.mjs +1 -1
  258. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  259. package/dist/services/adapter-runtime/schemas.d.mts +2 -2
  260. package/dist/services/adapter-runtime/schemas.mjs +1 -1
  261. package/dist/services/adapter-subsystem/index.d.mts +4 -4
  262. package/dist/services/adapter-subsystem/index.mjs +1 -1
  263. package/dist/services/adapter-subsystem/namespace.d.mts +2 -2
  264. package/dist/services/adapter-subsystem/namespace.mjs +1 -1
  265. package/dist/services/agent-runtime/index.d.mts +2 -2
  266. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  267. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  268. package/dist/services/automation-trigger/index.d.mts +943 -0
  269. package/dist/services/automation-trigger/index.mjs +1 -0
  270. package/dist/services/capability/index.d.mts +3 -2
  271. package/dist/services/capability/index.mjs +1 -1
  272. package/dist/services/code-execution/index.d.mts +2 -0
  273. package/dist/services/code-execution/index.mjs +1 -0
  274. package/dist/services/codebase/index.d.mts +2 -2
  275. package/dist/services/codebase/namespace.d.mts +1 -1
  276. package/dist/services/codebase/schemas.d.mts +1 -1
  277. package/dist/services/compression/index.d.mts +2 -2
  278. package/dist/services/compression/namespace.d.mts +1 -1
  279. package/dist/services/compression/schemas.d.mts +1 -1
  280. package/dist/services/context-rules/index.d.mts +1 -1
  281. package/dist/services/context-rules/index.mjs +1 -1
  282. package/dist/services/execution-target/index.d.mts +3 -3
  283. package/dist/services/execution-target/index.mjs +1 -1
  284. package/dist/services/execution-target/namespace.d.mts +1 -1
  285. package/dist/services/execution-target/namespace.mjs +1 -1
  286. package/dist/services/execution-target/schemas.d.mts +1 -1
  287. package/dist/services/execution-target/schemas.mjs +1 -1
  288. package/dist/services/filesystem/index.d.mts +1 -1
  289. package/dist/services/filesystem/index.mjs +1 -1
  290. package/dist/services/filesystem/namespace.d.mts +6 -6
  291. package/dist/services/filesystem/schemas.d.mts +3 -3
  292. package/dist/services/git/namespace.d.mts +18 -0
  293. package/dist/services/git/namespace.mjs +1 -1
  294. package/dist/services/git/schemas.d.mts +10 -1
  295. package/dist/services/git/schemas.mjs +1 -1
  296. package/dist/services/harness/index.mjs +1 -1
  297. package/dist/services/index.d.mts +567 -101
  298. package/dist/services/index.mjs +1 -1
  299. package/dist/services/log-import/browser.d.mts +2 -2
  300. package/dist/services/log-import/index.d.mts +3 -3
  301. package/dist/services/log-import/log-import.d.mts +1 -1
  302. package/dist/services/log-import/log-import.mjs +1 -1
  303. package/dist/services/log-import/namespace.mjs +1 -1
  304. package/dist/services/log-import/schemas.mjs +1 -1
  305. package/dist/services/materialization/index.d.mts +1 -1
  306. package/dist/services/materialization/index.mjs +1 -1
  307. package/dist/services/model-registry/index.d.mts +1 -1
  308. package/dist/services/model-registry/index.mjs +1 -1
  309. package/dist/services/preferences/index.d.mts +2 -2
  310. package/dist/services/preferences/schemas.d.mts +1 -1
  311. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  312. package/dist/services/provider-context/index.d.mts +1 -1
  313. package/dist/services/provider-context/index.mjs +1 -1
  314. package/dist/services/provider-runtime/index.mjs +1 -1
  315. package/dist/services/session/handlers/index.d.mts +2 -2
  316. package/dist/services/session/handlers/index.mjs +1 -1
  317. package/dist/services/session/index.d.mts +10 -10
  318. package/dist/services/session/index.mjs +1 -1
  319. package/dist/services/session/messages/namespace.d.mts +1 -1
  320. package/dist/services/session/messages/namespace.mjs +1 -1
  321. package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
  322. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  323. package/dist/services/session/session-events/namespace.d.mts +1 -1
  324. package/dist/services/session/session-events/namespace.mjs +1 -1
  325. package/dist/services/session/storage/namespace.d.mts +1 -1
  326. package/dist/services/session/storage/schema.d.mts +2 -2
  327. package/dist/services/session/storage/schema.mjs +1 -1
  328. package/dist/services/session/testing/index.d.mts +33 -4
  329. package/dist/services/session/testing/index.mjs +68 -12
  330. package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
  331. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  332. package/dist/services/session/turns/namespace.d.mts +1 -1
  333. package/dist/services/session/turns/namespace.mjs +1 -1
  334. package/dist/services/session-editor/index.d.mts +1 -1
  335. package/dist/services/session-editor/index.mjs +1 -1
  336. package/dist/services/settings/index.d.mts +3 -3
  337. package/dist/services/settings/index.mjs +1 -1
  338. package/dist/services/settings/namespace.mjs +1 -1
  339. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  340. package/dist/services/settings/storage/clients-namespace.mjs +1 -1
  341. package/dist/services/settings/storage/index.d.mts +3 -3
  342. package/dist/services/settings/storage/index.mjs +1 -1
  343. package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
  344. package/dist/services/settings/storage/providers-namespace.mjs +1 -1
  345. package/dist/services/subagent/index.d.mts +1 -1
  346. package/dist/services/subagent/index.mjs +1 -1
  347. package/dist/services/subagent-template/index.d.mts +2 -2
  348. package/dist/services/subagent-template/namespace.d.mts +1 -1
  349. package/dist/services/subagent-template/schemas.d.mts +1 -1
  350. package/dist/services/tool-approval/index.d.mts +1 -1
  351. package/dist/services/tool-approval/index.mjs +1 -1
  352. package/dist/services/tools/index.d.mts +1 -1
  353. package/dist/services/tools/index.mjs +1 -1
  354. package/dist/services/tray-menu/index.d.mts +3 -3
  355. package/dist/services/tray-menu/index.mjs +1 -1
  356. package/dist/services/tray-menu/namespace.d.mts +1 -1
  357. package/dist/services/tray-menu/schemas.d.mts +1 -1
  358. package/dist/services/turn/index.d.mts +1 -1
  359. package/dist/services/turn/namespace.d.mts +1 -1
  360. package/dist/services/workflow-transitions/index.d.mts +1 -1
  361. package/dist/services/workflow-transitions/index.mjs +1 -1
  362. package/dist/session-BOpTI79g.mjs +1 -0
  363. package/dist/session-CXOPk3yg.mjs +95 -0
  364. package/dist/shared-B9AWRm9A.mjs +1 -0
  365. package/dist/{skill-BR6rkfLe.mjs → skill-DGNtc_ww.mjs} +1 -1
  366. package/dist/{src-DD0v-nIj.mjs → src-BmSQ3rlz.mjs} +1 -1
  367. package/dist/storage/drizzle/client.d.mts +1 -1
  368. package/dist/storage/drizzle/client.mjs +1 -1
  369. package/dist/storage/drizzle/index.d.mts +81 -2
  370. package/dist/storage/drizzle/index.mjs +1 -1
  371. package/dist/storage/handlers/drizzle/index.d.mts +1 -1
  372. package/dist/storage/handlers/drizzle/index.mjs +1 -1
  373. package/dist/storage/handlers/index.d.mts +1 -1
  374. package/dist/storage/handlers/index.mjs +1 -1
  375. package/dist/tool-approval-service-BFDOFUGC.mjs +1 -0
  376. package/dist/{tools-PdG9fO1M.mjs → tools-DWKWX3eV.mjs} +1 -1
  377. package/dist/{transition-Du3MQzJV.d.mts → transition-D3zUBTPc.d.mts} +11 -38
  378. package/dist/{types-D7_kevBK.d.mts → types-BlB23n4f.d.mts} +1 -1
  379. package/dist/{types-DMLDHFR9.d.mts → types-CtDGkyLx2.d.mts} +1 -1
  380. package/dist/types-Cwza95hS.mjs +1 -0
  381. package/dist/{types-Dzrwa1GY.d.mts → types-DcxBYlPA.d.mts} +5834 -1436
  382. package/dist/types-DnK6Wa_Y.d.mts +260 -0
  383. package/dist/types-OKJCOjme.d.mts +2937 -0
  384. package/dist/ui-hooks/index.d.mts +29 -2
  385. package/dist/ui-hooks/index.mjs +1 -1
  386. package/dist/ui-kernel/index.d.mts +2 -2
  387. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  388. package/dist/ui-views/index.d.mts +1 -1
  389. package/dist/utils/index.d.mts +98 -1
  390. package/dist/utils/index.mjs +2 -2
  391. package/dist/utils/project-manifest.mjs +1 -1
  392. package/dist/{version-CoCeMxDT.mjs → version-BYeVh1pI.mjs} +1 -1
  393. package/dist/{view-builder-DeFd-k7C.d.mts → view-builder-B0j9p5C0.d.mts} +4 -4
  394. package/dist/{visibility-qhGWmpSJ.mjs → visibility-DtDLRBdr.mjs} +1 -1
  395. package/dist/worker-node-CjuQb9hl.mjs +1 -0
  396. package/dist/{worker-node-DZTuT1DS.mjs → worker-node-Dtf9ilsR.mjs} +1 -1
  397. package/dist/workflow-C4mck_NW.mjs +1 -0
  398. package/dist/workflow-engine/execution-attempt-repository.d.mts +1 -1
  399. package/dist/workflow-engine/index.d.mts +237 -518
  400. package/dist/workflow-engine/index.mjs +1 -1
  401. package/dist/workflow-engine/package.d.mts +1 -1
  402. package/dist/workflow-engine/package.mjs +1 -1
  403. package/dist/workflow-engine/provider-operation.d.mts +1 -1
  404. package/dist/workflow-engine/testing/index.d.mts +2 -2
  405. package/dist/workflow-engine/testing/index.mjs +1 -1
  406. package/dist/workflow-engine/testing/sqlite.d.mts +1 -1
  407. package/dist/workflow-engine/testing/sqlite.mjs +27 -27
  408. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  409. package/dist/workflow-engine/workflow-trigger-binding-consumer.d.mts +46 -0
  410. package/dist/workflow-engine/workflow-trigger-binding-consumer.mjs +1 -0
  411. package/dist/{workflow-transitions-DSc45ixc.mjs → workflow-transitions-c_VQbyV0.mjs} +1 -1
  412. package/dist/workflow-worker-aNbdgqml.mjs +1 -0
  413. package/dist/zod-json-schema-Dixc-B1T.mjs +1 -0
  414. package/package.json +46 -1
  415. package/dist/adapter-D5c5LrPN.mjs +0 -1
  416. package/dist/artifact-DGiXqb11.mjs +0 -1
  417. package/dist/attach-error-C3tngg6J.mjs +0 -1
  418. package/dist/authority-state-bootstrap-GPL_tqaT.mjs +0 -1
  419. package/dist/await-trigger-I3lrepb8.mjs +0 -1
  420. package/dist/bus-B6SAjgOC.mjs +0 -2
  421. package/dist/bus-C2l3K74u.mjs +0 -1
  422. package/dist/capabilities-BQEp34ir.mjs +0 -1
  423. package/dist/capability-service-BqiLlRGA.mjs +0 -1
  424. package/dist/event-CmVjR6Ib.mjs +0 -1
  425. package/dist/extension-DCA4pYrY.mjs +0 -1
  426. package/dist/extension-hjOPs10e.mjs +0 -1
  427. package/dist/framework-packages-C3RWfJDk.mjs +0 -1
  428. package/dist/handlers-CfnLyLfE.mjs +0 -57
  429. package/dist/identity-D6guMtmi.mjs +0 -1
  430. package/dist/index-CRvpVIqA.d.mts +0 -89
  431. package/dist/json-value-Brslhqbm.d.mts +0 -57
  432. package/dist/json-value-DmU8ibo_.mjs +0 -1
  433. package/dist/load-extensions-D0DfjYLC.mjs +0 -1
  434. package/dist/model-BGgVmRnN.mjs +0 -1
  435. package/dist/namespace-DJfUADSV.mjs +0 -1
  436. package/dist/orchestrator-shared-BxmHCPvx.mjs +0 -1
  437. package/dist/package-CNUPPcU1.mjs +0 -7
  438. package/dist/package-Dft_RItb.mjs +0 -1
  439. package/dist/schemas-CRB2O5zo.mjs +0 -1
  440. package/dist/schemas-Cm09dXL4.mjs +0 -1
  441. package/dist/schemas-tDf_WiC8.mjs +0 -1
  442. package/dist/scoped-bus-C9BdNwfM.mjs +0 -1
  443. package/dist/session-BOGCd18q.mjs +0 -1
  444. package/dist/session-BTFiDoGz.mjs +0 -76
  445. package/dist/shared-BQ0CHIVy.mjs +0 -1
  446. package/dist/tool-approval-service-kBA0fRzm.mjs +0 -1
  447. package/dist/types-CJ_QZ1yW.d.mts +0 -1487
  448. package/dist/worker-node-Bl9_vqYi.mjs +0 -1
  449. package/dist/workflow-BfDbgtIQ.mjs +0 -1
  450. package/dist/workflow-worker-BN9XPxQO.mjs +0 -1
  451. package/dist/{adapter-auth-runtime-DO-FVTXg.mjs → adapter-auth-runtime-DHHppU4f.mjs} +0 -0
  452. package/dist/{adapter-binding-DQchUtrK.d.mts → adapter-binding-CATvmGuz.d.mts} +0 -0
  453. package/dist/{attempt-record-codec-CqO1_XnE.mjs → attempt-record-codec-BYfYkj4M.mjs} +0 -0
  454. package/dist/{base-orchestrator-BilsQNW1.d.mts → base-orchestrator-B4YW6z_Q.d.mts} +0 -0
  455. package/dist/{index-DN4NOCqN2.d.mts → capability-service-BW1-teFU.d.mts} +0 -0
  456. package/dist/{client-B--e2qcU.d.mts → client-BG0WX5Vz.d.mts} +0 -0
  457. package/dist/{client-binary-version-verifier-taewmKTY.mjs → client-binary-version-verifier-0lCKZOTg.mjs} +0 -0
  458. package/dist/{client-binary-version-verifier-CgjM_vGF.d.mts → client-binary-version-verifier-lcv83Hq3.d.mts} +0 -0
  459. package/dist/{clients-namespace-DfxjG2ZP.d.mts → clients-namespace-DLAjOTTb.d.mts} +0 -0
  460. package/dist/{config-namespace-BCqvufbD.d.mts → config-namespace-CH7sJZ4f.d.mts} +0 -0
  461. package/dist/{create-static-mount-bbQhTt6W.mjs → create-static-mount-DxuixuLZ.mjs} +0 -0
  462. package/dist/{cross-spawn-B57KZuns.mjs → cross-spawn-CZygZJMH.mjs} +0 -0
  463. package/dist/{cursor-storage-DIFK_9hg.mjs → cursor-storage-bsc9lZKk.mjs} +0 -0
  464. package/dist/{definition-gnKgXU91.d.mts → definition-BrgzUuFk.d.mts} +0 -0
  465. package/dist/{definitions-xrrY0wgz.mjs → definitions-CRpdnHYM.mjs} +0 -0
  466. package/dist/{descriptor-to-package-DvF08krT.mjs → descriptor-to-package-CcjdoWP4.mjs} +0 -0
  467. package/dist/{drizzle-z_0SiGY8.mjs → drizzle-Bzc-OGVI.mjs} +0 -0
  468. package/dist/{esm-CltRnX8_.mjs → esm-i-S5TW72.mjs} +0 -0
  469. package/dist/{facet-BCI00njh.mjs → facet-BnMh7Jyc.mjs} +0 -0
  470. package/dist/{filesystem-service-CQ9yVkSz.d.mts → filesystem-service-ZJ43SbBi.d.mts} +0 -0
  471. package/dist/{handler-Cbv9FqDO.mjs → handler-DF1fVDpf.mjs} +0 -0
  472. package/dist/{host-Caq6ZfSJ.mjs → host-B-_ntOMH.mjs} +0 -0
  473. package/dist/{index-ye0oklfU.d.mts → index-B2Y1Wvbh.d.mts} +0 -0
  474. package/dist/{index-Cv-o5Krs.d.mts → index-B4svZC6L.d.mts} +0 -0
  475. package/dist/{index-DZunhZec.d.mts → index-B5dP8rj6.d.mts} +0 -0
  476. package/dist/{index-jTaAHsul.d.mts → index-BC-6qNeo.d.mts} +0 -0
  477. package/dist/{index-ByKi34v5.d.mts → index-BFWvT0NG.d.mts} +0 -0
  478. package/dist/{index-vA--0lOM.d.mts → index-BMRB9yhF.d.mts} +0 -0
  479. package/dist/{index-BskPjMet.d.mts → index-BuMsrli0.d.mts} +0 -0
  480. package/dist/{index-DR40QWlw.d.mts → index-C4V8Pmi4.d.mts} +0 -0
  481. package/dist/{index-BIdsFcQs2.d.mts → index-CL0Jo1b92.d.mts} +0 -0
  482. package/dist/{index-CjdRdsd0.d.mts → index-CVpaGijY.d.mts} +0 -0
  483. package/dist/{index-vcSj12YQ.d.mts → index-CmbkCxj-.d.mts} +0 -0
  484. package/dist/{index-sS6KUlrx.d.mts → index-CqdMbYmR.d.mts} +0 -0
  485. package/dist/{index-CnMu8BQl.d.mts → index-D037TVsm.d.mts} +0 -0
  486. package/dist/{index-CGZQVTid.d.mts → index-DgspOUa72.d.mts} +0 -0
  487. package/dist/{index-dtsLKOID.d.mts → index-Ek4y8M9J2.d.mts} +0 -0
  488. package/dist/{index-DjgLchuQ.d.mts → index-VzLAV0Yt.d.mts} +0 -0
  489. package/dist/{index-DXN_L5D6.d.mts → index-jxPncqWZ2.d.mts} +0 -0
  490. package/dist/{index-BVRQEpAg.d.mts → index-kzIjbrS02.d.mts} +6 -6
  491. /package/dist/{index-Dm1nUxCF.d.mts → index-l01zsChf.d.mts} +0 -0
  492. /package/dist/{index-CWHfOz6d.d.mts → index-pvX-BIpr2.d.mts} +0 -0
  493. /package/dist/{jsonl-transport-bQl3JwIu.mjs → jsonl-transport-Cyyh5Wje.mjs} +0 -0
  494. /package/dist/{lib-DOBXZmYX.mjs → lib-BqV8hYtk.mjs} +0 -0
  495. /package/dist/{model-registry-xyBKSye-.mjs → model-registry-C9rFu3kV.mjs} +0 -0
  496. /package/dist/{model-registry-CmgcPDH3.mjs → model-registry-Cixxx2jv.mjs} +0 -0
  497. /package/dist/{modes-BheyN7SS.mjs → modes-DwsJ3yVl.mjs} +0 -0
  498. /package/dist/{namespace-BOkKoq34.d.mts → namespace-B0ftHlK3.d.mts} +0 -0
  499. /package/dist/{namespace-YytVKIgI.d.mts → namespace-BGRHcrmp.d.mts} +0 -0
  500. /package/dist/{namespace-jDhZjw-i.d.mts → namespace-BUYDmd0r.d.mts} +0 -0
  501. /package/dist/{namespace-YxU1xf-K.mjs → namespace-BW3Bfu9h.mjs} +0 -0
  502. /package/dist/{namespace-DWCEo-9M.d.mts → namespace-BdAK0lD8.d.mts} +0 -0
  503. /package/dist/{namespace-Cv1RFP7n.d.mts → namespace-CPG6u60N.d.mts} +0 -0
  504. /package/dist/{namespace-GPA7zots.d.mts → namespace-CVFaZv8x.d.mts} +0 -0
  505. /package/dist/{namespace-Blp4c8GK.d.mts → namespace-DBO1OzYB.d.mts} +0 -0
  506. /package/dist/{namespace-C-9si-fV.mjs → namespace-DiwqpB-c.mjs} +0 -0
  507. /package/dist/{namespace-tGRAod3o.d.mts → namespace-DqZweTbX.d.mts} +0 -0
  508. /package/dist/{namespace-HO2J9sO8.mjs → namespace-jVTsuZHX.mjs} +0 -0
  509. /package/dist/{namespace-CWGKCNZm.mjs → namespace-tjoxekmf.mjs} +0 -0
  510. /package/dist/{out-CvjtANXN.mjs → out-8bOYN6EF.mjs} +0 -0
  511. /package/dist/{packages-DtEEP0Vt.mjs → packages-Bp124-gx.mjs} +0 -0
  512. /package/dist/{packages-BZ6pzFIq.d.mts → packages-CxPMEg8D.d.mts} +0 -0
  513. /package/dist/{platform-Bv8llU9c.mjs → platform-CxyYPrkf.mjs} +0 -0
  514. /package/dist/{provider-operation-Cxoe2SUr.d.mts → provider-operation-DbdyFwNm.d.mts} +0 -0
  515. /package/dist/{providers-Co5UszRH.mjs → providers-C-eekMxD.mjs} +0 -0
  516. /package/dist/{providers-namespace-DjFkmvBR.d.mts → providers-namespace-CfZKp-C0.d.mts} +0 -0
  517. /package/dist/{quick-lru-CrOpWwrf.mjs → quick-lru-CCEnf7y6.mjs} +0 -0
  518. /package/dist/{schema-Db-y-09L.mjs → schema-C0opCPww.mjs} +0 -0
  519. /package/dist/{schema-introspection-DgWQCpwx.mjs → schema-introspection-6-r_KEJQ.mjs} +0 -0
  520. /package/dist/{schemas-N6x2z7Lf.d.mts → schemas-B50oWBuj.d.mts} +0 -0
  521. /package/dist/{schemas-BO7uOum6.d.mts → schemas-B6Q-qdmn.d.mts} +0 -0
  522. /package/dist/{schemas-BGExwp3j.mjs → schemas-B8hKbBwI.mjs} +0 -0
  523. /package/dist/{schemas-miYxK_Z1.d.mts → schemas-BGvkTiCx.d.mts} +0 -0
  524. /package/dist/{schemas-CqRm0i9a.mjs → schemas-BivbWRkG.mjs} +0 -0
  525. /package/dist/{schemas-CwbYk_kZ.d.mts → schemas-ChmQldVH.d.mts} +0 -0
  526. /package/dist/{schemas-DrVg4aQQ.d.mts → schemas-Dd13TMgU.d.mts} +0 -0
  527. /package/dist/{schemas-BtZqovRH.d.mts → schemas-Pe892GgN.d.mts} +0 -0
  528. /package/dist/{schemas-CQyRBqD6.d.mts → schemas-bfZNpl0B.d.mts} +0 -0
  529. /package/dist/{schemas-Bfxskx_2.mjs → schemas-scyC2tFF.mjs} +0 -0
  530. /package/dist/{semver-DlM8znk4.mjs → semver-BI7kTNsY.mjs} +0 -0
  531. /package/dist/{server-lifecycle-kmQ5PUDv.mjs → server-lifecycle-B_OZnoe-.mjs} +0 -0
  532. /package/dist/{server-lifecycle-Dsq56aqC.d.mts → server-lifecycle-L8zja8t8.d.mts} +0 -0
  533. /package/dist/{session-lineage-B_JW5LpF.d.mts → session-lineage-bUkd3fqx.d.mts} +0 -0
  534. /package/dist/{shared-schemas-DXwyMCwZ.mjs → shared-schemas-CQ6blrEW.mjs} +0 -0
  535. /package/dist/{src-CCu8TwL6.mjs → src-BacfeiI4.mjs} +0 -0
  536. /package/dist/{storage-namespace-BSrv0vXR.mjs → storage-namespace-BZce8kkW.mjs} +0 -0
  537. /package/dist/{storage-namespace-dfywhXR3.d.mts → storage-namespace-YmE8XCCL.d.mts} +0 -0
  538. /package/dist/{storage-namespace-definition-BvlX0QV_.d.mts → storage-namespace-definition-BsnYAPot.d.mts} +0 -0
  539. /package/dist/{storage-namespace-definition-CkMKt7-I.mjs → storage-namespace-definition-Cca-zwXU.mjs} +0 -0
  540. /package/dist/{supports-color-DUugCQsK.mjs → supports-color-SV_FgSN2.mjs} +0 -0
  541. /package/dist/{telemetry-Pr3oP2rk.mjs → telemetry-BqoC87F-.mjs} +0 -0
  542. /package/dist/{timeout-DWDhddRJ.mjs → timeout-DVlN2Zhy.mjs} +0 -0
  543. /package/dist/{tray-menu-service-BBLa-Rcv.mjs → tray-menu-service-eVVxgPLc.mjs} +0 -0
  544. /package/dist/{types-BrcjaNPZ.d.mts → types-DdpSEmTO.d.mts} +0 -0
  545. /package/dist/{types-b54n1o57.d.mts → types-tyv0B605.d.mts} +0 -0
  546. /package/dist/{ui-config-CyCdlns_.mjs → ui-config-B35GloSX.mjs} +0 -0
  547. /package/dist/{variant-krjlTdJt.mjs → variant-Dwnge3J_.mjs} +0 -0
  548. /package/dist/{window-registry-I-imZHV_.mjs → window-registry-CKiMJjId.mjs} +0 -0
  549. /package/dist/{window-registry-BDnZLPVx.d.mts → window-registry-Pcf35cac.d.mts} +0 -0
@@ -3,8 +3,8 @@ import { ComponentType, JSX, ReactNode } from "react";
3
3
  import { PreferenceKey } from "@makaio/framework/services/preferences";
4
4
  import { AdapterInfo, ComponentLike, NavigationGroupConfig, OnboardingContext, OnboardingStepDefinition as OnboardingStepDefinition$1, OnboardingStepProps as OnboardingStepProps$1, PageComponentProps, PageDefinition, PageDefinitionQueryOptions, RuntimeReadyWaiter, WidgetDefinition, WidgetLayout, WidgetScope } from "@makaio/framework/ui-kernel";
5
5
  import { ExtensionInfo } from "@makaio/framework/kernel";
6
+ import { AIModel, AgentSelection, AutomationTriggerDescriptor, ModelFilterMode, ModelVisibility, UiContextSnapshot, UiRuntimeNavigationLevel, UiScope } from "@makaio/framework/contracts";
6
7
  import { IMakaioBus } from "@makaio/framework/bus";
7
- import { AIModel, AgentSelection, ModelFilterMode, ModelVisibility, UiContextSnapshot, UiRuntimeNavigationLevel, UiScope } from "@makaio/framework/contracts";
8
8
  import { BindingRecord, CompatibleAuthOption, ProviderConfigFileRecord } from "@makaio/framework/services/adapter-subsystem";
9
9
  import { LogImportMode } from "@makaio/framework/services/log-import/log-import";
10
10
  import { AuthMethodRef, ClientAuthMethodRef, NativeAccountSelection, ProviderConfigAuth } from "@makaio/framework/contracts/auth";
@@ -1215,6 +1215,33 @@ declare function usePageComponent(pageId: string | null, reloadKey?: number): {
1215
1215
  definition: PageDefinition;
1216
1216
  } | undefined;
1217
1217
  //#endregion
1218
+ //#region ui/hooks/src/workflow/useAutomationTriggerTypes.d.ts
1219
+ /**
1220
+ * Result of {@link useAutomationTriggerTypes}.
1221
+ *
1222
+ * Mirrors {@link UseBusQueryResult} but narrows `data` to the descriptor array,
1223
+ * so callers never reach through the RPC envelope.
1224
+ */
1225
+ type UseAutomationTriggerTypesResult = UseBusQueryResult<readonly AutomationTriggerDescriptor[]>;
1226
+ /**
1227
+ * Query the registered automation trigger descriptors.
1228
+ *
1229
+ * The descriptors are the only serializable projection of the live trigger
1230
+ * registry, so the Builder catalog is derived from executable triggers rather
1231
+ * than from a parallel declarative catalog that could drift.
1232
+ * @returns Reactive query state whose `data` is the descriptor catalog.
1233
+ * @example
1234
+ * ```tsx
1235
+ * function TriggerPalette() {
1236
+ * const { data, loading, error } = useAutomationTriggerTypes();
1237
+ * if (loading) return <Spinner />;
1238
+ * if (error) return <ErrorNotice error={error} />;
1239
+ * return <ul>{data?.map((trigger) => <li key={trigger.kind}>{trigger.label}</li>)}</ul>;
1240
+ * }
1241
+ * ```
1242
+ */
1243
+ declare function useAutomationTriggerTypes(): UseAutomationTriggerTypesResult;
1244
+ //#endregion
1218
1245
  //#region ui/hooks/src/provider-config/selectors.d.ts
1219
1246
  /**
1220
1247
  * UI-facing provider-config summary enriched with provider definition metadata.
@@ -2001,4 +2028,4 @@ declare function parsePersistedAgentSelection(value: unknown): AgentSelection |
2001
2028
  */
2002
2029
  declare function isPersistableProjectSelection(selection: AgentSelection): selection is PersistableProjectSelection;
2003
2030
  //#endregion
2004
- export { type AppContextState, type AuthFieldDraft, type BoundAdapter, BusContext, BusProvider, type BusProviderProps, type CompiledProviderConfigAuthDraft, type CoreOnboardingStepComponents, type EnvironmentAuthFieldDraft, type ExecutablePage, type ExtensionBrowserLoadOptions, type ExtensionBrowserLoadResult, type FocusContextId, type FocusContextLayout, type FocusContextObject, type FocusContextWidgetSize, type FocusState, type GroupedPages, type HealthCheckResult, type OnboardingAdapter, type OnboardingClient, type OnboardingFlowActions, type OnboardingFlowState, type OnboardingProviderConfigCreator, type OnboardingProviderConfigDraft, type OnboardingStepDefinition, type OnboardingStepProps, type PageOverlayState, type PersistableAdapterSelection, type PersistableProjectSelection, type PersistedExtensionConfigEntry, type PersistedStoreConfig, type PlacedFocusWidget, type ProviderConfigAuthDraft, type ProviderConfigDetailView, type ProviderConfigSummaryView, type ProviderInfo, type RuntimeNavigationLevel, type ScanContext, type SharedLoaderState, type SidebarState, type StorageType, type StoredAuthFieldDraft, type UseBusQueryOptions, type UseBusQueryResult, type UseCompatibleAuthOptionsResult, type UseOnboardingFlowOptions, type UseOnboardingFlowResult, type UseWidgetConfigOptions, type UseWidgetConfigResult, type UseWidgetRegistryOptions, type UseWidgetsOptions, type UseWidgetsResult, type WindowContextState, addWidgetToFocusLayout, authDraftRequiresStorage, authMethodRefKey, buildProviderConfigAuthDraft, buildScanContext, clearOnboardingCompleted, clearOnboardingSkipped, compileProviderConfigAuthDraft, createEmptyFocusContextLayout, createInitialAuthFieldDrafts, createPersistedStore, getOnboardingCompleted, getOnboardingSkipped, getProviderConfigDetailView, groupPagesByNavigationGroup, isPersistableProjectSelection, listCompatibleAuthOptions, listProviderConfigSummaryViews, loadExtensionBrowserContributions, noopStorage, parsePersistedAgentSelection, persistPluginEnabled, registerCoreOnboardingSteps, registerNavigationHandler, removeWidgetFromFocusLayout, scanOnboarding, scanOnboardingAdapters, scanOnboardingClients, setOnboardingCompleted, setOnboardingSkipped, updateFocusContextWidgetPosition, updateFocusContextWidgetSize, useAppContext, useBus, useBusEvent, useBusQuery, useCompatibleAuthOptions, useFocusStore, useNavigationLevel, useOnboardingFlow, useOptionalBus, usePageComponent, usePageDefinitions, usePageOverlayStore, usePages, useProviderStore, useSidebarStore, useTrayLayout, useWidgetConfig, useWidgetLayout, useWidgetLayoutActions, useWidgetRegistry, useWidgets, useWindowContext, useWindowIdPages };
2031
+ export { type AppContextState, type AuthFieldDraft, type BoundAdapter, BusContext, BusProvider, type BusProviderProps, type CompiledProviderConfigAuthDraft, type CoreOnboardingStepComponents, type EnvironmentAuthFieldDraft, type ExecutablePage, type ExtensionBrowserLoadOptions, type ExtensionBrowserLoadResult, type FocusContextId, type FocusContextLayout, type FocusContextObject, type FocusContextWidgetSize, type FocusState, type GroupedPages, type HealthCheckResult, type OnboardingAdapter, type OnboardingClient, type OnboardingFlowActions, type OnboardingFlowState, type OnboardingProviderConfigCreator, type OnboardingProviderConfigDraft, type OnboardingStepDefinition, type OnboardingStepProps, type PageOverlayState, type PersistableAdapterSelection, type PersistableProjectSelection, type PersistedExtensionConfigEntry, type PersistedStoreConfig, type PlacedFocusWidget, type ProviderConfigAuthDraft, type ProviderConfigDetailView, type ProviderConfigSummaryView, type ProviderInfo, type RuntimeNavigationLevel, type ScanContext, type SharedLoaderState, type SidebarState, type StorageType, type StoredAuthFieldDraft, type UseAutomationTriggerTypesResult, type UseBusQueryOptions, type UseBusQueryResult, type UseCompatibleAuthOptionsResult, type UseOnboardingFlowOptions, type UseOnboardingFlowResult, type UseWidgetConfigOptions, type UseWidgetConfigResult, type UseWidgetRegistryOptions, type UseWidgetsOptions, type UseWidgetsResult, type WindowContextState, addWidgetToFocusLayout, authDraftRequiresStorage, authMethodRefKey, buildProviderConfigAuthDraft, buildScanContext, clearOnboardingCompleted, clearOnboardingSkipped, compileProviderConfigAuthDraft, createEmptyFocusContextLayout, createInitialAuthFieldDrafts, createPersistedStore, getOnboardingCompleted, getOnboardingSkipped, getProviderConfigDetailView, groupPagesByNavigationGroup, isPersistableProjectSelection, listCompatibleAuthOptions, listProviderConfigSummaryViews, loadExtensionBrowserContributions, noopStorage, parsePersistedAgentSelection, persistPluginEnabled, registerCoreOnboardingSteps, registerNavigationHandler, removeWidgetFromFocusLayout, scanOnboarding, scanOnboardingAdapters, scanOnboardingClients, setOnboardingCompleted, setOnboardingSkipped, updateFocusContextWidgetPosition, updateFocusContextWidgetSize, useAppContext, useAutomationTriggerTypes, useBus, useBusEvent, useBusQuery, useCompatibleAuthOptions, useFocusStore, useNavigationLevel, useOnboardingFlow, useOptionalBus, usePageComponent, usePageDefinitions, usePageOverlayStore, usePages, useProviderStore, useSidebarStore, useTrayLayout, useWidgetConfig, useWidgetLayout, useWidgetLayoutActions, useWidgetRegistry, useWidgets, useWindowContext, useWindowIdPages };
@@ -1 +1 @@
1
- import e,{createContext as t,lazy as n,useCallback as r,useContext as i,useEffect as a,useMemo as o,useRef as s,useState as c,useSyncExternalStore as l}from"react";import{jsx as u}from"react/jsx-runtime";import{PreferencesSubjects as d}from"@makaio/framework/services/preferences";import{UiSubjects as f,deriveBrowserTarget as p,deriveDefaultEnabled as m,deriveTrayLayout as h,findCategory as g,isOverlayMode as _,isWidgetLayout as v,onboardingStepRegistry as y,pageDefinitionRegistry as b,queryPageDefinitions as x,runCleanupsInReverse as S,subscribeToWidgetEvents as C,widgetRegistry as w}from"@makaio/framework/ui-kernel";import{ExtensionSubjects as ee}from"@makaio/framework/kernel";import{MakaioBus as T}from"@makaio/framework/bus";import{AdapterSubjects as te,AgentSelectionSchema as ne}from"@makaio/framework/contracts";import{AdapterRuntimeSubjects as re}from"@makaio/framework/services/adapter-runtime";import{AdapterSubsystemSubjects as E}from"@makaio/framework/services/adapter-subsystem";import{LogImportSubjects as ie}from"@makaio/framework/services/log-import/log-import";import{SettingsSubjects as D}from"@makaio/framework/services/settings/namespace";import{ExtensionConfigStorageSubjects as ae}from"@makaio/framework/services/settings/storage/extension-configs/namespace";import{resolveRuntimeProviderContext as O}from"@makaio/framework/services/provider-context";import{ClientStorageSubjects as oe,ProviderStorageSubjects as k}from"@makaio/framework/services/settings/storage";import{ClientSubjects as se}from"@makaio/framework/contracts/client";import{AuthCredentialRefSchema as ce,ProviderConfigAuthSchema as le}from"@makaio/framework/contracts/auth";import{buildStoredCredentialRef as ue}from"@makaio/framework/contracts/config";const A=t(null);function de({bus:e,children:t}){return u(A.Provider,{value:e,children:t})}function j(){let e=i(A);if(!e)throw Error(`useBus must be used within a BusProvider`);return e}function fe(){return i(A)}function pe({subject:e,request:t,skip:n=!1,refetchOn:i=[]}){let l=j(),[u,d]=c(),[f,p]=c(!n),[m,h]=c(),g=o(()=>{if(t===void 0)return{deserializable:!0};try{let e=JSON.stringify(t);return e===void 0?{deserializable:!1}:{serialized:e,deserializable:!0}}catch{return{deserializable:!1}}},[t]),_=g.deserializable?g.serialized:`non-serializable-request`,v=o(()=>{if(g.deserializable&&g.serialized!==void 0)return JSON.parse(g.serialized)},[_,g.deserializable,g.serialized]),y=s(i);y.current=i;let b=o(()=>i.map(M).join(`,`),[i]),x=s(b);x.current!==b&&(x.current=b);let S=x.current,C=s(0),w=r(async()=>{let t=++C.current;p(!0),h(void 0);try{if(!g.deserializable)throw Error(`useBusQuery request must be JSON-serializable.`);let n=await l.request(e,v);t===C.current&&d(n)}catch(e){t===C.current&&h(e instanceof Error?e:Error(String(e)))}finally{t===C.current&&p(!1)}},[l,e,_,v,g.deserializable]);return a(()=>{n||w()},[w,n]),a(()=>{if(n||y.current.length===0)return;let e=y.current.map(e=>l.on(e,(()=>void w())));return()=>{for(let t of e)t()}},[l,S,w,n]),{data:u,loading:f,error:m,refetch:w}}function M(e){return JSON.stringify({subject:String(e.subject),meta:e.$meta})}function me(e,t){let n=j(),r=s(t);r.current=t,a(()=>n.on(e,(e=>r.current(e))),[n,e])}function he(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.getPrototypeOf(e)===Object.prototype}const ge=Object.freeze([]);function _e(e={}){let{builtIns:t=ge,scope:n,includeAny:i=!0}=e,s=j(),[u,d]=c(!1);a(()=>{w.registerAll(t)},[t]),a(()=>{let e=C(s);return d(!0),()=>{e(),d(!1)}},[s]);let f=r(e=>w.subscribe(e),[]),p=r(()=>w.getAll(),[]),m=l(f,p,p),h=o(()=>n?w.getByScope(n,i):m,[m,i,n]);return{builtInWidgets:t,loading:!u,widgets:u?h:void 0}}function ve(e={}){let{scope:t,includeAny:n=!0}=e,i=r(e=>w.subscribe(e),[]),a=r(()=>w.getAll(),[]),s=l(i,a,a);return o(()=>t?w.getByScope(t,n):s,[s,n,t])}function ye(e){return e.contextId?`${e.scope}:${e.contextId}`:e.scope}function N(e){let{paneId:t,widgetId:n,context:i,surface:l,defaultConfig:u}=e,f=j(),[p,m]=c(u),h=s(0),g=o(()=>ye(i),[i.contextId,i.scope]),_=o(()=>({category:`widget-config:${t}:${n}`,key:{scope:g,surface:l}}),[g,t,l,n]),v=o(()=>structuredClone(u),[u]);a(()=>{let e=++h.current,t=()=>h.current===e;return m(v),(async()=>{try{let{value:e}=await f.request(d.get,{category:_.category,key:_.key});if(!t())return;he(e)&&m(t=>({...t,...e}))}catch{}})(),()=>{++h.current}},[f,v,_]);let y=r(async e=>{try{await f.request(d.set,{category:_.category,key:_.key,value:e})}catch{}},[f,_]);return{config:p,updateConfig:r(e=>{m(t=>{let n={...t,...e};return y(n),n})},[y])}}function P(e){let t=j(),[n,i]=c(null),[o,s]=c(!0),[l,u]=c(null),f=r(async()=>{s(!0),u(null);try{let{value:n}=await t.request(d.get,{category:`widget-layout`,key:e});i(v(n)?n:null)}catch(e){u(e instanceof Error?e:Error(`Failed to load layout`)),i(null)}finally{s(!1)}},[t,e]);return a(()=>{f()},[f]),{layout:n,isLoading:o,error:l,refresh:f}}const F=`widget-layout`;function I(){let e=j();return{saveLayout:r(async(t,n)=>{await e.request(d.set,{category:F,key:t,value:n})},[e]),resetLayout:r(async t=>{await e.request(d.delete,{category:F,key:t})},[e])}}const L=Object.freeze([]);function be(e=L){let t=r(e=>w.subscribe(e),[]),n=r(()=>w.getAll(),[]),i=l(t,n,n);return o(()=>h(i,e),[i,e])}async function xe(e){return import(e)}function Se(e){return e.kind===`resolved`&&e.factory!==void 0}function Ce(e){return e.filter(e=>e.state===`active`&&e.browser?.entrypoint)}function R(){return{cleanups:[],errorMessage:null,shell:null,state:`empty`}}function we(e){return e===`cancelled`}function z(e,t,n,r){return{cleanups:e,errorMessage:r,shell:n,state:t}}async function Te(e,t){let{bus:n,isCurrentRun:r,waitForRuntimeReady:i}=e,a=i(n);t.push(a.cleanup);let o=await a.ready;if(we(o))return S(t,`[ExtensionBrowserLoader]`),{kind:`aborted`};if(o===`timeout`)return{kind:`result`,result:z(t,`error`,null,`The Makaio runtime did not respond. The service may have failed to start — try restarting the application or check the logs for errors.`)};if(!r())return S(t,`[ExtensionBrowserLoader]`),{kind:`aborted`};let{extensions:s}=await n.request(ee.list,{}),c=Ce(s);return c.length===0?{kind:`result`,result:z(t,`empty`,null,null)}:{browserExtensions:c,kind:`ok`}}function Ee(e){let t=e.browser.entrypoint,n;try{n=new URL(t,globalThis.location.origin)}catch{return console.warn(`[ExtensionBrowserLoader] Extension "${e.name}" has malformed entrypoint "${t}"`),null}return n.origin!==globalThis.location.origin||!n.pathname.startsWith(`/extensions/`)?(console.warn(`[ExtensionBrowserLoader] Extension "${e.name}" has unsafe entrypoint "${t}" (must stay under /extensions/)`),null):n.pathname}async function B(e,t,n,r){let{bus:i,getRegisteredFactory:a,importModule:o=xe,isCurrentRun:s,registerExtensionUI:c,resolveFactory:l,unregisterFactory:u}=e,d=Ee(t);if(d===null)return{failed:!0,kind:`ok`,shell:r};let f=[()=>u(t.name)];try{let e=await o(d);if(!s())return S(f,`[ExtensionBrowserLoader] ${t.name}`),S(n,`[ExtensionBrowserLoader]`),{kind:`aborted`};let u=l(e.default,a(t.name));if(!Se(u))return S(f,`[ExtensionBrowserLoader] ${t.name}`),console.warn(`[ExtensionBrowserLoader] Extension "${t.name}" has invalid browser factory (${u.reason??`unknown resolution error`})`),{failed:!0,kind:`ok`,shell:r};let p=u.factory({bus:i});if(!p||typeof p!=`object`)return S(f,`[ExtensionBrowserLoader] ${t.name}`),console.warn(`[ExtensionBrowserLoader] Extension "${t.name}" factory returned invalid contribution (expected object, got ${p===null?`null`:typeof p})`),{failed:!0,kind:`ok`,shell:r};p.destroy&&f.push(p.destroy),f.push(c(i,t.name,p));let m=r;return p.shell&&(m!==null&&console.warn(`[ExtensionBrowserLoader] Extension "${t.name}" replaces the previously registered shell (shell contributions are last-wins)`),m=p.shell.component),n.push(...f),{failed:!1,kind:`ok`,shell:m}}catch(e){return S(f,`[ExtensionBrowserLoader] ${t.name}`),console.error(`[ExtensionBrowserLoader] Failed to load extension "${t.name}":`,e),{failed:!0,kind:`ok`,shell:r}}}async function De(e){let t=[];try{let n=await Te(e,t);if(n.kind===`aborted`)return R();if(n.kind===`result`)return n.result;let r=0,i=null;for(let a of n.browserExtensions){let n=await B(e,a,t,i);if(n.kind===`aborted`)return R();i=n.shell,n.failed&&(r+=1)}return e.isCurrentRun()?i===null?r>0?z(t,`error`,null,`One or more extensions failed to load before providing workspace chrome.`):z(t,`empty`,null,null):z(t,`ready`,i,null):(S(t,`[ExtensionBrowserLoader]`),R())}catch(e){return console.error(`[ExtensionBrowserLoader] Failed to query extensions:`,e),z(t,`error`,null,e instanceof Error?e.message:String(e))}}const V=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},H=(e=>e?V(e):V),Oe=e=>e;function U(t,n=Oe){let r=e.useSyncExternalStore(t.subscribe,e.useCallback(()=>n(t.getState()),[t,n]),e.useCallback(()=>n(t.getInitialState()),[t,n]));return e.useDebugValue(r),r}const W=e=>{let t=H(e),n=e=>U(t,e);return Object.assign(n,t),n},ke=(e=>e?W(e):W);function Ae(e,t){let n;try{n=e()}catch{return}return{getItem:e=>{let r=e=>e===null?null:JSON.parse(e,t?.reviver),i=n.getItem(e)??null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,r)=>n.setItem(e,JSON.stringify(r,t?.replacer)),removeItem:e=>n.removeItem(e)}}const G=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return G(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return G(t)(e)}}}},K=(e,t)=>(n,r,i)=>{let a={storage:Ae(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,s=0,c=new Set,l=new Set,u=a.storage;if(!u)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),n(...e)},r,i);let d=()=>{let e=a.partialize({...r()});return u.setItem(a.name,{state:e,version:a.version})},f=i.setState;i.setState=(e,t)=>(f(e,t),d());let p=e((...e)=>(n(...e),d()),r,i);i.getInitialState=()=>p;let m,h=()=>{if(!u)return;let e=++s;o=!1,c.forEach(e=>e(r()??p));let t=a.onRehydrateStorage?.call(a,r()??p)||void 0;return G(u.getItem.bind(u))(a.name).then(e=>{if(e)if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state];return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(m=a.merge(o,r()??p),n(m,!0),i)return d()}).then(()=>{e===s&&(t?.(r(),void 0),m=r(),o=!0,l.forEach(e=>e(m)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(u=e.storage)},clearStorage:()=>{u?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>h(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},a.skipHydration||h(),m||p},q={length:0,clear:()=>{},getItem:()=>null,key:()=>null,removeItem:()=>{},setItem:()=>{}};function je(e){let t=`__makaio_storage_probe__`,n=n=>{let r=null,i=!1;try{return r=n.getItem(t),i=r!==null,n.setItem(t,`1`),!0}catch{return!1}finally{try{i&&r!==null?n.setItem(t,r):n.removeItem(t)}catch(t){console.warn(`[createPersistedStore] Storage probe cleanup failed`,{type:e,error:t})}}};try{return e===`localStorage`?typeof localStorage>`u`?q:n(localStorage)?localStorage:q:typeof sessionStorage>`u`?q:n(sessionStorage)?sessionStorage:q}catch{return q}}function J(e,t){let{name:n,storage:r=`sessionStorage`,version:i,partialize:a,merge:o,extraPersistOptions:s}=t,c={name:n,storage:Ae(()=>je(r)),...i===void 0?{}:{version:i},...a?{partialize:a}:{},...o?{merge:o}:{},...s};return ke()(K(e,c))}const Y={level:`root`,values:{}};function Me(e){return{level:e.level,values:{...e.values}}}const Ne=J(e=>({windowId:null,uiContext:Me(Y),activePaneId:null,setWindowId:t=>e(e=>e.windowId!==null&&e.windowId!==t?{}:{windowId:t}),setUiContext:t=>e({uiContext:Me(t),activePaneId:null}),setActivePaneId:t=>e({activePaneId:t}),clearUiContext:()=>e({uiContext:Me(Y),activePaneId:null})}),{name:`makaio-window-context`,storage:`sessionStorage`,partialize:e=>({uiContext:e.uiContext})}),Pe=J(e=>({activePageId:null,internalRoute:null,openPage:(t,n)=>e({activePageId:t,internalRoute:n??null}),close:()=>e({activePageId:null,internalRoute:null}),navigate:t=>e(e=>({internalRoute:t,activePageId:e.activePageId}))}),{name:`makaio-page-overlay`,storage:`sessionStorage`});function Fe(e,t,n){return{collapsedByLevel:{...e.collapsedByLevel,[t]:n}}}const Ie=J((e,t)=>({collapsedByLevel:{},isCollapsed:e=>t().collapsedByLevel[e]??!1,toggle:t=>e(e=>Fe(e,t,!(e.collapsedByLevel[t]??!1))),setCollapsed:(t,n)=>e(e=>Fe(e,t,n))}),{name:`makaio-sidebar`,storage:`localStorage`}),Le={onboarding:{id:`onboarding`,name:`Welcome`,isPreset:!0},chat:{id:`chat`,name:`Chat`,isPreset:!0,quickPromptSuggestions:[`Help me understand this code`,`What are the key files in this project?`,`Explain the architecture`]},git:{id:`git`,name:`Git`,isPreset:!0,quickPromptSuggestions:[`Show recent commits`,`What changed in this branch?`,`Create a new branch`]},review:{id:`review`,name:`Code Review`,isPreset:!0,quickPromptSuggestions:[`Review this pull request`,`Show file differences`,`Add review comments`]},planning:{id:`planning`,name:`Planning`,isPreset:!0,quickPromptSuggestions:[`Break down this task`,`Create implementation plan`,`Estimate complexity`]},settings:{id:`settings`,name:`Settings`,isPreset:!0},dashboard:{id:`dashboard`,name:`Dashboard`,isPreset:!0,quickPromptSuggestions:[`Show recent projects`,`Open a workspace`,`Create a new project`]}},Re={activeFocus:Le.chat},ze=J((e,t)=>({activeFocus:Re.activeFocus,setActiveFocus:t=>{let n=Le[t];if(!n){console.error(`[focusStore] Unknown focus preset id: ${t}`);return}e({activeFocus:n})},setActiveFocusContext:t=>{e({activeFocus:t})},setFocusContextLayout:n=>{let{activeFocus:r}=t();e({activeFocus:{...r,layout:n}})},getFocusContextLayout:()=>t().activeFocus.layout}),{name:`makaio-focus`,storage:`sessionStorage`});function Be(){return{version:1,widgets:[]}}function Ve(e,t){return e.widgets.some(e=>e.widgetId===t.widgetId)?e:{...e,widgets:[...e.widgets,t]}}function He(e,t){return e.widgets.some(e=>e.widgetId===t)?{...e,widgets:e.widgets.filter(e=>e.widgetId!==t)}:e}function Ue(e,t,n){return e.widgets.some(e=>e.widgetId===t)?{...e,widgets:e.widgets.map(e=>e.widgetId===t?{...e,size:n}:e)}:e}function We(e,t,n){return e.widgets.some(e=>e.widgetId===t)?{...e,widgets:e.widgets.map(e=>e.widgetId===t?{...e,...n}:e)}:e}function Ge(){return Ne(e=>e.uiContext.level)}const Ke=new Set([`http:`,`https:`]);function qe(e){return e.on(f.navigate,e=>{let{url:t}=e.payload,n;try{n=new URL(t,window.location.href)}catch{throw Error(`[registerNavigationHandler] Invalid URL: ${t}`)}if(!Ke.has(n.protocol))throw Error(`[registerNavigationHandler] Unsafe URL protocol "${n.protocol}" in: ${t}`);let r=n.toString(),i=p(n.pathname+n.search+n.hash);window.open(r,i,`noopener,noreferrer`),e.setResult({action:`navigated`})},{priority:10})}function Je(e,t){let n=e.filter(e=>e.group!==void 0),r=new Map;for(let e of n){let t=e.group;r.has(t)||r.set(t,[]),r.get(t).push(e)}let i=[],a=new Set,o=[...t].sort((e,t)=>e.order-t.order);for(let e of o){let t=r.get(e.id)??[];i.push({config:e,pages:t}),a.add(e.id)}for(let[e,t]of r)if(!a.has(e)){let n={id:e,label:e,order:999};i.push({config:n,pages:t})}return i}function Ye(e){let t=r(e=>b.subscribe(e),[]),n=r(()=>b.getAll(),[]);return x(l(t,n,n),e)}function Xe(e){let t=Ye(e),n=Pe(e=>e.openPage),i=Pe(e=>e.activePageId),a=ze(e=>e.setActiveFocus),o=ze(e=>e.activeFocus.id),s=r(e=>_(e.mode)?()=>n(e.id):()=>{e.focusContext&&a(e.focusContext)},[n,a]);return t.map(e=>{let t;return t=e.isActive?e.isActive():_(e.mode)?i===e.id:e.focusContext?o===e.focusContext:!1,{...e,execute:s(e),isActive:t}})}function Ze(e,t){return e===void 0?!0:Array.isArray(e)?e.includes(t):e===t}function Qe(e){let t=Ne(e=>e.windowId),n=Xe(e);return t?n.filter(e=>Ze(e.windowId,t)):n}function $e(e,t=0){let i=r(t=>e===null?()=>void 0:b.subscribe(t),[e]),a=r(()=>{if(e!==null)return b.get(e)},[e]),s=l(i,a,a);return o(()=>{if(s)return{Component:n(s.component),definition:s}},[s,t])}function et(e){let t=[],n=e=>{t.push(y.register(e))};return n({id:`welcome`,title:`Welcome`,kaiState:`wave`,order:10,skippable:!1,component:e.WelcomeStep}),n({id:`clients`,title:`Clients`,kaiState:`neutral`,order:20,skippable:!0,component:e.ClientsStep}),n({id:`providers`,title:`Providers`,kaiState:`neutral`,order:25,skippable:!0,component:e.ProvidersStep}),n({id:`adapters`,title:`Tools`,kaiState:`neutral`,order:30,skippable:!0,component:e.AdaptersStep}),n({id:`preferences`,title:`Preferences`,kaiState:`smile`,order:35,skippable:!0,component:e.PreferencesStep}),n({id:`plugins`,title:`Plugins`,kaiState:`neutral`,order:40,skippable:!0,condition:e=>e.extensions.length>0,component:e.PluginsStep}),n({id:`done`,title:`All Set`,kaiState:`success`,order:50,skippable:!1,component:e.DoneStep}),()=>{for(let e of t)e()}}function tt(e){try{return localStorage.getItem(e)===`true`}catch{return!1}}function nt(e){try{localStorage.setItem(e,`true`)}catch{}}function rt(e){try{localStorage.removeItem(e)}catch{}}const it=`makaio-onboarding-skipped`;function at(){return tt(it)}function ot(){nt(it)}function st(){rt(it)}const ct=`makaio-onboarding-completed`;function lt(){return tt(ct)}function ut(){nt(ct)}function dt(){rt(ct)}function X(e,t,n,r){let i=n.get(e)??{id:`onboarding-${e}`,config:void 0};return n.set(e,i),r.request(ae.setEnabled,{extensionName:e,scope:`default`,enabled:t}).then(t=>(n.set(e,{...i,id:t.id}),t))}function ft(e){let t=ne.safeParse(e);if(!t.success)return null;let n=t.data;if(n.kind===`model`){let e=Z(n.adapterName),t=Z(n.model),r=Z(n.providerConfigId)??Z(n.providerId);return!e||!t?null:{kind:`adapter`,adapterName:e,model:t,...r?{providerConfigId:r}:{}}}if(n.kind===`virtualModel`){let e=Z(n.virtualModelId);return e?{kind:`virtual-model`,virtualModelId:e}:null}switch(n.kind){case`adapter`:{let e=Z(n.adapterName);if(!e)return null;let t=Z(n.model),r=Z(n.providerConfigId);return{kind:`adapter`,adapterName:e,...t?{model:t}:{},...r?{providerConfigId:r}:{}}}case`persona`:{let e=Z(n.personaId);return e?{kind:`persona`,personaId:e}:null}case`profile`:{let e=Z(n.profileId);return e?{kind:`profile`,profileId:e}:null}case`virtual-model`:{let e=Z(n.virtualModelId);return e?{kind:`virtual-model`,virtualModelId:e}:null}default:return null}}function pt(e){return e.kind===`adapter`?typeof e.adapterName==`string`&&e.adapterName.trim().length>0&&typeof e.providerConfigId==`string`&&e.providerConfigId.trim().length>0&&typeof e.model==`string`&&e.model.trim().length>0:!0}function Z(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function mt(e,t){if(typeof e==`object`&&e&&`defaultSelection`in e){let n=e.defaultSelection;if(n==null)return t;let r=ft(n);return r===null?t:{...t,defaultSelection:r}}return t}const ht=J(e=>({defaultSelection:null,setDefaultSelection:t=>e({defaultSelection:t})}),{name:`makaio-app-context`,storage:`localStorage`,merge:mt});async function gt(){let[{configs:e},{configs:t},{providers:n}]=await Promise.all([T.request(E.listProviderConfigs,{enabled:!0}),T.request(E.listAdapterConfigs,{}),T.request(k.list,{})]),r=new Map(n.map(e=>[e.id,e])),i=new Map;for(let e of t){if(!e.enabled)continue;let t=e.displayName??e.name;for(let n of e.bindings){let e={adapterName:n.adapterName,displayLabel:t},r=i.get(n.providerConfigId);r?r.push(e):i.set(n.providerConfigId,[e])}}return e.map(e=>({providerConfigId:e.id,definitionId:e.definitionId,name:e.name,availableModels:r.get(e.definitionId)?.availableModels??[],isDefault:e.isDefault,enabled:e.enabled,modelFilterMode:e.modelFilterMode,modelVisibility:e.modelVisibility,boundAdapters:i.get(e.id)??[]}))}const _t=ke((e,t)=>({providers:[],isLoading:!1,error:null,_fetchPromise:null,_hasFetched:!1,_fetchGeneration:0,fetchProviders:async()=>{let n=t();if(n._hasFetched&&!n.isLoading)return Promise.resolve();if(n._fetchPromise)return n._fetchPromise;let r=t()._fetchGeneration;e({isLoading:!0,error:null});let i=gt().then(e=>{t()._fetchGeneration===r&&(console.debug(`[providerStore] providers:`,e.map(e=>({providerConfigId:e.providerConfigId,definitionId:e.definitionId,name:e.name}))),t().setProviders(e))}).catch(e=>{if(t()._fetchGeneration!==r)return;let n=e instanceof Error?e:Error(String(e));t().setError(n)}).finally(()=>{e(e=>e._fetchPromise===i?{_fetchPromise:null}:{})});return e({_fetchPromise:i}),i},invalidate:()=>{e(e=>({_hasFetched:!1,_fetchPromise:null,_fetchGeneration:e._fetchGeneration+1,isLoading:!1}))},setProviders:t=>{e({providers:t,isLoading:!1,error:null,_hasFetched:!0})},setError:t=>{e({error:t,isLoading:!1})}}));async function Q(){let[{clients:e},{adapters:t}]=await Promise.all([T.request(oe.list,{}),T.request(D.adapter.list,{})]),n=e.filter(e=>e.enabled&&e.binary!==void 0).map(e=>({id:e.id,name:e.name,binary:e.binary.name,supportedVersions:e.binary.supportedVersions}));if(n.length===0)return null;let{results:r}=await T.request(se.scan,{targets:n.map(e=>({clientId:e.id,binaryName:e.binary,supportedVersions:e.supportedVersions}))}),i=new Map(r.map(e=>[e.clientId,e])),a=n.map(e=>{let t=i.get(e.id);return{id:e.id,name:e.name,binary:e.binary,found:t?.found??!1,version:t?.version,warningMessage:t?.warningMessage}}),o=new Map;for(let e of t){if(!e.clientId)continue;let t=o.get(e.clientId);t?t.push(e.adapterName):o.set(e.clientId,[e.adapterName])}return{scannedClients:a,adaptersByClientId:o}}function vt(e){let{scannedClients:t,adaptersByClientId:n}=e,r=[];for(let e of t){let t=n.get(e.id);if(t?.length)for(let n of t)r.push({adapterName:n,displayName:e.name,binary:e.binary,found:e.found,version:e.version,warningMessage:e.warningMessage})}return r}function yt(e){let t=e.toLowerCase();return t.includes(`cli`)?0:t.includes(`sdk`)?1:2}function bt(e){let{scannedClients:t,adaptersByClientId:n}=e,r=[];for(let e of t){let t=(n.get(e.id)??[]).sort((e,t)=>{let n=yt(e),r=yt(t);return n===r?e.localeCompare(t):n-r});r.push({clientId:e.id,name:e.name,binary:e.binary,found:e.found,version:e.version,warningMessage:e.warningMessage,adapterNames:t})}return r}async function xt(){let e=await Q();return e?vt(e):[]}async function St(){let e=await Q();return e?bt(e):[]}async function Ct(){let e=await Q();return e?{adapters:vt(e),clients:bt(e)}:{adapters:[],clients:[]}}function wt(e,t){return{...e,supportedProtocols:t==null?[]:Object.keys(t.endpoints??{})}}async function Tt(e,t={}){let[{configs:n},{providers:r}]=await Promise.all([e.request(E.listProviderConfigs,t),e.request(k.list,{})]),i=new Map(r.map(e=>[e.id,e]));return n.map(e=>wt(e,i.get(e.definitionId)))}async function Et(e,t){let{config:n}=await e.request(E.getProviderConfig,{id:t});if(n===null)return null;let{provider:r}=await e.request(k.get,{id:n.definitionId});return wt(n,r)}async function Dt(e,t){let{options:n}=await e.request(E.listCompatibleAuthOptions,{definitionId:t});return n}function Ot(e){return e.mode===`explicit`?Object.fromEntries(e.fields.map(({id:e})=>[e,{source:`stored`,value:``}])):{}}function kt(e,t={},n){if(e.mode===`explicit`){if(n)throw Error(`Explicit authentication cannot select a native account.`);let r=new Map(e.fields.map(e=>[e.id,e])),i=Object.keys(t).find(e=>!r.has(e));if(i)throw Error(`Authentication field "${i}" is not declared by method "${e.method.methodId}".`);let a={};for(let n of e.fields){let e=t[n.id];if(!e||e.source===`stored`&&e.value.length===0){if(n.required)throw Error(`Complete the required field: ${n.label}.`);continue}if(e.source===`environment`&&!n.sourceHints.some(t=>t.kind===`environment`&&t.variable===e.variable))throw Error(`Environment source "${e.variable}" is not declared for authentication field "${n.id}".`);a[n.id]=e}return{mode:e.mode,method:{...e.method},fields:a}}if(Object.keys(t).length>0)throw Error(`${e.mode} authentication cannot contain credential fields.`);if(e.mode===`inferred`)return{mode:e.mode,method:{...e.method},...n?{account:{...n}}:{}};if(n)throw Error(`No-auth authentication cannot select a native account.`);return{mode:e.mode,method:{...e.method}}}function At(e){return e.owner===`provider`?`provider:${e.providerDefinitionId}:${e.methodId}`:`client:${e.clientId}:${e.methodId}`}function jt(e,t){if(e.mode!==`explicit`)return{auth:le.parse(e.mode===`inferred`?{mode:e.mode,method:{...e.method},...e.account?{account:{...e.account}}:{}}:{mode:e.mode,method:{...e.method}}),storedCredentials:{}};let n={},r={};for(let[i,a]of Object.entries(e.fields)){if(a.source===`environment`){n[i]=ce.parse(`env:${a.variable}`);continue}if(!t)throw Error(`Stored authentication fields require the final provider-config ID.`);if(a.value.length===0)throw Error(`Stored authentication field "${i}" cannot be empty.`);n[i]=ue(t,i),r[i]=a.value}return{auth:le.parse({mode:e.mode,method:{...e.method},credentialRefs:n}),storedCredentials:r}}function Mt(e){return e.mode===`explicit`&&Object.values(e.fields).some(({source:e})=>e===`stored`)}let $=null;function Nt(e){if($===null)$={creator:e,count:1};else if($.creator===e)$.count+=1;else throw Error(`useOnboardingFlow: only one host-owned create bridge may be registered at a time.`);return()=>Pt(e)}function Pt(e){if($?.creator===e){if($.count===1){$=null;return}--$.count}}function Ft(e){return e}function It(e){try{ut()}catch(e){console.error(`[useOnboardingFlow] Failed to persist completion flag:`,e)}finally{e()}}async function Lt(e,t){let n=$?.creator??null;if(n){let r=await n(T,e);return await t(),r}if(Mt(e.auth))throw Error(`useOnboardingFlow: plaintext provider-config creation requires a host-owned create bridge.`);let{auth:r}=jt(e.auth),{auth:i,...a}=e,{config:o}=await T.request(E.createProviderConfig,{...a,auth:r});return await t(),o.id}async function Rt(e){let t=await T.requestOptional(E.getDefaultBinding,{adapterName:e});if(!t.handled||!t.data.binding)return;let{binding:n}=t.data;return O(T,{adapterName:n.adapterName,providerConfigId:n.providerConfigId})}function zt({context:e,onComplete:t,onSkip:n}){let{setDefaultSelection:i}=ht(),l=j(),[u]=c(()=>{let t=Ft(y.getAll());return Object.freeze(t.filter(t=>t.condition===void 0||t.condition(e)))}),[d,f]=c(0),[p,h]=c(e.adapters),[_,v]=c(()=>new Set(e.adapters.filter(e=>e.enabled).map(e=>e.adapterName))),[b,x]=c(()=>new Map),[S,C]=c(()=>new Map),[w,ne]=c(null),[O,oe]=c(()=>e.extensions),[k,se]=c(()=>new Map),[ce,le]=c([]),[ue,A]=c(!1),[de,fe]=c(null),[pe,M]=c(()=>new Set),[me,he]=c([]),[ge,_e]=c([]),[ve,ye]=c([]),N=s(new Map),P=s(0),F=s(0),I=s(new Map);a(()=>{let e=++P.current,t=()=>P.current===e;(async()=>{try{let[e,n]=await Promise.all([T.request(ee.list,{}),T.request(ae.list,{})]);if(!t())return;let r=new Map;for(let e of n.extensionConfigs)e.scope===`default`&&!r.has(e.extensionName)&&r.set(e.extensionName,{id:e.id,enabled:e.enabled,config:e.config});let i=new Map,a=new Map;for(let t of e.extensions){let e=r.get(t.name);e!==void 0&&(i.set(t.name,e.enabled),a.set(t.name,{id:e.id,config:e.config}))}oe(e.extensions),se(i),N.current=a}catch(e){if(!t())return;console.error(`[useOnboardingFlow] Failed to load extension list:`,e)}})()},[]),a(()=>()=>{for(let e of I.current.values())e.abort();I.current.clear()},[]);let L=r(async()=>{let{adapters:e}=await T.request(D.adapter.list,{});h(e),v(new Set(e.filter(e=>e.enabled).map(e=>e.adapterName)))},[]),be=r(async e=>{(await T.request(D.adapter.setEnabled,{adapterName:e,enabled:!0})).success&&(await L(),_t.getState().invalidate())},[L]),xe=r(async e=>{(await T.request(D.adapter.setEnabled,{adapterName:e,enabled:!1})).success&&(v(t=>{let n=new Set(t);return n.delete(e),n}),await L(),_t.getState().invalidate())},[L]),Se=r(async e=>{x(t=>new Map([...t,[e,{status:`pending`}]])),I.current.get(e)?.abort();let t=new AbortController;I.current.set(e,t);let n=()=>{I.current.get(e)===t&&I.current.delete(e)},r;try{r=(await T.request(re.resolveId,{adapterName:e},{signal:t.signal})).adapterId}catch(r){if(n(),t.signal.aborted)return{status:`pending`};let i={status:`error`,message:`Could not resolve adapter "${e}": ${r instanceof Error?r.message:String(r)}`};return x(t=>new Map([...t,[e,i]])),i}try{if(t.signal.aborted)return{status:`pending`};let n=await Rt(e);if(t.signal.aborted)return{status:`pending`};let i=Date.now(),a={adapterId:r,prompt:`Reply with the single word: OK`,...n&&{providerContext:n}};if(await T.request(te.infer,a,{timeout:3e4,signal:t.signal}),t.signal.aborted)return{status:`pending`};let o={status:`success`,durationMs:Date.now()-i};return x(t=>new Map([...t,[e,o]])),o}catch(n){if(t.signal.aborted)return{status:`pending`};let r={status:`error`,message:n instanceof Error?n.message:String(n)};return x(t=>new Map([...t,[e,r]])),r}finally{n()}},[]),Ce=r((e,t)=>{C(n=>new Map([...n,[e,t]]))},[]),R=r(e=>{ne(e)},[]),we=r(async()=>{let e=++F.current;A(!0),fe(null);try{let{adapters:t,clients:n}=await Ct();if(F.current!==e)return;le(t),he(n);let r=new Set(n.filter(e=>e.found).map(e=>e.clientId));M(e=>e.size===0?r:new Set([...e].filter(e=>r.has(e))))}catch(t){if(F.current!==e)return;let n=t instanceof Error?t:Error(String(t));throw fe(n),n}finally{F.current===e&&A(!1)}},[]),z=r((e,t)=>{se(n=>new Map([...n,[e,t]])),X(e,t,N.current,l).catch(t=>{console.error(`[useOnboardingFlow] Failed to persist plugin toggle for ${e}:`,t)})},[l]),Te=r(e=>M(t=>new Set([...t,e])),[]),Ee=r(e=>{M(t=>{let n=new Set(t);return n.delete(e),n})},[]),B=r(async()=>{_e(await Tt(T))},[]),De=r(async e=>Lt(e,B),[B]),V=r(async e=>{await T.request(E.deleteProviderConfig,{id:e}),await B(),ye(t=>t.filter(t=>t.providerConfigId!==e))},[B]),H=r(async e=>{let{bindings:t}=await T.request(E.listBindings,{adapterName:e});ye(n=>[...n.filter(t=>t.adapterName!==e),...t])},[]),Oe=r(async(e,t)=>{await T.request(E.bind,{adapterName:e,providerConfigId:t}),await H(e)},[H]),U=r(async(e,t)=>{await T.request(E.unbind,{adapterName:e,providerConfigId:t}),await H(e)},[H]),W=r(async(e,t)=>{await T.request(E.setDefaultBinding,{adapterName:e,providerConfigId:t}),await H(e)},[H]),ke=o(()=>({enableAdapter:be,disableAdapter:xe,runHealthCheck:Se,setLogImportMode:Ce,setDefaultAgent:R,refreshAdapterList:L,togglePlugin:z,scan:we,selectClient:Te,deselectClient:Ee,createProviderConfig:De,deleteProviderConfig:V,bindProvider:Oe,unbindProvider:U,setDefaultProvider:W,refreshProviderConfigs:B,refreshBindings:H}),[be,xe,Se,Ce,R,L,z,we,Te,Ee,De,V,Oe,U,W,B,H]),Ae=r(()=>{f(e=>Math.min(e+1,u.length-1))},[u.length]),G=r(()=>{f(e=>Math.max(e-1,0))},[]),K=r(async e=>{w&&i(w);let t=Array.from(S.entries());if(await Promise.all(t.map(([e,t])=>T.request(ie.setMode,{adapterName:e,mode:t},{timeout:8e3}))),await Promise.all(Array.from(k.entries()).map(([e,t])=>X(e,t,N.current,l))),e){for(let e of O)if(!k.has(e.name)){let t=m(g(e.name));X(e.name,t,N.current,l).catch(t=>{console.error(`[useOnboardingFlow] Failed to persist default extension state for ${e.name}:`,t)})}}},[l,S,w,i,O,k]),q=r(async()=>{try{await K(!1)}catch(e){console.error(`[useOnboardingFlow] Failed to persist selections on skip:`,e)}finally{n()}},[K,n]),je=r(async()=>{try{await K(!0)}catch(e){console.error(`[useOnboardingFlow] Failed to persist selections on complete:`,e)}finally{It(t)}},[K,t]),J=o(()=>({adapters:p,enabledAdapterNames:_,healthCheckResults:b,logImportSelections:S,defaultAgentSelection:w,extensions:O,pluginEnabledStates:k,scanAdapters:ce,isScanning:ue,scanError:de,scanClients:me,selectedClientIds:pe,providerConfigs:ge,adapterProviderBindings:ve}),[p,_,b,S,w,O,k,ce,ue,de,me,pe,ge,ve]),Y=u[d]??u[0];if(Y===void 0)throw Error(`useOnboardingFlow: no active steps found. Call registerCoreOnboardingSteps() before mounting the onboarding flow.`);return{activeSteps:u,currentStepIndex:d,currentStep:Y,flowState:J,actions:ke,goNext:Ae,goBack:G,skip:q,complete:je}}const Bt=Object.assign(zt,{registerCreateProviderConfig:Nt,unregisterCreateProviderConfig:Pt});function Vt(e){let t=j(),[n,r]=c([]),[i,o]=c(!1),[s,l]=c(null);return a(()=>{let n=!0;return e?(o(!0),l(null),Dt(t,e).then(e=>{n&&r(e)}).catch(e=>{n&&(r([]),l(e instanceof Error?e:Error(String(e))))}).finally(()=>{n&&o(!1)}),()=>{n=!1}):(r([]),o(!1),l(null),()=>{n=!1})},[t,e]),{options:n,isLoading:i,error:s}}export{A as BusContext,de as BusProvider,Ve as addWidgetToFocusLayout,Mt as authDraftRequiresStorage,At as authMethodRefKey,kt as buildProviderConfigAuthDraft,Q as buildScanContext,dt as clearOnboardingCompleted,st as clearOnboardingSkipped,jt as compileProviderConfigAuthDraft,Be as createEmptyFocusContextLayout,Ot as createInitialAuthFieldDrafts,J as createPersistedStore,lt as getOnboardingCompleted,at as getOnboardingSkipped,Et as getProviderConfigDetailView,Je as groupPagesByNavigationGroup,pt as isPersistableProjectSelection,Dt as listCompatibleAuthOptions,Tt as listProviderConfigSummaryViews,De as loadExtensionBrowserContributions,q as noopStorage,ft as parsePersistedAgentSelection,X as persistPluginEnabled,et as registerCoreOnboardingSteps,qe as registerNavigationHandler,He as removeWidgetFromFocusLayout,Ct as scanOnboarding,xt as scanOnboardingAdapters,St as scanOnboardingClients,ut as setOnboardingCompleted,ot as setOnboardingSkipped,We as updateFocusContextWidgetPosition,Ue as updateFocusContextWidgetSize,ht as useAppContext,j as useBus,me as useBusEvent,pe as useBusQuery,Vt as useCompatibleAuthOptions,ze as useFocusStore,Ge as useNavigationLevel,Bt as useOnboardingFlow,fe as useOptionalBus,$e as usePageComponent,Ye as usePageDefinitions,Pe as usePageOverlayStore,Xe as usePages,_t as useProviderStore,Ie as useSidebarStore,be as useTrayLayout,N as useWidgetConfig,P as useWidgetLayout,I as useWidgetLayoutActions,ve as useWidgetRegistry,_e as useWidgets,Ne as useWindowContext,Qe as useWindowIdPages};
1
+ import e,{createContext as t,lazy as n,useCallback as r,useContext as i,useEffect as a,useMemo as o,useRef as s,useState as c,useSyncExternalStore as l}from"react";import{jsx as u}from"react/jsx-runtime";import{PreferencesSubjects as d}from"@makaio/framework/services/preferences";import{UiSubjects as f,deriveBrowserTarget as p,deriveDefaultEnabled as m,deriveTrayLayout as h,findCategory as g,isOverlayMode as _,isWidgetLayout as v,onboardingStepRegistry as y,pageDefinitionRegistry as b,queryPageDefinitions as x,runCleanupsInReverse as S,subscribeToWidgetEvents as C,widgetRegistry as w}from"@makaio/framework/ui-kernel";import{ExtensionSubjects as ee}from"@makaio/framework/kernel";import{AdapterSubjects as te,AgentSelectionSchema as ne,AutomationTriggerSubjects as T}from"@makaio/framework/contracts";import{MakaioBus as E}from"@makaio/framework/bus";import{AdapterRuntimeSubjects as re}from"@makaio/framework/services/adapter-runtime";import{AdapterSubsystemSubjects as D}from"@makaio/framework/services/adapter-subsystem";import{LogImportSubjects as ie}from"@makaio/framework/services/log-import/log-import";import{SettingsSubjects as O}from"@makaio/framework/services/settings/namespace";import{ExtensionConfigStorageSubjects as ae}from"@makaio/framework/services/settings/storage/extension-configs/namespace";import{resolveRuntimeProviderContext as oe}from"@makaio/framework/services/provider-context";import{ClientStorageSubjects as k,ProviderStorageSubjects as A}from"@makaio/framework/services/settings/storage";import{ClientSubjects as j}from"@makaio/framework/contracts/client";import{AuthCredentialRefSchema as se,ProviderConfigAuthSchema as M}from"@makaio/framework/contracts/auth";import{buildStoredCredentialRef as ce}from"@makaio/framework/contracts/config";const N=t(null);function le({bus:e,children:t}){return u(N.Provider,{value:e,children:t})}function P(){let e=i(N);if(!e)throw Error(`useBus must be used within a BusProvider`);return e}function ue(){return i(N)}function F({subject:e,request:t,skip:n=!1,refetchOn:i=[]}){let l=P(),[u,d]=c(),[f,p]=c(!n),[m,h]=c(),g=o(()=>{if(t===void 0)return{deserializable:!0};try{let e=JSON.stringify(t);return e===void 0?{deserializable:!1}:{serialized:e,deserializable:!0}}catch{return{deserializable:!1}}},[t]),_=g.deserializable?g.serialized:`non-serializable-request`,v=o(()=>{if(g.deserializable&&g.serialized!==void 0)return JSON.parse(g.serialized)},[_,g.deserializable,g.serialized]),y=s(i);y.current=i;let b=o(()=>i.map(de).join(`,`),[i]),x=s(b);x.current!==b&&(x.current=b);let S=x.current,C=s(0),w=r(async()=>{let t=++C.current;p(!0),h(void 0);try{if(!g.deserializable)throw Error(`useBusQuery request must be JSON-serializable.`);let n=await l.request(e,v);t===C.current&&d(n)}catch(e){t===C.current&&h(e instanceof Error?e:Error(String(e)))}finally{t===C.current&&p(!1)}},[l,e,_,v,g.deserializable]);return a(()=>{n||w()},[w,n]),a(()=>{if(n||y.current.length===0)return;let e=y.current.map(e=>l.on(e,(()=>void w())));return()=>{for(let t of e)t()}},[l,S,w,n]),{data:u,loading:f,error:m,refetch:w}}function de(e){return JSON.stringify({subject:String(e.subject),meta:e.$meta})}function fe(e,t){let n=P(),r=s(t);r.current=t,a(()=>n.on(e,(e=>r.current(e))),[n,e])}function pe(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.getPrototypeOf(e)===Object.prototype}const me=Object.freeze([]);function he(e={}){let{builtIns:t=me,scope:n,includeAny:i=!0}=e,s=P(),[u,d]=c(!1);a(()=>{w.registerAll(t)},[t]),a(()=>{let e=C(s);return d(!0),()=>{e(),d(!1)}},[s]);let f=r(e=>w.subscribe(e),[]),p=r(()=>w.getAll(),[]),m=l(f,p,p),h=o(()=>n?w.getByScope(n,i):m,[m,i,n]);return{builtInWidgets:t,loading:!u,widgets:u?h:void 0}}function I(e={}){let{scope:t,includeAny:n=!0}=e,i=r(e=>w.subscribe(e),[]),a=r(()=>w.getAll(),[]),s=l(i,a,a);return o(()=>t?w.getByScope(t,n):s,[s,n,t])}function L(e){return e.contextId?`${e.scope}:${e.contextId}`:e.scope}function R(e){let{paneId:t,widgetId:n,context:i,surface:l,defaultConfig:u}=e,f=P(),[p,m]=c(u),h=s(0),g=o(()=>L(i),[i.contextId,i.scope]),_=o(()=>({category:`widget-config:${t}:${n}`,key:{scope:g,surface:l}}),[g,t,l,n]),v=o(()=>structuredClone(u),[u]);a(()=>{let e=++h.current,t=()=>h.current===e;return m(v),(async()=>{try{let{value:e}=await f.request(d.get,{category:_.category,key:_.key});if(!t())return;pe(e)&&m(t=>({...t,...e}))}catch{}})(),()=>{++h.current}},[f,v,_]);let y=r(async e=>{try{await f.request(d.set,{category:_.category,key:_.key,value:e})}catch{}},[f,_]);return{config:p,updateConfig:r(e=>{m(t=>{let n={...t,...e};return y(n),n})},[y])}}function z(e){let t=P(),[n,i]=c(null),[o,s]=c(!0),[l,u]=c(null),f=r(async()=>{s(!0),u(null);try{let{value:n}=await t.request(d.get,{category:`widget-layout`,key:e});i(v(n)?n:null)}catch(e){u(e instanceof Error?e:Error(`Failed to load layout`)),i(null)}finally{s(!1)}},[t,e]);return a(()=>{f()},[f]),{layout:n,isLoading:o,error:l,refresh:f}}const B=`widget-layout`;function V(){let e=P();return{saveLayout:r(async(t,n)=>{await e.request(d.set,{category:B,key:t,value:n})},[e]),resetLayout:r(async t=>{await e.request(d.delete,{category:B,key:t})},[e])}}const ge=Object.freeze([]);function _e(e=ge){let t=r(e=>w.subscribe(e),[]),n=r(()=>w.getAll(),[]),i=l(t,n,n);return o(()=>h(i,e),[i,e])}async function ve(e){return import(e)}function ye(e){return e.kind===`resolved`&&e.factory!==void 0}function be(e){return e.filter(e=>e.state===`active`&&e.browser?.entrypoint)}function H(){return{cleanups:[],errorMessage:null,shell:null,state:`empty`}}function xe(e){return e===`cancelled`}function U(e,t,n,r){return{cleanups:e,errorMessage:r,shell:n,state:t}}async function Se(e,t){let{bus:n,isCurrentRun:r,waitForRuntimeReady:i}=e,a=i(n);t.push(a.cleanup);let o=await a.ready;if(xe(o))return S(t,`[ExtensionBrowserLoader]`),{kind:`aborted`};if(o===`timeout`)return{kind:`result`,result:U(t,`error`,null,`The Makaio runtime did not respond. The service may have failed to start — try restarting the application or check the logs for errors.`)};if(!r())return S(t,`[ExtensionBrowserLoader]`),{kind:`aborted`};let{extensions:s}=await n.request(ee.list,{}),c=be(s);return c.length===0?{kind:`result`,result:U(t,`empty`,null,null)}:{browserExtensions:c,kind:`ok`}}function W(e){let t=e.browser.entrypoint,n;try{n=new URL(t,globalThis.location.origin)}catch{return console.warn(`[ExtensionBrowserLoader] Extension "${e.name}" has malformed entrypoint "${t}"`),null}return n.origin!==globalThis.location.origin||!n.pathname.startsWith(`/extensions/`)?(console.warn(`[ExtensionBrowserLoader] Extension "${e.name}" has unsafe entrypoint "${t}" (must stay under /extensions/)`),null):n.pathname}async function Ce(e,t,n,r){let{bus:i,getRegisteredFactory:a,importModule:o=ve,isCurrentRun:s,registerExtensionUI:c,resolveFactory:l,unregisterFactory:u}=e,d=W(t);if(d===null)return{failed:!0,kind:`ok`,shell:r};let f=[()=>u(t.name)];try{let e=await o(d);if(!s())return S(f,`[ExtensionBrowserLoader] ${t.name}`),S(n,`[ExtensionBrowserLoader]`),{kind:`aborted`};let u=l(e.default,a(t.name));if(!ye(u))return S(f,`[ExtensionBrowserLoader] ${t.name}`),console.warn(`[ExtensionBrowserLoader] Extension "${t.name}" has invalid browser factory (${u.reason??`unknown resolution error`})`),{failed:!0,kind:`ok`,shell:r};let p=u.factory({bus:i});if(!p||typeof p!=`object`)return S(f,`[ExtensionBrowserLoader] ${t.name}`),console.warn(`[ExtensionBrowserLoader] Extension "${t.name}" factory returned invalid contribution (expected object, got ${p===null?`null`:typeof p})`),{failed:!0,kind:`ok`,shell:r};p.destroy&&f.push(p.destroy),f.push(c(i,t.name,p));let m=r;return p.shell&&(m!==null&&console.warn(`[ExtensionBrowserLoader] Extension "${t.name}" replaces the previously registered shell (shell contributions are last-wins)`),m=p.shell.component),n.push(...f),{failed:!1,kind:`ok`,shell:m}}catch(e){return S(f,`[ExtensionBrowserLoader] ${t.name}`),console.error(`[ExtensionBrowserLoader] Failed to load extension "${t.name}":`,e),{failed:!0,kind:`ok`,shell:r}}}async function we(e){let t=[];try{let n=await Se(e,t);if(n.kind===`aborted`)return H();if(n.kind===`result`)return n.result;let r=0,i=null;for(let a of n.browserExtensions){let n=await Ce(e,a,t,i);if(n.kind===`aborted`)return H();i=n.shell,n.failed&&(r+=1)}return e.isCurrentRun()?i===null?r>0?U(t,`error`,null,`One or more extensions failed to load before providing workspace chrome.`):U(t,`empty`,null,null):U(t,`ready`,i,null):(S(t,`[ExtensionBrowserLoader]`),H())}catch(e){return console.error(`[ExtensionBrowserLoader] Failed to query extensions:`,e),U(t,`error`,null,e instanceof Error?e.message:String(e))}}const G=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},Te=(e=>e?G(e):G),Ee=e=>e;function De(t,n=Ee){let r=e.useSyncExternalStore(t.subscribe,e.useCallback(()=>n(t.getState()),[t,n]),e.useCallback(()=>n(t.getInitialState()),[t,n]));return e.useDebugValue(r),r}const Oe=e=>{let t=Te(e),n=e=>De(t,e);return Object.assign(n,t),n},ke=(e=>e?Oe(e):Oe);function Ae(e,t){let n;try{n=e()}catch{return}return{getItem:e=>{let r=e=>e===null?null:JSON.parse(e,t?.reviver),i=n.getItem(e)??null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,r)=>n.setItem(e,JSON.stringify(r,t?.replacer)),removeItem:e=>n.removeItem(e)}}const K=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return K(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return K(t)(e)}}}},je=(e,t)=>(n,r,i)=>{let a={storage:Ae(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,s=0,c=new Set,l=new Set,u=a.storage;if(!u)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),n(...e)},r,i);let d=()=>{let e=a.partialize({...r()});return u.setItem(a.name,{state:e,version:a.version})},f=i.setState;i.setState=(e,t)=>(f(e,t),d());let p=e((...e)=>(n(...e),d()),r,i);i.getInitialState=()=>p;let m,h=()=>{if(!u)return;let e=++s;o=!1,c.forEach(e=>e(r()??p));let t=a.onRehydrateStorage?.call(a,r()??p)||void 0;return K(u.getItem.bind(u))(a.name).then(e=>{if(e)if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state];return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(m=a.merge(o,r()??p),n(m,!0),i)return d()}).then(()=>{e===s&&(t?.(r(),void 0),m=r(),o=!0,l.forEach(e=>e(m)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(u=e.storage)},clearStorage:()=>{u?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>h(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},a.skipHydration||h(),m||p},q={length:0,clear:()=>{},getItem:()=>null,key:()=>null,removeItem:()=>{},setItem:()=>{}};function Me(e){let t=`__makaio_storage_probe__`,n=n=>{let r=null,i=!1;try{return r=n.getItem(t),i=r!==null,n.setItem(t,`1`),!0}catch{return!1}finally{try{i&&r!==null?n.setItem(t,r):n.removeItem(t)}catch(t){console.warn(`[createPersistedStore] Storage probe cleanup failed`,{type:e,error:t})}}};try{return e===`localStorage`?typeof localStorage>`u`?q:n(localStorage)?localStorage:q:typeof sessionStorage>`u`?q:n(sessionStorage)?sessionStorage:q}catch{return q}}function J(e,t){let{name:n,storage:r=`sessionStorage`,version:i,partialize:a,merge:o,extraPersistOptions:s}=t,c={name:n,storage:Ae(()=>Me(r)),...i===void 0?{}:{version:i},...a?{partialize:a}:{},...o?{merge:o}:{},...s};return ke()(je(e,c))}const Ne={level:`root`,values:{}};function Pe(e){return{level:e.level,values:{...e.values}}}const Y=J(e=>({windowId:null,uiContext:Pe(Ne),activePaneId:null,setWindowId:t=>e(e=>e.windowId!==null&&e.windowId!==t?{}:{windowId:t}),setUiContext:t=>e({uiContext:Pe(t),activePaneId:null}),setActivePaneId:t=>e({activePaneId:t}),clearUiContext:()=>e({uiContext:Pe(Ne),activePaneId:null})}),{name:`makaio-window-context`,storage:`sessionStorage`,partialize:e=>({uiContext:e.uiContext})}),Fe=J(e=>({activePageId:null,internalRoute:null,openPage:(t,n)=>e({activePageId:t,internalRoute:n??null}),close:()=>e({activePageId:null,internalRoute:null}),navigate:t=>e(e=>({internalRoute:t,activePageId:e.activePageId}))}),{name:`makaio-page-overlay`,storage:`sessionStorage`});function Ie(e,t,n){return{collapsedByLevel:{...e.collapsedByLevel,[t]:n}}}const Le=J((e,t)=>({collapsedByLevel:{},isCollapsed:e=>t().collapsedByLevel[e]??!1,toggle:t=>e(e=>Ie(e,t,!(e.collapsedByLevel[t]??!1))),setCollapsed:(t,n)=>e(e=>Ie(e,t,n))}),{name:`makaio-sidebar`,storage:`localStorage`}),Re={onboarding:{id:`onboarding`,name:`Welcome`,isPreset:!0},chat:{id:`chat`,name:`Chat`,isPreset:!0,quickPromptSuggestions:[`Help me understand this code`,`What are the key files in this project?`,`Explain the architecture`]},git:{id:`git`,name:`Git`,isPreset:!0,quickPromptSuggestions:[`Show recent commits`,`What changed in this branch?`,`Create a new branch`]},review:{id:`review`,name:`Code Review`,isPreset:!0,quickPromptSuggestions:[`Review this pull request`,`Show file differences`,`Add review comments`]},planning:{id:`planning`,name:`Planning`,isPreset:!0,quickPromptSuggestions:[`Break down this task`,`Create implementation plan`,`Estimate complexity`]},settings:{id:`settings`,name:`Settings`,isPreset:!0},dashboard:{id:`dashboard`,name:`Dashboard`,isPreset:!0,quickPromptSuggestions:[`Show recent projects`,`Open a workspace`,`Create a new project`]}},ze={activeFocus:Re.chat},Be=J((e,t)=>({activeFocus:ze.activeFocus,setActiveFocus:t=>{let n=Re[t];if(!n){console.error(`[focusStore] Unknown focus preset id: ${t}`);return}e({activeFocus:n})},setActiveFocusContext:t=>{e({activeFocus:t})},setFocusContextLayout:n=>{let{activeFocus:r}=t();e({activeFocus:{...r,layout:n}})},getFocusContextLayout:()=>t().activeFocus.layout}),{name:`makaio-focus`,storage:`sessionStorage`});function Ve(){return{version:1,widgets:[]}}function He(e,t){return e.widgets.some(e=>e.widgetId===t.widgetId)?e:{...e,widgets:[...e.widgets,t]}}function Ue(e,t){return e.widgets.some(e=>e.widgetId===t)?{...e,widgets:e.widgets.filter(e=>e.widgetId!==t)}:e}function We(e,t,n){return e.widgets.some(e=>e.widgetId===t)?{...e,widgets:e.widgets.map(e=>e.widgetId===t?{...e,size:n}:e)}:e}function Ge(e,t,n){return e.widgets.some(e=>e.widgetId===t)?{...e,widgets:e.widgets.map(e=>e.widgetId===t?{...e,...n}:e)}:e}function Ke(){return Y(e=>e.uiContext.level)}const qe=new Set([`http:`,`https:`]);function Je(e){return e.on(f.navigate,e=>{let{url:t}=e.payload,n;try{n=new URL(t,window.location.href)}catch{throw Error(`[registerNavigationHandler] Invalid URL: ${t}`)}if(!qe.has(n.protocol))throw Error(`[registerNavigationHandler] Unsafe URL protocol "${n.protocol}" in: ${t}`);let r=n.toString(),i=p(n.pathname+n.search+n.hash);window.open(r,i,`noopener,noreferrer`),e.setResult({action:`navigated`})},{priority:10})}function Ye(e,t){let n=e.filter(e=>e.group!==void 0),r=new Map;for(let e of n){let t=e.group;r.has(t)||r.set(t,[]),r.get(t).push(e)}let i=[],a=new Set,o=[...t].sort((e,t)=>e.order-t.order);for(let e of o){let t=r.get(e.id)??[];i.push({config:e,pages:t}),a.add(e.id)}for(let[e,t]of r)if(!a.has(e)){let n={id:e,label:e,order:999};i.push({config:n,pages:t})}return i}function Xe(e){let t=r(e=>b.subscribe(e),[]),n=r(()=>b.getAll(),[]);return x(l(t,n,n),e)}function Ze(e){let t=Xe(e),n=Fe(e=>e.openPage),i=Fe(e=>e.activePageId),a=Be(e=>e.setActiveFocus),o=Be(e=>e.activeFocus.id),s=r(e=>_(e.mode)?()=>n(e.id):()=>{e.focusContext&&a(e.focusContext)},[n,a]);return t.map(e=>{let t;return t=e.isActive?e.isActive():_(e.mode)?i===e.id:e.focusContext?o===e.focusContext:!1,{...e,execute:s(e),isActive:t}})}function Qe(e,t){return e===void 0?!0:Array.isArray(e)?e.includes(t):e===t}function $e(e){let t=Y(e=>e.windowId),n=Ze(e);return t?n.filter(e=>Qe(e.windowId,t)):n}function et(e,t=0){let i=r(t=>e===null?()=>void 0:b.subscribe(t),[e]),a=r(()=>{if(e!==null)return b.get(e)},[e]),s=l(i,a,a);return o(()=>{if(s)return{Component:n(s.component),definition:s}},[s,t])}const tt=[T.changed],nt={};function rt(){let{data:e,loading:t,error:n,refetch:r}=F({subject:T.list,request:nt,refetchOn:tt});return o(()=>({data:e?.triggers,loading:t,error:n,refetch:r}),[e,t,n,r])}function it(e){let t=[],n=e=>{t.push(y.register(e))};return n({id:`welcome`,title:`Welcome`,kaiState:`wave`,order:10,skippable:!1,component:e.WelcomeStep}),n({id:`clients`,title:`Clients`,kaiState:`neutral`,order:20,skippable:!0,component:e.ClientsStep}),n({id:`providers`,title:`Providers`,kaiState:`neutral`,order:25,skippable:!0,component:e.ProvidersStep}),n({id:`adapters`,title:`Tools`,kaiState:`neutral`,order:30,skippable:!0,component:e.AdaptersStep}),n({id:`preferences`,title:`Preferences`,kaiState:`smile`,order:35,skippable:!0,component:e.PreferencesStep}),n({id:`plugins`,title:`Plugins`,kaiState:`neutral`,order:40,skippable:!0,condition:e=>e.extensions.length>0,component:e.PluginsStep}),n({id:`done`,title:`All Set`,kaiState:`success`,order:50,skippable:!1,component:e.DoneStep}),()=>{for(let e of t)e()}}function at(e){try{return localStorage.getItem(e)===`true`}catch{return!1}}function ot(e){try{localStorage.setItem(e,`true`)}catch{}}function st(e){try{localStorage.removeItem(e)}catch{}}const ct=`makaio-onboarding-skipped`;function lt(){return at(ct)}function ut(){ot(ct)}function dt(){st(ct)}const ft=`makaio-onboarding-completed`;function pt(){return at(ft)}function mt(){ot(ft)}function ht(){st(ft)}function X(e,t,n,r){let i=n.get(e)??{id:`onboarding-${e}`,config:void 0};return n.set(e,i),r.request(ae.setEnabled,{extensionName:e,scope:`default`,enabled:t}).then(t=>(n.set(e,{...i,id:t.id}),t))}function gt(e){let t=ne.safeParse(e);if(!t.success)return null;let n=t.data;if(n.kind===`model`){let e=Z(n.adapterName),t=Z(n.model),r=Z(n.providerConfigId)??Z(n.providerId);return!e||!t?null:{kind:`adapter`,adapterName:e,model:t,...r?{providerConfigId:r}:{}}}if(n.kind===`virtualModel`){let e=Z(n.virtualModelId);return e?{kind:`virtual-model`,virtualModelId:e}:null}switch(n.kind){case`adapter`:{let e=Z(n.adapterName);if(!e)return null;let t=Z(n.model),r=Z(n.providerConfigId);return{kind:`adapter`,adapterName:e,...t?{model:t}:{},...r?{providerConfigId:r}:{}}}case`persona`:{let e=Z(n.personaId);return e?{kind:`persona`,personaId:e}:null}case`profile`:{let e=Z(n.profileId);return e?{kind:`profile`,profileId:e}:null}case`virtual-model`:{let e=Z(n.virtualModelId);return e?{kind:`virtual-model`,virtualModelId:e}:null}default:return null}}function _t(e){return e.kind===`adapter`?typeof e.adapterName==`string`&&e.adapterName.trim().length>0&&typeof e.providerConfigId==`string`&&e.providerConfigId.trim().length>0&&typeof e.model==`string`&&e.model.trim().length>0:!0}function Z(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function vt(e,t){if(typeof e==`object`&&e&&`defaultSelection`in e){let n=e.defaultSelection;if(n==null)return t;let r=gt(n);return r===null?t:{...t,defaultSelection:r}}return t}const yt=J(e=>({defaultSelection:null,setDefaultSelection:t=>e({defaultSelection:t})}),{name:`makaio-app-context`,storage:`localStorage`,merge:vt});async function bt(){let[{configs:e},{configs:t},{providers:n}]=await Promise.all([E.request(D.listProviderConfigs,{enabled:!0}),E.request(D.listAdapterConfigs,{}),E.request(A.list,{})]),r=new Map(n.map(e=>[e.id,e])),i=new Map;for(let e of t){if(!e.enabled)continue;let t=e.displayName??e.name;for(let n of e.bindings){let e={adapterName:n.adapterName,displayLabel:t},r=i.get(n.providerConfigId);r?r.push(e):i.set(n.providerConfigId,[e])}}return e.map(e=>({providerConfigId:e.id,definitionId:e.definitionId,name:e.name,availableModels:r.get(e.definitionId)?.availableModels??[],isDefault:e.isDefault,enabled:e.enabled,modelFilterMode:e.modelFilterMode,modelVisibility:e.modelVisibility,boundAdapters:i.get(e.id)??[]}))}const xt=ke((e,t)=>({providers:[],isLoading:!1,error:null,_fetchPromise:null,_hasFetched:!1,_fetchGeneration:0,fetchProviders:async()=>{let n=t();if(n._hasFetched&&!n.isLoading)return Promise.resolve();if(n._fetchPromise)return n._fetchPromise;let r=t()._fetchGeneration;e({isLoading:!0,error:null});let i=bt().then(e=>{t()._fetchGeneration===r&&(console.debug(`[providerStore] providers:`,e.map(e=>({providerConfigId:e.providerConfigId,definitionId:e.definitionId,name:e.name}))),t().setProviders(e))}).catch(e=>{if(t()._fetchGeneration!==r)return;let n=e instanceof Error?e:Error(String(e));t().setError(n)}).finally(()=>{e(e=>e._fetchPromise===i?{_fetchPromise:null}:{})});return e({_fetchPromise:i}),i},invalidate:()=>{e(e=>({_hasFetched:!1,_fetchPromise:null,_fetchGeneration:e._fetchGeneration+1,isLoading:!1}))},setProviders:t=>{e({providers:t,isLoading:!1,error:null,_hasFetched:!0})},setError:t=>{e({error:t,isLoading:!1})}}));async function Q(){let[{clients:e},{adapters:t}]=await Promise.all([E.request(k.list,{}),E.request(O.adapter.list,{})]),n=e.filter(e=>e.enabled&&e.binary!==void 0).map(e=>({id:e.id,name:e.name,binary:e.binary.name,supportedVersions:e.binary.supportedVersions}));if(n.length===0)return null;let{results:r}=await E.request(j.scan,{targets:n.map(e=>({clientId:e.id,binaryName:e.binary,supportedVersions:e.supportedVersions}))}),i=new Map(r.map(e=>[e.clientId,e])),a=n.map(e=>{let t=i.get(e.id);return{id:e.id,name:e.name,binary:e.binary,found:t?.found??!1,version:t?.version,warningMessage:t?.warningMessage}}),o=new Map;for(let e of t){if(!e.clientId)continue;let t=o.get(e.clientId);t?t.push(e.adapterName):o.set(e.clientId,[e.adapterName])}return{scannedClients:a,adaptersByClientId:o}}function St(e){let{scannedClients:t,adaptersByClientId:n}=e,r=[];for(let e of t){let t=n.get(e.id);if(t?.length)for(let n of t)r.push({adapterName:n,displayName:e.name,binary:e.binary,found:e.found,version:e.version,warningMessage:e.warningMessage})}return r}function Ct(e){let t=e.toLowerCase();return t.includes(`cli`)?0:t.includes(`sdk`)?1:2}function wt(e){let{scannedClients:t,adaptersByClientId:n}=e,r=[];for(let e of t){let t=(n.get(e.id)??[]).sort((e,t)=>{let n=Ct(e),r=Ct(t);return n===r?e.localeCompare(t):n-r});r.push({clientId:e.id,name:e.name,binary:e.binary,found:e.found,version:e.version,warningMessage:e.warningMessage,adapterNames:t})}return r}async function Tt(){let e=await Q();return e?St(e):[]}async function Et(){let e=await Q();return e?wt(e):[]}async function Dt(){let e=await Q();return e?{adapters:St(e),clients:wt(e)}:{adapters:[],clients:[]}}function Ot(e,t){return{...e,supportedProtocols:t==null?[]:Object.keys(t.endpoints??{})}}async function kt(e,t={}){let[{configs:n},{providers:r}]=await Promise.all([e.request(D.listProviderConfigs,t),e.request(A.list,{})]),i=new Map(r.map(e=>[e.id,e]));return n.map(e=>Ot(e,i.get(e.definitionId)))}async function At(e,t){let{config:n}=await e.request(D.getProviderConfig,{id:t});if(n===null)return null;let{provider:r}=await e.request(A.get,{id:n.definitionId});return Ot(n,r)}async function jt(e,t){let{options:n}=await e.request(D.listCompatibleAuthOptions,{definitionId:t});return n}function Mt(e){return e.mode===`explicit`?Object.fromEntries(e.fields.map(({id:e})=>[e,{source:`stored`,value:``}])):{}}function Nt(e,t={},n){if(e.mode===`explicit`){if(n)throw Error(`Explicit authentication cannot select a native account.`);let r=new Map(e.fields.map(e=>[e.id,e])),i=Object.keys(t).find(e=>!r.has(e));if(i)throw Error(`Authentication field "${i}" is not declared by method "${e.method.methodId}".`);let a={};for(let n of e.fields){let e=t[n.id];if(!e||e.source===`stored`&&e.value.length===0){if(n.required)throw Error(`Complete the required field: ${n.label}.`);continue}if(e.source===`environment`&&!n.sourceHints.some(t=>t.kind===`environment`&&t.variable===e.variable))throw Error(`Environment source "${e.variable}" is not declared for authentication field "${n.id}".`);a[n.id]=e}return{mode:e.mode,method:{...e.method},fields:a}}if(Object.keys(t).length>0)throw Error(`${e.mode} authentication cannot contain credential fields.`);if(e.mode===`inferred`)return{mode:e.mode,method:{...e.method},...n?{account:{...n}}:{}};if(n)throw Error(`No-auth authentication cannot select a native account.`);return{mode:e.mode,method:{...e.method}}}function Pt(e){return e.owner===`provider`?`provider:${e.providerDefinitionId}:${e.methodId}`:`client:${e.clientId}:${e.methodId}`}function Ft(e,t){if(e.mode!==`explicit`)return{auth:M.parse(e.mode===`inferred`?{mode:e.mode,method:{...e.method},...e.account?{account:{...e.account}}:{}}:{mode:e.mode,method:{...e.method}}),storedCredentials:{}};let n={},r={};for(let[i,a]of Object.entries(e.fields)){if(a.source===`environment`){n[i]=se.parse(`env:${a.variable}`);continue}if(!t)throw Error(`Stored authentication fields require the final provider-config ID.`);if(a.value.length===0)throw Error(`Stored authentication field "${i}" cannot be empty.`);n[i]=ce(t,i),r[i]=a.value}return{auth:M.parse({mode:e.mode,method:{...e.method},credentialRefs:n}),storedCredentials:r}}function It(e){return e.mode===`explicit`&&Object.values(e.fields).some(({source:e})=>e===`stored`)}let $=null;function Lt(e){if($===null)$={creator:e,count:1};else if($.creator===e)$.count+=1;else throw Error(`useOnboardingFlow: only one host-owned create bridge may be registered at a time.`);return()=>Rt(e)}function Rt(e){if($?.creator===e){if($.count===1){$=null;return}--$.count}}function zt(e){return e}function Bt(e){try{mt()}catch(e){console.error(`[useOnboardingFlow] Failed to persist completion flag:`,e)}finally{e()}}async function Vt(e,t){let n=$?.creator??null;if(n){let r=await n(E,e);return await t(),r}if(It(e.auth))throw Error(`useOnboardingFlow: plaintext provider-config creation requires a host-owned create bridge.`);let{auth:r}=Ft(e.auth),{auth:i,...a}=e,{config:o}=await E.request(D.createProviderConfig,{...a,auth:r});return await t(),o.id}async function Ht(e){let t=await E.requestOptional(D.getDefaultBinding,{adapterName:e});if(!t.handled||!t.data.binding)return;let{binding:n}=t.data;return oe(E,{adapterName:n.adapterName,providerConfigId:n.providerConfigId})}function Ut({context:e,onComplete:t,onSkip:n}){let{setDefaultSelection:i}=yt(),l=P(),[u]=c(()=>{let t=zt(y.getAll());return Object.freeze(t.filter(t=>t.condition===void 0||t.condition(e)))}),[d,f]=c(0),[p,h]=c(e.adapters),[_,v]=c(()=>new Set(e.adapters.filter(e=>e.enabled).map(e=>e.adapterName))),[b,x]=c(()=>new Map),[S,C]=c(()=>new Map),[w,ne]=c(null),[T,oe]=c(()=>e.extensions),[k,A]=c(()=>new Map),[j,se]=c([]),[M,ce]=c(!1),[N,le]=c(null),[ue,F]=c(()=>new Set),[de,fe]=c([]),[pe,me]=c([]),[he,I]=c([]),L=s(new Map),R=s(0),z=s(0),B=s(new Map);a(()=>{let e=++R.current,t=()=>R.current===e;(async()=>{try{let[e,n]=await Promise.all([E.request(ee.list,{}),E.request(ae.list,{})]);if(!t())return;let r=new Map;for(let e of n.extensionConfigs)e.scope===`default`&&!r.has(e.extensionName)&&r.set(e.extensionName,{id:e.id,enabled:e.enabled,config:e.config});let i=new Map,a=new Map;for(let t of e.extensions){let e=r.get(t.name);e!==void 0&&(i.set(t.name,e.enabled),a.set(t.name,{id:e.id,config:e.config}))}oe(e.extensions),A(i),L.current=a}catch(e){if(!t())return;console.error(`[useOnboardingFlow] Failed to load extension list:`,e)}})()},[]),a(()=>()=>{for(let e of B.current.values())e.abort();B.current.clear()},[]);let V=r(async()=>{let{adapters:e}=await E.request(O.adapter.list,{});h(e),v(new Set(e.filter(e=>e.enabled).map(e=>e.adapterName)))},[]),ge=r(async e=>{(await E.request(O.adapter.setEnabled,{adapterName:e,enabled:!0})).success&&(await V(),xt.getState().invalidate())},[V]),_e=r(async e=>{(await E.request(O.adapter.setEnabled,{adapterName:e,enabled:!1})).success&&(v(t=>{let n=new Set(t);return n.delete(e),n}),await V(),xt.getState().invalidate())},[V]),ve=r(async e=>{x(t=>new Map([...t,[e,{status:`pending`}]])),B.current.get(e)?.abort();let t=new AbortController;B.current.set(e,t);let n=()=>{B.current.get(e)===t&&B.current.delete(e)},r;try{r=(await E.request(re.resolveId,{adapterName:e},{signal:t.signal})).adapterId}catch(r){if(n(),t.signal.aborted)return{status:`pending`};let i={status:`error`,message:`Could not resolve adapter "${e}": ${r instanceof Error?r.message:String(r)}`};return x(t=>new Map([...t,[e,i]])),i}try{if(t.signal.aborted)return{status:`pending`};let n=await Ht(e);if(t.signal.aborted)return{status:`pending`};let i=Date.now(),a={adapterId:r,prompt:`Reply with the single word: OK`,...n&&{providerContext:n}};if(await E.request(te.infer,a,{timeout:3e4,signal:t.signal}),t.signal.aborted)return{status:`pending`};let o={status:`success`,durationMs:Date.now()-i};return x(t=>new Map([...t,[e,o]])),o}catch(n){if(t.signal.aborted)return{status:`pending`};let r={status:`error`,message:n instanceof Error?n.message:String(n)};return x(t=>new Map([...t,[e,r]])),r}finally{n()}},[]),ye=r((e,t)=>{C(n=>new Map([...n,[e,t]]))},[]),be=r(e=>{ne(e)},[]),H=r(async()=>{let e=++z.current;ce(!0),le(null);try{let{adapters:t,clients:n}=await Dt();if(z.current!==e)return;se(t),fe(n);let r=new Set(n.filter(e=>e.found).map(e=>e.clientId));F(e=>e.size===0?r:new Set([...e].filter(e=>r.has(e))))}catch(t){if(z.current!==e)return;let n=t instanceof Error?t:Error(String(t));throw le(n),n}finally{z.current===e&&ce(!1)}},[]),xe=r((e,t)=>{A(n=>new Map([...n,[e,t]])),X(e,t,L.current,l).catch(t=>{console.error(`[useOnboardingFlow] Failed to persist plugin toggle for ${e}:`,t)})},[l]),U=r(e=>F(t=>new Set([...t,e])),[]),Se=r(e=>{F(t=>{let n=new Set(t);return n.delete(e),n})},[]),W=r(async()=>{me(await kt(E))},[]),Ce=r(async e=>Vt(e,W),[W]),we=r(async e=>{await E.request(D.deleteProviderConfig,{id:e}),await W(),I(t=>t.filter(t=>t.providerConfigId!==e))},[W]),G=r(async e=>{let{bindings:t}=await E.request(D.listBindings,{adapterName:e});I(n=>[...n.filter(t=>t.adapterName!==e),...t])},[]),Te=r(async(e,t)=>{await E.request(D.bind,{adapterName:e,providerConfigId:t}),await G(e)},[G]),Ee=r(async(e,t)=>{await E.request(D.unbind,{adapterName:e,providerConfigId:t}),await G(e)},[G]),De=r(async(e,t)=>{await E.request(D.setDefaultBinding,{adapterName:e,providerConfigId:t}),await G(e)},[G]),Oe=o(()=>({enableAdapter:ge,disableAdapter:_e,runHealthCheck:ve,setLogImportMode:ye,setDefaultAgent:be,refreshAdapterList:V,togglePlugin:xe,scan:H,selectClient:U,deselectClient:Se,createProviderConfig:Ce,deleteProviderConfig:we,bindProvider:Te,unbindProvider:Ee,setDefaultProvider:De,refreshProviderConfigs:W,refreshBindings:G}),[ge,_e,ve,ye,be,V,xe,H,U,Se,Ce,we,Te,Ee,De,W,G]),ke=r(()=>{f(e=>Math.min(e+1,u.length-1))},[u.length]),Ae=r(()=>{f(e=>Math.max(e-1,0))},[]),K=r(async e=>{w&&i(w);let t=Array.from(S.entries());if(await Promise.all(t.map(([e,t])=>E.request(ie.setMode,{adapterName:e,mode:t},{timeout:8e3}))),await Promise.all(Array.from(k.entries()).map(([e,t])=>X(e,t,L.current,l))),e){for(let e of T)if(!k.has(e.name)){let t=m(g(e.name));X(e.name,t,L.current,l).catch(t=>{console.error(`[useOnboardingFlow] Failed to persist default extension state for ${e.name}:`,t)})}}},[l,S,w,i,T,k]),je=r(async()=>{try{await K(!1)}catch(e){console.error(`[useOnboardingFlow] Failed to persist selections on skip:`,e)}finally{n()}},[K,n]),q=r(async()=>{try{await K(!0)}catch(e){console.error(`[useOnboardingFlow] Failed to persist selections on complete:`,e)}finally{Bt(t)}},[K,t]),Me=o(()=>({adapters:p,enabledAdapterNames:_,healthCheckResults:b,logImportSelections:S,defaultAgentSelection:w,extensions:T,pluginEnabledStates:k,scanAdapters:j,isScanning:M,scanError:N,scanClients:de,selectedClientIds:ue,providerConfigs:pe,adapterProviderBindings:he}),[p,_,b,S,w,T,k,j,M,N,de,ue,pe,he]),J=u[d]??u[0];if(J===void 0)throw Error(`useOnboardingFlow: no active steps found. Call registerCoreOnboardingSteps() before mounting the onboarding flow.`);return{activeSteps:u,currentStepIndex:d,currentStep:J,flowState:Me,actions:Oe,goNext:ke,goBack:Ae,skip:je,complete:q}}const Wt=Object.assign(Ut,{registerCreateProviderConfig:Lt,unregisterCreateProviderConfig:Rt});function Gt(e){let t=P(),[n,r]=c([]),[i,o]=c(!1),[s,l]=c(null);return a(()=>{let n=!0;return e?(o(!0),l(null),jt(t,e).then(e=>{n&&r(e)}).catch(e=>{n&&(r([]),l(e instanceof Error?e:Error(String(e))))}).finally(()=>{n&&o(!1)}),()=>{n=!1}):(r([]),o(!1),l(null),()=>{n=!1})},[t,e]),{options:n,isLoading:i,error:s}}export{N as BusContext,le as BusProvider,He as addWidgetToFocusLayout,It as authDraftRequiresStorage,Pt as authMethodRefKey,Nt as buildProviderConfigAuthDraft,Q as buildScanContext,ht as clearOnboardingCompleted,dt as clearOnboardingSkipped,Ft as compileProviderConfigAuthDraft,Ve as createEmptyFocusContextLayout,Mt as createInitialAuthFieldDrafts,J as createPersistedStore,pt as getOnboardingCompleted,lt as getOnboardingSkipped,At as getProviderConfigDetailView,Ye as groupPagesByNavigationGroup,_t as isPersistableProjectSelection,jt as listCompatibleAuthOptions,kt as listProviderConfigSummaryViews,we as loadExtensionBrowserContributions,q as noopStorage,gt as parsePersistedAgentSelection,X as persistPluginEnabled,it as registerCoreOnboardingSteps,Je as registerNavigationHandler,Ue as removeWidgetFromFocusLayout,Dt as scanOnboarding,Tt as scanOnboardingAdapters,Et as scanOnboardingClients,mt as setOnboardingCompleted,ut as setOnboardingSkipped,Ge as updateFocusContextWidgetPosition,We as updateFocusContextWidgetSize,yt as useAppContext,rt as useAutomationTriggerTypes,P as useBus,fe as useBusEvent,F as useBusQuery,Gt as useCompatibleAuthOptions,Be as useFocusStore,Ke as useNavigationLevel,Wt as useOnboardingFlow,ue as useOptionalBus,et as usePageComponent,Xe as usePageDefinitions,Fe as usePageOverlayStore,Ze as usePages,xt as useProviderStore,Le as useSidebarStore,_e as useTrayLayout,R as useWidgetConfig,z as useWidgetLayout,V as useWidgetLayoutActions,I as useWidgetRegistry,he as useWidgets,Y as useWindowContext,$e as useWindowIdPages};
@@ -1,11 +1,11 @@
1
- import { r as PageSurfaceConfig, s as SurfaceId } from "../schemas-BO7uOum6.mjs";
1
+ import { r as PageSurfaceConfig, s as SurfaceId } from "../schemas-B6Q-qdmn.mjs";
2
2
  import * as _$zod from "zod";
3
3
  import { z } from "zod";
4
4
  import * as _$_makaio_core0 from "@makaio/framework/core";
5
5
  import { IMakaioBus } from "@makaio/framework/bus";
6
6
  import { UiContextSnapshot, UiNavigationLevel, UiScope } from "@makaio/framework/contracts";
7
- import { ClientRecord } from "@makaio/framework/services/settings/storage";
8
7
  import { ExtensionInfo } from "@makaio/framework/kernel";
8
+ import { ClientRecord } from "@makaio/framework/services/settings/storage";
9
9
  import * as _$zod_v4_core0 from "zod/v4/core";
10
10
  import { ComponentType } from "react";
11
11
 
@@ -1,2 +1,2 @@
1
- import { a as SurfaceCapabilitySchema, c as SurfaceIdSchema, i as SurfaceCapability, l as isPageVisibleOnSurface, n as PageSchemas, o as SurfaceDeclaration, r as PageSurfaceConfig, s as SurfaceId, t as PageMetadata } from "../../schemas-BO7uOum6.mjs";
1
+ import { a as SurfaceCapabilitySchema, c as SurfaceIdSchema, i as SurfaceCapability, l as isPageVisibleOnSurface, n as PageSchemas, o as SurfaceDeclaration, r as PageSurfaceConfig, s as SurfaceId, t as PageMetadata } from "../../schemas-B6Q-qdmn.mjs";
2
2
  export { PageMetadata, PageSchemas, PageSurfaceConfig, SurfaceCapability, SurfaceCapabilitySchema, SurfaceDeclaration, SurfaceId, SurfaceIdSchema, isPageVisibleOnSurface };
@@ -1,8 +1,8 @@
1
1
  import * as _$react from "react";
2
2
  import { Component, ErrorInfo, FC, JSX, ReactNode, RefObject } from "react";
3
3
  import { ShellProps, WidgetDefinition, WidgetLayout, WidgetSize } from "@makaio/framework/ui-kernel";
4
- import { IMakaioBus } from "@makaio/framework/bus";
5
4
  import { UiContextSnapshot } from "@makaio/framework/contracts";
5
+ import { IMakaioBus } from "@makaio/framework/bus";
6
6
  import { Layout } from "react-grid-layout";
7
7
 
8
8
  //#region ui/views/src/widgets/WidgetContainer.d.ts
@@ -61,6 +61,25 @@ declare function resolveCliSignalExitCode(reason: unknown): number | undefined;
61
61
  */
62
62
  declare function canonicalStringify(value: unknown): string;
63
63
  //#endregion
64
+ //#region packages/utils/src/deep-freeze.d.ts
65
+ /**
66
+ * Recursively freezes a value so nested objects and arrays become immutable.
67
+ *
68
+ * Exists for the "snapshot once, share forever" pattern: a value that several
69
+ * readers hold at the same time either has to be cloned per reader or has to be
70
+ * unmodifiable. Freezing it deeply once at construction time makes sharing the
71
+ * cheap option without giving any reader the ability to corrupt the others.
72
+ *
73
+ * Cycles are not supported — the intended inputs are validated data snapshots.
74
+ * Non-object values are returned unchanged. Already-frozen containers are still
75
+ * descended into, because `Object.freeze` is shallow and a shallowly frozen
76
+ * object can still hold mutable children.
77
+ * @typeParam TValue - Type of the value being frozen; preserved in the result.
78
+ * @param value - Value to freeze in place.
79
+ * @returns The same value, deeply frozen.
80
+ */
81
+ declare function deepFreeze<TValue>(value: TValue): TValue;
82
+ //#endregion
64
83
  //#region packages/utils/src/is-record.d.ts
65
84
  /**
66
85
  * Check whether a value is a non-array object (a "record").
@@ -144,6 +163,27 @@ declare function normalizeBusSecret(raw: string | undefined): string | undefined
144
163
  */
145
164
  declare function isBunRuntime(): boolean;
146
165
  //#endregion
166
+ //#region packages/utils/src/npm-package-name.d.ts
167
+ /**
168
+ * Maximum character length of an npm package name.
169
+ *
170
+ * npm limits package names to 214 ASCII characters. This utility deliberately
171
+ * accepts the portable registry-name subset used where a package name becomes
172
+ * part of a filesystem path; it does not parse npm's broader specifier syntax.
173
+ */
174
+ declare const NPM_PACKAGE_NAME_MAX_LENGTH = 214;
175
+ /**
176
+ * Determine whether a value has the ordinary npm package-name spelling.
177
+ *
178
+ * Local paths, git URLs, tags, versions, and subpaths are npm specifiers, not
179
+ * package names, and are intentionally rejected here.
180
+ * @param value - Candidate package name.
181
+ * Length is deliberately separate: callers can retain their own error message
182
+ * for a syntactically valid name that exceeds {@link NPM_PACKAGE_NAME_MAX_LENGTH}.
183
+ * @returns Whether the value has npm's ordinary package-name syntax.
184
+ */
185
+ declare function isNpmPackageName(value: string): boolean;
186
+ //#endregion
147
187
  //#region packages/utils/src/safe-stringify.d.ts
148
188
  /**
149
189
  * JSON-stringify a value, handling BigInt and circular references gracefully.
@@ -152,6 +192,63 @@ declare function isBunRuntime(): boolean;
152
192
  */
153
193
  declare function safeStringify(value: unknown): string;
154
194
  //#endregion
195
+ //#region packages/utils/src/serial-lane.d.ts
196
+ /**
197
+ * A FIFO lane that runs queued operations one at a time.
198
+ *
199
+ * The shape solves one recurring problem: a state transition that has to read,
200
+ * mutate, publish, and possibly roll back must not interleave with another
201
+ * transition derived from the same pre-state. Chaining every operation onto a
202
+ * single tail makes each one atomic with respect to the others, in submission
203
+ * order.
204
+ *
205
+ * Two properties are load-bearing and are the reason this exists as a shared
206
+ * primitive rather than as a hand-rolled `Promise` field per call site:
207
+ *
208
+ * 1. **The stored tail never rejects.** A failed operation surfaces only to its
209
+ * own caller; the lane keeps draining. A rejected tail would otherwise cancel
210
+ * every operation queued behind the failure.
211
+ * 2. **Submission order is run order.** `run` chains onto the tail synchronously,
212
+ * so two callers that submit in the same turn of the event loop run in the
213
+ * order they submitted.
214
+ *
215
+ * Operations must not await work that can only complete by re-entering the lane —
216
+ * that is a self-deadlock the lane cannot detect. Owners of a lane typically keep
217
+ * extension-owned promises outside it for exactly that reason.
218
+ * @example
219
+ * ```typescript
220
+ * private readonly lane = new SerialLane();
221
+ *
222
+ * public mutate(): Promise<void> {
223
+ * return this.lane.run(async () => {
224
+ * const snapshot = this.state;
225
+ * this.state = next(snapshot);
226
+ * try {
227
+ * await this.publish();
228
+ * } catch (error) {
229
+ * this.state = snapshot;
230
+ * throw error;
231
+ * }
232
+ * });
233
+ * }
234
+ * ```
235
+ */
236
+ declare class SerialLane {
237
+ /**
238
+ * Tail of the lane.
239
+ *
240
+ * Always settled-or-pending and never rejected — see the class contract.
241
+ */
242
+ private tail;
243
+ /**
244
+ * Runs one operation after every operation submitted earlier has settled.
245
+ * @typeParam TResult - Value produced by the operation.
246
+ * @param operation - Operation to run once the lane drains.
247
+ * @returns The operation's result; rejects with the operation's own failure.
248
+ */
249
+ run<TResult>(operation: () => Promise<TResult>): Promise<TResult>;
250
+ }
251
+ //#endregion
155
252
  //#region packages/utils/src/timeout/types.d.ts
156
253
  /**
157
254
  * Timeout configuration types for AI adapter operations.
@@ -292,4 +389,4 @@ interface TimeoutSignal {
292
389
  */
293
390
  declare function createTimeoutSignal(timeoutMs: number): TimeoutSignal;
294
391
  //#endregion
295
- export { CLI_COMMAND_ABORT_SIGNALS, CLI_COMMAND_SIGNAL_EXIT_CODES, CLI_EXIT_CODES, type CliCommandErrorKind, DEFAULT_TIMEOUTS, DeferredPromise, type RequiredTimeoutConfig, TIMEOUT_CATEGORIES, type TimeoutCategory, type TimeoutConfig, type TimeoutLayer, type TimeoutLayerInput, type TimeoutSignal, type TimeoutSources, type TrackedTimeoutConfig, canonicalStringify, classifyCliCommandError, createTimeoutSignal, explainAllTimeouts, explainTimeout, extractJson, getErrorString, isBunRuntime, isRecord, normalizeBusSecret, readStdin, resolveCliSignalExitCode, resolveTimeouts, safeStringify };
392
+ export { CLI_COMMAND_ABORT_SIGNALS, CLI_COMMAND_SIGNAL_EXIT_CODES, CLI_EXIT_CODES, type CliCommandErrorKind, DEFAULT_TIMEOUTS, DeferredPromise, NPM_PACKAGE_NAME_MAX_LENGTH, type RequiredTimeoutConfig, SerialLane, TIMEOUT_CATEGORIES, type TimeoutCategory, type TimeoutConfig, type TimeoutLayer, type TimeoutLayerInput, type TimeoutSignal, type TimeoutSources, type TrackedTimeoutConfig, canonicalStringify, classifyCliCommandError, createTimeoutSignal, deepFreeze, explainAllTimeouts, explainTimeout, extractJson, getErrorString, isBunRuntime, isNpmPackageName, isRecord, normalizeBusSecret, readStdin, resolveCliSignalExitCode, resolveTimeouts, safeStringify };
@@ -1,2 +1,2 @@
1
- function e(){let e={};return e.promise=new Promise((t,n)=>{e.resolve=t,e.reject=n}),e}var t=class{deferred=e();isTracked=!1;getPromise(){return this.isTracked=!0,this.deferred.promise}resolve(e){this.deferred.resolve(e)}reject(e){this.isTracked&&this.deferred.reject(e)}};const n={failure:1,timeout:124,abort:130},r=[`SIGINT`,`SIGTERM`,`SIGHUP`],i={SIGINT:130,SIGTERM:143,SIGHUP:129};async function a(e){if(process.stdin.isTTY)return null;if(e?.aborted===!0)throw c(e.reason);let t=[],n=process.stdin,r=(async()=>{for await(let e of n)t.push(Buffer.from(e));return Buffer.concat(t).toString(`utf-8`)})();if(r.catch(()=>void 0),e===void 0)return await r;let i,a=new Promise((t,r)=>{i=()=>{let t=c(e.reason);n.destroy(t),r(t)},e.addEventListener(`abort`,i,{once:!0})});try{return await Promise.race([r,a])}finally{i!==void 0&&e.removeEventListener(`abort`,i)}}function o(e){return e instanceof Error&&e.name===`OnceAbortError`?`abort`:e instanceof Error&&e.name===`OnceTimeoutError`?`timeout`:`failure`}function s(e){return typeof e==`string`&&Object.hasOwn(i,e)?i[e]:void 0}function c(e){let t=Error(e===void 0?`Command aborted`:String(e));return t.name=`OnceAbortError`,t}function l(e){let t=JSON.stringify(e,(e,t)=>{if(typeof t==`object`&&t&&!Array.isArray(t)){let e=Object.create(null);for(let n of Object.keys(t).sort())e[n]=t[n];return e}return t});if(t===void 0)throw TypeError(`canonicalStringify requires a top-level JSON-serializable value`);return t}function u(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function d(e){let t=e.indexOf(`{`),n=e.lastIndexOf(`}`);return t===-1||n===-1||n<=t?e:e.slice(t,n+1)}function f(e){if(!e)return`Unknown error`;if(typeof e==`string`)return e;try{return e instanceof Error?e.message?String(e.message):`Unknown error`:String(e)||`Unknown error`}catch{return`Unknown error`}}function p(e){if(e===void 0)return;let t=e.trim();if(t===``)throw Error(`MAKAIO_BUS_SECRET is set but empty after trimming; refusing to use an empty secret`);return t}function m(){return globalThis.Bun!==void 0}function h(e){if(e===void 0)return`null`;let t=[];try{return JSON.stringify(e,function(e,n){if(typeof n==`bigint`)return n.toString();for(;t.length>0&&t[t.length-1]!==this;)t.pop();if(typeof n==`object`&&n){if(t.includes(n))return`[Circular]`;t.push(n)}return n})??JSON.stringify(String(e))??`"[Unserializable]"`}catch{try{return JSON.stringify(String(e))??`"[Unserializable]"`}catch{return`"[Unserializable]"`}}}const g={initialization:3e4,acknowledgement:3e4,completion:6e4,toolApproval:5e3,eventWait:1e4},_=[`initialization`,`acknowledgement`,`completion`,`toolApproval`,`eventWait`];function v(e){let t={...g},n={};for(let e of _)n[e]={layer:`global`,source:`DEFAULT_TIMEOUTS`};for(let{layer:r,source:i,config:a}of e)if(a)for(let e of _){let o=a[e];o!==void 0&&(t[e]=o,n[e]={layer:r,source:i})}return{values:t,sources:n}}function y(e,t){let{layer:n,source:r}=e.sources[t];return`${t}=${e.values[t]}ms (from ${n}: ${r})`}function b(e){return _.map(t=>y(e,t)).join(`
2
- `)}function x(e){let t=new AbortController,n=setTimeout(()=>t.abort(),e);return{signal:t.signal,clear:()=>clearTimeout(n)}}export{r as CLI_COMMAND_ABORT_SIGNALS,i as CLI_COMMAND_SIGNAL_EXIT_CODES,n as CLI_EXIT_CODES,g as DEFAULT_TIMEOUTS,t as DeferredPromise,_ as TIMEOUT_CATEGORIES,l as canonicalStringify,o as classifyCliCommandError,x as createTimeoutSignal,b as explainAllTimeouts,y as explainTimeout,d as extractJson,f as getErrorString,m as isBunRuntime,u as isRecord,p as normalizeBusSecret,a as readStdin,s as resolveCliSignalExitCode,v as resolveTimeouts,h as safeStringify};
1
+ import{n as e,t}from"../npm-package-name-DuTYVICk.mjs";function n(){let e={};return e.promise=new Promise((t,n)=>{e.resolve=t,e.reject=n}),e}var r=class{deferred=n();isTracked=!1;getPromise(){return this.isTracked=!0,this.deferred.promise}resolve(e){this.deferred.resolve(e)}reject(e){this.isTracked&&this.deferred.reject(e)}};const i={failure:1,timeout:124,abort:130},a=[`SIGINT`,`SIGTERM`,`SIGHUP`],o={SIGINT:130,SIGTERM:143,SIGHUP:129};async function s(e){if(process.stdin.isTTY)return null;if(e?.aborted===!0)throw u(e.reason);let t=[],n=process.stdin,r=(async()=>{for await(let e of n)t.push(Buffer.from(e));return Buffer.concat(t).toString(`utf-8`)})();if(r.catch(()=>void 0),e===void 0)return await r;let i,a=new Promise((t,r)=>{i=()=>{let t=u(e.reason);n.destroy(t),r(t)},e.addEventListener(`abort`,i,{once:!0})});try{return await Promise.race([r,a])}finally{i!==void 0&&e.removeEventListener(`abort`,i)}}function c(e){return e instanceof Error&&e.name===`OnceAbortError`?`abort`:e instanceof Error&&e.name===`OnceTimeoutError`?`timeout`:`failure`}function l(e){return typeof e==`string`&&Object.hasOwn(o,e)?o[e]:void 0}function u(e){let t=Error(e===void 0?`Command aborted`:String(e));return t.name=`OnceAbortError`,t}function d(e){let t=JSON.stringify(e,(e,t)=>{if(typeof t==`object`&&t&&!Array.isArray(t)){let e=Object.create(null);for(let n of Object.keys(t).sort())e[n]=t[n];return e}return t});if(t===void 0)throw TypeError(`canonicalStringify requires a top-level JSON-serializable value`);return t}function f(e){if(typeof e==`object`&&e){for(let t of Object.values(e))f(t);return Object.freeze(e)}return e}function p(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function m(e){let t=e.indexOf(`{`),n=e.lastIndexOf(`}`);return t===-1||n===-1||n<=t?e:e.slice(t,n+1)}function h(e){if(!e)return`Unknown error`;if(typeof e==`string`)return e;try{return e instanceof Error?e.message?String(e.message):`Unknown error`:String(e)||`Unknown error`}catch{return`Unknown error`}}function g(e){if(e===void 0)return;let t=e.trim();if(t===``)throw Error(`MAKAIO_BUS_SECRET is set but empty after trimming; refusing to use an empty secret`);return t}function _(){return globalThis.Bun!==void 0}function v(e){if(e===void 0)return`null`;let t=[];try{return JSON.stringify(e,function(e,n){if(typeof n==`bigint`)return n.toString();for(;t.length>0&&t[t.length-1]!==this;)t.pop();if(typeof n==`object`&&n){if(t.includes(n))return`[Circular]`;t.push(n)}return n})??JSON.stringify(String(e))??`"[Unserializable]"`}catch{try{return JSON.stringify(String(e))??`"[Unserializable]"`}catch{return`"[Unserializable]"`}}}var y=class{tail=Promise.resolve();run(e){let t=this.tail.then(e);return this.tail=t.then(()=>void 0,()=>void 0),t}};const b={initialization:3e4,acknowledgement:3e4,completion:6e4,toolApproval:5e3,eventWait:1e4},x=[`initialization`,`acknowledgement`,`completion`,`toolApproval`,`eventWait`];function S(e){let t={...b},n={};for(let e of x)n[e]={layer:`global`,source:`DEFAULT_TIMEOUTS`};for(let{layer:r,source:i,config:a}of e)if(a)for(let e of x){let o=a[e];o!==void 0&&(t[e]=o,n[e]={layer:r,source:i})}return{values:t,sources:n}}function C(e,t){let{layer:n,source:r}=e.sources[t];return`${t}=${e.values[t]}ms (from ${n}: ${r})`}function w(e){return x.map(t=>C(e,t)).join(`
2
+ `)}function T(e){let t=new AbortController,n=setTimeout(()=>t.abort(),e);return{signal:t.signal,clear:()=>clearTimeout(n)}}export{a as CLI_COMMAND_ABORT_SIGNALS,o as CLI_COMMAND_SIGNAL_EXIT_CODES,i as CLI_EXIT_CODES,b as DEFAULT_TIMEOUTS,r as DeferredPromise,t as NPM_PACKAGE_NAME_MAX_LENGTH,y as SerialLane,x as TIMEOUT_CATEGORIES,d as canonicalStringify,c as classifyCliCommandError,T as createTimeoutSignal,f as deepFreeze,w as explainAllTimeouts,C as explainTimeout,m as extractJson,h as getErrorString,_ as isBunRuntime,e as isNpmPackageName,p as isRecord,g as normalizeBusSecret,s as readStdin,l as resolveCliSignalExitCode,S as resolveTimeouts,v as safeStringify};
@@ -1 +1 @@
1
- import{MAKAIO_PROJECT_DIR as e}from"./scope-paths.mjs";import{z as t}from"zod";import n from"node:fs/promises";import r from"node:path";import{randomUUID as i}from"node:crypto";const a=`manifest.json`,o=r.join(e,a),s=`makaio/project-manifest/v1`,c=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|[A-Za-z-][0-9A-Za-z-]*)(?:\.(?:0|[1-9]\d*|[A-Za-z-][0-9A-Za-z-]*))*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$/u,l=/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/u;function u(e){if(e.startsWith(`@`)){let t=e.indexOf(`@`,1);return t===-1?e:e.slice(0,t)}let t=e.indexOf(`@`);return t===-1?e:e.slice(0,t)}function d(e){let t=u(e),n=t.length<e.length?e.slice(t.length+1):``;if(t.length===0||n.length===0)throw Error(`Project manifest extension specs must include an exact version: ${e}`);if(!l.test(t)||t.length>214)throw Error(`Project manifest extension specs must use npm package names: ${e}`);if(!c.test(n))throw Error(`Project manifest extension specs must use exact semantic versions: ${e}`);return{packageName:t,version:n,spec:e}}function f(e,t){return d(`${e}@${t}`).spec}function p(e,t){let n=new Map(t.map(e=>[e.name,e.version])),r=[],i=[],a=[];for(let t of e){let e=d(t),o=n.get(e.packageName);o===void 0?i.push(e):o===e.version?r.push({manifest:e,installedVersion:o}):a.push({manifest:e,installedVersion:o})}return{satisfied:r,missing:i,mismatched:a}}const m=t.string().superRefine((e,t)=>{try{d(e)}catch(e){t.addIssue({code:`custom`,message:e instanceof Error?e.message:String(e)})}}),h=t.object({$schema:t.string().optional(),extensions:t.array(m).default([])}).passthrough();async function g(e){let t=r.resolve(e);for(;;){let e=r.join(t,o),[n,i]=await Promise.all([y(e),y(r.join(t,`.git`))]);if(n)return e;if(i)return null;let a=r.dirname(t);if(a===t)return null;t=a}}async function _(e){let t=await n.readFile(e,`utf-8`);return h.parse(JSON.parse(t))}async function v(e,t){let a=h.parse(t);await n.mkdir(r.dirname(e),{recursive:!0});let o=`${e}.${process.pid}.${Date.now()}.${i()}.tmp`;await n.writeFile(o,`${JSON.stringify(a,null,2)}\n`,`utf-8`);try{await n.rename(o,e)}catch(e){throw await n.unlink(o).catch(()=>void 0),e}}async function y(e){try{return await n.access(e),!0}catch{return!1}}export{a as PROJECT_MANIFEST_BASENAME,o as PROJECT_MANIFEST_FILE,s as PROJECT_MANIFEST_SCHEMA_ID,h as ProjectManifestSchema,p as compareProjectManifestExtensions,u as extractNpmPackageName,g as findProjectManifestPath,f as formatExactExtensionSpec,d as parseExactExtensionSpec,y as pathExists,_ as readProjectManifest,v as writeProjectManifest};
1
+ import{n as e}from"../npm-package-name-DuTYVICk.mjs";import{MAKAIO_PROJECT_DIR as t}from"./scope-paths.mjs";import{z as n}from"zod";import r from"node:fs/promises";import i from"node:path";import{randomUUID as a}from"node:crypto";const o=`manifest.json`,s=i.join(t,o),c=`makaio/project-manifest/v1`,l=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|[A-Za-z-][0-9A-Za-z-]*)(?:\.(?:0|[1-9]\d*|[A-Za-z-][0-9A-Za-z-]*))*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$/u;function u(e){if(e.startsWith(`@`)){let t=e.indexOf(`@`,1);return t===-1?e:e.slice(0,t)}let t=e.indexOf(`@`);return t===-1?e:e.slice(0,t)}function d(t){let n=u(t),r=n.length<t.length?t.slice(n.length+1):``;if(n.length===0||r.length===0)throw Error(`Project manifest extension specs must include an exact version: ${t}`);if(!e(n)||n.length>214)throw Error(`Project manifest extension specs must use npm package names: ${t}`);if(!l.test(r))throw Error(`Project manifest extension specs must use exact semantic versions: ${t}`);return{packageName:n,version:r,spec:t}}function f(e,t){return d(`${e}@${t}`).spec}function p(e,t){let n=new Map(t.map(e=>[e.name,e.version])),r=[],i=[],a=[];for(let t of e){let e=d(t),o=n.get(e.packageName);o===void 0?i.push(e):o===e.version?r.push({manifest:e,installedVersion:o}):a.push({manifest:e,installedVersion:o})}return{satisfied:r,missing:i,mismatched:a}}const m=n.string().superRefine((e,t)=>{try{d(e)}catch(e){t.addIssue({code:`custom`,message:e instanceof Error?e.message:String(e)})}}),h=n.object({$schema:n.string().optional(),extensions:n.array(m).default([])}).passthrough();async function g(e){let t=i.resolve(e);for(;;){let e=i.join(t,s),[n,r]=await Promise.all([y(e),y(i.join(t,`.git`))]);if(n)return e;if(r)return null;let a=i.dirname(t);if(a===t)return null;t=a}}async function _(e){let t=await r.readFile(e,`utf-8`);return h.parse(JSON.parse(t))}async function v(e,t){let n=h.parse(t);await r.mkdir(i.dirname(e),{recursive:!0});let o=`${e}.${process.pid}.${Date.now()}.${a()}.tmp`;await r.writeFile(o,`${JSON.stringify(n,null,2)}\n`,`utf-8`);try{await r.rename(o,e)}catch(e){throw await r.unlink(o).catch(()=>void 0),e}}async function y(e){try{return await r.access(e),!0}catch{return!1}}export{o as PROJECT_MANIFEST_BASENAME,s as PROJECT_MANIFEST_FILE,c as PROJECT_MANIFEST_SCHEMA_ID,h as ProjectManifestSchema,p as compareProjectManifestExtensions,u as extractNpmPackageName,g as findProjectManifestPath,f as formatExactExtensionSpec,d as parseExactExtensionSpec,y as pathExists,_ as readProjectManifest,v as writeProjectManifest};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-DTipWd-i.mjs";import{t}from"./semver-DlM8znk4.mjs";import{z as n}from"zod";var r=e(t(),1);const i=n.string().min(1).refine(e=>e.trim().length>0&&(0,r.validRange)(e)!==null,{message:`Must be a valid semver range (e.g. ">=1.0.0 <2.0.0", "^1.5.0")`});function a(e,t){return(0,r.satisfies)(e,t,{includePrerelease:!0})}function o(e){let t=(0,r.validRange)(e);return t===`*`||t===`>=0.0.0`||t===`>=0.0.0-0`}const s=n.string().min(1).refine(e=>(0,r.valid)(e)!==null&&!e.startsWith(`v`),{message:`Must be a valid semver version (e.g. "1.0.0")`});export{a as i,i as n,o as r,s as t};
1
+ import{o as e}from"./chunk-DTipWd-i.mjs";import{t}from"./semver-BI7kTNsY.mjs";import{z as n}from"zod";var r=e(t(),1);const i=n.string().min(1).refine(e=>e.trim().length>0&&(0,r.validRange)(e)!==null,{message:`Must be a valid semver range (e.g. ">=1.0.0 <2.0.0", "^1.5.0")`});function a(e,t){return(0,r.satisfies)(e,t,{includePrerelease:!0})}function o(e){let t=(0,r.validRange)(e);return t===`*`||t===`>=0.0.0`||t===`>=0.0.0-0`}const s=n.string().min(1).refine(e=>(0,r.valid)(e)!==null&&!e.startsWith(`v`),{message:`Must be a valid semver version (e.g. "1.0.0")`});export{a as i,i as n,o as r,s as t};
@@ -1,4 +1,4 @@
1
- import { _ as SurfaceBindingRegistration, a as ResolvedArtifactContextWire$1, q as ArtifactRevision$1, z as ArtifactRelation } from "./context-resolution-DdyhpH4L.mjs";
1
+ import { _ as SurfaceBindingRegistration, a as ResolvedArtifactContextWire$1, q as ArtifactRevision$1, z as ArtifactRelation } from "./context-resolution-841T7jBI.mjs";
2
2
  import { z } from "zod";
3
3
  import * as _$_makaio_contracts0 from "@makaio/framework/contracts";
4
4
 
@@ -220,7 +220,7 @@ declare const ArtifactViewEvidenceSectionSchema: z.ZodObject<{
220
220
  declare const ArtifactViewRawSectionSchema: z.ZodObject<{
221
221
  type: z.ZodLiteral<"raw">;
222
222
  title: z.ZodString;
223
- json: z.ZodType<_$_makaio_contracts0.JsonValue, unknown, z.core.$ZodTypeInternals<_$_makaio_contracts0.JsonValue, unknown>>;
223
+ json: z.ZodType<_$_makaio_contracts0.JsonValue, _$_makaio_contracts0.JsonValue, z.core.$ZodTypeInternals<_$_makaio_contracts0.JsonValue, _$_makaio_contracts0.JsonValue>>;
224
224
  }, z.core.$strip>;
225
225
  /**
226
226
  * Code section: source code or structured text with a language hint.
@@ -302,7 +302,7 @@ declare const ArtifactViewSectionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
302
302
  }, z.core.$strip>, z.ZodObject<{
303
303
  type: z.ZodLiteral<"raw">;
304
304
  title: z.ZodString;
305
- json: z.ZodType<_$_makaio_contracts0.JsonValue, unknown, z.core.$ZodTypeInternals<_$_makaio_contracts0.JsonValue, unknown>>;
305
+ json: z.ZodType<_$_makaio_contracts0.JsonValue, _$_makaio_contracts0.JsonValue, z.core.$ZodTypeInternals<_$_makaio_contracts0.JsonValue, _$_makaio_contracts0.JsonValue>>;
306
306
  }, z.core.$strip>, z.ZodObject<{
307
307
  type: z.ZodLiteral<"code">;
308
308
  title: z.ZodString;
@@ -409,7 +409,7 @@ declare const ArtifactViewModelSchema$1: z.ZodObject<{
409
409
  }, z.core.$strip>, z.ZodObject<{
410
410
  type: z.ZodLiteral<"raw">;
411
411
  title: z.ZodString;
412
- json: z.ZodType<_$_makaio_contracts0.JsonValue, unknown, z.core.$ZodTypeInternals<_$_makaio_contracts0.JsonValue, unknown>>;
412
+ json: z.ZodType<_$_makaio_contracts0.JsonValue, _$_makaio_contracts0.JsonValue, z.core.$ZodTypeInternals<_$_makaio_contracts0.JsonValue, _$_makaio_contracts0.JsonValue>>;
413
413
  }, z.core.$strip>, z.ZodObject<{
414
414
  type: z.ZodLiteral<"code">;
415
415
  title: z.ZodString;
@@ -1 +1 @@
1
- import{n as e,t}from"./modes-BheyN7SS.mjs";import{z as n}from"zod";const r=n.enum([`none`,`low`,`medium`,`high`,`extra-high`]),i=n.union([n.number(),n.string()]),a=n.object({none:i,low:i,medium:i,high:i,"extra-high":i}).partial(),o=n.object({modes:n.array(n.enum(t)).nonempty(),vocabularyBiasing:n.boolean().optional()}),s=n.object({modes:n.array(n.enum(e)).nonempty(),voiceSelection:n.boolean().optional(),voiceInstructions:n.boolean().optional(),outputFormats:n.array(n.string()).optional()}),c=n.object({vision:n.boolean().optional(),toolCalling:n.boolean().optional(),parallelToolCalls:n.boolean().optional(),structuredOutput:n.boolean().optional(),pdfUpload:n.boolean().optional(),speechToText:o.optional(),textToSpeech:s.optional()}),l=n.object({inputPerMillion:n.number(),inputCachedPerMillion:n.number().optional(),cacheWritePerMillion:n.number().optional(),outputPerMillion:n.number()}),u=n.object({multiplier:n.number()}),d=n.object({token:l.optional(),request:u.optional()}),f=n.object({maxOutputTokens:n.number().optional(),capabilities:c.optional(),pricing:d.optional(),includedInSubscription:n.boolean().optional(),description:n.string().optional()}),p=n.object({name:n.string(),friendlyName:n.string().optional(),family:n.string().optional(),contextWindowSize:n.number(),labId:n.string(),supportedReasoningLevels:a.optional(),metadata:f.optional()}),m=p,h=n.enum([`disabled`,`enabled`,`visible`]),g=n.enum([`allowlist`,`show-all`]);function _(e,t,n){return n?.[e]??(t===`allowlist`?`disabled`:`visible`)}export{r as a,p as i,h as n,m as o,_ as r,a as s,g as t};
1
+ import{n as e,t}from"./modes-DwsJ3yVl.mjs";import{z as n}from"zod";const r=n.enum([`none`,`low`,`medium`,`high`,`extra-high`]),i=n.union([n.number(),n.string()]),a=n.object({none:i,low:i,medium:i,high:i,"extra-high":i}).partial(),o=n.object({modes:n.array(n.enum(t)).nonempty(),vocabularyBiasing:n.boolean().optional()}),s=n.object({modes:n.array(n.enum(e)).nonempty(),voiceSelection:n.boolean().optional(),voiceInstructions:n.boolean().optional(),outputFormats:n.array(n.string()).optional()}),c=n.object({vision:n.boolean().optional(),toolCalling:n.boolean().optional(),parallelToolCalls:n.boolean().optional(),structuredOutput:n.boolean().optional(),pdfUpload:n.boolean().optional(),speechToText:o.optional(),textToSpeech:s.optional()}),l=n.object({inputPerMillion:n.number(),inputCachedPerMillion:n.number().optional(),cacheWritePerMillion:n.number().optional(),outputPerMillion:n.number()}),u=n.object({multiplier:n.number()}),d=n.object({token:l.optional(),request:u.optional()}),f=n.object({maxOutputTokens:n.number().optional(),capabilities:c.optional(),pricing:d.optional(),includedInSubscription:n.boolean().optional(),description:n.string().optional()}),p=n.object({name:n.string(),friendlyName:n.string().optional(),family:n.string().optional(),contextWindowSize:n.number(),labId:n.string(),supportedReasoningLevels:a.optional(),metadata:f.optional()}),m=p,h=n.enum([`disabled`,`enabled`,`visible`]),g=n.enum([`allowlist`,`show-all`]);function _(e,t,n){return n?.[e]??(t===`allowlist`?`disabled`:`visible`)}export{r as a,p as i,h as n,m as o,_ as r,a as s,g as t};
@@ -0,0 +1 @@
1
+ import{n as e}from"./json-value-BBZ6uGwc.mjs";import{n as t}from"./capability-j3NekkIu.mjs";import{z as n}from"zod";const r=n.enum([`wait-in-process`,`exit-and-redispatch`,`exit-and-resume`]),i=`worker-node`,a=`makaio.runtime-node.piscina-local`,o=1,s=n.object({version:n.literal(1),providerId:n.string().min(1),providerData:e}).strict(),c={source:128,code:64,summary:512,observedAt:64},l=n.object({source:n.string().min(1).max(c.source),summary:n.string().min(1).max(c.summary),observedAt:n.iso.datetime({offset:!0}).max(c.observedAt),code:n.string().min(1).max(c.code).optional()}).strict(),u=`exhaustive-search-unavailable`,d=`no-allocation-observed`,f=`ambiguous-allocation-match`,p=`pre-request-rejection`,m=[`unknown`,`provisioning`,`ready`,`running`,`suspended`,`terminal`,`absent`],h=n.enum(m),g=n.object({state:h,allocationRef:s,evidence:e.optional()}),_=[`local-directory`,`workspace-snapshot`],v=n.enum(_),y=n.string().min(1).refine(e=>!e.startsWith(`/`)&&!/^[A-Za-z]:[/\\]/.test(e),{message:`sourcePath must be relative (no leading / or drive letter)`}),b=n.object({kind:n.literal(`local-directory`),workspaceId:n.string().min(1),rootDigest:n.string().min(1),sourcePath:y}).strict(),x=n.object({kind:n.literal(`workspace-snapshot`),snapshotId:n.string().min(1),digest:n.string().min(1),sourcePath:y}).strict(),S=n.discriminatedUnion(`kind`,[b,x]),C=/^sha(?:256|384|512)-[A-Za-z0-9+/]+=*$/,w=n.object({packageName:n.string().min(1),version:n.string().min(1),entrypoint:n.string().min(1).refine(e=>!e.includes(`node_modules`)&&!e.startsWith(`/`)&&!/^[A-Za-z]:[/\\]/.test(e),{message:`entrypoint must be package-relative (no node_modules, no absolute path)`}),integrity:n.string().min(1).refine(e=>C.test(e),{message:`integrity must be a valid SRI hash (sha256-..., sha384-..., or sha512-...)`})}).strict(),T=n.object({maxRuntimeMs:n.number().int().positive().optional(),persistentStorage:n.boolean(),customCapabilities:n.array(n.string().min(1)).default([]),suspensionStrategy:r.default(`wait-in-process`),supportsRecovery:n.boolean().default(!1),materializationModes:n.array(v).min(1).default([`local-directory`])}),E=n.object({maxRuntimeMs:n.number().int().positive().optional(),persistentStorage:n.boolean().optional(),customCapabilities:n.array(n.string().min(1)).default([]),recoverableAllocation:n.boolean().optional(),materializationModes:n.array(v).optional()}),D=[`provisioner-process-bound`,`provider-managed`],O=n.enum(D),k=[`found`,`confirmed-absent`,`unknown`],A=n.discriminatedUnion(`kind`,[n.object({kind:n.literal(`found`),allocationRef:s}).strict(),n.object({kind:n.literal(`confirmed-absent`),evidence:l}).strict(),n.object({kind:n.literal(`unknown`),evidence:l}).strict()]),j=n.enum([`accepted`,`duplicate`,`conflict`,`fenced`]);var M=class extends Error{constructor(e){super(e),this.name=`ProviderAllocationRefError`}};function N(e,t){let n=s.shape.providerId.parse(e);return{build:e=>{let r=t.parse(e);return{version:1,providerId:n,providerData:s.shape.providerData.parse(r)}},parse:e=>{if(e.version!==1)throw new M(`Unsupported allocation ref version ${String(e.version)}, expected 1`);if(e.providerId!==n)throw new M(`Allocation ref provider '${e.providerId}' does not match this provider '${n}'`);let r=t.safeParse(e.providerData);if(!r.success)throw new M(`Invalid provider data in allocation ref: ${r.error.message}`);return r.data}}}function P(e,t){if(e.length<=t)return e;let n=e.slice(0,t-1),r=n.charCodeAt(n.length-1);return`${r>=55296&&r<=56319?n.slice(0,-1):n}…`}function F(e,t,n){let r=c.summary;return l.parse({source:e,summary:P(n,r),observedAt:new Date().toISOString(),...t===void 0?{}:{code:t}})}function I(e,n){return e.emit(t.register,{capabilityId:i,provider:n})}function L(e,n){return e.emit(t.unregister,{capabilityId:i,providerId:n})}export{E as A,c as C,S as D,w as E,r as M,O,A as S,i as T,j as _,N as a,k as b,g as c,l as d,u as f,d as g,v as h,M as i,x as j,T as k,h as l,_ as m,L as n,m as o,b as p,F as r,f as s,I as t,a as u,p as v,D as w,s as x,o as y};
@@ -1 +1 @@
1
- import{t as e}from"./json-value-DmU8ibo_.mjs";import{A as t,_ as n,x as r}from"./worker-node-Bl9_vqYi.mjs";import{B as i,U as a,V as o}from"./workflow-BfDbgtIQ.mjs";import{z as s}from"zod";import{createBusNamespace as c}from"@makaio/framework/core";const l=s.object({executionAttemptId:s.string().min(1),executionId:s.string().min(1),environment:s.string().min(1),metadata:e.optional()}),u=s.object({executionAttemptId:s.string().min(1),config:a,manifest:i.optional(),requirements:t.optional(),metadata:e.optional()}),d=s.object({executionAttemptId:s.string().min(1),allocationRef:r}).strict(),f={dispatch:{request:u,response:d},"control.attempt-ready":s.object({executionAttemptId:s.string().min(1),executionId:s.string().min(1),adapters:s.array(s.string().min(1)).default([])}).strict(),"control.outcome.submit":{request:s.object({executionAttemptId:s.string().min(1),executionId:s.string().min(1),result:o}).strict().superRefine((e,t)=>{e.result.executionId!==e.executionId&&t.addIssue({code:s.ZodIssueCode.custom,path:[`result`,`executionId`],message:`result.executionId must match executionId`})}),response:s.object({decision:n}).strict()},"control.bootstrap.claim":{request:s.object({executionId:s.string().min(1),executionAttemptId:s.string().min(1)}).strict(),response:s.object({busUrl:s.string().min(1),busAuthSecret:s.string().min(1)}).strict()},"lifecycle.provisioning":l,"lifecycle.booting":l,"lifecycle.ready":l.extend({adapters:s.array(s.string().min(1)).default([])}),"lifecycle.busy":l,"lifecycle.completed":l,"lifecycle.failed":l.extend({error:s.string().min(1)}),"lifecycle.terminated":l.extend({reason:s.string().optional()}),"lifecycle.paused":l.extend({pausedAtGateId:s.string().min(1),pausedAtFrameId:s.string().min(1)})},p=`worker-bootstrap`,m=c(`worker-node`,f),h=m.subjects;export{d as a,u as i,m as n,f as o,h as r,p as t};
1
+ import{n as e}from"./json-value-BBZ6uGwc.mjs";import{A as t,_ as n,x as r}from"./worker-node-CjuQb9hl.mjs";import{G as i,H as a,V as o}from"./workflow-C4mck_NW.mjs";import{z as s}from"zod";import{createBusNamespace as c}from"@makaio/framework/core";const l=s.object({executionAttemptId:s.string().min(1),executionId:s.string().min(1),environment:s.string().min(1),metadata:e.optional()}),u=s.object({executionAttemptId:s.string().min(1),config:i,manifest:o.optional(),requirements:t.optional(),metadata:e.optional()}),d=s.object({executionAttemptId:s.string().min(1),allocationRef:r}).strict(),f={dispatch:{request:u,response:d},"control.attempt-ready":s.object({executionAttemptId:s.string().min(1),executionId:s.string().min(1),adapters:s.array(s.string().min(1)).default([])}).strict(),"control.outcome.submit":{request:s.object({executionAttemptId:s.string().min(1),executionId:s.string().min(1),result:a}).strict().superRefine((e,t)=>{e.result.executionId!==e.executionId&&t.addIssue({code:s.ZodIssueCode.custom,path:[`result`,`executionId`],message:`result.executionId must match executionId`})}),response:s.object({decision:n}).strict()},"control.bootstrap.claim":{request:s.object({executionId:s.string().min(1),executionAttemptId:s.string().min(1)}).strict(),response:s.object({busUrl:s.string().min(1),busAuthSecret:s.string().min(1)}).strict()},"lifecycle.provisioning":l,"lifecycle.booting":l,"lifecycle.ready":l.extend({adapters:s.array(s.string().min(1)).default([])}),"lifecycle.busy":l,"lifecycle.completed":l,"lifecycle.failed":l.extend({error:s.string().min(1)}),"lifecycle.terminated":l.extend({reason:s.string().optional()}),"lifecycle.paused":l.extend({pausedAtGateId:s.string().min(1),pausedAtFrameId:s.string().min(1)})},p=`worker-bootstrap`,m=c(`worker-node`,f),h=m.subjects;export{d as a,u as i,m as n,f as o,h as r,p as t};