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

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 (215) hide show
  1. package/dist/{account-identity-Ce1Bwrqi.mjs → account-identity-Bg_vKkcs.mjs} +1 -1
  2. package/dist/{adapter-CbyjCE2d.mjs → adapter-CpF2aK_-.mjs} +1 -1
  3. package/dist/adapters/config/index.d.mts +1 -1
  4. package/dist/adapters/config/index.mjs +1 -1
  5. package/dist/adapters/index.d.mts +2 -2
  6. package/dist/adapters/index.mjs +1 -1
  7. package/dist/adapters/node.d.mts +1 -1
  8. package/dist/adapters/node.mjs +1 -1
  9. package/dist/client-DMWXCWhM.mjs +1 -0
  10. package/dist/clients/index.d.mts +122 -347
  11. package/dist/clients/index.mjs +2 -1
  12. package/dist/{clients-namespace-B0xAPZ6J.d.mts → clients-namespace-UHj5wt-l.d.mts} +7 -7
  13. package/dist/contracts/adapter/index.d.mts +2 -2
  14. package/dist/contracts/adapter/index.mjs +1 -1
  15. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  16. package/dist/contracts/client/index.d.mts +3 -3
  17. package/dist/contracts/client/index.mjs +1 -1
  18. package/dist/contracts/common/index.d.mts +1 -1
  19. package/dist/contracts/config/index.d.mts +6 -6
  20. package/dist/contracts/config/index.mjs +1 -1
  21. package/dist/contracts/extension/index.d.mts +2 -2
  22. package/dist/contracts/extension/index.mjs +1 -1
  23. package/dist/contracts/harness/index.d.mts +1 -1
  24. package/dist/contracts/harness/index.mjs +1 -1
  25. package/dist/contracts/host/index.mjs +1 -1
  26. package/dist/contracts/index.d.mts +64 -63
  27. package/dist/contracts/index.mjs +1 -1
  28. package/dist/contracts/model-registry/index.mjs +1 -1
  29. package/dist/contracts/native-session-supervisor/index.mjs +1 -1
  30. package/dist/contracts/platform/index.mjs +1 -1
  31. package/dist/contracts/session/index.d.mts +2 -2
  32. package/dist/contracts/session/index.mjs +1 -1
  33. package/dist/contracts/shared/index.d.mts +1 -1
  34. package/dist/contracts/shared/index.mjs +1 -1
  35. package/dist/contracts/skill/index.mjs +1 -1
  36. package/dist/contracts/timeout/index.d.mts +2 -0
  37. package/dist/contracts/timeout/index.mjs +1 -0
  38. package/dist/contracts/toast/index.mjs +1 -1
  39. package/dist/contracts/variant/index.mjs +1 -1
  40. package/dist/{definition-DxvZ9e22.d.mts → definition-DB7bbFSa.d.mts} +84 -91
  41. package/dist/{extension-COqwS-2Q.mjs → extension-53GerdGg.mjs} +1 -1
  42. package/dist/extension-fJmv8Yri.mjs +1 -0
  43. package/dist/{handlers-iGKUJ380.mjs → handlers-DR_4_rAT.mjs} +1 -1
  44. package/dist/{harness-CEq1Zkf9.mjs → harness-B6lGP9rm.mjs} +1 -1
  45. package/dist/{index-DBQtpFLE.d.mts → index-BnSQE7z7.d.mts} +3 -3
  46. package/dist/{index-CVA0m1g9.d.mts → index-CnmPtjnA.d.mts} +4 -4
  47. package/dist/{index-hapw9_En.d.mts → index-Cq8B7cwK.d.mts} +67 -67
  48. package/dist/{index-BJOfdtbw.d.mts → index-DGTFJB_8.d.mts} +3 -3
  49. package/dist/{index-DubqLGH8.d.mts → index-DaEp4UWW.d.mts} +56 -62
  50. package/dist/{index-C9F3Fc1A.d.mts → index-DwCA1HWa.d.mts} +133 -79
  51. package/dist/index-E8d_RwaF.d.mts +28 -0
  52. package/dist/{index-BB419vv-.d.mts → index-e5C62_M3.d.mts} +31 -11
  53. package/dist/{index-Bv15sNLn.d.mts → index-sBob9D25.d.mts} +1 -1
  54. package/dist/{index-BAKM2GMH2.d.mts → index-tKvu34DJ2.d.mts} +6 -6
  55. package/dist/{index-BdPwu6c0.d.mts → index-yvN8UcEH.d.mts} +110 -110
  56. package/dist/kernel/cli/index.mjs +1 -1
  57. package/dist/kernel/cli/schemas.mjs +1 -1
  58. package/dist/kernel/extension/index.d.mts +1 -1
  59. package/dist/kernel/extension/index.mjs +1 -1
  60. package/dist/kernel/index.d.mts +2 -2
  61. package/dist/kernel/index.mjs +1 -1
  62. package/dist/kernel/namespace/index.mjs +1 -1
  63. package/dist/kernel/observability/index.d.mts +1 -1
  64. package/dist/kernel/observability/index.mjs +1 -1
  65. package/dist/kernel/providers/index.mjs +1 -1
  66. package/dist/kernel/window/index.mjs +1 -1
  67. package/dist/{namespace-CkLUtc0g.d.mts → namespace-B1E57soL.d.mts} +22 -22
  68. package/dist/{namespace-bq4Prtzn.d.mts → namespace-B5ZCshBw.d.mts} +75 -75
  69. package/dist/{namespace-CCDEOwmW.d.mts → namespace-BCRNwPnw.d.mts} +6 -6
  70. package/dist/{namespace-ptv-pw_g.d.mts → namespace-BKrV_2gZ.d.mts} +9 -9
  71. package/dist/{namespace-O5SNY-LV.d.mts → namespace-BpIE-jQW.d.mts} +14 -14
  72. package/dist/{namespace-8cNguvIp.mjs → namespace-DGMO2E8f.mjs} +1 -1
  73. package/dist/{namespace-FWx6HxaW.d.mts → namespace-DXnMk3U8.d.mts} +14 -14
  74. package/dist/{namespace-xkvVw3hf2.d.mts → namespace-DwCyOaZn2.d.mts} +2 -2
  75. package/dist/{namespace-C2ufjgaQ.d.mts → namespace-Ysg1N6rR.d.mts} +24 -24
  76. package/dist/{native-session-supervisor-L-UIaEfd.mjs → native-session-supervisor-zPt624Tp.mjs} +1 -1
  77. package/dist/node/bus-server/index.d.mts +1 -1
  78. package/dist/node/bus-server/index.mjs +1 -1
  79. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  80. package/dist/node/bus-server/server-lifecycle.mjs +1 -1
  81. package/dist/{orchestrator-shared-Wv1GI2mW.mjs → orchestrator-shared-D2txLAUs.mjs} +1 -1
  82. package/dist/profile-Cq4A7kQa.mjs +1 -0
  83. package/dist/{provider-context-CNRQ4d5m.mjs → provider-context-BB4eD8ON.mjs} +1 -1
  84. package/dist/{schema-BwzXEtT2.d.mts → schema-B295yplx.d.mts} +1 -1
  85. package/dist/{schema-CAw_BqaG.mjs → schema-C4iznV0q.mjs} +1 -1
  86. package/dist/{schema-introspection-D61TT_7b.mjs → schema-introspection-DCYC47_d.mjs} +1 -1
  87. package/dist/{schemas-BdMU-gew.d.mts → schemas-BWvuaL0w.d.mts} +4 -4
  88. package/dist/{schemas-D9108Iv1.d.mts → schemas-BfMZAwff.d.mts} +7 -7
  89. package/dist/{schemas-BXstpWVp.mjs → schemas-Bn8aqDIE.mjs} +1 -1
  90. package/dist/{schemas-qmn5SWPU.d.mts → schemas-C31qbb0s.d.mts} +4 -4
  91. package/dist/{schemas-DbWs_hj8.d.mts → schemas-DYqKRNju.d.mts} +3 -3
  92. package/dist/{schemas-DENVYyds.d.mts → schemas-Ra8pz5M-.d.mts} +14 -14
  93. package/dist/services/adapter-runtime/index.mjs +1 -1
  94. package/dist/services/adapter-subsystem/index.d.mts +2 -2
  95. package/dist/services/adapter-subsystem/index.mjs +1 -1
  96. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  97. package/dist/services/adapter-subsystem/namespace.mjs +1 -1
  98. package/dist/services/capability/index.mjs +1 -1
  99. package/dist/services/context-rules/index.mjs +1 -1
  100. package/dist/services/execution-target/index.d.mts +3 -3
  101. package/dist/services/execution-target/index.mjs +1 -1
  102. package/dist/services/execution-target/namespace.d.mts +1 -1
  103. package/dist/services/execution-target/schemas.d.mts +1 -1
  104. package/dist/services/filesystem/namespace.d.mts +6 -6
  105. package/dist/services/filesystem/schemas.d.mts +3 -3
  106. package/dist/services/harness/index.d.mts +34 -34
  107. package/dist/services/harness/index.mjs +1 -1
  108. package/dist/services/harness/storage/schema.d.mts +4 -4
  109. package/dist/services/index.d.mts +70 -71
  110. package/dist/services/index.mjs +1 -1
  111. package/dist/services/log-import/log-import.mjs +1 -1
  112. package/dist/services/log-import/namespace.mjs +1 -1
  113. package/dist/services/log-import/schemas.mjs +1 -1
  114. package/dist/services/model-registry/index.mjs +1 -1
  115. package/dist/services/preferences/index.d.mts +2 -2
  116. package/dist/services/preferences/schemas.d.mts +1 -1
  117. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  118. package/dist/services/provider-context/index.mjs +1 -1
  119. package/dist/services/provider-runtime/index.mjs +1 -1
  120. package/dist/services/session/handlers/index.mjs +1 -1
  121. package/dist/services/session/index.d.mts +7 -7
  122. package/dist/services/session/index.mjs +1 -1
  123. package/dist/services/session/messages/namespace.d.mts +1 -1
  124. package/dist/services/session/messages/namespace.mjs +1 -1
  125. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  126. package/dist/services/session/session-events/namespace.d.mts +1 -1
  127. package/dist/services/session/session-events/namespace.mjs +1 -1
  128. package/dist/services/session/storage/namespace.d.mts +1 -1
  129. package/dist/services/session/storage/schema.d.mts +1 -1
  130. package/dist/services/session/testing/index.mjs +1 -1
  131. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  132. package/dist/services/session/turns/namespace.d.mts +1 -1
  133. package/dist/services/session/turns/namespace.mjs +1 -1
  134. package/dist/services/session-editor/index.mjs +1 -1
  135. package/dist/services/settings/index.d.mts +1 -1
  136. package/dist/services/settings/index.mjs +1 -1
  137. package/dist/services/settings/namespace.d.mts +9 -9
  138. package/dist/services/settings/namespace.mjs +1 -1
  139. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  140. package/dist/services/settings/storage/clients-namespace.mjs +1 -1
  141. package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
  142. package/dist/services/settings/storage/index.d.mts +1 -1
  143. package/dist/services/settings/storage/index.mjs +1 -1
  144. package/dist/services/settings/storage/providers-namespace.mjs +1 -1
  145. package/dist/services/tool-approval/index.mjs +1 -1
  146. package/dist/services/tools/index.mjs +1 -1
  147. package/dist/services/tray-menu/index.d.mts +2 -2
  148. package/dist/services/tray-menu/index.mjs +1 -1
  149. package/dist/services/tray-menu/namespace.d.mts +1 -1
  150. package/dist/services/tray-menu/schemas.d.mts +1 -1
  151. package/dist/services/turn/index.d.mts +1 -1
  152. package/dist/services/turn/namespace.d.mts +1 -1
  153. package/dist/services/turn/schemas.d.mts +11 -11
  154. package/dist/services/worker/index.d.mts +1 -1
  155. package/dist/services/worker/schemas.d.mts +1 -1
  156. package/dist/{session-piI1R5rP.mjs → session-BCSf-Fgj.mjs} +1 -1
  157. package/dist/{session-Do6lDZM4.mjs → session-BNo_cIiz.mjs} +1 -1
  158. package/dist/{shared-DxHLl9UP.mjs → shared-BhuSHZXH.mjs} +1 -1
  159. package/dist/{skill-CB5h-ZFQ.mjs → skill-20_SBXaI.mjs} +1 -1
  160. package/dist/storage/handlers/drizzle/index.mjs +1 -1
  161. package/dist/storage/handlers/index.mjs +1 -1
  162. package/dist/{storage-namespace-DAm8iWEj.d.mts → storage-namespace-DoH-Wkjp.d.mts} +10 -10
  163. package/dist/timeout-D33CUZ0M.mjs +1 -0
  164. package/dist/{tool-approval-service-BcBSUZCO.mjs → tool-approval-service-CZCPfvVy.mjs} +1 -1
  165. package/dist/{tools-CDSgj0ee.mjs → tools-Cid9D99F.mjs} +1 -1
  166. package/dist/{types-BjToUrHp.d.mts → types--nrtGZ1V.d.mts} +24 -24
  167. package/dist/ui-kernel/index.d.mts +4 -4
  168. package/dist/ui-kernel/pages/namespace.d.mts +4 -4
  169. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  170. package/package.json +5 -1
  171. package/dist/client-Dh4x4GQN.mjs +0 -1
  172. package/dist/extension-Cbrl4YGX.mjs +0 -1
  173. package/dist/index-CNxS4Tlu.d.mts +0 -1
  174. package/dist/profile-4StaDQW0.mjs +0 -1
  175. package/dist/schemas-CGZy_rU6.d.mts +0 -13
  176. /package/dist/{base-orchestrator-9z8TuA5a.d.mts → base-orchestrator-BOAPgqF7.d.mts} +0 -0
  177. /package/dist/{capability-service-tnpR_TaB.mjs → capability-service-DV32ecwR.mjs} +0 -0
  178. /package/dist/{cleanEnvForAdapter-DvcIGXTG.mjs → cleanEnvForAdapter-hTPNvPU5.mjs} +0 -0
  179. /package/dist/{config-namespace-DLSs83zr.d.mts → config-namespace-ChZOpi1W.d.mts} +0 -0
  180. /package/dist/{config-namespace-MJT8P0Ud.mjs → config-namespace-wJ2CakDB.mjs} +0 -0
  181. /package/dist/{cursor-storage-DOQdvo9j.mjs → cursor-storage-BoNI7OAR.mjs} +0 -0
  182. /package/dist/{drizzle-CWVVw7Er.mjs → drizzle-Bn2GtW8c.mjs} +0 -0
  183. /package/dist/{execution-target-BW_uiBVe.mjs → execution-target-D6MgthYs.mjs} +0 -0
  184. /package/dist/{extension-namespace-zaGKi6Qj.mjs → extension-namespace-CTd9kOtt.mjs} +0 -0
  185. /package/dist/{host-CXAUGGN0.mjs → host-CvEht5RT.mjs} +0 -0
  186. /package/dist/{identity-B_A0mE63.mjs → identity-DBST3-XO.mjs} +0 -0
  187. /package/dist/{index-PdUSmPT2.d.mts → index-D2jejYlV.d.mts} +0 -0
  188. /package/dist/{index-T0471kWA.d.mts → index-DQWMu5fS.d.mts} +0 -0
  189. /package/dist/{model-registry-CIscwC52.mjs → model-registry-Dzpssh9j.mjs} +0 -0
  190. /package/dist/{model-registry-BNzpR6TU.mjs → model-registry-xINyxQUT.mjs} +0 -0
  191. /package/dist/{namespace-Bmc7AW4J2.mjs → namespace-C_h7scWx2.mjs} +0 -0
  192. /package/dist/{namespace-N0dfwSg6.mjs → namespace-DBw9BYr8.mjs} +0 -0
  193. /package/dist/{namespace-pNcSglBS.mjs → namespace-DUVgMfTR.mjs} +0 -0
  194. /package/dist/{namespace-0yuzAKlr.mjs → namespace-OwAf1Brw.mjs} +0 -0
  195. /package/dist/{namespace-CfEWMXBx.mjs → namespace-Zb8HAbyF.mjs} +0 -0
  196. /package/dist/{namespace-Db-p67Rg.mjs → namespace-aALq9tnE.mjs} +0 -0
  197. /package/dist/{namespace-D5Wrt7YU.mjs → namespace-yxIxUsjo.mjs} +0 -0
  198. /package/dist/{platform-BbSLVg5b.mjs → platform-BMFUpmTA.mjs} +0 -0
  199. /package/dist/{providers-Cr4Za8a1.mjs → providers-DhiW_fx4.mjs} +0 -0
  200. /package/dist/{schema-uSGW-6oM.mjs → schema-D3ZG13h9.mjs} +0 -0
  201. /package/dist/{schemas-C40ZAJ33.mjs → schemas-CEBe89yE.mjs} +0 -0
  202. /package/dist/{schemas-Co_sVhzz.mjs → schemas-COnLJnt_.mjs} +0 -0
  203. /package/dist/{schemas-CLxtoKFy.mjs → schemas-CrnlCRep.mjs} +0 -0
  204. /package/dist/{server-lifecycle-Cf_SZ27k.d.mts → server-lifecycle-BC6FRn86.d.mts} +0 -0
  205. /package/dist/{server-lifecycle-DbFwlrTW.mjs → server-lifecycle-Dx5WgfoS.mjs} +0 -0
  206. /package/dist/{session-lineage-Eev4uo4I.d.mts → session-lineage-B0cpHfuc.d.mts} +0 -0
  207. /package/dist/{shared-schemas-BgQv_tnu.mjs → shared-schemas-Byah36lG.mjs} +0 -0
  208. /package/dist/{storage-namespace-ADwyijoe.mjs → storage-namespace-BIDs9LPb.mjs} +0 -0
  209. /package/dist/{storage-namespace-definition-CHu2k14q.mjs → storage-namespace-definition-BjK9nZAN.mjs} +0 -0
  210. /package/dist/{tray-menu-service-CTXC1Elg.mjs → tray-menu-service-BAYtLdAg.mjs} +0 -0
  211. /package/dist/{types-CD1LJwPc.d.mts → types-C11LvekX.d.mts} +0 -0
  212. /package/dist/{ui-config-CXmbsqZV.mjs → ui-config-zawaoEfB.mjs} +0 -0
  213. /package/dist/{variant-D5kSrL3m.mjs → variant-BZWfmS0q.mjs} +0 -0
  214. /package/dist/{version-CjS20oXi.mjs → version-D8S4O22A.mjs} +0 -0
  215. /package/dist/{window-registry-CUftmDr3.mjs → window-registry-B_-hBEcV.mjs} +0 -0
