codebuff 1.0.123 → 1.0.124

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/dist/index.js CHANGED
@@ -14,8 +14,10 @@ const picocolors_1 = require("picocolors");
14
14
  const cli_1 = require("./cli");
15
15
  const project_files_1 = require("./project-files");
16
16
  const update_codebuff_1 = require("./update-codebuff");
17
+ const tool_handlers_1 = require("./tool-handlers");
17
18
  async function codebuff(projectDir, { initialInput, git, costMode }) {
18
19
  const dir = (0, project_files_1.setProjectRoot)(projectDir);
20
+ (0, tool_handlers_1.resetPtyShell)(dir);
19
21
  const updatePromise = (0, update_codebuff_1.updateCodebuff)();
20
22
  const initFileContextPromise = (0, project_files_1.initProjectFileContextWithWorker)(dir);
21
23
  const readyPromise = Promise.all([updatePromise, initFileContextPromise]);
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,11 +1,11 @@
1
1
  export type ToolHandler = (input: any, id: string) => Promise<string>;
2
2
  export declare const handleScrapeWebPage: ToolHandler;
3
+ export declare const resetPtyShell: (dir: string) => void;
3
4
  export declare const handleRunTerminalCommand: (input: {
4
5
  command: string;
5
6
  }, id: string, mode: "user" | "assistant") => Promise<{
6
7
  result: string;
7
8
  stdout: string;
8
- stderr: string;
9
9
  }>;
10
10
  export declare const handleCodeSearch: ToolHandler;
11
11
  export declare const toolHandlers: Record<string, ToolHandler>;
@@ -1,13 +1,38 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
5
28
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.toolHandlers = exports.handleCodeSearch = exports.handleRunTerminalCommand = exports.handleScrapeWebPage = void 0;
29
+ exports.toolHandlers = exports.handleCodeSearch = exports.handleRunTerminalCommand = exports.resetPtyShell = exports.handleScrapeWebPage = void 0;
7
30
  const child_process_1 = require("child_process");
8
31
  const path_1 = __importDefault(require("path"));
9
32
  const picocolors_1 = require("picocolors");
10
33
  const ripgrep_1 = require("@vscode/ripgrep");
34
+ const os = __importStar(require("os"));
35
+ const pty = __importStar(require("@cdktf/node-pty-prebuilt-multiarch"));
11
36
  const web_scraper_1 = require("./web-scraper");
12
37
  const project_files_1 = require("./project-files");
13
38
  const handleScrapeWebPage = async (input, id) => {
@@ -19,85 +44,124 @@ const handleScrapeWebPage = async (input, id) => {
19
44
  return `<web_scraped_content url="${url}">${content}</web_scraped_content>`;
20
45
  };
21
46
  exports.handleScrapeWebPage = handleScrapeWebPage;
47
+ const createPty = (dir) => {
48
+ const isWindows = os.platform() === 'win32';
49
+ const shell = os.platform() === 'win32' ? 'powershell.exe' : 'bash';
50
+ const persistentPty = pty.spawn(shell, [], {
51
+ name: 'xterm-256color',
52
+ cols: process.stdout.columns || 80,
53
+ rows: process.stdout.rows || 24,
54
+ cwd: dir,
55
+ env: {
56
+ ...process.env,
57
+ TERM: 'xterm-256color',
58
+ PAGER: 'cat',
59
+ GIT_PAGER: 'cat',
60
+ GIT_TERMINAL_PROMPT: '0',
61
+ ...(isWindows ? { TERM: 'cygwin' } : {}),
62
+ LESS: '-FRX',
63
+ TERM_PROGRAM: 'mintty',
64
+ },
65
+ });
66
+ return persistentPty;
67
+ };
68
+ let persistentPty = null;
69
+ const resetPtyShell = (dir) => {
70
+ if (persistentPty) {
71
+ persistentPty.kill();
72
+ }
73
+ persistentPty = createPty(dir);
74
+ };
75
+ exports.resetPtyShell = resetPtyShell;
22
76
  const handleRunTerminalCommand = async (input, id, mode) => {
77
+ // Note: With PTY, all output comes through stdout since it emulates a real terminal
23
78
  const { command } = input;
24
79
  return new Promise((resolve) => {
25
- let stdout = '';
26
- let stderr = '';
80
+ if (!persistentPty) {
81
+ throw new Error('Persistent PTY not initialized');
82
+ }
83
+ const ptyProcess = persistentPty;
27
84
  const MAX_EXECUTION_TIME = 10_000;
85
+ let streamedCommand = '';
86
+ let commandOutput = '';
28
87
  if (mode === 'assistant') {
29
88
  console.log();
30
89
  console.log((0, picocolors_1.green)(`> ${command}`));
31
90
  }
32
- const childProcess = (0, child_process_1.spawn)(command, {
33
- shell: true,
34
- cwd: (0, project_files_1.getProjectRoot)(),
35
- });
36
91
  const timer = setTimeout(() => {
37
92
  if (mode === 'assistant') {
38
- childProcess.kill();
93
+ // Kill and recreated PTY
94
+ (0, exports.resetPtyShell)((0, project_files_1.getProjectRoot)());
39
95
  resolve({
40
- result: formatResult(stdout, stderr, `Command timed out after ${MAX_EXECUTION_TIME / 1000} seconds. Partial results shown.`),
41
- stdout,
42
- stderr,
96
+ result: formatResult(commandOutput, undefined, `Command timed out after ${MAX_EXECUTION_TIME / 1000} seconds and was terminated. Shell has been restarted.`),
97
+ stdout: commandOutput,
43
98
  });
44
99
  }
45
100
  }, MAX_EXECUTION_TIME);
46
- childProcess.stdout.on('data', (data) => {
47
- process.stdout.write(data.toString());
48
- stdout += data.toString();
49
- });
50
- childProcess.stderr.on('data', (data) => {
51
- const dataStr = data.toString();
52
- stderr += data.toString();
101
+ const dataDisposable = ptyProcess.onData((data) => {
102
+ const totalOutput = streamedCommand + commandOutput + data;
103
+ // Windows PowerShell prompt pattern: "MM/DD HH:mm Path ►"
104
+ const windowsPromptRegex = /\d{2}\/\d{2}\s\d{2}:\d{2}\s.*\s►/;
105
+ const hasNextPromptOnWindows = windowsPromptRegex.test(totalOutput);
106
+ if (totalOutput.includes('bash-3.2$ ') || hasNextPromptOnWindows) {
107
+ clearTimeout(timer);
108
+ dataDisposable.dispose();
109
+ if (command.startsWith('cd ') && mode === 'user') {
110
+ const newWorkingDirectory = command.split(' ')[1];
111
+ (0, project_files_1.setProjectRoot)(path_1.default.join((0, project_files_1.getProjectRoot)(), newWorkingDirectory));
112
+ }
113
+ resolve({
114
+ result: formatResult(commandOutput, undefined, 'Command completed'),
115
+ stdout: commandOutput,
116
+ });
117
+ if (mode === 'assistant') {
118
+ console.log((0, picocolors_1.green)(`Command completed`));
119
+ }
120
+ // Reset the PTY to the project root
121
+ ptyProcess.write(`cd ${(0, project_files_1.getProjectRoot)()}\r`);
122
+ return;
123
+ }
124
+ const prefix = (streamedCommand + data).trim();
125
+ // Skip command echo and partial command echoes
126
+ if (command.startsWith(prefix)) {
127
+ streamedCommand += data;
128
+ return;
129
+ }
130
+ // Check if prefix contains the command and some output
131
+ if (!streamedCommand.trim().startsWith(command) &&
132
+ prefix.startsWith(command)) {
133
+ streamedCommand += prefix.slice(0, command.length);
134
+ data = prefix.slice(command.length);
135
+ }
136
+ // Try to detect error messages in the output
53
137
  if (mode === 'user' &&
54
138
  // Mac
55
- (dataStr.includes('command not found') ||
139
+ (data.includes('command not found') ||
56
140
  // Linux
57
- dataStr.includes(': not found') ||
141
+ data.includes(': not found') ||
58
142
  // Common
59
- dataStr.includes('syntax error:') ||
143
+ data.includes('syntax error:') ||
60
144
  // Linux
61
- dataStr.includes('Syntax error:') ||
145
+ data.includes('Syntax error:') ||
62
146
  // Windows
63
- dataStr.includes('is not recognized as an internal or external command') ||
64
- dataStr.includes('/bin/sh: -c: line') ||
65
- dataStr.includes('/bin/sh: line') ||
66
- dataStr.startsWith('fatal:') ||
67
- dataStr.startsWith('error:'))) {
147
+ data.includes('is not recognized as an internal or external command') ||
148
+ data.includes('/bin/sh: -c: line') ||
149
+ data.includes('/bin/sh: line') ||
150
+ data.startsWith('fatal:') ||
151
+ data.startsWith('error:'))) {
152
+ clearTimeout(timer);
153
+ dataDisposable.dispose();
68
154
  resolve({
69
155
  result: 'command not found',
70
- stdout,
71
- stderr,
156
+ stdout: commandOutput,
72
157
  });
158
+ return;
73
159
  }
74
- else {
75
- process.stderr.write(data.toString());
76
- }
77
- });
78
- childProcess.on('close', (code) => {
79
- if (command.startsWith('cd ') && code === 0 && mode === 'user') {
80
- const newWorkingDirectory = command.split(' ')[1];
81
- (0, project_files_1.setProjectRoot)(path_1.default.join((0, project_files_1.getProjectRoot)(), newWorkingDirectory));
82
- }
83
- clearTimeout(timer);
84
- resolve({
85
- result: formatResult(stdout, stderr, 'Command completed', code),
86
- stdout,
87
- stderr,
88
- });
89
- if (mode === 'assistant') {
90
- console.log((0, picocolors_1.green)(`Command finished with exit code: ${code}\n`));
91
- }
92
- });
93
- childProcess.on('error', (error) => {
94
- clearTimeout(timer);
95
- resolve({
96
- result: `<terminal_command_error>Failed to execute command: ${error.message}</terminal_command_error>`,
97
- stdout,
98
- stderr,
99
- });
160
+ process.stdout.write(data);
161
+ commandOutput += data;
100
162
  });
163
+ // Write the command
164
+ ptyProcess.write(command + '\r');
101
165
  });
102
166
  };
103
167
  exports.handleRunTerminalCommand = handleRunTerminalCommand;
@@ -109,7 +173,9 @@ const truncate = (str, maxLength) => {
109
173
  function formatResult(stdout, stderr, status, exitCode) {
110
174
  let result = '<terminal_command_result>\n';
111
175
  result += `<stdout>${truncate(stdout, 10000)}</stdout>\n`;
112
- result += `<stderr>${truncate(stderr, 10000)}</stderr>\n`;
176
+ if (stderr !== undefined) {
177
+ result += `<stderr>${truncate(stderr, 10000)}</stderr>\n`;
178
+ }
113
179
  if (status !== undefined) {
114
180
  result += `<status>${status}</status>\n`;
115
181
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tool-handlers.js","sourceRoot":"","sources":["../src/tool-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-handlers.js","sourceRoot":"","sources":["../src/tool-handlers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codebuff",
3
- "version": "1.0.123",
3
+ "version": "1.0.124",
4
4
  "description": "AI dev assistant",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -16,6 +16,7 @@
16
16
  "prepublishOnly": "bun run build && bun run clean-package.js",
17
17
  "postpublish": "echo \"const fs=require('fs');fs.copyFileSync('temp.package.json','package.json');fs.unlinkSync('temp.package.json');\" | bun run -",
18
18
  "format": "prettier --write \"**/*.{ts,tsx,json,md}\"",
19
+ "test": "jest",
19
20
  "start-js": "bun run with-env -- node dist/index.js ..",
20
21
  "start": "bun run with-env -- ts-node src/index.ts .. --git stage",
21
22
  "start-dir": "bun run with-env -- ts-node src/index.ts",
@@ -35,6 +36,7 @@
35
36
  "node": ">=14"
36
37
  },
37
38
  "dependencies": {
39
+ "@cdktf/node-pty-prebuilt-multiarch": "0.10.1-pre.11",
38
40
  "@types/diff": "5.2.1",
39
41
  "@vscode/ripgrep": "1.15.9",
40
42
  "axios": "1.7.4",
@@ -63,6 +65,7 @@
63
65
  "zod": "3.23.8"
64
66
  },
65
67
  "trustedDependencies": [
66
- "@vscode/ripgrep"
68
+ "@vscode/ripgrep",
69
+ "@cdktf/node-pty-prebuilt-multiarch"
67
70
  ]
68
71
  }
@@ -1,92 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- const drizzle_orm_1 = require("drizzle-orm");
30
- const stripe_1 = require("../util/stripe");
31
- const db_1 = __importDefault(require("../db"));
32
- const schema = __importStar(require("../db/schema"));
33
- async function main() {
34
- const email = process.argv[2];
35
- if (!email) {
36
- console.error('Please provide an email address');
37
- process.exit(1);
38
- }
39
- console.log(`Processing user ${email}...`);
40
- // Find user and verify subscription
41
- const user = await db_1.default.query.user.findFirst({
42
- where: (0, drizzle_orm_1.eq)(schema.user.email, email),
43
- });
44
- if (!user?.stripe_customer_id) {
45
- console.error('User not found or has no Stripe customer ID');
46
- process.exit(1);
47
- }
48
- console.log('Found user:', user.id);
49
- // Get subscriptions for customer
50
- const subscriptions = await stripe_1.stripeServer.subscriptions.list({
51
- customer: user.stripe_customer_id,
52
- status: 'active',
53
- });
54
- if (subscriptions.data.length === 0) {
55
- console.error('No active subscription found');
56
- process.exit(1);
57
- }
58
- const subscription = subscriptions.data[0];
59
- console.log('Found subscription:', subscription.id);
60
- // Update subscription items
61
- console.log('Updating subscription items...');
62
- await stripe_1.stripeServer.subscriptions.update(subscription.id, {
63
- items: [
64
- { price: 'price_1QLxwxKrNS6SjmqWeKhJIlAD', quantity: 1 },
65
- { price: 'price_1QMlqaKrNS6SjmqWQEeaTcqk' },
66
- ],
67
- });
68
- // Calculate usage since Oct 30, 2024
69
- const startDate = new Date('2024-10-30');
70
- const creditsUsed = await db_1.default
71
- .select({
72
- total: (0, drizzle_orm_1.sql) `SUM(${schema.message.credits})`,
73
- })
74
- .from(schema.message)
75
- .where((0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(schema.message.user_id, user.id), (0, drizzle_orm_1.gte)(schema.message.finished_at, startDate)))
76
- .then((result) => parseInt(result[0]?.total ?? '0'));
77
- console.log('Credits used since Oct 30, 2024:', creditsUsed);
78
- // Report usage
79
- const timestamp = Math.floor(startDate.getTime() / 1000);
80
- await stripe_1.stripeServer.subscriptionItems.createUsageRecord(subscription.items.data[1].id, // Get the metered price item
81
- {
82
- quantity: creditsUsed,
83
- timestamp,
84
- action: 'set',
85
- });
86
- console.log('Successfully updated subscription and usage');
87
- }
88
- main().catch((error) => {
89
- console.error('Error:', error);
90
- process.exit(1);
91
- });
92
- //# sourceMappingURL=update-subscriptions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-subscriptions.js","sourceRoot":"","sources":["../../src/scripts/update-subscriptions.ts"],"names":[],"mappings":"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"}