@ken-jo/agent-connector 0.5.0 → 0.6.1

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 (236) hide show
  1. package/README.md +9 -6
  2. package/dist/{action-LEYTHNIU.js → action-BCD2GOJA.js} +8 -8
  3. package/dist/{amazon-q-7DPVJXJN.js → amazon-q-KCNHU3BI.js} +2 -2
  4. package/dist/{amp-VYXZWHXW.js → amp-HI6CGN36.js} +2 -2
  5. package/dist/{amp-BQZOL5GR.js → amp-NDP2J4K3.js} +2 -2
  6. package/dist/{antigravity-EA4L225L.js → antigravity-FY5553OR.js} +2 -2
  7. package/dist/{antigravity-VXHL6ZPM.js → antigravity-I2L4WSJN.js} +3 -3
  8. package/dist/{antigravity-cli-B2HXZFYQ.js → antigravity-cli-IUAE3SEX.js} +2 -2
  9. package/dist/{antigravity-cli-JHQ7JGNX.js → antigravity-cli-T24Y54NG.js} +3 -3
  10. package/dist/{audit-HPKCUCES.js → audit-F47H2PLT.js} +5 -5
  11. package/dist/{chunk-O7SDRBVB.js → chunk-6ZZQXEL7.js} +2 -1
  12. package/dist/{chunk-O7SDRBVB.js.map → chunk-6ZZQXEL7.js.map} +1 -1
  13. package/dist/{chunk-IRUYJD23.js → chunk-AN7QCLT7.js} +27 -33
  14. package/dist/chunk-AN7QCLT7.js.map +1 -0
  15. package/dist/{chunk-BXPSDNIB.js → chunk-BD72ZF6D.js} +2 -2
  16. package/dist/{chunk-M6OS4OLU.js → chunk-BGPVMJOG.js} +2 -2
  17. package/dist/{chunk-2Y2MZRLP.js → chunk-CWUPIT72.js} +2 -2
  18. package/dist/{chunk-FKW5A6HE.js → chunk-HUL5CRF2.js} +4 -4
  19. package/dist/{chunk-SFY6YLVK.js → chunk-K67UJSJI.js} +5 -6
  20. package/dist/{chunk-SFY6YLVK.js.map → chunk-K67UJSJI.js.map} +1 -1
  21. package/dist/{chunk-UM5S7DKK.js → chunk-KOFCNA5T.js} +11 -2
  22. package/dist/{chunk-UM5S7DKK.js.map → chunk-KOFCNA5T.js.map} +1 -1
  23. package/dist/{chunk-WZMSSIDN.js → chunk-LO6NIZSL.js} +14 -6
  24. package/dist/chunk-LO6NIZSL.js.map +1 -0
  25. package/dist/{chunk-6WN37NVN.js → chunk-O7CFTOM5.js} +2 -2
  26. package/dist/{chunk-4KIXXJ7B.js → chunk-OXANBA4I.js} +2 -2
  27. package/dist/{chunk-JTN3AKZO.js → chunk-PMOFA5BT.js} +12 -5
  28. package/dist/chunk-PMOFA5BT.js.map +1 -0
  29. package/dist/{chunk-G5HAIYRM.js → chunk-QG26JEJF.js} +66 -58
  30. package/dist/chunk-QG26JEJF.js.map +1 -0
  31. package/dist/{chunk-U2XJWG7N.js → chunk-STR3CRH3.js} +4 -4
  32. package/dist/{chunk-6XMV2OOA.js → chunk-W4GVN3TJ.js} +3 -3
  33. package/dist/{chunk-PWCBWAM4.js → chunk-W67GINTF.js} +2 -2
  34. package/dist/{chunk-XY3N2U6L.js → chunk-WAALPWR4.js} +2 -2
  35. package/dist/{chunk-4QXCNZMD.js → chunk-X2XEE4DO.js} +2 -2
  36. package/dist/{chunk-T5AI3AW3.js → chunk-ZHG7Q424.js} +19 -19
  37. package/dist/{claude-code-LJ6DVXWQ.js → claude-code-EIC4Q7OT.js} +5 -5
  38. package/dist/{claude-code-NMRKTAP7.js → claude-code-L4VXCHKA.js} +2 -2
  39. package/dist/cli/sdk.js +4 -4
  40. package/dist/cli.js +1 -1
  41. package/dist/{cline-JAPJNOZQ.js → cline-AJZ67XEE.js} +3 -3
  42. package/dist/cline-AJZ67XEE.js.map +1 -0
  43. package/dist/{codebuddy-GC7VAE2Y.js → codebuddy-EZZFEP35.js} +2 -2
  44. package/dist/{codebuff-ETYT5UBL.js → codebuff-GUNT2KBT.js} +2 -2
  45. package/dist/{codebuff-3VODFPD4.js → codebuff-HFI3MHNO.js} +12 -12
  46. package/dist/codebuff-HFI3MHNO.js.map +1 -0
  47. package/dist/{codex-RXIS5BHM.js → codex-C7ERS3TW.js} +3 -3
  48. package/dist/{codex-YAORPCOD.js → codex-H4MY6747.js} +2 -2
  49. package/dist/{continue-MECVDV4Z.js → continue-K2CWUNX5.js} +2 -2
  50. package/dist/{copilot-cli-MZTAWMPW.js → copilot-cli-FIQNEHFC.js} +2 -2
  51. package/dist/{copilot-cli-WVWAWNSM.js → copilot-cli-GCRZCLTV.js} +2 -2
  52. package/dist/{crush-QBXLNN7T.js → crush-HLM2DFW2.js} +2 -2
  53. package/dist/{crush-YB3SK6NK.js → crush-KFWUUVZ3.js} +3 -3
  54. package/dist/{cursor-RSLHA2CY.js → cursor-CKSMXWKG.js} +3 -3
  55. package/dist/{cursor-DIW43TRZ.js → cursor-Y3X7YK3S.js} +2 -2
  56. package/dist/{define-connector-odRHEC4H.d.ts → define-connector-iosc34CA.d.ts} +1 -1
  57. package/dist/{detect-USP5JMWM.js → detect-IX6U2FBV.js} +4 -4
  58. package/dist/{devin-WPDN3MXE.js → devin-VD6VCB4Y.js} +2 -2
  59. package/dist/{doctor-VSW5KHBM.js → doctor-DEZPJXGY.js} +15 -15
  60. package/dist/{droid-HS6MX3IL.js → droid-BNWFLMZU.js} +2 -2
  61. package/dist/{droid-U3ZBLQFO.js → droid-SNF6TQK2.js} +2 -2
  62. package/dist/{gemini-cli-NMVVBO3K.js → gemini-cli-2B6TS7KU.js} +2 -2
  63. package/dist/{gemini-cli-VJ6X5DNF.js → gemini-cli-RH63NCVC.js} +2 -2
  64. package/dist/{goose-3X7ID7YW.js → goose-G4JBHXLJ.js} +3 -3
  65. package/dist/{goose-64V46Y2W.js → goose-KDHNJE7Z.js} +2 -2
  66. package/dist/grok-build-FSN4TNLQ.js +682 -0
  67. package/dist/grok-build-FSN4TNLQ.js.map +1 -0
  68. package/dist/{grok-cli-4VFVF2CQ.js → grok-cli-TAIK7VEP.js} +5 -4
  69. package/dist/grok-cli-TAIK7VEP.js.map +1 -0
  70. package/dist/{hermes-AIVUE7LX.js → hermes-BOTDXP3F.js} +2 -2
  71. package/dist/{hermes-F3EGTK6N.js → hermes-MVCJAPSI.js} +2 -2
  72. package/dist/{hook-QRW3ON6C.js → hook-Q3MDXE56.js} +8 -8
  73. package/dist/index.d.ts +3 -3
  74. package/dist/index.js +2 -2
  75. package/dist/{install-ASTAUZKB.js → install-FD7XL3YC.js} +12 -12
  76. package/dist/{introspect-gTx6GzpW.d.ts → introspect-z3eKVWHN.d.ts} +1 -1
  77. package/dist/{jetbrains-copilot-XBO2JZRO.js → jetbrains-copilot-TMU324FM.js} +2 -2
  78. package/dist/{junie-UCOS6Q37.js → junie-RU564IK7.js} +2 -2
  79. package/dist/{kilo-SW7BH6EG.js → kilo-CHH3XI7H.js} +2 -2
  80. package/dist/kilo-CHH3XI7H.js.map +1 -0
  81. package/dist/{kilo-T4OXNUYY.js → kilo-P32GL6JM.js} +3 -3
  82. package/dist/{kilo-cli-ZF272ZHN.js → kilo-cli-L57AGENB.js} +2 -2
  83. package/dist/{kilo-cli-I2S3W245.js → kilo-cli-WBVPQNVP.js} +3 -3
  84. package/dist/{kimi-5FHEXGZD.js → kimi-BDW32HPV.js} +2 -2
  85. package/dist/{kimi-VLSUFLYV.js → kimi-GY2XXIJB.js} +2 -2
  86. package/dist/{kiro-AQFXGOJX.js → kiro-D73LXTUV.js} +2 -2
  87. package/dist/{kiro-WGOI5CGT.js → kiro-HZF4BADZ.js} +2 -2
  88. package/dist/{leaderboard-3XSVSGAJ.js → leaderboard-44GN3NBH.js} +3 -3
  89. package/dist/{mimo-code-KETL7W7D.js → mimo-code-F3BZAQZK.js} +2 -2
  90. package/dist/{mistral-vibe-3AU7N2CA.js → mistral-vibe-ETTSQPK5.js} +2 -2
  91. package/dist/{mux-XM6AP35L.js → mux-H4PNZRKG.js} +2 -2
  92. package/dist/mux-H4PNZRKG.js.map +1 -0
  93. package/dist/{mux-BO2L5CTW.js → mux-WKBVW6DA.js} +28 -22
  94. package/dist/mux-WKBVW6DA.js.map +1 -0
  95. package/dist/{nemoclaw-WA7RSKF2.js → nemoclaw-SGRSTG6V.js} +3 -3
  96. package/dist/{omp-UDYJ2PYY.js → omp-DBW2I6HC.js} +2 -2
  97. package/dist/{open-interpreter-WMBNM4MQ.js → open-interpreter-CXUCCZI3.js} +2 -2
  98. package/dist/{openclaw-3DHVHX5P.js → openclaw-CVCZR63Q.js} +3 -3
  99. package/dist/{openclaw-5EQFGOWL.js → openclaw-QC6ROV5Z.js} +2 -2
  100. package/dist/{opencode-IKMI3RI7.js → opencode-MSAR4Y42.js} +2 -2
  101. package/dist/{opencode-QGP4ALQY.js → opencode-USR7ONCJ.js} +2 -2
  102. package/dist/{openhands-QGXMQR6I.js → openhands-IWT4DWJC.js} +2 -2
  103. package/dist/{package-VWBPHCLA.js → package-3J7LLRIP.js} +8 -8
  104. package/dist/{pi-GGDQREVG.js → pi-34CVX5WX.js} +2 -2
  105. package/dist/{pi-A2HCGRJG.js → pi-5EPSCZ2G.js} +2 -2
  106. package/dist/{qwen-code-GQILBJ5B.js → qwen-code-42TRBZ47.js} +2 -2
  107. package/dist/{qwen-code-DNQTGJOF.js → qwen-code-JW5F5B5M.js} +2 -2
  108. package/dist/runtime/index.d.ts +1 -1
  109. package/dist/runtime/index.js +6 -6
  110. package/dist/sdk/index.d.ts +4 -4
  111. package/dist/sdk/index.js +3 -3
  112. package/dist/sdk/test.d.ts +2 -2
  113. package/dist/sdk/test.js +6 -6
  114. package/dist/{serve-IQGHE4SJ.js → serve-WCKL53H7.js} +8 -8
  115. package/dist/{status-BVLY6XDL.js → status-PMVGLWXM.js} +8 -8
  116. package/dist/{statusline-PRODZV2J.js → statusline-OKW44KFR.js} +7 -7
  117. package/dist/{synthetic-6FRA7P5Q.js → synthetic-YZ4FO7YR.js} +2 -2
  118. package/dist/{telemetry-UU4SHJ23.js → telemetry-7H2DLNON.js} +5 -5
  119. package/dist/{trae-CPPYASR2.js → trae-7PXIXNQO.js} +2 -2
  120. package/dist/{trae-VOJXUYRN.js → trae-IAAKEBFD.js} +2 -2
  121. package/dist/{types-DWXnnx-N.d.ts → types-CAKApZpX.d.ts} +4 -4
  122. package/dist/{uninstall-WI5YLDCT.js → uninstall-KSMFBGOR.js} +12 -12
  123. package/dist/{upgrade-L45BTG6X.js → upgrade-AGC3ABMS.js} +12 -12
  124. package/dist/{usage-K3NQTAJP.js → usage-NTSSJ2O5.js} +3 -3
  125. package/dist/{usage-event-J5CQ6LNT.js → usage-event-FH3X232T.js} +7 -7
  126. package/dist/{vscode-copilot-ZBXRPKGG.js → vscode-copilot-WF2DX4AN.js} +2 -2
  127. package/dist/{warp-NRBBJQR2.js → warp-57BIWGD3.js} +2 -2
  128. package/dist/{warp-S444B2S3.js → warp-NCQPWGRZ.js} +2 -2
  129. package/dist/{windsurf-R6D2JUTN.js → windsurf-YQOBRY2Y.js} +2 -2
  130. package/dist/windsurf-YQOBRY2Y.js.map +1 -0
  131. package/dist/{zed-XJFOOKCO.js → zed-23T4G4CT.js} +2 -2
  132. package/dist/{zed-DQV3ZUCU.js → zed-U2T6VU6N.js} +3 -3
  133. package/package.json +1 -1
  134. package/dist/chunk-G5HAIYRM.js.map +0 -1
  135. package/dist/chunk-IRUYJD23.js.map +0 -1
  136. package/dist/chunk-JTN3AKZO.js.map +0 -1
  137. package/dist/chunk-WZMSSIDN.js.map +0 -1
  138. package/dist/cline-JAPJNOZQ.js.map +0 -1
  139. package/dist/codebuff-3VODFPD4.js.map +0 -1
  140. package/dist/grok-cli-4VFVF2CQ.js.map +0 -1
  141. package/dist/kilo-SW7BH6EG.js.map +0 -1
  142. package/dist/mux-BO2L5CTW.js.map +0 -1
  143. package/dist/mux-XM6AP35L.js.map +0 -1
  144. package/dist/roo-code-SUWI4BBN.js +0 -229
  145. package/dist/roo-code-SUWI4BBN.js.map +0 -1
  146. package/dist/roo-code-VI2ZKTZC.js +0 -361
  147. package/dist/roo-code-VI2ZKTZC.js.map +0 -1
  148. package/dist/windsurf-R6D2JUTN.js.map +0 -1
  149. /package/dist/{action-LEYTHNIU.js.map → action-BCD2GOJA.js.map} +0 -0
  150. /package/dist/{amazon-q-7DPVJXJN.js.map → amazon-q-KCNHU3BI.js.map} +0 -0
  151. /package/dist/{amp-VYXZWHXW.js.map → amp-HI6CGN36.js.map} +0 -0
  152. /package/dist/{amp-BQZOL5GR.js.map → amp-NDP2J4K3.js.map} +0 -0
  153. /package/dist/{antigravity-EA4L225L.js.map → antigravity-FY5553OR.js.map} +0 -0
  154. /package/dist/{antigravity-VXHL6ZPM.js.map → antigravity-I2L4WSJN.js.map} +0 -0
  155. /package/dist/{antigravity-cli-B2HXZFYQ.js.map → antigravity-cli-IUAE3SEX.js.map} +0 -0
  156. /package/dist/{antigravity-cli-JHQ7JGNX.js.map → antigravity-cli-T24Y54NG.js.map} +0 -0
  157. /package/dist/{audit-HPKCUCES.js.map → audit-F47H2PLT.js.map} +0 -0
  158. /package/dist/{chunk-BXPSDNIB.js.map → chunk-BD72ZF6D.js.map} +0 -0
  159. /package/dist/{chunk-M6OS4OLU.js.map → chunk-BGPVMJOG.js.map} +0 -0
  160. /package/dist/{chunk-2Y2MZRLP.js.map → chunk-CWUPIT72.js.map} +0 -0
  161. /package/dist/{chunk-FKW5A6HE.js.map → chunk-HUL5CRF2.js.map} +0 -0
  162. /package/dist/{chunk-6WN37NVN.js.map → chunk-O7CFTOM5.js.map} +0 -0
  163. /package/dist/{chunk-4KIXXJ7B.js.map → chunk-OXANBA4I.js.map} +0 -0
  164. /package/dist/{chunk-U2XJWG7N.js.map → chunk-STR3CRH3.js.map} +0 -0
  165. /package/dist/{chunk-6XMV2OOA.js.map → chunk-W4GVN3TJ.js.map} +0 -0
  166. /package/dist/{chunk-PWCBWAM4.js.map → chunk-W67GINTF.js.map} +0 -0
  167. /package/dist/{chunk-XY3N2U6L.js.map → chunk-WAALPWR4.js.map} +0 -0
  168. /package/dist/{chunk-4QXCNZMD.js.map → chunk-X2XEE4DO.js.map} +0 -0
  169. /package/dist/{chunk-T5AI3AW3.js.map → chunk-ZHG7Q424.js.map} +0 -0
  170. /package/dist/{claude-code-LJ6DVXWQ.js.map → claude-code-EIC4Q7OT.js.map} +0 -0
  171. /package/dist/{claude-code-NMRKTAP7.js.map → claude-code-L4VXCHKA.js.map} +0 -0
  172. /package/dist/{codebuddy-GC7VAE2Y.js.map → codebuddy-EZZFEP35.js.map} +0 -0
  173. /package/dist/{codebuff-ETYT5UBL.js.map → codebuff-GUNT2KBT.js.map} +0 -0
  174. /package/dist/{codex-RXIS5BHM.js.map → codex-C7ERS3TW.js.map} +0 -0
  175. /package/dist/{codex-YAORPCOD.js.map → codex-H4MY6747.js.map} +0 -0
  176. /package/dist/{continue-MECVDV4Z.js.map → continue-K2CWUNX5.js.map} +0 -0
  177. /package/dist/{copilot-cli-MZTAWMPW.js.map → copilot-cli-FIQNEHFC.js.map} +0 -0
  178. /package/dist/{copilot-cli-WVWAWNSM.js.map → copilot-cli-GCRZCLTV.js.map} +0 -0
  179. /package/dist/{crush-QBXLNN7T.js.map → crush-HLM2DFW2.js.map} +0 -0
  180. /package/dist/{crush-YB3SK6NK.js.map → crush-KFWUUVZ3.js.map} +0 -0
  181. /package/dist/{cursor-RSLHA2CY.js.map → cursor-CKSMXWKG.js.map} +0 -0
  182. /package/dist/{cursor-DIW43TRZ.js.map → cursor-Y3X7YK3S.js.map} +0 -0
  183. /package/dist/{detect-USP5JMWM.js.map → detect-IX6U2FBV.js.map} +0 -0
  184. /package/dist/{devin-WPDN3MXE.js.map → devin-VD6VCB4Y.js.map} +0 -0
  185. /package/dist/{doctor-VSW5KHBM.js.map → doctor-DEZPJXGY.js.map} +0 -0
  186. /package/dist/{droid-HS6MX3IL.js.map → droid-BNWFLMZU.js.map} +0 -0
  187. /package/dist/{droid-U3ZBLQFO.js.map → droid-SNF6TQK2.js.map} +0 -0
  188. /package/dist/{gemini-cli-NMVVBO3K.js.map → gemini-cli-2B6TS7KU.js.map} +0 -0
  189. /package/dist/{gemini-cli-VJ6X5DNF.js.map → gemini-cli-RH63NCVC.js.map} +0 -0
  190. /package/dist/{goose-3X7ID7YW.js.map → goose-G4JBHXLJ.js.map} +0 -0
  191. /package/dist/{goose-64V46Y2W.js.map → goose-KDHNJE7Z.js.map} +0 -0
  192. /package/dist/{hermes-AIVUE7LX.js.map → hermes-BOTDXP3F.js.map} +0 -0
  193. /package/dist/{hermes-F3EGTK6N.js.map → hermes-MVCJAPSI.js.map} +0 -0
  194. /package/dist/{hook-QRW3ON6C.js.map → hook-Q3MDXE56.js.map} +0 -0
  195. /package/dist/{install-ASTAUZKB.js.map → install-FD7XL3YC.js.map} +0 -0
  196. /package/dist/{jetbrains-copilot-XBO2JZRO.js.map → jetbrains-copilot-TMU324FM.js.map} +0 -0
  197. /package/dist/{junie-UCOS6Q37.js.map → junie-RU564IK7.js.map} +0 -0
  198. /package/dist/{kilo-T4OXNUYY.js.map → kilo-P32GL6JM.js.map} +0 -0
  199. /package/dist/{kilo-cli-ZF272ZHN.js.map → kilo-cli-L57AGENB.js.map} +0 -0
  200. /package/dist/{kilo-cli-I2S3W245.js.map → kilo-cli-WBVPQNVP.js.map} +0 -0
  201. /package/dist/{kimi-5FHEXGZD.js.map → kimi-BDW32HPV.js.map} +0 -0
  202. /package/dist/{kimi-VLSUFLYV.js.map → kimi-GY2XXIJB.js.map} +0 -0
  203. /package/dist/{kiro-AQFXGOJX.js.map → kiro-D73LXTUV.js.map} +0 -0
  204. /package/dist/{kiro-WGOI5CGT.js.map → kiro-HZF4BADZ.js.map} +0 -0
  205. /package/dist/{leaderboard-3XSVSGAJ.js.map → leaderboard-44GN3NBH.js.map} +0 -0
  206. /package/dist/{mimo-code-KETL7W7D.js.map → mimo-code-F3BZAQZK.js.map} +0 -0
  207. /package/dist/{mistral-vibe-3AU7N2CA.js.map → mistral-vibe-ETTSQPK5.js.map} +0 -0
  208. /package/dist/{nemoclaw-WA7RSKF2.js.map → nemoclaw-SGRSTG6V.js.map} +0 -0
  209. /package/dist/{omp-UDYJ2PYY.js.map → omp-DBW2I6HC.js.map} +0 -0
  210. /package/dist/{open-interpreter-WMBNM4MQ.js.map → open-interpreter-CXUCCZI3.js.map} +0 -0
  211. /package/dist/{openclaw-3DHVHX5P.js.map → openclaw-CVCZR63Q.js.map} +0 -0
  212. /package/dist/{openclaw-5EQFGOWL.js.map → openclaw-QC6ROV5Z.js.map} +0 -0
  213. /package/dist/{opencode-IKMI3RI7.js.map → opencode-MSAR4Y42.js.map} +0 -0
  214. /package/dist/{opencode-QGP4ALQY.js.map → opencode-USR7ONCJ.js.map} +0 -0
  215. /package/dist/{openhands-QGXMQR6I.js.map → openhands-IWT4DWJC.js.map} +0 -0
  216. /package/dist/{package-VWBPHCLA.js.map → package-3J7LLRIP.js.map} +0 -0
  217. /package/dist/{pi-GGDQREVG.js.map → pi-34CVX5WX.js.map} +0 -0
  218. /package/dist/{pi-A2HCGRJG.js.map → pi-5EPSCZ2G.js.map} +0 -0
  219. /package/dist/{qwen-code-GQILBJ5B.js.map → qwen-code-42TRBZ47.js.map} +0 -0
  220. /package/dist/{qwen-code-DNQTGJOF.js.map → qwen-code-JW5F5B5M.js.map} +0 -0
  221. /package/dist/{serve-IQGHE4SJ.js.map → serve-WCKL53H7.js.map} +0 -0
  222. /package/dist/{status-BVLY6XDL.js.map → status-PMVGLWXM.js.map} +0 -0
  223. /package/dist/{statusline-PRODZV2J.js.map → statusline-OKW44KFR.js.map} +0 -0
  224. /package/dist/{synthetic-6FRA7P5Q.js.map → synthetic-YZ4FO7YR.js.map} +0 -0
  225. /package/dist/{telemetry-UU4SHJ23.js.map → telemetry-7H2DLNON.js.map} +0 -0
  226. /package/dist/{trae-CPPYASR2.js.map → trae-7PXIXNQO.js.map} +0 -0
  227. /package/dist/{trae-VOJXUYRN.js.map → trae-IAAKEBFD.js.map} +0 -0
  228. /package/dist/{uninstall-WI5YLDCT.js.map → uninstall-KSMFBGOR.js.map} +0 -0
  229. /package/dist/{upgrade-L45BTG6X.js.map → upgrade-AGC3ABMS.js.map} +0 -0
  230. /package/dist/{usage-K3NQTAJP.js.map → usage-NTSSJ2O5.js.map} +0 -0
  231. /package/dist/{usage-event-J5CQ6LNT.js.map → usage-event-FH3X232T.js.map} +0 -0
  232. /package/dist/{vscode-copilot-ZBXRPKGG.js.map → vscode-copilot-WF2DX4AN.js.map} +0 -0
  233. /package/dist/{warp-NRBBJQR2.js.map → warp-57BIWGD3.js.map} +0 -0
  234. /package/dist/{warp-S444B2S3.js.map → warp-NCQPWGRZ.js.map} +0 -0
  235. /package/dist/{zed-XJFOOKCO.js.map → zed-23T4G4CT.js.map} +0 -0
  236. /package/dist/{zed-DQV3ZUCU.js.map → zed-U2T6VU6N.js.map} +0 -0
