@phuetz/code-buddy 0.1.18 → 0.1.20

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 (355) hide show
  1. package/dist/agent/background-tasks.d.ts +49 -0
  2. package/dist/agent/background-tasks.js +153 -0
  3. package/dist/agent/background-tasks.js.map +1 -0
  4. package/dist/agent/definitions/agent-definition-loader.d.ts +21 -0
  5. package/dist/agent/definitions/agent-definition-loader.js +161 -0
  6. package/dist/agent/definitions/agent-definition-loader.js.map +1 -0
  7. package/dist/agent/definitions/index.d.ts +1 -0
  8. package/dist/agent/definitions/index.js +2 -0
  9. package/dist/agent/definitions/index.js.map +1 -0
  10. package/dist/agent/extended-thinking.d.ts +64 -0
  11. package/dist/agent/extended-thinking.js +103 -0
  12. package/dist/agent/extended-thinking.js.map +1 -0
  13. package/dist/agent/prompt-suggestions.d.ts +55 -0
  14. package/dist/agent/prompt-suggestions.js +125 -0
  15. package/dist/agent/prompt-suggestions.js.map +1 -0
  16. package/dist/agent/rewind-manager.d.ts +59 -0
  17. package/dist/agent/rewind-manager.js +124 -0
  18. package/dist/agent/rewind-manager.js.map +1 -0
  19. package/dist/agent/teams/agent-team.d.ts +54 -0
  20. package/dist/agent/teams/agent-team.js +114 -0
  21. package/dist/agent/teams/agent-team.js.map +1 -0
  22. package/dist/agent/teams/index.d.ts +1 -0
  23. package/dist/agent/teams/index.js +2 -0
  24. package/dist/agent/teams/index.js.map +1 -0
  25. package/dist/agent/teams/team-v2.d.ts +166 -0
  26. package/dist/agent/teams/team-v2.js +376 -0
  27. package/dist/agent/teams/team-v2.js.map +1 -0
  28. package/dist/analytics/dashboard.js +1 -1
  29. package/dist/analytics/dashboard.js.map +1 -1
  30. package/dist/channels/imessage/index.d.ts +40 -0
  31. package/dist/channels/imessage/index.js +69 -0
  32. package/dist/channels/imessage/index.js.map +1 -0
  33. package/dist/channels/line/index.d.ts +36 -0
  34. package/dist/channels/line/index.js +71 -0
  35. package/dist/channels/line/index.js.map +1 -0
  36. package/dist/channels/mattermost/index.d.ts +34 -0
  37. package/dist/channels/mattermost/index.js +56 -0
  38. package/dist/channels/mattermost/index.js.map +1 -0
  39. package/dist/channels/nextcloud-talk/index.d.ts +37 -0
  40. package/dist/channels/nextcloud-talk/index.js +67 -0
  41. package/dist/channels/nextcloud-talk/index.js.map +1 -0
  42. package/dist/channels/niche-channels.d.ts +61 -0
  43. package/dist/channels/niche-channels.js +131 -0
  44. package/dist/channels/niche-channels.js.map +1 -0
  45. package/dist/channels/nostr/index.d.ts +30 -0
  46. package/dist/channels/nostr/index.js +68 -0
  47. package/dist/channels/nostr/index.js.map +1 -0
  48. package/dist/channels/twilio-voice/index.d.ts +37 -0
  49. package/dist/channels/twilio-voice/index.js +76 -0
  50. package/dist/channels/twilio-voice/index.js.map +1 -0
  51. package/dist/channels/whatsapp/index.js +0 -1
  52. package/dist/channels/whatsapp/index.js.map +1 -1
  53. package/dist/channels/zalo/index.d.ts +28 -0
  54. package/dist/channels/zalo/index.js +53 -0
  55. package/dist/channels/zalo/index.js.map +1 -0
  56. package/dist/cloud/cloud-sessions.d.ts +56 -0
  57. package/dist/cloud/cloud-sessions.js +187 -0
  58. package/dist/cloud/cloud-sessions.js.map +1 -0
  59. package/dist/codebuddy/tool-definitions/advanced-tools.d.ts +1 -0
  60. package/dist/codebuddy/tool-definitions/advanced-tools.js +24 -0
  61. package/dist/codebuddy/tool-definitions/advanced-tools.js.map +1 -1
  62. package/dist/codebuddy/tool-definitions/index.d.ts +1 -1
  63. package/dist/codebuddy/tool-definitions/index.js +1 -1
  64. package/dist/codebuddy/tool-definitions/index.js.map +1 -1
  65. package/dist/commands/delegate.js +2 -2
  66. package/dist/commands/delegate.js.map +1 -1
  67. package/dist/commands/features.d.ts +1 -1
  68. package/dist/commands/features.js +1 -1
  69. package/dist/commands/handlers/auth-handler.d.ts +32 -0
  70. package/dist/commands/handlers/auth-handler.js +137 -0
  71. package/dist/commands/handlers/auth-handler.js.map +1 -0
  72. package/dist/commands/handlers/context-handler.d.ts +46 -0
  73. package/dist/commands/handlers/context-handler.js +102 -0
  74. package/dist/commands/handlers/context-handler.js.map +1 -0
  75. package/dist/commands/handlers/core-handlers.js +1 -1
  76. package/dist/commands/handlers/core-handlers.js.map +1 -1
  77. package/dist/commands/handlers/keybindings-handler.d.ts +30 -0
  78. package/dist/commands/handlers/keybindings-handler.js +124 -0
  79. package/dist/commands/handlers/keybindings-handler.js.map +1 -0
  80. package/dist/commands/handlers/missing-handlers.js +15 -14
  81. package/dist/commands/handlers/missing-handlers.js.map +1 -1
  82. package/dist/commands/handlers/session-commands.d.ts +17 -0
  83. package/dist/commands/handlers/session-commands.js +119 -0
  84. package/dist/commands/handlers/session-commands.js.map +1 -0
  85. package/dist/commands/handlers/worktree-handlers.d.ts +1 -1
  86. package/dist/commands/handlers/worktree-handlers.js +2 -2
  87. package/dist/commands/slash/builtin-commands.js +2 -2
  88. package/dist/commands/slash/builtin-commands.js.map +1 -1
  89. package/dist/config/admin-config.d.ts +54 -0
  90. package/dist/config/admin-config.js +144 -0
  91. package/dist/config/admin-config.js.map +1 -0
  92. package/dist/config/advanced-config.d.ts +118 -0
  93. package/dist/config/advanced-config.js +364 -0
  94. package/dist/config/advanced-config.js.map +1 -0
  95. package/dist/config/constants.d.ts +2 -2
  96. package/dist/config/constants.js +2 -2
  97. package/dist/config/constants.js.map +1 -1
  98. package/dist/config/managed-policies.d.ts +50 -0
  99. package/dist/config/managed-policies.js +120 -0
  100. package/dist/config/managed-policies.js.map +1 -0
  101. package/dist/config/settings-hierarchy.d.ts +59 -0
  102. package/dist/config/settings-hierarchy.js +188 -0
  103. package/dist/config/settings-hierarchy.js.map +1 -0
  104. package/dist/config/toml-config.js +1 -1
  105. package/dist/config/toml-config.js.map +1 -1
  106. package/dist/config/tool-profiles.d.ts +37 -0
  107. package/dist/config/tool-profiles.js +150 -0
  108. package/dist/config/tool-profiles.js.map +1 -0
  109. package/dist/config/user-settings.d.ts +31 -0
  110. package/dist/config/user-settings.js +66 -0
  111. package/dist/config/user-settings.js.map +1 -0
  112. package/dist/context/context-files.d.ts +1 -1
  113. package/dist/context/context-files.js +3 -3
  114. package/dist/context/context-files.js.map +1 -1
  115. package/dist/context/partial-summarizer.d.ts +32 -0
  116. package/dist/context/partial-summarizer.js +144 -0
  117. package/dist/context/partial-summarizer.js.map +1 -0
  118. package/dist/desktop/desktop-app.d.ts +44 -0
  119. package/dist/desktop/desktop-app.js +136 -0
  120. package/dist/desktop/desktop-app.js.map +1 -0
  121. package/dist/features/index.d.ts +1 -1
  122. package/dist/features/index.js +2 -2
  123. package/dist/features/index.js.map +1 -1
  124. package/dist/git/worktree-sessions.d.ts +24 -0
  125. package/dist/git/worktree-sessions.js +93 -0
  126. package/dist/git/worktree-sessions.js.map +1 -0
  127. package/dist/hooks/advanced-hooks.d.ts +110 -0
  128. package/dist/hooks/advanced-hooks.js +256 -0
  129. package/dist/hooks/advanced-hooks.js.map +1 -0
  130. package/dist/hooks/async-hooks.d.ts +73 -0
  131. package/dist/hooks/async-hooks.js +213 -0
  132. package/dist/hooks/async-hooks.js.map +1 -0
  133. package/dist/hooks/env-persistence.d.ts +58 -0
  134. package/dist/hooks/env-persistence.js +195 -0
  135. package/dist/hooks/env-persistence.js.map +1 -0
  136. package/dist/hooks/hook-events.d.ts +36 -0
  137. package/dist/hooks/hook-events.js +55 -0
  138. package/dist/hooks/hook-events.js.map +1 -0
  139. package/dist/hooks/hook-system.js +1 -1
  140. package/dist/hooks/hook-system.js.map +1 -1
  141. package/dist/hooks/smart-hooks.d.ts +85 -0
  142. package/dist/hooks/smart-hooks.js +199 -0
  143. package/dist/hooks/smart-hooks.js.map +1 -0
  144. package/dist/ide/jetbrains-plugin.d.ts +55 -0
  145. package/dist/ide/jetbrains-plugin.js +156 -0
  146. package/dist/ide/jetbrains-plugin.js.map +1 -0
  147. package/dist/ide/vscode-extension.d.ts +94 -0
  148. package/dist/ide/vscode-extension.js +229 -0
  149. package/dist/ide/vscode-extension.js.map +1 -0
  150. package/dist/index.js +77 -3
  151. package/dist/index.js.map +1 -1
  152. package/dist/input/file-autocomplete.d.ts +42 -0
  153. package/dist/input/file-autocomplete.js +154 -0
  154. package/dist/input/file-autocomplete.js.map +1 -0
  155. package/dist/integrations/chrome-bridge.d.ts +90 -0
  156. package/dist/integrations/chrome-bridge.js +151 -0
  157. package/dist/integrations/chrome-bridge.js.map +1 -0
  158. package/dist/integrations/github-action-runner.d.ts +40 -0
  159. package/dist/integrations/github-action-runner.js +163 -0
  160. package/dist/integrations/github-action-runner.js.map +1 -0
  161. package/dist/integrations/github-actions.js +1 -1
  162. package/dist/integrations/github-actions.js.map +1 -1
  163. package/dist/integrations/gitlab-ci-runner.d.ts +34 -0
  164. package/dist/integrations/gitlab-ci-runner.js +104 -0
  165. package/dist/integrations/gitlab-ci-runner.js.map +1 -0
  166. package/dist/integrations/pr-session-linker.d.ts +44 -0
  167. package/dist/integrations/pr-session-linker.js +103 -0
  168. package/dist/integrations/pr-session-linker.js.map +1 -0
  169. package/dist/integrations/tailscale.d.ts +36 -0
  170. package/dist/integrations/tailscale.js +101 -0
  171. package/dist/integrations/tailscale.js.map +1 -0
  172. package/dist/lsp/lsp-client.d.ts +68 -0
  173. package/dist/lsp/lsp-client.js +182 -0
  174. package/dist/lsp/lsp-client.js.map +1 -0
  175. package/dist/lsp/server.js +3 -3
  176. package/dist/lsp/server.js.map +1 -1
  177. package/dist/mcp/connectors.d.ts +28 -0
  178. package/dist/mcp/connectors.js +148 -0
  179. package/dist/mcp/connectors.js.map +1 -0
  180. package/dist/mcp/index.d.ts +7 -4
  181. package/dist/mcp/index.js +7 -4
  182. package/dist/mcp/index.js.map +1 -1
  183. package/dist/mcp/mcp-auto-discovery.d.ts +49 -0
  184. package/dist/mcp/mcp-auto-discovery.js +104 -0
  185. package/dist/mcp/mcp-auto-discovery.js.map +1 -0
  186. package/dist/mcp/mcp-server.d.ts +70 -0
  187. package/dist/mcp/mcp-server.js +374 -0
  188. package/dist/mcp/mcp-server.js.map +1 -0
  189. package/dist/memory/auto-memory.d.ts +53 -0
  190. package/dist/memory/auto-memory.js +250 -0
  191. package/dist/memory/auto-memory.js.map +1 -0
  192. package/dist/memory/hybrid-search.d.ts +51 -0
  193. package/dist/memory/hybrid-search.js +199 -0
  194. package/dist/memory/hybrid-search.js.map +1 -0
  195. package/dist/memory/memory-flush.d.ts +51 -0
  196. package/dist/memory/memory-flush.js +102 -0
  197. package/dist/memory/memory-flush.js.map +1 -0
  198. package/dist/memory/subagent-memory.d.ts +73 -0
  199. package/dist/memory/subagent-memory.js +172 -0
  200. package/dist/memory/subagent-memory.js.map +1 -0
  201. package/dist/nodes/device-node.d.ts +40 -0
  202. package/dist/nodes/device-node.js +117 -0
  203. package/dist/nodes/device-node.js.map +1 -0
  204. package/dist/observability/dashboard.d.ts +1 -1
  205. package/dist/observability/dashboard.js +2 -2
  206. package/dist/observability/dashboard.js.map +1 -1
  207. package/dist/offline/offline-mode.d.ts +1 -1
  208. package/dist/offline/offline-mode.js +1 -1
  209. package/dist/output/json-schema-output.d.ts +67 -0
  210. package/dist/output/json-schema-output.js +273 -0
  211. package/dist/output/json-schema-output.js.map +1 -0
  212. package/dist/persistence/session-picker.d.ts +22 -0
  213. package/dist/persistence/session-picker.js +47 -0
  214. package/dist/persistence/session-picker.js.map +1 -0
  215. package/dist/persistence/session-store.d.ts +11 -0
  216. package/dist/persistence/session-store.js +17 -0
  217. package/dist/persistence/session-store.js.map +1 -1
  218. package/dist/plugins/git-pinned-marketplace.d.ts +39 -0
  219. package/dist/plugins/git-pinned-marketplace.js +152 -0
  220. package/dist/plugins/git-pinned-marketplace.js.map +1 -0
  221. package/dist/plugins/marketplace.d.ts +1 -1
  222. package/dist/plugins/marketplace.js +1 -1
  223. package/dist/plugins/plugin-manifest.d.ts +116 -0
  224. package/dist/plugins/plugin-manifest.js +283 -0
  225. package/dist/plugins/plugin-manifest.js.map +1 -0
  226. package/dist/prompts/index.d.ts +1 -1
  227. package/dist/prompts/index.js +1 -1
  228. package/dist/providers/local-llm-provider.d.ts +1 -1
  229. package/dist/providers/local-llm-provider.js +1 -1
  230. package/dist/sandbox/os-sandbox.d.ts +49 -1
  231. package/dist/sandbox/os-sandbox.js +347 -6
  232. package/dist/sandbox/os-sandbox.js.map +1 -1
  233. package/dist/scripting/codebuddy-bindings.js +1 -1
  234. package/dist/scripting/codebuddy-bindings.js.map +1 -1
  235. package/dist/sdk/agent-sdk.d.ts +61 -0
  236. package/dist/sdk/agent-sdk.js +90 -0
  237. package/dist/sdk/agent-sdk.js.map +1 -0
  238. package/dist/security/index.d.ts +1 -1
  239. package/dist/security/index.js +1 -1
  240. package/dist/security/permission-modes.d.ts +76 -0
  241. package/dist/security/permission-modes.js +195 -0
  242. package/dist/security/permission-modes.js.map +1 -0
  243. package/dist/security/permission-patterns.d.ts +61 -0
  244. package/dist/security/permission-patterns.js +171 -0
  245. package/dist/security/permission-patterns.js.map +1 -0
  246. package/dist/security/safe-binaries.d.ts +23 -0
  247. package/dist/security/safe-binaries.js +96 -0
  248. package/dist/security/safe-binaries.js.map +1 -0
  249. package/dist/security/sender-policies.d.ts +46 -0
  250. package/dist/security/sender-policies.js +90 -0
  251. package/dist/security/sender-policies.js.map +1 -0
  252. package/dist/server/dashboard.d.ts +53 -0
  253. package/dist/server/dashboard.js +93 -0
  254. package/dist/server/dashboard.js.map +1 -0
  255. package/dist/services/system-prompt-override.d.ts +34 -0
  256. package/dist/services/system-prompt-override.js +64 -0
  257. package/dist/services/system-prompt-override.js.map +1 -0
  258. package/dist/skills/skill-enhancements.d.ts +37 -0
  259. package/dist/skills/skill-enhancements.js +69 -0
  260. package/dist/skills/skill-enhancements.js.map +1 -0
  261. package/dist/telemetry/otel-tracer.d.ts +98 -0
  262. package/dist/telemetry/otel-tracer.js +245 -0
  263. package/dist/telemetry/otel-tracer.js.map +1 -0
  264. package/dist/templates/export/html.template.js +2 -2
  265. package/dist/templates/export/markdown.template.js +1 -1
  266. package/dist/templates/export/markdown.template.js.map +1 -1
  267. package/dist/themes/default-themes.d.ts +1 -1
  268. package/dist/themes/default-themes.js +1 -1
  269. package/dist/themes/index.d.ts +1 -1
  270. package/dist/themes/index.js +1 -1
  271. package/dist/themes/theme-manager.d.ts +1 -1
  272. package/dist/themes/theme-manager.js +1 -1
  273. package/dist/themes/theme.d.ts +1 -1
  274. package/dist/themes/theme.js +1 -1
  275. package/dist/tools/browser-stub.d.ts +61 -0
  276. package/dist/tools/browser-stub.js +184 -0
  277. package/dist/tools/browser-stub.js.map +1 -0
  278. package/dist/tools/gateway-tool.d.ts +43 -0
  279. package/dist/tools/gateway-tool.js +92 -0
  280. package/dist/tools/gateway-tool.js.map +1 -0
  281. package/dist/tools/image-stub.d.ts +32 -0
  282. package/dist/tools/image-stub.js +97 -0
  283. package/dist/tools/image-stub.js.map +1 -0
  284. package/dist/tools/js-repl.d.ts +78 -0
  285. package/dist/tools/js-repl.js +280 -0
  286. package/dist/tools/js-repl.js.map +1 -0
  287. package/dist/tools/message-tool.d.ts +42 -0
  288. package/dist/tools/message-tool.js +113 -0
  289. package/dist/tools/message-tool.js.map +1 -0
  290. package/dist/types/errors.d.ts +1 -1
  291. package/dist/types/errors.js +1 -1
  292. package/dist/ui/app.js +1 -1
  293. package/dist/ui/app.js.map +1 -1
  294. package/dist/ui/cli-enhancements.d.ts +178 -0
  295. package/dist/ui/cli-enhancements.js +430 -0
  296. package/dist/ui/cli-enhancements.js.map +1 -0
  297. package/dist/ui/components/HelpSystem.d.ts +1 -1
  298. package/dist/ui/components/HelpSystem.js +1 -1
  299. package/dist/ui/context/theme-context.d.ts +1 -1
  300. package/dist/ui/context/theme-context.js +1 -1
  301. package/dist/ui/dashboard/dashboard.js +1 -1
  302. package/dist/ui/dashboard/dashboard.js.map +1 -1
  303. package/dist/ui/status-line.d.ts +90 -0
  304. package/dist/ui/status-line.js +160 -0
  305. package/dist/ui/status-line.js.map +1 -0
  306. package/dist/ui/terminal-enhancements.d.ts +34 -0
  307. package/dist/ui/terminal-enhancements.js +97 -0
  308. package/dist/ui/terminal-enhancements.js.map +1 -0
  309. package/dist/ui/ui-enhancements.d.ts +38 -0
  310. package/dist/ui/ui-enhancements.js +116 -0
  311. package/dist/ui/ui-enhancements.js.map +1 -0
  312. package/dist/undo/checkpoint-manager.d.ts +1 -1
  313. package/dist/undo/checkpoint-manager.js +1 -1
  314. package/dist/utils/codebuddy-home.d.ts +1 -1
  315. package/dist/utils/codebuddy-home.js +1 -1
  316. package/dist/utils/conversation-export.js +3 -3
  317. package/dist/utils/conversation-export.js.map +1 -1
  318. package/dist/utils/custom-commands.js +1 -1
  319. package/dist/utils/custom-instructions.js +4 -1
  320. package/dist/utils/custom-instructions.js.map +1 -1
  321. package/dist/utils/debug-logger.d.ts +1 -1
  322. package/dist/utils/debug-logger.js +1 -1
  323. package/dist/utils/errors.d.ts +2 -2
  324. package/dist/utils/errors.js +2 -2
  325. package/dist/utils/export-manager.js +3 -3
  326. package/dist/utils/export-manager.js.map +1 -1
  327. package/dist/utils/headless-output.js +1 -1
  328. package/dist/utils/headless-output.js.map +1 -1
  329. package/dist/utils/init-project.d.ts +1 -1
  330. package/dist/utils/init-project.js +20 -20
  331. package/dist/utils/init-project.js.map +1 -1
  332. package/dist/utils/logger.d.ts +1 -1
  333. package/dist/utils/logger.js +1 -1
  334. package/dist/utils/output-schema-validator.d.ts +40 -0
  335. package/dist/utils/output-schema-validator.js +137 -0
  336. package/dist/utils/output-schema-validator.js.map +1 -0
  337. package/dist/utils/safety-misc.d.ts +24 -0
  338. package/dist/utils/safety-misc.js +91 -0
  339. package/dist/utils/safety-misc.js.map +1 -0
  340. package/dist/utils/session-enhancements.d.ts +40 -0
  341. package/dist/utils/session-enhancements.js +118 -0
  342. package/dist/utils/session-enhancements.js.map +1 -0
  343. package/dist/utils/shell-completions.js +6 -6
  344. package/dist/utils/shell-snapshot.d.ts +38 -0
  345. package/dist/utils/shell-snapshot.js +323 -0
  346. package/dist/utils/shell-snapshot.js.map +1 -0
  347. package/dist/utils/stream-json-formatter.d.ts +77 -0
  348. package/dist/utils/stream-json-formatter.js +61 -0
  349. package/dist/utils/stream-json-formatter.js.map +1 -0
  350. package/dist/utils/terminal-notifications.js +1 -1
  351. package/dist/utils/terminal-notifications.js.map +1 -1
  352. package/dist/workflows/lobster-engine.d.ts +43 -0
  353. package/dist/workflows/lobster-engine.js +167 -0
  354. package/dist/workflows/lobster-engine.js.map +1 -0
  355. package/package.json +3 -6
