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.
- package/bin/launcher.js +21 -0
- package/package.json +22 -69
- package/scripts/postinstall.js +103 -0
- package/README.md +0 -87
- package/dist/background-process-manager.d.ts +0 -50
- package/dist/background-process-manager.js +0 -359
- package/dist/background-process-manager.js.map +0 -1
- package/dist/browser-runner.d.ts +0 -35
- package/dist/browser-runner.js +0 -680
- package/dist/browser-runner.js.map +0 -1
- package/dist/chat-storage.d.ts +0 -2
- package/dist/chat-storage.js +0 -93
- package/dist/chat-storage.js.map +0 -1
- package/dist/checkpoints/checkpoint-manager.d.ts +0 -94
- package/dist/checkpoints/checkpoint-manager.js +0 -280
- package/dist/checkpoints/checkpoint-manager.js.map +0 -1
- package/dist/checkpoints/file-manager.d.ts +0 -72
- package/dist/checkpoints/file-manager.js +0 -294
- package/dist/checkpoints/file-manager.js.map +0 -1
- package/dist/cli-handlers/api-key.d.ts +0 -25
- package/dist/cli-handlers/api-key.js +0 -66
- package/dist/cli-handlers/api-key.js.map +0 -1
- package/dist/cli-handlers/checkpoint.d.ts +0 -18
- package/dist/cli-handlers/checkpoint.js +0 -195
- package/dist/cli-handlers/checkpoint.js.map +0 -1
- package/dist/cli-handlers/diff.d.ts +0 -2
- package/dist/cli-handlers/diff.js +0 -31
- package/dist/cli-handlers/diff.js.map +0 -1
- package/dist/cli-handlers/easter-egg.d.ts +0 -1
- package/dist/cli-handlers/easter-egg.js +0 -126
- package/dist/cli-handlers/easter-egg.js.map +0 -1
- package/dist/cli-handlers/inititalization-flow.d.ts +0 -1
- package/dist/cli-handlers/inititalization-flow.js +0 -24
- package/dist/cli-handlers/inititalization-flow.js.map +0 -1
- package/dist/cli.d.ts +0 -44
- package/dist/cli.js +0 -494
- package/dist/cli.js.map +0 -1
- package/dist/client.d.ts +0 -151
- package/dist/client.js +0 -835
- package/dist/client.js.map +0 -1
- package/dist/code-map/languages.d.ts +0 -13
- package/dist/code-map/languages.d.ts.map +0 -1
- package/dist/code-map/languages.js +0 -129
- package/dist/code-map/languages.js.map +0 -1
- package/dist/code-map/parse.d.ts +0 -12
- package/dist/code-map/parse.d.ts.map +0 -1
- package/dist/code-map/parse.js +0 -127
- package/dist/code-map/parse.js.map +0 -1
- package/dist/code-map/test-langs/test.d.ts +0 -12
- package/dist/code-map/test-langs/test.d.ts.map +0 -1
- package/dist/code-map/test-langs/test.js +0 -23
- package/dist/code-map/test-langs/test.js.map +0 -1
- package/dist/code-map/tree-sitter-queries/readme.md +0 -23
- package/dist/code-map/tree-sitter-queries/tree-sitter-c-tags.scm +0 -11
- package/dist/code-map/tree-sitter-queries/tree-sitter-c_sharp-tags.scm +0 -13
- package/dist/code-map/tree-sitter-queries/tree-sitter-cpp-tags.scm +0 -17
- package/dist/code-map/tree-sitter-queries/tree-sitter-go-tags.scm +0 -26
- package/dist/code-map/tree-sitter-queries/tree-sitter-java-tags.scm +0 -19
- package/dist/code-map/tree-sitter-queries/tree-sitter-javascript-tags.scm +0 -15
- package/dist/code-map/tree-sitter-queries/tree-sitter-php-tags.scm +0 -26
- package/dist/code-map/tree-sitter-queries/tree-sitter-python-tags.scm +0 -9
- package/dist/code-map/tree-sitter-queries/tree-sitter-ruby-tags.scm +0 -58
- package/dist/code-map/tree-sitter-queries/tree-sitter-rust-tags.scm +0 -26
- package/dist/code-map/tree-sitter-queries/tree-sitter-typescript-tags.scm +0 -15
- package/dist/code-map/tsconfig.tsbuildinfo +0 -1
- package/dist/common/actions.d.ts +0 -2592
- package/dist/common/actions.js +0 -144
- package/dist/common/actions.js.map +0 -1
- package/dist/common/analytics.d.ts +0 -4
- package/dist/common/analytics.js +0 -40
- package/dist/common/analytics.js.map +0 -1
- package/dist/common/api-keys/constants.d.ts +0 -8
- package/dist/common/api-keys/constants.js +0 -26
- package/dist/common/api-keys/constants.js.map +0 -1
- package/dist/common/api-keys/crypto.d.ts +0 -24
- package/dist/common/api-keys/crypto.js +0 -186
- package/dist/common/api-keys/crypto.js.map +0 -1
- package/dist/common/browser-actions.d.ts +0 -4415
- package/dist/common/browser-actions.js +0 -343
- package/dist/common/browser-actions.js.map +0 -1
- package/dist/common/constants/analytics-events.d.ts +0 -19
- package/dist/common/constants/analytics-events.js +0 -27
- package/dist/common/constants/analytics-events.js.map +0 -1
- package/dist/common/constants/grant-priorities.d.ts +0 -2
- package/dist/common/constants/grant-priorities.js +0 -10
- package/dist/common/constants/grant-priorities.js.map +0 -1
- package/dist/common/constants/tools.d.ts +0 -17
- package/dist/common/constants/tools.js +0 -45
- package/dist/common/constants/tools.js.map +0 -1
- package/dist/common/constants.d.ts +0 -134
- package/dist/common/constants.js +0 -180
- package/dist/common/constants.js.map +0 -1
- package/dist/common/db/drizzle.config.d.ts +0 -2
- package/dist/common/db/drizzle.config.js +0 -17
- package/dist/common/db/drizzle.config.js.map +0 -1
- package/dist/common/db/env.d.mts +0 -1
- package/dist/common/db/env.mjs +0 -26
- package/dist/common/db/env.mjs.map +0 -1
- package/dist/common/db/index.d.ts +0 -6
- package/dist/common/db/index.js +0 -35
- package/dist/common/db/index.js.map +0 -1
- package/dist/common/db/schema.d.ts +0 -1419
- package/dist/common/db/schema.js +0 -175
- package/dist/common/db/schema.js.map +0 -1
- package/dist/common/db/transaction.d.ts +0 -12
- package/dist/common/db/transaction.js +0 -36
- package/dist/common/db/transaction.js.map +0 -1
- package/dist/common/env.d.mts +0 -1
- package/dist/common/env.mjs +0 -40
- package/dist/common/env.mjs.map +0 -1
- package/dist/common/json-config/__tests__/__snapshots__/stringify-schema.test.js.snap +0 -119
- package/dist/common/json-config/__tests__/stringify-schema.test.d.ts +0 -1
- package/dist/common/json-config/__tests__/stringify-schema.test.js +0 -66
- package/dist/common/json-config/__tests__/stringify-schema.test.js.map +0 -1
- package/dist/common/json-config/constants.d.ts +0 -82
- package/dist/common/json-config/constants.js +0 -48
- package/dist/common/json-config/constants.js.map +0 -1
- package/dist/common/json-config/parser.d.ts +0 -7
- package/dist/common/json-config/parser.js +0 -51
- package/dist/common/json-config/parser.js.map +0 -1
- package/dist/common/json-config/stringify-schema.d.ts +0 -9
- package/dist/common/json-config/stringify-schema.js +0 -131
- package/dist/common/json-config/stringify-schema.js.map +0 -1
- package/dist/common/project-file-tree.d.ts +0 -11
- package/dist/common/project-file-tree.js +0 -200
- package/dist/common/project-file-tree.js.map +0 -1
- package/dist/common/types/agent-state.d.ts +0 -464
- package/dist/common/types/agent-state.js +0 -32
- package/dist/common/types/agent-state.js.map +0 -1
- package/dist/common/types/grant.d.ts +0 -2
- package/dist/common/types/grant.js +0 -10
- package/dist/common/types/grant.js.map +0 -1
- package/dist/common/types/message.d.ts +0 -311
- package/dist/common/types/message.js +0 -54
- package/dist/common/types/message.js.map +0 -1
- package/dist/common/types/referral.d.ts +0 -2
- package/dist/common/types/referral.js +0 -5
- package/dist/common/types/referral.js.map +0 -1
- package/dist/common/types/tools.d.ts +0 -5
- package/dist/common/types/tools.js +0 -3
- package/dist/common/types/tools.js.map +0 -1
- package/dist/common/types/usage.d.ts +0 -40
- package/dist/common/types/usage.js +0 -15
- package/dist/common/types/usage.js.map +0 -1
- package/dist/common/util/__tests__/messages.test.d.ts +0 -1
- package/dist/common/util/__tests__/messages.test.js +0 -70
- package/dist/common/util/__tests__/messages.test.js.map +0 -1
- package/dist/common/util/__tests__/saxy.test.d.ts +0 -1
- package/dist/common/util/__tests__/saxy.test.js +0 -387
- package/dist/common/util/__tests__/saxy.test.js.map +0 -1
- package/dist/common/util/__tests__/string.test.d.ts +0 -1
- package/dist/common/util/__tests__/string.test.js +0 -82
- package/dist/common/util/__tests__/string.test.js.map +0 -1
- package/dist/common/util/array.d.ts +0 -6
- package/dist/common/util/array.js +0 -32
- package/dist/common/util/array.js.map +0 -1
- package/dist/common/util/changes.d.ts +0 -7
- package/dist/common/util/changes.js +0 -78
- package/dist/common/util/changes.js.map +0 -1
- package/dist/common/util/credentials.d.ts +0 -25
- package/dist/common/util/credentials.js +0 -24
- package/dist/common/util/credentials.js.map +0 -1
- package/dist/common/util/currency.d.ts +0 -14
- package/dist/common/util/currency.js +0 -23
- package/dist/common/util/currency.js.map +0 -1
- package/dist/common/util/dates.d.ts +0 -10
- package/dist/common/util/dates.js +0 -22
- package/dist/common/util/dates.js.map +0 -1
- package/dist/common/util/file.d.ts +0 -159
- package/dist/common/util/file.js +0 -192
- package/dist/common/util/file.js.map +0 -1
- package/dist/common/util/git.d.ts +0 -6
- package/dist/common/util/git.js +0 -81
- package/dist/common/util/git.js.map +0 -1
- package/dist/common/util/logger.d.ts +0 -8
- package/dist/common/util/logger.js +0 -52
- package/dist/common/util/logger.js.map +0 -1
- package/dist/common/util/lru-cache.d.ts +0 -30
- package/dist/common/util/lru-cache.js +0 -68
- package/dist/common/util/lru-cache.js.map +0 -1
- package/dist/common/util/messages.d.ts +0 -9
- package/dist/common/util/messages.js +0 -69
- package/dist/common/util/messages.js.map +0 -1
- package/dist/common/util/min-heap.d.ts +0 -15
- package/dist/common/util/min-heap.js +0 -73
- package/dist/common/util/min-heap.js.map +0 -1
- package/dist/common/util/object.d.ts +0 -18
- package/dist/common/util/object.js +0 -91
- package/dist/common/util/object.js.map +0 -1
- package/dist/common/util/patch.d.ts +0 -1
- package/dist/common/util/patch.js +0 -215
- package/dist/common/util/patch.js.map +0 -1
- package/dist/common/util/promise.d.ts +0 -17
- package/dist/common/util/promise.js +0 -80
- package/dist/common/util/promise.js.map +0 -1
- package/dist/common/util/referral.d.ts +0 -1
- package/dist/common/util/referral.js +0 -6
- package/dist/common/util/referral.js.map +0 -1
- package/dist/common/util/saxy.d.ts +0 -164
- package/dist/common/util/saxy.js +0 -497
- package/dist/common/util/saxy.js.map +0 -1
- package/dist/common/util/string.d.ts +0 -61
- package/dist/common/util/string.js +0 -220
- package/dist/common/util/string.js.map +0 -1
- package/dist/common/util/stripe.d.ts +0 -3
- package/dist/common/util/stripe.js +0 -22
- package/dist/common/util/stripe.js.map +0 -1
- package/dist/common/util/sync-failure.d.ts +0 -1
- package/dist/common/util/sync-failure.js +0 -57
- package/dist/common/util/sync-failure.js.map +0 -1
- package/dist/common/websockets/websocket-client.d.ts +0 -42
- package/dist/common/websockets/websocket-client.js +0 -216
- package/dist/common/websockets/websocket-client.js.map +0 -1
- package/dist/common/websockets/websocket-schema.d.ts +0 -4876
- package/dist/common/websockets/websocket-schema.js +0 -55
- package/dist/common/websockets/websocket-schema.js.map +0 -1
- package/dist/config.d.ts +0 -4
- package/dist/config.js +0 -12
- package/dist/config.js.map +0 -1
- package/dist/create-template-project.d.ts +0 -1
- package/dist/create-template-project.js +0 -107
- package/dist/create-template-project.js.map +0 -1
- package/dist/credentials.d.ts +0 -4
- package/dist/credentials.js +0 -38
- package/dist/credentials.js.map +0 -1
- package/dist/dev-process-manager.d.ts +0 -10
- package/dist/dev-process-manager.js +0 -55
- package/dist/dev-process-manager.js.map +0 -1
- package/dist/display.d.ts +0 -9
- package/dist/display.js +0 -68
- package/dist/display.js.map +0 -1
- package/dist/fingerprint.d.ts +0 -1
- package/dist/fingerprint.js +0 -48
- package/dist/fingerprint.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js +0 -124
- package/dist/index.js.map +0 -1
- package/dist/menu.d.ts +0 -3
- package/dist/menu.js +0 -126
- package/dist/menu.js.map +0 -1
- package/dist/project-files.d.ts +0 -129
- package/dist/project-files.js +0 -556
- package/dist/project-files.js.map +0 -1
- package/dist/startup-process-handler.d.ts +0 -2
- package/dist/startup-process-handler.js +0 -21
- package/dist/startup-process-handler.js.map +0 -1
- package/dist/tool-handlers.d.ts +0 -30
- package/dist/tool-handlers.js +0 -245
- package/dist/tool-handlers.js.map +0 -1
- package/dist/types.d.ts +0 -15
- package/dist/types.js +0 -3
- package/dist/types.js.map +0 -1
- package/dist/update-codebuff.d.ts +0 -1
- package/dist/update-codebuff.js +0 -161
- package/dist/update-codebuff.js.map +0 -1
- package/dist/utils/__tests__/__snapshots__/background-process-manager.test.js.snap +0 -137
- package/dist/utils/__tests__/background-process-manager.test.d.ts +0 -1
- package/dist/utils/__tests__/background-process-manager.test.js +0 -327
- package/dist/utils/__tests__/background-process-manager.test.js.map +0 -1
- package/dist/utils/__tests__/file-paths.test.d.ts +0 -1
- package/dist/utils/__tests__/file-paths.test.js +0 -37
- package/dist/utils/__tests__/file-paths.test.js.map +0 -1
- package/dist/utils/__tests__/path.test.d.ts +0 -1
- package/dist/utils/__tests__/path.test.js +0 -37
- package/dist/utils/__tests__/path.test.js.map +0 -1
- package/dist/utils/__tests__/response-example-4-files.txt +0 -621
- package/dist/utils/__tests__/tool-renderers.test.d.ts +0 -1
- package/dist/utils/__tests__/tool-renderers.test.js +0 -51
- package/dist/utils/__tests__/tool-renderers.test.js.map +0 -1
- package/dist/utils/__tests__/xml-stream-parser.test.d.ts +0 -1
- package/dist/utils/__tests__/xml-stream-parser.test.js +0 -229
- package/dist/utils/__tests__/xml-stream-parser.test.js.map +0 -1
- package/dist/utils/analytics.d.ts +0 -6
- package/dist/utils/analytics.js +0 -83
- package/dist/utils/analytics.js.map +0 -1
- package/dist/utils/detect-shell.d.ts +0 -1
- package/dist/utils/detect-shell.js +0 -60
- package/dist/utils/detect-shell.js.map +0 -1
- package/dist/utils/file-paths.d.ts +0 -9
- package/dist/utils/file-paths.js +0 -24
- package/dist/utils/file-paths.js.map +0 -1
- package/dist/utils/git.d.ts +0 -2
- package/dist/utils/git.js +0 -40
- package/dist/utils/git.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -21
- package/dist/utils/logger.js +0 -105
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/path.d.ts +0 -9
- package/dist/utils/path.js +0 -27
- package/dist/utils/path.js.map +0 -1
- package/dist/utils/spinner.d.ts +0 -11
- package/dist/utils/spinner.js +0 -87
- package/dist/utils/spinner.js.map +0 -1
- package/dist/utils/system-info.d.ts +0 -8
- package/dist/utils/system-info.js +0 -22
- package/dist/utils/system-info.js.map +0 -1
- package/dist/utils/terminal.d.ts +0 -43
- package/dist/utils/terminal.js +0 -546
- package/dist/utils/terminal.js.map +0 -1
- package/dist/utils/tool-renderers.d.ts +0 -16
- package/dist/utils/tool-renderers.js +0 -163
- package/dist/utils/tool-renderers.js.map +0 -1
- package/dist/utils/xml-stream-parser.d.ts +0 -9
- package/dist/utils/xml-stream-parser.js +0 -128
- package/dist/utils/xml-stream-parser.js.map +0 -1
- package/dist/web-scraper.d.ts +0 -3
- package/dist/web-scraper.js +0 -57
- package/dist/web-scraper.js.map +0 -1
- package/dist/workers/checkpoint-worker.d.ts +0 -1
- package/dist/workers/checkpoint-worker.js +0 -48
- package/dist/workers/checkpoint-worker.js.map +0 -1
- package/dist/workers/project-context.d.ts +0 -1
- package/dist/workers/project-context.js +0 -20
- package/dist/workers/project-context.js.map +0 -1
package/bin/launcher.js
ADDED
|
@@ -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.
|
|
4
|
-
"description": "
|
|
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": "
|
|
6
|
+
"codecane": "bin/launcher.js"
|
|
10
7
|
},
|
|
11
8
|
"scripts": {
|
|
12
|
-
"
|
|
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": ">=
|
|
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
|
-
"
|
|
39
|
-
"
|
|
40
|
-
|
|
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
|
-
};
|