@vybestack/llxprt-code-agents 0.10.0-nightly.260613.1adad3b34
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/.last_build +0 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/src/agents/executor-prompt-builder.d.ts +19 -0
- package/dist/src/agents/executor-prompt-builder.js +44 -0
- package/dist/src/agents/executor-prompt-builder.js.map +1 -0
- package/dist/src/agents/executor-termination.d.ts +22 -0
- package/dist/src/agents/executor-termination.js +44 -0
- package/dist/src/agents/executor-termination.js.map +1 -0
- package/dist/src/agents/executor-validation.d.ts +17 -0
- package/dist/src/agents/executor-validation.js +35 -0
- package/dist/src/agents/executor-validation.js.map +1 -0
- package/dist/src/agents/executor.d.ts +136 -0
- package/dist/src/agents/executor.js +874 -0
- package/dist/src/agents/executor.js.map +1 -0
- package/dist/src/agents/invocation.d.ts +45 -0
- package/dist/src/agents/invocation.js +118 -0
- package/dist/src/agents/invocation.js.map +1 -0
- package/dist/src/agents/recovery.d.ts +75 -0
- package/dist/src/agents/recovery.js +107 -0
- package/dist/src/agents/recovery.js.map +1 -0
- package/dist/src/agents/types.d.ts +149 -0
- package/dist/src/agents/types.js +18 -0
- package/dist/src/agents/types.js.map +1 -0
- package/dist/src/agents/utils.d.ts +15 -0
- package/dist/src/agents/utils.js +28 -0
- package/dist/src/agents/utils.js.map +1 -0
- package/dist/src/compression/CompressionHandler.d.ts +178 -0
- package/dist/src/compression/CompressionHandler.js +630 -0
- package/dist/src/compression/CompressionHandler.js.map +1 -0
- package/dist/src/compression/HighDensityStrategy.d.ts +113 -0
- package/dist/src/compression/HighDensityStrategy.js +769 -0
- package/dist/src/compression/HighDensityStrategy.js.map +1 -0
- package/dist/src/compression/MiddleOutStrategy.d.ts +27 -0
- package/dist/src/compression/MiddleOutStrategy.js +347 -0
- package/dist/src/compression/MiddleOutStrategy.js.map +1 -0
- package/dist/src/compression/OneShotStrategy.d.ts +22 -0
- package/dist/src/compression/OneShotStrategy.js +235 -0
- package/dist/src/compression/OneShotStrategy.js.map +1 -0
- package/dist/src/compression/TopDownTruncationStrategy.d.ts +13 -0
- package/dist/src/compression/TopDownTruncationStrategy.js +74 -0
- package/dist/src/compression/TopDownTruncationStrategy.js.map +1 -0
- package/dist/src/compression/compressionBudgeting.d.ts +34 -0
- package/dist/src/compression/compressionBudgeting.js +139 -0
- package/dist/src/compression/compressionBudgeting.js.map +1 -0
- package/dist/src/compression/compressionStrategyFactory.d.ts +23 -0
- package/dist/src/compression/compressionStrategyFactory.js +40 -0
- package/dist/src/compression/compressionStrategyFactory.js.map +1 -0
- package/dist/src/compression/index.d.ts +16 -0
- package/dist/src/compression/index.js +17 -0
- package/dist/src/compression/index.js.map +1 -0
- package/dist/src/compression/reasoningUtils.d.ts +18 -0
- package/dist/src/compression/reasoningUtils.js +22 -0
- package/dist/src/compression/reasoningUtils.js.map +1 -0
- package/dist/src/compression/utils.d.ts +114 -0
- package/dist/src/compression/utils.js +316 -0
- package/dist/src/compression/utils.js.map +1 -0
- package/dist/src/core/AgentHookManager.d.ts +41 -0
- package/dist/src/core/AgentHookManager.js +65 -0
- package/dist/src/core/AgentHookManager.js.map +1 -0
- package/dist/src/core/ChatSessionFactory.d.ts +50 -0
- package/dist/src/core/ChatSessionFactory.js +216 -0
- package/dist/src/core/ChatSessionFactory.js.map +1 -0
- package/dist/src/core/ConversationManager.d.ts +113 -0
- package/dist/src/core/ConversationManager.js +311 -0
- package/dist/src/core/ConversationManager.js.map +1 -0
- package/dist/src/core/DirectMessageProcessor.d.ts +79 -0
- package/dist/src/core/DirectMessageProcessor.js +478 -0
- package/dist/src/core/DirectMessageProcessor.js.map +1 -0
- package/dist/src/core/IdeContextTracker.d.ts +56 -0
- package/dist/src/core/IdeContextTracker.js +207 -0
- package/dist/src/core/IdeContextTracker.js.map +1 -0
- package/dist/src/core/MessageConverter.d.ts +78 -0
- package/dist/src/core/MessageConverter.js +492 -0
- package/dist/src/core/MessageConverter.js.map +1 -0
- package/dist/src/core/MessageStreamOrchestrator.d.ts +85 -0
- package/dist/src/core/MessageStreamOrchestrator.js +448 -0
- package/dist/src/core/MessageStreamOrchestrator.js.map +1 -0
- package/dist/src/core/MessageStreamTerminalHandler.d.ts +16 -0
- package/dist/src/core/MessageStreamTerminalHandler.js +170 -0
- package/dist/src/core/MessageStreamTerminalHandler.js.map +1 -0
- package/dist/src/core/StreamProcessor.d.ts +105 -0
- package/dist/src/core/StreamProcessor.js +660 -0
- package/dist/src/core/StreamProcessor.js.map +1 -0
- package/dist/src/core/TodoContinuationService.d.ts +74 -0
- package/dist/src/core/TodoContinuationService.js +312 -0
- package/dist/src/core/TodoContinuationService.js.map +1 -0
- package/dist/src/core/TurnProcessor.d.ts +91 -0
- package/dist/src/core/TurnProcessor.js +540 -0
- package/dist/src/core/TurnProcessor.js.map +1 -0
- package/dist/src/core/baseLlmClient.d.ts +115 -0
- package/dist/src/core/baseLlmClient.js +231 -0
- package/dist/src/core/baseLlmClient.js.map +1 -0
- package/dist/src/core/bucketFailoverIntegration.d.ts +62 -0
- package/dist/src/core/bucketFailoverIntegration.js +186 -0
- package/dist/src/core/bucketFailoverIntegration.js.map +1 -0
- package/dist/src/core/chatSession.d.ts +121 -0
- package/dist/src/core/chatSession.js +720 -0
- package/dist/src/core/chatSession.js.map +1 -0
- package/dist/src/core/client.d.ts +132 -0
- package/dist/src/core/client.js +524 -0
- package/dist/src/core/client.js.map +1 -0
- package/dist/src/core/clientHelpers.d.ts +15 -0
- package/dist/src/core/clientHelpers.js +122 -0
- package/dist/src/core/clientHelpers.js.map +1 -0
- package/dist/src/core/clientLlmUtilities.d.ts +30 -0
- package/dist/src/core/clientLlmUtilities.js +125 -0
- package/dist/src/core/clientLlmUtilities.js.map +1 -0
- package/dist/src/core/clientToolGovernance.d.ts +37 -0
- package/dist/src/core/clientToolGovernance.js +104 -0
- package/dist/src/core/clientToolGovernance.js.map +1 -0
- package/dist/src/core/compression-config.d.ts +12 -0
- package/dist/src/core/compression-config.js +21 -0
- package/dist/src/core/compression-config.js.map +1 -0
- package/dist/src/core/coreToolScheduler.d.ts +105 -0
- package/dist/src/core/coreToolScheduler.js +453 -0
- package/dist/src/core/coreToolScheduler.js.map +1 -0
- package/dist/src/core/hookToolRestrictions.d.ts +18 -0
- package/dist/src/core/hookToolRestrictions.js +187 -0
- package/dist/src/core/hookToolRestrictions.js.map +1 -0
- package/dist/src/core/nonInteractiveToolExecutor.d.ts +17 -0
- package/dist/src/core/nonInteractiveToolExecutor.js +102 -0
- package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -0
- package/dist/src/core/subagent.d.ts +105 -0
- package/dist/src/core/subagent.js +650 -0
- package/dist/src/core/subagent.js.map +1 -0
- package/dist/src/core/subagentExecution.d.ts +104 -0
- package/dist/src/core/subagentExecution.js +275 -0
- package/dist/src/core/subagentExecution.js.map +1 -0
- package/dist/src/core/subagentOrchestrator.d.ts +84 -0
- package/dist/src/core/subagentOrchestrator.js +503 -0
- package/dist/src/core/subagentOrchestrator.js.map +1 -0
- package/dist/src/core/subagentRuntimeSetup.d.ts +75 -0
- package/dist/src/core/subagentRuntimeSetup.js +387 -0
- package/dist/src/core/subagentRuntimeSetup.js.map +1 -0
- package/dist/src/core/subagentScheduler.d.ts +17 -0
- package/dist/src/core/subagentScheduler.js +7 -0
- package/dist/src/core/subagentScheduler.js.map +1 -0
- package/dist/src/core/subagentToolProcessing.d.ts +51 -0
- package/dist/src/core/subagentToolProcessing.js +359 -0
- package/dist/src/core/subagentToolProcessing.js.map +1 -0
- package/dist/src/core/toolGovernance.d.ts +18 -0
- package/dist/src/core/toolGovernance.js +50 -0
- package/dist/src/core/toolGovernance.js.map +1 -0
- package/dist/src/core/turn.d.ts +47 -0
- package/dist/src/core/turn.js +455 -0
- package/dist/src/core/turn.js.map +1 -0
- package/dist/src/core/turnLogging.d.ts +35 -0
- package/dist/src/core/turnLogging.js +80 -0
- package/dist/src/core/turnLogging.js.map +1 -0
- package/dist/src/index.d.ts +32 -0
- package/dist/src/index.js +44 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/scheduler/confirmation-coordinator.d.ts +139 -0
- package/dist/src/scheduler/confirmation-coordinator.js +443 -0
- package/dist/src/scheduler/confirmation-coordinator.js.map +1 -0
- package/dist/src/scheduler/result-aggregator.d.ts +127 -0
- package/dist/src/scheduler/result-aggregator.js +302 -0
- package/dist/src/scheduler/result-aggregator.js.map +1 -0
- package/dist/src/scheduler/status-transitions.d.ts +39 -0
- package/dist/src/scheduler/status-transitions.js +184 -0
- package/dist/src/scheduler/status-transitions.js.map +1 -0
- package/dist/src/scheduler/tool-dispatcher.d.ts +40 -0
- package/dist/src/scheduler/tool-dispatcher.js +120 -0
- package/dist/src/scheduler/tool-dispatcher.js.map +1 -0
- package/dist/src/scheduler/tool-executor.d.ts +44 -0
- package/dist/src/scheduler/tool-executor.js +117 -0
- package/dist/src/scheduler/tool-executor.js.map +1 -0
- package/dist/src/scheduler/utils.d.ts +11 -0
- package/dist/src/scheduler/utils.js +19 -0
- package/dist/src/scheduler/utils.js.map +1 -0
- package/dist/src/tools/task.d.ts +128 -0
- package/dist/src/tools/task.js +932 -0
- package/dist/src/tools/task.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HighDensityStrategy.js","sourceRoot":"","sources":["../../../src/compression/HighDensityStrategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Vybestack LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { CompressionContext, CompressionResult, CompressionStrategy, StrategyTrigger } from '@vybestack/llxprt-code-core/core/compression/types.js';
|
|
7
|
+
export declare class MiddleOutStrategy implements CompressionStrategy {
|
|
8
|
+
readonly name: "middle-out";
|
|
9
|
+
readonly requiresLLM = true;
|
|
10
|
+
/** @plan PLAN-20260211-HIGHDENSITY.P03 @requirement REQ-HD-001.3 */
|
|
11
|
+
readonly trigger: StrategyTrigger;
|
|
12
|
+
compress(context: CompressionContext): Promise<CompressionResult>;
|
|
13
|
+
private computeSplit;
|
|
14
|
+
private resolvePrompt;
|
|
15
|
+
private callProvider;
|
|
16
|
+
private preserveLastUserPrompt;
|
|
17
|
+
private findLastHumanMessageIndex;
|
|
18
|
+
private extractTextFromMessage;
|
|
19
|
+
private assembleHistory;
|
|
20
|
+
private noCompressionResult;
|
|
21
|
+
/**
|
|
22
|
+
* @plan PLAN-20260211-HIGHDENSITY.P23
|
|
23
|
+
* @requirement REQ-HD-011.3, REQ-HD-012.2
|
|
24
|
+
* @pseudocode prompts-todos.md lines 251-276
|
|
25
|
+
*/
|
|
26
|
+
private buildContextInjections;
|
|
27
|
+
}
|
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Vybestack LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @plan PLAN-20260211-COMPRESSION.P06
|
|
8
|
+
* @plan PLAN-20260211-HIGHDENSITY.P03
|
|
9
|
+
* @plan PLAN-20260211-HIGHDENSITY.P05
|
|
10
|
+
* @requirement REQ-CS-002.1, REQ-CS-002.2, REQ-CS-002.3, REQ-CS-002.4
|
|
11
|
+
* @requirement REQ-CS-002.5, REQ-CS-002.6, REQ-CS-002.7, REQ-CS-002.8
|
|
12
|
+
* @requirement REQ-HD-001.3
|
|
13
|
+
* @pseudocode strategy-interface.md lines 70-74
|
|
14
|
+
*
|
|
15
|
+
* Middle-out compression strategy: preserves the top and bottom of the
|
|
16
|
+
* conversation history and compresses the middle section via an LLM call.
|
|
17
|
+
*
|
|
18
|
+
* Extracted from the sandwich compression logic previously embedded in
|
|
19
|
+
* ChatSession (getCompressionSplit, directCompressionCall, applyCompression).
|
|
20
|
+
*/
|
|
21
|
+
import { readFileSync } from 'node:fs';
|
|
22
|
+
import { CompressionExecutionError, EmptySummaryError, PromptResolutionError, isTransientCompressionError, } from '@vybestack/llxprt-code-core/core/compression/types.js';
|
|
23
|
+
import { adjustForToolCallBoundary, aggregateTextFromBlocks, buildTriggerInstruction, COMPRESSION_SECURITY_PREAMBLE, runVerificationPass, sanitizeHistoryForCompression, mediaBlockToCompressionPlaceholder, } from './utils.js';
|
|
24
|
+
import { buildContinuationDirective } from '@vybestack/llxprt-code-core/core/compression/continuationDirective.js';
|
|
25
|
+
import { getCompressionPrompt } from '@vybestack/llxprt-code-core/core/prompts.js';
|
|
26
|
+
import { estimateTokens } from '@vybestack/llxprt-code-core/utils/toolOutputLimiter.js';
|
|
27
|
+
const MINIMUM_MIDDLE_MESSAGES = 4;
|
|
28
|
+
const LAST_PROMPT_TOKEN_THRESHOLD = 500;
|
|
29
|
+
const LAST_PROMPT_CONTEXT_MAX_LENGTH = 200;
|
|
30
|
+
// ---------------------------------------------------------------------------
|
|
31
|
+
// MiddleOutStrategy
|
|
32
|
+
// ---------------------------------------------------------------------------
|
|
33
|
+
function destructureProviderResult(result) {
|
|
34
|
+
return {
|
|
35
|
+
provider: result.provider,
|
|
36
|
+
resolvedRuntime: result.runtime,
|
|
37
|
+
resolvedConfig: result.config,
|
|
38
|
+
resolvedOptions: result.resolved,
|
|
39
|
+
invocation: result.invocation,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export class MiddleOutStrategy {
|
|
43
|
+
name = 'middle-out';
|
|
44
|
+
requiresLLM = true;
|
|
45
|
+
/** @plan PLAN-20260211-HIGHDENSITY.P03 @requirement REQ-HD-001.3 */
|
|
46
|
+
trigger = {
|
|
47
|
+
mode: 'threshold',
|
|
48
|
+
defaultThreshold: 0.85,
|
|
49
|
+
};
|
|
50
|
+
// eslint-disable-next-line max-lines-per-function -- Strategy orchestration remains linear for readability.
|
|
51
|
+
async compress(context) {
|
|
52
|
+
const { history } = context;
|
|
53
|
+
if (history.length === 0) {
|
|
54
|
+
return this.noCompressionResult(history);
|
|
55
|
+
}
|
|
56
|
+
// Compute sandwich split
|
|
57
|
+
let { toKeepTop, toCompress, toKeepBottom } = this.computeSplit(context);
|
|
58
|
+
if (toCompress.length < MINIMUM_MIDDLE_MESSAGES) {
|
|
59
|
+
return this.noCompressionResult(history);
|
|
60
|
+
}
|
|
61
|
+
// Preserve the last user prompt if it ended up in the middle section
|
|
62
|
+
const { toCompress: adjustedCompress, toKeepBottom: adjustedBottom, lastUserPromptContext, largeLastPromptInjection, } = this.preserveLastUserPrompt(toKeepTop, toCompress, toKeepBottom);
|
|
63
|
+
toCompress = adjustedCompress;
|
|
64
|
+
toKeepBottom = adjustedBottom;
|
|
65
|
+
if (toCompress.length < MINIMUM_MIDDLE_MESSAGES) {
|
|
66
|
+
return this.noCompressionResult(history);
|
|
67
|
+
}
|
|
68
|
+
// Resolve the compression prompt
|
|
69
|
+
const prompt = this.resolvePrompt(context);
|
|
70
|
+
// Resolve the provider (compression profile may be undefined)
|
|
71
|
+
const compressionProfile = context.runtimeContext.ephemerals.compressionProfile();
|
|
72
|
+
const { provider, resolvedRuntime, resolvedConfig, resolvedOptions, invocation, } = destructureProviderResult(await context.resolveProvider(compressionProfile));
|
|
73
|
+
// Build the LLM request — sanitize tool blocks to text so the compression
|
|
74
|
+
// call doesn't trip Anthropic's strict tool_use/tool_result pairing
|
|
75
|
+
// validation (orphaned blocks from interrupted loops would cause 400s).
|
|
76
|
+
// @plan PLAN-20260211-HIGHDENSITY.P23
|
|
77
|
+
// @requirement REQ-HD-011.3, REQ-HD-012.2
|
|
78
|
+
const triggerInstruction = buildTriggerInstruction(toCompress);
|
|
79
|
+
const compressionRequest = [
|
|
80
|
+
COMPRESSION_SECURITY_PREAMBLE,
|
|
81
|
+
{
|
|
82
|
+
speaker: 'human',
|
|
83
|
+
blocks: [{ type: 'text', text: prompt }],
|
|
84
|
+
},
|
|
85
|
+
...sanitizeHistoryForCompression(toCompress),
|
|
86
|
+
...this.buildContextInjections(context),
|
|
87
|
+
...largeLastPromptInjection,
|
|
88
|
+
{
|
|
89
|
+
speaker: 'human',
|
|
90
|
+
blocks: [{ type: 'text', text: triggerInstruction }],
|
|
91
|
+
},
|
|
92
|
+
];
|
|
93
|
+
// Call the provider and aggregate the streamed response
|
|
94
|
+
const { text: summary, usage: capturedUsage } = await this.callProvider(provider, compressionRequest, context, resolvedRuntime, resolvedConfig, resolvedOptions, invocation);
|
|
95
|
+
if (!summary.trim()) {
|
|
96
|
+
throw new EmptySummaryError('middle-out');
|
|
97
|
+
}
|
|
98
|
+
// Optional verification pass — gated by compressionVerification flag (default off)
|
|
99
|
+
let finalSummary = summary;
|
|
100
|
+
if (context.compressionVerification === true) {
|
|
101
|
+
finalSummary = await runVerificationPass(provider, summary, context, resolvedRuntime, resolvedConfig, resolvedOptions, invocation);
|
|
102
|
+
}
|
|
103
|
+
// Assemble result
|
|
104
|
+
const newHistory = this.assembleHistory(toKeepTop, finalSummary, toKeepBottom, context.activeTodos, capturedUsage, lastUserPromptContext);
|
|
105
|
+
const metadata = {
|
|
106
|
+
originalMessageCount: history.length,
|
|
107
|
+
compressedMessageCount: newHistory.length,
|
|
108
|
+
strategyUsed: 'middle-out',
|
|
109
|
+
llmCallMade: true,
|
|
110
|
+
topPreserved: toKeepTop.length,
|
|
111
|
+
bottomPreserved: toKeepBottom.length,
|
|
112
|
+
middleCompressed: toCompress.length,
|
|
113
|
+
...(capturedUsage ? { usage: capturedUsage } : {}),
|
|
114
|
+
};
|
|
115
|
+
return { newHistory, metadata };
|
|
116
|
+
}
|
|
117
|
+
// -------------------------------------------------------------------------
|
|
118
|
+
// Private helpers
|
|
119
|
+
// -------------------------------------------------------------------------
|
|
120
|
+
computeSplit(context) {
|
|
121
|
+
const history = context.history;
|
|
122
|
+
const preserveThreshold = context.runtimeContext.ephemerals.preserveThreshold();
|
|
123
|
+
const topPreserveThreshold = context.runtimeContext.ephemerals.topPreserveThreshold();
|
|
124
|
+
let topSplitIndex = Math.ceil(history.length * topPreserveThreshold);
|
|
125
|
+
let bottomSplitIndex = Math.floor(history.length * (1 - preserveThreshold));
|
|
126
|
+
if (bottomSplitIndex - topSplitIndex < MINIMUM_MIDDLE_MESSAGES) {
|
|
127
|
+
return { toKeepTop: [...history], toCompress: [], toKeepBottom: [] };
|
|
128
|
+
}
|
|
129
|
+
topSplitIndex = adjustForToolCallBoundary(history, topSplitIndex);
|
|
130
|
+
bottomSplitIndex = adjustForToolCallBoundary(history, bottomSplitIndex);
|
|
131
|
+
if (topSplitIndex >= bottomSplitIndex ||
|
|
132
|
+
bottomSplitIndex - topSplitIndex < MINIMUM_MIDDLE_MESSAGES) {
|
|
133
|
+
return { toKeepTop: [...history], toCompress: [], toKeepBottom: [] };
|
|
134
|
+
}
|
|
135
|
+
return {
|
|
136
|
+
toKeepTop: history.slice(0, topSplitIndex),
|
|
137
|
+
toCompress: history.slice(topSplitIndex, bottomSplitIndex),
|
|
138
|
+
toKeepBottom: history.slice(bottomSplitIndex),
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
resolvePrompt(context) {
|
|
142
|
+
const resolved = context.promptResolver.resolveFile(context.promptBaseDir, 'compression.md', context.promptContext);
|
|
143
|
+
if (resolved.found && resolved.path) {
|
|
144
|
+
try {
|
|
145
|
+
return readFileSync(resolved.path, 'utf-8');
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
// Fall through to hardcoded default
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
// Fall back to the hardcoded compression prompt
|
|
152
|
+
const fallback = getCompressionPrompt();
|
|
153
|
+
if (!fallback) {
|
|
154
|
+
throw new PromptResolutionError('compression.md');
|
|
155
|
+
}
|
|
156
|
+
return fallback;
|
|
157
|
+
}
|
|
158
|
+
async callProvider(provider, request, context, resolvedRuntime, resolvedConfig, resolvedOptions, invocation) {
|
|
159
|
+
const providerRuntime = resolvedRuntime;
|
|
160
|
+
try {
|
|
161
|
+
const stream = provider.generateChatCompletion({
|
|
162
|
+
contents: request,
|
|
163
|
+
tools: undefined,
|
|
164
|
+
config: resolvedConfig ?? context.config ?? providerRuntime.config,
|
|
165
|
+
runtime: providerRuntime,
|
|
166
|
+
invocation,
|
|
167
|
+
settings: providerRuntime.settingsService,
|
|
168
|
+
resolved: resolvedOptions,
|
|
169
|
+
metadata: {
|
|
170
|
+
...(providerRuntime.metadata ?? {}),
|
|
171
|
+
source: 'MiddleOutStrategy.callProvider',
|
|
172
|
+
},
|
|
173
|
+
});
|
|
174
|
+
let summary = '';
|
|
175
|
+
let lastBlockWasNonText = false;
|
|
176
|
+
let capturedUsage;
|
|
177
|
+
for await (const chunk of stream) {
|
|
178
|
+
const result = aggregateTextFromBlocks(chunk.blocks, summary, lastBlockWasNonText);
|
|
179
|
+
summary = result.text;
|
|
180
|
+
lastBlockWasNonText = result.lastBlockWasNonText;
|
|
181
|
+
if (chunk.metadata?.usage) {
|
|
182
|
+
capturedUsage = chunk.metadata.usage;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return { text: summary, usage: capturedUsage };
|
|
186
|
+
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
throw new CompressionExecutionError('middle-out', `LLM provider call failed: ${error instanceof Error ? error.message : String(error)}`, { isTransient: isTransientCompressionError(error) });
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
preserveLastUserPrompt(toKeepTop, toCompress, toKeepBottom) {
|
|
192
|
+
const fullHistory = [...toKeepTop, ...toCompress, ...toKeepBottom];
|
|
193
|
+
const lastHumanIndex = this.findLastHumanMessageIndex(fullHistory);
|
|
194
|
+
if (lastHumanIndex === -1) {
|
|
195
|
+
return {
|
|
196
|
+
toCompress: [...toCompress],
|
|
197
|
+
toKeepBottom: [...toKeepBottom],
|
|
198
|
+
lastUserPromptContext: undefined,
|
|
199
|
+
largeLastPromptInjection: [],
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
const compressStart = toKeepTop.length;
|
|
203
|
+
const compressEnd = compressStart + toCompress.length;
|
|
204
|
+
const isInCompressRange = lastHumanIndex >= compressStart && lastHumanIndex < compressEnd;
|
|
205
|
+
if (!isInCompressRange) {
|
|
206
|
+
const lastHumanMsg = fullHistory[lastHumanIndex];
|
|
207
|
+
const text = this.extractTextFromMessage(lastHumanMsg);
|
|
208
|
+
const context = text.length > LAST_PROMPT_CONTEXT_MAX_LENGTH
|
|
209
|
+
? text.slice(0, LAST_PROMPT_CONTEXT_MAX_LENGTH) + '...'
|
|
210
|
+
: text;
|
|
211
|
+
return {
|
|
212
|
+
toCompress: [...toCompress],
|
|
213
|
+
toKeepBottom: [...toKeepBottom],
|
|
214
|
+
lastUserPromptContext: context || undefined,
|
|
215
|
+
largeLastPromptInjection: [],
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
const lastHumanMsg = fullHistory[lastHumanIndex];
|
|
219
|
+
const messageText = this.extractTextFromMessage(lastHumanMsg);
|
|
220
|
+
const tokenCount = estimateTokens(messageText);
|
|
221
|
+
const indexInCompress = lastHumanIndex - compressStart;
|
|
222
|
+
if (tokenCount < LAST_PROMPT_TOKEN_THRESHOLD) {
|
|
223
|
+
const movedMessages = toCompress.slice(indexInCompress);
|
|
224
|
+
const remainingCompress = toCompress.slice(0, indexInCompress);
|
|
225
|
+
const context = messageText.length > LAST_PROMPT_CONTEXT_MAX_LENGTH
|
|
226
|
+
? messageText.slice(0, LAST_PROMPT_CONTEXT_MAX_LENGTH) + '...'
|
|
227
|
+
: messageText;
|
|
228
|
+
return {
|
|
229
|
+
toCompress: [...remainingCompress],
|
|
230
|
+
toKeepBottom: [...movedMessages, ...toKeepBottom],
|
|
231
|
+
lastUserPromptContext: context || undefined,
|
|
232
|
+
largeLastPromptInjection: [],
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
const context = messageText.length > LAST_PROMPT_CONTEXT_MAX_LENGTH
|
|
236
|
+
? messageText.slice(0, LAST_PROMPT_CONTEXT_MAX_LENGTH) + '...'
|
|
237
|
+
: messageText;
|
|
238
|
+
const injection = {
|
|
239
|
+
speaker: 'human',
|
|
240
|
+
blocks: [
|
|
241
|
+
{
|
|
242
|
+
type: 'text',
|
|
243
|
+
text: `IMPORTANT — The user's most recent message (summarized because it was too long to preserve literally). Summarize this user request faithfully and completely, preserving their exact intent, problems described, and any specific instructions:
|
|
244
|
+
|
|
245
|
+
${messageText}`,
|
|
246
|
+
},
|
|
247
|
+
],
|
|
248
|
+
};
|
|
249
|
+
return {
|
|
250
|
+
toCompress: [...toCompress],
|
|
251
|
+
toKeepBottom: [...toKeepBottom],
|
|
252
|
+
lastUserPromptContext: context || undefined,
|
|
253
|
+
largeLastPromptInjection: [injection],
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
findLastHumanMessageIndex(history) {
|
|
257
|
+
for (let i = history.length - 1; i >= 0; i--) {
|
|
258
|
+
if (history[i].speaker === 'human') {
|
|
259
|
+
return i;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
return -1;
|
|
263
|
+
}
|
|
264
|
+
extractTextFromMessage(message) {
|
|
265
|
+
return message.blocks
|
|
266
|
+
.map((block) => {
|
|
267
|
+
if (block.type === 'text') {
|
|
268
|
+
return block.text;
|
|
269
|
+
}
|
|
270
|
+
if (block.type === 'media') {
|
|
271
|
+
return mediaBlockToCompressionPlaceholder(block);
|
|
272
|
+
}
|
|
273
|
+
return '';
|
|
274
|
+
})
|
|
275
|
+
.filter((text) => text.length > 0)
|
|
276
|
+
.join(' ');
|
|
277
|
+
}
|
|
278
|
+
assembleHistory(toKeepTop, summary, toKeepBottom, activeTodos, usage, lastUserPromptContext) {
|
|
279
|
+
const summaryEntry = {
|
|
280
|
+
speaker: 'human',
|
|
281
|
+
blocks: [{ type: 'text', text: summary }],
|
|
282
|
+
...(usage ? { metadata: { usage } } : {}),
|
|
283
|
+
};
|
|
284
|
+
return [
|
|
285
|
+
...toKeepTop,
|
|
286
|
+
summaryEntry,
|
|
287
|
+
{
|
|
288
|
+
speaker: 'ai',
|
|
289
|
+
blocks: [
|
|
290
|
+
{
|
|
291
|
+
type: 'text',
|
|
292
|
+
text: buildContinuationDirective(activeTodos, lastUserPromptContext),
|
|
293
|
+
},
|
|
294
|
+
],
|
|
295
|
+
},
|
|
296
|
+
...toKeepBottom,
|
|
297
|
+
];
|
|
298
|
+
}
|
|
299
|
+
noCompressionResult(history) {
|
|
300
|
+
return {
|
|
301
|
+
newHistory: [...history],
|
|
302
|
+
metadata: {
|
|
303
|
+
originalMessageCount: history.length,
|
|
304
|
+
compressedMessageCount: history.length,
|
|
305
|
+
strategyUsed: 'middle-out',
|
|
306
|
+
llmCallMade: false,
|
|
307
|
+
topPreserved: 0,
|
|
308
|
+
bottomPreserved: 0,
|
|
309
|
+
middleCompressed: 0,
|
|
310
|
+
},
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* @plan PLAN-20260211-HIGHDENSITY.P23
|
|
315
|
+
* @requirement REQ-HD-011.3, REQ-HD-012.2
|
|
316
|
+
* @pseudocode prompts-todos.md lines 251-276
|
|
317
|
+
*/
|
|
318
|
+
buildContextInjections(context) {
|
|
319
|
+
const injections = [];
|
|
320
|
+
if (context.activeTodos && context.activeTodos.trim().length > 0) {
|
|
321
|
+
injections.push({
|
|
322
|
+
speaker: 'human',
|
|
323
|
+
blocks: [
|
|
324
|
+
{
|
|
325
|
+
type: 'text',
|
|
326
|
+
text: `The following are the current active todo/task items. When summarizing, preserve context about why each task exists and what has been tried:
|
|
327
|
+
|
|
328
|
+
${context.activeTodos}`,
|
|
329
|
+
},
|
|
330
|
+
],
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
if (context.transcriptPath) {
|
|
334
|
+
injections.push({
|
|
335
|
+
speaker: 'human',
|
|
336
|
+
blocks: [
|
|
337
|
+
{
|
|
338
|
+
type: 'text',
|
|
339
|
+
text: `Note: The full pre-compression transcript is available at: ${context.transcriptPath}`,
|
|
340
|
+
},
|
|
341
|
+
],
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
return injections;
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
//# sourceMappingURL=MiddleOutStrategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MiddleOutStrategy.js","sourceRoot":"","sources":["../../../src/compression/MiddleOutStrategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Vybestack LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { CompressionContext, CompressionResult, CompressionStrategy, StrategyTrigger } from '@vybestack/llxprt-code-core/core/compression/types.js';
|
|
7
|
+
export declare class OneShotStrategy implements CompressionStrategy {
|
|
8
|
+
readonly name: "one-shot";
|
|
9
|
+
readonly requiresLLM = true;
|
|
10
|
+
/** @plan PLAN-20260211-HIGHDENSITY.P03 @requirement REQ-HD-001.3 */
|
|
11
|
+
readonly trigger: StrategyTrigger;
|
|
12
|
+
compress(context: CompressionContext): Promise<CompressionResult>;
|
|
13
|
+
private computeSplit;
|
|
14
|
+
private resolvePrompt;
|
|
15
|
+
private callProvider;
|
|
16
|
+
private noCompressionResult;
|
|
17
|
+
/**
|
|
18
|
+
* @plan PLAN-20260211-HIGHDENSITY.P23
|
|
19
|
+
* @requirement REQ-HD-011.3, REQ-HD-012.2
|
|
20
|
+
*/
|
|
21
|
+
private buildContextInjections;
|
|
22
|
+
}
|