@tarquinen/opencode-dcp 0.3.29 → 0.3.31

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.
Files changed (98) hide show
  1. package/README.md +10 -10
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +13 -6
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/api-formats/synth-instruction.d.ts.map +1 -0
  6. package/dist/lib/api-formats/synth-instruction.js.map +1 -0
  7. package/dist/lib/config.js +7 -7
  8. package/dist/lib/config.js.map +1 -1
  9. package/dist/lib/core/janitor.d.ts +47 -0
  10. package/dist/lib/core/janitor.d.ts.map +1 -0
  11. package/dist/lib/core/janitor.js +301 -0
  12. package/dist/lib/core/janitor.js.map +1 -0
  13. package/dist/lib/core/prompt.d.ts.map +1 -0
  14. package/dist/lib/{prompt.js → core/prompt.js} +1 -1
  15. package/dist/lib/core/prompt.js.map +1 -0
  16. package/dist/lib/core/strategies/deduplication.d.ts +7 -0
  17. package/dist/lib/core/strategies/deduplication.d.ts.map +1 -0
  18. package/dist/lib/core/strategies/deduplication.js +76 -0
  19. package/dist/lib/core/strategies/deduplication.js.map +1 -0
  20. package/dist/lib/core/strategies/index.d.ts +21 -0
  21. package/dist/lib/core/strategies/index.d.ts.map +1 -0
  22. package/dist/lib/core/strategies/index.js +48 -0
  23. package/dist/lib/core/strategies/index.js.map +1 -0
  24. package/dist/lib/core/strategies/types.d.ts +35 -0
  25. package/dist/lib/core/strategies/types.d.ts.map +1 -0
  26. package/dist/lib/core/strategies/types.js +6 -0
  27. package/dist/lib/core/strategies/types.js.map +1 -0
  28. package/dist/lib/fetch-wrapper/gc-tracker.d.ts +4 -0
  29. package/dist/lib/fetch-wrapper/gc-tracker.d.ts.map +1 -0
  30. package/dist/lib/fetch-wrapper/gc-tracker.js +61 -0
  31. package/dist/lib/fetch-wrapper/gc-tracker.js.map +1 -0
  32. package/dist/lib/fetch-wrapper/gemini.js +1 -1
  33. package/dist/lib/fetch-wrapper/gemini.js.map +1 -1
  34. package/dist/lib/fetch-wrapper/index.d.ts +1 -1
  35. package/dist/lib/fetch-wrapper/index.d.ts.map +1 -1
  36. package/dist/lib/fetch-wrapper/index.js +23 -1
  37. package/dist/lib/fetch-wrapper/index.js.map +1 -1
  38. package/dist/lib/fetch-wrapper/openai-chat.js +2 -2
  39. package/dist/lib/fetch-wrapper/openai-chat.js.map +1 -1
  40. package/dist/lib/fetch-wrapper/openai-responses.js +2 -2
  41. package/dist/lib/fetch-wrapper/openai-responses.js.map +1 -1
  42. package/dist/lib/fetch-wrapper/types.d.ts +1 -1
  43. package/dist/lib/fetch-wrapper/types.d.ts.map +1 -1
  44. package/dist/lib/hooks.d.ts +3 -3
  45. package/dist/lib/hooks.d.ts.map +1 -1
  46. package/dist/lib/hooks.js +4 -3
  47. package/dist/lib/hooks.js.map +1 -1
  48. package/dist/lib/pruning-tool.d.ts +3 -3
  49. package/dist/lib/pruning-tool.d.ts.map +1 -1
  50. package/dist/lib/pruning-tool.js +7 -5
  51. package/dist/lib/pruning-tool.js.map +1 -1
  52. package/dist/lib/state/index.d.ts +25 -0
  53. package/dist/lib/state/index.d.ts.map +1 -0
  54. package/dist/lib/{state.js → state/index.js} +10 -6
  55. package/dist/lib/state/index.js.map +1 -0
  56. package/dist/lib/{state-persistence.d.ts → state/persistence.d.ts} +3 -3
  57. package/dist/lib/state/persistence.d.ts.map +1 -0
  58. package/dist/lib/{state-persistence.js → state/persistence.js} +1 -1
  59. package/dist/lib/state/persistence.js.map +1 -0
  60. package/dist/lib/{tool-cache.d.ts → state/tool-cache.d.ts} +6 -1
  61. package/dist/lib/state/tool-cache.d.ts.map +1 -0
  62. package/dist/lib/{tool-cache.js → state/tool-cache.js} +16 -0
  63. package/dist/lib/state/tool-cache.js.map +1 -0
  64. package/dist/lib/tokenizer.js +2 -2
  65. package/dist/lib/tokenizer.js.map +1 -1
  66. package/dist/lib/ui/display-utils.d.ts.map +1 -0
  67. package/dist/lib/{display-utils.js → ui/display-utils.js} +0 -3
  68. package/dist/lib/ui/display-utils.js.map +1 -0
  69. package/dist/lib/ui/notification.d.ts +32 -0
  70. package/dist/lib/ui/notification.d.ts.map +1 -0
  71. package/dist/lib/ui/notification.js +180 -0
  72. package/dist/lib/ui/notification.js.map +1 -0
  73. package/package.json +6 -6
  74. package/dist/lib/deduplicator.d.ts +0 -16
  75. package/dist/lib/deduplicator.d.ts.map +0 -1
  76. package/dist/lib/deduplicator.js +0 -68
  77. package/dist/lib/deduplicator.js.map +0 -1
  78. package/dist/lib/display-utils.d.ts.map +0 -1
  79. package/dist/lib/display-utils.js.map +0 -1
  80. package/dist/lib/janitor.d.ts +0 -57
  81. package/dist/lib/janitor.d.ts.map +0 -1
  82. package/dist/lib/janitor.js +0 -547
  83. package/dist/lib/janitor.js.map +0 -1
  84. package/dist/lib/prompt.d.ts.map +0 -1
  85. package/dist/lib/prompt.js.map +0 -1
  86. package/dist/lib/state-persistence.d.ts.map +0 -1
  87. package/dist/lib/state-persistence.js.map +0 -1
  88. package/dist/lib/state.d.ts +0 -43
  89. package/dist/lib/state.d.ts.map +0 -1
  90. package/dist/lib/state.js.map +0 -1
  91. package/dist/lib/synth-instruction.d.ts.map +0 -1
  92. package/dist/lib/synth-instruction.js.map +0 -1
  93. package/dist/lib/tool-cache.d.ts.map +0 -1
  94. package/dist/lib/tool-cache.js.map +0 -1
  95. /package/dist/lib/{synth-instruction.d.ts → api-formats/synth-instruction.d.ts} +0 -0
  96. /package/dist/lib/{synth-instruction.js → api-formats/synth-instruction.js} +0 -0
  97. /package/dist/lib/{prompt.d.ts → core/prompt.d.ts} +0 -0
  98. /package/dist/lib/{display-utils.d.ts → ui/display-utils.d.ts} +0 -0
