codebuff 1.0.249 → 1.0.250

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/dist/background-process-manager.js +359 -0
  2. package/dist/background-process-manager.js.map +1 -0
  3. package/dist/browser-runner.js +680 -0
  4. package/dist/browser-runner.js.map +1 -0
  5. package/dist/chat-storage.js +93 -0
  6. package/dist/chat-storage.js.map +1 -0
  7. package/dist/checkpoints/checkpoint-manager.js +280 -0
  8. package/dist/checkpoints/checkpoint-manager.js.map +1 -0
  9. package/dist/cli-handlers/api-key.js +66 -0
  10. package/dist/cli-handlers/api-key.js.map +1 -0
  11. package/dist/cli-handlers/checkpoint.js +195 -0
  12. package/dist/cli-handlers/checkpoint.js.map +1 -0
  13. package/dist/cli-handlers/diff.js +31 -0
  14. package/dist/cli-handlers/diff.js.map +1 -0
  15. package/dist/cli-handlers/inititalization-flow.js +24 -0
  16. package/dist/cli-handlers/inititalization-flow.js.map +1 -0
  17. package/dist/cli.js +478 -0
  18. package/dist/cli.js.map +1 -0
  19. package/dist/client.js +836 -0
  20. package/dist/client.js.map +1 -0
  21. package/dist/common/actions.d.ts +32 -32
  22. package/dist/common/types/usage.d.ts +2 -2
  23. package/dist/common/websockets/websocket-schema.d.ts +68 -68
  24. package/dist/credentials.js +38 -0
  25. package/dist/credentials.js.map +1 -0
  26. package/dist/dev-process-manager.js +54 -0
  27. package/dist/dev-process-manager.js.map +1 -0
  28. package/dist/index.js +117 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/menu.js +126 -0
  31. package/dist/menu.js.map +1 -0
  32. package/dist/project-files.js +513 -0
  33. package/dist/project-files.js.map +1 -0
  34. package/dist/startup-process-handler.js +21 -0
  35. package/dist/startup-process-handler.js.map +1 -0
  36. package/dist/tool-handlers.js +240 -0
  37. package/dist/tool-handlers.js.map +1 -0
  38. package/dist/{common/types/plan.js → types.js} +1 -1
  39. package/dist/types.js.map +1 -0
  40. package/dist/utils/__tests__/tool-renderers.test.js +51 -0
  41. package/dist/utils/__tests__/tool-renderers.test.js.map +1 -0
  42. package/dist/utils/__tests__/xml-stream-parser.test.js +229 -0
  43. package/dist/utils/__tests__/xml-stream-parser.test.js.map +1 -0
  44. package/dist/utils/analytics.js +59 -0
  45. package/dist/utils/analytics.js.map +1 -0
  46. package/dist/utils/logger.js +105 -0
  47. package/dist/utils/logger.js.map +1 -0
  48. package/dist/utils/terminal.js +474 -0
  49. package/dist/utils/terminal.js.map +1 -0
  50. package/dist/utils/tool-renderers.js +145 -0
  51. package/dist/utils/tool-renderers.js.map +1 -0
  52. package/dist/utils/xml-stream-parser.js +128 -0
  53. package/dist/utils/xml-stream-parser.js.map +1 -0
  54. package/dist/web-scraper.js +57 -0
  55. package/dist/web-scraper.js.map +1 -0
  56. package/dist/workers/project-context.js +17 -0
  57. package/dist/workers/project-context.js.map +1 -0
  58. package/package.json +1 -1
  59. package/dist/common/billing/auto-topup.d.ts +0 -8
  60. package/dist/common/billing/auto-topup.js +0 -192
  61. package/dist/common/billing/auto-topup.js.map +0 -1
  62. package/dist/common/billing/balance-calculator.d.ts +0 -57
  63. package/dist/common/billing/balance-calculator.js +0 -218
  64. package/dist/common/billing/balance-calculator.js.map +0 -1
  65. package/dist/common/billing/conversion.d.ts +0 -9
  66. package/dist/common/billing/conversion.js +0 -20
  67. package/dist/common/billing/conversion.js.map +0 -1
  68. package/dist/common/billing/credit-conversion.d.ts +0 -24
  69. package/dist/common/billing/credit-conversion.js +0 -48
  70. package/dist/common/billing/credit-conversion.js.map +0 -1
  71. package/dist/common/billing/grant-credits.d.ts +0 -43
  72. package/dist/common/billing/grant-credits.js +0 -266
  73. package/dist/common/billing/grant-credits.js.map +0 -1
  74. package/dist/common/billing/plans.d.ts +0 -13
  75. package/dist/common/billing/plans.js +0 -44
  76. package/dist/common/billing/plans.js.map +0 -1
  77. package/dist/common/json-config/__tests__/__snapshots__/stringify-schema.test.js.snap +0 -66
  78. package/dist/common/types/plan.d.ts +0 -24
  79. package/dist/common/types/plan.js.map +0 -1
  80. package/dist/common/util/server/referral.d.ts +0 -14
  81. package/dist/common/util/server/referral.js +0 -85
  82. package/dist/common/util/server/referral.js.map +0 -1
