@kodycodes/cli 1.26.2 → 1.27.0

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 (296) hide show
  1. package/README.md +175 -167
  2. package/dist/add-mcp-install.d.ts +1 -1
  3. package/dist/api-token.d.ts +1 -1
  4. package/dist/auth-6ZE6QQXA.js +31 -0
  5. package/dist/auth-6ZE6QQXA.js.map +6 -0
  6. package/dist/auth-bootstrap.d.ts +1 -1
  7. package/dist/auth.d.ts +27 -3
  8. package/dist/bin.js +27 -3
  9. package/dist/bin.js.map +6 -1
  10. package/dist/capability-proxy.d.ts +1 -1
  11. package/dist/chunk-2IHISXHN.js +1413 -0
  12. package/dist/chunk-2IHISXHN.js.map +6 -0
  13. package/dist/chunk-2XPH7L2P.js +23 -0
  14. package/dist/chunk-2XPH7L2P.js.map +6 -0
  15. package/dist/chunk-3H72XY5R.js +535 -0
  16. package/dist/chunk-3H72XY5R.js.map +6 -0
  17. package/dist/chunk-46IJPEID.js +30 -0
  18. package/dist/chunk-46IJPEID.js.map +6 -0
  19. package/dist/chunk-4GIFJVGT.js +14 -0
  20. package/dist/chunk-4GIFJVGT.js.map +6 -0
  21. package/dist/chunk-5JIRHJQP.js +1016 -0
  22. package/dist/chunk-5JIRHJQP.js.map +6 -0
  23. package/dist/chunk-5ZBJAP6G.js +2005 -0
  24. package/dist/chunk-5ZBJAP6G.js.map +6 -0
  25. package/dist/chunk-6ZYUGXVW.js +26 -0
  26. package/dist/chunk-6ZYUGXVW.js.map +6 -0
  27. package/dist/chunk-7PRJ36I5.js +23 -0
  28. package/dist/chunk-7PRJ36I5.js.map +6 -0
  29. package/dist/chunk-BTL3PJ2H.js +38 -0
  30. package/dist/chunk-BTL3PJ2H.js.map +6 -0
  31. package/dist/chunk-CASGRYOF.js +21 -0
  32. package/dist/chunk-CASGRYOF.js.map +6 -0
  33. package/dist/chunk-CPS7HW4T.js +56 -0
  34. package/dist/chunk-CPS7HW4T.js.map +6 -0
  35. package/dist/chunk-CWWHR4FH.js +19 -0
  36. package/dist/chunk-CWWHR4FH.js.map +6 -0
  37. package/dist/chunk-D366STO5.js +2051 -0
  38. package/dist/chunk-D366STO5.js.map +6 -0
  39. package/dist/chunk-DW5UTJ6T.js +115 -0
  40. package/dist/chunk-DW5UTJ6T.js.map +6 -0
  41. package/dist/chunk-EJXEVGWF.js +47 -0
  42. package/dist/chunk-EJXEVGWF.js.map +6 -0
  43. package/dist/chunk-FBEZ6PZ7.js +746 -0
  44. package/dist/chunk-FBEZ6PZ7.js.map +6 -0
  45. package/dist/chunk-JOMBXQOS.js +435 -0
  46. package/dist/chunk-JOMBXQOS.js.map +6 -0
  47. package/dist/{package-local-runtime-source.js → chunk-LU7I7CQ4.js} +395 -52
  48. package/dist/chunk-LU7I7CQ4.js.map +6 -0
  49. package/dist/chunk-OZDWOZLV.js +964 -0
  50. package/dist/chunk-OZDWOZLV.js.map +6 -0
  51. package/dist/chunk-SLNAWWQK.js +64 -0
  52. package/dist/chunk-SLNAWWQK.js.map +6 -0
  53. package/dist/chunk-TUUFQYWP.js +348 -0
  54. package/dist/chunk-TUUFQYWP.js.map +6 -0
  55. package/dist/chunk-UW6AWLXX.js +43 -0
  56. package/dist/chunk-UW6AWLXX.js.map +6 -0
  57. package/dist/chunk-W2SAFAT4.js +1563 -0
  58. package/dist/chunk-W2SAFAT4.js.map +6 -0
  59. package/dist/chunk-XV6D6HSG.js +57 -0
  60. package/dist/chunk-XV6D6HSG.js.map +6 -0
  61. package/dist/chunk-Y4FOJETX.js +616 -0
  62. package/dist/chunk-Y4FOJETX.js.map +6 -0
  63. package/dist/chunk-YDWTXEKQ.js +469 -0
  64. package/dist/chunk-YDWTXEKQ.js.map +6 -0
  65. package/dist/chunk-ZILB2HWE.js +24 -0
  66. package/dist/chunk-ZILB2HWE.js.map +6 -0
  67. package/dist/cli.js +74 -1500
  68. package/dist/cli.js.map +6 -1
  69. package/dist/defaults.d.ts +1 -1
  70. package/dist/detect-running-hosts.d.ts +1 -1
  71. package/dist/dev/dev-assets.d.ts +1 -1
  72. package/dist/dev/dev-registry.d.ts +1 -1
  73. package/dist/dev/error-page.d.ts +1 -1
  74. package/dist/dev/live-reload.d.ts +2 -2
  75. package/dist/dev-command-5PDEIWOC.js +5025 -0
  76. package/dist/dev-command-5PDEIWOC.js.map +6 -0
  77. package/dist/dev-command.d.ts +1 -1
  78. package/dist/discover-login-identity.d.ts +6 -7
  79. package/dist/discover-org.d.ts +2 -3
  80. package/dist/generated/openapi-routes.d.ts +6 -0
  81. package/dist/git-credential-INB2UV4C.js +170 -0
  82. package/dist/git-credential-INB2UV4C.js.map +6 -0
  83. package/dist/install-ONEJRYZ3.js +10728 -0
  84. package/dist/install-ONEJRYZ3.js.map +6 -0
  85. package/dist/install.d.ts +1 -1
  86. package/dist/local-execute-I3BP5NEQ.js +395 -0
  87. package/dist/local-execute-I3BP5NEQ.js.map +6 -0
  88. package/dist/local-execute-auth.d.ts +2 -2
  89. package/dist/local-execute.d.ts +1 -1
  90. package/dist/local-gateway-fetch-forward.d.ts +2 -2
  91. package/dist/local-package-run-JFKNSNWM.js +23 -0
  92. package/dist/local-package-run-JFKNSNWM.js.map +6 -0
  93. package/dist/local-package-run.d.ts +2 -2
  94. package/dist/mock/mock-fetch-gateway.d.ts +2 -2
  95. package/dist/mock/mock-supported.d.ts +1 -1
  96. package/dist/mock-dep-resolve-B5ZH4U3H.js +60 -0
  97. package/dist/mock-dep-resolve-B5ZH4U3H.js.map +6 -0
  98. package/dist/mock-fetch-gateway-S2ULVFAI.js +35 -0
  99. package/dist/mock-fetch-gateway-S2ULVFAI.js.map +6 -0
  100. package/dist/mock-local-deps-2VVNJLFF.js +200 -0
  101. package/dist/mock-local-deps-2VVNJLFF.js.map +6 -0
  102. package/dist/mock-local-deps.d.ts +1 -1
  103. package/dist/mock-server-TFO7Q26H.js +22 -0
  104. package/dist/mock-server-TFO7Q26H.js.map +6 -0
  105. package/dist/oauth-browser.d.ts +42 -0
  106. package/dist/oauth-provider.d.ts +14 -19
  107. package/dist/open-api-client-SR4B7265.js +43 -0
  108. package/dist/open-api-client-SR4B7265.js.map +6 -0
  109. package/dist/open-api-client.d.ts +2 -1
  110. package/dist/org-535LB4PD.js +134 -0
  111. package/dist/org-535LB4PD.js.map +6 -0
  112. package/dist/org-resolve.d.ts +2 -0
  113. package/dist/package-app-dev.d.ts +2 -2
  114. package/dist/package-manifest-DFF6XCPV.js +15 -0
  115. package/dist/package-manifest-DFF6XCPV.js.map +6 -0
  116. package/dist/remote-execute-JN6DRFEU.js +129 -0
  117. package/dist/remote-execute-JN6DRFEU.js.map +6 -0
  118. package/dist/remote-execute.d.ts +3 -3
  119. package/dist/setup-git-MHK563LB.js +87 -0
  120. package/dist/setup-git-MHK563LB.js.map +6 -0
  121. package/dist/setup-git.d.ts +1 -1
  122. package/dist/skill-D74XVI6T.js +61 -0
  123. package/dist/skill-D74XVI6T.js.map +6 -0
  124. package/dist/store-27J4CQZ2.js +48 -0
  125. package/dist/store-27J4CQZ2.js.map +6 -0
  126. package/dist/structured-error-5MLWXYR3.js +14 -0
  127. package/dist/structured-error-5MLWXYR3.js.map +6 -0
  128. package/dist/structured-error.d.ts +1 -1
  129. package/dist/target-33ATHDUF.js +17 -0
  130. package/dist/target-33ATHDUF.js.map +6 -0
  131. package/package.json +12 -11
  132. package/skills/kody/SKILL.md +53 -50
  133. package/dist/add-mcp-install.js +0 -59
  134. package/dist/add-mcp-install.js.map +0 -1
  135. package/dist/api-token-store.js +0 -120
  136. package/dist/api-token-store.js.map +0 -1
  137. package/dist/api-token.js +0 -238
  138. package/dist/api-token.js.map +0 -1
  139. package/dist/auth-bootstrap.js +0 -373
  140. package/dist/auth-bootstrap.js.map +0 -1
  141. package/dist/auth.js +0 -386
  142. package/dist/auth.js.map +0 -1
  143. package/dist/capability-proxy.js +0 -527
  144. package/dist/capability-proxy.js.map +0 -1
  145. package/dist/credential-call-map.js +0 -155
  146. package/dist/credential-call-map.js.map +0 -1
  147. package/dist/credential-client-runtime-source.js +0 -9
  148. package/dist/credential-client-runtime-source.js.map +0 -1
  149. package/dist/credentialed-fetch-scan.js +0 -98
  150. package/dist/credentialed-fetch-scan.js.map +0 -1
  151. package/dist/defaults.js +0 -34
  152. package/dist/defaults.js.map +0 -1
  153. package/dist/detect-running-hosts.js +0 -13
  154. package/dist/detect-running-hosts.js.map +0 -1
  155. package/dist/dev/dev-assets.js +0 -202
  156. package/dist/dev/dev-assets.js.map +0 -1
  157. package/dist/dev/dev-bundler.js +0 -65
  158. package/dist/dev/dev-bundler.js.map +0 -1
  159. package/dist/dev/dev-events.js +0 -94
  160. package/dist/dev/dev-events.js.map +0 -1
  161. package/dist/dev/dev-port.js +0 -80
  162. package/dist/dev/dev-port.js.map +0 -1
  163. package/dist/dev/dev-protocol.js +0 -14
  164. package/dist/dev/dev-protocol.js.map +0 -1
  165. package/dist/dev/dev-registry.js +0 -95
  166. package/dist/dev/dev-registry.js.map +0 -1
  167. package/dist/dev/dev-watcher.js +0 -162
  168. package/dist/dev/dev-watcher.js.map +0 -1
  169. package/dist/dev/error-page.js +0 -64
  170. package/dist/dev/error-page.js.map +0 -1
  171. package/dist/dev/live-reload.js +0 -151
  172. package/dist/dev/live-reload.js.map +0 -1
  173. package/dist/dev/prebuild.js +0 -102
  174. package/dist/dev/prebuild.js.map +0 -1
  175. package/dist/dev/process-reaper.js +0 -151
  176. package/dist/dev/process-reaper.js.map +0 -1
  177. package/dist/dev/stack-trace.js +0 -56
  178. package/dist/dev/stack-trace.js.map +0 -1
  179. package/dist/dev/workerd-process.js +0 -118
  180. package/dist/dev/workerd-process.js.map +0 -1
  181. package/dist/dev-command.js +0 -676
  182. package/dist/dev-command.js.map +0 -1
  183. package/dist/discover-login-identity.js +0 -77
  184. package/dist/discover-login-identity.js.map +0 -1
  185. package/dist/discover-org.js +0 -62
  186. package/dist/discover-org.js.map +0 -1
  187. package/dist/git-credential.js +0 -147
  188. package/dist/git-credential.js.map +0 -1
  189. package/dist/help.js +0 -333
  190. package/dist/help.js.map +0 -1
  191. package/dist/host-catalog.js +0 -427
  192. package/dist/host-catalog.js.map +0 -1
  193. package/dist/host-config.js +0 -80
  194. package/dist/host-config.js.map +0 -1
  195. package/dist/http-error-body.js +0 -35
  196. package/dist/http-error-body.js.map +0 -1
  197. package/dist/install-hosts.js +0 -328
  198. package/dist/install-hosts.js.map +0 -1
  199. package/dist/install.js +0 -120
  200. package/dist/install.js.map +0 -1
  201. package/dist/invoke-passthrough.js +0 -60
  202. package/dist/invoke-passthrough.js.map +0 -1
  203. package/dist/local-bundle.js +0 -200
  204. package/dist/local-bundle.js.map +0 -1
  205. package/dist/local-execute-auth.js +0 -53
  206. package/dist/local-execute-auth.js.map +0 -1
  207. package/dist/local-execute.js +0 -338
  208. package/dist/local-execute.js.map +0 -1
  209. package/dist/local-gateway-fetch-forward.js +0 -135
  210. package/dist/local-gateway-fetch-forward.js.map +0 -1
  211. package/dist/local-host-runtime-surface.js +0 -75
  212. package/dist/local-host-runtime-surface.js.map +0 -1
  213. package/dist/local-package-graph.js +0 -405
  214. package/dist/local-package-graph.js.map +0 -1
  215. package/dist/local-package-run.js +0 -307
  216. package/dist/local-package-run.js.map +0 -1
  217. package/dist/local-runtime-bridge.js +0 -132
  218. package/dist/local-runtime-bridge.js.map +0 -1
  219. package/dist/local-runtime-source.js +0 -541
  220. package/dist/local-runtime-source.js.map +0 -1
  221. package/dist/login-callback-assets.js +0 -10
  222. package/dist/login-callback-assets.js.map +0 -1
  223. package/dist/login-callback-page.js +0 -362
  224. package/dist/login-callback-page.js.map +0 -1
  225. package/dist/mcp.d.ts +0 -34
  226. package/dist/mcp.js +0 -134
  227. package/dist/mcp.js.map +0 -1
  228. package/dist/mock/ensure-msw.js +0 -215
  229. package/dist/mock/ensure-msw.js.map +0 -1
  230. package/dist/mock/install-mock-fetch-shim.js +0 -36
  231. package/dist/mock/install-mock-fetch-shim.js.map +0 -1
  232. package/dist/mock/load-package-mocks.js +0 -136
  233. package/dist/mock/load-package-mocks.js.map +0 -1
  234. package/dist/mock/mock-fetch-gateway.js +0 -343
  235. package/dist/mock/mock-fetch-gateway.js.map +0 -1
  236. package/dist/mock/mock-gateway-fetch-shim.js +0 -104
  237. package/dist/mock/mock-gateway-fetch-shim.js.map +0 -1
  238. package/dist/mock/mock-server.js +0 -499
  239. package/dist/mock/mock-server.js.map +0 -1
  240. package/dist/mock/mock-storage.js +0 -186
  241. package/dist/mock/mock-storage.js.map +0 -1
  242. package/dist/mock/mock-supported.js +0 -63
  243. package/dist/mock/mock-supported.js.map +0 -1
  244. package/dist/mock-dep-resolve.js +0 -47
  245. package/dist/mock-dep-resolve.js.map +0 -1
  246. package/dist/mock-local-deps.js +0 -207
  247. package/dist/mock-local-deps.js.map +0 -1
  248. package/dist/network-error.js +0 -11
  249. package/dist/network-error.js.map +0 -1
  250. package/dist/node-engine.js +0 -21
  251. package/dist/node-engine.js.map +0 -1
  252. package/dist/oauth-provider.js +0 -107
  253. package/dist/oauth-provider.js.map +0 -1
  254. package/dist/onboarding-prompt.js +0 -15
  255. package/dist/onboarding-prompt.js.map +0 -1
  256. package/dist/open-api-client.js +0 -432
  257. package/dist/open-api-client.js.map +0 -1
  258. package/dist/open-url.js +0 -21
  259. package/dist/open-url.js.map +0 -1
  260. package/dist/org-resolve.js +0 -16
  261. package/dist/org-resolve.js.map +0 -1
  262. package/dist/org-slug.js +0 -11
  263. package/dist/org-slug.js.map +0 -1
  264. package/dist/org.js +0 -100
  265. package/dist/org.js.map +0 -1
  266. package/dist/package-app-dev.js +0 -922
  267. package/dist/package-app-dev.js.map +0 -1
  268. package/dist/package-collaborators.js +0 -179
  269. package/dist/package-collaborators.js.map +0 -1
  270. package/dist/package-info.js +0 -19
  271. package/dist/package-info.js.map +0 -1
  272. package/dist/package-local-runtime-source.js.map +0 -1
  273. package/dist/package-manifest.js +0 -364
  274. package/dist/package-manifest.js.map +0 -1
  275. package/dist/process-info.js +0 -14
  276. package/dist/process-info.js.map +0 -1
  277. package/dist/redact.js +0 -16
  278. package/dist/redact.js.map +0 -1
  279. package/dist/remote-execute.js +0 -108
  280. package/dist/remote-execute.js.map +0 -1
  281. package/dist/setup-git.js +0 -676
  282. package/dist/setup-git.js.map +0 -1
  283. package/dist/skill.js +0 -35
  284. package/dist/skill.js.map +0 -1
  285. package/dist/store.js +0 -597
  286. package/dist/store.js.map +0 -1
  287. package/dist/structured-error.js +0 -57
  288. package/dist/structured-error.js.map +0 -1
  289. package/dist/target.js +0 -52
  290. package/dist/target.js.map +0 -1
  291. package/dist/tool-result.js +0 -19
  292. package/dist/tool-result.js.map +0 -1
  293. package/dist/which.js +0 -22
  294. package/dist/which.js.map +0 -1
  295. package/dist/workerd-binary.js +0 -98
  296. package/dist/workerd-binary.js.map +0 -1
