@downcity/agent 1.1.228 → 1.1.232

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 (157) hide show
  1. package/bin/agent/local/Agent.d.ts +6 -1
  2. package/bin/agent/local/Agent.d.ts.map +1 -1
  3. package/bin/agent/local/Agent.js +30 -3
  4. package/bin/agent/local/Agent.js.map +1 -1
  5. package/bin/agent/local/services/AgentSessions.d.ts +23 -0
  6. package/bin/agent/local/services/AgentSessions.d.ts.map +1 -1
  7. package/bin/agent/local/services/AgentSessions.js +44 -0
  8. package/bin/agent/local/services/AgentSessions.js.map +1 -1
  9. package/bin/agent/remote/transports/HttpRemoteAgentTransport.d.ts.map +1 -1
  10. package/bin/agent/remote/transports/HttpRemoteAgentTransport.js +0 -7
  11. package/bin/agent/remote/transports/HttpRemoteAgentTransport.js.map +1 -1
  12. package/bin/executor/Executor.d.ts +25 -0
  13. package/bin/executor/Executor.d.ts.map +1 -1
  14. package/bin/executor/Executor.js +36 -0
  15. package/bin/executor/Executor.js.map +1 -1
  16. package/bin/executor/composer/compaction/SessionCompactionComposer.d.ts +4 -0
  17. package/bin/executor/composer/compaction/SessionCompactionComposer.d.ts.map +1 -1
  18. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.d.ts +0 -1
  19. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.d.ts.map +1 -1
  20. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.js +15 -11
  21. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.js.map +1 -1
  22. package/bin/executor/core-engine/CoreEngineRunner.d.ts +11 -0
  23. package/bin/executor/core-engine/CoreEngineRunner.d.ts.map +1 -1
  24. package/bin/executor/core-engine/CoreEngineRunner.js +12 -8
  25. package/bin/executor/core-engine/CoreEngineRunner.js.map +1 -1
  26. package/bin/executor/store/history/SessionHistoryStore.d.ts +3 -13
  27. package/bin/executor/store/history/SessionHistoryStore.d.ts.map +1 -1
  28. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.js +1 -1
  29. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.js.map +1 -1
  30. package/bin/executor/tools/plugin/PluginToolBridge.d.ts.map +1 -1
  31. package/bin/executor/tools/plugin/PluginToolBridge.js +4 -2
  32. package/bin/executor/tools/plugin/PluginToolBridge.js.map +1 -1
  33. package/bin/index.d.ts +2 -1
  34. package/bin/index.d.ts.map +1 -1
  35. package/bin/index.js +1 -1
  36. package/bin/index.js.map +1 -1
  37. package/bin/model/CityModelAdapter.d.ts +6 -0
  38. package/bin/model/CityModelAdapter.d.ts.map +1 -1
  39. package/bin/model/CityModelAdapter.js +13 -0
  40. package/bin/model/CityModelAdapter.js.map +1 -1
  41. package/bin/plugin/core/PluginRegistry.d.ts +22 -1
  42. package/bin/plugin/core/PluginRegistry.d.ts.map +1 -1
  43. package/bin/plugin/core/PluginRegistry.js +46 -4
  44. package/bin/plugin/core/PluginRegistry.js.map +1 -1
  45. package/bin/session/Session.d.ts +11 -1
  46. package/bin/session/Session.d.ts.map +1 -1
  47. package/bin/session/Session.js +76 -11
  48. package/bin/session/Session.js.map +1 -1
  49. package/bin/session/browse/Browse.d.ts +0 -8
  50. package/bin/session/browse/Browse.d.ts.map +1 -1
  51. package/bin/session/browse/Browse.js +72 -57
  52. package/bin/session/browse/Browse.js.map +1 -1
  53. package/bin/session/recorder/JsonlSessionMessageStore.d.ts +69 -16
  54. package/bin/session/recorder/JsonlSessionMessageStore.d.ts.map +1 -1
  55. package/bin/session/recorder/JsonlSessionMessageStore.js +283 -60
  56. package/bin/session/recorder/JsonlSessionMessageStore.js.map +1 -1
  57. package/bin/session/recorder/SessionRecorder.d.ts +20 -2
  58. package/bin/session/recorder/SessionRecorder.d.ts.map +1 -1
  59. package/bin/session/recorder/SessionRecorder.js +91 -46
  60. package/bin/session/recorder/SessionRecorder.js.map +1 -1
  61. package/bin/session/recorder/SessionRecorderCompaction.d.ts +3 -3
  62. package/bin/session/recorder/SessionRecorderCompaction.d.ts.map +1 -1
  63. package/bin/session/recorder/SessionRecorderCompaction.js +50 -62
  64. package/bin/session/recorder/SessionRecorderCompaction.js.map +1 -1
  65. package/bin/session/recorder/SessionRecorderHistoryStore.d.ts +2 -2
  66. package/bin/session/recorder/SessionRecorderHistoryStore.d.ts.map +1 -1
  67. package/bin/session/recorder/SessionRecorderHistoryStore.js +31 -36
  68. package/bin/session/recorder/SessionRecorderHistoryStore.js.map +1 -1
  69. package/bin/session/runtime/SessionPromptRuntime.d.ts +17 -1
  70. package/bin/session/runtime/SessionPromptRuntime.d.ts.map +1 -1
  71. package/bin/session/runtime/SessionPromptRuntime.js +67 -8
  72. package/bin/session/runtime/SessionPromptRuntime.js.map +1 -1
  73. package/bin/session/services/SessionStateService.d.ts +15 -1
  74. package/bin/session/services/SessionStateService.d.ts.map +1 -1
  75. package/bin/session/services/SessionStateService.js +60 -39
  76. package/bin/session/services/SessionStateService.js.map +1 -1
  77. package/bin/session/services/SessionTurnService.d.ts +5 -0
  78. package/bin/session/services/SessionTurnService.d.ts.map +1 -1
  79. package/bin/session/services/SessionTurnService.js +17 -3
  80. package/bin/session/services/SessionTurnService.js.map +1 -1
  81. package/bin/session/services/SessionViewService.d.ts +1 -5
  82. package/bin/session/services/SessionViewService.d.ts.map +1 -1
  83. package/bin/session/services/SessionViewService.js +4 -34
  84. package/bin/session/services/SessionViewService.js.map +1 -1
  85. package/bin/session/storage/Paths.d.ts +3 -15
  86. package/bin/session/storage/Paths.d.ts.map +1 -1
  87. package/bin/session/storage/Paths.js +5 -21
  88. package/bin/session/storage/Paths.js.map +1 -1
  89. package/bin/types/agent/SessionTypes.d.ts +2 -24
  90. package/bin/types/agent/SessionTypes.d.ts.map +1 -1
  91. package/bin/types/executor/SessionRunContext.d.ts +21 -0
  92. package/bin/types/executor/SessionRunContext.d.ts.map +1 -1
  93. package/bin/types/plugin/PluginRuntime.d.ts +25 -0
  94. package/bin/types/plugin/PluginRuntime.d.ts.map +1 -1
  95. package/bin/types/runtime/agent/AgentContext.d.ts +17 -5
  96. package/bin/types/runtime/agent/AgentContext.d.ts.map +1 -1
  97. package/bin/types/runtime/agent/AgentContext.js +29 -6
  98. package/bin/types/runtime/agent/AgentContext.js.map +1 -1
  99. package/bin/types/session/SessionConfigMutation.d.ts +68 -0
  100. package/bin/types/session/SessionConfigMutation.d.ts.map +1 -0
  101. package/bin/types/session/SessionConfigMutation.js +10 -0
  102. package/bin/types/session/SessionConfigMutation.js.map +1 -0
  103. package/bin/types/session/SessionLocalState.d.ts +8 -0
  104. package/bin/types/session/SessionLocalState.d.ts.map +1 -1
  105. package/bin/types/session/SessionMessage.d.ts +16 -12
  106. package/bin/types/session/SessionMessage.d.ts.map +1 -1
  107. package/bin/types/session/SessionMutation.d.ts +1 -1
  108. package/bin/types/session/SessionMutation.js +1 -1
  109. package/bin/types/session/SessionOptions.d.ts +16 -0
  110. package/bin/types/session/SessionOptions.d.ts.map +1 -1
  111. package/bin/types/session/SessionSegment.d.ts +57 -0
  112. package/bin/types/session/SessionSegment.d.ts.map +1 -0
  113. package/bin/types/session/SessionSegment.js +8 -0
  114. package/bin/types/session/SessionSegment.js.map +1 -0
  115. package/package.json +3 -3
  116. package/scripts/city-model-tool-loop.test.mjs +32 -0
  117. package/scripts/session-action-message.test.mjs +59 -13
  118. package/scripts/session-compaction-context-window.test.mjs +95 -0
  119. package/scripts/session-config-turn-boundary.test.mjs +224 -0
  120. package/scripts/session-list-title.test.mjs +21 -3
  121. package/scripts/session-prompt-runtime.test.mjs +85 -0
  122. package/scripts/session-recorder.test.mjs +340 -11
  123. package/src/agent/local/Agent.ts +34 -3
  124. package/src/agent/local/services/AgentSessions.ts +61 -0
  125. package/src/agent/remote/transports/HttpRemoteAgentTransport.ts +0 -5
  126. package/src/executor/Executor.ts +62 -0
  127. package/src/executor/composer/compaction/SessionCompactionComposer.ts +5 -0
  128. package/src/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.ts +16 -14
  129. package/src/executor/core-engine/CoreEngineRunner.ts +24 -8
  130. package/src/executor/store/history/SessionHistoryStore.ts +3 -14
  131. package/src/executor/store/history/jsonl/JsonlSessionHistoryStore.ts +1 -1
  132. package/src/executor/tools/plugin/PluginToolBridge.ts +4 -2
  133. package/src/index.ts +8 -0
  134. package/src/model/CityModelAdapter.ts +15 -0
  135. package/src/plugin/core/PluginRegistry.ts +72 -4
  136. package/src/session/Session.ts +89 -11
  137. package/src/session/browse/Browse.ts +73 -69
  138. package/src/session/recorder/JsonlSessionMessageStore.ts +378 -60
  139. package/src/session/recorder/SessionRecorder.ts +116 -49
  140. package/src/session/recorder/SessionRecorderCompaction.ts +55 -80
  141. package/src/session/recorder/SessionRecorderHistoryStore.ts +29 -49
  142. package/src/session/runtime/SessionPromptRuntime.ts +100 -9
  143. package/src/session/services/SessionStateService.ts +79 -44
  144. package/src/session/services/SessionTurnService.ts +19 -3
  145. package/src/session/services/SessionViewService.ts +4 -50
  146. package/src/session/storage/Paths.ts +5 -38
  147. package/src/types/agent/SessionTypes.ts +2 -24
  148. package/src/types/executor/SessionRunContext.ts +25 -0
  149. package/src/types/plugin/PluginRuntime.ts +27 -0
  150. package/src/types/runtime/agent/AgentContext.ts +32 -7
  151. package/src/types/session/SessionConfigMutation.ts +78 -0
  152. package/src/types/session/SessionLocalState.ts +9 -0
  153. package/src/types/session/SessionMessage.ts +16 -12
  154. package/src/types/session/SessionMutation.ts +1 -1
  155. package/src/types/session/SessionOptions.ts +21 -0
  156. package/src/types/session/SessionSegment.ts +62 -0
  157. package/tsconfig.tsbuildinfo +1 -1
