codebuff 1.0.227 → 1.0.229

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 (92) hide show
  1. package/dist/background-process-manager.d.ts +4 -2
  2. package/dist/background-process-manager.js +75 -56
  3. package/dist/background-process-manager.js.map +1 -1
  4. package/dist/cli.d.ts +3 -1
  5. package/dist/cli.js +15 -2
  6. package/dist/cli.js.map +1 -1
  7. package/dist/client.d.ts +7 -5
  8. package/dist/client.js +49 -29
  9. package/dist/client.js.map +1 -1
  10. package/dist/code-map/tsconfig.tsbuildinfo +1 -1
  11. package/dist/common/actions.d.ts +114 -108
  12. package/dist/common/actions.js +5 -1
  13. package/dist/common/actions.js.map +1 -1
  14. package/dist/common/bigquery/client.d.ts +15 -0
  15. package/dist/common/bigquery/client.js +245 -0
  16. package/dist/common/bigquery/client.js.map +1 -0
  17. package/dist/common/bigquery/schema.d.ts +54 -0
  18. package/dist/common/bigquery/schema.js +24 -0
  19. package/dist/common/bigquery/schema.js.map +1 -0
  20. package/dist/common/billing/balance-calculator.d.ts +3 -0
  21. package/dist/common/billing/balance-calculator.js +6 -2
  22. package/dist/common/billing/balance-calculator.js.map +1 -1
  23. package/dist/common/billing/grant-credits.d.ts +16 -1
  24. package/dist/common/billing/grant-credits.js +67 -2
  25. package/dist/common/billing/grant-credits.js.map +1 -1
  26. package/dist/common/constants/tools.d.ts +1 -0
  27. package/dist/common/constants/tools.js +21 -1
  28. package/dist/common/constants/tools.js.map +1 -1
  29. package/dist/common/constants.d.ts +2 -1
  30. package/dist/common/constants.js +2 -5
  31. package/dist/common/constants.js.map +1 -1
  32. package/dist/common/db/transaction.d.ts +12 -0
  33. package/dist/common/db/transaction.js +36 -0
  34. package/dist/common/db/transaction.js.map +1 -0
  35. package/dist/common/json-config/__tests__/stringify-schema.test.d.ts +1 -0
  36. package/dist/common/json-config/__tests__/stringify-schema.test.js +66 -0
  37. package/dist/common/json-config/__tests__/stringify-schema.test.js.map +1 -0
  38. package/dist/common/json-config/constants.d.ts +77 -0
  39. package/dist/common/json-config/constants.js +42 -0
  40. package/dist/common/json-config/constants.js.map +1 -0
  41. package/dist/common/json-config/stringify-schema.d.ts +10 -0
  42. package/dist/common/json-config/stringify-schema.js +87 -0
  43. package/dist/common/json-config/stringify-schema.js.map +1 -0
  44. package/dist/common/types/usage.d.ts +4 -4
  45. package/dist/common/util/__tests__/string.test.js +2 -3
  46. package/dist/common/util/__tests__/string.test.js.map +1 -1
  47. package/dist/common/util/string.d.ts +3 -2
  48. package/dist/common/util/string.js +14 -4
  49. package/dist/common/util/string.js.map +1 -1
  50. package/dist/common/websockets/websocket-client.d.ts +2 -1
  51. package/dist/common/websockets/websocket-client.js +12 -0
  52. package/dist/common/websockets/websocket-client.js.map +1 -1
  53. package/dist/common/websockets/websocket-schema.d.ts +222 -202
  54. package/dist/{json-config/dev-process-manager.d.ts → dev-process-manager.d.ts} +1 -1
  55. package/dist/{json-config/dev-process-manager.js → dev-process-manager.js} +15 -5
  56. package/dist/dev-process-manager.js.map +1 -0
  57. package/dist/index.js +10 -6
  58. package/dist/index.js.map +1 -1
  59. package/dist/utils/__tests__/response-example-4-files.txt +621 -0
  60. package/dist/utils/__tests__/tool-renderers.test.js +16 -8
  61. package/dist/utils/__tests__/tool-renderers.test.js.map +1 -1
  62. package/dist/utils/__tests__/xml-stream-parser.test.js +23 -11
  63. package/dist/utils/__tests__/xml-stream-parser.test.js.map +1 -1
  64. package/dist/utils/terminal.d.ts +10 -3
  65. package/dist/utils/terminal.js +53 -14
  66. package/dist/utils/terminal.js.map +1 -1
  67. package/package.json +2 -2
  68. package/dist/common/billing/quota-manager.d.ts +0 -29
  69. package/dist/common/billing/quota-manager.js +0 -251
  70. package/dist/common/billing/quota-manager.js.map +0 -1
  71. package/dist/common/logger.d.ts +0 -1
  72. package/dist/common/logger.js +0 -7
  73. package/dist/common/logger.js.map +0 -1
  74. package/dist/common/util/constants.d.ts +0 -1
  75. package/dist/common/util/constants.js +0 -7
  76. package/dist/common/util/constants.js.map +0 -1
  77. package/dist/common/util/helpers.d.ts +0 -1
  78. package/dist/common/util/helpers.js +0 -6
  79. package/dist/common/util/helpers.js.map +0 -1
  80. package/dist/common/util/token-counter.d.ts +0 -3
  81. package/dist/common/util/token-counter.js +0 -27
  82. package/dist/common/util/token-counter.js.map +0 -1
  83. package/dist/common/util/tools.d.ts +0 -2
  84. package/dist/common/util/tools.js +0 -13
  85. package/dist/common/util/tools.js.map +0 -1
  86. package/dist/json-config/constants.d.ts +0 -43
  87. package/dist/json-config/constants.js +0 -13
  88. package/dist/json-config/constants.js.map +0 -1
  89. package/dist/json-config/dev-process-manager.js.map +0 -1
  90. /package/dist/{json-config → common/json-config}/parser.d.ts +0 -0
  91. /package/dist/{json-config → common/json-config}/parser.js +0 -0
  92. /package/dist/{json-config → common/json-config}/parser.js.map +0 -0
