@zooique/memora 5.1.0 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/CHANGELOG.md +107 -4
  2. package/README.en.md +6 -2
  3. package/README.md +6 -2
  4. package/dist/agent/agent.d.ts +42 -2
  5. package/dist/agent/agent.d.ts.map +1 -1
  6. package/dist/agent/agent.js +61 -3
  7. package/dist/agent/agent.js.map +1 -1
  8. package/dist/agent/assembler.d.ts.map +1 -1
  9. package/dist/agent/assembler.js +7 -0
  10. package/dist/agent/assembler.js.map +1 -1
  11. package/dist/agent/constants.d.ts +49 -0
  12. package/dist/agent/constants.d.ts.map +1 -1
  13. package/dist/agent/constants.js +49 -0
  14. package/dist/agent/constants.js.map +1 -1
  15. package/dist/agent/contextManager.d.ts +31 -3
  16. package/dist/agent/contextManager.d.ts.map +1 -1
  17. package/dist/agent/contextManager.js +39 -2
  18. package/dist/agent/contextManager.js.map +1 -1
  19. package/dist/agent/loop.d.ts +14 -7
  20. package/dist/agent/loop.d.ts.map +1 -1
  21. package/dist/agent/loop.js +43 -18
  22. package/dist/agent/loop.js.map +1 -1
  23. package/dist/agent/managers/llmCaller.d.ts.map +1 -1
  24. package/dist/agent/managers/llmCaller.js +14 -1
  25. package/dist/agent/managers/llmCaller.js.map +1 -1
  26. package/dist/agent/managers/sessionManager.d.ts.map +1 -1
  27. package/dist/agent/managers/sessionManager.js +1 -0
  28. package/dist/agent/managers/sessionManager.js.map +1 -1
  29. package/dist/agent/managers/toolCallHelpers.d.ts.map +1 -1
  30. package/dist/agent/managers/toolCallHelpers.js +3 -0
  31. package/dist/agent/managers/toolCallHelpers.js.map +1 -1
  32. package/dist/agent/messageHistory.d.ts +86 -16
  33. package/dist/agent/messageHistory.d.ts.map +1 -1
  34. package/dist/agent/messageHistory.js +203 -65
  35. package/dist/agent/messageHistory.js.map +1 -1
  36. package/dist/agent/seed/orchestrator.d.ts +2 -1
  37. package/dist/agent/seed/orchestrator.d.ts.map +1 -1
  38. package/dist/agent/seed/orchestrator.js +48 -17
  39. package/dist/agent/seed/orchestrator.js.map +1 -1
  40. package/dist/agent/seed/prepare.d.ts +3 -1
  41. package/dist/agent/seed/prepare.d.ts.map +1 -1
  42. package/dist/agent/seed/prepare.js +10 -2
  43. package/dist/agent/seed/prepare.js.map +1 -1
  44. package/dist/agent/sessionStateMachine.d.ts +3 -0
  45. package/dist/agent/sessionStateMachine.d.ts.map +1 -1
  46. package/dist/agent/sessionStateMachine.js.map +1 -1
  47. package/dist/agent/textSanitize.d.ts +1 -1
  48. package/dist/agent/textSanitize.js +1 -1
  49. package/dist/agent/types.d.ts +9 -0
  50. package/dist/agent/types.d.ts.map +1 -1
  51. package/dist/index.d.ts +4 -2
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +11 -4
  54. package/dist/index.js.map +1 -1
  55. package/dist/llm/factory.d.ts +21 -0
  56. package/dist/llm/factory.d.ts.map +1 -1
  57. package/dist/llm/factory.js +4 -1
  58. package/dist/llm/factory.js.map +1 -1
  59. package/dist/llm/openaiCompatible.d.ts +8 -1
  60. package/dist/llm/openaiCompatible.d.ts.map +1 -1
  61. package/dist/llm/openaiCompatible.js +26 -0
  62. package/dist/llm/openaiCompatible.js.map +1 -1
  63. package/dist/llm/provider.d.ts +65 -0
  64. package/dist/llm/provider.d.ts.map +1 -1
  65. package/dist/llm/provider.js +10 -0
  66. package/dist/llm/provider.js.map +1 -1
  67. package/dist/memory/gcService.d.ts +8 -4
  68. package/dist/memory/gcService.d.ts.map +1 -1
  69. package/dist/memory/gcService.js.map +1 -1
  70. package/dist/memory/inMemoryRoundStore.d.ts +8 -3
  71. package/dist/memory/inMemoryRoundStore.d.ts.map +1 -1
  72. package/dist/memory/inMemoryRoundStore.js +19 -10
  73. package/dist/memory/inMemoryRoundStore.js.map +1 -1
  74. package/dist/memory/inMemorySessionStore.d.ts.map +1 -1
  75. package/dist/memory/inMemorySessionStore.js +11 -0
  76. package/dist/memory/inMemorySessionStore.js.map +1 -1
  77. package/dist/memory/roundStore.d.ts +84 -11
  78. package/dist/memory/roundStore.d.ts.map +1 -1
  79. package/dist/memory/roundStore.js +18 -0
  80. package/dist/memory/roundStore.js.map +1 -1
  81. package/dist/memory/sessionStore.d.ts +8 -0
  82. package/dist/memory/sessionStore.d.ts.map +1 -1
  83. package/dist/memory/sessionStore.js.map +1 -1
  84. package/dist/utils/time.d.ts +24 -4
  85. package/dist/utils/time.d.ts.map +1 -1
  86. package/dist/utils/time.js +32 -4
  87. package/dist/utils/time.js.map +1 -1
  88. package/docs/memora-api-reference.md +14 -4
  89. package/docs/memora-/346/216/245/345/205/245/346/214/207/345/215/227.md +45 -17
  90. package/package.json +5 -2
