@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
@@ -2,41 +2,49 @@
2
2
 
3
3
  // src/adapters/registry.ts
4
4
  var ADAPTER_REGISTRY = [
5
+ // codebuddy (Tencent CodeBuddy) is a Claude Code fork that ALSO exports
6
+ // CLAUDE_SESSION_ID at runtime (its bundle sets both CODEBUDDY_SESSION_ID and
7
+ // CLAUDE_SESSION_ID), so it must precede claude-code: the fork's exclusive
8
+ // runtime markers are checked first during host detection (fork-before-parent).
9
+ {
10
+ id: "codebuddy",
11
+ load: () => import("./codebuddy-RBEZGXBG.js").then((m) => m.default)
12
+ },
5
13
  {
6
14
  id: "claude-code",
7
- load: () => import("./claude-code-HFBAAVWS.js").then((m) => m.default)
15
+ load: () => import("./claude-code-WS4NAGZT.js").then((m) => m.default)
8
16
  },
9
17
  {
10
18
  id: "codex",
11
- load: () => import("./codex-JKQ6TLRI.js").then((m) => m.default)
19
+ load: () => import("./codex-ZZ434GYR.js").then((m) => m.default)
12
20
  },
13
21
  {
14
22
  id: "cursor",
15
- load: () => import("./cursor-2NIZSDZ4.js").then((m) => m.default)
23
+ load: () => import("./cursor-AOELDNZU.js").then((m) => m.default)
16
24
  },
17
25
  // vscode-copilot after cursor: cursor is a VS Code fork, so the fork's runtime
18
26
  // markers must be checked first during host detection.
19
27
  {
20
28
  id: "vscode-copilot",
21
- load: () => import("./vscode-copilot-R23RTVST.js").then((m) => m.default)
29
+ load: () => import("./vscode-copilot-LU5NC4ZS.js").then((m) => m.default)
22
30
  },
23
31
  {
24
32
  id: "copilot-cli",
25
- load: () => import("./copilot-cli-YBNKLYUB.js").then((m) => m.default)
33
+ load: () => import("./copilot-cli-SMTX5F65.js").then((m) => m.default)
26
34
  },
27
35
  {
28
36
  id: "gemini-cli",
29
- load: () => import("./gemini-cli-2EOK26S2.js").then((m) => m.default)
37
+ load: () => import("./gemini-cli-QGLN2UMS.js").then((m) => m.default)
30
38
  },
31
39
  {
32
40
  id: "warp",
33
- load: () => import("./warp-B72XSQ5G.js").then((m) => m.default)
41
+ load: () => import("./warp-4PPG5LOM.js").then((m) => m.default)
34
42
  },
35
43
  // ts-plugin paradigm: OpenCode loads a generated plugin module that bridges
36
44
  // its in-process events to the universal hook entrypoint.
37
45
  {
38
46
  id: "opencode",
39
- load: () => import("./opencode-MKLHSQRD.js").then((m) => m.default)
47
+ load: () => import("./opencode-W2RK4M7G.js").then((m) => m.default)
40
48
  },
41
49
  // mimo-code is Xiaomi's MiMoCode (@mimo-ai/cli, bin `mimo`) — an OpenCode FORK
42
50
  // (ts-plugin, MCP root key "mcp", ~/.config/mimocode/mimocode.json). Grouped
@@ -45,7 +53,7 @@ var ADAPTER_REGISTRY = [
45
53
  // constraint vs opencode (no shared config file to disambiguate).
46
54
  {
47
55
  id: "mimo-code",
48
- load: () => import("./mimo-code-V4FP5PUJ.js").then((m) => m.default)
56
+ load: () => import("./mimo-code-G2CBZ4M6.js").then((m) => m.default)
49
57
  },
50
58
  // kilo-cli is the SQLite-backed OpenCode FORK command-line product (ts-plugin,
51
59
  // loads @kilocode/plugin modules registered in kilo.jsonc's "plugin" array;
@@ -54,23 +62,32 @@ var ADAPTER_REGISTRY = [
54
62
  // the "kilo" extension so there is no fork-ordering constraint between them.
55
63
  {
56
64
  id: "kilo-cli",
57
- load: () => import("./kilo-cli-2CCB3DBI.js").then((m) => m.default)
65
+ load: () => import("./kilo-cli-NMWGYF4F.js").then((m) => m.default)
58
66
  },
59
67
  // Wave 1 — mcp-only adapters (no lifecycle hooks; MCP registration only).
60
68
  {
61
69
  id: "droid",
62
- load: () => import("./droid-HF2AIFB2.js").then((m) => m.default)
70
+ load: () => import("./droid-PTCH2K7Y.js").then((m) => m.default)
71
+ },
72
+ // openhands is the All-Hands-AI OpenHands CLI (`openhands`, ex-OpenDevin) —
73
+ // a standalone json-stdio host: MCP at ~/.openhands/mcp.json ("mcpServers",
74
+ // FastMCP entry shape) + a SEPARATE .openhands/hooks.json carrying the
75
+ // Claude-Code-plugin-compatible nested-rule hooks (6 events). Its persistence
76
+ // dir (~/.openhands) is distinct, so there is no fork-ordering constraint.
77
+ {
78
+ id: "openhands",
79
+ load: () => import("./openhands-5LNH3BKB.js").then((m) => m.default)
63
80
  },
64
81
  {
65
82
  id: "roo-code",
66
- load: () => import("./roo-code-YJOIKCCS.js").then((m) => m.default)
83
+ load: () => import("./roo-code-L5F7S6QH.js").then((m) => m.default)
67
84
  },
68
85
  // kilo is the Kilo Code VS Code extension (kilocode.kilo-code) — a Roo/Cline
69
86
  // fork, so it sits beside roo-code (mcp-only, root key "mcpServers", VS Code
70
87
  // globalStorage / .kilocode project scope). Distinct host from "kilo-cli".
71
88
  {
72
89
  id: "kilo",
73
- load: () => import("./kilo-GJNSBWVV.js").then((m) => m.default)
90
+ load: () => import("./kilo-OU2ZLZKB.js").then((m) => m.default)
74
91
  },
75
92
  // cline is the Cline VS Code extension (saoudrizwan.claude-dev) — the most-
76
93
  // installed AI coding extension and the PARENT that roo-code and kilo forked.
@@ -81,11 +98,11 @@ var ADAPTER_REGISTRY = [
81
98
  // is NO fork-before-parent ordering constraint here; it simply sits beside them.
82
99
  {
83
100
  id: "cline",
84
- load: () => import("./cline-26W4FEZ6.js").then((m) => m.default)
101
+ load: () => import("./cline-NNMVCECA.js").then((m) => m.default)
85
102
  },
86
103
  {
87
104
  id: "trae",
88
- load: () => import("./trae-QSV2JZFT.js").then((m) => m.default)
105
+ load: () => import("./trae-Z7CQ2A2Q.js").then((m) => m.default)
89
106
  },
90
107
  // antigravity-cli BEFORE antigravity: the `agy` CLI is a fork of the IDE
91
108
  // adapter with its own runtime markers (the universal hook command tags the
@@ -93,69 +110,69 @@ var ADAPTER_REGISTRY = [
93
110
  // before the IDE/parent during host detection.
94
111
  {
95
112
  id: "antigravity-cli",
96
- load: () => import("./antigravity-cli-L3RZMF6V.js").then((m) => m.default)
113
+ load: () => import("./antigravity-cli-JO6GUTV7.js").then((m) => m.default)
97
114
  },
98
115
  {
99
116
  id: "antigravity",
100
- load: () => import("./antigravity-WIK3XBN5.js").then((m) => m.default)
117
+ load: () => import("./antigravity-RZHN53VB.js").then((m) => m.default)
101
118
  },
102
119
  {
103
120
  id: "zed",
104
- load: () => import("./zed-6UJS7JKB.js").then((m) => m.default)
121
+ load: () => import("./zed-ZF2OQ75O.js").then((m) => m.default)
105
122
  },
106
123
  {
107
124
  id: "amp",
108
- load: () => import("./amp-6Q5OYHNW.js").then((m) => m.default)
125
+ load: () => import("./amp-UXABVUKC.js").then((m) => m.default)
109
126
  },
110
127
  {
111
128
  id: "codebuff",
112
- load: () => import("./codebuff-J5KEEBIL.js").then((m) => m.default)
129
+ load: () => import("./codebuff-RJIDSEU3.js").then((m) => m.default)
113
130
  },
114
131
  {
115
132
  id: "mux",
116
- load: () => import("./mux-CMJSM42O.js").then((m) => m.default)
133
+ load: () => import("./mux-JNM3F2NW.js").then((m) => m.default)
117
134
  },
118
135
  // Pi — mcp-only host with no writable MCP config; drives the Agent Skills
119
136
  // surface only (writes <piDir>/skills/<name>/SKILL.md).
120
137
  {
121
138
  id: "pi",
122
- load: () => import("./pi-NMVL7OFL.js").then((m) => m.default)
139
+ load: () => import("./pi-BUADR5MJ.js").then((m) => m.default)
123
140
  },
124
141
  // Wave 2 — json-stdio adapters (full hook dispatch via the universal entrypoint).
125
142
  // jetbrains-copilot before vscode-copilot is unnecessary (distinct hosts); grouped here.
126
143
  {
127
144
  id: "jetbrains-copilot",
128
- load: () => import("./jetbrains-copilot-DZ2ATXFN.js").then((m) => m.default)
145
+ load: () => import("./jetbrains-copilot-T2EPKROP.js").then((m) => m.default)
129
146
  },
130
147
  {
131
148
  id: "qwen-code",
132
- load: () => import("./qwen-code-2XE2T6F4.js").then((m) => m.default)
149
+ load: () => import("./qwen-code-TUJNHKNI.js").then((m) => m.default)
133
150
  },
134
151
  {
135
152
  id: "kiro",
136
- load: () => import("./kiro-BUOQFASX.js").then((m) => m.default)
153
+ load: () => import("./kiro-4IN5IH46.js").then((m) => m.default)
137
154
  },
138
155
  {
139
156
  id: "kimi",
140
- load: () => import("./kimi-YRPCSB6N.js").then((m) => m.default)
157
+ load: () => import("./kimi-Z7L2LEEI.js").then((m) => m.default)
141
158
  },
142
159
  {
143
160
  id: "crush",
144
- load: () => import("./crush-JTWTZIPB.js").then((m) => m.default)
161
+ load: () => import("./crush-NYDBHIJE.js").then((m) => m.default)
145
162
  },
146
163
  // Wave 3 — json-stdio adapters with YAML config (MCP in YAML; hooks per host).
147
164
  {
148
165
  id: "goose",
149
- load: () => import("./goose-55JOTXS5.js").then((m) => m.default)
166
+ load: () => import("./goose-DQ6GSZ5O.js").then((m) => m.default)
150
167
  },
151
168
  {
152
169
  id: "hermes",
153
- load: () => import("./hermes-QVZOZU4B.js").then((m) => m.default)
170
+ load: () => import("./hermes-E47IG63A.js").then((m) => m.default)
154
171
  },
155
172
  // Wave 4 — ts-plugin adapters (generate a bridge module to the universal entrypoint).
156
173
  {
157
174
  id: "omp",
158
- load: () => import("./omp-OOFGD3GG.js").then((m) => m.default)
175
+ load: () => import("./omp-OOVUNXME.js").then((m) => m.default)
159
176
  },
160
177
  // nemoclaw BEFORE openclaw (fork-before-parent convention). NVIDIA NemoClaw
161
178
  // wraps OpenClaw and DRIVES the SAME ~/.openclaw/openclaw.json, so a NemoClaw
@@ -168,11 +185,11 @@ var ADAPTER_REGISTRY = [
168
185
  // lands in the wrapped openclaw.json.
169
186
  {
170
187
  id: "nemoclaw",
171
- load: () => import("./nemoclaw-VP56PGKC.js").then((m) => m.default)
188
+ load: () => import("./nemoclaw-SHA4IUML.js").then((m) => m.default)
172
189
  },
173
190
  {
174
191
  id: "openclaw",
175
- load: () => import("./openclaw-V73XHPXP.js").then((m) => m.default)
192
+ load: () => import("./openclaw-BD56E5MV.js").then((m) => m.default)
176
193
  },
177
194
  // Wave 5 — mcp-only: Amazon Q Developer CLI. JSON MCP config under ~/.aws/amazonq/
178
195
  // (user) and .amazonq/ (project); root key "mcpServers"; bare stdio entry
@@ -182,7 +199,7 @@ var ADAPTER_REGISTRY = [
182
199
  // adapter installs MCP entries + the .amazonq/rules memory surface.
183
200
  {
184
201
  id: "amazon-q",
185
- load: () => import("./amazon-q-CB4XFX7T.js").then((m) => m.default)
202
+ load: () => import("./amazon-q-B52EY2SV.js").then((m) => m.default)
186
203
  },
187
204
  // Continue (the `cn` terminal agent / Continue.dev, npm @continuedev/cli) —
188
205
  // json-stdio (Claude-compatible hooks). MCP config is YAML at ~/.continue/config.yaml (user) and
@@ -194,7 +211,7 @@ var ADAPTER_REGISTRY = [
194
211
  // fork-ordering constraint vs any sibling.
195
212
  {
196
213
  id: "continue",
197
- load: () => import("./continue-KQSJUSWX.js").then((m) => m.default)
214
+ load: () => import("./continue-MNM7YVJY.js").then((m) => m.default)
198
215
  },
199
216
  // Windsurf (Codeium / Cognition's Cascade agent) — mcp-only. USER/GLOBAL scope
200
217
  // ONLY: MCP config is JSON at ~/.codeium/windsurf/mcp_config.json (the docs
@@ -208,7 +225,70 @@ var ADAPTER_REGISTRY = [
208
225
  // memory surface. Distinct ~/.codeium marker — no fork-ordering constraint.
209
226
  {
210
227
  id: "windsurf",
211
- load: () => import("./windsurf-642VBMQ2.js").then((m) => m.default)
228
+ load: () => import("./windsurf-3T3RVXKM.js").then((m) => m.default)
229
+ },
230
+ // Grok CLI (the community superagent-ai/grok-cli, npm `grok-dev`, bin `grok`,
231
+ // MIT) — json-stdio. Id is `grok-cli` (NOT `grok`) to stay distinct from xAI's
232
+ // separate "Grok Build" product. USER-SCOPE ONLY: both MCP servers (nested
233
+ // `mcp.servers` JSON ARRAY, keyed by `id`) and hooks (top-level `hooks`,
234
+ // Claude nested-rule shape) live in ~/.grok/user-settings.json (project
235
+ // .grok/settings.json holds neither — Grok excludes project hooks for
236
+ // security). Distinct ~/.grok marker — no fork-ordering constraint vs any
237
+ // sibling.
238
+ {
239
+ id: "grok-cli",
240
+ load: () => import("./grok-cli-5QD235UB.js").then((m) => m.default)
241
+ },
242
+ // Devin CLI (Cognition) — json-stdio. A Rust binary (`devin`, installed via
243
+ // `curl cli.devin.ai/install.sh` → ~/.local/bin/devin). MCP + hooks live in
244
+ // ONE config.json per scope: user ~/.config/devin/config.json
245
+ // (%APPDATA%\devin\config.json on Windows) / project <projectDir>/.devin/
246
+ // config.json. MCP root key "mcpServers" (object map; stdio { command, args?,
247
+ // env? }, remote { url, transport?, headers? }; native ${env:VAR}). Hooks
248
+ // under the same file's "hooks" key (Claude-compatible NESTED-rule shape; reply
249
+ // is the SIMPLE top-level {decision:"approve"|"block"|"deny", reason}). Distinct
250
+ // ~/.config/devin / .devin marker — no fork-ordering constraint.
251
+ {
252
+ id: "devin",
253
+ load: () => import("./devin-PRJY2TTD.js").then((m) => m.default)
254
+ },
255
+ // Open Interpreter (the new Rust `interpreter` / `i` CLI) — mcp-only. It is a
256
+ // FORK of OpenAI's Codex (README: "Open Interpreter is a fork of OpenAI's
257
+ // Codex"), so its native config is Codex's: a TOML `config.toml` carrying
258
+ // `[mcp_servers.<id>]` tables (command/args/env stdio; url/bearer_token_env_var/
259
+ // http_headers streamable-HTTP). The config home is DELIBERATELY isolated from
260
+ // Codex — the `interpreter` binary honors ONLY `$INTERPRETER_HOME` (NOT
261
+ // `$CODEX_HOME`, which it explicitly ignores) and defaults to ~/.openinterpreter
262
+ // (codex-rs/utils/home-dir/src/lib.rs). That distinct dir means there is NO
263
+ // fork-ordering constraint vs codex — the two never target the same file — so
264
+ // it simply sits at the end of the registry. Kept mcp-only (the codex hook
265
+ // subsystem is present in the fork, but the `interpreter` product's live hook
266
+ // wire contract is not first-party-verified, so hooks are not claimed).
267
+ {
268
+ id: "open-interpreter",
269
+ load: () => import("./open-interpreter-4PKL56AA.js").then((m) => m.default)
270
+ },
271
+ // Junie (JetBrains' OWN LLM-agnostic coding agent — DISTINCT from
272
+ // jetbrains-copilot, which is GitHub Copilot in JetBrains IDEs) — mcp-only.
273
+ // The `junie` CLI (npm @jetbrains/junie, github.com/JetBrains/junie) shares its
274
+ // MCP JSON config with Junie in JetBrains IDEs: object map "mcpServers" at
275
+ // <projectDir>/.junie/mcp/mcp.json (project) and ~/.junie/mcp/mcp.json (user);
276
+ // stdio { command, args?, env? }, remote { url, headers? }. No documented
277
+ // user-installable hook surface → mcp-only. Distinct ~/.junie marker — no
278
+ // fork-ordering constraint vs any sibling.
279
+ {
280
+ id: "junie",
281
+ load: () => import("./junie-SQ4SDLGK.js").then((m) => m.default)
282
+ },
283
+ // mistral-vibe is Mistral's coding-agent CLI — an mcp-only host. MCP config is
284
+ // TOML at <projectDir>/.vibe/config.toml (project, precedence) → ~/.vibe/
285
+ // config.toml (user); root key `mcp_servers` is a TOML ARRAY-OF-TABLES
286
+ // ([[mcp_servers]], each entry carries a `name` short alias — distinct from
287
+ // codex's table-keyed [mcp_servers.<name>]). Distinct ~/.vibe / .vibe marker —
288
+ // no fork-ordering constraint.
289
+ {
290
+ id: "mistral-vibe",
291
+ load: () => import("./mistral-vibe-TRQDHAWV.js").then((m) => m.default)
212
292
  }
213
293
  ];
214
294
  var REGISTRY_BY_ID = new Map(
@@ -234,4 +314,4 @@ export {
234
314
  loadAdapter,
235
315
  allAdapters
236
316
  };
237
- //# sourceMappingURL=chunk-Q5LECKZL.js.map
317
+ //# sourceMappingURL=chunk-25CPWJA7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/adapters/registry.ts"],"sourcesContent":["/**\n * adapters/registry — single source of truth for the platforms agent-connector\n * targets. Generalized from context-mode's `ADAPTER_REGISTRY` pattern, adapted\n * to our `Adapter` / `AdapterFactory` contract (adapters/spi.ts).\n *\n * In context-mode the same platform set was redeclared in four places (env-var\n * detection, session-dir lookup, the lazy adapter loader, and per-adapter base\n * constructors); adding a platform meant editing all of them and missing one\n * was silent. Here the list lives ONCE below: each platform is one entry with a\n * lazy `load()` thunk that resolves the adapter singleton. Adding a platform is\n * a single new entry — `getFactory` / `loadAdapter` / `allAdapters` and the\n * detection cascade in detect.ts all derive from this list.\n *\n * `load()` returns the module's default export, which every adapter file is\n * required to provide as its singleton (`export default adapter;`). It is a\n * function (not an eager import) so module loading stays lazy: an adapter is\n * only imported when it is actually needed, keeping startup cheap.\n *\n * Order is load-bearing for runtime host detection (detect.ts iterates env\n * markers in registry order): forks MUST precede their parent so a session\n * running inside a derived shell is not misclassified as the parent. For the\n * three Phase-1 adapters this is moot, but the ordering convention is fixed now\n * so later additions (cursor is a VS Code fork, etc.) slot in correctly.\n */\n\nimport type { PlatformId } from \"../core/types.js\";\nimport type { Adapter, AdapterFactory } from \"./spi.js\";\n\n/**\n * Authoritative list of installable platforms. One entry per platform; the\n * `load` thunk lazily imports the adapter module and returns its default-export\n * singleton. To add a platform: drop its `src/adapters/<id>/index.ts` in place\n * (default-exporting an `Adapter`) and add one entry here.\n */\nexport const ADAPTER_REGISTRY: readonly AdapterFactory[] = [\n // codebuddy (Tencent CodeBuddy) is a Claude Code fork that ALSO exports\n // CLAUDE_SESSION_ID at runtime (its bundle sets both CODEBUDDY_SESSION_ID and\n // CLAUDE_SESSION_ID), so it must precede claude-code: the fork's exclusive\n // runtime markers are checked first during host detection (fork-before-parent).\n {\n id: \"codebuddy\",\n load: () => import(\"./codebuddy/index.js\").then((m) => m.default),\n },\n {\n id: \"claude-code\",\n load: () => import(\"./claude-code/index.js\").then((m) => m.default),\n },\n {\n id: \"codex\",\n load: () => import(\"./codex/index.js\").then((m) => m.default),\n },\n {\n id: \"cursor\",\n load: () => import(\"./cursor/index.js\").then((m) => m.default),\n },\n // vscode-copilot after cursor: cursor is a VS Code fork, so the fork's runtime\n // markers must be checked first during host detection.\n {\n id: \"vscode-copilot\",\n load: () => import(\"./vscode-copilot/index.js\").then((m) => m.default),\n },\n {\n id: \"copilot-cli\",\n load: () => import(\"./copilot-cli/index.js\").then((m) => m.default),\n },\n {\n id: \"gemini-cli\",\n load: () => import(\"./gemini-cli/index.js\").then((m) => m.default),\n },\n {\n id: \"warp\",\n load: () => import(\"./warp/index.js\").then((m) => m.default),\n },\n // ts-plugin paradigm: OpenCode loads a generated plugin module that bridges\n // its in-process events to the universal hook entrypoint.\n {\n id: \"opencode\",\n load: () => import(\"./opencode/index.js\").then((m) => m.default),\n },\n // mimo-code is Xiaomi's MiMoCode (@mimo-ai/cli, bin `mimo`) — an OpenCode FORK\n // (ts-plugin, MCP root key \"mcp\", ~/.config/mimocode/mimocode.json). Grouped\n // beside the OpenCode family whose config dialect + plugin contract it shares;\n // detected via the DISTINCT ~/.config/mimocode dir, so there is no fork-ordering\n // constraint vs opencode (no shared config file to disambiguate).\n {\n id: \"mimo-code\",\n load: () => import(\"./mimo-code/index.js\").then((m) => m.default),\n },\n // kilo-cli is the SQLite-backed OpenCode FORK command-line product (ts-plugin,\n // loads @kilocode/plugin modules registered in kilo.jsonc's \"plugin\" array;\n // MCP root key \"mcp\", ~/.config/kilo/kilo.jsonc). Grouped beside the OpenCode\n // family whose plugin contract + config dialect it shares; distinct host from\n // the \"kilo\" extension so there is no fork-ordering constraint between them.\n {\n id: \"kilo-cli\",\n load: () => import(\"./kilo-cli/index.js\").then((m) => m.default),\n },\n // Wave 1 — mcp-only adapters (no lifecycle hooks; MCP registration only).\n {\n id: \"droid\",\n load: () => import(\"./droid/index.js\").then((m) => m.default),\n },\n // openhands is the All-Hands-AI OpenHands CLI (`openhands`, ex-OpenDevin) —\n // a standalone json-stdio host: MCP at ~/.openhands/mcp.json (\"mcpServers\",\n // FastMCP entry shape) + a SEPARATE .openhands/hooks.json carrying the\n // Claude-Code-plugin-compatible nested-rule hooks (6 events). Its persistence\n // dir (~/.openhands) is distinct, so there is no fork-ordering constraint.\n {\n id: \"openhands\",\n load: () => import(\"./openhands/index.js\").then((m) => m.default),\n },\n {\n id: \"roo-code\",\n load: () => import(\"./roo-code/index.js\").then((m) => m.default),\n },\n // kilo is the Kilo Code VS Code extension (kilocode.kilo-code) — a Roo/Cline\n // fork, so it sits beside roo-code (mcp-only, root key \"mcpServers\", VS Code\n // globalStorage / .kilocode project scope). Distinct host from \"kilo-cli\".\n {\n id: \"kilo\",\n load: () => import(\"./kilo/index.js\").then((m) => m.default),\n },\n // cline is the Cline VS Code extension (saoudrizwan.claude-dev) — the most-\n // installed AI coding extension and the PARENT that roo-code and kilo forked.\n // mcp-only (no hook layer); MCP at the globalStorage cline_mcp_settings.json\n // (\"mcpServers\"); content lives in the .clinerules tree + ~/Documents/Cline.\n // NO runtime-marker collision with roo-code (rooveterinaryinc.roo-cline / .roo)\n // or kilo (kilocode.kilo-code / .kilo) — distinct ext ids + dotdirs — so there\n // is NO fork-before-parent ordering constraint here; it simply sits beside them.\n {\n id: \"cline\",\n load: () => import(\"./cline/index.js\").then((m) => m.default),\n },\n {\n id: \"trae\",\n load: () => import(\"./trae/index.js\").then((m) => m.default),\n },\n // antigravity-cli BEFORE antigravity: the `agy` CLI is a fork of the IDE\n // adapter with its own runtime markers (the universal hook command tags the\n // host as \"antigravity-cli\"), so the more-specific CLI marker must be checked\n // before the IDE/parent during host detection.\n {\n id: \"antigravity-cli\",\n load: () => import(\"./antigravity-cli/index.js\").then((m) => m.default),\n },\n {\n id: \"antigravity\",\n load: () => import(\"./antigravity/index.js\").then((m) => m.default),\n },\n {\n id: \"zed\",\n load: () => import(\"./zed/index.js\").then((m) => m.default),\n },\n {\n id: \"amp\",\n load: () => import(\"./amp/index.js\").then((m) => m.default),\n },\n {\n id: \"codebuff\",\n load: () => import(\"./codebuff/index.js\").then((m) => m.default),\n },\n {\n id: \"mux\",\n load: () => import(\"./mux/index.js\").then((m) => m.default),\n },\n // Pi — mcp-only host with no writable MCP config; drives the Agent Skills\n // surface only (writes <piDir>/skills/<name>/SKILL.md).\n {\n id: \"pi\",\n load: () => import(\"./pi/index.js\").then((m) => m.default),\n },\n // Wave 2 — json-stdio adapters (full hook dispatch via the universal entrypoint).\n // jetbrains-copilot before vscode-copilot is unnecessary (distinct hosts); grouped here.\n {\n id: \"jetbrains-copilot\",\n load: () => import(\"./jetbrains-copilot/index.js\").then((m) => m.default),\n },\n {\n id: \"qwen-code\",\n load: () => import(\"./qwen-code/index.js\").then((m) => m.default),\n },\n {\n id: \"kiro\",\n load: () => import(\"./kiro/index.js\").then((m) => m.default),\n },\n {\n id: \"kimi\",\n load: () => import(\"./kimi/index.js\").then((m) => m.default),\n },\n {\n id: \"crush\",\n load: () => import(\"./crush/index.js\").then((m) => m.default),\n },\n // Wave 3 — json-stdio adapters with YAML config (MCP in YAML; hooks per host).\n {\n id: \"goose\",\n load: () => import(\"./goose/index.js\").then((m) => m.default),\n },\n {\n id: \"hermes\",\n load: () => import(\"./hermes/index.js\").then((m) => m.default),\n },\n // Wave 4 — ts-plugin adapters (generate a bridge module to the universal entrypoint).\n {\n id: \"omp\",\n load: () => import(\"./omp/index.js\").then((m) => m.default),\n },\n // nemoclaw BEFORE openclaw (fork-before-parent convention). NVIDIA NemoClaw\n // wraps OpenClaw and DRIVES the SAME ~/.openclaw/openclaw.json, so a NemoClaw\n // box carries BOTH the ~/.nemoclaw/ and ~/.openclaw/ markers. Exclusivity is\n // enforced at the SOURCE: OpenClawAdapter.detectInstalled BOWS OUT when\n // ~/.nemoclaw/ is present, so the shared config is never double-targeted as two\n // platforms. This ordering is the deterministic tie-break (matching the\n // antigravity-cli/antigravity precedent). nemoclaw extends OpenClawAdapter\n // (id/name/detection overridden), so inherited server/hook registration still\n // lands in the wrapped openclaw.json.\n {\n id: \"nemoclaw\",\n load: () => import(\"./nemoclaw/index.js\").then((m) => m.default),\n },\n {\n id: \"openclaw\",\n load: () => import(\"./openclaw/index.js\").then((m) => m.default),\n },\n // Wave 5 — mcp-only: Amazon Q Developer CLI. JSON MCP config under ~/.aws/amazonq/\n // (user) and .amazonq/ (project); root key \"mcpServers\"; bare stdio entry\n // { command, args, env, timeout? } or remote entry { type: \"http\", url } (no\n // headers) for http. The agent-format hooks layer (cli-agents/*.json) +\n // agents/prompts content surfaces are separate, not-yet-wired surfaces; this\n // adapter installs MCP entries + the .amazonq/rules memory surface.\n {\n id: \"amazon-q\",\n load: () => import(\"./amazon-q/index.js\").then((m) => m.default),\n },\n // Continue (the `cn` terminal agent / Continue.dev, npm @continuedev/cli) —\n // json-stdio (Claude-compatible hooks). MCP config is YAML at ~/.continue/config.yaml (user) and\n // <projectDir>/.continue/config.yaml (project); root key \"mcpServers\" is a\n // YAML ARRAY of { name, command, type?, args?, env?, cwd?, url } entries (NOT a\n // keyed map). Hooks: a Claude-compatible json-stdio layer in settings.json\n // (~/.continue/settings.json — separate from the MCP config.yaml; PR #11029) +\n // nativeHooks for the host-specific events. Distinct ~/.continue marker — no\n // fork-ordering constraint vs any sibling.\n {\n id: \"continue\",\n load: () => import(\"./continue/index.js\").then((m) => m.default),\n },\n // Windsurf (Codeium / Cognition's Cascade agent) — mcp-only. USER/GLOBAL scope\n // ONLY: MCP config is JSON at ~/.codeium/windsurf/mcp_config.json (the docs\n // document no project/workspace path), root key \"mcpServers\" is a Claude-\n // Desktop-style OBJECT map keyed by server name (like cursor). stdio entry\n // { command, args?, env? }; remote entry { serverUrl, headers? } (NOT `url`;\n // no type/disabled). No user-installable hook/plugin layer (GUI editor), so it\n // stays mcp-only paradigm — but content surfaces ARE wired: workflows\n // (.windsurf/workflows + ~/.codeium/windsurf/global_workflows), skills\n // (.windsurf/skills + ~/.codeium/windsurf/skills), and the .windsurf/rules\n // memory surface. Distinct ~/.codeium marker — no fork-ordering constraint.\n {\n id: \"windsurf\",\n load: () => import(\"./windsurf/index.js\").then((m) => m.default),\n },\n // Grok CLI (the community superagent-ai/grok-cli, npm `grok-dev`, bin `grok`,\n // MIT) — json-stdio. Id is `grok-cli` (NOT `grok`) to stay distinct from xAI's\n // separate \"Grok Build\" product. USER-SCOPE ONLY: both MCP servers (nested\n // `mcp.servers` JSON ARRAY, keyed by `id`) and hooks (top-level `hooks`,\n // Claude nested-rule shape) live in ~/.grok/user-settings.json (project\n // .grok/settings.json holds neither — Grok excludes project hooks for\n // security). Distinct ~/.grok marker — no fork-ordering constraint vs any\n // sibling.\n {\n id: \"grok-cli\",\n load: () => import(\"./grok-cli/index.js\").then((m) => m.default),\n },\n // Devin CLI (Cognition) — json-stdio. A Rust binary (`devin`, installed via\n // `curl cli.devin.ai/install.sh` → ~/.local/bin/devin). MCP + hooks live in\n // ONE config.json per scope: user ~/.config/devin/config.json\n // (%APPDATA%\\devin\\config.json on Windows) / project <projectDir>/.devin/\n // config.json. MCP root key \"mcpServers\" (object map; stdio { command, args?,\n // env? }, remote { url, transport?, headers? }; native ${env:VAR}). Hooks\n // under the same file's \"hooks\" key (Claude-compatible NESTED-rule shape; reply\n // is the SIMPLE top-level {decision:\"approve\"|\"block\"|\"deny\", reason}). Distinct\n // ~/.config/devin / .devin marker — no fork-ordering constraint.\n {\n id: \"devin\",\n load: () => import(\"./devin/index.js\").then((m) => m.default),\n },\n // Open Interpreter (the new Rust `interpreter` / `i` CLI) — mcp-only. It is a\n // FORK of OpenAI's Codex (README: \"Open Interpreter is a fork of OpenAI's\n // Codex\"), so its native config is Codex's: a TOML `config.toml` carrying\n // `[mcp_servers.<id>]` tables (command/args/env stdio; url/bearer_token_env_var/\n // http_headers streamable-HTTP). The config home is DELIBERATELY isolated from\n // Codex — the `interpreter` binary honors ONLY `$INTERPRETER_HOME` (NOT\n // `$CODEX_HOME`, which it explicitly ignores) and defaults to ~/.openinterpreter\n // (codex-rs/utils/home-dir/src/lib.rs). That distinct dir means there is NO\n // fork-ordering constraint vs codex — the two never target the same file — so\n // it simply sits at the end of the registry. Kept mcp-only (the codex hook\n // subsystem is present in the fork, but the `interpreter` product's live hook\n // wire contract is not first-party-verified, so hooks are not claimed).\n {\n id: \"open-interpreter\",\n load: () => import(\"./open-interpreter/index.js\").then((m) => m.default),\n },\n // Junie (JetBrains' OWN LLM-agnostic coding agent — DISTINCT from\n // jetbrains-copilot, which is GitHub Copilot in JetBrains IDEs) — mcp-only.\n // The `junie` CLI (npm @jetbrains/junie, github.com/JetBrains/junie) shares its\n // MCP JSON config with Junie in JetBrains IDEs: object map \"mcpServers\" at\n // <projectDir>/.junie/mcp/mcp.json (project) and ~/.junie/mcp/mcp.json (user);\n // stdio { command, args?, env? }, remote { url, headers? }. No documented\n // user-installable hook surface → mcp-only. Distinct ~/.junie marker — no\n // fork-ordering constraint vs any sibling.\n {\n id: \"junie\",\n load: () => import(\"./junie/index.js\").then((m) => m.default),\n },\n // mistral-vibe is Mistral's coding-agent CLI — an mcp-only host. MCP config is\n // TOML at <projectDir>/.vibe/config.toml (project, precedence) → ~/.vibe/\n // config.toml (user); root key `mcp_servers` is a TOML ARRAY-OF-TABLES\n // ([[mcp_servers]], each entry carries a `name` short alias — distinct from\n // codex's table-keyed [mcp_servers.<name>]). Distinct ~/.vibe / .vibe marker —\n // no fork-ordering constraint.\n {\n id: \"mistral-vibe\",\n load: () => import(\"./mistral-vibe/index.js\").then((m) => m.default),\n },\n];\n\n/** O(1) lookup index, built once at module-load time. */\nconst REGISTRY_BY_ID: ReadonlyMap<PlatformId, AdapterFactory> = new Map(\n ADAPTER_REGISTRY.map((factory) => [factory.id, factory] as const),\n);\n\n/** Every platform id present in the registry (useful for matrix tests). */\nexport const REGISTERED_PLATFORM_IDS: ReadonlySet<PlatformId> = new Set(\n ADAPTER_REGISTRY.map((factory) => factory.id),\n);\n\n/**\n * Look up the lazy factory for a platform id. Returns `undefined` for ids that\n * are not registered (including `\"unknown\"` and typos) so callers can fall back\n * deliberately rather than crash.\n */\nexport function getFactory(id: PlatformId | string): AdapterFactory | undefined {\n return REGISTRY_BY_ID.get(id as PlatformId);\n}\n\n/**\n * Resolve a platform id to its adapter singleton. Returns `undefined` when the\n * id is not registered — callers decide whether to skip or fall back.\n */\nexport async function loadAdapter(id: PlatformId | string): Promise<Adapter | undefined> {\n const factory = getFactory(id);\n return factory ? factory.load() : undefined;\n}\n\n/**\n * Load every registered adapter. Imports run in parallel; the result preserves\n * registry order so downstream detection/install logic sees forks before\n * parents.\n */\nexport async function allAdapters(): Promise<Adapter[]> {\n return Promise.all(ADAPTER_REGISTRY.map((factory) => factory.load()));\n}\n"],"mappings":"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","names":[]}
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  ensureDir,
4
4
  telemetryPath
5
- } from "./chunk-2HCJV6UO.js";
5
+ } from "./chunk-IXOQDZWC.js";
6
6
 
7
7
  // src/telemetry/store.ts
8
8
  import { appendFileSync, existsSync, readFileSync } from "fs";
@@ -193,4 +193,4 @@ export {
193
193
  getTokenizer,
194
194
  inferModelFamily
195
195
  };
196
- //# sourceMappingURL=chunk-D6ZJS4ND.js.map
196
+ //# sourceMappingURL=chunk-4FWETID5.js.map
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  BaseAdapter,
10
10
  renderSkillMd
11
- } from "./chunk-NUGMVVV2.js";
11
+ } from "./chunk-VVFDU4IX.js";
12
12
  import {
13
13
  buildHomeBinHookCommand,
14
14
  buildUsageEventCommand,
@@ -16,7 +16,7 @@ import {
16
16
  isHomeBinHookCommand,
17
17
  isHostNativeUsageEnabled,
18
18
  isUsageEventCommand
19
- } from "./chunk-TO57WYBB.js";
19
+ } from "./chunk-HORHRHNG.js";
20
20
 
21
21
  // src/adapters/antigravity/index.ts
22
22
  import { existsSync } from "fs";
@@ -674,4 +674,4 @@ export {
674
674
  adapter,
675
675
  antigravity_default
676
676
  };
677
- //# sourceMappingURL=chunk-Q42SEI7W.js.map
677
+ //# sourceMappingURL=chunk-4HVQ7IUM.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ensureDir
4
- } from "./chunk-2HCJV6UO.js";
4
+ } from "./chunk-IXOQDZWC.js";
5
5
 
6
6
  // src/core/yaml.ts
7
7
  import { existsSync, readFileSync, writeFileSync } from "fs";
@@ -34,4 +34,4 @@ export {
34
34
  writeYaml,
35
35
  yamlObjectMapCodec
36
36
  };
37
- //# sourceMappingURL=chunk-IU42THN7.js.map
37
+ //# sourceMappingURL=chunk-4NSU3KWX.js.map
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  assertNoSymlinkInPath,
4
4
  ensureDir
5
- } from "./chunk-2HCJV6UO.js";
5
+ } from "./chunk-IXOQDZWC.js";
6
6
 
7
7
  // src/core/config-patch-ledger.ts
8
8
  import { createHash, randomBytes } from "crypto";
@@ -176,4 +176,4 @@ export {
176
176
  removeLedgerOwner,
177
177
  dropLedgerEntry
178
178
  };
179
- //# sourceMappingURL=chunk-7CZKXXBD.js.map
179
+ //# sourceMappingURL=chunk-56R2ER7K.js.map
@@ -73,36 +73,36 @@ function renderInstallResult(result, verb) {
73
73
  return lines.join("\n");
74
74
  }
75
75
  var COMMANDS = {
76
- detect: () => import("./detect-CWEIQCRC.js"),
77
- install: () => import("./install-S6BYIJ62.js"),
78
- uninstall: () => import("./uninstall-WGEKTCDZ.js"),
76
+ detect: () => import("./detect-3S46RUMK.js"),
77
+ install: () => import("./install-7DMK53SB.js"),
78
+ uninstall: () => import("./uninstall-2YYKN5DX.js"),
79
79
  // `upgrade` is the single "bring everything current" verb (re-render host
80
80
  // config + refresh the home pointer + managed channel guidance). `sync` and
81
81
  // `update` are kept as back-compat aliases that route to the same module so
82
82
  // existing scripts/docs keep working without a second concept to learn.
83
- upgrade: () => import("./upgrade-IH7CKPTO.js"),
84
- sync: () => import("./upgrade-IH7CKPTO.js"),
85
- update: () => import("./upgrade-IH7CKPTO.js"),
86
- package: () => import("./package-KOAAVKHH.js"),
87
- doctor: () => import("./doctor-AC437ZAW.js"),
88
- status: () => import("./status-N5LCQQ3R.js"),
89
- telemetry: () => import("./telemetry-V4YQL2NU.js"),
90
- usage: () => import("./usage-DI7XRCKM.js"),
91
- leaderboard: () => import("./leaderboard-SUSUDKHR.js"),
92
- hook: () => import("./hook-VYD3OCLM.js"),
83
+ upgrade: () => import("./upgrade-55AFPJEF.js"),
84
+ sync: () => import("./upgrade-55AFPJEF.js"),
85
+ update: () => import("./upgrade-55AFPJEF.js"),
86
+ package: () => import("./package-2EAIYSJ4.js"),
87
+ doctor: () => import("./doctor-3CUBPQKU.js"),
88
+ status: () => import("./status-E5MCFZM6.js"),
89
+ telemetry: () => import("./telemetry-4OC56NTM.js"),
90
+ usage: () => import("./usage-3PB3WZSL.js"),
91
+ leaderboard: () => import("./leaderboard-LF5SP6X2.js"),
92
+ hook: () => import("./hook-P6EKDINW.js"),
93
93
  // Internal (omitted from USAGE): the statusline (HUD) entrypoint a host's
94
94
  // status line config points at. Fail-safe: always exits 0 with at most a
95
95
  // rendered line. See cli/commands/statusline.ts.
96
- statusline: () => import("./statusline-442XOF7R.js"),
96
+ statusline: () => import("./statusline-LIPF2KVP.js"),
97
97
  // Internal (omitted from USAGE): the user-invokable action entrypoint a future
98
98
  // host affordance points at. USER-TRIGGERED: surfaces errors (exit 1 + stderr),
99
99
  // unlike the fail-open hook / fail-safe statusline. See cli/commands/action.ts.
100
- action: () => import("./action-TCKBTTZX.js"),
101
- serve: () => import("./serve-BU23QUSJ.js"),
100
+ action: () => import("./action-L44DXFHT.js"),
101
+ serve: () => import("./serve-K62FW3V7.js"),
102
102
  // Hidden (omitted from USAGE): the opt-in host-native turn-usage entrypoint an
103
103
  // AfterModel / PostInvocation hook points at. Always exits 0; records a
104
104
  // distinct `model_turn` row. See cli/commands/usage-event.ts.
105
- "usage-event": () => import("./usage-event-2FCU55AN.js")
105
+ "usage-event": () => import("./usage-event-KD5FW6W4.js")
106
106
  };
107
107
  var DEFAULT_PROGRAM_NAME = "agent-connector";
108
108
  var COMMAND_USAGE = {
@@ -198,4 +198,4 @@ export {
198
198
  renderInstallResult,
199
199
  main
200
200
  };
201
- //# sourceMappingURL=chunk-HKM3HUOK.js.map
201
+ //# sourceMappingURL=chunk-7HUUINPB.js.map
@@ -4,7 +4,7 @@ import {
4
4
  inferModelFamily,
5
5
  openStore,
6
6
  worstConfidence
7
- } from "./chunk-D6ZJS4ND.js";
7
+ } from "./chunk-4FWETID5.js";
8
8
 
9
9
  // src/telemetry/surface-footprint.ts
10
10
  function countParts(parts, family, tok) {
@@ -590,4 +590,4 @@ export {
590
590
  formatHostNativeTurns,
591
591
  formatSurfaceLeaderboard
592
592
  };
593
- //# sourceMappingURL=chunk-TZ5KGCE2.js.map
593
+ //# sourceMappingURL=chunk-AY3RGRTT.js.map
@@ -6,41 +6,41 @@ import {
6
6
  } from "./chunk-OP4KBXUO.js";
7
7
  import {
8
8
  spawnChild
9
- } from "./chunk-7QRUZAUG.js";
9
+ } from "./chunk-LN76OGNR.js";
10
10
  import {
11
11
  detectRuntimeHost
12
- } from "./chunk-TW4DVR4V.js";
12
+ } from "./chunk-ZMLVR4J7.js";
13
13
  import {
14
14
  attachLazyTelemetryUsage,
15
15
  buildTelemetryAccessor,
16
16
  measureToolCall,
17
17
  measureToolDefs
18
- } from "./chunk-24K6JOKV.js";
18
+ } from "./chunk-LAIITCMW.js";
19
+ import {
20
+ log
21
+ } from "./chunk-KHO5WNTP.js";
19
22
  import {
20
23
  getTokenizer,
21
24
  inferModelFamily,
22
25
  newRecordId,
23
26
  openStore
24
- } from "./chunk-D6ZJS4ND.js";
25
- import {
26
- log
27
- } from "./chunk-KHO5WNTP.js";
27
+ } from "./chunk-4FWETID5.js";
28
28
  import {
29
29
  loadRegisteredConnector,
30
30
  readRegisteredMeta
31
- } from "./chunk-5LAFKXFM.js";
31
+ } from "./chunk-NWLRJNXM.js";
32
32
  import {
33
33
  REGISTERED_PLATFORM_IDS,
34
34
  loadAdapter
35
- } from "./chunk-Q5LECKZL.js";
35
+ } from "./chunk-25CPWJA7.js";
36
36
  import {
37
37
  detectLaunchMethod
38
- } from "./chunk-TO57WYBB.js";
38
+ } from "./chunk-HORHRHNG.js";
39
39
  import {
40
40
  dataRoot,
41
41
  ensureDir,
42
42
  projectIdentity
43
- } from "./chunk-2HCJV6UO.js";
43
+ } from "./chunk-IXOQDZWC.js";
44
44
 
