codebuff 1.0.148 → 1.0.150

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.
@@ -39,7 +39,8 @@ const path_1 = require("path");
39
39
  const fs = __importStar(require("fs"));
40
40
  const os = __importStar(require("os"));
41
41
  const picocolors_1 = require("picocolors");
42
- async function createTemplateProject(template, projectName = template) {
42
+ async function createTemplateProject(template, projectDir, projectName = template) {
43
+ console.log(`Creating project from ${template} template in ${projectDir}/${projectName}`);
43
44
  // Validate template name contains only alphanumeric chars, dash and underscore
44
45
  if (!/^[a-zA-Z0-9-_]+$/.test(template)) {
45
46
  console.error('Template name can only contain letters, numbers, dash and underscore');
@@ -50,12 +51,14 @@ async function createTemplateProject(template, projectName = template) {
50
51
  console.error('Project name can only contain letters, numbers, dash and underscore');
51
52
  process.exit(1);
52
53
  }
54
+ const projectPath = (0, path_1.join)(projectDir, projectName);
53
55
  // Check if directory already exists
54
- if (fs.existsSync(projectName)) {
55
- console.error(`Directory ${projectName} already exists`);
56
+ if (fs.existsSync(projectPath)) {
57
+ console.error(`Directory ${projectPath} already exists`);
56
58
  process.exit(1);
57
59
  }
58
60
  try {
61
+ console.log('\nDownloading template...');
59
62
  // Clone the community repo to a temp directory
60
63
  const tempDir = fs.mkdtempSync((0, path_1.join)(os.tmpdir(), 'codebuff-starter-'));
61
64
  (0, child_process_1.execSync)('git clone --depth 1 https://github.com/CodebuffAI/codebuff-community.git .', {
@@ -77,27 +80,32 @@ async function createTemplateProject(template, projectName = template) {
77
80
  fs.rmSync(tempDir, { recursive: true, force: true });
78
81
  process.exit(1);
79
82
  }
83
+ // Create parent directory if it doesn't exist
84
+ if (projectDir) {
85
+ fs.mkdirSync(projectDir, { recursive: true });
86
+ }
80
87
  // Copy template to new directory
81
- fs.mkdirSync(projectName);
82
- fs.cpSync(templateDir, projectName, { recursive: true });
88
+ fs.mkdirSync(projectPath);
89
+ fs.cpSync(templateDir, projectPath, { recursive: true });
83
90
  // Remove .git directory if it exists
84
- const gitDir = (0, path_1.join)(projectName, '.git');
91
+ const gitDir = (0, path_1.join)(projectPath, '.git');
85
92
  if (fs.existsSync(gitDir)) {
86
93
  fs.rmSync(gitDir, { recursive: true, force: true });
87
94
  }
88
95
  // Initialize new git repo
89
- (0, child_process_1.execSync)('git init', { cwd: projectName, stdio: 'pipe' });
96
+ console.log('\nInitializing git repo...');
97
+ (0, child_process_1.execSync)('git init', { cwd: projectPath, stdio: 'pipe' });
90
98
  // Clean up temp directory
91
99
  fs.rmSync(tempDir, { recursive: true, force: true });
92
100
  // Install dependencies
93
- if (fs.existsSync((0, path_1.join)(projectName, 'package-lock.json'))) {
101
+ if (fs.existsSync((0, path_1.join)(projectPath, 'package-lock.json'))) {
94
102
  console.log('\nInstalling dependencies...');
95
- (0, child_process_1.execSync)('npm install', { cwd: projectName, stdio: 'inherit' });
103
+ (0, child_process_1.execSync)('npm install', { cwd: projectPath, stdio: 'inherit' });
96
104
  }
97
- console.log((0, picocolors_1.green)(`\nCreated new project in ./${projectName}\n`));
105
+ console.log((0, picocolors_1.green)(`\nSuccessfully created new project in ${projectPath}\n`));
98
106
  // Change into the new project directory and run codebuff
99
- process.chdir(projectName);
100
- console.log((0, picocolors_1.green)('Starting Codebuff in the new project...\n'));
107
+ process.chdir(projectPath);
108
+ console.log('Starting Codebuff in the new project...\n');
101
109
  console.log('--------------------------------\n');
102
110
  (0, child_process_1.execSync)('codebuff', { stdio: 'inherit' });
103
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-template-project.js","sourceRoot":"","sources":["../src/create-template-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-template-project.js","sourceRoot":"","sources":["../src/create-template-project.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ const terminal_1 = require("./utils/terminal");
17
17
  const create_template_project_1 = require("./create-template-project");
18
18
  async function codebuff(projectDir, { initialInput, git, costMode }) {
19
19
  const dir = (0, project_files_1.setProjectRoot)(projectDir);
20
- (0, terminal_1.resetPtyShell)(dir);
20
+ (0, terminal_1.recreateShell)();
21
21
  const updatePromise = (0, update_codebuff_1.updateCodebuff)();
22
22
  const initFileContextPromise = (0, project_files_1.initProjectFileContextWithWorker)(dir);
23
23
  const readyPromise = Promise.all([updatePromise, initFileContextPromise]);
@@ -36,6 +36,7 @@ if (require.main === module) {
36
36
  const createIndex = args.indexOf('--create');
37
37
  if (createIndex !== -1) {
38
38
  const template = args[createIndex + 1];
39
+ const projectDir = args[0] !== '--create' ? args[0] : '.';
39
40
  const projectName = args[createIndex + 2] || template;
40
41
  if (!template) {
41
42
  console.error('Please specify a template name');
@@ -45,7 +46,7 @@ if (require.main === module) {
45
46
  console.log(' https://github.com/CodebuffAI/codebuff-community/tree/main/starter-templates');
46
47
  process.exit(1);
47
48
  }
48
- (0, create_template_project_1.createTemplateProject)(template, projectName);
49
+ (0, create_template_project_1.createTemplateProject)(template, projectDir, projectName);
49
50
  process.exit(0);
50
51
  }
51
52
  const gitArg = args.indexOf('--git');
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
- export declare const resetPtyShell: (dir: string) => void;
1
+ export declare const isCommandRunning: () => boolean;
2
+ export declare const recreateShell: () => void;
3
+ export declare const resetShell: () => void;
2
4
  export declare const runTerminalCommand: (command: string, mode: "user" | "assistant") => Promise<{
3
5
  result: string;
4
6
  stdout: string;
@@ -36,7 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.runTerminalCommand = exports.resetPtyShell = void 0;
39
+ exports.runTerminalCommand = exports.resetShell = exports.recreateShell = exports.isCommandRunning = void 0;
40
40
  const child_process_1 = require("child_process");
41
41
  const path_1 = __importDefault(require("path"));
42
42
  const picocolors_1 = require("picocolors");
@@ -56,7 +56,7 @@ finally {
56
56
  console.error = tempConsoleError;
57
57
  }
58
58
  const promptIdentifier = '@36261@';
59
- const createPty = (dir) => {
59
+ const createPersistantProcess = (dir) => {
60
60
  if (pty) {
61
61
  const isWindows = os.platform() === 'win32';
62
62
  const currShell = (0, detect_shell_1.detectShell)();
@@ -118,7 +118,7 @@ const createPty = (dir) => {
118
118
  if (!isWindows) {
119
119
  persistentPty.write(`PS1='${promptIdentifier}'\n`);
120
120
  }
121
- return { type: 'pty', pty: persistentPty };
121
+ return { type: 'pty', shell: 'pty', pty: persistentPty, timerId: null };
122
122
  }
123
123
  else {
124
124
  // Fallback to child_process
@@ -129,27 +129,54 @@ const createPty = (dir) => {
129
129
  ? 'powershell.exe'
130
130
  : 'cmd.exe'
131
131
  : 'bash';
132
- return { type: 'process', shell };
132
+ const childProcess = null;
133
+ return {
134
+ type: 'process',
135
+ shell,
136
+ childProcess,
137
+ timerId: null,
138
+ };
133
139
  }
134
140
  };
135
141
  let persistentProcess = null;
136
142
  process.stdout.on('resize', () => {
137
143
  if (!persistentProcess)
138
144
  return;
139
- const { pty } = persistentProcess;
140
- if (pty) {
141
- pty.resize(process.stdout.columns, process.stdout.rows);
145
+ if (persistentProcess.type === 'pty') {
146
+ persistentProcess.pty.resize(process.stdout.columns, process.stdout.rows);
142
147
  }
143
148
  });
144
- const resetPtyShell = (dir) => {
149
+ let commandIsRunning = false;
150
+ const isCommandRunning = () => {
151
+ return commandIsRunning;
152
+ };
153
+ exports.isCommandRunning = isCommandRunning;
154
+ const recreateShell = () => {
155
+ const dir = (0, project_files_1.getProjectRoot)();
156
+ persistentProcess = createPersistantProcess(dir);
157
+ };
158
+ exports.recreateShell = recreateShell;
159
+ const resetShell = () => {
160
+ commandIsRunning = false;
145
161
  if (persistentProcess) {
162
+ if (persistentProcess.timerId) {
163
+ clearTimeout(persistentProcess.timerId);
164
+ persistentProcess.timerId = null;
165
+ }
146
166
  if (persistentProcess.type === 'pty') {
147
167
  persistentProcess.pty.kill();
168
+ (0, exports.recreateShell)();
169
+ }
170
+ else {
171
+ persistentProcess.childProcess?.kill();
172
+ persistentProcess = {
173
+ ...persistentProcess,
174
+ childProcess: null,
175
+ };
148
176
  }
149
177
  }
150
- persistentProcess = createPty(dir);
151
178
  };
152
- exports.resetPtyShell = resetPtyShell;
179
+ exports.resetShell = resetShell;
153
180
  function formatResult(stdout, status) {
154
181
  let result = '<terminal_command_result>\n';
155
182
  result += `<output>${(0, string_1.truncateStringWithMessage)(stdout, 10000)}</output>\n`;
@@ -176,146 +203,164 @@ const isNotACommand = (output) => {
176
203
  output.includes('konnte nicht gefunden werden') ||
177
204
  output.includes('wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren'));
178
205
  };
206
+ const MAX_EXECUTION_TIME = 30_000;
179
207
  const runTerminalCommand = async (command, mode) => {
180
- const MAX_EXECUTION_TIME = 30_000;
181
- let projectRoot = (0, project_files_1.getProjectRoot)();
182
208
  return new Promise((resolve) => {
183
209
  if (!persistentProcess) {
184
210
  throw new Error('Shell not initialized');
185
211
  }
212
+ if (commandIsRunning) {
213
+ (0, exports.resetShell)();
214
+ }
215
+ commandIsRunning = true;
216
+ const resolveCommand = (value) => {
217
+ commandIsRunning = false;
218
+ resolve(value);
219
+ };
186
220
  if (persistentProcess.type === 'pty') {
187
- // Use PTY implementation
188
- const ptyProcess = persistentProcess.pty;
189
- let commandOutput = '';
190
- let foundFirstNewLine = false;
191
- if (mode === 'assistant') {
192
- console.log();
193
- console.log((0, picocolors_1.green)(`> ${command}`));
194
- }
195
- const timer = setTimeout(() => {
196
- if (mode === 'assistant') {
197
- // Kill and recreate PTY
198
- (0, exports.resetPtyShell)(projectRoot);
199
- resolve({
200
- result: formatResult(commandOutput, `Command timed out after ${MAX_EXECUTION_TIME / 1000} seconds and was terminated. Shell has been restarted.`),
201
- stdout: commandOutput,
202
- });
203
- }
204
- }, MAX_EXECUTION_TIME);
205
- const dataDisposable = ptyProcess.onData((data) => {
206
- // Trim first line if it's the prompt identifier
207
- if (commandOutput.trim() === '' &&
208
- data.trimStart().startsWith(promptIdentifier)) {
209
- data = data.trimStart().slice(promptIdentifier.length);
210
- }
211
- const prefix = commandOutput + data;
212
- // Skip the first line of the output, because it's the command being printed.
213
- if (!foundFirstNewLine) {
214
- if (!prefix.includes('\n')) {
215
- return;
216
- }
217
- foundFirstNewLine = true;
218
- const newLineIndex = prefix.indexOf('\n');
219
- data = prefix.slice(newLineIndex + 1);
220
- }
221
- // Try to detect error messages in the output
222
- if (mode === 'user' && isNotACommand(data)) {
223
- clearTimeout(timer);
224
- dataDisposable.dispose();
225
- resolve({
226
- result: 'command not found',
227
- stdout: commandOutput,
228
- });
229
- return;
230
- }
231
- const promptDetected = prefix.includes(promptIdentifier);
232
- if (promptDetected) {
233
- clearTimeout(timer);
234
- dataDisposable.dispose();
235
- if (command.startsWith('cd ') && mode === 'user') {
236
- const newWorkingDirectory = command.split(' ')[1];
237
- projectRoot = (0, project_files_1.setProjectRoot)(path_1.default.join(projectRoot, newWorkingDirectory));
238
- }
239
- if (mode === 'assistant') {
240
- console.log((0, picocolors_1.green)(`Command completed`));
241
- }
242
- // Reset the PTY to the project root
243
- ptyProcess.write(`cd ${projectRoot}\r`);
244
- resolve({
245
- result: formatResult(commandOutput, 'Command completed'),
246
- stdout: commandOutput,
247
- });
248
- return;
249
- }
250
- process.stdout.write(data);
251
- commandOutput += data;
252
- });
253
- // Write the command
254
- ptyProcess.write(command + '\r');
221
+ runCommandPty(persistentProcess, command, mode, resolveCommand);
255
222
  }
256
223
  else {
257
224
  // Fallback to child_process implementation
258
- const isWindows = os.platform() === 'win32';
259
- let commandOutput = '';
260
- if (mode === 'assistant') {
261
- console.log();
262
- console.log((0, picocolors_1.green)(`> ${command}`));
225
+ runCommandChildProcess(persistentProcess, command, mode, resolveCommand);
226
+ }
227
+ });
228
+ };
229
+ exports.runTerminalCommand = runTerminalCommand;
230
+ const runCommandPty = (persistentProcess, command, mode, resolve) => {
231
+ let projectRoot = (0, project_files_1.getProjectRoot)();
232
+ const ptyProcess = persistentProcess.pty;
233
+ let commandOutput = '';
234
+ let foundFirstNewLine = false;
235
+ if (mode === 'assistant') {
236
+ console.log();
237
+ console.log((0, picocolors_1.green)(`> ${command}`));
238
+ }
239
+ const timer = setTimeout(() => {
240
+ if (mode === 'assistant') {
241
+ // Kill and recreate PTY
242
+ (0, exports.resetShell)();
243
+ resolve({
244
+ result: formatResult(commandOutput, `Command timed out after ${MAX_EXECUTION_TIME / 1000} seconds and was terminated. Shell has been restarted.`),
245
+ stdout: commandOutput,
246
+ });
247
+ }
248
+ }, MAX_EXECUTION_TIME);
249
+ persistentProcess.timerId = timer;
250
+ const dataDisposable = ptyProcess.onData((data) => {
251
+ // Trim first line if it's the prompt identifier
252
+ if (commandOutput.trim() === '' &&
253
+ data.trimStart().startsWith(promptIdentifier)) {
254
+ data = data.trimStart().slice(promptIdentifier.length);
255
+ }
256
+ const prefix = commandOutput + data;
257
+ // Skip the first line of the output, because it's the command being printed.
258
+ if (!foundFirstNewLine) {
259
+ if (!prefix.includes('\n')) {
260
+ return;
263
261
  }
264
- const childProcess = (0, child_process_1.spawn)(persistentProcess.shell, [isWindows ? '/c' : '-c', command], {
265
- cwd: projectRoot,
266
- env: {
267
- ...process.env,
268
- PAGER: 'cat',
269
- GIT_PAGER: 'cat',
270
- GIT_TERMINAL_PROMPT: '0',
271
- LESS: '-FRX',
272
- },
262
+ foundFirstNewLine = true;
263
+ const newLineIndex = prefix.indexOf('\n');
264
+ data = prefix.slice(newLineIndex + 1);
265
+ }
266
+ // Try to detect error messages in the output
267
+ if (mode === 'user' && isNotACommand(data)) {
268
+ clearTimeout(timer);
269
+ dataDisposable.dispose();
270
+ resolve({
271
+ result: 'command not found',
272
+ stdout: commandOutput,
273
273
  });
274
- const timer = setTimeout(() => {
275
- childProcess.kill();
276
- if (mode === 'assistant') {
277
- resolve({
278
- result: formatResult(commandOutput, `Command timed out after ${MAX_EXECUTION_TIME / 1000} seconds and was terminated.`),
279
- stdout: commandOutput,
280
- });
281
- }
282
- }, MAX_EXECUTION_TIME);
283
- childProcess.stdout.on('data', (data) => {
284
- const output = data.toString();
285
- process.stdout.write(output);
286
- commandOutput += output;
274
+ return;
275
+ }
276
+ const promptDetected = prefix.includes(promptIdentifier);
277
+ if (promptDetected) {
278
+ clearTimeout(timer);
279
+ dataDisposable.dispose();
280
+ if (command.startsWith('cd ') && mode === 'user') {
281
+ const newWorkingDirectory = command.split(' ')[1];
282
+ projectRoot = (0, project_files_1.setProjectRoot)(path_1.default.join(projectRoot, newWorkingDirectory));
283
+ }
284
+ // Reset the PTY to the project root
285
+ ptyProcess.write(`cd ${projectRoot}\r`);
286
+ resolve({
287
+ result: formatResult(commandOutput, 'Command completed'),
288
+ stdout: commandOutput,
287
289
  });
288
- childProcess.stderr.on('data', (data) => {
289
- const output = data.toString();
290
- // Try to detect error messages in the output
291
- if (mode === 'user' && isNotACommand(output)) {
292
- clearTimeout(timer);
293
- childProcess.kill();
294
- resolve({
295
- result: 'command not found',
296
- stdout: commandOutput,
297
- });
298
- return;
299
- }
300
- process.stdout.write(output);
301
- commandOutput += output;
290
+ return;
291
+ }
292
+ process.stdout.write(data);
293
+ commandOutput += data;
294
+ });
295
+ // Write the command
296
+ const commandWithCheck = `${command}; ec=$?; if [ $ec -eq 0 ]; then printf "Command completed. "; else printf "Command failed with exit code $ec. "; fi`;
297
+ ptyProcess.write(commandWithCheck + '\r');
298
+ };
299
+ const runCommandChildProcess = (persistentProcess, command, mode, resolve) => {
300
+ let projectRoot = (0, project_files_1.getProjectRoot)();
301
+ const isWindows = os.platform() === 'win32';
302
+ let commandOutput = '';
303
+ if (mode === 'assistant') {
304
+ console.log();
305
+ console.log((0, picocolors_1.green)(`> ${command}`));
306
+ }
307
+ const childProcess = (0, child_process_1.spawn)(persistentProcess.shell, [isWindows ? '/c' : '-c', command], {
308
+ cwd: projectRoot,
309
+ env: {
310
+ ...process.env,
311
+ PAGER: 'cat',
312
+ GIT_PAGER: 'cat',
313
+ GIT_TERMINAL_PROMPT: '0',
314
+ LESS: '-FRX',
315
+ },
316
+ });
317
+ persistentProcess = {
318
+ ...persistentProcess,
319
+ childProcess,
320
+ };
321
+ const timer = setTimeout(() => {
322
+ (0, exports.resetShell)();
323
+ if (mode === 'assistant') {
324
+ resolve({
325
+ result: formatResult(commandOutput, `Command timed out after ${MAX_EXECUTION_TIME / 1000} seconds and was terminated.`),
326
+ stdout: commandOutput,
302
327
  });
303
- childProcess.on('close', (code) => {
304
- clearTimeout(timer);
305
- if (command.startsWith('cd ') && mode === 'user') {
306
- const newWorkingDirectory = command.split(' ')[1];
307
- (0, project_files_1.setProjectRoot)(path_1.default.join(projectRoot, newWorkingDirectory));
308
- }
309
- if (mode === 'assistant') {
310
- console.log((0, picocolors_1.green)(`Command completed`));
311
- }
312
- resolve({
313
- result: formatResult(commandOutput, `Command completed`),
314
- stdout: commandOutput,
315
- });
328
+ }
329
+ }, MAX_EXECUTION_TIME);
330
+ persistentProcess.timerId = timer;
331
+ childProcess.stdout.on('data', (data) => {
332
+ const output = data.toString();
333
+ process.stdout.write(output);
334
+ commandOutput += output;
335
+ });
336
+ childProcess.stderr.on('data', (data) => {
337
+ const output = data.toString();
338
+ // Try to detect error messages in the output
339
+ if (mode === 'user' && isNotACommand(output)) {
340
+ clearTimeout(timer);
341
+ childProcess.kill();
342
+ resolve({
343
+ result: 'command not found',
344
+ stdout: commandOutput,
316
345
  });
346
+ return;
317
347
  }
348
+ process.stdout.write(output);
349
+ commandOutput += output;
350
+ });
351
+ childProcess.on('close', (code) => {
352
+ clearTimeout(timer);
353
+ if (command.startsWith('cd ') && mode === 'user') {
354
+ const newWorkingDirectory = command.split(' ')[1];
355
+ (0, project_files_1.setProjectRoot)(path_1.default.join(projectRoot, newWorkingDirectory));
356
+ }
357
+ if (mode === 'assistant') {
358
+ console.log((0, picocolors_1.green)(`Command completed`));
359
+ }
360
+ resolve({
361
+ result: formatResult(commandOutput, `Command completed`),
362
+ stdout: commandOutput,
363
+ });
318
364
  });
319
365
  };
320
- exports.runTerminalCommand = runTerminalCommand;
321
366
  //# sourceMappingURL=terminal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/utils/terminal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/utils/terminal.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export declare function scrapeWebPage(url: string): Promise<any>;
1
+ export declare function scrapeWebPage(url: string): Promise<string>;
2
2
  export declare function parseUrlsFromContent(content: string): string[];
3
3
  export declare function getScrapedContentBlocks(urls: string[]): Promise<string[]>;
@@ -15,13 +15,15 @@ async function scrapeWebPage(url) {
15
15
  return scrapedPagesCache[url];
16
16
  }
17
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()
18
+ let content = '';
19
+ if (url.startsWith('https://raw.githubusercontent.com/')) {
20
+ const response = await axios_1.default.get(url);
21
+ content = response.data;
22
+ }
23
+ else {
24
+ const response = await axios_1.default.get(`https://r.jina.ai/${url}`);
25
+ content = response.data;
26
+ }
25
27
  // Store the scraped content in the cache
26
28
  scrapedPagesCache[url] = content;
27
29
  return content;
@@ -1 +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"}
1
+ {"version":3,"file":"web-scraper.js","sourceRoot":"","sources":["../src/web-scraper.ts"],"names":[],"mappings":";;;;;AAKA,sCA2BC;AAED,oDAGC;AAGD,0DAgBC;AAxDD,kDAAyB;AAEzB,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,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,IAAI,GAAG,CAAC,UAAU,CAAC,oCAAoC,CAAC,EAAE,CAAC;YACzD,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACrC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAA;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAA;YAC5D,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAA;QACzB,CAAC;QACD,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codebuff",
3
- "version": "1.0.148",
3
+ "version": "1.0.150",
4
4
  "description": "AI dev assistant",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -41,7 +41,6 @@
41
41
  "@types/diff": "5.2.1",
42
42
  "@vscode/ripgrep": "1.15.9",
43
43
  "axios": "1.7.4",
44
- "cheerio": "1.0.0",
45
44
  "diff": "5.2.0",
46
45
  "env-cmd": "^10.1.0",
47
46
  "ignore": "5.3.2",
@@ -1 +0,0 @@
1
- export {};