@downcity/agent 1.1.335 → 1.1.337

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.
@@ -1 +1 @@
1
- {"version":3,"file":"CoreEngineContextCompaction.d.ts","sourceRoot":"","sources":["../../../src/executor/core-engine/CoreEngineContextCompaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,IAAI,CAAC;AAEtD,yCAAyC;AACzC,eAAO,MAAM,sCAAsC,OAAO,CAAC;AAE3D,wCAAwC;AACxC,eAAO,MAAM,qCAAqC,MAAM,CAAC;AAWzD;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAUxE;AAED,gCAAgC;AAChC,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,MAAM,GAAG,IAAI,CAOf;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,qBAAqB,EAAE,OAAO,GAC7B,OAAO,CAKT;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,YAAY,EAAE,EACxB,aAAa,SAAI,GAChB,YAAY,EAAE,CA6EhB;AAED,6BAA6B;AAC7B,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAS3E"}
1
+ {"version":3,"file":"CoreEngineContextCompaction.d.ts","sourceRoot":"","sources":["../../../src/executor/core-engine/CoreEngineContextCompaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,IAAI,CAAC;AAEtD,yCAAyC;AACzC,eAAO,MAAM,sCAAsC,OAAO,CAAC;AAE3D,wCAAwC;AACxC,eAAO,MAAM,qCAAqC,MAAM,CAAC;AAWzD;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAUxE;AAED,gCAAgC;AAChC,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,MAAM,GAAG,IAAI,CAOf;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,qBAAqB,EAAE,OAAO,GAC7B,OAAO,CAKT;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,YAAY,EAAE,EACxB,aAAa,SAAI,GAChB,YAAY,EAAE,CA4EhB;AAED,6BAA6B;AAC7B,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAS3E"}
@@ -70,9 +70,8 @@ export function deep_compact_model_messages(messages, compact_depth = 0) {
70
70
  const depth = Math.max(0, Math.min(8, Math.floor(compact_depth)));
71
71
  const pruned_messages = pruneMessages({
72
72
  messages,
73
- // Reasoning 由本模块在确定最新 Tool 事务后再清理,避免先丢失
74
- // OpenAI Responses API 中与 Tool item 原子关联的协议 Part。
75
- reasoning: "none",
73
+ // 压缩后只保留语义内容;Provider replay 状态由 Federation 在最终路由后按作用域决定。
74
+ reasoning: "all",
76
75
  // 工具事务由本模块按 toolCallId/approvalId 选择;先让 SDK 保留完整关联,
77
76
  // 避免 approval response 作为最后一条消息时 SDK 丢掉更早的 tool-call。
78
77
  toolCalls: "none",
@@ -268,9 +267,7 @@ function compact_retained_message(message, message_limit, selected_tool_call_ids
268
267
  content: fold_compacted_text(message.content, message_limit),
269
268
  };
270
269
  }
271
- const retained_non_reasoning_parts = message.content.filter((part) => {
272
- if (part.type === "reasoning")
273
- return false;
270
+ const relevant_parts = message.content.filter((part) => {
274
271
  if (part.type === "tool-call" || part.type === "tool-result") {
275
272
  return selected_tool_call_ids.has(part.toolCallId);
276
273
  }
@@ -281,46 +278,35 @@ function compact_retained_message(message, message_limit, selected_tool_call_ids
281
278
  const tool_call_id = approval_to_tool_call.get(part.approvalId);
282
279
  return Boolean(tool_call_id && selected_tool_call_ids.has(tool_call_id));
283
280
  }
284
- return true;
281
+ return part.type !== "reasoning";
285
282
  });
286
- const requires_provider_reasoning = retained_non_reasoning_parts.some((part) => (part.type === "tool-call" || part.type === "tool-result") &&
287
- has_openai_item_reference(part));
288
- const relevant_parts = message.content.filter((part) => part.type !== "reasoning" ||
289
- (requires_provider_reasoning &&
290
- has_openai_reasoning_replay_data(part)));
291
283
  const part_limit = Math.max(MIN_FOLDED_PART_CHARS, Math.floor(message_limit / Math.max(1, relevant_parts.length)));
292
284
  const content = relevant_parts
293
- .filter((part) => part.type === "reasoning" || retained_non_reasoning_parts.includes(part))
294
285
  .map((part) => compact_model_part(part, part_limit));
295
286
  if (content.length === 0)
296
287
  return null;
297
288
  return { ...message, content };
298
289
  }
299
290
  function compact_model_part(part, part_limit) {
291
+ const semantic_part = strip_provider_replay_state(part);
300
292
  if (part.type === "text") {
301
293
  return {
302
- ...part,
294
+ ...semantic_part,
303
295
  text: fold_compacted_text(String(part.text || ""), part_limit),
304
- ...without_openai_item_reference(part),
305
296
  };
306
297
  }
307
- if (part.type === "reasoning") {
308
- // 压缩不保留可见思维文本,但必须保留与最新 Tool 事务关联的
309
- // Responses API itemId / encrypted content,否则 Provider 会拒绝孤立的 Tool item。
310
- return { ...part, text: "" };
311
- }
312
298
  if (part.type === "tool-call") {
313
299
  return {
314
- ...part,
300
+ ...semantic_part,
315
301
  input: fold_compacted_value(part.input, part_limit),
316
302
  };
317
303
  }
318
304
  if (part.type === "tool-result") {
319
305
  const serialized_output = safe_stringify(part.output);
320
306
  if (serialized_output.length <= part_limit)
321
- return part;
307
+ return semantic_part;
322
308
  return {
323
- ...part,
309
+ ...semantic_part,
324
310
  output: {
325
311
  type: "text",
326
312
  value: fold_compacted_text(serialized_output, part_limit),
@@ -345,48 +331,12 @@ function compact_model_part(part, part_limit) {
345
331
  };
346
332
  }
347
333
  }
348
- return part;
349
- }
350
- /** 判断 Part 是否引用 OpenAI Responses API 中已存储的 item。 */
351
- function has_openai_item_reference(part) {
352
- const provider_options = read_record(part.providerOptions);
353
- const openai_options = read_record(provider_options?.openai);
354
- return typeof openai_options?.itemId === "string" && openai_options.itemId.length > 0;
334
+ return semantic_part;
355
335
  }
356
- /** 判断空 Reasoning 是否仍携带可用于跨轮重放的 Provider 协议数据。 */
357
- function has_openai_reasoning_replay_data(part) {
358
- const provider_options = read_record(part.providerOptions);
359
- const openai_options = read_record(provider_options?.openai);
360
- return ((typeof openai_options?.itemId === "string" && openai_options.itemId.length > 0) ||
361
- (typeof openai_options?.reasoningEncryptedContent === "string" &&
362
- openai_options.reasoningEncryptedContent.length > 0));
363
- }
364
- /**
365
- * 压缩后的 Text 已经是新的语义投影,不能继续引用 Provider 中的原始 msg_* item。
366
- */
367
- function without_openai_item_reference(part) {
368
- const provider_options = read_record(part.providerOptions);
369
- const openai_options = read_record(provider_options?.openai);
370
- if (!provider_options || !openai_options || !("itemId" in openai_options)) {
371
- return {};
372
- }
373
- const { itemId: _item_id, ...remaining_openai_options } = openai_options;
374
- const next_provider_options = { ...provider_options };
375
- if (Object.keys(remaining_openai_options).length > 0) {
376
- next_provider_options.openai = remaining_openai_options;
377
- }
378
- else {
379
- delete next_provider_options.openai;
380
- }
381
- return Object.keys(next_provider_options).length > 0
382
- ? { providerOptions: next_provider_options }
383
- : { providerOptions: undefined };
384
- }
385
- /** 安全读取普通 JSON object。 */
386
- function read_record(value) {
387
- return value && typeof value === "object" && !Array.isArray(value)
388
- ? value
389
- : undefined;
336
+ /** 压缩后的模型 Part 只作为语义历史传递,不继续携带任何 Provider replay state。 */
337
+ function strip_provider_replay_state(part) {
338
+ const { providerOptions: _provider_options, providerMetadata: _provider_metadata, ...semantic_part } = part;
339
+ return semantic_part;
390
340
  }
391
341
  function fold_compacted_value(value, max_chars) {
392
342
  const serialized = safe_stringify(value);
@@ -1 +1 @@
1
- {"version":3,"file":"CoreEngineContextCompaction.js","sourceRoot":"","sources":["../../../src/executor/core-engine/CoreEngineContextCompaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,aAAa,EAAqB,MAAM,IAAI,CAAC;AAEtD,yCAAyC;AACzC,MAAM,CAAC,MAAM,sCAAsC,GAAG,IAAI,CAAC;AAE3D,wCAAwC;AACxC,MAAM,CAAC,MAAM,qCAAqC,GAAG,GAAG,CAAC;AAEzD,uCAAuC;AACvC,MAAM,gCAAgC,GAAG,MAAM,CAAC;AAEhD,8BAA8B;AAC9B,MAAM,8BAA8B,GAAG,MAAM,CAAC;AAE9C,mCAAmC;AACnC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAc;IACvD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,YAAY,GAAG,wBAAwB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAClE,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,YAAY,CAAC;IAE/C,MAAM,YAAY,GAAG,wBAAwB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,wBAAwB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACpE,IAAI,YAAY,KAAK,IAAI,IAAI,aAAa,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjE,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,yBAAyB,CACvC,KAAc,EACd,cAAkC;IAElC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,WAAW,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;IACtD,IAAI,WAAW,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,WAA0B,EAC1B,qBAA8B;IAE9B,IAAI,WAAW,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO,KAAK,CAAC;IACxE,OAAO,qBAAqB;QAC1B,CAAC,CAAC,WAAW,GAAG,qCAAqC;QACrD,CAAC,CAAC,WAAW,IAAI,sCAAsC,CAAC;AAC5D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CACzC,QAAwB,EACxB,aAAa,GAAG,CAAC;IAEjB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACjE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,eAAe,GAAG,aAAa,CAAC;QACpC,QAAQ;QACR,wCAAwC;QACxC,kDAAkD;QAClD,SAAS,EAAE,MAAM;QACjB,oDAAoD;QACpD,sDAAsD;QACtD,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,QAAQ;KACxB,CAAC,CAAC;IACH,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE5C,MAAM,qBAAqB,GAAG,8BAA8B,CAAC,eAAe,CAAC,CAAC;IAC9E,MAAM,eAAe,GAAG,uBAAuB,CAC7C,eAAe,EACf,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CACrC,CAAC;IACF,MAAM,sBAAsB,GAAG,mCAAmC,CAChE,eAAe,EACf,eAAe,EACf,qBAAqB,CACtB,CAAC;IACF,8CAA8C;IAC9C,4BAA4B;IAC5B,MAAM,gBAAgB,GAAG,KAAK,KAAK,CAAC;QAClC,CAAC,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC,CAAC,gCAAgC,CAAC;YAC/B,QAAQ,EAAE,eAAe;YACzB,eAAe;YACf,sBAAsB;YACtB,qBAAqB;SACtB,CAAC,CAAC;IACP,MAAM,iBAAiB,GAAG,eAAe,CAAC,MAAM,CAC9C,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAClD,CAAC;IACF,MAAM,gBAAgB,GAAG,oBAAoB,CAC3C,gCAAgC,EAChC,KAAK,CACN,CAAC;IACF,MAAM,eAAe,GAAG,wBAAwB,CAC9C,iBAAiB,EACjB,gBAAgB,CACjB,CAAC;IACF,MAAM,aAAa,GAAG,oBAAoB,CACxC,8BAA8B,EAC9B,KAAK,CACN,CAAC;IACF,MAAM,iBAAiB,GAAG,eAAe;SACtC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;SAC7C,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAClD,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACnB,wBAAwB,CACtB,OAAO,EACP,aAAa,EACb,sBAAsB,EACtB,qBAAqB,CACtB,CACF;SACA,MAAM,CAAC,CAAC,OAAO,EAA2B,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;IAElE,MAAM,kBAAkB,GAAmB,eAAe;QACxD,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QACnD,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,eAAe,GAAG,iBAAiB,CAAC,MAAM,CAC9C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CACvC,CAAC;IACF,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,MAAM,CAClD,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CACvC,CAAC;IACF,OAAO,0BAA0B,CAAC;QAChC,GAAG,eAAe;QAClB,GAAG,kBAAkB;QACrB,GAAG,mBAAmB;KACvB,CAAC,CAAC;AACL,CAAC;AAED,6BAA6B;AAC7B,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,SAAiB;IACjE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IACrE,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,MAAM,GAAG,mBAAmB,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC;IAC7E,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;IACjD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;QACtE,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,oBAAoB,CAAC,cAAsB,EAAE,KAAa;IACjE,OAAO,IAAI,CAAC,GAAG,CACb,qBAAqB,EACrB,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAChD,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,QAAwB,EACxB,SAA6C;IAE7C,KAAK,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7D,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IAC/C,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,SAAS,8BAA8B,CACrC,QAAwB;IAExB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,SAAS;QAC9C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAuB;gBAAE,SAAS;YACpD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mCAAmC,CAC1C,QAAwB,EACxB,eAAuB,EACvB,qBAA0C;IAE1C,KAAK,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,eAAe,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1E,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,SAAS;QAC9C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC7D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3B,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBACjD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3B,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;gBAClD,MAAM,YAAY,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAChE,IAAI,YAAY;oBAAE,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;IAC/B,CAAC;IACD,OAAO,IAAI,GAAG,EAAU,CAAC;AAC3B,CAAC;AAED,SAAS,gCAAgC,CAAC,KAKzC;IACC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACxC,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;YAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,KAAK,KAAK,KAAK,CAAC,eAAe;YAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzD,IACE,0CAA0C,CACxC,OAAO,EACP,KAAK,CAAC,sBAAsB,EAC5B,KAAK,CAAC,qBAAqB,CAC5B,EACD,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,sBAAsB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC5C,MAAM,oBAAoB,GAAG,uBAAuB,CAClD,KAAK,CAAC,QAAQ,EACd,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,CAC1C,CAAC;QACF,IAAI,oBAAoB,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;YACjD,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;QAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,0CAA0C,CACjD,OAAqB,EACrB,sBAAmC,EACnC,qBAA0C;IAE1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,sBAAsB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACzE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACnC,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAC7D,OAAO,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YAC1C,OAAO,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;YAC3C,MAAM,YAAY,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChE,OAAO,OAAO,CAAC,YAAY,IAAI,sBAAsB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAAwB,EACxB,SAAiB;IAEjB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,QAAQ;SAClB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,sCAAsC,CAAC,OAAO,CAAC,CAAC;SACjE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,MAAM,CAAC,CAAC;IAChB,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,OAAO;QACL,qCAAqC;QACrC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC;KACrC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,sCAAsC,CAAC,OAAqB;IACnE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;IACvC,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC;QAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,OAAO,cAAc,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,KAAK,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzF,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAChC,OAAO,gBAAgB,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,KAAK,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5F,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YAC1C,OAAO,0BAA0B,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC;QACzE,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;YAC3C,OAAO,2BAA2B,IAAI,CAAC,UAAU,aAAa,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QACzF,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,SAAS,IAAI,CAAC,QAAQ,IAAI,SAAS,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC;QAClE,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,UAAU,IAAI,CAAC,SAAS,IAAI,SAAS,GAAG,CAAC;QAC3E,OAAO,IAAI,MAAM,CAAE,IAA2B,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC;IACpE,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,wBAAwB,CAC/B,OAAqB,EACrB,aAAqB,EACrB,sBAAmC,EACnC,qBAA0C;IAE1C,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO;YACL,GAAG,OAAO;YACV,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC;SAC7C,CAAC;IACpB,CAAC;IACD,MAAM,4BAA4B,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACnE,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAC7D,OAAO,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YAC1C,OAAO,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;YAC3C,MAAM,YAAY,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChE,OAAO,OAAO,CAAC,YAAY,IAAI,sBAAsB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,MAAM,2BAA2B,GAAG,4BAA4B,CAAC,IAAI,CACnE,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC;QAC1D,yBAAyB,CAAC,IAA0C,CAAC,CACxE,CAAC;IACF,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACrD,IAAI,CAAC,IAAI,KAAK,WAAW;QACzB,CAAC,2BAA2B;YAC1B,gCAAgC,CAAC,IAA0C,CAAC,CAAC,CAChF,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CACzB,qBAAqB,EACrB,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAC/D,CAAC;IACF,MAAM,OAAO,GAAG,cAAc;SAC3B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACf,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,4BAA4B,CAAC,QAAQ,CAAC,IAAI,CAAC,CACzE;SACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,kBAAkB,CAChB,IAA0C,EAC1C,UAAU,CACX,CACF,CAAC;IACJ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAkB,CAAC;AACjD,CAAC;AAED,SAAS,kBAAkB,CACzB,IAA6B,EAC7B,UAAkB;IAElB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO;YACL,GAAG,IAAI;YACP,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC;YAC9D,GAAG,6BAA6B,CAAC,IAAI,CAAC;SACvC,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC9B,kCAAkC;QAClC,yEAAyE;QACzE,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC9B,OAAO;YACL,GAAG,IAAI;YACP,KAAK,EAAE,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC;SACpD,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAChC,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,iBAAiB,CAAC,MAAM,IAAI,UAAU;YAAE,OAAO,IAAI,CAAC;QACxD,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,mBAAmB,CAAC,iBAAiB,EAAE,UAAU,CAAC;aAC1D;SACF,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;YACzD,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,mBAAmB,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS;aACpI,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;YAC3D,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,oBAAoB,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS;aAChG,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oDAAoD;AACpD,SAAS,yBAAyB,CAAC,IAA6B;IAC9D,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,WAAW,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAC7D,OAAO,OAAO,cAAc,EAAE,MAAM,KAAK,QAAQ,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACxF,CAAC;AAED,iDAAiD;AACjD,SAAS,gCAAgC,CAAC,IAA6B;IACrE,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,WAAW,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAC7D,OAAO,CACL,CAAC,OAAO,cAAc,EAAE,MAAM,KAAK,QAAQ,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAChF,CAAC,OAAO,cAAc,EAAE,yBAAyB,KAAK,QAAQ;YAC5D,cAAc,CAAC,yBAAyB,CAAC,MAAM,GAAG,CAAC,CAAC,CACvD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,6BAA6B,CACpC,IAA6B;IAE7B,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,WAAW,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAC7D,IAAI,CAAC,gBAAgB,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,QAAQ,IAAI,cAAc,CAAC,EAAE,CAAC;QAC1E,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,wBAAwB,EAAE,GAAG,cAAc,CAAC;IACzE,MAAM,qBAAqB,GAAG,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACtD,IAAI,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,qBAAqB,CAAC,MAAM,GAAG,wBAAwB,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,OAAO,qBAAqB,CAAC,MAAM,CAAC;IACtC,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,MAAM,GAAG,CAAC;QAClD,CAAC,CAAC,EAAE,eAAe,EAAE,qBAAqB,EAAE;QAC5C,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC;AACrC,CAAC;AAED,0BAA0B;AAC1B,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAC,KAAgC;QAClC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc,EAAE,SAAiB;IAC7D,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,UAAU,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,KAAK,CAAC;IACjD,OAAO;QACL,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,QAAwB;IAC1D,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,SAAS;QAC9C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;gBAAE,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,SAAS;QAC9C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACnC,IACE,IAAI,CAAC,IAAI,KAAK,uBAAuB;gBACrC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;gBAClC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACf,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QACpD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAChC,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBAC1C,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;gBAC3C,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3C,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAkB,CAAC;IACjD,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"CoreEngineContextCompaction.js","sourceRoot":"","sources":["../../../src/executor/core-engine/CoreEngineContextCompaction.ts"],"names":[],"mappings":"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"}
@@ -70,67 +70,6 @@ export async function to_model_messages(messages, tools, project_root) {
70
70
  // 忽略历史里的不完整工具调用,提升容错性。
71
71
  ignoreIncompleteToolCalls: true,
72
72
  });
73
- return repair_orphaned_openai_text_references(converted_messages);
74
- }
75
- /**
76
- * 修复旧版 Session 中“只保存 msg_*、未保存必需 rs_*”的孤立 Responses API 引用。
77
- *
78
- * 关键点(中文)
79
- * - reasoning itemId / encrypted content 与 message itemId 存在时,保留 Provider 原子重放。
80
- * - 只有 message itemId 时,删除该引用并发送已持久化的普通文本,避免 400。
81
- * - 不修改 Session canonical source,该修复是可重建的 Provider 投影。
82
- */
83
- function repair_orphaned_openai_text_references(messages) {
84
- return messages.map((message) => {
85
- if (message.role !== "assistant" || !Array.isArray(message.content)) {
86
- return message;
87
- }
88
- const has_reasoning_replay_data = message.content.some((part) => {
89
- if (part.type !== "reasoning")
90
- return false;
91
- const openai_options = read_openai_provider_options(part.providerOptions);
92
- return Boolean((typeof openai_options?.itemId === "string" && openai_options.itemId) ||
93
- (typeof openai_options?.reasoningEncryptedContent === "string" &&
94
- openai_options.reasoningEncryptedContent));
95
- });
96
- if (has_reasoning_replay_data)
97
- return message;
98
- let changed = false;
99
- const content = message.content.map((part) => {
100
- if (part.type !== "text")
101
- return part;
102
- const provider_options = read_json_record(part.providerOptions);
103
- const openai_options = read_openai_provider_options(part.providerOptions);
104
- if (!provider_options || !openai_options || !("itemId" in openai_options)) {
105
- return part;
106
- }
107
- changed = true;
108
- const { itemId: _item_id, ...remaining_openai_options } = openai_options;
109
- const next_provider_options = { ...provider_options };
110
- if (Object.keys(remaining_openai_options).length > 0) {
111
- next_provider_options.openai = remaining_openai_options;
112
- }
113
- else {
114
- delete next_provider_options.openai;
115
- }
116
- return {
117
- ...part,
118
- providerOptions: Object.keys(next_provider_options).length > 0
119
- ? next_provider_options
120
- : undefined,
121
- };
122
- });
123
- return changed ? { ...message, content } : message;
124
- });
125
- }
126
- /** 读取 Provider options 中的 OpenAI 协议字段。 */
127
- function read_openai_provider_options(value) {
128
- return read_json_record(read_json_record(value)?.openai);
129
- }
130
- /** 安全读取普通 JSON object。 */
131
- function read_json_record(value) {
132
- return value && typeof value === "object" && !Array.isArray(value)
133
- ? value
134
- : undefined;
73
+ return converted_messages;
135
74
  }
136
75
  //# sourceMappingURL=SessionMessageCodec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SessionMessageCodec.js","sourceRoot":"","sources":["../../../src/executor/messages/SessionMessageCodec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionMessageCodec.js","sourceRoot":"","sources":["../../../src/executor/messages/SessionMessageCodec.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,sBAAsB,GAIvB,MAAM,IAAI,CAAC;AACZ,OAAO,EACL,yBAAyB,GAE1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,gCAAgC,EAChC,kCAAkC,GACnC,MAAM,+CAA+C,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAA2B;IAE3B,iCAAiC;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IAExC,UAAU;IACV,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QACjC,gBAAgB;QAChB,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAEtD,oBAAoB;QACpB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QAE1C,oBAAoB;QACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAEhD,2CAA2C;QAC3C,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACjC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAClE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAA2B,EAC3B,KAA2B,EAC3B,YAAqB;IAErB,wBAAwB;IACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjE,iCAAiC;IACjC,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAClE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE3C,0CAA0C;IAC1C,MAAM,gBAAgB,GAAG,MAAM,kCAAkC,CAC/D,cAAc,EACd,YAAY,CACb,CAAC;IAEF,uDAAuD;IACvD,MAAM,gBAAgB,GAAG,MAAM,gCAAgC,CAC7D,gBAAgB,EAChB,YAAY,CACb,CAAC;IAEF,0CAA0C;IAC1C,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7C,WAAW;QACX,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAErC,UAAU;QACV,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,mBAAmB;IACnB,MAAM,kBAAkB,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE;QAC7D,uBAAuB;QACvB,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,uBAAuB;QACvB,yBAAyB,EAAE,IAAI;KAChC,CAAC,CAAC;IACH,OAAO,kBAAkB,CAAC;AAC5B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@downcity/agent",
3
- "version": "1.1.335",
3
+ "version": "1.1.337",
4
4
  "type": "module",
5
5
  "description": "Downcity Agent 运行时 — 单 Agent 执行壳与本机 RPC 能力",
6
6
  "main": "./bin/index.js",
@@ -16,8 +16,8 @@
16
16
  }
17
17
  },
18
18
  "dependencies": {
19
- "@downcity/shell": "^0.1.170",
20
- "@downcity/type": "0.1.196",
19
+ "@downcity/shell": "^0.1.172",
20
+ "@downcity/type": "0.1.197",
21
21
  "ai": "^6.0.193",
22
22
  "commander": "^15.0.0",
23
23
  "dotenv": "^17.4.2",
@@ -32,9 +32,9 @@
32
32
  "zod": "^4.4.3"
33
33
  },
34
34
  "devDependencies": {
35
- "@downcity/sandbox-linux": "^0.1.34",
36
- "@downcity/sandbox-macos": "^0.1.34",
37
- "@downcity/sandbox-windows-mxc": "^0.1.34",
35
+ "@downcity/sandbox-linux": "^0.1.35",
36
+ "@downcity/sandbox-macos": "^0.1.35",
37
+ "@downcity/sandbox-windows-mxc": "^0.1.35",
38
38
  "@ai-sdk/openai": "^3.0.67",
39
39
  "@types/fs-extra": "^11.0.4",
40
40
  "@types/js-yaml": "^4.0.9",
@@ -335,9 +335,9 @@ test("deep compact 删除 reasoning,并完整保留最新并行 tool transacti
335
335
  const serialized = JSON.stringify(compacted);
336
336
  assert.equal(serialized.includes("old reasoning"), false);
337
337
  assert.equal(serialized.includes("latest reasoning"), false);
338
- assert.equal(serialized.includes('"itemId":"rs_latest"'), true);
338
+ assert.equal(serialized.includes('"itemId":"rs_latest"'), false);
339
339
  assert.equal(serialized.includes('"itemId":"msg_latest"'), false);
340
- assert.equal(serialized.includes('"phase":"final_answer"'), true);
340
+ assert.equal(serialized.includes('"phase":"final_answer"'), false);
341
341
  assert.equal(serialized.includes("latest request"), true);
342
342
  assert.equal(serialized.includes("call-a"), true);
343
343
  assert.equal(serialized.includes("call-b"), true);
@@ -359,8 +359,8 @@ test("deep compact 删除 reasoning,并完整保留最新并行 tool transacti
359
359
  assert.equal(active_tool_text.join("\n").includes("old-call"), false);
360
360
  assert.deepEqual([...tool_call_ids].sort(), ["call-a", "call-b"]);
361
361
  assert.deepEqual([...tool_result_ids].sort(), ["call-a", "call-b"]);
362
- assert.equal(serialized.includes('"itemId":"fc_a"'), true);
363
- assert.equal(serialized.includes('"resultId":"result_a"'), true);
362
+ assert.equal(serialized.includes('"itemId":"fc_a"'), false);
363
+ assert.equal(serialized.includes('"resultId":"result_a"'), false);
364
364
  });
365
365
 
366
366
  test("单条 assistant 含大量 parts 时也会在消息内部折叠", () => {
@@ -20,7 +20,6 @@ import {
20
20
  to_executor_history,
21
21
  to_executor_ui_message,
22
22
  } from "../bin/session/messages/SessionMessageCodec.js";
23
- import { to_model_messages } from "../bin/executor/messages/SessionMessageCodec.js";
24
23
  import { convertToModelMessages } from "ai";
25
24
  import { MockLanguageModelV3 } from "ai/test";
26
25
 
@@ -1258,43 +1257,6 @@ test("空 Reasoning 携带 Provider metadata 时作为跨轮重放协议 Part
1258
1257
  assert.deepEqual(assistant.parts[0].provider_metadata, reasoning_metadata);
1259
1258
  assert.deepEqual(assistant.parts[1].provider_metadata, message_metadata);
1260
1259
 
1261
- const restored = to_executor_ui_message(assistant);
1262
- const model_messages = await to_model_messages([restored], {});
1263
- const model_parts = model_messages.flatMap((message) =>
1264
- Array.isArray(message.content) ? message.content : []
1265
- );
1266
- assert.deepEqual(model_parts.map((part) => part.type), ["reasoning", "text"]);
1267
- assert.deepEqual(model_parts[0].providerOptions, reasoning_metadata);
1268
- assert.deepEqual(model_parts[1].providerOptions, message_metadata);
1269
- });
1270
-
1271
- test("旧 Session 缺少 Reasoning 协议 Part 时移除孤立 msg_* 引用", async () => {
1272
- const model_messages = await to_model_messages([{
1273
- id: "assistant-legacy",
1274
- role: "assistant",
1275
- metadata: {
1276
- v: 1,
1277
- ts: 1,
1278
- session_id: "legacy-session",
1279
- source: "egress",
1280
- kind: "normal",
1281
- },
1282
- parts: [{
1283
- type: "text",
1284
- text: "已持久化的回复",
1285
- state: "done",
1286
- providerMetadata: {
1287
- openai: { itemId: "msg_orphaned", phase: "final_answer" },
1288
- },
1289
- }],
1290
- }], {});
1291
- const text_part = model_messages
1292
- .flatMap((message) => Array.isArray(message.content) ? message.content : [])
1293
- .find((part) => part.type === "text");
1294
- assert.equal(text_part.text, "已持久化的回复");
1295
- assert.deepEqual(text_part.providerOptions, {
1296
- openai: { phase: "final_answer" },
1297
- });
1298
1260
  });
1299
1261
 
1300
1262
  test("空 Text Start 不会抢占后续 Tool 的真实顺序", async () => {
@@ -84,9 +84,8 @@ export function deep_compact_model_messages(
84
84
  const depth = Math.max(0, Math.min(8, Math.floor(compact_depth)));
85
85
  const pruned_messages = pruneMessages({
86
86
  messages,
87
- // Reasoning 由本模块在确定最新 Tool 事务后再清理,避免先丢失
88
- // OpenAI Responses API 中与 Tool item 原子关联的协议 Part。
89
- reasoning: "none",
87
+ // 压缩后只保留语义内容;Provider replay 状态由 Federation 在最终路由后按作用域决定。
88
+ reasoning: "all",
90
89
  // 工具事务由本模块按 toolCallId/approvalId 选择;先让 SDK 保留完整关联,
91
90
  // 避免 approval response 作为最后一条消息时 SDK 丢掉更早的 tool-call。
92
91
  toolCalls: "none",
@@ -345,8 +344,7 @@ function compact_retained_message(
345
344
  content: fold_compacted_text(message.content, message_limit),
346
345
  } as ModelMessage;
347
346
  }
348
- const retained_non_reasoning_parts = message.content.filter((part) => {
349
- if (part.type === "reasoning") return false;
347
+ const relevant_parts = message.content.filter((part) => {
350
348
  if (part.type === "tool-call" || part.type === "tool-result") {
351
349
  return selected_tool_call_ids.has(part.toolCallId);
352
350
  }
@@ -357,26 +355,13 @@ function compact_retained_message(
357
355
  const tool_call_id = approval_to_tool_call.get(part.approvalId);
358
356
  return Boolean(tool_call_id && selected_tool_call_ids.has(tool_call_id));
359
357
  }
360
- return true;
358
+ return part.type !== "reasoning";
361
359
  });
362
- const requires_provider_reasoning = retained_non_reasoning_parts.some(
363
- (part) =>
364
- (part.type === "tool-call" || part.type === "tool-result") &&
365
- has_openai_item_reference(part as unknown as Record<string, unknown>),
366
- );
367
- const relevant_parts = message.content.filter((part) =>
368
- part.type !== "reasoning" ||
369
- (requires_provider_reasoning &&
370
- has_openai_reasoning_replay_data(part as unknown as Record<string, unknown>))
371
- );
372
360
  const part_limit = Math.max(
373
361
  MIN_FOLDED_PART_CHARS,
374
362
  Math.floor(message_limit / Math.max(1, relevant_parts.length)),
375
363
  );
376
364
  const content = relevant_parts
377
- .filter((part) =>
378
- part.type === "reasoning" || retained_non_reasoning_parts.includes(part)
379
- )
380
365
  .map((part) =>
381
366
  compact_model_part(
382
367
  part as unknown as Record<string, unknown>,
@@ -391,29 +376,24 @@ function compact_model_part(
391
376
  part: Record<string, unknown>,
392
377
  part_limit: number,
393
378
  ): Record<string, unknown> {
379
+ const semantic_part = strip_provider_replay_state(part);
394
380
  if (part.type === "text") {
395
381
  return {
396
- ...part,
382
+ ...semantic_part,
397
383
  text: fold_compacted_text(String(part.text || ""), part_limit),
398
- ...without_openai_item_reference(part),
399
384
  };
400
385
  }
401
- if (part.type === "reasoning") {
402
- // 压缩不保留可见思维文本,但必须保留与最新 Tool 事务关联的
403
- // Responses API itemId / encrypted content,否则 Provider 会拒绝孤立的 Tool item。
404
- return { ...part, text: "" };
405
- }
406
386
  if (part.type === "tool-call") {
407
387
  return {
408
- ...part,
388
+ ...semantic_part,
409
389
  input: fold_compacted_value(part.input, part_limit),
410
390
  };
411
391
  }
412
392
  if (part.type === "tool-result") {
413
393
  const serialized_output = safe_stringify(part.output);
414
- if (serialized_output.length <= part_limit) return part;
394
+ if (serialized_output.length <= part_limit) return semantic_part;
415
395
  return {
416
- ...part,
396
+ ...semantic_part,
417
397
  output: {
418
398
  type: "text",
419
399
  value: fold_compacted_text(serialized_output, part_limit),
@@ -438,55 +418,19 @@ function compact_model_part(
438
418
  };
439
419
  }
440
420
  }
441
- return part;
442
- }
443
-
444
- /** 判断 Part 是否引用 OpenAI Responses API 中已存储的 item。 */
445
- function has_openai_item_reference(part: Record<string, unknown>): boolean {
446
- const provider_options = read_record(part.providerOptions);
447
- const openai_options = read_record(provider_options?.openai);
448
- return typeof openai_options?.itemId === "string" && openai_options.itemId.length > 0;
449
- }
450
-
451
- /** 判断空 Reasoning 是否仍携带可用于跨轮重放的 Provider 协议数据。 */
452
- function has_openai_reasoning_replay_data(part: Record<string, unknown>): boolean {
453
- const provider_options = read_record(part.providerOptions);
454
- const openai_options = read_record(provider_options?.openai);
455
- return (
456
- (typeof openai_options?.itemId === "string" && openai_options.itemId.length > 0) ||
457
- (typeof openai_options?.reasoningEncryptedContent === "string" &&
458
- openai_options.reasoningEncryptedContent.length > 0)
459
- );
421
+ return semantic_part;
460
422
  }
461
423
 
462
- /**
463
- * 压缩后的 Text 已经是新的语义投影,不能继续引用 Provider 中的原始 msg_* item。
464
- */
465
- function without_openai_item_reference(
424
+ /** 压缩后的模型 Part 只作为语义历史传递,不继续携带任何 Provider replay state。 */
425
+ function strip_provider_replay_state(
466
426
  part: Record<string, unknown>,
467
- ): Pick<Record<string, unknown>, "providerOptions"> | Record<string, never> {
468
- const provider_options = read_record(part.providerOptions);
469
- const openai_options = read_record(provider_options?.openai);
470
- if (!provider_options || !openai_options || !("itemId" in openai_options)) {
471
- return {};
472
- }
473
- const { itemId: _item_id, ...remaining_openai_options } = openai_options;
474
- const next_provider_options = { ...provider_options };
475
- if (Object.keys(remaining_openai_options).length > 0) {
476
- next_provider_options.openai = remaining_openai_options;
477
- } else {
478
- delete next_provider_options.openai;
479
- }
480
- return Object.keys(next_provider_options).length > 0
481
- ? { providerOptions: next_provider_options }
482
- : { providerOptions: undefined };
483
- }
484
-
485
- /** 安全读取普通 JSON object。 */
486
- function read_record(value: unknown): Record<string, unknown> | undefined {
487
- return value && typeof value === "object" && !Array.isArray(value)
488
- ? value as Record<string, unknown>
489
- : undefined;
427
+ ): Record<string, unknown> {
428
+ const {
429
+ providerOptions: _provider_options,
430
+ providerMetadata: _provider_metadata,
431
+ ...semantic_part
432
+ } = part;
433
+ return semantic_part;
490
434
  }
491
435
 
492
436
  function fold_compacted_value(value: unknown, max_chars: number): unknown {
@@ -102,72 +102,5 @@ export async function to_model_messages(
102
102
  // 忽略历史里的不完整工具调用,提升容错性。
103
103
  ignoreIncompleteToolCalls: true,
104
104
  });
105
- return repair_orphaned_openai_text_references(converted_messages);
106
- }
107
-
108
- /**
109
- * 修复旧版 Session 中“只保存 msg_*、未保存必需 rs_*”的孤立 Responses API 引用。
110
- *
111
- * 关键点(中文)
112
- * - reasoning itemId / encrypted content 与 message itemId 存在时,保留 Provider 原子重放。
113
- * - 只有 message itemId 时,删除该引用并发送已持久化的普通文本,避免 400。
114
- * - 不修改 Session canonical source,该修复是可重建的 Provider 投影。
115
- */
116
- function repair_orphaned_openai_text_references(
117
- messages: ModelMessage[],
118
- ): ModelMessage[] {
119
- return messages.map((message) => {
120
- if (message.role !== "assistant" || !Array.isArray(message.content)) {
121
- return message;
122
- }
123
- const has_reasoning_replay_data = message.content.some((part) => {
124
- if (part.type !== "reasoning") return false;
125
- const openai_options = read_openai_provider_options(part.providerOptions);
126
- return Boolean(
127
- (typeof openai_options?.itemId === "string" && openai_options.itemId) ||
128
- (typeof openai_options?.reasoningEncryptedContent === "string" &&
129
- openai_options.reasoningEncryptedContent),
130
- );
131
- });
132
- if (has_reasoning_replay_data) return message;
133
-
134
- let changed = false;
135
- const content = message.content.map((part) => {
136
- if (part.type !== "text") return part;
137
- const provider_options = read_json_record(part.providerOptions);
138
- const openai_options = read_openai_provider_options(part.providerOptions);
139
- if (!provider_options || !openai_options || !("itemId" in openai_options)) {
140
- return part;
141
- }
142
- changed = true;
143
- const { itemId: _item_id, ...remaining_openai_options } = openai_options;
144
- const next_provider_options = { ...provider_options };
145
- if (Object.keys(remaining_openai_options).length > 0) {
146
- next_provider_options.openai = remaining_openai_options;
147
- } else {
148
- delete next_provider_options.openai;
149
- }
150
- return {
151
- ...part,
152
- providerOptions: Object.keys(next_provider_options).length > 0
153
- ? next_provider_options
154
- : undefined,
155
- };
156
- });
157
- return changed ? { ...message, content } as ModelMessage : message;
158
- });
159
- }
160
-
161
- /** 读取 Provider options 中的 OpenAI 协议字段。 */
162
- function read_openai_provider_options(
163
- value: unknown,
164
- ): Record<string, unknown> | undefined {
165
- return read_json_record(read_json_record(value)?.openai);
166
- }
167
-
168
- /** 安全读取普通 JSON object。 */
169
- function read_json_record(value: unknown): Record<string, unknown> | undefined {
170
- return value && typeof value === "object" && !Array.isArray(value)
171
- ? value as Record<string, unknown>
172
- : undefined;
105
+ return converted_messages;
173
106
  }