@@ -1 +1 @@
1
- import{m as e}from"./shared-DxHLl9UP.mjs";import{m as t,p as n}from"./profile-4StaDQW0.mjs";import{n as r}from"./version-CjS20oXi.mjs";import{z as i}from"zod";const a=i.enum([`strong`,`alias`]),o=i.object({scheme:t,value:t,strength:a}),s=i.object({key:t,label:i.string(),usedPercentage:i.number().finite().min(0).max(100),resetsAt:n.optional()}),c=i.object({windows:i.array(s)}),l=i.record(i.string(),i.unknown()).optional(),u=i.object({clientId:t,found:i.boolean(),version:i.string().optional(),warningMessage:i.string().optional()}),d=i.object({clientId:t,binaryName:t,supportedVersions:r.optional()}),f=i.object({clientAccountId:t,clientId:t,observedAt:n,source:t,displayLabel:i.string().optional(),usage:c,metadata:l}),p=i.discriminatedUnion(`kind`,[i.object({kind:i.literal(`session`),sessionId:t}),i.object({kind:i.literal(`adapter-session`),adapterSessionId:t}),i.object({kind:i.literal(`both`),sessionId:t,adapterSessionId:t})]),m=i.object({clientId:i.string(),source:i.string(),kind:i.string(),observedAt:n,payload:e}),h={request:i.object({clientId:t,observedAt:n.optional(),displayLabel:i.string().optional(),identifiers:i.array(o).min(1),metadata:l}),response:i.object({clientAccountId:t,displayLabel:i.string().optional()})},g={request:m.extend({locator:p}),response:i.object({handled:i.boolean(),sessionId:t.nullable(),clientAccountId:t.nullable(),changed:i.boolean()})},_={request:i.object({clientId:t,observedAt:n,source:t,account:i.object({displayLabel:i.string().optional(),identifiers:i.array(o).min(1)}),usage:c,metadata:l}),response:i.object({clientAccountId:t,snapshot:f})};export{l as a,g as c,f as d,s as f,m as i,p as l,h as n,u as o,c as p,a as r,d as s,o as t,_ as u};
1
+ import{m as e}from"./shared-BhuSHZXH.mjs";import{g as t,h as n}from"./profile-Cq4A7kQa.mjs";import{n as r}from"./version-D8S4O22A.mjs";import{z as i}from"zod";const a=i.enum([`strong`,`alias`]),o=i.object({scheme:t,value:t,strength:a}),s=i.object({key:t,label:i.string(),usedPercentage:i.number().finite().min(0).max(100),resetsAt:n.optional()}),c=i.object({windows:i.array(s)}),l=i.record(i.string(),i.unknown()).optional(),u=i.object({clientId:t,found:i.boolean(),version:i.string().optional(),warningMessage:i.string().optional()}),d=i.object({clientId:t,binaryName:t,supportedVersions:r.optional()}),f=i.object({clientAccountId:t,clientId:t,observedAt:n,source:t,displayLabel:i.string().optional(),usage:c,metadata:l}),p=i.discriminatedUnion(`kind`,[i.object({kind:i.literal(`session`),sessionId:t}),i.object({kind:i.literal(`adapter-session`),adapterSessionId:t}),i.object({kind:i.literal(`both`),sessionId:t,adapterSessionId:t})]),m=i.object({clientId:i.string(),source:i.string(),kind:i.string(),observedAt:n,payload:e}),h={request:i.object({clientId:t,observedAt:n.optional(),displayLabel:i.string().optional(),identifiers:i.array(o).min(1),metadata:l}),response:i.object({clientAccountId:t,displayLabel:i.string().optional()})},g={request:m.extend({locator:p}),response:i.object({handled:i.boolean(),sessionId:t.nullable(),clientAccountId:t.nullable(),changed:i.boolean()})},_={request:i.object({clientId:t,observedAt:n,source:t,account:i.object({displayLabel:i.string().optional(),identifiers:i.array(o).min(1)}),usage:c,metadata:l}),response:i.object({clientAccountId:t,snapshot:f})};export{l as a,g as c,f as d,s as f,m as i,p as l,h as n,u as o,c as p,a as r,d as s,o as t,_ as u};
@@ -1 +1 @@
1
- import{_ as e,b as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as l,ot as u,p as d,r as f,s as p,t as m,u as h,v as g,x as _,y as v}from"./schemas-BXstpWVp.mjs";import"./contracts/adapter/schemas/session-lineage.mjs";import{createBusNamespace as y}from"@makaio/framework/core";const b={getCapabilities:u,startAgent:_,infer:t,listAgents:v,getAgent:g,stopAgent:e,rehydrateAgent:a,getConfigSchema:o,"agent.created":l,"session.created":d,"session.discovered":s,"session.linked":f,"session.statusChanged":m,"session.usage":i,"session.closed":r,log:h,error:c,initialized:n,quota:p},x=y(`adapter`,b),S=x.subjects;export{S as n,b as r,x as t};
1
+ import{_ as e,b as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as l,ot as u,p as d,r as f,s as p,t as m,u as h,v as g,x as _,y as v}from"./schemas-Bn8aqDIE.mjs";import"./contracts/adapter/schemas/session-lineage.mjs";import{createBusNamespace as y}from"@makaio/framework/core";const b={getCapabilities:u,startAgent:_,infer:t,listAgents:v,getAgent:g,stopAgent:e,rehydrateAgent:a,getConfigSchema:o,"agent.created":l,"session.created":d,"session.discovered":s,"session.linked":f,"session.statusChanged":m,"session.usage":i,"session.closed":r,log:h,error:c,initialized:n,quota:p},x=y(`adapter`,b),S=x.subjects;export{S as n,b as r,x as t};
@@ -1,4 +1,4 @@
1
- import { g as BaseAgentConnectorConfig } from "../../types-CD1LJwPc.mjs";
1
+ import { g as BaseAgentConnectorConfig } from "../../types-C11LvekX.mjs";
2
2
  import { z } from "zod";