@@ -10,7 +10,7 @@ import {
10
10
  isDir,
11
11
  isFile,
12
12
  walkFiles
13
- } from "./chunk-O7SDRBVB.js";
13
+ } from "./chunk-6ZZQXEL7.js";
14
14
  import {
15
15
  emptyTokens
16
16
  } from "./chunk-XD7MY6HB.js";
@@ -211,4 +211,4 @@ var kimi_default = kimiReader;
211
211
  export {
212
212
  kimi_default as default
213
213
  };
214
- //# sourceMappingURL=kimi-5FHEXGZD.js.map
214
+ //# sourceMappingURL=kimi-BDW32HPV.js.map
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  BaseAdapter,
10
10
  renderSkillMd
11
- } from "./chunk-JTN3AKZO.js";
11
+ } from "./chunk-PMOFA5BT.js";
12
12
  import {
13
13
  buildHomeBinHookCommand,
14
14
  buildWrappedStdio,
@@ -680,4 +680,4 @@ export {
680
680
  adapter,
681
681
  kimi_default as default
682
682
  };
683
- //# sourceMappingURL=kimi-VLSUFLYV.js.map
683
+ //# sourceMappingURL=kimi-GY2XXIJB.js.map
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  BaseAdapter,
10
10
  renderSkillMd
11
- } from "./chunk-JTN3AKZO.js";
11
+ } from "./chunk-PMOFA5BT.js";
12
12
  import {
13
13
  buildHomeBinHookCommand,
14
14
  buildWrappedStdio,
@@ -595,4 +595,4 @@ export {
595
595
  adapter,
596
596
  kiro_default as default
597
597
  };
598
- //# sourceMappingURL=kiro-AQFXGOJX.js.map
598
+ //# sourceMappingURL=kiro-D73LXTUV.js.map
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  firstExistingRoot,
9
9
  walkFiles
10
- } from "./chunk-O7SDRBVB.js";
10
+ } from "./chunk-6ZZQXEL7.js";
11
11
  import {
12
12
  emptyTokens,
13
13
  normalizeWorkspaceKey,
@@ -214,4 +214,4 @@ var kiro_default = kiroReader;
214
214
  export {
215
215
  kiro_default as default
216
216
  };
217
- //# sourceMappingURL=kiro-WGOI5CGT.js.map
217
+ //# sourceMappingURL=kiro-HZF4BADZ.js.map
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  formatHostLeaderboard,
4
4
  hostLeaderboard
5
- } from "./chunk-IRUYJD23.js";
5
+ } from "./chunk-AN7QCLT7.js";
6
6
  import {
7
7
  SCOPE_FILTER_VALUES,
8
8
  formatHostNativeTurns,
@@ -15,7 +15,7 @@ import "./chunk-XD7MY6HB.js";
15
15
  import {
16
16
  fail,
17
17
  print
18
- } from "./chunk-T5AI3AW3.js";
18
+ } from "./chunk-ZHG7Q424.js";
19
19
  import "./chunk-IVAWP6HH.js";
