@trenchwork/coder 1.4.0 → 1.5.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/contracts/v1/agent.d.ts +2 -0
- package/dist/contracts/v1/agent.d.ts.map +1 -1
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +77 -2
- package/dist/core/agent.js.map +1 -1
- package/dist/core/bashCommandGuidance.d.ts.map +1 -1
- package/dist/core/bashCommandGuidance.js +19 -0
- package/dist/core/bashCommandGuidance.js.map +1 -1
- package/dist/core/contextManager.d.ts +10 -137
- package/dist/core/contextManager.d.ts.map +1 -1
- package/dist/core/contextManager.js +74 -540
- package/dist/core/contextManager.js.map +1 -1
- package/dist/core/errorClassification.d.ts.map +1 -1
- package/dist/core/errorClassification.js +8 -0
- package/dist/core/errorClassification.js.map +1 -1
- package/dist/core/hitl.d.ts +15 -0
- package/dist/core/hitl.d.ts.map +1 -1
- package/dist/core/hitl.js +20 -0
- package/dist/core/hitl.js.map +1 -1
- package/dist/core/hooks.d.ts.map +1 -1
- package/dist/core/hooks.js +42 -19
- package/dist/core/hooks.js.map +1 -1
- package/dist/core/keyResolution.d.ts +30 -0
- package/dist/core/keyResolution.d.ts.map +1 -0
- package/dist/core/keyResolution.js +38 -0
- package/dist/core/keyResolution.js.map +1 -0
- package/dist/core/permissionMode.d.ts +17 -2
- package/dist/core/permissionMode.d.ts.map +1 -1
- package/dist/core/permissionMode.js +20 -7
- package/dist/core/permissionMode.js.map +1 -1
- package/dist/core/reasoningFallback.d.ts +22 -0
- package/dist/core/reasoningFallback.d.ts.map +1 -0
- package/dist/core/reasoningFallback.js +22 -0
- package/dist/core/reasoningFallback.js.map +1 -0
- package/dist/core/sessionStore.js +34 -8
- package/dist/core/sessionStore.js.map +1 -1
- package/dist/core/slashCommands.d.ts.map +1 -1
- package/dist/core/slashCommands.js +0 -3
- package/dist/core/slashCommands.js.map +1 -1
- package/dist/core/taskCompletionDetector.d.ts.map +1 -1
- package/dist/core/taskCompletionDetector.js +10 -3
- package/dist/core/taskCompletionDetector.js.map +1 -1
- package/dist/core/toolRuntime.d.ts +1 -0
- package/dist/core/toolRuntime.d.ts.map +1 -1
- package/dist/core/toolRuntime.js +25 -2
- package/dist/core/toolRuntime.js.map +1 -1
- package/dist/core/turnTokenMeter.d.ts +19 -0
- package/dist/core/turnTokenMeter.d.ts.map +1 -0
- package/dist/core/turnTokenMeter.js +36 -0
- package/dist/core/turnTokenMeter.js.map +1 -0
- package/dist/headless/interactiveShell.d.ts +3 -3
- package/dist/headless/interactiveShell.d.ts.map +1 -1
- package/dist/headless/interactiveShell.js +125 -116
- package/dist/headless/interactiveShell.js.map +1 -1
- package/dist/plugins/providers/deepseek/index.js +4 -6
- package/dist/plugins/providers/deepseek/index.js.map +1 -1
- package/dist/providers/openaiChatCompletionsProvider.d.ts.map +1 -1
- package/dist/providers/openaiChatCompletionsProvider.js +33 -26
- package/dist/providers/openaiChatCompletionsProvider.js.map +1 -1
- package/dist/runtime/agentController.d.ts.map +1 -1
- package/dist/runtime/agentController.js +23 -7
- package/dist/runtime/agentController.js.map +1 -1
- package/dist/runtime/agentSession.d.ts.map +1 -1
- package/dist/runtime/agentSession.js +10 -3
- package/dist/runtime/agentSession.js.map +1 -1
- package/dist/tools/bashTools.d.ts +63 -0
- package/dist/tools/bashTools.d.ts.map +1 -1
- package/dist/tools/bashTools.js +186 -77
- package/dist/tools/bashTools.js.map +1 -1
- package/dist/tools/grepTools.d.ts.map +1 -1
- package/dist/tools/grepTools.js +41 -23
- package/dist/tools/grepTools.js.map +1 -1
- package/dist/tools/searchTools.d.ts.map +1 -1
- package/dist/tools/searchTools.js +18 -8
- package/dist/tools/searchTools.js.map +1 -1
- package/dist/tools/webTools.d.ts.map +1 -1
- package/dist/tools/webTools.js +10 -2
- package/dist/tools/webTools.js.map +1 -1
- package/dist/ui/ink/App.d.ts +6 -1
- package/dist/ui/ink/App.d.ts.map +1 -1
- package/dist/ui/ink/App.js +20 -2
- package/dist/ui/ink/App.js.map +1 -1
- package/dist/ui/ink/ChatStatic.d.ts.map +1 -1
- package/dist/ui/ink/ChatStatic.js +9 -2
- package/dist/ui/ink/ChatStatic.js.map +1 -1
- package/dist/ui/ink/InkPromptController.d.ts +17 -8
- package/dist/ui/ink/InkPromptController.d.ts.map +1 -1
- package/dist/ui/ink/InkPromptController.js +48 -21
- package/dist/ui/ink/InkPromptController.js.map +1 -1
- package/dist/ui/ink/StatusLine.d.ts +6 -7
- package/dist/ui/ink/StatusLine.d.ts.map +1 -1
- package/dist/ui/ink/StatusLine.js +9 -9
- package/dist/ui/ink/StatusLine.js.map +1 -1
- package/dist/ui/ink/markdownRender.d.ts +2 -0
- package/dist/ui/ink/markdownRender.d.ts.map +1 -0
- package/dist/ui/ink/markdownRender.js +76 -0
- package/dist/ui/ink/markdownRender.js.map +1 -0
- package/dist/ui/ink/narrationDedup.d.ts +28 -0
- package/dist/ui/ink/narrationDedup.d.ts.map +1 -0
- package/dist/ui/ink/narrationDedup.js +41 -0
- package/dist/ui/ink/narrationDedup.js.map +1 -0
- package/package.json +2 -1
- package/dist/core/hostedAuth.d.ts +0 -88
- package/dist/core/hostedAuth.d.ts.map +0 -1
- package/dist/core/hostedAuth.js +0 -219
- package/dist/core/hostedAuth.js.map +0 -1
|
@@ -14,54 +14,6 @@ import type { ConversationMessage } from './types.js';
|
|
|
14
14
|
* Takes messages to summarize and returns a concise summary string
|
|
15
15
|
*/
|
|
16
16
|
export type SummarizationCallback = (messages: ConversationMessage[]) => Promise<string>;
|
|
17
|
-
/**
|
|
18
|
-
* Signals that indicate a good compaction point in the conversation
|
|
19
|
-
*/
|
|
20
|
-
export interface CompactionSignal {
|
|
21
|
-
type: 'task_boundary' | 'topic_shift' | 'milestone' | 'context_saturation' | 'user_pivot' | 'ai_flow_pattern';
|
|
22
|
-
confidence: number;
|
|
23
|
-
messageIndex: number;
|
|
24
|
-
reason: string;
|
|
25
|
-
metadata?: Record<string, unknown>;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* AI Flow Patterns for intelligent context management
|
|
29
|
-
*/
|
|
30
|
-
export interface AIFlowPattern {
|
|
31
|
-
patternId: string;
|
|
32
|
-
description: string;
|
|
33
|
-
toolSequence: string[];
|
|
34
|
-
contextImpact: number;
|
|
35
|
-
compactionOpportunity: boolean;
|
|
36
|
-
preservationPriority: number;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Enhanced compaction analysis with AI flow awareness
|
|
40
|
-
*/
|
|
41
|
-
export interface EnhancedCompactionAnalysis {
|
|
42
|
-
shouldCompact: boolean;
|
|
43
|
-
signals: CompactionSignal[];
|
|
44
|
-
recommendedCompactionPoint: number | null;
|
|
45
|
-
urgency: 'none' | 'low' | 'medium' | 'high' | 'critical';
|
|
46
|
-
preserveFromIndex: number;
|
|
47
|
-
aiFlowPatterns: AIFlowPattern[];
|
|
48
|
-
estimatedTokenSavings: number;
|
|
49
|
-
riskAssessment: {
|
|
50
|
-
informationLossRisk: 'low' | 'medium' | 'high';
|
|
51
|
-
continuityRisk: 'low' | 'medium' | 'high';
|
|
52
|
-
recoveryDifficulty: 'easy' | 'moderate' | 'hard';
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Result of intelligent compaction analysis
|
|
57
|
-
*/
|
|
58
|
-
export interface CompactionAnalysis {
|
|
59
|
-
shouldCompact: boolean;
|
|
60
|
-
signals: CompactionSignal[];
|
|
61
|
-
recommendedCompactionPoint: number | null;
|
|
62
|
-
urgency: 'none' | 'low' | 'medium' | 'high' | 'critical';
|
|
63
|
-
preserveFromIndex: number;
|
|
64
|
-
}
|
|
65
17
|
/**
|
|
66
18
|
* Summarization prompt template
|
|
67
19
|
*/
|
|
@@ -77,18 +29,7 @@ export interface ContextManagerConfig {
|
|
|
77
29
|
useLLMSummarization?: boolean;
|
|
78
30
|
summarizationCallback?: SummarizationCallback;
|
|
79
31
|
model?: string;
|
|
80
|
-
enableIntelligentCompaction?: boolean;
|
|
81
|
-
compactionThreshold?: number;
|
|
82
|
-
minSignalConfidence?: number;
|
|
83
|
-
taskBoundaryPatterns?: string[];
|
|
84
|
-
topicShiftSensitivity?: number;
|
|
85
|
-
enableAIFlowPatternDetection?: boolean;
|
|
86
|
-
aiFlowPatterns?: AIFlowPattern[];
|
|
87
32
|
}
|
|
88
|
-
/**
|
|
89
|
-
* Pre-defined AI Flow Patterns for intelligent context management
|
|
90
|
-
*/
|
|
91
|
-
export declare const DEFAULT_AI_FLOW_PATTERNS: AIFlowPattern[];
|
|
92
33
|
export interface TruncationResult {
|
|
93
34
|
content: string;
|
|
94
35
|
wasTruncated: boolean;
|
|
@@ -120,14 +61,20 @@ export declare class ContextManager {
|
|
|
120
61
|
* Estimate tokens in a message
|
|
121
62
|
*/
|
|
122
63
|
estimateTokens(message: ConversationMessage): number;
|
|
123
|
-
/**
|
|
124
|
-
* Detect context overflow risk from recent tool usage patterns
|
|
125
|
-
*/
|
|
126
|
-
detectContextOverflowRisk(toolCalls: string[]): boolean;
|
|
127
64
|
/**
|
|
128
65
|
* Estimate total tokens in conversation
|
|
129
66
|
*/
|
|
130
67
|
estimateTotalTokens(messages: ConversationMessage[]): number;
|
|
68
|
+
/**
|
|
69
|
+
* Intra-turn reduction for the tool-heavy single-turn case. Normal pruning
|
|
70
|
+
* keeps whole turns and counts only USER turns, so one request with many tool
|
|
71
|
+
* rounds (one user message, dozens of assistant+tool messages) prunes nothing
|
|
72
|
+
* and can overflow. This shrinks the OLDEST verbose tool-result bodies to a
|
|
73
|
+
* placeholder — never dropping a message (tool_call/result pairing stays
|
|
74
|
+
* intact), never touching the user task, assistant reasoning, or the most
|
|
75
|
+
* recent few messages. Returns the new list and how many bodies were truncated.
|
|
76
|
+
*/
|
|
77
|
+
private reduceOversizedHistory;
|
|
131
78
|
/**
|
|
132
79
|
* Prune old messages when approaching limit
|
|
133
80
|
*
|
|
@@ -177,80 +124,6 @@ export declare class ContextManager {
|
|
|
177
124
|
* Update configuration
|
|
178
125
|
*/
|
|
179
126
|
updateConfig(config: Partial<ContextManagerConfig>): void;
|
|
180
|
-
/**
|
|
181
|
-
* Default patterns that indicate task boundaries
|
|
182
|
-
*/
|
|
183
|
-
private static readonly DEFAULT_TASK_BOUNDARY_PATTERNS;
|
|
184
|
-
/**
|
|
185
|
-
* Patterns indicating topic/task shifts
|
|
186
|
-
*/
|
|
187
|
-
private static readonly TOPIC_SHIFT_PATTERNS;
|
|
188
|
-
/**
|
|
189
|
-
* Patterns indicating user pivots (abandoning current direction)
|
|
190
|
-
*/
|
|
191
|
-
private static readonly USER_PIVOT_PATTERNS;
|
|
192
|
-
/**
|
|
193
|
-
* Analyze the conversation to detect intelligent compaction points
|
|
194
|
-
*/
|
|
195
|
-
analyzeCompactionPoints(messages: ConversationMessage[]): CompactionAnalysis;
|
|
196
|
-
/**
|
|
197
|
-
* Detect task boundary signals
|
|
198
|
-
*/
|
|
199
|
-
private detectTaskBoundary;
|
|
200
|
-
/**
|
|
201
|
-
* Detect topic shift signals
|
|
202
|
-
*/
|
|
203
|
-
private detectTopicShift;
|
|
204
|
-
/**
|
|
205
|
-
* Detect user pivot signals (abandoning current direction)
|
|
206
|
-
*/
|
|
207
|
-
private detectUserPivot;
|
|
208
|
-
/**
|
|
209
|
-
* Detect context saturation (heavy tool output regions)
|
|
210
|
-
*/
|
|
211
|
-
private detectContextSaturation;
|
|
212
|
-
/**
|
|
213
|
-
* Detect milestone signals (significant accomplishments)
|
|
214
|
-
*/
|
|
215
|
-
private detectMilestone;
|
|
216
|
-
/**
|
|
217
|
-
* Check if content looks like a task conclusion
|
|
218
|
-
*/
|
|
219
|
-
private looksLikeConclusion;
|
|
220
|
-
/**
|
|
221
|
-
* Check if two contents represent different topics (simple heuristic)
|
|
222
|
-
*/
|
|
223
|
-
private isNewTopic;
|
|
224
|
-
/**
|
|
225
|
-
* Calculate urgency level based on token percentage
|
|
226
|
-
*/
|
|
227
|
-
private calculateUrgency;
|
|
228
|
-
/**
|
|
229
|
-
* Find the best compaction point from signals
|
|
230
|
-
*/
|
|
231
|
-
private findBestCompactionPoint;
|
|
232
|
-
/**
|
|
233
|
-
* Find a safe preservation point that doesn't break tool call chains
|
|
234
|
-
*/
|
|
235
|
-
private findSafePreservePoint;
|
|
236
|
-
/**
|
|
237
|
-
* Perform intelligent compaction based on analysis
|
|
238
|
-
* This method analyzes the conversation and compacts at the optimal point
|
|
239
|
-
*/
|
|
240
|
-
intelligentCompact(messages: ConversationMessage[]): Promise<{
|
|
241
|
-
compacted: ConversationMessage[];
|
|
242
|
-
analysis: CompactionAnalysis;
|
|
243
|
-
summarized: boolean;
|
|
244
|
-
}>;
|
|
245
|
-
/**
|
|
246
|
-
* Check if intelligent compaction should be triggered
|
|
247
|
-
* Call this before generation to proactively manage context
|
|
248
|
-
*/
|
|
249
|
-
shouldTriggerCompaction(messages: ConversationMessage[]): {
|
|
250
|
-
shouldCompact: boolean;
|
|
251
|
-
urgency: CompactionAnalysis['urgency'];
|
|
252
|
-
reason: string | null;
|
|
253
|
-
};
|
|
254
127
|
}
|
|
255
128
|
/**
|
|
256
129
|
* Create a default context manager instance with model-aware limits
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextManager.d.ts","sourceRoot":"","sources":["../../src/core/contextManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGtD;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAClC,QAAQ,EAAE,mBAAmB,EAAE,KAC5B,OAAO,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"contextManager.d.ts","sourceRoot":"","sources":["../../src/core/contextManager.ts"],"names":[],"mappings":"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"}
|