3
3
  import { IMakaioBus, MakaioBusContext } from "@makaio/framework/bus";
4
4
  import { AIModelSchema, ProtocolId, ProviderContext } from "@makaio/framework/contracts";
@@ -1 +1 @@
1
- import{t as e}from"../../cleanEnvForAdapter-DvcIGXTG.mjs";import{z as t}from"zod";import{createBusInstance as n,openChannel as r}from"@makaio/framework/bus";import{AIModelSchema as i,CredentialSubjects as a}from"@makaio/framework/contracts";import{BaseAdapterConfigSchema as o,ProviderConfigSchema as s,ProviderDefaultsSchema as c}from"@makaio/framework/contracts/config";import l from"node:fs/promises";import{ProviderStorageSubjects as u}from"@makaio/framework/services/settings/storage";import{resolveTimeouts as d}from"@makaio/framework/utils";import{AdapterSubsystemSubjects as f}from"@makaio/framework/services/adapter-subsystem";import{resolveClientBinary as p}from"@makaio/framework/clients";async function m(e,t={}){if(e.startsWith(`env:`)){let n=e.slice(4);if(!n)throw Error(`Credential reference is missing environment variable name`);return(t.readEnv??(e=>process.env[e]))(n)||null}if(e.startsWith(`file:`)){let n=e.slice(5);if(!n)throw Error(`Credential reference is missing file path`);return(await(t.readFile??(async e=>await l.readFile(e,`utf-8`)))(n)).trim()||null}if(e.startsWith(`keychain:`)){let[n,...r]=e.slice(9).split(`:`);if(!n||r.length===0)throw Error(`Credential reference is missing keychain service or account`);if(!t.resolveKeychain)throw Error(`Keychain credential resolution is not configured`);return t.resolveKeychain(n,r.join(`:`))}return e||null}function h(e,t){let n=e.find(e=>e.id===t);if(!n)throw Error(`Provider definition not found: '${t}'`);if(!g(n))throw Error(`Provider definition '${t}' is missing a defaultModel`);return n}function g(e){return typeof e.defaultModel==`string`&&e.defaultModel.length>0}const _=t.record(t.string(),t.unknown());function v(e){return{getDefaults:()=>e().adapterDefaults,getConfig:async t=>{let{adapterName:n,adapterDefaults:r,adapterDefinition:i,protocol:a}=e(),{providerContext:o}=t,s=o.endpointOverrides?.[a]??null,c=d([{layer:`adapter`,source:n,config:i.defaultTimeouts},{layer:`runtime`,source:`config.ts`,config:t.runtimeTimeouts}]),l={...r.providerConfig,...t.providerConfig,baseUrl:s??t.providerConfig?.baseUrl??r.providerConfig?.baseUrl},u=t.model??r.model;if(!u)throw Error(`No model resolved for adapter "${n}" (agentId: ${t.agentId}). Provide a model explicitly or configure adapterDefaults.model.`);return{...r,...t,adapterName:t.adapterName,model:u,cwd:t.cwd??r.cwd??process.cwd(),timeouts:c,providerConfig:l}}}}async function y(e,t){let i=Object.entries(t);if(i.length===0)return{};let o={},s=e.getContext(),{token:c}=await n({context:s}).request(a.getChannelToken,{}),l=await r(s,`credentials`,{token:c,transports:[]});try{let e=await Promise.allSettled(i.map(([,e])=>l.request(a.resolve,{ref:e})));for(let t=0;t<i.length;t++){let[n,r]=i[t],a=e[t];if(a.status===`fulfilled`)if(a.value.value!==null)o[n]=a.value.value;else if(a.value.error){let e=JSON.stringify(r);console.warn(`[resolveConnectorCredentials] Failed to resolve field '${n}' (ref ${e}):`,a.value.error)}else{let e=JSON.stringify(r);console.info(`[resolveConnectorCredentials] Credential unavailable for field '${n}' (ref ${e}); omitting it from the resolved connector credentials.`)}else{let e=JSON.stringify(r);console.warn(`[resolveConnectorCredentials] Failed to resolve field '${n}' (ref ${e}):`,a.reason)}}}finally{l.close()}return o}async function b(e,t,n){let{config:r}=await e.request(f.getProviderConfig,{id:t});if(!r)throw Error(`ProviderConfig '${t}' not found`);let{context:i}=await e.request(f.buildProviderContext,{providerConfigId:t});if(!i)throw Error(`ProviderConfig '${t}' not found`);if(i.definitionId!==r.definitionId)throw Error(`ProviderConfig '${t}' changed during resolution; retry`);let{provider:a}=await e.request(u.get,{id:i.definitionId});if(!a)throw Error(`ProviderDefinition '${r.definitionId}' not found for config '${t}'`);return{config:r,definition:a,baseUrl:i.endpointOverrides?.[n]??a.endpoints?.[n]??null,credentials:await y(e,i.credentialRefs)}}async function x(e,t,n){let{baseUrl:r,credentials:i}=await b(e,t,n);if(!r)throw Error(`Could not resolve baseUrl for ProviderConfig '${t}' with protocol '${n}'. Ensure the provider definition or config override declares an endpoint for this protocol.`);let a=i.apiKey;if(!a)throw Error(`Could not resolve apiKey for ProviderConfig '${t}'. Store credentials via settings before using this provider.`);return{baseUrl:r,apiKey:a}}function S(e,t){if(!t)return{};let n={};for(let[r,i]of Object.entries(t)){let t=e[r];t!==void 0&&(n[i]=t)}return n}async function C(t){let{bus:n,providerContext:r,clientId:i,baseEnv:a={}}=t,o=await y(n,r?.credentialRefs??{}),s=S(o,r?.credentialEnvVars),c=await p(i);return{credentials:o,credEnv:s,resolvedBinary:c,spawnEnv:{...e(a,{omitEnvVars:r?.ambientCredentialEnvVars}),...s,...c?.env??{}}}}export{i as AIModelSchema,o as BaseAdapterConfigSchema,_ as BaseProviderConfigSchema,s as ProviderConfigSchema,c as ProviderDefaultsSchema,S as buildCredentialEnv,v as createAdapterConfigFactory,h as getDefinitionOrThrow,y as resolveConnectorCredentials,m as resolveCredentialRef,x as resolveProviderEndpoint,b as resolveProviderResolution,C as resolveSessionEnvironment};
1
+ import{t as e}from"../../cleanEnvForAdapter-hTPNvPU5.mjs";import{z as t}from"zod";import{createBusInstance as n,openChannel as r}from"@makaio/framework/bus";import{AIModelSchema as i,CredentialSubjects as a}from"@makaio/framework/contracts";import{BaseAdapterConfigSchema as o,ProviderConfigSchema as s,ProviderDefaultsSchema as c}from"@makaio/framework/contracts/config";import l from"node:fs/promises";import{ProviderStorageSubjects as u}from"@makaio/framework/services/settings/storage";import{resolveTimeouts as d}from"@makaio/framework/utils";import{AdapterSubsystemSubjects as f}from"@makaio/framework/services/adapter-subsystem";import{resolveClientBinary as p}from"@makaio/framework/clients";async function m(e,t={}){if(e.startsWith(`env:`)){let n=e.slice(4);if(!n)throw Error(`Credential reference is missing environment variable name`);return(t.readEnv??(e=>process.env[e]))(n)||null}if(e.startsWith(`file:`)){let n=e.slice(5);if(!n)throw Error(`Credential reference is missing file path`);return(await(t.readFile??(async e=>await l.readFile(e,`utf-8`)))(n)).trim()||null}if(e.startsWith(`keychain:`)){let[n,...r]=e.slice(9).split(`:`);if(!n||r.length===0)throw Error(`Credential reference is missing keychain service or account`);if(!t.resolveKeychain)throw Error(`Keychain credential resolution is not configured`);return t.resolveKeychain(n,r.join(`:`))}return e||null}function h(e,t){let n=e.find(e=>e.id===t);if(!n)throw Error(`Provider definition not found: '${t}'`);if(!g(n))throw Error(`Provider definition '${t}' is missing a defaultModel`);return n}function g(e){return typeof e.defaultModel==`string`&&e.defaultModel.length>0}const _=t.record(t.string(),t.unknown());function v(e){return{getDefaults:()=>e().adapterDefaults,getConfig:async t=>{let{adapterName:n,adapterDefaults:r,adapterDefinition:i,protocol:a}=e(),{providerContext:o}=t,s=o.endpointOverrides?.[a]??null,c=d([{layer:`adapter`,source:n,config:i.defaultTimeouts},{layer:`runtime`,source:`config.ts`,config:t.runtimeTimeouts}]),l={...r.providerConfig,...t.providerConfig,baseUrl:s??t.providerConfig?.baseUrl??r.providerConfig?.baseUrl},u=t.model??r.model;if(!u)throw Error(`No model resolved for adapter "${n}" (agentId: ${t.agentId}). Provide a model explicitly or configure adapterDefaults.model.`);return{...r,...t,adapterName:t.adapterName,model:u,cwd:t.cwd??r.cwd??process.cwd(),timeouts:c,providerConfig:l}}}}async function y(e,t){let i=Object.entries(t);if(i.length===0)return{};let o={},s=e.getContext(),{token:c}=await n({context:s}).request(a.getChannelToken,{}),l=await r(s,`credentials`,{token:c,transports:[]});try{let e=await Promise.allSettled(i.map(([,e])=>l.request(a.resolve,{ref:e})));for(let t=0;t<i.length;t++){let[n,r]=i[t],a=e[t];if(a.status===`fulfilled`)if(a.value.value!==null)o[n]=a.value.value;else if(a.value.error){let e=JSON.stringify(r);console.warn(`[resolveConnectorCredentials] Failed to resolve field '${n}' (ref ${e}):`,a.value.error)}else{let e=JSON.stringify(r);console.info(`[resolveConnectorCredentials] Credential unavailable for field '${n}' (ref ${e}); omitting it from the resolved connector credentials.`)}else{let e=JSON.stringify(r);console.warn(`[resolveConnectorCredentials] Failed to resolve field '${n}' (ref ${e}):`,a.reason)}}}finally{l.close()}return o}async function b(e,t,n){let{config:r}=await e.request(f.getProviderConfig,{id:t});if(!r)throw Error(`ProviderConfig '${t}' not found`);let{context:i}=await e.request(f.buildProviderContext,{providerConfigId:t});if(!i)throw Error(`ProviderConfig '${t}' not found`);if(i.definitionId!==r.definitionId)throw Error(`ProviderConfig '${t}' changed during resolution; retry`);let{provider:a}=await e.request(u.get,{id:i.definitionId});if(!a)throw Error(`ProviderDefinition '${r.definitionId}' not found for config '${t}'`);return{config:r,definition:a,baseUrl:i.endpointOverrides?.[n]??a.endpoints?.[n]??null,credentials:await y(e,i.credentialRefs)}}async function x(e,t,n){let{baseUrl:r,credentials:i}=await b(e,t,n);if(!r)throw Error(`Could not resolve baseUrl for ProviderConfig '${t}' with protocol '${n}'. Ensure the provider definition or config override declares an endpoint for this protocol.`);let a=i.apiKey;if(!a)throw Error(`Could not resolve apiKey for ProviderConfig '${t}'. Store credentials via settings before using this provider.`);return{baseUrl:r,apiKey:a}}function S(e,t){if(!t)return{};let n={};for(let[r,i]of Object.entries(t)){let t=e[r];t!==void 0&&(n[i]=t)}return n}async function C(t){let{bus:n,providerContext:r,clientId:i,baseEnv:a={}}=t,o=await y(n,r?.credentialRefs??{}),s=S(o,r?.credentialEnvVars),c=await p(i);return{credentials:o,credEnv:s,resolvedBinary:c,spawnEnv:{...e(a,{omitEnvVars:r?.ambientCredentialEnvVars}),...s,...c?.env??{}}}}export{i as AIModelSchema,o as BaseAdapterConfigSchema,_ as BaseProviderConfigSchema,s as ProviderConfigSchema,c as ProviderDefaultsSchema,S as buildCredentialEnv,v as createAdapterConfigFactory,h as getDefinitionOrThrow,y as resolveConnectorCredentials,m as resolveCredentialRef,x as resolveProviderEndpoint,b as resolveProviderResolution,C as resolveSessionEnvironment};
@@ -1,5 +1,5 @@
1
- import { A as MessageHandle, B as ISessionToolLedger, C as SendMessageRequestPayload, D as IAdapterConfigFactory, E as ConfigFactoryInput, F as ProcessingState, H as SessionToolLedger, I as SendMessageOptions, L as AIModel, M as normalizeMessageInput, N as MessageResult, O as AIAgentConnector, P as MessageState, R as AIReasoningLevel, S as NormalizedCallUsage, T as StartAgentOptions, U as ToolLedgerEntry, V as LedgerSessionContext, _ as ConnectorSendMessageOptions, a as AgentCwdChangeRequestPayload, b as ExecutionContext, c as AgentInterruptRequestPayload, d as AgentMcpServersSetResponsePayload, f as AgentModelChangeRequestPayload, g as BaseAgentConnectorConfig, h as AgentStartResult, i as AgentCredentialChangeResponsePayload, j as NormalizedMessageInput, k as MessageDeliveryMode, l as AgentInterruptResponsePayload, m as AgentSendMessageOptions, n as AgentContext, o as AgentCwdChangeResponsePayload, p as AgentModelChangeResponsePayload, r as AgentCredentialChangeRequestPayload, s as AgentIdentity, t as AIAgentConfig, u as AgentMcpServersSetRequestPayload, v as ConnectorStartOptions, w as SendMessageResponsePayload, x as GetCapabilitiesResponsePayload, y as ContextWindowInput, z as ReasoningLevelMap } from "../types-CD1LJwPc.mjs";
2
- import { _ as LogImporterConfig, a as CompactionMetadata, b as StorageMessagePayload, c as ExternalToolIdentifiers, d as ImportMetadata, f as ImportSegment, g as LogImporter, h as LogImportTestConfig, l as ExternalToolMeta, m as LogImportSessionContext, n as LogOrchestratorConfig, o as DiscoveryMetadata, p as ImportSegmentLineage, r as ParseFileResult, s as ExternalToolIdentifier, u as ImportCursorPosition, v as NormalizedEvent, x as toImportSegment, y as ProcessLogFileResult } from "../base-orchestrator-9z8TuA5a.mjs";
1
+ import { A as MessageHandle, B as ISessionToolLedger, C as SendMessageRequestPayload, D as IAdapterConfigFactory, E as ConfigFactoryInput, F as ProcessingState, H as SessionToolLedger, I as SendMessageOptions, L as AIModel, M as normalizeMessageInput, N as MessageResult, O as AIAgentConnector, P as MessageState, R as AIReasoningLevel, S as NormalizedCallUsage, T as StartAgentOptions, U as ToolLedgerEntry, V as LedgerSessionContext, _ as ConnectorSendMessageOptions, a as AgentCwdChangeRequestPayload, b as ExecutionContext, c as AgentInterruptRequestPayload, d as AgentMcpServersSetResponsePayload, f as AgentModelChangeRequestPayload, g as BaseAgentConnectorConfig, h as AgentStartResult, i as AgentCredentialChangeResponsePayload, j as NormalizedMessageInput, k as MessageDeliveryMode, l as AgentInterruptResponsePayload, m as AgentSendMessageOptions, n as AgentContext, o as AgentCwdChangeResponsePayload, p as AgentModelChangeResponsePayload, r as AgentCredentialChangeRequestPayload, s as AgentIdentity, t as AIAgentConfig, u as AgentMcpServersSetRequestPayload, v as ConnectorStartOptions, w as SendMessageResponsePayload, x as GetCapabilitiesResponsePayload, y as ContextWindowInput, z as ReasoningLevelMap } from "../types-C11LvekX.mjs";
2
+ import { _ as LogImporterConfig, a as CompactionMetadata, b as StorageMessagePayload, c as ExternalToolIdentifiers, d as ImportMetadata, f as ImportSegment, g as LogImporter, h as LogImportTestConfig, l as ExternalToolMeta, m as LogImportSessionContext, n as LogOrchestratorConfig, o as DiscoveryMetadata, p as ImportSegmentLineage, r as ParseFileResult, s as ExternalToolIdentifier, u as ImportCursorPosition, v as NormalizedEvent, x as toImportSegment, y as ProcessLogFileResult } from "../base-orchestrator-BOAPgqF7.mjs";
3
3
  import { z } from "zod";