20
20
  import "./chunk-GZGLCCEE.js";
21
21
 
@@ -134,4 +134,4 @@ export {
134
134
  parseSince,
135
135
  run
136
136
  };
137
- //# sourceMappingURL=leaderboard-3XSVSGAJ.js.map
137
+ //# sourceMappingURL=leaderboard-44GN3NBH.js.map
@@ -9,7 +9,7 @@ import {
9
9
  BaseAdapter,
10
10
  renderOpenCodeSubagentMd,
11
11
  renderSkillMd
12
- } from "./chunk-JTN3AKZO.js";
12
+ } from "./chunk-PMOFA5BT.js";
13
13
  import {
14
14
  buildWrappedStdio
15
15
  } from "./chunk-QSY74NAP.js";
@@ -716,4 +716,4 @@ export {
716
716
  adapter,
717
717
  mimo_code_default as default
718
718
  };
719
- //# sourceMappingURL=mimo-code-KETL7W7D.js.map
719
+ //# sourceMappingURL=mimo-code-F3BZAQZK.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-BEFVJ2OE.js";
5
5
  import {
6
6
  BaseAdapter
7
- } from "./chunk-JTN3AKZO.js";
7
+ } from "./chunk-PMOFA5BT.js";
8
8
  import {
9
9
  buildWrappedStdio
10
10
  } from "./chunk-QSY74NAP.js";
@@ -297,4 +297,4 @@ export {
297
297
  adapter,
298
298
  mistral_vibe_default as default
299
299
  };
300
- //# sourceMappingURL=mistral-vibe-3AU7N2CA.js.map
300
+ //# sourceMappingURL=mistral-vibe-ETTSQPK5.js.map
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  firstExistingRoot,
8
8
  walkFiles
9
- } from "./chunk-O7SDRBVB.js";
9
+ } from "./chunk-6ZZQXEL7.js";
10
10
  import {
11
11
  emptyTokens
12
12
  } from "./chunk-XD7MY6HB.js";
@@ -93,4 +93,4 @@ var mux_default = muxReader;
93
93
  export {
94
94
  mux_default as default
95
95
  };