@@ -0,0 +1,182 @@
1
+ /**
2
+ * LSP Client - Language Server Protocol integration
3
+ *
4
+ * Provides a client that can connect to LSP servers for various languages,
5
+ * enabling go-to-definition, find-references, hover, symbols, and diagnostics.
6
+ */
7
+ import { logger } from '../utils/logger.js';
8
+ import * as path from 'path';
9
+ const EXTENSION_MAP = {
10
+ '.py': 'python',
11
+ '.ts': 'typescript',
12
+ '.tsx': 'typescript',
13
+ '.js': 'javascript',
14
+ '.jsx': 'javascript',
15
+ '.go': 'go',
16
+ '.rs': 'rust',
17
+ '.java': 'java',
18
+ '.c': 'c',
19
+ '.h': 'c',
20
+ '.cpp': 'cpp',
21
+ '.cc': 'cpp',
22
+ '.cxx': 'cpp',
23
+ '.hpp': 'cpp',
24
+ '.cs': 'csharp',
25
+ '.php': 'php',
26
+ '.kt': 'kotlin',
27
+ '.kts': 'kotlin',
28
+ '.rb': 'ruby',
29
+ '.html': 'html',
30
+ '.htm': 'html',
31
+ '.css': 'css',
32
+ '.scss': 'css',
33
+ '.less': 'css',
34
+ };
35
+ const DEFAULT_CONFIGS = {
36
+ typescript: { language: 'typescript', command: 'typescript-language-server', args: ['--stdio'] },
37
+ javascript: { language: 'javascript', command: 'typescript-language-server', args: ['--stdio'] },
38
+ python: { language: 'python', command: 'pylsp', args: [] },
39
+ go: { language: 'go', command: 'gopls', args: ['serve'] },
40
+ rust: { language: 'rust', command: 'rust-analyzer', args: [] },
41
+ java: { language: 'java', command: 'jdtls', args: [] },
42
+ c: { language: 'c', command: 'clangd', args: [] },
43
+ cpp: { language: 'cpp', command: 'clangd', args: [] },
44
+ csharp: { language: 'csharp', command: 'omnisharp', args: ['-lsp'] },
45
+ php: { language: 'php', command: 'phpactor', args: ['language-server'] },
46
+ html: { language: 'html', command: 'vscode-html-language-server', args: ['--stdio'] },
47
+ css: { language: 'css', command: 'vscode-css-language-server', args: ['--stdio'] },
48
+ ruby: { language: 'ruby', command: 'solargraph', args: ['stdio'] },
49
+ kotlin: { language: 'kotlin', command: 'kotlin-language-server', args: [] },
50
+ };
51
+ export class LSPClient {
52
+ servers;
53
+ activeServers;
54
+ configPath;
55
+ stats;
56
+ constructor(configPath) {
57
+ this.servers = new Map();
58
+ this.activeServers = new Map();
59
+ this.configPath = configPath || '.codebuddy/lsp-config.json';
60
+ this.stats = { queriesExecuted: 0, totalResponseMs: 0, cacheHits: 0 };
61
+ logger.debug('LSPClient initialized', { configPath: this.configPath });
62
+ }
63
+ registerServer(config) {
64
+ if (!config.language || !config.command) {
65
+ throw new Error('Language and command are required for LSP server config');
66
+ }
67
+ this.servers.set(config.language, { ...config });
68
+ logger.info('LSP server registered', { language: config.language, command: config.command });
69
+ }
70
+ getRegisteredLanguages() {
71
+ return Array.from(this.servers.keys());
72
+ }
73
+ isLanguageSupported(lang) {
74
+ return this.servers.has(lang);
75
+ }
76
+ static getDefaultConfig(language) {
77
+ const config = DEFAULT_CONFIGS[language];
78
+ return config ? { ...config } : null;
79
+ }
80
+ static getSupportedLanguages() {
81
+ return Object.keys(DEFAULT_CONFIGS);
82
+ }
83
+ async goToDefinition(file, line, column) {
84
+ const lang = this.detectLanguage(file);
85
+ if (!lang || !this.servers.has(lang)) {
86
+ logger.warn('No LSP server for language', { file, lang });
87
+ return [];
88
+ }
89
+ this.recordQuery();
90
+ logger.debug('goToDefinition', { file, line, column });
91
+ // In a real implementation, this would communicate with the LSP server
92
+ return [];
93
+ }
94
+ async findReferences(file, line, column) {
95
+ const lang = this.detectLanguage(file);
96
+ if (!lang || !this.servers.has(lang)) {
97
+ logger.warn('No LSP server for language', { file, lang });
98
+ return [];
99
+ }
100
+ this.recordQuery();
101
+ logger.debug('findReferences', { file, line, column });
102
+ return [];
103
+ }
104
+ async hover(file, line, column) {
105
+ const lang = this.detectLanguage(file);
106
+ if (!lang || !this.servers.has(lang)) {
107
+ return null;
108
+ }
109
+ this.recordQuery();
110
+ logger.debug('hover', { file, line, column });
111
+ return null;
112
+ }
113
+ async getDocumentSymbols(file) {
114
+ const lang = this.detectLanguage(file);
115
+ if (!lang || !this.servers.has(lang)) {
116
+ return [];
117
+ }
118
+ this.recordQuery();
119
+ logger.debug('getDocumentSymbols', { file });
120
+ return [];
121
+ }
122
+ async getDiagnostics(file) {
123
+ const lang = this.detectLanguage(file);
124
+ if (!lang || !this.servers.has(lang)) {
125
+ return [];
126
+ }
127
+ this.recordQuery();
128
+ logger.debug('getDiagnostics', { file });
129
+ return [];
130
+ }
131
+ detectLanguage(filePath) {
132
+ const ext = path.extname(filePath).toLowerCase();
133
+ return EXTENSION_MAP[ext] || null;
134
+ }
135
+ async startServer(language) {
136
+ if (!this.servers.has(language)) {
137
+ logger.warn('Cannot start server: not registered', { language });
138
+ return false;
139
+ }
140
+ if (this.activeServers.has(language)) {
141
+ logger.debug('Server already running', { language });
142
+ return true;
143
+ }
144
+ const config = this.servers.get(language);
145
+ logger.info('Starting LSP server', { language, command: config.command });
146
+ // In production, this would spawn the process
147
+ this.activeServers.set(language, { process: null, initialized: true });
148
+ return true;
149
+ }
150
+ async stopServer(language) {
151
+ if (!this.activeServers.has(language)) {
152
+ return;
153
+ }
154
+ logger.info('Stopping LSP server', { language });
155
+ this.activeServers.delete(language);
156
+ }
157
+ async stopAll() {
158
+ const languages = Array.from(this.activeServers.keys());
159
+ for (const lang of languages) {
160
+ await this.stopServer(lang);
161
+ }
162
+ logger.info('All LSP servers stopped');
163
+ }
164
+ getActiveServerCount() {
165
+ return this.activeServers.size;
166
+ }
167
+ getStats() {
168
+ return {
169
+ queriesExecuted: this.stats.queriesExecuted,
170
+ avgResponseMs: this.stats.queriesExecuted > 0
171
+ ? this.stats.totalResponseMs / this.stats.queriesExecuted
172
+ : 0,
173
+ cacheHits: this.stats.cacheHits,
174
+ };
175
+ }
176
+ recordQuery() {
177
+ this.stats.queriesExecuted++;
178
+ // Simulated response time
179
+ this.stats.totalResponseMs += Math.random() * 50 + 5;
180
+ }
181
+ }
182
+ //# sourceMappingURL=lsp-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lsp-client.js","sourceRoot":"","sources":["../../src/lsp/lsp-client.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ import { logger } from '../utils/logger.js';
19
19
  const connection = createConnection(ProposedFeatures.all);