@@ -0,0 +1,76 @@
1
+ import { extractParameterKey } from "../../ui/display-utils";
2
+ /**
3
+ * Deduplication strategy - prunes older tool calls that have identical
4
+ * tool name and parameters, keeping only the most recent occurrence.
5
+ */
6
+ export const deduplicationStrategy = {
7
+ name: "deduplication",
8
+ detect(toolMetadata, unprunedIds, protectedTools) {
9
+ const signatureMap = new Map();
10
+ const deduplicatableIds = unprunedIds.filter(id => {
11
+ const metadata = toolMetadata.get(id);
12
+ const protectedToolsLower = protectedTools.map(t => t.toLowerCase());
13
+ return !metadata || !protectedToolsLower.includes(metadata.tool.toLowerCase());
14
+ });
15
+ for (const id of deduplicatableIds) {
16
+ const metadata = toolMetadata.get(id);
17
+ if (!metadata)
18
+ continue;
19
+ const signature = createToolSignature(metadata.tool, metadata.parameters);
20
+ if (!signatureMap.has(signature)) {
21
+ signatureMap.set(signature, []);
22
+ }
23
+ signatureMap.get(signature).push(id);
24
+ }
25
+ const prunedIds = [];
26
+ const details = new Map();
27
+ for (const [signature, ids] of signatureMap.entries()) {
28
+ if (ids.length > 1) {
29
+ const metadata = toolMetadata.get(ids[0]);
30
+ const idsToRemove = ids.slice(0, -1); // All except last
31
+ prunedIds.push(...idsToRemove);
32
+ details.set(signature, {
33
+ toolName: metadata.tool,
34
+ parameterKey: extractParameterKey(metadata),
35
+ reason: `duplicate (${ids.length} occurrences, kept most recent)`,
36
+ duplicateCount: ids.length,
37
+ prunedIds: idsToRemove,
38
+ keptId: ids[ids.length - 1]
39
+ });
40
+ }
41
+ }
42
+ return { prunedIds, details };
43
+ }
44
+ };
45
+ function createToolSignature(tool, parameters) {
46
+ if (!parameters)
47
+ return tool;
48
+ const normalized = normalizeParameters(parameters);
49
+ const sorted = sortObjectKeys(normalized);
50
+ return `${tool}::${JSON.stringify(sorted)}`;
51
+ }
52
+ function normalizeParameters(params) {
53
+ if (typeof params !== 'object' || params === null)
54
+ return params;
55
+ if (Array.isArray(params))
56
+ return params;
57
+ const normalized = {};
58
+ for (const [key, value] of Object.entries(params)) {
59
+ if (value !== undefined && value !== null) {
60
+ normalized[key] = value;
61
+ }
62
+ }
63
+ return normalized;
64
+ }
65
+ function sortObjectKeys(obj) {
66
+ if (typeof obj !== 'object' || obj === null)
67
+ return obj;
68
+ if (Array.isArray(obj))
69
+ return obj.map(sortObjectKeys);
70
+ const sorted = {};
71
+ for (const key of Object.keys(obj).sort()) {
72
+ sorted[key] = sortObjectKeys(obj[key]);
73
+ }
74
+ return sorted;
75
+ }
76
+ //# sourceMappingURL=deduplication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deduplication.js","sourceRoot":"","sources":["../../../../lib/core/strategies/deduplication.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Strategy runner - executes all enabled pruning strategies and collects results.
3
+ */
4
+ import type { StrategyResult, ToolMetadata } from "./types";
5
+ export type { PruningStrategy, StrategyResult, ToolMetadata, StrategyDetail } from "./types";
6
+ export interface RunStrategiesResult {
7
+ /** All tool IDs that should be pruned (deduplicated) */
8
+ prunedIds: string[];
9
+ /** Results keyed by strategy name */
10
+ byStrategy: Map<string, StrategyResult>;
11
+ }
12
+ /**
13
+ * Run all enabled strategies and collect pruned IDs.
14
+ *
15
+ * @param toolMetadata - Map of tool call ID to metadata
16
+ * @param unprunedIds - Tool call IDs not yet pruned (chronological order)
17
+ * @param protectedTools - Tool names that should never be pruned
18
+ * @param enabledStrategies - Strategy names to run (defaults to all)
19
+ */
20
+ export declare function runStrategies(toolMetadata: Map<string, ToolMetadata>, unprunedIds: string[], protectedTools: string[], enabledStrategies?: string[]): RunStrategiesResult;
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/core/strategies/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAmB,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAG5E,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAW5F,MAAM,WAAW,mBAAmB;IAChC,wDAAwD;IACxD,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,qCAAqC;IACrC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;CAC1C;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CACzB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACvC,WAAW,EAAE,MAAM,EAAE,EACrB,cAAc,EAAE,MAAM,EAAE,EACxB,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAC7B,mBAAmB,CAiCrB"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Strategy runner - executes all enabled pruning strategies and collects results.
3
+ */
4
+ import { deduplicationStrategy } from "./deduplication";
5
+ /** All available strategies */
6
+ const ALL_STRATEGIES = [
7
+ deduplicationStrategy,
8
+ // Future strategies will be added here:
9
+ // errorPruningStrategy,
10
+ // writeReadStrategy,
11
+ // partialReadStrategy,
12
+ ];
13
+ /**
14
+ * Run all enabled strategies and collect pruned IDs.
15
+ *
16
+ * @param toolMetadata - Map of tool call ID to metadata
17
+ * @param unprunedIds - Tool call IDs not yet pruned (chronological order)
18
+ * @param protectedTools - Tool names that should never be pruned
19
+ * @param enabledStrategies - Strategy names to run (defaults to all)
20
+ */
21
+ export function runStrategies(toolMetadata, unprunedIds, protectedTools, enabledStrategies) {
22
+ const byStrategy = new Map();
23
+ const allPrunedIds = new Set();
24
+ // Filter to enabled strategies (or all if not specified)
25
+ const strategies = enabledStrategies
26
+ ? ALL_STRATEGIES.filter(s => enabledStrategies.includes(s.name))
27
+ : ALL_STRATEGIES;
28
+ // Track which IDs are still available for each strategy
29
+ let remainingIds = unprunedIds;
30
+ for (const strategy of strategies) {
31
+ const result = strategy.detect(toolMetadata, remainingIds, protectedTools);
32
+ if (result.prunedIds.length > 0) {
33
+ byStrategy.set(strategy.name, result);
34
+ // Add to overall pruned set
35
+ for (const id of result.prunedIds) {
36
+ allPrunedIds.add(id);
37
+ }
38
+ // Remove pruned IDs from remaining for next strategy
39
+ const prunedSet = new Set(result.prunedIds.map(id => id.toLowerCase()));
40
+ remainingIds = remainingIds.filter(id => !prunedSet.has(id.toLowerCase()));
41
+ }
42
+ }
43
+ return {
44
+ prunedIds: Array.from(allPrunedIds),
45
+ byStrategy
46
+ };
47
+ }
48
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/core/strategies/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAIvD,+BAA+B;AAC/B,MAAM,cAAc,GAAsB;IACtC,qBAAqB;IACrB,wCAAwC;IACxC,wBAAwB;IACxB,qBAAqB;IACrB,uBAAuB;CAC1B,CAAA;AASD;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CACzB,YAAuC,EACvC,WAAqB,EACrB,cAAwB,EACxB,iBAA4B;IAE5B,MAAM,UAAU,GAAG,IAAI,GAAG,EAA0B,CAAA;IACpD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAA;IAEtC,yDAAyD;IACzD,MAAM,UAAU,GAAG,iBAAiB;QAChC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC,CAAC,cAAc,CAAA;IAEpB,wDAAwD;IACxD,IAAI,YAAY,GAAG,WAAW,CAAA;IAE9B,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA;QAE1E,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAErC,4BAA4B;YAC5B,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBAChC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACxB,CAAC;YAED,qDAAqD;YACrD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;YACvE,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QAC9E,CAAC;IACL,CAAC;IAED,OAAO;QACH,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;QACnC,UAAU;KACb,CAAA;AACL,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Common interface for rule-based pruning strategies.
3
+ * Each strategy analyzes tool metadata and returns IDs that should be pruned.
4
+ */
5
+ export interface ToolMetadata {
6
+ tool: string;
7
+ parameters?: any;
8
+ }
9
+ export interface StrategyResult {
10
+ /** Tool call IDs that should be pruned */
11
+ prunedIds: string[];
12
+ /** Optional details about what was pruned and why */
13
+ details?: Map<string, StrategyDetail>;
14
+ }
15
+ export interface StrategyDetail {
16
+ toolName: string;
17
+ parameterKey: string;
18
+ reason: string;
19
+ /** Additional info specific to the strategy */
20
+ [key: string]: any;
21
+ }
22
+ export interface PruningStrategy {
23
+ /** Unique identifier for this strategy */
24
+ name: string;
25
+ /**
26
+ * Analyze tool metadata and determine which tool calls should be pruned.
27
+ *
28
+ * @param toolMetadata - Map of tool call ID to metadata (tool name + parameters)
29
+ * @param unprunedIds - Tool call IDs that haven't been pruned yet (chronological order)
30
+ * @param protectedTools - Tool names that should never be pruned
31
+ * @returns IDs to prune and optional details
32
+ */
33
+ detect(toolMetadata: Map<string, ToolMetadata>, unprunedIds: string[], protectedTools: string[]): StrategyResult;
34
+ }
35
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../lib/core/strategies/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,GAAG,CAAA;CACnB;AAED,MAAM,WAAW,cAAc;IAC3B,0CAA0C;IAC1C,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,qDAAqD;IACrD,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;CACxC;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,+CAA+C;IAC/C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB;AAED,MAAM,WAAW,eAAe;IAC5B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAA;IAEZ;;;;;;;OAOG;IACH,MAAM,CACF,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACvC,WAAW,EAAE,MAAM,EAAE,EACrB,cAAc,EAAE,MAAM,EAAE,GACzB,cAAc,CAAA;CACpB"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Common interface for rule-based pruning strategies.
3
+ * Each strategy analyzes tool metadata and returns IDs that should be pruned.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../lib/core/strategies/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,4 @@
1
+ import type { PluginState } from "../state";
2
+ import type { Logger } from "../logger";
3
+ export declare function accumulateGCStats(state: PluginState, sessionId: string, prunedIds: string[], body: any, logger: Logger): void;
4
+ //# sourceMappingURL=gc-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gc-tracker.d.ts","sourceRoot":"","sources":["../../../lib/fetch-wrapper/gc-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAEvC,wBAAgB,iBAAiB,CAC7B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EAAE,EACnB,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,MAAM,GACf,IAAI,CAmBN"}
@@ -0,0 +1,61 @@
1
+ export function accumulateGCStats(state, sessionId, prunedIds, body, logger) {
2
+ if (prunedIds.length === 0)
3
+ return;
4
+ const toolOutputs = extractToolOutputsFromBody(body, prunedIds);
5
+ const tokensCollected = estimateTokensFromOutputs(toolOutputs);
6
+ const existing = state.gcPending.get(sessionId) ?? { tokensCollected: 0, toolsDeduped: 0 };
7
+ state.gcPending.set(sessionId, {
8
+ tokensCollected: existing.tokensCollected + tokensCollected,
9
+ toolsDeduped: existing.toolsDeduped + prunedIds.length
10
+ });
11
+ logger.debug("gc-tracker", "Accumulated GC stats", {
12
+ sessionId: sessionId.substring(0, 8),
13
+ newlyDeduped: prunedIds.length,
14
+ tokensThisCycle: tokensCollected,
15
+ pendingTotal: state.gcPending.get(sessionId)
16
+ });
17
+ }
18
+ function extractToolOutputsFromBody(body, prunedIds) {
19
+ const outputs = [];
20
+ const prunedIdSet = new Set(prunedIds.map(id => id.toLowerCase()));
21
+ // OpenAI Chat format
22
+ if (body.messages && Array.isArray(body.messages)) {
23
+ for (const m of body.messages) {
24
+ if (m.role === 'tool' && m.tool_call_id && prunedIdSet.has(m.tool_call_id.toLowerCase())) {
25
+ if (typeof m.content === 'string') {
26
+ outputs.push(m.content);
27
+ }
28
+ }
29
+ // Anthropic format
30
+ if (m.role === 'user' && Array.isArray(m.content)) {
31
+ for (const part of m.content) {
32
+ if (part.type === 'tool_result' && part.tool_use_id && prunedIdSet.has(part.tool_use_id.toLowerCase())) {
33
+ if (typeof part.content === 'string') {
34
+ outputs.push(part.content);
35
+ }
36
+ }
37
+ }
38
+ }
39
+ }
40
+ }
41
+ // OpenAI Responses format
42
+ if (body.input && Array.isArray(body.input)) {
43
+ for (const item of body.input) {
44
+ if (item.type === 'function_call_output' && item.call_id && prunedIdSet.has(item.call_id.toLowerCase())) {
45
+ if (typeof item.output === 'string') {
46
+ outputs.push(item.output);
47
+ }
48
+ }
49
+ }
50
+ }
51
+ return outputs;
52
+ }
53
+ // Character-based approximation (chars / 4) to avoid async tokenizer in fetch path
54
+ function estimateTokensFromOutputs(outputs) {
55
+ let totalChars = 0;
56
+ for (const output of outputs) {
57
+ totalChars += output.length;
58
+ }
59
+ return Math.round(totalChars / 4);
60
+ }
61
+ //# sourceMappingURL=gc-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gc-tracker.js","sourceRoot":"","sources":["../../../lib/fetch-wrapper/gc-tracker.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { PRUNED_CONTENT_MESSAGE, getAllPrunedIds, fetchSessionMessages } from "./types";
2
- import { injectNudgeGemini, injectSynthGemini } from "../synth-instruction";
2
+ import { injectNudgeGemini, injectSynthGemini } from "../api-formats/synth-instruction";
3
3
  /**
4
4
  * Handles Google/Gemini format (body.contents array with functionResponse parts).
5
5
  * Uses position-based correlation since Google's native format doesn't include tool call IDs.
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../lib/fetch-wrapper/gemini.ts"],"names":[],"mappings":"AACA,OAAO,EACH,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACvB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAE3E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAC9B,IAAS,EACT,GAAwB,EACxB,QAAgB;IAEhB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IACpC,CAAC;IAED,IAAI,QAAQ,GAAG,KAAK,CAAA;IAEpB,iEAAiE;IACjE,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,cAAc,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,CAAA;QAEnD,mDAAmD;QACnD,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzG,kEAAkE;gBAClE,QAAQ,GAAG,IAAI,CAAA;YACnB,CAAC;QACL,CAAC;QAED,IAAI,cAAc,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;YAClD,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,qDAAqD,CAAC,CAAA;QACpF,CAAC;QAED,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC/F,sEAAsE;YACtE,QAAQ,GAAG,IAAI,CAAA;QACnB,CAAC;IACL,CAAC;IAED,uDAAuD;IACvD,MAAM,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAY,EAAE,EAAE,CAC7D,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAC3D,CAAA;IAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACxB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IAC7B,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAE9F,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IAC7B,CAAC;IAED,sDAAsD;IACtD,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC9E,IAAI,eAAgD,CAAA;IAEpD,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAC/D,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC9B,eAAe,GAAG,OAAO,CAAA;YACzB,MAAK;QACT,CAAC;IACL,CAAC;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACnB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,uEAAuE,CAAC,CAAA;QACjG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IAC7B,CAAC;IAED,gEAAgE;IAChE,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAkB,CAAA;IACtD,IAAI,aAAa,GAAG,CAAC,CAAA;IACrB,IAAI,sBAAsB,GAAG,CAAC,CAAA;IAE9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;QAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,OAAO,CAAA;QAEjD,IAAI,eAAe,GAAG,KAAK,CAAA;QAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;YAC7C,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,sBAAsB,EAAE,CAAA;gBACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,CAAA;gBAE1D,IAAI,QAAQ,EAAE,CAAC;oBACX,gEAAgE;oBAChE,MAAM,YAAY,GAAG,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;oBAC5D,oBAAoB,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,GAAG,CAAC,CAAC,CAAA;oBAEpD,0CAA0C;oBAC1C,MAAM,WAAW,GAAG,GAAG,QAAQ,IAAI,YAAY,EAAE,CAAA;oBACjD,MAAM,UAAU,GAAG,eAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;oBAEpD,IAAI,UAAU,IAAI,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC7C,eAAe,GAAG,IAAI,CAAA;wBACtB,aAAa,EAAE,CAAA;wBACf,mEAAmE;wBACnE,yDAAyD;wBACzD,OAAO;4BACH,GAAG,IAAI;4BACP,gBAAgB,EAAE;gCACd,GAAG,IAAI,CAAC,gBAAgB;gCACxB,QAAQ,EAAE;oCACN,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI;oCAChC,OAAO,EAAE,sBAAsB;iCAClC;6BACJ;yBACJ,CAAA;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAA;QACf,CAAC,CAAC,CAAA;QAEF,IAAI,eAAe,EAAE,CAAC;YAClB,OAAO,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;QAC1C,CAAC;QACD,OAAO,OAAO,CAAA;IAClB,CAAC,CAAC,CAAA;IAEF,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACpB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,8CAA8C,EAAE;YACrE,QAAQ,EAAE,aAAa;YACvB,KAAK,EAAE,sBAAsB;SAChC,CAAC,CAAA;QAEF,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,eAAkC,CAAA;YACtC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,iBAAiB,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;gBAC3C,eAAe,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAA;YAClF,CAAC;YAED,MAAM,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAC/B,QAAQ,EACR,IAAI,CAAC,QAAQ,EACb;gBACI,GAAG,EAAE,QAAQ;gBACb,aAAa;gBACb,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;gBACnC,MAAM,EAAE,eAAe;aAC1B,EACD,eAAe,CAClB,CAAA;QACL,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IACnC,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;AAC7B,CAAC"}
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../lib/fetch-wrapper/gemini.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { PluginState } from "../state";
2
2
  import type { Logger } from "../logger";
3
3
  import type { SynthPrompts } from "./types";
4
- import type { ToolTracker } from "../synth-instruction";
4
+ import type { ToolTracker } from "../api-formats/synth-instruction";
5
5
  import type { PluginConfig } from "../config";
6
6
  export type { FetchHandlerContext, FetchHandlerResult, SynthPrompts } from "./types";
7
7
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/fetch-wrapper/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAuB,YAAY,EAAE,MAAM,SAAS,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAK7C,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEpF;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,YAAY,GACtB,MAAM,IAAI,CAiEZ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/fetch-wrapper/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAuB,YAAY,EAAE,MAAM,SAAS,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAQ7C,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEpF;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,YAAY,GACtB,MAAM,IAAI,CA4FZ"}
@@ -1,6 +1,9 @@
1
1
  import { handleOpenAIChatAndAnthropic } from "./openai-chat";
2
2
  import { handleGemini } from "./gemini";
3
3
  import { handleOpenAIResponses } from "./openai-responses";
4
+ import { runStrategies } from "../core/strategies";
5
+ import { accumulateGCStats } from "./gc-tracker";
6
+ import { trimToolParametersCache } from "../state/tool-cache";
4
7
  /**
5
8
  * Creates a wrapped global fetch that intercepts API calls and performs
6
9
  * context pruning on tool outputs that have been marked for removal.
@@ -22,7 +25,6 @@ export function installFetchWrapper(state, logger, client, config, toolTracker,
22
25
  prompts
23
26
  };
24
27
  globalThis.fetch = async (input, init) => {
25
- // Skip all DCP processing for subagent sessions
26
28
  if (state.lastSeenSessionId && state.subagentSessions.has(state.lastSeenSessionId)) {
27
29
  logger.debug("fetch-wrapper", "Skipping DCP processing for subagent session", {
28
30
  sessionId: state.lastSeenSessionId.substring(0, 8)
@@ -34,6 +36,8 @@ export function installFetchWrapper(state, logger, client, config, toolTracker,
34
36
  const body = JSON.parse(init.body);
35
37
  const inputUrl = typeof input === 'string' ? input : 'URL object';
36
38
  let modified = false;
39
+ // Capture tool IDs before handlers run to track what gets cached this request
40
+ const toolIdsBefore = new Set(state.toolParameters.keys());
37
41
  // Try each format handler in order
38
42
  // OpenAI Chat Completions & Anthropic style (body.messages)
39
43
  if (body.messages && Array.isArray(body.messages)) {
@@ -56,6 +60,24 @@ export function installFetchWrapper(state, logger, client, config, toolTracker,
56
60
  modified = true;
57
61
  }
58
62
  }
63
+ const sessionId = state.lastSeenSessionId;
64
+ const toolIdsAfter = Array.from(state.toolParameters.keys());
65
+ const newToolsCached = toolIdsAfter.filter(id => !toolIdsBefore.has(id)).length > 0;
66
+ if (sessionId && newToolsCached && state.toolParameters.size > 0) {
67
+ const toolIds = Array.from(state.toolParameters.keys());
68
+ const alreadyPruned = state.prunedIds.get(sessionId) ?? [];
69
+ const alreadyPrunedLower = new Set(alreadyPruned.map(id => id.toLowerCase()));
70
+ const unpruned = toolIds.filter(id => !alreadyPrunedLower.has(id.toLowerCase()));
71
+ if (unpruned.length > 1) {
72
+ const result = runStrategies(state.toolParameters, unpruned, config.protectedTools);
73
+ if (result.prunedIds.length > 0) {
74
+ const normalizedIds = result.prunedIds.map(id => id.toLowerCase());
75
+ state.prunedIds.set(sessionId, [...new Set([...alreadyPruned, ...normalizedIds])]);
76
+ accumulateGCStats(state, sessionId, result.prunedIds, body, logger);
77
+ }
78
+ }
79
+ trimToolParametersCache(state);
80
+ }
59
81
  if (modified) {
60
82
  init.body = JSON.stringify(body);
61
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/fetch-wrapper/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAI1D;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAC/B,KAAkB,EAClB,MAAc,EACd,MAAW,EACX,MAAoB,EACpB,WAAwB,EACxB,OAAqB;IAErB,MAAM,mBAAmB,GAAG,UAAU,CAAC,KAAK,CAAA;IAE5C,MAAM,GAAG,GAAwB;QAC7B,KAAK;QACL,MAAM;QACN,MAAM;QACN,MAAM;QACN,WAAW;QACX,OAAO;KACV,CAAA;IAED,UAAU,CAAC,KAAK,GAAG,KAAK,EAAE,KAAU,EAAE,IAAU,EAAE,EAAE;QAChD,gDAAgD;QAChD,IAAI,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACjF,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,8CAA8C,EAAE;gBAC1E,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;aACrD,CAAC,CAAA;YACF,OAAO,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAC3C,CAAC;QAED,IAAI,IAAI,EAAE,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAClC,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAA;gBACjE,IAAI,QAAQ,GAAG,KAAK,CAAA;gBAEpB,mCAAmC;gBACnC,4DAA4D;gBAC5D,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAChD,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;oBACtE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;wBAClB,QAAQ,GAAG,IAAI,CAAA;oBACnB,CAAC;gBACL,CAAC;gBAED,sCAAsC;gBACtC,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAChD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;oBACtD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;wBAClB,QAAQ,GAAG,IAAI,CAAA;oBACnB,CAAC;gBACL,CAAC;gBAED,0CAA0C;gBAC1C,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1C,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;oBAC/D,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;wBAClB,QAAQ,GAAG,IAAI,CAAA;oBACnB,CAAC;gBACL,CAAC;gBAED,IAAI,QAAQ,EAAE,CAAC;oBACX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;gBACpC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;YACb,CAAC;QACL,CAAC;QAED,OAAO,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC3C,CAAC,CAAA;IAED,OAAO,GAAG,EAAE;QACR,UAAU,CAAC,KAAK,GAAG,mBAAmB,CAAA;IAC1C,CAAC,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/fetch-wrapper/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { PRUNED_CONTENT_MESSAGE, getAllPrunedIds, fetchSessionMessages, getMostRecentActiveSession } from "./types";
2
- import { cacheToolParametersFromMessages } from "../tool-cache";
3
- import { injectNudge, injectSynth } from "../synth-instruction";
2
+ import { cacheToolParametersFromMessages } from "../state/tool-cache";
3
+ import { injectNudge, injectSynth } from "../api-formats/synth-instruction";
4
4
  /**
5
5
  * Handles OpenAI Chat Completions format (body.messages with role='tool').
6
6
  * Also handles Anthropic format (role='user' with tool_result content parts).
@@ -1 +1 @@
1
- {"version":3,"file":"openai-chat.js","sourceRoot":"","sources":["../../../lib/fetch-wrapper/openai-chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-chat.js","sourceRoot":"","sources":["../../../lib/fetch-wrapper/openai-chat.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { PRUNED_CONTENT_MESSAGE, getAllPrunedIds, fetchSessionMessages, getMostRecentActiveSession } from "./types";
2
- import { cacheToolParametersFromInput } from "../tool-cache";
3
- import { injectNudgeResponses, injectSynthResponses } from "../synth-instruction";
2
+ import { cacheToolParametersFromInput } from "../state/tool-cache";
3
+ import { injectNudgeResponses, injectSynthResponses } from "../api-formats/synth-instruction";
4
4
  /**
5
5
  * Handles OpenAI Responses API format (body.input array with function_call_output items).
6
6
  * Used by GPT-5 models via sdk.responses().
@@ -1 +1 @@
1
- {"version":3,"file":"openai-responses.js","sourceRoot":"","sources":["../../../lib/fetch-wrapper/openai-responses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-responses.js","sourceRoot":"","sources":["../../../lib/fetch-wrapper/openai-responses.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type PluginState } from "../state";
2
2
  import type { Logger } from "../logger";
3
- import type { ToolTracker } from "../synth-instruction";
3
+ import type { ToolTracker } from "../api-formats/synth-instruction";
4
4
  import type { PluginConfig } from "../config";
5
5
  /** The message used to replace pruned tool output content */