@@ -0,0 +1,469 @@
1
+ import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
+
3
+ // src/process-info.ts
4
+ function processHaystack(process2) {
5
+ return `${process2.name} ${process2.cmd ?? ""}`;
6
+ }
7
+ function processBaseName(process2) {
8
+ return process2.name.replace(/\.exe$/iu, "").trim().toLowerCase();
9
+ }
10
+ function nameEquals(process2, ...names) {
11
+ const base = processBaseName(process2);
12
+ return names.some((name) => base === name.toLowerCase());
13
+ }
14
+ function haystackMatches(process2, pattern) {
15
+ return pattern.test(processHaystack(process2));
16
+ }
17
+
18
+ // src/host-catalog.ts
19
+ import { join } from "node:path";
20
+ var hostIds = [
21
+ "amazon-q",
22
+ "antigravity",
23
+ "claude-code",
24
+ "claude-desktop",
25
+ "cline",
26
+ "cline-cli",
27
+ "codex",
28
+ "copilot-cli",
29
+ "cursor",
30
+ "fx",
31
+ "gemini-cli",
32
+ "goose",
33
+ "grok-build",
34
+ "jetbrains",
35
+ "kilo-code",
36
+ "kimi-code",
37
+ "kiro-cli",
38
+ "mastracode",
39
+ "mcporter",
40
+ "opencode",
41
+ "pi",
42
+ "qwen-code",
43
+ "visual-studio",
44
+ "vscode",
45
+ "vscode-insiders",
46
+ "windsurf",
47
+ "zed"
48
+ ];
49
+ var hostAliases = {
50
+ "cline-vscode": "cline",
51
+ codeium: "windsurf",
52
+ cascade: "windsurf",
53
+ gemini: "gemini-cli",
54
+ "github-copilot-cli": "copilot-cli",
55
+ kilo: "kilo-code",
56
+ kilocode: "kilo-code",
57
+ kimi: "kimi-code",
58
+ kiro: "kiro-cli",
59
+ mastra: "mastracode",
60
+ "pi-agent": "pi"
61
+ };
62
+ function isClaudeDesktop(process2) {
63
+ if (haystackMatches(process2, /Claude\.app|claude-desktop|Claude Helper/iu)) {
64
+ return true;
65
+ }
66
+ const raw = process2.name.replace(/\.exe$/iu, "").trim();
67
+ return raw === "Claude" || raw.startsWith("Claude ");
68
+ }
69
+ function isHostId(value) {
70
+ return hostIds.includes(value);
71
+ }
72
+ function parseHostIds(raw) {
73
+ const ids = raw.split(",").map((part) => part.trim()).filter(Boolean);
74
+ if (ids.length === 0) {
75
+ throw new Error(
76
+ `Provide at least one client id. Known: ${hostIds.join(", ")}`
77
+ );
78
+ }
79
+ const known = [];
80
+ for (const id of ids) {
81
+ if (id === "grok" || id === "chatgpt" || id === "claude.ai") {
82
+ throw new Error(
83
+ `"${id}" is a web client. For the local Grok Build CLI use grok-build. For web-based clients see https://kody.codes/onboarding`
84
+ );
85
+ }
86
+ const resolved = hostAliases[id] ?? id;
87
+ if (!isHostId(resolved)) {
88
+ throw new Error(`Unknown client "${id}". Known: ${hostIds.join(", ")}`);
89
+ }
90
+ known.push(resolved);
91
+ }
92
+ return known;
93
+ }
94
+ var jetbrainsNames = [
95
+ "clion",
96
+ "datagrip",
97
+ "goland",
98
+ "idea",
99
+ "idea64",
100
+ "intellij",
101
+ "phpstorm",
102
+ "pycharm",
103
+ "pycharm64",
104
+ "rider",
105
+ "rubymine",
106
+ "rustrover",
107
+ "webstorm",
108
+ "webstorm64"
109
+ ];
110
+ var hostCatalog = [
111
+ {
112
+ id: "cursor",
113
+ label: "Cursor",
114
+ kind: "file",
115
+ matches: (process2) => nameEquals(process2, "cursor") || haystackMatches(process2, /Cursor\.app/iu)
116
+ },
117
+ {
118
+ id: "vscode-insiders",
119
+ label: "VS Code Insiders",
120
+ kind: "file",
121
+ matches: (process2) => /insiders/iu.test(process2.name) && (/code/iu.test(process2.name) || haystackMatches(process2, /code/iu))
122
+ },
123
+ {
124
+ id: "vscode",
125
+ label: "VS Code",
126
+ kind: "file",
127
+ matches: (process2) => {
128
+ if (haystackMatches(process2, /insiders|cursor|windsurf|antigravity/iu))
129
+ return false;
130
+ const base = process2.name.replace(/\.exe$/iu, "").trim().toLowerCase();
131
+ return base === "code" || base === "code - oss" || base.startsWith("code helper") || haystackMatches(process2, /Visual Studio Code\.app/iu);
132
+ }
133
+ },
134
+ {
135
+ id: "claude-desktop",
136
+ label: "Claude Desktop",
137
+ kind: "manual",
138
+ matches: isClaudeDesktop
139
+ },
140
+ {
141
+ id: "claude-code",
142
+ label: "Claude Code",
143
+ kind: "command",
144
+ matches: (process2) => nameEquals(process2, "claude") && !isClaudeDesktop(process2)
145
+ },
146
+ {
147
+ id: "codex",
148
+ label: "Codex",
149
+ kind: "file",
150
+ matches: (process2) => nameEquals(process2, "codex") || haystackMatches(process2, /Codex\.app/iu)
151
+ },
152
+ {
153
+ id: "opencode",
154
+ label: "OpenCode",
155
+ kind: "file",
156
+ matches: (process2) => nameEquals(process2, "opencode")
157
+ },
158
+ {
159
+ id: "goose",
160
+ label: "Goose",
161
+ kind: "file",
162
+ matches: (process2) => nameEquals(process2, "goose", "goosed") || haystackMatches(process2, /Goose\.app/iu)
163
+ },
164
+ {
165
+ id: "windsurf",
166
+ label: "Windsurf",
167
+ kind: "file",
168
+ matches: (process2) => nameEquals(process2, "windsurf") || haystackMatches(process2, /Windsurf\.app/iu)
169
+ },
170
+ {
171
+ id: "zed",
172
+ label: "Zed",
173
+ kind: "file",
174
+ matches: (process2) => nameEquals(process2, "zed") || haystackMatches(process2, /Zed\.app/iu)
175
+ },
176
+ {
177
+ id: "copilot-cli",
178
+ label: "Copilot CLI",
179
+ kind: "command",
180
+ matches: (process2) => nameEquals(process2, "copilot")
181
+ },
182
+ {
183
+ id: "gemini-cli",
184
+ label: "Gemini CLI",
185
+ kind: "command",
186
+ matches: (process2) => nameEquals(process2, "gemini")
187
+ },
188
+ {
189
+ id: "qwen-code",
190
+ label: "Qwen Code",
191
+ kind: "file",
192
+ matches: (process2) => nameEquals(process2, "qwen")
193
+ },
194
+ {
195
+ id: "amazon-q",
196
+ label: "Amazon Q",
197
+ kind: "file",
198
+ matches: (process2) => haystackMatches(process2, /amazon.?q/iu) || nameEquals(process2, "q") && haystackMatches(process2, /amazon/iu)
199
+ },
200
+ {
201
+ id: "antigravity",
202
+ label: "Antigravity",
203
+ kind: "file",
204
+ matches: (process2) => nameEquals(process2, "antigravity") || haystackMatches(process2, /Antigravity\.app/iu)
205
+ },
206
+ {
207
+ id: "cline",
208
+ label: "Cline",
209
+ kind: "file",
210
+ matches: (process2) => nameEquals(process2, "cline-vscode") || haystackMatches(process2, /cline-vscode/iu)
211
+ },
212
+ {
213
+ id: "cline-cli",
214
+ label: "Cline CLI",
215
+ kind: "command",
216
+ matches: (process2) => nameEquals(process2, "cline")
217
+ },
218
+ {
219
+ id: "grok-build",
220
+ label: "Grok Build",
221
+ kind: "file",
222
+ matches: (process2) => nameEquals(process2, "grok")
223
+ },
224
+ {
225
+ id: "mcporter",
226
+ label: "MCPorter",
227
+ kind: "file",
228
+ matches: (process2) => nameEquals(process2, "mcporter")
229
+ },
230
+ {
231
+ id: "kilo-code",
232
+ label: "Kilo Code",
233
+ kind: "file",
234
+ matches: (process2) => nameEquals(process2, "kilo") || haystackMatches(process2, /Kilo\.app|kilocode\.kilo-code|kilo-code/iu)
235
+ },
236
+ {
237
+ id: "kimi-code",
238
+ label: "Kimi Code",
239
+ kind: "command",
240
+ matches: (process2) => nameEquals(process2, "kimi")
241
+ },
242
+ {
243
+ id: "kiro-cli",
244
+ label: "Kiro CLI",
245
+ kind: "file",
246
+ matches: (process2) => nameEquals(process2, "kiro") || haystackMatches(process2, /Kiro\.app/iu)
247
+ },
248
+ {
249
+ id: "mastracode",
250
+ label: "Mastra Code",
251
+ kind: "file",
252
+ matches: (process2) => nameEquals(process2, "mastra", "mastracode")
253
+ },
254
+ {
255
+ id: "fx",
256
+ label: "fx",
257
+ kind: "file",
258
+ matches: (process2) => nameEquals(process2, "fx")
259
+ },
260
+ {
261
+ id: "pi",
262
+ label: "Pi",
263
+ kind: "file",
264
+ matches: (process2) => nameEquals(process2, "pi")
265
+ },
266
+ {
267
+ id: "visual-studio",
268
+ label: "Visual Studio",
269
+ kind: "file",
270
+ matches: (process2) => nameEquals(process2, "devenv")
271
+ },
272
+ {
273
+ id: "jetbrains",
274
+ label: "JetBrains IDE",
275
+ kind: "manual",
276
+ matches: (process2) => nameEquals(process2, ...jetbrainsNames) || haystackMatches(
277
+ process2,
278
+ /IntelliJ IDEA|PyCharm|WebStorm|GoLand|RustRover|PhpStorm|CLion|Rider|RubyMine|DataGrip/u
279
+ )
280
+ }
281
+ ];
282
+ function hostById(id) {
283
+ const host = hostCatalog.find((candidate) => candidate.id === id);
284
+ if (!host) throw new Error(`Unknown host: ${id}`);
285
+ return host;
286
+ }
287
+ function configHome(home, platform = process.platform) {
288
+ return platform === "win32" ? join(home, "AppData", "Roaming") : join(home, ".config");
289
+ }
290
+ function applicationSupport(home, app, platform = process.platform) {
291
+ if (platform === "darwin")
292
+ return join(home, "Library", "Application Support", app);
293
+ if (platform === "win32") return join(home, "AppData", "Roaming", app);
294
+ return join(home, ".config", app);
295
+ }
296
+ function hostConfigPath(input) {
297
+ const platform = input.platform ?? process.platform;
298
+ if (input.project) {
299
+ switch (input.id) {
300
+ case "cursor":
301
+ return join(input.cwd, ".cursor", "mcp.json");
302
+ case "vscode":
303
+ case "vscode-insiders":
304
+ case "copilot-cli":
305
+ return join(input.cwd, ".vscode", "mcp.json");
306
+ case "claude-code":
307
+ return join(input.cwd, ".mcp.json");
308
+ case "opencode":
309
+ return join(input.cwd, "opencode.json");
310
+ case "codex":
311
+ return join(input.cwd, ".codex", "config.toml");
312
+ case "gemini-cli":
313
+ return join(input.cwd, ".gemini", "settings.json");
314
+ case "qwen-code":
315
+ return join(input.cwd, ".qwen", "settings.json");
316
+ case "amazon-q":
317
+ return join(input.cwd, ".amazonq", "mcp.json");
318
+ case "zed":
319
+ return join(input.cwd, ".zed", "settings.json");
320
+ case "grok-build":
321
+ return join(input.cwd, ".grok", "config.toml");
322
+ case "mcporter":
323
+ return join(input.cwd, "config", "mcporter.json");
324
+ case "kilo-code":
325
+ return join(input.cwd, "kilo.json");
326
+ case "kimi-code":
327
+ return join(input.cwd, ".kimi-code", "mcp.json");
328
+ case "kiro-cli":
329
+ return join(input.cwd, ".kiro", "settings", "mcp.json");
330
+ case "mastracode":
331
+ return join(input.cwd, ".mastracode", "mcp.json");
332
+ case "pi":
333
+ return join(input.cwd, ".pi", "mcp.json");
334
+ case "antigravity":
335
+ case "claude-desktop":
336
+ case "cline":
337
+ case "cline-cli":
338
+ case "fx":
339
+ case "goose":
340
+ case "windsurf":
341
+ case "visual-studio":
342
+ case "jetbrains":
343
+ return null;
344
+ default: {
345
+ const exhaustive = input.id;
346
+ return exhaustive;
347
+ }
348
+ }
349
+ }
350
+ switch (input.id) {
351
+ case "cursor":
352
+ return join(input.home, ".cursor", "mcp.json");
353
+ case "vscode":
354
+ return join(
355
+ applicationSupport(input.home, "Code", platform),
356
+ "User",
357
+ "mcp.json"
358
+ );
359
+ case "vscode-insiders":
360
+ return join(
361
+ applicationSupport(input.home, "Code - Insiders", platform),
362
+ "User",
363
+ "mcp.json"
364
+ );
365
+ case "claude-code":
366
+ return join(input.home, ".claude.json");
367
+ case "codex":
368
+ return join(input.home, ".codex", "config.toml");
369
+ case "opencode":
370
+ return join(configHome(input.home, platform), "opencode", "opencode.json");
371
+ case "goose":
372
+ return join(configHome(input.home, platform), "goose", "config.yaml");
373
+ case "windsurf":
374
+ return join(input.home, ".codeium", "windsurf", "mcp_config.json");
375
+ case "zed":
376
+ return join(configHome(input.home, platform), "zed", "settings.json");
377
+ case "copilot-cli":
378
+ return join(input.home, ".copilot", "mcp-config.json");
379
+ case "gemini-cli":
380
+ return join(input.home, ".gemini", "settings.json");
381
+ case "qwen-code":
382
+ return join(input.home, ".qwen", "settings.json");
383
+ case "amazon-q":
384
+ return join(input.home, ".aws", "amazonq", "mcp.json");
385
+ case "antigravity":
386
+ return join(input.home, ".gemini", "config", "mcp_config.json");
387
+ case "cline":
388
+ return join(
389
+ applicationSupport(input.home, "Code", platform),
390
+ "User",
391
+ "globalStorage",
392
+ "saoudrizwan.claude-dev",
393
+ "settings",
394
+ "cline_mcp_settings.json"
395
+ );
396
+ case "cline-cli":
397
+ return join(
398
+ input.home,
399
+ ".cline",
400
+ "data",
401
+ "settings",
402
+ "cline_mcp_settings.json"
403
+ );
404
+ case "grok-build":
405
+ return join(input.home, ".grok", "config.toml");
406
+ case "mcporter":
407
+ return join(input.home, ".mcporter", "mcporter.json");
408
+ case "kilo-code":
409
+ return join(configHome(input.home, platform), "kilo", "kilo.json");
410
+ case "kimi-code":
411
+ return join(input.home, ".kimi-code", "mcp.json");
412
+ case "kiro-cli":
413
+ return join(input.home, ".kiro", "settings", "mcp.json");
414
+ case "mastracode":
415
+ return join(input.home, ".mastracode", "mcp.json");
416
+ case "fx":
417
+ return join(input.home, ".fx", "mcp.json");
418
+ case "pi":
419
+ return join(input.home, ".pi", "agent", "mcp.json");
420
+ case "visual-studio":
421
+ return join(input.home, ".mcp.json");
422
+ case "claude-desktop":
423
+ case "jetbrains":
424
+ return null;
425
+ default: {
426
+ const exhaustive = input.id;
427
+ return exhaustive;
428
+ }
429
+ }
430
+ }
431
+ function encodeBase64Url(value) {
432
+ return Buffer.from(value).toString("base64").replaceAll("+", "-").replaceAll("/", "_").replace(/=+$/u, "");
433
+ }
434
+ function buildCursorInstallUrl(mcpServerUrl) {
435
+ const config = encodeBase64Url(JSON.stringify({ url: mcpServerUrl }));
436
+ return `cursor://anysphere.cursor-deeplink/mcp/install?name=kody&config=${config}`;
437
+ }
438
+ function buildVsCodeInstallUrl(mcpServerUrl, scheme = "vscode") {
439
+ const config = encodeURIComponent(
440
+ JSON.stringify({
441
+ name: "kody",
442
+ type: "http",
443
+ url: mcpServerUrl
444
+ })
445
+ );
446
+ return `${scheme}:mcp/install?${config}`;
447
+ }
448
+ function buildGooseInstallUrl(mcpServerUrl) {
449
+ const params = new URLSearchParams({
450
+ url: mcpServerUrl,
451
+ type: "streamable_http",
452
+ id: "kody",
453
+ name: "Kody",
454
+ description: "Kody personal assistant"
455
+ });
456
+ return `goose://extension?${params.toString()}`;
457
+ }
458
+
459
+ export {
460
+ hostIds,
461
+ parseHostIds,
462
+ hostCatalog,
463
+ hostById,
464
+ hostConfigPath,
465
+ buildCursorInstallUrl,
466
+ buildVsCodeInstallUrl,
467
+ buildGooseInstallUrl
468
+ };
469
+ //# sourceMappingURL=chunk-YDWTXEKQ.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/process-info.ts", "../src/host-catalog.ts"],
4
+ "mappings": "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",
5
+ "names": ["process", "process"]
6
+ }
@@ -0,0 +1,24 @@
1
+ import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
+
3
+ // src/open-url.ts
4
+ import { spawn } from "node:child_process";
5
+ async function openUrl(url) {
6
+ const platform = process.platform;
7
+ const command = platform === "darwin" ? "open" : platform === "win32" ? "cmd" : "xdg-open";
8
+ const args = platform === "win32" ? ["/c", "start", "", url] : [url];
9
+ return await new Promise((resolve) => {
10
+ const child = spawn(command, args, {
11
+ detached: true,
12
+ stdio: "ignore",
13
+ windowsHide: true
14
+ });
15
+ child.on("error", () => resolve(false));
16
+ child.unref();
17
+ resolve(true);
18
+ });
19
+ }
20
+
21
+ export {
22
+ openUrl
23
+ };
24
+ //# sourceMappingURL=chunk-ZILB2HWE.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/open-url.ts"],
4
+ "mappings": ";;;AAAA,SAAS,aAAa;AAEtB,eAAsB,QAAQ,KAA+B;AAC5D,QAAM,WAAW,QAAQ;AACzB,QAAM,UACL,aAAa,WAAW,SAAS,aAAa,UAAU,QAAQ;AACjE,QAAM,OAAO,aAAa,UAAU,CAAC,MAAM,SAAS,IAAI,GAAG,IAAI,CAAC,GAAG;AACnE,SAAO,MAAM,IAAI,QAAQ,CAAC,YAAY;AACrC,UAAM,QAAQ,MAAM,SAAS,MAAM;AAAA,MAClC,UAAU;AAAA,MACV,OAAO;AAAA,MACP,aAAa;AAAA,IACd,CAAC;AACD,UAAM,GAAG,SAAS,MAAM,QAAQ,KAAK,CAAC;AACtC,UAAM,MAAM;AACZ,YAAQ,IAAI;AAAA,EACb,CAAC;AACF;",
5
+ "names": []
6
+ }