codecane 1.0.280 → 1.0.281

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 (314) hide show
  1. package/bin/launcher.js +21 -0
  2. package/package.json +22 -69
  3. package/scripts/postinstall.js +103 -0
  4. package/README.md +0 -87
  5. package/dist/background-process-manager.d.ts +0 -50
  6. package/dist/background-process-manager.js +0 -359
  7. package/dist/background-process-manager.js.map +0 -1
  8. package/dist/browser-runner.d.ts +0 -35
  9. package/dist/browser-runner.js +0 -680
  10. package/dist/browser-runner.js.map +0 -1
  11. package/dist/chat-storage.d.ts +0 -2
  12. package/dist/chat-storage.js +0 -93
  13. package/dist/chat-storage.js.map +0 -1
  14. package/dist/checkpoints/checkpoint-manager.d.ts +0 -94
  15. package/dist/checkpoints/checkpoint-manager.js +0 -280
  16. package/dist/checkpoints/checkpoint-manager.js.map +0 -1
  17. package/dist/checkpoints/file-manager.d.ts +0 -72
  18. package/dist/checkpoints/file-manager.js +0 -294
  19. package/dist/checkpoints/file-manager.js.map +0 -1
  20. package/dist/cli-handlers/api-key.d.ts +0 -25
  21. package/dist/cli-handlers/api-key.js +0 -66
  22. package/dist/cli-handlers/api-key.js.map +0 -1
  23. package/dist/cli-handlers/checkpoint.d.ts +0 -18
  24. package/dist/cli-handlers/checkpoint.js +0 -195
  25. package/dist/cli-handlers/checkpoint.js.map +0 -1
  26. package/dist/cli-handlers/diff.d.ts +0 -2
  27. package/dist/cli-handlers/diff.js +0 -31
  28. package/dist/cli-handlers/diff.js.map +0 -1
  29. package/dist/cli-handlers/easter-egg.d.ts +0 -1
  30. package/dist/cli-handlers/easter-egg.js +0 -126
  31. package/dist/cli-handlers/easter-egg.js.map +0 -1
  32. package/dist/cli-handlers/inititalization-flow.d.ts +0 -1
  33. package/dist/cli-handlers/inititalization-flow.js +0 -24
  34. package/dist/cli-handlers/inititalization-flow.js.map +0 -1
  35. package/dist/cli.d.ts +0 -44
  36. package/dist/cli.js +0 -494
  37. package/dist/cli.js.map +0 -1
  38. package/dist/client.d.ts +0 -151
  39. package/dist/client.js +0 -835
  40. package/dist/client.js.map +0 -1
  41. package/dist/code-map/languages.d.ts +0 -13
  42. package/dist/code-map/languages.d.ts.map +0 -1
  43. package/dist/code-map/languages.js +0 -129
  44. package/dist/code-map/languages.js.map +0 -1
  45. package/dist/code-map/parse.d.ts +0 -12
  46. package/dist/code-map/parse.d.ts.map +0 -1
  47. package/dist/code-map/parse.js +0 -127
  48. package/dist/code-map/parse.js.map +0 -1
  49. package/dist/code-map/test-langs/test.d.ts +0 -12
  50. package/dist/code-map/test-langs/test.d.ts.map +0 -1
  51. package/dist/code-map/test-langs/test.js +0 -23
  52. package/dist/code-map/test-langs/test.js.map +0 -1
  53. package/dist/code-map/tree-sitter-queries/readme.md +0 -23
  54. package/dist/code-map/tree-sitter-queries/tree-sitter-c-tags.scm +0 -11
  55. package/dist/code-map/tree-sitter-queries/tree-sitter-c_sharp-tags.scm +0 -13
  56. package/dist/code-map/tree-sitter-queries/tree-sitter-cpp-tags.scm +0 -17
  57. package/dist/code-map/tree-sitter-queries/tree-sitter-go-tags.scm +0 -26
  58. package/dist/code-map/tree-sitter-queries/tree-sitter-java-tags.scm +0 -19
  59. package/dist/code-map/tree-sitter-queries/tree-sitter-javascript-tags.scm +0 -15
  60. package/dist/code-map/tree-sitter-queries/tree-sitter-php-tags.scm +0 -26
  61. package/dist/code-map/tree-sitter-queries/tree-sitter-python-tags.scm +0 -9
  62. package/dist/code-map/tree-sitter-queries/tree-sitter-ruby-tags.scm +0 -58
  63. package/dist/code-map/tree-sitter-queries/tree-sitter-rust-tags.scm +0 -26
  64. package/dist/code-map/tree-sitter-queries/tree-sitter-typescript-tags.scm +0 -15
  65. package/dist/code-map/tsconfig.tsbuildinfo +0 -1
  66. package/dist/common/actions.d.ts +0 -2592
  67. package/dist/common/actions.js +0 -144
  68. package/dist/common/actions.js.map +0 -1
  69. package/dist/common/analytics.d.ts +0 -4
  70. package/dist/common/analytics.js +0 -40
  71. package/dist/common/analytics.js.map +0 -1
  72. package/dist/common/api-keys/constants.d.ts +0 -8
  73. package/dist/common/api-keys/constants.js +0 -26
  74. package/dist/common/api-keys/constants.js.map +0 -1
  75. package/dist/common/api-keys/crypto.d.ts +0 -24
  76. package/dist/common/api-keys/crypto.js +0 -186
  77. package/dist/common/api-keys/crypto.js.map +0 -1
  78. package/dist/common/browser-actions.d.ts +0 -4415
  79. package/dist/common/browser-actions.js +0 -343
  80. package/dist/common/browser-actions.js.map +0 -1
  81. package/dist/common/constants/analytics-events.d.ts +0 -19
  82. package/dist/common/constants/analytics-events.js +0 -27
  83. package/dist/common/constants/analytics-events.js.map +0 -1
  84. package/dist/common/constants/grant-priorities.d.ts +0 -2
  85. package/dist/common/constants/grant-priorities.js +0 -10
  86. package/dist/common/constants/grant-priorities.js.map +0 -1
  87. package/dist/common/constants/tools.d.ts +0 -17
  88. package/dist/common/constants/tools.js +0 -45
  89. package/dist/common/constants/tools.js.map +0 -1
  90. package/dist/common/constants.d.ts +0 -134
  91. package/dist/common/constants.js +0 -180
  92. package/dist/common/constants.js.map +0 -1
  93. package/dist/common/db/drizzle.config.d.ts +0 -2
  94. package/dist/common/db/drizzle.config.js +0 -17
  95. package/dist/common/db/drizzle.config.js.map +0 -1
  96. package/dist/common/db/env.d.mts +0 -1
  97. package/dist/common/db/env.mjs +0 -26
  98. package/dist/common/db/env.mjs.map +0 -1
  99. package/dist/common/db/index.d.ts +0 -6
  100. package/dist/common/db/index.js +0 -35
  101. package/dist/common/db/index.js.map +0 -1
  102. package/dist/common/db/schema.d.ts +0 -1419
  103. package/dist/common/db/schema.js +0 -175
  104. package/dist/common/db/schema.js.map +0 -1
  105. package/dist/common/db/transaction.d.ts +0 -12
  106. package/dist/common/db/transaction.js +0 -36
  107. package/dist/common/db/transaction.js.map +0 -1
  108. package/dist/common/env.d.mts +0 -1
  109. package/dist/common/env.mjs +0 -40
  110. package/dist/common/env.mjs.map +0 -1
  111. package/dist/common/json-config/__tests__/__snapshots__/stringify-schema.test.js.snap +0 -119
  112. package/dist/common/json-config/__tests__/stringify-schema.test.d.ts +0 -1
  113. package/dist/common/json-config/__tests__/stringify-schema.test.js +0 -66
  114. package/dist/common/json-config/__tests__/stringify-schema.test.js.map +0 -1
  115. package/dist/common/json-config/constants.d.ts +0 -82
  116. package/dist/common/json-config/constants.js +0 -48
  117. package/dist/common/json-config/constants.js.map +0 -1
  118. package/dist/common/json-config/parser.d.ts +0 -7
  119. package/dist/common/json-config/parser.js +0 -51
  120. package/dist/common/json-config/parser.js.map +0 -1
  121. package/dist/common/json-config/stringify-schema.d.ts +0 -9
  122. package/dist/common/json-config/stringify-schema.js +0 -131
  123. package/dist/common/json-config/stringify-schema.js.map +0 -1
  124. package/dist/common/project-file-tree.d.ts +0 -11
  125. package/dist/common/project-file-tree.js +0 -200
  126. package/dist/common/project-file-tree.js.map +0 -1
  127. package/dist/common/types/agent-state.d.ts +0 -464
  128. package/dist/common/types/agent-state.js +0 -32
  129. package/dist/common/types/agent-state.js.map +0 -1
  130. package/dist/common/types/grant.d.ts +0 -2
  131. package/dist/common/types/grant.js +0 -10
  132. package/dist/common/types/grant.js.map +0 -1
  133. package/dist/common/types/message.d.ts +0 -311
  134. package/dist/common/types/message.js +0 -54
  135. package/dist/common/types/message.js.map +0 -1
  136. package/dist/common/types/referral.d.ts +0 -2
  137. package/dist/common/types/referral.js +0 -5
  138. package/dist/common/types/referral.js.map +0 -1
  139. package/dist/common/types/tools.d.ts +0 -5
  140. package/dist/common/types/tools.js +0 -3
  141. package/dist/common/types/tools.js.map +0 -1
  142. package/dist/common/types/usage.d.ts +0 -40
  143. package/dist/common/types/usage.js +0 -15
  144. package/dist/common/types/usage.js.map +0 -1
  145. package/dist/common/util/__tests__/messages.test.d.ts +0 -1
  146. package/dist/common/util/__tests__/messages.test.js +0 -70
  147. package/dist/common/util/__tests__/messages.test.js.map +0 -1
  148. package/dist/common/util/__tests__/saxy.test.d.ts +0 -1
  149. package/dist/common/util/__tests__/saxy.test.js +0 -387
  150. package/dist/common/util/__tests__/saxy.test.js.map +0 -1
  151. package/dist/common/util/__tests__/string.test.d.ts +0 -1
  152. package/dist/common/util/__tests__/string.test.js +0 -82
  153. package/dist/common/util/__tests__/string.test.js.map +0 -1
  154. package/dist/common/util/array.d.ts +0 -6
  155. package/dist/common/util/array.js +0 -32
  156. package/dist/common/util/array.js.map +0 -1
  157. package/dist/common/util/changes.d.ts +0 -7
  158. package/dist/common/util/changes.js +0 -78
  159. package/dist/common/util/changes.js.map +0 -1
  160. package/dist/common/util/credentials.d.ts +0 -25
  161. package/dist/common/util/credentials.js +0 -24
  162. package/dist/common/util/credentials.js.map +0 -1
  163. package/dist/common/util/currency.d.ts +0 -14
  164. package/dist/common/util/currency.js +0 -23
  165. package/dist/common/util/currency.js.map +0 -1
  166. package/dist/common/util/dates.d.ts +0 -10
  167. package/dist/common/util/dates.js +0 -22
  168. package/dist/common/util/dates.js.map +0 -1
  169. package/dist/common/util/file.d.ts +0 -159
  170. package/dist/common/util/file.js +0 -192
  171. package/dist/common/util/file.js.map +0 -1
  172. package/dist/common/util/git.d.ts +0 -6
  173. package/dist/common/util/git.js +0 -81
  174. package/dist/common/util/git.js.map +0 -1
  175. package/dist/common/util/logger.d.ts +0 -8
  176. package/dist/common/util/logger.js +0 -52
  177. package/dist/common/util/logger.js.map +0 -1
  178. package/dist/common/util/lru-cache.d.ts +0 -30
  179. package/dist/common/util/lru-cache.js +0 -68
  180. package/dist/common/util/lru-cache.js.map +0 -1
  181. package/dist/common/util/messages.d.ts +0 -9
  182. package/dist/common/util/messages.js +0 -69
  183. package/dist/common/util/messages.js.map +0 -1
  184. package/dist/common/util/min-heap.d.ts +0 -15
  185. package/dist/common/util/min-heap.js +0 -73
  186. package/dist/common/util/min-heap.js.map +0 -1
  187. package/dist/common/util/object.d.ts +0 -18
  188. package/dist/common/util/object.js +0 -91
  189. package/dist/common/util/object.js.map +0 -1
  190. package/dist/common/util/patch.d.ts +0 -1
  191. package/dist/common/util/patch.js +0 -215
  192. package/dist/common/util/patch.js.map +0 -1
  193. package/dist/common/util/promise.d.ts +0 -17
  194. package/dist/common/util/promise.js +0 -80
  195. package/dist/common/util/promise.js.map +0 -1
  196. package/dist/common/util/referral.d.ts +0 -1
  197. package/dist/common/util/referral.js +0 -6
  198. package/dist/common/util/referral.js.map +0 -1
  199. package/dist/common/util/saxy.d.ts +0 -164
  200. package/dist/common/util/saxy.js +0 -497
  201. package/dist/common/util/saxy.js.map +0 -1
  202. package/dist/common/util/string.d.ts +0 -61
  203. package/dist/common/util/string.js +0 -220
  204. package/dist/common/util/string.js.map +0 -1
  205. package/dist/common/util/stripe.d.ts +0 -3
  206. package/dist/common/util/stripe.js +0 -22
  207. package/dist/common/util/stripe.js.map +0 -1
  208. package/dist/common/util/sync-failure.d.ts +0 -1
  209. package/dist/common/util/sync-failure.js +0 -57
  210. package/dist/common/util/sync-failure.js.map +0 -1
  211. package/dist/common/websockets/websocket-client.d.ts +0 -42
  212. package/dist/common/websockets/websocket-client.js +0 -216
  213. package/dist/common/websockets/websocket-client.js.map +0 -1
  214. package/dist/common/websockets/websocket-schema.d.ts +0 -4876
  215. package/dist/common/websockets/websocket-schema.js +0 -55
  216. package/dist/common/websockets/websocket-schema.js.map +0 -1
  217. package/dist/config.d.ts +0 -4
  218. package/dist/config.js +0 -12
  219. package/dist/config.js.map +0 -1
  220. package/dist/create-template-project.d.ts +0 -1
  221. package/dist/create-template-project.js +0 -107
  222. package/dist/create-template-project.js.map +0 -1
  223. package/dist/credentials.d.ts +0 -4
  224. package/dist/credentials.js +0 -38
  225. package/dist/credentials.js.map +0 -1
  226. package/dist/dev-process-manager.d.ts +0 -10
  227. package/dist/dev-process-manager.js +0 -55
  228. package/dist/dev-process-manager.js.map +0 -1
  229. package/dist/display.d.ts +0 -9
  230. package/dist/display.js +0 -68
  231. package/dist/display.js.map +0 -1
  232. package/dist/fingerprint.d.ts +0 -1
  233. package/dist/fingerprint.js +0 -48
  234. package/dist/fingerprint.js.map +0 -1
  235. package/dist/index.d.ts +0 -2
  236. package/dist/index.js +0 -124
  237. package/dist/index.js.map +0 -1
  238. package/dist/menu.d.ts +0 -3
  239. package/dist/menu.js +0 -126
  240. package/dist/menu.js.map +0 -1
  241. package/dist/project-files.d.ts +0 -129
  242. package/dist/project-files.js +0 -556
  243. package/dist/project-files.js.map +0 -1
  244. package/dist/startup-process-handler.d.ts +0 -2
  245. package/dist/startup-process-handler.js +0 -21
  246. package/dist/startup-process-handler.js.map +0 -1
  247. package/dist/tool-handlers.d.ts +0 -30
  248. package/dist/tool-handlers.js +0 -245
  249. package/dist/tool-handlers.js.map +0 -1
  250. package/dist/types.d.ts +0 -15
  251. package/dist/types.js +0 -3
  252. package/dist/types.js.map +0 -1
  253. package/dist/update-codebuff.d.ts +0 -1
  254. package/dist/update-codebuff.js +0 -161
  255. package/dist/update-codebuff.js.map +0 -1
  256. package/dist/utils/__tests__/__snapshots__/background-process-manager.test.js.snap +0 -137
  257. package/dist/utils/__tests__/background-process-manager.test.d.ts +0 -1
  258. package/dist/utils/__tests__/background-process-manager.test.js +0 -327
  259. package/dist/utils/__tests__/background-process-manager.test.js.map +0 -1
  260. package/dist/utils/__tests__/file-paths.test.d.ts +0 -1
  261. package/dist/utils/__tests__/file-paths.test.js +0 -37
  262. package/dist/utils/__tests__/file-paths.test.js.map +0 -1
  263. package/dist/utils/__tests__/path.test.d.ts +0 -1
  264. package/dist/utils/__tests__/path.test.js +0 -37
  265. package/dist/utils/__tests__/path.test.js.map +0 -1
  266. package/dist/utils/__tests__/response-example-4-files.txt +0 -621
  267. package/dist/utils/__tests__/tool-renderers.test.d.ts +0 -1
  268. package/dist/utils/__tests__/tool-renderers.test.js +0 -51
  269. package/dist/utils/__tests__/tool-renderers.test.js.map +0 -1
  270. package/dist/utils/__tests__/xml-stream-parser.test.d.ts +0 -1
  271. package/dist/utils/__tests__/xml-stream-parser.test.js +0 -229
  272. package/dist/utils/__tests__/xml-stream-parser.test.js.map +0 -1
  273. package/dist/utils/analytics.d.ts +0 -6
  274. package/dist/utils/analytics.js +0 -83
  275. package/dist/utils/analytics.js.map +0 -1
  276. package/dist/utils/detect-shell.d.ts +0 -1
  277. package/dist/utils/detect-shell.js +0 -60
  278. package/dist/utils/detect-shell.js.map +0 -1
  279. package/dist/utils/file-paths.d.ts +0 -9
  280. package/dist/utils/file-paths.js +0 -24
  281. package/dist/utils/file-paths.js.map +0 -1
  282. package/dist/utils/git.d.ts +0 -2
  283. package/dist/utils/git.js +0 -40
  284. package/dist/utils/git.js.map +0 -1
  285. package/dist/utils/logger.d.ts +0 -21
  286. package/dist/utils/logger.js +0 -105
  287. package/dist/utils/logger.js.map +0 -1
  288. package/dist/utils/path.d.ts +0 -9
  289. package/dist/utils/path.js +0 -27
  290. package/dist/utils/path.js.map +0 -1
  291. package/dist/utils/spinner.d.ts +0 -11
  292. package/dist/utils/spinner.js +0 -87
  293. package/dist/utils/spinner.js.map +0 -1
  294. package/dist/utils/system-info.d.ts +0 -8
  295. package/dist/utils/system-info.js +0 -22
  296. package/dist/utils/system-info.js.map +0 -1
  297. package/dist/utils/terminal.d.ts +0 -43
  298. package/dist/utils/terminal.js +0 -546
  299. package/dist/utils/terminal.js.map +0 -1
  300. package/dist/utils/tool-renderers.d.ts +0 -16
  301. package/dist/utils/tool-renderers.js +0 -163
  302. package/dist/utils/tool-renderers.js.map +0 -1
  303. package/dist/utils/xml-stream-parser.d.ts +0 -9
  304. package/dist/utils/xml-stream-parser.js +0 -128
  305. package/dist/utils/xml-stream-parser.js.map +0 -1
  306. package/dist/web-scraper.d.ts +0 -3
  307. package/dist/web-scraper.js +0 -57
  308. package/dist/web-scraper.js.map +0 -1
  309. package/dist/workers/checkpoint-worker.d.ts +0 -1
  310. package/dist/workers/checkpoint-worker.js +0 -48
  311. package/dist/workers/checkpoint-worker.js.map +0 -1
  312. package/dist/workers/project-context.d.ts +0 -1
  313. package/dist/workers/project-context.js +0 -20
  314. package/dist/workers/project-context.js.map +0 -1