@@ -28,9 +28,12 @@ export function createProviderFromConfig(name, providerConfig) {
28
28
  apiKey: apiKey ?? '',
29
29
  defaultModel: model,
30
30
  // 能力位透传:未填(undefined)由 OpenAICompatibleProvider 内按**各自方向**回落——
31
- // supportsToolCalling → true,supportsStructuredOutput → false(见上方字段文档;勿读成「默认都开」)。
31
+ // supportsToolCalling → true,supportsStructuredOutput / supportsVision → false
32
+ // (见上方字段文档;勿读成「默认都开」)。
32
33
  supportsToolCalling: providerConfig.supportsToolCalling,
33
34
  supportsStructuredOutput: providerConfig.supportsStructuredOutput,
35
+ supportsVision: providerConfig.supportsVision,
36
+ imageResolver: providerConfig.imageResolver,
34
37
  });
35
38
  }
36
39
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/llm/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/llm/factory.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * 适用于:DeepSeek / 豆包 / 通义 / Ollama / 任何兼容 OpenAI 协议的 API
5
5
  */
6
6
  import { LlmProvider } from '../llm/provider.js';
7
- import type { Message, ChatOptions } from '../llm/provider.js';
7
+ import type { ImageResolver, Message, ChatOptions } from '../llm/provider.js';
8
8
  import type { LlmChunk } from '../llm/types.js';