package/dist/index.js ADDED
@@ -0,0 +1,117 @@
1
+ #!/usr/bin/env node
2
+ process.env.NEXT_PUBLIC_CB_ENVIRONMENT = 'production';
3
+ process.env.NEXT_PUBLIC_BACKEND_URL = 'manicode-backend.onrender.com';
4
+ process.env.NEXT_PUBLIC_APP_URL = 'https://www.codebuff.com';
5
+ process.env.NEXT_PUBLIC_SUPPORT_EMAIL = 'support@codebuff.com';
6
+ process.env.NEXT_PUBLIC_POSTHOG_API_KEY = 'phc_tug7g8yc10qNestK14QV8WyKwjfEl6vwzIbJkBdqeHS';
7
+ process.env.NEXT_PUBLIC_POSTHOG_HOST_URL = 'https://us.i.posthog.com';
8
+ "use strict";
9
+ var __importDefault = (this && this.__importDefault) || function (mod) {
10
+ return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ const commander_1 = require("commander");
14
+ const parser_1 = require("./common/json-config/parser");
15
+ const picocolors_1 = require("picocolors");
16
+ const package_json_1 = __importDefault(require("../package.json"));
17
+ const cli_1 = require("./cli");
18
+ const create_template_project_1 = require("./create-template-project");
19
+ const project_files_1 = require("./project-files");
20
+ const startup_process_handler_1 = require("./startup-process-handler");
21
+ const update_codebuff_1 = require("./update-codebuff");
22
+ const analytics_1 = require("./utils/analytics");
23
+ const terminal_1 = require("./utils/terminal");
24
+ async function codebuff(projectDir, { initialInput, git, costMode, runInitFlow, model }) {
25
+ const dir = (0, project_files_1.setProjectRoot)(projectDir);
26
+ (0, terminal_1.recreateShell)(dir);
27
+ // Load config file if it exists
28
+ const config = (0, parser_1.loadCodebuffConfig)(dir);
29
+ // Kill all processes we failed to kill before
30
+ const processCleanupPromise = (0, startup_process_handler_1.logAndHandleStartup)(dir, config);
31
+ (0, analytics_1.initAnalytics)();
32
+ const updatePromise = (0, update_codebuff_1.updateCodebuff)();
33
+ const initFileContextPromise = (0, project_files_1.initProjectFileContextWithWorker)(dir);
34
+ const readyPromise = Promise.all([
35
+ initFileContextPromise,
36
+ updatePromise,
37
+ processCleanupPromise,
38
+ ]);
39
+ const cli = new cli_1.CLI(readyPromise, { git, costMode, model });
40
+ await cli.printInitialPrompt({ initialInput, runInitFlow });
41
+ }
42
+ if (require.main === module) {
43
+ const program = new commander_1.Command();
44
+ program
45
+ .name('codebuff')
46
+ .description('AI code buffer')
47
+ .version(package_json_1.default.version)
48
+ .argument('[project-directory]', 'Project directory (default: current directory)')
49
+ .argument('[initial-prompt...]', 'Initial prompt to send')
50
+ .option('--lite', 'Use budget models & fetch fewer files')
51
+ .option('--max', 'Use higher quality models and fetch more files')
52
+ .option('--experimental', 'Use cutting-edge experimental features and models')
53
+ .option('--create <template> [name]', 'Create new project from template')
54
+ .option('--init', 'Initialize codebuff on this project for a smoother experience')
55
+ .option('--model <model>', 'Experimental: Specify the main model to use for the agent ("sonnet-3.6", "sonnet-3.7", "gpt-4.1", "gemini-2.5-pro", "o4-mini", "o3"). Be aware codebuff might not work as well with non-default models.')
56
+ .addHelpText('after', `
57
+ Available templates for --create:
58
+ nextjs - Next.js starter template
59
+ convex - Convex starter template
60
+ vite - Vite starter template
61
+ remix - Remix starter template
62
+ node-cli - Node.js CLI starter template
63
+ python-cli - Python CLI starter template
64
+ chrome-extension - Chrome extension starter template
65
+
66
+ See all templates at:
67
+ https://github.com/CodebuffAI/codebuff-community/tree/main/starter-templates
68
+
69
+ Examples:
70
+ $ codebuff # Start in current directory
71
+ $ codebuff my-project # Start in specific directory
72
+ $ codebuff --create nextjs my-app # Create new Next.js project
73
+ $ codebuff . "fix the bug in foo()" # Start with initial prompt
74
+
75
+ The recommended way to get started is by running 'codebuff' in your project directory.
76
+ `);
77
+ program.parse();
78
+ const options = program.opts();
79
+ const args = program.args;
80
+ // Handle template creation
81
+ if (options.create) {
82
+ const template = options.create;
83
+ const projectDir = args[0] || '.';
84
+ const projectName = args[1] || template;
85
+ (0, create_template_project_1.createTemplateProject)(template, projectDir, projectName);
86
+ process.exit(0);
87
+ }
88
+ // Handle deprecated --pro flag
89
+ if (options.pro) {
90
+ console.error((0, picocolors_1.red)('Warning: The --pro flag is deprecated. Please restart codebuff and use the --max option instead.'));
91
+ process.exit(1);
92
+ }
93
+ // Determine cost mode
94
+ let costMode = 'normal';
95
+ if (options.lite) {
96
+ costMode = 'lite';
97
+ }
98
+ else if (options.max) {
99
+ costMode = 'max';
100
+ }
101
+ else if (options.experimental) {
102
+ costMode = 'experimental';
103
+ }
104
+ // Handle git integration
105
+ const git = options.git === 'stage' ? 'stage' : undefined;
106
+ // Get project directory and initial input
107
+ const projectPath = args[0];
108
+ const initialInput = args.slice(1).join(' ');
109
+ codebuff(projectPath, {
110
+ initialInput,
111
+ git,
112
+ costMode,
113
+ runInitFlow: options.init,
114
+ model: options.model,
115
+ });
116
+ }
117
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/menu.js ADDED
@@ -0,0 +1,126 @@
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
+ exports.displayGreeting = displayGreeting;
30
+ exports.displayMenu = displayMenu;
31
+ const fs = __importStar(require("fs"));
32
+ const os_1 = __importDefault(require("os"));
33
+ const path_1 = __importDefault(require("path"));
34
+ const constants_1 = require("./common/constants");
35
+ const picocolors_1 = __importStar(require("picocolors"));
36
+ const project_files_1 = require("./project-files");
37
+ const getRandomColors = () => {
38
+ const allColors = ['red', 'green', 'yellow', 'blue', 'magenta', 'cyan'];
39
+ const colors = [];
40
+ while (colors.length < 3) {
41
+ const color = allColors[Math.floor(Math.random() * allColors.length)];
42
+ if (!colors.includes(color)) {
43
+ colors.push(color);
44
+ }
45
+ }
46
+ return colors;
47
+ };
48
+ function displayGreeting(costMode, username) {
49
+ // Show extra info only for logged in users
50
+ const costModeDescription = {
51
+ lite: (0, picocolors_1.bold)((0, picocolors_1.yellow)('Lite mode ✨ enabled')),
52
+ normal: '',
53
+ max: (0, picocolors_1.bold)((0, picocolors_1.blueBright)('Max mode️ ⚡ enabled')),
54
+ experimental: (0, picocolors_1.bold)((0, picocolors_1.magenta)('Experimental mode 🧪 enabled')),
55
+ };
56
+ if (costModeDescription[costMode]) {
57
+ console.log(`${costModeDescription[costMode]}`);
58
+ }
59
+ console.log(`Codebuff will read and write files in "${(0, project_files_1.getProjectRoot)()}". Type "help" for a list of commands.`);
60
+ const gitDir = path_1.default.join((0, project_files_1.getProjectRoot)(), '.git');
61
+ if ((0, project_files_1.getProjectRoot)() === os_1.default.homedir()) {
62
+ console.info('\nTo get started:\n- cd into a project\n- ask for a code change');
63
+ return;
64
+ }
65
+ if (!fs.existsSync(gitDir)) {
66
+ console.info((0, picocolors_1.magenta)("Just fyi, this project doesn't contain a .git directory (are you at the top level of your project?). Codebuff works best with a git repo!"));
67
+ }
68
+ console.log(`\nWelcome${username ? ` back ${username}` : ''}! What would you like to do?`);
69
+ }
70
+ function displayMenu() {
71
+ const selectedColors = getRandomColors();
72
+ const getRandomColor = () => {
73
+ return selectedColors[Math.floor(Math.random() * selectedColors.length)];
74
+ };
75
+ const colorizeRandom = (text) => {
76
+ return text
77
+ .split('')
78
+ .map((char) => {
79
+ const color = getRandomColor();
80
+ return picocolors_1.default[color](char);
81
+ })
82
+ .join('');
83
+ };
84
+ process.stdout.clearLine(0);
85
+ console.log();
86
+ console.log(`
87
+ ${colorizeRandom(' { AI }')}
88
+ ${colorizeRandom(' [CODER]')}
89
+ ${colorizeRandom(' ')}
90
+ ${colorizeRandom('██████╗')}${colorizeRandom(' ██████╗ ')}${colorizeRandom('██████╗ ')}${colorizeRandom('███████╗')}${colorizeRandom('██████╗ ')}${colorizeRandom('██╗ ██╗')}${colorizeRandom('███████╗')}${colorizeRandom('███████╗')}
91
+ ${colorizeRandom('██╔════╝')}${colorizeRandom('██╔═══██╗')}${colorizeRandom('██╔══██╗')}${colorizeRandom('██╔════╝')}${colorizeRandom('██╔══██╗')}${colorizeRandom('██║ ██║')}${colorizeRandom('██╔════╝')}${colorizeRandom('██╔════╝')}
92
+ ${colorizeRandom('██║ ')}${colorizeRandom('██║ ██║')}${colorizeRandom('██║ ██║')}${colorizeRandom('█████╗ ')}${colorizeRandom('██████╔╝')}${colorizeRandom('██║ ██║')}${colorizeRandom('█████╗ ')}${colorizeRandom('█████╗ ')}
93
+ ${colorizeRandom('██║ ')}${colorizeRandom('██║ ██║')}${colorizeRandom('██║ ██║')}${colorizeRandom('██╔══╝ ')}${colorizeRandom('██╔══██╗')}${colorizeRandom('██║ ██║')}${colorizeRandom('██╔══╝ ')}${colorizeRandom('██╔══╝ ')}
94
+ ${colorizeRandom('╚██████╗')}${colorizeRandom('╚██████╔╝')}${colorizeRandom('██████╔╝')}${colorizeRandom('███████╗')}${colorizeRandom('██████╔╝')}${colorizeRandom('╚██████╔╝')}${colorizeRandom('██║ ')}${colorizeRandom('██║ ')}
95
+ ${colorizeRandom(' ╚═════╝')}${colorizeRandom(' ╚═════╝ ')}${colorizeRandom('╚═════╝ ')}${colorizeRandom('╚══════╝')}${colorizeRandom('╚═════╝ ')}${colorizeRandom(' ╚═════╝ ')}${colorizeRandom('╚═╝ ')}${colorizeRandom('╚═╝ ')}
96
+ `);
97
+ console.log((0, picocolors_1.bold)((0, picocolors_1.green)("Welcome! I'm your AI coding assistant.")));
98
+ console.log(`\nCodebuff will read and write files within your current directory (${(0, project_files_1.getProjectRoot)()}) and run commands in your terminal.`);
99
+ console.log('\nASK CODEBUFF TO...');
100
+ console.log('- Build a feature. Brain dump what you want first.');
101
+ console.log('- Write unit tests');
102
+ console.log('- Refactor a component into multiple components');
103
+ console.log('- Fix errors from compiling your project or running tests');
104
+ console.log('- Write a script.');
105
+ console.log('- Plan a feature before implementing it. Or, write your own plan in a file and ask Codebuff to implement it step-by-step');
106
+ console.log('- Build an integration after pasting in the URL to relevant documentation');
107
+ console.log('- "Create knowledge files for your codebase" to help Codebuff understand your project');
108
+ console.log('\nCommands:');
109
+ console.log('- Enter terminal commands directly: "cd backend", "npm test"');
110
+ console.log('- Use "!command" to explicitly run a terminal command (e.g. "!ls -la")');
111
+ console.log('- Press ESC to cancel generation');
112
+ console.log('- Type "init" to have Codebuff automatically configure your project for a smoother experience');
113
+ console.log('- Type "undo" or "redo" (abbreviated "u" or "r") to undo or redo the last change');
114
+ console.log('- Type "login" to log into Codebuff');
115
+ console.log('- Type "exit" or press Ctrl+C twice to exit Codebuff');
116
+ console.log('- Type "diff" or "d" to show changes from the last assistant response');
117
+ console.log('- Start Codebuff with --lite for efficient responses, --max for higher quality responses, or --experimental for cutting-edge features');
118
+ console.log('\nCheckpoint Commands:');
119
+ console.log('- Type "checkpoint <id>" to restore a specific checkpoint');
120
+ console.log('- Type "checkpoint list" or "checkpoints" to list all available checkpoints');
121
+ console.log(`\n- Redeem a referral code by simply pasting it here.`);
122
+ console.log('-', (0, picocolors_1.bold)((0, picocolors_1.green)(`Refer new users and each of you will earn ${constants_1.CREDITS_REFERRAL_BONUS} credits per month: ${process.env.NEXT_PUBLIC_APP_URL}/referrals`)));
123
+ console.log("\nAny files in .gitignore are not read by Codebuff. You can ignore further files with .codebuffignore, or choose files Codebuff should not ignore by adding a '!' prefix to the ignore pattern.");
124
+ console.log('\nEmail your feedback to', (0, picocolors_1.bold)((0, picocolors_1.blue)('founders@codebuff.com.')), 'Thanks for using Codebuff!');
125
+ }
126
+ //# sourceMappingURL=menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.js","sourceRoot":"","sources":["../src/menu.ts"],"names":[],"mappings":"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"}