@ken-jo/agent-connector 0.4.75 → 0.4.91

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 (192) hide show
  1. package/README.md +3 -3
  2. package/dist/{action-TCKBTTZX.js → action-L44DXFHT.js} +14 -14
  3. package/dist/{amazon-q-CB4XFX7T.js → amazon-q-B52EY2SV.js} +5 -5
  4. package/dist/{amp-6Q5OYHNW.js → amp-UXABVUKC.js} +5 -5
  5. package/dist/{antigravity-WIK3XBN5.js → antigravity-RZHN53VB.js} +6 -6
  6. package/dist/antigravity-cli-JO6GUTV7.js +436 -0
  7. package/dist/antigravity-cli-JO6GUTV7.js.map +1 -0
  8. package/dist/{chunk-Q5LECKZL.js → chunk-25CPWJA7.js} +116 -36
  9. package/dist/chunk-25CPWJA7.js.map +1 -0
  10. package/dist/{chunk-D6ZJS4ND.js → chunk-4FWETID5.js} +2 -2
  11. package/dist/{chunk-Q42SEI7W.js → chunk-4HVQ7IUM.js} +3 -3
  12. package/dist/{chunk-IU42THN7.js → chunk-4NSU3KWX.js} +2 -2
  13. package/dist/{chunk-7CZKXXBD.js → chunk-56R2ER7K.js} +2 -2
  14. package/dist/{chunk-HKM3HUOK.js → chunk-7HUUINPB.js} +18 -18
  15. package/dist/{chunk-TZ5KGCE2.js → chunk-AY3RGRTT.js} +2 -2
  16. package/dist/{chunk-MHDQWZ4A.js → chunk-BLTVZACS.js} +23 -13
  17. package/dist/chunk-BLTVZACS.js.map +1 -0
  18. package/dist/{chunk-7ITLLYWB.js → chunk-G4CEELKO.js} +5 -5
  19. package/dist/{chunk-TO57WYBB.js → chunk-HORHRHNG.js} +9 -3
  20. package/dist/chunk-HORHRHNG.js.map +1 -0
  21. package/dist/{chunk-2HCJV6UO.js → chunk-IXOQDZWC.js} +9 -2
  22. package/dist/chunk-IXOQDZWC.js.map +1 -0
  23. package/dist/{chunk-2L6LTQ6L.js → chunk-KIRCPLM4.js} +21 -10
  24. package/dist/chunk-KIRCPLM4.js.map +1 -0
  25. package/dist/{chunk-24K6JOKV.js → chunk-LAIITCMW.js} +8 -8
  26. package/dist/{chunk-OEQJGBBW.js → chunk-LF76VPGQ.js} +9 -9
  27. package/dist/{chunk-7QRUZAUG.js → chunk-LN76OGNR.js} +2 -2
  28. package/dist/{chunk-DI6OWKH2.js → chunk-NBUEL74R.js} +3 -3
  29. package/dist/{chunk-IRUYJD23.js → chunk-NLE2J5P4.js} +1 -1
  30. package/dist/{chunk-5LAFKXFM.js → chunk-NWLRJNXM.js} +3 -3
  31. package/dist/{chunk-ECSRTK4M.js → chunk-QARPXSIV.js} +4 -4
  32. package/dist/{chunk-AXAHW2KU.js → chunk-QKLJU4JX.js} +2 -2
  33. package/dist/{chunk-MDZG5QHB.js → chunk-R6LML2YS.js} +2 -2
  34. package/dist/{chunk-FUXUEXDP.js → chunk-UBB7T54N.js} +3 -3
  35. package/dist/{chunk-NUGMVVV2.js → chunk-VVFDU4IX.js} +4 -4
  36. package/dist/{chunk-ALVXORZM.js → chunk-YYNXIUR2.js} +2 -2
  37. package/dist/{chunk-TW4DVR4V.js → chunk-ZMLVR4J7.js} +7 -2
  38. package/dist/chunk-ZMLVR4J7.js.map +1 -0
  39. package/dist/{claude-code-HFBAAVWS.js → claude-code-WS4NAGZT.js} +9 -9
  40. package/dist/cli/sdk.js +7 -7
  41. package/dist/cli.js +1 -1
  42. package/dist/{cline-26W4FEZ6.js → cline-NNMVCECA.js} +5 -5
  43. package/dist/codebuddy-RBEZGXBG.js +643 -0
  44. package/dist/codebuddy-RBEZGXBG.js.map +1 -0
  45. package/dist/{codebuff-J5KEEBIL.js → codebuff-RJIDSEU3.js} +5 -5
  46. package/dist/{codex-JKQ6TLRI.js → codex-ZZ434GYR.js} +8 -8
  47. package/dist/{continue-KQSJUSWX.js → continue-MNM7YVJY.js} +6 -6
  48. package/dist/{copilot-cli-YBNKLYUB.js → copilot-cli-SMTX5F65.js} +5 -5
  49. package/dist/{crush-JTWTZIPB.js → crush-NYDBHIJE.js} +5 -5
  50. package/dist/{cursor-2NIZSDZ4.js → cursor-AOELDNZU.js} +6 -6
  51. package/dist/{detect-CWEIQCRC.js → detect-3S46RUMK.js} +4 -4
  52. package/dist/devin-PRJY2TTD.js +510 -0
  53. package/dist/devin-PRJY2TTD.js.map +1 -0
  54. package/dist/{doctor-AC437ZAW.js → doctor-3CUBPQKU.js} +22 -22
  55. package/dist/{droid-HF2AIFB2.js → droid-PTCH2K7Y.js} +5 -5
  56. package/dist/{gemini-cli-2EOK26S2.js → gemini-cli-QGLN2UMS.js} +5 -5
  57. package/dist/{goose-55JOTXS5.js → goose-DQ6GSZ5O.js} +6 -6
  58. package/dist/grok-cli-5QD235UB.js +482 -0
  59. package/dist/grok-cli-5QD235UB.js.map +1 -0
  60. package/dist/{hermes-QVZOZU4B.js → hermes-E47IG63A.js} +6 -6
  61. package/dist/{hook-VYD3OCLM.js → hook-P6EKDINW.js} +14 -14
  62. package/dist/index.d.ts +2 -2
  63. package/dist/index.js +5 -5
  64. package/dist/{install-S6BYIJ62.js → install-7DMK53SB.js} +18 -18
  65. package/dist/{introspect-5o5ick0_.d.ts → introspect-DYOIX8Ov.d.ts} +1 -1
  66. package/dist/{jetbrains-copilot-DZ2ATXFN.js → jetbrains-copilot-T2EPKROP.js} +13 -7
  67. package/dist/jetbrains-copilot-T2EPKROP.js.map +1 -0
  68. package/dist/junie-SQ4SDLGK.js +227 -0
  69. package/dist/junie-SQ4SDLGK.js.map +1 -0
  70. package/dist/{kilo-GJNSBWVV.js → kilo-OU2ZLZKB.js} +8 -8
  71. package/dist/{kilo-cli-2CCB3DBI.js → kilo-cli-NMWGYF4F.js} +8 -8
  72. package/dist/{kimi-YRPCSB6N.js → kimi-Z7L2LEEI.js} +5 -5
  73. package/dist/{kiro-BUOQFASX.js → kiro-4IN5IH46.js} +81 -6
  74. package/dist/kiro-4IN5IH46.js.map +1 -0
  75. package/dist/{leaderboard-SUSUDKHR.js → leaderboard-LF5SP6X2.js} +7 -7
  76. package/dist/{mimo-code-V4FP5PUJ.js → mimo-code-G2CBZ4M6.js} +5 -5
  77. package/dist/mistral-vibe-TRQDHAWV.js +300 -0
  78. package/dist/mistral-vibe-TRQDHAWV.js.map +1 -0
  79. package/dist/{mux-CMJSM42O.js → mux-JNM3F2NW.js} +5 -5
  80. package/dist/{nemoclaw-VP56PGKC.js → nemoclaw-SHA4IUML.js} +6 -6
  81. package/dist/{omp-OOFGD3GG.js → omp-OOVUNXME.js} +5 -5
  82. package/dist/open-interpreter-4PKL56AA.js +264 -0
  83. package/dist/open-interpreter-4PKL56AA.js.map +1 -0
  84. package/dist/openclaw-BD56E5MV.js +17 -0
  85. package/dist/{opencode-MKLHSQRD.js → opencode-W2RK4M7G.js} +5 -5
  86. package/dist/openhands-5LNH3BKB.js +384 -0
  87. package/dist/openhands-5LNH3BKB.js.map +1 -0
  88. package/dist/{package-KOAAVKHH.js → package-2EAIYSJ4.js} +13 -13
  89. package/dist/{pi-NMVL7OFL.js → pi-BUADR5MJ.js} +143 -6
  90. package/dist/pi-BUADR5MJ.js.map +1 -0
  91. package/dist/{qwen-code-2XE2T6F4.js → qwen-code-TUJNHKNI.js} +9 -9
  92. package/dist/{roo-code-YJOIKCCS.js → roo-code-L5F7S6QH.js} +5 -5
  93. package/dist/runtime/index.d.ts +12 -1
  94. package/dist/runtime/index.js +12 -12
  95. package/dist/sdk/index.d.ts +3 -3
  96. package/dist/sdk/index.js +6 -6
  97. package/dist/sdk/test.d.ts +2 -2
  98. package/dist/sdk/test.js +10 -10
  99. package/dist/{serve-BU23QUSJ.js → serve-K62FW3V7.js} +24 -17
  100. package/dist/serve-K62FW3V7.js.map +1 -0
  101. package/dist/{status-N5LCQQ3R.js → status-E5MCFZM6.js} +11 -11
  102. package/dist/{statusline-442XOF7R.js → statusline-LIPF2KVP.js} +13 -13
  103. package/dist/{telemetry-V4YQL2NU.js → telemetry-4OC56NTM.js} +10 -10
  104. package/dist/{trae-QSV2JZFT.js → trae-Z7CQ2A2Q.js} +5 -5
  105. package/dist/{types-D6RWGXm1.d.ts → types-C4qMgbJn.d.ts} +10 -9
  106. package/dist/{uninstall-WGEKTCDZ.js → uninstall-2YYKN5DX.js} +18 -18
  107. package/dist/{upgrade-IH7CKPTO.js → upgrade-55AFPJEF.js} +18 -18
  108. package/dist/{usage-DI7XRCKM.js → usage-3PB3WZSL.js} +3 -3
  109. package/dist/{usage-event-2FCU55AN.js → usage-event-KD5FW6W4.js} +13 -13
  110. package/dist/{vscode-copilot-R23RTVST.js → vscode-copilot-LU5NC4ZS.js} +5 -5
  111. package/dist/{warp-B72XSQ5G.js → warp-4PPG5LOM.js} +5 -5
  112. package/dist/{windsurf-642VBMQ2.js → windsurf-3T3RVXKM.js} +5 -5
  113. package/dist/{zed-6UJS7JKB.js → zed-ZF2OQ75O.js} +123 -7
  114. package/dist/zed-ZF2OQ75O.js.map +1 -0
  115. package/package.json +1 -1
  116. package/dist/antigravity-cli-L3RZMF6V.js +0 -87
  117. package/dist/antigravity-cli-L3RZMF6V.js.map +0 -1
  118. package/dist/chunk-2HCJV6UO.js.map +0 -1
  119. package/dist/chunk-2L6LTQ6L.js.map +0 -1
  120. package/dist/chunk-MHDQWZ4A.js.map +0 -1
  121. package/dist/chunk-Q5LECKZL.js.map +0 -1
  122. package/dist/chunk-TO57WYBB.js.map +0 -1
  123. package/dist/chunk-TW4DVR4V.js.map +0 -1
  124. package/dist/jetbrains-copilot-DZ2ATXFN.js.map +0 -1
  125. package/dist/kiro-BUOQFASX.js.map +0 -1
  126. package/dist/openclaw-V73XHPXP.js +0 -17
  127. package/dist/pi-NMVL7OFL.js.map +0 -1
  128. package/dist/serve-BU23QUSJ.js.map +0 -1
  129. package/dist/zed-6UJS7JKB.js.map +0 -1
  130. /package/dist/{action-TCKBTTZX.js.map → action-L44DXFHT.js.map} +0 -0
  131. /package/dist/{amazon-q-CB4XFX7T.js.map → amazon-q-B52EY2SV.js.map} +0 -0
  132. /package/dist/{amp-6Q5OYHNW.js.map → amp-UXABVUKC.js.map} +0 -0
  133. /package/dist/{antigravity-WIK3XBN5.js.map → antigravity-RZHN53VB.js.map} +0 -0
  134. /package/dist/{chunk-D6ZJS4ND.js.map → chunk-4FWETID5.js.map} +0 -0
  135. /package/dist/{chunk-Q42SEI7W.js.map → chunk-4HVQ7IUM.js.map} +0 -0
  136. /package/dist/{chunk-IU42THN7.js.map → chunk-4NSU3KWX.js.map} +0 -0
  137. /package/dist/{chunk-7CZKXXBD.js.map → chunk-56R2ER7K.js.map} +0 -0
  138. /package/dist/{chunk-HKM3HUOK.js.map → chunk-7HUUINPB.js.map} +0 -0
  139. /package/dist/{chunk-TZ5KGCE2.js.map → chunk-AY3RGRTT.js.map} +0 -0
  140. /package/dist/{chunk-7ITLLYWB.js.map → chunk-G4CEELKO.js.map} +0 -0
  141. /package/dist/{chunk-24K6JOKV.js.map → chunk-LAIITCMW.js.map} +0 -0
  142. /package/dist/{chunk-OEQJGBBW.js.map → chunk-LF76VPGQ.js.map} +0 -0
  143. /package/dist/{chunk-7QRUZAUG.js.map → chunk-LN76OGNR.js.map} +0 -0
  144. /package/dist/{chunk-DI6OWKH2.js.map → chunk-NBUEL74R.js.map} +0 -0
  145. /package/dist/{chunk-IRUYJD23.js.map → chunk-NLE2J5P4.js.map} +0 -0
  146. /package/dist/{chunk-5LAFKXFM.js.map → chunk-NWLRJNXM.js.map} +0 -0
  147. /package/dist/{chunk-ECSRTK4M.js.map → chunk-QARPXSIV.js.map} +0 -0
  148. /package/dist/{chunk-AXAHW2KU.js.map → chunk-QKLJU4JX.js.map} +0 -0
  149. /package/dist/{chunk-MDZG5QHB.js.map → chunk-R6LML2YS.js.map} +0 -0
  150. /package/dist/{chunk-FUXUEXDP.js.map → chunk-UBB7T54N.js.map} +0 -0
  151. /package/dist/{chunk-NUGMVVV2.js.map → chunk-VVFDU4IX.js.map} +0 -0
  152. /package/dist/{chunk-ALVXORZM.js.map → chunk-YYNXIUR2.js.map} +0 -0
  153. /package/dist/{claude-code-HFBAAVWS.js.map → claude-code-WS4NAGZT.js.map} +0 -0
  154. /package/dist/{cline-26W4FEZ6.js.map → cline-NNMVCECA.js.map} +0 -0
  155. /package/dist/{codebuff-J5KEEBIL.js.map → codebuff-RJIDSEU3.js.map} +0 -0
  156. /package/dist/{codex-JKQ6TLRI.js.map → codex-ZZ434GYR.js.map} +0 -0
  157. /package/dist/{continue-KQSJUSWX.js.map → continue-MNM7YVJY.js.map} +0 -0
  158. /package/dist/{copilot-cli-YBNKLYUB.js.map → copilot-cli-SMTX5F65.js.map} +0 -0
  159. /package/dist/{crush-JTWTZIPB.js.map → crush-NYDBHIJE.js.map} +0 -0
  160. /package/dist/{cursor-2NIZSDZ4.js.map → cursor-AOELDNZU.js.map} +0 -0
  161. /package/dist/{detect-CWEIQCRC.js.map → detect-3S46RUMK.js.map} +0 -0
  162. /package/dist/{doctor-AC437ZAW.js.map → doctor-3CUBPQKU.js.map} +0 -0
  163. /package/dist/{droid-HF2AIFB2.js.map → droid-PTCH2K7Y.js.map} +0 -0
  164. /package/dist/{gemini-cli-2EOK26S2.js.map → gemini-cli-QGLN2UMS.js.map} +0 -0
  165. /package/dist/{goose-55JOTXS5.js.map → goose-DQ6GSZ5O.js.map} +0 -0
  166. /package/dist/{hermes-QVZOZU4B.js.map → hermes-E47IG63A.js.map} +0 -0
  167. /package/dist/{hook-VYD3OCLM.js.map → hook-P6EKDINW.js.map} +0 -0
  168. /package/dist/{install-S6BYIJ62.js.map → install-7DMK53SB.js.map} +0 -0
  169. /package/dist/{kilo-GJNSBWVV.js.map → kilo-OU2ZLZKB.js.map} +0 -0
  170. /package/dist/{kilo-cli-2CCB3DBI.js.map → kilo-cli-NMWGYF4F.js.map} +0 -0
  171. /package/dist/{kimi-YRPCSB6N.js.map → kimi-Z7L2LEEI.js.map} +0 -0
  172. /package/dist/{leaderboard-SUSUDKHR.js.map → leaderboard-LF5SP6X2.js.map} +0 -0
  173. /package/dist/{mimo-code-V4FP5PUJ.js.map → mimo-code-G2CBZ4M6.js.map} +0 -0
  174. /package/dist/{mux-CMJSM42O.js.map → mux-JNM3F2NW.js.map} +0 -0
  175. /package/dist/{nemoclaw-VP56PGKC.js.map → nemoclaw-SHA4IUML.js.map} +0 -0
  176. /package/dist/{omp-OOFGD3GG.js.map → omp-OOVUNXME.js.map} +0 -0
  177. /package/dist/{openclaw-V73XHPXP.js.map → openclaw-BD56E5MV.js.map} +0 -0
  178. /package/dist/{opencode-MKLHSQRD.js.map → opencode-W2RK4M7G.js.map} +0 -0
  179. /package/dist/{package-KOAAVKHH.js.map → package-2EAIYSJ4.js.map} +0 -0
  180. /package/dist/{qwen-code-2XE2T6F4.js.map → qwen-code-TUJNHKNI.js.map} +0 -0
  181. /package/dist/{roo-code-YJOIKCCS.js.map → roo-code-L5F7S6QH.js.map} +0 -0
  182. /package/dist/{status-N5LCQQ3R.js.map → status-E5MCFZM6.js.map} +0 -0
  183. /package/dist/{statusline-442XOF7R.js.map → statusline-LIPF2KVP.js.map} +0 -0
  184. /package/dist/{telemetry-V4YQL2NU.js.map → telemetry-4OC56NTM.js.map} +0 -0
  185. /package/dist/{trae-QSV2JZFT.js.map → trae-Z7CQ2A2Q.js.map} +0 -0
  186. /package/dist/{uninstall-WGEKTCDZ.js.map → uninstall-2YYKN5DX.js.map} +0 -0
  187. /package/dist/{upgrade-IH7CKPTO.js.map → upgrade-55AFPJEF.js.map} +0 -0
  188. /package/dist/{usage-DI7XRCKM.js.map → usage-3PB3WZSL.js.map} +0 -0
  189. /package/dist/{usage-event-2FCU55AN.js.map → usage-event-KD5FW6W4.js.map} +0 -0
  190. /package/dist/{vscode-copilot-R23RTVST.js.map → vscode-copilot-LU5NC4ZS.js.map} +0 -0
  191. /package/dist/{warp-B72XSQ5G.js.map → warp-4PPG5LOM.js.map} +0 -0
  192. /package/dist/{windsurf-642VBMQ2.js.map → windsurf-3T3RVXKM.js.map} +0 -0
