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.
- package/dist/cli.d.ts +27 -10
- package/dist/cli.js +315 -284
- package/dist/cli.js.map +1 -1
- package/dist/common/browser-actions.d.ts +4409 -0
- package/dist/common/browser-actions.js +338 -0
- package/dist/common/browser-actions.js.map +1 -0
- package/dist/common/constants.d.ts +2 -2
- package/dist/common/constants.js +2 -2
- package/dist/common/constants.js.map +1 -1
- package/dist/common/util/file.js +5 -3
- package/dist/common/util/file.js.map +1 -1
- package/dist/common/util/min-heap.d.ts +15 -0
- package/dist/common/util/min-heap.js +73 -0
- package/dist/common/util/min-heap.js.map +1 -0
- package/dist/common/util/token-counter.d.ts +3 -0
- package/dist/common/util/token-counter.js +27 -0
- package/dist/common/util/token-counter.js.map +1 -0
- package/dist/create-template-project.d.ts +1 -1
- package/dist/create-template-project.js +20 -12
- package/dist/create-template-project.js.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/utils/terminal.d.ts +3 -1
- package/dist/utils/terminal.js +180 -135
- package/dist/utils/terminal.js.map +1 -1
- package/dist/web-scraper.d.ts +1 -1
- package/dist/web-scraper.js +9 -7
- package/dist/web-scraper.js.map +1 -1
- package/package.json +1 -2
- package/dist/__tests__/tool-handlers.test.d.ts +0 -1
- package/dist/__tests__/tool-handlers.test.js +0 -33
- package/dist/__tests__/tool-handlers.test.js.map +0 -1
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BrowserActionSchema = exports.BrowserDiagnoseActionSchema = exports.DiagnosticStepSchema = exports.BrowserStopActionSchema = exports.RequiredBrowserStopActionSchema = exports.BrowserScreenshotActionSchema = exports.RequiredBrowserScreenshotActionSchema = exports.BrowserScrollActionSchema = exports.OptionalScrollConfigSchema = exports.RequiredBrowserScrollActionSchema = exports.BrowserTypeActionSchema = exports.RequiredBrowserTypeActionSchema = exports.BrowserClickActionSchema = exports.RequiredBrowserClickActionSchema = exports.BrowserNavigateActionSchema = exports.RequiredBrowserNavigateActionSchema = exports.BrowserStartActionSchema = exports.RequiredBrowserStartActionSchema = exports.BrowserResponseSchema = exports.ImageContentSchema = exports.BrowserResponseChunkSchema = exports.MAX_MESSAGE_SIZE = exports.OptionalScreenshotConfigSchema = exports.OptionalTypeConfigSchema = exports.OptionalClickConfigSchema = exports.OptionalNavigateConfigSchema = exports.OptionalStartConfigSchema = exports.OptionalBrowserConfigSchema = exports.RequiredRetryOptionsSchema = exports.LogFilterSchema = exports.NetworkEventSchema = exports.MetricsSchema = exports.LogSchema = exports.BROWSER_DEFAULTS = void 0;
|
|
4
|
+
exports.createBrowserActionXML = createBrowserActionXML;
|
|
5
|
+
exports.parseBrowserActionXML = parseBrowserActionXML;
|
|
6
|
+
exports.parseBrowserActionAttributes = parseBrowserActionAttributes;
|
|
7
|
+
const zod_1 = require("zod");
|
|
8
|
+
// Default values for browser actions
|
|
9
|
+
exports.BROWSER_DEFAULTS = {
|
|
10
|
+
// Common defaults
|
|
11
|
+
headless: true,
|
|
12
|
+
debug: false,
|
|
13
|
+
timeout: 15000, // 15 seconds
|
|
14
|
+
userDataDir: '.codebuff/browser-profile',
|
|
15
|
+
retryOptions: {
|
|
16
|
+
maxRetries: 3,
|
|
17
|
+
retryDelay: 1000, // 1 second
|
|
18
|
+
retryOnErrors: ['TimeoutError', 'TargetClosedError'],
|
|
19
|
+
},
|
|
20
|
+
// Navigation defaults
|
|
21
|
+
waitUntil: 'networkidle0',
|
|
22
|
+
// Click defaults
|
|
23
|
+
waitForNavigation: false,
|
|
24
|
+
button: 'left',
|
|
25
|
+
// Type defaults
|
|
26
|
+
delay: 100, // 100ms between keystrokes
|
|
27
|
+
// Screenshot defaults
|
|
28
|
+
fullPage: false,
|
|
29
|
+
screenshotCompression: 'jpeg',
|
|
30
|
+
screenshotCompressionQuality: 25,
|
|
31
|
+
compressScreenshotData: true,
|
|
32
|
+
// Advanced configuration defaults
|
|
33
|
+
maxConsecutiveErrors: 3,
|
|
34
|
+
totalErrorThreshold: 10,
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Response schema for browser action results
|
|
38
|
+
*/
|
|
39
|
+
exports.LogSchema = zod_1.z.object({
|
|
40
|
+
type: zod_1.z.enum(['error', 'warning', 'info', 'debug', 'verbose']),
|
|
41
|
+
message: zod_1.z.string(),
|
|
42
|
+
timestamp: zod_1.z.number(),
|
|
43
|
+
location: zod_1.z.string().optional(),
|
|
44
|
+
stack: zod_1.z.string().optional(),
|
|
45
|
+
category: zod_1.z.string().optional(),
|
|
46
|
+
level: zod_1.z.number().optional(),
|
|
47
|
+
source: zod_1.z.enum(['browser', 'tool']).default('tool'),
|
|
48
|
+
});
|
|
49
|
+
exports.MetricsSchema = zod_1.z.object({
|
|
50
|
+
loadTime: zod_1.z.number(),
|
|
51
|
+
memoryUsage: zod_1.z.number(),
|
|
52
|
+
jsErrors: zod_1.z.number(),
|
|
53
|
+
networkErrors: zod_1.z.number(),
|
|
54
|
+
ttfb: zod_1.z.number().optional(),
|
|
55
|
+
lcp: zod_1.z.number().optional(),
|
|
56
|
+
fcp: zod_1.z.number().optional(),
|
|
57
|
+
domContentLoaded: zod_1.z.number().optional(),
|
|
58
|
+
sessionDuration: zod_1.z.number().optional(),
|
|
59
|
+
});
|
|
60
|
+
exports.NetworkEventSchema = zod_1.z.object({
|
|
61
|
+
url: zod_1.z.string(),
|
|
62
|
+
method: zod_1.z.string(),
|
|
63
|
+
status: zod_1.z.number().optional(),
|
|
64
|
+
errorText: zod_1.z.string().optional(),
|
|
65
|
+
timestamp: zod_1.z.number(),
|
|
66
|
+
});
|
|
67
|
+
exports.LogFilterSchema = zod_1.z.object({
|
|
68
|
+
types: zod_1.z
|
|
69
|
+
.array(zod_1.z.enum(['error', 'warning', 'info', 'debug', 'verbose']))
|
|
70
|
+
.optional(),
|
|
71
|
+
minLevel: zod_1.z.number().optional(),
|
|
72
|
+
categories: zod_1.z.array(zod_1.z.string()).optional(),
|
|
73
|
+
});
|
|
74
|
+
// Required options for each action type
|
|
75
|
+
exports.RequiredRetryOptionsSchema = zod_1.z.object({
|
|
76
|
+
maxRetries: zod_1.z.number(),
|
|
77
|
+
retryDelay: zod_1.z.number(),
|
|
78
|
+
retryOnErrors: zod_1.z.array(zod_1.z.string()),
|
|
79
|
+
});
|
|
80
|
+
// Optional configurations that can be added to any action
|
|
81
|
+
exports.OptionalBrowserConfigSchema = zod_1.z.object({
|
|
82
|
+
timeout: zod_1.z.number().optional(),
|
|
83
|
+
retryOptions: zod_1.z
|
|
84
|
+
.object({
|
|
85
|
+
maxRetries: zod_1.z.number().optional(),
|
|
86
|
+
retryDelay: zod_1.z.number().optional(),
|
|
87
|
+
retryOnErrors: zod_1.z.array(zod_1.z.string()).optional(),
|
|
88
|
+
})
|
|
89
|
+
.optional(),
|
|
90
|
+
logFilter: exports.LogFilterSchema.optional(),
|
|
91
|
+
debug: zod_1.z.boolean().optional(),
|
|
92
|
+
});
|
|
93
|
+
// Advanced optional configurations specific to start action
|
|
94
|
+
exports.OptionalStartConfigSchema = zod_1.z.object({
|
|
95
|
+
maxConsecutiveErrors: zod_1.z.number().optional(),
|
|
96
|
+
totalErrorThreshold: zod_1.z.number().optional(),
|
|
97
|
+
headless: zod_1.z.boolean().optional(),
|
|
98
|
+
});
|
|
99
|
+
// Optional configurations specific to each action type
|
|
100
|
+
exports.OptionalNavigateConfigSchema = zod_1.z.object({
|
|
101
|
+
waitUntil: zod_1.z.enum(['load', 'domcontentloaded', 'networkidle0']).optional(),
|
|
102
|
+
headless: zod_1.z.boolean().optional(),
|
|
103
|
+
});
|
|
104
|
+
exports.OptionalClickConfigSchema = zod_1.z.object({
|
|
105
|
+
waitForNavigation: zod_1.z.boolean().optional(),
|
|
106
|
+
button: zod_1.z.enum(['left', 'right', 'middle']).optional(),
|
|
107
|
+
// New optional fields for visual verification
|
|
108
|
+
visualVerify: zod_1.z.boolean().optional(),
|
|
109
|
+
visualThreshold: zod_1.z.number().min(0).max(1).optional(), // fraction from 0..1
|
|
110
|
+
});
|
|
111
|
+
exports.OptionalTypeConfigSchema = zod_1.z.object({
|
|
112
|
+
delay: zod_1.z.number().optional(),
|
|
113
|
+
});
|
|
114
|
+
exports.OptionalScreenshotConfigSchema = zod_1.z.object({
|
|
115
|
+
fullPage: zod_1.z.boolean().optional(),
|
|
116
|
+
screenshotCompression: zod_1.z.enum(['jpeg', 'png']).optional(),
|
|
117
|
+
screenshotCompressionQuality: zod_1.z.number().optional(),
|
|
118
|
+
compressScreenshotData: zod_1.z.boolean().optional(),
|
|
119
|
+
});
|
|
120
|
+
// Maximum size for a single WebSocket message (10MB)
|
|
121
|
+
exports.MAX_MESSAGE_SIZE = 10 * 1024 * 1024;
|
|
122
|
+
exports.BrowserResponseChunkSchema = zod_1.z.object({
|
|
123
|
+
id: zod_1.z.string(),
|
|
124
|
+
total: zod_1.z.number(),
|
|
125
|
+
index: zod_1.z.number(),
|
|
126
|
+
data: zod_1.z.string(), // Base64 encoded chunk
|
|
127
|
+
});
|
|
128
|
+
exports.ImageContentSchema = zod_1.z.object({
|
|
129
|
+
type: zod_1.z.literal('image'),
|
|
130
|
+
source: zod_1.z.object({
|
|
131
|
+
type: zod_1.z.literal('base64'),
|
|
132
|
+
media_type: zod_1.z.literal('image/jpeg'),
|
|
133
|
+
data: zod_1.z.string(),
|
|
134
|
+
}),
|
|
135
|
+
});
|
|
136
|
+
exports.BrowserResponseSchema = zod_1.z.object({
|
|
137
|
+
success: zod_1.z.boolean(),
|
|
138
|
+
error: zod_1.z.string().optional(),
|
|
139
|
+
screenshot: exports.ImageContentSchema.optional(),
|
|
140
|
+
logs: zod_1.z.array(exports.LogSchema),
|
|
141
|
+
metrics: exports.MetricsSchema.optional(),
|
|
142
|
+
networkEvents: zod_1.z.array(exports.NetworkEventSchema).optional(),
|
|
143
|
+
logFilter: exports.LogFilterSchema.optional(),
|
|
144
|
+
chunks: zod_1.z.array(exports.BrowserResponseChunkSchema).optional(),
|
|
145
|
+
});
|
|
146
|
+
// Update action schemas to include retry options
|
|
147
|
+
// Required base schemas
|
|
148
|
+
exports.RequiredBrowserStartActionSchema = zod_1.z.object({
|
|
149
|
+
type: zod_1.z.literal('start'),
|
|
150
|
+
url: zod_1.z.string().url(),
|
|
151
|
+
});
|
|
152
|
+
// Combined schema
|
|
153
|
+
exports.BrowserStartActionSchema = exports.RequiredBrowserStartActionSchema.merge(exports.OptionalBrowserConfigSchema).merge(exports.OptionalStartConfigSchema);
|
|
154
|
+
exports.RequiredBrowserNavigateActionSchema = zod_1.z.object({
|
|
155
|
+
type: zod_1.z.literal('navigate'),
|
|
156
|
+
url: zod_1.z.string().url(),
|
|
157
|
+
});
|
|
158
|
+
exports.BrowserNavigateActionSchema = exports.RequiredBrowserNavigateActionSchema.merge(exports.OptionalBrowserConfigSchema).merge(exports.OptionalNavigateConfigSchema);
|
|
159
|
+
const RangeSchema = zod_1.z.object({
|
|
160
|
+
min: zod_1.z.number(),
|
|
161
|
+
max: zod_1.z.number(),
|
|
162
|
+
});
|
|
163
|
+
exports.RequiredBrowserClickActionSchema = zod_1.z.object({
|
|
164
|
+
type: zod_1.z.literal('click'),
|
|
165
|
+
// xRange: RangeSchema,
|
|
166
|
+
// yRange: RangeSchema,
|
|
167
|
+
});
|
|
168
|
+
exports.BrowserClickActionSchema = exports.RequiredBrowserClickActionSchema.merge(exports.OptionalBrowserConfigSchema).merge(exports.OptionalClickConfigSchema);
|
|
169
|
+
exports.RequiredBrowserTypeActionSchema = zod_1.z.object({
|
|
170
|
+
type: zod_1.z.literal('type'),
|
|
171
|
+
selector: zod_1.z.string(),
|
|
172
|
+
text: zod_1.z.string(),
|
|
173
|
+
});
|
|
174
|
+
exports.BrowserTypeActionSchema = exports.RequiredBrowserTypeActionSchema.merge(exports.OptionalBrowserConfigSchema).merge(exports.OptionalTypeConfigSchema);
|
|
175
|
+
exports.RequiredBrowserScrollActionSchema = zod_1.z.object({
|
|
176
|
+
type: zod_1.z.literal('scroll'),
|
|
177
|
+
});
|
|
178
|
+
exports.OptionalScrollConfigSchema = zod_1.z.object({
|
|
179
|
+
direction: zod_1.z.enum(['up', 'down']).optional(),
|
|
180
|
+
});
|
|
181
|
+
exports.BrowserScrollActionSchema = exports.RequiredBrowserScrollActionSchema.merge(exports.OptionalBrowserConfigSchema).merge(exports.OptionalScrollConfigSchema);
|
|
182
|
+
exports.RequiredBrowserScreenshotActionSchema = zod_1.z.object({
|
|
183
|
+
type: zod_1.z.literal('screenshot'),
|
|
184
|
+
});
|
|
185
|
+
exports.BrowserScreenshotActionSchema = exports.RequiredBrowserScreenshotActionSchema.merge(exports.OptionalBrowserConfigSchema).merge(exports.OptionalScreenshotConfigSchema);
|
|
186
|
+
exports.RequiredBrowserStopActionSchema = zod_1.z.object({
|
|
187
|
+
type: zod_1.z.literal('stop'),
|
|
188
|
+
});
|
|
189
|
+
exports.BrowserStopActionSchema = exports.RequiredBrowserStopActionSchema.merge(exports.OptionalBrowserConfigSchema);
|
|
190
|
+
// First define the base action schemas without the diagnostic step
|
|
191
|
+
const BaseBrowserActionSchema = zod_1.z.discriminatedUnion('type', [
|
|
192
|
+
exports.BrowserStartActionSchema,
|
|
193
|
+
exports.BrowserNavigateActionSchema,
|
|
194
|
+
exports.BrowserClickActionSchema,
|
|
195
|
+
exports.BrowserTypeActionSchema,
|
|
196
|
+
exports.BrowserScrollActionSchema,
|
|
197
|
+
exports.BrowserScreenshotActionSchema,
|
|
198
|
+
exports.BrowserStopActionSchema,
|
|
199
|
+
]);
|
|
200
|
+
// Now we can define the diagnostic step schema that references the base actions
|
|
201
|
+
exports.DiagnosticStepSchema = zod_1.z.object({
|
|
202
|
+
label: zod_1.z.string().optional(),
|
|
203
|
+
// The actual browser action to run
|
|
204
|
+
action: BaseBrowserActionSchema,
|
|
205
|
+
// Success conditions to verify after step
|
|
206
|
+
expectedLogs: zod_1.z.array(zod_1.z.string()).optional(),
|
|
207
|
+
noJsErrors: zod_1.z.boolean().optional(),
|
|
208
|
+
noNetworkErrors: zod_1.z.boolean().optional(),
|
|
209
|
+
customCondition: zod_1.z.string().optional(),
|
|
210
|
+
});
|
|
211
|
+
// The 'diagnose' action for multi-step debugging
|
|
212
|
+
exports.BrowserDiagnoseActionSchema = zod_1.z.object({
|
|
213
|
+
type: zod_1.z.literal('diagnose'),
|
|
214
|
+
// Array of steps to run
|
|
215
|
+
steps: zod_1.z.array(exports.DiagnosticStepSchema),
|
|
216
|
+
// Toggle whether to run all steps automatically or step-by-step
|
|
217
|
+
automated: zod_1.z.boolean().optional(),
|
|
218
|
+
// Optional maximum steps/time to run
|
|
219
|
+
maxSteps: zod_1.z.number().optional(),
|
|
220
|
+
sessionTimeoutMs: zod_1.z.number().optional(),
|
|
221
|
+
// Include optional browser config
|
|
222
|
+
...exports.OptionalBrowserConfigSchema.shape,
|
|
223
|
+
});
|
|
224
|
+
// Finally, export the complete schema that includes diagnostic actions
|
|
225
|
+
exports.BrowserActionSchema = zod_1.z.discriminatedUnion('type', [
|
|
226
|
+
exports.BrowserStartActionSchema,
|
|
227
|
+
exports.BrowserNavigateActionSchema,
|
|
228
|
+
exports.BrowserClickActionSchema,
|
|
229
|
+
exports.BrowserTypeActionSchema,
|
|
230
|
+
exports.BrowserScrollActionSchema,
|
|
231
|
+
exports.BrowserScreenshotActionSchema,
|
|
232
|
+
exports.BrowserStopActionSchema,
|
|
233
|
+
exports.BrowserDiagnoseActionSchema,
|
|
234
|
+
]);
|
|
235
|
+
/**
|
|
236
|
+
* Creates an XML string from a BrowserAction object
|
|
237
|
+
*/
|
|
238
|
+
function createBrowserActionXML(action) {
|
|
239
|
+
const { type, ...attributes } = action;
|
|
240
|
+
const attrsString = Object.entries(attributes)
|
|
241
|
+
.filter(([_, v]) => v !== undefined && v !== null)
|
|
242
|
+
.map(([k, v]) => {
|
|
243
|
+
// Handle different value types
|
|
244
|
+
const val = typeof v === 'object' ? JSON.stringify(v) : String(v);
|
|
245
|
+
// Escape special characters in XML attributes
|
|
246
|
+
const escaped = val.replace(/[<>&'"]/g, (char) => {
|
|
247
|
+
switch (char) {
|
|
248
|
+
case '<':
|
|
249
|
+
return '<';
|
|
250
|
+
case '>':
|
|
251
|
+
return '>';
|
|
252
|
+
case '&':
|
|
253
|
+
return '&';
|
|
254
|
+
case '"':
|
|
255
|
+
return '"';
|
|
256
|
+
case "'":
|
|
257
|
+
return ''';
|
|
258
|
+
default:
|
|
259
|
+
return char;
|
|
260
|
+
}
|
|
261
|
+
});
|
|
262
|
+
return `${k}="${escaped}"`;
|
|
263
|
+
})
|
|
264
|
+
.join(' ');
|
|
265
|
+
return `<browser_action action="${type}" ${attrsString} />`;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Parses XML attributes into a BrowserAction object
|
|
269
|
+
*/
|
|
270
|
+
function parseBrowserActionXML(xmlString) {
|
|
271
|
+
// Basic XML validation
|
|
272
|
+
if (!xmlString.includes('<browser_action') || !xmlString.includes('/>')) {
|
|
273
|
+
throw new Error('Invalid browser action XML: missing browser_action tag');
|
|
274
|
+
}
|
|
275
|
+
// Extract attributes using regex
|
|
276
|
+
const attrs = {};
|
|
277
|
+
const attrPattern = /(\w+)="([^"]*)"/g;
|
|
278
|
+
let match;
|
|
279
|
+
while ((match = attrPattern.exec(xmlString)) !== null) {
|
|
280
|
+
const [_, key, value] = match;
|
|
281
|
+
attrs[key] = value;
|
|
282
|
+
}
|
|
283
|
+
if (!attrs.action) {
|
|
284
|
+
throw new Error('Invalid browser action XML: missing action attribute');
|
|
285
|
+
}
|
|
286
|
+
// Convert action attribute to type
|
|
287
|
+
const type = attrs.action;
|
|
288
|
+
delete attrs.action;
|
|
289
|
+
// Parse special values (booleans, numbers, objects)
|
|
290
|
+
const parsedAttrs = Object.entries(attrs).reduce((acc, [key, value]) => {
|
|
291
|
+
try {
|
|
292
|
+
// Try to parse as JSON for objects
|
|
293
|
+
if (value.startsWith('{') || value.startsWith('[')) {
|
|
294
|
+
acc[key] = JSON.parse(value);
|
|
295
|
+
}
|
|
296
|
+
// Parse booleans
|
|
297
|
+
else if (value === 'true' || value === 'false') {
|
|
298
|
+
acc[key] = value === 'true';
|
|
299
|
+
}
|
|
300
|
+
// Parse numbers
|
|
301
|
+
else if (!isNaN(Number(value))) {
|
|
302
|
+
acc[key] = Number(value);
|
|
303
|
+
}
|
|
304
|
+
// Keep as string
|
|
305
|
+
else {
|
|
306
|
+
acc[key] = value;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
catch {
|
|
310
|
+
// If parsing fails, keep as string
|
|
311
|
+
acc[key] = value;
|
|
312
|
+
}
|
|
313
|
+
return acc;
|
|
314
|
+
}, {});
|
|
315
|
+
// Construct and validate the BrowserAction
|
|
316
|
+
const action = { type, ...parsedAttrs };
|
|
317
|
+
return exports.BrowserActionSchema.parse(action);
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Parse browser action XML attributes into a typed BrowserAction object
|
|
321
|
+
*/
|
|
322
|
+
function parseBrowserActionAttributes(attributes) {
|
|
323
|
+
const { action, ...rest } = attributes;
|
|
324
|
+
return {
|
|
325
|
+
type: action,
|
|
326
|
+
...Object.entries(rest).reduce((acc, [key, value]) => {
|
|
327
|
+
// Convert string values to appropriate types
|
|
328
|
+
if (value === 'true')
|
|
329
|
+
return { ...acc, [key]: true };
|
|
330
|
+
if (value === 'false')
|
|
331
|
+
return { ...acc, [key]: false };
|
|
332
|
+
if (!isNaN(Number(value)))
|
|
333
|
+
return { ...acc, [key]: Number(value) };
|
|
334
|
+
return { ...acc, [key]: value };
|
|
335
|
+
}, {}),
|
|
336
|
+
};
|
|
337
|
+
}
|
|
338
|
+
//# sourceMappingURL=browser-actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-actions.js","sourceRoot":"","sources":["../src/browser-actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,7 +38,7 @@ export declare const claudeModels: {
|
|
|
38
38
|
export declare const openaiModels: {
|
|
39
39
|
readonly gpt4o: "gpt-4o-2024-08-06";
|
|
40
40
|
readonly gpt4omini: "gpt-4o-mini-2024-07-18";
|
|
41
|
-
readonly
|
|
41
|
+
readonly o3mini: "o3-mini-2025-01-31";
|
|
42
42
|
};
|
|
43
43
|
export declare const geminiModels: {
|
|
44
44
|
readonly gemini2flash: "gemini-2.0-flash-exp";
|
|
@@ -53,7 +53,7 @@ export declare const models: {
|
|
|
53
53
|
readonly gemini2flash: "gemini-2.0-flash-exp";
|
|
54
54
|
readonly gpt4o: "gpt-4o-2024-08-06";
|
|
55
55
|
readonly gpt4omini: "gpt-4o-mini-2024-07-18";
|
|
56
|
-
readonly
|
|
56
|
+
readonly o3mini: "o3-mini-2025-01-31";
|
|
57
57
|
readonly sonnet: "claude-3-5-sonnet-20241022";
|
|
58
58
|
readonly haiku: "claude-3-5-haiku-20241022";
|
|
59
59
|
};
|
package/dist/common/constants.js
CHANGED
|
@@ -69,6 +69,7 @@ exports.SKIPPED_TERMINAL_COMMANDS = [
|
|
|
69
69
|
'break',
|
|
70
70
|
'install',
|
|
71
71
|
'print',
|
|
72
|
+
'go',
|
|
72
73
|
];
|
|
73
74
|
exports.REQUEST_CREDIT_SHOW_THRESHOLD = 1;
|
|
74
75
|
exports.MAX_DATE = new Date(86399999999999);
|
|
@@ -156,8 +157,7 @@ exports.claudeModels = {
|
|
|
156
157
|
exports.openaiModels = {
|
|
157
158
|
gpt4o: 'gpt-4o-2024-08-06',
|
|
158
159
|
gpt4omini: 'gpt-4o-mini-2024-07-18',
|
|
159
|
-
|
|
160
|
-
// o1: 'o1-2024-12-17',
|
|
160
|
+
o3mini: 'o3-mini-2025-01-31',
|
|
161
161
|
};
|
|
162
162
|
exports.geminiModels = {
|
|
163
163
|
gemini2flash: 'gemini-2.0-flash-exp',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,GAAG,GAAG,MAAM,CAAA;AAC1B,QAAA,iBAAiB,GAAG,GAAG,GAAG,oBAAoB,CAAA;AAC9C,QAAA,kBAAkB,GAAG,GAAG,GAAG,cAAc,CAAA;AACzC,QAAA,oBAAoB,GAAG,oCAAoC,CAAA;AAE3D,QAAA,qBAAqB,GAAG;IACnC,MAAM;IACN,MAAM;IACN,QAAQ;IACR,KAAK;IACL,KAAK;IACL,SAAS;IACT,cAAc;IACd,MAAM;IACN,YAAY;IACZ,OAAO;IACP,aAAa;IACb,aAAa;IACb,aAAa;IACb,OAAO;IACP,WAAW;IACX,eAAe;IACf,aAAa;IACb,aAAa;IACb,OAAO;IACP,mBAAmB;IACnB,WAAW;CACZ,CAAA;AAEY,QAAA,yBAAyB,GAAG;IACvC,UAAU;IACV,MAAM;IACN,MAAM;IACN,SAAS;IACT,IAAI;IACJ,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;IACN,IAAI;IACJ,OAAO;IACP,SAAS;IACT,OAAO;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/common/util/file.js
CHANGED
|
@@ -129,6 +129,11 @@ function printFileTreeWithTokens(nodes, fileTokenScores, path = []) {
|
|
|
129
129
|
const indentation = indentToken.repeat(depth);
|
|
130
130
|
const indentationWithFile = indentToken.repeat(depth + 1);
|
|
131
131
|
for (const node of nodes) {
|
|
132
|
+
if (node.type === 'directory' &&
|
|
133
|
+
(!node.children || node.children.length === 0)) {
|
|
134
|
+
// Skip empty directories
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
132
137
|
result += `${indentation}${node.name}${node.type === 'directory' ? '/' : ''}`;
|
|
133
138
|
path.push(node.name);
|
|
134
139
|
const filePath = path.join('/');
|
|
@@ -145,9 +150,6 @@ function printFileTreeWithTokens(nodes, fileTokenScores, path = []) {
|
|
|
145
150
|
}
|
|
146
151
|
path.pop();
|
|
147
152
|
}
|
|
148
|
-
if (nodes.length === 0) {
|
|
149
|
-
result = '[No files in this directory.]';
|
|
150
|
-
}
|
|
151
153
|
return result;
|
|
152
154
|
}
|
|
153
155
|
const ensureDirectoryExists = (baseDir) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/util/file.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAoHA,sCAaC;AAED,
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/util/file.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A generic min heap implementation that maintains elements ordered by a numeric score.
|
|
3
|
+
*/
|
|
4
|
+
export declare class MinHeap<T> {
|
|
5
|
+
private heap;
|
|
6
|
+
private getParentIndex;
|
|
7
|
+
private getLeftChildIndex;
|
|
8
|
+
private getRightChildIndex;
|
|
9
|
+
private swap;
|
|
10
|
+
private siftUp;
|
|
11
|
+
private siftDown;
|
|
12
|
+
insert(item: T, score: number): void;
|
|
13
|
+
extractMin(): T | undefined;
|
|
14
|
+
get size(): number;
|
|
15
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MinHeap = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* A generic min heap implementation that maintains elements ordered by a numeric score.
|
|
6
|
+
*/
|
|
7
|
+
class MinHeap {
|
|
8
|
+
heap = [];
|
|
9
|
+
getParentIndex(index) {
|
|
10
|
+
return Math.floor((index - 1) / 2);
|
|
11
|
+
}
|
|
12
|
+
getLeftChildIndex(index) {
|
|
13
|
+
return 2 * index + 1;
|
|
14
|
+
}
|
|
15
|
+
getRightChildIndex(index) {
|
|
16
|
+
return 2 * index + 2;
|
|
17
|
+
}
|
|
18
|
+
swap(index1, index2) {
|
|
19
|
+
const temp = this.heap[index1];
|
|
20
|
+
this.heap[index1] = this.heap[index2];
|
|
21
|
+
this.heap[index2] = temp;
|
|
22
|
+
}
|
|
23
|
+
siftUp(index) {
|
|
24
|
+
while (index > 0) {
|
|
25
|
+
const parentIndex = this.getParentIndex(index);
|
|
26
|
+
if (this.heap[parentIndex].score <= this.heap[index].score) {
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
this.swap(index, parentIndex);
|
|
30
|
+
index = parentIndex;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
siftDown(index) {
|
|
34
|
+
while (true) {
|
|
35
|
+
let minIndex = index;
|
|
36
|
+
const leftChild = this.getLeftChildIndex(index);
|
|
37
|
+
const rightChild = this.getRightChildIndex(index);
|
|
38
|
+
if (leftChild < this.heap.length &&
|
|
39
|
+
this.heap[leftChild].score < this.heap[minIndex].score) {
|
|
40
|
+
minIndex = leftChild;
|
|
41
|
+
}
|
|
42
|
+
if (rightChild < this.heap.length &&
|
|
43
|
+
this.heap[rightChild].score < this.heap[minIndex].score) {
|
|
44
|
+
minIndex = rightChild;
|
|
45
|
+
}
|
|
46
|
+
if (minIndex === index) {
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
this.swap(index, minIndex);
|
|
50
|
+
index = minIndex;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
insert(item, score) {
|
|
54
|
+
this.heap.push({ item, score });
|
|
55
|
+
this.siftUp(this.heap.length - 1);
|
|
56
|
+
}
|
|
57
|
+
extractMin() {
|
|
58
|
+
if (this.heap.length === 0)
|
|
59
|
+
return undefined;
|
|
60
|
+
const min = this.heap[0].item;
|
|
61
|
+
const last = this.heap.pop();
|
|
62
|
+
if (this.heap.length > 0) {
|
|
63
|
+
this.heap[0] = last;
|
|
64
|
+
this.siftDown(0);
|
|
65
|
+
}
|
|
66
|
+
return min;
|
|
67
|
+
}
|
|
68
|
+
get size() {
|
|
69
|
+
return this.heap.length;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.MinHeap = MinHeap;
|
|
73
|
+
//# sourceMappingURL=min-heap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"min-heap.js","sourceRoot":"","sources":["../../src/util/min-heap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.countTokens = countTokens;
|
|
4
|
+
exports.countTokensJson = countTokensJson;
|
|
5
|
+
exports.countTokensForFiles = countTokensForFiles;
|
|
6
|
+
const gpt_4o_1 = require("gpt-tokenizer/esm/model/gpt-4o");
|
|
7
|
+
const ANTHROPIC_TOKEN_FUDGE_FACTOR = 1.35;
|
|
8
|
+
function countTokens(text) {
|
|
9
|
+
try {
|
|
10
|
+
return Math.floor((0, gpt_4o_1.encode)(text).length * ANTHROPIC_TOKEN_FUDGE_FACTOR);
|
|
11
|
+
}
|
|
12
|
+
catch (e) {
|
|
13
|
+
console.error('Error counting tokens', e);
|
|
14
|
+
return Math.ceil(text.length / 3);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function countTokensJson(text) {
|
|
18
|
+
return countTokens(JSON.stringify(text));
|
|
19
|
+
}
|
|
20
|
+
function countTokensForFiles(files) {
|
|
21
|
+
const tokenCounts = {};
|
|
22
|
+
for (const [filePath, content] of Object.entries(files)) {
|
|
23
|
+
tokenCounts[filePath] = content ? countTokens(content) : 0;
|
|
24
|
+
}
|
|
25
|
+
return tokenCounts;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=token-counter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-counter.js","sourceRoot":"","sources":["../../src/util/token-counter.ts"],"names":[],"mappings":";;AAIA,kCAOC;AAED,0CAEC;AAED,kDAQC;AAzBD,2DAAuD;AAEvD,MAAM,4BAA4B,GAAG,IAAI,CAAA;AAEzC,SAAgB,WAAW,CAAC,IAAY;IACtC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,MAAM,GAAG,4BAA4B,CAAC,CAAA;IACvE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAA;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACnC,CAAC;AACH,CAAC;AAED,SAAgB,eAAe,CAAC,IAAqB;IACnD,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;AAC1C,CAAC;AAED,SAAgB,mBAAmB,CACjC,KAAoC;IAEpC,MAAM,WAAW,GAA2B,EAAE,CAAA;IAC9C,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5D,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function createTemplateProject(template: string, projectName?: string): Promise<void>;
|
|
1
|
+
export declare function createTemplateProject(template: string, projectDir: string, projectName?: string): Promise<void>;
|