96
- //# sourceMappingURL=mux-XM6AP35L.js.map
96
+ //# sourceMappingURL=mux-H4PNZRKG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/usage/readers/mux.ts"],"sourcesContent":["/**\n * usage/readers/mux — Xum (Coder, formerly Mux) native session-usage reader.\n *\n * Faithful port of tokscale sessions/mux.rs. Reads the aggregate\n * <xum home>/sessions/<workspaceId>/session-usage.json file (one per workspace).\n * The home moved `.mux` → `.xum` in the rename and the legacy one still works,\n * so paths.ts offers both roots and firstExistingRoot() picks the live one.\n * This is NOT a JSONL log: each file is a single JSON object carrying a\n * `byModel` map keyed by `<provider>:<model>`, with one cumulative token bucket\n * group per model used in the session:\n * byModel.<key>.input.tokens → input\n * byModel.<key>.cached.tokens → cacheRead\n * byModel.<key>.cacheCreate.tokens → cacheWrite\n * byModel.<key>.output.tokens → output\n * byModel.<key>.reasoning.tokens → reasoning\n * Each bucket also carries an optional `.cost_usd`; the Rust sums those across\n * the five buckets into a source cost, but cost is out of scope for v1 readers\n * (matching the droid/amp JSON siblings) so we do not emit it. Negative token\n * counts are clamped to 0 and an entry whose five dimensions sum to 0 is dropped.\n *\n * One UsageRecord is produced per `byModel` entry (model used in the session).\n * The model key is split on the FIRST ':' only: the prefix is the provider id,\n * the remainder is the model id (so \"provider:sub:model\" → provider=\"provider\",\n * model=\"sub:model\"). A key with no ':' yields an empty provider and the full\n * key as the model id (matching the Rust empty-string provider).\n *\n * Session id is the parent directory name (the workspaceId), e.g.\n * \".../sessions/abc123/session-usage.json\" → \"abc123\". The session-usage.json\n * structure carries no cwd/dir, so there is no project attribution. Timestamp\n * prefers `lastRequest.timestamp` (i64 epoch milliseconds), falling back to the\n * file mtime. No dedup is needed — the file is an aggregate, not an incremental\n * log, and each model key appears once. Confidence is \"host-reported\".\n *\n * Fail-open: no root → []; unreadable/malformed file → skipped (never throws).\n */\n\nimport { basename, dirname } from \"node:path\";\n\nimport type { UsageReader, UsageRecord } from \"../types.js\";\nimport { emptyTokens } from \"../aggregate.js\";\nimport { fileMtimeMs, readJsonFile } from \"../jsonl.js\";\nimport { firstExistingRoot, walkFiles } from \"../paths.js\";\n\nconst PLATFORM_ID = \"mux\" as const;\n\n/** A single token bucket within a model entry (every field optional / unknown). */\ninterface MuxTokenBucket {\n tokens?: unknown;\n}\n\n/** One model entry under `byModel` (every bucket optional / unknown). */\ninterface MuxModelUsage {\n input?: MuxTokenBucket;\n cached?: MuxTokenBucket;\n cacheCreate?: MuxTokenBucket;\n output?: MuxTokenBucket;\n reasoning?: MuxTokenBucket;\n}\n\n/** The session-usage.json shape we read (everything optional / unknown). */\ninterface MuxSessionUsage {\n byModel?: unknown;\n lastRequest?: {\n timestamp?: unknown;\n };\n}\n\n/**\n * Coerce a bucket's token count to a non-negative integer, mirroring the Rust\n * closure `b.as_ref().and_then(|b| b.tokens).unwrap_or(0).max(0)`: absent or\n * non-numeric → 0, negatives clamped to 0.\n */\nfunction bucketTokens(bucket: MuxTokenBucket | undefined): number {\n const v = bucket?.tokens;\n const n = typeof v === \"number\" ? v : typeof v === \"string\" ? Number(v) : NaN;\n if (!Number.isFinite(n)) return 0;\n return Math.max(0, Math.trunc(n));\n}\n\n/**\n * Parse a `lastRequest.timestamp` to epoch ms, or null when unusable. Mux logs\n * an i64 of epoch milliseconds, so a positive finite number is taken verbatim\n * (no seconds heuristic — the Rust treats it as raw millis).\n */\nfunction parseTimestampMs(v: unknown): number | null {\n if (typeof v === \"number\" && Number.isFinite(v) && v > 0) return Math.trunc(v);\n if (typeof v === \"string\") {\n const n = Number(v);\n if (Number.isFinite(n) && n > 0) return Math.trunc(n);\n }\n return null;\n}\n\n/**\n * Split a model key on the FIRST ':' into provider + model (port of the Rust\n * splitn(2, ':')): \"anthropic:claude-opus-4-6\" → { provider: \"anthropic\",\n * model: \"claude-opus-4-6\" }; \"provider:sub:model\" → { provider: \"provider\",\n * model: \"sub:model\" }; a key with no ':' → empty provider, full key as model.\n */\nfunction splitModelKey(key: string): { provider: string; model: string } {\n const colon = key.indexOf(\":\");\n if (colon < 0) return { provider: \"\", model: key };\n return { provider: key.slice(0, colon), model: key.slice(colon + 1) };\n}\n\n/** Parse one mux session-usage.json file into usage records (port of parse_mux_file). */\nfunction parseMuxFile(path: string): UsageRecord[] {\n const raw = readJsonFile(path);\n if (typeof raw !== \"object\" || raw === null) return [];\n const usage = raw as MuxSessionUsage;\n\n const byModel = usage.byModel;\n if (typeof byModel !== \"object\" || byModel === null) return [];\n\n // Timestamp: lastRequest.timestamp (epoch ms) else the file mtime.\n const ts = parseTimestampMs(usage.lastRequest?.timestamp) ?? fileMtimeMs(path);\n\n // Session id = the parent directory name (the workspaceId).\n const sessionId = basename(dirname(path));\n\n const out: UsageRecord[] = [];\n for (const [modelKey, value] of Object.entries(byModel as Record<string, unknown>)) {\n if (typeof value !== \"object\" || value === null) continue;\n const modelUsage = value as MuxModelUsage;\n\n const input = bucketTokens(modelUsage.input);\n const cacheRead = bucketTokens(modelUsage.cached);\n const cacheWrite = bucketTokens(modelUsage.cacheCreate);\n const output = bucketTokens(modelUsage.output);\n const reasoning = bucketTokens(modelUsage.reasoning);\n\n // Skip entries with no tokens in any dimension.\n if (input + cacheRead + cacheWrite + output + reasoning === 0) continue;\n\n const { provider, model } = splitModelKey(modelKey);\n\n const tokens = emptyTokens();\n tokens.input = input;\n tokens.output = output;\n tokens.cacheRead = cacheRead;\n tokens.cacheWrite = cacheWrite;\n tokens.reasoning = reasoning;\n\n out.push({\n platformId: PLATFORM_ID,\n modelId: model,\n providerId: provider,\n sessionId,\n tokens,\n ts,\n messageCount: 1,\n confidence: \"host-reported\",\n });\n }\n\n return out;\n}\n\n/** The Mux (Coder) usage reader singleton. */\nconst muxReader: UsageReader = {\n platformId: PLATFORM_ID,\n kind: \"local\",\n async read({ sinceMs }: { sinceMs?: number }): Promise<UsageRecord[]> {\n const root = firstExistingRoot(PLATFORM_ID);\n if (root === undefined) return []; // no <xum home>/sessions → fail-open\n\n // <xum home>/sessions/<workspaceId>/session-usage.json\n const files = walkFiles(root, (name) => name === \"session-usage.json\");\n\n const records: UsageRecord[] = [];\n for (const file of files) {\n const rows = parseMuxFile(file);\n for (const row of rows) {\n if (sinceMs !== undefined && row.ts < sinceMs) continue;\n records.push(row);\n }\n }\n return records;\n },\n};\n\nexport default muxReader;\n"],"mappings":";;;;;;;;;;;;;;AAoCA,SAAS,UAAU,eAAe;AAOlC,IAAM,cAAc;AA6BpB,SAAS,aAAa,QAA4C;AAChE,QAAM,IAAI,QAAQ;AAClB,QAAM,IAAI,OAAO,MAAM,WAAW,IAAI,OAAO,MAAM,WAAW,OAAO,CAAC,IAAI;AAC1E,MAAI,CAAC,OAAO,SAAS,CAAC,EAAG,QAAO;AAChC,SAAO,KAAK,IAAI,GAAG,KAAK,MAAM,CAAC,CAAC;AAClC;AAOA,SAAS,iBAAiB,GAA2B;AACnD,MAAI,OAAO,MAAM,YAAY,OAAO,SAAS,CAAC,KAAK,IAAI,EAAG,QAAO,KAAK,MAAM,CAAC;AAC7E,MAAI,OAAO,MAAM,UAAU;AACzB,UAAM,IAAI,OAAO,CAAC;AAClB,QAAI,OAAO,SAAS,CAAC,KAAK,IAAI,EAAG,QAAO,KAAK,MAAM,CAAC;AAAA,EACtD;AACA,SAAO;AACT;AAQA,SAAS,cAAc,KAAkD;AACvE,QAAM,QAAQ,IAAI,QAAQ,GAAG;AAC7B,MAAI,QAAQ,EAAG,QAAO,EAAE,UAAU,IAAI,OAAO,IAAI;AACjD,SAAO,EAAE,UAAU,IAAI,MAAM,GAAG,KAAK,GAAG,OAAO,IAAI,MAAM,QAAQ,CAAC,EAAE;AACtE;AAGA,SAAS,aAAa,MAA6B;AACjD,QAAM,MAAM,aAAa,IAAI;AAC7B,MAAI,OAAO,QAAQ,YAAY,QAAQ,KAAM,QAAO,CAAC;AACrD,QAAM,QAAQ;AAEd,QAAM,UAAU,MAAM;AACtB,MAAI,OAAO,YAAY,YAAY,YAAY,KAAM,QAAO,CAAC;AAG7D,QAAM,KAAK,iBAAiB,MAAM,aAAa,SAAS,KAAK,YAAY,IAAI;AAG7E,QAAM,YAAY,SAAS,QAAQ,IAAI,CAAC;AAExC,QAAM,MAAqB,CAAC;AAC5B,aAAW,CAAC,UAAU,KAAK,KAAK,OAAO,QAAQ,OAAkC,GAAG;AAClF,QAAI,OAAO,UAAU,YAAY,UAAU,KAAM;AACjD,UAAM,aAAa;AAEnB,UAAM,QAAQ,aAAa,WAAW,KAAK;AAC3C,UAAM,YAAY,aAAa,WAAW,MAAM;AAChD,UAAM,aAAa,aAAa,WAAW,WAAW;AACtD,UAAM,SAAS,aAAa,WAAW,MAAM;AAC7C,UAAM,YAAY,aAAa,WAAW,SAAS;AAGnD,QAAI,QAAQ,YAAY,aAAa,SAAS,cAAc,EAAG;AAE/D,UAAM,EAAE,UAAU,MAAM,IAAI,cAAc,QAAQ;AAElD,UAAM,SAAS,YAAY;AAC3B,WAAO,QAAQ;AACf,WAAO,SAAS;AAChB,WAAO,YAAY;AACnB,WAAO,aAAa;AACpB,WAAO,YAAY;AAEnB,QAAI,KAAK;AAAA,MACP,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc;AAAA,MACd,YAAY;AAAA,IACd,CAAC;AAAA,EACH;AAEA,SAAO;AACT;AAGA,IAAM,YAAyB;AAAA,EAC7B,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,MAAM,KAAK,EAAE,QAAQ,GAAiD;AACpE,UAAM,OAAO,kBAAkB,WAAW;AAC1C,QAAI,SAAS,OAAW,QAAO,CAAC;AAGhC,UAAM,QAAQ,UAAU,MAAM,CAAC,SAAS,SAAS,oBAAoB;AAErE,UAAM,UAAyB,CAAC;AAChC,eAAW,QAAQ,OAAO;AACxB,YAAM,OAAO,aAAa,IAAI;AAC9B,iBAAW,OAAO,MAAM;AACtB,YAAI,YAAY,UAAa,IAAI,KAAK,QAAS;AAC/C,gBAAQ,KAAK,GAAG;AAAA,MAClB;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;AAEA,IAAO,cAAQ;","names":[]}
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  BaseAdapter,
8
8
  renderSkillMd