@@ -1,20 +1,20 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runStatusline
4
- } from "./chunk-MHDQWZ4A.js";
4
+ } from "./chunk-BLTVZACS.js";
5
5
  import "./chunk-OP4KBXUO.js";
6
- import "./chunk-7QRUZAUG.js";
7
- import "./chunk-TW4DVR4V.js";
8
- import "./chunk-24K6JOKV.js";
9
- import "./chunk-D6ZJS4ND.js";
6
+ import "./chunk-LN76OGNR.js";
7
+ import "./chunk-ZMLVR4J7.js";
8
+ import "./chunk-LAIITCMW.js";
10
9
  import "./chunk-KHO5WNTP.js";
11
- import "./chunk-5LAFKXFM.js";
12
- import "./chunk-7ITLLYWB.js";
13
- import "./chunk-Q5LECKZL.js";
14
- import "./chunk-7CZKXXBD.js";
15
- import "./chunk-TO57WYBB.js";
16
- import "./chunk-ALVXORZM.js";
17
- import "./chunk-2HCJV6UO.js";
10
+ import "./chunk-4FWETID5.js";
11
+ import "./chunk-NWLRJNXM.js";
12
+ import "./chunk-G4CEELKO.js";
13
+ import "./chunk-25CPWJA7.js";
14
+ import "./chunk-56R2ER7K.js";
15
+ import "./chunk-HORHRHNG.js";
16
+ import "./chunk-YYNXIUR2.js";
17
+ import "./chunk-IXOQDZWC.js";
18
18
 
19
19
  // src/cli/commands/statusline.ts
20
20
  import { parseArgs } from "util";