9
9
  export interface OpenAICompatibleConfig {
10
10
  baseUrl: string;
@@ -15,6 +15,13 @@ export interface OpenAICompatibleConfig {
15
15
  supportsToolCalling?: boolean;
16
16
  /** 是否支持结构化输出(response_format / JSON mode),默认 false */
17
17
  supportsStructuredOutput?: boolean;
18
+ /** 是否支持视觉 / 多模态图片输入(默认 false,fail-closed;显式 true 才走图片通道) */
19
+ supportsVision?: boolean;
20
+ /**
21
+ * 图片解析器(宿主注入):把 `ImageRef` 物化为可发送形式(URL 或 base64 文本)。
22
+ * 不注入 ⇒ 含附件的消息在 `formatMessages` 序列化期降级(推可见占位文本块,**绝不静默丢该图**,方案 §5.5 二级)。
23
+ */
24
+ imageResolver?: ImageResolver;
18
25
  }
19
26
  /** 通用 OpenAI 兼容 Provider:通过 baseUrl 适配不同厂商 */
20
27
  export declare class OpenAICompatibleProvider extends LlmProvider {
@@ -1 +1 @@
1
- {"version":3,"file":"openaiCompatible.d.ts","sourceRoot":"","sources":["../../src/llm/openaiCompatible.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,gBAAgB,CAAC;AAYzD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB;4EACwE;IACxE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sDAAsD;IACtD,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AA2CD,8CAA8C;AAC9C,qBAAa,wBAAyB,SAAQ,WAAW;IAKrD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAGpB,IAAI,EAAE,MAAM,EACK,MAAM,EAAE,sBAAsB;IAOjD;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAOxB,mBAAmB;IACnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAW;IAErD;;wDAEoD;IACpD,OAAO,CAAC,aAAa,CAAK;IAEnB,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,GAAE,WAAgB,GAAG,aAAa,CAAC,QAAQ,CAAC;IA4GjF,0CAA0C;YAC5B,mBAAmB;IA2CjC,uDAAuD;YACzC,cAAc;IAQ5B;;;OAGG;IACH,OAAO,CAAC,cAAc;IAiBtB;;;OAGG;YACY,cAAc;IAkN7B;yEACqE;IACrE,OAAO,CAAC,8BAA8B;IActC,iCAAiC;IACjC,OAAO,CAAC,mBAAmB;CAQ5B"}
1
+ {"version":3,"file":"openaiCompatible.d.ts","sourceRoot":"","sources":["../../src/llm/openaiCompatible.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,gBAAgB,CAAC;AAYzD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB;4EACwE;IACxE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sDAAsD;IACtD,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AA2CD,8CAA8C;AAC9C,qBAAa,wBAAyB,SAAQ,WAAW;IAKrD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAGpB,IAAI,EAAE,MAAM,EACK,MAAM,EAAE,sBAAsB;IAOjD;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAQxB,mBAAmB;IACnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAW;IAErD;;wDAEoD;IACpD,OAAO,CAAC,aAAa,CAAK;IAEnB,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,GAAE,WAAgB,GAAG,aAAa,CAAC,QAAQ,CAAC;IA4GjF,0CAA0C;YAC5B,mBAAmB;IA2CjC,uDAAuD;YACzC,cAAc;IAQ5B;;;OAGG;IACH,OAAO,CAAC,cAAc;IA6CtB;;;OAGG;YACY,cAAc;IAkN7B;yEACqE;IACrE,OAAO,CAAC,8BAA8B;IActC,iCAAiC;IACjC,OAAO,CAAC,mBAAmB;CAQ5B"}
@@ -67,6 +67,7 @@ export class OpenAICompatibleProvider extends LlmProvider {
67
67
  config.supportsToolCalling ?? true;
68
68
  this.supportsStructuredOutput =
69
69
  config.supportsStructuredOutput ?? false;
70
+ this.supportsVision = config.supportsVision ?? false;
70
71
  }
71
72
  /** 默认请求超时:120 秒 */
72
73
  static DEFAULT_TIMEOUT_MS = 120_000;
@@ -219,6 +220,31 @@ export class OpenAICompatibleProvider extends LlmProvider {
219
220
  tool_calls: m.toolCalls,
220
221
  };
221
222
  }
223
+ // 默认分支(user 文本):仅当携带图片附件时展开为 content 块数组(OpenAI image_url 形态);
224
+ // 无附件时形状与升级前**字节级一致**(快照测试 R8-4 守门)。base64 字节**只在此处**临时物化,
225
+ // 经宿主注入的 ImageResolver 端口,内核零外部 IO(方案 §5.3 / §5.4)。
226
+ if (m.role === 'user' && m.attachments?.length) {
227
+ const blocks = m.content ? [{ type: 'text', text: m.content }] : [];
228
+ for (const att of m.attachments) {
229
+ const resolved = this.config.imageResolver?.(att) ?? null;
230
+ if (resolved && 'url' in resolved) {
231
+ blocks.push({ type: 'image_url', image_url: { url: resolved.url } });
232
+ continue;
233
+ }
234
+ // 二级降级(D7 / §5.4 / §6.13):**推可见占位文本块,绝不静默丢该图**。
235
+ // 静默丢 ⇒ 用户以为图发了、模型却从没见过 ⇒ 不可发现的错误(文档明文判据)。
236
+ // 占位文案的生产权归宿主(只有宿主知道路径),宿主未给时内核只给最短信息
237
+ //(`sha256` 前 8 位)——内核不知道也不该知道路径,不伪造档名/大小。
238
+ blocks.push({
239
+ type: 'text',
240
+ text: resolved && 'text' in resolved
241
+ ? resolved.text
242
+ : `[图片不可用 ${att.sha256.slice(0, 8)}]`,
243
+ });
244
+ }
245
+ // blocks 恒非空:进入本分支前提是 attachments 非空,循环每图必推一块(图块或占位块)
246
+ return { role: 'user', content: blocks };
247
+ }
222
248
  return { role: m.role, content: m.content };
223
249
  });
224
250
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openaiCompatible.js","sourceRoot":"","sources":["../../src/llm/openaiCompatible.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openaiCompatible.js","sourceRoot":"","sources":["../../src/llm/openaiCompatible.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,53 @@
1
1
  /** LLM Provider 抽象接口:所有 LLM 实现(DeepSeek/豆包/OpenAI/Mock)必须实现 */
2
2
  import type { LlmChunk } from '../llm/types.js';
3
+ /**
4
+ * 图片引用(参考模型,非内联字节)。
5
+ *
6
+ * 设计(方案-图片输入-20261027 §5.1 / §5.3):base64 字节**只**在 `formatMessages`
7
+ * 序列化边界内临时物化,绝不进 `Message` / `RoundMessage` / `SessionMessage`——
8
+ * 三个消息面统一只持 `ImageRef` 引用,避免持久化体积爆炸 + 内存双份 + 真源漂移。
9
+ * `sha256` 是第二真相源去重键,恒等于用户给的那张图的哈希(可审计);`bytes/width/height`
10
+ * 供 token 计量(§5.9)与入口限额(§6.7)与三值比对(§5.4)复用,零重复解析。
11
+ */
12
+ export interface ImageRef {
13
+ /** 原图字节 sha256 —— 去重 / 缓存键 / 文件命中的第二真相源 */
14
+ sha256: string;
15
+ /** MIME(如 image/png),手 sniff 文件头得到,不引第三方依赖 */
16
+ mime: string;
17
+ /** 像素宽(手解析文件头,零依赖) */
18
+ width: number;
19
+ /** 像素高 */
20
+ height: number;
21
+ /** 原图字节数(入口限额 / 三值比对用) */
22
+ bytes: number;
23
+ /** 文件名(采集侧唯一生产点,D29):无则 fallback;UI 展示与缺陷态文案用 */
24
+ name: string;
25
+ }
26
+ /**
27
+ * 图片解析器端口(内核只定类型,实现由宿主注入,内核零外部 IO)。
28
+ *
29
+ * 输入整个 `ImageRef`(而非只给 sha256):宿主实现要拿 `mime` / `bytes` 做 D20 三值
30
+ * 交叉校验(见下),只给哈希则无从比对。返回三者之一:
31
+ *
32
+ * - `{ url }`:**宿主已物化好**、模型侧可直接取用的完整图片 URL。
33
+ * ⚠️ 必须是「**模型**能取到」的形态——实践中就是 `data:{mime};base64,{...}`。
34
+ * **不可**返回 webview 专用 URI(`vscode-webview://…` / `asWebviewUri` 产物):那是给
35
+ * 面板**显示**用的同源限定源,模型请求发出去取不到图 ⇒ 服务端 400 或静默无图。
36
+ * 注:`vscode.Uri` 的显示用途详见方案 §5.10(UI 显示走另一条路,与此处不是同一件事)。
37
+ * - `{ text }`:**降级占位文案**(如 `[图片 a1b2c3d4.png, image/png, 412 KB, 存于 …]`),
38
+ * 表示「图取不到,但有据可查」。⚠️ **不是** base64 载荷——文案的生产权归宿主,
39
+ * 因为路径只有宿主知道;内核拿它做**不透明透传**(拼进 content 文本块),
40
+ * 绝不参与 `data:` URI 拼接(方案 §5.4 收尾段 / §6.13)。
41
+ * - `null`:未命中。此时由内核给最短兜底文案(不含路径——路径不该由内核知道)。
42
+ *
43
+ * 无论哪种降级形态,`formatMessages` 都产出**可见占位文本块**,不静默丢弃该图
44
+ * (静默丢 = 模型困惑 + 用户零线索,方案 §5.4:「可见占位,不静默丢」)。
45
+ */
46
+ export type ImageResolver = (ref: ImageRef) => {
47
+ url: string;
48
+ } | {
49
+ text: string;
50
+ } | null;
3
51
  export interface Message {
4
52
  role: 'system' | 'user' | 'assistant' | 'tool';
5
53
  content: string;
@@ -20,6 +68,13 @@ export interface Message {
20
68
  };
21
69
  }>;
22
70
  toolCallId?: string;
71
+ /**
72
+ * 图片附件引用(可选,多模态输入)。仅 user 消息携带;
73
+ * base64 字节**不**存于此(见 `ImageRef` 注释),序列化时由 `ImageResolver` 物化。
74
+ * 持久化天然带走(整对象 JSON),但 `MessageHistory.appendUser` 的 `userMessage`
75
+ * 白名单必须显式拷此字段,否则重启 / 切会话后图静默消失(方案 §7 P0-12)。
76
+ */
77
+ attachments?: readonly ImageRef[];
23
78
  }
