@tarquinen/opencode-dcp 0.3.9 ā 0.3.10
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/index.d.ts.map +1 -1
- package/dist/index.js +35 -275
- package/dist/index.js.map +1 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +0 -2
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/janitor.d.ts.map +1 -1
- package/dist/lib/janitor.js +63 -215
- package/dist/lib/janitor.js.map +1 -1
- package/dist/lib/logger.d.ts +5 -0
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +34 -17
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/model-selector.d.ts.map +1 -1
- package/dist/lib/model-selector.js +4 -71
- package/dist/lib/model-selector.js.map +1 -1
- package/dist/lib/state.d.ts +7 -0
- package/dist/lib/state.d.ts.map +1 -1
- package/dist/lib/state.js +13 -0
- package/dist/lib/state.js.map +1 -1
- package/dist/lib/tokenizer.d.ts +1 -3
- package/dist/lib/tokenizer.d.ts.map +1 -1
- package/dist/lib/tokenizer.js +4 -17
- package/dist/lib/tokenizer.js.map +1 -1
- package/package.json +1 -1
package/dist/lib/janitor.js
CHANGED
|
@@ -51,24 +51,16 @@ export class Janitor {
|
|
|
51
51
|
}]
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
|
-
this.logger.debug("janitor", "Sent ignored message to session", {
|
|
55
|
-
sessionID,
|
|
56
|
-
textLength: text.length
|
|
57
|
-
});
|
|
58
54
|
}
|
|
59
55
|
catch (error) {
|
|
60
|
-
this.logger.error("janitor", "Failed to send
|
|
61
|
-
sessionID,
|
|
56
|
+
this.logger.error("janitor", "Failed to send notification", {
|
|
62
57
|
error: error.message
|
|
63
58
|
});
|
|
64
|
-
// Don't fail the operation if sending the message fails
|
|
65
59
|
}
|
|
66
60
|
}
|
|
67
61
|
async run(sessionID) {
|
|
68
|
-
this.logger.info("janitor", "Starting analysis", { sessionID });
|
|
69
62
|
try {
|
|
70
63
|
// Fetch session info and messages from OpenCode API
|
|
71
|
-
this.logger.debug("janitor", "Fetching session info and messages", { sessionID });
|
|
72
64
|
const [sessionInfoResponse, messagesResponse] = await Promise.all([
|
|
73
65
|
this.client.session.get({ path: { id: sessionID } }),
|
|
74
66
|
this.client.session.messages({ path: { id: sessionID }, query: { limit: 100 } })
|
|
@@ -76,16 +68,8 @@ export class Janitor {
|
|
|
76
68
|
const sessionInfo = sessionInfoResponse.data;
|
|
77
69
|
// Handle the response format - it should be { data: Array<{info, parts}> } or just the array
|
|
78
70
|
const messages = messagesResponse.data || messagesResponse;
|
|
79
|
-
this.logger.debug("janitor", "Retrieved messages", {
|
|
80
|
-
sessionID,
|
|
81
|
-
messageCount: messages.length
|
|
82
|
-
});
|
|
83
71
|
// If there are no messages or very few, skip analysis
|
|
84
72
|
if (!messages || messages.length < 3) {
|
|
85
|
-
this.logger.debug("janitor", "Too few messages to analyze, skipping", {
|
|
86
|
-
sessionID,
|
|
87
|
-
messageCount: messages?.length || 0
|
|
88
|
-
});
|
|
89
73
|
return;
|
|
90
74
|
}
|
|
91
75
|
// Extract tool call IDs from the session and track their output sizes
|
|
@@ -111,83 +95,32 @@ export class Janitor {
|
|
|
111
95
|
tool: part.tool,
|
|
112
96
|
parameters: parameters
|
|
113
97
|
});
|
|
114
|
-
// Debug: log what we're storing
|
|
115
|
-
if (normalizedId.startsWith('prt_') || part.tool === "read" || part.tool === "list") {
|
|
116
|
-
this.logger.debug("janitor", "Storing tool metadata", {
|
|
117
|
-
sessionID,
|
|
118
|
-
callID: normalizedId,
|
|
119
|
-
tool: part.tool,
|
|
120
|
-
hasParameters: !!parameters,
|
|
121
|
-
hasCached: !!cachedData,
|
|
122
|
-
parameters: parameters
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
98
|
// Track the output content for size calculation
|
|
126
99
|
if (part.state?.status === "completed" && part.state.output) {
|
|
127
100
|
toolOutputs.set(normalizedId, part.state.output);
|
|
128
101
|
}
|
|
129
102
|
// Check if this is a batch tool by looking at the tool name
|
|
130
103
|
if (part.tool === "batch") {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
batchToolChildren.set(batchId, []);
|
|
134
|
-
this.logger.debug("janitor", "Found batch tool", {
|
|
135
|
-
sessionID,
|
|
136
|
-
batchID: currentBatchId
|
|
137
|
-
});
|
|
104
|
+
currentBatchId = normalizedId;
|
|
105
|
+
batchToolChildren.set(normalizedId, []);
|
|
138
106
|
}
|
|
139
107
|
// If we're inside a batch and this is a prt_ (parallel) tool call, it's a child
|
|
140
108
|
else if (currentBatchId && normalizedId.startsWith('prt_')) {
|
|
141
|
-
|
|
142
|
-
children.push(normalizedId);
|
|
143
|
-
this.logger.debug("janitor", "Added child to batch tool", {
|
|
144
|
-
sessionID,
|
|
145
|
-
batchID: currentBatchId,
|
|
146
|
-
childID: normalizedId,
|
|
147
|
-
totalChildren: children.length
|
|
148
|
-
});
|
|
109
|
+
batchToolChildren.get(currentBatchId).push(normalizedId);
|
|
149
110
|
}
|
|
150
111
|
// If we hit a non-batch, non-prt_ tool, we're out of the batch
|
|
151
112
|
else if (currentBatchId && !normalizedId.startsWith('prt_')) {
|
|
152
|
-
this.logger.debug("janitor", "Batch tool ended", {
|
|
153
|
-
sessionID,
|
|
154
|
-
batchID: currentBatchId,
|
|
155
|
-
totalChildren: batchToolChildren.get(currentBatchId).length
|
|
156
|
-
});
|
|
157
113
|
currentBatchId = null;
|
|
158
114
|
}
|
|
159
115
|
}
|
|
160
116
|
}
|
|
161
117
|
}
|
|
162
118
|
}
|
|
163
|
-
// Log summary of batch tools found
|
|
164
|
-
if (batchToolChildren.size > 0) {
|
|
165
|
-
this.logger.debug("janitor", "Batch tool summary", {
|
|
166
|
-
sessionID,
|
|
167
|
-
batchCount: batchToolChildren.size,
|
|
168
|
-
batches: Array.from(batchToolChildren.entries()).map(([id, children]) => ({
|
|
169
|
-
batchID: id,
|
|
170
|
-
childCount: children.length,
|
|
171
|
-
childIDs: children
|
|
172
|
-
}))
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
119
|
// Get already pruned IDs to filter them out
|
|
176
120
|
const alreadyPrunedIds = await this.stateManager.get(sessionID);
|
|
177
121
|
const unprunedToolCallIds = toolCallIds.filter(id => !alreadyPrunedIds.includes(id));
|
|
178
|
-
this.logger.debug("janitor", "Found tool calls in session", {
|
|
179
|
-
sessionID,
|
|
180
|
-
toolCallCount: toolCallIds.length,
|
|
181
|
-
toolCallIds,
|
|
182
|
-
alreadyPrunedCount: alreadyPrunedIds.length,
|
|
183
|
-
alreadyPrunedIds: alreadyPrunedIds.slice(0, 5), // Show first 5 for brevity
|
|
184
|
-
unprunedCount: unprunedToolCallIds.length
|
|
185
|
-
});
|
|
186
122
|
// If there are no unpruned tool calls, skip analysis
|
|
187
123
|
if (unprunedToolCallIds.length === 0) {
|
|
188
|
-
this.logger.debug("janitor", "No unpruned tool calls found, skipping analysis", {
|
|
189
|
-
sessionID
|
|
190
|
-
});
|
|
191
124
|
return;
|
|
192
125
|
}
|
|
193
126
|
// ============================================================
|
|
@@ -196,11 +129,11 @@ export class Janitor {
|
|
|
196
129
|
const dedupeResult = detectDuplicates(toolMetadata, unprunedToolCallIds, this.protectedTools);
|
|
197
130
|
const deduplicatedIds = dedupeResult.duplicateIds;
|
|
198
131
|
const deduplicationDetails = dedupeResult.deduplicationDetails;
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
});
|
|
132
|
+
// Calculate candidates available for pruning (excludes protected tools)
|
|
133
|
+
const candidateCount = unprunedToolCallIds.filter(id => {
|
|
134
|
+
const metadata = toolMetadata.get(id);
|
|
135
|
+
return !metadata || !this.protectedTools.includes(metadata.tool);
|
|
136
|
+
}).length;
|
|
204
137
|
// ============================================================
|
|
205
138
|
// PHASE 2: LLM ANALYSIS (only runs in "smart" mode)
|
|
206
139
|
// ============================================================
|
|
@@ -220,39 +153,15 @@ export class Janitor {
|
|
|
220
153
|
}
|
|
221
154
|
return true;
|
|
222
155
|
});
|
|
223
|
-
if (protectedToolCallIds.length > 0) {
|
|
224
|
-
this.logger.debug("janitor", "Protected tools excluded from pruning", {
|
|
225
|
-
sessionID,
|
|
226
|
-
protectedCount: protectedToolCallIds.length,
|
|
227
|
-
protectedTools: protectedToolCallIds.map(id => {
|
|
228
|
-
const metadata = toolMetadata.get(id);
|
|
229
|
-
return { id, tool: metadata?.tool };
|
|
230
|
-
})
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
156
|
// Run LLM analysis only if there are prunable tools
|
|
234
157
|
if (prunableToolCallIds.length > 0) {
|
|
235
|
-
this.logger.info("janitor", "Starting LLM analysis", {
|
|
236
|
-
sessionID,
|
|
237
|
-
candidateCount: prunableToolCallIds.length
|
|
238
|
-
});
|
|
239
158
|
// Select appropriate model with intelligent fallback
|
|
240
159
|
const cachedModelInfo = this.modelCache.get(sessionID);
|
|
241
160
|
const sessionModelInfo = extractModelFromSession(sessionInfo, this.logger);
|
|
242
161
|
const currentModelInfo = cachedModelInfo || sessionModelInfo;
|
|
243
|
-
if (cachedModelInfo) {
|
|
244
|
-
this.logger.debug("janitor", "Using cached model info", {
|
|
245
|
-
sessionID,
|
|
246
|
-
providerID: cachedModelInfo.providerID,
|
|
247
|
-
modelID: cachedModelInfo.modelID
|
|
248
|
-
});
|
|
249
|
-
}
|
|
250
162
|
const modelSelection = await selectModel(currentModelInfo, this.logger, this.configModel, this.workingDirectory);
|
|
251
|
-
this.logger.info("janitor",
|
|
252
|
-
|
|
253
|
-
modelInfo: modelSelection.modelInfo,
|
|
254
|
-
source: modelSelection.source,
|
|
255
|
-
reason: modelSelection.reason
|
|
163
|
+
this.logger.info("janitor", `Model: ${modelSelection.modelInfo.providerID}/${modelSelection.modelInfo.modelID}`, {
|
|
164
|
+
source: modelSelection.source
|
|
256
165
|
});
|
|
257
166
|
// Show toast if we had to fallback from a failed model
|
|
258
167
|
if (modelSelection.failedModel && this.showModelErrorToasts) {
|
|
@@ -265,53 +174,27 @@ export class Janitor {
|
|
|
265
174
|
duration: 5000
|
|
266
175
|
}
|
|
267
176
|
});
|
|
268
|
-
this.logger.info("janitor", "Toast notification shown for model fallback", {
|
|
269
|
-
failedModel: modelSelection.failedModel,
|
|
270
|
-
selectedModel: modelSelection.modelInfo
|
|
271
|
-
});
|
|
272
177
|
}
|
|
273
178
|
catch (toastError) {
|
|
274
|
-
this.logger.error("janitor", "Failed to show toast notification", {
|
|
275
|
-
error: toastError.message
|
|
276
|
-
});
|
|
277
179
|
// Don't fail the whole operation if toast fails
|
|
278
180
|
}
|
|
279
181
|
}
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
failedModel: modelSelection.failedModel,
|
|
283
|
-
selectedModel: modelSelection.modelInfo
|
|
284
|
-
});
|
|
285
|
-
}
|
|
286
|
-
// Log comprehensive stats before AI call
|
|
287
|
-
this.logger.info("janitor", "Preparing AI analysis", {
|
|
288
|
-
sessionID,
|
|
289
|
-
totalToolCallsInSession: toolCallIds.length,
|
|
290
|
-
alreadyPrunedCount: alreadyPrunedIds.length,
|
|
291
|
-
deduplicatedCount: deduplicatedIds.length,
|
|
292
|
-
protectedToolsCount: protectedToolCallIds.length,
|
|
293
|
-
candidatesForPruning: prunableToolCallIds.length,
|
|
294
|
-
candidateTools: prunableToolCallIds.map(id => {
|
|
295
|
-
const meta = toolMetadata.get(id);
|
|
296
|
-
return meta ? `${meta.tool}[${id.substring(0, 12)}...]` : id.substring(0, 12) + '...';
|
|
297
|
-
}).slice(0, 10), // Show first 10 for brevity
|
|
298
|
-
batchToolCount: batchToolChildren.size,
|
|
299
|
-
batchDetails: Array.from(batchToolChildren.entries()).map(([batchId, children]) => ({
|
|
300
|
-
batchId: batchId.substring(0, 20) + '...',
|
|
301
|
-
childCount: children.length
|
|
302
|
-
}))
|
|
303
|
-
});
|
|
304
|
-
this.logger.debug("janitor", "Starting shadow inference", { sessionID });
|
|
182
|
+
// Lazy import - only load the 2.8MB ai package when actually needed
|
|
183
|
+
const { generateObject } = await import('ai');
|
|
305
184
|
// Replace already-pruned tool outputs to save tokens in janitor context
|
|
306
185
|
const allPrunedSoFar = [...alreadyPrunedIds, ...deduplicatedIds];
|
|
307
186
|
const sanitizedMessages = this.replacePrunedToolOutputs(messages, allPrunedSoFar);
|
|
308
|
-
|
|
187
|
+
// Build the prompt for analysis
|
|
188
|
+
const analysisPrompt = buildAnalysisPrompt(prunableToolCallIds, sanitizedMessages, this.protectedTools, allPrunedSoFar, protectedToolCallIds);
|
|
189
|
+
// Save janitor shadow context directly (auth providers may bypass globalThis.fetch)
|
|
190
|
+
await this.logger.saveWrappedContext("janitor-shadow", [{ role: "user", content: analysisPrompt }], {
|
|
309
191
|
sessionID,
|
|
310
|
-
|
|
311
|
-
|
|
192
|
+
modelProvider: modelSelection.modelInfo.providerID,
|
|
193
|
+
modelID: modelSelection.modelInfo.modelID,
|
|
194
|
+
candidateToolCount: prunableToolCallIds.length,
|
|
195
|
+
alreadyPrunedCount: allPrunedSoFar.length,
|
|
196
|
+
protectedToolCount: protectedToolCallIds.length
|
|
312
197
|
});
|
|
313
|
-
// Lazy import - only load the 2.8MB ai package when actually needed
|
|
314
|
-
const { generateObject } = await import('ai');
|
|
315
198
|
// Analyze which tool calls are obsolete
|
|
316
199
|
const result = await generateObject({
|
|
317
200
|
model: modelSelection.model,
|
|
@@ -319,47 +202,23 @@ export class Janitor {
|
|
|
319
202
|
pruned_tool_call_ids: z.array(z.string()),
|
|
320
203
|
reasoning: z.string(),
|
|
321
204
|
}),
|
|
322
|
-
prompt:
|
|
205
|
+
prompt: analysisPrompt
|
|
323
206
|
});
|
|
324
207
|
// Filter LLM results to only include IDs that were actually candidates
|
|
325
208
|
// (LLM sometimes returns duplicate IDs that were already filtered out)
|
|
326
209
|
const rawLlmPrunedIds = result.object.pruned_tool_call_ids;
|
|
327
210
|
llmPrunedIds = rawLlmPrunedIds.filter(id => prunableToolCallIds.includes(id.toLowerCase()));
|
|
328
|
-
if (
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
rawCount: rawLlmPrunedIds.length,
|
|
332
|
-
filteredCount: llmPrunedIds.length,
|
|
333
|
-
invalidIds: rawLlmPrunedIds.filter(id => !prunableToolCallIds.includes(id.toLowerCase()))
|
|
334
|
-
});
|
|
211
|
+
if (llmPrunedIds.length > 0) {
|
|
212
|
+
const reasoning = result.object.reasoning.replace(/\n+/g, ' ').replace(/\s+/g, ' ').trim();
|
|
213
|
+
this.logger.info("janitor", `LLM reasoning: ${reasoning.substring(0, 200)}${reasoning.length > 200 ? '...' : ''}`);
|
|
335
214
|
}
|
|
336
|
-
this.logger.info("janitor", "LLM analysis complete", {
|
|
337
|
-
sessionID,
|
|
338
|
-
llmPrunedCount: llmPrunedIds.length,
|
|
339
|
-
reasoning: result.object.reasoning
|
|
340
|
-
});
|
|
341
|
-
}
|
|
342
|
-
else {
|
|
343
|
-
this.logger.info("janitor", "No prunable tools for LLM analysis", {
|
|
344
|
-
sessionID,
|
|
345
|
-
deduplicatedCount: deduplicatedIds.length,
|
|
346
|
-
protectedCount: protectedToolCallIds.length
|
|
347
|
-
});
|
|
348
215
|
}
|
|
349
216
|
}
|
|
350
|
-
else {
|
|
351
|
-
this.logger.info("janitor", "Skipping LLM analysis (auto mode)", {
|
|
352
|
-
sessionID,
|
|
353
|
-
deduplicatedCount: deduplicatedIds.length
|
|
354
|
-
});
|
|
355
|
-
}
|
|
356
|
-
// If mode is "auto", llmPrunedIds stays empty
|
|
357
217
|
// ============================================================
|
|
358
218
|
// PHASE 3: COMBINE & EXPAND
|
|
359
219
|
// ============================================================
|
|
360
220
|
const newlyPrunedIds = [...deduplicatedIds, ...llmPrunedIds];
|
|
361
221
|
if (newlyPrunedIds.length === 0) {
|
|
362
|
-
this.logger.info("janitor", "No tools to prune", { sessionID });
|
|
363
222
|
return;
|
|
364
223
|
}
|
|
365
224
|
// Expand batch tool IDs to include their children
|
|
@@ -370,12 +229,6 @@ export class Janitor {
|
|
|
370
229
|
// If this is a batch tool, add all its children
|
|
371
230
|
const children = batchToolChildren.get(normalizedId);
|
|
372
231
|
if (children) {
|
|
373
|
-
this.logger.debug("janitor", "Expanding batch tool to include children", {
|
|
374
|
-
sessionID,
|
|
375
|
-
batchID: normalizedId,
|
|
376
|
-
childCount: children.length,
|
|
377
|
-
childIDs: children
|
|
378
|
-
});
|
|
379
232
|
children.forEach(childId => expandedPrunedIds.add(childId));
|
|
380
233
|
}
|
|
381
234
|
}
|
|
@@ -383,30 +236,18 @@ export class Janitor {
|
|
|
383
236
|
const finalNewlyPrunedIds = Array.from(expandedPrunedIds).filter(id => !alreadyPrunedIds.includes(id));
|
|
384
237
|
// finalPrunedIds includes everything (new + already pruned) for logging
|
|
385
238
|
const finalPrunedIds = Array.from(expandedPrunedIds);
|
|
386
|
-
this.logger.info("janitor", "Analysis complete", {
|
|
387
|
-
sessionID,
|
|
388
|
-
prunedCount: finalPrunedIds.length,
|
|
389
|
-
deduplicatedCount: deduplicatedIds.length,
|
|
390
|
-
llmPrunedCount: llmPrunedIds.length,
|
|
391
|
-
prunedIds: finalPrunedIds
|
|
392
|
-
});
|
|
393
|
-
this.logger.debug("janitor", "Pruning ID details", {
|
|
394
|
-
sessionID,
|
|
395
|
-
alreadyPrunedCount: alreadyPrunedIds.length,
|
|
396
|
-
alreadyPrunedIds: alreadyPrunedIds,
|
|
397
|
-
finalPrunedCount: finalPrunedIds.length,
|
|
398
|
-
finalPrunedIds: finalPrunedIds,
|
|
399
|
-
newlyPrunedCount: finalNewlyPrunedIds.length,
|
|
400
|
-
newlyPrunedIds: finalNewlyPrunedIds
|
|
401
|
-
});
|
|
402
239
|
// ============================================================
|
|
403
240
|
// PHASE 4: NOTIFICATION
|
|
404
241
|
// ============================================================
|
|
242
|
+
// Calculate token savings once (used by both notification and log)
|
|
243
|
+
const tokensSaved = await this.calculateTokensSaved(finalNewlyPrunedIds, toolOutputs);
|
|
244
|
+
// Accumulate session stats (for showing cumulative totals in UI)
|
|
245
|
+
const sessionStats = await this.stateManager.addStats(sessionID, finalNewlyPrunedIds.length, tokensSaved);
|
|
405
246
|
if (this.pruningMode === "auto") {
|
|
406
|
-
await this.sendAutoModeNotification(sessionID, deduplicatedIds, deduplicationDetails,
|
|
247
|
+
await this.sendAutoModeNotification(sessionID, deduplicatedIds, deduplicationDetails, tokensSaved, sessionStats);
|
|
407
248
|
}
|
|
408
249
|
else {
|
|
409
|
-
await this.sendSmartModeNotification(sessionID, deduplicatedIds, deduplicationDetails, llmPrunedIds, toolMetadata,
|
|
250
|
+
await this.sendSmartModeNotification(sessionID, deduplicatedIds, deduplicationDetails, llmPrunedIds, toolMetadata, tokensSaved, sessionStats);
|
|
410
251
|
}
|
|
411
252
|
// ============================================================
|
|
412
253
|
// PHASE 5: STATE UPDATE
|
|
@@ -414,17 +255,17 @@ export class Janitor {
|
|
|
414
255
|
// Merge newly pruned IDs with existing ones (using expanded IDs)
|
|
415
256
|
const allPrunedIds = [...new Set([...alreadyPrunedIds, ...finalPrunedIds])];
|
|
416
257
|
await this.stateManager.set(sessionID, allPrunedIds);
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
258
|
+
// Log final summary
|
|
259
|
+
// Format: "Pruned 5/5 tools (~4.2K tokens), 0 kept" or with breakdown if both duplicate and llm
|
|
260
|
+
const prunedCount = finalNewlyPrunedIds.length;
|
|
261
|
+
const keptCount = candidateCount - prunedCount;
|
|
262
|
+
const hasBoth = deduplicatedIds.length > 0 && llmPrunedIds.length > 0;
|
|
263
|
+
const breakdown = hasBoth ? ` (${deduplicatedIds.length} duplicate, ${llmPrunedIds.length} llm)` : "";
|
|
264
|
+
this.logger.info("janitor", `Pruned ${prunedCount}/${candidateCount} tools${breakdown}, ${keptCount} kept (~${formatTokenCount(tokensSaved)} tokens)`);
|
|
422
265
|
}
|
|
423
266
|
catch (error) {
|
|
424
267
|
this.logger.error("janitor", "Analysis failed", {
|
|
425
|
-
|
|
426
|
-
error: error.message,
|
|
427
|
-
stack: error.stack
|
|
268
|
+
error: error.message
|
|
428
269
|
});
|
|
429
270
|
// Don't throw - this is a fire-and-forget background process
|
|
430
271
|
// Silently fail and try again on next idle event
|
|
@@ -506,7 +347,7 @@ export class Janitor {
|
|
|
506
347
|
}
|
|
507
348
|
if (outputsToTokenize.length > 0) {
|
|
508
349
|
// Use batch tokenization for efficiency (lazy loads gpt-tokenizer)
|
|
509
|
-
const tokenCounts = await estimateTokensBatch(outputsToTokenize
|
|
350
|
+
const tokenCounts = await estimateTokensBatch(outputsToTokenize);
|
|
510
351
|
return tokenCounts.reduce((sum, count) => sum + count, 0);
|
|
511
352
|
}
|
|
512
353
|
return 0;
|
|
@@ -553,19 +394,22 @@ export class Janitor {
|
|
|
553
394
|
/**
|
|
554
395
|
* Send minimal summary notification (just tokens saved and count)
|
|
555
396
|
*/
|
|
556
|
-
async sendMinimalNotification(sessionID, totalPruned,
|
|
397
|
+
async sendMinimalNotification(sessionID, totalPruned, tokensSaved, sessionStats) {
|
|
557
398
|
if (totalPruned === 0)
|
|
558
399
|
return;
|
|
559
|
-
const tokensSaved = await this.calculateTokensSaved(prunedIds, toolOutputs);
|
|
560
400
|
const tokensFormatted = formatTokenCount(tokensSaved);
|
|
561
401
|
const toolText = totalPruned === 1 ? 'tool' : 'tools';
|
|
562
|
-
|
|
402
|
+
let message = `š§¹ DCP: Saved ~${tokensFormatted} tokens (${totalPruned} ${toolText} pruned)`;
|
|
403
|
+
// Add session totals if there's been more than one pruning run
|
|
404
|
+
if (sessionStats.totalToolsPruned > totalPruned) {
|
|
405
|
+
message += ` ā Session: ${sessionStats.totalToolsPruned} tools, ~${formatTokenCount(sessionStats.totalTokensSaved)} tokens`;
|
|
406
|
+
}
|
|
563
407
|
await this.sendIgnoredMessage(sessionID, message);
|
|
564
408
|
}
|
|
565
409
|
/**
|
|
566
410
|
* Auto mode notification - shows only deduplication results
|
|
567
411
|
*/
|
|
568
|
-
async sendAutoModeNotification(sessionID, deduplicatedIds, deduplicationDetails,
|
|
412
|
+
async sendAutoModeNotification(sessionID, deduplicatedIds, deduplicationDetails, tokensSaved, sessionStats) {
|
|
569
413
|
if (deduplicatedIds.length === 0)
|
|
570
414
|
return;
|
|
571
415
|
// Check if notifications are disabled
|
|
@@ -573,15 +417,18 @@ export class Janitor {
|
|
|
573
417
|
return;
|
|
574
418
|
// Send minimal notification if configured
|
|
575
419
|
if (this.pruningSummary === 'minimal') {
|
|
576
|
-
await this.sendMinimalNotification(sessionID, deduplicatedIds.length,
|
|
420
|
+
await this.sendMinimalNotification(sessionID, deduplicatedIds.length, tokensSaved, sessionStats);
|
|
577
421
|
return;
|
|
578
422
|
}
|
|
579
423
|
// Otherwise send detailed notification
|
|
580
|
-
// Calculate token savings
|
|
581
|
-
const tokensSaved = await this.calculateTokensSaved(deduplicatedIds, toolOutputs);
|
|
582
424
|
const tokensFormatted = formatTokenCount(tokensSaved);
|
|
583
425
|
const toolText = deduplicatedIds.length === 1 ? 'tool' : 'tools';
|
|
584
|
-
let message = `š§¹ DCP: Saved ~${tokensFormatted} tokens (${deduplicatedIds.length} duplicate ${toolText} removed)
|
|
426
|
+
let message = `š§¹ DCP: Saved ~${tokensFormatted} tokens (${deduplicatedIds.length} duplicate ${toolText} removed)`;
|
|
427
|
+
// Add session totals if there's been more than one pruning run
|
|
428
|
+
if (sessionStats.totalToolsPruned > deduplicatedIds.length) {
|
|
429
|
+
message += ` ā Session: ${sessionStats.totalToolsPruned} tools, ~${formatTokenCount(sessionStats.totalTokensSaved)} tokens`;
|
|
430
|
+
}
|
|
431
|
+
message += '\n';
|
|
585
432
|
// Group by tool type
|
|
586
433
|
const grouped = new Map();
|
|
587
434
|
for (const [_, details] of deduplicationDetails) {
|
|
@@ -611,7 +458,7 @@ export class Janitor {
|
|
|
611
458
|
/**
|
|
612
459
|
* Smart mode notification - shows both deduplication and LLM analysis results
|
|
613
460
|
*/
|
|
614
|
-
async sendSmartModeNotification(sessionID, deduplicatedIds, deduplicationDetails, llmPrunedIds, toolMetadata,
|
|
461
|
+
async sendSmartModeNotification(sessionID, deduplicatedIds, deduplicationDetails, llmPrunedIds, toolMetadata, tokensSaved, sessionStats) {
|
|
615
462
|
const totalPruned = deduplicatedIds.length + llmPrunedIds.length;
|
|
616
463
|
if (totalPruned === 0)
|
|
617
464
|
return;
|
|
@@ -620,16 +467,17 @@ export class Janitor {
|
|
|
620
467
|
return;
|
|
621
468
|
// Send minimal notification if configured
|
|
622
469
|
if (this.pruningSummary === 'minimal') {
|
|
623
|
-
|
|
624
|
-
await this.sendMinimalNotification(sessionID, totalPruned, toolOutputs, allPrunedIds);
|
|
470
|
+
await this.sendMinimalNotification(sessionID, totalPruned, tokensSaved, sessionStats);
|
|
625
471
|
return;
|
|
626
472
|
}
|
|
627
473
|
// Otherwise send detailed notification
|
|
628
|
-
// Calculate token savings
|
|
629
|
-
const allPrunedIds = [...deduplicatedIds, ...llmPrunedIds];
|
|
630
|
-
const tokensSaved = await this.calculateTokensSaved(allPrunedIds, toolOutputs);
|
|
631
474
|
const tokensFormatted = formatTokenCount(tokensSaved);
|
|
632
|
-
let message = `š§¹ DCP: Saved ~${tokensFormatted} tokens (${totalPruned} tool${totalPruned > 1 ? 's' : ''} pruned)
|
|
475
|
+
let message = `š§¹ DCP: Saved ~${tokensFormatted} tokens (${totalPruned} tool${totalPruned > 1 ? 's' : ''} pruned)`;
|
|
476
|
+
// Add session totals if there's been more than one pruning run
|
|
477
|
+
if (sessionStats.totalToolsPruned > totalPruned) {
|
|
478
|
+
message += ` ā Session: ${sessionStats.totalToolsPruned} tools, ~${formatTokenCount(sessionStats.totalTokensSaved)} tokens`;
|
|
479
|
+
}
|
|
480
|
+
message += '\n';
|
|
633
481
|
// Section 1: Deduplicated tools
|
|
634
482
|
if (deduplicatedIds.length > 0 && deduplicationDetails) {
|
|
635
483
|
message += `\nš¦ Duplicates removed (${deduplicatedIds.length}):\n`;
|
package/dist/lib/janitor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"janitor.js","sourceRoot":"","sources":["../../lib/janitor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"janitor.js","sourceRoot":"","sources":["../../lib/janitor.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/logger.d.ts
CHANGED
|
@@ -4,6 +4,11 @@ export declare class Logger {
|
|
|
4
4
|
private fileCounter;
|
|
5
5
|
constructor(enabled: boolean);
|
|
6
6
|
private ensureLogDir;
|
|
7
|
+
/**
|
|
8
|
+
* Formats data object into a compact, readable string
|
|
9
|
+
* e.g., {saved: "~4.1K", pruned: 4, duplicates: 0} -> "saved=~4.1K pruned=4 duplicates=0"
|
|
10
|
+
*/
|
|
11
|
+
private formatData;
|
|
7
12
|
private write;
|
|
8
13
|
info(component: string, message: string, data?: any): Promise<void>;
|
|
9
14
|
debug(component: string, message: string, data?: any): Promise<void>;
|
package/dist/lib/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":"AAMA,qBAAa,MAAM;IACf,OAAO,CAAC,MAAM,CAAQ;IACf,OAAO,EAAE,OAAO,CAAA;IACvB,OAAO,CAAC,WAAW,CAAY;gBAEnB,OAAO,EAAE,OAAO;YAQd,YAAY;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":"AAMA,qBAAa,MAAM;IACf,OAAO,CAAC,MAAM,CAAQ;IACf,OAAO,EAAE,OAAO,CAAA;IACvB,OAAO,CAAC,WAAW,CAAY;gBAEnB,OAAO,EAAE,OAAO;YAQd,YAAY;IAM1B;;;OAGG;IACH,OAAO,CAAC,UAAU;YA2BJ,KAAK;IAwBnB,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;IAInD,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;IAIpD,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;IAInD,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;IAIpD;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAuD1B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAwB5B;;;;;;;OAOG;IACG,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG;CAyE7E"}
|