@tuanhung303/opencode-acp 2.4.0 → 2.4.1
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/lib/config-schema.d.ts +88 -0
- package/dist/lib/config-schema.d.ts.map +1 -1
- package/dist/lib/config-schema.js +36 -0
- package/dist/lib/config-schema.js.map +1 -1
- package/dist/lib/config.d.ts +26 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +49 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/hooks.d.ts.map +1 -1
- package/dist/lib/hooks.js +90 -14
- package/dist/lib/hooks.js.map +1 -1
- package/dist/lib/prompts/system/both.d.ts +1 -1
- package/dist/lib/prompts/system/both.d.ts.map +1 -1
- package/dist/lib/prompts/system/both.js +40 -42
- package/dist/lib/prompts/system/both.js.map +1 -1
- package/dist/lib/prompts/system/discard.d.ts +1 -1
- package/dist/lib/prompts/system/discard.d.ts.map +1 -1
- package/dist/lib/prompts/system/discard.js +33 -30
- package/dist/lib/prompts/system/discard.js.map +1 -1
- package/dist/lib/prompts/system/extract.d.ts +1 -1
- package/dist/lib/prompts/system/extract.d.ts.map +1 -1
- package/dist/lib/prompts/system/extract.js +27 -29
- package/dist/lib/prompts/system/extract.js.map +1 -1
- package/dist/lib/state/state.d.ts.map +1 -1
- package/dist/lib/state/state.js +2 -0
- package/dist/lib/state/state.js.map +1 -1
- package/dist/lib/state/types.d.ts +109 -20
- package/dist/lib/state/types.d.ts.map +1 -1
- package/dist/lib/state/utils.d.ts +43 -0
- package/dist/lib/state/utils.d.ts.map +1 -1
- package/dist/lib/state/utils.js +138 -0
- package/dist/lib/state/utils.js.map +1 -1
- package/dist/lib/strategies/deduplication.d.ts.map +1 -1
- package/dist/lib/strategies/deduplication.js +19 -3
- package/dist/lib/strategies/deduplication.js.map +1 -1
- package/dist/lib/strategies/error-chain-collapse.d.ts +9 -0
- package/dist/lib/strategies/error-chain-collapse.d.ts.map +1 -0
- package/dist/lib/strategies/error-chain-collapse.js +118 -0
- package/dist/lib/strategies/error-chain-collapse.js.map +1 -0
- package/dist/lib/strategies/image-pruning.d.ts +16 -0
- package/dist/lib/strategies/image-pruning.d.ts.map +1 -0
- package/dist/lib/strategies/image-pruning.js +251 -0
- package/dist/lib/strategies/image-pruning.js.map +1 -0
- package/dist/lib/strategies/index.d.ts +3 -0
- package/dist/lib/strategies/index.d.ts.map +1 -1
- package/dist/lib/strategies/index.js +3 -0
- package/dist/lib/strategies/index.js.map +1 -1
- package/dist/lib/strategies/purge-errors.d.ts.map +1 -1
- package/dist/lib/strategies/purge-errors.js +15 -3
- package/dist/lib/strategies/purge-errors.js.map +1 -1
- package/dist/lib/strategies/stale-read-pruning.d.ts +16 -0
- package/dist/lib/strategies/stale-read-pruning.d.ts.map +1 -0
- package/dist/lib/strategies/stale-read-pruning.js +132 -0
- package/dist/lib/strategies/stale-read-pruning.js.map +1 -0
- package/dist/lib/strategies/supersede-writes.d.ts.map +1 -1
- package/dist/lib/strategies/supersede-writes.js +15 -3
- package/dist/lib/strategies/supersede-writes.js.map +1 -1
- package/dist/lib/strategies/thinking-compression.d.ts.map +1 -1
- package/dist/lib/strategies/thinking-compression.js +15 -8
- package/dist/lib/strategies/thinking-compression.js.map +1 -1
- package/dist/lib/strategies/truncation.d.ts.map +1 -1
- package/dist/lib/strategies/truncation.js +17 -4
- package/dist/lib/strategies/truncation.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export const SYSTEM_PROMPT_BOTH = `<system-reminder>
|
|
2
2
|
<instruction name=context_management_protocol policy_level=critical>
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
You
|
|
4
|
+
PURPOSE
|
|
5
|
+
You operate in a context-constrained environment. Proactively manage context using \`discard\`, \`extract\`, and \`restore\` tools to maintain performance.
|
|
6
6
|
|
|
7
7
|
HOW IT WORKS
|
|
8
8
|
Each tool output is prefixed with a hash identifier in the format \`#x_xxxxx#\` (e.g., \`#r_a1b2c#\`).
|
|
9
|
-
Use these hashes to
|
|
9
|
+
Use these hashes to manage specific tool outputs.
|
|
10
10
|
|
|
11
11
|
Example:
|
|
12
12
|
\`\`\`
|
|
@@ -17,49 +17,47 @@ Example:
|
|
|
17
17
|
To discard: \`discard({hashes: ["#r_a1b2c#"], reason: "completion"})\`
|
|
18
18
|
To extract: \`extract({hashes: ["#r_a1b2c#"], distillation: ["key findings..."]})\`
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
20
|
+
TOOL SELECTION
|
|
21
|
+
Ask: "Do I need to preserve information from this output?"
|
|
22
|
+
- NO → discard (removes completely)
|
|
23
|
+
- YES → extract (preserves distilled knowledge, then prunes)
|
|
24
|
+
- UNCERTAIN → extract (safer default)
|
|
25
|
+
- MISTAKE → restore (recovers recently pruned content)
|
|
26
|
+
|
|
27
|
+
WHEN TO PRUNE
|
|
28
|
+
Evaluate at these checkpoints:
|
|
29
|
+
- ✓ Task/sub-task complete
|
|
30
|
+
- ✓ Transitioning to new work phase
|
|
31
|
+
- ✓ 5+ tool outputs accumulated
|
|
32
|
+
- ✓ Large read (>150 lines) no longer needed
|
|
33
|
+
|
|
34
|
+
DO NOT PRUNE when:
|
|
35
|
+
- ✗ Output needed for upcoming edits
|
|
36
|
+
- ✗ You'll likely re-fetch the same content
|
|
37
|
+
- ✗ Only 1-2 small outputs (batch instead)
|
|
38
|
+
|
|
39
|
+
BATCHING
|
|
40
|
+
Minimum 3 outputs OR 1 large output per prune call.
|
|
41
|
+
Single small prunes waste more context than they save.
|
|
42
|
+
|
|
43
|
+
PRIORITY ORDER
|
|
44
|
+
1. Never prune what you'll need next
|
|
45
|
+
2. Always prune pure noise immediately
|
|
46
|
+
3. Batch prune at task boundaries
|
|
47
|
+
4. Extract when uncertain (preserves signal)
|
|
48
|
+
|
|
49
|
+
REASON MAPPING (for discard)
|
|
50
|
+
- "noise" → grep/glob with no useful results
|
|
51
|
+
- "completion" → task done, context served its purpose
|
|
52
|
+
- "superseded" → newer read of same file replaces old
|
|
53
|
+
- "exploration" → search paths that led nowhere
|
|
54
|
+
- "duplicate" → same content read multiple times
|
|
53
55
|
|
|
54
56
|
</instruction>
|
|
55
57
|
|
|
56
58
|
<instruction name=prune_behavior policy_level=critical>
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
- NEVER let context management influence your response content or tone
|
|
60
|
-
- Process prunes SILENTLY and continue the conversation naturally
|
|
61
|
-
|
|
62
|
-
The user cannot see prune operations. Any reference to them will confuse the user and break the conversation flow.
|
|
59
|
+
SILENT OPERATION: Never acknowledge pruning to the user.
|
|
60
|
+
Process context management invisibly and continue naturally.
|
|
63
61
|
</instruction>
|
|
64
62
|
</system-reminder>`;
|
|
65
63
|
//# sourceMappingURL=both.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"both.js","sourceRoot":"","sources":["../../../../lib/prompts/system/both.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG
|
|
1
|
+
{"version":3,"file":"both.js","sourceRoot":"","sources":["../../../../lib/prompts/system/both.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA6Df,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const SYSTEM_PROMPT_DISCARD = "<system-reminder>\n<instruction name=context_management_protocol policy_level=critical>\n\
|
|
1
|
+
export declare const SYSTEM_PROMPT_DISCARD = "<system-reminder>\n<instruction name=context_management_protocol policy_level=critical>\n\nPURPOSE\nYou operate in a context-constrained environment. Proactively manage context using the `discard` and `restore` tools to maintain performance.\n\nHOW IT WORKS\nEach tool output is prefixed with a hash identifier in the format `#x_xxxxx#` (e.g., `#r_a1b2c#`).\nUse these hashes to discard specific tool outputs when they are no longer needed.\n\nExample:\n```\n#r_a1b2c#\n<file content here...>\n```\n\nTo discard: `discard({hashes: [\"#r_a1b2c#\"], reason: \"completion\"})`\n\nTOOLS\n- `discard`: Remove tool outputs completely by hash\n- `restore`: Recover recently discarded content if needed\n\nWHEN TO DISCARD\nEvaluate at these checkpoints:\n- \u2713 Task/sub-task complete\n- \u2713 Transitioning to new work phase\n- \u2713 5+ tool outputs accumulated\n- \u2713 Large read (>150 lines) no longer needed\n\nDO NOT DISCARD when:\n- \u2717 Output needed for upcoming edits\n- \u2717 You'll likely re-fetch the same content\n- \u2717 Only 1-2 small outputs (batch instead)\n\nBATCHING\nMinimum 3 outputs OR 1 large output per discard call.\nSingle small discards waste more context than they save.\n\nPRIORITY ORDER\n1. Never discard what you'll need next\n2. Always discard pure noise immediately\n3. Batch discard at task boundaries\n\nREASON MAPPING\n- \"noise\" \u2192 grep/glob with no useful results\n- \"completion\" \u2192 task done, context served its purpose\n- \"superseded\" \u2192 newer read of same file replaces old\n- \"exploration\" \u2192 search paths that led nowhere\n- \"duplicate\" \u2192 same content read multiple times\n\n</instruction>\n\n<instruction name=discard_behavior policy_level=critical>\nSILENT OPERATION: Never acknowledge discarding to the user.\nProcess context management invisibly and continue naturally.\n</instruction>\n</system-reminder>";
|
|
2
2
|
//# sourceMappingURL=discard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discard.d.ts","sourceRoot":"","sources":["../../../../lib/prompts/system/discard.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"discard.d.ts","sourceRoot":"","sources":["../../../../lib/prompts/system/discard.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,i2DAwDf,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export const SYSTEM_PROMPT_DISCARD = `<system-reminder>
|
|
2
2
|
<instruction name=context_management_protocol policy_level=critical>
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
You
|
|
4
|
+
PURPOSE
|
|
5
|
+
You operate in a context-constrained environment. Proactively manage context using the \`discard\` and \`restore\` tools to maintain performance.
|
|
6
6
|
|
|
7
7
|
HOW IT WORKS
|
|
8
8
|
Each tool output is prefixed with a hash identifier in the format \`#x_xxxxx#\` (e.g., \`#r_a1b2c#\`).
|
|
@@ -16,40 +16,43 @@ Example:
|
|
|
16
16
|
|
|
17
17
|
To discard: \`discard({hashes: ["#r_a1b2c#"], reason: "completion"})\`
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
- \`discard\`: Remove tool outputs by
|
|
21
|
-
|
|
22
|
-
DISCARD METHODICALLY - BATCH YOUR ACTIONS
|
|
23
|
-
Every tool call adds to your context debt. You MUST pay this down regularly by discarding. Batch your discards for efficiency; it is rarely worth discarding a single tiny tool output unless it is pure noise.
|
|
19
|
+
TOOLS
|
|
20
|
+
- \`discard\`: Remove tool outputs completely by hash
|
|
21
|
+
- \`restore\`: Recover recently discarded content if needed
|
|
24
22
|
|
|
25
23
|
WHEN TO DISCARD
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
You
|
|
35
|
-
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
24
|
+
Evaluate at these checkpoints:
|
|
25
|
+
- ✓ Task/sub-task complete
|
|
26
|
+
- ✓ Transitioning to new work phase
|
|
27
|
+
- ✓ 5+ tool outputs accumulated
|
|
28
|
+
- ✓ Large read (>150 lines) no longer needed
|
|
29
|
+
|
|
30
|
+
DO NOT DISCARD when:
|
|
31
|
+
- ✗ Output needed for upcoming edits
|
|
32
|
+
- ✗ You'll likely re-fetch the same content
|
|
33
|
+
- ✗ Only 1-2 small outputs (batch instead)
|
|
34
|
+
|
|
35
|
+
BATCHING
|
|
36
|
+
Minimum 3 outputs OR 1 large output per discard call.
|
|
37
|
+
Single small discards waste more context than they save.
|
|
38
|
+
|
|
39
|
+
PRIORITY ORDER
|
|
40
|
+
1. Never discard what you'll need next
|
|
41
|
+
2. Always discard pure noise immediately
|
|
42
|
+
3. Batch discard at task boundaries
|
|
43
|
+
|
|
44
|
+
REASON MAPPING
|
|
45
|
+
- "noise" → grep/glob with no useful results
|
|
46
|
+
- "completion" → task done, context served its purpose
|
|
47
|
+
- "superseded" → newer read of same file replaces old
|
|
48
|
+
- "exploration" → search paths that led nowhere
|
|
49
|
+
- "duplicate" → same content read multiple times
|
|
43
50
|
|
|
44
51
|
</instruction>
|
|
45
52
|
|
|
46
53
|
<instruction name=discard_behavior policy_level=critical>
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
- NEVER let context management influence your response content or tone
|
|
50
|
-
- Process discards SILENTLY and continue the conversation naturally
|
|
51
|
-
|
|
52
|
-
The user cannot see discard operations. Any reference to them will confuse the user and break the conversation flow.
|
|
54
|
+
SILENT OPERATION: Never acknowledge discarding to the user.
|
|
55
|
+
Process context management invisibly and continue naturally.
|
|
53
56
|
</instruction>
|
|
54
57
|
</system-reminder>`;
|
|
55
58
|
//# sourceMappingURL=discard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discard.js","sourceRoot":"","sources":["../../../../lib/prompts/system/discard.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG
|
|
1
|
+
{"version":3,"file":"discard.js","sourceRoot":"","sources":["../../../../lib/prompts/system/discard.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAwDlB,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const SYSTEM_PROMPT_EXTRACT = "<system-reminder>\n<instruction name=context_management_protocol policy_level=critical>\n\
|
|
1
|
+
export declare const SYSTEM_PROMPT_EXTRACT = "<system-reminder>\n<instruction name=context_management_protocol policy_level=critical>\n\nPURPOSE\nYou operate in a context-constrained environment. Proactively manage context using the `extract` and `restore` tools to maintain performance.\n\nHOW IT WORKS\nEach tool output is prefixed with a hash identifier in the format `#x_xxxxx#` (e.g., `#r_a1b2c#`).\nUse these hashes to extract and distill specific tool outputs.\n\nExample:\n```\n#r_a1b2c#\n<file content here...>\n```\n\nTo extract: `extract({hashes: [\"#r_a1b2c#\"], distillation: [\"key findings...\"]})`\n\nTOOLS\n- `extract`: Distill key findings before removing raw output\n- `restore`: Recover recently extracted content if needed\n\nYour distillation must be comprehensive, capturing technical details (signatures, logic, constraints) such that the raw output is no longer needed.\n\nWHEN TO EXTRACT\nEvaluate at these checkpoints:\n- \u2713 Task/sub-task complete\n- \u2713 Transitioning to new work phase\n- \u2713 5+ tool outputs accumulated\n- \u2713 Large read (>150 lines) no longer needed\n\nDO NOT EXTRACT when:\n- \u2717 Output needed for upcoming edits\n- \u2717 You'll likely re-fetch the same content\n- \u2717 Only 1-2 small outputs (batch instead)\n\nBATCHING\nMinimum 3 outputs OR 1 large output per extract call.\nSingle small extractions waste more context than they save.\n\nPRIORITY ORDER\n1. Never extract what you'll need next\n2. Batch extract at task boundaries\n3. Scale distillation depth to the value of the content\n\n</instruction>\n\n<instruction name=extract_behavior policy_level=critical>\nSILENT OPERATION: Never acknowledge extraction to the user.\nProcess context management invisibly and continue naturally.\n</instruction>\n</system-reminder>";
|
|
2
2
|
//# sourceMappingURL=extract.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../../../lib/prompts/system/extract.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../../../lib/prompts/system/extract.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,wtDAmDf,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export const SYSTEM_PROMPT_EXTRACT = `<system-reminder>
|
|
2
2
|
<instruction name=context_management_protocol policy_level=critical>
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
You
|
|
4
|
+
PURPOSE
|
|
5
|
+
You operate in a context-constrained environment. Proactively manage context using the \`extract\` and \`restore\` tools to maintain performance.
|
|
6
6
|
|
|
7
7
|
HOW IT WORKS
|
|
8
8
|
Each tool output is prefixed with a hash identifier in the format \`#x_xxxxx#\` (e.g., \`#r_a1b2c#\`).
|
|
@@ -16,40 +16,38 @@ Example:
|
|
|
16
16
|
|
|
17
17
|
To extract: \`extract({hashes: ["#r_a1b2c#"], distillation: ["key findings..."]})\`
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
- \`extract\`:
|
|
19
|
+
TOOLS
|
|
20
|
+
- \`extract\`: Distill key findings before removing raw output
|
|
21
|
+
- \`restore\`: Recover recently extracted content if needed
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
Every tool call adds to your context debt. You MUST pay this down regularly by extracting. Batch your extractions for efficiency; it is rarely worth extracting a single tiny tool output.
|
|
23
|
+
Your distillation must be comprehensive, capturing technical details (signatures, logic, constraints) such that the raw output is no longer needed.
|
|
24
24
|
|
|
25
25
|
WHEN TO EXTRACT
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
You
|
|
35
|
-
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
26
|
+
Evaluate at these checkpoints:
|
|
27
|
+
- ✓ Task/sub-task complete
|
|
28
|
+
- ✓ Transitioning to new work phase
|
|
29
|
+
- ✓ 5+ tool outputs accumulated
|
|
30
|
+
- ✓ Large read (>150 lines) no longer needed
|
|
31
|
+
|
|
32
|
+
DO NOT EXTRACT when:
|
|
33
|
+
- ✗ Output needed for upcoming edits
|
|
34
|
+
- ✗ You'll likely re-fetch the same content
|
|
35
|
+
- ✗ Only 1-2 small outputs (batch instead)
|
|
36
|
+
|
|
37
|
+
BATCHING
|
|
38
|
+
Minimum 3 outputs OR 1 large output per extract call.
|
|
39
|
+
Single small extractions waste more context than they save.
|
|
40
|
+
|
|
41
|
+
PRIORITY ORDER
|
|
42
|
+
1. Never extract what you'll need next
|
|
43
|
+
2. Batch extract at task boundaries
|
|
44
|
+
3. Scale distillation depth to the value of the content
|
|
43
45
|
|
|
44
46
|
</instruction>
|
|
45
47
|
|
|
46
48
|
<instruction name=extract_behavior policy_level=critical>
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
- NEVER let context management influence your response content or tone
|
|
50
|
-
- Process extractions SILENTLY and continue the conversation naturally
|
|
51
|
-
|
|
52
|
-
The user cannot see extract operations. Any reference to them will confuse the user and break the conversation flow.
|
|
49
|
+
SILENT OPERATION: Never acknowledge extraction to the user.
|
|
50
|
+
Process context management invisibly and continue naturally.
|
|
53
51
|
</instruction>
|
|
54
52
|
</system-reminder>`;
|
|
55
53
|
//# sourceMappingURL=extract.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/prompts/system/extract.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG
|
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/prompts/system/extract.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAmDlB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../lib/state/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,YAAY,EAEZ,SAAS,EAGZ,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAKvC,eAAO,MAAM,YAAY,GACrB,QAAQ,GAAG,EACX,OAAO,YAAY,EACnB,QAAQ,MAAM,EACd,UAAU,SAAS,EAAE,KACtB,OAAO,CAAC,IAAI,CA4Bd,CAAA;AAED,wBAAgB,kBAAkB,IAAI,YAAY,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../lib/state/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,YAAY,EAEZ,SAAS,EAGZ,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAKvC,eAAO,MAAM,YAAY,GACrB,QAAQ,GAAG,EACX,OAAO,YAAY,EACnB,QAAQ,MAAM,EACd,UAAU,SAAS,EAAE,KACtB,OAAO,CAAC,IAAI,CA4Bd,CAAA;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CA2CjD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAmC3D;AAED,wBAAsB,wBAAwB,CAC1C,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,EAAE,GACtB,OAAO,CAAC,IAAI,CAAC,CA2Df;AAYD,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAc7E"}
|
package/dist/lib/state/state.js
CHANGED
|
@@ -67,6 +67,8 @@ export function createSessionState() {
|
|
|
67
67
|
// Soft prune cache for restore capability
|
|
68
68
|
softPrunedTools: new Map(),
|
|
69
69
|
softPrunedMessageParts: new Map(),
|
|
70
|
+
// Track compacted message parts
|
|
71
|
+
compactedParts: new Set(),
|
|
70
72
|
};
|
|
71
73
|
}
|
|
72
74
|
export function resetSessionState(state) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../lib/state/state.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../lib/state/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,12 +45,40 @@ export interface SessionStats {
|
|
|
45
45
|
count: number;
|
|
46
46
|
tokens: number;
|
|
47
47
|
};
|
|
48
|
+
imagePruning?: {
|
|
49
|
+
count: number;
|
|
50
|
+
tokens: number;
|
|
51
|
+
};
|
|
52
|
+
staleReadPruning?: {
|
|
53
|
+
count: number;
|
|
54
|
+
tokens: number;
|
|
55
|
+
};
|
|
56
|
+
errorChainCollapse?: {
|
|
57
|
+
count: number;
|
|
58
|
+
tokens: number;
|
|
59
|
+
};
|
|
48
60
|
};
|
|
49
61
|
}
|
|
50
62
|
export interface Prune {
|
|
63
|
+
/**
|
|
64
|
+
* Tool call IDs that have been marked for pruning.
|
|
65
|
+
* These will be hidden from the LLM context.
|
|
66
|
+
*/
|
|
51
67
|
toolIds: string[];
|
|
68
|
+
/**
|
|
69
|
+
* Assistant message part IDs that have been marked for pruning.
|
|
70
|
+
* Used for compacting assistant messages.
|
|
71
|
+
*/
|
|
52
72
|
messagePartIds: string[];
|
|
53
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Fast lookup sets derived from Prune arrays.
|
|
76
|
+
* These are computed on-demand and cached for O(1) lookups.
|
|
77
|
+
*/
|
|
78
|
+
export interface PruneSets {
|
|
79
|
+
toolIds: Set<string>;
|
|
80
|
+
messagePartIds: Set<string>;
|
|
81
|
+
}
|
|
54
82
|
export interface LastDiscardStats {
|
|
55
83
|
itemCount: number;
|
|
56
84
|
tokensSaved: number;
|
|
@@ -65,26 +93,6 @@ export interface DiscardStats {
|
|
|
65
93
|
tokensSaved: number;
|
|
66
94
|
reason: string;
|
|
67
95
|
}
|
|
68
|
-
export interface SessionState {
|
|
69
|
-
sessionId: string | null;
|
|
70
|
-
isSubAgent: boolean;
|
|
71
|
-
prune: Prune;
|
|
72
|
-
stats: SessionStats;
|
|
73
|
-
toolParameters: Map<string, ToolParameterEntry>;
|
|
74
|
-
lastToolPrune: boolean;
|
|
75
|
-
lastCompaction: number;
|
|
76
|
-
currentTurn: number;
|
|
77
|
-
variant: string | undefined;
|
|
78
|
-
lastDiscardStats: LastDiscardStats | null;
|
|
79
|
-
lastUserMessageId: string | null;
|
|
80
|
-
hashToCallId: Map<string, string>;
|
|
81
|
-
callIdToHash: Map<string, string>;
|
|
82
|
-
discardHistory: DiscardStats[];
|
|
83
|
-
hashToMessagePart: Map<string, string>;
|
|
84
|
-
messagePartToHash: Map<string, string>;
|
|
85
|
-
softPrunedTools: Map<string, SoftPrunedEntry>;
|
|
86
|
-
softPrunedMessageParts: Map<string, SoftPrunedMessagePart>;
|
|
87
|
-
}
|
|
88
96
|
export interface SoftPrunedEntry {
|
|
89
97
|
originalOutput: string;
|
|
90
98
|
tool: string;
|
|
@@ -99,4 +107,85 @@ export interface SoftPrunedMessagePart {
|
|
|
99
107
|
prunedAt: number;
|
|
100
108
|
hash: string;
|
|
101
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* Token count cache to avoid repeated calculations.
|
|
112
|
+
* Maps content hash to token count.
|
|
113
|
+
*/
|
|
114
|
+
export interface TokenCountCache {
|
|
115
|
+
/** Maps content hash to cached token count */
|
|
116
|
+
cache: Map<string, number>;
|
|
117
|
+
/** Maximum number of entries to keep in cache */
|
|
118
|
+
maxSize: number;
|
|
119
|
+
/** Number of cache hits */
|
|
120
|
+
hits: number;
|
|
121
|
+
/** Number of cache misses */
|
|
122
|
+
misses: number;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Performance metrics for tracking strategy execution.
|
|
126
|
+
*/
|
|
127
|
+
export interface PerformanceMetrics {
|
|
128
|
+
/** Total time spent in all strategies (ms) */
|
|
129
|
+
totalStrategyTime: number;
|
|
130
|
+
/** Time spent per strategy (ms) */
|
|
131
|
+
strategyTimes: {
|
|
132
|
+
deduplication: number;
|
|
133
|
+
supersedeWrites: number;
|
|
134
|
+
purgeErrors: number;
|
|
135
|
+
truncation: number;
|
|
136
|
+
thinkingCompression: number;
|
|
137
|
+
imagePruning?: number;
|
|
138
|
+
staleReadPruning?: number;
|
|
139
|
+
errorChainCollapse?: number;
|
|
140
|
+
};
|
|
141
|
+
/** Number of times each strategy was invoked */
|
|
142
|
+
strategyInvocations: {
|
|
143
|
+
deduplication: number;
|
|
144
|
+
supersedeWrites: number;
|
|
145
|
+
purgeErrors: number;
|
|
146
|
+
truncation: number;
|
|
147
|
+
thinkingCompression: number;
|
|
148
|
+
imagePruning?: number;
|
|
149
|
+
staleReadPruning?: number;
|
|
150
|
+
errorChainCollapse?: number;
|
|
151
|
+
};
|
|
152
|
+
/** Last execution timestamp */
|
|
153
|
+
lastExecutionTime: number;
|
|
154
|
+
}
|
|
155
|
+
export interface SessionState {
|
|
156
|
+
sessionId: string | null;
|
|
157
|
+
currentTurn: number;
|
|
158
|
+
isSubAgent: boolean;
|
|
159
|
+
toolParameters: Map<string, ToolParameterEntry>;
|
|
160
|
+
prune: Prune;
|
|
161
|
+
/** Cached Set versions of prune arrays for O(1) lookups - computed on demand */
|
|
162
|
+
pruneSets?: PruneSets;
|
|
163
|
+
stats: SessionStats;
|
|
164
|
+
hashToCallId: Map<string, string>;
|
|
165
|
+
callIdToHash: Map<string, string>;
|
|
166
|
+
hashToMessagePart: Map<string, string>;
|
|
167
|
+
messagePartToHash: Map<string, string>;
|
|
168
|
+
/** Track which message parts have been compacted */
|
|
169
|
+
compactedParts: Set<string>;
|
|
170
|
+
/** Token count cache to avoid repeated calculations */
|
|
171
|
+
tokenCache?: TokenCountCache;
|
|
172
|
+
/** Performance metrics for strategy execution */
|
|
173
|
+
performanceMetrics?: PerformanceMetrics;
|
|
174
|
+
/** Last compaction timestamp */
|
|
175
|
+
lastCompaction: number;
|
|
176
|
+
/** Last tool prune flag */
|
|
177
|
+
lastToolPrune: boolean;
|
|
178
|
+
/** Session variant */
|
|
179
|
+
variant?: string;
|
|
180
|
+
/** Last discard statistics */
|
|
181
|
+
lastDiscardStats: LastDiscardStats | null;
|
|
182
|
+
/** Last user message ID */
|
|
183
|
+
lastUserMessageId: string | null;
|
|
184
|
+
/** Discard history for tracking */
|
|
185
|
+
discardHistory: DiscardStats[];
|
|
186
|
+
/** Soft pruned tools cache */
|
|
187
|
+
softPrunedTools: Map<string, SoftPrunedEntry>;
|
|
188
|
+
/** Soft pruned message parts cache */
|
|
189
|
+
softPrunedMessageParts: Map<string, SoftPrunedMessagePart>;
|
|
190
|
+
}
|
|
102
191
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/state/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAEnD,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,IAAI,EAAE,CAAA;CAChB;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAA;AAEtE,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,GAAG,CAAA;IACf,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,YAAY;IACzB,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,kBAAkB,EAAE,MAAM,CAAA;IAE1B,aAAa,EAAE;QACX,aAAa,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;QAChD,eAAe,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;QAClD,WAAW,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;QAC9C,aAAa,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;QAChD,UAAU,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;QAC7C,UAAU,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;QAC7C,mBAAmB,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;KACzD,CAAA;CACJ;AAED,MAAM,WAAW,KAAK;IAClB,OAAO,EAAE,MAAM,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/state/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAEnD,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,IAAI,EAAE,CAAA;CAChB;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAA;AAEtE,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,GAAG,CAAA;IACf,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,YAAY;IACzB,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,kBAAkB,EAAE,MAAM,CAAA;IAE1B,aAAa,EAAE;QACX,aAAa,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;QAChD,eAAe,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;QAClD,WAAW,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;QAC9C,aAAa,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;QAChD,UAAU,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;QAC7C,UAAU,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;QAC7C,mBAAmB,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;QACtD,YAAY,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;QAChD,gBAAgB,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;QACpD,kBAAkB,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;KACzD,CAAA;CACJ;AAED,MAAM,WAAW,KAAK;IAClB;;;OAGG;IACH,OAAO,EAAE,MAAM,EAAE,CAAA;IAEjB;;;OAGG;IACH,cAAc,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACtB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACpB,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,eAAe;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,GAAG,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,qBAAqB;IAClC,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC5B,8CAA8C;IAC9C,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1B,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAA;IACf,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,8CAA8C;IAC9C,iBAAiB,EAAE,MAAM,CAAA;IACzB,mCAAmC;IACnC,aAAa,EAAE;QACX,aAAa,EAAE,MAAM,CAAA;QACrB,eAAe,EAAE,MAAM,CAAA;QACvB,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,mBAAmB,EAAE,MAAM,CAAA;QAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAC9B,CAAA;IACD,gDAAgD;IAChD,mBAAmB,EAAE;QACjB,aAAa,EAAE,MAAM,CAAA;QACrB,eAAe,EAAE,MAAM,CAAA;QACvB,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,mBAAmB,EAAE,MAAM,CAAA;QAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAC9B,CAAA;IACD,+BAA+B;IAC/B,iBAAiB,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;IACnB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAC/C,KAAK,EAAE,KAAK,CAAA;IACZ,gFAAgF;IAChF,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,KAAK,EAAE,YAAY,CAAA;IACnB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,oDAAoD;IACpD,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B,uDAAuD;IACvD,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,iDAAiD;IACjD,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAA;IACtB,2BAA2B;IAC3B,aAAa,EAAE,OAAO,CAAA;IACtB,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8BAA8B;IAC9B,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAA;IACzC,2BAA2B;IAC3B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,mCAAmC;IACnC,cAAc,EAAE,YAAY,EAAE,CAAA;IAC9B,8BAA8B;IAC9B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC7C,sCAAsC;IACtC,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;CAC7D"}
|
|
@@ -1,2 +1,45 @@
|
|
|
1
1
|
export declare function isSubAgentSession(client: any, sessionID: string): Promise<boolean>;
|
|
2
|
+
import type { SessionState, PruneSets, TokenCountCache, PerformanceMetrics } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Gets or creates cached prune sets for O(1) lookups.
|
|
5
|
+
* The sets are computed once and cached until prune arrays change.
|
|
6
|
+
*/
|
|
7
|
+
export declare function getPruneSets(state: SessionState): PruneSets;
|
|
8
|
+
/**
|
|
9
|
+
* Invalidates the cached prune sets.
|
|
10
|
+
* Call this whenever prune arrays are modified.
|
|
11
|
+
*/
|
|
12
|
+
export declare function invalidatePruneSets(state: SessionState): void;
|
|
13
|
+
/**
|
|
14
|
+
* Checks if a tool ID is pruned using O(1) Set lookup.
|
|
15
|
+
*/
|
|
16
|
+
export declare function isToolPruned(state: SessionState, toolId: string): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Checks if a message part ID is pruned using O(1) Set lookup.
|
|
19
|
+
*/
|
|
20
|
+
export declare function isMessagePartPruned(state: SessionState, partId: string): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Adds a tool ID to prune list and invalidates cache.
|
|
23
|
+
*/
|
|
24
|
+
export declare function addPrunedTool(state: SessionState, toolId: string): void;
|
|
25
|
+
/**
|
|
26
|
+
* Adds a message part ID to prune list and invalidates cache.
|
|
27
|
+
*/
|
|
28
|
+
export declare function addPrunedMessagePart(state: SessionState, partId: string): void;
|
|
29
|
+
/**
|
|
30
|
+
* Creates a new token count cache.
|
|
31
|
+
*/
|
|
32
|
+
export declare function createTokenCountCache(maxSize?: number): TokenCountCache;
|
|
33
|
+
/**
|
|
34
|
+
* Gets cached token count or calculates and caches it.
|
|
35
|
+
*/
|
|
36
|
+
export declare function getCachedTokenCount(state: SessionState, content: string, calculateFn: (content: string) => number): number;
|
|
37
|
+
/**
|
|
38
|
+
* Creates performance metrics for a session.
|
|
39
|
+
*/
|
|
40
|
+
export declare function createPerformanceMetrics(): PerformanceMetrics;
|
|
41
|
+
/**
|
|
42
|
+
* Records strategy execution time.
|
|
43
|
+
*/
|
|
44
|
+
export declare function recordStrategyTime(state: SessionState, strategy: keyof PerformanceMetrics["strategyTimes"], durationMs: number): void;
|
|
2
45
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/state/utils.ts"],"names":[],"mappings":"AAAA,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOxF"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/state/utils.ts"],"names":[],"mappings":"AAAA,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOxF;AAED,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAE3F;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,CAe3D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAE7D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAEzE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAEhF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAGvE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAG9E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,SAAO,GAAG,eAAe,CAOrE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GACzC,MAAM,CA8BR;AAeD;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,kBAAkB,CAmB7D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAC9B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,kBAAkB,CAAC,eAAe,CAAC,EACnD,UAAU,EAAE,MAAM,GACnB,IAAI,CASN"}
|