9
- } from "./chunk-JTN3AKZO.js";
9
+ } from "./chunk-PMOFA5BT.js";
10
10
  import {
11
11
  buildWrappedStdio
12
12
  } from "./chunk-QSY74NAP.js";
@@ -21,6 +21,12 @@ var HOST = "mux";
21
21
  var MCP_ROOT_KEY = "servers";
22
22
  var MUX_SKILL_NAME_RE = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
23
23
  var MUX_SKILL_NAME_MAX = 64;
24
+ function xumHome(base) {
25
+ const current = join(base, ".xum");
26
+ if (existsSync(current)) return current;
27
+ const legacy = join(base, ".mux");
28
+ return existsSync(legacy) ? legacy : current;
29
+ }
24
30
  function quoteToken(token) {
25
31
  return /\s/.test(token) ? `"${token}"` : token;
26
32
  }
@@ -29,13 +35,13 @@ function buildCommandString(command, args) {
29
35
  }
30
36
  var MuxAdapter = class extends BaseAdapter {
31
37
  id = HOST;
32
- name = "Mux";
38
+ name = "Xum";
33
39
  paradigm = "mcp-only";
34
40
  capabilities = {
35
41
  // Memory surface: AGENTS.md-first managed block via the BaseAdapter default
36
42
  // (memoryTargets: project <projectDir>/AGENTS.md; user scope where documented).
37
43
  supportsMemory: true,
38
- // Mux has no lifecycle hook system — every hook capability is false.
44
+ // Xum has no lifecycle hook system — every hook capability is false.
39
45
  preToolUse: false,
40
46
  postToolUse: false,
41
47
  preCompact: false,
@@ -47,13 +53,13 @@ var MuxAdapter = class extends BaseAdapter {
47
53
  canModifyArgs: false,
48
54
  canModifyOutput: false,
49
55
  canInjectSessionContext: false,
50
- // Mux's command-string server entry is stdio-only.
56
+ // Xum's command-string server entry is stdio-only.
51
57
  transports: ["stdio"],
52
- // Content surface: Mux auto-discovers dir-per-skill SKILL.md from its
58
+ // Content surface: Xum auto-discovers dir-per-skill SKILL.md from its
53
59
  // workspace-local and global roots (mux.coder.com/agents/agent-skills,
54
60
  // fetched 2026-06-16):
55
- // project → <projectDir>/.mux/skills/<name>/SKILL.md (workspace-local)
56
- // user → ~/.mux/skills/<name>/SKILL.md (global, Mux-specific)
61
+ // project → <projectDir>/.xum/skills/<name>/SKILL.md (workspace-local)
62
+ // user → ~/.xum/skills/<name>/SKILL.md (global, Xum-specific)
57
63
  // The skill directory name MUST match ^[a-z0-9]+(?:-[a-z0-9]+)*$ (1–64
58
64
  // chars) and the SKILL.md `name` field must equal it — a name that cannot
59
65
  // be represented is skip-warned (see installSkills).
@@ -61,9 +67,9 @@ var MuxAdapter = class extends BaseAdapter {
61
67
  };
62
68
  // ── Detection ────────────────────────────────────────────────────────────
63
69
  detectInstalled(projectDir) {
64
- const userDir = join(homedir(), ".mux");
70
+ const userDir = xumHome(homedir());
65
71
  const userMcp = join(userDir, "mcp.jsonc");
66
- const projDir = join(projectDir, ".mux");
72
+ const projDir = xumHome(projectDir);
67
73
  const projMcp = join(projDir, "mcp.jsonc");
68
74
  const userInstalled = existsSync(userDir) || existsSync(userMcp);
69
75
  const projInstalled = existsSync(projDir) || existsSync(projMcp);
@@ -78,19 +84,19 @@ var MuxAdapter = class extends BaseAdapter {
78
84
  capabilities: this.capabilities,
79
85
  configPath,
80
86
  scope,
81
- reason: installed ? `found Mux config (${scope})` : `no Mux config at ${userDir} or ${projDir}`,
87
+ reason: installed ? `found Xum config (${scope})` : `no Xum config at ${userDir} or ${projDir}`,
82
88
  confidence: installed ? "high" : "low"
83
89
  };
84
90
  }
85
91
  // ── Native paths ─────────────────────────────────────────────────────────
86
92
  getConfigDir(ctx) {
87
- return ctx.scope === "project" ? join(ctx.projectDir, ".mux") : join(homedir(), ".mux");
93
+ return xumHome(ctx.scope === "project" ? ctx.projectDir : homedir());
88
94
  }
89
95
  getServerConfigPath(ctx) {
90
96
  return join(this.getConfigDir(ctx), "mcp.jsonc");
91
97
  }
92
98
  /**
93
- * Mux has no hook file — hooks are not a thing here. The hook "config path"
99
+ * Xum has no hook file — hooks are not a thing here. The hook "config path"
94
100
  * is the same mcp.jsonc so the generic doctor/backup behave sensibly.
95
101
  */
96
102
  getHookConfigPath(ctx) {
@@ -131,8 +137,8 @@ var MuxAdapter = class extends BaseAdapter {
131
137
  ];
132
138
  }
133
139
  /**
134
- * Render a stdio ServerDef into Mux's single shell-command string. Honors the
135
- * telemetry serve-wrapper and resolves every `${env:VAR}` to a literal (Mux
140
+ * Render a stdio ServerDef into Xum's single shell-command string. Honors the
141
+ * telemetry serve-wrapper and resolves every `${env:VAR}` to a literal (Xum
136
142
  * documents no native interpolation token).
137
143
  */
138
144
  renderCommandString(ctx, server) {
@@ -143,13 +149,13 @@ var MuxAdapter = class extends BaseAdapter {
143
149
  args = resolveEnvRefsDeep(args);
144
150
  return buildCommandString(command, args);
145
151
  }
146
- // ── Hooks (unavailable — Mux is mcp-only) ─────────────────────────────────
152
+ // ── Hooks (unavailable — Xum is mcp-only) ─────────────────────────────────
147
153
  installHooks(_ctx) {
148
154
  return [
149
155
  {
150
156
  platform: this.id,
151
157
  action: "skip",
152
- detail: "hooks unavailable (Mux is mcp-only)"
158
+ detail: "hooks unavailable (Xum is mcp-only)"
153
159
  }
154
160
  ];
155
161
  }
@@ -158,7 +164,7 @@ var MuxAdapter = class extends BaseAdapter {
158
164
  {
159
165
  platform: this.id,
160
166
  action: "skip",
161
- detail: "hooks unavailable (Mux is mcp-only)"
167
+ detail: "hooks unavailable (Xum is mcp-only)"
162
168
  }
163
169
  ];
164
170
  }
@@ -167,11 +173,11 @@ var MuxAdapter = class extends BaseAdapter {
167
173
  // runtime dispatch, no home-bin pointer, no telemetry wrap. Idempotent
168
174
  // (byte-identical → skip) via writeContentFile and reversible via
169
175
  // removeContentFile + removeDirIfEmpty. Honors platforms["mux"].skills ===
170
- // false. No mcp.jsonc entry — Mux auto-discovers the skills dirs.
176
+ // false. No mcp.jsonc entry — Xum auto-discovers the skills dirs.
171
177
  //
172
178
  // Native locations (mux.coder.com/agents/agent-skills):
173
- // project → <projectDir>/.mux/skills/<name>/SKILL.md (workspace-local)
174
- // user → ~/.mux/skills/<name>/SKILL.md (global, Mux-specific)
179
+ // project → <projectDir>/.xum/skills/<name>/SKILL.md (workspace-local)
180
+ // user → ~/.xum/skills/<name>/SKILL.md (global, Xum-specific)
175
181
  // The dir name MUST match MUX_SKILL_NAME_RE (1–64 chars) and the SKILL.md
176
182
  // `name` field must equal it — a name that can't be represented is skip-warned.
177
183
  /** The skills ROOT dir for ctx.scope (parent of every per-skill dir). */
@@ -251,7 +257,7 @@ var MuxAdapter = class extends BaseAdapter {
251
257
  }
252
258
  return changes;
253
259
  }
254
- /** True when a skill name is representable as a Mux skill directory name. */
260
+ /** True when a skill name is representable as a Xum skill directory name. */
255
261
  isValidSkillName(name) {
256
262
  return name.length >= 1 && name.length <= MUX_SKILL_NAME_MAX && MUX_SKILL_NAME_RE.test(name);
257
263
  }
@@ -319,4 +325,4 @@ export {
319
325
  adapter,
320
326
  mux_default as default
321
327
  };
322
- //# sourceMappingURL=mux-BO2L5CTW.js.map
328
+ //# sourceMappingURL=mux-WKBVW6DA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/adapters/mux/index.ts"],"sourcesContent":["/**\n * adapters/mux — Xum (Coder, formerly Mux) platform adapter for agent-connector.\n *\n * Xum is an **mcp-only** host: it exposes no lifecycle hook system, and MCP is\n * its extensibility mechanism. This adapter therefore installs only the MCP\n * server and reports hooks as unavailable — the same shape as the Warp\n * reference adapter.\n *\n * MCP config:\n * - user scope → ~/.xum/mcp.jsonc (legacy home: ~/.mux/mcp.jsonc)\n * - project scope → <projectDir>/.xum/mcp.jsonc (legacy: .mux/mcp.jsonc)\n *\n * RENAME (verified 2026-09-02): Coder renamed Mux to **Xum** (repo coder/mux →\n * coder/xum, xum.coder.com) and moved the config home from `.mux` to `.xum`.\n * The docs are explicit that the old home still works — \"Legacy project files\n * under `.mux/` remain readable when the corresponding `.xum/` file is absent\",\n * and \"the exact location derives from the active Xum home (a legacy `~/.mux`\n * home keeps working)\" (docs/config/mcp-servers.mdx). So `xumHome()` mirrors the\n * host: prefer `.xum`, fall back to an EXISTING `.mux`, and default new installs\n * to `.xum`. Writing blindly to `.xum` would strand every current user; writing\n * blindly to `.mux` would rot. The platform id stays `mux` — renaming it would\n * break existing connector configs and telemetry keys for no user benefit.\n *\n * NOT WIRED (noted 2026-09-02): Xum has an EXPERIMENTAL Agent Plugins reader\n * (Settings → Experiments) that installs plugins into `~/.xum/plugins`, honors\n * the spec's `PLUGIN_ROOT`/`PLUGIN_DATA`, and surfaces a plugin's `mcp.json`\n * servers. We deliberately do NOT route this host to the `agent-plugin` format:\n * Xum is absent from agent-plugins.org/compatible-clients, the reader is behind\n * an experiment flag, and its plugin servers are disabled-by-default and\n * trust-gated — so an AP bundle would install into a surface most users have\n * turned off. Revisit if Xum ships it on by default or joins the client list.\n * Both are JSONC (comments allowed) but we write strict JSON. The root key is\n * \"servers\", and this file doubles as the (non-existent) hook config — there\n * is no separate hook file here.\n *\n * QUIRK: Xum models each server entry as a single shell-command STRING, not an\n * object. So `servers[id]` is `\"<exe> <arg1> <arg2> ...\"` — space-joined, with\n * any token containing whitespace double-quoted. We therefore build that string\n * ourselves and upsert it idempotently (the generic object upsert helper would\n * write the wrong shape). When telemetry-wrapping, the string is the home-bin\n * `serve` wrapper command followed by its args.\n *\n * Xum documents no native `${env:VAR}` interpolation token, so env-refs in the\n * command/args are resolved to literals at install time. The string form has no\n * place for an env map, so server.env is dropped with no native equivalent.\n */\n\nimport { existsSync, statSync } from \"node:fs\";\nimport { homedir } from \"node:os\";\nimport { dirname, join } from \"node:path\";\n\nimport { BaseAdapter } from \"../base.js\";\nimport type { Adapter, InstallContext } from \"../spi.js\";\nimport type {\n ChangeRecord,\n DetectedPlatform,\n HealthCheck,\n HookParadigm,\n PlatformCapabilities,\n PlatformId,\n ServerDef,\n} from \"../../core/types.js\";\nimport { resolveEnvRefs, resolveEnvRefsDeep } from \"../../core/interpolate.js\";\nimport {\n buildWrappedStdio,\n} from \"../../core/spawn.js\";\nimport { renderSkillMd } from \"../claude-code/render.js\";\n\nconst HOST: PlatformId = \"mux\";\nconst MCP_ROOT_KEY = \"servers\";\n\n/**\n * Xum enforces this exact pattern (1–64 chars) on a SKILL directory name, and\n * the SKILL.md `name` field MUST equal the directory name\n * (mux.coder.com/agents/agent-skills). A skill name that does not match is\n * skip-warned rather than written to a dir Xum would reject.\n */\nconst MUX_SKILL_NAME_RE = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;\nconst MUX_SKILL_NAME_MAX = 64;\n\n/**\n * Resolve Xum's config home under `base`, mirroring the host's own rule.\n *\n * Xum reads `.xum/` and falls back to a legacy `.mux/` home\n * (docs/config/mcp-servers.mdx). We resolve the same way so that:\n * - a machine already running the old Mux keeps its servers in `.mux/`\n * instead of silently gaining a second, ignored config;\n * - anything new lands in `.xum/`, which is where Xum looks first.\n * Only an EXISTING legacy dir wins — `.xum` is the default for fresh installs.\n */\nfunction xumHome(base: string): string {\n const current = join(base, \".xum\");\n if (existsSync(current)) return current;\n const legacy = join(base, \".mux\");\n return existsSync(legacy) ? legacy : current;\n}\n\n/** Quote a token only when it contains whitespace (Xum command-string form). */\nfunction quoteToken(token: string): string {\n return /\\s/.test(token) ? `\"${token}\"` : token;\n}\n\n/** Join an executable + args into Xum's single shell-command string. */\nfunction buildCommandString(command: string, args: readonly string[]): string {\n return [command, ...args].map(quoteToken).join(\" \");\n}\n\nexport class MuxAdapter extends BaseAdapter implements Adapter {\n readonly id: PlatformId = HOST;\n readonly name = \"Xum\";\n readonly paradigm: HookParadigm = \"mcp-only\";\n\n readonly capabilities: PlatformCapabilities = {\n // Memory surface: AGENTS.md-first managed block via the BaseAdapter default\n // (memoryTargets: project <projectDir>/AGENTS.md; user scope where documented).\n supportsMemory: true,\n // Xum has no lifecycle hook system — every hook capability is false.\n preToolUse: false,\n postToolUse: false,\n preCompact: false,\n sessionStart: false,\n sessionEnd: false,\n userPromptSubmit: false,\n stop: false,\n notification: false,\n canModifyArgs: false,\n canModifyOutput: false,\n canInjectSessionContext: false,\n // Xum's command-string server entry is stdio-only.\n transports: [\"stdio\"],\n // Content surface: Xum auto-discovers dir-per-skill SKILL.md from its\n // workspace-local and global roots (mux.coder.com/agents/agent-skills,\n // fetched 2026-06-16):\n // project → <projectDir>/.xum/skills/<name>/SKILL.md (workspace-local)\n // user → ~/.xum/skills/<name>/SKILL.md (global, Xum-specific)\n // The skill directory name MUST match ^[a-z0-9]+(?:-[a-z0-9]+)*$ (1–64\n // chars) and the SKILL.md `name` field must equal it — a name that cannot\n // be represented is skip-warned (see installSkills).\n supportsSkills: true,\n };\n\n // ── Detection ────────────────────────────────────────────────────────────\n\n detectInstalled(projectDir: string): DetectedPlatform {\n const userDir = xumHome(homedir());\n const userMcp = join(userDir, \"mcp.jsonc\");\n const projDir = xumHome(projectDir);\n const projMcp = join(projDir, \"mcp.jsonc\");\n\n const userInstalled = existsSync(userDir) || existsSync(userMcp);\n const projInstalled = existsSync(projDir) || existsSync(projMcp);\n const installed = userInstalled || projInstalled;\n const scope = projInstalled && !userInstalled ? \"project\" : \"user\";\n const configPath = scope === \"project\" ? projMcp : userMcp;\n\n return {\n id: this.id,\n name: this.name,\n installed,\n paradigm: this.paradigm,\n capabilities: this.capabilities,\n configPath,\n scope,\n reason: installed\n ? `found Xum config (${scope})`\n : `no Xum config at ${userDir} or ${projDir}`,\n confidence: installed ? \"high\" : \"low\",\n };\n }\n\n // ── Native paths ─────────────────────────────────────────────────────────\n\n getConfigDir(ctx: InstallContext): string {\n return xumHome(ctx.scope === \"project\" ? ctx.projectDir : homedir());\n }\n\n getServerConfigPath(ctx: InstallContext): string {\n return join(this.getConfigDir(ctx), \"mcp.jsonc\");\n }\n\n /**\n * Xum has no hook file — hooks are not a thing here. The hook \"config path\"\n * is the same mcp.jsonc so the generic doctor/backup behave sensibly.\n */\n getHookConfigPath(ctx: InstallContext): string {\n return this.getServerConfigPath(ctx);\n }\n\n // ── MCP server install / uninstall ───────────────────────────────────────\n\n installServer(ctx: InstallContext): ChangeRecord[] {\n const { connector, dryRun } = ctx;\n const override = connector.platforms[HOST]?.server;\n if (!connector.server || override === false) {\n return [\n {\n platform: this.id,\n action: \"skip\",\n detail: connector.server\n ? \"server registration disabled for mux\"\n : \"connector declares no MCP server\",\n },\n ];\n }\n\n // Shallow-merge any per-platform server override into the base ServerDef.\n const server: ServerDef =\n override && typeof override === \"object\"\n ? { ...connector.server, ...override }\n : connector.server;\n\n const path = this.getServerConfigPath(ctx);\n\n if (server.transport !== \"stdio\" || !server.command) {\n // Xum's command-string entry is stdio-only; remote transports skip.\n return [\n {\n platform: this.id,\n action: \"skip\",\n path,\n detail: `transport \"${server.transport}\" not registrable (mux expects a stdio command string)`,\n },\n ];\n }\n\n const entry = this.renderCommandString(ctx, server);\n // Xum's server VALUE is a command string, but the object-map upsert is\n // value-agnostic — route through the shared helper (byte-identical output).\n return [this.upsertServerInJson(path, MCP_ROOT_KEY, connector.id, entry, dryRun)];\n }\n\n uninstallServer(ctx: InstallContext): ChangeRecord[] {\n const path = this.getServerConfigPath(ctx);\n return [\n this.removeServerFromJson(path, MCP_ROOT_KEY, ctx.connector.id, ctx.dryRun),\n ];\n }\n\n /**\n * Render a stdio ServerDef into Xum's single shell-command string. Honors the\n * telemetry serve-wrapper and resolves every `${env:VAR}` to a literal (Xum\n * documents no native interpolation token).\n */\n private renderCommandString(ctx: InstallContext, server: ServerDef): string {\n let command = server.command ?? \"\";\n let args = [...(server.args ?? [])];\n\n // Transparent telemetry wrapping: route the real command through\n // `<homeBin> serve --connector <id> -- <command> <args...>`.\n ({ command, args } = buildWrappedStdio(ctx, server, this.id, command, args));\n\n // Resolve env-refs to literals (Xum has no native interpolation token).\n command = resolveEnvRefs(command);\n args = resolveEnvRefsDeep(args);\n\n return buildCommandString(command, args);\n }\n\n // ── Hooks (unavailable — Xum is mcp-only) ─────────────────────────────────\n\n installHooks(_ctx: InstallContext): ChangeRecord[] {\n return [\n {\n platform: this.id,\n action: \"skip\",\n detail: \"hooks unavailable (Xum is mcp-only)\",\n },\n ];\n }\n\n uninstallHooks(_ctx: InstallContext): ChangeRecord[] {\n return [\n {\n platform: this.id,\n action: \"skip\",\n detail: \"hooks unavailable (Xum is mcp-only)\",\n },\n ];\n }\n\n // ── Content surface: skills (dir-per-skill SKILL.md) ─────────────────────\n // CONTENT-ONLY: pure native-file writers, mirroring goose/openclaw. No\n // runtime dispatch, no home-bin pointer, no telemetry wrap. Idempotent\n // (byte-identical → skip) via writeContentFile and reversible via\n // removeContentFile + removeDirIfEmpty. Honors platforms[\"mux\"].skills ===\n // false. No mcp.jsonc entry — Xum auto-discovers the skills dirs.\n //\n // Native locations (mux.coder.com/agents/agent-skills):\n // project → <projectDir>/.xum/skills/<name>/SKILL.md (workspace-local)\n // user → ~/.xum/skills/<name>/SKILL.md (global, Xum-specific)\n // The dir name MUST match MUX_SKILL_NAME_RE (1–64 chars) and the SKILL.md\n // `name` field must equal it — a name that can't be represented is skip-warned.\n\n /** The skills ROOT dir for ctx.scope (parent of every per-skill dir). */\n private skillsDir(ctx: InstallContext): string {\n return join(this.getConfigDir(ctx), \"skills\");\n }\n\n /** Per-skill directory: <skillsDir>/<name>. */\n private skillDir(ctx: InstallContext, name: string): string {\n return join(this.skillsDir(ctx), name);\n }\n\n override installSkills(ctx: InstallContext): ChangeRecord[] {\n const { connector } = ctx;\n if (connector.platforms[HOST]?.skills === false) {\n return [{ platform: this.id, action: \"skip\", detail: \"skills disabled for mux\" }];\n }\n if (connector.skills.length === 0) {\n return [{ platform: this.id, action: \"skip\", detail: \"connector declares no skills\" }];\n }\n const changes: ChangeRecord[] = [];\n for (const skill of connector.skills) {\n // Xum REQUIRES the dir name (and SKILL.md `name`) to match its pattern;\n // a name we cannot represent is skip-warned rather than written to a dir\n // Xum would reject (the honesty bar — never write an unreadable path).\n if (!this.isValidSkillName(skill.name)) {\n changes.push({\n platform: this.id,\n action: \"warn\",\n detail:\n `skill \"${skill.name}\" cannot be represented on mux ` +\n `(name must match ${MUX_SKILL_NAME_RE.source}, 1–${MUX_SKILL_NAME_MAX} chars); skipped`,\n });\n continue;\n }\n const dir = this.skillDir(ctx, skill.name);\n // Guard a skills path occupied by a regular FILE (mkdir would throw\n // ENOTDIR): skip-warn rather than crash (cline `.clinerules`-is-a-file\n // precedent).\n const blockingFile = this.firstFileOnSkillPath(ctx, dir);\n if (blockingFile !== null) {\n changes.push({\n platform: this.id,\n action: \"warn\",\n path: blockingFile,\n detail: `${blockingFile} is a file, not a directory; skill \"${skill.name}\" skipped`,\n });\n continue;\n }\n changes.push(\n this.writeContentFile(join(dir, \"SKILL.md\"), renderSkillMd(skill), ctx.dryRun),\n );\n // Bundle any resource files beside SKILL.md (relative path → contents).\n // Defense-in-depth: skip+warn on any key that escapes the skill dir.\n for (const [rel, contents] of Object.entries(skill.resources ?? {})) {\n const target = this.resolveWithin(dir, rel);\n if (target === null) {\n changes.push({\n platform: this.id,\n action: \"warn\",\n detail: `skill resource \"${rel}\" escapes the skill dir; skipped`,\n });\n continue;\n }\n changes.push(this.writeContentFile(target, contents, ctx.dryRun));\n }\n }\n return changes;\n }\n\n override uninstallSkills(ctx: InstallContext): ChangeRecord[] {\n const { connector } = ctx;\n if (connector.skills.length === 0) {\n return [{ platform: this.id, action: \"skip\", detail: \"connector declares no skills\" }];\n }\n const changes: ChangeRecord[] = [];\n for (const skill of connector.skills) {\n // Skip names install never wrote (invalid → never on disk under our dir).\n if (!this.isValidSkillName(skill.name)) continue;\n const dir = this.skillDir(ctx, skill.name);\n // Remove only the files we wrote (SKILL.md + declared resources), then the\n // skill dir itself when we own its full contents.\n changes.push(this.removeContentFile(join(dir, \"SKILL.md\"), ctx.dryRun));\n for (const rel of Object.keys(skill.resources ?? {})) {\n const target = this.resolveWithin(dir, rel);\n if (target === null) continue; // never delete outside the skill dir\n changes.push(this.removeContentFile(target, ctx.dryRun));\n }\n // Only remove the skill dir when WE own its full contents — never rm -rf a\n // dir that still holds user-added / sibling-tool / shared files.\n changes.push(this.removeDirIfEmpty(dir, ctx.dryRun));\n }\n if (changes.length === 0) {\n return [{ platform: this.id, action: \"skip\", detail: \"no installable skills to remove\" }];\n }\n return changes;\n }\n\n /** True when a skill name is representable as a Xum skill directory name. */\n private isValidSkillName(name: string): boolean {\n return name.length >= 1 && name.length <= MUX_SKILL_NAME_MAX && MUX_SKILL_NAME_RE.test(name);\n }\n\n /**\n * Walk from the skills root down to `leaf` and return the FIRST segment that\n * exists as a regular file (a mkdir there throws ENOTDIR), else null — so\n * installSkills can skip-warn instead of crashing.\n */\n private firstFileOnSkillPath(ctx: InstallContext, leaf: string): string | null {\n const root = this.skillsDir(ctx);\n const segments: string[] = [];\n let cur = leaf;\n while (cur.length >= root.length) {\n segments.unshift(cur);\n if (cur === root) break;\n const parent = dirname(cur);\n if (parent === cur) break;\n cur = parent;\n }\n for (const p of segments) {\n if (!existsSync(p)) return null;\n try {\n if (statSync(p).isFile()) return p;\n } catch {\n return null;\n }\n }\n return null;\n }\n\n // ── Diagnostics ──────────────────────────────────────────────────────────\n\n override getHealthChecks(ctx: InstallContext): readonly HealthCheck[] {\n const mcpPath = this.getServerConfigPath(ctx);\n const connectorId = ctx.connector.id;\n return [\n {\n name: `${this.name}: mcp.jsonc present`,\n check: () =>\n existsSync(mcpPath)\n ? { status: \"OK\", detail: mcpPath }\n : { status: \"FAIL\", detail: `not found: ${mcpPath}` },\n },\n {\n name: `${this.name}: server entry registered`,\n check: () => {\n // Only assert what the connector declares: a server-less connector\n // never writes an mcpServers entry, so its absence is healthy.\n if (!ctx.connector.server) {\n return { status: \"OK\", detail: \"no MCP server declared\" };\n }\n const cfg = this.readJson<{ [k: string]: Record<string, unknown> }>(\n mcpPath,\n );\n const bucket = cfg?.[MCP_ROOT_KEY];\n if (!cfg || !bucket) {\n return { status: \"FAIL\", detail: `no ${MCP_ROOT_KEY} in ${mcpPath}` };\n }\n return connectorId in bucket\n ? { status: \"OK\", detail: `${MCP_ROOT_KEY}.${connectorId} present` }\n : {\n status: \"FAIL\",\n detail: `no ${MCP_ROOT_KEY}.${connectorId} in ${mcpPath}`,\n };\n },\n },\n ];\n }\n}\n\nexport const adapter = new MuxAdapter();\nexport default adapter;\n"],"mappings":"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","names":[]}
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  OpenClawAdapter
4
- } from "./chunk-PWCBWAM4.js";
4
+ } from "./chunk-W67GINTF.js";
5
5
  import "./chunk-BEFVJ2OE.js";
6
- import "./chunk-JTN3AKZO.js";
6
+ import "./chunk-PMOFA5BT.js";
7
7
  import "./chunk-QSY74NAP.js";
8
8
  import "./chunk-UMQ6NBQR.js";
9
9
  import "./chunk-GZGLCCEE.js";
@@ -54,4 +54,4 @@ export {
54
54
  adapter,
55
55
  nemoclaw_default as default
56
56
  };
57
- //# sourceMappingURL=nemoclaw-WA7RSKF2.js.map
57
+ //# sourceMappingURL=nemoclaw-SGRSTG6V.js.map
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-BEFVJ2OE.js";
8
8
  import {
9
9
  BaseAdapter
10
- } from "./chunk-JTN3AKZO.js";
10
+ } from "./chunk-PMOFA5BT.js";
11
11
  import {
12
12
  buildWrappedStdio
13
13
  } from "./chunk-QSY74NAP.js";