@@ -1,245 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.handleToolCall = exports.toolHandlers = exports.handleCodeSearch = exports.handleRunTerminalCommand = exports.handleScrapeWebPage = exports.handleUpdateFile = void 0;
27
- const child_process_1 = require("child_process");
28
- const path = __importStar(require("path"));
29
- const ripgrep_1 = require("@vscode/ripgrep");
30
- const actions_1 = require("./common/actions");
31
- const browser_actions_1 = require("./common/browser-actions");
32
- const changes_1 = require("./common/util/changes");
33
- const string_1 = require("./common/util/string");
34
- const picocolors_1 = require("picocolors");
35
- const browser_runner_1 = require("./browser-runner");
36
- const project_files_1 = require("./project-files");
37
- const spinner_1 = require("./utils/spinner");
38
- const terminal_1 = require("./utils/terminal");
39
- const web_scraper_1 = require("./web-scraper");
40
- const handleUpdateFile = async (parameters, _id) => {
41
- const projectPath = (0, project_files_1.getProjectRoot)();
42
- const fileChange = actions_1.FileChangeSchema.parse(parameters);
43
- const lines = fileChange.content.split('\n');
44
- const { created, modified, ignored } = (0, changes_1.applyChanges)(projectPath, [fileChange]);
45
- let result = [];
46
- for (const file of created) {
47
- const counts = `(${(0, picocolors_1.green)(`+${lines.length}`)})`;
48
- result.push(`Wrote to ${file} successfully.`);
49
- console.log((0, picocolors_1.green)(`- Created ${file} ${counts}`));
50
- }
51
- for (const file of modified) {
52
- // Calculate added/deleted lines from the diff content
53
- let addedLines = 0;
54
- let deletedLines = 0;
55
- lines.forEach((line) => {
56
- if (line.startsWith('+')) {
57
- addedLines++;
58
- }
59
- else if (line.startsWith('-')) {
60
- deletedLines++;
61
- }
62
- });
63
- const counts = `(${(0, picocolors_1.green)(`+${addedLines}`)}, ${(0, picocolors_1.red)(`-${deletedLines}`)})`;
64
- result.push(`Wrote to ${file} successfully.`);
65
- console.log((0, picocolors_1.green)(`- Updated ${file} ${counts}`));
66
- }
67
- for (const file of ignored) {
68
- result.push(`Failed to write to ${file}; file is ignored by .gitignore or .codebuffignore`);
69
- }
70
- return result.join('\n');
71
- };
72
- exports.handleUpdateFile = handleUpdateFile;
73
- const handleScrapeWebPage = async (parameters) => {
74
- const { url } = parameters;
75
- const content = await (0, web_scraper_1.scrapeWebPage)(url);
76
- if (!content) {
77
- return `<web_scraping_error url="${url}">Failed to scrape the web page.</web_scraping_error>`;
78
- }
79
- return `<web_scraped_content url="${url}">${content}</web_scraped_content>`;
80
- };
81
- exports.handleScrapeWebPage = handleScrapeWebPage;
82
- const handleRunTerminalCommand = async (parameters, id) => {
83
- const { command, mode = 'assistant', process_type = 'SYNC', timeout_seconds = 30, } = parameters;
84
- return (0, terminal_1.runTerminalCommand)(id, command, mode, process_type.toUpperCase(), timeout_seconds);
85
- };
86
- exports.handleRunTerminalCommand = handleRunTerminalCommand;
87
- const handleCodeSearch = async (parameters, _id) => {
88
- const projectPath = (0, project_files_1.getProjectRoot)();
89
- return new Promise((resolve) => {
90
- let stdout = ' const toolResult = await h';
91
- let stderr = '';
92
- const basename = path.basename(projectPath);
93
- const pattern = parameters.pattern.replace(/"/g, '');
94
- const command = `${path.resolve(ripgrep_1.rgPath)} "${pattern}" .`;
95
- console.log();
96
- console.log((0, picocolors_1.green)(`Searching ${basename} for "${pattern}":`));
97
- const childProcess = (0, child_process_1.spawn)(command, {
98
- cwd: projectPath,
99
- shell: true,
100
- });
101
- childProcess.stdout.on('data', (data) => {
102
- stdout += data.toString();
103
- });
104
- childProcess.stderr.on('data', (data) => {
105
- stderr += data.toString();
106
- });
107
- childProcess.on('close', (code) => {
108
- const lines = stdout.split('\n').filter((line) => line.trim());
109
- const maxResults = 3;
110
- const previewResults = lines.slice(0, maxResults);
111
- if (previewResults.length > 0) {
112
- console.log(previewResults.join('\n'));
113
- if (lines.length > maxResults) {
114
- console.log('...');
115
- }
116
- }
117
- console.log((0, picocolors_1.green)(`Found ${lines.length} results`));
118
- const truncatedStdout = (0, string_1.truncateStringWithMessage)({
119
- str: stdout,
120
- maxLength: 10000,
121
- });
122
- const truncatedStderr = (0, string_1.truncateStringWithMessage)({
123
- str: stderr,
124
- maxLength: 1000,
125
- });
126
- resolve(formatResult(truncatedStdout, truncatedStderr, 'Code search completed', code));
127
- });
128
- childProcess.on('error', (error) => {
129
- resolve(`<terminal_command_error>Failed to execute ripgrep: ${error.message}</terminal_command_error>`);
130
- });
131
- });
132
- };
133
- exports.handleCodeSearch = handleCodeSearch;
134
- function formatResult(stdout, stderr, status, exitCode) {
135
- let result = '<terminal_command_result>\n';
136
- result += `<stdout>${stdout}</stdout>\n`;
137
- if (stderr !== undefined) {
138
- result += `<stderr>${stderr}</stderr>\n`;
139
- }
140
- result += `<status>${status}</status>\n`;
141
- if (exitCode !== null) {
142
- result += `<exit_code>${exitCode}</exit_code>\n`;
143
- }
144
- result += '</terminal_command_result>';
145
- return result;
146
- }
147
- exports.toolHandlers = {
148
- write_file: exports.handleUpdateFile,
149
- str_replace: exports.handleUpdateFile,
150
- create_plan: exports.handleUpdateFile,
151
- scrape_web_page: exports.handleScrapeWebPage,
152
- run_terminal_command: ((parameters, id) => (0, exports.handleRunTerminalCommand)(parameters, id).then((result) => result.result)),
153
- code_search: exports.handleCodeSearch,
154
- end_turn: async () => {
155
- return '';
156
- },
157
- browser_logs: async (params, _id) => {
158
- spinner_1.Spinner.get().start();
159
- let response;
160
- try {
161
- const action = browser_actions_1.BrowserActionSchema.parse(params);
162
- response = await (0, browser_runner_1.handleBrowserInstruction)(action);
163
- }
164
- catch (error) {
165
- const errorMessage = error instanceof Error ? error.message : String(error);
166
- console.log('Small hiccup, one sec...');
167
- return JSON.stringify({
168
- success: false,
169
- error: `Browser action validation failed: ${errorMessage}`,
170
- logs: [
171
- {
172
- type: 'error',
173
- message: `Browser action validation failed: ${errorMessage}`,
174
- timestamp: Date.now(),
175
- source: 'tool',
176
- },
177
- ],
178
- });
179
- }
180
- finally {
181
- spinner_1.Spinner.get().stop();
182
- }
183
- // Log any browser errors
184
- if (!response.success && response.error) {
185
- console.error((0, picocolors_1.red)(`Browser action failed: ${response.error}`));
186
- }
187
- if (response.logs) {
188
- response.logs.forEach((log) => {
189
- if (log.source === 'tool') {
190
- switch (log.type) {
191
- case 'error':
192
- console.error((0, picocolors_1.red)(log.message));
193
- break;
194
- case 'warning':
195
- console.warn((0, picocolors_1.yellow)(log.message));
196
- break;
197
- case 'info':
198
- console.info((0, picocolors_1.cyan)(log.message));
199
- break;
200
- default:
201
- console.log((0, picocolors_1.cyan)(log.message));
202
- }
203
- }
204
- });
205
- }
206
- return JSON.stringify(response);
207
- },
208
- };
209
- const handleToolCall = async (toolCall) => {
210
- const { name, parameters } = toolCall;
211
- const handler = exports.toolHandlers[name];
212
- if (!handler) {
213
- throw new Error(`No handler found for tool: ${name}`);
214
- }
215
- const content = await handler(parameters, toolCall.id);
216
- if (typeof content !== 'string') {
217
- throw new Error(`Tool call ${name} not supported. It returned non-string content.`);
218
- }
219
- // TODO: Add support for screenshots.
220
- // const toolResultMessage: Message = {
221
- // role: 'user',
222
- // content: match(content)
223
- // .with({ screenshots: P.not(P.nullish) }, (response) => [
224
- // ...(response.screenshots.pre ? [response.screenshots.pre] : []),
225
- // {
226
- // type: 'text' as const,
227
- // text:
228
- // JSON.stringify({
229
- // ...response,
230
- // screenshots: undefined,
231
- // }),
232
- // },
233
- // response.screenshots.post,
234
- // ])
235
- // .with(P.string, (str) => str)
236
- // .otherwise((val) => JSON.stringify(val)),
237
- // }
238
- return {
239
- name,
240
- result: content,
241
- id: toolCall.id,
242
- };
243
- };
244
- exports.handleToolCall = handleToolCall;
245
- //# sourceMappingURL=tool-handlers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-handlers.js","sourceRoot":"","sources":["../src/tool-handlers.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts DELETED
@@ -1,15 +0,0 @@
1
- import { CostMode } from './common/constants';
2
- export type GitCommand = 'stage' | undefined;
3
- export interface CliOptions {
4
- initialInput?: string;
5
- git: GitCommand;
6
- costMode: CostMode;
7
- runInitFlow?: boolean;
8
- model?: string;
9
- }
10
- /**
11
- * Utility type to make specific properties nullable
12
- */
13
- export type MakeNullable<T, K extends keyof T> = {
14
- [P in keyof T]: P extends K ? T[P] | null : T[P];
15
- };
package/dist/types.js DELETED
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- export declare function updateCodebuff(): Promise<void>;
@@ -1,161 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.updateCodebuff = updateCodebuff;
7
- const child_process_1 = require("child_process");
8
- const picocolors_1 = require("picocolors");
9
- const package_json_1 = __importDefault(require("../package.json"));
10
- const background_process_manager_1 = require("./background-process-manager");
11
- const config_1 = require("./config");
12
- const analytics_1 = require("./utils/analytics");
13
- const web_scraper_1 = require("./web-scraper");
14
- async function updateCodebuff() {
15
- if (!config_1.isProduction)
16
- return;
17
- const latestVersion = await getCodebuffNpmVersion();
18
- const isUpToDate = isNpmUpToDate(package_json_1.default.version, latestVersion);
19
- if (!isUpToDate) {
20
- const installerInfo = detectInstaller();
21
- if (!installerInfo) {
22
- console.log((0, picocolors_1.yellow)("There's a new version available! Please update Codebuff to prevent errors (run `npm install -g codebuff` to update)."));
23
- return;
24
- }
25
- console.log((0, picocolors_1.green)(`Updating Codebuff using ${installerInfo.installer}...`));
26
- try {
27
- runUpdateCodebuff(installerInfo);
28
- await (0, background_process_manager_1.killAllBackgroundProcesses)();
29
- (0, analytics_1.flushAnalytics)();
30
- console.log('\n' + (0, picocolors_1.green)('Codebuff updated successfully.'));
31
- console.log('\n' +
32
- (0, picocolors_1.green)('Please restart by running `codebuff` to use the new version.'));
33
- process.exit(0);
34
- }
35
- catch (error) {
36
- console.error('Failed to update Codebuff.');
37
- }
38
- }
39
- }
40
- async function getCodebuffNpmVersion() {
41
- try {
42
- const result = (0, child_process_1.execSync)('npm view codebuff version', {
43
- encoding: 'utf-8',
44
- stdio: 'pipe', // Suppress all output
45
- });
46
- const versionMatch = result.match(/(\d+\.\d+\.\d+)/);
47
- if (versionMatch) {
48
- return versionMatch[1];
49
- }
50
- }
51
- catch (error) { }
52
- // Fallback to web scraping if npm command fails
53
- const url = 'https://www.npmjs.com/package/codebuff';
54
- const content = await (0, web_scraper_1.scrapeWebPage)(url);
55
- const latestVersionRegex = /"latest":"(\d+\.\d+\.\d+)"/;
56
- const match = content.match(latestVersionRegex);
57
- return match ? match[1] : '';
58
- }
59
- function isNpmUpToDate(currentVersion, latestVersion) {
60
- const current = currentVersion.split('.').map(Number);
61
- const latest = latestVersion.split('.').map(Number);
62
- for (let i = 0; i < 3; i++) {
63
- if (current[i] < latest[i])
64
- return false;
65
- if (current[i] > latest[i])
66
- return true;
67
- }
68
- return true;
69
- }
70
- function detectInstaller() {
71
- let codebuffLocation = '';
72
- try {
73
- if (process.platform === 'win32') {
74
- codebuffLocation = (0, child_process_1.execSync)('where codebuff').toString().trim();
75
- }
76
- else {
77
- codebuffLocation = (0, child_process_1.execSync)('which codebuff').toString().trim();
78
- }
79
- }
80
- catch (error) {
81
- // Continue with empty location - could be a local installation
82
- }
83
- const binPath = (codebuffLocation.split('\n')[0] ?? '').replace(/\\/g, '/');
84
- const npmUserAgent = process.env.npm_config_user_agent ?? '';
85
- // Check for package manager script environments
86
- const isYarnScript = process.env.npm_lifecycle_script?.includes('yarn');
87
- const isPnpmScript = process.env.npm_lifecycle_script?.includes('pnpm');
88
- const isBunScript = process.env.npm_lifecycle_script?.includes('bun');
89
- const isNpmScript = process.env.npm_execpath?.endsWith('npm-cli.js') ||
90
- npmUserAgent.includes('npm');
91
- // Mac: /Users/jahooma/.yarn/bin/codebuff
92
- if (isYarnScript || binPath.includes('.yarn')) {
93
- return {
94
- installer: 'yarn',
95
- scope: binPath.includes('.yarn') ? 'global' : 'local',
96
- };
97
- }
98
- // Windows: ~/AppData/Local/pnpm/store
99
- // macOS: ~/Library/pnpm/store
100
- // Linux: ~/.local/share/pnpm/store
101
- if (isPnpmScript || binPath.includes('pnpm')) {
102
- return {
103
- installer: 'pnpm',
104
- scope: binPath.includes('pnpm') ? 'global' : 'local',
105
- };
106
- }
107
- // Mac: /Users/jahooma/.bun/install/cache
108
- if (isBunScript || binPath.includes('.bun')) {
109
- return {
110
- installer: 'bun',
111
- scope: binPath.includes('.bun') ? 'global' : 'local',
112
- };
113
- }
114
- // /usr/local/lib/node_modules on macOS/Linux or %AppData%\npm/node_modules on Windows
115
- // OR: .nvm/versions/node/v18.17.0/bin/codebuff on mac
116
- // OR /Users/stefan/Library/Application Support/Herd/config/nvm/versions/node/v22.9.0/bin/codebuff
117
- // OR ~/.config/nvm/versions/node/v22.11.0/bin/codebuff
118
- // OR /opt/homebrew/bin/codebuff
119
- const isGlobalNpmPath = binPath.includes('npm') ||
120
- binPath.startsWith('/usr/') ||
121
- binPath.includes('nvm/') ||
122
- binPath.includes('homebrew/bin');
123
- if (isNpmScript || isGlobalNpmPath) {
124
- return {
125
- installer: 'npm',
126
- scope: isGlobalNpmPath ? 'global' : 'local',
127
- };
128
- }
129
- return undefined;
130
- }
131
- function runUpdateCodebuff(installerInfo) {
132
- let command;
133
- const isGlobal = installerInfo.scope === 'global';
134
- switch (installerInfo.installer) {
135
- case 'npm':
136
- command = `npm ${isGlobal ? 'install -g' : 'install'} codebuff@latest`;
137
- break;
138
- case 'yarn':
139
- command = `yarn ${isGlobal ? 'global add' : 'add'} codebuff@latest`;
140
- break;
141
- case 'pnpm':
142
- command = `pnpm add ${isGlobal ? '-g' : ''} codebuff@latest`;
143
- break;
144
- case 'bun':
145
- command = `bun add ${isGlobal ? '-g' : ''} codebuff@latest`;
146
- break;
147
- default:
148
- throw new Error(`Unsupported installer: ${installerInfo.installer} ${installerInfo.scope}`);
149
- }
150
- (0, child_process_1.execSync)(command, { stdio: 'inherit' });
151
- }
152
- function restartCodebuff() {
153
- const child = (0, child_process_1.spawn)('codebuff', [...process.argv.slice(2), '--post-update'], {
154
- detached: false,
155
- stdio: 'inherit',
156
- });
157
- child.on('exit', (code) => {
158
- process.exit(code ?? 0);
159
- });
160
- }
161
- //# sourceMappingURL=update-codebuff.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-codebuff.js","sourceRoot":"","sources":["../src/update-codebuff.ts"],"names":[],"mappings":"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"}
@@ -1,137 +0,0 @@
1
- // Bun Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`getBackgroundProcessInfoString formats a running process correctly 1`] = `
4
- "<background_process>
5
- <process_id>123</process_id>
6
- <command>npm test</command>
7
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
8
- <duration_ms>2000</duration_ms>
9
- <stdout>test output</stdout>
10
- <stderr>test error</stderr>
11
- <status>running</status>
12
- </background_process>"
13
- `;
14
-
15
- exports[`getBackgroundProcessInfoString formats a completed process correctly 1`] = `
16
- "<background_process>
17
- <process_id>456</process_id>
18
- <command>npm build</command>
19
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
20
- <duration_ms>1000</duration_ms>
21
- <stdout>build successful</stdout>
22
- <status>completed</status>
23
- <exit_code>0</exit_code>
24
- </background_process>"
25
- `;
26
-
27
- exports[`getBackgroundProcessInfoString formats an errored process correctly 1`] = `
28
- "<background_process>
29
- <process_id>789</process_id>
30
- <command>invalid-command</command>
31
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
32
- <duration_ms>1500</duration_ms>
33
- <stderr>command not found</stderr>
34
- <status>error</status>
35
- <exit_code>1</exit_code>
36
- <signal_code>SIGTERM</signal_code>
37
- </background_process>"
38
- `;
39
-
40
- exports[`getBackgroundProcessInfoString handles new output since last report 1`] = `
41
- "<background_process>
42
- <process_id>102</process_id>
43
- <command>echo test</command>
44
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
45
- <duration_ms>1000</duration_ms>
46
- <stdout>[PREVIOUS OUTPUT]
47
- more output</stdout>
48
- <status>completed</status>
49
- </background_process>"
50
- `;
51
-
52
- exports[`getBackgroundProcessInfoString handles no new content 1`] = `
53
- "<background_process>
54
- <process_id>103</process_id>
55
- <command>echo test</command>
56
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
57
- <duration_ms>1000</duration_ms>
58
- <status>running</status>
59
- </background_process>"
60
- `;
61
-
62
- exports[`getBackgroundProcessInfoString handles new stderr without when no previous stderr 1`] = `
63
- "<background_process>
64
- <process_id>104</process_id>
65
- <command>echo test</command>
66
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
67
- <duration_ms>1000</duration_ms>
68
- <stderr>new error</stderr>
69
- <status>error</status>
70
- </background_process>"
71
- `;
72
-
73
- exports[`getBackgroundProcessInfoString handles new stdout without when no previous stdout 1`] = `
74
- "<background_process>
75
- <process_id>105</process_id>
76
- <command>echo test</command>
77
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
78
- <duration_ms>2000</duration_ms>
79
- <stdout>first output</stdout>
80
- <status>running</status>
81
- </background_process>"
82
- `;
83
-
84
- exports[`getBackgroundProcessInfoString reports completed process with new stderr even if stdout unchanged 1`] = `
85
- "<background_process>
86
- <process_id>106</process_id>
87
- <command>echo test</command>
88
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
89
- <duration_ms>1000</duration_ms>
90
- <stderr>new error</stderr>
91
- <status>completed</status>
92
- </background_process>"
93
- `;
94
-
95
- exports[`getBackgroundProcessInfoString reports completed process with new stdout even if stderr unchanged 1`] = `
96
- "<background_process>
97
- <process_id>107</process_id>
98
- <command>echo test</command>
99
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
100
- <duration_ms>1000</duration_ms>
101
- <stdout>[PREVIOUS OUTPUT]
102
- more</stdout>
103
- <status>completed</status>
104
- </background_process>"
105
- `;
106
-
107
- exports[`getBackgroundProcessInfoString reports process when status changes even without output changes 1`] = `
108
- "<background_process>
109
- <process_id>108</process_id>
110
- <command>echo test</command>
111
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
112
- <duration_ms>1000</duration_ms>
113
- <status>completed</status>
114
- </background_process>"
115
- `;
116
-
117
- exports[`getBackgroundProcessInfoString calculates duration from endTime when available 1`] = `
118
- "<background_process>
119
- <process_id>109</process_id>
120
- <command>echo test</command>
121
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
122
- <duration_ms>1500</duration_ms>
123
- <stdout>test</stdout>
124
- <status>completed</status>
125
- </background_process>"
126
- `;
127
-
128
- exports[`getBackgroundProcessInfoString calculates duration from current time when no endTime 1`] = `
129
- "<background_process>
130
- <process_id>110</process_id>
131
- <command>echo test</command>
132
- <start_time_utc>1970-01-01T00:00:01.000Z</start_time_utc>
133
- <duration_ms>2000</duration_ms>
134
- <stdout>test</stdout>
135
- <status>running</status>
136
- </background_process>"
137
- `;