codebuff 1.0.258 → 1.0.259
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.js +13 -4
- package/dist/cli.js.map +1 -1
- package/dist/client.js +1 -1
- package/dist/client.js.map +1 -1
- package/dist/code-map/languages.d.ts +1 -0
- package/dist/code-map/languages.d.ts.map +1 -0
- package/dist/code-map/parse.d.ts +1 -0
- package/dist/code-map/parse.d.ts.map +1 -0
- package/dist/code-map/test-langs/test.d.ts +1 -0
- package/dist/code-map/test-langs/test.d.ts.map +1 -0
- package/dist/code-map/tsconfig.tsbuildinfo +1 -1
- package/dist/common/json-config/__tests__/stringify-schema.test.js +6 -6
- package/dist/common/json-config/__tests__/stringify-schema.test.js.map +1 -1
- package/dist/common/json-config/constants.js +1 -1
- package/dist/common/json-config/constants.js.map +1 -1
- package/dist/common/json-config/stringify-schema.d.ts +1 -2
- package/dist/common/json-config/stringify-schema.js +87 -58
- package/dist/common/json-config/stringify-schema.js.map +1 -1
- package/dist/dev-process-manager.js +2 -2
- package/dist/dev-process-manager.js.map +1 -1
- package/dist/project-files.d.ts +2 -0
- package/dist/project-files.js +13 -1
- package/dist/project-files.js.map +1 -1
- package/dist/tool-handlers.d.ts +3 -3
- package/dist/tool-handlers.js +11 -8
- package/dist/tool-handlers.js.map +1 -1
- package/dist/utils/terminal.d.ts +5 -5
- package/dist/utils/terminal.js +85 -51
- package/dist/utils/terminal.js.map +1 -1
- package/dist/workers/project-context.js +6 -3
- package/dist/workers/project-context.js.map +1 -1
- package/package.json +1 -1
- package/dist/common/bigquery/client.d.ts +0 -15
- package/dist/common/bigquery/client.js +0 -263
- package/dist/common/bigquery/client.js.map +0 -1
- package/dist/common/bigquery/schema.d.ts +0 -55
- package/dist/common/bigquery/schema.js +0 -24
- package/dist/common/bigquery/schema.js.map +0 -1
package/dist/utils/terminal.js
CHANGED
|
@@ -115,7 +115,7 @@ const createPersistantProcess = (dir) => {
|
|
|
115
115
|
}
|
|
116
116
|
// Set prompt for Unix shells after sourcing config
|
|
117
117
|
if (!isWindows) {
|
|
118
|
-
persistentPty.write(`PS1
|
|
118
|
+
persistentPty.write(`PS1=${promptIdentifier} && stty -echo\n`);
|
|
119
119
|
}
|
|
120
120
|
return { type: 'pty', shell: 'pty', pty: persistentPty, timerId: null };
|
|
121
121
|
}
|
|
@@ -150,11 +150,11 @@ const isCommandRunning = () => {
|
|
|
150
150
|
return commandIsRunning;
|
|
151
151
|
};
|
|
152
152
|
exports.isCommandRunning = isCommandRunning;
|
|
153
|
-
const recreateShell = (
|
|
154
|
-
exports.persistentProcess = createPersistantProcess(
|
|
153
|
+
const recreateShell = (cwd) => {
|
|
154
|
+
exports.persistentProcess = createPersistantProcess(cwd);
|
|
155
155
|
};
|
|
156
156
|
exports.recreateShell = recreateShell;
|
|
157
|
-
const resetShell = (
|
|
157
|
+
const resetShell = (cwd) => {
|
|
158
158
|
commandIsRunning = false;
|
|
159
159
|
if (exports.persistentProcess) {
|
|
160
160
|
if (exports.persistentProcess.timerId) {
|
|
@@ -163,7 +163,7 @@ const resetShell = (projectPath) => {
|
|
|
163
163
|
}
|
|
164
164
|
if (exports.persistentProcess.type === 'pty') {
|
|
165
165
|
exports.persistentProcess.pty.kill();
|
|
166
|
-
(0, exports.recreateShell)(
|
|
166
|
+
(0, exports.recreateShell)(cwd);
|
|
167
167
|
}
|
|
168
168
|
else {
|
|
169
169
|
exports.persistentProcess.childProcess?.kill();
|
|
@@ -180,7 +180,7 @@ function formatResult(command, stdout, status) {
|
|
|
180
180
|
}
|
|
181
181
|
const MAX_EXECUTION_TIME = 30_000;
|
|
182
182
|
function runBackgroundCommand(options, resolveCommand) {
|
|
183
|
-
const { toolCallId, command, mode,
|
|
183
|
+
const { toolCallId, command, mode, cwd, stdoutFile, stderrFile } = options;
|
|
184
184
|
const isWindows = os.platform() === 'win32';
|
|
185
185
|
const shell = isWindows ? 'cmd.exe' : 'bash';
|
|
186
186
|
const shellArgs = isWindows ? ['/c'] : ['-c'];
|
|
@@ -191,7 +191,7 @@ function runBackgroundCommand(options, resolveCommand) {
|
|
|
191
191
|
const initialStderr = '';
|
|
192
192
|
try {
|
|
193
193
|
const childProcess = (0, background_process_manager_1.spawnAndTrack)(shell, [...shellArgs, command], {
|
|
194
|
-
cwd
|
|
194
|
+
cwd,
|
|
195
195
|
env: { ...process.env, FORCE_COLOR: '1' },
|
|
196
196
|
// Ensure detached is always false to link child lifetime to parent
|
|
197
197
|
detached: false,
|
|
@@ -223,7 +223,7 @@ function runBackgroundCommand(options, resolveCommand) {
|
|
|
223
223
|
if (stdoutFile) {
|
|
224
224
|
const stdoutAbs = path_1.default.isAbsolute(stdoutFile)
|
|
225
225
|
? stdoutFile
|
|
226
|
-
: path_1.default.join(
|
|
226
|
+
: path_1.default.join(cwd, stdoutFile);
|
|
227
227
|
(0, fs_1.mkdirSync)((0, path_1.dirname)(stdoutAbs), { recursive: true });
|
|
228
228
|
stdoutStream = (0, fs_1.createWriteStream)(stdoutAbs);
|
|
229
229
|
}
|
|
@@ -231,7 +231,7 @@ function runBackgroundCommand(options, resolveCommand) {
|
|
|
231
231
|
if (realStderrFile) {
|
|
232
232
|
const stderrAbs = path_1.default.isAbsolute(realStderrFile)
|
|
233
233
|
? realStderrFile
|
|
234
|
-
: path_1.default.join(
|
|
234
|
+
: path_1.default.join(cwd, realStderrFile);
|
|
235
235
|
(0, fs_1.mkdirSync)((0, path_1.dirname)(stderrAbs), { recursive: true });
|
|
236
236
|
stderrStream = (0, fs_1.createWriteStream)(stderrAbs);
|
|
237
237
|
}
|
|
@@ -288,13 +288,14 @@ function runBackgroundCommand(options, resolveCommand) {
|
|
|
288
288
|
});
|
|
289
289
|
}
|
|
290
290
|
}
|
|
291
|
-
const runTerminalCommand = async (toolCallId, command, mode,
|
|
291
|
+
const runTerminalCommand = async (toolCallId, command, mode, processType, stdoutFile, stderrFile) => {
|
|
292
|
+
const cwd = mode === 'assistant' ? (0, project_files_1.getProjectRoot)() : (0, project_files_1.getWorkingDirectory)();
|
|
292
293
|
return new Promise((resolve) => {
|
|
293
294
|
if (!exports.persistentProcess) {
|
|
294
295
|
throw new Error('Shell not initialized');
|
|
295
296
|
}
|
|
296
297
|
if (commandIsRunning) {
|
|
297
|
-
(0, exports.resetShell)(
|
|
298
|
+
(0, exports.resetShell)(cwd);
|
|
298
299
|
}
|
|
299
300
|
commandIsRunning = true;
|
|
300
301
|
// Add special case for git log to limit output
|
|
@@ -316,34 +317,81 @@ const runTerminalCommand = async (toolCallId, command, mode, projectPath, proces
|
|
|
316
317
|
toolCallId,
|
|
317
318
|
command: modifiedCommand,
|
|
318
319
|
mode,
|
|
319
|
-
|
|
320
|
+
cwd,
|
|
320
321
|
stdoutFile,
|
|
321
322
|
stderrFile,
|
|
322
323
|
}, resolveCommand);
|
|
323
324
|
}
|
|
324
325
|
else if (exports.persistentProcess.type === 'pty') {
|
|
325
|
-
(0, exports.runCommandPty)(exports.persistentProcess, modifiedCommand, mode, resolveCommand,
|
|
326
|
+
(0, exports.runCommandPty)(exports.persistentProcess, modifiedCommand, mode, resolveCommand, cwd);
|
|
326
327
|
}
|
|
327
328
|
else {
|
|
328
329
|
// Fallback to child_process implementation
|
|
329
|
-
runCommandChildProcess(exports.persistentProcess, modifiedCommand, mode, resolveCommand,
|
|
330
|
+
runCommandChildProcess(exports.persistentProcess, modifiedCommand, mode, resolveCommand, cwd);
|
|
330
331
|
}
|
|
331
332
|
});
|
|
332
333
|
};
|
|
333
334
|
exports.runTerminalCommand = runTerminalCommand;
|
|
334
|
-
|
|
335
|
+
function handleChangeDirectory(mode, command, ptyProcess, cwd) {
|
|
336
|
+
if (!command.startsWith('cd ')) {
|
|
337
|
+
return false;
|
|
338
|
+
}
|
|
339
|
+
if (mode === 'assistant') {
|
|
340
|
+
return false;
|
|
341
|
+
}
|
|
342
|
+
let newWorkingDirectory = command.split(' ')[1];
|
|
343
|
+
if (newWorkingDirectory === '~') {
|
|
344
|
+
newWorkingDirectory = os.homedir();
|
|
345
|
+
}
|
|
346
|
+
else if (newWorkingDirectory.startsWith('~/')) {
|
|
347
|
+
newWorkingDirectory = path_1.default.join(os.homedir(), newWorkingDirectory.slice(2));
|
|
348
|
+
}
|
|
349
|
+
else if (!path_1.default.isAbsolute(newWorkingDirectory)) {
|
|
350
|
+
newWorkingDirectory = path_1.default.join(cwd, newWorkingDirectory);
|
|
351
|
+
}
|
|
352
|
+
(0, analytics_1.trackEvent)(analytics_events_1.AnalyticsEvent.CHANGE_DIRECTORY, {
|
|
353
|
+
from: cwd,
|
|
354
|
+
to: newWorkingDirectory,
|
|
355
|
+
isSubdir: !path_1.default.relative(cwd, newWorkingDirectory).startsWith('..'),
|
|
356
|
+
});
|
|
357
|
+
const projectRoot = (0, project_files_1.getProjectRoot)();
|
|
358
|
+
if (path_1.default.relative(projectRoot, newWorkingDirectory).startsWith('..')) {
|
|
359
|
+
console.log(`
|
|
360
|
+
Unable to cd outside of the project root (${projectRoot})
|
|
361
|
+
|
|
362
|
+
If you want to change the project root:
|
|
363
|
+
1. Exit Codebuff (type "exit").
|
|
364
|
+
2. Navigate into the target directory.
|
|
365
|
+
3. Restart Codebuff.`);
|
|
366
|
+
return true;
|
|
367
|
+
}
|
|
368
|
+
if ((0, project_files_1.isDir)(newWorkingDirectory)) {
|
|
369
|
+
(0, project_files_1.setWorkingDirectory)(newWorkingDirectory);
|
|
370
|
+
ptyProcess.write(`cd ${newWorkingDirectory}\r`);
|
|
371
|
+
return true;
|
|
372
|
+
}
|
|
373
|
+
return false;
|
|
374
|
+
}
|
|
375
|
+
const runCommandPty = (persistentProcess, command, mode, resolve, cwd) => {
|
|
335
376
|
const ptyProcess = persistentProcess.pty;
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
377
|
+
if (handleChangeDirectory(mode, command, ptyProcess, cwd)) {
|
|
378
|
+
resolve({
|
|
379
|
+
result: formatResult(command, 'Command completed.', 'Command completed'),
|
|
380
|
+
stdout: 'Command completed.',
|
|
381
|
+
exitCode: 0,
|
|
382
|
+
});
|
|
383
|
+
return;
|
|
384
|
+
}
|
|
340
385
|
if (mode === 'assistant') {
|
|
341
386
|
console.log((0, picocolors_1.green)(`> ${command}`));
|
|
342
387
|
}
|
|
388
|
+
let commandOutput = '';
|
|
389
|
+
let buffer = promptIdentifier;
|
|
390
|
+
let echoLinesRemaining = os.platform() === 'win32' ? 1 : 0;
|
|
343
391
|
const timer = setTimeout(() => {
|
|
344
392
|
if (mode === 'assistant') {
|
|
345
393
|
// Kill and recreate PTY
|
|
346
|
-
(0, exports.resetShell)(
|
|
394
|
+
(0, exports.resetShell)(cwd);
|
|
347
395
|
resolve({
|
|
348
396
|
result: formatResult(command, commandOutput, `Command timed out after ${MAX_EXECUTION_TIME / 1000} seconds and was terminated. Shell has been restarted.`),
|
|
349
397
|
stdout: commandOutput,
|
|
@@ -365,40 +413,26 @@ const runCommandPty = (persistentProcess, command, mode, resolve, projectPath) =
|
|
|
365
413
|
const dataDisposable = ptyProcess.onData((data) => {
|
|
366
414
|
buffer += data;
|
|
367
415
|
const suffix = longestSuffixThatsPrefixOf(buffer, promptIdentifier);
|
|
368
|
-
|
|
416
|
+
let toProcess = buffer.slice(0, buffer.length - suffix.length);
|
|
369
417
|
buffer = suffix;
|
|
370
418
|
const matches = toProcess.match(toRemovePattern);
|
|
371
419
|
if (matches) {
|
|
372
420
|
echoLinesRemaining -= matches.length;
|
|
421
|
+
echoLinesRemaining = Math.max(echoLinesRemaining, 0);
|
|
373
422
|
}
|
|
374
423
|
// Process normal output line
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
424
|
+
toProcess = toProcess.replaceAll(toRemovePattern, '');
|
|
425
|
+
let commandCompleted = buffer === promptIdentifier;
|
|
426
|
+
if (toProcess.includes(promptIdentifier)) {
|
|
427
|
+
toProcess = toProcess.replaceAll(promptIdentifier, '');
|
|
428
|
+
commandCompleted = true;
|
|
429
|
+
}
|
|
430
|
+
process.stdout.write(toProcess);
|
|
431
|
+
commandOutput += toProcess;
|
|
432
|
+
if (commandCompleted && echoLinesRemaining === 0) {
|
|
379
433
|
// Command is done
|
|
380
434
|
clearTimeout(timer);
|
|
381
435
|
dataDisposable.dispose();
|
|
382
|
-
if (command.startsWith('cd ') && mode === 'user') {
|
|
383
|
-
let newWorkingDirectory = command.split(' ')[1];
|
|
384
|
-
if (newWorkingDirectory === '~') {
|
|
385
|
-
newWorkingDirectory = os.homedir();
|
|
386
|
-
}
|
|
387
|
-
else if (newWorkingDirectory.startsWith('~/')) {
|
|
388
|
-
newWorkingDirectory = path_1.default.join(os.homedir(), newWorkingDirectory.slice(2));
|
|
389
|
-
}
|
|
390
|
-
else if (!path_1.default.isAbsolute(newWorkingDirectory)) {
|
|
391
|
-
newWorkingDirectory = path_1.default.join(projectPath, newWorkingDirectory);
|
|
392
|
-
}
|
|
393
|
-
(0, analytics_1.trackEvent)(analytics_events_1.AnalyticsEvent.CHANGE_DIRECTORY, {
|
|
394
|
-
from: projectPath,
|
|
395
|
-
to: newWorkingDirectory,
|
|
396
|
-
isSubdir: !path_1.default
|
|
397
|
-
.relative(projectPath, newWorkingDirectory)
|
|
398
|
-
.startsWith('..'),
|
|
399
|
-
});
|
|
400
|
-
projectPath = (0, project_files_1.setProjectRoot)(newWorkingDirectory);
|
|
401
|
-
}
|
|
402
436
|
const exitCode = commandOutput.includes('Command completed')
|
|
403
437
|
? 0
|
|
404
438
|
: (() => {
|
|
@@ -406,7 +440,7 @@ const runCommandPty = (persistentProcess, command, mode, resolve, projectPath) =
|
|
|
406
440
|
return match ? parseInt(match[1]) : undefined;
|
|
407
441
|
})();
|
|
408
442
|
// Reset the PTY to the project root
|
|
409
|
-
ptyProcess.write(`cd ${
|
|
443
|
+
ptyProcess.write(`cd ${(0, project_files_1.getWorkingDirectory)()}\r`);
|
|
410
444
|
resolve({
|
|
411
445
|
result: formatResult(command, commandOutput, 'Command completed'),
|
|
412
446
|
stdout: commandOutput,
|
|
@@ -423,18 +457,18 @@ const runCommandPty = (persistentProcess, command, mode, resolve, projectPath) =
|
|
|
423
457
|
// Write the command
|
|
424
458
|
const commandWithCheck = isWindows
|
|
425
459
|
? command
|
|
426
|
-
: `${command}; ec=$?; if [ $ec -eq 0 ]; then printf "Command completed.
|
|
460
|
+
: `${command}; ec=$?; if [ $ec -eq 0 ]; then printf "Command completed."; else printf "Command failed with exit code $ec."; fi`;
|
|
427
461
|
ptyProcess.write(commandWithCheck + '\r');
|
|
428
462
|
};
|
|
429
463
|
exports.runCommandPty = runCommandPty;
|
|
430
|
-
const runCommandChildProcess = (persistentProcess, command, mode, resolve,
|
|
464
|
+
const runCommandChildProcess = (persistentProcess, command, mode, resolve, cwd) => {
|
|
431
465
|
const isWindows = os.platform() === 'win32';
|
|
432
466
|
let commandOutput = '';
|
|
433
467
|
if (mode === 'assistant') {
|
|
434
468
|
console.log((0, picocolors_1.green)(`> ${command}`));
|
|
435
469
|
}
|
|
436
470
|
const childProcess = (0, child_process_1.spawn)(persistentProcess.shell, [isWindows ? '/c' : '-c', command], {
|
|
437
|
-
cwd
|
|
471
|
+
cwd,
|
|
438
472
|
env: {
|
|
439
473
|
...process.env,
|
|
440
474
|
PAGER: 'cat',
|
|
@@ -448,7 +482,7 @@ const runCommandChildProcess = (persistentProcess, command, mode, resolve, proje
|
|
|
448
482
|
childProcess,
|
|
449
483
|
};
|
|
450
484
|
const timer = setTimeout(() => {
|
|
451
|
-
(0, exports.resetShell)(
|
|
485
|
+
(0, exports.resetShell)(cwd);
|
|
452
486
|
if (mode === 'assistant') {
|
|
453
487
|
resolve({
|
|
454
488
|
result: formatResult(command, commandOutput, `Command timed out after ${MAX_EXECUTION_TIME / 1000} seconds and was terminated.`),
|
|
@@ -472,7 +506,7 @@ const runCommandChildProcess = (persistentProcess, command, mode, resolve, proje
|
|
|
472
506
|
clearTimeout(timer);
|
|
473
507
|
if (command.startsWith('cd ') && mode === 'user') {
|
|
474
508
|
const newWorkingDirectory = command.split(' ')[1];
|
|
475
|
-
|
|
509
|
+
cwd = (0, project_files_1.setWorkingDirectory)(path_1.default.join(cwd, newWorkingDirectory));
|
|
476
510
|
}
|
|
477
511
|
if (mode === 'assistant') {
|
|
478
512
|
console.log((0, picocolors_1.green)(`Command completed`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/utils/terminal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/utils/terminal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const project_file_tree_1 = require("../common/project-file-tree");
|
|
3
4
|
const worker_threads_1 = require("worker_threads");
|
|
4
|
-
const project_files_1 = require("../project-files");
|
|
5
5
|
const file_manager_1 = require("../checkpoints/file-manager");
|
|
6
|
-
const
|
|
6
|
+
const project_files_1 = require("../project-files");
|
|
7
7
|
if (worker_threads_1.parentPort) {
|
|
8
8
|
const parentPort = worker_threads_1.parentPort;
|
|
9
9
|
parentPort.on('message', async ({ dir }) => {
|
|
10
10
|
(0, project_files_1.setProjectRoot)(dir);
|
|
11
11
|
const initFileContext = await (0, project_files_1.getProjectFileContext)(dir, {});
|
|
12
12
|
const relativeFilepaths = (0, project_file_tree_1.getAllFilePaths)(initFileContext.fileTree);
|
|
13
|
-
await (0, file_manager_1.initializeCheckpointFileManager)({
|
|
13
|
+
await (0, file_manager_1.initializeCheckpointFileManager)({
|
|
14
|
+
projectDir: dir,
|
|
15
|
+
relativeFilepaths,
|
|
16
|
+
});
|
|
14
17
|
parentPort.postMessage(initFileContext);
|
|
15
18
|
});
|
|
16
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-context.js","sourceRoot":"","sources":["../../src/workers/project-context.ts"],"names":[],"mappings":";;AAAA,mDAA8D;AAC9D,
|
|
1
|
+
{"version":3,"file":"project-context.js","sourceRoot":"","sources":["../../src/workers/project-context.ts"],"names":[],"mappings":";;AAAA,gEAA0D;AAC1D,mDAA8D;AAC9D,8DAA6E;AAC7E,oDAAwE;AAExE,IAAI,2BAAe,EAAE,CAAC;IACpB,MAAM,UAAU,GAAG,2BAAe,CAAA;IAElC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QACzC,IAAA,8BAAc,EAAC,GAAG,CAAC,CAAA;QACnB,MAAM,eAAe,GAAG,MAAM,IAAA,qCAAqB,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAE5D,MAAM,iBAAiB,GAAG,IAAA,mCAAe,EAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;QACnE,MAAM,IAAA,8CAA+B,EAAC;YACpC,UAAU,EAAE,GAAG;YACf,iBAAiB;SAClB,CAAC,CAAA;QAEF,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { GetRelevantFilesTrace, Relabel, Trace } from './schema';
|
|
2
|
-
export declare function setupBigQuery(dataset?: string): Promise<void>;
|
|
3
|
-
export declare function insertTrace(trace: Trace, dataset?: string): Promise<boolean>;
|
|
4
|
-
export declare function insertRelabel(relabel: Relabel, dataset?: string): Promise<boolean>;
|
|
5
|
-
export declare function getRecentTraces(limit?: number, dataset?: string): Promise<Trace[]>;
|
|
6
|
-
export declare function getRecentRelabels(limit?: number, dataset?: string): Promise<Relabel[]>;
|
|
7
|
-
export declare function getTracesWithoutRelabels(model: string, limit?: number, userId?: string | undefined, dataset?: string): Promise<GetRelevantFilesTrace[]>;
|
|
8
|
-
export declare function getTracesWithRelabels(model: string, limit?: number, dataset?: string): Promise<{
|
|
9
|
-
trace: GetRelevantFilesTrace;
|
|
10
|
-
relabel: Relabel;
|
|
11
|
-
}[]>;
|
|
12
|
-
export declare function getTracesAndRelabelsForUser(userId: string, limit?: number, dataset?: string): Promise<{
|
|
13
|
-
trace: GetRelevantFilesTrace;
|
|
14
|
-
relabels: Relabel[];
|
|
15
|
-
}[]>;
|
|
@@ -1,263 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setupBigQuery = setupBigQuery;
|
|
4
|
-
exports.insertTrace = insertTrace;
|
|
5
|
-
exports.insertRelabel = insertRelabel;
|
|
6
|
-
exports.getRecentTraces = getRecentTraces;
|
|
7
|
-
exports.getRecentRelabels = getRecentRelabels;
|
|
8
|
-
exports.getTracesWithoutRelabels = getTracesWithoutRelabels;
|
|
9
|
-
exports.getTracesWithRelabels = getTracesWithRelabels;
|
|
10
|
-
exports.getTracesAndRelabelsForUser = getTracesAndRelabelsForUser;
|
|
11
|
-
const bigquery_1 = require("@google-cloud/bigquery");
|
|
12
|
-
const logger_1 = require("../util/logger");
|
|
13
|
-
const schema_1 = require("./schema");
|
|
14
|
-
const DATASET = process.env.NEXT_PUBLIC_CB_ENVIRONMENT === 'production'
|
|
15
|
-
? 'codebuff_data'
|
|
16
|
-
: 'codebuff_data_dev';
|
|
17
|
-
const TRACES_TABLE = 'traces';
|
|
18
|
-
const RELABELS_TABLE = 'relabels';
|
|
19
|
-
// Create a single BigQuery client instance to be used by all functions
|
|
20
|
-
let client = null;
|
|
21
|
-
function getClient() {
|
|
22
|
-
if (!client) {
|
|
23
|
-
throw new Error('BigQuery client not initialized. Call setupBigQuery first.');
|
|
24
|
-
}
|
|
25
|
-
return client;
|
|
26
|
-
}
|
|
27
|
-
async function setupBigQuery(dataset = DATASET) {
|
|
28
|
-
try {
|
|
29
|
-
client = new bigquery_1.BigQuery();
|
|
30
|
-
// Ensure dataset exists
|
|
31
|
-
const [ds] = await client.dataset(dataset).get({ autoCreate: true });
|
|
32
|
-
// Ensure tables exist
|
|
33
|
-
await ds.table(TRACES_TABLE).get({
|
|
34
|
-
autoCreate: true,
|
|
35
|
-
schema: schema_1.TRACES_SCHEMA,
|
|
36
|
-
timePartitioning: {
|
|
37
|
-
type: 'MONTH',
|
|
38
|
-
field: 'created_at',
|
|
39
|
-
},
|
|
40
|
-
clustering: {
|
|
41
|
-
fields: ['user_id', 'agent_step_id'],
|
|
42
|
-
},
|
|
43
|
-
});
|
|
44
|
-
await ds.table(RELABELS_TABLE).get({
|
|
45
|
-
autoCreate: true,
|
|
46
|
-
schema: schema_1.RELABELS_SCHEMA,
|
|
47
|
-
timePartitioning: {
|
|
48
|
-
type: 'MONTH',
|
|
49
|
-
field: 'created_at',
|
|
50
|
-
},
|
|
51
|
-
clustering: {
|
|
52
|
-
fields: ['user_id', 'agent_step_id'],
|
|
53
|
-
},
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
catch (error) {
|
|
57
|
-
logger_1.logger.error({
|
|
58
|
-
error,
|
|
59
|
-
stack: error.stack,
|
|
60
|
-
message: error.message,
|
|
61
|
-
name: error.name,
|
|
62
|
-
code: error.code,
|
|
63
|
-
details: error.details,
|
|
64
|
-
}, 'Failed to initialize BigQuery');
|
|
65
|
-
throw error; // Re-throw to be caught by caller
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
async function insertTrace(trace, dataset = DATASET) {
|
|
69
|
-
try {
|
|
70
|
-
// Create a copy of the trace and stringify payload if needed
|
|
71
|
-
const traceToInsert = {
|
|
72
|
-
...trace,
|
|
73
|
-
payload: trace.payload && typeof trace.payload !== 'string'
|
|
74
|
-
? JSON.stringify(trace.payload)
|
|
75
|
-
: trace.payload,
|
|
76
|
-
};
|
|
77
|
-
await getClient().dataset(dataset).table(TRACES_TABLE).insert(traceToInsert);
|
|
78
|
-
logger_1.logger.debug({ traceId: trace.id, type: trace.type }, 'Inserted trace into BigQuery');
|
|
79
|
-
return true;
|
|
80
|
-
}
|
|
81
|
-
catch (error) {
|
|
82
|
-
logger_1.logger.error({ error, traceId: trace.id }, 'Failed to insert trace into BigQuery');
|
|
83
|
-
return false;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
async function insertRelabel(relabel, dataset = DATASET) {
|
|
87
|
-
try {
|
|
88
|
-
// Stringify payload if needed
|
|
89
|
-
const relabelToInsert = {
|
|
90
|
-
...relabel,
|
|
91
|
-
payload: relabel.payload && typeof relabel.payload !== 'string'
|
|
92
|
-
? JSON.stringify(relabel.payload)
|
|
93
|
-
: relabel.payload,
|
|
94
|
-
};
|
|
95
|
-
await getClient()
|
|
96
|
-
.dataset(dataset)
|
|
97
|
-
.table(RELABELS_TABLE)
|
|
98
|
-
.insert(relabelToInsert);
|
|
99
|
-
logger_1.logger.debug({ relabelId: relabel.id }, 'Inserted relabel into BigQuery');
|
|
100
|
-
return true;
|
|
101
|
-
}
|
|
102
|
-
catch (error) {
|
|
103
|
-
logger_1.logger.error({ error, relabelId: relabel.id }, 'Failed to insert relabel into BigQuery');
|
|
104
|
-
return false;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
async function getRecentTraces(limit = 10, dataset = DATASET) {
|
|
108
|
-
const query = `
|
|
109
|
-
SELECT * FROM ${dataset}.${TRACES_TABLE}
|
|
110
|
-
ORDER BY created_at DESC
|
|
111
|
-
LIMIT ${limit}
|
|
112
|
-
`;
|
|
113
|
-
const [rows] = await getClient().query(query);
|
|
114
|
-
// Parse the payload as JSON if it's a string
|
|
115
|
-
return rows.map((row) => ({
|
|
116
|
-
...row,
|
|
117
|
-
payload: typeof row.payload === 'string' ? JSON.parse(row.payload) : row.payload,
|
|
118
|
-
}));
|
|
119
|
-
}
|
|
120
|
-
async function getRecentRelabels(limit = 10, dataset = DATASET) {
|
|
121
|
-
const query = `
|
|
122
|
-
SELECT * FROM ${dataset}.${RELABELS_TABLE}
|
|
123
|
-
ORDER BY created_at DESC
|
|
124
|
-
LIMIT ${limit}
|
|
125
|
-
`;
|
|
126
|
-
const [rows] = await getClient().query(query);
|
|
127
|
-
// Parse the payload as JSON if it's a string
|
|
128
|
-
return rows.map((row) => ({
|
|
129
|
-
...row,
|
|
130
|
-
payload: typeof row.payload === 'string' ? JSON.parse(row.payload) : row.payload,
|
|
131
|
-
}));
|
|
132
|
-
}
|
|
133
|
-
async function getTracesWithoutRelabels(model, limit = 100, userId = undefined, dataset = DATASET) {
|
|
134
|
-
// TODO: Optimize query, maybe only get traces in last 30 days etc
|
|
135
|
-
const query = `
|
|
136
|
-
SELECT t.*
|
|
137
|
-
FROM \`${dataset}.${TRACES_TABLE}\` t
|
|
138
|
-
LEFT JOIN (
|
|
139
|
-
SELECT r.agent_step_id, r.user_id, JSON_EXTRACT_SCALAR(r.payload, '$.user_input_id') as user_input_id
|
|
140
|
-
FROM \`${dataset}.${RELABELS_TABLE}\` r
|
|
141
|
-
WHERE r.model = '${model}'
|
|
142
|
-
${userId ? `AND r.user_id = '${userId}'` : ''}
|
|
143
|
-
) r
|
|
144
|
-
ON t.agent_step_id = r.agent_step_id
|
|
145
|
-
AND t.user_id = r.user_id
|
|
146
|
-
AND JSON_EXTRACT_SCALAR(t.payload, '$.user_input_id') = r.user_input_id
|
|
147
|
-
WHERE t.type = 'get-relevant-files'
|
|
148
|
-
AND r.agent_step_id IS NULL
|
|
149
|
-
${userId ? `AND t.user_id = '${userId}'` : ''}
|
|
150
|
-
ORDER BY t.created_at DESC
|
|
151
|
-
LIMIT ${limit}
|
|
152
|
-
`;
|
|
153
|
-
const [rows] = await getClient().query(query);
|
|
154
|
-
// Parse the payload as JSON if it's a string
|
|
155
|
-
return rows.map((row) => ({
|
|
156
|
-
...row,
|
|
157
|
-
payload: typeof row.payload === 'string' ? JSON.parse(row.payload) : row.payload,
|
|
158
|
-
}));
|
|
159
|
-
}
|
|
160
|
-
async function getTracesWithRelabels(model, limit = 100, dataset = DATASET) {
|
|
161
|
-
// Get traces that DO have matching relabels for the specified model
|
|
162
|
-
const query = `
|
|
163
|
-
SELECT
|
|
164
|
-
ANY_VALUE(t) as trace,
|
|
165
|
-
ARRAY_AGG(r ORDER BY r.created_at DESC LIMIT 1)[OFFSET(0)] as relabel
|
|
166
|
-
FROM \`${dataset}.${TRACES_TABLE}\` t
|
|
167
|
-
INNER JOIN (
|
|
168
|
-
SELECT *
|
|
169
|
-
FROM \`${dataset}.${RELABELS_TABLE}\` r
|
|
170
|
-
WHERE r.model = '${model}'
|
|
171
|
-
) r
|
|
172
|
-
ON t.agent_step_id = r.agent_step_id
|
|
173
|
-
AND t.user_id = r.user_id
|
|
174
|
-
AND JSON_EXTRACT_SCALAR(t.payload, '$.user_input_id') = JSON_EXTRACT_SCALAR(r.payload, '$.user_input_id')
|
|
175
|
-
WHERE t.type = 'get-relevant-files'
|
|
176
|
-
AND JSON_EXTRACT_SCALAR(t.payload, '$.output') IS NOT NULL
|
|
177
|
-
AND JSON_EXTRACT_SCALAR(r.payload, '$.output') IS NOT NULL
|
|
178
|
-
GROUP BY t.agent_step_id
|
|
179
|
-
ORDER BY MAX(t.created_at) DESC
|
|
180
|
-
LIMIT ${limit}
|
|
181
|
-
`;
|
|
182
|
-
const [rows] = await getClient().query(query);
|
|
183
|
-
// Filter out any results where either trace or relabel data is missing
|
|
184
|
-
const res = rows
|
|
185
|
-
.filter((row) => row.trace && row.relabel)
|
|
186
|
-
.map((row) => ({
|
|
187
|
-
trace: row.trace,
|
|
188
|
-
relabel: row.relabel,
|
|
189
|
-
}));
|
|
190
|
-
// Parse the payload as JSON if it's a string
|
|
191
|
-
return res.map((row) => ({
|
|
192
|
-
...row,
|
|
193
|
-
trace: {
|
|
194
|
-
...row.trace,
|
|
195
|
-
payload: typeof row.trace.payload === 'string'
|
|
196
|
-
? JSON.parse(row.trace.payload)
|
|
197
|
-
: row.trace.payload,
|
|
198
|
-
},
|
|
199
|
-
relabel: {
|
|
200
|
-
...row.relabel,
|
|
201
|
-
payload: typeof row.relabel.payload === 'string'
|
|
202
|
-
? JSON.parse(row.relabel.payload)
|
|
203
|
-
: row.relabel.payload,
|
|
204
|
-
},
|
|
205
|
-
}));
|
|
206
|
-
}
|
|
207
|
-
async function getTracesAndRelabelsForUser(userId, limit = 50, dataset = DATASET) {
|
|
208
|
-
// Get recent traces for the user and any associated relabels
|
|
209
|
-
const query = `
|
|
210
|
-
WITH traces AS (
|
|
211
|
-
SELECT
|
|
212
|
-
id,
|
|
213
|
-
agent_step_id,
|
|
214
|
-
user_id,
|
|
215
|
-
created_at,
|
|
216
|
-
type,
|
|
217
|
-
payload
|
|
218
|
-
FROM \`${dataset}.${TRACES_TABLE}\`
|
|
219
|
-
WHERE user_id = '${userId}' AND type = 'get-relevant-files'
|
|
220
|
-
ORDER BY created_at DESC
|
|
221
|
-
LIMIT ${limit}
|
|
222
|
-
)
|
|
223
|
-
SELECT
|
|
224
|
-
t.id,
|
|
225
|
-
ANY_VALUE(t.agent_step_id) as agent_step_id,
|
|
226
|
-
ANY_VALUE(t.user_id) as user_id,
|
|
227
|
-
ANY_VALUE(t.created_at) as created_at,
|
|
228
|
-
ANY_VALUE(t.type) as type,
|
|
229
|
-
ANY_VALUE(t.payload) as payload,
|
|
230
|
-
ARRAY_AGG(r IGNORE NULLS) as relabels
|
|
231
|
-
FROM traces t
|
|
232
|
-
LEFT JOIN \`${dataset}.${RELABELS_TABLE}\` r
|
|
233
|
-
ON t.agent_step_id = r.agent_step_id
|
|
234
|
-
AND t.user_id = r.user_id
|
|
235
|
-
AND JSON_EXTRACT_SCALAR(t.payload, '$.user_input_id') = JSON_EXTRACT_SCALAR(r.payload, '$.user_input_id')
|
|
236
|
-
GROUP BY t.id
|
|
237
|
-
ORDER BY ANY_VALUE(t.created_at) DESC
|
|
238
|
-
`;
|
|
239
|
-
const [rows] = await getClient().query(query);
|
|
240
|
-
// Process and parse the results
|
|
241
|
-
return rows.map((row) => {
|
|
242
|
-
// Create trace object from individual fields
|
|
243
|
-
const trace = {
|
|
244
|
-
id: row.id,
|
|
245
|
-
agent_step_id: row.agent_step_id,
|
|
246
|
-
user_id: row.user_id,
|
|
247
|
-
created_at: row.created_at,
|
|
248
|
-
type: row.type,
|
|
249
|
-
payload: typeof row.payload === 'string' ? JSON.parse(row.payload) : row.payload,
|
|
250
|
-
};
|
|
251
|
-
// Parse relabel payloads (if any exist)
|
|
252
|
-
const relabels = row.relabels && row.relabels.length > 0
|
|
253
|
-
? row.relabels.map((relabel) => ({
|
|
254
|
-
...relabel,
|
|
255
|
-
payload: typeof relabel.payload === 'string'
|
|
256
|
-
? JSON.parse(relabel.payload)
|
|
257
|
-
: relabel.payload,
|
|
258
|
-
}))
|
|
259
|
-
: [];
|
|
260
|
-
return { trace, relabels };
|
|
261
|
-
});
|
|
262
|
-
}
|
|
263
|
-
//# sourceMappingURL=client.js.map
|