@tuanhung303/opencode-acp 2.2.3 → 2.4.0

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 (55) hide show
  1. package/dist/lib/commands/stats.d.ts.map +1 -1
  2. package/dist/lib/commands/stats.js +2 -0
  3. package/dist/lib/commands/stats.js.map +1 -1
  4. package/dist/lib/config.d.ts +26 -0
  5. package/dist/lib/config.d.ts.map +1 -1
  6. package/dist/lib/config.js +40 -0
  7. package/dist/lib/config.js.map +1 -1
  8. package/dist/lib/hooks.d.ts.map +1 -1
  9. package/dist/lib/hooks.js +12 -4
  10. package/dist/lib/hooks.js.map +1 -1
  11. package/dist/lib/messages/index.d.ts +1 -1
  12. package/dist/lib/messages/index.d.ts.map +1 -1
  13. package/dist/lib/messages/index.js +1 -1
  14. package/dist/lib/messages/index.js.map +1 -1
  15. package/dist/lib/messages/prune.d.ts +8 -0
  16. package/dist/lib/messages/prune.d.ts.map +1 -1
  17. package/dist/lib/messages/prune.js +112 -0
  18. package/dist/lib/messages/prune.js.map +1 -1
  19. package/dist/lib/state/persistence.d.ts +2 -0
  20. package/dist/lib/state/persistence.d.ts.map +1 -1
  21. package/dist/lib/state/persistence.js +4 -1
  22. package/dist/lib/state/persistence.js.map +1 -1
  23. package/dist/lib/state/state.d.ts.map +1 -1
  24. package/dist/lib/state/state.js +20 -0
  25. package/dist/lib/state/state.js.map +1 -1
  26. package/dist/lib/state/types.d.ts +19 -0
  27. package/dist/lib/state/types.d.ts.map +1 -1
  28. package/dist/lib/strategies/index.d.ts +2 -0
  29. package/dist/lib/strategies/index.d.ts.map +1 -1
  30. package/dist/lib/strategies/index.js +2 -0
  31. package/dist/lib/strategies/index.js.map +1 -1
  32. package/dist/lib/strategies/thinking-compression.d.ts +16 -0
  33. package/dist/lib/strategies/thinking-compression.d.ts.map +1 -0
  34. package/dist/lib/strategies/thinking-compression.js +187 -0
  35. package/dist/lib/strategies/thinking-compression.js.map +1 -0
  36. package/dist/lib/strategies/tools.d.ts.map +1 -1
  37. package/dist/lib/strategies/tools.js +94 -53
  38. package/dist/lib/strategies/tools.js.map +1 -1
  39. package/dist/lib/strategies/truncation.d.ts +17 -0
  40. package/dist/lib/strategies/truncation.d.ts.map +1 -0
  41. package/dist/lib/strategies/truncation.js +159 -0
  42. package/dist/lib/strategies/truncation.js.map +1 -0
  43. package/dist/lib/strategies/utils.d.ts +1 -1
  44. package/dist/lib/strategies/utils.d.ts.map +1 -1
  45. package/dist/lib/strategies/utils.js +34 -20
  46. package/dist/lib/strategies/utils.js.map +1 -1
  47. package/dist/lib/ui/notification.d.ts +1 -1
  48. package/dist/lib/ui/notification.d.ts.map +1 -1
  49. package/dist/lib/ui/notification.js +12 -7
  50. package/dist/lib/ui/notification.js.map +1 -1
  51. package/dist/lib/ui/utils.d.ts +1 -1
  52. package/dist/lib/ui/utils.d.ts.map +1 -1
  53. package/dist/lib/ui/utils.js +16 -2
  54. package/dist/lib/ui/utils.js.map +1 -1
  55. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../lib/state/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAsB,SAAS,EAAmB,MAAM,SAAS,CAAA;AAC3F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAKvC,eAAO,MAAM,YAAY,GACrB,QAAQ,GAAG,EACX,OAAO,YAAY,EACnB,QAAQ,MAAM,EACd,UAAU,SAAS,EAAE,KACtB,OAAO,CAAC,IAAI,CA4Bd,CAAA;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CAkCjD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAgC3D;AAED,wBAAsB,wBAAwB,CAC1C,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,EAAE,GACtB,OAAO,CAAC,IAAI,CAAC,CAiDf;AAYD,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAc7E"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../lib/state/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,YAAY,EAEZ,SAAS,EAGZ,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAKvC,eAAO,MAAM,YAAY,GACrB,QAAQ,GAAG,EACX,OAAO,YAAY,EACnB,QAAQ,MAAM,EACd,UAAU,SAAS,EAAE,KACtB,OAAO,CAAC,IAAI,CA4Bd,CAAA;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CAyCjD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAmC3D;AAED,wBAAsB,wBAAwB,CAC1C,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,EAAE,GACtB,OAAO,CAAC,IAAI,CAAC,CA2Df;AAYD,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAc7E"}