@@ -57,4 +57,4 @@ async function run(argv) {
57
57
  export {
58
58
  run
59
59
  };
60
- //# sourceMappingURL=statusline-442XOF7R.js.map
60
+ //# sourceMappingURL=statusline-LIPF2KVP.js.map
@@ -8,25 +8,25 @@ import {
8
8
  mcpLeaderboard,
9
9
  surfaceLeaderboard,
10
10
  toolLeaderboard
11
- } from "./chunk-TZ5KGCE2.js";
11
+ } from "./chunk-AY3RGRTT.js";
12
12
  import {
13
13
  fail,
14
14
  print
15
- } from "./chunk-HKM3HUOK.js";
15
+ } from "./chunk-7HUUINPB.js";
16
16
  import {
17
17
  openStore
18
- } from "./chunk-D6ZJS4ND.js";
18
+ } from "./chunk-4FWETID5.js";
19
19
  import {
20
20
  connectorFromMeta,
21
21
  listRegisteredConnectors,
22
22
  loadRegisteredConnector,
23
23
  readRegisteredMeta
24
- } from "./chunk-5LAFKXFM.js";
25
- import "./chunk-7ITLLYWB.js";
26
- import "./chunk-Q5LECKZL.js";
27
- import "./chunk-7CZKXXBD.js";
28
- import "./chunk-ALVXORZM.js";
29
- import "./chunk-2HCJV6UO.js";
24
+ } from "./chunk-NWLRJNXM.js";
25
+ import "./chunk-G4CEELKO.js";
26
+ import "./chunk-25CPWJA7.js";
27
+ import "./chunk-56R2ER7K.js";
28
+ import "./chunk-YYNXIUR2.js";
29
+ import "./chunk-IXOQDZWC.js";
30
30
 
31
31
  // src/cli/commands/telemetry.ts
32
32
  import { writeFileSync } from "fs";
@@ -349,4 +349,4 @@ export {
349
349
  parseSince,
350
350
  run
351
351
  };
352
- //# sourceMappingURL=telemetry-V4YQL2NU.js.map
352
+ //# sourceMappingURL=telemetry-4OC56NTM.js.map
@@ -5,13 +5,13 @@ import {
5
5
  import {
6
6
  BaseAdapter,
7
7
  renderSkillMd
8
- } from "./chunk-NUGMVVV2.js";
8
+ } from "./chunk-VVFDU4IX.js";
9
9
  import {
10
10
  buildWrappedStdio,
11
11
  isHomeBinHookCommand
12
- } from "./chunk-TO57WYBB.js";
13
- import "./chunk-ALVXORZM.js";
14
- import "./chunk-2HCJV6UO.js";
12
+ } from "./chunk-HORHRHNG.js";
13
+ import "./chunk-YYNXIUR2.js";
14
+ import "./chunk-IXOQDZWC.js";
15
15
 
16
16
  // src/adapters/trae/index.ts
17
17
  import { existsSync } from "fs";
@@ -271,4 +271,4 @@ export {
271
271
  adapter,
272
272
  trae_default as default
273
273
  };
274
- //# sourceMappingURL=trae-QSV2JZFT.js.map
274
+ //# sourceMappingURL=trae-Z7CQ2A2Q.js.map
@@ -23,23 +23,24 @@
23
23
  * exposes no writable MCP config to install into. The registry-completeness test
24
24
  * (tests/adapters/registry-completeness.test.ts) allowlists it for this reason.
25
25
  */
26
- type PlatformId = "claude-code" | "codex" | "cursor" | "vscode-copilot" | "jetbrains-copilot" | "copilot-cli" | "gemini-cli" | "opencode" | "mimo-code" | "kilo" | "kilo-cli" | "warp" | "hermes" | "nemoclaw" | "openclaw" | "zed" | "antigravity" | "antigravity-cli" | "kiro" | "qwen-code" | "kimi" | "pi" | "omp" | "droid" | "roo-code" | "cline" | "trae" | "amp" | "codebuff" | "mux" | "crush" | "goose" | "amazon-q" | "continue" | "windsurf" | "synthetic" | "unknown";
26
+ type PlatformId = "claude-code" | "codebuddy" | "codex" | "cursor" | "vscode-copilot" | "jetbrains-copilot" | "copilot-cli" | "gemini-cli" | "opencode" | "mimo-code" | "kilo" | "kilo-cli" | "warp" | "hermes" | "nemoclaw" | "openclaw" | "zed" | "antigravity" | "antigravity-cli" | "kiro" | "qwen-code" | "kimi" | "pi" | "omp" | "droid" | "openhands" | "roo-code" | "cline" | "trae" | "amp" | "codebuff" | "mux" | "crush" | "goose" | "amazon-q" | "continue" | "windsurf" | "grok-cli" | "devin" | "open-interpreter" | "junie" | "mistral-vibe" | "synthetic" | "unknown";
27
27
  /**
28
28
  * Hook I/O paradigm — the deepest cross-platform divergence (report §4).
29
29
  * Canonical shipped sets (keep in sync with src/adapters/registry.ts — this
30
30
  * comment once drifted and seeded a docs-wide misclassification):
31
- * - "json-stdio" (18): host pipes JSON to a command on stdin, reads
32
- * JSON/exit-code back — Claude Code, Codex, Cursor, VS Code/JetBrains
33
- * Copilot, Copilot CLI, Gemini CLI, Qwen, Kiro, Kimi, Crush, Goose, Hermes,
34
- * Droid (Factory), Antigravity (+ the agy CLI), Continue, Amazon Q. One
35
- * universal entrypoint binary handles all of them.
31
+ * - "json-stdio" (19): host pipes JSON to a command on stdin, reads
32
+ * JSON/exit-code back — Claude Code, CodeBuddy (Tencent, a Claude Code
33
+ * fork), Codex, Cursor, VS Code/JetBrains Copilot, Copilot CLI, Gemini CLI,
34
+ * Qwen, Kiro, Kimi, Crush, Goose, Hermes, Droid (Factory), Antigravity (+
35
+ * the agy CLI), Continue, Amazon Q. One universal entrypoint binary handles
36
+ * all of them.
36
37
  * - "ts-plugin" (8): host loads a JS/TS module exporting lifecycle functions
37
38
  * — OpenCode, MiMoCode (an OpenCode fork), Kilo CLI, Kilo, OMP, OpenClaw,
38
39
  * NemoClaw (an OpenClaw wrapper/fork), Amp (.amp/plugins/*.ts). Framework
39
40
  * generates the module.
40
- * - "mcp-only" (9): no hook layer at all — Warp, Roo Code, Cline, Trae, Zed,
41
- * Codebuff, Mux, Pi, Windsurf. Only the MCP server (or skills surface) is
42
- * installed; hooks are reported unavailable.
41
+ * - "mcp-only" (10): no hook layer at all — Warp, Roo Code, Cline, Trae, Zed,
42
+ * Codebuff, Mux, Pi, Windsurf, Mistral Vibe. Only the MCP server (or skills
43
+ * surface) is installed; hooks are reported unavailable.
43
44
  */
44
45
  type HookParadigm = "json-stdio" | "ts-plugin" | "mcp-only";