6
6
  export declare const PRUNED_CONTENT_MESSAGE = "[Output removed to save context - information superseded or no longer needed]";
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/fetch-wrapper/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAyB,MAAM,UAAU,CAAA;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAE7C,6DAA6D;AAC7D,eAAO,MAAM,sBAAsB,kFAAkF,CAAA;AAErH,uDAAuD;AACvD,MAAM,WAAW,YAAY;IACzB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;CAC3B;AAED,qDAAqD;AACrD,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,GAAG,CAAA;IACX,MAAM,EAAE,YAAY,CAAA;IACpB,WAAW,EAAE,WAAW,CAAA;IACxB,OAAO,EAAE,YAAY,CAAA;CACxB;AAED,4DAA4D;AAC5D,MAAM,WAAW,kBAAkB;IAC/B,gEAAgE;IAChE,QAAQ,EAAE,OAAO,CAAA;IACjB,2CAA2C;IAC3C,IAAI,EAAE,GAAG,CAAA;CACZ;AAED,iDAAiD;AACjD,MAAM,WAAW,YAAY;IACzB,WAAW,EAAE,GAAG,CAAA;IAChB,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC5B;AAED,wBAAsB,eAAe,CACjC,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,WAAW,EAClB,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,CAAC,CAYvB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,GAAG,EACX,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAY5B;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,GAAG,SAAS,CAG5E"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/fetch-wrapper/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAyB,MAAM,UAAU,CAAA;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAE7C,6DAA6D;AAC7D,eAAO,MAAM,sBAAsB,kFAAkF,CAAA;AAErH,uDAAuD;AACvD,MAAM,WAAW,YAAY;IACzB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;CAC3B;AAED,qDAAqD;AACrD,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,GAAG,CAAA;IACX,MAAM,EAAE,YAAY,CAAA;IACpB,WAAW,EAAE,WAAW,CAAA;IACxB,OAAO,EAAE,YAAY,CAAA;CACxB;AAED,4DAA4D;AAC5D,MAAM,WAAW,kBAAkB;IAC/B,gEAAgE;IAChE,QAAQ,EAAE,OAAO,CAAA;IACjB,2CAA2C;IAC3C,IAAI,EAAE,GAAG,CAAA;CACZ;AAED,iDAAiD;AACjD,MAAM,WAAW,YAAY;IACzB,WAAW,EAAE,GAAG,CAAA;IAChB,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC5B;AAED,wBAAsB,eAAe,CACjC,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,WAAW,EAClB,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,CAAC,CAYvB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,GAAG,EACX,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAY5B;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,GAAG,SAAS,CAG5E"}
@@ -1,10 +1,10 @@
1
1
  import type { PluginState } from "./state";
