@tuanhung303/opencode-acp 2.2.0 โ 2.2.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/README.md +131 -71
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/commands/budget.d.ts +15 -0
- package/dist/lib/commands/budget.d.ts.map +1 -0
- package/dist/lib/commands/budget.js +120 -0
- package/dist/lib/commands/budget.js.map +1 -0
- package/dist/lib/commands/context.d.ts +1 -1
- package/dist/lib/commands/context.js +4 -4
- package/dist/lib/commands/context.js.map +1 -1
- package/dist/lib/commands/help.d.ts.map +1 -1
- package/dist/lib/commands/help.js +2 -0
- package/dist/lib/commands/help.js.map +1 -1
- package/dist/lib/commands/protected.d.ts +17 -0
- package/dist/lib/commands/protected.d.ts.map +1 -0
- package/dist/lib/commands/protected.js +50 -0
- package/dist/lib/commands/protected.js.map +1 -0
- package/dist/lib/commands/stats.d.ts +1 -1
- package/dist/lib/commands/stats.d.ts.map +1 -1
- package/dist/lib/commands/stats.js +24 -4
- package/dist/lib/commands/stats.js.map +1 -1
- package/dist/lib/commands/sweep.d.ts.map +1 -1
- package/dist/lib/commands/sweep.js +5 -2
- package/dist/lib/commands/sweep.js.map +1 -1
- package/dist/lib/config-schema.d.ts +119 -0
- package/dist/lib/config-schema.d.ts.map +1 -0
- package/dist/lib/config-schema.js +97 -0
- package/dist/lib/config-schema.js.map +1 -0
- package/dist/lib/config.d.ts +7 -30
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +45 -483
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/hooks.d.ts +14 -0
- package/dist/lib/hooks.d.ts.map +1 -1
- package/dist/lib/hooks.js +120 -13
- package/dist/lib/hooks.js.map +1 -1
- package/dist/lib/logger.d.ts +25 -1
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +45 -4
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/messages/index.d.ts +1 -1
- package/dist/lib/messages/index.d.ts.map +1 -1
- package/dist/lib/messages/index.js +1 -1
- package/dist/lib/messages/index.js.map +1 -1
- package/dist/lib/messages/inject.d.ts +6 -1
- package/dist/lib/messages/inject.d.ts.map +1 -1
- package/dist/lib/messages/inject.js +8 -125
- package/dist/lib/messages/inject.js.map +1 -1
- package/dist/lib/messages/prune.d.ts +8 -0
- package/dist/lib/messages/prune.d.ts.map +1 -1
- package/dist/lib/messages/prune.js +89 -2
- package/dist/lib/messages/prune.js.map +1 -1
- package/dist/lib/messages/utils.d.ts +12 -0
- package/dist/lib/messages/utils.d.ts.map +1 -1
- package/dist/lib/messages/utils.js +34 -0
- package/dist/lib/messages/utils.js.map +1 -1
- package/dist/lib/prompts/discard-tool-spec.d.ts +1 -1
- package/dist/lib/prompts/discard-tool-spec.d.ts.map +1 -1
- package/dist/lib/prompts/discard-tool-spec.js +30 -17
- package/dist/lib/prompts/discard-tool-spec.js.map +1 -1
- package/dist/lib/prompts/extract-tool-spec.d.ts +1 -1
- package/dist/lib/prompts/extract-tool-spec.d.ts.map +1 -1
- package/dist/lib/prompts/extract-tool-spec.js +19 -11
- package/dist/lib/prompts/extract-tool-spec.js.map +1 -1
- package/dist/lib/prompts/index.d.ts.map +1 -1
- package/dist/lib/prompts/index.js +2 -7
- package/dist/lib/prompts/index.js.map +1 -1
- package/dist/lib/prompts/restore-tool-spec.d.ts +2 -0
- package/dist/lib/prompts/restore-tool-spec.d.ts.map +1 -0
- package/dist/lib/prompts/restore-tool-spec.js +37 -0
- package/dist/lib/prompts/restore-tool-spec.js.map +1 -0
- 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 +20 -16
- 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 +19 -16
- 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 +19 -16
- package/dist/lib/prompts/system/extract.js.map +1 -1
- package/dist/lib/protected-file-patterns.js +1 -1
- package/dist/lib/protected-file-patterns.js.map +1 -1
- package/dist/lib/safe-execute.d.ts +20 -0
- package/dist/lib/safe-execute.d.ts.map +1 -0
- package/dist/lib/safe-execute.js +38 -0
- package/dist/lib/safe-execute.js.map +1 -0
- package/dist/lib/shared-utils.js +1 -1
- package/dist/lib/shared-utils.js.map +1 -1
- package/dist/lib/state/persistence.d.ts +6 -1
- package/dist/lib/state/persistence.d.ts.map +1 -1
- package/dist/lib/state/persistence.js +59 -1
- package/dist/lib/state/persistence.js.map +1 -1
- package/dist/lib/state/state.d.ts.map +1 -1
- package/dist/lib/state/state.js +54 -3
- package/dist/lib/state/state.js.map +1 -1
- package/dist/lib/state/tool-cache.d.ts +2 -0
- package/dist/lib/state/tool-cache.d.ts.map +1 -1
- package/dist/lib/state/tool-cache.js +34 -12
- package/dist/lib/state/tool-cache.js.map +1 -1
- package/dist/lib/state/types.d.ts +50 -5
- package/dist/lib/state/types.d.ts.map +1 -1
- package/dist/lib/strategies/deduplication.d.ts +1 -0
- package/dist/lib/strategies/deduplication.d.ts.map +1 -1
- package/dist/lib/strategies/deduplication.js +87 -3
- package/dist/lib/strategies/deduplication.js.map +1 -1
- package/dist/lib/strategies/index.d.ts +1 -5
- package/dist/lib/strategies/index.d.ts.map +1 -1
- package/dist/lib/strategies/index.js +1 -5
- 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 +4 -1
- package/dist/lib/strategies/purge-errors.js.map +1 -1
- package/dist/lib/strategies/supersede-writes.d.ts.map +1 -1
- package/dist/lib/strategies/supersede-writes.js +7 -1
- package/dist/lib/strategies/supersede-writes.js.map +1 -1
- package/dist/lib/strategies/tools.d.ts +1 -0
- package/dist/lib/strategies/tools.d.ts.map +1 -1
- package/dist/lib/strategies/tools.js +215 -62
- package/dist/lib/strategies/tools.js.map +1 -1
- package/dist/lib/ui/notification.d.ts +5 -2
- package/dist/lib/ui/notification.d.ts.map +1 -1
- package/dist/lib/ui/notification.js +10 -6
- package/dist/lib/ui/notification.js.map +1 -1
- package/dist/lib/ui/utils.d.ts +3 -3
- package/dist/lib/ui/utils.d.ts.map +1 -1
- package/dist/lib/ui/utils.js +38 -12
- package/dist/lib/ui/utils.js.map +1 -1
- package/package.json +7 -12
- package/dist/lib/prompts/nudge/both.d.ts +0 -2
- package/dist/lib/prompts/nudge/both.d.ts.map +0 -1
- package/dist/lib/prompts/nudge/both.js +0 -11
- package/dist/lib/prompts/nudge/both.js.map +0 -1
- package/dist/lib/prompts/nudge/discard.d.ts +0 -2
- package/dist/lib/prompts/nudge/discard.d.ts.map +0 -1
- package/dist/lib/prompts/nudge/discard.js +0 -10
- package/dist/lib/prompts/nudge/discard.js.map +0 -1
- package/dist/lib/prompts/nudge/extract.d.ts +0 -2
- package/dist/lib/prompts/nudge/extract.d.ts.map +0 -1
- package/dist/lib/prompts/nudge/extract.js +0 -10
- package/dist/lib/prompts/nudge/extract.js.map +0 -1
- package/dist/lib/strategies/head-tail-truncation.d.ts +0 -15
- package/dist/lib/strategies/head-tail-truncation.d.ts.map +0 -1
- package/dist/lib/strategies/head-tail-truncation.js +0 -144
- package/dist/lib/strategies/head-tail-truncation.js.map +0 -1
- package/dist/lib/strategies/placeholder-compression.d.ts +0 -5
- package/dist/lib/strategies/placeholder-compression.d.ts.map +0 -1
- package/dist/lib/strategies/placeholder-compression.js +0 -148
- package/dist/lib/strategies/placeholder-compression.js.map +0 -1
- package/dist/lib/strategies/prune-thinking.d.ts +0 -15
- package/dist/lib/strategies/prune-thinking.d.ts.map +0 -1
- package/dist/lib/strategies/prune-thinking.js +0 -79
- package/dist/lib/strategies/prune-thinking.js.map +0 -1
- package/dist/lib/strategies/read-consolidation.d.ts +0 -21
- package/dist/lib/strategies/read-consolidation.d.ts.map +0 -1
- package/dist/lib/strategies/read-consolidation.js +0 -155
- package/dist/lib/strategies/read-consolidation.js.map +0 -1
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { tool } from "@opencode-ai/plugin";
|
|
2
|
-
import { buildToolIdList } from "../messages/utils";
|
|
3
2
|
import { sendUnifiedNotification } from "../ui/notification";
|
|
4
3
|
import { formatPruningResultForTool } from "../ui/utils";
|
|
5
4
|
import { ensureSessionInitialized } from "../state";
|
|
@@ -9,103 +8,167 @@ import { calculateTokensSaved, getCurrentParams } from "./utils";
|
|
|
9
8
|
import { getFilePathFromParameters, isProtectedFilePath } from "../protected-file-patterns";
|
|
10
9
|
const DISCARD_TOOL_DESCRIPTION = loadPrompt("discard-tool-spec");
|
|
11
10
|
const EXTRACT_TOOL_DESCRIPTION = loadPrompt("extract-tool-spec");
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
const RESTORE_TOOL_DESCRIPTION = loadPrompt("restore-tool-spec");
|
|
12
|
+
/**
|
|
13
|
+
* Execute a prune operation using call IDs directly.
|
|
14
|
+
* This is the hash-based version that works with resolved call IDs.
|
|
15
|
+
*/
|
|
16
|
+
async function executePruneOperationByCallIds(ctx, toolCtx, callIds, hashes, reason, toolName, distillation) {
|
|
14
17
|
const { client, state, logger, config, workingDirectory } = ctx;
|
|
15
18
|
const sessionId = toolCtx.sessionID;
|
|
16
19
|
logger.info(`${toolName} tool invoked`);
|
|
17
|
-
logger.info(JSON.stringify(
|
|
18
|
-
if (!
|
|
19
|
-
logger.debug(`${toolName} tool called but
|
|
20
|
-
throw new Error(`No
|
|
20
|
+
logger.info(JSON.stringify({ hashes, reason }));
|
|
21
|
+
if (!callIds || callIds.length === 0) {
|
|
22
|
+
logger.debug(`${toolName} tool called but no valid call IDs resolved`);
|
|
23
|
+
throw new Error(`No valid hashes provided. Use hashes from tool outputs (e.g., #r_a1b2c#).`);
|
|
21
24
|
}
|
|
22
|
-
|
|
23
|
-
.map((id) => parseInt(id, 10))
|
|
24
|
-
.filter((n) => !isNaN(n));
|
|
25
|
-
if (numericToolIds.length === 0) {
|
|
26
|
-
logger.debug(`No numeric tool IDs provided for ${toolName}: ` + JSON.stringify(ids));
|
|
27
|
-
throw new Error("No numeric IDs provided. Format: ids: [id1, id2, ...]");
|
|
28
|
-
}
|
|
29
|
-
// Fetch messages to calculate tokens and find current agent
|
|
25
|
+
// Fetch messages to calculate tokens
|
|
30
26
|
const messagesResponse = await client.session.messages({
|
|
31
27
|
path: { id: sessionId },
|
|
32
28
|
});
|
|
33
29
|
const messages = messagesResponse.data || messagesResponse;
|
|
34
30
|
await ensureSessionInitialized(ctx.client, state, sessionId, logger, messages);
|
|
35
31
|
const currentParams = getCurrentParams(state, messages, logger);
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
logger.debug("Invalid tool IDs provided: " + numericToolIds.join(", "));
|
|
40
|
-
throw new Error("Invalid IDs provided. Only use numeric IDs from the <prunable-tools> list.");
|
|
41
|
-
}
|
|
42
|
-
// Validate that all IDs exist in cache and aren't protected
|
|
43
|
-
// (rejects hallucinated IDs and turn-protected tools not shown in <prunable-tools>)
|
|
44
|
-
for (const index of numericToolIds) {
|
|
45
|
-
const id = toolIdList[index];
|
|
46
|
-
const metadata = state.toolParameters.get(id);
|
|
32
|
+
// Validate that all call IDs exist in cache and aren't protected
|
|
33
|
+
for (const callId of callIds) {
|
|
34
|
+
const metadata = state.toolParameters.get(callId);
|
|
47
35
|
if (!metadata) {
|
|
48
|
-
|
|
49
|
-
|
|
36
|
+
const hash = state.callIdToHash.get(callId) || "unknown";
|
|
37
|
+
logger.debug("Rejecting prune request - call ID not in cache", { callId, hash });
|
|
38
|
+
throw new Error(`Invalid hash provided. The tool may have already been discarded.`);
|
|
50
39
|
}
|
|
51
40
|
const allProtectedTools = config.tools.settings.protectedTools;
|
|
52
41
|
if (allProtectedTools.includes(metadata.tool)) {
|
|
42
|
+
const hash = state.callIdToHash.get(callId) || "unknown";
|
|
53
43
|
logger.debug("Rejecting prune request - protected tool", {
|
|
54
|
-
|
|
55
|
-
|
|
44
|
+
callId,
|
|
45
|
+
hash,
|
|
56
46
|
tool: metadata.tool,
|
|
57
47
|
});
|
|
58
|
-
throw new Error(
|
|
48
|
+
throw new Error(`Cannot discard: '${metadata.tool}' is a protected tool.\n` +
|
|
49
|
+
`Protected tools: ${allProtectedTools.join(", ")}\n` +
|
|
50
|
+
`To modify protection, update 'tools.settings.protectedTools' in your ACP config.`);
|
|
59
51
|
}
|
|
60
52
|
const filePath = getFilePathFromParameters(metadata.parameters);
|
|
61
53
|
if (isProtectedFilePath(filePath, config.protectedFilePatterns)) {
|
|
54
|
+
const hash = state.callIdToHash.get(callId) || "unknown";
|
|
62
55
|
logger.debug("Rejecting prune request - protected file path", {
|
|
63
|
-
|
|
64
|
-
|
|
56
|
+
callId,
|
|
57
|
+
hash,
|
|
65
58
|
tool: metadata.tool,
|
|
66
59
|
filePath,
|
|
67
60
|
});
|
|
68
|
-
|
|
61
|
+
const protectedPatterns = config.protectedFilePatterns.length > 0
|
|
62
|
+
? `\nProtected patterns: ${config.protectedFilePatterns.join(", ")}`
|
|
63
|
+
: "";
|
|
64
|
+
throw new Error(`Cannot discard: ${filePath} is a protected file path.${protectedPatterns}\n` +
|
|
65
|
+
`To modify protection, update 'protectedFilePatterns' in your ACP config.`);
|
|
69
66
|
}
|
|
70
67
|
}
|
|
71
|
-
|
|
72
|
-
state.prune.toolIds.push(...
|
|
68
|
+
// Add to prune list
|
|
69
|
+
state.prune.toolIds.push(...callIds);
|
|
70
|
+
// Collect metadata for notification
|
|
73
71
|
const toolMetadata = new Map();
|
|
74
|
-
for (const
|
|
75
|
-
const toolParameters = state.toolParameters.get(
|
|
72
|
+
for (const callId of callIds) {
|
|
73
|
+
const toolParameters = state.toolParameters.get(callId);
|
|
76
74
|
if (toolParameters) {
|
|
77
|
-
toolMetadata.set(
|
|
75
|
+
toolMetadata.set(callId, toolParameters);
|
|
78
76
|
}
|
|
79
77
|
else {
|
|
80
|
-
logger.debug("No metadata found for ID", {
|
|
78
|
+
logger.debug("No metadata found for call ID", { callId });
|
|
81
79
|
}
|
|
82
80
|
}
|
|
83
|
-
|
|
84
|
-
|
|
81
|
+
// Calculate token savings
|
|
82
|
+
const tokensSaved = calculateTokensSaved(state, messages, callIds);
|
|
83
|
+
state.stats.pruneTokenCounter += tokensSaved;
|
|
84
|
+
state.stats.pruneMessageCounter += callIds.length;
|
|
85
|
+
// Track strategy effectiveness
|
|
86
|
+
if (toolName === "Discard") {
|
|
87
|
+
state.stats.strategyStats.manualDiscard.count += callIds.length;
|
|
88
|
+
state.stats.strategyStats.manualDiscard.tokens += tokensSaved;
|
|
89
|
+
}
|
|
90
|
+
else if (toolName === "Extract") {
|
|
91
|
+
state.stats.strategyStats.extraction.count += callIds.length;
|
|
92
|
+
state.stats.strategyStats.extraction.tokens += tokensSaved;
|
|
93
|
+
}
|
|
94
|
+
// Store stats for display
|
|
95
|
+
state.lastDiscardStats = {
|
|
96
|
+
itemCount: callIds.length,
|
|
97
|
+
tokensSaved: state.stats.pruneTokenCounter,
|
|
98
|
+
};
|
|
99
|
+
// Record in discard history
|
|
100
|
+
state.discardHistory.push({
|
|
101
|
+
timestamp: Date.now(),
|
|
102
|
+
hashes,
|
|
103
|
+
tokensSaved,
|
|
104
|
+
reason,
|
|
105
|
+
});
|
|
106
|
+
await sendUnifiedNotification(client, logger, config, state, sessionId, callIds, toolMetadata, reason, currentParams, workingDirectory, distillation);
|
|
85
107
|
state.stats.totalPruneTokens += state.stats.pruneTokenCounter;
|
|
86
108
|
state.stats.pruneTokenCounter = 0;
|
|
87
|
-
state.
|
|
109
|
+
state.stats.totalPruneMessages += state.stats.pruneMessageCounter;
|
|
110
|
+
state.stats.pruneMessageCounter = 0;
|
|
88
111
|
saveSessionState(state, logger).catch((err) => logger.error("Failed to persist state", { error: err.message }));
|
|
89
|
-
return formatPruningResultForTool(
|
|
112
|
+
return formatPruningResultForTool(callIds, toolMetadata, workingDirectory);
|
|
90
113
|
}
|
|
91
114
|
export function createDiscardTool(ctx) {
|
|
92
115
|
return tool({
|
|
93
116
|
description: DISCARD_TOOL_DESCRIPTION,
|
|
94
117
|
args: {
|
|
95
|
-
|
|
118
|
+
reason: tool.schema
|
|
119
|
+
.string()
|
|
120
|
+
.describe("Why you're discarding: 'noise' | 'completion' | 'superseded' | 'exploration' | 'duplicate'"),
|
|
121
|
+
hashes: tool.schema
|
|
96
122
|
.array(tool.schema.string())
|
|
97
|
-
.describe("
|
|
123
|
+
.describe("Hash identifiers from tool outputs (e.g., ['#r_a1b2c#', '#g_d4e5f#'])"),
|
|
98
124
|
},
|
|
99
125
|
async execute(args, toolCtx) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
const validReasons = [
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
126
|
+
const { state, logger } = ctx;
|
|
127
|
+
// Validate reason
|
|
128
|
+
const validReasons = [
|
|
129
|
+
"completion",
|
|
130
|
+
"noise",
|
|
131
|
+
"superseded",
|
|
132
|
+
"exploration",
|
|
133
|
+
"duplicate",
|
|
134
|
+
];
|
|
135
|
+
if (!args.reason || !validReasons.includes(args.reason)) {
|
|
136
|
+
logger.debug("Invalid discard reason provided: " + args.reason);
|
|
137
|
+
throw new Error(`Invalid reason '${args.reason}'. Use one of: ${validReasons.join(", ")}`);
|
|
138
|
+
}
|
|
139
|
+
// Validate hashes provided
|
|
140
|
+
if (!args.hashes || args.hashes.length === 0) {
|
|
141
|
+
throw new Error("No hashes provided. Use hash identifiers from tool outputs (e.g., #r_a1b2c#).");
|
|
142
|
+
}
|
|
143
|
+
// Resolve hashes to call IDs
|
|
144
|
+
const callIds = [];
|
|
145
|
+
const validHashes = [];
|
|
146
|
+
const unknownHashes = [];
|
|
147
|
+
for (const hash of args.hashes) {
|
|
148
|
+
const callId = state.hashToCallId.get(hash);
|
|
149
|
+
if (callId) {
|
|
150
|
+
// Skip if already pruned
|
|
151
|
+
if (!state.prune.toolIds.includes(callId)) {
|
|
152
|
+
callIds.push(callId);
|
|
153
|
+
validHashes.push(hash);
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
logger.debug(`Hash ${hash} already pruned, skipping`);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
unknownHashes.push(hash);
|
|
161
|
+
logger.warn(`Unknown hash: ${hash}`);
|
|
162
|
+
}
|
|
106
163
|
}
|
|
107
|
-
|
|
108
|
-
|
|
164
|
+
if (unknownHashes.length > 0 && callIds.length === 0) {
|
|
165
|
+
throw new Error(`Unknown hashes: ${unknownHashes.join(", ")}. Use hash identifiers from tool outputs.`);
|
|
166
|
+
}
|
|
167
|
+
if (callIds.length === 0) {
|
|
168
|
+
throw new Error("No valid hashes to discard. Tools may have already been discarded.");
|
|
169
|
+
}
|
|
170
|
+
logger.info(`Discard: ${validHashes.length} hashes resolved to ${callIds.length} call IDs`);
|
|
171
|
+
return executePruneOperationByCallIds(ctx, toolCtx, callIds, validHashes, args.reason, "Discard");
|
|
109
172
|
},
|
|
110
173
|
});
|
|
111
174
|
}
|
|
@@ -113,22 +176,112 @@ export function createExtractTool(ctx) {
|
|
|
113
176
|
return tool({
|
|
114
177
|
description: EXTRACT_TOOL_DESCRIPTION,
|
|
115
178
|
args: {
|
|
116
|
-
|
|
179
|
+
hashes: tool.schema
|
|
117
180
|
.array(tool.schema.string())
|
|
118
|
-
.describe("
|
|
181
|
+
.describe("Hash identifiers from tool outputs (e.g., ['#r_a1b2c#', '#g_d4e5f#'])"),
|
|
119
182
|
distillation: tool.schema
|
|
120
183
|
.array(tool.schema.string())
|
|
121
|
-
.describe("REQUIRED. Array of strings, one per
|
|
184
|
+
.describe("REQUIRED. Array of strings, one per hash (positional: distillation[0] is for hashes[0], etc.)"),
|
|
185
|
+
preserve: tool.schema
|
|
186
|
+
.boolean()
|
|
187
|
+
.optional()
|
|
188
|
+
.describe("Set to true to keep original tool output after extraction. Default: false"),
|
|
122
189
|
},
|
|
123
190
|
async execute(args, toolCtx) {
|
|
191
|
+
const { state, logger } = ctx;
|
|
124
192
|
if (!args.distillation || args.distillation.length === 0) {
|
|
125
|
-
|
|
126
|
-
throw new Error("Missing distillation. You must provide a distillation string for each
|
|
193
|
+
logger.debug("Extract tool called without distillation: " + JSON.stringify(args));
|
|
194
|
+
throw new Error("Missing distillation. You must provide a distillation string for each hash.");
|
|
195
|
+
}
|
|
196
|
+
if (!args.hashes || args.hashes.length === 0) {
|
|
197
|
+
throw new Error("No hashes provided. Use hash identifiers from tool outputs (e.g., #r_a1b2c#).");
|
|
198
|
+
}
|
|
199
|
+
// Resolve hashes to call IDs
|
|
200
|
+
const callIds = [];
|
|
201
|
+
const validHashes = [];
|
|
202
|
+
for (const hash of args.hashes) {
|
|
203
|
+
const callId = state.hashToCallId.get(hash);
|
|
204
|
+
if (callId && !state.prune.toolIds.includes(callId)) {
|
|
205
|
+
callIds.push(callId);
|
|
206
|
+
validHashes.push(hash);
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
logger.warn(`Unknown or already pruned hash: ${hash}`);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
if (callIds.length === 0) {
|
|
213
|
+
throw new Error("No valid hashes to extract. Tools may have already been discarded.");
|
|
127
214
|
}
|
|
128
215
|
// Log the distillation for debugging/analysis
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
216
|
+
logger.info("Distillation data received:");
|
|
217
|
+
logger.info(JSON.stringify(args.distillation, null, 2));
|
|
218
|
+
// If preserve is true, don't prune - just return success with distillation
|
|
219
|
+
if (args.preserve) {
|
|
220
|
+
logger.info(`Extract with preserve=true - not pruning ${callIds.length} tools`);
|
|
221
|
+
return `Extracted knowledge from ${callIds.length} tool(s). Original outputs preserved.\n\nDistilled knowledge:\n${args.distillation.map((d, i) => `${i + 1}. ${d}`).join("\n")}`;
|
|
222
|
+
}
|
|
223
|
+
return executePruneOperationByCallIds(ctx, toolCtx, callIds, validHashes, "extraction", "Extract", args.distillation);
|
|
224
|
+
},
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
export function createRestoreTool(ctx) {
|
|
228
|
+
return tool({
|
|
229
|
+
description: RESTORE_TOOL_DESCRIPTION,
|
|
230
|
+
args: {
|
|
231
|
+
hashes: tool.schema
|
|
232
|
+
.array(tool.schema.string())
|
|
233
|
+
.describe("Hash identifiers of pruned tools to restore (e.g., ['#r_a1b2c#', '#g_d4e5f#'])"),
|
|
234
|
+
},
|
|
235
|
+
async execute(args, toolCtx) {
|
|
236
|
+
const { state, logger } = ctx;
|
|
237
|
+
const sessionId = toolCtx.sessionID;
|
|
238
|
+
if (!args.hashes || args.hashes.length === 0) {
|
|
239
|
+
throw new Error("No hashes provided. Use hash identifiers from pruned tool outputs (e.g., #r_a1b2c#).");
|
|
240
|
+
}
|
|
241
|
+
// Resolve hashes to call IDs and restore
|
|
242
|
+
const restored = [];
|
|
243
|
+
const notFound = [];
|
|
244
|
+
const notPruned = [];
|
|
245
|
+
for (const hash of args.hashes) {
|
|
246
|
+
const callId = state.hashToCallId.get(hash);
|
|
247
|
+
if (!callId) {
|
|
248
|
+
notFound.push(hash);
|
|
249
|
+
continue;
|
|
250
|
+
}
|
|
251
|
+
// Check if it's in the prune list
|
|
252
|
+
const pruneIndex = state.prune.toolIds.indexOf(callId);
|
|
253
|
+
if (pruneIndex === -1) {
|
|
254
|
+
notPruned.push(hash);
|
|
255
|
+
continue;
|
|
256
|
+
}
|
|
257
|
+
// Remove from prune list (restore)
|
|
258
|
+
state.prune.toolIds.splice(pruneIndex, 1);
|
|
259
|
+
restored.push(hash);
|
|
260
|
+
logger.info(`Restored tool with hash ${hash} (callId: ${callId})`);
|
|
261
|
+
}
|
|
262
|
+
// Build result message
|
|
263
|
+
const lines = [];
|
|
264
|
+
if (restored.length > 0) {
|
|
265
|
+
lines.push(`Restored ${restored.length} tool(s):`);
|
|
266
|
+
for (const hash of restored) {
|
|
267
|
+
lines.push(` โ ${hash}`);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
if (notFound.length > 0) {
|
|
271
|
+
lines.push(`\nNot found (unknown hash):`);
|
|
272
|
+
for (const hash of notFound) {
|
|
273
|
+
lines.push(` โ ${hash}`);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
if (notPruned.length > 0) {
|
|
277
|
+
lines.push(`\nNot pruned (already active):`);
|
|
278
|
+
for (const hash of notPruned) {
|
|
279
|
+
lines.push(` โ ${hash}`);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
// Save state
|
|
283
|
+
saveSessionState(state, logger).catch((err) => logger.error("Failed to persist state", { error: err.message }));
|
|
284
|
+
return lines.join("\n");
|
|
132
285
|
},
|
|
133
286
|
});
|
|
134
287
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../lib/strategies/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../lib/strategies/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,11 @@ import type { Logger } from "../logger";
|
|
|
2
2
|
import type { SessionState } from "../state";
|
|
3
3
|
import { ToolParameterEntry } from "../state";
|
|
4
4
|
import { PluginConfig } from "../config";
|
|
5
|
-
export type PruneReason = "completion" | "noise" | "extraction";
|
|
5
|
+
export type PruneReason = "completion" | "noise" | "superseded" | "exploration" | "duplicate" | "extraction";
|
|
6
6
|
export declare const PRUNE_REASON_LABELS: Record<PruneReason, string>;
|
|
7
|
-
export
|
|
7
|
+
export interface NotifyOptions {
|
|
8
|
+
simplified?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function sendUnifiedNotification(client: any, logger: Logger, config: PluginConfig, state: SessionState, sessionId: string, pruneToolIds: string[], toolMetadata: Map<string, ToolParameterEntry>, reason: PruneReason | undefined, params: any, workingDirectory: string, distillation?: string[], options?: NotifyOptions): Promise<boolean>;
|
|
8
11
|
export declare function sendIgnoredMessage(client: any, sessionID: string, text: string, params: any, logger: Logger): Promise<void>;
|
|
9
12
|
//# sourceMappingURL=notification.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../../lib/ui/notification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAQ5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,MAAM,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../../lib/ui/notification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAQ5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,MAAM,MAAM,WAAW,GACjB,YAAY,GACZ,OAAO,GACP,YAAY,GACZ,aAAa,GACb,WAAW,GACX,YAAY,CAAA;AAClB,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAO3D,CAAA;AA+DD,MAAM,WAAW,aAAa;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,wBAAsB,uBAAuB,CACzC,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EAAE,EACtB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC7C,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,MAAM,EAAE,GAAG,EACX,gBAAgB,EAAE,MAAM,EACxB,YAAY,CAAC,EAAE,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,aAAa,GACxB,OAAO,CAAC,OAAO,CAAC,CA6BlB;AAED,wBAAsB,kBAAkB,CACpC,MAAM,EAAE,GAAG,EACX,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAiCf"}
|
|
@@ -2,31 +2,34 @@ import { countDistillationTokens, formatExtracted, formatPrunedItemsList, format
|
|
|
2
2
|
export const PRUNE_REASON_LABELS = {
|
|
3
3
|
completion: "Task Complete",
|
|
4
4
|
noise: "Noise Removal",
|
|
5
|
+
superseded: "Superseded",
|
|
6
|
+
exploration: "Dead-end Exploration",
|
|
7
|
+
duplicate: "Duplicate Content",
|
|
5
8
|
extraction: "Extraction",
|
|
6
9
|
};
|
|
7
10
|
function buildMinimalMessage(state, reason, distillation, showDistillation) {
|
|
8
11
|
const extractedTokens = countDistillationTokens(distillation);
|
|
9
12
|
const extractedSuffix = extractedTokens > 0 ? ` (extracted ${formatTokenCount(extractedTokens)})` : "";
|
|
10
13
|
const reasonSuffix = reason && extractedTokens === 0 ? ` โ ${PRUNE_REASON_LABELS[reason]}` : "";
|
|
11
|
-
let message = formatStatsHeader(state.stats.totalPruneTokens, state.stats.pruneTokenCounter) +
|
|
14
|
+
let message = formatStatsHeader(state.stats.totalPruneTokens, state.stats.pruneTokenCounter, state.stats.totalPruneMessages, state.stats.pruneMessageCounter) +
|
|
12
15
|
reasonSuffix +
|
|
13
16
|
extractedSuffix;
|
|
14
17
|
return message + formatExtracted(showDistillation ? distillation : undefined);
|
|
15
18
|
}
|
|
16
|
-
function buildDetailedMessage(state, reason, pruneToolIds, toolMetadata, workingDirectory, distillation, showDistillation) {
|
|
17
|
-
let message = formatStatsHeader(state.stats.totalPruneTokens, state.stats.pruneTokenCounter);
|
|
19
|
+
function buildDetailedMessage(state, reason, pruneToolIds, toolMetadata, workingDirectory, distillation, showDistillation, simplified = false) {
|
|
20
|
+
let message = formatStatsHeader(state.stats.totalPruneTokens, state.stats.pruneTokenCounter, state.stats.totalPruneMessages, state.stats.pruneMessageCounter);
|
|
18
21
|
if (pruneToolIds.length > 0) {
|
|
19
22
|
const pruneTokenCounterStr = `~${formatTokenCount(state.stats.pruneTokenCounter)}`;
|
|
20
23
|
const extractedTokens = countDistillationTokens(distillation);
|
|
21
24
|
const extractedSuffix = extractedTokens > 0 ? `, extracted ${formatTokenCount(extractedTokens)}` : "";
|
|
22
25
|
const reasonLabel = reason && extractedTokens === 0 ? ` โ ${PRUNE_REASON_LABELS[reason]}` : "";
|
|
23
26
|
message += `\n\nโฃ Pruning (${pruneTokenCounterStr}${extractedSuffix})${reasonLabel}`;
|
|
24
|
-
const itemLines = formatPrunedItemsList(pruneToolIds, toolMetadata, workingDirectory);
|
|
27
|
+
const itemLines = formatPrunedItemsList(pruneToolIds, toolMetadata, workingDirectory, simplified);
|
|
25
28
|
message += "\n" + itemLines.join("\n");
|
|
26
29
|
}
|
|
27
30
|
return (message + formatExtracted(showDistillation ? distillation : undefined)).trim();
|
|
28
31
|
}
|
|
29
|
-
export async function sendUnifiedNotification(client, logger, config, state, sessionId, pruneToolIds, toolMetadata, reason, params, workingDirectory, distillation) {
|
|
32
|
+
export async function sendUnifiedNotification(client, logger, config, state, sessionId, pruneToolIds, toolMetadata, reason, params, workingDirectory, distillation, options) {
|
|
30
33
|
const hasPruned = pruneToolIds.length > 0;
|
|
31
34
|
if (!hasPruned) {
|
|
32
35
|
return false;
|
|
@@ -35,9 +38,10 @@ export async function sendUnifiedNotification(client, logger, config, state, ses
|
|
|
35
38
|
return false;
|
|
36
39
|
}
|
|
37
40
|
const showDistillation = config.tools.extract.showDistillation;
|
|
41
|
+
const simplified = options?.simplified ?? false;
|
|
38
42
|
const message = config.pruneNotification === "minimal"
|
|
39
43
|
? buildMinimalMessage(state, reason, distillation, showDistillation)
|
|
40
|
-
: buildDetailedMessage(state, reason, pruneToolIds, toolMetadata, workingDirectory, distillation, showDistillation);
|
|
44
|
+
: buildDetailedMessage(state, reason, pruneToolIds, toolMetadata, workingDirectory, distillation, showDistillation, simplified);
|
|
41
45
|
await sendIgnoredMessage(client, sessionId, message, params, logger);
|
|
42
46
|
return true;
|
|
43
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification.js","sourceRoot":"","sources":["../../../lib/ui/notification.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,GACnB,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"notification.js","sourceRoot":"","sources":["../../../lib/ui/notification.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/ui/utils.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { ToolParameterEntry } from "../state";
|
|
2
2
|
export declare function countDistillationTokens(distillation?: string[]): number;
|
|
3
3
|
export declare function formatExtracted(distillation?: string[]): string;
|
|
4
|
-
export declare function formatStatsHeader(totalTokensSaved: number, pruneTokenCounter: number): string;
|
|
4
|
+
export declare function formatStatsHeader(totalTokensSaved: number, pruneTokenCounter: number, totalMessagesPruned: number, messagesPruned: number): string;
|
|
5
5
|
export declare function formatTokenCount(tokens: number): string;
|
|
6
6
|
export declare function truncate(str: string, maxLen?: number): string;
|
|
7
7
|
export declare function shortenPath(input: string, workingDirectory?: string): string;
|
|
8
|
-
export declare function formatPrunedItemsList(pruneToolIds: string[], toolMetadata: Map<string, ToolParameterEntry>, workingDirectory?: string): string[];
|
|
9
|
-
export declare function formatPruningResultForTool(prunedIds: string[], toolMetadata: Map<string, ToolParameterEntry>, workingDirectory?: string): string;
|
|
8
|
+
export declare function formatPrunedItemsList(pruneToolIds: string[], toolMetadata: Map<string, ToolParameterEntry>, workingDirectory?: string, simplified?: boolean): string[];
|
|
9
|
+
export declare function formatPruningResultForTool(prunedIds: string[], toolMetadata: Map<string, ToolParameterEntry>, workingDirectory?: string, simplified?: boolean): string;
|
|
10
10
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/ui/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAI7C,wBAAgB,uBAAuB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAGvE;AAED,wBAAgB,eAAe,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAS/D;AAED,wBAAgB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/ui/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAI7C,wBAAgB,uBAAuB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAGvE;AAED,wBAAgB,eAAe,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAS/D;AAED,wBAAgB,iBAAiB,CAC7B,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM,EACzB,mBAAmB,EAAE,MAAM,EAC3B,cAAc,EAAE,MAAM,GACvB,MAAM,CAgBR;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKvD;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,MAAW,GAAG,MAAM,CAGjE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAU5E;AAeD,wBAAgB,qBAAqB,CACjC,YAAY,EAAE,MAAM,EAAE,EACtB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC7C,gBAAgB,CAAC,EAAE,MAAM,EACzB,UAAU,GAAE,OAAe,GAC5B,MAAM,EAAE,CAwCV;AAED,wBAAgB,0BAA0B,CACtC,SAAS,EAAE,MAAM,EAAE,EACnB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC7C,gBAAgB,CAAC,EAAE,MAAM,EACzB,UAAU,GAAE,OAAe,GAC5B,MAAM,CAWR"}
|
package/dist/lib/ui/utils.js
CHANGED
|
@@ -15,15 +15,26 @@ export function formatExtracted(distillation) {
|
|
|
15
15
|
}
|
|
16
16
|
return result;
|
|
17
17
|
}
|
|
18
|
-
export function formatStatsHeader(totalTokensSaved, pruneTokenCounter) {
|
|
19
|
-
const
|
|
20
|
-
|
|
18
|
+
export function formatStatsHeader(totalTokensSaved, pruneTokenCounter, totalMessagesPruned, messagesPruned) {
|
|
19
|
+
const totalMessages = totalMessagesPruned + messagesPruned;
|
|
20
|
+
const totalTokens = totalTokensSaved + pruneTokenCounter;
|
|
21
|
+
const totalTokensStr = `~${formatTokenCount(totalTokens)}`;
|
|
22
|
+
// Show addition indicator for current operation
|
|
23
|
+
const additionParts = [];
|
|
24
|
+
if (messagesPruned > 0) {
|
|
25
|
+
additionParts.push(`+${messagesPruned} ๐ฌ`);
|
|
26
|
+
}
|
|
27
|
+
if (pruneTokenCounter > 0) {
|
|
28
|
+
additionParts.push(`+${formatTokenCount(pruneTokenCounter)} ๐ช`);
|
|
29
|
+
}
|
|
30
|
+
const additionSuffix = additionParts.length > 0 ? ` (${additionParts.join(", ")})` : "";
|
|
31
|
+
return `acp - ${totalMessages} ๐ฌ ยท ${totalTokensStr} ๐ช${additionSuffix}`;
|
|
21
32
|
}
|
|
22
33
|
export function formatTokenCount(tokens) {
|
|
23
34
|
if (tokens >= 1000) {
|
|
24
|
-
return `${(tokens / 1000).toFixed(1)}K`.replace(".0K", "K")
|
|
35
|
+
return `${(tokens / 1000).toFixed(1)}K`.replace(".0K", "K");
|
|
25
36
|
}
|
|
26
|
-
return tokens.toString()
|
|
37
|
+
return tokens.toString();
|
|
27
38
|
}
|
|
28
39
|
export function truncate(str, maxLen = 60) {
|
|
29
40
|
if (str.length <= maxLen)
|
|
@@ -32,7 +43,7 @@ export function truncate(str, maxLen = 60) {
|
|
|
32
43
|
}
|
|
33
44
|
export function shortenPath(input, workingDirectory) {
|
|
34
45
|
const inPathMatch = input.match(/^(.+) in (.+)$/);
|
|
35
|
-
if (inPathMatch) {
|
|
46
|
+
if (inPathMatch?.[1] && inPathMatch[2]) {
|
|
36
47
|
const prefix = inPathMatch[1];
|
|
37
48
|
const pathPart = inPathMatch[2];
|
|
38
49
|
const shortenedPath = shortenSinglePath(pathPart, workingDirectory);
|
|
@@ -51,7 +62,7 @@ function shortenSinglePath(path, workingDirectory) {
|
|
|
51
62
|
}
|
|
52
63
|
return path;
|
|
53
64
|
}
|
|
54
|
-
export function formatPrunedItemsList(pruneToolIds, toolMetadata, workingDirectory) {
|
|
65
|
+
export function formatPrunedItemsList(pruneToolIds, toolMetadata, workingDirectory, simplified = false) {
|
|
55
66
|
const lines = [];
|
|
56
67
|
for (const id of pruneToolIds) {
|
|
57
68
|
const metadata = toolMetadata.get(id);
|
|
@@ -60,27 +71,42 @@ export function formatPrunedItemsList(pruneToolIds, toolMetadata, workingDirecto
|
|
|
60
71
|
if (paramKey) {
|
|
61
72
|
// Use 60 char limit to match notification style
|
|
62
73
|
const displayKey = truncate(shortenPath(paramKey, workingDirectory), 60);
|
|
63
|
-
|
|
74
|
+
if (simplified) {
|
|
75
|
+
lines.push(displayKey);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
lines.push(`โ ${metadata.tool}: ${displayKey}`);
|
|
79
|
+
}
|
|
64
80
|
}
|
|
65
81
|
else {
|
|
66
|
-
|
|
82
|
+
if (simplified) {
|
|
83
|
+
lines.push(metadata.tool);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
lines.push(`โ ${metadata.tool}`);
|
|
87
|
+
}
|
|
67
88
|
}
|
|
68
89
|
}
|
|
69
90
|
}
|
|
70
91
|
const knownCount = pruneToolIds.filter((id) => toolMetadata.has(id)).length;
|
|
71
92
|
const unknownCount = pruneToolIds.length - knownCount;
|
|
72
93
|
if (unknownCount > 0) {
|
|
73
|
-
|
|
94
|
+
if (simplified) {
|
|
95
|
+
lines.push(`(${unknownCount} tool${unknownCount > 1 ? "s" : ""} with unknown metadata)`);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
lines.push(`โ (${unknownCount} tool${unknownCount > 1 ? "s" : ""} with unknown metadata)`);
|
|
99
|
+
}
|
|
74
100
|
}
|
|
75
101
|
return lines;
|
|
76
102
|
}
|
|
77
|
-
export function formatPruningResultForTool(prunedIds, toolMetadata, workingDirectory) {
|
|
103
|
+
export function formatPruningResultForTool(prunedIds, toolMetadata, workingDirectory, simplified = false) {
|
|
78
104
|
const lines = [];
|
|
79
105
|
lines.push(`Context pruning complete. Pruned ${prunedIds.length} tool outputs.`);
|
|
80
106
|
lines.push("");
|
|
81
107
|
if (prunedIds.length > 0) {
|
|
82
108
|
lines.push(`Semantically pruned (${prunedIds.length}):`);
|
|
83
|
-
lines.push(...formatPrunedItemsList(prunedIds, toolMetadata, workingDirectory));
|
|
109
|
+
lines.push(...formatPrunedItemsList(prunedIds, toolMetadata, workingDirectory, simplified));
|
|
84
110
|
}
|
|
85
111
|
return lines.join("\n").trim();
|
|
86
112
|
}
|
package/dist/lib/ui/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../lib/ui/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEjD,MAAM,UAAU,uBAAuB,CAAC,YAAuB;IAC3D,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACxD,OAAO,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAC/C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,YAAuB;IACnD,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,EAAE,CAAA;IACb,CAAC;IACD,IAAI,MAAM,GAAG,iBAAiB,CAAA;IAC9B,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,IAAI,UAAU,OAAO,EAAE,CAAA;IACjC,CAAC;IACD,OAAO,MAAM,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,iBAAiB,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../lib/ui/utils.ts"],"names":[],"mappings":"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"}
|