@orion-agents/orion-code 0.1.8 → 0.1.9

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 (232) hide show
  1. package/CHANGELOG.md +445 -0
  2. package/README.md +15 -6
  3. package/README.zh-CN.md +26 -7
  4. package/dist/agents/coordinator.d.ts.map +1 -1
  5. package/dist/agents/coordinator.js +49 -9
  6. package/dist/agents/coordinator.js.map +1 -1
  7. package/dist/agents/fork.d.ts +5 -1
  8. package/dist/agents/fork.d.ts.map +1 -1
  9. package/dist/agents/fork.js +9 -10
  10. package/dist/agents/fork.js.map +1 -1
  11. package/dist/agents/worker-pool.d.ts.map +1 -1
  12. package/dist/agents/worker-pool.js +8 -3
  13. package/dist/agents/worker-pool.js.map +1 -1
  14. package/dist/cli.js +6 -6
  15. package/dist/cli.js.map +1 -1
  16. package/dist/commands/context-tool-command-handlers.d.ts.map +1 -1
  17. package/dist/commands/context-tool-command-handlers.js +42 -0
  18. package/dist/commands/context-tool-command-handlers.js.map +1 -1
  19. package/dist/commands/model-command-handlers.d.ts +1 -1
  20. package/dist/commands/model-command-handlers.d.ts.map +1 -1
  21. package/dist/commands/model-command-handlers.js +166 -1
  22. package/dist/commands/model-command-handlers.js.map +1 -1
  23. package/dist/commands/session-command-handlers.d.ts.map +1 -1
  24. package/dist/commands/session-command-handlers.js +97 -5
  25. package/dist/commands/session-command-handlers.js.map +1 -1
  26. package/dist/commands/session-commands.js +2 -2
  27. package/dist/commands/session-commands.js.map +1 -1
  28. package/dist/commands/types.d.ts +6 -0
  29. package/dist/commands/types.d.ts.map +1 -1
  30. package/dist/commands/types.js.map +1 -1
  31. package/dist/framework/index.d.ts +5 -3
  32. package/dist/framework/index.d.ts.map +1 -1
  33. package/dist/framework/index.js +9 -1
  34. package/dist/framework/index.js.map +1 -1
  35. package/dist/framework/query.d.ts +26 -4
  36. package/dist/framework/query.d.ts.map +1 -1
  37. package/dist/framework/query.js +319 -62
  38. package/dist/framework/query.js.map +1 -1
  39. package/dist/framework/stop-decision.d.ts +56 -0
  40. package/dist/framework/stop-decision.d.ts.map +1 -0
  41. package/dist/framework/stop-decision.js +36 -0
  42. package/dist/framework/stop-decision.js.map +1 -0
  43. package/dist/framework/tool-scheduler.d.ts +5 -0
  44. package/dist/framework/tool-scheduler.d.ts.map +1 -1
  45. package/dist/framework/tool-scheduler.js +24 -9
  46. package/dist/framework/tool-scheduler.js.map +1 -1
  47. package/dist/harness/assembler.d.ts.map +1 -1
  48. package/dist/harness/assembler.js +77 -19
  49. package/dist/harness/assembler.js.map +1 -1
  50. package/dist/harness/capability-profile.d.ts +3 -0
  51. package/dist/harness/capability-profile.d.ts.map +1 -0
  52. package/dist/harness/capability-profile.js +44 -0
  53. package/dist/harness/capability-profile.js.map +1 -0
  54. package/dist/harness/capsule.d.ts.map +1 -1
  55. package/dist/harness/capsule.js +22 -3
  56. package/dist/harness/capsule.js.map +1 -1
  57. package/dist/harness/compact-benchmark-corpus.d.ts +10 -0
  58. package/dist/harness/compact-benchmark-corpus.d.ts.map +1 -0
  59. package/dist/harness/compact-benchmark-corpus.js +56 -0
  60. package/dist/harness/compact-benchmark-corpus.js.map +1 -0
  61. package/dist/harness/context-harness.d.ts +23 -3
  62. package/dist/harness/context-harness.d.ts.map +1 -1
  63. package/dist/harness/context-harness.js +183 -11
  64. package/dist/harness/context-harness.js.map +1 -1
  65. package/dist/harness/contract.d.ts.map +1 -1
  66. package/dist/harness/contract.js +106 -11
  67. package/dist/harness/contract.js.map +1 -1
  68. package/dist/harness/drift-guard.d.ts +2 -1
  69. package/dist/harness/drift-guard.d.ts.map +1 -1
  70. package/dist/harness/drift-guard.js +315 -20
  71. package/dist/harness/drift-guard.js.map +1 -1
  72. package/dist/harness/evidence.d.ts.map +1 -1
  73. package/dist/harness/evidence.js +25 -12
  74. package/dist/harness/evidence.js.map +1 -1
  75. package/dist/harness/index.d.ts +7 -2
  76. package/dist/harness/index.d.ts.map +1 -1
  77. package/dist/harness/index.js +19 -1
  78. package/dist/harness/index.js.map +1 -1
  79. package/dist/harness/ledger.d.ts.map +1 -1
  80. package/dist/harness/ledger.js +44 -14
  81. package/dist/harness/ledger.js.map +1 -1
  82. package/dist/harness/progress-controller.d.ts +14 -0
  83. package/dist/harness/progress-controller.d.ts.map +1 -0
  84. package/dist/harness/progress-controller.js +110 -0
  85. package/dist/harness/progress-controller.js.map +1 -0
  86. package/dist/harness/state.d.ts.map +1 -1
  87. package/dist/harness/state.js +5 -2
  88. package/dist/harness/state.js.map +1 -1
  89. package/dist/harness/stop-controller.d.ts +15 -0
  90. package/dist/harness/stop-controller.d.ts.map +1 -0
  91. package/dist/harness/stop-controller.js +87 -0
  92. package/dist/harness/stop-controller.js.map +1 -0
  93. package/dist/harness/types.d.ts +137 -0
  94. package/dist/harness/types.d.ts.map +1 -1
  95. package/dist/harness/verification.d.ts +7 -0
  96. package/dist/harness/verification.d.ts.map +1 -0
  97. package/dist/harness/verification.js +122 -0
  98. package/dist/harness/verification.js.map +1 -0
  99. package/dist/index.d.ts +5 -5
  100. package/dist/index.d.ts.map +1 -1
  101. package/dist/index.js +7 -1
  102. package/dist/index.js.map +1 -1
  103. package/dist/ink-ui/screens/ReplScreen.d.ts +3 -0
  104. package/dist/ink-ui/screens/ReplScreen.d.ts.map +1 -1
  105. package/dist/ink-ui/screens/ReplScreen.js +30 -5
  106. package/dist/ink-ui/screens/ReplScreen.js.map +1 -1
  107. package/dist/memory/index.d.ts +1 -0
  108. package/dist/memory/index.d.ts.map +1 -1
  109. package/dist/memory/index.js +1 -0
  110. package/dist/memory/index.js.map +1 -1
  111. package/dist/memory/prompt-context.d.ts +42 -0
  112. package/dist/memory/prompt-context.d.ts.map +1 -0
  113. package/dist/memory/prompt-context.js +129 -0
  114. package/dist/memory/prompt-context.js.map +1 -0
  115. package/dist/runtime/chat-compact.d.ts +26 -0
  116. package/dist/runtime/chat-compact.d.ts.map +1 -0
  117. package/dist/runtime/chat-compact.js +132 -0
  118. package/dist/runtime/chat-compact.js.map +1 -0
  119. package/dist/runtime/chat-controller.d.ts.map +1 -1
  120. package/dist/runtime/chat-controller.js +64 -74
  121. package/dist/runtime/chat-controller.js.map +1 -1
  122. package/dist/runtime/goals/coordinator.d.ts +3 -0
  123. package/dist/runtime/goals/coordinator.d.ts.map +1 -1
  124. package/dist/runtime/goals/coordinator.js +5 -15
  125. package/dist/runtime/goals/coordinator.js.map +1 -1
  126. package/dist/runtime/goals/prompt.js +1 -1
  127. package/dist/runtime/goals/prompt.js.map +1 -1
  128. package/dist/runtime/goals/stop-policy.d.ts +9 -0
  129. package/dist/runtime/goals/stop-policy.d.ts.map +1 -0
  130. package/dist/runtime/goals/stop-policy.js +83 -0
  131. package/dist/runtime/goals/stop-policy.js.map +1 -0
  132. package/dist/runtime/goals/types.d.ts +0 -1
  133. package/dist/runtime/goals/types.d.ts.map +1 -1
  134. package/dist/runtime/goals/types.js +0 -1
  135. package/dist/runtime/goals/types.js.map +1 -1
  136. package/dist/runtime/model-coordinator.d.ts +44 -1
  137. package/dist/runtime/model-coordinator.d.ts.map +1 -1
  138. package/dist/runtime/model-coordinator.js +161 -19
  139. package/dist/runtime/model-coordinator.js.map +1 -1
  140. package/dist/runtime/subagents/index.d.ts +1 -1
  141. package/dist/runtime/subagents/index.d.ts.map +1 -1
  142. package/dist/runtime/subagents/index.js.map +1 -1
  143. package/dist/runtime/subagents/production.d.ts +6 -2
  144. package/dist/runtime/subagents/production.d.ts.map +1 -1
  145. package/dist/runtime/subagents/production.js +25 -6
  146. package/dist/runtime/subagents/production.js.map +1 -1
  147. package/dist/runtime/subagents/runner.d.ts +12 -1
  148. package/dist/runtime/subagents/runner.d.ts.map +1 -1
  149. package/dist/runtime/subagents/runner.js +62 -1
  150. package/dist/runtime/subagents/runner.js.map +1 -1
  151. package/dist/runtime/subagents/runtime-integration.d.ts.map +1 -1
  152. package/dist/runtime/subagents/runtime-integration.js +2 -1
  153. package/dist/runtime/subagents/runtime-integration.js.map +1 -1
  154. package/dist/runtime/subagents/supervisor.d.ts.map +1 -1
  155. package/dist/runtime/subagents/supervisor.js +6 -0
  156. package/dist/runtime/subagents/supervisor.js.map +1 -1
  157. package/dist/runtime/subagents/types.d.ts +4 -1
  158. package/dist/runtime/subagents/types.d.ts.map +1 -1
  159. package/dist/runtime/subagents/types.js.map +1 -1
  160. package/dist/runtime/ui-events.d.ts +2 -0
  161. package/dist/runtime/ui-events.d.ts.map +1 -1
  162. package/dist/runtime/ui-events.js.map +1 -1
  163. package/dist/services/compact/auto-compact.d.ts +82 -2
  164. package/dist/services/compact/auto-compact.d.ts.map +1 -1
  165. package/dist/services/compact/auto-compact.js +226 -44
  166. package/dist/services/compact/auto-compact.js.map +1 -1
  167. package/dist/services/compact/compact.d.ts +54 -37
  168. package/dist/services/compact/compact.d.ts.map +1 -1
  169. package/dist/services/compact/compact.js +512 -127
  170. package/dist/services/compact/compact.js.map +1 -1
  171. package/dist/services/compact/coordinator.d.ts +5 -1
  172. package/dist/services/compact/coordinator.d.ts.map +1 -1
  173. package/dist/services/compact/coordinator.js +10 -1
  174. package/dist/services/compact/coordinator.js.map +1 -1
  175. package/dist/services/compact/fingerprint.d.ts +27 -0
  176. package/dist/services/compact/fingerprint.d.ts.map +1 -0
  177. package/dist/services/compact/fingerprint.js +69 -0
  178. package/dist/services/compact/fingerprint.js.map +1 -0
  179. package/dist/services/compact/index.d.ts +7 -5
  180. package/dist/services/compact/index.d.ts.map +1 -1
  181. package/dist/services/compact/index.js +19 -6
  182. package/dist/services/compact/index.js.map +1 -1
  183. package/dist/services/compact/planner.d.ts +41 -0
  184. package/dist/services/compact/planner.d.ts.map +1 -0
  185. package/dist/services/compact/planner.js +102 -0
  186. package/dist/services/compact/planner.js.map +1 -0
  187. package/dist/services/compact/semantic-summary.d.ts +93 -0
  188. package/dist/services/compact/semantic-summary.d.ts.map +1 -0
  189. package/dist/services/compact/semantic-summary.js +158 -0
  190. package/dist/services/compact/semantic-summary.js.map +1 -0
  191. package/dist/services/compact/summary-generator.d.ts +23 -0
  192. package/dist/services/compact/summary-generator.d.ts.map +1 -1
  193. package/dist/services/compact/summary-generator.js +173 -39
  194. package/dist/services/compact/summary-generator.js.map +1 -1
  195. package/dist/services/file-context.d.ts.map +1 -1
  196. package/dist/services/file-context.js +29 -33
  197. package/dist/services/file-context.js.map +1 -1
  198. package/dist/services/global-config.d.ts +6 -0
  199. package/dist/services/global-config.d.ts.map +1 -1
  200. package/dist/services/global-config.js +8 -0
  201. package/dist/services/global-config.js.map +1 -1
  202. package/dist/services/llm.d.ts +3 -0
  203. package/dist/services/llm.d.ts.map +1 -1
  204. package/dist/services/llm.js +7 -0
  205. package/dist/services/llm.js.map +1 -1
  206. package/dist/services/project-instructions.d.ts.map +1 -1
  207. package/dist/services/project-instructions.js +10 -17
  208. package/dist/services/project-instructions.js.map +1 -1
  209. package/dist/services/safe-project-reader.d.ts +30 -0
  210. package/dist/services/safe-project-reader.d.ts.map +1 -0
  211. package/dist/services/safe-project-reader.js +141 -0
  212. package/dist/services/safe-project-reader.js.map +1 -0
  213. package/dist/services/session-storage.d.ts +134 -5
  214. package/dist/services/session-storage.d.ts.map +1 -1
  215. package/dist/services/session-storage.js +727 -57
  216. package/dist/services/session-storage.js.map +1 -1
  217. package/dist/services/usage-state.d.ts +7 -0
  218. package/dist/services/usage-state.d.ts.map +1 -1
  219. package/dist/services/usage-state.js +117 -16
  220. package/dist/services/usage-state.js.map +1 -1
  221. package/dist/skills/runtime.d.ts.map +1 -1
  222. package/dist/skills/runtime.js +34 -35
  223. package/dist/skills/runtime.js.map +1 -1
  224. package/docs/migration/v0.1.8-to-v0.1.9.md +60 -0
  225. package/docs/plan/v0.1.9-release-checklist.md +64 -0
  226. package/docs/readme.md +27 -0
  227. package/npm-shrinkwrap.json +14 -38
  228. package/package.json +5 -1
  229. package/dist/services/compact/micro-compact.d.ts +0 -21
  230. package/dist/services/compact/micro-compact.d.ts.map +0 -1
  231. package/dist/services/compact/micro-compact.js +0 -99
  232. package/dist/services/compact/micro-compact.js.map +0 -1
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractCompactSummary = extractCompactSummary;
4
+ exports.emptyCompactSummary = emptyCompactSummary;
5
+ const redaction_1 = require("../redaction");
6
+ const token_estimate_1 = require("../../utils/token-estimate");
7
+ function compactBothEnds(value, maxLength = 600) {
8
+ const redacted = (0, redaction_1.redactTraceText)(value).replace(/\s+/g, ' ').trim();
9
+ if (redacted.length <= maxLength)
10
+ return redacted;
11
+ const headLength = Math.floor((maxLength - 5) / 2);
12
+ const tailLength = maxLength - 5 - headLength;
13
+ return `${redacted.slice(0, headLength)} ... ${redacted.slice(-tailLength)}`;
14
+ }
15
+ function unique(values) {
16
+ return [...new Set(values.filter(Boolean))];
17
+ }
18
+ function extractPaths(messages) {
19
+ const paths = [];
20
+ for (const message of messages) {
21
+ for (const call of message.tool_calls ?? []) {
22
+ try {
23
+ const args = JSON.parse(call.function.arguments);
24
+ const path = args.path ?? args.file_path ?? args.filePath;
25
+ if (typeof path === 'string' && path.trim())
26
+ paths.push((0, redaction_1.redactTraceText)(path.trim()));
27
+ }
28
+ catch {
29
+ // Invalid arguments are still represented by the ContextItem text.
30
+ }
31
+ }
32
+ }
33
+ return paths;
34
+ }
35
+ function inferStatus(text) {
36
+ if (/\b(pass(?:ed)?|success(?:ful)?|ok|complete(?:d)?)\b|通过|成功/iu.test(text)) {
37
+ return 'passed';
38
+ }
39
+ if (/\b(fail(?:ed|ure)?|error|blocked|timeout)\b|失败|错误|阻塞|超时/iu.test(text)) {
40
+ return 'failed';
41
+ }
42
+ return 'unknown';
43
+ }
44
+ function contextItem(group, taskEpoch) {
45
+ const head = group.messages[0];
46
+ const toolCalls = group.messages.flatMap(message => message.tool_calls ?? []);
47
+ const toolResults = group.messages.filter(message => message.role === 'tool');
48
+ const toolNames = unique(toolCalls.map(call => call.function.name));
49
+ const toolCallIds = unique([
50
+ ...toolCalls.map(call => call.id),
51
+ ...toolResults.map(message => message.tool_call_id ?? ''),
52
+ ]);
53
+ let kind;
54
+ let text;
55
+ if (toolCalls.length > 0 || head.role === 'tool') {
56
+ kind = 'tool_group';
57
+ const results = toolResults.map(message => compactBothEnds(message.content, 360));
58
+ text = compactBothEnds([toolNames.length > 0 ? `Tools: ${toolNames.join(', ')}` : 'Tool result', ...results].join(' | '));
59
+ }
60
+ else if (head.role === 'user') {
61
+ kind = 'turn';
62
+ text = compactBothEnds(head.content);
63
+ }
64
+ else if (head.role === 'system') {
65
+ kind = 'system';
66
+ text = compactBothEnds(head.content);
67
+ }
68
+ else {
69
+ kind = 'decision';
70
+ text = compactBothEnds(head.content);
71
+ }
72
+ const status = kind === 'tool_group' ? inferStatus(text) : undefined;
73
+ const verificationTool = toolNames.some(name => /test|lint|build|check|verify|typecheck/iu.test(name));
74
+ return {
75
+ id: `ctx-${group.id.slice(0, 20)}`,
76
+ groupId: group.id,
77
+ kind,
78
+ priority: kind === 'system'
79
+ ? 'must_keep'
80
+ : kind === 'turn'
81
+ ? 'high'
82
+ : kind === 'tool_group'
83
+ ? status === 'failed' || verificationTool
84
+ ? 'high'
85
+ : 'evictable'
86
+ : 'normal',
87
+ sourceRefs: unique([`group:${group.id}`, ...toolCallIds.map(id => `tool-call:${id}`)]),
88
+ tokenEstimate: group.estimatedTokens || (0, token_estimate_1.estimateMessagesTokens)(group.messages),
89
+ taskEpoch,
90
+ expires: kind === 'system' ? 'session' : 'task',
91
+ text,
92
+ sourceRole: head.role,
93
+ messageIndexes: { start: group.startIndex, end: group.endIndex },
94
+ toolNames: toolNames.length > 0 ? toolNames : undefined,
95
+ toolCallIds: toolCallIds.length > 0 ? toolCallIds : undefined,
96
+ status,
97
+ };
98
+ }
99
+ /** Build a typed, auditable item for every evicted atomic message group. */
100
+ function extractCompactSummary(groups, options = {}) {
101
+ const taskEpoch = Math.max(1, Math.floor(options.taskEpoch ?? 1));
102
+ const items = groups.map(group => contextItem(group, taskEpoch));
103
+ const userItems = items.filter(item => item.kind === 'turn' && item.sourceRole === 'user');
104
+ const assistantItems = items.filter(item => item.kind === 'decision');
105
+ const toolOutcomes = items.filter(item => item.kind === 'tool_group');
106
+ const allMessages = groups.flatMap(group => group.messages);
107
+ const evidenceRefs = unique(allMessages.flatMap(message => [
108
+ ...message.content.matchAll(/\b(?:evidence|criterion|checkpoint)[-_:\s]?[a-z0-9._:-]+/giu),
109
+ ].map(match => match[0])));
110
+ const constraints = unique(userItems
111
+ .filter(item => /\b(must|only|never|do not|without)\b|必须|不得|不要|只能|严禁/iu.test(item.text))
112
+ .map(item => item.text));
113
+ const decisions = unique(assistantItems
114
+ .filter(item => /\b(decid(?:e|ed)|chosen|will use|approach)\b|决定|采用|选择/iu.test(item.text))
115
+ .map(item => item.text));
116
+ const blockers = unique(items
117
+ .filter(item => /\b(blocked|cannot|unable|error|failed)\b|阻塞|无法|失败|错误/iu.test(item.text))
118
+ .map(item => item.text));
119
+ const pending = unique(items
120
+ .filter(item => /\b(pending|todo|remaining|next)\b|待办|尚未|下一步/iu.test(item.text))
121
+ .map(item => item.text));
122
+ const completed = unique(items
123
+ .filter(item => /\b(done|completed|passed|implemented|fixed)\b|完成|通过|已修复/iu.test(item.text))
124
+ .map(item => item.text));
125
+ const verification = toolOutcomes.filter(item => item.status !== 'unknown' ||
126
+ item.toolNames?.some(name => /test|lint|build|check|verify/iu.test(name)));
127
+ return {
128
+ version: 1,
129
+ taskEpoch,
130
+ objective: userItems[0]?.text,
131
+ latestUserInstruction: userItems.at(-1)?.text,
132
+ constraints,
133
+ decisions,
134
+ completed,
135
+ pending,
136
+ blockers,
137
+ files: unique(extractPaths(allMessages)),
138
+ verification,
139
+ toolOutcomes,
140
+ evidenceRefs,
141
+ items,
142
+ sourceBoundary: {
143
+ firstGroupId: groups[0]?.id,
144
+ lastGroupId: groups.at(-1)?.id,
145
+ groupCount: groups.length,
146
+ messageCount: groups.reduce((sum, group) => sum + group.messages.length, 0),
147
+ },
148
+ coverage: {
149
+ groupIds: groups.map(group => group.id),
150
+ groupCount: groups.length,
151
+ messageCount: groups.reduce((sum, group) => sum + group.messages.length, 0),
152
+ },
153
+ };
154
+ }
155
+ function emptyCompactSummary() {
156
+ return extractCompactSummary([]);
157
+ }
158
+ //# sourceMappingURL=semantic-summary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-summary.js","sourceRoot":"","sources":["../../../src/services/compact/semantic-summary.ts"],"names":[],"mappings":";;AAuMA,sDAmFC;AAED,kDAEC;AA7RD,4CAA+C;AAC/C,+DAAoE;AAgGpE,SAAS,eAAe,CAAC,KAAa,EAAE,YAAoB,GAAG;IAC7D,MAAM,QAAQ,GAAG,IAAA,2BAAe,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACpE,IAAI,QAAQ,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,QAAQ,CAAC;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,GAAG,UAAU,CAAC;IAC9C,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,QAAQ,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;AAC/E,CAAC;AAED,SAAS,MAAM,CAAC,MAAyB;IACvC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,YAAY,CAAC,QAA4B;IAChD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAA4B,CAAC;gBAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC;gBAC1D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE;oBAAE,KAAK,CAAC,IAAI,CAAC,IAAA,2BAAe,EAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACxF,CAAC;YAAC,MAAM,CAAC;gBACP,mEAAmE;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,6DAA6D,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7E,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,2DAA2D,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3E,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,WAAW,CAAC,KAA0B,EAAE,SAAiB;IAChE,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IAC9E,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAC9E,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,MAAM,CAAC;QACzB,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;KAC1D,CAAC,CAAC;IAEH,IAAI,IAAqB,CAAC;IAC1B,IAAI,IAAY,CAAC;IACjB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACjD,IAAI,GAAG,YAAY,CAAC;QACpB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAClF,IAAI,GAAG,eAAe,CACpB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,CACxF,KAAK,CACN,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAChC,IAAI,GAAG,MAAM,CAAC;QACd,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,GAAG,QAAQ,CAAC;QAChB,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,UAAU,CAAC;QAClB,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7C,0CAA0C,CAAC,IAAI,CAAC,IAAI,CAAC,CACtD,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QAClC,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,IAAI;QACJ,QAAQ,EACN,IAAI,KAAK,QAAQ;YACf,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,IAAI,KAAK,MAAM;gBACf,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,IAAI,KAAK,YAAY;oBACrB,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,gBAAgB;wBACvC,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,WAAW;oBACf,CAAC,CAAC,QAAQ;QAClB,UAAU,EAAE,MAAM,CAAC,CAAC,SAAS,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;QACtF,aAAa,EAAE,KAAK,CAAC,eAAe,IAAI,IAAA,uCAAsB,EAAC,KAAK,CAAC,QAAQ,CAAC;QAC9E,SAAS;QACT,OAAO,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;QAC/C,IAAI;QACJ,UAAU,EAAE,IAAI,CAAC,IAAI;QACrB,cAAc,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE;QAChE,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACvD,WAAW,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QAC7D,MAAM;KACP,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,SAAgB,qBAAqB,CACnC,MAAsC,EACtC,UAAkC,EAAE;IAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC;IAC3F,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,MAAM,CACzB,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAC5B;QACE,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,6DAA6D,CAAC;KAC3F,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACzB,CACF,CAAC;IACF,MAAM,WAAW,GAAG,MAAM,CACxB,SAAS;SACN,MAAM,CAAC,IAAI,CAAC,EAAE,CACb,uDAAuD,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CACxE;SACA,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1B,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,CACtB,cAAc;SACX,MAAM,CAAC,IAAI,CAAC,EAAE,CACb,yDAAyD,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1E;SACA,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1B,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,CACrB,KAAK;SACF,MAAM,CAAC,IAAI,CAAC,EAAE,CACb,wDAAwD,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CACzE;SACA,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1B,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,CACpB,KAAK;SACF,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,+CAA+C,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/E,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1B,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,CACtB,KAAK;SACF,MAAM,CAAC,IAAI,CAAC,EAAE,CACb,2DAA2D,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAC5E;SACA,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1B,CAAC;IACF,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CACtC,IAAI,CAAC,EAAE,CACL,IAAI,CAAC,MAAM,KAAK,SAAS;QACzB,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAC5E,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,CAAC;QACV,SAAS;QACT,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI;QAC7B,qBAAqB,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;QAC7C,WAAW;QACX,SAAS;QACT,SAAS;QACT,OAAO;QACP,QAAQ;QACR,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACxC,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,KAAK;QACL,cAAc,EAAE;YACd,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3B,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9B,UAAU,EAAE,MAAM,CAAC,MAAM;YACzB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;SAC5E;QACD,QAAQ,EAAE;YACR,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,UAAU,EAAE,MAAM,CAAC,MAAM;YACzB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;SAC5E;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,mBAAmB;IACjC,OAAO,qBAAqB,CAAC,EAAE,CAAC,CAAC;AACnC,CAAC"}
@@ -4,6 +4,7 @@
4
4
  * 为压缩的历史消息生成简洁摘要,保留关键信息。
