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
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env node
2
+ const { join } = require("path");
3
+ const { spawnSync } = require("child_process");
4
+ const { platform } = require("os");
5
+
6
+ const exe = join(__dirname, platform() === "win32" ? "codecane.exe" : "codecane");
7
+
8
+ const res = spawnSync(exe, process.argv.slice(2), {
9
+ stdio: "inherit",
10
+ env: { ...process.env, CODECANE_VERSION: require("../package.json").version },
11
+ });
12
+
13
+ if (res.error) {
14
+ console.error("\n❌ CodeCane failed to start");
15
+ console.error(" Binary attempted:", exe);
16
+ console.error(" Reason:", res.error.message);
17
+
18
+ process.exit(1);
19
+ }
20
+
21
+ process.exit(res.status ?? 1);
package/package.json CHANGED
@@ -1,79 +1,32 @@
1
1
  {
2
2
  "name": "codecane",
3
- "version": "1.0.280",
4
- "description": "AI dev assistant",
5
- "license": "MIT",
6
- "main": "dist/index.js",
7
- "types": "dist/index.d.ts",
3
+ "version": "1.0.281",
4
+ "description": "Thin npm wrapper that installs the CodeCane binary",
8
5
  "bin": {
9
- "codecane": "dist/index.js"
6
+ "codecane": "bin/launcher.js"
10
7
  },
11
8
  "scripts": {
12
- "prepublishOnly": "nx build npm-app && bun run clean-package.js",
13
- "postpublish": "echo \"const fs=require('fs');fs.copyFileSync('temp.package.json','package.json');fs.unlinkSync('temp.package.json');\" | bun run -",
14
- "format": "prettier --write \"**/*.{ts,tsx,json,md}\"",
15
- "test": "jest",
16
- "start-js": "nx clean npm-app && nx build npm-app && bun run with-env -- sh -c 'TS_NODE_BASEURL=./dist node -r tsconfig-paths/register dist/index.js ..'",
17
- "start": "nx build npm-app > /dev/null && bun run with-env -- sh -c 'TS_NODE_PROJECT=./tsconfig.json ts-node -r tsconfig-paths/register src/index.ts ..'",
18
- "start-dir": "bun run with-env -- ts-node -r tsconfig-paths/register src/index.ts",
19
- "with-env": "env-cmd -f ./loadEnv.js",
20
- "start-manifold": "bun run with-env -- ts-node -r tsconfig-paths/register src/index.ts ../../manifold",
21
- "start-litestar": "bun run with-env -- ts-node -r tsconfig-paths/register src/index.ts ../test/__mock-projects__/litestar",
22
- "start-jpcsp": "bun run with-env -- ts-node -r tsconfig-paths/register src/index.ts ../test/__mock-projects__/jpcsp",
23
- "start-vscode": "bun run with-env -- ts-node -r tsconfig-paths/register src/index.ts ../test/__mock-projects__/vscode",
24
- "start-nushell": "bun run with-env -- ts-node -r tsconfig-paths/register src/index.ts ../test/__mock-projects__/nushell",
25
- "start-prod": "bun run with-env -- ts-node -r tsconfig-paths/register src/index.ts",
26
- "typecheck-this-package": "tsc --noEmit && tsc-alias",
27
- "typecheck-only": "tsc --noEmit && tsc-alias",
28
- "build": "nx build npm-app"
9
+ "postinstall": "node scripts/postinstall.js"
29
10
  },
30
- "files": [
31
- "dist",
32
- "README.md"
33
- ],
34
11
  "engines": {
35
- "node": ">=18"
12
+ "node": ">=14"
36
13
  },
14
+ "os": [
15
+ "darwin",
16
+ "linux",
17
+ "win32"
18
+ ],
19
+ "cpu": [
20
+ "x64",
21
+ "arm64"
22
+ ],
23
+ "keywords": [
24
+ "cli",
25
+ "installer"
26
+ ],
27
+ "license": "MIT",
37
28
  "dependencies": {
38
- "code-map": "1.0.0",
39
- "@types/diff": "5.2.1",
40
- "@vscode/ripgrep": "1.15.9",
41
- "axios": "1.7.4",
42
- "commander": "^13.1.0",
43
- "diff": "5.2.0",
44
- "env-cmd": "^10.1.0",
45
- "ignore": "7.0.3",
46
- "isomorphic-git": "^1.29.0",
47
- "pino": "9.4.0",
48
- "jsonc-parser": "^3.3.1",
49
- "lodash": "*",
50
- "nanoid": "5.0.7",
51
- "onetime": "5.1.2",
52
- "picocolors": "1.1.0",
53
- "posthog-node": "^4.14.0",
54
- "puppeteer-core": "^24.2.0",
55
- "systeminformation": "5.23.4",
56
- "tree-sitter": "0.21.1",
57
- "tree-sitter-c": "0.23.0",
58
- "tree-sitter-c-sharp": "0.23.0",
59
- "tree-sitter-cpp": "0.23.0",
60
- "tree-sitter-go": "0.23.1",
61
- "tree-sitter-java": "0.23.2",
62
- "tree-sitter-javascript": "0.23.0",
63
- "tree-sitter-php": "0.23.2",
64
- "tree-sitter-python": "0.23.2",
65
- "tree-sitter-ruby": "0.23.0",
66
- "tree-sitter-rust": "0.23.0",
67
- "tree-sitter-typescript": "0.23.0",
68
- "ts-pattern": "5.3.1",
69
- "ws": "8.18.0",
70
- "zod": "3.23.8"
71
- },
72
- "optionalDependencies": {
73
- "@homebridge/node-pty-prebuilt-multiarch": "0.12.0-beta.5"
74
- },
75
- "trustedDependencies": [
76
- "@homebridge/node-pty-prebuilt-multiarch",
77
- "@vscode/ripgrep"
78
- ]
29
+ "tar": "^6.2.0",
30
+ "unzipper": "^0.10.11"
31
+ }
79
32
  }