@@ -33,6 +33,7 @@ export function createSessionState() {
33
33
  isSubAgent: false,
34
34
  prune: {
35
35
  toolIds: [],
36
+ messagePartIds: [],
36
37
  },
37
38
  stats: {
38
39
  pruneTokenCounter: 0,
@@ -45,6 +46,8 @@ export function createSessionState() {
45
46
  purgeErrors: { count: 0, tokens: 0 },
46
47
  manualDiscard: { count: 0, tokens: 0 },
47
48
  extraction: { count: 0, tokens: 0 },
49
+ truncation: { count: 0, tokens: 0 },
50
+ thinkingCompression: { count: 0, tokens: 0 },
48
51
  },
49
52
  },
50
53
  toolParameters: new Map(),
@@ -58,8 +61,12 @@ export function createSessionState() {
58
61
  hashToCallId: new Map(),
59
62
  callIdToHash: new Map(),
60
63
  discardHistory: [],
64
+ // Message part hash system
65
+ hashToMessagePart: new Map(),
66
+ messagePartToHash: new Map(),
61
67
  // Soft prune cache for restore capability
62
68
  softPrunedTools: new Map(),
69
+ softPrunedMessageParts: new Map(),
63
70
  };
64
71
  }
65
72
  export function resetSessionState(state) {
@@ -67,6 +74,7 @@ export function resetSessionState(state) {
67
74
  state.isSubAgent = false;
68
75
  state.prune = {
69
76
  toolIds: [],
77
+ messagePartIds: [],
70
78
  };
71
79
  state.stats = {
72
80
  pruneTokenCounter: 0,
@@ -79,6 +87,8 @@ export function resetSessionState(state) {
79
87
  purgeErrors: { count: 0, tokens: 0 },
80
88
  manualDiscard: { count: 0, tokens: 0 },
81
89
  extraction: { count: 0, tokens: 0 },
90
+ truncation: { count: 0, tokens: 0 },
91
+ thinkingCompression: { count: 0, tokens: 0 },
82
92
  },
83
93
  };
84
94
  state.toolParameters.clear();
@@ -114,6 +124,7 @@ export async function ensureSessionInitialized(client, state, sessionId, logger,
114
124
  }
115
125
  state.prune = {
116
126
  toolIds: persisted.prune.toolIds || [],
127
+ messagePartIds: persisted.prune.messagePartIds || [],
117
128
  };
118
129
  state.stats = {
119
130
  pruneTokenCounter: persisted.stats?.pruneTokenCounter || 0,
@@ -126,6 +137,8 @@ export async function ensureSessionInitialized(client, state, sessionId, logger,
126
137
  purgeErrors: { count: 0, tokens: 0 },
127
138
  manualDiscard: { count: 0, tokens: 0 },
128
139
  extraction: { count: 0, tokens: 0 },
140
+ truncation: { count: 0, tokens: 0 },
141
+ thinkingCompression: { count: 0, tokens: 0 },
129
142
  },
130
143
  };
131
144
  // Restore hash-based discard system (convert objects back to Maps)
@@ -138,6 +151,13 @@ export async function ensureSessionInitialized(client, state, sessionId, logger,
138
151
  if (persisted.discardHistory) {
139
152
  state.discardHistory = persisted.discardHistory;
140
153
  }
154
+ // Restore assistant message hash maps
155
+ if (persisted.hashToMessagePart) {
156
+ state.hashToMessagePart = new Map(Object.entries(persisted.hashToMessagePart));
157
+ }
158
+ if (persisted.messagePartToHash) {
159
+ state.messagePartToHash = new Map(Object.entries(persisted.messagePartToHash));
160
+ }
141
161
  }
142
162
  function findLastCompactionTimestamp(messages) {
143
163
  for (let i = messages.length - 1; i >= 0; i--) {
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../lib/state/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../lib/state/state.ts"],"names":[],"mappings":"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"}
@@ -37,10 +37,19 @@ export interface SessionStats {
37
37
  count: number;
38
38
  tokens: number;
39
39
  };
40
+ truncation: {
41
+ count: number;
42
+ tokens: number;
43
+ };
44
+ thinkingCompression: {
45
+ count: number;
46
+ tokens: number;
47
+ };
40
48
  };
41
49
  }
42
50
  export interface Prune {
43
51
  toolIds: string[];
52
+ messagePartIds: string[];
44
53
  }
45
54
  export interface LastDiscardStats {
46
55
  itemCount: number;
@@ -71,7 +80,10 @@ export interface SessionState {
71
80
  hashToCallId: Map<string, string>;
72
81
  callIdToHash: Map<string, string>;
73
82
  discardHistory: DiscardStats[];
83
+ hashToMessagePart: Map<string, string>;
84
+ messagePartToHash: Map<string, string>;
74
85
  softPrunedTools: Map<string, SoftPrunedEntry>;
86
+ softPrunedMessageParts: Map<string, SoftPrunedMessagePart>;
75
87
  }
76
88
  export interface SoftPrunedEntry {
77
89
  originalOutput: string;
@@ -80,4 +92,11 @@ export interface SoftPrunedEntry {
80
92
  prunedAt: number;
81
93
  hash: string;
82
94
  }
95
+ export interface SoftPrunedMessagePart {
96
+ originalText: string;
97
+ messageId: string;
98
+ partIndex: number;
99
+ prunedAt: number;
100
+ hash: string;
101
+ }
83
102
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/state/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAEnD,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,IAAI,EAAE,CAAA;CAChB;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAA;AAEtE,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,GAAG,CAAA;IACf,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,YAAY;IACzB,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,kBAAkB,EAAE,MAAM,CAAA;IAE1B,aAAa,EAAE;QACX,aAAa,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;QAChD,eAAe,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;QAClD,WAAW,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;QAC9C,aAAa,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;QAChD,UAAU,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;KAChD,CAAA;CACJ;AAED,MAAM,WAAW,KAAK;IAClB,OAAO,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,EAAE,KAAK,CAAA;IACZ,KAAK,EAAE,YAAY,CAAA;IACnB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAC/C,aAAa,EAAE,OAAO,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAA;IACzC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAGhC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,cAAc,EAAE,YAAY,EAAE,CAAA;IAG9B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CAChD;AAED,MAAM,WAAW,eAAe;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,GAAG,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACf"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/state/types.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,6 @@ export { deduplicate } from "./deduplication";
2
2
  export { createDiscardTool, createExtractTool, createRestoreTool } from "./tools";
3
3
  export { supersedeWrites } from "./supersede-writes";
4
4
  export { purgeErrors } from "./purge-errors";
5
+ export { truncateLargeOutputs } from "./truncation";
6
+ export { compressThinkingBlocks } from "./thinking-compression";
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/strategies/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/strategies/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA"}
@@ -2,4 +2,6 @@ export { deduplicate } from "./deduplication";
2
2
  export { createDiscardTool, createExtractTool, createRestoreTool } from "./tools";
3
3
  export { supersedeWrites } from "./supersede-writes";
4
4
  export { purgeErrors } from "./purge-errors";
5
+ export { truncateLargeOutputs } from "./truncation";
6
+ export { compressThinkingBlocks } from "./thinking-compression";
5
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/strategies/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/strategies/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { PluginConfig } from "../config";
2
+ import { Logger } from "../logger";
3
+ import type { SessionState, WithParts } from "../state";
4
+ /**
5
+ * Compresses thinking/reasoning blocks from older assistant messages.
6
+ * Modifies message parts in-place.
7
+ */
8
+ export declare const compressThinkingBlocks: (state: SessionState, logger: Logger, config: PluginConfig, messages: WithParts[]) => void;
9
+ /**
10
+ * Estimates potential savings from thinking compression.
11
+ */
12
+ export declare function estimateThinkingCompressionSavings(state: SessionState, messages: WithParts[], minTurnsOld?: number, maxTokens?: number): {
13
+ count: number;
14
+ estimatedSavings: number;
15
+ };
16
+ //# sourceMappingURL=thinking-compression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thinking-compression.d.ts","sourceRoot":"","sources":["../../../lib/strategies/thinking-compression.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAevD;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAC/B,OAAO,YAAY,EACnB,QAAQ,MAAM,EACd,QAAQ,YAAY,EACpB,UAAU,SAAS,EAAE,KACtB,IAsFF,CAAA;AAoED;;GAEG;AACH,wBAAgB,kCAAkC,CAC9C,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,SAAS,EAAE,EACrB,WAAW,GAAE,MAAU,EACvB,SAAS,GAAE,MAAY,GACxB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAsD7C"}
@@ -0,0 +1,187 @@
1
+ import { countTokens } from "./utils";
2
+ import { isMessageCompacted } from "../shared-utils";
3
+ /**
4
+ * Thinking Block Compression Strategy
5
+ *
6
+ * Compresses extended thinking/reasoning blocks from older turns to save context.
7
+ * These blocks can be extremely large (10k+ tokens) but become less relevant
8
+ * as the conversation progresses. This strategy keeps a summary while
9
+ * removing the bulk of the content.
10
+ */
11
+ const COMPRESSION_MARKER = "[Thinking compressed to save context - key points preserved above]";
12
+ /**
13
+ * Compresses thinking/reasoning blocks from older assistant messages.
14
+ * Modifies message parts in-place.
15
+ */
16
+ export const compressThinkingBlocks = (state, logger, config, messages) => {
17
+ if (!config.strategies.thinkingCompression?.enabled) {
18
+ return;
19
+ }
20
+ const minTurnsOld = config.strategies.thinkingCompression.minTurnsOld ?? 3;
21
+ const maxTokens = config.strategies.thinkingCompression.maxTokens ?? 500;
22
+ let totalTokensSaved = 0;
23
+ let compressedCount = 0;
24
+ // Track which turn each message belongs to
25
+ let currentTurn = 0;
26
+ for (const msg of messages) {
27
+ if (isMessageCompacted(state, msg)) {
28
+ continue;
29
+ }
30
+ const parts = Array.isArray(msg.parts) ? msg.parts : [];
31
+ // Count turns by step-start parts
32
+ for (const part of parts) {
33
+ if (part.type === "step-start") {
34
+ currentTurn++;
35
+ }
36
+ }
37
+ // Only process assistant messages
38
+ if (msg.info.role !== "assistant") {
39
+ continue;
40
+ }
41
+ // Calculate message age
42
+ const messageAge = state.currentTurn - currentTurn;
43
+ if (messageAge < minTurnsOld) {
44
+ continue;
45
+ }
46
+ // Find and compress reasoning parts
47
+ for (const part of parts) {
48
+ if (part.type !== "reasoning") {
49
+ continue;
50
+ }
51
+ // Skip if already compressed
52
+ if (part.text?.includes(COMPRESSION_MARKER)) {
53
+ continue;
54
+ }
55
+ const reasoning = part.text;
56
+ if (!reasoning || typeof reasoning !== "string") {
57
+ continue;
58
+ }
59
+ // Check if it exceeds threshold
60
+ const tokenCount = countTokens(reasoning);
61
+ if (tokenCount <= maxTokens) {
62
+ continue;
63
+ }
64
+ // Compress the thinking block
65
+ const compressed = compressThinking(reasoning, maxTokens);
66
+ const newTokenCount = countTokens(compressed);
67
+ const tokensSaved = tokenCount - newTokenCount;
68
+ part.text = compressed;
69
+ totalTokensSaved += tokensSaved;
70
+ compressedCount++;
71
+ logger.debug(`Compressed thinking block`, {
72
+ messageAge,
73
+ originalTokens: tokenCount,
74
+ newTokens: newTokenCount,
75
+ tokensSaved,
76
+ });
77
+ }
78
+ }
79
+ if (compressedCount > 0) {
80
+ state.stats.strategyStats.thinkingCompression.count += compressedCount;
81
+ state.stats.strategyStats.thinkingCompression.tokens += totalTokensSaved;
82
+ logger.info(`Compressed ${compressedCount} thinking block(s), saved ~${totalTokensSaved} tokens`);
83
+ }
84
+ };
85
+ /**
86
+ * Compresses a thinking block by extracting key points and truncating.
87
+ * Preserves the beginning (problem understanding) and key conclusions.
88
+ */
89
+ function compressThinking(content, maxTokens) {
90
+ const lines = content.split("\n");
91
+ // If content is small enough, return as-is
92
+ if (lines.length <= 10) {
93
+ return content;
94
+ }
95
+ // Extract key sections
96
+ const keyPhrases = [
97
+ "conclusion",
98
+ "therefore",
99
+ "the answer",
100
+ "in summary",
101
+ "key point",
102
+ "important",
103
+ "decision",
104
+ "approach",
105
+ "solution",
106
+ "result",
107
+ ];
108
+ // Keep first few lines (problem understanding)
109
+ const headLines = [];
110
+ let headTokens = 0;
111
+ const headTarget = Math.floor(maxTokens * 0.3);
112
+ for (const line of lines.slice(0, 20)) {
113
+ const lineTokens = countTokens(line + "\n");
114
+ if (headTokens + lineTokens > headTarget) {
115
+ break;
116
+ }
117
+ headLines.push(line);
118
+ headTokens += lineTokens;
119
+ }
120
+ // Find and keep key conclusion lines
121
+ const keyLines = [];
122
+ let keyTokens = 0;
123
+ const keyTarget = Math.floor(maxTokens * 0.5);
124
+ for (let i = lines.length - 1; i >= 0; i--) {
125
+ const line = lines[i].toLowerCase();
126
+ const isKeyLine = keyPhrases.some((phrase) => line.includes(phrase));
127
+ if (isKeyLine || i >= lines.length - 5) {
128
+ const lineTokens = countTokens(lines[i] + "\n");
129
+ if (keyTokens + lineTokens > keyTarget) {
130
+ break;
131
+ }
132
+ keyLines.unshift(lines[i]);
133
+ keyTokens += lineTokens;
134
+ }
135
+ }
136
+ // Build compressed output
137
+ const linesRemoved = lines.length - headLines.length - keyLines.length;
138
+ const marker = `\n\n[... ${linesRemoved} lines of reasoning compressed ...]\n\n`;
139
+ return headLines.join("\n") + marker + keyLines.join("\n") + "\n" + COMPRESSION_MARKER;
140
+ }
141
+ /**
142
+ * Estimates potential savings from thinking compression.
143
+ */
144
+ export function estimateThinkingCompressionSavings(state, messages, minTurnsOld = 3, maxTokens = 500) {
145
+ let count = 0;
146
+ let estimatedSavings = 0;
147
+ let currentTurn = 0;
148
+ for (const msg of messages) {
149
+ if (isMessageCompacted(state, msg)) {
150
+ continue;
151
+ }
152
+ const parts = Array.isArray(msg.parts) ? msg.parts : [];
153
+ for (const part of parts) {
154
+ if (part.type === "step-start") {
155
+ currentTurn++;
156
+ }
157
+ }
158
+ if (msg.info.role !== "assistant") {
159
+ continue;
160
+ }
161
+ const messageAge = state.currentTurn - currentTurn;
162
+ if (messageAge < minTurnsOld) {
163
+ continue;
164
+ }
165
+ for (const part of parts) {
166
+ if (part.type !== "reasoning") {
167
+ continue;
168
+ }
169
+ const reasoning = part.text;
170
+ if (!reasoning || typeof reasoning !== "string") {
171
+ continue;
172
+ }
173
+ if (reasoning.includes("[... ") &&
174
+ reasoning.includes(" lines of reasoning compressed")) {
175
+ continue;
176
+ }
177
+ const tokenCount = countTokens(reasoning);
178
+ if (tokenCount > maxTokens) {
179
+ count++;
180
+ // Estimate ~70% savings after compression
181
+ estimatedSavings += Math.floor(tokenCount * 0.7);
182
+ }
183
+ }
184
+ }
185
+ return { count, estimatedSavings };
186
+ }
187
+ //# sourceMappingURL=thinking-compression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thinking-compression.js","sourceRoot":"","sources":["../../../lib/strategies/thinking-compression.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../lib/strategies/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAiC,MAAM,UAAU,CAAA;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAK7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AASvC,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,GAAG,CAAA;IACX,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,YAAY,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;CAC3B;AAqJD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAqFhF;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CA4EhF;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CA0EhF"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../lib/strategies/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAiC,MAAM,UAAU,CAAA;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAK7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AASvC,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,GAAG,CAAA;IACX,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,YAAY,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;CAC3B;AAiKD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAuGhF;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAgGhF;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAoFhF"}