codecane 1.0.206 → 1.0.235

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 (217) hide show
  1. package/dist/code-map/languages.d.ts +0 -1
  2. package/dist/code-map/languages.js +23 -224
  3. package/dist/code-map/languages.js.map +1 -1
  4. package/dist/code-map/parse.js +1 -0
  5. package/dist/code-map/parse.js.map +1 -1
  6. package/dist/code-map/tsconfig.tsbuildinfo +1 -1
  7. package/dist/common/actions.d.ts +369 -826
  8. package/dist/common/actions.js +25 -31
  9. package/dist/common/actions.js.map +1 -1
  10. package/dist/common/api-keys/constants.d.ts +8 -0
  11. package/dist/common/api-keys/constants.js +26 -0
  12. package/dist/common/api-keys/constants.js.map +1 -0
  13. package/dist/common/api-keys/crypto.d.ts +24 -0
  14. package/dist/common/api-keys/crypto.js +186 -0
  15. package/dist/common/api-keys/crypto.js.map +1 -0
  16. package/dist/common/bigquery/client.d.ts +15 -0
  17. package/dist/common/bigquery/client.js +246 -0
  18. package/dist/common/bigquery/client.js.map +1 -0
  19. package/dist/common/bigquery/schema.d.ts +55 -0
  20. package/dist/common/bigquery/schema.js +24 -0
  21. package/dist/common/bigquery/schema.js.map +1 -0
  22. package/dist/common/billing/auto-topup.d.ts +8 -0
  23. package/dist/common/billing/auto-topup.js +192 -0
  24. package/dist/common/billing/auto-topup.js.map +1 -0
  25. package/dist/common/billing/balance-calculator.d.ts +57 -0
  26. package/dist/common/billing/balance-calculator.js +218 -0
  27. package/dist/common/billing/balance-calculator.js.map +1 -0
  28. package/dist/common/billing/conversion.d.ts +9 -0
  29. package/dist/common/billing/conversion.js +20 -0
  30. package/dist/common/billing/conversion.js.map +1 -0
  31. package/dist/common/billing/credit-conversion.d.ts +24 -0
  32. package/dist/common/billing/credit-conversion.js +48 -0
  33. package/dist/common/billing/credit-conversion.js.map +1 -0
  34. package/dist/common/billing/grant-credits.d.ts +43 -0
  35. package/dist/common/billing/grant-credits.js +266 -0
  36. package/dist/common/billing/grant-credits.js.map +1 -0
  37. package/dist/common/billing/plans.d.ts +13 -0
  38. package/dist/common/billing/plans.js +44 -0
  39. package/dist/common/billing/plans.js.map +1 -0
  40. package/dist/common/browser-actions.d.ts +1 -1
  41. package/dist/common/browser-actions.js +4 -4
  42. package/dist/common/browser-actions.js.map +1 -1
  43. package/dist/common/constants/grant-priorities.d.ts +2 -0
  44. package/dist/common/constants/grant-priorities.js +10 -0
  45. package/dist/common/constants/grant-priorities.js.map +1 -0
  46. package/dist/common/constants/tools.d.ts +2 -0
  47. package/dist/common/constants/tools.js +24 -3
  48. package/dist/common/constants/tools.js.map +1 -1
  49. package/dist/common/constants.d.ts +93 -5
  50. package/dist/common/constants.js +111 -10
  51. package/dist/common/constants.js.map +1 -1
  52. package/dist/common/db/env.mjs +5 -5
  53. package/dist/common/db/env.mjs.map +1 -1
  54. package/dist/common/db/schema.d.ts +413 -83
  55. package/dist/common/db/schema.js +70 -9
  56. package/dist/common/db/schema.js.map +1 -1
  57. package/dist/common/db/transaction.d.ts +12 -0
  58. package/dist/common/db/transaction.js +36 -0
  59. package/dist/common/db/transaction.js.map +1 -0
  60. package/dist/common/env.mjs +11 -8
  61. package/dist/common/env.mjs.map +1 -1
  62. package/dist/common/json-config/__tests__/__snapshots__/stringify-schema.test.js.snap +66 -0
  63. package/dist/common/json-config/__tests__/stringify-schema.test.js +66 -0
  64. package/dist/common/json-config/__tests__/stringify-schema.test.js.map +1 -0
  65. package/dist/common/json-config/constants.d.ts +82 -0
  66. package/dist/common/json-config/constants.js +48 -0
  67. package/dist/common/json-config/constants.js.map +1 -0
  68. package/dist/common/json-config/parser.d.ts +7 -0
  69. package/dist/common/json-config/parser.js +51 -0
  70. package/dist/common/json-config/parser.js.map +1 -0
  71. package/dist/common/json-config/stringify-schema.d.ts +10 -0
  72. package/dist/common/json-config/stringify-schema.js +102 -0
  73. package/dist/common/json-config/stringify-schema.js.map +1 -0
  74. package/dist/common/project-file-tree.d.ts +2 -1
  75. package/dist/common/project-file-tree.js +59 -27
  76. package/dist/common/project-file-tree.js.map +1 -1
  77. package/dist/common/types/agent-state.d.ts +25 -22
  78. package/dist/common/types/agent-state.js +2 -0
  79. package/dist/common/types/agent-state.js.map +1 -1
  80. package/dist/common/types/grant.d.ts +2 -0
  81. package/dist/common/types/grant.js +10 -0
  82. package/dist/common/types/grant.js.map +1 -0
  83. package/dist/common/types/usage.d.ts +37 -18
  84. package/dist/common/types/usage.js +9 -6
  85. package/dist/common/types/usage.js.map +1 -1
  86. package/dist/common/util/__tests__/saxy.test.js +262 -0
  87. package/dist/common/util/__tests__/saxy.test.js.map +1 -0
  88. package/dist/common/util/__tests__/string.test.js +2 -3
  89. package/dist/common/util/__tests__/string.test.js.map +1 -1
  90. package/dist/common/util/changes.d.ts +1 -0
  91. package/dist/common/util/changes.js +8 -2
  92. package/dist/common/util/changes.js.map +1 -1
  93. package/dist/common/util/dates.d.ts +10 -1
  94. package/dist/common/util/dates.js +11 -2
  95. package/dist/common/util/dates.js.map +1 -1
  96. package/dist/common/util/file.d.ts +10 -9
  97. package/dist/common/util/file.js +12 -4
  98. package/dist/common/util/file.js.map +1 -1
  99. package/dist/common/util/logger.d.ts +8 -0
  100. package/dist/common/util/logger.js +52 -0
  101. package/dist/common/util/logger.js.map +1 -0
  102. package/dist/common/util/lru-cache.d.ts +23 -2
  103. package/dist/common/util/lru-cache.js +44 -18
  104. package/dist/common/util/lru-cache.js.map +1 -1
  105. package/dist/common/util/messages.d.ts +3 -0
  106. package/dist/common/util/messages.js +50 -3
  107. package/dist/common/util/messages.js.map +1 -1
  108. package/dist/common/util/min-heap.js +2 -2
  109. package/dist/common/util/min-heap.js.map +1 -1
  110. package/dist/common/util/promise.d.ts +1 -1
  111. package/dist/common/util/promise.js +2 -2
  112. package/dist/common/util/promise.js.map +1 -1
  113. package/dist/common/util/saxy.d.ts +8 -0
  114. package/dist/common/util/saxy.js +35 -12
  115. package/dist/common/util/saxy.js.map +1 -1
  116. package/dist/common/util/string.d.ts +7 -1
  117. package/dist/common/util/string.js +20 -4
  118. package/dist/common/util/string.js.map +1 -1
  119. package/dist/common/util/stripe.d.ts +1 -0
  120. package/dist/common/util/stripe.js +10 -7
  121. package/dist/common/util/stripe.js.map +1 -1
  122. package/dist/common/util/sync-failure.d.ts +1 -0
  123. package/dist/common/util/sync-failure.js +57 -0
  124. package/dist/common/util/sync-failure.js.map +1 -0
  125. package/dist/common/websockets/websocket-client.d.ts +2 -1
  126. package/dist/common/websockets/websocket-client.js +34 -6
  127. package/dist/common/websockets/websocket-client.js.map +1 -1
  128. package/dist/common/websockets/websocket-schema.d.ts +1440 -2642
  129. package/dist/utils/__tests__/response-example-4-files.txt +621 -0
  130. package/package.json +20 -35
  131. package/dist/browser-runner.d.ts +0 -35
  132. package/dist/browser-runner.js +0 -674
  133. package/dist/browser-runner.js.map +0 -1
  134. package/dist/chat-storage.d.ts +0 -2
  135. package/dist/chat-storage.js +0 -93
  136. package/dist/chat-storage.js.map +0 -1
  137. package/dist/checkpoints/checkpoint-manager.d.ts +0 -73
  138. package/dist/checkpoints/checkpoint-manager.js +0 -193
  139. package/dist/checkpoints/checkpoint-manager.js.map +0 -1
  140. package/dist/checkpoints/file-manager.d.ts +0 -72
  141. package/dist/checkpoints/file-manager.js +0 -303
  142. package/dist/checkpoints/file-manager.js.map +0 -1
  143. package/dist/cli.d.ts +0 -48
  144. package/dist/cli.js +0 -604
  145. package/dist/cli.js.map +0 -1
  146. package/dist/client.d.ts +0 -229
  147. package/dist/client.js +0 -550
  148. package/dist/client.js.map +0 -1
  149. package/dist/common/billing/quota-manager.d.ts +0 -29
  150. package/dist/common/billing/quota-manager.js +0 -213
  151. package/dist/common/billing/quota-manager.js.map +0 -1
  152. package/dist/common/util/tools.d.ts +0 -2
  153. package/dist/common/util/tools.js +0 -13
  154. package/dist/common/util/tools.js.map +0 -1
  155. package/dist/config.d.ts +0 -3
  156. package/dist/config.js +0 -9
  157. package/dist/config.js.map +0 -1
  158. package/dist/create-template-project.d.ts +0 -1
  159. package/dist/create-template-project.js +0 -107
  160. package/dist/create-template-project.js.map +0 -1
  161. package/dist/credentials.d.ts +0 -4
  162. package/dist/credentials.js +0 -37
  163. package/dist/credentials.js.map +0 -1
  164. package/dist/fingerprint.d.ts +0 -1
  165. package/dist/fingerprint.js +0 -43
  166. package/dist/fingerprint.js.map +0 -1
  167. package/dist/index.d.ts +0 -2
  168. package/dist/index.js +0 -108
  169. package/dist/index.js.map +0 -1
  170. package/dist/menu.d.ts +0 -3
  171. package/dist/menu.js +0 -117
  172. package/dist/menu.js.map +0 -1
  173. package/dist/project-files.d.ts +0 -110
  174. package/dist/project-files.js +0 -490
  175. package/dist/project-files.js.map +0 -1
  176. package/dist/tool-handlers.d.ts +0 -27
  177. package/dist/tool-handlers.js +0 -217
  178. package/dist/tool-handlers.js.map +0 -1
  179. package/dist/types.d.ts +0 -7
  180. package/dist/types.js +0 -3
  181. package/dist/types.js.map +0 -1
  182. package/dist/update-codebuff.d.ts +0 -1
  183. package/dist/update-codebuff.js +0 -156
  184. package/dist/update-codebuff.js.map +0 -1
  185. package/dist/utils/__tests__/xml-stream-parser.test.js +0 -221
  186. package/dist/utils/__tests__/xml-stream-parser.test.js.map +0 -1
  187. package/dist/utils/detect-shell.d.ts +0 -1
  188. package/dist/utils/detect-shell.js +0 -60
  189. package/dist/utils/detect-shell.js.map +0 -1
  190. package/dist/utils/logger.d.ts +0 -2
  191. package/dist/utils/logger.js +0 -33
  192. package/dist/utils/logger.js.map +0 -1
  193. package/dist/utils/spinner.d.ts +0 -11
  194. package/dist/utils/spinner.js +0 -87
  195. package/dist/utils/spinner.js.map +0 -1
  196. package/dist/utils/system-info.d.ts +0 -8
  197. package/dist/utils/system-info.js +0 -22
  198. package/dist/utils/system-info.js.map +0 -1
  199. package/dist/utils/terminal.d.ts +0 -27
  200. package/dist/utils/terminal.js +0 -335
  201. package/dist/utils/terminal.js.map +0 -1
  202. package/dist/utils/tool-renderers.d.ts +0 -16
  203. package/dist/utils/tool-renderers.js +0 -117
  204. package/dist/utils/tool-renderers.js.map +0 -1
  205. package/dist/utils/xml-stream-parser.d.ts +0 -9
  206. package/dist/utils/xml-stream-parser.js +0 -128
  207. package/dist/utils/xml-stream-parser.js.map +0 -1
  208. package/dist/web-scraper.d.ts +0 -3
  209. package/dist/web-scraper.js +0 -57
  210. package/dist/web-scraper.js.map +0 -1
  211. package/dist/workers/checkpoint-worker.js +0 -47
  212. package/dist/workers/checkpoint-worker.js.map +0 -1
  213. package/dist/workers/project-context.d.ts +0 -1
  214. package/dist/workers/project-context.js +0 -17
  215. package/dist/workers/project-context.js.map +0 -1
  216. /package/dist/{utils/__tests__/xml-stream-parser.test.d.ts → common/json-config/__tests__/stringify-schema.test.d.ts} +0 -0
  217. /package/dist/{workers/checkpoint-worker.d.ts → common/util/__tests__/saxy.test.d.ts} +0 -0