2
2
  import type { Logger } from "./logger";
3
- import type { Janitor } from "./janitor";
3
+ import type { JanitorContext } from "./core/janitor";
4
4
  import type { PluginConfig } from "./config";
5
- import type { ToolTracker } from "./synth-instruction";
5
+ import type { ToolTracker } from "./api-formats/synth-instruction";
6
6
  export declare function isSubagentSession(client: any, sessionID: string): Promise<boolean>;
7
- export declare function createEventHandler(client: any, janitor: Janitor, logger: Logger, config: PluginConfig, toolTracker?: ToolTracker): ({ event }: {
7
+ export declare function createEventHandler(client: any, janitorCtx: JanitorContext, logger: Logger, config: PluginConfig, toolTracker?: ToolTracker): ({ event }: {
8
8
  event: any;
9
9
  }) => Promise<void>;
10
10
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../lib/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,EAAE,YAAY,EAAmB,MAAM,UAAU,CAAA;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAGtD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOxF;AAMD,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,WAAW,CAAC,EAAE,WAAW,IAEX,WAAW;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE,mBA4B1C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,IAEA,OAAO,GAAG,EAAE,SAAS,GAAG,mBA8EzC"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../lib/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAmB,MAAM,UAAU,CAAA;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAGlE,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOxF;AAMD,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,WAAW,CAAC,EAAE,WAAW,IAEX,WAAW;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE,mBA4B1C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,IAEA,OAAO,GAAG,EAAE,SAAS,GAAG,mBA8EzC"}
package/dist/lib/hooks.js CHANGED
@@ -1,4 +1,5 @@
1
- import { resetToolTrackerCount } from "./synth-instruction";
1
+ import { runOnIdle } from "./core/janitor";
2
+ import { resetToolTrackerCount } from "./api-formats/synth-instruction";
2
3
  export async function isSubagentSession(client, sessionID) {
3
4
  try {
4
5
  const result = await client.session.get({ path: { id: sessionID } });
@@ -11,7 +12,7 @@ export async function isSubagentSession(client, sessionID) {
11
12
  function toolStrategiesCoveredByIdle(onIdle, onTool) {
12
13
  return onTool.every(strategy => onIdle.includes(strategy));
13
14
  }
14
- export function createEventHandler(client, janitor, logger, config, toolTracker) {
15
+ export function createEventHandler(client, janitorCtx, logger, config, toolTracker) {
15
16
  return async ({ event }) => {
16
17
  if (event.type === "session.status" && event.properties.status.type === "idle") {
17
18
  if (await isSubagentSession(client, event.properties.sessionID))
@@ -27,7 +28,7 @@ export function createEventHandler(client, janitor, logger, config, toolTracker)
27
28
  }
28
29
  }
29
30
  try {
30
- const result = await janitor.runOnIdle(event.properties.sessionID, config.strategies.onIdle);
31
+ const result = await runOnIdle(janitorCtx, event.properties.sessionID, config.strategies.onIdle);
31
32
  // Reset nudge counter if idle pruning succeeded and covers tool strategies
32
33
  if (result && result.prunedCount > 0 && toolTracker && config.nudge_freq > 0) {
33
34
  if (toolStrategiesCoveredByIdle(config.strategies.onIdle, config.strategies.onTool)) {
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../lib/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../lib/hooks.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { tool } from "@opencode-ai/plugin";
2
- import type { Janitor } from "./janitor";
2
+ import type { JanitorContext } from "./core/janitor";
3
3
  import type { PluginConfig } from "./config";
4
- import type { ToolTracker } from "./synth-instruction";
4
+ import type { ToolTracker } from "./api-formats/synth-instruction";
5
5
  /** Tool description for the prune tool, loaded from prompts/tool.txt */
6
6
  export declare const CONTEXT_PRUNING_DESCRIPTION: string;
7
7
  /**
8
8
  * Creates the prune tool definition.
9
9
  * Returns a tool definition that can be passed to the plugin's tool registry.
10
10
  */
11
- export declare function createPruningTool(client: any, janitor: Janitor, config: PluginConfig, toolTracker: ToolTracker): ReturnType<typeof tool>;
11
+ export declare function createPruningTool(client: any, janitorCtx: JanitorContext, config: PluginConfig, toolTracker: ToolTracker): ReturnType<typeof tool>;
12
12
  //# sourceMappingURL=pruning-tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pruning-tool.d.ts","sourceRoot":"","sources":["../../lib/pruning-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAKtD,wEAAwE;AACxE,eAAO,MAAM,2BAA2B,QAAqB,CAAA;AAE7D;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAsCxI"}
1
+ {"version":3,"file":"pruning-tool.d.ts","sourceRoot":"","sources":["../../lib/pruning-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAGpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAKlE,wEAAwE;AACxE,eAAO,MAAM,2BAA2B,QAAqB,CAAA;AAE7D;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAuClJ"}