@@ -654,4 +654,4 @@ export {
654
654
  adapter,
655
655
  omp_default as default
656
656
  };
657
- //# sourceMappingURL=omp-UDYJ2PYY.js.map
657
+ //# sourceMappingURL=omp-DBW2I6HC.js.map
@@ -6,7 +6,7 @@ import {
6
6
  BaseAdapter,
7
7
  removeFromObjectMap,
8
8
  upsertInObjectMap
9
- } from "./chunk-JTN3AKZO.js";
9
+ } from "./chunk-PMOFA5BT.js";
10
10
  import {
11
11
  buildWrappedStdio
12
12
  } from "./chunk-QSY74NAP.js";
@@ -261,4 +261,4 @@ export {
261
261
  adapter,
262
262
  open_interpreter_default as default
263
263
  };
264
- //# sourceMappingURL=open-interpreter-WMBNM4MQ.js.map
264
+ //# sourceMappingURL=open-interpreter-CXUCCZI3.js.map
@@ -3,9 +3,9 @@ import {
3
3
  OpenClawAdapter,
4
4
  adapter,
5
5
  openclaw_default
6
- } from "./chunk-PWCBWAM4.js";
6
+ } from "./chunk-W67GINTF.js";
7
7
  import "./chunk-BEFVJ2OE.js";