5
5
  */
6
6
  import type { LLMService, Message } from '../llm';
7
+ import { type CompactSummary } from './semantic-summary';
7
8
  export interface SummaryOptions {
8
9
  /** 摘要最大长度 */
9
10
  maxLength?: number;
@@ -13,7 +14,19 @@ export interface SummaryOptions {
13
14
  includeFileChanges?: boolean;
14
15
  /** 摘要格式 */
15
16
  format?: 'bullet' | 'narrative' | 'structured';
17
+ /**
18
+ * Optional user focus for a manual compact. This is secondary guidance only:
19
+ * atomic-group coverage and Harness invariants are validated separately.
20
+ */
21
+ focus?: string;
22
+ /**
23
+ * Bounded project guidance applied to manual and automatic compaction. It is
24
+ * secondary to protocol, safety, criteria, evidence, and pending-work rules.
25
+ */
26
+ instructions?: string;
16
27
  }
28
+ export declare function normalizeCompactFocus(value: string | undefined): string | undefined;
29
+ export declare function normalizeCompactInstructions(value: string | undefined): string | undefined;
17
30
  /**
18
31
  * 从消息列表生成摘要
19
32
  *
@@ -25,6 +38,16 @@ export { summaryGenerator as generateSummary };
25
38
  export interface GeneratedSummary {
26
39
  text: string;
27
40
  source: 'llm' | 'heuristic';
41
+ semanticSummary: CompactSummary;
42
+ diagnostics: SummaryDiagnostic[];
43
+ }
44
+ export type SummaryDiagnosticCode = 'llm_request_failed' | 'llm_empty_response' | 'llm_chunked_input' | 'heuristic_fallback' | 'deterministic_projection';
45
+ export interface SummaryDiagnostic {
46
+ code: SummaryDiagnosticCode;
47
+ message: string;
48
+ fallbackUsed: boolean;
49
+ chunkIndex?: number;
50
+ chunkCount?: number;
28
51
  }
29
52
  export declare function generateSummaryWithSource(messages: Message[], llm: LLMService, options?: SummaryOptions): Promise<GeneratedSummary>;
30
53
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"summary-generator.d.ts","sourceRoot":"","sources":["../../../src/services/compact/summary-generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAOlD,MAAM,WAAW,cAAc;IAC7B,aAAa;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,WAAW;IACX,MAAM,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC;CAChD;AA+CD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC,CAiEjB;AAkFD,OAAO,EAAE,gBAAgB,IAAI,eAAe,EAAE,CAAC;AAM/C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,GAAG,WAAW,CAAC;CAC7B;AAgCD,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,OAAO,EAAE,EACnB,GAAG,EAAE,UAAU,EACf,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAwD3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,OAAO,EAAE,EACnB,GAAG,EAAE,UAAU,EACf,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC,CAEjB"}
1
+ {"version":3,"file":"summary-generator.d.ts","sourceRoot":"","sources":["../../../src/services/compact/summary-generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGlD,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAM5B,MAAM,WAAW,cAAc;IAC7B,aAAa;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,WAAW;IACX,MAAM,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC;IAC/C;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAgBD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAInF;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAI1F;AA+DD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC,CAsEjB;AAkFD,OAAO,EAAE,gBAAgB,IAAI,eAAe,EAAE,CAAC;AAM/C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,GAAG,WAAW,CAAC;IAC5B,eAAe,EAAE,cAAc,CAAC;IAChC,WAAW,EAAE,iBAAiB,EAAE,CAAC;CAClC;AAED,MAAM,MAAM,qBAAqB,GAC7B,oBAAoB,GACpB,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,GACpB,0BAA0B,CAAC;AAE/B,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA8ED,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,OAAO,EAAE,EACnB,GAAG,EAAE,UAAU,EACf,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAmI3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,OAAO,EAAE,EACnB,GAAG,EAAE,UAAU,EACf,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC,CAEjB"}
@@ -5,20 +5,57 @@
5
5
  * 为压缩的历史消息生成简洁摘要,保留关键信息。
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.normalizeCompactFocus = normalizeCompactFocus;
9
+ exports.normalizeCompactInstructions = normalizeCompactInstructions;
8
10
  exports.summaryGenerator = summaryGenerator;
9
11
  exports.generateSummary = summaryGenerator;
10
12
  exports.generateSummaryWithSource = generateSummaryWithSource;
11
13
  exports.generateLLMSummary = generateLLMSummary;
12
14
  const redaction_1 = require("../redaction");
15
+ const planner_1 = require("./planner");
16
+ const semantic_summary_1 = require("./semantic-summary");
13
17
  // ============================================================================
14
18
  // 默认配置
15
19
  // ============================================================================
16
20
  const DEFAULT_OPTIONS = {
17
- maxLength: 500,
21
+ maxLength: 2000,
18
22
  includeToolCalls: true,
19
23
  includeFileChanges: true,
20
24
  format: 'bullet',
21
25
  };
26
+ const MAX_FOCUS_LENGTH = 300;
27
+ const MAX_INSTRUCTIONS_LENGTH = 600;
28
+ function normalizeCompactFocus(value) {
29
+ if (!value)
30
+ return undefined;
31
+ const normalized = (0, redaction_1.redactTraceText)(value).replace(/\s+/g, ' ').trim();
32
+ return normalized ? truncateSummary(normalized, MAX_FOCUS_LENGTH) : undefined;
33
+ }
34
+ function normalizeCompactInstructions(value) {
35
+ if (!value)
36
+ return undefined;
37
+ const normalized = (0, redaction_1.redactTraceText)(value).replace(/\s+/g, ' ').trim();
38
+ return normalized ? truncateSummary(normalized, MAX_INSTRUCTIONS_LENGTH) : undefined;
39
+ }
40
+ function applyCompactGuidance(summary, focus, instructions, maxLength) {
41
+ const normalizedFocus = normalizeCompactFocus(focus);
42
+ const normalizedInstructions = normalizeCompactInstructions(instructions);
43
+ const guidanceLines = [
44
+ normalizedFocus ? `Requested focus: ${normalizedFocus}` : '',
45
+ normalizedInstructions ? `Project compact instructions: ${normalizedInstructions}` : '',
46
+ ].filter(Boolean);
47
+ if (guidanceLines.length === 0)
48
+ return truncateSummary(summary, maxLength);
49
+ const guidance = guidanceLines.join('\n');
50
+ if (!summary.trim())
51
+ return truncateSummary(guidance, maxLength);
52
+ // Bound all caller guidance so it cannot crowd the semantic summary out of the
53
+ // model-visible projection.
54
+ const guidanceBudget = Math.min(Math.max(48, Math.floor(maxLength * 0.25)), 240);
55
+ const boundedGuidance = truncateSummary(guidance, guidanceBudget);
56
+ const summaryBudget = Math.max(0, maxLength - boundedGuidance.length - 1);
57
+ return truncateSummary(`${boundedGuidance}\n${truncateSummary(summary, summaryBudget)}`, maxLength);
58
+ }
22
59
  function truncateSummary(value, maxLength) {
23
60
  if (maxLength <= 0)
24
61
  return '';
@@ -108,7 +145,7 @@ async function summaryGenerator(messages, options) {
108
145
  freshSummary = buildStructuredSummary(uniqueTopics, uniqueTools, uniqueFiles, maxLen);
109
146
  break;
110
147
  }
111
- return mergeSummaries(prepared.priorSummary, freshSummary, maxLen);
148
+ return applyCompactGuidance(mergeSummaries(prepared.priorSummary, freshSummary, maxLen), opts.focus, opts.instructions, maxLen);
112
149
  }
113
150
  // ============================================================================
114
151
  // 摘要格式化
@@ -159,6 +196,7 @@ function buildStructuredSummary(topics, tools, files, maxLength) {
159
196
  return summary.length > maxLength ? summary.slice(0, maxLength - 3) + '...' : summary;
160
197
  }
161
198
  const CONTEXT_SUMMARY_PREFIX = '[Context Summary]\n';
199
+ const SUMMARY_CHUNK_CHARS = 7000;
162
200
  function prepareSummaryInput(messages) {
163
201
  let priorSummary;
164
202
  const prepared = [];
@@ -179,60 +217,156 @@ function prepareSummaryInput(messages) {
179
217
  }
180
218
  return { priorSummary, messages: prepared };
181
219
  }
220
+ function compactBothEnds(value, maxLength) {
221
+ if (value.length <= maxLength)
222
+ return value;
223
+ const headLength = Math.floor((maxLength - 5) / 2);
224
+ const tailLength = maxLength - 5 - headLength;
225
+ return `${value.slice(0, headLength)} ... ${value.slice(-tailLength)}`;
226
+ }
227
+ function summaryGroupLine(messages, groupId) {
228
+ const parts = messages.map(message => {
229
+ const content = compactBothEnds(message.content ?? '', 600);
230
+ const calls = message.tool_calls?.length
231
+ ? ` calls=${message.tool_calls.map(call => `${call.function.name}#${call.id}`).join(',')}`
232
+ : '';
233
+ const resultId = message.tool_call_id ? ` resultFor=${message.tool_call_id}` : '';
234
+ return `[${message.role}${calls}${resultId}] ${content}`;
235
+ });
236
+ return `<group id="${groupId}">\n${parts.join('\n')}\n</group>`;
237
+ }
238
+ function chunkSummaryLines(lines) {
239
+ const chunks = [];
240
+ let current = '';
241
+ for (const line of lines) {
242
+ if (current && current.length + line.length + 1 > SUMMARY_CHUNK_CHARS) {
243
+ chunks.push(current);
244
+ current = '';
245
+ }
246
+ // A single very large group has already had each message compacted at both
247
+ // ends. Keep it whole so the atomic group's tail is not silently dropped.
248
+ current = current ? `${current}\n${line}` : line;
249
+ }
250
+ if (current)
251
+ chunks.push(current);
252
+ return chunks;
253
+ }
254
+ function mergeChunkOutputs(outputs, maxLength) {
255
+ if (outputs.length === 1)
256
+ return truncateSummary(outputs[0], maxLength);
257
+ const separatorBudget = Math.max(0, outputs.length - 1);
258
+ const perChunk = Math.max(1, Math.floor((maxLength - separatorBudget) / outputs.length));
259
+ return truncateSummary(outputs.map(output => truncateSummary(output.trim(), perChunk)).join('\n'), maxLength);
260
+ }
182
261
  async function generateSummaryWithSource(messages, llm, options) {
183
262
  const opts = { ...DEFAULT_OPTIONS, ...options };
184
- if (messages.length === 0)
185
- return { text: '', source: 'heuristic' };
263
+ if (messages.length === 0) {
264
+ return {
265
+ text: '',
266
+ source: 'heuristic',
267
+ semanticSummary: (0, semantic_summary_1.emptyCompactSummary)(),
268
+ diagnostics: [],
269
+ };
270
+ }
186
271
  const prepared = prepareSummaryInput(messages);
187
- const condensed = prepared.messages
188
- .map(msg => {
189
- const content = msg.content ?? '';
190
- if (msg.role === 'user')
191
- return `[User]: ${content.slice(0, 200)}`;
192
- if (msg.role === 'assistant') {
193
- const toolCalls = msg.tool_calls
194
- ? ` (tools: ${msg.tool_calls.map(tc => tc.function.name).join(', ')})`
195
- : '';
196
- return `[Assistant]: ${content.slice(0, 300)}${toolCalls}`;
197
- }
198
- if (msg.role === 'tool')
199
- return `[Tool]: ${content.slice(0, 150)}`;
200
- return '';
201
- })
202
- .filter(Boolean)
203
- .join('\n');
204
- const priorSummarySection = prepared.priorSummary
205
- ? `Prior durable summary (merge it with only the new conversation below):\n${prepared.priorSummary}\n\n`
206
- : '';
207
- const prompt = `Summarize the following coding agent conversation compactly. Focus on:
272
+ const groups = (0, planner_1.groupMessagesForCompact)(prepared.messages);
273
+ const normalizedFocus = normalizeCompactFocus(opts.focus);
274
+ const normalizedInstructions = normalizeCompactInstructions(opts.instructions);
275
+ const semanticSummary = {
276
+ ...(0, semantic_summary_1.extractCompactSummary)(groups),
277
+ requestedFocus: normalizedFocus,
278
+ projectInstructions: normalizedInstructions,
279
+ };
280
+ if (groups.length === 0 && prepared.priorSummary) {
281
+ return {
282
+ text: applyCompactGuidance(prepared.priorSummary, normalizedFocus, normalizedInstructions, opts.maxLength || 500),
283
+ source: 'heuristic',
284
+ semanticSummary,
285
+ diagnostics: [],
286
+ };
287
+ }
288
+ const chunks = chunkSummaryLines(groups.map(group => summaryGroupLine(group.messages, group.id)));
289
+ const diagnostics = [];
290
+ if (chunks.length > 1) {
291
+ diagnostics.push({
292
+ code: 'llm_chunked_input',
293
+ message: `Semantic summary covered ${groups.length} groups in ${chunks.length} chunks.`,
294
+ fallbackUsed: false,
295
+ chunkCount: chunks.length,
296
+ });
297
+ }
298
+ const outputs = [];
299
+ for (const [chunkIndex, chunk] of chunks.entries()) {
300
+ const priorSummarySection = chunkIndex === 0 && prepared.priorSummary
301
+ ? `Prior durable summary (merge it with only the new conversation below):\n${prepared.priorSummary}\n\n`
302
+ : '';
303
+ const focusSection = normalizedFocus
304
+ ? `Additional user focus (secondary guidance; never omit constraints, evidence, failures, or pending work):\n${normalizedFocus}\n\n`
305
+ : '';
306
+ const instructionsSection = normalizedInstructions
307
+ ? `Project compact instructions (secondary guidance; never override protocol, safety, criteria, evidence, failures, or pending work):\n${normalizedInstructions}\n\n`
308
+ : '';
309
+ const prompt = `Summarize this complete chunk of a coding-agent conversation. Every group is atomic. Focus on:
208
310
  1. User's main goal/objective
209
311
  2. Key actions taken (files modified, commands run)
210
312
  3. Current state (what's done, what's pending)
211
313
  4. Any important decisions or constraints mentioned
212
314
 
213
- Keep the summary under ${opts.maxLength || 500} characters. Use bullet points.
315
+ Keep the summary under ${opts.maxLength || 500} characters. Use bullet points. Do not omit the final group.
214
316
 
215
- ${priorSummarySection}New conversation since the prior summary:
216
- ${condensed.slice(0, 8000)}
317
+ ${instructionsSection}${focusSection}${priorSummarySection}Conversation chunk ${chunkIndex + 1}/${chunks.length}:
318
+ ${chunk}
217
319
 
218
320
  Summary:`;
219
- try {
220
- const response = await llm.chat([{ role: 'user', content: prompt }]);
221
- if (response.content) {
222
- return {
223
- text: response.content.trim().slice(0, opts.maxLength || 500),
224
- source: 'llm',
225
- };
321
+ try {
322
+ const response = await llm.chat([{ role: 'user', content: prompt }]);
323
+ if (!response.content?.trim()) {
324
+ diagnostics.push({
325
+ code: 'llm_empty_response',
326
+ message: `Summary model returned an empty response for chunk ${chunkIndex + 1}.`,
327
+ fallbackUsed: true,
328
+ chunkIndex,
329
+ chunkCount: chunks.length,
330
+ });
331
+ break;
332
+ }
333
+ outputs.push(response.content.trim());
334
+ }
335
+ catch (error) {
336
+ diagnostics.push({
337
+ code: 'llm_request_failed',
338
+ message: (0, redaction_1.redactTraceText)(error instanceof Error ? error.message : String(error)),
339
+ fallbackUsed: true,
340
+ chunkIndex,
341
+ chunkCount: chunks.length,
342
+ });
343
+ break;
226
344
  }
227
345
  }
228
- catch {
229
- // Fall back to the deterministic summarizer below.
346
+ if (outputs.length === chunks.length && outputs.length > 0) {
347
+ return {
348
+ text: applyCompactGuidance(mergeChunkOutputs(outputs, opts.maxLength || 500), normalizedFocus, normalizedInstructions, opts.maxLength || 500),
349
+ source: 'llm',
350
+ semanticSummary,
351
+ diagnostics,
352
+ };
230
353
  }
231
- const freshSummary = await summaryGenerator(prepared.messages, options);
354
+ const freshSummary = await summaryGenerator(prepared.messages, {
355
+ ...options,
356
+ focus: undefined,
357
+ instructions: undefined,
358
+ });
232
359
  const maxLength = opts.maxLength || 500;
360
+ diagnostics.push({
361
+ code: 'heuristic_fallback',
362
+ message: 'Used deterministic semantic summary fallback.',
363
+ fallbackUsed: true,
364
+ });
233
365
  return {
234
- text: mergeSummaries(prepared.priorSummary, freshSummary, maxLength),
366
+ text: applyCompactGuidance(mergeSummaries(prepared.priorSummary, freshSummary, maxLength), normalizedFocus, normalizedInstructions, maxLength),
235
367
  source: 'heuristic',
368
+ semanticSummary,
369
+ diagnostics,
236
370
  };
237
371
  }
238
372
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"summary-generator.js","sourceRoot":"","sources":["../../../src/services/compact/summary-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summary-generator.js","sourceRoot":"","sources":["../../../src/services/compact/summary-generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-context.d.ts","sourceRoot":"","sources":["../../src/services/file-context.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,CAAC;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AASD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,SAAuB,GAAG,MAAM,EAAE,CAe/F;AAgDD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,cAAc,EAAE,CA2ErH;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,OAAO,GAAE,kBAAuB,GAAG,MAAM,CA4CvG;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,MAAM,CAE/G"}
1
+ {"version":3,"file":"file-context.d.ts","sourceRoot":"","sources":["../../src/services/file-context.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,CAAC;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AASD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,SAAuB,GAAG,MAAM,EAAE,CAe/F;AA6BD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,kBAAuB,GAC/B,cAAc,EAAE,CAmFlB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CAsDR;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CAER"}