45
46
  /**
@@ -5,40 +5,40 @@ import {
5
5
  resolveUninstallTargets,
6
6
  uninstallConnector,
7
7
  uninstallViaMarketplace
8
- } from "./chunk-2L6LTQ6L.js";
9
- import "./chunk-OEQJGBBW.js";
8
+ } from "./chunk-KIRCPLM4.js";
9
+ import "./chunk-LF76VPGQ.js";
10
10
  import {
11
11
  marketplaceEvidence,
12
12
  readMarketplaceInstalls
13
- } from "./chunk-AXAHW2KU.js";
14
- import "./chunk-DI6OWKH2.js";
13
+ } from "./chunk-QKLJU4JX.js";
14
+ import "./chunk-UM5S7DKK.js";
15
+ import "./chunk-NBUEL74R.js";
16
+ import "./chunk-OPXAP3AC.js";
15
17
  import {
16
18
  fail,
17
19
  parseScope,
18
20
  parseTargets,
19
21
  print,
20
22
  renderInstallResult
21
- } from "./chunk-HKM3HUOK.js";
22
- import "./chunk-7QRUZAUG.js";
23
- import "./chunk-TW4DVR4V.js";
23
+ } from "./chunk-7HUUINPB.js";
24
+ import "./chunk-LN76OGNR.js";
25
+ import "./chunk-ZMLVR4J7.js";
24
26
  import "./chunk-KHO5WNTP.js";
25
27
  import {
26
28
  findConnectorConfig,
27
29
  loadConnectorFromPath
28
- } from "./chunk-5LAFKXFM.js";
29
- import "./chunk-7ITLLYWB.js";
30
- import "./chunk-Q5LECKZL.js";
31
- import "./chunk-7CZKXXBD.js";
32
- import "./chunk-OPXAP3AC.js";
33
- import "./chunk-UM5S7DKK.js";
30
+ } from "./chunk-NWLRJNXM.js";
31
+ import "./chunk-G4CEELKO.js";
32
+ import "./chunk-25CPWJA7.js";
33
+ import "./chunk-56R2ER7K.js";
34
34
  import "./chunk-H53QZQJI.js";
35
35
  import "./chunk-BEFVJ2OE.js";
36
- import "./chunk-NUGMVVV2.js";
37
- import "./chunk-TO57WYBB.js";
38
- import "./chunk-ALVXORZM.js";
36
+ import "./chunk-VVFDU4IX.js";
37
+ import "./chunk-HORHRHNG.js";
38
+ import "./chunk-YYNXIUR2.js";
39
39
  import {
40
40
  assertConnectorId
41
- } from "./chunk-2HCJV6UO.js";
41
+ } from "./chunk-IXOQDZWC.js";
42
42
 
43
43
  // src/cli/commands/uninstall.ts
44
44
  import { parseArgs } from "util";
@@ -173,4 +173,4 @@ async function run(argv) {
173
173
  export {
174
174
  run
175
175
  };
176
- //# sourceMappingURL=uninstall-WGEKTCDZ.js.map
176
+ //# sourceMappingURL=uninstall-2YYKN5DX.js.map
@@ -4,38 +4,38 @@ import {
4
4
  resolveCliEntry,
5
5
  syncConnector,
6
6
  upgradeViaMarketplace
7
- } from "./chunk-2L6LTQ6L.js";
8
- import "./chunk-OEQJGBBW.js";
9
- import "./chunk-AXAHW2KU.js";
10
- import "./chunk-DI6OWKH2.js";
7
+ } from "./chunk-KIRCPLM4.js";
8
+ import "./chunk-LF76VPGQ.js";
9
+ import "./chunk-QKLJU4JX.js";
10
+ import "./chunk-UM5S7DKK.js";
11
+ import "./chunk-NBUEL74R.js";
12
+ import "./chunk-OPXAP3AC.js";
11
13
  import {
12
14
  fail,
13
15
  parseScope,
14
16
  parseTargets,
15
17
  print,
16
18
  renderInstallResult
17
- } from "./chunk-HKM3HUOK.js";
18
- import "./chunk-7QRUZAUG.js";
19
- import "./chunk-TW4DVR4V.js";
19
+ } from "./chunk-7HUUINPB.js";
20
+ import "./chunk-LN76OGNR.js";
21
+ import "./chunk-ZMLVR4J7.js";
20
22
  import "./chunk-KHO5WNTP.js";
21
23
  import {
22
24
  findConnectorConfig,
23
25
  loadConnectorFromPath
24
- } from "./chunk-5LAFKXFM.js";
25
- import "./chunk-7ITLLYWB.js";
26
- import "./chunk-Q5LECKZL.js";
27
- import "./chunk-7CZKXXBD.js";
28
- import "./chunk-OPXAP3AC.js";
29
- import "./chunk-UM5S7DKK.js";
26
+ } from "./chunk-NWLRJNXM.js";
27
+ import "./chunk-G4CEELKO.js";
28
+ import "./chunk-25CPWJA7.js";
29
+ import "./chunk-56R2ER7K.js";
30
30
  import "./chunk-H53QZQJI.js";
31
31
  import "./chunk-BEFVJ2OE.js";
32
- import "./chunk-NUGMVVV2.js";
33
- import "./chunk-TO57WYBB.js";
34
- import "./chunk-ALVXORZM.js";
32
+ import "./chunk-VVFDU4IX.js";
33
+ import "./chunk-HORHRHNG.js";
34
+ import "./chunk-YYNXIUR2.js";
35
35
  import {
36
36
  ensureHomeBin,
37
37
  homeBinPath
38
- } from "./chunk-2HCJV6UO.js";
38
+ } from "./chunk-IXOQDZWC.js";
39
39
 
40
40
  // src/cli/commands/upgrade.ts
41
41
  import { parseArgs } from "util";
@@ -127,4 +127,4 @@ Refreshed home binary pointer: ${binPath}`);
127
127
  export {
128
128
  run
129
129
  };
130
- //# sourceMappingURL=upgrade-IH7CKPTO.js.map
130
+ //# sourceMappingURL=upgrade-55AFPJEF.js.map
@@ -3,7 +3,7 @@ import {
3
3
  formatHostLeaderboard,
4
4
  hostLeaderboard,
5
5
  scanUsage
6
- } from "./chunk-IRUYJD23.js";
6
+ } from "./chunk-NLE2J5P4.js";
7
7
  import {
8
8
  aggregateBy,
9
9
  sumTokens
@@ -11,7 +11,7 @@ import {
11
11
  import {
12
12
  fail,
13
13
  print
14
- } from "./chunk-HKM3HUOK.js";
14
+ } from "./chunk-7HUUINPB.js";
15
15
 
16
16
  // src/cli/commands/usage.ts
17
17
  import { writeFileSync } from "fs";
@@ -321,4 +321,4 @@ export {
321
321
  parseSince,
322
322
  run
323
323
  };
324
- //# sourceMappingURL=usage-DI7XRCKM.js.map
324
+ //# sourceMappingURL=usage-3PB3WZSL.js.map
@@ -1,20 +1,20 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runUsageEvent
4
- } from "./chunk-MHDQWZ4A.js";
4
+ } from "./chunk-BLTVZACS.js";
5
5
  import "./chunk-OP4KBXUO.js";
6
- import "./chunk-7QRUZAUG.js";
7
- import "./chunk-TW4DVR4V.js";
8
- import "./chunk-24K6JOKV.js";
9
- import "./chunk-D6ZJS4ND.js";
6
+ import "./chunk-LN76OGNR.js";
7
+ import "./chunk-ZMLVR4J7.js";
8
+ import "./chunk-LAIITCMW.js";
10
9
  import "./chunk-KHO5WNTP.js";
11
- import "./chunk-5LAFKXFM.js";
12
- import "./chunk-7ITLLYWB.js";
13
- import "./chunk-Q5LECKZL.js";
14
- import "./chunk-7CZKXXBD.js";
15
- import "./chunk-TO57WYBB.js";
16
- import "./chunk-ALVXORZM.js";
17
- import "./chunk-2HCJV6UO.js";
10
+ import "./chunk-4FWETID5.js";
11
+ import "./chunk-NWLRJNXM.js";
12
+ import "./chunk-G4CEELKO.js";
13
+ import "./chunk-25CPWJA7.js";
14
+ import "./chunk-56R2ER7K.js";
15
+ import "./chunk-HORHRHNG.js";
16
+ import "./chunk-YYNXIUR2.js";
17
+ import "./chunk-IXOQDZWC.js";
18
18
 
19
19
  // src/cli/commands/usage-event.ts
20
20
  import { parseArgs } from "util";
@@ -50,4 +50,4 @@ async function run(argv) {
50
50
  export {
51
51
  run
52
52
  };
53
- //# sourceMappingURL=usage-event-2FCU55AN.js.map
53
+ //# sourceMappingURL=usage-event-KD5FW6W4.js.map
@@ -9,14 +9,14 @@ import {
9
9
  BaseAdapter,
10
10
  renderSkillMd,
11
11
  renderSubagentMd
12
- } from "./chunk-NUGMVVV2.js";
12
+ } from "./chunk-VVFDU4IX.js";
13
13
  import {
14
14
  buildHomeBinHookCommand,
15
15
  buildWrappedStdio,
16
16
  isHomeBinHookCommand
17
- } from "./chunk-TO57WYBB.js";
18
- import "./chunk-ALVXORZM.js";
19
- import "./chunk-2HCJV6UO.js";
17
+ } from "./chunk-HORHRHNG.js";
18
+ import "./chunk-YYNXIUR2.js";
19
+ import "./chunk-IXOQDZWC.js";
20
20
 
21
21
  // src/adapters/vscode-copilot/index.ts
22
22
  import { existsSync } from "fs";
@@ -748,4 +748,4 @@ export {
748
748
  adapter,
749
749
  vscode_copilot_default as default
750
750
  };
751
- //# sourceMappingURL=vscode-copilot-R23RTVST.js.map
751
+ //# sourceMappingURL=vscode-copilot-LU5NC4ZS.js.map
@@ -5,13 +5,13 @@ import {
5
5
  import {
6
6
  BaseAdapter,
7
7
  renderSkillMd
8
- } from "./chunk-NUGMVVV2.js";
8
+ } from "./chunk-VVFDU4IX.js";
9
9
  import {
10
10
  buildWrappedStdio,
11
11
  isHomeBinHookCommand
12
- } from "./chunk-TO57WYBB.js";
13
- import "./chunk-ALVXORZM.js";
14
- import "./chunk-2HCJV6UO.js";
12
+ } from "./chunk-HORHRHNG.js";
13
+ import "./chunk-YYNXIUR2.js";
14
+ import "./chunk-IXOQDZWC.js";
15
15
 
16
16
  // src/adapters/warp/index.ts
17
17
  import { existsSync } from "fs";
@@ -339,4 +339,4 @@ export {
339
339
  adapter,
340
340
  warp_default as default
341
341
  };
342
- //# sourceMappingURL=warp-B72XSQ5G.js.map
342
+ //# sourceMappingURL=warp-4PPG5LOM.js.map
@@ -6,12 +6,12 @@ import {
6
6
  BaseAdapter,
7
7
  renderCommandMd,
8
8
  renderSkillMd
9
- } from "./chunk-NUGMVVV2.js";
9
+ } from "./chunk-VVFDU4IX.js";
10
10
  import {
11
11
  buildWrappedStdio
12
- } from "./chunk-TO57WYBB.js";
13
- import "./chunk-ALVXORZM.js";
14
- import "./chunk-2HCJV6UO.js";
12
+ } from "./chunk-HORHRHNG.js";
13
+ import "./chunk-YYNXIUR2.js";
14
+ import "./chunk-IXOQDZWC.js";
15
15
 
16
16
  // src/adapters/windsurf/index.ts
17
17
  import { existsSync, statSync } from "fs";
@@ -426,4 +426,4 @@ export {
426
426
  adapter,
427
427
  windsurf_default as default
428
428
  };
429
- //# sourceMappingURL=windsurf-642VBMQ2.js.map
429
+ //# sourceMappingURL=windsurf-3T3RVXKM.js.map
@@ -8,12 +8,13 @@ import {
8
8
  import {
9
9
  BaseAdapter,
10
10
  renderSkillMd
11
- } from "./chunk-NUGMVVV2.js";
11
+ } from "./chunk-VVFDU4IX.js";
12
12
  import {
13
- buildWrappedStdio
14
- } from "./chunk-TO57WYBB.js";
15
- import "./chunk-ALVXORZM.js";
16
- import "./chunk-2HCJV6UO.js";
13
+ buildWrappedStdio,
14
+ isHomeBinActionCommand
15
+ } from "./chunk-HORHRHNG.js";
16
+ import "./chunk-YYNXIUR2.js";
17
+ import "./chunk-IXOQDZWC.js";
17
18
 
18
19
  // src/adapters/zed/index.ts
19
20
  import { existsSync } from "fs";
@@ -47,7 +48,13 @@ var ZedAdapter = class _ZedAdapter extends BaseAdapter {
47
48
  transports: ["stdio", "sse", "http"],
48
49
  // Skills: Zed reads SKILL.md from .agents/skills/<name>/SKILL.md (project)
49
50
  // and ~/.agents/skills/<name>/SKILL.md (user).
50
- supportsSkills: true
51
+ supportsSkills: true,
52
+ // Actions: Zed reads tasks.json (a JSON ARRAY of { label, command, args? })
53
+ // spawned in its integrated terminal + surfaced in the command palette
54
+ // (zed.dev/docs/tasks). Each AC action becomes one owned task whose `command`
55
+ // execs the home-bin action verb — a headless exec (zed runs it in a shell).
56
+ // user → ~/.config/zed/tasks.json; project → <projectDir>/.zed/tasks.json.
57
+ supportsActions: true
51
58
  };
52
59
  // ── Detection ────────────────────────────────────────────────────────────
53
60
  detectInstalled(projectDir) {
@@ -254,6 +261,115 @@ var ZedAdapter = class _ZedAdapter extends BaseAdapter {
254
261
  renderSkill(skill) {
255
262
  return renderSkillMd(skill);
256
263
  }
264
+ // ── Action surface (owned entries array-merged into tasks.json) ───────────
265
+ // Zed reads tasks.json (zed.dev/docs/tasks): a JSON ARRAY of tasks
266
+ // `{ label, command, args? }` spawned in the integrated terminal + invocable
267
+ // from the command palette (`task: spawn`). Per AC action we add ONE task
268
+ // whose `command` execs the home-bin action verb. Zed runs `command` in a
269
+ // shell, so this is a HEADLESS exec (not Warp's paste-into-input).
270
+ //
271
+ // OWNERSHIP: tasks.json is a USER-OWNED array, so we never clobber it. We
272
+ // read the whole array, upsert only OUR tasks (identity = isHomeBinActionCommand
273
+ // on `command`, anchored to this connector id so a sibling connector's tasks
274
+ // are foreign), and write back. Idempotent (byte-identical entry → skip).
275
+ // Uninstall filters out ONLY our entries, leaving every foreign task intact.
276
+ /** tasks.json path: <configDir>/tasks.json (~/.config/zed | <projectDir>/.zed). */
277
+ tasksPath(ctx) {
278
+ return join(this.getConfigDir(ctx), "tasks.json");
279
+ }
280
+ /** Render the owned task entry: minimal { label, command }. */
281
+ renderTask(trigger) {
282
+ return { label: trigger.label, command: trigger.command };
283
+ }
284
+ installActions(ctx) {
285
+ const { connector, dryRun } = ctx;
286
+ if (connector.platforms[HOST]?.actions === false) {
287
+ return [{ platform: this.id, action: "skip", detail: "actions disabled for zed" }];
288
+ }
289
+ const triggers = this.actionTriggers(ctx);
290
+ if (triggers.length === 0) {
291
+ return [{ platform: this.id, action: "skip", detail: "connector declares no actions" }];
292
+ }
293
+ const path = this.tasksPath(ctx);
294
+ const symlink = this.symlinkPathWarning(path);
295
+ if (symlink) return [symlink];
296
+ if (this.isPresentButUnparseable(path)) {
297
+ return [
298
+ {
299
+ platform: this.id,
300
+ action: "warn",
301
+ path,
302
+ detail: `${path} is present but not parseable as JSON; left untouched (fix it, then re-run)`
303
+ }
304
+ ];
305
+ }
306
+ const raw = this.readJson(path);
307
+ if (raw !== null && !Array.isArray(raw)) {
308
+ return [
309
+ {
310
+ platform: this.id,
311
+ action: "warn",
312
+ path,
313
+ detail: `${path} is not a JSON array of tasks; left untouched (fix it, then re-run)`
314
+ }
315
+ ];
316
+ }
317
+ const list = raw ?? [];
318
+ const changes = [];
319
+ let mutated = false;
320
+ for (const trigger of triggers) {
321
+ const entry = this.renderTask(trigger);
322
+ const slot = list.findIndex(
323
+ (t) => this.isOurTask(t, ctx) && t.command === entry.command
324
+ );
325
+ if (slot < 0) {
326
+ list.push(entry);
327
+ mutated = true;
328
+ changes.push({ platform: this.id, action: "create", path, detail: `tasks.json [${trigger.id}]` });
329
+ } else if (JSON.stringify(list[slot]) === JSON.stringify(entry)) {
330
+ changes.push({ platform: this.id, action: "skip", path, detail: `tasks.json [${trigger.id}]` });
331
+ } else {
332
+ list[slot] = entry;
333
+ mutated = true;
334
+ changes.push({ platform: this.id, action: "update", path, detail: `tasks.json [${trigger.id}]` });
335
+ }
336
+ }
337
+ if (mutated && !dryRun) this.writeJson(path, list);
338
+ return changes;
339
+ }
340
+ uninstallActions(ctx) {
341
+ const { connector, dryRun } = ctx;
342
+ if (connector.actions.length === 0) {
343
+ return [{ platform: this.id, action: "skip", detail: "connector declares no actions" }];
344
+ }
345
+ const path = this.tasksPath(ctx);
346
+ const raw = this.readJson(path);
347
+ if (raw === null || !Array.isArray(raw)) {
348
+ return [{ platform: this.id, action: "skip", detail: "tasks.json absent or not an array" }];
349
+ }
350
+ const list = raw;
351
+ const kept = list.filter((t) => !this.isOurTask(t, ctx));
352
+ if (kept.length === list.length) {
353
+ return [{ platform: this.id, action: "skip", detail: "no owned tasks in tasks.json" }];
354
+ }
355
+ if (!dryRun) this.writeJson(path, kept);
356
+ return [
357
+ {
358
+ platform: this.id,
359
+ action: "remove",
360
+ path,
361
+ detail: `tasks.json (${list.length - kept.length} owned task(s) removed)`
362
+ }
363
+ ];
364
+ }
365
+ /**
366
+ * True when a task entry is OURS — its `command` is the home-bin action verb
367
+ * for exactly this connector id (anchored so a shared-prefix id can't collide,
368
+ * and the ` action ` verb so a future hook/serve task is never misread).
369
+ */
370
+ isOurTask(task, ctx) {
371
+ return isHomeBinActionCommand(task?.command, ctx.homeBinPath, ctx.connector.id);
372
+ }
257
373
  // ── Hooks (unavailable — Zed is mcp-only) ────────────────────────────────