45
45
  // src/runtime/serve.ts
46
46
  import { randomUUID } from "crypto";
@@ -431,7 +431,17 @@ function resolveSessionId(env = process.env) {
431
431
  return env.AGENT_CONNECTOR_SESSION || env.CLAUDE_SESSION_ID || env.CODEX_THREAD_ID || env.CURSOR_TRACE_ID || env.MCP_SESSION_ID || `proc-${randomUUID()}`;
432
432
  }
433
433
  async function runServe(opts) {
434
- const { connectorId, serverCommand, serverArgs, installScope, hostPlatformOverride } = opts;
434
+ const {
435
+ connectorId,
436
+ serverCommand,
437
+ serverArgs,
438
+ installScope,
439
+ hostPlatformOverride,
440
+ dataDir
441
+ } = opts;
442
+ if (dataDir !== void 0 && dataDir.trim() !== "") {
443
+ process.env.AGENT_CONNECTOR_DATA_DIR = dataDir;
444
+ }
435
445
  const connector = await loadRegisteredConnector(connectorId);
436
446
  const id = projectIdentity(process.cwd());
437
447
  const hostPlatform = hostPlatformOverride !== void 0 && REGISTERED_PLATFORM_IDS.has(hostPlatformOverride) ? hostPlatformOverride : detectRuntimeHost().platform;
@@ -691,4 +701,4 @@ export {
691
701
  runStatusline,
692
702
  runAction
693
703
  };
694
- //# sourceMappingURL=chunk-MHDQWZ4A.js.map
704
+ //# sourceMappingURL=chunk-BLTVZACS.js.map