24
79
  export interface ChatOptions {
25
80
  model?: string;
@@ -72,6 +127,16 @@ export declare abstract class LlmProvider {
72
127
  readonly supportsToolCalling: boolean;
73
128
  /** 是否支持结构化输出(默认 false)。注意:response_format 不能与 tools 同时使用(OpenAI 协议限制) */
74
129
  readonly supportsStructuredOutput: boolean;
130
+ /**
131
+ * 是否支持视觉 / 多模态图片输入(默认 **false**,fail-closed)。
132
+ *
133
+ * 与 `supportsToolCalling` 默认 true 相反:能力缺失只是「功能不可用」,而「误判支持」会让图片
134
+ * 静默发给不支持的模型 → 裸 400 / 烧钱。默认 false ⇒ 未显式声明的模型一律按「不支持」处理,
135
+ * 由宿主复选框让用户声明(方案 §5.5 第②层 fail-closed 判据)。
136
+ * 注意:**路由后** provider 的此值才是真源——主对话实走 `determineTaskType → router`,
137
+ * 入口门禁必须读路由后的 provider(方案 §5.6 / R8-1),不得读 `opts.provider` 快照。
138
+ */
139
+ readonly supportsVision: boolean;
75
140
  /** 流式对话:返回 AsyncIterable,每项是一个增量块 */
76
141
  abstract chat(messages: Message[], opts?: ChatOptions): AsyncIterable<LlmChunk>;
77
142
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/llm/provider.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,UAAU,CAAC;QACjB,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/C,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,UAAU,CAAC;QACjB,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,EAAE,MAAM,CAAC;YACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACrC,CAAC;KACH,CAAC,CAAC;IACH;;;;;OAKG;IACH,eAAe,CAAC,EAAE;QAChB,IAAI,EAAE,aAAa,CAAC;QACpB,WAAW,EAAE;YACX,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,OAAO,CAAC;YAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACjC,CAAC;KACH,CAAC;IACF,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC7C,qDAAqD;IACrD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,0CAA0C;AAC1C,8BAAsB,WAAW;IAC/B,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAQ;IAE7C,yEAAyE;IACzE,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAS;IAEnD,qCAAqC;IACrC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC;CAChF"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/llm/provider.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;;;;;GAQG;AACH,MAAM,WAAW,QAAQ;IACvB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU;IACV,MAAM,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,QAAQ,KAAK;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC;AAEzF,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,UAAU,CAAC;QACjB,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/C,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,UAAU,CAAC;QACjB,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,EAAE,MAAM,CAAC;YACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACrC,CAAC;KACH,CAAC,CAAC;IACH;;;;;OAKG;IACH,eAAe,CAAC,EAAE;QAChB,IAAI,EAAE,aAAa,CAAC;QACpB,WAAW,EAAE;YACX,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,OAAO,CAAC;YAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACjC,CAAC;KACH,CAAC;IACF,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC7C,qDAAqD;IACrD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,0CAA0C;AAC1C,8BAAsB,WAAW;IAC/B,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAQ;IAE7C,yEAAyE;IACzE,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAS;IAEnD;;;;;;;;OAQG;IACH,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAS;IAEzC,qCAAqC;IACrC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC;CAChF"}
@@ -15,5 +15,15 @@ export class LlmProvider {
15
15
  supportsToolCalling = true;
16
16
  /** 是否支持结构化输出(默认 false)。注意:response_format 不能与 tools 同时使用(OpenAI 协议限制) */
17
17
  supportsStructuredOutput = false;
18
+ /**
19
+ * 是否支持视觉 / 多模态图片输入(默认 **false**,fail-closed)。
20
+ *
21
+ * 与 `supportsToolCalling` 默认 true 相反:能力缺失只是「功能不可用」,而「误判支持」会让图片
22
+ * 静默发给不支持的模型 → 裸 400 / 烧钱。默认 false ⇒ 未显式声明的模型一律按「不支持」处理,
23
+ * 由宿主复选框让用户声明(方案 §5.5 第②层 fail-closed 判据)。
24
+ * 注意:**路由后** provider 的此值才是真源——主对话实走 `determineTaskType → router`,
25
+ * 入口门禁必须读路由后的 provider(方案 §5.6 / R8-1),不得读 `opts.provider` 快照。
26
+ */
27
+ supportsVision = false;
18
28
  }
19
29
  //# sourceMappingURL=provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/llm/provider.ts"],"names":[],"mappings":"AA0DA,0CAA0C;AAC1C,MAAM,OAAgB,WAAW;IAG/B;;;;;;;;;;;OAWG;IACM,mBAAmB,GAAY,IAAI,CAAC;IAE7C,yEAAyE;IAChE,wBAAwB,GAAY,KAAK,CAAC;CAIpD"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/llm/provider.ts"],"names":[],"mappings":"AA+GA,0CAA0C;AAC1C,MAAM,OAAgB,WAAW;IAG/B;;;;;;;;;;;OAWG;IACM,mBAAmB,GAAY,IAAI,CAAC;IAE7C,yEAAyE;IAChE,wBAAwB,GAAY,KAAK,CAAC;IAEnD;;;;;;;;OAQG;IACM,cAAc,GAAY,KAAK,CAAC;CAI1C"}
@@ -21,8 +21,11 @@ export interface GCConfig {
21
21
  /**
22
22
  * 最小存活时间(毫秒)
23
23
  *
24
- * 避免清理正在使用的 Round:
25
- * - Round 创建后短时间内可能还在被引用
24
+ * 给「引用刚归零」的轮留后悔窗口:删会话/截断把 refCount 降到 0 后,用户可能在
25
+ * 短时间内又想恢复;窗口内不动物理文件。
26
+ *
27
+ * ⚠️ 它**不再**承担「防误清进行中轮」:ADR-044 起建轮即 `refCount: 1`,
28
+ * 在途轮根本进不了 `listOrphaned` 的 `refCount === 0` 判据。
26
29
  * - 默认 5 分钟
27
30
  */
28
31
  minAgeMs: number;
@@ -50,8 +53,9 @@ export interface GCConfig {
50
53
  /**
51
54
  * 忙碌检查回调(可选)
52
55
  *
53
- * 定时 GC 在对话进行中(chatLock busy / 长任务执行中)延迟执行,
54
- * 避免进行中 pending Round 被误清(minAgeMs 判龄对长任务不可靠)。
56
+ * 定时 GC 在对话进行中(chatLock busy / 长任务执行中)延迟执行。
57
+ * 一阶防线是 `listOrphaned` 的 `refCount === 0`(ADR-044 起在途轮 refCount 1,天然排除);
58
+ * 本回调是**二阶**保护:对话框运行期间不碰存储,避免与活跃写入/删会话动作交错。
55
59
  * 返回 true = 当前忙,跳过本次 GC。
56
60
  */
57
61
  shouldSkip?: () => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"gcService.d.ts","sourceRoot":"","sources":["../../src/memory/gcService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAS,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAInE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,KAAK,CAA+C;gBAEhD,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAY9F;;;;;;;;;;;OAWG;IACH,GAAG,IAAI,QAAQ;IAsEf;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAKpB;;;;;;;OAOG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAgBvC;;OAEG;IACH,YAAY,IAAI,IAAI;IAQpB;;;;OAIG;IACH,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC;IAI/B;;;;OAIG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI;CAG/C;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,WAAW,EACvB,aAAa,EAAE,cAAc,EAC7B,UAAU,CAAC,EAAE,MAAM,OAAO,GACzB,SAAS,CAQX"}
1
+ {"version":3,"file":"gcService.d.ts","sourceRoot":"","sources":["../../src/memory/gcService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAS,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAInE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;;;;;OASG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,KAAK,CAA+C;gBAEhD,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAY9F;;;;;;;;;;;OAWG;IACH,GAAG,IAAI,QAAQ;IAsEf;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAKpB;;;;;;;OAOG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAgBvC;;OAEG;IACH,YAAY,IAAI,IAAI;IAQpB;;;;OAIG;IACH,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC;IAI/B;;;;OAIG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI;CAG/C;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,WAAW,EACvB,aAAa,EAAE,cAAc,EAC7B,UAAU,CAAC,EAAE,MAAM,OAAO,GACzB,SAAS,CAQX"}
@@ -1 +1 @@
1
- {"version":3,"file":"gcService.js","sourceRoot":"","sources":["../../src/memory/gcService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gcService.js","sourceRoot":"","sources":["../../src/memory/gcService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAuEpE;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,SAAS;IACH,UAAU,CAAc;IACxB,aAAa,CAAiB;IAC9B,MAAM,CAAW;IAC1B,KAAK,GAA0C,IAAI,CAAC;IAE5D,YAAY,UAAuB,EAAE,aAA6B,EAAE,MAA0B;QAC5F,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG;YACZ,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO;YACpD,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,GAAG;YACnC,aAAa,EAAE,MAAM,EAAE,aAAa,IAAI,IAAI;YAC5C,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,KAAK;YACjC,UAAU,EAAE,MAAM,EAAE,UAAU;SAC/B,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,GAAG;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAa;YACvB,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;YACV,mBAAmB,EAAE,CAAC;YACtB,aAAa,EAAE,CAAC;YAChB,SAAS,EAAE,CAAC;SACb,CAAC;QAEF,6BAA6B;QAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC7C,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC1C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,CAAC;YACH,mBAAmB;YACnB,4BAA4B;YAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;YACpD,MAAM,cAAc,GAAG,cAAc;gBACnC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC5D,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC;YAClD,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC;YAExC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,cAAc,CAAC,CAAC;YACpF,CAAC;YAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAC1C,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,UAAU;YACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACtE,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAEjE,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;oBAC1B,WAAW;oBACX,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAEjD,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,CAAC,OAAO,EAAE,CAAC;wBAEjB,cAAc;wBACd,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;4BAC9B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;4BAChC,MAAM,CAAC,aAAa,EAAE,CAAC;wBACzB,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,mBAAmB,EAAE,CAAC;oBAC/B,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC1C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;OAWG;IACK,mBAAmB,CAAC,KAAY;QACtC,0DAA0D;QAC1D,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnF,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,YAAY,CAAC,SAAiB;QACpC,yCAAyC;QACzC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,UAAkB;QAC9B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,GAAG,EAAE,CAAC;QAEX,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,CAAC,EAAE,UAAU,CAAC,CAAC;QAEf,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,aAAa,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,OAA0B;QACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,UAAuB,EACvB,aAA6B,EAC7B,UAA0B;IAE1B,OAAO,IAAI,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE;QAC9C,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;QACtC,SAAS,EAAE,GAAG;QACd,aAAa,EAAE,IAAI;QACnB,OAAO,EAAE,KAAK;QACd,UAAU;KACX,CAAC,CAAC;AACL,CAAC"}
@@ -86,9 +86,12 @@ export declare class InMemoryRoundStore implements IRoundStore {
86
86
  /**
87
87
  * 获取孤立的问答闭环列表(refCount === 0)
88
88
  *
89
- * 用于 GC 服务批量清理
89
+ * 用于 GC 服务批量清理。ADR-044 第四刀确认:`refCount === 0` = **真正无人引用**
90
+ * (新轮建轮即 1,故「进行中」本身不再是孤儿判据),能落到 0 的只有存量轮、
91
+ * 删会话/截断后的轮、归属登记失败的残留。
90
92
  *
91
- * @param minAgeMs - 最小存活时间(毫秒),避免清理正在使用的 Round
93
+ * @param minAgeMs - 最小存活时间(毫秒):给「刚归零」的轮留后悔窗口,
94
+ * **不再**承担「防误清进行中轮」职责(那条已由 `refCount 1` 保证)
92
95
  * @returns 孤立 Round 数组
93
96
  */
94
97
  listOrphaned(minAgeMs?: number): Round[];
@@ -101,7 +104,9 @@ export declare class InMemoryRoundStore implements IRoundStore {
101
104
  * 只读、不改写、不登记会话;升级完成(complete + refCount>0)前为打捞窗口内中间态,
102
105
  * 超龄仍未升级的中断轮由 GC 回收(默认 24h 存活保护覆盖打捞窗口,不误回收)。
103
106
  *
104
- * @param date - YYYY-MM-DD,按 createdAt 前缀匹配(ISO 头 10 位)
107
+ * @param date - YYYY-MM-DD **本地日期**(与会话 ID 日期同口径):按本地日区间
108
+ * `[D 00:00, D+1 00:00)` 换算 UTC 后比较 createdAt——判据单点 = `isWithinLocalDay`,
109
+ * 与宿主 `WorkspaceRoundStore` 同源(前缀匹配在 UTC+8 凌晨窗口漏捞,E2E-TZ-SALVAGE-1)
105
110
  * @param limit - 最多条数,按 createdAt 降序(最新在前);缺省不截断
106
111
  * @returns 中断残留 Round 数组(倒序)
107
112
  */
@@ -1 +1 @@
1
- {"version":3,"file":"inMemoryRoundStore.d.ts","sourceRoot":"","sources":["../../src/memory/inMemoryRoundStore.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG9E;;;;;;;;;GASG;AACH,qBAAa,kBAAmB,YAAW,WAAW;IACpD,2BAA2B;IAC3B,OAAO,CAAC,MAAM,CAAiC;IAE/C;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAKxB;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAMtC;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE;IAWrC;;;;;;OAMG;IACH,OAAO,IAAI,KAAK,EAAE;IAIlB;;;;;;OAMG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAUnC;;;;;;;OAOG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAYnC;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAchC;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,EAAE;IAM1C;;;;;;;OAOG;IACH,YAAY,CAAC,QAAQ,GAAE,MAAU,GAAG,KAAK,EAAE;IAsB3C;;;;;;;;;;;;OAYG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE;IAmB5D;;;;;;OAMG;IACH,IAAI,IAAI,MAAM;IAId;;;;OAIG;IACH,KAAK,IAAI,IAAI;CAGd"}
1
+ {"version":3,"file":"inMemoryRoundStore.d.ts","sourceRoot":"","sources":["../../src/memory/inMemoryRoundStore.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAI9E;;;;;;;;;GASG;AACH,qBAAa,kBAAmB,YAAW,WAAW;IACpD,2BAA2B;IAC3B,OAAO,CAAC,MAAM,CAAiC;IAE/C;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAKxB;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAMtC;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE;IAWrC;;;;;;OAMG;IACH,OAAO,IAAI,KAAK,EAAE;IAIlB;;;;;;OAMG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAUnC;;;;;;;OAOG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAYnC;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAchC;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,EAAE;IAM1C;;;;;;;;;;OAUG;IACH,YAAY,CAAC,QAAQ,GAAE,MAAU,GAAG,KAAK,EAAE;IAuB3C;;;;;;;;;;;;;;OAcG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE;IAqB5D;;;;;;OAMG;IACH,IAAI,IAAI,MAAM;IAId;;;;OAIG;IACH,KAAK,IAAI,IAAI;CAGd"}
@@ -7,6 +7,7 @@
7
7
  * - 生产由宿主注入持久化实现(FileRoundStore 或宿主自选后端)
8
8
  */
9
9
  import { logger } from '../logging/logger.js';
10
+ import { isWithinLocalDay } from '../utils/time.js';
10
11
  /**
11
12
  * 内存问答闭环存储
12
13
  *
@@ -138,9 +139,12 @@ export class InMemoryRoundStore {
138
139
  /**
139
140
  * 获取孤立的问答闭环列表(refCount === 0)
140
141
  *
141
- * 用于 GC 服务批量清理
142
+ * 用于 GC 服务批量清理。ADR-044 第四刀确认:`refCount === 0` = **真正无人引用**
143
+ * (新轮建轮即 1,故「进行中」本身不再是孤儿判据),能落到 0 的只有存量轮、
144
+ * 删会话/截断后的轮、归属登记失败的残留。
142
145
  *
143
- * @param minAgeMs - 最小存活时间(毫秒),避免清理正在使用的 Round
146
+ * @param minAgeMs - 最小存活时间(毫秒):给「刚归零」的轮留后悔窗口,
147
+ * **不再**承担「防误清进行中轮」职责(那条已由 `refCount 1` 保证)
144
148
  * @returns 孤立 Round 数组
145
149
  */
146
150
  listOrphaned(minAgeMs = 0) {
@@ -157,8 +161,9 @@ export class InMemoryRoundStore {
157
161
  if (ageSec < minAgeMsSec)
158
162
  return false;
159
163
  // 孤儿 = 无引用且超龄:
160
- // complete 轮在删会话归零后回收;pending/error 轮(崩溃残留 refCount=0)同样回收,
161
- // 进行中轮由 minAgeMs 兜底保护,不被误清
164
+ // complete 轮在删会话归零后回收;存量 pending/error 轮(ADR-044 之前落盘、refCount 0)
165
+ // 同样回收。⚠️ ADR-044 起新轮建轮即 refCount 1 ⇒ **进行中轮不进本判据**,
166
+ // 「防误删在途提问」不再靠 minAgeMs 承担(该保护现在只给「刚归零」的轮留窗口)。
162
167
  return true;
163
168
  })
164
169
  .map((r) => ({ ...r }));
@@ -172,12 +177,14 @@ export class InMemoryRoundStore {
172
177
  * 只读、不改写、不登记会话;升级完成(complete + refCount>0)前为打捞窗口内中间态,
173
178
  * 超龄仍未升级的中断轮由 GC 回收(默认 24h 存活保护覆盖打捞窗口,不误回收)。
174
179
  *
175
- * @param date - YYYY-MM-DD,按 createdAt 前缀匹配(ISO 头 10 位)
180
+ * @param date - YYYY-MM-DD **本地日期**(与会话 ID 日期同口径):按本地日区间
181
+ * `[D 00:00, D+1 00:00)` 换算 UTC 后比较 createdAt——判据单点 = `isWithinLocalDay`,
182
+ * 与宿主 `WorkspaceRoundStore` 同源(前缀匹配在 UTC+8 凌晨窗口漏捞,E2E-TZ-SALVAGE-1)
176
183
  * @param limit - 最多条数,按 createdAt 降序(最新在前);缺省不截断
177
184
  * @returns 中断残留 Round 数组(倒序)
178
185
  */
179
186
  listInterruptedRecent(date, limit) {
180
- // 崩溃残留轮 = refCount 0 + 未完成(pending/error),按创建日期精确过滤后倒序取最新
187
+ // 崩溃残留轮 = **未收场**(pending/error),按本地日区间过滤后倒序取最新
181
188
  //
182
189
  // ⚠️ `'error'` 是**预留态**(明示收起):
183
190
  // 全仓**无任何写点**把 Round.status 置为 'error'(写点仅 pending → complete /
@@ -185,12 +192,14 @@ export class InMemoryRoundStore {
185
192
  // 'pending' **共用同一条打捞条件**,故保留字段本身零成本、删除反而是无谓改动。
186
193
  // 保留的是「接口形状」而非「当前行为」:若未来出现「整轮失败且需与中断区分」的
187
194
  // 真实需求,可在此分支补齐语义,无需改签名。
188
- // ⚠️ `interrupted` **不入本打捞口**:运行期收场已即时标 interrupted 且 refCount 0→1,
189
- // 不再符合 `refCount===0` 的崩溃孤儿条件;interrupted 轮是「已收场的停 turn」,不属崩溃残留。
195
+ // ⚠️ `interrupted` **不入本打捞口**:它已是「已收场的停 turn」,不属崩溃残留。
190
196
  // 纪律:勿因「grep 到零写点」而删该字段(它是打捞条件的组成部分,非死代码)。
197
+ //
198
+ // 🔴 ADR-044:判据**不再含 `refCount === 0`**(与宿主 `workspaceRoundStore` 同款改动)。
199
+ // 建轮即 refCount 1,沿用旧判据会让崩溃残留轮永远捞不到 ⇒ 跨重启恢复失效。
191
200
  const interrupted = Array.from(this.rounds.values())
192
- .filter((r) => r.refCount === 0 && (r.status === 'pending' || r.status === 'error'))
193
- .filter((r) => r.createdAt.startsWith(date))
201
+ .filter((r) => r.status === 'pending' || r.status === 'error')
202
+ .filter((r) => isWithinLocalDay(r.createdAt, date))
194
203
  .sort((a, b) => b.createdAt.localeCompare(a.createdAt));
195
204
  return (limit !== undefined ? interrupted.slice(0, limit) : interrupted).map((r) => ({ ...r }));
196
205
  }
@@ -1 +1 @@
1
- {"version":3,"file":"inMemoryRoundStore.js","sourceRoot":"","sources":["../../src/memory/inMemoryRoundStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inMemoryRoundStore.js","sourceRoot":"","sources":["../../src/memory/inMemoryRoundStore.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"inMemorySessionStore.d.ts","sourceRoot":"","sources":["../../src/memory/inMemorySessionStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG3F;;GAEG;AACH,qBAAa,oBAAqB,YAAW,aAAa;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,cAAc;IACd,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;gBAE/C,UAAU,CAAC,EAAE,WAAW;IAMpC;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,EAAE;IA8B7D;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE;IAaxB;;;;OAIG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI1D;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAmBvD;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAmBtE;;;;;OAKG;IACH,gBAAgB,IAAI,WAAW,EAAE;IAMjC;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IASvD;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAS3D;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAIxC;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAOxD;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAKtC;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAYtC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAK1B;;OAEG;IACH,KAAK,IAAI,IAAI;CAId"}
1
+ {"version":3,"file":"inMemorySessionStore.d.ts","sourceRoot":"","sources":["../../src/memory/inMemorySessionStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAI3F;;GAEG;AACH,qBAAa,oBAAqB,YAAW,aAAa;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,cAAc;IACd,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;gBAE/C,UAAU,CAAC,EAAE,WAAW;IAMpC;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,EAAE;IAwC7D;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE;IAaxB;;;;OAIG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI1D;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAmBvD;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAmBtE;;;;;OAKG;IACH,gBAAgB,IAAI,WAAW,EAAE;IAMjC;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IASvD;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAS3D;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAIxC;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAOxD;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAKtC;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAYtC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAK1B;;OAEG;IACH,KAAK,IAAI,IAAI;CAId"}
@@ -12,6 +12,7 @@
12
12
  */
13
13
  import { isRoundSettled } from '../memory/roundStore.js';
14
14
  import { InMemoryRoundStore } from '../memory/inMemoryRoundStore.js';
15
+ import { LOOP_CONSTANTS } from '../agent/constants.js';
15
16
  /**
16
17
  * 内存会话存储
17
18
  */
@@ -35,12 +36,22 @@ export class InMemorySessionStore {
35
36
  return [];
36
37
  const rounds = this.roundStore.getByIds(roundIds);
37
38
  const messages = [];
39
+ // 历史图片窗口衰减(真机验收 IMG-2 第 13 子块断点B修复):与
40
+ // `messageHistory.loadRoundBasedMessages` **同判据同构**(含 `indexOf` 取位方式)——
41
+ // 本方法是 restoreHistory 生产路径唯一上游,漏带 attachments = 重启后历史图全灭
42
+ //(模型只见纯文本,连占位都没有);不带衰减则窗口外图片灌爆上下文。
43
+ // 索引以 roundIds 序为准(getByIds 会跳过缺失项,rounds 下标 ≠ roundIds 下标)。
44
+ const currentIdx = roundIds.length - 1;
38
45
  for (const round of rounds) {
46
+ const idx = roundIds.indexOf(round.id);
47
+ const withImages = currentIdx - idx < LOOP_CONSTANTS.RETAIN_IMAGE_ROUNDS;
48
+ const userAttachments = withImages ? round.userMessage.attachments : undefined;
39
49
  messages.push({
40
50
  role: round.userMessage.role,
41
51
  content: round.userMessage.content,
42
52
  timestamp: round.userMessage.timestamp,
43
53
  roundId: round.id,
54
+ ...(userAttachments ? { attachments: userAttachments } : {}),
44
55
  });
45
56
  // 判据收口 isRoundSettled:中断轮(interrupted)同样计入——本方法是 LLM 历史注入
46
57
  // (restoreHistory)唯一上游,漏计会让中断轮回复从上下文消失(见该函数文档)
@@ -1 +1 @@
1
- {"version":3,"file":"inMemorySessionStore.js","sourceRoot":"","sources":["../../src/memory/inMemorySessionStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inMemorySessionStore.js","sourceRoot":"","sources":["../../src/memory/inMemorySessionStore.ts"],"names":[],"mappings":"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"}