20
20
  // Document manager
21
21
  const documents = new TextDocuments(TextDocument);
22
- // Grok client
22
+ // Code Buddy client
23
23
  let codebuddyClient = null;
24
24
  const defaultSettings = {
25
25
  apiKey: '',
@@ -60,11 +60,11 @@ connection.onInitialize((_params) => {
60
60
  });
61
61
  connection.onInitialized(() => {
62
62
  logger.info('Code Buddy LSP server initialized');
63
- // Initialize Grok client with API key
63
+ // Initialize Code Buddy client with API key
64
64
  const apiKey = process.env.GROK_API_KEY || globalSettings.apiKey;
65
65
  if (apiKey) {
66
66
  codebuddyClient = new CodeBuddyClient(apiKey, globalSettings.model);
67
- logger.info('Grok client initialized');
67
+ logger.info('Code Buddy client initialized');
68
68
  }
69
69
  else {
70
70
  logger.warn('No API key configured');
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/lsp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/lsp/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Pre-configured MCP Connectors
3
+ *
4
+ * Registry of pre-configured MCP server connectors for popular
5
+ * services, with environment variable checks and setup instructions.
6
+ */
7
+ export interface ConnectorConfig {
8
+ name: string;
9
+ type: string;
10
+ description: string;
11
+ mcpServerConfig: Record<string, unknown>;
12
+ requiredEnvVars: string[];
13
+ setupInstructions: string;
14
+ }
15
+ export declare class ConnectorRegistry {
16
+ private connectors;
17
+ constructor();
18
+ static getInstance(): ConnectorRegistry;
19
+ static resetInstance(): void;
20
+ getAvailableConnectors(): ConnectorConfig[];
21
+ getConnector(name: string): ConnectorConfig | undefined;
22
+ isConfigured(name: string): boolean;
23
+ getSetupInstructions(name: string): string | undefined;
24
+ listConfigured(): ConnectorConfig[];
25
+ listUnconfigured(): ConnectorConfig[];
26
+ }
27
+ export declare function getConnectorRegistry(): ConnectorRegistry;
28
+ export declare function resetConnectorRegistry(): void;
@@ -0,0 +1,148 @@
1
+ /**
2
+ * Pre-configured MCP Connectors
3
+ *
4
+ * Registry of pre-configured MCP server connectors for popular
5
+ * services, with environment variable checks and setup instructions.
6
+ */
7
+ import { logger } from '../utils/logger.js';
8
+ // ============================================================================
9
+ // Pre-configured Connectors
10
+ // ============================================================================
11
+ const CONNECTORS = [
12
+ {
13
+ name: 'google-calendar',
14
+ type: 'calendar',
15
+ description: 'Google Calendar integration for event management',
16
+ mcpServerConfig: {
17
+ command: 'npx',
18
+ args: ['@anthropic/mcp-google-calendar'],
19
+ },
20
+ requiredEnvVars: ['GOOGLE_CALENDAR_CLIENT_ID', 'GOOGLE_CALENDAR_CLIENT_SECRET'],
21
+ setupInstructions: '1. Create a Google Cloud project\n' +
22
+ '2. Enable Calendar API\n' +
23
+ '3. Create OAuth2 credentials\n' +
24
+ '4. Set GOOGLE_CALENDAR_CLIENT_ID and GOOGLE_CALENDAR_CLIENT_SECRET',
25
+ },
26
+ {
27
+ name: 'linear',
28
+ type: 'project-management',
29
+ description: 'Linear issue tracker integration',
30
+ mcpServerConfig: {
31
+ command: 'npx',
32
+ args: ['@anthropic/mcp-linear'],
33
+ },
34
+ requiredEnvVars: ['LINEAR_API_KEY'],
35
+ setupInstructions: '1. Go to Linear Settings > API\n' +
36
+ '2. Create a personal API key\n' +
37
+ '3. Set LINEAR_API_KEY environment variable',
38
+ },
39
+ {
40
+ name: 'notion',
41
+ type: 'knowledge-base',
42
+ description: 'Notion workspace integration for docs and databases',
43
+ mcpServerConfig: {
44
+ command: 'npx',
45
+ args: ['@anthropic/mcp-notion'],
46
+ },
47
+ requiredEnvVars: ['NOTION_API_KEY'],
48
+ setupInstructions: '1. Go to notion.so/my-integrations\n' +
49
+ '2. Create a new integration\n' +
50
+ '3. Copy the Internal Integration Token\n' +
51
+ '4. Set NOTION_API_KEY environment variable',
52
+ },
53
+ {
54
+ name: 'asana',
55
+ type: 'project-management',
56
+ description: 'Asana task and project management integration',
57
+ mcpServerConfig: {
58
+ command: 'npx',
59
+ args: ['@anthropic/mcp-asana'],
60
+ },
61
+ requiredEnvVars: ['ASANA_ACCESS_TOKEN'],
62
+ setupInstructions: '1. Go to Asana Developer Console\n' +
63
+ '2. Create a Personal Access Token\n' +
64
+ '3. Set ASANA_ACCESS_TOKEN environment variable',
65
+ },
66
+ {
67
+ name: 'github',
68
+ type: 'version-control',
69
+ description: 'GitHub repository and issue management',
70
+ mcpServerConfig: {
71
+ command: 'npx',
72
+ args: ['@anthropic/mcp-github'],
73
+ },
74
+ requiredEnvVars: ['GITHUB_TOKEN'],
75
+ setupInstructions: '1. Go to GitHub Settings > Developer settings > Personal access tokens\n' +
76
+ '2. Generate a new token with repo scope\n' +
77
+ '3. Set GITHUB_TOKEN environment variable',
78
+ },
79
+ {
80
+ name: 'slack',
81
+ type: 'communication',
82
+ description: 'Slack workspace messaging integration',
83
+ mcpServerConfig: {
84
+ command: 'npx',
85
+ args: ['@anthropic/mcp-slack'],
86
+ },
87
+ requiredEnvVars: ['SLACK_BOT_TOKEN'],
88
+ setupInstructions: '1. Create a Slack App at api.slack.com/apps\n' +
89
+ '2. Add Bot Token Scopes (chat:write, channels:read)\n' +
90
+ '3. Install to workspace\n' +
91
+ '4. Set SLACK_BOT_TOKEN environment variable',
92
+ },
93
+ ];
94
+ // ============================================================================
95
+ // ConnectorRegistry
96
+ // ============================================================================
97
+ let instance = null;
98
+ export class ConnectorRegistry {
99
+ connectors = new Map();
100
+ constructor() {
101
+ for (const connector of CONNECTORS) {
102
+ this.connectors.set(connector.name, connector);
103
+ }
104
+ }
105
+ static getInstance() {
106
+ if (!instance) {
107
+ instance = new ConnectorRegistry();
108
+ }
109
+ return instance;
110
+ }
111
+ static resetInstance() {
112
+ instance = null;
113
+ }
114
+ getAvailableConnectors() {
115
+ return Array.from(this.connectors.values());
116
+ }
117
+ getConnector(name) {
118
+ return this.connectors.get(name);
119
+ }
120
+ isConfigured(name) {
121
+ const connector = this.connectors.get(name);
122
+ if (!connector) {
123
+ return false;
124
+ }
125
+ return connector.requiredEnvVars.every(v => !!process.env[v]);
126
+ }
127
+ getSetupInstructions(name) {
128
+ const connector = this.connectors.get(name);
129
+ if (!connector) {
130
+ return undefined;
131
+ }
132
+ logger.debug('Getting setup instructions', { connector: name });
133
+ return connector.setupInstructions;
134
+ }
135
+ listConfigured() {
136
+ return this.getAvailableConnectors().filter(c => this.isConfigured(c.name));
137
+ }
138
+ listUnconfigured() {
139
+ return this.getAvailableConnectors().filter(c => !this.isConfigured(c.name));
140
+ }
141
+ }
142
+ export function getConnectorRegistry() {
143
+ return ConnectorRegistry.getInstance();
144
+ }
145
+ export function resetConnectorRegistry() {
146
+ ConnectorRegistry.resetInstance();
147
+ }
148
+ //# sourceMappingURL=connectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectors.js","sourceRoot":"","sources":["../../src/mcp/connectors.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,17 @@
1
1
  /**
2
2
  * MCP Module - Model Context Protocol Integration
3
3
  *
4
- * This module provides two client implementations:
5
- * - MCPManager (client.ts): Uses the official MCP SDK, supports multiple transport types
6
- * - MCPClient (mcp-client.ts): Manual implementation with config file management
4
+ * This module provides:
5
+ * - MCPManager (client.ts): SDK-based MCP client, supports multiple transport types
6
+ * - MCPClient (mcp-client.ts): Manual client implementation with config file management
7
+ * - CodeBuddyMCPServer (mcp-server.ts): MCP server exposing Code Buddy tools over stdio
7
8
  *
8
- * For new code, prefer MCPManager as it uses the official SDK.
9
+ * For new code, prefer MCPManager (client) and CodeBuddyMCPServer (server).
9
10
  */
10
11
  export type { MCPServerConfig, MCPTool, ServerStatus, MCPConfig, } from "./types.js";
11
12
  export { MCPManager } from "./client.js";
12
13
  export { MCPClient, MCPResource, getMCPClient, resetMCPClient, } from "./mcp-client.js";
13
14
  export { TransportType, TransportConfig, MCPTransport, StdioTransport, HttpTransport, SSETransport, StreamableHttpTransport, createTransport, } from "./transports.js";
15
+ export { CodeBuddyMCPServer } from "./mcp-server.js";
16
+ export type { MCPToolDefinition } from "./mcp-server.js";
14
17
  export { loadMCPConfig, saveMCPConfig, addMCPServer, removeMCPServer, getMCPServer, PREDEFINED_SERVERS, saveProjectMCPConfig, createMCPConfigTemplate, hasProjectMCPConfig, getMCPConfigPaths, } from "./config.js";
package/dist/mcp/index.js CHANGED
@@ -1,11 +1,12 @@
1
1
  /**
2
2
  * MCP Module - Model Context Protocol Integration
3
3
  *
4
- * This module provides two client implementations:
5
- * - MCPManager (client.ts): Uses the official MCP SDK, supports multiple transport types
6
- * - MCPClient (mcp-client.ts): Manual implementation with config file management
4
+ * This module provides:
5
+ * - MCPManager (client.ts): SDK-based MCP client, supports multiple transport types
6
+ * - MCPClient (mcp-client.ts): Manual client implementation with config file management
7
+ * - CodeBuddyMCPServer (mcp-server.ts): MCP server exposing Code Buddy tools over stdio
7
8
  *
8
- * For new code, prefer MCPManager as it uses the official SDK.
9
+ * For new code, prefer MCPManager (client) and CodeBuddyMCPServer (server).
9
10
  */
10
11
  // SDK-based client (recommended)
11
12
  export { MCPManager } from "./client.js";
@@ -13,6 +14,8 @@ export { MCPManager } from "./client.js";
13
14
  export { MCPClient, getMCPClient, resetMCPClient, } from "./mcp-client.js";
14
15
  // Transport implementations
15
16
  export { StdioTransport, HttpTransport, SSETransport, StreamableHttpTransport, createTransport, } from "./transports.js";
17
+ // MCP Server (Code Buddy as a tool provider)
18
+ export { CodeBuddyMCPServer } from "./mcp-server.js";
16
19
  // Configuration management
17
20
  export { loadMCPConfig, saveMCPConfig, addMCPServer, removeMCPServer, getMCPServer, PREDEFINED_SERVERS, saveProjectMCPConfig, createMCPConfigTemplate, hasProjectMCPConfig, getMCPConfigPaths, } from "./config.js";
18
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,iCAAiC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,iDAAiD;AACjD,OAAO,EACL,SAAS,EAET,YAAY,EACZ,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,4BAA4B;AAC5B,OAAO,EAIL,cAAc,EACd,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB,2BAA2B;AAC3B,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAUH,iCAAiC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,iDAAiD;AACjD,OAAO,EACL,SAAS,EAET,YAAY,EACZ,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,4BAA4B;AAC5B,OAAO,EAIL,cAAc,EACd,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB,6CAA6C;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGrD,2BAA2B;AAC3B,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * MCP Tool Auto-Discovery
3
+ *
4
+ * Defers loading of MCP tool descriptions when they would consume
5
+ * too much of the context window, using on-demand search instead.
6
+ */
7
+ export interface MCPToolInfo {
8
+ name: string;
9
+ description: string;
10
+ server: string;
11
+ inputSchema: Record<string, unknown>;
12
+ }
13
+ export declare class MCPAutoDiscovery {
14
+ private thresholdPercentage;
15
+ private loadedTools;
16
+ private deferredTools;
17
+ /**
18
+ * Determine if tool descriptions should be deferred
19
+ * Returns true if total description length exceeds threshold % of context window
20
+ */
21
+ shouldDeferLoading(toolDescriptions: string[], contextWindowSize: number): boolean;
22
+ /**
23
+ * Search deferred tools by relevance to a query
24
+ */
25
+ searchTools(query: string, allTools: MCPToolInfo[]): MCPToolInfo[];
26
+ /**
27
+ * Get currently loaded tool definitions
28
+ */
29
+ getLoadedTools(): MCPToolInfo[];
30
+ /**
31
+ * Get deferred tool names
32
+ */
33
+ getDeferredTools(): string[];
34
+ /**
35
+ * Set the threshold percentage for deferring
36
+ */
37
+ setThreshold(percentage: number): void;
38
+ /**
39
+ * Get current threshold
40
+ */
41
+ getThreshold(): number;
42
+ /**
43
+ * Partition tools into loaded and deferred sets
44
+ */
45
+ partitionTools(tools: MCPToolInfo[], contextWindowSize: number): {
46
+ loaded: MCPToolInfo[];
47
+ deferred: MCPToolInfo[];
48
+ };
49
+ }