258
374
  installHooks(_ctx) {
259
375
  return [
@@ -309,4 +425,4 @@ export {
309
425
  adapter,
310
426
  zed_default as default
311
427
  };
312
- //# sourceMappingURL=zed-6UJS7JKB.js.map
428
+ //# sourceMappingURL=zed-ZF2OQ75O.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/adapters/zed/index.ts"],"sourcesContent":["/**\n * adapters/zed — Zed editor platform adapter for agent-connector.\n *\n * Zed is an **mcp-only** host: it is an IDE, not a CLI with a hook pipeline, so\n * there is NO lifecycle hook system. MCP (\"context servers\") is the only\n * integration path, so this adapter installs only the MCP server and reports\n * hooks as unavailable — like Warp, it exercises the `mcp-only` paradigm.\n *\n * MCP config (one JSON-with-comments settings file, NOT a dedicated MCP file):\n * - user scope → settings.json under Zed's OS-native config dir (Rust\n * `dirs::config_dir()`):\n * • Windows: %APPDATA%\\Zed\\settings.json (Roaming, NOT %LOCALAPPDATA%)\n * • macOS / Linux: ~/.config/zed/settings.json\n * - project scope → <projectDir>/.zed/settings.json\n * Root key is \"context_servers\" (NOT \"mcpServers\"). The same file holds the\n * (non-existent) hook config — there is no separate hook file here.\n *\n * MERGE CONTRACT: Zed's settings.json is a large user-owned IDE config. We read\n * the whole file, set ONLY context_servers[<id>], and write it back — every\n * other top-level key and sibling context server is preserved. (Zed accepts\n * JSONC; we WRITE plain JSON, mirroring the other JSON-config adapters.)\n *\n * ENTRY SHAPE QUIRK (verified against context-mode's proven Zed adapter +\n * zed-industries/zed crates/settings_content/src/project.rs): Zed's\n * context_servers Stdio variant flattens ContextServerCommand and renames its\n * `path` field to the JSON key `command`. The accepted shape is therefore a\n * FLAT entry: { \"command\": \"<exe>\", \"args\": [...], \"env\": {...} }. The nested\n * { command: { path, args } } form fails to deserialize under Zed's\n * #[serde(untagged)] enum and is silently dropped (the server never loads).\n *\n * Zed documents no native ${env:VAR} interpolation token for context_servers,\n * so env refs are resolved to literals at install time (the no-native-token\n * path, same as Warp).\n *\n * Skills surface: Zed reads SKILL.md files from:\n * project scope → <projectDir>/.agents/skills/<name>/SKILL.md\n * user scope → ~/.agents/skills/<name>/SKILL.md\n *\n * Actions surface: Zed reads `tasks.json` — a JSON ARRAY of tasks\n * `{ label, command, args?, … }` spawned in its integrated terminal and surfaced\n * in the command palette (`task: spawn`) / bindable (zed.dev/docs/tasks):\n * user scope → ~/.config/zed/tasks.json (%APPDATA%\\Zed on Windows — the\n * SAME OS-native config dir as settings.json)\n * project scope → <projectDir>/.zed/tasks.json\n * For each AC action we add ONE owned task whose `command` execs the home-bin\n * action verb. Zed runs `command` in a shell (\"tasks act just like your shell\"),\n * so the full `<homeBin> action zed <id> --connector <id>` line is a HEADLESS\n * exec (unlike Warp's paste-into-input semantics). tasks.json is a user-owned\n * ARRAY, so we array-merge: set-if-absent, keyed on OUR action command (the\n * isHomeBinActionCommand ownership predicate), idempotent, and uninstall removes\n * ONLY our entries — every foreign task survives.\n */\n\nimport { existsSync } from \"node:fs\";\nimport { homedir } from \"node:os\";\nimport { join } from \"node:path\";\n\nimport { BaseAdapter, type ActionTrigger } from \"../base.js\";\nimport type { Adapter, InstallContext, MemoryTarget } from \"../spi.js\";\nimport type {\n ChangeRecord,\n DetectedPlatform,\n HealthCheck,\n HookParadigm,\n PlatformCapabilities,\n PlatformId,\n ServerDef,\n SkillDef,\n Transport,\n} from \"../../core/types.js\";\nimport { resolveEnvRefsDeep } from \"../../core/interpolate.js\";\nimport { roamingAppData } from \"../../core/host-paths.js\";\nimport {\n buildWrappedStdio,\n isHomeBinActionCommand,\n} from \"../../core/spawn.js\";\nimport { renderSkillMd } from \"../claude-code/render.js\";\n\nconst HOST: PlatformId = \"zed\";\nconst MCP_ROOT_KEY = \"context_servers\";\n\n/**\n * Zed's context_servers Stdio entry. FLAT shape — `command` is a string, NOT a\n * nested { path, args } object (see file header). Remote transports are\n * represented as a URL-bearing entry.\n */\ninterface ZedStdioServer {\n command: string;\n args?: string[];\n env?: Record<string, string>;\n}\ninterface ZedHttpServer {\n url: string;\n headers?: Record<string, string>;\n}\n\n/**\n * One Zed task entry in tasks.json (zed.dev/docs/tasks). Zed accepts many\n * optional keys (env, cwd, reveal, …); we write only the minimal owned trio\n * { label, command } and preserve every key on FOREIGN entries untouched.\n */\ninterface ZedTask {\n label: string;\n command: string;\n [key: string]: unknown;\n}\n\nexport class ZedAdapter extends BaseAdapter implements Adapter {\n readonly id: PlatformId = HOST;\n readonly name = \"Zed\";\n readonly paradigm: HookParadigm = \"mcp-only\";\n\n readonly capabilities: PlatformCapabilities = {\n // Memory surface: AGENTS.md-first managed block. Zed's project rules file\n // is FIRST-MATCH across nine candidates — memoryTargets below probes that\n // order and writes into the file Zed will actually read; user scope is the\n // personal ~/.config/zed/AGENTS.md (%APPDATA%\\Zed on Windows, base map).\n supportsMemory: true,\n // Zed 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 // Zed registers stdio context servers; remote URLs are also accepted.\n transports: [\"stdio\", \"sse\", \"http\"],\n // Skills: Zed reads SKILL.md from .agents/skills/<name>/SKILL.md (project)\n // and ~/.agents/skills/<name>/SKILL.md (user).\n supportsSkills: true,\n // Actions: Zed reads tasks.json (a JSON ARRAY of { label, command, args? })\n // spawned in its integrated terminal + surfaced in the command palette\n // (zed.dev/docs/tasks). Each AC action becomes one owned task whose `command`\n // execs the home-bin action verb — a headless exec (zed runs it in a shell).\n // user → ~/.config/zed/tasks.json; project → <projectDir>/.zed/tasks.json.\n supportsActions: true,\n };\n\n // ── Detection ────────────────────────────────────────────────────────────\n\n detectInstalled(projectDir: string): DetectedPlatform {\n const userDir = this.userConfigDir();\n const userSettings = this.userSettingsPath();\n const projDir = join(projectDir, \".zed\");\n const projSettings = join(projDir, \"settings.json\");\n\n const userInstalled = existsSync(userDir) || existsSync(userSettings);\n const projInstalled = existsSync(projDir) || existsSync(projSettings);\n const installed = userInstalled || projInstalled;\n const scope = projInstalled && !userInstalled ? \"project\" : \"user\";\n const configPath = scope === \"project\" ? projSettings : userSettings;\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 Zed config (${scope}) at ${configPath}`\n : `no Zed config at ${userSettings} or ${projSettings}`,\n confidence: installed ? \"high\" : \"low\",\n };\n }\n\n // ── Native paths ─────────────────────────────────────────────────────────\n\n getConfigDir(ctx: InstallContext): string {\n return ctx.scope === \"project\"\n ? join(ctx.projectDir, \".zed\")\n : this.userConfigDir();\n }\n\n getServerConfigPath(ctx: InstallContext): string {\n return join(this.getConfigDir(ctx), \"settings.json\");\n }\n\n /**\n * Zed has no hook file — hooks are not a thing here. The hook \"config path\"\n * is the same settings.json so the generic doctor/backup behave sensibly.\n */\n getHookConfigPath(ctx: InstallContext): string {\n return this.getServerConfigPath(ctx);\n }\n\n /**\n * Zed's user config dir is OS-native (Rust `dirs::config_dir()`), NOT a\n * uniform ~/.config:\n * - Windows: %APPDATA%\\Zed (Roaming, NOT Local/%LOCALAPPDATA%)\n * - macOS / Linux: ~/.config/zed\n */\n private userConfigDir(): string {\n if (process.platform === \"win32\") {\n return join(roamingAppData(), \"Zed\");\n }\n return join(homedir(), \".config\", \"zed\");\n }\n\n private userSettingsPath(): string {\n return join(this.userConfigDir(), \"settings.json\");\n }\n\n // ── Memory surface: first-match project rules probe ─────────────────────\n /**\n * Zed reads exactly ONE project rules file — the FIRST existing of these\n * worktree-root candidates (zed docs/src/ai/instructions.md order). A block\n * in AGENTS.md is silently ignored when e.g. `.cursorrules` exists, so the\n * probe targets the file Zed will actually pick; AGENTS.md is created only\n * when nothing shadows it.\n */\n private static readonly PROJECT_RULES_PROBE_ORDER = [\n \".rules\",\n \".cursorrules\",\n \".windsurfrules\",\n \".clinerules\",\n join(\".github\", \"copilot-instructions.md\"),\n \"AGENT.md\",\n \"AGENTS.md\",\n \"CLAUDE.md\",\n \"GEMINI.md\",\n ];\n\n protected override memoryTargets(ctx: InstallContext): MemoryTarget[] {\n if (this.memoryOverride(ctx)?.path || ctx.scope !== \"project\") {\n return super.memoryTargets(ctx); // user scope: personal AGENTS.md (base map)\n }\n for (const rel of ZedAdapter.PROJECT_RULES_PROBE_ORDER) {\n const candidate = join(ctx.projectDir, rel);\n if (existsSync(candidate)) {\n return [\n {\n path: candidate,\n reason: `zed first-match project rules file (${rel} shadows later candidates)`,\n },\n ];\n }\n }\n return [\n {\n path: join(ctx.projectDir, \"AGENTS.md\"),\n reason: \"AGENTS.md (created; no zed first-match rules file present)\",\n },\n ];\n }\n\n // ── MCP server install / uninstall ───────────────────────────────────────\n\n installServer(ctx: InstallContext): ChangeRecord[] {\n const { connector } = 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 zed\"\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 serverPath = this.getServerConfigPath(ctx);\n const entry = this.renderServerEntry(ctx, server);\n\n // upsertServerInJson reads the WHOLE settings file, sets only\n // context_servers[<id>], and writes it back — preserving every other\n // top-level key and sibling context server (the merge contract).\n return [\n this.upsertServerInJson(serverPath, MCP_ROOT_KEY, connector.id, entry, ctx.dryRun),\n ];\n }\n\n uninstallServer(ctx: InstallContext): ChangeRecord[] {\n const serverPath = this.getServerConfigPath(ctx);\n return [\n this.removeServerFromJson(serverPath, MCP_ROOT_KEY, ctx.connector.id, ctx.dryRun),\n ];\n }\n\n /** Render a normalized ServerDef into Zed's native context_servers entry. */\n private renderServerEntry(\n ctx: InstallContext,\n server: ServerDef,\n ): ZedStdioServer | ZedHttpServer {\n const transport: Transport = server.transport;\n\n if (transport === \"stdio\") {\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 // Zed has no documented native interpolation token, so resolve every\n // ${env:VAR} to a literal at install time.\n // FLAT shape: `command` is a string, never a nested { path, args }.\n const entry: ZedStdioServer = { command: resolveEnvRefsDeep(command) };\n if (args.length > 0) entry.args = resolveEnvRefsDeep(args);\n const env = this.renderEnv(server.env);\n if (env) entry.env = env;\n return entry;\n }\n\n // sse / http (and any other remote transport) — Zed registers a URL.\n const entry: ZedHttpServer = { url: resolveEnvRefsDeep(server.url ?? \"\") };\n const headers = this.renderEnv(server.headers);\n if (headers) entry.headers = headers;\n return entry;\n }\n\n /**\n * Render env/header values. Zed documents no native interpolation token, so\n * resolve `${env:VAR}` references to literals at install time.\n */\n private renderEnv(\n env: Record<string, string> | undefined,\n ): Record<string, string> | undefined {\n if (!env || Object.keys(env).length === 0) return undefined;\n return resolveEnvRefsDeep({ ...env });\n }\n\n // ── Skills surface ───────────────────────────────────────────────────────\n // Zed reads SKILL.md files from:\n // project scope → <projectDir>/.agents/skills/<name>/SKILL.md\n // user scope → ~/.agents/skills/<name>/SKILL.md\n\n private skillsDir(ctx: InstallContext): string {\n return ctx.scope === \"project\"\n ? join(ctx.projectDir, \".agents\", \"skills\")\n : join(homedir(), \".agents\", \"skills\");\n }\n\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 zed\" }];\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 const dir = this.skillDir(ctx, skill.name);\n changes.push(\n this.writeContentFile(join(dir, \"SKILL.md\"), this.renderSkill(skill), ctx.dryRun),\n );\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 const dir = this.skillDir(ctx, skill.name);\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;\n changes.push(this.removeContentFile(target, ctx.dryRun));\n }\n changes.push(this.removeDirIfEmpty(dir, ctx.dryRun));\n }\n return changes;\n }\n\n private renderSkill(skill: SkillDef): string {\n return renderSkillMd(skill);\n }\n\n // ── Action surface (owned entries array-merged into tasks.json) ───────────\n // Zed reads tasks.json (zed.dev/docs/tasks): a JSON ARRAY of tasks\n // `{ label, command, args? }` spawned in the integrated terminal + invocable\n // from the command palette (`task: spawn`). Per AC action we add ONE task\n // whose `command` execs the home-bin action verb. Zed runs `command` in a\n // shell, so this is a HEADLESS exec (not Warp's paste-into-input).\n //\n // OWNERSHIP: tasks.json is a USER-OWNED array, so we never clobber it. We\n // read the whole array, upsert only OUR tasks (identity = isHomeBinActionCommand\n // on `command`, anchored to this connector id so a sibling connector's tasks\n // are foreign), and write back. Idempotent (byte-identical entry → skip).\n // Uninstall filters out ONLY our entries, leaving every foreign task intact.\n\n /** tasks.json path: <configDir>/tasks.json (~/.config/zed | <projectDir>/.zed). */\n private tasksPath(ctx: InstallContext): string {\n return join(this.getConfigDir(ctx), \"tasks.json\");\n }\n\n /** Render the owned task entry: minimal { label, command }. */\n private renderTask(trigger: ActionTrigger): ZedTask {\n return { label: trigger.label, command: trigger.command };\n }\n\n override installActions(ctx: InstallContext): ChangeRecord[] {\n const { connector, dryRun } = ctx;\n if (connector.platforms[HOST]?.actions === false) {\n return [{ platform: this.id, action: \"skip\", detail: \"actions disabled for zed\" }];\n }\n const triggers = this.actionTriggers(ctx);\n if (triggers.length === 0) {\n return [{ platform: this.id, action: \"skip\", detail: \"connector declares no actions\" }];\n }\n\n const path = this.tasksPath(ctx);\n const symlink = this.symlinkPathWarning(path);\n if (symlink) return [symlink];\n\n // Overwrite guard: a present-but-unparseable tasks.json must never be blanked\n // (symmetric with the settings.json merge contract — see review-fixes tests).\n if (this.isPresentButUnparseable(path)) {\n return [\n {\n platform: this.id,\n action: \"warn\",\n path,\n detail: `${path} is present but not parseable as JSON; left untouched (fix it, then re-run)`,\n },\n ];\n }\n\n // tasks.json IS a top-level array. A null parse means \"absent\" (create\n // fresh); a present non-array value was hand-edited to the wrong shape, so\n // warn-skip rather than clobber it (mirrors continue's mcpServers guard).\n const raw = this.readJson<unknown>(path);\n if (raw !== null && !Array.isArray(raw)) {\n return [\n {\n platform: this.id,\n action: \"warn\",\n path,\n detail: `${path} is not a JSON array of tasks; left untouched (fix it, then re-run)`,\n },\n ];\n }\n const list = (raw ?? []) as ZedTask[];\n\n const changes: ChangeRecord[] = [];\n let mutated = false;\n for (const trigger of triggers) {\n const entry = this.renderTask(trigger);\n // Identity is OUR action command (anchored to this connector id), NOT the\n // label — a user could relabel. Match the SPECIFIC action by its command,\n // which is unique per action id (one slot per action).\n const slot = list.findIndex(\n (t) => this.isOurTask(t, ctx) && t.command === entry.command,\n );\n if (slot < 0) {\n list.push(entry);\n mutated = true;\n changes.push({ platform: this.id, action: \"create\", path, detail: `tasks.json [${trigger.id}]` });\n } else if (JSON.stringify(list[slot]) === JSON.stringify(entry)) {\n changes.push({ platform: this.id, action: \"skip\", path, detail: `tasks.json [${trigger.id}]` });\n } else {\n list[slot] = entry;\n mutated = true;\n changes.push({ platform: this.id, action: \"update\", path, detail: `tasks.json [${trigger.id}]` });\n }\n }\n\n if (mutated && !dryRun) this.writeJson(path, list);\n return changes;\n }\n\n override uninstallActions(ctx: InstallContext): ChangeRecord[] {\n const { connector, dryRun } = ctx;\n if (connector.actions.length === 0) {\n return [{ platform: this.id, action: \"skip\", detail: \"connector declares no actions\" }];\n }\n\n const path = this.tasksPath(ctx);\n const raw = this.readJson<unknown>(path);\n if (raw === null || !Array.isArray(raw)) {\n return [{ platform: this.id, action: \"skip\", detail: \"tasks.json absent or not an array\" }];\n }\n\n const list = raw as ZedTask[];\n const kept = list.filter((t) => !this.isOurTask(t, ctx));\n if (kept.length === list.length) {\n return [{ platform: this.id, action: \"skip\", detail: \"no owned tasks in tasks.json\" }];\n }\n if (!dryRun) this.writeJson(path, kept);\n return [\n {\n platform: this.id,\n action: \"remove\",\n path,\n detail: `tasks.json (${list.length - kept.length} owned task(s) removed)`,\n },\n ];\n }\n\n /**\n * True when a task entry is OURS — its `command` is the home-bin action verb\n * for exactly this connector id (anchored so a shared-prefix id can't collide,\n * and the ` action ` verb so a future hook/serve task is never misread).\n */\n private isOurTask(task: ZedTask | undefined, ctx: InstallContext): boolean {\n return isHomeBinActionCommand(task?.command, ctx.homeBinPath, ctx.connector.id);\n }\n\n // ── Hooks (unavailable — Zed is mcp-only) ────────────────────────────────\n\n installHooks(_ctx: InstallContext): ChangeRecord[] {\n return [\n {\n platform: this.id,\n action: \"skip\",\n detail: \"hooks unavailable (Zed 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 (Zed is mcp-only)\",\n },\n ];\n }\n\n // ── Diagnostics ──────────────────────────────────────────────────────────\n\n override getHealthChecks(ctx: InstallContext): readonly HealthCheck[] {\n const settingsPath = this.getServerConfigPath(ctx);\n const connectorId = ctx.connector.id;\n return [\n {\n name: `${this.name}: settings.json present`,\n check: () =>\n existsSync(settingsPath)\n ? { status: \"OK\", detail: settingsPath }\n : { status: \"FAIL\", detail: `not found: ${settingsPath}` },\n },\n {\n name: `${this.name}: context server entry registered`,\n check: () => {\n // Only assert what the connector declares: a server-less connector —\n // e.g. a catalog-only bundle of agents/skills/commands — never writes\n // a context_servers 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> }>(settingsPath);\n const bucket = cfg?.[MCP_ROOT_KEY];\n if (!cfg || !bucket) {\n return { status: \"FAIL\", detail: `no ${MCP_ROOT_KEY} in ${settingsPath}` };\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 ${settingsPath}`,\n };\n },\n },\n ];\n }\n}\n\nexport const adapter = new ZedAdapter();\nexport default adapter;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAqDA,SAAS,kBAAkB;AAC3B,SAAS,eAAe;AACxB,SAAS,YAAY;AAuBrB,IAAM,OAAmB;AACzB,IAAM,eAAe;AA4Bd,IAAM,aAAN,MAAM,oBAAmB,YAA+B;AAAA,EACpD,KAAiB;AAAA,EACjB,OAAO;AAAA,EACP,WAAyB;AAAA,EAEzB,eAAqC;AAAA;AAAA;AAAA;AAAA;AAAA,IAK5C,gBAAgB;AAAA;AAAA,IAEhB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,kBAAkB;AAAA,IAClB,MAAM;AAAA,IACN,cAAc;AAAA,IACd,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,yBAAyB;AAAA;AAAA,IAEzB,YAAY,CAAC,SAAS,OAAO,MAAM;AAAA;AAAA;AAAA,IAGnC,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMhB,iBAAiB;AAAA,EACnB;AAAA;AAAA,EAIA,gBAAgB,YAAsC;AACpD,UAAM,UAAU,KAAK,cAAc;AACnC,UAAM,eAAe,KAAK,iBAAiB;AAC3C,UAAM,UAAU,KAAK,YAAY,MAAM;AACvC,UAAM,eAAe,KAAK,SAAS,eAAe;AAElD,UAAM,gBAAgB,WAAW,OAAO,KAAK,WAAW,YAAY;AACpE,UAAM,gBAAgB,WAAW,OAAO,KAAK,WAAW,YAAY;AACpE,UAAM,YAAY,iBAAiB;AACnC,UAAM,QAAQ,iBAAiB,CAAC,gBAAgB,YAAY;AAC5D,UAAM,aAAa,UAAU,YAAY,eAAe;AAExD,WAAO;AAAA,MACL,IAAI,KAAK;AAAA,MACT,MAAM,KAAK;AAAA,MACX;AAAA,MACA,UAAU,KAAK;AAAA,MACf,cAAc,KAAK;AAAA,MACnB;AAAA,MACA;AAAA,MACA,QAAQ,YACJ,qBAAqB,KAAK,QAAQ,UAAU,KAC5C,oBAAoB,YAAY,OAAO,YAAY;AAAA,MACvD,YAAY,YAAY,SAAS;AAAA,IACnC;AAAA,EACF;AAAA;AAAA,EAIA,aAAa,KAA6B;AACxC,WAAO,IAAI,UAAU,YACjB,KAAK,IAAI,YAAY,MAAM,IAC3B,KAAK,cAAc;AAAA,EACzB;AAAA,EAEA,oBAAoB,KAA6B;AAC/C,WAAO,KAAK,KAAK,aAAa,GAAG,GAAG,eAAe;AAAA,EACrD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,kBAAkB,KAA6B;AAC7C,WAAO,KAAK,oBAAoB,GAAG;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQQ,gBAAwB;AAC9B,QAAI,QAAQ,aAAa,SAAS;AAChC,aAAO,KAAK,eAAe,GAAG,KAAK;AAAA,IACrC;AACA,WAAO,KAAK,QAAQ,GAAG,WAAW,KAAK;AAAA,EACzC;AAAA,EAEQ,mBAA2B;AACjC,WAAO,KAAK,KAAK,cAAc,GAAG,eAAe;AAAA,EACnD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,OAAwB,4BAA4B;AAAA,IAClD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK,WAAW,yBAAyB;AAAA,IACzC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEmB,cAAc,KAAqC;AACpE,QAAI,KAAK,eAAe,GAAG,GAAG,QAAQ,IAAI,UAAU,WAAW;AAC7D,aAAO,MAAM,cAAc,GAAG;AAAA,IAChC;AACA,eAAW,OAAO,YAAW,2BAA2B;AACtD,YAAM,YAAY,KAAK,IAAI,YAAY,GAAG;AAC1C,UAAI,WAAW,SAAS,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,YACE,MAAM;AAAA,YACN,QAAQ,uCAAuC,GAAG;AAAA,UACpD;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,MACL;AAAA,QACE,MAAM,KAAK,IAAI,YAAY,WAAW;AAAA,QACtC,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,EACF;AAAA;AAAA,EAIA,cAAc,KAAqC;AACjD,UAAM,EAAE,UAAU,IAAI;AACtB,UAAM,WAAW,UAAU,UAAU,IAAI,GAAG;AAC5C,QAAI,CAAC,UAAU,UAAU,aAAa,OAAO;AAC3C,aAAO;AAAA,QACL;AAAA,UACE,UAAU,KAAK;AAAA,UACf,QAAQ;AAAA,UACR,QAAQ,UAAU,SACd,yCACA;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAGA,UAAM,SACJ,YAAY,OAAO,aAAa,WAC5B,EAAE,GAAG,UAAU,QAAQ,GAAG,SAAS,IACnC,UAAU;AAEhB,UAAM,aAAa,KAAK,oBAAoB,GAAG;AAC/C,UAAM,QAAQ,KAAK,kBAAkB,KAAK,MAAM;AAKhD,WAAO;AAAA,MACL,KAAK,mBAAmB,YAAY,cAAc,UAAU,IAAI,OAAO,IAAI,MAAM;AAAA,IACnF;AAAA,EACF;AAAA,EAEA,gBAAgB,KAAqC;AACnD,UAAM,aAAa,KAAK,oBAAoB,GAAG;AAC/C,WAAO;AAAA,MACL,KAAK,qBAAqB,YAAY,cAAc,IAAI,UAAU,IAAI,IAAI,MAAM;AAAA,IAClF;AAAA,EACF;AAAA;AAAA,EAGQ,kBACN,KACA,QACgC;AAChC,UAAM,YAAuB,OAAO;AAEpC,QAAI,cAAc,SAAS;AACzB,UAAI,UAAU,OAAO,WAAW;AAChC,UAAI,OAAO,CAAC,GAAI,OAAO,QAAQ,CAAC,CAAE;AAIlC,OAAC,EAAE,SAAS,KAAK,IAAI,kBAAkB,KAAK,QAAQ,KAAK,IAAI,SAAS,IAAI;AAK1E,YAAMA,SAAwB,EAAE,SAAS,mBAAmB,OAAO,EAAE;AACrE,UAAI,KAAK,SAAS,EAAG,CAAAA,OAAM,OAAO,mBAAmB,IAAI;AACzD,YAAM,MAAM,KAAK,UAAU,OAAO,GAAG;AACrC,UAAI,IAAK,CAAAA,OAAM,MAAM;AACrB,aAAOA;AAAA,IACT;AAGA,UAAM,QAAuB,EAAE,KAAK,mBAAmB,OAAO,OAAO,EAAE,EAAE;AACzE,UAAM,UAAU,KAAK,UAAU,OAAO,OAAO;AAC7C,QAAI,QAAS,OAAM,UAAU;AAC7B,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA,EAMQ,UACN,KACoC;AACpC,QAAI,CAAC,OAAO,OAAO,KAAK,GAAG,EAAE,WAAW,EAAG,QAAO;AAClD,WAAO,mBAAmB,EAAE,GAAG,IAAI,CAAC;AAAA,EACtC;AAAA;AAAA;AAAA;AAAA;AAAA,EAOQ,UAAU,KAA6B;AAC7C,WAAO,IAAI,UAAU,YACjB,KAAK,IAAI,YAAY,WAAW,QAAQ,IACxC,KAAK,QAAQ,GAAG,WAAW,QAAQ;AAAA,EACzC;AAAA,EAEQ,SAAS,KAAqB,MAAsB;AAC1D,WAAO,KAAK,KAAK,UAAU,GAAG,GAAG,IAAI;AAAA,EACvC;AAAA,EAES,cAAc,KAAqC;AAC1D,UAAM,EAAE,UAAU,IAAI;AACtB,QAAI,UAAU,UAAU,IAAI,GAAG,WAAW,OAAO;AAC/C,aAAO,CAAC,EAAE,UAAU,KAAK,IAAI,QAAQ,QAAQ,QAAQ,0BAA0B,CAAC;AAAA,IAClF;AACA,QAAI,UAAU,OAAO,WAAW,GAAG;AACjC,aAAO,CAAC,EAAE,UAAU,KAAK,IAAI,QAAQ,QAAQ,QAAQ,+BAA+B,CAAC;AAAA,IACvF;AACA,UAAM,UAA0B,CAAC;AACjC,eAAW,SAAS,UAAU,QAAQ;AACpC,YAAM,MAAM,KAAK,SAAS,KAAK,MAAM,IAAI;AACzC,cAAQ;AAAA,QACN,KAAK,iBAAiB,KAAK,KAAK,UAAU,GAAG,KAAK,YAAY,KAAK,GAAG,IAAI,MAAM;AAAA,MAClF;AACA,iBAAW,CAAC,KAAK,QAAQ,KAAK,OAAO,QAAQ,MAAM,aAAa,CAAC,CAAC,GAAG;AACnE,cAAM,SAAS,KAAK,cAAc,KAAK,GAAG;AAC1C,YAAI,WAAW,MAAM;AACnB,kBAAQ,KAAK;AAAA,YACX,UAAU,KAAK;AAAA,YACf,QAAQ;AAAA,YACR,QAAQ,mBAAmB,GAAG;AAAA,UAChC,CAAC;AACD;AAAA,QACF;AACA,gBAAQ,KAAK,KAAK,iBAAiB,QAAQ,UAAU,IAAI,MAAM,CAAC;AAAA,MAClE;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EAES,gBAAgB,KAAqC;AAC5D,UAAM,EAAE,UAAU,IAAI;AACtB,QAAI,UAAU,OAAO,WAAW,GAAG;AACjC,aAAO,CAAC,EAAE,UAAU,KAAK,IAAI,QAAQ,QAAQ,QAAQ,+BAA+B,CAAC;AAAA,IACvF;AACA,UAAM,UAA0B,CAAC;AACjC,eAAW,SAAS,UAAU,QAAQ;AACpC,YAAM,MAAM,KAAK,SAAS,KAAK,MAAM,IAAI;AACzC,cAAQ,KAAK,KAAK,kBAAkB,KAAK,KAAK,UAAU,GAAG,IAAI,MAAM,CAAC;AACtE,iBAAW,OAAO,OAAO,KAAK,MAAM,aAAa,CAAC,CAAC,GAAG;AACpD,cAAM,SAAS,KAAK,cAAc,KAAK,GAAG;AAC1C,YAAI,WAAW,KAAM;AACrB,gBAAQ,KAAK,KAAK,kBAAkB,QAAQ,IAAI,MAAM,CAAC;AAAA,MACzD;AACA,cAAQ,KAAK,KAAK,iBAAiB,KAAK,IAAI,MAAM,CAAC;AAAA,IACrD;AACA,WAAO;AAAA,EACT;AAAA,EAEQ,YAAY,OAAyB;AAC3C,WAAO,cAAc,KAAK;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBQ,UAAU,KAA6B;AAC7C,WAAO,KAAK,KAAK,aAAa,GAAG,GAAG,YAAY;AAAA,EAClD;AAAA;AAAA,EAGQ,WAAW,SAAiC;AAClD,WAAO,EAAE,OAAO,QAAQ,OAAO,SAAS,QAAQ,QAAQ;AAAA,EAC1D;AAAA,EAES,eAAe,KAAqC;AAC3D,UAAM,EAAE,WAAW,OAAO,IAAI;AAC9B,QAAI,UAAU,UAAU,IAAI,GAAG,YAAY,OAAO;AAChD,aAAO,CAAC,EAAE,UAAU,KAAK,IAAI,QAAQ,QAAQ,QAAQ,2BAA2B,CAAC;AAAA,IACnF;AACA,UAAM,WAAW,KAAK,eAAe,GAAG;AACxC,QAAI,SAAS,WAAW,GAAG;AACzB,aAAO,CAAC,EAAE,UAAU,KAAK,IAAI,QAAQ,QAAQ,QAAQ,gCAAgC,CAAC;AAAA,IACxF;AAEA,UAAM,OAAO,KAAK,UAAU,GAAG;AAC/B,UAAM,UAAU,KAAK,mBAAmB,IAAI;AAC5C,QAAI,QAAS,QAAO,CAAC,OAAO;AAI5B,QAAI,KAAK,wBAAwB,IAAI,GAAG;AACtC,aAAO;AAAA,QACL;AAAA,UACE,UAAU,KAAK;AAAA,UACf,QAAQ;AAAA,UACR;AAAA,UACA,QAAQ,GAAG,IAAI;AAAA,QACjB;AAAA,MACF;AAAA,IACF;AAKA,UAAM,MAAM,KAAK,SAAkB,IAAI;AACvC,QAAI,QAAQ,QAAQ,CAAC,MAAM,QAAQ,GAAG,GAAG;AACvC,aAAO;AAAA,QACL;AAAA,UACE,UAAU,KAAK;AAAA,UACf,QAAQ;AAAA,UACR;AAAA,UACA,QAAQ,GAAG,IAAI;AAAA,QACjB;AAAA,MACF;AAAA,IACF;AACA,UAAM,OAAQ,OAAO,CAAC;AAEtB,UAAM,UAA0B,CAAC;AACjC,QAAI,UAAU;AACd,eAAW,WAAW,UAAU;AAC9B,YAAM,QAAQ,KAAK,WAAW,OAAO;AAIrC,YAAM,OAAO,KAAK;AAAA,QAChB,CAAC,MAAM,KAAK,UAAU,GAAG,GAAG,KAAK,EAAE,YAAY,MAAM;AAAA,MACvD;AACA,UAAI,OAAO,GAAG;AACZ,aAAK,KAAK,KAAK;AACf,kBAAU;AACV,gBAAQ,KAAK,EAAE,UAAU,KAAK,IAAI,QAAQ,UAAU,MAAM,QAAQ,eAAe,QAAQ,EAAE,IAAI,CAAC;AAAA,MAClG,WAAW,KAAK,UAAU,KAAK,IAAI,CAAC,MAAM,KAAK,UAAU,KAAK,GAAG;AAC/D,gBAAQ,KAAK,EAAE,UAAU,KAAK,IAAI,QAAQ,QAAQ,MAAM,QAAQ,eAAe,QAAQ,EAAE,IAAI,CAAC;AAAA,MAChG,OAAO;AACL,aAAK,IAAI,IAAI;AACb,kBAAU;AACV,gBAAQ,KAAK,EAAE,UAAU,KAAK,IAAI,QAAQ,UAAU,MAAM,QAAQ,eAAe,QAAQ,EAAE,IAAI,CAAC;AAAA,MAClG;AAAA,IACF;AAEA,QAAI,WAAW,CAAC,OAAQ,MAAK,UAAU,MAAM,IAAI;AACjD,WAAO;AAAA,EACT;AAAA,EAES,iBAAiB,KAAqC;AAC7D,UAAM,EAAE,WAAW,OAAO,IAAI;AAC9B,QAAI,UAAU,QAAQ,WAAW,GAAG;AAClC,aAAO,CAAC,EAAE,UAAU,KAAK,IAAI,QAAQ,QAAQ,QAAQ,gCAAgC,CAAC;AAAA,IACxF;AAEA,UAAM,OAAO,KAAK,UAAU,GAAG;AAC/B,UAAM,MAAM,KAAK,SAAkB,IAAI;AACvC,QAAI,QAAQ,QAAQ,CAAC,MAAM,QAAQ,GAAG,GAAG;AACvC,aAAO,CAAC,EAAE,UAAU,KAAK,IAAI,QAAQ,QAAQ,QAAQ,oCAAoC,CAAC;AAAA,IAC5F;AAEA,UAAM,OAAO;AACb,UAAM,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,UAAU,GAAG,GAAG,CAAC;AACvD,QAAI,KAAK,WAAW,KAAK,QAAQ;AAC/B,aAAO,CAAC,EAAE,UAAU,KAAK,IAAI,QAAQ,QAAQ,QAAQ,+BAA+B,CAAC;AAAA,IACvF;AACA,QAAI,CAAC,OAAQ,MAAK,UAAU,MAAM,IAAI;AACtC,WAAO;AAAA,MACL;AAAA,QACE,UAAU,KAAK;AAAA,QACf,QAAQ;AAAA,QACR;AAAA,QACA,QAAQ,eAAe,KAAK,SAAS,KAAK,MAAM;AAAA,MAClD;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOQ,UAAU,MAA2B,KAA8B;AACzE,WAAO,uBAAuB,MAAM,SAAS,IAAI,aAAa,IAAI,UAAU,EAAE;AAAA,EAChF;AAAA;AAAA,EAIA,aAAa,MAAsC;AACjD,WAAO;AAAA,MACL;AAAA,QACE,UAAU,KAAK;AAAA,QACf,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,EACF;AAAA,EAEA,eAAe,MAAsC;AACnD,WAAO;AAAA,MACL;AAAA,QACE,UAAU,KAAK;AAAA,QACf,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,EACF;AAAA;AAAA,EAIS,gBAAgB,KAA6C;AACpE,UAAM,eAAe,KAAK,oBAAoB,GAAG;AACjD,UAAM,cAAc,IAAI,UAAU;AAClC,WAAO;AAAA,MACL;AAAA,QACE,MAAM,GAAG,KAAK,IAAI;AAAA,QAClB,OAAO,MACL,WAAW,YAAY,IACnB,EAAE,QAAQ,MAAM,QAAQ,aAAa,IACrC,EAAE,QAAQ,QAAQ,QAAQ,cAAc,YAAY,GAAG;AAAA,MAC/D;AAAA,MACA;AAAA,QACE,MAAM,GAAG,KAAK,IAAI;AAAA,QAClB,OAAO,MAAM;AAIX,cAAI,CAAC,IAAI,UAAU,QAAQ;AACzB,mBAAO,EAAE,QAAQ,MAAM,QAAQ,yBAAyB;AAAA,UAC1D;AACA,gBAAM,MAAM,KAAK,SAAmD,YAAY;AAChF,gBAAM,SAAS,MAAM,YAAY;AACjC,cAAI,CAAC,OAAO,CAAC,QAAQ;AACnB,mBAAO,EAAE,QAAQ,QAAQ,QAAQ,MAAM,YAAY,OAAO,YAAY,GAAG;AAAA,UAC3E;AACA,iBAAO,eAAe,SAClB,EAAE,QAAQ,MAAM,QAAQ,GAAG,YAAY,IAAI,WAAW,WAAW,IACjE;AAAA,YACE,QAAQ;AAAA,YACR,QAAQ,MAAM,YAAY,IAAI,WAAW,OAAO,YAAY;AAAA,UAC9D;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,UAAU,IAAI,WAAW;AACtC,IAAO,cAAQ;","names":["entry"]}