@markusylisiurunen/tau 0.3.58 → 0.3.59
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/code_mode/runtime.js +17 -12
- package/dist/code_mode/runtime.js.map +1 -1
- package/dist/core/session/auto_compaction_archive.js +106 -5
- package/dist/core/session/auto_compaction_archive.js.map +1 -1
- package/dist/core/session/compaction.js +6 -6
- package/dist/core/session/compaction.js.map +1 -1
- package/dist/core/session/direct_bash.js +12 -3
- package/dist/core/session/direct_bash.js.map +1 -1
- package/dist/core/static/code_mode/history/documentation.md +83 -8
- package/dist/core/static/tau_docs/history.md +5 -3
- package/dist/core/static/tau_docs/sessions.md +5 -1
- package/dist/core/tools/bash.js +101 -48
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/code_mode.js +8 -5
- package/dist/core/tools/code_mode.js.map +1 -1
- package/dist/core/tools/execution_backend.js +38 -31
- package/dist/core/tools/execution_backend.js.map +1 -1
- package/dist/core/tools/goal.js +16 -7
- package/dist/core/tools/goal.js.map +1 -1
- package/dist/core/tools/history.js +4 -1
- package/dist/core/tools/history.js.map +1 -1
- package/dist/core/tools/interrupt_agent.js +12 -8
- package/dist/core/tools/interrupt_agent.js.map +1 -1
- package/dist/core/tools/list_agents.js +26 -20
- package/dist/core/tools/list_agents.js.map +1 -1
- package/dist/core/tools/nook.js +1 -1
- package/dist/core/tools/nook.js.map +1 -1
- package/dist/core/tools/send_input_to_agent.js +33 -12
- package/dist/core/tools/send_input_to_agent.js.map +1 -1
- package/dist/core/tools/spawn_agent.js +29 -23
- package/dist/core/tools/spawn_agent.js.map +1 -1
- package/dist/core/tools/tau_docs.js +1 -1
- package/dist/core/tools/view_image.js +15 -10
- package/dist/core/tools/view_image.js.map +1 -1
- package/dist/core/tools/wait_for_agents.js +11 -7
- package/dist/core/tools/wait_for_agents.js.map +1 -1
- package/dist/core/tools/web.js +1 -1
- package/dist/core/tools/web.js.map +1 -1
- package/dist/core/tools/write.js +15 -11
- package/dist/core/tools/write.js.map +1 -1
- package/dist/core/version.js +1 -1
- package/dist/execution/cloudflare_sandbox_execution_environment.js +10 -7
- package/dist/execution/cloudflare_sandbox_execution_environment.js.map +1 -1
- package/dist/execution/fly_sprite_execution_environment.js +30 -26
- package/dist/execution/fly_sprite_execution_environment.js.map +1 -1
- package/package.json +1 -1
|
@@ -307,36 +307,41 @@ function getExecutionStatus(execution) {
|
|
|
307
307
|
return execution.exitCode === 0 ? "succeeded" : "failed";
|
|
308
308
|
}
|
|
309
309
|
function appendTerminationNote(output, execution, timeoutMs) {
|
|
310
|
-
let
|
|
310
|
+
let notice;
|
|
311
311
|
if (execution.timedOut) {
|
|
312
|
-
|
|
312
|
+
notice = `Program timed out after ${timeoutMs}ms.`;
|
|
313
313
|
}
|
|
314
314
|
else if (execution.aborted) {
|
|
315
|
-
|
|
315
|
+
notice = "Program was cancelled.";
|
|
316
316
|
}
|
|
317
317
|
else if (execution.closeSignal) {
|
|
318
|
-
|
|
318
|
+
notice = `Program was terminated by signal ${execution.closeSignal}.`;
|
|
319
319
|
}
|
|
320
|
-
if (!
|
|
320
|
+
if (!notice)
|
|
321
321
|
return output;
|
|
322
|
-
|
|
322
|
+
if (!output)
|
|
323
|
+
return `${notice}\n`;
|
|
324
|
+
return `${output}${output.endsWith("\n") ? "\n" : "\n\n"}[${notice}]\n`;
|
|
323
325
|
}
|
|
324
326
|
function formatResultContent(args) {
|
|
325
327
|
const { execution, projection, persistedPath, status } = args;
|
|
326
328
|
const output = projection.content.trimEnd();
|
|
327
329
|
if (!output && status === "succeeded") {
|
|
328
330
|
return persistedPath
|
|
329
|
-
? `Program produced no output
|
|
330
|
-
: "Program produced no output";
|
|
331
|
+
? `Program produced no output.\n\n[Output saved to ${persistedPath}.]`
|
|
332
|
+
: "Program produced no output.";
|
|
333
|
+
}
|
|
334
|
+
if (!output && status === "failed" && execution.exitCode !== null && execution.exitCode !== 0) {
|
|
335
|
+
return `Program failed with exit code ${execution.exitCode} and produced no output.`;
|
|
331
336
|
}
|
|
332
337
|
const truncationNote = projection.truncated || execution.truncated
|
|
333
338
|
? `\n\n[Output truncated for context: ${projection.outputLines} lines / ${formatBytes(projection.outputBytes)} shown of ${projection.totalLines} lines / ${formatBytes(projection.totalBytes)} (full output estimate: ~${bytesToTokens(projection.totalBytes)} tokens).${persistedPath ? ` Output before context truncation saved to ${persistedPath}.` : ""}]`
|
|
334
339
|
: persistedPath
|
|
335
340
|
? `\n\n[Output saved to ${persistedPath}.]`
|
|
336
341
|
: "";
|
|
337
|
-
const
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
342
|
+
const resultText = `${output || "Program failed without producing output."}${truncationNote}`;
|
|
343
|
+
return status === "failed" && execution.exitCode !== null && execution.exitCode !== 0
|
|
344
|
+
? `${resultText.trimEnd()}\n\n[Program failed with exit code ${execution.exitCode}.]`
|
|
345
|
+
: resultText;
|
|
341
346
|
}
|
|
342
347
|
//# sourceMappingURL=runtime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/code_mode/runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/code_mode/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,94 @@ import { Buffer } from "node:buffer";
|
|
|
2
2
|
import { truncateForTokens } from "../utils/truncate.js";
|
|
3
3
|
const ARCHIVE_TEXT_TOOL_RESULT_MAX_TOKENS = 256;
|
|
4
4
|
const ARCHIVE_WRITE_TIMEOUT_MS = 30_000;
|
|
5
|
+
const AUTO_COMPACTION_ARCHIVE_DOCUMENTATION = [
|
|
6
|
+
"# Automatic compaction archive",
|
|
7
|
+
"",
|
|
8
|
+
"This directory contains snapshots of model-visible context immediately before automatic compaction.",
|
|
9
|
+
"",
|
|
10
|
+
"## Files",
|
|
11
|
+
"",
|
|
12
|
+
"- `NNNNNN.txt` is a searchable transcript projection. User and assistant content is retained, while large tool results are middle-truncated.",
|
|
13
|
+
"- `NNNNNN.json` is the matching structured snapshot. It retains full archived content, including tool results, but excludes assistant thinking.",
|
|
14
|
+
"- Each numbered pair belongs to one compaction. A later pair may contain an earlier compaction summary instead of every older record.",
|
|
15
|
+
"",
|
|
16
|
+
"## JSON shape",
|
|
17
|
+
"",
|
|
18
|
+
"```ts",
|
|
19
|
+
'type TextContent = { type: "text"; text: string };',
|
|
20
|
+
'type ImageContent = { type: "image"; mimeType: string; data: string };',
|
|
21
|
+
"type ToolCall = {",
|
|
22
|
+
' type: "toolCall";',
|
|
23
|
+
" id: string;",
|
|
24
|
+
" name: string;",
|
|
25
|
+
" arguments: Record<string, unknown>;",
|
|
26
|
+
"};",
|
|
27
|
+
"type Message =",
|
|
28
|
+
' | { historyEntryId: string; role: "user"; timestamp: number; content: Array<TextContent | ImageContent> }',
|
|
29
|
+
' | { historyEntryId: string; role: "assistant"; timestamp: number; content: Array<TextContent | ToolCall> }',
|
|
30
|
+
' | { historyEntryId: string; role: "toolResult"; timestamp: number; toolCallId: string; toolName: string; isError: boolean; content: Array<TextContent | ImageContent> };',
|
|
31
|
+
"type Archive = {",
|
|
32
|
+
" version: 1;",
|
|
33
|
+
" agentId: string;",
|
|
34
|
+
" sequence: number;",
|
|
35
|
+
" createdAt: number;",
|
|
36
|
+
" messages: Message[];",
|
|
37
|
+
"};",
|
|
38
|
+
"```",
|
|
39
|
+
"",
|
|
40
|
+
"Each record's `historyEntryId` is its archive entry id and links the JSON record to its text transcript marker.",
|
|
41
|
+
"",
|
|
42
|
+
"## Lookup patterns",
|
|
43
|
+
"",
|
|
44
|
+
"The example below is adaptable, not a required workflow. Keep initial output bounded, and expand only the fields needed for the task. Middle-truncation markers report the number of omitted characters.",
|
|
45
|
+
"",
|
|
46
|
+
"Pass an exact archive entry id to render that record as bounded plain text. Omit the id to print a concise overview first. In the overview, each completed tool call and result appears once by tool name and result id, without arguments or result content.",
|
|
47
|
+
"",
|
|
48
|
+
"```sh",
|
|
49
|
+
"node - 000001.json 'entry-id' <<'NODE'",
|
|
50
|
+
'const fs = require("node:fs");',
|
|
51
|
+
"const [path, id] = process.argv.slice(2);",
|
|
52
|
+
'const archive = JSON.parse(fs.readFileSync(path, "utf8"));',
|
|
53
|
+
"const text = (content, includeToolCalls = false) => content.map((part) =>",
|
|
54
|
+
' part.type === "text" ? part.text : part.type === "toolCall"',
|
|
55
|
+
' ? includeToolCalls ? "[tool " + part.name + "]" : ""',
|
|
56
|
+
' : "[image " + part.mimeType + "]"',
|
|
57
|
+
').filter(Boolean).join("\\n").trim();',
|
|
58
|
+
"const excerpt = (value, max) => {",
|
|
59
|
+
" const chars = [...value];",
|
|
60
|
+
" if (chars.length <= max) return value;",
|
|
61
|
+
" let kept = max;",
|
|
62
|
+
" let marker;",
|
|
63
|
+
" while (true) {",
|
|
64
|
+
" const omitted = chars.length - kept;",
|
|
65
|
+
' marker = "\\n…" + omitted + " chars truncated…\\n";',
|
|
66
|
+
" const nextKept = Math.max(0, max - [...marker].length);",
|
|
67
|
+
" if (nextKept === kept) break;",
|
|
68
|
+
" kept = nextKept;",
|
|
69
|
+
" }",
|
|
70
|
+
" const head = Math.ceil(kept / 2);",
|
|
71
|
+
' return chars.slice(0, head).join("") + marker + chars.slice(-(kept - head)).join("");',
|
|
72
|
+
"};",
|
|
73
|
+
'const label = (message) => message.role === "toolResult" ? "tool " + message.toolName : message.role;',
|
|
74
|
+
'const header = (message) => "[" + label(message) + " id=…" + message.historyEntryId.slice(-8) + "]";',
|
|
75
|
+
"if (id) {",
|
|
76
|
+
" const message = archive.messages.find((item) => item.historyEntryId === id);",
|
|
77
|
+
' if (!message) throw new Error("entry not found");',
|
|
78
|
+
" const body = excerpt(text(message.content, true), 2_000);",
|
|
79
|
+
' console.log(header(message) + (body ? "\\n" + body : ""));',
|
|
80
|
+
"} else {",
|
|
81
|
+
" for (const message of archive.messages) {",
|
|
82
|
+
' const body = message.role === "toolResult" ? "" : excerpt(text(message.content), 256);',
|
|
83
|
+
' if (message.role !== "toolResult" && !body) continue;',
|
|
84
|
+
' console.log(header(message) + (body ? "\\n" + body : ""));',
|
|
85
|
+
" }",
|
|
86
|
+
"}",
|
|
87
|
+
"NODE",
|
|
88
|
+
"```",
|
|
89
|
+
"",
|
|
90
|
+
"Use promising id suffixes or distinctive evidence from an overview to inspect matching JSON records. Include earlier numbered archives when the detail may predate the current compaction.",
|
|
91
|
+
"",
|
|
92
|
+
].join("\n");
|
|
5
93
|
const WRITE_AUTO_COMPACTION_ARCHIVE_SCRIPT = `
|
|
6
94
|
const fs = require("node:fs");
|
|
7
95
|
const os = require("node:os");
|
|
@@ -58,9 +146,11 @@ const sequence = latestSequence + 1;
|
|
|
58
146
|
const basename = String(sequence).padStart(6, "0");
|
|
59
147
|
const textPath = path.join(directory, basename + ".txt");
|
|
60
148
|
const jsonPath = path.join(directory, basename + ".json");
|
|
149
|
+
const documentationPath = path.join(directory, "README.md");
|
|
61
150
|
const suffix = ".tmp-" + randomUUID();
|
|
62
151
|
const textTemporaryPath = textPath + suffix;
|
|
63
152
|
const jsonTemporaryPath = jsonPath + suffix;
|
|
153
|
+
const documentationTemporaryPath = documentationPath + suffix;
|
|
64
154
|
const record = {
|
|
65
155
|
version: 1,
|
|
66
156
|
agentId: payload.agentId,
|
|
@@ -69,7 +159,7 @@ const record = {
|
|
|
69
159
|
messages: payload.messages,
|
|
70
160
|
};
|
|
71
161
|
const text = [
|
|
72
|
-
"
|
|
162
|
+
"Automatic compaction context snapshot",
|
|
73
163
|
"Agent: " + payload.agentId,
|
|
74
164
|
"Sequence: " + basename,
|
|
75
165
|
"Created: " + new Date(payload.createdAt).toISOString(),
|
|
@@ -82,6 +172,11 @@ const text = [
|
|
|
82
172
|
].join("\\n");
|
|
83
173
|
|
|
84
174
|
try {
|
|
175
|
+
fs.writeFileSync(documentationTemporaryPath, payload.documentation, {
|
|
176
|
+
encoding: "utf8",
|
|
177
|
+
flag: "wx",
|
|
178
|
+
mode: 0o600,
|
|
179
|
+
});
|
|
85
180
|
fs.writeFileSync(jsonTemporaryPath, JSON.stringify(record, null, 2) + "\\n", {
|
|
86
181
|
encoding: "utf8",
|
|
87
182
|
flag: "wx",
|
|
@@ -92,11 +187,14 @@ try {
|
|
|
92
187
|
flag: "wx",
|
|
93
188
|
mode: 0o600,
|
|
94
189
|
});
|
|
190
|
+
fs.renameSync(documentationTemporaryPath, documentationPath);
|
|
95
191
|
fs.renameSync(jsonTemporaryPath, jsonPath);
|
|
96
192
|
fs.renameSync(textTemporaryPath, textPath);
|
|
193
|
+
fs.chmodSync(documentationPath, 0o600);
|
|
97
194
|
fs.chmodSync(jsonPath, 0o600);
|
|
98
195
|
fs.chmodSync(textPath, 0o600);
|
|
99
196
|
} catch (error) {
|
|
197
|
+
fs.rmSync(documentationTemporaryPath, { force: true });
|
|
100
198
|
fs.rmSync(jsonTemporaryPath, { force: true });
|
|
101
199
|
fs.rmSync(textTemporaryPath, { force: true });
|
|
102
200
|
fs.rmSync(jsonPath, { force: true });
|
|
@@ -104,7 +202,7 @@ try {
|
|
|
104
202
|
throw error;
|
|
105
203
|
}
|
|
106
204
|
|
|
107
|
-
process.stdout.write(JSON.stringify({ textPath, jsonPath }));
|
|
205
|
+
process.stdout.write(JSON.stringify({ textPath, jsonPath, documentationPath }));
|
|
108
206
|
`.trim();
|
|
109
207
|
export function createAutoCompactionArchiver(backend) {
|
|
110
208
|
return async (request) => {
|
|
@@ -117,6 +215,7 @@ export function createAutoCompactionArchiver(backend) {
|
|
|
117
215
|
createdAt: request.createdAt,
|
|
118
216
|
messages,
|
|
119
217
|
textTranscript: formatArchiveText(messages),
|
|
218
|
+
documentation: AUTO_COMPACTION_ARCHIVE_DOCUMENTATION,
|
|
120
219
|
})),
|
|
121
220
|
});
|
|
122
221
|
if (result.aborted)
|
|
@@ -227,13 +326,15 @@ function parseArchivePaths(output) {
|
|
|
227
326
|
if (!value || typeof value !== "object") {
|
|
228
327
|
throw new Error("auto-compaction archive writer returned an invalid result");
|
|
229
328
|
}
|
|
230
|
-
const { textPath, jsonPath } = value;
|
|
329
|
+
const { textPath, jsonPath, documentationPath } = value;
|
|
231
330
|
if (typeof textPath !== "string" ||
|
|
232
331
|
!textPath.endsWith(".txt") ||
|
|
233
332
|
typeof jsonPath !== "string" ||
|
|
234
|
-
!jsonPath.endsWith(".json")
|
|
333
|
+
!jsonPath.endsWith(".json") ||
|
|
334
|
+
typeof documentationPath !== "string" ||
|
|
335
|
+
!documentationPath.endsWith("README.md")) {
|
|
235
336
|
throw new Error("auto-compaction archive writer returned invalid paths");
|
|
236
337
|
}
|
|
237
|
-
return { textPath, jsonPath };
|
|
338
|
+
return { textPath, jsonPath, documentationPath };
|
|
238
339
|
}
|
|
239
340
|
//# sourceMappingURL=auto_compaction_archive.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto_compaction_archive.js","sourceRoot":"","sources":["../../../src/core/session/auto_compaction_archive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAWrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAChD,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAExC,MAAM,oCAAoC,GAAG
|
|
1
|
+
{"version":3,"file":"auto_compaction_archive.js","sourceRoot":"","sources":["../../../src/core/session/auto_compaction_archive.ts"],"names":[],"mappings":"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"}
|
|
@@ -425,12 +425,12 @@ export function prepareAutoCompaction(entries, settings) {
|
|
|
425
425
|
userMessageCandidates: collectUserMessageCandidates(entriesToSummarize, latestCompaction.preservedUserMessages),
|
|
426
426
|
};
|
|
427
427
|
}
|
|
428
|
-
const AUTO_COMPACTION_ARCHIVE_REFERENCE_GUIDANCE = `
|
|
428
|
+
const AUTO_COMPACTION_ARCHIVE_REFERENCE_GUIDANCE = `When best-effort archiving succeeds, the continuing assistant receives exact paths to a temporary text transcript and JSON snapshot of the pre-compaction context. Conversation records above that show an archive entry id can be recovered directly from the matching JSON file. When no entry id is available, the files also support discovery from distinctive evidence.
|
|
429
429
|
|
|
430
|
-
Keep the summary independently useful. State continuity-critical goals, constraints, decisions, current state, blockers, and next steps directly. When exact or bulky details would be wasteful to reproduce, you may mention the relevant
|
|
430
|
+
Keep the summary independently useful. State continuity-critical goals, constraints, decisions, current state, blockers, and next steps directly. When exact or bulky details would be wasteful to reproduce, you may mention the relevant id as an auto-compaction archive entry id so the continuing assistant knows to use the supplied files, not the separate history tool. This is useful for long tool output, diagnostic logs, exact errors, payloads, and large code excerpts. Use such references sparingly and only for ids shown in the conversation.
|
|
431
431
|
|
|
432
|
-
Good pattern: "The key failure is a missing RuntimeConfig field; the complete compiler output is in
|
|
433
|
-
Bad pattern: "See
|
|
432
|
+
Good pattern: "The key failure is a missing RuntimeConfig field; the complete compiler output is in auto-compaction archive entry 'ARCHIVE_ENTRY_ID'."
|
|
433
|
+
Bad pattern: "See archive entry 'ARCHIVE_ENTRY_ID' for what happened."`;
|
|
434
434
|
export function buildAutoCompactionPrompt(preparation) {
|
|
435
435
|
const retainedContextGuidance = preparation.cutType === "split-turn"
|
|
436
436
|
? `The retained context will begin in the middle of the latest assistant/tool turn. Add a "## Current Turn Handoff" section that clearly captures:
|
|
@@ -441,7 +441,7 @@ export function buildAutoCompactionPrompt(preparation) {
|
|
|
441
441
|
|
|
442
442
|
Place the section wherever it makes the handoff clearest. Preserve earlier session context elsewhere in the summary without duplicating the retained suffix.`
|
|
443
443
|
: "The retained context will include recent messages. Ensure the summary complements that retained context without duplicating unnecessary detail.";
|
|
444
|
-
const boundedRetainedContextGuidance = "Individual textual tool results and tool-recovery payloads in the retained context may be middle-truncated above the retention limit. Do not describe the retained context as exact or verbatim.
|
|
444
|
+
const boundedRetainedContextGuidance = "Individual textual tool results and tool-recovery payloads in the retained context may be middle-truncated above the retention limit. Do not describe the retained context as exact or verbatim. When the pre-compaction archive is available, the continuing assistant can recover omitted output through a targeted lookup.";
|
|
445
445
|
return buildSessionCompactionPrompt({
|
|
446
446
|
preparation,
|
|
447
447
|
guidance: `${retainedContextGuidance}\n\n${boundedRetainedContextGuidance}\n\n${AUTO_COMPACTION_ARCHIVE_REFERENCE_GUIDANCE}`,
|
|
@@ -457,7 +457,7 @@ export function buildAutoCompactionContinuationMessage(args) {
|
|
|
457
457
|
lines.push("The retained messages begin in the middle of the latest assistant/tool turn. The summary contains the original request and earlier tool work from that turn.");
|
|
458
458
|
}
|
|
459
459
|
if (args.archive) {
|
|
460
|
-
lines.push("The summary and retained context should normally be sufficient.
|
|
460
|
+
lines.push("The summary and retained context should normally be sufficient. Temporary pre-compaction archive files are also available:", `- archive guide: ${args.archive.documentationPath}`, `- this compaction's text transcript: ${args.archive.textPath}`, `- this compaction's full JSON: ${args.archive.jsonPath}`, "Before continuing, ensure the archive guide's full contents are present in the current model context. If they are not already visible in full, read the guide now with an execution-environment file tool. This is required even when no archive lookup is currently planned.", "For details removed from this session by automatic compaction, use these execution-environment files rather than the separate history tool, whose collection may be stale, remotely replicated, truncated, or unavailable.", "The guide describes the archive format and adaptable, bounded lookup examples, including how to inspect earlier numbered pairs when needed.");
|
|
461
461
|
}
|
|
462
462
|
const hiddenSystemMessages = [...(args.systemMessages ?? []), lines.join("\n")];
|
|
463
463
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../../src/core/session/compaction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../../src/core/session/compaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,26 @@
|
|
|
1
|
-
import { BASH_DEFAULT_TIMEOUT_MS, buildBashPresentation, formatBashUserMessageText, getBashOutputPolicy, prepareBashOutput, } from "../tools/bash.js";
|
|
1
|
+
import { BASH_DEFAULT_TIMEOUT_MS, buildBashPresentation, formatBashUserMessageText, getBashOutputPolicy, getBashTerminationNotice, prepareBashOutput, } from "../tools/bash.js";
|
|
2
2
|
import { TOOL_CARD_MAX_LINE_CHARS } from "../tools/presentation.js";
|
|
3
3
|
import { TOOL_NAME_BASH } from "../tools/tool_names.js";
|
|
4
4
|
export async function runDirectBashCommand(options) {
|
|
5
5
|
const now = options.now ?? Date.now;
|
|
6
6
|
const startedAt = now();
|
|
7
|
-
const { output, exitCode, truncated: captureTruncated, } = await options.backend.runBash(options.command, {
|
|
7
|
+
const { output, exitCode, truncated: captureTruncated, aborted, timedOut, closeSignal, } = await options.backend.runBash(options.command, {
|
|
8
8
|
signal: options.signal,
|
|
9
9
|
timeoutMs: BASH_DEFAULT_TIMEOUT_MS,
|
|
10
10
|
});
|
|
11
11
|
const durationMs = Math.max(0, now() - startedAt);
|
|
12
|
+
const terminationNotice = getBashTerminationNotice({
|
|
13
|
+
aborted,
|
|
14
|
+
timedOut,
|
|
15
|
+
closeSignal,
|
|
16
|
+
timeoutMs: BASH_DEFAULT_TIMEOUT_MS,
|
|
17
|
+
});
|
|
12
18
|
const truncationInfo = await prepareBashOutput(output, captureTruncated, getBashOutputPolicy({ mode: "user" }), options.backend);
|
|
13
19
|
const userMessageText = formatBashUserMessageText({
|
|
14
20
|
command: options.command,
|
|
15
21
|
truncationInfo,
|
|
16
|
-
exitCode,
|
|
22
|
+
exitCode: terminationNotice ? null : exitCode,
|
|
23
|
+
terminationNotice,
|
|
17
24
|
});
|
|
18
25
|
const presentation = buildBashPresentation({
|
|
19
26
|
toolName: TOOL_NAME_BASH,
|
|
@@ -22,6 +29,8 @@ export async function runDirectBashCommand(options) {
|
|
|
22
29
|
exitCode,
|
|
23
30
|
durationMs,
|
|
24
31
|
workingDirectory: options.workingDirectory,
|
|
32
|
+
includeExitCode: !terminationNotice,
|
|
33
|
+
terminationNotice,
|
|
25
34
|
actionLabel: options.actionLabel,
|
|
26
35
|
detailTruncation: {
|
|
27
36
|
maxLines: 33,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"direct_bash.js","sourceRoot":"","sources":["../../../src/core/session/direct_bash.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,wBAAwB,EAA4B,MAAM,0BAA0B,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAmBxD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAmC;IAEnC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACpC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC;IACxB,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,SAAS,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"direct_bash.js","sourceRoot":"","sources":["../../../src/core/session/direct_bash.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,wBAAwB,EAA4B,MAAM,0BAA0B,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAmBxD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAmC;IAEnC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACpC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC;IACxB,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EACP,QAAQ,EACR,WAAW,GACZ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;QACjD,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,uBAAuB;KACnC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;IAClD,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;QACjD,OAAO;QACP,QAAQ;QACR,WAAW;QACX,SAAS,EAAE,uBAAuB;KACnC,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAC5C,MAAM,EACN,gBAAgB,EAChB,mBAAmB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EACrC,OAAO,CAAC,OAAO,CAChB,CAAC;IACF,MAAM,eAAe,GAAG,yBAAyB,CAAC;QAChD,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,cAAc;QACd,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ;QAC7C,iBAAiB;KAClB,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,qBAAqB,CAAC;QACzC,QAAQ,EAAE,cAAc;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,cAAc;QACd,QAAQ;QACR,UAAU;QACV,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,eAAe,EAAE,CAAC,iBAAiB;QACnC,iBAAiB;QACjB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,gBAAgB,EAAE;YAChB,QAAQ,EAAE,EAAE;YACZ,YAAY,EAAE,wBAAwB;YACtC,QAAQ,EAAE,QAAQ;SACnB;KACF,CAAC,CAAC;IACH,MAAM,kBAAkB,GACtB,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,WAAW;QACzC,CAAC,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC;QAC5C,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO;QACL,QAAQ;QACR,YAAY;QACZ,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC;AACJ,CAAC"}
|
|
@@ -63,20 +63,43 @@ A descriptor, digest, or snippet may provide enough context for a task. Use `his
|
|
|
63
63
|
```js
|
|
64
64
|
const text = (value) => {
|
|
65
65
|
if (typeof value === "string") return value;
|
|
66
|
+
if (typeof value === "number" || typeof value === "boolean") return String(value);
|
|
66
67
|
if (Array.isArray(value)) return value.map(text).filter(Boolean).join("\n");
|
|
67
68
|
if (value?.type === "text" && typeof value.text === "string") return value.text;
|
|
69
|
+
if (value?.type === "image") return `[image ${value.mimeType ?? "unknown"}]`;
|
|
70
|
+
if (value && typeof value === "object") {
|
|
71
|
+
return Object.entries(value)
|
|
72
|
+
.map(([key, item]) => {
|
|
73
|
+
const rendered = text(item);
|
|
74
|
+
return rendered ? `${key}: ${rendered}` : "";
|
|
75
|
+
})
|
|
76
|
+
.filter(Boolean)
|
|
77
|
+
.join("\n");
|
|
78
|
+
}
|
|
68
79
|
return "";
|
|
69
80
|
};
|
|
81
|
+
const excerpt = (value, max = 2_000) => {
|
|
82
|
+
const chars = [...text(value).trim()];
|
|
83
|
+
if (chars.length <= max) return chars.join("");
|
|
84
|
+
let kept = max;
|
|
85
|
+
let marker;
|
|
86
|
+
while (true) {
|
|
87
|
+
const omitted = chars.length - kept;
|
|
88
|
+
marker = `\n…${omitted} chars truncated…\n`;
|
|
89
|
+
const nextKept = Math.max(0, max - [...marker].length);
|
|
90
|
+
if (nextKept === kept) break;
|
|
91
|
+
kept = nextKept;
|
|
92
|
+
}
|
|
93
|
+
const head = Math.ceil(kept / 2);
|
|
94
|
+
return chars.slice(0, head).join("") + marker + chars.slice(-(kept - head)).join("");
|
|
95
|
+
};
|
|
70
96
|
|
|
71
97
|
const page = await history.read({ sessionId, limit: 25 });
|
|
72
98
|
for (const entry of page.entries) {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
} else {
|
|
78
|
-
console.log(`[${entry.type}] ${text(entry.content)}`);
|
|
79
|
-
}
|
|
99
|
+
const label = entry.type === "tool" ? `tool ${entry.name}` : entry.type;
|
|
100
|
+
const detail = entry.type === "tool" ? "" : excerpt(entry.content);
|
|
101
|
+
if (entry.type !== "tool" && !detail) continue;
|
|
102
|
+
console.log(`[${label} id=…${entry.id.slice(-8)}]${detail ? `\n${detail}` : ""}`);
|
|
80
103
|
}
|
|
81
104
|
if (page.nextCursor) console.log("more transcript entries are available");
|
|
82
105
|
```
|
|
@@ -121,4 +144,56 @@ Entry timestamps are Unix milliseconds. The transcript is the active flat conver
|
|
|
121
144
|
|
|
122
145
|
## Output guidance
|
|
123
146
|
|
|
124
|
-
Print only information needed for the task. Prefer concise labeled text over serialized response objects, and explicitly select, project, and truncate fields when appropriate. Emit JSON only when the user explicitly requests JSON or another machine-readable result.
|
|
147
|
+
Print only information needed for the task. Prefer concise labeled text over serialized response objects, and explicitly select, project, and truncate fields when appropriate. Preserve useful line breaks. Middle-truncation markers report the number of omitted characters. Emit JSON only when the user explicitly requests JSON or another machine-readable result.
|
|
148
|
+
|
|
149
|
+
When the session is known but the relevant entry is not, one option is a bounded chronological overview followed by targeted inspection. A compact role or tool identity, an id suffix, and a short user or assistant excerpt can establish where to drill down without printing tool results. Each completed tool call and result appears once as its tool entry rather than being repeated in the preceding assistant content. Avoid repeated guessed-term searches and complete transcript dumps.
|
|
150
|
+
|
|
151
|
+
The snippets below are examples, not a required workflow or output format. Adapt, combine, or replace them with retrieval code suited to the task, and skip the overview when direct evidence already identifies an entry.
|
|
152
|
+
|
|
153
|
+
For example, project one bounded page without printing complete payloads:
|
|
154
|
+
|
|
155
|
+
```js
|
|
156
|
+
const sessionId = "selected-session-id";
|
|
157
|
+
const page = await history.read({ sessionId, limit: 100 });
|
|
158
|
+
for (const entry of page.entries) {
|
|
159
|
+
const label = entry.type === "tool" ? `tool ${entry.name}` : entry.type;
|
|
160
|
+
const reference = entry.type === "tool" ? entry.id : (entry.sourceIds[0] ?? entry.id);
|
|
161
|
+
const detail = entry.type === "tool" ? "" : excerpt(entry.content, 256);
|
|
162
|
+
if (entry.type !== "tool" && !detail) continue;
|
|
163
|
+
console.log(`[${label} id=…${reference.slice(-8)}]${detail ? `\n${detail}` : ""}`);
|
|
164
|
+
}
|
|
165
|
+
if (page.nextCursor) console.log(`more entries: continue with cursor ${page.nextCursor}`);
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Adjust the fields, bounds, page size, and pagination to the question. Compact suffixes can collide and are only navigation hints; use full ids when available.
|
|
169
|
+
|
|
170
|
+
After selecting references, scan transcript pages in code and print only matching entries instead of emitting every page:
|
|
171
|
+
|
|
172
|
+
```js
|
|
173
|
+
const sessionId = "selected-session-id";
|
|
174
|
+
const wantedSuffixes = ["12345678", "90abcdef"];
|
|
175
|
+
const found = new Set();
|
|
176
|
+
let cursor;
|
|
177
|
+
|
|
178
|
+
do {
|
|
179
|
+
const page = await history.read({ sessionId, limit: 100, cursor });
|
|
180
|
+
for (const entry of page.entries) {
|
|
181
|
+
const ids = [entry.id, ...entry.sourceIds];
|
|
182
|
+
const matches = wantedSuffixes.filter((suffix) =>
|
|
183
|
+
ids.some((id) => id.endsWith(suffix)),
|
|
184
|
+
);
|
|
185
|
+
if (matches.length === 0) continue;
|
|
186
|
+
|
|
187
|
+
for (const suffix of matches) found.add(suffix);
|
|
188
|
+
const label = entry.type === "tool" ? `tool ${entry.name} ${entry.outcome}` : entry.type;
|
|
189
|
+
const detail = entry.type === "tool" ? entry.result : entry.content;
|
|
190
|
+
console.log(`[${label} id=${entry.id}]\n${excerpt(detail, 2_000)}`);
|
|
191
|
+
}
|
|
192
|
+
cursor = page.nextCursor;
|
|
193
|
+
} while (cursor);
|
|
194
|
+
|
|
195
|
+
const missing = wantedSuffixes.filter((suffix) => !found.has(suffix));
|
|
196
|
+
if (missing.length > 0) console.log(`unmatched refs: ${missing.join(", ")}`);
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
Both examples reuse the bounded `text` and `excerpt` helpers from the `history.read` example. The second remains bounded even after an entry is selected. Adapt the projection and bound to the evidence needed, and include tool arguments or a larger result excerpt only when they are relevant.
|