@pentoshi/clai 3.8.29 → 3.8.32
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/agent/compaction-summary.js +1 -1
- package/dist/agent/compaction-summary.js.map +1 -1
- package/dist/agent/context-manager.d.ts +1 -6
- package/dist/agent/context-manager.js +12 -5
- package/dist/agent/context-manager.js.map +1 -1
- package/dist/agent/runner.js +23 -1
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent/session-state.d.ts +14 -1
- package/dist/agent/session-state.js +17 -3
- package/dist/agent/session-state.js.map +1 -1
- package/dist/agent/tool-history.js +34 -0
- package/dist/agent/tool-history.js.map +1 -1
- package/dist/agent/tool-output-formatting.d.ts +12 -1
- package/dist/agent/tool-output-formatting.js +107 -91
- package/dist/agent/tool-output-formatting.js.map +1 -1
- package/dist/app/controllers/session-compact-helper.js +2 -2
- package/dist/app/controllers/session-compact-helper.js.map +1 -1
- package/dist/app/controllers/session-controller.js +7 -2
- package/dist/app/controllers/session-controller.js.map +1 -1
- package/dist/prompts/embedded.js +2 -2
- package/dist/prompts/embedded.js.map +1 -1
- package/dist/prompts/system.agent.md +13 -10
- package/dist/prompts/system.ask.md +3 -2
- package/dist/tools/command-intent.js +77 -6
- package/dist/tools/command-intent.js.map +1 -1
- package/dist/tools/definitions.js +3 -3
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/jobs.js +177 -13
- package/dist/tools/jobs.js.map +1 -1
- package/dist/tools/policies/output-policy.d.ts +17 -3
- package/dist/tools/policies/output-policy.js +23 -6
- package/dist/tools/policies/output-policy.js.map +1 -1
- package/dist/tools/reducers/ffuf.d.ts +3 -2
- package/dist/tools/reducers/ffuf.js +32 -10
- package/dist/tools/reducers/ffuf.js.map +1 -1
- package/dist/tools/reducers/generic.d.ts +12 -0
- package/dist/tools/reducers/generic.js +4 -59
- package/dist/tools/reducers/generic.js.map +1 -1
- package/dist/tools/reducers/gobuster.js +23 -5
- package/dist/tools/reducers/gobuster.js.map +1 -1
- package/dist/tools/shell.d.ts +9 -0
- package/dist/tools/shell.js +76 -4
- package/dist/tools/shell.js.map +1 -1
- package/dist/tui-v2/app/commands/picker-commands.js +4 -5
- package/dist/tui-v2/app/commands/picker-commands.js.map +1 -1
- package/dist/tui-v2/components/jobs/jobs-panel.js +17 -5
- package/dist/tui-v2/components/jobs/jobs-panel.js.map +1 -1
- package/dist/tui-v2/rendering/tool-presenter.js +10 -1
- package/dist/tui-v2/rendering/tool-presenter.js.map +1 -1
- package/dist/version.generated.d.ts +2 -2
- package/dist/version.generated.js +2 -2
- package/package.json +1 -1
|
@@ -32,6 +32,13 @@ export interface SessionStateSnapshot {
|
|
|
32
32
|
export declare function buildSessionStateBlock(s: SessionStateSnapshot): string;
|
|
33
33
|
/** Infer a short next-action hint from flags (no LLM). */
|
|
34
34
|
export declare function inferNextHint(s: SessionStateSnapshot): string | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* True when a system message is SESSION STATE / WORKING MEMORY.
|
|
37
|
+
* Used so tool-protocol repair never treats these as interrupting an open
|
|
38
|
+
* assistant/tool group (that used to drop live tool bodies and inject
|
|
39
|
+
* "No stored body" placeholders).
|
|
40
|
+
*/
|
|
41
|
+
export declare function isSessionStateMessage(content: string): boolean;
|
|
35
42
|
/**
|
|
36
43
|
* Upsert SESSION STATE as a **trailing** system message (suffix of history).
|
|
37
44
|
*
|
|
@@ -44,10 +51,16 @@ export declare function inferNextHint(s: SessionStateSnapshot): string | undefin
|
|
|
44
51
|
*
|
|
45
52
|
* Trailing placement keeps system + user + prior turns byte-stable so
|
|
46
53
|
* only the new suffix (latest tools + this block) is uncached.
|
|
54
|
+
*
|
|
55
|
+
* CRITICAL: call this only after the current assistant tool-call group has
|
|
56
|
+
* all role:tool results recorded. Inserting SESSION STATE between
|
|
57
|
+
* assistant.toolCalls and its results breaks native tool protocol: repair
|
|
58
|
+
* then injects "No stored body" placeholders and drops the real bodies —
|
|
59
|
+
* models thrash re-running tools that already succeeded in the UI.
|
|
60
|
+
*
|
|
47
61
|
* Mutates the messages array in place.
|
|
48
62
|
*/
|
|
49
63
|
export declare function upsertSessionStateMessage(messages: Array<{
|
|
50
64
|
role: string;
|
|
51
65
|
content: string;
|
|
52
66
|
}>, block: string): void;
|
|
53
|
-
export declare function isSessionStateMessage(content: string): boolean;
|
|
@@ -84,6 +84,15 @@ export function inferNextHint(s) {
|
|
|
84
84
|
}
|
|
85
85
|
return undefined;
|
|
86
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* True when a system message is SESSION STATE / WORKING MEMORY.
|
|
89
|
+
* Used so tool-protocol repair never treats these as interrupting an open
|
|
90
|
+
* assistant/tool group (that used to drop live tool bodies and inject
|
|
91
|
+
* "No stored body" placeholders).
|
|
92
|
+
*/
|
|
93
|
+
export function isSessionStateMessage(content) {
|
|
94
|
+
return content.startsWith(SESSION_STATE_PREFIX);
|
|
95
|
+
}
|
|
87
96
|
/**
|
|
88
97
|
* Upsert SESSION STATE as a **trailing** system message (suffix of history).
|
|
89
98
|
*
|
|
@@ -96,6 +105,13 @@ export function inferNextHint(s) {
|
|
|
96
105
|
*
|
|
97
106
|
* Trailing placement keeps system + user + prior turns byte-stable so
|
|
98
107
|
* only the new suffix (latest tools + this block) is uncached.
|
|
108
|
+
*
|
|
109
|
+
* CRITICAL: call this only after the current assistant tool-call group has
|
|
110
|
+
* all role:tool results recorded. Inserting SESSION STATE between
|
|
111
|
+
* assistant.toolCalls and its results breaks native tool protocol: repair
|
|
112
|
+
* then injects "No stored body" placeholders and drops the real bodies —
|
|
113
|
+
* models thrash re-running tools that already succeeded in the UI.
|
|
114
|
+
*
|
|
99
115
|
* Mutates the messages array in place.
|
|
100
116
|
*/
|
|
101
117
|
export function upsertSessionStateMessage(messages, block) {
|
|
@@ -112,9 +128,7 @@ export function upsertSessionStateMessage(messages, block) {
|
|
|
112
128
|
}
|
|
113
129
|
}
|
|
114
130
|
// Always append: updates change only the request suffix.
|
|
131
|
+
// Never splice into the middle of an open assistant→tool group.
|
|
115
132
|
messages.push({ role: "system", content });
|
|
116
133
|
}
|
|
117
|
-
export function isSessionStateMessage(content) {
|
|
118
|
-
return content.startsWith(SESSION_STATE_PREFIX);
|
|
119
|
-
}
|
|
120
134
|
//# sourceMappingURL=session-state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-state.js","sourceRoot":"","sources":["../../src/agent/session-state.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"session-state.js","sourceRoot":"","sources":["../../src/agent/session-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { syntheticToolCallId } from "../llm/tool-protocol.js";
|
|
2
2
|
import { slimToolArgs } from "./message-slim.js";
|
|
3
|
+
import { isSessionStateMessage } from "./session-state.js";
|
|
3
4
|
/**
|
|
4
5
|
* Ensure every tool call has a unique non-empty id before history append.
|
|
5
6
|
* Empty/duplicate ids make results look orphaned, then repair injects
|
|
@@ -268,6 +269,17 @@ export function repairToolProtocol(messages) {
|
|
|
268
269
|
let repairs = 0;
|
|
269
270
|
/** Open tool call ids → name (best-effort). */
|
|
270
271
|
let pending = new Map();
|
|
272
|
+
/**
|
|
273
|
+
* Benign system rows (SESSION STATE) that landed mid tool-group. Park them
|
|
274
|
+
* and re-append after the group closes so real tool bodies are not dropped.
|
|
275
|
+
*/
|
|
276
|
+
let parkedBenignSystem = [];
|
|
277
|
+
const flushParkedBenign = () => {
|
|
278
|
+
if (parkedBenignSystem.length === 0)
|
|
279
|
+
return;
|
|
280
|
+
out.push(...parkedBenignSystem);
|
|
281
|
+
parkedBenignSystem = [];
|
|
282
|
+
};
|
|
271
283
|
const flushPending = (_reason) => {
|
|
272
284
|
for (const [id, name] of pending) {
|
|
273
285
|
out.push({
|
|
@@ -280,12 +292,16 @@ export function repairToolProtocol(messages) {
|
|
|
280
292
|
repairs += 1;
|
|
281
293
|
}
|
|
282
294
|
pending = new Map();
|
|
295
|
+
flushParkedBenign();
|
|
283
296
|
};
|
|
284
297
|
for (const message of messages) {
|
|
285
298
|
if (message.role === "assistant" && message.toolCalls?.length) {
|
|
286
299
|
if (pending.size > 0) {
|
|
287
300
|
flushPending("Interrupted — later assistant tool group started without results.");
|
|
288
301
|
}
|
|
302
|
+
else {
|
|
303
|
+
flushParkedBenign();
|
|
304
|
+
}
|
|
289
305
|
out.push(message);
|
|
290
306
|
pending = new Map();
|
|
291
307
|
for (const call of message.toolCalls) {
|
|
@@ -306,17 +322,35 @@ export function repairToolProtocol(messages) {
|
|
|
306
322
|
}
|
|
307
323
|
pending.delete(id);
|
|
308
324
|
out.push(message);
|
|
325
|
+
if (pending.size === 0)
|
|
326
|
+
flushParkedBenign();
|
|
327
|
+
continue;
|
|
328
|
+
}
|
|
329
|
+
// SESSION STATE (and similar) must never close an open tool group —
|
|
330
|
+
// that path replaced live tool bodies with "No stored body" placeholders.
|
|
331
|
+
if (pending.size > 0 &&
|
|
332
|
+
message.role === "system" &&
|
|
333
|
+
typeof message.content === "string" &&
|
|
334
|
+
isSessionStateMessage(message.content)) {
|
|
335
|
+
parkedBenignSystem.push(message);
|
|
336
|
+
repairs += 1; // reordered relative to the broken history
|
|
309
337
|
continue;
|
|
310
338
|
}
|
|
311
339
|
// user / system / plain assistant — must not interrupt an open tool group.
|
|
312
340
|
if (pending.size > 0) {
|
|
313
341
|
flushPending("Interrupted — conversation continued before tool results arrived (repaired).");
|
|
314
342
|
}
|
|
343
|
+
else {
|
|
344
|
+
flushParkedBenign();
|
|
345
|
+
}
|
|
315
346
|
out.push(message);
|
|
316
347
|
}
|
|
317
348
|
if (pending.size > 0) {
|
|
318
349
|
flushPending("Missing tool result at end of history (repaired).");
|
|
319
350
|
}
|
|
351
|
+
else {
|
|
352
|
+
flushParkedBenign();
|
|
353
|
+
}
|
|
320
354
|
if (repairs === 0 && out.length === messages.length) {
|
|
321
355
|
// Structure same length but still invalid (e.g. duplicate ids) — fall through rebuild.
|
|
322
356
|
if (validateToolProtocol(out).length === 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-history.js","sourceRoot":"","sources":["../../src/agent/tool-history.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-history.js","sourceRoot":"","sources":["../../src/agent/tool-history.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format tool results for the model context (not the UI spool).
|
|
3
|
+
*
|
|
4
|
+
* Philosophy:
|
|
5
|
+
* - Full bodies stay on disk (artifact / job logs). Never invent "empty".
|
|
6
|
+
* - Default: honest head+tail size cap — no keyword-rank "generic reduce".
|
|
7
|
+
* - Optional structured polish only for known scanners (nmap/ffuf/…) that
|
|
8
|
+
* extract findings; noise should already be filtered at the command.
|
|
9
|
+
* - Long work → background job + live file; point at path, use shell.tail.
|
|
10
|
+
*/
|
|
1
11
|
import type { ToolCall, ToolResult } from "../types.js";
|
|
2
12
|
export declare function saveToolOutput(call: ToolCall, output: string): Promise<string | undefined>;
|
|
3
13
|
/**
|
|
4
14
|
* Truncate long tool output for the model. When `preferErrors` is set (failed
|
|
5
15
|
* commands), keep error-bearing lines and a heavy tail so stack traces survive.
|
|
16
|
+
* Never ranks by CVE/port keywords (that was genericReducer — removed).
|
|
6
17
|
*/
|
|
7
18
|
export declare function summarizeOutput(output: string, maxChars?: number, opts?: {
|
|
8
19
|
preferErrors?: boolean;
|
|
@@ -18,6 +29,6 @@ export declare function failureSummaryLine(result: {
|
|
|
18
29
|
}): string | undefined;
|
|
19
30
|
/** Legacy hard ceiling; effective cap comes from reliability policy (E2). */
|
|
20
31
|
export declare const PASSTHROUGH_CAP_CHARS_LEGACY = 400000;
|
|
21
|
-
/** Effective
|
|
32
|
+
/** Effective default model-context cap for tool bodies (E2). */
|
|
22
33
|
export declare function fsPassthroughCapChars(): number;
|
|
23
34
|
export declare function formatToolContext(call: ToolCall, result: ToolResult): string;
|
|
@@ -1,8 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format tool results for the model context (not the UI spool).
|
|
3
|
+
*
|
|
4
|
+
* Philosophy:
|
|
5
|
+
* - Full bodies stay on disk (artifact / job logs). Never invent "empty".
|
|
6
|
+
* - Default: honest head+tail size cap — no keyword-rank "generic reduce".
|
|
7
|
+
* - Optional structured polish only for known scanners (nmap/ffuf/…) that
|
|
8
|
+
* extract findings; noise should already be filtered at the command.
|
|
9
|
+
* - Long work → background job + live file; point at path, use shell.tail.
|
|
10
|
+
*/
|
|
1
11
|
import { mkdir, writeFile } from "node:fs/promises";
|
|
2
|
-
import { homedir } from "node:os";
|
|
3
12
|
import { join } from "node:path";
|
|
4
|
-
import { fixOwner
|
|
5
|
-
import {
|
|
13
|
+
import { fixOwner } from "../os/permissions.js";
|
|
14
|
+
import { getArtifactDir } from "../store/paths.js";
|
|
15
|
+
import { hasStructuredReducer, reduceToolOutput, } from "../tools/policies/output-policy.js";
|
|
6
16
|
import { getReliabilityPolicy } from "./reliability-policy.js";
|
|
7
17
|
function safeArtifactName(name) {
|
|
8
18
|
return (name.replace(/[^a-z0-9_.-]+/gi, "-").replace(/^-+|-+$/g, "") ||
|
|
@@ -11,7 +21,7 @@ function safeArtifactName(name) {
|
|
|
11
21
|
export async function saveToolOutput(call, output) {
|
|
12
22
|
if (!output.trim())
|
|
13
23
|
return undefined;
|
|
14
|
-
const dir =
|
|
24
|
+
const dir = getArtifactDir();
|
|
15
25
|
try {
|
|
16
26
|
await mkdir(dir, { recursive: true });
|
|
17
27
|
await fixOwner(dir);
|
|
@@ -21,14 +31,15 @@ export async function saveToolOutput(call, output) {
|
|
|
21
31
|
await fixOwner(path);
|
|
22
32
|
return path;
|
|
23
33
|
}
|
|
24
|
-
catch
|
|
25
|
-
|
|
34
|
+
catch {
|
|
35
|
+
return undefined;
|
|
26
36
|
}
|
|
27
37
|
}
|
|
28
38
|
const ERROR_LINE_RE = /\b(?:error|exception|failed|failure|fatal|traceback|panic|ECONNREFUSED|ENOENT|TypeError|SyntaxError|ReferenceError|Cannot find|not found|exit code)\b/i;
|
|
29
39
|
/**
|
|
30
40
|
* Truncate long tool output for the model. When `preferErrors` is set (failed
|
|
31
41
|
* commands), keep error-bearing lines and a heavy tail so stack traces survive.
|
|
42
|
+
* Never ranks by CVE/port keywords (that was genericReducer — removed).
|
|
32
43
|
*/
|
|
33
44
|
export function summarizeOutput(output, maxChars = 8_000, opts) {
|
|
34
45
|
if (output.length <= maxChars)
|
|
@@ -95,65 +106,66 @@ export function summarizeOutput(output, maxChars = 8_000, opts) {
|
|
|
95
106
|
truncated: true,
|
|
96
107
|
};
|
|
97
108
|
}
|
|
109
|
+
/** Prefer real error lines over banner/echo headers when summarizing failures. */
|
|
110
|
+
function failureSnippetFromOutput(output) {
|
|
111
|
+
const lines = (output ?? "")
|
|
112
|
+
.split(/\r?\n/)
|
|
113
|
+
.map((l) => l.replace(/\s+/g, " ").trim())
|
|
114
|
+
.filter(Boolean);
|
|
115
|
+
if (lines.length === 0)
|
|
116
|
+
return "";
|
|
117
|
+
const errorLike = /command not found|not found|No such file|permission denied|EACCES|ENOENT|error:|fatal:|Traceback|Exception|FAILED|exit code|cannot|can't |couldn't |denied|refused|timed out|timeout|killed|segmentation fault|usage:/i;
|
|
118
|
+
// Scan from the end — probe chains (`a && b && c`) print success noise first
|
|
119
|
+
// and the actual failure last (e.g. `yarn: command not found`).
|
|
120
|
+
for (let i = lines.length - 1; i >= 0; i -= 1) {
|
|
121
|
+
const line = lines[i];
|
|
122
|
+
if (errorLike.test(line))
|
|
123
|
+
return line.slice(0, 120);
|
|
124
|
+
}
|
|
125
|
+
// No explicit error pattern: last non-empty line is usually the failing step.
|
|
126
|
+
return lines[lines.length - 1].slice(0, 120);
|
|
127
|
+
}
|
|
98
128
|
/** One-line failure cue prepended when a tool returns ok=false. */
|
|
99
129
|
export function failureSummaryLine(result) {
|
|
100
130
|
if (result.ok)
|
|
101
131
|
return undefined;
|
|
102
132
|
const exit = typeof result.exitCode === "number" ? `exit=${result.exitCode}` : "failed";
|
|
103
|
-
|
|
104
|
-
const
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
133
|
+
// Exit 127 is almost always "command not found" in POSIX shells.
|
|
134
|
+
const hint = result.exitCode === 127
|
|
135
|
+
? "command not found"
|
|
136
|
+
: result.exitCode === 126
|
|
137
|
+
? "not executable"
|
|
138
|
+
: undefined;
|
|
139
|
+
const snippet = failureSnippetFromOutput(result.output);
|
|
140
|
+
const parts = [exit, hint, snippet && snippet !== hint ? snippet : undefined].filter(Boolean);
|
|
141
|
+
return `FAILURE SUMMARY: ${parts.join("; ")}`;
|
|
108
142
|
}
|
|
109
|
-
// Tools whose output is the actual content the model needs verbatim (file
|
|
110
|
-
// bodies, listings, search hits). Running these through the security-signal
|
|
111
|
-
// `genericReducer` was wrong: it ranks lines by pentest keywords and drops
|
|
112
|
-
// the rest, so source code came back as a fragmentary head+tail — the model
|
|
113
|
-
// saw a "truncated" file and kept re-reading it in wasted retries. For these
|
|
114
|
-
// we pass the raw content through (up to a generous cap) and point the model
|
|
115
|
-
// at the saved artifact when it exceeds the cap.
|
|
116
|
-
const PASSTHROUGH_TOOLS = new Set([
|
|
117
|
-
"fs.read",
|
|
118
|
-
"fs.list",
|
|
119
|
-
"fs.search",
|
|
120
|
-
"fs.edit",
|
|
121
|
-
"fs.append",
|
|
122
|
-
"pdf.read",
|
|
123
|
-
// Structured / short tools — genericReducer was dropping shell.jobs lines
|
|
124
|
-
// (no CVE keywords → "N lines omitted") so models invented "empty tool" stories.
|
|
125
|
-
"shell.jobs",
|
|
126
|
-
"shell.tail",
|
|
127
|
-
"shell.stop",
|
|
128
|
-
"sysinfo",
|
|
129
|
-
"tool.check",
|
|
130
|
-
"wordlist.find",
|
|
131
|
-
]);
|
|
132
143
|
/** Legacy hard ceiling; effective cap comes from reliability policy (E2). */
|
|
133
144
|
export const PASSTHROUGH_CAP_CHARS_LEGACY = 400_000;
|
|
134
|
-
/** Effective
|
|
145
|
+
/** Effective default model-context cap for tool bodies (E2). */
|
|
135
146
|
export function fsPassthroughCapChars() {
|
|
136
147
|
return getReliabilityPolicy().fsPassthroughCapChars;
|
|
137
148
|
}
|
|
138
|
-
// web.fetch/http.fetch pull in arbitrary third-party pages/API responses that
|
|
139
|
-
// can be hundreds of KB (e.g. a large OpenAPI spec). Unlike local files the
|
|
140
|
-
// model asked to read, this content is never bounded by the user's own
|
|
141
|
-
// project, so it must be capped like every other tool's context output —
|
|
142
|
-
// otherwise a single fetch can single-handedly blow the context budget and
|
|
143
|
-
// starve the model of room to actually respond (observed as empty/garbled
|
|
144
|
-
// completions on smaller-context-window models after a big fetch).
|
|
145
|
-
// http.fetch is evidence-dense and often batched in recon — tighter cap.
|
|
146
|
-
// web.fetch is for reading pages — slightly larger.
|
|
147
149
|
const HTTP_FETCH_CAP_CHARS = 8_000;
|
|
148
150
|
const WEB_FETCH_CAP_CHARS = 14_000;
|
|
149
|
-
/** web.search listings are already bounded by maxResults; generous passthrough. */
|
|
150
151
|
const WEB_SEARCH_CAP_CHARS = 24_000;
|
|
152
|
+
/** Default for shell and other tools after optional structured polish. */
|
|
153
|
+
const DEFAULT_CONTEXT_CAP_CHARS = 12_000;
|
|
154
|
+
function artifactFooter(path, truncated, cap, kind) {
|
|
155
|
+
if (!truncated) {
|
|
156
|
+
return path ? `\nFull output saved to: ${path}` : "";
|
|
157
|
+
}
|
|
158
|
+
if (path) {
|
|
159
|
+
return (`\n\n[${kind} exceeds ${cap.toLocaleString()} chars; head/tail shown. ` +
|
|
160
|
+
`Full artifact: ${path}. ` +
|
|
161
|
+
`Use shell.tail / fs.read on the path if you need more — do not re-run the same tool solely because this view is capped.]`);
|
|
162
|
+
}
|
|
163
|
+
return `\n\n[${kind} exceeds ${cap.toLocaleString()} chars; head/tail shown. Full body was not persisted.]`;
|
|
164
|
+
}
|
|
151
165
|
export function formatToolContext(call, result) {
|
|
152
166
|
const output = result.output.trim();
|
|
153
167
|
if (!output) {
|
|
154
168
|
const fail = failureSummaryLine(result);
|
|
155
|
-
// Never return a bare empty body — models invent "tools returned nothing /
|
|
156
|
-
// platform issue" when they only see "Tool X result (ok=true):\n".
|
|
157
169
|
return (fail ??
|
|
158
170
|
(result.ok
|
|
159
171
|
? "(no output — command succeeded with an empty body)"
|
|
@@ -161,63 +173,67 @@ export function formatToolContext(call, result) {
|
|
|
161
173
|
}
|
|
162
174
|
const preferErrors = !result.ok;
|
|
163
175
|
const failLine = failureSummaryLine(result);
|
|
164
|
-
// web.search must NEVER go through the pentest genericReducer: that ranks
|
|
165
|
-
// lines by CVE/port keywords and drops mid-list hits, so models see
|
|
166
|
-
// "N lines omitted" and re-run the same search as if it were interrupted.
|
|
167
176
|
if (call.name === "web.search") {
|
|
168
177
|
const { text, truncated } = summarizeOutput(output, WEB_SEARCH_CAP_CHARS, {
|
|
169
178
|
preferErrors,
|
|
170
179
|
});
|
|
171
|
-
const body =
|
|
172
|
-
|
|
173
|
-
? `\n\n[Listing exceeds ${WEB_SEARCH_CAP_CHARS.toLocaleString()} chars; head/tail shown. Full: ${result.outputPath}. Search completed successfully — do not re-run the same query solely because this view is capped.]`
|
|
174
|
-
: `\n\n[Listing exceeds ${WEB_SEARCH_CAP_CHARS.toLocaleString()} chars; head/tail shown. Search completed successfully — do not re-run the same query solely because this view is capped.]`}`
|
|
175
|
-
: text;
|
|
180
|
+
const body = text +
|
|
181
|
+
artifactFooter(result.outputPath, truncated, WEB_SEARCH_CAP_CHARS, "Listing");
|
|
176
182
|
return [failLine, body].filter(Boolean).join("\n").trim();
|
|
177
183
|
}
|
|
178
184
|
if (call.name === "web.fetch" || call.name === "http.fetch") {
|
|
179
185
|
const cap = call.name === "http.fetch" ? HTTP_FETCH_CAP_CHARS : WEB_FETCH_CAP_CHARS;
|
|
180
|
-
const { text, truncated } = summarizeOutput(output, cap, {
|
|
181
|
-
|
|
182
|
-
});
|
|
183
|
-
const body = truncated
|
|
184
|
-
? `${text}${result.outputPath
|
|
185
|
-
? `\n\n[Response exceeds ${cap.toLocaleString()} chars; head/tail shown. Full: ${result.outputPath}]`
|
|
186
|
-
: `\n\n[Response exceeds ${cap.toLocaleString()} chars; only head and tail shown.]`}`
|
|
187
|
-
: text;
|
|
186
|
+
const { text, truncated } = summarizeOutput(output, cap, { preferErrors });
|
|
187
|
+
const body = text + artifactFooter(result.outputPath, truncated, cap, "Response");
|
|
188
188
|
return [failLine, body].filter(Boolean).join("\n").trim();
|
|
189
189
|
}
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
190
|
+
// Large file / listing tools: generous passthrough cap.
|
|
191
|
+
if (call.name === "fs.read" ||
|
|
192
|
+
call.name === "fs.list" ||
|
|
193
|
+
call.name === "fs.search" ||
|
|
194
|
+
call.name === "fs.edit" ||
|
|
195
|
+
call.name === "fs.append" ||
|
|
196
|
+
call.name === "pdf.read") {
|
|
193
197
|
const cap = fsPassthroughCapChars();
|
|
194
|
-
const { text, truncated } = summarizeOutput(output, cap, {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
:
|
|
201
|
-
: text;
|
|
198
|
+
const { text, truncated } = summarizeOutput(output, cap, { preferErrors });
|
|
199
|
+
const body = text +
|
|
200
|
+
(truncated
|
|
201
|
+
? result.outputPath
|
|
202
|
+
? `\n\n[File content exceeds ${cap.toLocaleString()} chars; head/tail shown. Full artifact: ${result.outputPath}. Continue with fs.read offset/limit or pattern — do not re-issue path-only hoping for more.]`
|
|
203
|
+
: `\n\n[File content exceeds ${cap.toLocaleString()} chars; only head and tail shown. Re-read with offset/limit or pattern for the rest.]`
|
|
204
|
+
: "");
|
|
202
205
|
return [failLine, body].filter(Boolean).join("\n").trim();
|
|
203
206
|
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
|
|
207
|
+
// Optional structured polish (nmap/ffuf/…) — never keyword-rank arbitrary shell.
|
|
208
|
+
const command = call.name === "shell.exec" || call.name === "shell.start"
|
|
209
|
+
? String(call.args.command ?? "")
|
|
210
|
+
: call.name;
|
|
211
|
+
let bodySource = output;
|
|
212
|
+
if (hasStructuredReducer({
|
|
213
|
+
toolName: call.name,
|
|
214
|
+
command,
|
|
215
|
+
})) {
|
|
216
|
+
try {
|
|
217
|
+
const polished = reduceToolOutput(output, {
|
|
218
|
+
toolName: call.name,
|
|
219
|
+
command,
|
|
220
|
+
}).summary.trim();
|
|
221
|
+
if (polished.length > 0)
|
|
222
|
+
bodySource = polished;
|
|
223
|
+
}
|
|
224
|
+
catch {
|
|
225
|
+
// keep raw
|
|
226
|
+
}
|
|
215
227
|
}
|
|
216
|
-
const
|
|
217
|
-
const
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
228
|
+
const { text, truncated } = summarizeOutput(bodySource, DEFAULT_CONTEXT_CAP_CHARS, { preferErrors });
|
|
229
|
+
const body = text +
|
|
230
|
+
artifactFooter(result.outputPath, truncated || bodySource !== output, DEFAULT_CONTEXT_CAP_CHARS, "Output");
|
|
231
|
+
// If we polished scanners, still remind that full log may be longer.
|
|
232
|
+
const polishNote = bodySource !== output && result.outputPath
|
|
233
|
+
? `\n(Structured hit summary above; complete log: ${result.outputPath})`
|
|
234
|
+
: bodySource !== output
|
|
235
|
+
? "\n(Structured hit summary above; filter more at the command next time to shrink the raw log.)"
|
|
236
|
+
: "";
|
|
237
|
+
return [failLine, body + polishNote].filter(Boolean).join("\n").trim();
|
|
222
238
|
}
|
|
223
239
|
//# sourceMappingURL=tool-output-formatting.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-output-formatting.js","sourceRoot":"","sources":["../../src/agent/tool-output-formatting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tool-output-formatting.js","sourceRoot":"","sources":["../../src/agent/tool-output-formatting.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { completeWithProvider } from "../../llm/router.js";
|
|
5
5
|
export async function summarizeForSessionCompact(prompt, opts) {
|
|
6
|
-
const maxTokens =
|
|
6
|
+
const maxTokens = 2_048;
|
|
7
7
|
const systemContent = opts.purpose === "plan-implement"
|
|
8
|
-
? "
|
|
8
|
+
? "Write concise, non-redundant research memory for an agent executing an approved plan. Do not add framing: the PLAN MODE HANDOFF wrapper and active plan are injected separately. For coding target 600–1000 tokens; preserve only verified state, reusable research/artifacts, decisions, blockers, and risks. Security handoffs may be longer to preserve findings and coverage. Never invent or cut a fact mid-token."
|
|
9
9
|
: "You compress conversation history into accurate continuation memory.";
|
|
10
10
|
const completeSummary = async (p) => {
|
|
11
11
|
const response = await completeWithProvider({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-compact-helper.js","sourceRoot":"","sources":["../../../src/app/controllers/session-compact-helper.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAc,EACd,IAMC;IAED,MAAM,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"session-compact-helper.js","sourceRoot":"","sources":["../../../src/app/controllers/session-compact-helper.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAc,EACd,IAMC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC;IACxB,MAAM,aAAa,GACjB,IAAI,CAAC,OAAO,KAAK,gBAAgB;QAC/B,CAAC,CAAC,yZAAyZ;QAC3Z,CAAC,CAAC,sEAAsE,CAAC;IAE7E,MAAM,eAAe,GAAG,KAAK,EAAE,CAAS,EAAmB,EAAE;QAC3D,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC;YAC1C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,aAAa;iBACvB;gBACD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;aAC7B;YACD,WAAW,EAAE,GAAG;YAChB,SAAS;YACT,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,CAAC;IACzB,IAAI,MAAM,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,EAChD,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CACvE,CAAC;IACF,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CACX,MAAM,eAAe,CACnB,IAAI,CAAC,OAAO,KAAK,gBAAgB;YAC/B,CAAC,CAAC,kBAAkB,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,8KAA8K,MAAM,CAAC,KAAK,CAAC,EAAE;YAC9O,CAAC,CAAC,kBAAkB,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,sHAAsH,MAAM,CAAC,KAAK,CAAC,EAAE,CACzL,CACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;IAC9B,OAAO,eAAe,CACpB,IAAI,CAAC,OAAO,KAAK,gBAAgB;QAC/B,CAAC,CAAC,iXAAiX;YAC/W,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,KAAK,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC7E,CAAC,CAAC,+QAA+Q;YAC7Q,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,KAAK,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAChF,CAAC;AACJ,CAAC"}
|