@@ -1,4 +1,4 @@
1
- import { StartupProcess } from './constants';
1
+ import { StartupProcess } from './common/json-config/constants';
2
2
  /**
3
3
  * Starts background development processes defined in codebuff.json
4
4
  */
@@ -5,17 +5,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.startDevProcesses = startDevProcesses;
7
7
  const path_1 = __importDefault(require("path"));
8
- const string_1 = require("../common/util/string");
8
+ const string_1 = require("./common/util/string");
9
9
  const picocolors_1 = require("picocolors");
10
- const terminal_1 = require("../utils/terminal");
10
+ const terminal_1 = require("./utils/terminal");
11
11
  /**
12
12
  * Starts background development processes defined in codebuff.json
13
13
  */
14
14
  async function startDevProcesses(processes, projectPath) {
15
- if (processes.length) {
15
+ if (processes.some((process) => process.enabled)) {
16
16
  console.log((0, picocolors_1.yellow)('Starting development processes:'));
17
17
  }
18
- for (const { name, command, cwd } of processes) {
18
+ for (const { name, command, cwd, enabled, stderrFile, stdoutFile, } of processes) {
19
+ if (!enabled) {
20
+ continue;
21
+ }
19
22
  // Resolve working directory
20
23
  const workingDir = cwd
21
24
  ? path_1.default.isAbsolute(cwd)
@@ -23,7 +26,14 @@ async function startDevProcesses(processes, projectPath) {
23
26
  : path_1.default.resolve(projectPath, cwd)
24
27
  : projectPath;
25
28
  // Start the process
26
- await (0, terminal_1.runBackgroundCommand)((0, string_1.generateCompactId)(), command, 'user', workingDir, ({ result }) => {
29
+ await (0, terminal_1.runBackgroundCommand)({
30
+ toolCallId: (0, string_1.generateCompactId)(),
31
+ command,
32
+ mode: 'user',
33
+ projectPath: workingDir,
34
+ stdoutFile,
35
+ stderrFile,
36
+ }, ({ result }) => {
27
37
  const m = result.match(/<process_id>(\d+)<\/process_id>/);
28
38
  if (m) {
29
39
  console.log((0, picocolors_1.yellow)(`- ${name}: \`${command}\` (pid: ${m[1]})`));
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-process-manager.js","sourceRoot":"","sources":["../src/dev-process-manager.ts"],"names":[],"mappings":";;;;;AAWA,8CA8CC;AAzDD,gDAAuB;AAGvB,+CAAsD;AACtD,2CAAmC;AAEnC,+CAAuD;AAEvD;;GAEG;AACI,KAAK,UAAU,iBAAiB,CACrC,SAA2B,EAC3B,WAAmB;IAEnB,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,IAAA,mBAAM,EAAC,iCAAiC,CAAC,CAAC,CAAA;IACxD,CAAC;IACD,KAAK,MAAM,EACT,IAAI,EACJ,OAAO,EACP,GAAG,EACH,OAAO,EACP,UAAU,EACV,UAAU,GACX,IAAI,SAAS,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAQ;QACV,CAAC;QAED,4BAA4B;QAC5B,MAAM,UAAU,GAAG,GAAG;YACpB,CAAC,CAAC,cAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBACpB,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC;YAClC,CAAC,CAAC,WAAW,CAAA;QAEf,oBAAoB;QACpB,MAAM,IAAA,+BAAoB,EACxB;YACE,UAAU,EAAE,IAAA,0BAAiB,GAAE;YAC/B,OAAO;YACP,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,UAAU;YACvB,UAAU;YACV,UAAU;SACX,EACD,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YACb,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;YACzD,IAAI,CAAC,EAAE,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,IAAA,mBAAM,EAAC,KAAK,IAAI,OAAO,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACjE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,IAAA,mBAAM,EAAC,KAAK,IAAI,OAAO,OAAO,oBAAoB,CAAC,CAAC,CAAA;YAClE,CAAC;QACH,CAAC,CACF,CAAA;IACH,CAAC;AACH,CAAC"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  process.env.ENVIRONMENT = 'production';
3
3
  process.env.NEXT_PUBLIC_BACKEND_URL = 'manicode-backend.onrender.com';
4
- process.env.NEXT_PUBLIC_APP_URL = 'https://codebuff.com';
4
+ process.env.NEXT_PUBLIC_APP_URL = 'https://www.codebuff.com';
5
5
  process.env.NEXT_PUBLIC_SUPPORT_EMAIL = 'support@codebuff.com';
6
6
  "use strict";
7
7
  var __importDefault = (this && this.__importDefault) || function (mod) {
@@ -9,13 +9,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
9
9
  };
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
11
  const commander_1 = require("commander");
12
+ const parser_1 = require("./common/json-config/parser");
12
13
  const picocolors_1 = require("picocolors");
13
14
  const package_json_1 = __importDefault(require("../package.json"));
14
15
  const background_process_manager_1 = require("./background-process-manager");
15
16
  const cli_1 = require("./cli");
16
17
  const create_template_project_1 = require("./create-template-project");
17
- const dev_process_manager_1 = require("./json-config/dev-process-manager");
18
- const parser_1 = require("./json-config/parser");
18
+ const dev_process_manager_1 = require("./dev-process-manager");
19
19
  const project_files_1 = require("./project-files");
20
20
  const update_codebuff_1 = require("./update-codebuff");
21
21
  const terminal_1 = require("./utils/terminal");
@@ -23,7 +23,7 @@ async function codebuff(projectDir, { initialInput, git, costMode, model }) {
23
23
  const dir = (0, project_files_1.setProjectRoot)(projectDir);
24
24
  (0, terminal_1.recreateShell)(dir);
25
25
  // Kill all processes we failed to kill before
26
- (0, background_process_manager_1.cleanupStoredProcesses)();
26
+ const processCleanupPromise = (0, background_process_manager_1.cleanupStoredProcesses)();
27
27
  const updatePromise = (0, update_codebuff_1.updateCodebuff)();
28
28
  // Load codebuff.json config if it exists
29
29
  const config = (0, parser_1.loadCodebuffConfig)(dir);
@@ -31,7 +31,11 @@ async function codebuff(projectDir, { initialInput, git, costMode, model }) {
31
31
  await (0, dev_process_manager_1.startDevProcesses)(config.startupProcesses, dir);
32
32
  }
33
33
  const initFileContextPromise = (0, project_files_1.initProjectFileContextWithWorker)(dir);
34
- const readyPromise = Promise.all([updatePromise, initFileContextPromise]);
34
+ const readyPromise = Promise.all([
35
+ initFileContextPromise,
36
+ updatePromise,
37
+ processCleanupPromise,
38
+ ]);
35
39
  const cli = new cli_1.CLI(readyPromise, { git, costMode, model });
36
40
  await cli.printInitialPrompt(initialInput);
37
41
  }
@@ -47,7 +51,7 @@ if (require.main === module) {
47
51
  .option('--max', 'Use higher quality models and fetch more files')
48
52
  .option('--experimental', 'Use cutting-edge experimental features and models')
49
53
  .option('--create <template> [name]', 'Create new project from template')
50
- .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", "o3-mini"). Be aware codebuff might not work as well with non-default models.')
54
+ .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.')
51
55
  .addHelpText('after', `
52
56
  Available templates for --create:
53
57
  nextjs - Next.js starter template
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAEA,yCAAmC;AAEnC,2CAAgC;AAEhC,mEAAyC;AACzC,6EAAqE;AACrE,+BAA2B;AAC3B,uEAAiE;AACjE,2EAAqE;AACrE,iDAAyD;AACzD,mDAGwB;AAExB,uDAAkD;AAClD,+CAAgD;AAEhD,KAAK,UAAU,QAAQ,CACrB,UAA8B,EAC9B,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAc;IAElD,MAAM,GAAG,GAAG,IAAA,8BAAc,EAAC,UAAU,CAAC,CAAA;IACtC,IAAA,wBAAa,EAAC,GAAG,CAAC,CAAA;IAElB,8CAA8C;IAC9C,IAAA,mDAAsB,GAAE,CAAA;IAExB,MAAM,aAAa,GAAG,IAAA,gCAAc,GAAE,CAAA;IAEtC,yCAAyC;IACzC,MAAM,MAAM,GAAG,IAAA,2BAAkB,EAAC,GAAG,CAAC,CAAA;IACtC,IAAI,MAAM,EAAE,gBAAgB,EAAE,CAAC;QAC7B,MAAM,IAAA,uCAAiB,EAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,sBAAsB,GAAG,IAAA,gDAAgC,EAAC,GAAG,CAAC,CAAA;IAEpE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC,CAAA;IAEzE,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;IAE3D,MAAM,GAAG,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAA;AAC5C,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAA;IAE7B,OAAO;SACJ,IAAI,CAAC,UAAU,CAAC;SAChB,WAAW,CAAC,gBAAgB,CAAC;SAC7B,OAAO,CAAC,sBAAW,CAAC,OAAO,CAAC;SAC5B,QAAQ,CACP,qBAAqB,EACrB,gDAAgD,CACjD;SACA,QAAQ,CAAC,qBAAqB,EAAE,wBAAwB,CAAC;SACzD,MAAM,CAAC,QAAQ,EAAE,uCAAuC,CAAC;SACzD,MAAM,CAAC,OAAO,EAAE,gDAAgD,CAAC;SACjE,MAAM,CACL,gBAAgB,EAChB,mDAAmD,CACpD;SACA,MAAM,CAAC,4BAA4B,EAAE,kCAAkC,CAAC;SACxE,MAAM,CACL,iBAAiB,EACjB,mMAAmM,CACpM;SACA,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;;CAoBL,CACI,CAAA;IAEH,OAAO,CAAC,KAAK,EAAE,CAAA;IAEf,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IAEzB,2BAA2B;IAC3B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAA;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAA;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAA;QAEvC,IAAA,+CAAqB,EAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,+BAA+B;IAC/B,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CACX,IAAA,gBAAG,EACD,kGAAkG,CACnG,CACF,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,sBAAsB;IACtB,IAAI,QAAQ,GAAa,QAAQ,CAAA;IACjC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,QAAQ,GAAG,MAAM,CAAA;IACnB,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACvB,QAAQ,GAAG,KAAK,CAAA;IAClB,CAAC;SAAM,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAChC,QAAQ,GAAG,cAAc,CAAA;IAC3B,CAAC;IAED,yBAAyB;IACzB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAE,OAAiB,CAAC,CAAC,CAAC,SAAS,CAAA;IAEpE,0CAA0C;IAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE5C,QAAQ,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;AAC9E,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}