psadk 1.4.8 → 1.5.0
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/build/main/index.d.ts +1 -0
- package/build/main/lib/PSAI.js +1 -2
- package/build/main/lib/PSAgent.d.ts +46 -44
- package/build/main/lib/PSAgent.js +176 -961
- package/build/main/lib/PSAgentConfig.d.ts +110 -26
- package/build/main/lib/PSAgentLogger.js +1 -2
- package/build/main/lib/PSAgentTool.d.ts +8 -3
- package/build/main/lib/PSAgentTool.js +3 -3
- package/build/main/lib/agent-core/{agent-loop.d.ts → src/agent-loop.d.ts} +1 -1
- package/build/main/lib/agent-core/src/agent-loop.js +514 -0
- package/build/{module/lib/agent-core → main/lib/agent-core/src}/agent.d.ts +2 -2
- package/build/main/lib/agent-core/src/agent.js +419 -0
- package/build/main/lib/agent-core/{harness → src/harness}/agent-harness.d.ts +36 -26
- package/build/main/lib/agent-core/src/harness/agent-harness.js +1028 -0
- package/build/main/lib/agent-core/src/harness/compaction/branch-summarization.d.ts +52 -0
- package/build/main/lib/agent-core/src/harness/compaction/branch-summarization.js +182 -0
- package/build/main/lib/agent-core/src/harness/compaction/compaction.d.ts +94 -0
- package/build/main/lib/agent-core/src/harness/compaction/compaction.js +550 -0
- package/build/main/lib/agent-core/src/harness/compaction/utils.d.ts +24 -0
- package/build/main/lib/agent-core/src/harness/compaction/utils.js +131 -0
- package/build/main/lib/agent-core/src/harness/env/nodejs.d.ts +50 -0
- package/build/main/lib/agent-core/src/harness/env/nodejs.js +494 -0
- package/build/main/lib/agent-core/{harness → src/harness}/messages.d.ts +2 -2
- package/build/{module/lib/agent-core → main/lib/agent-core/src}/harness/messages.js +1 -1
- package/build/main/lib/agent-core/{harness → src/harness}/prompt-templates.d.ts +4 -1
- package/build/main/lib/agent-core/src/harness/prompt-templates.js +235 -0
- package/build/{module/lib/agent-core/harness/session/repo/jsonl.d.ts → main/lib/agent-core/src/harness/session/jsonl-repo.d.ts} +7 -1
- package/build/main/lib/agent-core/src/harness/session/jsonl-repo.js +106 -0
- package/build/{module/lib/agent-core/harness/session/storage/jsonl.d.ts → main/lib/agent-core/src/harness/session/jsonl-storage.d.ts} +7 -4
- package/build/main/lib/agent-core/src/harness/session/jsonl-storage.js +234 -0
- package/build/main/lib/agent-core/{harness/session/repo/memory.d.ts → src/harness/session/memory-repo.d.ts} +1 -1
- package/build/main/lib/agent-core/src/harness/session/memory-repo.js +45 -0
- package/build/main/lib/agent-core/{harness/session/storage/memory.d.ts → src/harness/session/memory-storage.d.ts} +4 -5
- package/build/main/lib/agent-core/src/harness/session/memory-storage.js +116 -0
- package/build/main/lib/agent-core/{harness/session/repo/shared.d.ts → src/harness/session/repo-utils.d.ts} +3 -2
- package/build/main/lib/agent-core/src/harness/session/repo-utils.js +39 -0
- package/build/{module/lib/agent-core → main/lib/agent-core/src}/harness/session/session.d.ts +3 -2
- package/build/main/lib/agent-core/src/harness/session/session.js +213 -0
- package/build/main/lib/agent-core/src/harness/session/uuid.d.ts +1 -0
- package/build/main/lib/agent-core/src/harness/session/uuid.js +54 -0
- package/build/main/lib/agent-core/{harness → src/harness}/skills.d.ts +4 -1
- package/build/main/lib/agent-core/src/harness/skills.js +353 -0
- package/build/main/lib/agent-core/{harness → src/harness}/system-prompt.d.ts +1 -1
- package/build/main/lib/agent-core/src/harness/system-prompt.js +30 -0
- package/build/{module/lib/agent-core → main/lib/agent-core/src}/harness/types.d.ts +160 -70
- package/build/main/lib/agent-core/src/harness/types.js +94 -0
- package/build/main/lib/agent-core/{harness → src/harness}/utils/shell-output.d.ts +2 -2
- package/build/main/lib/agent-core/src/harness/utils/shell-output.js +134 -0
- package/build/main/lib/agent-core/src/harness/utils/truncate.js +294 -0
- package/build/main/lib/agent-core/src/index.d.ts +19 -0
- package/build/main/lib/agent-core/src/index.js +25 -0
- package/build/main/lib/agent-core/src/node.d.ts +2 -0
- package/build/main/lib/agent-core/src/node.js +3 -0
- package/build/main/lib/agent-core/{proxy.js → src/proxy.js} +3 -2
- package/build/{module/lib/agent-core → main/lib/agent-core/src}/types.d.ts +13 -1
- package/build/{module/lib/agent-core → main/lib/agent-core/src}/types.js +1 -1
- package/build/main/lib/localAgent.d.ts +35 -0
- package/build/main/lib/localAgent.js +329 -0
- package/build/main/lib/remoteAgent.d.ts +25 -0
- package/build/main/lib/remoteAgent.js +311 -0
- package/build/main/lib/tools/BraveWebSearchTool.js +1 -2
- package/build/main/lib/tools/PSArtifactTool.js +1 -2
- package/build/main/lib/tools/PSClarifyTool.js +1 -2
- package/build/main/lib/tools/PSCommandLineTool.js +1 -2
- package/build/main/lib/tools/PSMemoryTool.js +1 -2
- package/build/main/lib/tools/PSReadFileTool.js +1 -2
- package/build/main/lib/tools/PSRetrievalTool.js +1 -2
- package/build/main/lib/tools/PSSkillTool.js +1 -2
- package/build/main/lib/tools/PSSubAgentTool.js +1 -1
- package/build/main/lib/tools/PSWriteFileTool.js +1 -2
- package/build/main/lib/tools/TodoTool.js +1 -2
- package/build/main/lib/utils/debuglogger.js +1 -2
- package/build/main/lib/utils/helpers.js +1 -6
- package/build/module/index.d.ts +1 -0
- package/build/module/lib/PSAI.js +1 -2
- package/build/module/lib/PSAgent.d.ts +46 -44
- package/build/module/lib/PSAgent.js +176 -961
- package/build/module/lib/PSAgentConfig.d.ts +110 -26
- package/build/module/lib/PSAgentLogger.js +1 -2
- package/build/module/lib/PSAgentTool.d.ts +8 -3
- package/build/module/lib/PSAgentTool.js +3 -3
- package/build/module/lib/agent-core/{agent-loop.d.ts → src/agent-loop.d.ts} +1 -1
- package/build/module/lib/agent-core/src/agent-loop.js +514 -0
- package/build/{main/lib/agent-core → module/lib/agent-core/src}/agent.d.ts +2 -2
- package/build/module/lib/agent-core/src/agent.js +419 -0
- package/build/module/lib/agent-core/{harness → src/harness}/agent-harness.d.ts +36 -26
- package/build/module/lib/agent-core/src/harness/agent-harness.js +1028 -0
- package/build/module/lib/agent-core/src/harness/compaction/branch-summarization.d.ts +52 -0
- package/build/module/lib/agent-core/src/harness/compaction/branch-summarization.js +182 -0
- package/build/module/lib/agent-core/src/harness/compaction/compaction.d.ts +94 -0
- package/build/module/lib/agent-core/src/harness/compaction/compaction.js +550 -0
- package/build/module/lib/agent-core/src/harness/compaction/utils.d.ts +24 -0
- package/build/module/lib/agent-core/src/harness/compaction/utils.js +131 -0
- package/build/module/lib/agent-core/src/harness/env/nodejs.d.ts +50 -0
- package/build/module/lib/agent-core/src/harness/env/nodejs.js +494 -0
- package/build/module/lib/agent-core/{harness → src/harness}/messages.d.ts +2 -2
- package/build/{main/lib/agent-core → module/lib/agent-core/src}/harness/messages.js +1 -1
- package/build/module/lib/agent-core/{harness → src/harness}/prompt-templates.d.ts +4 -1
- package/build/module/lib/agent-core/src/harness/prompt-templates.js +235 -0
- package/build/{main/lib/agent-core/harness/session/repo/jsonl.d.ts → module/lib/agent-core/src/harness/session/jsonl-repo.d.ts} +7 -1
- package/build/module/lib/agent-core/src/harness/session/jsonl-repo.js +106 -0
- package/build/{main/lib/agent-core/harness/session/storage/jsonl.d.ts → module/lib/agent-core/src/harness/session/jsonl-storage.d.ts} +7 -4
- package/build/module/lib/agent-core/src/harness/session/jsonl-storage.js +234 -0
- package/build/module/lib/agent-core/{harness/session/repo/memory.d.ts → src/harness/session/memory-repo.d.ts} +1 -1
- package/build/module/lib/agent-core/src/harness/session/memory-repo.js +45 -0
- package/build/module/lib/agent-core/{harness/session/storage/memory.d.ts → src/harness/session/memory-storage.d.ts} +4 -5
- package/build/module/lib/agent-core/src/harness/session/memory-storage.js +116 -0
- package/build/module/lib/agent-core/{harness/session/repo/shared.d.ts → src/harness/session/repo-utils.d.ts} +3 -2
- package/build/module/lib/agent-core/src/harness/session/repo-utils.js +39 -0
- package/build/{main/lib/agent-core → module/lib/agent-core/src}/harness/session/session.d.ts +3 -2
- package/build/module/lib/agent-core/src/harness/session/session.js +213 -0
- package/build/module/lib/agent-core/src/harness/session/uuid.d.ts +1 -0
- package/build/module/lib/agent-core/src/harness/session/uuid.js +54 -0
- package/build/module/lib/agent-core/{harness → src/harness}/skills.d.ts +4 -1
- package/build/module/lib/agent-core/src/harness/skills.js +353 -0
- package/build/module/lib/agent-core/{harness → src/harness}/system-prompt.d.ts +1 -1
- package/build/module/lib/agent-core/src/harness/system-prompt.js +30 -0
- package/build/{main/lib/agent-core → module/lib/agent-core/src}/harness/types.d.ts +160 -70
- package/build/module/lib/agent-core/src/harness/types.js +94 -0
- package/build/module/lib/agent-core/{harness → src/harness}/utils/shell-output.d.ts +2 -2
- package/build/module/lib/agent-core/src/harness/utils/shell-output.js +134 -0
- package/build/module/lib/agent-core/src/harness/utils/truncate.js +294 -0
- package/build/module/lib/agent-core/src/index.d.ts +19 -0
- package/build/module/lib/agent-core/src/index.js +25 -0
- package/build/module/lib/agent-core/src/node.d.ts +2 -0
- package/build/module/lib/agent-core/src/node.js +3 -0
- package/build/module/lib/agent-core/{proxy.js → src/proxy.js} +3 -2
- package/build/{main/lib/agent-core → module/lib/agent-core/src}/types.d.ts +13 -1
- package/build/{main/lib/agent-core → module/lib/agent-core/src}/types.js +1 -1
- package/build/module/lib/localAgent.d.ts +35 -0
- package/build/module/lib/localAgent.js +329 -0
- package/build/module/lib/remoteAgent.d.ts +25 -0
- package/build/module/lib/remoteAgent.js +311 -0
- package/build/module/lib/tools/BraveWebSearchTool.js +1 -2
- package/build/module/lib/tools/PSArtifactTool.js +1 -2
- package/build/module/lib/tools/PSClarifyTool.js +1 -2
- package/build/module/lib/tools/PSCommandLineTool.js +1 -2
- package/build/module/lib/tools/PSMemoryTool.js +1 -2
- package/build/module/lib/tools/PSReadFileTool.js +1 -2
- package/build/module/lib/tools/PSRetrievalTool.js +1 -2
- package/build/module/lib/tools/PSSkillTool.js +1 -2
- package/build/module/lib/tools/PSSubAgentTool.js +1 -1
- package/build/module/lib/tools/PSWriteFileTool.js +1 -2
- package/build/module/lib/tools/TodoTool.js +1 -2
- package/build/module/lib/utils/debuglogger.js +1 -2
- package/build/module/lib/utils/helpers.js +1 -6
- package/package.json +2 -1
- package/build/main/lib/agent-core/agent-loop.js +0 -483
- package/build/main/lib/agent-core/agent.js +0 -419
- package/build/main/lib/agent-core/harness/agent-harness.js +0 -772
- package/build/main/lib/agent-core/harness/compaction/branch-summarization.d.ts +0 -87
- package/build/main/lib/agent-core/harness/compaction/branch-summarization.js +0 -246
- package/build/main/lib/agent-core/harness/compaction/compaction.d.ts +0 -121
- package/build/main/lib/agent-core/harness/compaction/compaction.js +0 -637
- package/build/main/lib/agent-core/harness/compaction/utils.d.ts +0 -37
- package/build/main/lib/agent-core/harness/compaction/utils.js +0 -153
- package/build/main/lib/agent-core/harness/env/nodejs.d.ts +0 -43
- package/build/main/lib/agent-core/harness/env/nodejs.js +0 -353
- package/build/main/lib/agent-core/harness/execution-env.d.ts +0 -3
- package/build/main/lib/agent-core/harness/execution-env.js +0 -3
- package/build/main/lib/agent-core/harness/prompt-templates.js +0 -204
- package/build/main/lib/agent-core/harness/session/repo/jsonl.js +0 -98
- package/build/main/lib/agent-core/harness/session/repo/memory.js +0 -46
- package/build/main/lib/agent-core/harness/session/repo/shared.js +0 -31
- package/build/main/lib/agent-core/harness/session/session.js +0 -199
- package/build/main/lib/agent-core/harness/session/storage/jsonl.js +0 -170
- package/build/main/lib/agent-core/harness/session/storage/memory.js +0 -94
- package/build/main/lib/agent-core/harness/skills.js +0 -266
- package/build/main/lib/agent-core/harness/system-prompt.js +0 -30
- package/build/main/lib/agent-core/harness/types.js +0 -16
- package/build/main/lib/agent-core/harness/utils/shell-output.js +0 -101
- package/build/main/lib/agent-core/harness/utils/truncate.js +0 -208
- package/build/main/lib/agent-core/index.d.ts +0 -19
- package/build/main/lib/agent-core/index.js +0 -25
- package/build/module/lib/agent-core/agent-loop.js +0 -483
- package/build/module/lib/agent-core/agent.js +0 -419
- package/build/module/lib/agent-core/harness/agent-harness.js +0 -772
- package/build/module/lib/agent-core/harness/compaction/branch-summarization.d.ts +0 -87
- package/build/module/lib/agent-core/harness/compaction/branch-summarization.js +0 -246
- package/build/module/lib/agent-core/harness/compaction/compaction.d.ts +0 -121
- package/build/module/lib/agent-core/harness/compaction/compaction.js +0 -637
- package/build/module/lib/agent-core/harness/compaction/utils.d.ts +0 -37
- package/build/module/lib/agent-core/harness/compaction/utils.js +0 -153
- package/build/module/lib/agent-core/harness/env/nodejs.d.ts +0 -43
- package/build/module/lib/agent-core/harness/env/nodejs.js +0 -353
- package/build/module/lib/agent-core/harness/execution-env.d.ts +0 -3
- package/build/module/lib/agent-core/harness/execution-env.js +0 -3
- package/build/module/lib/agent-core/harness/prompt-templates.js +0 -204
- package/build/module/lib/agent-core/harness/session/repo/jsonl.js +0 -98
- package/build/module/lib/agent-core/harness/session/repo/memory.js +0 -46
- package/build/module/lib/agent-core/harness/session/repo/shared.js +0 -31
- package/build/module/lib/agent-core/harness/session/session.js +0 -199
- package/build/module/lib/agent-core/harness/session/storage/jsonl.js +0 -170
- package/build/module/lib/agent-core/harness/session/storage/memory.js +0 -94
- package/build/module/lib/agent-core/harness/skills.js +0 -266
- package/build/module/lib/agent-core/harness/system-prompt.js +0 -30
- package/build/module/lib/agent-core/harness/types.js +0 -16
- package/build/module/lib/agent-core/harness/utils/shell-output.js +0 -101
- package/build/module/lib/agent-core/harness/utils/truncate.js +0 -208
- package/build/module/lib/agent-core/index.d.ts +0 -19
- package/build/module/lib/agent-core/index.js +0 -25
- /package/build/main/lib/agent-core/{harness → src/harness}/utils/truncate.d.ts +0 -0
- /package/build/main/lib/agent-core/{proxy.d.ts → src/proxy.d.ts} +0 -0
- /package/build/module/lib/agent-core/{harness → src/harness}/utils/truncate.d.ts +0 -0
- /package/build/module/lib/agent-core/{proxy.d.ts → src/proxy.d.ts} +0 -0
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { randomBytes } from 'node:crypto';
|
|
2
|
-
import { createWriteStream } from 'node:fs';
|
|
3
|
-
import { tmpdir } from 'node:os';
|
|
4
|
-
import { join } from 'node:path';
|
|
5
|
-
import { DEFAULT_MAX_BYTES, truncateTail } from './truncate.js';
|
|
6
|
-
export function sanitizeBinaryOutput(str) {
|
|
7
|
-
return Array.from(str)
|
|
8
|
-
.filter((char) => {
|
|
9
|
-
const code = char.codePointAt(0);
|
|
10
|
-
if (code === undefined)
|
|
11
|
-
return false;
|
|
12
|
-
if (code === 0x09 || code === 0x0a || code === 0x0d)
|
|
13
|
-
return true;
|
|
14
|
-
if (code <= 0x1f)
|
|
15
|
-
return false;
|
|
16
|
-
if (code >= 0xfff9 && code <= 0xfffb)
|
|
17
|
-
return false;
|
|
18
|
-
return true;
|
|
19
|
-
})
|
|
20
|
-
.join('');
|
|
21
|
-
}
|
|
22
|
-
export async function executeShellWithCapture(env, command, options) {
|
|
23
|
-
const outputChunks = [];
|
|
24
|
-
let outputBytes = 0;
|
|
25
|
-
const maxOutputBytes = DEFAULT_MAX_BYTES * 2;
|
|
26
|
-
let tempFilePath;
|
|
27
|
-
let tempFileStream;
|
|
28
|
-
let totalBytes = 0;
|
|
29
|
-
const ensureTempFile = () => {
|
|
30
|
-
if (tempFilePath)
|
|
31
|
-
return;
|
|
32
|
-
const id = randomBytes(8).toString('hex');
|
|
33
|
-
tempFilePath = join(tmpdir(), `bash-${id}.log`);
|
|
34
|
-
tempFileStream = createWriteStream(tempFilePath);
|
|
35
|
-
for (const chunk of outputChunks) {
|
|
36
|
-
tempFileStream.write(chunk);
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
const onChunk = (chunk) => {
|
|
40
|
-
totalBytes += Buffer.byteLength(chunk, 'utf-8');
|
|
41
|
-
const text = sanitizeBinaryOutput(chunk).replace(/\r/g, '');
|
|
42
|
-
if (totalBytes > DEFAULT_MAX_BYTES) {
|
|
43
|
-
ensureTempFile();
|
|
44
|
-
}
|
|
45
|
-
if (tempFileStream) {
|
|
46
|
-
tempFileStream.write(text);
|
|
47
|
-
}
|
|
48
|
-
outputChunks.push(text);
|
|
49
|
-
outputBytes += text.length;
|
|
50
|
-
while (outputBytes > maxOutputBytes && outputChunks.length > 1) {
|
|
51
|
-
const removed = outputChunks.shift();
|
|
52
|
-
outputBytes -= removed.length;
|
|
53
|
-
}
|
|
54
|
-
options?.onChunk?.(text);
|
|
55
|
-
};
|
|
56
|
-
try {
|
|
57
|
-
const result = await env.exec(command, {
|
|
58
|
-
...(options ?? {}),
|
|
59
|
-
onStdout: onChunk,
|
|
60
|
-
onStderr: onChunk,
|
|
61
|
-
});
|
|
62
|
-
const fullOutput = outputChunks.join('');
|
|
63
|
-
const truncationResult = truncateTail(fullOutput);
|
|
64
|
-
if (truncationResult.truncated) {
|
|
65
|
-
ensureTempFile();
|
|
66
|
-
}
|
|
67
|
-
tempFileStream?.end();
|
|
68
|
-
const cancelled = options?.signal?.aborted ?? false;
|
|
69
|
-
return {
|
|
70
|
-
output: truncationResult.truncated
|
|
71
|
-
? truncationResult.content
|
|
72
|
-
: fullOutput,
|
|
73
|
-
exitCode: cancelled ? undefined : result.exitCode,
|
|
74
|
-
cancelled,
|
|
75
|
-
truncated: truncationResult.truncated,
|
|
76
|
-
fullOutputPath: tempFilePath,
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
catch (err) {
|
|
80
|
-
if (options?.signal?.aborted) {
|
|
81
|
-
const fullOutput = outputChunks.join('');
|
|
82
|
-
const truncationResult = truncateTail(fullOutput);
|
|
83
|
-
if (truncationResult.truncated) {
|
|
84
|
-
ensureTempFile();
|
|
85
|
-
}
|
|
86
|
-
tempFileStream?.end();
|
|
87
|
-
return {
|
|
88
|
-
output: truncationResult.truncated
|
|
89
|
-
? truncationResult.content
|
|
90
|
-
: fullOutput,
|
|
91
|
-
exitCode: undefined,
|
|
92
|
-
cancelled: true,
|
|
93
|
-
truncated: truncationResult.truncated,
|
|
94
|
-
fullOutputPath: tempFilePath,
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
tempFileStream?.end();
|
|
98
|
-
throw err;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtb3V0cHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9hZ2VudC1jb3JlL2hhcm5lc3MvdXRpbHMvc2hlbGwtb3V0cHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFvQixNQUFNLFNBQVMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFJakMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWlCaEUsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEdBQVc7SUFDOUMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztTQUNuQixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNmLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsSUFBSSxJQUFJLEtBQUssU0FBUztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3JDLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDakUsSUFBSSxJQUFJLElBQUksSUFBSTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQy9CLElBQUksSUFBSSxJQUFJLE1BQU0sSUFBSSxJQUFJLElBQUksTUFBTTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ25ELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO1NBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsdUJBQXVCLENBQzND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
|
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared truncation utilities for tool outputs.
|
|
3
|
-
*
|
|
4
|
-
* Truncation is based on two independent limits - whichever is hit first wins:
|
|
5
|
-
* - Line limit (default: 2000 lines)
|
|
6
|
-
* - Byte limit (default: 50KB)
|
|
7
|
-
*
|
|
8
|
-
* Never returns partial lines (except bash tail truncation edge case).
|
|
9
|
-
*/
|
|
10
|
-
export const DEFAULT_MAX_LINES = 2000;
|
|
11
|
-
export const DEFAULT_MAX_BYTES = 50 * 1024; // 50KB
|
|
12
|
-
export const GREP_MAX_LINE_LENGTH = 500; // Max chars per grep match line
|
|
13
|
-
/**
|
|
14
|
-
* Format bytes as human-readable size.
|
|
15
|
-
*/
|
|
16
|
-
export function formatSize(bytes) {
|
|
17
|
-
if (bytes < 1024) {
|
|
18
|
-
return `${bytes}B`;
|
|
19
|
-
}
|
|
20
|
-
else if (bytes < 1024 * 1024) {
|
|
21
|
-
return `${(bytes / 1024).toFixed(1)}KB`;
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
return `${(bytes / (1024 * 1024)).toFixed(1)}MB`;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Truncate content from the head (keep first N lines/bytes).
|
|
29
|
-
* Suitable for file reads where you want to see the beginning.
|
|
30
|
-
*
|
|
31
|
-
* Never returns partial lines. If first line exceeds byte limit,
|
|
32
|
-
* returns empty content with firstLineExceedsLimit=true.
|
|
33
|
-
*/
|
|
34
|
-
export function truncateHead(content, options = {}) {
|
|
35
|
-
const maxLines = options.maxLines ?? DEFAULT_MAX_LINES;
|
|
36
|
-
const maxBytes = options.maxBytes ?? DEFAULT_MAX_BYTES;
|
|
37
|
-
const totalBytes = Buffer.byteLength(content, 'utf-8');
|
|
38
|
-
const lines = content.split('\n');
|
|
39
|
-
const totalLines = lines.length;
|
|
40
|
-
// Check if no truncation needed
|
|
41
|
-
if (totalLines <= maxLines && totalBytes <= maxBytes) {
|
|
42
|
-
return {
|
|
43
|
-
content,
|
|
44
|
-
truncated: false,
|
|
45
|
-
truncatedBy: null,
|
|
46
|
-
totalLines,
|
|
47
|
-
totalBytes,
|
|
48
|
-
outputLines: totalLines,
|
|
49
|
-
outputBytes: totalBytes,
|
|
50
|
-
lastLinePartial: false,
|
|
51
|
-
firstLineExceedsLimit: false,
|
|
52
|
-
maxLines,
|
|
53
|
-
maxBytes,
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
// Check if first line alone exceeds byte limit
|
|
57
|
-
const firstLineBytes = Buffer.byteLength(lines[0], 'utf-8');
|
|
58
|
-
if (firstLineBytes > maxBytes) {
|
|
59
|
-
return {
|
|
60
|
-
content: '',
|
|
61
|
-
truncated: true,
|
|
62
|
-
truncatedBy: 'bytes',
|
|
63
|
-
totalLines,
|
|
64
|
-
totalBytes,
|
|
65
|
-
outputLines: 0,
|
|
66
|
-
outputBytes: 0,
|
|
67
|
-
lastLinePartial: false,
|
|
68
|
-
firstLineExceedsLimit: true,
|
|
69
|
-
maxLines,
|
|
70
|
-
maxBytes,
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
// Collect complete lines that fit
|
|
74
|
-
const outputLinesArr = [];
|
|
75
|
-
let outputBytesCount = 0;
|
|
76
|
-
let truncatedBy = 'lines';
|
|
77
|
-
for (let i = 0; i < lines.length && i < maxLines; i++) {
|
|
78
|
-
const line = lines[i];
|
|
79
|
-
const lineBytes = Buffer.byteLength(line, 'utf-8') + (i > 0 ? 1 : 0); // +1 for newline
|
|
80
|
-
if (outputBytesCount + lineBytes > maxBytes) {
|
|
81
|
-
truncatedBy = 'bytes';
|
|
82
|
-
break;
|
|
83
|
-
}
|
|
84
|
-
outputLinesArr.push(line);
|
|
85
|
-
outputBytesCount += lineBytes;
|
|
86
|
-
}
|
|
87
|
-
// If we exited due to line limit
|
|
88
|
-
if (outputLinesArr.length >= maxLines && outputBytesCount <= maxBytes) {
|
|
89
|
-
truncatedBy = 'lines';
|
|
90
|
-
}
|
|
91
|
-
const outputContent = outputLinesArr.join('\n');
|
|
92
|
-
const finalOutputBytes = Buffer.byteLength(outputContent, 'utf-8');
|
|
93
|
-
return {
|
|
94
|
-
content: outputContent,
|
|
95
|
-
truncated: true,
|
|
96
|
-
truncatedBy,
|
|
97
|
-
totalLines,
|
|
98
|
-
totalBytes,
|
|
99
|
-
outputLines: outputLinesArr.length,
|
|
100
|
-
outputBytes: finalOutputBytes,
|
|
101
|
-
lastLinePartial: false,
|
|
102
|
-
firstLineExceedsLimit: false,
|
|
103
|
-
maxLines,
|
|
104
|
-
maxBytes,
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Truncate content from the tail (keep last N lines/bytes).
|
|
109
|
-
* Suitable for bash output where you want to see the end (errors, final results).
|
|
110
|
-
*
|
|
111
|
-
* May return partial first line if the last line of original content exceeds byte limit.
|
|
112
|
-
*/
|
|
113
|
-
export function truncateTail(content, options = {}) {
|
|
114
|
-
const maxLines = options.maxLines ?? DEFAULT_MAX_LINES;
|
|
115
|
-
const maxBytes = options.maxBytes ?? DEFAULT_MAX_BYTES;
|
|
116
|
-
const totalBytes = Buffer.byteLength(content, 'utf-8');
|
|
117
|
-
const lines = content.split('\n');
|
|
118
|
-
const totalLines = lines.length;
|
|
119
|
-
// Check if no truncation needed
|
|
120
|
-
if (totalLines <= maxLines && totalBytes <= maxBytes) {
|
|
121
|
-
return {
|
|
122
|
-
content,
|
|
123
|
-
truncated: false,
|
|
124
|
-
truncatedBy: null,
|
|
125
|
-
totalLines,
|
|
126
|
-
totalBytes,
|
|
127
|
-
outputLines: totalLines,
|
|
128
|
-
outputBytes: totalBytes,
|
|
129
|
-
lastLinePartial: false,
|
|
130
|
-
firstLineExceedsLimit: false,
|
|
131
|
-
maxLines,
|
|
132
|
-
maxBytes,
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
// Work backwards from the end
|
|
136
|
-
const outputLinesArr = [];
|
|
137
|
-
let outputBytesCount = 0;
|
|
138
|
-
let truncatedBy = 'lines';
|
|
139
|
-
let lastLinePartial = false;
|
|
140
|
-
for (let i = lines.length - 1; i >= 0 && outputLinesArr.length < maxLines; i--) {
|
|
141
|
-
const line = lines[i];
|
|
142
|
-
const lineBytes = Buffer.byteLength(line, 'utf-8') + (outputLinesArr.length > 0 ? 1 : 0); // +1 for newline
|
|
143
|
-
if (outputBytesCount + lineBytes > maxBytes) {
|
|
144
|
-
truncatedBy = 'bytes';
|
|
145
|
-
// Edge case: if we haven't added ANY lines yet and this line exceeds maxBytes,
|
|
146
|
-
// take the end of the line (partial)
|
|
147
|
-
if (outputLinesArr.length === 0) {
|
|
148
|
-
const truncatedLine = truncateStringToBytesFromEnd(line, maxBytes);
|
|
149
|
-
outputLinesArr.unshift(truncatedLine);
|
|
150
|
-
outputBytesCount = Buffer.byteLength(truncatedLine, 'utf-8');
|
|
151
|
-
lastLinePartial = true;
|
|
152
|
-
}
|
|
153
|
-
break;
|
|
154
|
-
}
|
|
155
|
-
outputLinesArr.unshift(line);
|
|
156
|
-
outputBytesCount += lineBytes;
|
|
157
|
-
}
|
|
158
|
-
// If we exited due to line limit
|
|
159
|
-
if (outputLinesArr.length >= maxLines && outputBytesCount <= maxBytes) {
|
|
160
|
-
truncatedBy = 'lines';
|
|
161
|
-
}
|
|
162
|
-
const outputContent = outputLinesArr.join('\n');
|
|
163
|
-
const finalOutputBytes = Buffer.byteLength(outputContent, 'utf-8');
|
|
164
|
-
return {
|
|
165
|
-
content: outputContent,
|
|
166
|
-
truncated: true,
|
|
167
|
-
truncatedBy,
|
|
168
|
-
totalLines,
|
|
169
|
-
totalBytes,
|
|
170
|
-
outputLines: outputLinesArr.length,
|
|
171
|
-
outputBytes: finalOutputBytes,
|
|
172
|
-
lastLinePartial,
|
|
173
|
-
firstLineExceedsLimit: false,
|
|
174
|
-
maxLines,
|
|
175
|
-
maxBytes,
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* Truncate a string to fit within a byte limit (from the end).
|
|
180
|
-
* Handles multi-byte UTF-8 characters correctly.
|
|
181
|
-
*/
|
|
182
|
-
function truncateStringToBytesFromEnd(str, maxBytes) {
|
|
183
|
-
const buf = Buffer.from(str, 'utf-8');
|
|
184
|
-
if (buf.length <= maxBytes) {
|
|
185
|
-
return str;
|
|
186
|
-
}
|
|
187
|
-
// Start from the end, skip maxBytes back
|
|
188
|
-
let start = buf.length - maxBytes;
|
|
189
|
-
// Find a valid UTF-8 boundary (start of a character)
|
|
190
|
-
while (start < buf.length && (buf[start] & 0xc0) === 0x80) {
|
|
191
|
-
start++;
|
|
192
|
-
}
|
|
193
|
-
return buf.slice(start).toString('utf-8');
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Truncate a single line to max characters, adding [truncated] suffix.
|
|
197
|
-
* Used for grep match lines.
|
|
198
|
-
*/
|
|
199
|
-
export function truncateLine(line, maxChars = GREP_MAX_LINE_LENGTH) {
|
|
200
|
-
if (line.length <= maxChars) {
|
|
201
|
-
return { text: line, wasTruncated: false };
|
|
202
|
-
}
|
|
203
|
-
return {
|
|
204
|
-
text: `${line.slice(0, maxChars)}... [truncated]`,
|
|
205
|
-
wasTruncated: true,
|
|
206
|
-
};
|
|
207
|
-
}
|
|
208
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmNhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2FnZW50LWNvcmUvaGFybmVzcy91dGlscy90cnVuY2F0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQztBQUN0QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsT0FBTztBQUNuRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUMsQ0FBQyxnQ0FBZ0M7QUFrQ3pFOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFhO0lBQ3RDLElBQUksS0FBSyxHQUFHLElBQUksRUFBRSxDQUFDO1FBQ2pCLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQztJQUNyQixDQUFDO1NBQU0sSUFBSSxLQUFLLEdBQUcsSUFBSSxHQUFHLElBQUksRUFBRSxDQUFDO1FBQy9CLE9BQU8sR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMxQyxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ25ELENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FDMUIsT0FBZSxFQUNmLFVBQTZCLEVBQUU7SUFFL0IsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxpQkFBaUIsQ0FBQztJQUN2RCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLGlCQUFpQixDQUFDO0lBRXZELE1BQU0sVUFBVSxHQUFHLE1BQU0s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
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export * from './agent.js';
|
|
2
|
-
export * from './agent-loop.js';
|
|
3
|
-
export * from './harness/agent-harness.js';
|
|
4
|
-
export { collectEntriesForBranchSummary, generateBranchSummary, prepareBranchEntries, } from './harness/compaction/branch-summarization.js';
|
|
5
|
-
export { calculateContextTokens, compact, DEFAULT_COMPACTION_SETTINGS, estimateContextTokens, estimateTokens, findCutPoint, findTurnStartIndex, generateSummary, getLastAssistantUsage, prepareCompaction, serializeConversation, shouldCompact, } from './harness/compaction/compaction.js';
|
|
6
|
-
export * from './harness/execution-env.js';
|
|
7
|
-
export * from './harness/messages.js';
|
|
8
|
-
export * from './harness/prompt-templates.js';
|
|
9
|
-
export * from './harness/session/repo/jsonl.js';
|
|
10
|
-
export * from './harness/session/repo/memory.js';
|
|
11
|
-
export * from './harness/session/repo/shared.js';
|
|
12
|
-
export * from './harness/session/session.js';
|
|
13
|
-
export * from './harness/skills.js';
|
|
14
|
-
export * from './harness/system-prompt.js';
|
|
15
|
-
export * from './harness/types.js';
|
|
16
|
-
export * from './harness/utils/shell-output.js';
|
|
17
|
-
export * from './harness/utils/truncate.js';
|
|
18
|
-
export * from './proxy.js';
|
|
19
|
-
export * from './types.js';
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
// Core Agent
|
|
2
|
-
export * from './agent.js';
|
|
3
|
-
// Loop functions
|
|
4
|
-
export * from './agent-loop.js';
|
|
5
|
-
export * from './harness/agent-harness.js';
|
|
6
|
-
export { collectEntriesForBranchSummary, generateBranchSummary, prepareBranchEntries, } from './harness/compaction/branch-summarization.js';
|
|
7
|
-
export { calculateContextTokens, compact, DEFAULT_COMPACTION_SETTINGS, estimateContextTokens, estimateTokens, findCutPoint, findTurnStartIndex, generateSummary, getLastAssistantUsage, prepareCompaction, serializeConversation, shouldCompact, } from './harness/compaction/compaction.js';
|
|
8
|
-
export * from './harness/execution-env.js';
|
|
9
|
-
export * from './harness/messages.js';
|
|
10
|
-
export * from './harness/prompt-templates.js';
|
|
11
|
-
export * from './harness/session/repo/jsonl.js';
|
|
12
|
-
export * from './harness/session/repo/memory.js';
|
|
13
|
-
export * from './harness/session/repo/shared.js';
|
|
14
|
-
export * from './harness/session/session.js';
|
|
15
|
-
export * from './harness/skills.js';
|
|
16
|
-
export * from './harness/system-prompt.js';
|
|
17
|
-
// Harness
|
|
18
|
-
export * from './harness/types.js';
|
|
19
|
-
export * from './harness/utils/shell-output.js';
|
|
20
|
-
export * from './harness/utils/truncate.js';
|
|
21
|
-
// Proxy utilities
|
|
22
|
-
export * from './proxy.js';
|
|
23
|
-
// Types
|
|
24
|
-
export * from './types.js';
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2FnZW50LWNvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsYUFBYTtBQUNiLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGlCQUFpQjtBQUNqQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsT0FBTyxFQUNMLDhCQUE4QixFQUM5QixxQkFBcUIsRUFDckIsb0JBQW9CLEdBQ3JCLE1BQU0sOENBQThDLENBQUM7QUFDdEQsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixPQUFPLEVBQ1AsMkJBQTJCLEVBQzNCLHFCQUFxQixFQUNyQixjQUFjLEVBQ2QsWUFBWSxFQUNaLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsYUFBYSxHQUNkLE1BQU0sb0NBQW9DLENBQUM7QUFDNUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsVUFBVTtBQUNWLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGtCQUFrQjtBQUNsQixjQUFjLFlBQVksQ0FBQztBQUMzQixRQUFRO0FBQ1IsY0FBYyxZQUFZLENBQUMifQ==
|