@@ -0,0 +1,103 @@
1
+ #!/usr/bin/env node
2
+ /* eslint-disable no-console */
3
+
4
+ const fs = require("fs");
5
+ const path = require("path");
6
+ const os = require("os");
7
+ const http = require("http");
8
+ const https = require("https");
9
+ const zlib = require("zlib");
10
+ const tar = require("tar");
11
+ const unzip = require("unzipper");
12
+ const { version } = require("../package.json");
13
+
14
+ // This placeholder will be replaced during deploy with the actual download base URL
15
+ const baseURL = `http://localhost:4000/v${version}`;
16
+
17
+ const platform = os.platform(); // darwin | linux | win32
18
+ const arch = os.arch(); // x64 | arm64
19
+ const isWin = platform === "win32";
20
+ const ext = isWin ? "zip" : "tar.gz";
21
+ const binary = isWin ? "codecane.exe" : "codecane";
22
+
23
+ const url = `${baseURL}/codecane-${platform}-${arch}.${ext}`;
24
+ const destDir = path.join(__dirname, "../bin");
25
+ const destPath = path.join(destDir, binary);
26
+
27
+ (async () => {
28
+ if (fs.existsSync(destPath)) {
29
+ console.log("CodeCane: binary already exists at", destPath);
30
+ return;
31
+ }
32
+
33
+ console.log("CodeCane: fetching from", url);
34
+ console.log("CodeCane: will extract to", destPath);
35
+ await fs.promises.mkdir(destDir, { recursive: true });
36
+
37
+ await new Promise((resolve, reject) => {
38
+ const get = url.startsWith("https:") ? https.get : http.get;
39
+
40
+ get(url, (res) => {
41
+ if (res.statusCode !== 200) {
42
+ reject(new Error(`HTTP ${res.statusCode} ${res.statusMessage}`));
43
+ return;
44
+ }
45
+
46
+ console.log("CodeCane: download started, status:", res.statusCode);
47
+
48
+ const onDone = () => {
49
+ console.log("CodeCane: extraction complete");
50
+ // List contents of bin directory
51
+ const files = fs.readdirSync(destDir);
52
+ console.log("CodeCane: contents of", destDir, ":", files);
53
+ resolve();
54
+ };
55
+ const onErr = (err) => {
56
+ console.error("CodeCane: extraction error:", err);
57
+ reject(err);
58
+ };
59
+
60
+ if (ext === "zip") {
61
+ console.log("CodeCane: extracting zip...");
62
+ res
63
+ .pipe(unzip.Extract({ path: destDir }))
64
+ .once("close", onDone)
65
+ .once("error", onErr);
66
+ } else {
67
+ console.log("CodeCane: extracting tar.gz...");
68
+ const gunzip = zlib.createGunzip();
69
+ const untar = tar
70
+ .x({ C: destDir, strip: 0 })
71
+ .once("close", onDone)
72
+ .once("error", onErr);
73
+
74
+ res.pipe(gunzip).pipe(untar);
75
+ }
76
+ }).on("error", (err) => {
77
+ console.error("CodeCane: download error:", err);
78
+ reject(err);
79
+ });
80
+ });
81
+
82
+ // verify before chmod
83
+ if (!fs.existsSync(destPath)) {
84
+ console.error("CodeCane: extraction finished but binary not found at", destPath);
85
+ console.error("CodeCane: contents of", destDir, ":", fs.readdirSync(destDir));
86
+ throw new Error(
87
+ `Extraction finished but ${destPath} does not exist.\n` +
88
+ 'Archive must contain a single top-level file named "' +
89
+ binary +
90
+ '".',
91
+ );
92
+ }
93
+
94
+ if (!isWin) {
95
+ console.log("CodeCane: setting executable permissions");
96
+ fs.chmodSync(destPath, 0o755);
97
+ }
98
+ console.log("CodeCane installed ✓");
99
+ })().catch((err) => {
100
+ console.error("CodeCane postinstall failed:", err.message);
101
+ console.error("You can retry with: npm rebuild codecane --force");
102
+ process.exit(1);
103
+ });
package/README.md DELETED
@@ -1,87 +0,0 @@
1
- # The most powerful coding agent
2
-
3
- Codebuff is a CLI tool that writes code for you.
4
-
5
- 1. Run `codebuff` from your project directory
6
- 2. Tell it what to do
7
- 3. It will read and write to files and run commands to produce the code you want
8
-
9
- Note: Codebuff will run commands in your terminal as it deems necessary to fulfill your request.
10
-
11
- ## Installation
12
-
13
- To install Codebuff, run:
14
-
15
- ```bash
16
- npm install -g codebuff
17
- ```
18
-
19
- (Use `sudo` if you get a permission error.)
20
-
21
- ## Usage
22
-
23
- After installation, you can start Codebuff by running:
24
-
25
- ```bash
26
- codebuff [project-directory]
27
- ```
28
-
29
- If no project directory is specified, Codebuff will use the current directory.
30
-
31
- You can also control the cost/quality tradeoff with these flags:
32
-
33
- ```bash
34
- codebuff --lite # Budget mode for more econonmical responses
35
- codebuff --max # Premium mode for higher quality responses (--o1 also works)
36
- ```
37
-
38
- After running `codebuff`, simply chat with it to say what coding task you want done.
39
-
40
- ## Features
41
-
42
- - Understands your whole codebase
43
- - Creates and edits multiple files based on your request
44
- - Can run your tests or type checker or linter; can install packages
45
- - It's powerful: ask Codebuff to keep working until it reaches a condition and it will.
46
-
47
- Our users regularly use Codebuff to implement new features, write unit tests, refactor code,write scripts, or give advice.
48
-
49
- ## Knowledge Files
50
-
51
- To unlock the full benefits of modern LLMs, we recommend storing knowledge alongside your code. Add a `knowledge.md` file anywhere in your project to provide helpful context, guidance, and tips for the LLM as it performs tasks for you.
52
-
53
- Codebuff can fluently read and write files, so it will add knowledge as it goes. You don't need to write knowledge manually!
54
-
55
- Some have said every change should be paired with a unit test. In 2024, every change should come with a knowledge update!
56
-
57
- ## Tips
58
-
59
- 1. Create a `knowledge.md` file and collect specific points of advice. The assistant will use this knowledge to improve its responses.
60
- 2. Type `undo` or `redo` to revert or reapply file changes from the conversation.
61
- 3. Press `Esc` or `Ctrl+C` while Codebuff is generating a response to stop it.
62
-
63
- ## Troubleshooting
64
-
65
- If you are getting permission errors during installation, try using sudo:
66
-
67
- ```
68
- sudo npm install -g codebuff
69
- ```
70
-
71
- Or, we recommend [installing node with a version manager](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm). See below.
72
-
73
- #### For Mac or Unix, use [nvm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm). Run:
74
-
75
- ```bash
76
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
77
- ```
78
-
79
- #### For Windows, use [nvm-windows](https://github.com/coreybutler/nvm-windows):
80
-
81
- Make sure to uninstall your existing node program. Then get this executable:
82
-
83
- [Download the release .exe](https://github.com/coreybutler/nvm-windows/releases)
84
-
85
- ## Feedback
86
-
87
- We value your input! Please email your feedback to `founders@codebuff.com`. Thank you for using Codebuff!
@@ -1,50 +0,0 @@
1
- import { ChildProcessByStdio, ChildProcessWithoutNullStreams, SpawnOptionsWithoutStdio } from 'child_process';
2
- import { ToolResult } from './common/types/agent-state';
3
- /**
4
- * Interface describing the information stored for each background process.
5
- */
6
- export interface BackgroundProcessInfo {
7
- pid: number;
8
- toolCallId: string;
9
- command: string;
10
- process: ChildProcessByStdio<any, any, any>;
11
- stdoutBuffer: string[];
12
- stderrBuffer: string[];
13
- status: 'running' | 'completed' | 'error';
14
- startTime: number;
15
- endTime: number | null;
16
- lastReportedStdoutLength: number;
17
- lastReportedStderrLength: number;
18
- lastReportedStatus: 'running' | 'completed' | 'error' | null;
19
- stdoutFile?: string;
20
- stderrFile?: string;
21
- }
22
- /**
23
- * Global map storing information about active and completed background processes.
24
- * Keyed by the OS-assigned Process ID (PID).
25
- */
26
- export declare const backgroundProcesses: Map<number, BackgroundProcessInfo>;
27
- /**
28
- * Formats a single background process's info into a string
29
- */
30
- export declare function getBackgroundProcessInfoString(info: BackgroundProcessInfo): string;
31
- /**
32
- * Gets updates from all background processes and updates tracking info
33
- */
34
- export declare function getBackgroundProcessUpdates(): ToolResult[];
35
- export declare function spawnAndTrack(command: string, args: string[] | undefined, options: SpawnOptionsWithoutStdio): ChildProcessWithoutNullStreams;
36
- export declare function sendKillSignalToAllBackgroundProcesses(): void;
37
- export declare function killAllBackgroundProcesses(): Promise<void>;
38
- /**
39
- * Cleans up stale lock files and attempts to kill orphaned processes found in the lock directory.
40
- * This function is intended to run on startup to handle cases where the application might have
41
- * exited uncleanly, leaving orphaned processes or lock files.
42
- *
43
- * @returns Object containing:
44
- * - shouldStartNewProcesses: boolean indicating if it's safe to start new processes
45
- * - cleanUpPromise: Promise that resolves when cleanup is complete
46
- */
47
- export declare function cleanupStoredProcesses(): {
48
- separateCodebuffInstanceRunning: boolean;
49
- cleanUpPromise: Promise<any>;
50
- };