8
- import "./chunk-JTN3AKZO.js";
8
+ import "./chunk-PMOFA5BT.js";
9
9
  import "./chunk-QSY74NAP.js";
10
10
  import "./chunk-UMQ6NBQR.js";
11
11
  import "./chunk-GZGLCCEE.js";
@@ -14,4 +14,4 @@ export {
14
14
  adapter,
15
15
  openclaw_default as default
16
16
  };
17
- //# sourceMappingURL=openclaw-3DHVHX5P.js.map
17
+ //# sourceMappingURL=openclaw-CVCZR63Q.js.map
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  expandHome,
8
8
  walkFiles
9
- } from "./chunk-O7SDRBVB.js";
9
+ } from "./chunk-6ZZQXEL7.js";
10
10
  import {
11
11
  emptyTokens
12
12
  } from "./chunk-XD7MY6HB.js";
@@ -147,4 +147,4 @@ var openclaw_default = openclawReader;
147
147
  export {
148
148
  openclaw_default as default
149
149
  };
150
- //# sourceMappingURL=openclaw-5EQFGOWL.js.map
150
+ //# sourceMappingURL=openclaw-QC6ROV5Z.js.map
@@ -9,7 +9,7 @@ import {
9
9
  BaseAdapter,
10
10
  renderOpenCodeSubagentMd,
11
11
  renderSkillMd
12
- } from "./chunk-JTN3AKZO.js";
12
+ } from "./chunk-PMOFA5BT.js";
13
13
  import {
14
14
  buildWrappedStdio
15
15
  } from "./chunk-QSY74NAP.js";