@@ -160,32 +160,74 @@ export class SessionRecorder {
160
160
  recoverable: input.recoverable,
161
161
  })));
162
162
  }
163
- /** 读取折叠后的 Message snapshot。 */
163
+ /** 读取 Active 或指定边界之前最近的完整 Segment。 */
164
164
  async list_messages(input) {
165
165
  await this.ensure_initialized();
166
- const include_internal = input?.include_internal === true;
167
- const through_sequence = Number.isFinite(input?.through_sequence)
168
- ? Number(input?.through_sequence)
169
- : Number.POSITIVE_INFINITY;
170
- const before_sequence = Number.isFinite(input?.before_sequence)
171
- ? Number(input?.before_sequence)
172
- : Number.POSITIVE_INFINITY;
173
- const all = [...this.messages_by_id.values()]
174
- .filter((message) => (include_internal || message.visibility === "visible") &&
175
- message.sequence <= through_sequence &&
176
- message.sequence < before_sequence)
177
- .sort((left, right) => left.sequence - right.sequence);
178
- const offset = decode_cursor(input?.cursor);
179
- const limit = normalize_limit(input?.limit, 100, 500);
180
- const items = all.slice(offset, offset + limit).map((item) => structuredClone(item));
181
- const next_offset = offset + items.length;
166
+ const requests_segment = input?.before_sequence !== undefined;
167
+ const before_sequence = input?.before_sequence;
168
+ if (requests_segment &&
169
+ (!Number.isInteger(before_sequence) || Number(before_sequence) <= 0)) {
170
+ throw new Error("before_sequence must be a positive integer");
171
+ }
172
+ const segment = requests_segment
173
+ ? await this.store.read_segment_before(Number(before_sequence))
174
+ : null;
175
+ const source = requests_segment ? "segment" : "active";
176
+ const messages = requests_segment
177
+ ? segment?.messages || []
178
+ : [...this.messages_by_id.values()].sort(compare_message_sequence);
179
+ const start_sequence = messages[0]?.sequence;
180
+ const end_sequence = messages.at(-1)?.sequence;
181
+ const history_boundary = source === "segment"
182
+ ? segment?.range.start_sequence
183
+ : await this.store.active_before_sequence(messages);
184
+ const has_more = history_boundary !== undefined &&
185
+ await this.store.has_segment_before(history_boundary);
186
+ const stats = await this.store.stats();
187
+ const items = messages
188
+ .filter((message) => input?.include_internal === true || message.visibility === "visible")
189
+ .map((message) => structuredClone(message));
182
190
  return {
183
191
  items,
184
- total: all.length,
185
- ...(next_offset < all.length ? { next_cursor: encode_cursor(next_offset) } : {}),
186
- has_more: next_offset < all.length,
192
+ total: stats.message_count,
193
+ source,
194
+ ...(start_sequence !== undefined ? { start_sequence } : {}),
195
+ ...(end_sequence !== undefined ? { end_sequence } : {}),
196
+ ...(has_more && history_boundary !== undefined
197
+ ? { next_before_sequence: history_boundary }
198
+ : {}),
199
+ has_more,
200
+ };
201
+ }
202
+ /** 读取最新累计 Summary 与全部 Active Message,供模型上下文使用。 */
203
+ async context_snapshot() {
204
+ await this.ensure_initialized();
205
+ return {
206
+ summary: await this.store.read_latest_summary(),
207
+ messages: [...this.messages_by_id.values()]
208
+ .sort(compare_message_sequence)
209
+ .map((message) => structuredClone(message)),
187
210
  };
188
211
  }