@@ -1,217 +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
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.handleToolCall = exports.toolHandlers = exports.handleCodeSearch = exports.handleRunTerminalCommand = exports.handleScrapeWebPage = exports.handleWriteFile = void 0;
27
- const ripgrep_1 = require("@vscode/ripgrep");
28
- const picocolors_1 = require("picocolors");
29
- const child_process_1 = require("child_process");
30
- const browser_actions_1 = require("./common/browser-actions");
31
- const browser_runner_1 = require("./browser-runner");
32
- const web_scraper_1 = require("./web-scraper");
33
- const terminal_1 = require("./utils/terminal");
34
- const string_1 = require("./common/util/string");
35
- const path = __importStar(require("path"));
36
- const spinner_1 = require("./utils/spinner");
37
- const changes_1 = require("./common/util/changes");
38
- const actions_1 = require("./common/actions");
39
- const handleWriteFile = async (parameters, _id, projectPath) => {
40
- const fileChange = actions_1.FileChangeSchema.parse(parameters);
41
- const { created, modified } = (0, changes_1.applyChanges)(projectPath, [fileChange]);
42
- let result = '';
43
- for (const file of created) {
44
- result += `Wrote to ${file} successfully.\n`;
45
- console.log((0, picocolors_1.green)(`- Created ${file}`));
46
- }
47
- for (const file of modified) {
48
- result += `Wrote to ${file} successfully.\n`;
49
- console.log((0, picocolors_1.green)(`- Updated ${file}`));
50
- }
51
- return result;
52
- };
53
- exports.handleWriteFile = handleWriteFile;
54
- const handleScrapeWebPage = async (parameters) => {
55
- const { url } = parameters;
56
- const content = await (0, web_scraper_1.scrapeWebPage)(url);
57
- if (!content) {
58
- return `<web_scraping_error url="${url}">Failed to scrape the web page.</web_scraping_error>`;
59
- }
60
- return `<web_scraped_content url="${url}">${content}</web_scraped_content>`;
61
- };
62
- exports.handleScrapeWebPage = handleScrapeWebPage;
63
- const handleRunTerminalCommand = async (parameters, id, projectPath) => {
64
- const { command, mode = 'assistant' } = parameters;
65
- return (0, terminal_1.runTerminalCommand)(command, mode, projectPath);
66
- };
67
- exports.handleRunTerminalCommand = handleRunTerminalCommand;
68
- const handleCodeSearch = async (parameters, _id, projectPath) => {
69
- return new Promise((resolve) => {
70
- let stdout = '';
71
- let stderr = '';
72
- const basename = path.basename(projectPath);
73
- const pattern = parameters.pattern.replace(/"/g, '');
74
- const command = `${path.resolve(ripgrep_1.rgPath)} "${pattern}" .`;
75
- console.log();
76
- console.log((0, picocolors_1.green)(`Searching ${basename} for "${pattern}":`));
77
- const childProcess = (0, child_process_1.spawn)(command, {
78
- cwd: projectPath,
79
- shell: true,
80
- });
81
- childProcess.stdout.on('data', (data) => {
82
- stdout += data.toString();
83
- });
84
- childProcess.stderr.on('data', (data) => {
85
- stderr += data.toString();
86
- });
87
- childProcess.on('close', (code) => {
88
- const lines = stdout.split('\n').filter((line) => line.trim());
89
- const maxResults = 3;
90
- const previewResults = lines.slice(0, maxResults);
91
- if (previewResults.length > 0) {
92
- console.log(previewResults.join('\n'));
93
- if (lines.length > maxResults) {
94
- console.log('...');
95
- }
96
- }
97
- console.log((0, picocolors_1.green)(`Found ${lines.length} results`));
98
- const truncatedStdout = (0, string_1.truncateStringWithMessage)(stdout, 10000);
99
- const truncatedStderr = (0, string_1.truncateStringWithMessage)(stderr, 1000);
100
- resolve(formatResult(truncatedStdout, truncatedStderr, 'Code search completed', code));
101
- });
102
- childProcess.on('error', (error) => {
103
- resolve(`<terminal_command_error>Failed to execute ripgrep: ${error.message}</terminal_command_error>`);
104
- });
105
- });
106
- };
107
- exports.handleCodeSearch = handleCodeSearch;
108
- function formatResult(stdout, stderr, status, exitCode) {
109
- let result = '<terminal_command_result>\n';
110
- result += `<stdout>${stdout}</stdout>\n`;
111
- if (stderr !== undefined) {
112
- result += `<stderr>${stderr}</stderr>\n`;
113
- }
114
- result += `<status>${status}</status>\n`;
115
- if (exitCode !== null) {
116
- result += `<exit_code>${exitCode}</exit_code>\n`;
117
- }
118
- result += '</terminal_command_result>';
119
- return result;
120
- }
121
- exports.toolHandlers = {
122
- write_file: exports.handleWriteFile,
123
- scrape_web_page: exports.handleScrapeWebPage,
124
- run_terminal_command: ((parameters, id, projectPath) => (0, exports.handleRunTerminalCommand)(parameters, id, projectPath).then((result) => result.result)),
125
- code_search: exports.handleCodeSearch,
126
- end_turn: async () => {
127
- return '';
128
- },
129
- browser_action: async (params, _id) => {
130
- spinner_1.Spinner.get().start();
131
- let response;
132
- try {
133
- const action = browser_actions_1.BrowserActionSchema.parse(params);
134
- response = await (0, browser_runner_1.handleBrowserInstruction)(action);
135
- }
136
- catch (error) {
137
- const errorMessage = error instanceof Error ? error.message : String(error);
138
- console.log('Small hiccup, one sec...');
139
- return {
140
- success: false,
141
- error: `Browser action validation failed: ${errorMessage}`,
142
- logs: [
143
- {
144
- type: 'error',
145
- message: `Browser action validation failed: ${errorMessage}`,
146
- timestamp: Date.now(),
147
- source: 'tool',
148
- },
149
- ],
150
- };
151
- }
152
- finally {
153
- spinner_1.Spinner.get().stop();
154
- }
155
- // Log any browser errors
156
- if (!response.success && response.error) {
157
- console.error((0, picocolors_1.red)(`Browser action failed: ${response.error}`));
158
- }
159
- if (response.logs) {
160
- response.logs.forEach((log) => {
161
- if (log.source === 'tool') {
162
- switch (log.type) {
163
- case 'error':
164
- console.error((0, picocolors_1.red)(log.message));
165
- break;
166
- case 'warning':
167
- console.warn((0, picocolors_1.yellow)(log.message));
168
- break;
169
- case 'info':
170
- console.info((0, picocolors_1.cyan)(log.message));
171
- break;
172
- default:
173
- console.log((0, picocolors_1.cyan)(log.message));
174
- }
175
- }
176
- });
177
- }
178
- return response;
179
- },
180
- };
181
- const handleToolCall = async (toolCall, projectPath) => {
182
- const { name, parameters } = toolCall;
183
- const handler = exports.toolHandlers[name];
184
- if (!handler) {
185
- throw new Error(`No handler found for tool: ${name}`);
186
- }
187
- const content = await handler(parameters, toolCall.id, projectPath);
188
- if (typeof content !== 'string') {
189
- throw new Error(`Tool call ${name} not supported. It returned non-string content.`);
190
- }
191
- // TODO: Add support for screenshots.
192
- // const toolResultMessage: Message = {
193
- // role: 'user',
194
- // content: match(content)
195
- // .with({ screenshots: P.not(P.nullish) }, (response) => [
196
- // ...(response.screenshots.pre ? [response.screenshots.pre] : []),
197
- // {
198
- // type: 'text' as const,
199
- // text:
200
- // JSON.stringify({
201
- // ...response,
202
- // screenshots: undefined,
203
- // }),
204
- // },
205
- // response.screenshots.post,
206
- // ])
207
- // .with(P.string, (str) => str)
208
- // .otherwise((val) => JSON.stringify(val)),
209
- // }
210
- return {
211
- name,
212
- result: content,
213
- id: toolCall.id,
214
- };
215
- };
216
- exports.handleToolCall = handleToolCall;
217
- //# sourceMappingURL=tool-handlers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-handlers.js","sourceRoot":"","sources":["../src/tool-handlers.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import { CostMode } from './common/constants';
2
- export type GitCommand = 'stage' | undefined;
3
- export interface CliOptions {
4
- initialInput?: string;
5
- git: GitCommand;
6
- costMode: CostMode;
7
- }
package/dist/types.js DELETED
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- export declare function updateCodebuff(): Promise<void>;
@@ -1,156 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-codebuff.js","sourceRoot":"","sources":["../src/update-codebuff.ts"],"names":[],"mappings":"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"}
@@ -1,221 +0,0 @@
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
- // @ts-ignore
7
- const bun_test_1 = require("bun:test");
8
- const stream_1 = require("stream");
9
- const fs_1 = __importDefault(require("fs"));
10
- const path_1 = __importDefault(require("path"));
11
- const xml_stream_parser_1 = require("../xml-stream-parser");
12
- const tool_renderers_1 = require("../tool-renderers");
13
- const toolRenderers = {
14
- run_terminal_command: tool_renderers_1.defaultToolCallRenderer,
15
- write_file: tool_renderers_1.defaultToolCallRenderer,
16
- read_files: tool_renderers_1.defaultToolCallRenderer,
17
- };
18
- (0, bun_test_1.describe)('Saxy Stream Processor', () => {
19
- (0, bun_test_1.test)('pipes output to writable stream', async () => {
20
- const xml = '<run_terminal_command><command>echo hello</command></run_terminal_command>';
21
- let result = '';
22
- const processor = (0, xml_stream_parser_1.createXMLStreamParser)(toolRenderers);
23
- const writable = new stream_1.Writable({
24
- write(chunk, encoding, callback) {
25
- result += chunk.toString();
26
- callback();
27
- },
28
- });
29
- processor.pipe(writable);
30
- processor.write(xml);
31
- processor.end();
32
- // Wait for the stream to finish
33
- await new Promise((resolve) => {
34
- writable.on('finish', resolve);
35
- });
36
- (0, bun_test_1.expect)(result).toContain('Run Terminal Command');
37
- (0, bun_test_1.expect)(result).toContain('echo hello');
38
- });
39
- (0, bun_test_1.test)('handles multiple tool calls in sequence', async () => {
40
- const xml = '<run_terminal_command><command>ls</command></run_terminal_command><read_files><paths>file.txt</paths></read_files>';
41
- let result = '';
42
- const processor = (0, xml_stream_parser_1.createXMLStreamParser)(toolRenderers);
43
- const writable = new stream_1.Writable({
44
- write(chunk, encoding, callback) {
45
- result += chunk.toString();
46
- callback();
47
- },
48
- });
49
- processor.pipe(writable);
50
- processor.write(xml);
51
- processor.end();
52
- // Wait for the stream to finish
53
- await new Promise((resolve) => {
54
- writable.on('finish', resolve);
55
- });
56
- (0, bun_test_1.expect)(result).toContain('Run Terminal Command');
57
- (0, bun_test_1.expect)(result).toContain('ls');
58
- (0, bun_test_1.expect)(result).toContain('Read Files');
59
- (0, bun_test_1.expect)(result).toContain('file.txt');
60
- });
61
- (0, bun_test_1.test)('handles text content between tool calls', async () => {
62
- const xml = '<run_terminal_command><command>ls</command></run_terminal_command>Some text between tool calls<read_files><paths>file.txt</paths></read_files>';
63
- let result = '';
64
- const processor = (0, xml_stream_parser_1.createXMLStreamParser)(toolRenderers);
65
- const writable = new stream_1.Writable({
66
- write(chunk, encoding, callback) {
67
- result += chunk.toString();
68
- callback();
69
- },
70
- });
71
- processor.pipe(writable);
72
- processor.write(xml);
73
- processor.end();
74
- // Wait for the stream to finish
75
- await new Promise((resolve) => {
76
- writable.on('finish', resolve);
77
- });
78
- (0, bun_test_1.expect)(result).toContain('Run Terminal Command');
79
- (0, bun_test_1.expect)(result).toContain('ls');
80
- (0, bun_test_1.expect)(result).toContain('Some text between tool calls');
81
- (0, bun_test_1.expect)(result).toContain('Read Files');
82
- (0, bun_test_1.expect)(result).toContain('file.txt');
83
- });
84
- (0, bun_test_1.test)('processes chunks incrementally with output verification', async () => {
85
- // Define chunks that will be written one at a time
86
- const chunks = [
87
- '<run_terminal_',
88
- 'command><comm',
89
- 'and>npm ',
90
- 'install',
91
- '</command></run_terminal_command>',
92
- '<code_search><patt',
93
- 'ern>function</pattern></code_search>',
94
- ];
95
- // Array to store output chunks as they're produced
96
- const outputChunks = [];
97
- // Create a writable stream that captures each output chunk
98
- const writable = new stream_1.Writable({
99
- write(chunk, encoding, callback) {
100
- const chunkStr = chunk.toString();
101
- outputChunks.push(chunkStr);
102
- callback();
103
- },
104
- });
105
- // Create the processor
106
- const processor = (0, xml_stream_parser_1.createXMLStreamParser)(toolRenderers);
107
- processor.pipe(writable);
108
- // Process each chunk with a small delay between them
109
- for (const chunk of chunks) {
110
- processor.write(chunk);
111
- // Small delay to simulate real-world streaming
112
- await new Promise((resolve) => setTimeout(resolve, 5));
113
- }
114
- processor.end();
115
- // Wait for the stream to finish
116
- await new Promise((resolve) => {
117
- writable.on('finish', resolve);
118
- });
119
- // Verify the complete output
120
- const fullOutput = outputChunks.join('');
121
- (0, bun_test_1.expect)(fullOutput).toContain('Run Terminal Command');
122
- (0, bun_test_1.expect)(fullOutput).toContain('npm install');
123
- (0, bun_test_1.expect)(fullOutput).toContain('Code Search');
124
- (0, bun_test_1.expect)(fullOutput).toContain('function');
125
- // Verify incremental output - but don't make assumptions about which chunks contain what
126
- // Just check that we got multiple output chunks (incremental processing)
127
- (0, bun_test_1.expect)(outputChunks.length).toBeGreaterThan(1);
128
- // Check that the terminal command appears before the code search in the output
129
- const terminalCommandIndex = fullOutput.indexOf('Run Terminal Command');
130
- const codeSearchIndex = fullOutput.indexOf('Code Search');
131
- (0, bun_test_1.expect)(terminalCommandIndex).toBeLessThan(codeSearchIndex);
132
- });
133
- (0, bun_test_1.test)('processes text content incrementally', async () => {
134
- // Define chunks that will be written one at a time
135
- const chunks = ['hi', 'hi2', 'hi3 <yo>yo</yo>'];
136
- // Array to store output chunks as they're produced
137
- const outputChunks = [];
138
- // Create a writable stream that captures each output chunk
139
- const writable = new stream_1.Writable({
140
- write(chunk, encoding, callback) {
141
- const chunkStr = chunk.toString();
142
- outputChunks.push(chunkStr);
143
- callback();
144
- },
145
- });
146
- // Create the processor
147
- const processor = (0, xml_stream_parser_1.createXMLStreamParser)(toolRenderers);
148
- processor.pipe(writable);
149
- // Process each chunk with a small delay between them
150
- for (const chunk of chunks) {
151
- processor.write(chunk);
152
- // Small delay to simulate real-world streaming
153
- await new Promise((resolve) => setTimeout(resolve, 5));
154
- }
155
- processor.end();
156
- // Wait for the stream to finish
157
- await new Promise((resolve) => {
158
- writable.on('finish', resolve);
159
- });
160
- // Verify the complete output
161
- const fullOutput = outputChunks.join('');
162
- (0, bun_test_1.expect)(fullOutput).toEqual('hihi2hi3 yo');
163
- (0, bun_test_1.expect)(outputChunks.length).toBeGreaterThan(3);
164
- });
165
- (0, bun_test_1.test)('real world example write to 4 files', async () => {
166
- // Read the file content directly - no need for complex unescaping
167
- const response = fs_1.default.readFileSync(path_1.default.join(__dirname, './response-example-4-files.txt'), 'utf-8');
168
- // Array to store output chunks as they're produced
169
- const outputChunks = [];
170
- // Create a writable stream that captures each output chunk
171
- const writable = new stream_1.Writable({
172
- write(chunk, encoding, callback) {
173
- const chunkStr = chunk.toString();
174
- outputChunks.push(chunkStr);
175
- callback();
176
- },
177
- });
178
- let writeFileStartCount = 0;
179
- let writeFileEndCount = 0;
180
- const testToolRenderers = {
181
- ...toolRenderers,
182
- write_file: {
183
- ...tool_renderers_1.defaultToolCallRenderer,
184
- onToolStart: (toolName) => {
185
- console.log('write_file start');
186
- writeFileStartCount++;
187
- return 'Write File';
188
- },
189
- onParamStart: (paramName, toolName) => {
190
- console.log('write_file param start', paramName);
191
- return null;
192
- },
193
- onParamEnd: (paramName, toolName, content) => {
194
- console.log('write_file param end', paramName, content);
195
- return null;
196
- },
197
- onToolEnd: (toolName, params) => {
198
- console.log('write_file end', params);
199
- writeFileEndCount++;
200
- return null;
201
- },
202
- },
203
- };
204
- // Create the processor
205
- const processor = (0, xml_stream_parser_1.createXMLStreamParser)(testToolRenderers);
206
- processor.pipe(writable);
207
- processor.write(response);
208
- processor.end();
209
- // Wait for the stream to finish
210
- await new Promise((resolve) => {
211
- writable.on('finish', resolve);
212
- });
213
- // Verify the complete output
214
- const fullOutput = outputChunks.join('');
215
- (0, bun_test_1.expect)(fullOutput).toContain('Write File'); // Check for expected output without worrying about formatting
216
- (0, bun_test_1.expect)(writeFileEndCount).toBe(4);
217
- // We expect multiple chunks for a large response
218
- (0, bun_test_1.expect)(outputChunks.length).toBeGreaterThan(1);
219
- });
220
- });
221
- //# sourceMappingURL=xml-stream-parser.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xml-stream-parser.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/xml-stream-parser.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function detectShell(): 'bash' | 'zsh' | 'fish' | 'cmd.exe' | 'powershell' | 'unknown' | string;