@@ -734,4 +734,4 @@ export {
734
734
  adapter,
735
735
  opencode_default as default
736
736
  };
737
- //# sourceMappingURL=opencode-IKMI3RI7.js.map
737
+ //# sourceMappingURL=opencode-MSAR4Y42.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-YT43MUSJ.js";
5
5
  import {
6
6
  firstExistingRoot
7
- } from "./chunk-O7SDRBVB.js";
7
+ } from "./chunk-6ZZQXEL7.js";
8
8
  import {
9
9
  emptyTokens,
10
10
  normalizeOpencodeAgentName,
@@ -213,4 +213,4 @@ var opencode_default = opencodeReader;
213
213
  export {
214
214
  opencode_default as default
215
215
  };
216
- //# sourceMappingURL=opencode-QGP4ALQY.js.map
216
+ //# sourceMappingURL=opencode-USR7ONCJ.js.map
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-BEFVJ2OE.js";
8
8
  import {
9
9
  BaseAdapter
10
- } from "./chunk-JTN3AKZO.js";
10
+ } from "./chunk-PMOFA5BT.js";
11
11
  import {
12
12
  buildWrappedStdio,
13
13
  isHomeBinHookCommand
@@ -381,4 +381,4 @@ export {
381
381
  adapter,
382
382
  openhands_default as default
383
383
  };
384
- //# sourceMappingURL=openhands-QGXMQR6I.js.map
384
+ //# sourceMappingURL=openhands-IWT4DWJC.js.map
@@ -7,23 +7,23 @@ import {
7
7
  packageConnector,
8
8
  packageConnectorAll,
9
9
  resolvePackageFormat
10
- } from "./chunk-U2XJWG7N.js";
11
- import "./chunk-XY3N2U6L.js";
10
+ } from "./chunk-STR3CRH3.js";
11
+ import "./chunk-WAALPWR4.js";
12
12
  import "./chunk-OPXAP3AC.js";
13
13
  import {
14
14
  fail,
15
15
  print
16
- } from "./chunk-T5AI3AW3.js";
16
+ } from "./chunk-ZHG7Q424.js";
17
17
  import {
18
18
  findConnectorConfig,
19
19
  loadConnectorFromPath
20
- } from "./chunk-M6OS4OLU.js";
21
- import "./chunk-6WN37NVN.js";
22
- import "./chunk-G5HAIYRM.js";
20
+ } from "./chunk-BGPVMJOG.js";
21
+ import "./chunk-O7CFTOM5.js";
22
+ import "./chunk-QG26JEJF.js";
23
23
  import "./chunk-NBYKLUF6.js";
24
24
  import "./chunk-H53QZQJI.js";
25
25
  import "./chunk-BEFVJ2OE.js";
26
- import "./chunk-JTN3AKZO.js";
26
+ import "./chunk-PMOFA5BT.js";
27
27
  import "./chunk-QSY74NAP.js";
28
28
  import "./chunk-UMQ6NBQR.js";
29
29
  import "./chunk-GZGLCCEE.js";
@@ -140,4 +140,4 @@ async function run(argv) {
140
140
  export {
141
141
  run
142
142
  };
143
- //# sourceMappingURL=package-VWBPHCLA.js.map
143
+ //# sourceMappingURL=package-3J7LLRIP.js.map
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  isDir,
8
8
  walkFiles
9
- } from "./chunk-O7SDRBVB.js";
9
+ } from "./chunk-6ZZQXEL7.js";
10
10
  import {
11
11
  emptyTokens,
12
12
  normalizeWorkspaceKey,
@@ -136,4 +136,4 @@ var pi_default = piReader;
136
136
  export {
137
137
  pi_default as default
138
138
  };
139
- //# sourceMappingURL=pi-GGDQREVG.js.map
139
+ //# sourceMappingURL=pi-34CVX5WX.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-FBJQGRET.js";
5
5
  import {
6
6
  BaseAdapter
7
- } from "./chunk-JTN3AKZO.js";
7
+ } from "./chunk-PMOFA5BT.js";
8
8
  import "./chunk-QSY74NAP.js";
9
9
  import "./chunk-UMQ6NBQR.js";
10
10
  import "./chunk-GZGLCCEE.js";
@@ -427,4 +427,4 @@ export {
427
427
  adapter,
428
428
  pi_default as default
429
429
  };
430
- //# sourceMappingURL=pi-A2HCGRJG.js.map
430
+ //# sourceMappingURL=pi-5EPSCZ2G.js.map
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  firstExistingRoot,
8
8
  walkFiles
9
- } from "./chunk-O7SDRBVB.js";
9
+ } from "./chunk-6ZZQXEL7.js";
10
10
  import {
11
11
  emptyTokens,
12
12
  inferProvider,
@@ -131,4 +131,4 @@ var qwen_code_default = qwenReader;
131
131
  export {
132
132
  qwen_code_default as default
133
133
  };
134
- //# sourceMappingURL=qwen-code-GQILBJ5B.js.map
134
+ //# sourceMappingURL=qwen-code-42TRBZ47.js.map
@@ -28,7 +28,7 @@ import {
28
28
  import {
29
29
  BaseAdapter,
30
30
  renderSkillMd
31
- } from "./chunk-JTN3AKZO.js";
31
+ } from "./chunk-PMOFA5BT.js";
32
32
  import {
33
33
  buildHomeBinStatuslineCommand,
34
34
  buildWrappedStdio,
@@ -1101,4 +1101,4 @@ export {
1101
1101
  adapter,
1102
1102
  qwen_code_default as default
1103
1103
  };
1104
- //# sourceMappingURL=qwen-code-DNQTGJOF.js.map
1104
+ //# sourceMappingURL=qwen-code-JW5F5B5M.js.map
@@ -1,4 +1,4 @@
1
- import { e as HookEventName, o as PlatformId } from '../types-DWXnnx-N.js';
1
+ import { e as HookEventName, o as PlatformId } from '../types-CAKApZpX.js';
2
2
 
3
3
  /**
4
4
  * runtime/hook-entrypoint — the universal json-stdio hook dispatcher.
@@ -4,21 +4,21 @@ import {
4
4
  runServe,
5
5
  runStatusline,
6
6
  runUsageEvent
7
- } from "../chunk-SFY6YLVK.js";
7
+ } from "../chunk-K67UJSJI.js";
8
8
  import "../chunk-OP4KBXUO.js";
9
9
  import "../chunk-GDIAHWNY.js";
10
- import "../chunk-4KIXXJ7B.js";
10
+ import "../chunk-OXANBA4I.js";
11
11
  import {
12
12
  isNativeHookDeclared,
13
13
  runHook,
14
14
  runNativeHook
15
- } from "../chunk-6XMV2OOA.js";
15
+ } from "../chunk-W4GVN3TJ.js";
16
16
  import "../chunk-IVAWP6HH.js";
17
17
  import "../chunk-KHO5WNTP.js";
18
18
  import "../chunk-4NFDNY3C.js";
19
- import "../chunk-M6OS4OLU.js";
20
- import "../chunk-6WN37NVN.js";
21
- import "../chunk-G5HAIYRM.js";
19
+ import "../chunk-BGPVMJOG.js";
20
+ import "../chunk-O7CFTOM5.js";
21
+ import "../chunk-QG26JEJF.js";
22
22
  import "../chunk-NBYKLUF6.js";
23
23
  import "../chunk-QSY74NAP.js";
24
24
  import "../chunk-UMQ6NBQR.js";