212
+ /** 读取全部真实历史,供 Fork 等明确的全量复制操作使用。 */
213
+ async list_history_messages() {
214
+ await this.ensure_initialized();
215
+ return await this.store.list_history_messages();
216
+ }
217
+ /** 读取当前 Session 的存储统计。 */
218
+ async storage_stats() {
219
+ await this.ensure_initialized();
220
+ return await this.store.stats();
221
+ }
222
+ /** 把 Active 前缀和累计 Summary 提交为不可变 Segment。 */
223
+ async compact_active(input) {
224
+ await this.ensure_initialized();
225
+ const result = await this.store.compact_active(input);
226
+ this.messages_by_id.clear();
227
+ for (const message of result.active_messages) {
228
+ this.messages_by_id.set(message.message_id, structuredClone(message));
229
+ }
230
+ }
189
231
  /** 向当前 Session 导入 fork 来源 Message,并重新分配全部身份和顺序。 */
190
232
  async import_messages(messages) {
191
233
  const turn_ids = new Map();
@@ -484,10 +526,7 @@ export class SessionAssistantMessageWriter {
484
526
  return;
485
527
  }
486
528
  case "file":
487
- await this.upsert_part({
488
- part_id: `file:${generateId()}`,
489
- sequence: this.next_part_sequence(),
490
- type: "file",
529
+ await this.append_file_part({
491
530
  media_type: chunk.mediaType,
492
531
  url: chunk.url,
493
532
  });
@@ -500,6 +539,30 @@ export class SessionAssistantMessageWriter {
500
539
  async upsert_part(part) {
501
540
  await this.recorder.update_assistant_part(this.message_id, part);
502
541
  }
542
+ /**
543
+ * 把最终结果中的文件补入当前 Assistant,并对流式已写入文件去重。
544
+ */
545
+ async append_file_part(input) {
546
+ const filename = String(input.filename || "").trim();
547
+ const current = this.current_message();
548
+ const existing = current.parts.find((part) => part.type === "file" &&
549
+ part.url === input.url &&
550
+ part.media_type === input.media_type);
551
+ if (existing?.type === "file") {
552
+ if (filename && String(existing.filename || "").trim() !== filename) {
553
+ await this.upsert_part({ ...existing, filename });
554
+ }
555
+ return;
556
+ }
557
+ await this.upsert_part({
558
+ part_id: `file:${generateId()}`,
559
+ sequence: this.next_part_sequence(),
560
+ type: "file",
561
+ media_type: input.media_type,
562
+ url: input.url,
563
+ ...(filename ? { filename } : {}),
564
+ });
565
+ }
503
566
  /** 当前实现逐 chunk 等待落盘,因此 flush 在返回时天然完成。 */
504
567
  async flush() { }
505
568
  /** 正常完成当前 assistant segment。 */
@@ -678,28 +741,6 @@ function to_json_value(input) {
678
741
  return String(input);
679
742
  }
680
743
  }
681
- function normalize_limit(value, fallback, maximum) {
682
- if (!Number.isFinite(value))
683
- return fallback;
684
- return Math.min(maximum, Math.max(1, Math.floor(Number(value))));
685
- }
686
- function encode_cursor(offset) {
687
- return Buffer.from(JSON.stringify({ offset }), "utf8").toString("base64url");
688
- }
689
- function decode_cursor(cursor) {
690
- const value = String(cursor || "").trim();
691
- if (!value)
692
- return 0;
693
- try {
694
- const parsed = JSON.parse(Buffer.from(value, "base64url").toString("utf8"));
695
- return typeof parsed.offset === "number" && parsed.offset >= 0
696
- ? Math.floor(parsed.offset)
697
- : 0;
698
- }
699
- catch {
700
- throw new Error("Invalid Session Message cursor");
701
- }
702
- }
703
744
  function resolve_import_id(map, source_id, prefix) {
704
745
  const existing = map.get(source_id);
705
746
  if (existing)
@@ -708,4 +749,8 @@ function resolve_import_id(map, source_id, prefix) {
708
749
  map.set(source_id, created);
709
750
  return created;
710
751
  }
752
+ /** 按真实 Message sequence 升序排序。 */
753
+ function compare_message_sequence(left, right) {
754
+ return left.sequence - right.sequence;
755
+ }
711
756
  //# sourceMappingURL=SessionRecorder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SessionRecorder.js","sourceRoot":"","sources":["../../../src/session/recorder/SessionRecorder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionRecorder.js","sourceRoot":"","sources":["../../../src/session/recorder/SessionRecorder.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  /**
2
- * SessionRecorder canonical 上下文压缩。
2
+ * SessionRecorder Active/Segment 上下文压缩。
3
3
  *
4
- * 压缩只追加一条 internal summary Message,不删除、不归档、不重写 Mutation 日志。
4
+ * Compact Active 前缀写入不可变 Segment,并在 footer 保存累计 Summary。
5
5
  */
6
6
  import type { SessionHistoryCompactInput } from "../../executor/store/history/SessionHistoryStore.js";
7
7
  import { SessionRecorder } from "../../session/recorder/SessionRecorder.js";
8
- /** 必要时把较早上下文追加为 canonical internal summary。 */
8
+ /** 必要时把 Active 前缀关闭为带累计 Summary 的 Segment。 */
9
9
  export declare function compact_session_recorder_messages(input: {
10
10
  /** 当前 Session Recorder。 */
11
11
  recorder: SessionRecorder;
@@ -1 +1 @@
1
- {"version":3,"file":"SessionRecorderCompaction.d.ts","sourceRoot":"","sources":["../../../src/session/recorder/SessionRecorderCompaction.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAOlG,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAIxE,+CAA+C;AAC/C,wBAAsB,iCAAiC,CAAC,KAAK,EAAE;IAC7D,2BAA2B;IAC3B,QAAQ,EAAE,eAAe,CAAC;IAC1B,eAAe;IACf,aAAa,EAAE,0BAA0B,CAAC;CAC3C,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA6FnD"}
1
+ {"version":3,"file":"SessionRecorderCompaction.d.ts","sourceRoot":"","sources":["../../../src/session/recorder/SessionRecorderCompaction.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAOlG,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAIxE,8CAA8C;AAC9C,wBAAsB,iCAAiC,CAAC,KAAK,EAAE;IAC7D,2BAA2B;IAC3B,QAAQ,EAAE,eAAe,CAAC;IAC1B,eAAe;IACf,aAAa,EAAE,0BAA0B,CAAC;CAC3C,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAsGnD"}
@@ -1,35 +1,35 @@
1
1
  /**
2
- * SessionRecorder canonical 上下文压缩。
2
+ * SessionRecorder Active/Segment 上下文压缩。
3
3
  *
4
- * 压缩只追加一条 internal summary Message,不删除、不归档、不重写 Mutation 日志。
4
+ * Compact Active 前缀写入不可变 Segment,并在 footer 保存累计 Summary。
5
5
  */
6
6
  import { generateText } from "ai";
7
7
  import { generateId } from "../../utils/Id.js";
8
8
  import { build_initial_session_compaction_prompt, build_update_session_compaction_prompt, SESSION_COMPACTION_SYSTEM_PROMPT, } from "../../executor/composer/compaction/jsonl/JsonlSessionCompactionPrompts.js";
9
9
  import { to_executor_ui_message } from "../../session/recorder/SessionMessageCodec.js";
10
- /** 必要时把较早上下文追加为 canonical internal summary。 */
10
+ /** 必要时把 Active 前缀关闭为带累计 Summary 的 Segment。 */
11
11
  export async function compact_session_recorder_messages(input) {
12
- const page = await input.recorder.list_messages({
13
- limit: 500,
14
- include_internal: true,
15
- });
16
- const context_messages = project_current_context(page.items);
12
+ const snapshot = await input.recorder.context_snapshot();
13
+ const context_messages = snapshot.messages.filter((message) => message.type === "user" || message.type === "assistant");
17
14
  if (context_messages.length < 4) {
18
15
  return { compacted: false, reason: "small_messages" };
19
16
  }
20
17
  const system_text = input.compact_input.system
21
18
  .map((message) => String(message.content || ""))
22
19
  .join("\n\n");
23
- const estimated_tokens = Math.ceil(`${system_text}\n${JSON.stringify(context_messages)}`.length / 3);
20
+ const estimated_tokens = Math.ceil(`${system_text}\n${snapshot.summary?.text || ""}\n${JSON.stringify(context_messages)}`.length / 3);
24
21
  if (estimated_tokens <= input.compact_input.maxInputTokensApprox) {
25
22
  return { compacted: false, reason: "under_budget" };
26
23
  }
27
24
  const ratio = Math.max(0.1, Math.min(0.9, input.compact_input.compactRatio));
28
- const compact_count = Math.max(2, Math.min(context_messages.length - 1, Math.floor(context_messages.length * ratio)));
25
+ const keep_last_messages = Math.max(1, input.compact_input.keepLastMessages);
26
+ const max_compact_count = context_messages.length - keep_last_messages;
27
+ if (max_compact_count < 2) {
28
+ return { compacted: false, reason: "keep_last_messages" };
29
+ }
30
+ const compact_count = Math.min(max_compact_count, Math.max(2, Math.floor(context_messages.length * ratio)));
29
31
  const older = context_messages.slice(0, compact_count);
30
- const boundary = [...older]
31
- .reverse()
32
- .find((message) => message.type !== "assistant" || message.kind !== "summary");
32
+ const boundary = older.at(-1);
33
33
  if (!boundary)
34
34
  return { compacted: false, reason: "nothing_to_compact" };
35
35
  const action_id = `compacting:${input.recorder.session_id}:${generateId()}`;
@@ -39,16 +39,11 @@ export async function compact_session_recorder_messages(input) {
39
39
  title: "Compacting session messages",
40
40
  state: "running",
41
41
  });
42
- const previous_summary = older.find((message) => message.type === "assistant" && message.kind === "summary");
43
42
  const conversation_text = older
44
- .filter((message) => message !== previous_summary)
45
43
  .map((message) => message_to_compaction_text(message))
46
44
  .filter(Boolean)
47
- .join("\n")
48
- .slice(-24_000);
49
- const previous_summary_text = previous_summary
50
- ? assistant_text(previous_summary)
51
- : "";
45
+ .join("\n");
46
+ const previous_summary_text = String(snapshot.summary?.text || "").trim();
52
47
  const prompt = previous_summary_text
53
48
  ? build_update_session_compaction_prompt({
54
49
  previous_summary: previous_summary_text,
@@ -57,7 +52,7 @@ export async function compact_session_recorder_messages(input) {
57
52
  : build_initial_session_compaction_prompt({
58
53
  conversation_text: conversation_text || "(none)",
59
54
  });
60
- let summary = "";
55
+ let summary;
61
56
  try {
62
57
  const result = await generateText({
63
58
  model: input.compact_input.model,
@@ -66,61 +61,54 @@ export async function compact_session_recorder_messages(input) {
66
61
  });
67
62
  summary = String(result.text || "").trim();
68
63
  }
69
- catch {
70
- summary = "Earlier conversation was compacted because the context window was exceeded.";
64
+ catch (error) {
65
+ await publish_action(input.compact_input.onAction, {
66
+ id: action_id,
67
+ session_id: input.recorder.session_id,
68
+ title: "Session message compaction failed",
69
+ description: error instanceof Error ? error.message : String(error),
70
+ state: "failed",
71
+ });
72
+ return { compacted: false, reason: "summary_failed" };
73
+ }
74
+ if (!summary) {
75
+ await publish_action(input.compact_input.onAction, {
76
+ id: action_id,
77
+ session_id: input.recorder.session_id,
78
+ title: "Session message compaction failed",
79
+ description: "The compaction model returned an empty Summary.",
80
+ state: "failed",
81
+ });
82
+ return { compacted: false, reason: "summary_failed" };
71
83
  }
72
- await input.recorder.append_completed_assistant_message({
73
- turn_id: `compact:${input.recorder.session_id}:${generateId()}`,
74
- kind: "summary",
75
- visibility: "internal",
76
- summary_through_message_id: boundary.message_id,
77
- parts: [{
78
- part_id: `summary-text:${generateId()}`,
79
- sequence: 1,
80
- type: "text",
81
- text: summary,
82
- state: "done",
83
- }],
84
+ await input.recorder.compact_active({
85
+ through_sequence: boundary.sequence,
86
+ summary: {
87
+ record_type: "summary",
88
+ session_id: input.recorder.session_id,
89
+ summary_id: `summary:${input.recorder.session_id}:${generateId()}`,
90
+ through_sequence: boundary.sequence,
91
+ text: summary,
92
+ created_at: Date.now(),
93
+ },
84
94
  });
85
95
  await publish_action(input.compact_input.onAction, {
86
96
  id: action_id,
87
97
  session_id: input.recorder.session_id,
88
98
  title: "Session messages compacted",
89
- description: `Compacted through Message ${boundary.message_id}.`,
99
+ description: `Closed Active through Message ${boundary.message_id}.`,
90
100
  state: "completed",
91
101
  });
92
102
  return { compacted: true };
93
103
  }
94
- function project_current_context(messages) {
95
- const latest_summary = [...messages].reverse().find((message) => message.type === "assistant" &&
96
- message.kind === "summary" &&
97
- message.visibility === "internal");
98
- if (!latest_summary?.summary_through_message_id) {
99
- return messages.filter((message) => message.type === "user" || message.type === "assistant");
100
- }
101
- const boundary_index = messages.findIndex((message) => message.message_id === latest_summary.summary_through_message_id);
102
- return [
103
- latest_summary,
104
- ...messages.slice(boundary_index + 1).filter((message) => message !== latest_summary &&
105
- (message.type === "user" ||
106
- message.type === "assistant" && message.kind !== "summary")),
107
- ];
108
- }
109
104
  function message_to_compaction_text(message) {
110
105
  const projected = to_executor_ui_message(message);
111
106
  if (!projected)
112
107
  return "";
113
- const text = projected.parts
114
- .flatMap((part) => part.type === "text" ? [String(part.text || "")] : [])
115
- .join("\n")
116
- .trim();
117
- return text ? `${message.type}: ${text}` : "";
118
- }
119
- function assistant_text(message) {
120
- return message.parts
121
- .flatMap((part) => part.type === "text" ? [part.text] : [])
122
- .join("\n")
123
- .trim();
108
+ return JSON.stringify({
109
+ role: projected.role,
110
+ parts: projected.parts,
111
+ });
124
112
  }
125
113
  async function publish_action(callback, input) {
126
114
  if (!callback)
@@ -1 +1 @@
1
- {"version":3,"file":"SessionRecorderCompaction.js","sourceRoot":"","sources":["../../../src/session/recorder/SessionRecorderCompaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionRecorderCompaction.js","sourceRoot":"","sources":["../../../src/session/recorder/SessionRecorderCompaction.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * SessionRecorder 到 Executor SessionHistoryStore 的内部投影适配器。
3
3
  *
4
4
  * 关键点(中文)
5
- * - Recorder 的 messages.jsonl 与 assistant_message.json 共同组成持久化事实源。
5
+ * - Recorder 的 active.jsonl、segments 与 assistant_message.json 共同组成持久化事实源。
6
6
  * - Executor 继续读取临时 UIMessage 投影,不直接拥有文件写入权。
7
7
  * - 流式草稿写入由 AssistantMessageWriter 负责,Executor 的旧接口只提供投影兼容。
8
8
  */
@@ -37,7 +37,7 @@ export declare class SessionRecorderHistoryStore implements SessionHistoryStore
37
37
  record_count(): Promise<number>;
38
38
  /** Recorder metadata 由 SessionStateService 管理。 */
39
39
  meta(): Promise<Record<string, unknown>>;
40
- /** 通过 Recorder 追加 internal summary,不重写 Mutation 历史。 */
40
+ /** 通过 Recorder Active 前缀关闭为带累计 Summary Segment。 */
41
41
  compact(input: SessionHistoryCompactInput): Promise<{
42
42
  compacted: boolean;
43
43
  reason?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"SessionRecorderHistoryStore.d.ts","sourceRoot":"","sources":["../../../src/session/recorder/SessionRecorderHistoryStore.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EAChB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,KAAK,EACV,0BAA0B,EAC1B,mBAAmB,EACpB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAQxE,mCAAmC;AACnC,MAAM,WAAW,kCAAkC;IACjD,qBAAqB;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED,wDAAwD;AACxD,qBAAa,2BAA4B,YAAW,mBAAmB;IACrE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;gBAE/B,OAAO,EAAE,kCAAkC;IAQvD,kDAAkD;IAC5C,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA4D3D,uCAAuC;IACjC,aAAa,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IActD,mDAAmD;IAC7C,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAE9D,wDAAwD;IAClD,iBAAiB,CAAC,QAAQ,CAAC,EAAE,eAAe,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAEzE,4CAA4C;IACtC,YAAY,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAYhD,6BAA6B;IACvB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAI3E,6BAA6B;IACvB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAIrC,kDAAkD;IAC5C,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAI9C,uDAAuD;IACjD,OAAO,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC;QACxD,SAAS,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAOF,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,GAAG,GAAG,IAAI,CAAC,GAC3C,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;QACzC,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,GAAG,eAAe;IAgBnB,gCAAgC;IAChC,aAAa,CAAC,KAAK,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,GAAG,GAAG,IAAI,CAAC,GAC3C,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;QACzC,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;QAC5B,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;KAC/B,GAAG,eAAe;IAgBnB,2CAA2C;IAC3C,MAAM,CAAC,KAAK,EAAE;QACZ,MAAM,EAAE,qBAAqB,CAAC;QAC9B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAC5C,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;QACzC,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,GAAG,qBAAqB;CAc1B"}
1
+ {"version":3,"file":"SessionRecorderHistoryStore.d.ts","sourceRoot":"","sources":["../../../src/session/recorder/SessionRecorderHistoryStore.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EAChB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,KAAK,EACV,0BAA0B,EAC1B,mBAAmB,EACpB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAQxE,mCAAmC;AACnC,MAAM,WAAW,kCAAkC;IACjD,qBAAqB;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED,wDAAwD;AACxD,qBAAa,2BAA4B,YAAW,mBAAmB;IACrE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;gBAE/B,OAAO,EAAE,kCAAkC;IAQvD,kDAAkD;IAC5C,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA4D3D,uCAAuC;IACjC,aAAa,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAWtD,mDAAmD;IAC7C,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAE9D,wDAAwD;IAClD,iBAAiB,CAAC,QAAQ,CAAC,EAAE,eAAe,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAEzE,4CAA4C;IACtC,YAAY,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IA6BhD,6BAA6B;IACvB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAI3E,6BAA6B;IACvB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAIrC,kDAAkD;IAC5C,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAI9C,uDAAuD;IACjD,OAAO,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC;QACxD,SAAS,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAOF,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,GAAG,GAAG,IAAI,CAAC,GAC3C,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;QACzC,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,GAAG,eAAe;IAgBnB,gCAAgC;IAChC,aAAa,CAAC,KAAK,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,GAAG,GAAG,IAAI,CAAC,GAC3C,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;QACzC,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;QAC5B,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;KAC/B,GAAG,eAAe;IAgBnB,2CAA2C;IAC3C,MAAM,CAAC,KAAK,EAAE;QACZ,MAAM,EAAE,qBAAqB,CAAC;QAC9B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAC5C,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;QACzC,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,GAAG,qBAAqB;CAc1B"}