pi-agent-flow 2.3.3 → 2.3.5
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/batch/batch-bash.d.ts.map +1 -1
- package/dist/batch/batch-bash.js +23 -0
- package/dist/batch/batch-bash.js.map +1 -1
- package/dist/batch/execute.d.ts +3 -0
- package/dist/batch/execute.d.ts.map +1 -1
- package/dist/batch/execute.js +147 -17
- package/dist/batch/execute.js.map +1 -1
- package/dist/config/config.d.ts +6 -0
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +71 -21
- package/dist/config/config.js.map +1 -1
- package/dist/config/thinking-level-map.d.ts +20 -0
- package/dist/config/thinking-level-map.d.ts.map +1 -0
- package/dist/config/thinking-level-map.js +68 -0
- package/dist/config/thinking-level-map.js.map +1 -0
- package/dist/core2/snapshot.d.ts +9 -1
- package/dist/core2/snapshot.d.ts.map +1 -1
- package/dist/core2/snapshot.js +62 -74
- package/dist/core2/snapshot.js.map +1 -1
- package/dist/flow/command.d.ts.map +1 -1
- package/dist/flow/command.js +6 -0
- package/dist/flow/command.js.map +1 -1
- package/dist/flow/continuation.d.ts +10 -0
- package/dist/flow/continuation.d.ts.map +1 -1
- package/dist/flow/continuation.js +18 -0
- package/dist/flow/continuation.js.map +1 -1
- package/dist/flow/dump-io.d.ts +2 -2
- package/dist/flow/dump-io.d.ts.map +1 -1
- package/dist/flow/dump-io.js +16 -12
- package/dist/flow/dump-io.js.map +1 -1
- package/dist/flow/flow-args.d.ts.map +1 -1
- package/dist/flow/flow-args.js +8 -3
- package/dist/flow/flow-args.js.map +1 -1
- package/dist/flow/index.d.ts +2 -2
- package/dist/flow/index.d.ts.map +1 -1
- package/dist/flow/index.js +2 -2
- package/dist/flow/index.js.map +1 -1
- package/dist/flow/runner.d.ts.map +1 -1
- package/dist/flow/runner.js +45 -12
- package/dist/flow/runner.js.map +1 -1
- package/dist/flow/store.d.ts +14 -0
- package/dist/flow/store.d.ts.map +1 -1
- package/dist/flow/store.js +138 -8
- package/dist/flow/store.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -3
- package/dist/index.js.map +1 -1
- package/dist/io/atomic-write.d.ts +7 -0
- package/dist/io/atomic-write.d.ts.map +1 -1
- package/dist/io/atomic-write.js +25 -0
- package/dist/io/atomic-write.js.map +1 -1
- package/dist/notify/notify.d.ts.map +1 -1
- package/dist/notify/notify.js +14 -2
- package/dist/notify/notify.js.map +1 -1
- package/dist/snapshot/runner-events.d.ts.map +1 -1
- package/dist/snapshot/runner-events.js +29 -2
- package/dist/snapshot/runner-events.js.map +1 -1
- package/dist/snapshot/structured-output.d.ts.map +1 -1
- package/dist/snapshot/structured-output.js +19 -7
- package/dist/snapshot/structured-output.js.map +1 -1
- package/package.json +1 -1
package/dist/config/config.js
CHANGED
|
@@ -11,7 +11,7 @@ import { parseComplexity } from "../flow/complexity.js";
|
|
|
11
11
|
import { logWarn } from "./log.js";
|
|
12
12
|
import { resolveModelContextWindow as resolveModelContextWindowFromModels } from "./models.js";
|
|
13
13
|
import { getAgentDir, hasAgentDirOverride } from "./paths.js";
|
|
14
|
-
import { atomicWriteFileSync } from "../io/atomic-write.js";
|
|
14
|
+
import { atomicWriteFileSync, atomicWriteJsonAsync } from "../io/atomic-write.js";
|
|
15
15
|
const BUILTIN_FLOW_MODEL_CONFIGS = {
|
|
16
16
|
default: {},
|
|
17
17
|
};
|
|
@@ -19,16 +19,71 @@ const FLOW_TIERS = ["lite", "flash", "full"];
|
|
|
19
19
|
function isPlainObject(value) {
|
|
20
20
|
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
21
21
|
}
|
|
22
|
+
// Fix P17: Cache settings in memory with async flush
|
|
23
|
+
const _settingsCache = new Map();
|
|
24
|
+
const _settingsFlushScheduled = new Set();
|
|
22
25
|
function readSettingsJson(filePath) {
|
|
26
|
+
const cached = _settingsCache.get(filePath);
|
|
27
|
+
if (cached)
|
|
28
|
+
return cached;
|
|
23
29
|
try {
|
|
24
30
|
const content = fs.readFileSync(filePath, "utf-8");
|
|
25
|
-
|
|
31
|
+
const parsed = JSON.parse(content);
|
|
32
|
+
_settingsCache.set(filePath, parsed);
|
|
33
|
+
return parsed;
|
|
26
34
|
}
|
|
27
35
|
catch (e) {
|
|
28
36
|
logWarn(`[pi-agent-flow] Failed to read settings JSON from ${filePath}: ${e}`);
|
|
29
37
|
return null;
|
|
30
38
|
}
|
|
31
39
|
}
|
|
40
|
+
function scheduleSettingsFlush(filePath) {
|
|
41
|
+
if (!_settingsFlushScheduled.has(filePath)) {
|
|
42
|
+
_settingsFlushScheduled.add(filePath);
|
|
43
|
+
setImmediate(() => flushSettings(filePath));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
async function flushSettings(filePath) {
|
|
47
|
+
_settingsFlushScheduled.delete(filePath);
|
|
48
|
+
const settings = _settingsCache.get(filePath);
|
|
49
|
+
if (!settings)
|
|
50
|
+
return;
|
|
51
|
+
try {
|
|
52
|
+
await atomicWriteJsonAsync(filePath, settings);
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
logWarn(`[pi-agent-flow] Async flush failed for settings ${filePath}: ${err instanceof Error ? err.message : String(err)}`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/** Synchronous flush of all cached settings entries. For tests or graceful shutdown. */
|
|
59
|
+
export function flushAllSettingsCachesSync() {
|
|
60
|
+
for (const filePath of Array.from(_settingsCache.keys())) {
|
|
61
|
+
const settings = _settingsCache.get(filePath);
|
|
62
|
+
if (!settings)
|
|
63
|
+
continue;
|
|
64
|
+
try {
|
|
65
|
+
atomicWriteFileSync(filePath, `${JSON.stringify(settings, null, 2)}\n`);
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
logWarn(`[pi-agent-flow] Sync flush failed for settings ${filePath}: ${err instanceof Error ? err.message : String(err)}`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/** Invalidate settings cache. For session_start or tests. */
|
|
73
|
+
export function invalidateSettingsCache(filePath) {
|
|
74
|
+
if (filePath) {
|
|
75
|
+
_settingsCache.delete(filePath);
|
|
76
|
+
_settingsFlushScheduled.delete(filePath);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
_settingsCache.clear();
|
|
80
|
+
_settingsFlushScheduled.clear();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/** Clear the in-memory settings cache. For tests. */
|
|
84
|
+
export function _clearSettingsCache() {
|
|
85
|
+
invalidateSettingsCache();
|
|
86
|
+
}
|
|
32
87
|
export function getGlobalSettingsPath() {
|
|
33
88
|
const agentDir = getAgentDir();
|
|
34
89
|
const defaultPath = path.join(agentDir, "settings.json");
|
|
@@ -64,11 +119,8 @@ export function writeGlobalFlowMode(mode) {
|
|
|
64
119
|
const filePath = getGlobalSettingsPath();
|
|
65
120
|
let settings = {};
|
|
66
121
|
if (fs.existsSync(filePath)) {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
parsed = JSON.parse(fs.readFileSync(filePath, "utf-8"));
|
|
70
|
-
}
|
|
71
|
-
catch (error) {
|
|
122
|
+
const parsed = readSettingsJson(filePath);
|
|
123
|
+
if (!parsed) {
|
|
72
124
|
throw new Error(`Cannot update flow mode because ${filePath} contains invalid JSON.`);
|
|
73
125
|
}
|
|
74
126
|
if (!isPlainObject(parsed)) {
|
|
@@ -78,7 +130,8 @@ export function writeGlobalFlowMode(mode) {
|
|
|
78
130
|
}
|
|
79
131
|
const previous = extractSelectedFlowModelConfigName(settings);
|
|
80
132
|
settings.flowModelConfig = normalized;
|
|
81
|
-
|
|
133
|
+
_settingsCache.set(filePath, settings);
|
|
134
|
+
scheduleSettingsFlush(filePath);
|
|
82
135
|
return {
|
|
83
136
|
path: filePath,
|
|
84
137
|
...(previous !== undefined ? { previous } : {}),
|
|
@@ -295,11 +348,8 @@ export function writeFlowSetting(cwd, keyPath, value) {
|
|
|
295
348
|
const filePath = getProjectSettingsPath(cwd);
|
|
296
349
|
let settings = {};
|
|
297
350
|
if (fs.existsSync(filePath)) {
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
parsed = JSON.parse(fs.readFileSync(filePath, "utf-8"));
|
|
301
|
-
}
|
|
302
|
-
catch (error) {
|
|
351
|
+
const parsed = readSettingsJson(filePath);
|
|
352
|
+
if (!parsed) {
|
|
303
353
|
throw new Error(`Cannot update flow setting because ${filePath} contains invalid JSON.`);
|
|
304
354
|
}
|
|
305
355
|
if (!isPlainObject(parsed)) {
|
|
@@ -315,7 +365,8 @@ export function writeFlowSetting(cwd, keyPath, value) {
|
|
|
315
365
|
// Reset the entire flowSettings object when keyPath is empty
|
|
316
366
|
const previous = { ...flowSettings };
|
|
317
367
|
settings.flowSettings = value;
|
|
318
|
-
|
|
368
|
+
_settingsCache.set(filePath, settings);
|
|
369
|
+
scheduleSettingsFlush(filePath);
|
|
319
370
|
return { path: filePath, previous };
|
|
320
371
|
}
|
|
321
372
|
const keys = keyPath.split(".");
|
|
@@ -330,7 +381,8 @@ export function writeFlowSetting(cwd, keyPath, value) {
|
|
|
330
381
|
const leafKey = keys[keys.length - 1];
|
|
331
382
|
const previous = target[leafKey];
|
|
332
383
|
target[leafKey] = value;
|
|
333
|
-
|
|
384
|
+
_settingsCache.set(filePath, settings);
|
|
385
|
+
scheduleSettingsFlush(filePath);
|
|
334
386
|
return { path: filePath, previous };
|
|
335
387
|
}
|
|
336
388
|
export function selectFlowModelStrategy(configs, requestedName) {
|
|
@@ -469,11 +521,8 @@ export function writeFlowModelConfig(cwd, strategyName, tier, updates) {
|
|
|
469
521
|
const filePath = getProjectSettingsPath(cwd);
|
|
470
522
|
let settings = {};
|
|
471
523
|
if (fs.existsSync(filePath)) {
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
parsed = JSON.parse(fs.readFileSync(filePath, "utf-8"));
|
|
475
|
-
}
|
|
476
|
-
catch (error) {
|
|
524
|
+
const parsed = readSettingsJson(filePath);
|
|
525
|
+
if (!parsed) {
|
|
477
526
|
throw new Error(`Cannot update flow model config because ${filePath} contains invalid JSON.`);
|
|
478
527
|
}
|
|
479
528
|
if (!isPlainObject(parsed)) {
|
|
@@ -515,6 +564,7 @@ export function writeFlowModelConfig(cwd, strategyName, tier, updates) {
|
|
|
515
564
|
if (Object.keys(strategy).length === 0) {
|
|
516
565
|
delete configs[strategyName];
|
|
517
566
|
}
|
|
518
|
-
|
|
567
|
+
_settingsCache.set(filePath, settings);
|
|
568
|
+
scheduleSettingsFlush(filePath);
|
|
519
569
|
}
|
|
520
570
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adaptive thinking level mapping.
|
|
3
|
+
*
|
|
4
|
+
* Maps unsupported / provider-specific thinking levels to the closest
|
|
5
|
+
* valid value for child pi processes. Falls back to a static nearest-
|
|
6
|
+
* neighbour map when provider-specific model info is unavailable.
|
|
7
|
+
*/
|
|
8
|
+
/** Canonical thinking levels accepted by the majority of providers. */
|
|
9
|
+
export declare const CANONICAL_THINKING_LEVELS: readonly ["low", "medium", "high"];
|
|
10
|
+
export type CanonicalThinkingLevel = (typeof CANONICAL_THINKING_LEVELS)[number];
|
|
11
|
+
/**
|
|
12
|
+
* Map a thinking level string to a canonical value.
|
|
13
|
+
*
|
|
14
|
+
* @param level Raw thinking level (e.g. "minimal").
|
|
15
|
+
* @param modelThinkingLevelMap Optional provider-specific map from the
|
|
16
|
+
* model definition (e.g. models.json).
|
|
17
|
+
* @returns Canonical level, or `null` when the value is unmappable.
|
|
18
|
+
*/
|
|
19
|
+
export declare function mapThinkingLevel(level: string, modelThinkingLevelMap?: Record<string, string>): CanonicalThinkingLevel | null;
|
|
20
|
+
//# sourceMappingURL=thinking-level-map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thinking-level-map.d.ts","sourceRoot":"","sources":["../../src/config/thinking-level-map.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,uEAAuE;AACvE,eAAO,MAAM,yBAAyB,oCAAqC,CAAC;AAE5E,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AA0BhF;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,MAAM,EACb,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5C,sBAAsB,GAAG,IAAI,CAiC/B"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adaptive thinking level mapping.
|
|
3
|
+
*
|
|
4
|
+
* Maps unsupported / provider-specific thinking levels to the closest
|
|
5
|
+
* valid value for child pi processes. Falls back to a static nearest-
|
|
6
|
+
* neighbour map when provider-specific model info is unavailable.
|
|
7
|
+
*/
|
|
8
|
+
import { logWarn } from "./log.js";
|
|
9
|
+
/** Canonical thinking levels accepted by the majority of providers. */
|
|
10
|
+
export const CANONICAL_THINKING_LEVELS = ["low", "medium", "high"];
|
|
11
|
+
/**
|
|
12
|
+
* Static nearest-neighbour mapping for known non-canonical values.
|
|
13
|
+
*/
|
|
14
|
+
const STATIC_THINKING_LEVEL_MAP = {
|
|
15
|
+
// Mappings to "low"
|
|
16
|
+
none: "low",
|
|
17
|
+
off: "low",
|
|
18
|
+
minimal: "low",
|
|
19
|
+
light: "low",
|
|
20
|
+
small: "low",
|
|
21
|
+
basic: "low",
|
|
22
|
+
// Mappings to "medium"
|
|
23
|
+
moderate: "medium",
|
|
24
|
+
standard: "medium",
|
|
25
|
+
normal: "medium",
|
|
26
|
+
// Mappings to "high"
|
|
27
|
+
heavy: "high",
|
|
28
|
+
max: "high",
|
|
29
|
+
maximum: "high",
|
|
30
|
+
deep: "high",
|
|
31
|
+
aggressive: "high",
|
|
32
|
+
intense: "high",
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Map a thinking level string to a canonical value.
|
|
36
|
+
*
|
|
37
|
+
* @param level Raw thinking level (e.g. "minimal").
|
|
38
|
+
* @param modelThinkingLevelMap Optional provider-specific map from the
|
|
39
|
+
* model definition (e.g. models.json).
|
|
40
|
+
* @returns Canonical level, or `null` when the value is unmappable.
|
|
41
|
+
*/
|
|
42
|
+
export function mapThinkingLevel(level, modelThinkingLevelMap) {
|
|
43
|
+
const normalized = level.trim().toLowerCase();
|
|
44
|
+
// Already canonical — pass through unchanged.
|
|
45
|
+
if (CANONICAL_THINKING_LEVELS.includes(normalized)) {
|
|
46
|
+
return normalized;
|
|
47
|
+
}
|
|
48
|
+
// Provider-aware mapping (e.g. models.json thinkingLevelMap).
|
|
49
|
+
if (modelThinkingLevelMap) {
|
|
50
|
+
const providerMapped = modelThinkingLevelMap[normalized];
|
|
51
|
+
if (providerMapped) {
|
|
52
|
+
const canonical = providerMapped.trim().toLowerCase();
|
|
53
|
+
if (CANONICAL_THINKING_LEVELS.includes(canonical)) {
|
|
54
|
+
return canonical;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// Static nearest-neighbour fallback.
|
|
59
|
+
const staticMapped = STATIC_THINKING_LEVEL_MAP[normalized];
|
|
60
|
+
if (staticMapped) {
|
|
61
|
+
logWarn(`[pi-agent-flow] Thinking level "${level}" is not supported. Mapped to nearest neighbour "${staticMapped}".`);
|
|
62
|
+
return staticMapped;
|
|
63
|
+
}
|
|
64
|
+
// Unmappable — return null so the caller can omit the flag.
|
|
65
|
+
logWarn(`[pi-agent-flow] Thinking level "${level}" is not supported and has no known mapping. Omitting --thinking.`);
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=thinking-level-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thinking-level-map.js","sourceRoot":"","sources":["../../src/config/thinking-level-map.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,uEAAuE;AACvE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAI5E;;GAEG;AACH,MAAM,yBAAyB,GAA2C;IACzE,oBAAoB;IACpB,IAAI,EAAE,KAAK;IACX,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,KAAK;IACZ,uBAAuB;IACvB,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,QAAQ;IAChB,qBAAqB;IACrB,KAAK,EAAE,MAAM;IACb,GAAG,EAAE,MAAM;IACX,OAAO,EAAE,MAAM;IACf,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAM;CACf,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC/B,KAAa,EACb,qBAA8C;IAE9C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE9C,8CAA8C;IAC9C,IAAI,yBAAyB,CAAC,QAAQ,CAAC,UAAoC,CAAC,EAAE,CAAC;QAC9E,OAAO,UAAoC,CAAC;IAC7C,CAAC;IAED,8DAA8D;IAC9D,IAAI,qBAAqB,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,cAAc,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACtD,IAAI,yBAAyB,CAAC,QAAQ,CAAC,SAAmC,CAAC,EAAE,CAAC;gBAC7E,OAAO,SAAmC,CAAC;YAC5C,CAAC;QACF,CAAC;IACF,CAAC;IAED,qCAAqC;IACrC,MAAM,YAAY,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAC3D,IAAI,YAAY,EAAE,CAAC;QAClB,OAAO,CACN,mCAAmC,KAAK,oDAAoD,YAAY,IAAI,CAC5G,CAAC;QACF,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,4DAA4D;IAC5D,OAAO,CACN,mCAAmC,KAAK,mEAAmE,CAC3G,CAAC;IACF,OAAO,IAAI,CAAC;AACb,CAAC"}
|
package/dist/core2/snapshot.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* orientation) and preserves all other conversation verbatim in
|
|
6
6
|
* chronological order.
|
|
7
7
|
*/
|
|
8
|
-
import type { FlowTier, ContextProfile } from "../flow/agents.js";
|
|
8
|
+
import type { FlowTier, ContextProfile, ToolResultCategory } from "../flow/agents.js";
|
|
9
9
|
export type CompressionLevel = "none" | "light" | "medium" | "aggressive";
|
|
10
10
|
export interface CompressionStats {
|
|
11
11
|
preBytes: number;
|
|
@@ -42,7 +42,15 @@ export interface BuildCore2SnapshotOptions {
|
|
|
42
42
|
}
|
|
43
43
|
/** Rough token estimate for a snapshot string (1 token ≈ 4 chars). */
|
|
44
44
|
export declare function estimateTotalContextTokens(snapshotJsonl: string): number;
|
|
45
|
+
/** Classify a tool/toolResult message into a category for profile-aware compression. */
|
|
46
|
+
export declare function classifyToolResult(entry: unknown): ToolResultCategory;
|
|
45
47
|
export declare function buildCore2Snapshot(sessionManager: SessionSnapshotSource, options?: BuildCore2SnapshotOptions): string | null;
|
|
48
|
+
export interface CompressionResult {
|
|
49
|
+
entries: unknown[];
|
|
50
|
+
droppedCount: number;
|
|
51
|
+
syntheticSummary?: string;
|
|
52
|
+
}
|
|
53
|
+
export declare function applyContextCompression(entries: unknown[], level: CompressionLevel | undefined, profile?: ContextProfile): CompressionResult;
|
|
46
54
|
export interface SharedContext {
|
|
47
55
|
messageCount: number;
|
|
48
56
|
userMessageCount: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../src/core2/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../src/core2/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGtF,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE1E,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,gBAAgB,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC3C,cAAc,EAAE,qBAAqB,EACrC,OAAO,CAAC,EAAE,yBAAyB,EACnC,gBAAgB,CAAC,EAAE,MAAM,GACvB;IAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,gBAAgB,CAAA;CAAE,CAiGvD;AAED,MAAM,WAAW,qBAAqB;IACrC,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,OAAO,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACpC;AAqBD,sEAAsE;AACtE,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAExE;AAgBD,wFAAwF;AACxF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAuDrE;AA0BD,wBAAgB,kBAAkB,CACjC,cAAc,EAAE,qBAAqB,EACrC,OAAO,CAAC,EAAE,yBAAyB,GACjC,MAAM,GAAG,IAAI,CA8Ff;AAmxBD,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,uBAAuB,CACtC,OAAO,EAAE,OAAO,EAAE,EAClB,KAAK,EAAE,gBAAgB,GAAG,SAAS,EACnC,OAAO,CAAC,EAAE,cAAc,GACtB,iBAAiB,CA+GnB;AAqND,MAAM,WAAW,aAAa;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,aAAa,GAAG,SAAS,CAsG1F"}
|
package/dist/core2/snapshot.js
CHANGED
|
@@ -140,7 +140,7 @@ function extractMessageText(msg) {
|
|
|
140
140
|
return "";
|
|
141
141
|
}
|
|
142
142
|
/** Classify a tool/toolResult message into a category for profile-aware compression. */
|
|
143
|
-
function classifyToolResult(entry) {
|
|
143
|
+
export function classifyToolResult(entry) {
|
|
144
144
|
if (!entry || typeof entry !== "object")
|
|
145
145
|
return "other";
|
|
146
146
|
const e = entry;
|
|
@@ -151,16 +151,9 @@ function classifyToolResult(entry) {
|
|
|
151
151
|
return "other";
|
|
152
152
|
const text = extractMessageText(msg);
|
|
153
153
|
const toolName = typeof msg.toolName === "string" ? msg.toolName : typeof msg.name === "string" ? msg.name : "";
|
|
154
|
+
// Fix P16: Replace multiple includes() with regex-based matching
|
|
154
155
|
// Error / stack-trace heuristics
|
|
155
|
-
if (text
|
|
156
|
-
text.includes("error:") ||
|
|
157
|
-
text.includes("FAIL") ||
|
|
158
|
-
text.includes("failed") ||
|
|
159
|
-
text.includes("Exception") ||
|
|
160
|
-
text.includes("exception") ||
|
|
161
|
-
text.includes("AssertionError") ||
|
|
162
|
-
text.includes("TypeError") ||
|
|
163
|
-
text.includes("ReferenceError")) {
|
|
156
|
+
if (/Error:|error:|FAIL|failed|Exception|exception|AssertionError|TypeError|ReferenceError/.test(text)) {
|
|
164
157
|
// Stack trace detection: lines starting with " at " or " at "
|
|
165
158
|
const stackPattern = /^\s+at\s+\S+/gm;
|
|
166
159
|
if (stackPattern.test(text))
|
|
@@ -168,39 +161,27 @@ function classifyToolResult(entry) {
|
|
|
168
161
|
return "error";
|
|
169
162
|
}
|
|
170
163
|
// Test failure
|
|
171
|
-
if (
|
|
172
|
-
text.includes("
|
|
173
|
-
text.includes("
|
|
174
|
-
text.includes("expected") && text.includes("received") ||
|
|
175
|
-
text.includes("✕") ||
|
|
176
|
-
text.includes("FAIL") && text.includes("test")) {
|
|
164
|
+
if (/Test failed|test failure|Assertion failed|✕/.test(text) ||
|
|
165
|
+
(text.includes("expected") && text.includes("received")) ||
|
|
166
|
+
(text.includes("FAIL") && text.includes("test"))) {
|
|
177
167
|
return "testFailure";
|
|
178
168
|
}
|
|
179
169
|
// Git diff
|
|
180
|
-
if (
|
|
181
|
-
text.includes("--- a/") ||
|
|
182
|
-
text.includes("+++ b/") ||
|
|
183
|
-
text.includes("@@ -")) {
|
|
170
|
+
if (/diff --git|--- a\/|\+\+\+ b\/|@@ -/.test(text)) {
|
|
184
171
|
return "gitDiff";
|
|
185
172
|
}
|
|
186
173
|
// Batch file operations (read / write / edit)
|
|
187
|
-
if (
|
|
188
|
-
text.includes("--- write:") ||
|
|
189
|
-
text.includes("--- edit:") ||
|
|
190
|
-
text.includes("--- delete:") ||
|
|
174
|
+
if (/--- read:|--- write:|--- edit:|--- delete:/.test(text) ||
|
|
191
175
|
(text.includes("✔") && (text.includes("read") || text.includes("write") || text.includes("edit")))) {
|
|
192
176
|
return "fileContent";
|
|
193
177
|
}
|
|
194
178
|
// Grep / find / ls results
|
|
195
|
-
if (
|
|
196
|
-
text.includes("--- find:") ||
|
|
197
|
-
text.includes("--- ls:") ||
|
|
198
|
-
text.includes("grep results") ||
|
|
179
|
+
if (/--- rg:|--- find:|--- ls:|grep results/.test(text) ||
|
|
199
180
|
/^[^\n]+:\d+:.+/m.test(text)) {
|
|
200
181
|
return "grepResult";
|
|
201
182
|
}
|
|
202
183
|
// Bash success
|
|
203
|
-
if (toolName === "bash" ||
|
|
184
|
+
if (toolName === "bash" || /--- bash \[/.test(text) || (text.includes("--- [") && text.includes("exit"))) {
|
|
204
185
|
return "bashSuccess";
|
|
205
186
|
}
|
|
206
187
|
return "other";
|
|
@@ -294,10 +275,10 @@ export function buildCore2Snapshot(sessionManager, options) {
|
|
|
294
275
|
const compressedResult = applyContextCompression(finalEntries, options?.compressionLevel, options?.compressionProfile);
|
|
295
276
|
const entriesWithMap = insertContextMap(compressedResult.entries);
|
|
296
277
|
for (const entry of entriesWithMap) {
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
const
|
|
300
|
-
lines.push(
|
|
278
|
+
// Fix P1: Eliminate double JSON.stringify by operating on objects before serialization
|
|
279
|
+
const processedEntry = stripBatchBodiesFromEntry(entry, options?.compressionLevel);
|
|
280
|
+
const line = JSON.stringify(processedEntry);
|
|
281
|
+
lines.push(line);
|
|
301
282
|
}
|
|
302
283
|
const snapshot = `${lines.join("\n")}\n`;
|
|
303
284
|
if (options?.compressionStats) {
|
|
@@ -1090,7 +1071,7 @@ function generateSyntheticSummary(droppedEntries) {
|
|
|
1090
1071
|
}
|
|
1091
1072
|
return parts.join("\n");
|
|
1092
1073
|
}
|
|
1093
|
-
function applyContextCompression(entries, level, profile) {
|
|
1074
|
+
export function applyContextCompression(entries, level, profile) {
|
|
1094
1075
|
if (!level || level === "none") {
|
|
1095
1076
|
return { entries, droppedCount: 0 };
|
|
1096
1077
|
}
|
|
@@ -1133,30 +1114,47 @@ function applyContextCompression(entries, level, profile) {
|
|
|
1133
1114
|
}
|
|
1134
1115
|
const headers = entries.slice(0, headerEnd);
|
|
1135
1116
|
const rest = entries.slice(headerEnd);
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1117
|
+
// Fix P7: Reduce applyContextCompression from 5-6 passes to 2 passes
|
|
1118
|
+
// Pass 1: Score all entries in a single pass, collecting message tuples separately
|
|
1119
|
+
const messageTuples = [];
|
|
1120
|
+
const restLength = rest.length;
|
|
1121
|
+
for (let i = 0; i < restLength; i++) {
|
|
1122
|
+
const entry = rest[i];
|
|
1123
|
+
const isMessage = entry && typeof entry === "object" && entry.type === "message";
|
|
1124
|
+
if (isMessage) {
|
|
1125
|
+
messageTuples.push({
|
|
1126
|
+
entry,
|
|
1127
|
+
originalIndex: headerEnd + i,
|
|
1128
|
+
score: scoreMessageForProfile(entry, profile),
|
|
1129
|
+
});
|
|
1130
|
+
}
|
|
1131
|
+
}
|
|
1145
1132
|
// Sort messages by score desc, then originalIndex desc (prefer newer)
|
|
1146
|
-
|
|
1133
|
+
messageTuples.sort((a, b) => {
|
|
1147
1134
|
if (b.score !== a.score)
|
|
1148
1135
|
return b.score - a.score;
|
|
1149
1136
|
return b.originalIndex - a.originalIndex;
|
|
1150
1137
|
});
|
|
1151
|
-
//
|
|
1152
|
-
const
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1138
|
+
// Take top N messages; build a Set of their original indices for O(1) lookup
|
|
1139
|
+
const keptMessageIndices = new Set();
|
|
1140
|
+
for (let i = 0; i < targetMessageCount && i < messageTuples.length; i++) {
|
|
1141
|
+
keptMessageIndices.add(messageTuples[i].originalIndex);
|
|
1142
|
+
}
|
|
1143
|
+
// Pass 2: Single pass to reconstruct in original order, keeping all non-messages and top-N messages
|
|
1144
|
+
let result = [...headers];
|
|
1145
|
+
const droppedEntries = [];
|
|
1146
|
+
for (let i = 0; i < restLength; i++) {
|
|
1147
|
+
const entry = rest[i];
|
|
1148
|
+
const originalIndex = headerEnd + i;
|
|
1149
|
+
const isMessage = entry && typeof entry === "object" && entry.type === "message";
|
|
1150
|
+
if (!isMessage || keptMessageIndices.has(originalIndex)) {
|
|
1151
|
+
result.push(entry);
|
|
1152
|
+
}
|
|
1153
|
+
else {
|
|
1154
|
+
droppedEntries.push(entry);
|
|
1155
|
+
}
|
|
1156
|
+
}
|
|
1158
1157
|
const syntheticSummaryText = generateSyntheticSummary(droppedEntries);
|
|
1159
|
-
let result = [...headers, ...combined.map((c) => c.entry)];
|
|
1160
1158
|
if (level === "medium" || level === "aggressive") {
|
|
1161
1159
|
result = stripOldSystemMessages(result, profile);
|
|
1162
1160
|
}
|
|
@@ -1173,7 +1171,7 @@ function applyContextCompression(entries, level, profile) {
|
|
|
1173
1171
|
}
|
|
1174
1172
|
return {
|
|
1175
1173
|
entries: result,
|
|
1176
|
-
droppedCount:
|
|
1174
|
+
droppedCount: droppedEntries.length,
|
|
1177
1175
|
syntheticSummary: syntheticSummaryText,
|
|
1178
1176
|
};
|
|
1179
1177
|
}
|
|
@@ -1290,26 +1288,16 @@ function stripBatchBodies(text, level) {
|
|
|
1290
1288
|
}
|
|
1291
1289
|
return out.join("\n");
|
|
1292
1290
|
}
|
|
1293
|
-
/** If the
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
return line;
|
|
1298
|
-
}
|
|
1299
|
-
let entry;
|
|
1300
|
-
try {
|
|
1301
|
-
entry = JSON.parse(line);
|
|
1302
|
-
}
|
|
1303
|
-
catch (e) {
|
|
1304
|
-
logWarn(`[pi-agent-flow] Failed to parse JSONL line in snapshot: ${e}`);
|
|
1305
|
-
return line;
|
|
1306
|
-
}
|
|
1291
|
+
/** If the entry is a tool/toolResult message, strip batch bodies from its text.
|
|
1292
|
+
* Fix P1: Operates on the parsed object directly to eliminate double JSON.stringify/parse.
|
|
1293
|
+
*/
|
|
1294
|
+
function stripBatchBodiesFromEntry(entry, level) {
|
|
1307
1295
|
if (entry.type !== "message" || !entry.message) {
|
|
1308
|
-
return
|
|
1296
|
+
return entry;
|
|
1309
1297
|
}
|
|
1310
1298
|
const message = entry.message;
|
|
1311
1299
|
if (message.role !== "tool" && message.role !== "toolResult") {
|
|
1312
|
-
return
|
|
1300
|
+
return entry;
|
|
1313
1301
|
}
|
|
1314
1302
|
// Extract text content (string or first text part in array)
|
|
1315
1303
|
let text;
|
|
@@ -1329,15 +1317,15 @@ function maybeStripBatchBodies(line, level) {
|
|
|
1329
1317
|
}
|
|
1330
1318
|
// Fast path: no batch section headers or directive/hint markers present
|
|
1331
1319
|
if (!text || (!text.includes("\n--- ") && !text.includes("[Directive:") && !text.includes("[Hint:"))) {
|
|
1332
|
-
return
|
|
1320
|
+
return entry;
|
|
1333
1321
|
}
|
|
1334
1322
|
const stripped = stripBatchBodies(text, level);
|
|
1335
1323
|
const cleaned = stripDirectives(stripped);
|
|
1336
1324
|
if (cleaned === text) {
|
|
1337
|
-
return
|
|
1325
|
+
return entry;
|
|
1338
1326
|
}
|
|
1339
1327
|
if (typeof message.content === "string") {
|
|
1340
|
-
|
|
1328
|
+
return {
|
|
1341
1329
|
...entry,
|
|
1342
1330
|
message: { ...message, content: cleaned },
|
|
1343
1331
|
};
|
|
@@ -1349,12 +1337,12 @@ function maybeStripBatchBodies(line, level) {
|
|
|
1349
1337
|
}
|
|
1350
1338
|
return part;
|
|
1351
1339
|
});
|
|
1352
|
-
|
|
1340
|
+
return {
|
|
1353
1341
|
...entry,
|
|
1354
1342
|
message: { ...message, content: newContent },
|
|
1355
1343
|
};
|
|
1356
1344
|
}
|
|
1357
|
-
return
|
|
1345
|
+
return entry;
|
|
1358
1346
|
}
|
|
1359
1347
|
/**
|
|
1360
1348
|
* Filter out the active tool call from assistant messages in snapshot.
|