codecane 1.0.123
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/README.md +87 -0
- package/dist/__tests__/tool-handlers.test.d.ts +1 -0
- package/dist/__tests__/tool-handlers.test.js +32 -0
- package/dist/__tests__/tool-handlers.test.js.map +1 -0
- package/dist/chat-storage.d.ts +29 -0
- package/dist/chat-storage.js +125 -0
- package/dist/chat-storage.js.map +1 -0
- package/dist/cli.d.ts +38 -0
- package/dist/cli.js +453 -0
- package/dist/cli.js.map +1 -0
- package/dist/client.d.ts +71 -0
- package/dist/client.js +458 -0
- package/dist/client.js.map +1 -0
- package/dist/code-map/languages.d.ts +12 -0
- package/dist/code-map/languages.js +129 -0
- package/dist/code-map/languages.js.map +1 -0
- package/dist/code-map/parse.d.ts +11 -0
- package/dist/code-map/parse.js +127 -0
- package/dist/code-map/parse.js.map +1 -0
- package/dist/code-map/test-langs/test.d.ts +11 -0
- package/dist/code-map/test-langs/test.js +23 -0
- package/dist/code-map/test-langs/test.js.map +1 -0
- package/dist/code-map/tree-sitter-queries/readme.md +23 -0
- package/dist/code-map/tree-sitter-queries/tree-sitter-c-tags.scm +11 -0
- package/dist/code-map/tree-sitter-queries/tree-sitter-c_sharp-tags.scm +13 -0
- package/dist/code-map/tree-sitter-queries/tree-sitter-cpp-tags.scm +17 -0
- package/dist/code-map/tree-sitter-queries/tree-sitter-go-tags.scm +26 -0
- package/dist/code-map/tree-sitter-queries/tree-sitter-java-tags.scm +19 -0
- package/dist/code-map/tree-sitter-queries/tree-sitter-javascript-tags.scm +15 -0
- package/dist/code-map/tree-sitter-queries/tree-sitter-php-tags.scm +26 -0
- package/dist/code-map/tree-sitter-queries/tree-sitter-python-tags.scm +9 -0
- package/dist/code-map/tree-sitter-queries/tree-sitter-ruby-tags.scm +58 -0
- package/dist/code-map/tree-sitter-queries/tree-sitter-rust-tags.scm +26 -0
- package/dist/code-map/tree-sitter-queries/tree-sitter-typescript-tags.scm +15 -0
- package/dist/code-map/tsconfig.tsbuildinfo +1 -0
- package/dist/common/actions.d.ts +1405 -0
- package/dist/common/actions.js +193 -0
- package/dist/common/actions.js.map +1 -0
- package/dist/common/billing/quota-manager.d.ts +29 -0
- package/dist/common/billing/quota-manager.js +213 -0
- package/dist/common/billing/quota-manager.js.map +1 -0
- package/dist/common/constants.d.ts +41 -0
- package/dist/common/constants.js +126 -0
- package/dist/common/constants.js.map +1 -0
- package/dist/common/db/drizzle.config.d.ts +2 -0
- package/dist/common/db/drizzle.config.js +17 -0
- package/dist/common/db/drizzle.config.js.map +1 -0
- package/dist/common/db/env.d.mts +1 -0
- package/dist/common/db/env.mjs +26 -0
- package/dist/common/db/env.mjs.map +1 -0
- package/dist/common/db/index.d.ts +6 -0
- package/dist/common/db/index.js +35 -0
- package/dist/common/db/index.js.map +1 -0
- package/dist/common/db/schema.d.ts +1089 -0
- package/dist/common/db/schema.js +114 -0
- package/dist/common/db/schema.js.map +1 -0
- package/dist/common/env.d.mts +1 -0
- package/dist/common/env.mjs +34 -0
- package/dist/common/env.mjs.map +1 -0
- package/dist/common/project-file-tree.d.ts +9 -0
- package/dist/common/project-file-tree.js +166 -0
- package/dist/common/project-file-tree.js.map +1 -0
- package/dist/common/types/referral.d.ts +2 -0
- package/dist/common/types/referral.js +5 -0
- package/dist/common/types/referral.js.map +1 -0
- package/dist/common/types/usage.d.ts +24 -0
- package/dist/common/types/usage.js +13 -0
- package/dist/common/types/usage.js.map +1 -0
- package/dist/common/util/__tests__/string.test.d.ts +1 -0
- package/dist/common/util/__tests__/string.test.js +83 -0
- package/dist/common/util/__tests__/string.test.js.map +1 -0
- package/dist/common/util/array.d.ts +6 -0
- package/dist/common/util/array.js +32 -0
- package/dist/common/util/array.js.map +1 -0
- package/dist/common/util/changes.d.ts +6 -0
- package/dist/common/util/changes.js +72 -0
- package/dist/common/util/changes.js.map +1 -0
- package/dist/common/util/credentials.d.ts +25 -0
- package/dist/common/util/credentials.js +24 -0
- package/dist/common/util/credentials.js.map +1 -0
- package/dist/common/util/dates.d.ts +1 -0
- package/dist/common/util/dates.js +13 -0
- package/dist/common/util/dates.js.map +1 -0
- package/dist/common/util/file.d.ts +151 -0
- package/dist/common/util/file.js +180 -0
- package/dist/common/util/file.js.map +1 -0
- package/dist/common/util/git.d.ts +6 -0
- package/dist/common/util/git.js +81 -0
- package/dist/common/util/git.js.map +1 -0
- package/dist/common/util/helpers.d.ts +1 -0
- package/dist/common/util/helpers.js +6 -0
- package/dist/common/util/helpers.js.map +1 -0
- package/dist/common/util/object.d.ts +18 -0
- package/dist/common/util/object.js +91 -0
- package/dist/common/util/object.js.map +1 -0
- package/dist/common/util/patch.d.ts +1 -0
- package/dist/common/util/patch.js +215 -0
- package/dist/common/util/patch.js.map +1 -0
- package/dist/common/util/promise.d.ts +1 -0
- package/dist/common/util/promise.js +33 -0
- package/dist/common/util/promise.js.map +1 -0
- package/dist/common/util/referral.d.ts +1 -0
- package/dist/common/util/referral.js +6 -0
- package/dist/common/util/referral.js.map +1 -0
- package/dist/common/util/server/referral.d.ts +14 -0
- package/dist/common/util/server/referral.js +85 -0
- package/dist/common/util/server/referral.js.map +1 -0
- package/dist/common/util/string.d.ts +9 -0
- package/dist/common/util/string.js +90 -0
- package/dist/common/util/string.js.map +1 -0
- package/dist/common/util/stripe.d.ts +2 -0
- package/dist/common/util/stripe.js +19 -0
- package/dist/common/util/stripe.js.map +1 -0
- package/dist/common/util/tools.d.ts +2 -0
- package/dist/common/util/tools.js +13 -0
- package/dist/common/util/tools.js.map +1 -0
- package/dist/common/websockets/websocket-client.d.ts +40 -0
- package/dist/common/websockets/websocket-client.js +187 -0
- package/dist/common/websockets/websocket-client.js.map +1 -0
- package/dist/common/websockets/websocket-schema.d.ts +3058 -0
- package/dist/common/websockets/websocket-schema.js +55 -0
- package/dist/common/websockets/websocket-schema.js.map +1 -0
- package/dist/config.d.ts +2 -0
- package/dist/config.js +8 -0
- package/dist/config.js.map +1 -0
- package/dist/credentials.d.ts +3 -0
- package/dist/credentials.js +33 -0
- package/dist/credentials.js.map +1 -0
- package/dist/fingerprint.d.ts +1 -0
- package/dist/fingerprint.js +43 -0
- package/dist/fingerprint.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +75 -0
- package/dist/index.js.map +1 -0
- package/dist/menu.d.ts +1 -0
- package/dist/menu.js +94 -0
- package/dist/menu.js.map +1 -0
- package/dist/project-files.d.ts +64 -0
- package/dist/project-files.js +338 -0
- package/dist/project-files.js.map +1 -0
- package/dist/tool-handlers.d.ts +11 -0
- package/dist/tool-handlers.js +215 -0
- package/dist/tool-handlers.js.map +1 -0
- package/dist/types.d.ts +7 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/update-codebuff.d.ts +1 -0
- package/dist/update-codebuff.js +156 -0
- package/dist/update-codebuff.js.map +1 -0
- package/dist/web-scraper.d.ts +3 -0
- package/dist/web-scraper.js +57 -0
- package/dist/web-scraper.js.map +1 -0
- package/dist/worker-script-project-context.d.ts +1 -0
- package/dist/worker-script-project-context.js +13 -0
- package/dist/worker-script-project-context.js.map +1 -0
- package/package.json +71 -0
|
@@ -0,0 +1,156 @@
|
|
|
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 web_scraper_1 = require("./web-scraper");
|
|
10
|
+
const package_json_1 = __importDefault(require("../package.json"));
|
|
11
|
+
const config_1 = require("./config");
|
|
12
|
+
async function updateCodebuff() {
|
|
13
|
+
if (!config_1.isProduction)
|
|
14
|
+
return;
|
|
15
|
+
const latestVersion = await getCodebuffNpmVersion();
|
|
16
|
+
const isUpToDate = isNpmUpToDate(package_json_1.default.version, latestVersion);
|
|
17
|
+
if (!isUpToDate) {
|
|
18
|
+
const installerInfo = detectInstaller();
|
|
19
|
+
if (!installerInfo) {
|
|
20
|
+
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)."));
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
console.log((0, picocolors_1.green)(`Updating Codebuff using ${installerInfo.installer}...`));
|
|
24
|
+
try {
|
|
25
|
+
runUpdateCodebuff(installerInfo);
|
|
26
|
+
console.log((0, picocolors_1.green)('Codebuff updated successfully.'));
|
|
27
|
+
console.log((0, picocolors_1.green)('Please restart by running `codebuff` to use the new version.'));
|
|
28
|
+
process.exit(0);
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
console.error('Failed to update Codebuff.');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
async function getCodebuffNpmVersion() {
|
|
36
|
+
try {
|
|
37
|
+
const result = (0, child_process_1.execSync)('npm view codebuff version', {
|
|
38
|
+
encoding: 'utf-8',
|
|
39
|
+
stdio: 'pipe', // Suppress all output
|
|
40
|
+
});
|
|
41
|
+
const versionMatch = result.match(/(\d+\.\d+\.\d+)/);
|
|
42
|
+
if (versionMatch) {
|
|
43
|
+
return versionMatch[1];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch (error) { }
|
|
47
|
+
// Fallback to web scraping if npm command fails
|
|
48
|
+
const url = 'https://www.npmjs.com/package/codebuff';
|
|
49
|
+
const content = await (0, web_scraper_1.scrapeWebPage)(url);
|
|
50
|
+
const latestVersionRegex = /"latest":"(\d+\.\d+\.\d+)"/;
|
|
51
|
+
const match = content.match(latestVersionRegex);
|
|
52
|
+
return match ? match[1] : '';
|
|
53
|
+
}
|
|
54
|
+
function isNpmUpToDate(currentVersion, latestVersion) {
|
|
55
|
+
const current = currentVersion.split('.').map(Number);
|
|
56
|
+
const latest = latestVersion.split('.').map(Number);
|
|
57
|
+
for (let i = 0; i < 3; i++) {
|
|
58
|
+
if (current[i] < latest[i])
|
|
59
|
+
return false;
|
|
60
|
+
if (current[i] > latest[i])
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
function detectInstaller() {
|
|
66
|
+
let codebuffLocation = '';
|
|
67
|
+
try {
|
|
68
|
+
if (process.platform === 'win32') {
|
|
69
|
+
codebuffLocation = (0, child_process_1.execSync)('where codebuff').toString().trim();
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
codebuffLocation = (0, child_process_1.execSync)('which codebuff').toString().trim();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
// Continue with empty location - could be a local installation
|
|
77
|
+
}
|
|
78
|
+
const binPath = (codebuffLocation.split('\n')[0] ?? '').replace(/\\/g, '/');
|
|
79
|
+
const npmUserAgent = process.env.npm_config_user_agent ?? '';
|
|
80
|
+
// Check for package manager script environments
|
|
81
|
+
const isYarnScript = process.env.npm_lifecycle_script?.includes('yarn');
|
|
82
|
+
const isPnpmScript = process.env.npm_lifecycle_script?.includes('pnpm');
|
|
83
|
+
const isBunScript = process.env.npm_lifecycle_script?.includes('bun');
|
|
84
|
+
const isNpmScript = process.env.npm_execpath?.endsWith('npm-cli.js') ||
|
|
85
|
+
npmUserAgent.includes('npm');
|
|
86
|
+
// Mac: /Users/jahooma/.yarn/bin/codebuff
|
|
87
|
+
if (isYarnScript || binPath.includes('.yarn')) {
|
|
88
|
+
return {
|
|
89
|
+
installer: 'yarn',
|
|
90
|
+
scope: binPath.includes('.yarn') ? 'global' : 'local',
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
// Windows: ~/AppData/Local/pnpm/store
|
|
94
|
+
// macOS: ~/Library/pnpm/store
|
|
95
|
+
// Linux: ~/.local/share/pnpm/store
|
|
96
|
+
if (isPnpmScript || binPath.includes('pnpm')) {
|
|
97
|
+
return {
|
|
98
|
+
installer: 'pnpm',
|
|
99
|
+
scope: binPath.includes('pnpm') ? 'global' : 'local',
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
// Mac: /Users/jahooma/.bun/install/cache
|
|
103
|
+
if (isBunScript || binPath.includes('.bun')) {
|
|
104
|
+
return {
|
|
105
|
+
installer: 'bun',
|
|
106
|
+
scope: binPath.includes('.bun') ? 'global' : 'local',
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
// /usr/local/lib/node_modules on macOS/Linux or %AppData%\npm/node_modules on Windows
|
|
110
|
+
// OR: .nvm/versions/node/v18.17.0/bin/codebuff on mac
|
|
111
|
+
// OR /Users/stefan/Library/Application Support/Herd/config/nvm/versions/node/v22.9.0/bin/codebuff
|
|
112
|
+
// OR ~/.config/nvm/versions/node/v22.11.0/bin/codebuff
|
|
113
|
+
// OR /opt/homebrew/bin/codebuff
|
|
114
|
+
const isGlobalNpmPath = binPath.includes('npm') ||
|
|
115
|
+
binPath.startsWith('/usr/') ||
|
|
116
|
+
binPath.includes('nvm/') ||
|
|
117
|
+
binPath.includes('homebrew/bin');
|
|
118
|
+
if (isNpmScript || isGlobalNpmPath) {
|
|
119
|
+
return {
|
|
120
|
+
installer: 'npm',
|
|
121
|
+
scope: isGlobalNpmPath ? 'global' : 'local',
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
return undefined;
|
|
125
|
+
}
|
|
126
|
+
function runUpdateCodebuff(installerInfo) {
|
|
127
|
+
let command;
|
|
128
|
+
const isGlobal = installerInfo.scope === 'global';
|
|
129
|
+
switch (installerInfo.installer) {
|
|
130
|
+
case 'npm':
|
|
131
|
+
command = `npm ${isGlobal ? 'install -g' : 'install'} codebuff@latest`;
|
|
132
|
+
break;
|
|
133
|
+
case 'yarn':
|
|
134
|
+
command = `yarn ${isGlobal ? 'global add' : 'add'} codebuff@latest`;
|
|
135
|
+
break;
|
|
136
|
+
case 'pnpm':
|
|
137
|
+
command = `pnpm add ${isGlobal ? '-g' : ''} codebuff@latest`;
|
|
138
|
+
break;
|
|
139
|
+
case 'bun':
|
|
140
|
+
command = `bun add ${isGlobal ? '-g' : ''} codebuff@latest`;
|
|
141
|
+
break;
|
|
142
|
+
default:
|
|
143
|
+
throw new Error(`Unsupported installer: ${installerInfo.installer} ${installerInfo.scope}`);
|
|
144
|
+
}
|
|
145
|
+
(0, child_process_1.execSync)(command, { stdio: 'inherit' });
|
|
146
|
+
}
|
|
147
|
+
function restartCodebuff() {
|
|
148
|
+
const child = (0, child_process_1.spawn)('codebuff', [...process.argv.slice(2), '--post-update'], {
|
|
149
|
+
detached: false,
|
|
150
|
+
stdio: 'inherit',
|
|
151
|
+
});
|
|
152
|
+
child.on('exit', (code) => {
|
|
153
|
+
process.exit(code ?? 0);
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=update-codebuff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-codebuff.js","sourceRoot":"","sources":["../src/update-codebuff.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
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.scrapeWebPage = scrapeWebPage;
|
|
7
|
+
exports.parseUrlsFromContent = parseUrlsFromContent;
|
|
8
|
+
exports.getScrapedContentBlocks = getScrapedContentBlocks;
|
|
9
|
+
const axios_1 = __importDefault(require("axios"));
|
|
10
|
+
// Global cache for scraped web pages
|
|
11
|
+
const scrapedPagesCache = {};
|
|
12
|
+
async function scrapeWebPage(url) {
|
|
13
|
+
// Check if the page is already in the cache
|
|
14
|
+
if (scrapedPagesCache[url] !== undefined) {
|
|
15
|
+
return scrapedPagesCache[url];
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
// const response = await axios.get(url)
|
|
19
|
+
const response = await axios_1.default.get(`https://r.jina.ai/${url}`);
|
|
20
|
+
const content = response.data;
|
|
21
|
+
// const html = response.data
|
|
22
|
+
// const $ = cheerio.load(html)
|
|
23
|
+
// // Extract the main content (you may need to adjust this selector based on the target websites)
|
|
24
|
+
// const content = $('body').text()
|
|
25
|
+
// Store the scraped content in the cache
|
|
26
|
+
scrapedPagesCache[url] = content;
|
|
27
|
+
return content;
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
// console.error(
|
|
31
|
+
// `Error scraping web page ${url}:`,
|
|
32
|
+
// error instanceof Error ? error.message : error
|
|
33
|
+
// )
|
|
34
|
+
scrapedPagesCache[url] = '';
|
|
35
|
+
return '';
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function parseUrlsFromContent(content) {
|
|
39
|
+
const urlRegex = /https?:\/\/[^\s]+/g;
|
|
40
|
+
return content.match(urlRegex) || [];
|
|
41
|
+
}
|
|
42
|
+
const MAX_SCRAPED_CONTENT_LENGTH = 75_000;
|
|
43
|
+
async function getScrapedContentBlocks(urls) {
|
|
44
|
+
const blocks = [];
|
|
45
|
+
for (const url of urls) {
|
|
46
|
+
const scrapedContent = await scrapeWebPage(url);
|
|
47
|
+
const truncatedScrapedContent = scrapedContent.length > MAX_SCRAPED_CONTENT_LENGTH
|
|
48
|
+
? scrapedContent.slice(0, MAX_SCRAPED_CONTENT_LENGTH) +
|
|
49
|
+
'[...TRUNCATED: WEB PAGE CONTENT TOO LONG...]'
|
|
50
|
+
: scrapedContent;
|
|
51
|
+
if (truncatedScrapedContent) {
|
|
52
|
+
blocks.push(`<web_scraped_content url="${url}">\n${truncatedScrapedContent}\n</web_scraped_content>`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return blocks;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=web-scraper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-scraper.js","sourceRoot":"","sources":["../src/web-scraper.ts"],"names":[],"mappings":";;;;;AAMA,sCA4BC;AAED,oDAGC;AAGD,0DAgBC;AA1DD,kDAAyB;AAGzB,qCAAqC;AACrC,MAAM,iBAAiB,GAA2B,EAAE,CAAA;AAE7C,KAAK,UAAU,aAAa,CAAC,GAAW;IAC7C,4CAA4C;IAC5C,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,IAAI,CAAC;QACH,wCAAwC;QACxC,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAA;QAC5D,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAA;QAC7B,6BAA6B;QAC7B,+BAA+B;QAE/B,kGAAkG;QAClG,mCAAmC;QAEnC,yCAAyC;QACzC,iBAAiB,CAAC,GAAG,CAAC,GAAG,OAAO,CAAA;QAEhC,OAAO,OAAO,CAAA;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,iBAAiB;QACjB,uCAAuC;QACvC,mDAAmD;QACnD,IAAI;QACJ,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;QAC3B,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAe;IAClD,MAAM,QAAQ,GAAG,oBAAoB,CAAA;IACrC,OAAO,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;AACtC,CAAC;AAED,MAAM,0BAA0B,GAAG,MAAM,CAAA;AAClC,KAAK,UAAU,uBAAuB,CAAC,IAAc;IAC1D,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAA;QAC/C,MAAM,uBAAuB,GAC3B,cAAc,CAAC,MAAM,GAAG,0BAA0B;YAChD,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,0BAA0B,CAAC;gBACnD,8CAA8C;YAChD,CAAC,CAAC,cAAc,CAAA;QACpB,IAAI,uBAAuB,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CACT,6BAA6B,GAAG,OAAO,uBAAuB,0BAA0B,CACzF,CAAA;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const worker_threads_1 = require("worker_threads");
|
|
4
|
+
const project_files_1 = require("./project-files");
|
|
5
|
+
if (worker_threads_1.parentPort) {
|
|
6
|
+
const parentPort = worker_threads_1.parentPort;
|
|
7
|
+
parentPort.on('message', async ({ dir }) => {
|
|
8
|
+
(0, project_files_1.setProjectRoot)(dir);
|
|
9
|
+
const initFileContext = await (0, project_files_1.getProjectFileContext)(dir, {}, []);
|
|
10
|
+
parentPort.postMessage(initFileContext);
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=worker-script-project-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-script-project-context.js","sourceRoot":"","sources":["../src/worker-script-project-context.ts"],"names":[],"mappings":";;AAAA,mDAA8D;AAC9D,mDAAuE;AAEvE,IAAI,2BAAe,EAAE,CAAC;IACpB,MAAM,UAAU,GAAG,2BAAe,CAAA;IAElC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QACzC,IAAA,8BAAc,EAAC,GAAG,CAAC,CAAA;QACnB,MAAM,eAAe,GAAG,MAAM,IAAA,qCAAqB,EAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;QAChE,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "codecane",
|
|
3
|
+
"version": "1.0.123",
|
|
4
|
+
"description": "AI dev assistant",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"bin": {
|
|
9
|
+
"codecane": "dist/index.js"
|
|
10
|
+
},
|
|
11
|
+
"scripts": {
|
|
12
|
+
"prebuild": "bun run with-env -- bun clean && cd ../common && bun run build && cd ../packages/code-map && bun run build",
|
|
13
|
+
"build": "tsc && tsc-alias",
|
|
14
|
+
"postbuild": "mkdir -p dist/common && cp -r ../common/dist/* dist/common && mkdir -p dist/code-map && cp -r ../packages/code-map/dist/* dist/code-map && tsc-alias",
|
|
15
|
+
"clean": "rm -rf dist && (rm tsconfig.tsbuildinfo || true)",
|
|
16
|
+
"prepublishOnly": "bun run build && bun run clean-package.js",
|
|
17
|
+
"postpublish": "echo \"const fs=require('fs');fs.copyFileSync('temp.package.json','package.json');fs.unlinkSync('temp.package.json');\" | bun run -",
|
|
18
|
+
"format": "prettier --write \"**/*.{ts,tsx,json,md}\"",
|
|
19
|
+
"test": "jest",
|
|
20
|
+
"start-js": "bun run with-env -- node dist/index.js ..",
|
|
21
|
+
"start": "bun run with-env -- ts-node src/index.ts .. --git stage",
|
|
22
|
+
"start-dir": "bun run with-env -- ts-node src/index.ts",
|
|
23
|
+
"with-env": "env-cmd -f ./loadEnv.js",
|
|
24
|
+
"start-manifold": "bun run with-env -- ts-node src/index.ts ../../manifold",
|
|
25
|
+
"start-litestar": "bun run with-env -- ts-node src/index.ts ../test/__mock-projects__/litestar",
|
|
26
|
+
"start-jpcsp": "bun run with-env -- ts-node src/index.ts ../test/__mock-projects__/jpcsp",
|
|
27
|
+
"start-vscode": "bun run with-env -- ts-node src/index.ts ../test/__mock-projects__/vscode",
|
|
28
|
+
"start-nushell": "bun run with-env -- ts-node src/index.ts ../test/__mock-projects__/nushell",
|
|
29
|
+
"start-prod": "bun run with-env -- ts-node src/index.ts"
|
|
30
|
+
},
|
|
31
|
+
"files": [
|
|
32
|
+
"dist",
|
|
33
|
+
"README.md"
|
|
34
|
+
],
|
|
35
|
+
"engines": {
|
|
36
|
+
"node": ">=14"
|
|
37
|
+
},
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"@types/diff": "5.2.1",
|
|
40
|
+
"@vscode/ripgrep": "1.15.9",
|
|
41
|
+
"axios": "1.7.4",
|
|
42
|
+
"cheerio": "1.0.0",
|
|
43
|
+
"diff": "5.2.0",
|
|
44
|
+
"env-cmd": "^10.1.0",
|
|
45
|
+
"ignore": "5.3.2",
|
|
46
|
+
"lodash": "*",
|
|
47
|
+
"nanoid": "5.0.7",
|
|
48
|
+
"node-pty": "1.0.0",
|
|
49
|
+
"picocolors": "1.1.0",
|
|
50
|
+
"systeminformation": "5.23.4",
|
|
51
|
+
"tree-sitter": "0.21.1",
|
|
52
|
+
"tree-sitter-c": "0.23.0",
|
|
53
|
+
"tree-sitter-c-sharp": "0.23.0",
|
|
54
|
+
"tree-sitter-cpp": "0.23.0",
|
|
55
|
+
"tree-sitter-go": "0.23.1",
|
|
56
|
+
"tree-sitter-java": "0.23.2",
|
|
57
|
+
"tree-sitter-javascript": "0.23.0",
|
|
58
|
+
"tree-sitter-php": "0.23.2",
|
|
59
|
+
"tree-sitter-python": "0.23.2",
|
|
60
|
+
"tree-sitter-ruby": "0.23.0",
|
|
61
|
+
"tree-sitter-rust": "0.23.0",
|
|
62
|
+
"tree-sitter-typescript": "0.23.0",
|
|
63
|
+
"ts-pattern": "5.3.1",
|
|
64
|
+
"ws": "8.18.0",
|
|
65
|
+
"zod": "3.23.8"
|
|
66
|
+
},
|
|
67
|
+
"trustedDependencies": [
|
|
68
|
+
"@vscode/ripgrep",
|
|
69
|
+
"node-pty"
|
|
70
|
+
]
|
|
71
|
+
}
|