4
4
  import * as _$_makaio_core0 from "@makaio/framework/core";
5
5
  import { ExtractSubjectPayload, FilterablePayloadIntersection, HandlerForSubjectDefinition, RequestContext, SchemaRecord, ScopedSubjectDefinition, SubjectDefinition, SubjectRecordFromSchemaRecord } from "@makaio/framework/core";
@@ -1,4 +1,4 @@
1
- import{t as e}from"../cleanEnvForAdapter-DvcIGXTG.mjs";import{n as t,r as n,t as r}from"../cursor-storage-DOQdvo9j.mjs";import{z as i}from"zod";import*as a from"node:fs";import{AuthenticationError as o,DirectoryNotFoundError as s,ModelUnavailableError as c,QuotaExceededError as l,RateLimitError as u,createBusNamespace as d}from"@makaio/framework/core";import{MakaioBus as f,NoHandlerError as p,RequestError as m}from"@makaio/framework/bus";import{AdapterSubjects as h,AgentSubjects as g,AgentToolApproveSchema as _,HarnessSubjects as v,MCP_CALL_TOOL_NAME as ee,McpSubjects as y,SessionContextSchema as b,SessionSubjects as x}from"@makaio/framework/contracts";import{TurnStorageSubjects as te}from"@makaio/framework/services/turn";import{CredentialRefSchema as ne}from"@makaio/framework/contracts/config";import{runPostUserMessageHooks as re,runPreUserMessageHooks as ie}from"@makaio/framework/hooks";import{activateProviderContextStrict as ae,buildProviderContext as S}from"@makaio/framework/services/provider-context";import oe from"node:os";import{AgentStorageSubjects as C}from"@makaio/framework/services/session";import{DeferredPromise as w,resolveTimeouts as se}from"@makaio/framework/utils";import ce from"emittery";import*as le from"node:process";function ue(e,t,n){return f.registerNamespace(d(e,t,n))}function T(e){let t=[];try{return JSON.stringify(e,function(e,n){if(typeof n==`bigint`)return n.toString();if(typeof n==`object`&&n){for(;t.length>0&&t[t.length-1]!==this;)t.pop();if(t.includes(n))return`[Circular]`;t.push(n)}return n},2)??`[Non-serializable value]`}catch{try{return String(e)}catch{return`[Non-serializable value]`}}}function de(e){return e.replaceAll(`&`,`&amp;`).replaceAll(`<`,`&lt;`).replaceAll(`>`,`&gt;`).replaceAll(`'`,`&apos;`)}function fe(e){let t=e.replace(/[^a-zA-Z0-9_-]/g,`_`);return t.length===0?`context`:/^[A-Za-z_]/.test(t)?t:`context_${t}`}function E(e,t){let n=fe(e);return`<${n}>\n${de(t)}\n</${n}>`}function pe(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.name==`string`&&typeof t.description==`string`&&(t.compatibility===void 0||typeof t.compatibility==`string`)}function me(e){if(typeof e!=`object`||!e)return!1;let t=e,n=t.metadata,r=n;return typeof t.name==`string`&&typeof t.content==`string`&&(t.license===void 0||typeof t.license==`string`)&&(t.compatibility===void 0||typeof t.compatibility==`string`)&&(t.allowedTools===void 0||typeof t.allowedTools==`string`)&&(n===void 0||typeof n==`object`&&!!n&&Object.values(r??{}).every(e=>typeof e==`string`))}function he(e){if(!Array.isArray(e))return;let t=e.filter(pe).sort((e,t)=>e.name.localeCompare(t.name)).map(e=>e.compatibility?`- ${e.name}: ${e.description} Compatibility: ${e.compatibility}`:`- ${e.name}: ${e.description}`);return t.length>0?t.join(`
1
+ import{t as e}from"../cleanEnvForAdapter-hTPNvPU5.mjs";import{n as t,r as n,t as r}from"../cursor-storage-BoNI7OAR.mjs";import{z as i}from"zod";import*as a from"node:fs";import{AuthenticationError as o,DirectoryNotFoundError as s,ModelUnavailableError as c,QuotaExceededError as l,RateLimitError as u,createBusNamespace as d}from"@makaio/framework/core";import{MakaioBus as f,NoHandlerError as p,RequestError as m}from"@makaio/framework/bus";import{AdapterSubjects as h,AgentSubjects as g,AgentToolApproveSchema as _,HarnessSubjects as v,MCP_CALL_TOOL_NAME as ee,McpSubjects as y,SessionContextSchema as b,SessionSubjects as x}from"@makaio/framework/contracts";import{TurnStorageSubjects as te}from"@makaio/framework/services/turn";import{CredentialRefSchema as ne}from"@makaio/framework/contracts/config";import{runPostUserMessageHooks as re,runPreUserMessageHooks as ie}from"@makaio/framework/hooks";import{activateProviderContextStrict as ae,buildProviderContext as S}from"@makaio/framework/services/provider-context";import oe from"node:os";import{AgentStorageSubjects as C}from"@makaio/framework/services/session";import{DeferredPromise as w,resolveTimeouts as se}from"@makaio/framework/utils";import ce from"emittery";import*as le from"node:process";function ue(e,t,n){return f.registerNamespace(d(e,t,n))}function T(e){let t=[];try{return JSON.stringify(e,function(e,n){if(typeof n==`bigint`)return n.toString();if(typeof n==`object`&&n){for(;t.length>0&&t[t.length-1]!==this;)t.pop();if(t.includes(n))return`[Circular]`;t.push(n)}return n},2)??`[Non-serializable value]`}catch{try{return String(e)}catch{return`[Non-serializable value]`}}}function de(e){return e.replaceAll(`&`,`&amp;`).replaceAll(`<`,`&lt;`).replaceAll(`>`,`&gt;`).replaceAll(`'`,`&apos;`)}function fe(e){let t=e.replace(/[^a-zA-Z0-9_-]/g,`_`);return t.length===0?`context`:/^[A-Za-z_]/.test(t)?t:`context_${t}`}function E(e,t){let n=fe(e);return`<${n}>\n${de(t)}\n</${n}>`}function pe(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.name==`string`&&typeof t.description==`string`&&(t.compatibility===void 0||typeof t.compatibility==`string`)}function me(e){if(typeof e!=`object`||!e)return!1;let t=e,n=t.metadata,r=n;return typeof t.name==`string`&&typeof t.content==`string`&&(t.license===void 0||typeof t.license==`string`)&&(t.compatibility===void 0||typeof t.compatibility==`string`)&&(t.allowedTools===void 0||typeof t.allowedTools==`string`)&&(n===void 0||typeof n==`object`&&!!n&&Object.values(r??{}).every(e=>typeof e==`string`))}function he(e){if(!Array.isArray(e))return;let t=e.filter(pe).sort((e,t)=>e.name.localeCompare(t.name)).map(e=>e.compatibility?`- ${e.name}: ${e.description} Compatibility: ${e.compatibility}`:`- ${e.name}: ${e.description}`);return t.length>0?t.join(`
2
2
  `):void 0}function ge(e){if(!Array.isArray(e))return;let t=e.filter(me).sort((e,t)=>e.name.localeCompare(t.name)).map(e=>{let t=[`## ${e.name}`];return e.compatibility&&t.push(`Compatibility: ${e.compatibility}`),t.push(e.content),t.join(`
3
3
  `)});return t.length>0?t.join(`
4
4
 
@@ -1,4 +1,4 @@
1
- import { g as LogImporter, i as LogFileChangeEvent, n as LogOrchestratorConfig, t as BaseLogOrchestrator } from "../base-orchestrator-9z8TuA5a.mjs";
1
+ import { g as LogImporter, i as LogFileChangeEvent, n as LogOrchestratorConfig, t as BaseLogOrchestrator } from "../base-orchestrator-BOAPgqF7.mjs";
2
2
 
3
3
  //#region adapters/core/src/log-importer/jsonl-parser.d.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import{r as e}from"../cursor-storage-DOQdvo9j.mjs";import*as t from"node:path";import{MakaioBus as n}from"@makaio/framework/bus";import{AdapterSubjects as r,SessionSubjects as i}from"@makaio/framework/contracts";import*as a from"node:fs/promises";import{AdapterSessionStorageSubjects as o}from"@makaio/framework/services/session";import s from"emittery";import c from"p-queue";import{globby as l}from"globby";const u=65536;async function d(e){let{filePath:t,startOffset:n=0}=e,r=[],i=[],o=n,s;try{s=await a.open(t,`r`);let e=await s.stat();if(n>=e.size)return{records:r,bytesRead:n,errors:i};let c=Buffer.alloc(u),l=``,d=n,f=0;for(n>0&&(f=await g(s,n));d<e.size;){let{bytesRead:e}=await s.read(c,0,u,d);if(e===0)break;l+=c.toString(`utf8`,0,e),d+=e;let t=l.split(`
1
+ import{r as e}from"../cursor-storage-BoNI7OAR.mjs";import*as t from"node:path";import{MakaioBus as n}from"@makaio/framework/bus";import{AdapterSubjects as r,SessionSubjects as i}from"@makaio/framework/contracts";import*as a from"node:fs/promises";import{AdapterSessionStorageSubjects as o}from"@makaio/framework/services/session";import s from"emittery";import c from"p-queue";import{globby as l}from"globby";const u=65536;async function d(e){let{filePath:t,startOffset:n=0}=e,r=[],i=[],o=n,s;try{s=await a.open(t,`r`);let e=await s.stat();if(n>=e.size)return{records:r,bytesRead:n,errors:i};let c=Buffer.alloc(u),l=``,d=n,f=0;for(n>0&&(f=await g(s,n));d<e.size;){let{bytesRead:e}=await s.read(c,0,u,d);if(e===0)break;l+=c.toString(`utf8`,0,e),d+=e;let t=l.split(`
2
2
  `),n=t.pop();for(let e of t){if(f++,e.trim()===``){o+=Buffer.byteLength(e,`utf8`)+1;continue}let t=m(e,f);t.success?r.push(t.record):i.push(t.error),o+=Buffer.byteLength(e,`utf8`)+1}l=n??``}return{records:r,bytesRead:o,errors:i}}finally{s&&await s.close()}}async function f(e,t){let n=[],r;try{r=await a.open(e,`r`);let i=Buffer.alloc(u),o=``,s=0;for(;n.length<t;){let{bytesRead:e}=await r.read(i,0,u,s);if(e===0)break;o+=i.toString(`utf8`,0,e),s+=e;let a=o.split(`
3
3
  `);o=a.pop()??``;for(let e of a){if(n.length>=t)break;let r=e.trim();if(r!==``)try{n.push(JSON.parse(r))}catch{}}}return n}finally{r&&await r.close()}}async function p(e,t){let n;try{n=await a.open(e,`r`);let r=Buffer.alloc(u),i=``,o=0;for(;;){let{bytesRead:e}=await n.read(r,0,u,o);if(e===0)break;i+=r.toString(`utf8`,0,e),o+=e;let a=i.split(`
4
4
  `);i=a.pop()??``;for(let e of a){let n=e.trim();if(n!==``)try{if(t(JSON.parse(n)))return!0}catch{}}}return!1}finally{n&&await n.close()}}function m(e,t){try{return{success:!0,record:JSON.parse(e)}}catch(n){return{success:!1,error:{line:t,error:n instanceof Error?n.message:String(n),content:h(e)}}}}function h(e){return e.length<=200?e:e.slice(0,200)+`...`}async function g(e,t){let n=0,r=Buffer.alloc(u),i=0;for(;i<t;){let a=Math.min(u,t-i),{bytesRead:o}=await e.read(r,0,a,i);if(o===0)break;for(let e=0;e<o;e++)r[e]===10&&n++;i+=o}return n}var _=class{eventQueue;cursorQueue;onEventEmitted;constructor(e){this.onEventEmitted=e.onEventEmitted,this.eventQueue=new c({concurrency:1,interval:1e3,intervalCap:e.eventsPerSecond}),this.cursorQueue=new c({concurrency:1})}queueEvent(e){return this.eventQueue.add(async()=>{await n.emit(e.subject,e.payload),this.onEventEmitted()})}queueAfterEvents(e,t=[]){let n=Promise.all(t);return n.catch(()=>void 0),this.cursorQueue.add(async()=>{await n,await e()})}async drain(){await Promise.all([this.eventQueue.onIdle(),this.cursorQueue.onIdle()])}async onIdle(){await this.drain()}},v=class{options;emittery=new s;trackedFiles=new Map;pollTimer;isPolling=!1;isDisposed=!1;inFlightChecks=new Map;constructor(e){if(!t.isAbsolute(e.directory))throw Error(`Directory must be an absolute path: ${e.directory}`);this.options={directory:e.directory,pattern:e.pattern,pollIntervalMs:e.pollIntervalMs??1e4}}on(e,t){return this.emittery.on(e,t)}once(e,t){return this.emittery.once(e,t)}async start(){this.isDisposed||this.pollTimer===void 0&&(await this.poll(),this.pollTimer=setInterval(()=>{this.poll()},this.options.pollIntervalMs))}stop(){this.pollTimer!==void 0&&(clearInterval(this.pollTimer),this.pollTimer=void 0)}dispose(){this.isDisposed=!0,this.stop(),this.emittery.clearListeners(),this.trackedFiles.clear(),this.inFlightChecks.clear()}isRunning(){return this.pollTimer!==void 0}getTrackedFiles(){return this.trackedFiles}seedFromCursors(e){for(let t of e)this.trackedFiles.set(t.filePath,{size:t.bytesRead,mtimeMs:new Date(t.lastModified).getTime()})}async poll(){if(!this.isDisposed&&!this.isPolling){this.isPolling=!0;try{let e=await this.discoverFiles(),t=new Set(e);for(let e of this.trackedFiles.keys())if(!t.has(e)){if(this.isDisposed)return;this.trackedFiles.delete(e),await this.emittery.emit(`deleted`,{filePath:e})}for(let t of e)try{await this.runFileCheck(t)}catch(e){await this.emitWatcherError(e,t)}if(this.isDisposed)return;await this.emittery.emit(`polled`,{trackedFilePaths:new Set(this.trackedFiles.keys())})}catch(e){await this.emitWatcherError(e)}finally{this.isPolling=!1}}}async discoverFiles(){return l(this.options.pattern,{cwd:this.options.directory,absolute:!0,onlyFiles:!0})}async checkFile(e){if(this.isDisposed)return;let t=await a.stat(e);if(this.isDisposed)return;let n={size:t.size,mtimeMs:t.mtimeMs},r=this.trackedFiles.get(e);if(!r){if(this.trackedFiles.set(e,n),this.isDisposed){this.trackedFiles.delete(e);return}await this.emittery.emit(`change`,{filePath:e,stat:{size:t.size,mtime:t.mtime},changeType:`created`});return}if(n.mtimeMs!==r.mtimeMs){let i=n.size<r.size?`rotated`:`modified`;if(this.trackedFiles.set(e,n),this.isDisposed)return;await this.emittery.emit(`change`,{filePath:e,stat:{size:t.size,mtime:t.mtime},changeType:i})}}clearTrackedFile(e){return this.trackedFiles.delete(e)}clearAllTrackedFiles(){this.trackedFiles.clear()}triggerImmediatePoll(e){this.runFileCheck(e).catch(t=>{this.emitWatcherError(t,e)})}async runFileCheck(e){if(this.isDisposed)return;let t=this.inFlightChecks.get(e);if(t){await t;return}let n=(async()=>{try{await this.checkFile(e)}finally{this.inFlightChecks.delete(e)}})();this.inFlightChecks.set(e,n),await n}async emitWatcherError(e,t){let n=e instanceof Error?e:Error(String(e));try{await this.emittery.emit(`error`,{error:n,filePath:t})}catch(e){console.error(`[LogFileWatcher] Error listener failed:`,e instanceof Error?e.message:String(e))}}},y=class{watcher;constructor(e){this.watcher=new v(e)}isRunning(){return this.watcher.isRunning()}async start(){await this.watcher.start()}stop(){this.watcher.stop()}dispose(){this.watcher.dispose()}onChange(e){return this.watcher.on(`change`,e)}onError(e){return this.watcher.on(`error`,e)}onDeleted(e){return this.watcher.on(`deleted`,e)}onPolled(e){return this.watcher.on(`polled`,({trackedFilePaths:t})=>e(t))}getTrackedFileMtimeMs(e){return this.watcher.getTrackedFiles().get(e)?.mtimeMs}triggerImmediatePoll(e){this.watcher.triggerImmediatePoll(e)}seedFromCursors(e){this.watcher.seedFromCursors(e)}},b=class{filesProcessed=0;eventsEmitted=0;sessionsImported=new Set;sessionsSkipped=new Set;lastLoggedEventCount=0;lastLoggedSnapshot=``;reset(){this.filesProcessed=0,this.eventsEmitted=0,this.sessionsImported.clear(),this.sessionsSkipped.clear(),this.lastLoggedEventCount=0,this.lastLoggedSnapshot=``}recordFileProcessed(){this.filesProcessed++}recordEventEmitted(e){this.eventsEmitted++,!(this.eventsEmitted-this.lastLoggedEventCount<1e3)&&(console.info(`${e} Imported ${this.eventsEmitted} events (${this.sessionsImported.size} sessions)...`),this.lastLoggedEventCount=this.eventsEmitted)}recordSessionImported(e){this.sessionsImported.add(e)}recordSessionSkipped(e){this.sessionsSkipped.add(e)}hasActivity(){return this.eventsEmitted>0||this.filesProcessed>0}stoppedMessage(e){return`${e} Stopped - ${this.eventsEmitted} events from ${this.sessionsImported.size} sessions (${this.sessionsSkipped.size} skipped)`}logProgress(e){if(!this.hasActivity())return;let t=JSON.stringify({eventsEmitted:this.eventsEmitted,filesProcessed:this.filesProcessed,sessionsImported:this.sessionsImported.size,sessionsSkipped:this.sessionsSkipped.size});t!==this.lastLoggedSnapshot&&(this.lastLoggedSnapshot=t,console.info(`${e} Progress: ${this.eventsEmitted} events, ${this.sessionsImported.size} sessions, ${this.filesProcessed} files, ${this.sessionsSkipped.size} skipped`))}};function x(){return async e=>{try{let t=await n.request(i.getByAdapterSessionId,{adapterSessionId:e});return t.session!==null&&!t.session.isImported}catch{return!1}}}var S=class{checkedSessions=new Map;inFlight=new Map;async isSkipped(e,t,n){let r=this.checkedSessions.get(e);if(r!==void 0)return r;let i=this.inFlight.get(e);return i||(i=t(e).then(t=>(this.checkedSessions.set(e,t),t&&n(e),t)).finally(()=>{this.inFlight.delete(e)}),this.inFlight.set(e,i)),i}clear(){this.checkedSessions.clear(),this.inFlight.clear()}};function C(e,t,n,r){return!n||!e||r===`rotated`?!1:new Date(e)>=t}function w(e,t,n){for(let r of n??[]){let n=r.line===void 0?``:` at line ${r.line}`;console.warn(`${e} Parse error in ${t}${n}: ${r.error}`)}}async function T(t,r,i,a){let{cursor:o}=await n.request(e.get,{filePath:t});return o&&o.bytesRead>0&&!o.sessionContext&&!r?(await n.request(e.delete,{filePath:t}).catch(()=>{}),a(i),`retry`):o}async function E(e,t,n,r,i,a){let o=await a.parseFile(e,0);w(i,e,o.errors);let s=a.validateRecords(o.records);s.length>0&&await a.handleFirstRead(e,s,o.bytesRead??0,t,n,0,r)}function D(e,t,n,r,i){let a=[];n&&(a.push(i(t.sessionEvent)),a.push(i(t.startedEvent)));let o=r(e,t);for(let e of o)a.push(i(e));return a}function O(e,t){let n=[];for(let r of e)n.push(t(r));return n}function k(e){return typeof e==`object`&&!!e&&`compactionDetected`in e&&e.compactionDetected===!0}function A(e,t,n){return{...e,state:n(t)}}var j=class{tasks=new Set;track(e){this.tasks.add(e),e.finally(()=>{this.tasks.delete(e)})}async drain(){for(;this.tasks.size>0;)await Promise.allSettled([...this.tasks])}},M=class{config;watcher;eventQueue;importer;managedSessionCache=new S;unsubscribeChange;unsubscribeError;unsubscribeDeleted;stats=new b;watcherTasks=new j;progressTimer;constructor(e,t){this.importer=t;let n=e.directory??t.getLogDirectory();this.config={enabled:e.enabled,directory:e.directory,pollIntervalMs:e.pollIntervalMs??1e4,eventsPerSecond:e.eventsPerSecond??100,adapterId:e.adapterId,adapterName:e.adapterName,checkMakaioManaged:e.checkMakaioManaged},this.watcher=new y({directory:n,pattern:this.getLogFilePattern(),pollIntervalMs:this.config.pollIntervalMs}),this.eventQueue=new _({eventsPerSecond:this.config.eventsPerSecond,onEventEmitted:()=>{this.stats.recordEventEmitted(this.logPrefix)}})}shouldSkipFile(e){return!1}validateRecords(e){return e}getMaxRecords(){}buildCursorSessionContext(e){let{adapterSessionId:t,sessionEvent:n,startedEvent:r,state:i,...a}=e;return{...a,adapterSessionId:t,sessionEvent:n,startedEvent:r,state:this.importer.serializeState(i)}}usesJsonFormat(){let e=this.getLogFilePattern();return e.includes(`.json`)&&!e.includes(`.jsonl`)}isEnabled(){return this.config.enabled}isRunning(){return this.watcher.isRunning()}async start(){if(!this.config.enabled||this.isRunning())return;let t=this.config.directory??this.importer.getLogDirectory();console.info(`${this.logPrefix} Starting - watching ${t}`),this.stats.reset(),this.managedSessionCache.clear(),this.progressTimer=setInterval(()=>this.stats.logProgress(this.logPrefix),1e4),this.unsubscribeChange=this.watcher.onChange(e=>{this.trackFileChange(e)}),this.unsubscribeError=this.watcher.onError(({error:e,filePath:t})=>{console.warn(`${this.logPrefix} Error${t?` for ${t}`:``}: ${e.message}`)}),this.unsubscribeDeleted=this.watcher.onDeleted(({filePath:t})=>{this.watcherTasks.track(n.request(e.delete,{filePath:t}).then(()=>void 0).catch(()=>{}))}),await this.watcher.start()}async stop(){this.progressTimer&&=(clearInterval(this.progressTimer),void 0),this.unsubscribeChange?.(),this.unsubscribeError?.(),this.unsubscribeDeleted?.(),this.unsubscribeChange=void 0,this.unsubscribeError=void 0,this.unsubscribeDeleted=void 0,this.watcher.stop(),await this.watcherTasks.drain(),await this.eventQueue.drain(),this.stats.hasActivity()&&console.info(this.stats.stoppedMessage(this.logPrefix))}async dispose(){await this.stop(),this.watcher.dispose(),this.managedSessionCache.clear()}static createDefaultCheckMakaioManaged(){return x()}async updateCursor(t,r,i,a){await n.request(e.set,{filePath:t,bytesRead:r,lastModified:i.toISOString(),sessionContext:a})}async handleFileChange(t){let{filePath:r,changeType:i,stat:a}=t;if(this.shouldSkipFile(r))return;let o=this.usesJsonFormat();i===`rotated`&&await n.request(e.delete,{filePath:r}).catch(()=>{});let s=await T(r,o,t,e=>this.trackFileChange(e));if(s===`retry`)return;let c=s?.sessionContext!==void 0,l=c?s?.bytesRead??0:0;if(C(s?.lastModified,a.mtime,o,i))return;let u=await this.parseFile(r,o?0:l,this.getMaxRecords());w(this.logPrefix,r,u.errors),this.stats.recordFileProcessed();let d=this.validateRecords(u.records),f=u.bytesRead??0;if(d.length===0){await this.maybeUpdateCursor(r,f,l,a.mtime,o,s?.sessionContext);return}c&&s?.sessionContext?await this.handleIncrementalRead(r,d,s.sessionContext,f,a.mtime,o,l):await this.handleFirstRead(r,d,f,a.mtime,o,l)}trackFileChange(e){let t=this.handleFileChange(e).catch(e=>{console.error(`${this.logPrefix} Error handling file change:`,e instanceof Error?e.message:String(e))});this.watcherTasks.track(t)}async handleFirstRead(e,t,n,r,i,a,o=!0){let s=this.importer.extractSessionContext(t);if(await this.isSessionSkipped(s.adapterSessionId)){await this.maybeUpdateCursor(e,n,a,r,i,this.buildCursorSessionContext(s));return}let c=D(t,s,o,(e,t)=>this.importer.processRecords(e,t),e=>this.queueEvent(e));this.trackImportedSession(s.adapterSessionId),await this.queueCursorUpdate(e,n,a,r,i,this.buildCursorSessionContext(s),c)}trackImportedSession(e){this.stats.recordSessionImported(e)}async handleIncrementalRead(t,r,i,a,o,s,c){if(await this.isSessionSkipped(i.adapterSessionId)){await this.maybeUpdateCursor(t,a,c,o,s,i);return}let l;try{l=this.importer.deserializeState(i.state)}catch(r){console.warn(`${this.logPrefix} Corrupted cursor state for ${t}, deleting cursor and re-importing.`,r instanceof Error?r.message:String(r)),await n.request(e.delete,{filePath:t}).catch(e=>{console.warn(`${this.logPrefix} Failed to delete corrupted cursor for ${t}.`,e instanceof Error?e.message:String(e))}),await E(t,o,s,!0,this.logPrefix,{parseFile:(e,t)=>this.parseFile(e,t),validateRecords:e=>this.validateRecords(e),handleFirstRead:(e,t,n,r,i,a,o)=>this.handleFirstRead(e,t,n,r,i,a,o)});return}let u={adapterSessionId:i.adapterSessionId,model:i.model,cwd:i.cwd,sessionEvent:i.sessionEvent,startedEvent:i.startedEvent,state:l},d=this.importer.processRecords(r,u);if(k(u.state)){await E(t,o,s,!1,this.logPrefix,{parseFile:(e,t)=>this.parseFile(e,t),validateRecords:e=>this.validateRecords(e),handleFirstRead:(e,t,n,r,i,a,o)=>this.handleFirstRead(e,t,n,r,i,a,o)});return}let f=O(d,e=>this.queueEvent(e)),p=A(i,u.state,e=>this.importer.serializeState(e));await this.queueCursorUpdate(t,a,c,o,s,p,f)}async maybeUpdateCursor(e,t,n,r,i,a){(t>n||i)&&await this.updateCursor(e,t,r,a)}async isSessionSkipped(e){return this.managedSessionCache.isSkipped(e,e=>this.importer.isMakaioManaged(e),e=>this.stats.recordSessionSkipped(e))}queueEvent(e){return this.eventQueue.queueEvent(e)}queueCursorUpdate(e,t,n,r,i,a,o=[]){return this.eventQueue.queueAfterEvents(()=>this.maybeUpdateCursor(e,t,n,r,i,a),o)}},N=class extends M{trackingFilePaths=new Set;trackingInactiveCount=new Map;lastSeenMtimeMs=new Map;unsubscribePolled;constructor(e,t){super(e,t)}clearTrackingState(e){this.trackingFilePaths.delete(e),this.trackingInactiveCount.delete(e),this.lastSeenMtimeMs.delete(e)}async persistImportedStatus(e){let{session:t}=await n.request(o.getByLogFilePath,{logFilePath:e});return!t||t.status!==`tracking`||(await n.request(o.updateStatus,{adapterSessionId:t.adapterSessionId,status:`imported`})).success?!0:(console.warn(`${this.logPrefix} Failed to persist imported status for ${e}`),!1)}async start(){!this.isEnabled()||this.isRunning()||(await super.start(),this.unsubscribePolled=this.watcher.onPolled(e=>{this.onPollCycle(e).catch(e=>{console.error(`${this.logPrefix} Error handling poll cycle:`,e instanceof Error?e.message:String(e))})}),await this.restorePersistedTrackingState())}async stop(){this.unsubscribePolled?.(),this.unsubscribePolled=void 0,await super.stop()}async dispose(){this.trackingFilePaths.clear(),this.trackingInactiveCount.clear(),this.lastSeenMtimeMs.clear(),await super.dispose()}async handleFileChange(t){let{filePath:r,changeType:i,stat:a}=t;if(this.shouldSkipFile(r))return;let{cursor:o}=await n.request(e.get,{filePath:r});if(!o){await this.discoverNewFile(t);return}i===`modified`&&await this.handleModifiedImportedFile(r,t,a.mtime)}async restorePersistedTrackingState(){this.trackingFilePaths.clear(),this.trackingInactiveCount.clear(),this.lastSeenMtimeMs.clear();try{let{sessions:e}=await n.request(o.list,{});for(let t of e){if(t.status!==`tracking`||!t.logFilePath)continue;let e=this.watcher.getTrackedFileMtimeMs(t.logFilePath);e!==void 0&&(this.trackingFilePaths.add(t.logFilePath),this.trackingInactiveCount.set(t.logFilePath,0),this.lastSeenMtimeMs.set(t.logFilePath,e))}}catch(e){console.warn(`[DiscoveryOrchestrator] Failed to restore persisted tracking state:`,e instanceof Error?e.message:String(e))}}async discoverNewFile(e){let{filePath:t,stat:n}=e,i=await this.importer.extractDiscoveryMetadata(t);if(!(i.hasMessages??!1)){await this.updateCursor(t,0,n.mtime);return}if(await this.isSessionSkipped(i.adapterSessionId)){await this.updateCursor(t,0,n.mtime);return}let a=this.queueEvent({subject:r.session.discovered,payload:{adapterId:this.config.adapterId,adapterName:this.config.adapterName,adapterSessionId:i.adapterSessionId,model:i.model??null,cwd:i.cwd??null,title:i.title,parentAdapterSessionId:i.parentAdapterSessionId??null,forkPointMessageId:i.forkPointMessageId??null,kind:i.kind??`root`,startedAt:i.startedAt,logFilePath:t}});await this.eventQueue.queueAfterEvents(()=>this.updateCursor(t,0,n.mtime),[a])}async handleModifiedImportedFile(e,t,r){let{session:i}=await n.request(o.getByLogFilePath,{logFilePath:e});if(!i){await this.discoverNewFile(t);return}if(!(i.status!==`imported`&&i.status!==`tracking`)){if(await super.handleFileChange(t),i.status===`imported`&&!(await n.request(o.updateStatus,{adapterSessionId:i.adapterSessionId,status:`tracking`})).success){console.warn(`${this.logPrefix} Failed to persist tracking status for ${e}`);return}this.trackingFilePaths.add(e),this.lastSeenMtimeMs.set(e,r.getTime()),this.trackingInactiveCount.delete(e),this.watcher.triggerImmediatePoll(e)}}async onPollCycle(e){for(let t of[...this.trackingFilePaths]){if(!e.has(t)){await this.persistImportedStatus(t)&&this.clearTrackingState(t);continue}let n=this.watcher.getTrackedFileMtimeMs(t),r=this.lastSeenMtimeMs.get(t);if(!(n===void 0||r===void 0))try{if(n===r){let e=(this.trackingInactiveCount.get(t)??0)+1;e>=3?await this.persistImportedStatus(t)&&this.clearTrackingState(t):this.trackingInactiveCount.set(t,e)}else this.lastSeenMtimeMs.set(t,n),this.trackingInactiveCount.delete(t)}catch(e){console.warn(`${this.logPrefix} Failed to process tracked file ${t}:`,e instanceof Error?e.message:String(e))}}}};export{M as BaseLogOrchestrator,N as DiscoveryOrchestrator,d as parseJsonlFile,f as readFirstJsonlRecords,p as someJsonlRecord};
@@ -0,0 +1 @@
1
+ import{t as e}from"./schemas-COnLJnt_.mjs";import{_ as t,a as n,g as r,h as i,m as a,n as ee,o as te}from"./profile-Cq4A7kQa.mjs";import{n as ne,t as o}from"./version-D8S4O22A.mjs";import{c as re,d as ie,n as ae,o as oe,s as se,t as s,u as c}from"./account-identity-Bg_vKkcs.mjs";import{z as l}from"zod";import{createBusNamespace as ce}from"@makaio/framework/core";const u=l.object({tag:l.string(),description:l.string().optional()}),d=l.object({name:l.string(),friendlyName:l.string(),description:l.string().optional(),category:l.string().optional(),capabilities:l.array(u).default([])}),f=l.object({id:l.string(),name:l.string(),description:l.string().optional(),glob:l.string().optional()}),p=l.object({name:l.string().min(1),frameworkSubject:l.string().min(1).optional()}),m=l.object({envVar:r.regex(/^[A-Za-z_][A-Za-z0-9_]*$/,{message:`envVar must be a valid environment variable name (letters, digits, underscores)`}),defaultPath:r.refine(e=>e===`~`||e.startsWith(`~/`)||t(e),{message:`defaultPath must be absolute, '~', or start with '~/'`}),pathKind:l.enum([`directory`,`file`]).default(`directory`)});function le(e){if(!e.startsWith(`@`))return!e.includes(`@`);let t=e.indexOf(`/`);return t>1&&!e.slice(t+1).includes(`@`)}const h=l.object({type:l.literal(`npm`),package:l.string().min(1).refine(le,{message:"package must not include an inline `@version` suffix; use the version field instead"}),version:o}),g=l.object({type:l.literal(`signed-binary-bucket`),version:o,config:l.object({baseUrl:l.string().url(),manifestPathTemplate:l.string().min(1),manifestSignaturePathTemplate:l.string().min(1),publicKeyUrl:l.string().url(),publicKeyFingerprint:l.string().min(1),binaryPathTemplate:l.string().min(1),platforms:l.record(l.string().min(1),l.string().min(1))})}),_=l.discriminatedUnion(`type`,[h,g]),v=l.object({executable:l.union([l.string().min(1),l.object({default:l.string().min(1),darwin:l.string().min(1).optional(),linux:l.string().min(1).optional(),win32:l.string().min(1).optional()}).strict()]),args:l.array(l.string()).default([])}).strict(),y=l.object({kind:l.string().min(1),payload:l.record(l.string(),l.unknown()).optional()}),b=l.object({supportsHooks:l.boolean().default(!1),supportsStatusline:l.boolean().default(!1),supportsSupervisorLaunch:l.boolean().default(!1),supportsManagedBinary:l.boolean().default(!1),hookEvents:l.array(p).default([])}).refine(e=>e.supportsHooks||e.hookEvents.length===0,{message:`hookEvents must be empty when supportsHooks is false`,path:[`hookEvents`]}),x=l.object({name:l.string().min(1),supportedVersions:ne}).strict(),S=l.object({id:l.string(),name:l.string(),version:o,description:l.string().optional(),binary:x.optional(),nativeTools:l.array(d).default([]),defaultApprovalPolicy:e,logSources:l.array(f).optional(),defaultProviderId:l.string().optional(),runtimeCapabilities:b.optional().transform(e=>b.parse(e??{})),managedInstall:_.optional(),versionCommand:v.optional(),postInstall:y.optional(),configIsolation:m.optional()}).strict().refine(e=>!e.runtimeCapabilities.supportsManagedBinary||e.managedInstall!==void 0,{message:`managedInstall is required when runtimeCapabilities.supportsManagedBinary is true`,path:[`managedInstall`]}).refine(e=>e.managedInstall===void 0||e.runtimeCapabilities.supportsManagedBinary,{message:`runtimeCapabilities.supportsManagedBinary must be true when managedInstall is provided`,path:[`runtimeCapabilities`,`supportsManagedBinary`]}).refine(e=>e.managedInstall===void 0||e.versionCommand!==void 0,{message:`versionCommand is required when managedInstall is provided`,path:[`versionCommand`]}).superRefine((e,t)=>{if(e.managedInstall===void 0||e.versionCommand===void 0)return;let{executable:n}=e.versionCommand,r=typeof n==`string`?[{path:n,issuePath:[`versionCommand`,`executable`]}]:[{path:n.default,issuePath:[`versionCommand`,`executable`,`default`]},...n.darwin===void 0?[]:[{path:n.darwin,issuePath:[`versionCommand`,`executable`,`darwin`]}],...n.linux===void 0?[]:[{path:n.linux,issuePath:[`versionCommand`,`executable`,`linux`]}],...n.win32===void 0?[]:[{path:n.win32,issuePath:[`versionCommand`,`executable`,`win32`]}]];for(let{path:e,issuePath:n}of r){let r=e.startsWith(`/`),i=/^[A-Za-z]:/.test(e),a=e.startsWith(`\\`);if(r||i||a){t.addIssue({code:l.ZodIssueCode.custom,path:n,message:`${n.join(`.`)} must be a relative path within the install directory`});continue}e.split(/[/\\]/).some(e=>e===`..`)&&t.addIssue({code:l.ZodIssueCode.custom,path:n,message:`${n.join(`.`)} must be a relative path within the install directory`})}}),C=l.object({binaryPath:a.nullable(),env:l.record(l.string(),l.string()),configDir:a.nullable(),source:l.enum([`managed`,`global`]),version:r.nullable()}),w={request:l.object({clientId:r,sessionId:r.optional(),projectDir:a.optional(),preferSource:l.enum([`managed`,`global`]).optional(),harnessId:r.optional()}),response:C},T=l.enum([`npm`,`signed-binary-bucket`]),E=l.object({version:r,installPath:a,installedAt:i,isActive:l.boolean()}),D=l.object({clientId:r,installedVersions:l.array(E),activeVersion:r.nullable(),pinnedVersion:o,updateAvailable:l.boolean()}).strict(),O={request:l.object({forceRefresh:l.boolean().optional()}),response:l.object({clients:l.array(D)})},k={request:l.object({clientId:r,version:o.optional()}),response:l.object({jobId:r,requestedVersion:o.nullable(),resolvedVersion:o.nullable()})},A={request:l.object({clientId:r,version:r}),response:l.object({clientId:r,removedVersion:r,activeVersion:r.nullable()})},j={request:l.object({clientId:r}),response:l.object({jobId:r,resolvedVersion:o.nullable()})},M={request:l.object({clientId:r,version:r}),response:l.object({clientId:r,activeVersion:r})},N=l.enum([`resolving`,`downloading`,`verifying`,`extracting`,`installing`,`post-install`,`activating`]),P=l.object({jobId:r,clientId:r,version:r.optional(),strategy:T,stage:N,progress:l.number().min(0).max(100).nullable(),installPath:a.optional(),activeAfterCompletion:l.boolean().optional(),metadata:l.record(l.string(),l.unknown()).optional()}),F=l.object({message:l.string(),code:l.string().optional()}),I=l.object({jobId:r,clientId:r,version:r.optional(),strategy:T,status:l.enum([`success`,`error`]),installPath:a.optional(),activeVersion:r.nullable(),error:F.optional(),metadata:l.record(l.string(),l.unknown()).optional()}),L=l.object({clientId:r,previousActiveVersion:r.nullable(),activeVersion:r.nullable(),reason:l.enum([`install`,`update`,`set-active`,`uninstall`])}),R=l.enum([`supervisor`,`adapter`,`client-hook`,`statusline`,`cli-wrapper`]),z=l.object({layer:R,producer:r}),B=l.object({supervisorSessionId:r.optional(),pid:l.number().int().positive().optional(),parentPid:l.number().int().positive().optional(),adapterSessionId:r.optional(),sessionId:r.optional(),cwd:l.string().optional(),argv:l.array(l.string()).optional(),metadata:l.record(l.string(),l.unknown()).optional()}),V={request:l.object({clientId:r,source:z,observedAt:i}).merge(B).refine(e=>e.supervisorSessionId!==void 0||e.pid!==void 0||e.adapterSessionId!==void 0,{message:`At least one hard-evidence field is required (supervisorSessionId, pid, or adapterSessionId)`}),response:l.object({clientRuntimeId:r,created:l.boolean(),promoted:l.boolean()})},H=B.extend({clientRuntimeId:r,clientId:r,status:l.enum([`observed`,`started`]),source:z,observedAt:i}),U=l.object({clientId:r,source:r,observedAt:i,sessionId:l.string().optional(),adapterSessionId:l.string().optional(),metadata:l.record(l.string(),l.unknown()).optional()}),W=U.extend({}),G=U.extend({prompt:r.optional()}),K=U.extend({}),q=U.extend({}),J=U.extend({toolName:r.optional(),toolCallId:r.optional()}),Y=U.extend({toolName:r.optional(),toolCallId:r.optional(),success:l.boolean().optional()}),X=l.object({group:r,name:r,installed:l.boolean(),command:r}),Z={"runtime.observe":V,"runtime.started":H,scan:{request:l.object({targets:l.array(se).optional()}),response:l.object({results:l.array(oe)})},"session.account.observe":re,"account.observe":ae,"account.activate":{request:l.object({clientId:r,clientAccountId:r,identifiers:l.array(s).min(1),displayLabel:l.string().optional()}),response:l.object({accepted:l.boolean()})},"account.getActive":{request:l.object({clientId:r}),response:l.object({identity:l.object({clientAccountId:r,identifiers:l.array(s).min(1),displayLabel:l.string().optional()}).nullable()})},"usage.ingest":c,"usage.snapshot":ie,"session.started":W,"session.userPrompt.submitted":G,"session.turn.started":K,"session.turn.completed":q,"session.tool.pre":J,"session.tool.post":Y,"wiring.list":{request:l.object({clientId:r.optional(),projectDir:a.optional(),makaioCommand:r}),response:l.object({results:l.array(l.object({clientId:r,entries:l.array(X)}))})},list:O,install:k,uninstall:A,update:j,setActive:M,"installJob.progress":P,"installJob.completed":I,"version.changed":L,resolveBinary:w,...n,...te,"config.prime":ee},Q=ce(`client`,Z),ue=Q.subjects;function $(e){if(Array.isArray(e)){for(let t of e)$(t);return Object.freeze(e)}if(e&&typeof e==`object`){for(let t of Object.values(e))$(t);return Object.freeze(e)}return e}function de(e){return $(S.parse(e))}export{T as A,f as B,M as C,F as D,L as E,p as F,v as G,h as H,b as I,u as L,w as M,x as N,N as O,S as P,d as R,O as S,j as T,y as U,_ as V,g as W,H as _,U as a,P as b,J as c,G as d,X as f,z as g,R as h,Z as i,C as j,E as k,q as l,V as m,Q as n,W as o,B as p,ue as r,Y as s,de as t,K as u,D as v,A as w,k as x,I as y,m as z};