@zooique/memora 5.0.0 → 5.2.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 (102) hide show
  1. package/CHANGELOG.md +142 -7
  2. package/README.en.md +7 -3
  3. package/README.md +7 -3
  4. package/dist/agent/agent.d.ts +5 -2
  5. package/dist/agent/agent.d.ts.map +1 -1
  6. package/dist/agent/agent.js +8 -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 +37 -19
  10. package/dist/agent/assembler.js.map +1 -1
  11. package/dist/agent/builtinToolHandlers.d.ts +23 -2
  12. package/dist/agent/builtinToolHandlers.d.ts.map +1 -1
  13. package/dist/agent/builtinToolHandlers.js +22 -11
  14. package/dist/agent/builtinToolHandlers.js.map +1 -1
  15. package/dist/agent/builtinTools.d.ts +16 -0
  16. package/dist/agent/builtinTools.d.ts.map +1 -1
  17. package/dist/agent/builtinTools.js +11 -1
  18. package/dist/agent/builtinTools.js.map +1 -1
  19. package/dist/agent/constants.d.ts +27 -0
  20. package/dist/agent/constants.d.ts.map +1 -1
  21. package/dist/agent/constants.js +27 -0
  22. package/dist/agent/constants.js.map +1 -1
  23. package/dist/agent/contextManager.d.ts +31 -3
  24. package/dist/agent/contextManager.d.ts.map +1 -1
  25. package/dist/agent/contextManager.js +39 -2
  26. package/dist/agent/contextManager.js.map +1 -1
  27. package/dist/agent/guardRail.d.ts +24 -9
  28. package/dist/agent/guardRail.d.ts.map +1 -1
  29. package/dist/agent/guardRail.js +153 -45
  30. package/dist/agent/guardRail.js.map +1 -1
  31. package/dist/agent/loop.d.ts +3 -3
  32. package/dist/agent/loop.d.ts.map +1 -1
  33. package/dist/agent/loop.js +23 -12
  34. package/dist/agent/loop.js.map +1 -1
  35. package/dist/agent/managers/llmCaller.d.ts.map +1 -1
  36. package/dist/agent/managers/llmCaller.js +14 -1
  37. package/dist/agent/managers/llmCaller.js.map +1 -1
  38. package/dist/agent/managers/sessionManager.d.ts.map +1 -1
  39. package/dist/agent/managers/sessionManager.js +1 -0
  40. package/dist/agent/managers/sessionManager.js.map +1 -1
  41. package/dist/agent/messageHistory.d.ts +3 -0
  42. package/dist/agent/messageHistory.d.ts.map +1 -1
  43. package/dist/agent/messageHistory.js +14 -0
  44. package/dist/agent/messageHistory.js.map +1 -1
  45. package/dist/agent/seed/orchestrator.d.ts +2 -1
  46. package/dist/agent/seed/orchestrator.d.ts.map +1 -1
  47. package/dist/agent/seed/orchestrator.js +3 -3
  48. package/dist/agent/seed/orchestrator.js.map +1 -1
  49. package/dist/agent/seed/prepare.d.ts +3 -1
  50. package/dist/agent/seed/prepare.d.ts.map +1 -1
  51. package/dist/agent/seed/prepare.js +10 -2
  52. package/dist/agent/seed/prepare.js.map +1 -1
  53. package/dist/agent/sessionStateMachine.d.ts +3 -0
  54. package/dist/agent/sessionStateMachine.d.ts.map +1 -1
  55. package/dist/agent/sessionStateMachine.js.map +1 -1
  56. package/dist/agent/textSanitize.d.ts +1 -1
  57. package/dist/agent/textSanitize.js +1 -1
  58. package/dist/agent/toolExecutor.d.ts +18 -12
  59. package/dist/agent/toolExecutor.d.ts.map +1 -1
  60. package/dist/agent/toolExecutor.js +114 -19
  61. package/dist/agent/toolExecutor.js.map +1 -1
  62. package/dist/index.d.ts +2 -0
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +5 -0
  65. package/dist/index.js.map +1 -1
  66. package/dist/llm/factory.d.ts +21 -0
  67. package/dist/llm/factory.d.ts.map +1 -1
  68. package/dist/llm/factory.js +4 -1
  69. package/dist/llm/factory.js.map +1 -1
  70. package/dist/llm/openaiCompatible.d.ts +8 -1
  71. package/dist/llm/openaiCompatible.d.ts.map +1 -1
  72. package/dist/llm/openaiCompatible.js +26 -0
  73. package/dist/llm/openaiCompatible.js.map +1 -1
  74. package/dist/llm/provider.d.ts +65 -0
  75. package/dist/llm/provider.d.ts.map +1 -1
  76. package/dist/llm/provider.js +10 -0
  77. package/dist/llm/provider.js.map +1 -1
  78. package/dist/memory/inMemorySessionStore.d.ts.map +1 -1
  79. package/dist/memory/inMemorySessionStore.js +11 -0
  80. package/dist/memory/inMemorySessionStore.js.map +1 -1
  81. package/dist/memory/roundStore.d.ts +7 -0
  82. package/dist/memory/roundStore.d.ts.map +1 -1
  83. package/dist/memory/roundStore.js.map +1 -1
  84. package/dist/memory/sessionStore.d.ts +8 -0
  85. package/dist/memory/sessionStore.d.ts.map +1 -1
  86. package/dist/memory/sessionStore.js.map +1 -1
  87. package/dist/security/confirmEntries.d.ts +21 -6
  88. package/dist/security/confirmEntries.d.ts.map +1 -1
  89. package/dist/security/confirmEntries.js +21 -6
  90. package/dist/security/confirmEntries.js.map +1 -1
  91. package/dist/security/pathGuard.d.ts +43 -9
  92. package/dist/security/pathGuard.d.ts.map +1 -1
  93. package/dist/security/pathGuard.js +69 -9
  94. package/dist/security/pathGuard.js.map +1 -1
  95. package/docs/architecture/role-pack-authoring-guide.md +4 -0
  96. package/docs/architecture/role-pack-spec.md +9 -5
  97. package/docs/memora-api-reference.md +21 -7
  98. package/docs/memora-/346/216/245/345/205/245/346/214/207/345/215/227.md +47 -17
  99. package/package.json +7 -1
  100. package/role-packs/memora/345/212/251/346/211/213/rules.md +1 -0
  101. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/rules.md +1 -0
  102. package/role-packs//347/231/275/350/257/235/346/226/271/346/241/210/350/256/276/350/256/241/345/270/210/rules.md +2 -1
@@ -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":"AAAA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAoBzD,8DAA8D;AAC9D,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B,4CAA4C;AAE5C,0DAA0D;AAC1D,MAAM,cAAc,GAAG,OAAO,CAAC;AAE/B;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,KAAyB;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3E,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,KAAyB,EAAE,QAAgB;IACrE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC1E,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,cAAc;QAAE,OAAO,QAAQ,CAAC;IAC1D,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,sBAAsB,GAAG,OAAO,CAAC;AACvC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AACtC;4DAC4D;AAC5D,MAAM,sBAAsB,GAAG,OAAO,CAAC;AAEvC,8CAA8C;AAC9C,MAAM,OAAO,wBAAyB,SAAQ,WAAW;IAKpC;IAJV,IAAI,CAAS;IAEtB,YACE,IAAY,EACK,MAA8B;QAE/C,KAAK,EAAE,CAAC;QAFS,WAAM,GAAN,MAAM,CAAwB;QAG/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACK,gBAAgB,CAAC,MAA8B;QACpD,IAAyC,CAAC,mBAAmB;YAC5D,MAAM,CAAC,mBAAmB,IAAI,IAAI,CAAC;QACpC,IAA8C,CAAC,wBAAwB;YACtE,MAAM,CAAC,wBAAwB,IAAI,KAAK,CAAC;QAC1C,IAAoC,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,KAAK,CAAC;IACxF,CAAC;IAED,mBAAmB;IACX,MAAM,CAAU,kBAAkB,GAAG,OAAO,CAAC;IAErD;;wDAEoD;IAC5C,aAAa,GAAG,CAAC,CAAC;IAE1B,KAAK,CAAC,CAAC,IAAI,CAAC,QAAmB,EAAE,OAAoB,EAAE;QACrD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,mBAAmB,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QACrD,wDAAwD;QACxD,MAAM,SAAS,GAAG,kBAAkB,CAClC,IAAI,CAAC,SAAS,EACd,wBAAwB,CAAC,kBAAkB,CAC5C,CAAC;QACF,8DAA8D;QAC9D,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAErD,MAAM,IAAI,GAA4B;YACpC,KAAK;YACL,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;YACvC,2CAA2C;YAC3C,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI;SACb,CAAC;QAEF,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3C,IAAI,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;QAC5D,yDAAyD;QACzD,IAAI,IAAI,CAAC,eAAe;YAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QACzE,wEAAwE;QACxE,+CAA+C;QAC/C,IAAI,IAAI,CAAC,gBAAgB;YAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAE5E,2CAA2C;QAC3C,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAEpE,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAC1B,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;iBAC9C;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YACvB,sDAAsD;YACtD,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,MAAM,YAAY,CAChB,UAAU,EACV,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,SAAS,SAAS,GAAG,IAAI,OAAO,EACtD;oBACE,WAAW;oBACX,iDAAiD;oBACjD,MAAM;iBACP,EACD,CAAC,CACF,CAAC;YACJ,CAAC;YACD,MAAM,YAAY,CAChB,YAAY,EACZ,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,EAC1C;gBACE,uBAAuB;gBACvB,iBAAiB;gBACjB,mBAAmB;aACpB,EACD,CAAC,CACF,CAAC;QACJ,CAAC;QAED,6DAA6D;QAC7D,wDAAwD;QAExD,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAC3C,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,QAAQ,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,kBAAkB,EAAE;oBAC3E,MAAM;oBACN,YAAY;iBACb,CAAC,CAAC;YACL,CAAC;YAED,mEAAmE;YACnE,KAAK,CAAC,UAAU,EAAE,CAAC;YAEnB,IAAI,CAAC;gBACH,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,kCAAkC;gBAClC,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBACpC,sGAAsG;gBACtG,IAAI,GAAG,YAAY,YAAY;oBAAE,MAAM,GAAG,CAAC;gBAC3C,qDAAqD;gBACrD,MAAM,YAAY,CAChB,WAAW,EACX,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EACpB,CAAC,MAAM,EAAE,2BAA2B,CAAC,EACrC,OAAO,CAAC,GAAG,CAAC,CACb,CAAC;YACJ,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,yCAAyC;YACzC,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED,0CAA0C;IAClC,KAAK,CAAC,mBAAmB,CAAC,QAAkB;QAClD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAE/B,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACrC,MAAM,WAAW,CACf,gBAAgB,EAChB,QAAQ,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,EAAE,EAC1D;gBACE,gDAAgD;gBAChD,YAAY;gBACZ,+BAA+B;aAChC,CACF,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,MAAM,QAAQ,CAAC,UAAU,EAAE,YAAY,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,EAAE,EAAE;gBAC/E,MAAM;gBACN,2BAA2B;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;YAClC,MAAM,QAAQ,CACZ,YAAY,EACZ,QAAQ,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,EAAE,EAC1D;gBACE,eAAe;gBACf,eAAe;gBACf,6BAA6B;aAC9B,CACF,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,CAAC,WAAW,EAAE,QAAQ,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,EAAE,EAAE;YACtF,MAAM;YACN,qBAAqB;YACrB,+BAA+B;SAChC,CAAC,CAAC;IACL,CAAC;IAED,uDAAuD;IAC/C,KAAK,CAAC,cAAc,CAAC,QAAkB;QAC7C,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,yBAAyB,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,cAAc,CAAC,QAAmB;QACxC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACxB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACtB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YAC1E,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBAC1C,OAAO;oBACL,IAAI,EAAE,WAAW;oBACjB,iEAAiE;oBACjE,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;oBAC7D,UAAU,EAAE,CAAC,CAAC,SAAS;iBACxB,CAAC;YACJ,CAAC;YACD,+DAA+D;YAC/D,2DAA2D;YAC3D,oDAAoD;YACpD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;gBAC/C,MAAM,MAAM,GAER,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;oBAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;oBAC1D,IAAI,QAAQ,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;wBAClC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBACrE,SAAS;oBACX,CAAC;oBACD,gDAAgD;oBAChD,2CAA2C;oBAC3C,sCAAsC;oBACtC,0CAA0C;oBAC1C,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,MAAM;wBACZ,IAAI,EACF,QAAQ,IAAI,MAAM,IAAI,QAAQ;4BAC5B,CAAC,CAAC,QAAQ,CAAC,IAAI;4BACf,CAAC,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;qBAC1C,CAAC,CAAC;gBACL,CAAC;gBACD,sDAAsD;gBACtD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAC3C,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,CAAC,cAAc,CAC3B,IAAgC,EAChC,MAAoB;QAEpB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,mEAAmE;QACnE,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA2D,CAAC;QAChG,+CAA+C;QAC/C,mCAAmC;QACnC,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;QAEhD,0CAA0C;QAC1C,uDAAuD;QACvD,4CAA4C;QAC5C,iCAAiC;QACjC,EAAE;QACF,kEAAkE;QAClE,wEAAwE;QACxE,kEAAkE;QAClE,mFAAmF;QACnF,sDAAsD;QACtD,uDAAuD;QACvD,8CAA8C;QAC9C,yDAAyD;QACzD,qBAAqB;QACrB,6DAA6D;QAC7D,4CAA4C;QAC5C,IAAI,cAAc,GAAwB,IAAI,CAAC;QAC/C,6BAA6B;QAC7B,IAAI,iBAAiB,GAAyC,IAAI,CAAC;QACnE,0CAA0C;QAC1C,MAAM,eAAe,GAAG,CAAC,MAAc,EAAQ,EAAE;YAC/C,cAAc,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YAC5D,iBAAiB,EAAE,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC,CAAC;QAEF,IAAI,UAAU,GAAyC,IAAI,CAAC;QAC5D,MAAM,UAAU,GAAG,GAAS,EAAE;YAC5B,IAAI,UAAU;gBAAE,YAAY,CAAC,UAAU,CAAC,CAAC;YACzC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC3B,eAAe,CAAC,8BAA8B,CAAC,CAAC;YAClD,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF,kCAAkC;QAClC,UAAU,EAAE,CAAC;QAEb,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAE/B,IAAI,CAAC;YACH,OAAO,IAAI,EAAE,CAAC;gBACZ,gGAAgG;gBAChG,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;oBACpB,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,YAAY,CAAC,CAAC;gBAC5E,CAAC;gBACD,sBAAsB;gBACtB,IAAI,cAAc;oBAAE,MAAM,cAAc,CAAC;gBAEzC,yDAAyD;gBACzD,MAAM,cAAc,GAAG,kBAAkB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,sBAAsB,CAAC;gBAC5F,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;oBACjC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;gBAC/E,CAAC,EAAE,cAAc,CAAC,CAAC;gBAEnB,uDAAuD;gBACvD,2CAA2C;gBAC3C,MAAM,WAAW,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;oBACnD,iBAAiB,GAAG,MAAM,CAAC;gBAC7B,CAAC,CAAC,CAAC;gBACH,yCAAyC;gBACzC,KAAK,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAExC,IAAI,UAAU,CAAC;gBACf,IAAI,CAAC;oBACH,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;gBAChE,CAAC;wBAAS,CAAC;oBACT,8CAA8C;oBAC9C,YAAY,CAAC,UAAU,CAAC,CAAC;oBACzB,iBAAiB,GAAG,IAAI,CAAC;gBAC3B,CAAC;gBAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC;gBACnC,IAAI,IAAI;oBAAE,MAAM;gBAEhB,4CAA4C;gBAC5C,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACxB,kBAAkB,GAAG,IAAI,CAAC;gBAC5B,CAAC;gBAED,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;wBAAE,SAAS;oBAC3C,0CAA0C;oBAC1C,UAAU,EAAE,CAAC;oBACb,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACrC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACtB,4BAA4B;wBAC5B,IAAI,oBAAoB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;4BAClC,MAAM,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;wBACvD,CAAC;wBACD,OAAO;oBACT,CAAC;oBAED,IAAI,CAAC;wBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAoB3B,CAAC;wBAEF,gDAAgD;wBAChD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;4BACtB,CAAC,CAAC;gCACE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC;gCAC1C,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC;gCAC/C,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;6BACrC;4BACH,CAAC,CAAC,SAAS,CAAC;wBAEd,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;wBACjC,wDAAwD;wBACxD,IAAI,CAAC,MAAM,EAAE,CAAC;4BACZ,IAAI,KAAK;gCAAE,MAAM,EAAE,KAAK,EAAE,CAAC;4BAC3B,SAAS;wBACX,CAAC;wBAED,MAAM,KAAK,GAAa,EAAE,CAAC;wBAC3B,+DAA+D;wBAC/D,IAAI,KAAK;4BAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;wBAC/B,oDAAoD;wBACpD,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO;4BAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;wBAChE,oEAAoE;wBACpE,mEAAmE;wBACnE,IAAI,MAAM,CAAC,KAAK,EAAE,iBAAiB;4BAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC;wBAEpF,sBAAsB;wBACtB,IAAI,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC;4BAC7B,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gCACzC,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;gCAC1B,MAAM,GAAG,GAAG,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;gCACjF,IAAI,EAAE,CAAC,EAAE;oCAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;gCAC1B,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI;oCAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;gCACpD,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS;oCAAE,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;gCACnE,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gCACnC,6CAA6C;gCAC7C,yCAAyC;gCACzC,uDAAuD;gCACvD,iEAAiE;gCACjE,0DAA0D;gCAC1D,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oCAChD,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oCAC/B,IAAI,CAAC,GAAG,CAAC,EAAE;wCAAE,GAAG,CAAC,EAAE,GAAG,QAAQ,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;oCACrD,KAAK,CAAC,eAAe,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;gCACzD,CAAC;4BACH,CAAC;wBACH,CAAC;wBAED,8CAA8C;wBAC9C,IAAI,MAAM,CAAC,aAAa,KAAK,YAAY,EAAE,CAAC;4BAC1C,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,8BAA8B,CAAC,oBAAoB,CAAC,CAAC;4BAC5E,oBAAoB,CAAC,KAAK,EAAE,CAAC;wBAC/B,CAAC;6BAAM,IAAI,MAAM,CAAC,aAAa,IAAI,oBAAoB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;4BACjE,iEAAiE;4BACjE,oBAAoB,CAAC,KAAK,EAAE,CAAC;wBAC/B,CAAC;wBAED,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;4BACzB,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,aAAyC,CAAC;wBACxE,CAAC;wBACD,MAAM,KAAK,CAAC;oBACd,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;oBACpF,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,+BAA+B;YAC/B,IAAI,UAAU;gBAAE,YAAY,CAAC,UAAU,CAAC,CAAC;YACzC,6FAA6F;YAC7F,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;YACxB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,2CAA2C;gBAC3C,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,gCAAgC,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;IACH,CAAC;IAED;yEACqE;IAC7D,8BAA8B,CACpC,IAAkE;QAElE,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,QAAQ,IAAI,CAAC,aAAa,EAAE,EAAE;gBAC5C,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE;aACvD,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,iCAAiC;IACzB,mBAAmB,CACzB,IAAkE;QAElE,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC;YACpD,YAAY,EAAE,YAAY;SAC3B,CAAC;IACJ,CAAC"}
@@ -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"}
@@ -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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"}
@@ -6,6 +6,7 @@
6
6
  * 所有会话在存储层平等。
7
7
  */
8
8
  import type { MessageRole } from '../memory/types.js';
9
+ import type { ImageRef } from '../llm/provider.js';
9
10
  import type { AbortStopReason, LlmErrorCategory } from '../agent/types.js';
10
11
  /**
11
12
  * 问答闭环消息:与 LLM Message 兼容,额外带持久化所需时间戳。
@@ -24,6 +25,12 @@ export interface RoundMessage {
24
25
  input: number;
25
26
  output: number;
26
27
  };
28
+ /**
29
+ * 图片附件引用(可选,多模态输入)。仅 user 消息持有;
30
+ * 整对象 JSON 天然带走(零 IO 改造),但 `MessageHistory.appendUser` 的
31
+ * `userMessage` 白名单必须显式拷此字段(方案 §7 P0-12)。
32
+ */
33
+ attachments?: readonly ImageRef[];
27
34
  }
28
35
  /**
29
36
  * 交互输入类型(问答闭环内交互输入归属)
@@ -1 +1 @@
1
- {"version":3,"file":"roundStore.d.ts","sourceRoot":"","sources":["../../src/memory/roundStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roundStore.d.ts","sourceRoot":"","sources":["../../src/memory/roundStore.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"roundStore.js","sourceRoot":"","sources":["../../src/memory/roundStore.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAoGH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,cAAc,CAAC,MAAmB;IAChD,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,aAAa,CAAC;AAC3D,CAAC;AA6gBD,uDAAuD;AAEvD,mCAAmC;AACnC,MAAM,UAAU,eAAe;IAC7B,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACvD,OAAO,SAAS,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;IACxC,CAAC;IACD,iBAAiB;IACjB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,OAAO,SAAS,SAAS,GAAG,MAAM,EAAE,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACvD,OAAO,OAAO,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;IACtC,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,OAAO,OAAO,SAAS,GAAG,MAAM,EAAE,CAAC;AACrC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACpD,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;IAC7B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,OAAO;QACL,EAAE;QACF,WAAW,EAAE;YACX,EAAE,EAAE,iBAAiB,EAAE;YACvB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,GAAG;SACf;QACD,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,GAAG;QACd,QAAQ,EAAE,CAAC;KACZ,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAY,EACZ,gBAAwB,EACxB,UAA8C;IAE9C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,OAAO;QACL,GAAG,KAAK;QACR,gBAAgB,EAAE;YAChB,EAAE,EAAE,iBAAiB,EAAE;YACvB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,gBAAgB;YACzB,SAAS,EAAE,GAAG;YACd,UAAU;SACX;QACD,MAAM,EAAE,UAAU;QAClB,WAAW,EAAE,GAAG;KACjB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"roundStore.js","sourceRoot":"","sources":["../../src/memory/roundStore.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA4GH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,cAAc,CAAC,MAAmB;IAChD,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,aAAa,CAAC;AAC3D,CAAC;AA6gBD,uDAAuD;AAEvD,mCAAmC;AACnC,MAAM,UAAU,eAAe;IAC7B,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACvD,OAAO,SAAS,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;IACxC,CAAC;IACD,iBAAiB;IACjB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,OAAO,SAAS,SAAS,GAAG,MAAM,EAAE,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACvD,OAAO,OAAO,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;IACtC,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,OAAO,OAAO,SAAS,GAAG,MAAM,EAAE,CAAC;AACrC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACpD,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;IAC7B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,OAAO;QACL,EAAE;QACF,WAAW,EAAE;YACX,EAAE,EAAE,iBAAiB,EAAE;YACvB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,GAAG;SACf;QACD,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,GAAG;QACd,QAAQ,EAAE,CAAC;KACZ,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAY,EACZ,gBAAwB,EACxB,UAA8C;IAE9C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,OAAO;QACL,GAAG,KAAK;QACR,gBAAgB,EAAE;YAChB,EAAE,EAAE,iBAAiB,EAAE;YACvB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,gBAAgB;YACzB,SAAS,EAAE,GAAG;YACd,UAAU;SACX;QACD,MAAM,EAAE,UAAU;QAClB,WAAW,EAAE,GAAG;KACjB,CAAC;AACJ,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { MessageRole } from '../memory/types.js';
2
+ import type { ImageRef } from '../llm/provider.js';
2
3
  /**
3
4
  * 会话存储接口:宿主注入的会话消息持久化能力,内核不直接依赖文件 I/O。
4
5
  * IMemoryStorage 存记忆索引(round-summary),这里存原始对话消息。零依赖内核、接口最小化、不实现则走内存模式。
@@ -16,6 +17,11 @@ export interface ISessionStore {
16
17
  * 落盘 + 单条上限),历史回注(`restoreHistory` ← 本方法)不含 tool。两个实现(宿主
17
18
  * `hosts/memora-vscode/.../host/sessionStore.ts`、内核 `inMemorySessionStore.ts`)逐字同构。
18
19
  *
20
+ * **user 消息必须带 `attachments`,且经 `LOOP_CONSTANTS.RETAIN_IMAGE_ROUNDS` 窗口衰减**
21
+ * (判据与 `messageHistory.loadRoundBasedMessages` 同构:仅最近窗口内轮次带图,content 不变)。
22
+ * 本方法是 restoreHistory 生产路径唯一上游——漏带 = 重启后历史图全灭(真机验收 IMG-2
23
+ * 第 13 子块断点B实锤:模型只见纯文本连占位都没有);漏衰减 = 窗口外图片灌爆上下文。
24
+ *
19
25
  * ⚠️ 改此契约(如让 tool 消息也入历史)须同步评估大文本统一通道 §6.2:
20
26
  * 压缩链的「超大 tool 结果卸载级」正是因本契约而删除(读者先亡 → 写者后死);若历史重新携带
21
27
  * tool 消息,该级的存在前提会复活。
@@ -106,5 +112,7 @@ export interface SessionMessage {
106
112
  timestamp: string;
107
113
  /** 所属轮次 ID(可选):traceSummary 精确回溯用,空则退化为整会话摘要 */
108
114
  roundId?: string;
115
+ /** 图片附件引用(可选,多模态输入);对话占用环与序列化共享同一数据 */
116
+ attachments?: readonly ImageRef[];
109
117
  }
110
118
  //# sourceMappingURL=sessionStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessionStore.d.ts","sourceRoot":"","sources":["../../src/memory/sessionStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAE5B;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,EAAE,CAAC;IAG9D,mCAAmC;IACnC,YAAY,IAAI,MAAM,EAAE,CAAC;IACzB,gCAAgC;IAChC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;IAC3D,oEAAoE;IACpE,eAAe,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACzD,oDAAoD;IACpD,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IACvE;;;;;OAKG;IACH,gBAAgB,IAAI,WAAW,EAAE,CAAC;IAGlC,sBAAsB;IACtB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,+BAA+B;IAC/B,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5D,wBAAwB;IACxB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzC,qCAAqC;IACrC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACzD,eAAe;IACf,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACvC,6BAA6B;IAC7B,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAGlB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,YAAY,EAAE,MAAM,CAAC;IAGrB;;;;;;;;;;;;;;;OAeG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,CAS3E;AAED,gCAAgC;AAChC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,CAIxE;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4CAA4C;IAC5C,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"sessionStore.d.ts","sourceRoot":"","sources":["../../src/memory/sessionStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAE5B;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,EAAE,CAAC;IAG9D,mCAAmC;IACnC,YAAY,IAAI,MAAM,EAAE,CAAC;IACzB,gCAAgC;IAChC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;IAC3D,oEAAoE;IACpE,eAAe,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACzD,oDAAoD;IACpD,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IACvE;;;;;OAKG;IACH,gBAAgB,IAAI,WAAW,EAAE,CAAC;IAGlC,sBAAsB;IACtB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,+BAA+B;IAC/B,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5D,wBAAwB;IACxB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzC,qCAAqC;IACrC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACzD,eAAe;IACf,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACvC,6BAA6B;IAC7B,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAGlB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,YAAY,EAAE,MAAM,CAAC;IAGrB;;;;;;;;;;;;;;;OAeG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,CAS3E;AAED,gCAAgC;AAChC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,CAIxE;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4CAA4C;IAC5C,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,WAAW,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;CACnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sessionStore.js","sourceRoot":"","sources":["../../src/memory/sessionStore.ts"],"names":[],"mappings":"AA2GA;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAA6B;IACjE,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,wBAAwB;IACxB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IAC7C,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IACpC,wBAAwB;IACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvC,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,kBAAkB,CAAC,IAA6B;IAC9D,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvC,OAAO,QAAQ,IAAI,EAAE,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"sessionStore.js","sourceRoot":"","sources":["../../src/memory/sessionStore.ts"],"names":[],"mappings":"AAiHA;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAA6B;IACjE,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,wBAAwB;IACxB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IAC7C,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IACpC,wBAAwB;IACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvC,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,kBAAkB,CAAC,IAA6B;IAC9D,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvC,OAAO,QAAQ,IAAI,EAAE,CAAC;AACxB,CAAC"}
@@ -1,10 +1,22 @@
1
1
  /**
2
2
  * 执行面 → 确认入口 登记表(CMD-1-BYPASS,2026-10-03)
3
3
  *
4
- * 背景(实锤):`classifyCommand`(deny / always-ask)的唯一调用点是 `SecurityGuard.confirmCommandRun`,
5
- * 而 `confirmCommandRun` 的唯一调用点又是 `toolExecutor` 的 `run_command` 分支 ⇒ 命令内容裁决只锁
6
- * **一个**执行面。其余执行面(run_code / run_project_script / run_skill_script)走 `confirmScriptRun`,
7
- * **只判权限档位、不看执行内容**。
4
+ * 背景(实锤 → 2026-10-25 已补洞,保留原委供追溯):`classifyCommand`(deny / always-ask)
5
+ * 的调用点曾**只有** `SecurityGuard.confirmCommandRun`,而 `confirmCommandRun` 的唯一调用点
6
+ * 又是 `toolExecutor` 的 `run_command` 分支 ⇒ 命令内容裁决只锁**一个**执行面,其余执行面
7
+ * 走 `confirmScriptRun` 只判权限档位、不看执行内容 ⇒ 「把 git push 写进脚本」零护栏。
8
+ *
9
+ * **现状(2026-10-25 CMD-1-BYPASS + CMD-1-CONTENT 双双关闭,四个执行面齐)**:
10
+ * `confirmScriptRun` 接受可选 `content` 并把它喂给**同一个** `classifyCommand`
11
+ * (判据仍单点)⇒ run_code / run_project_script / run_skill_script 三个 script 面
12
+ * **全部**按正文裁决(deny 恒拦 / always-ask 恒弹 / normal 回落档位)。
13
+ * run_skill_script 的正文来源 = 内核 assembler 注入的 `resolveSkillScript` 回调
14
+ * (与执行回调同一个解析函数——路径解析与执行本就在内核,2026-10-25 探口实证推翻
15
+ * 「宿主回调执行、内核拿不到正文」的旧前提);解析不到 = 不传正文(维持
16
+ * [ERR:SCRIPT_NOT_FOUND] 语义),读失败 / 超 SCRIPT_READ_MAX_LEN = fail-closed decline。
17
+ *
18
+ * 本表的价值不因补洞而消失:它仍然是「每个执行面走哪个确认入口」的唯一真源,且 script 面
19
+ * 的语义现在是「档位判据 + 可选内容裁决」,与 command 面「内容裁决 + 档位判据」仍不同构。
8
20
  *
9
21
  * 登记表 = 把「每个执行面走哪个确认入口」从「散在四个 case 分支里的隐式默认值」变成**显式单一真源**:
10
22
  * 新增执行面时**必须**在此登记,否则守卫测试(confirmEntry.test.ts 的穷举性断言)即红。
@@ -12,8 +24,11 @@
12
24
  * 真源关系(禁再独立枚举工具名):「哪些工具是执行面」由 `builtinTools` 的 `diskWrite === 'opaque'`
13
25
  * 派生(`OPAQUE_WRITE_TOOL_NAMES`)⇒ 本表**只登记入口**,不复制第二份工具清单。
14
26
  *
15
- * - `command`:走 `confirmCommandRun`(内容裁决 DENY/always-ask + 确认档位)
16
- * - `script` :走 `confirmScriptRun`(仅权限档位,不看执行内容)
27
+ * - `command`:走 `confirmCommandRun`(内容裁决 DENY/always-ask + 确认档位;target = 命令原文)
28
+ * - `script` :走 `confirmScriptRun`(确认档位 + **可选内容裁决**:传入正文时按
29
+ * `classifyCommand` 判 deny 恒拦 / always-ask 恒弹,判据与 command 面同一个函数;
30
+ * 不传正文 = 仅档位,唯一降级面 = resolver 未注入 / 解析不到(三个 script 面
31
+ * 现均传正文,见上))
17
32
  * - `none` :**内核不经任何确认闸**——非执行面(`register_work` 只往 `memoraDir` 写作品索引 JSON,
18
33
  * 既不执行也不碰项目文件,实锤:kernel 侧 `registerWork` 回调链零 `confirm*` 调用)。
19
34
  * 登记它是为了让「opaque 面一个都不漏」可机器核对;它**不是**确认入口,禁被路由进确认闸。
@@ -1 +1 @@
1
- {"version":3,"file":"confirmEntries.d.ts","sourceRoot":"","sources":["../../src/security/confirmEntries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,uCAAuC;AACvC,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEzD,uDAAuD;AACvD,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAE5D,oDAAoD;AACpD,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAOxE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAQ9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAQpE"}
1
+ {"version":3,"file":"confirmEntries.d.ts","sourceRoot":"","sources":["../../src/security/confirmEntries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,uCAAuC;AACvC,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEzD,uDAAuD;AACvD,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAE5D,oDAAoD;AACpD,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAOxE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAQ9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAQpE"}
@@ -1,10 +1,22 @@
1
1
  /**
2
2
  * 执行面 → 确认入口 登记表(CMD-1-BYPASS,2026-10-03)
3
3
  *
4
- * 背景(实锤):`classifyCommand`(deny / always-ask)的唯一调用点是 `SecurityGuard.confirmCommandRun`,
5
- * 而 `confirmCommandRun` 的唯一调用点又是 `toolExecutor` 的 `run_command` 分支 ⇒ 命令内容裁决只锁
6
- * **一个**执行面。其余执行面(run_code / run_project_script / run_skill_script)走 `confirmScriptRun`,
7
- * **只判权限档位、不看执行内容**。
4
+ * 背景(实锤 → 2026-10-25 已补洞,保留原委供追溯):`classifyCommand`(deny / always-ask)
5
+ * 的调用点曾**只有** `SecurityGuard.confirmCommandRun`,而 `confirmCommandRun` 的唯一调用点
6
+ * 又是 `toolExecutor` 的 `run_command` 分支 ⇒ 命令内容裁决只锁**一个**执行面,其余执行面
7
+ * 走 `confirmScriptRun` 只判权限档位、不看执行内容 ⇒ 「把 git push 写进脚本」零护栏。
8
+ *
9
+ * **现状(2026-10-25 CMD-1-BYPASS + CMD-1-CONTENT 双双关闭,四个执行面齐)**:
10
+ * `confirmScriptRun` 接受可选 `content` 并把它喂给**同一个** `classifyCommand`
11
+ * (判据仍单点)⇒ run_code / run_project_script / run_skill_script 三个 script 面
12
+ * **全部**按正文裁决(deny 恒拦 / always-ask 恒弹 / normal 回落档位)。
13
+ * run_skill_script 的正文来源 = 内核 assembler 注入的 `resolveSkillScript` 回调
14
+ * (与执行回调同一个解析函数——路径解析与执行本就在内核,2026-10-25 探口实证推翻
15
+ * 「宿主回调执行、内核拿不到正文」的旧前提);解析不到 = 不传正文(维持
16
+ * [ERR:SCRIPT_NOT_FOUND] 语义),读失败 / 超 SCRIPT_READ_MAX_LEN = fail-closed decline。
17
+ *
18
+ * 本表的价值不因补洞而消失:它仍然是「每个执行面走哪个确认入口」的唯一真源,且 script 面
19
+ * 的语义现在是「档位判据 + 可选内容裁决」,与 command 面「内容裁决 + 档位判据」仍不同构。
8
20
  *
9
21
  * 登记表 = 把「每个执行面走哪个确认入口」从「散在四个 case 分支里的隐式默认值」变成**显式单一真源**:
10
22
  * 新增执行面时**必须**在此登记,否则守卫测试(confirmEntry.test.ts 的穷举性断言)即红。
@@ -12,8 +24,11 @@
12
24
  * 真源关系(禁再独立枚举工具名):「哪些工具是执行面」由 `builtinTools` 的 `diskWrite === 'opaque'`
13
25
  * 派生(`OPAQUE_WRITE_TOOL_NAMES`)⇒ 本表**只登记入口**,不复制第二份工具清单。
14
26
  *
15
- * - `command`:走 `confirmCommandRun`(内容裁决 DENY/always-ask + 确认档位)
16
- * - `script` :走 `confirmScriptRun`(仅权限档位,不看执行内容)
27
+ * - `command`:走 `confirmCommandRun`(内容裁决 DENY/always-ask + 确认档位;target = 命令原文)
28
+ * - `script` :走 `confirmScriptRun`(确认档位 + **可选内容裁决**:传入正文时按
29
+ * `classifyCommand` 判 deny 恒拦 / always-ask 恒弹,判据与 command 面同一个函数;
30
+ * 不传正文 = 仅档位,唯一降级面 = resolver 未注入 / 解析不到(三个 script 面
31
+ * 现均传正文,见上))
17
32
  * - `none` :**内核不经任何确认闸**——非执行面(`register_work` 只往 `memoraDir` 写作品索引 JSON,
18
33
  * 既不执行也不碰项目文件,实锤:kernel 侧 `registerWork` 回调链零 `confirm*` 调用)。
19
34
  * 登记它是为了让「opaque 面一个都不漏」可机器核对;它**不是**确认入口,禁被路由进确认闸。
@@ -1 +1 @@
1
- {"version":3,"file":"confirmEntries.js","sourceRoot":"","sources":["../../src/security/confirmEntries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAQH,oDAAoD;AACpD,MAAM,CAAC,MAAM,qBAAqB,GAA2C;IAC3E,WAAW,EAAE,SAAS;IACtB,QAAQ,EAAE,QAAQ;IAClB,kBAAkB,EAAE,QAAQ;IAC5B,gBAAgB,EAAE,QAAQ;IAC1B,+CAA+C;IAC/C,aAAa,EAAE,MAAM;CACtB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,MAAM,IAAI,qEAAqE,CAChF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,MAAM,IAAI,2CAA2C,CACtD,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"confirmEntries.js","sourceRoot":"","sources":["../../src/security/confirmEntries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAQH,oDAAoD;AACpD,MAAM,CAAC,MAAM,qBAAqB,GAA2C;IAC3E,WAAW,EAAE,SAAS;IACtB,QAAQ,EAAE,QAAQ;IAClB,kBAAkB,EAAE,QAAQ;IAC5B,gBAAgB,EAAE,QAAQ;IAC1B,+CAA+C;IAC/C,aAAa,EAAE,MAAM;CACtB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,MAAM,IAAI,qEAAqE,CAChF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,MAAM,IAAI,2CAA2C,CACtD,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -16,9 +16,13 @@ export declare function classifyCommand(command: string): CommandVerdict;
16
16
  export type Permission = 'owner' | 'guest';
17
17
  export type WriteDecision = 'confirmed' | 'declined' | 'auto-approved' | 'auto-denied';
18
18
  export interface AuditEvent {
19
- /** 事件类型:路径允许/拒绝、写入确认/拒绝/自动 */
19
+ /**
20
+ * 事件类型:路径允许/拒绝;确认决策(写入 / 命令 / 代码 / 脚本执行 / 自定义工具)。
21
+ * `write-*` 三值是历史命名:confirmGate 承载全部五类确认,非写入类请求同样落这三值
22
+ * (见 confirmGate);改名 = 破坏性公共面变更,收益仅为命名纯度 ⇒ 保留旧名。
23
+ */
20
24
  type: 'path-allow' | 'path-deny' | 'write-confirm' | 'write-decline' | 'write-auto';
21
- /** 涉及的绝对路径 */
25
+ /** 被裁决对象标识:写入类 = 目标文件绝对路径;命令/代码/脚本 = 命令字面量或目标标识;自定义工具 = 调用摘要 */
22
26
  path: string;
23
27
  /** 工具名(read_file / write_file / 自定义工具名) */
24
28
  tool?: string;
@@ -37,8 +41,8 @@ export type AuditListener = (event: AuditEvent) => void;
37
41
  * 确认请求:宿主在非交互式环境(WebUI/桌宠/无终端)注入自定义确认 UI,
38
42
  * 走此回调而非直接读 stdin。返回 true 确认 / false 拒绝;抛错视为拒绝(fail-closed)。
39
43
  *
40
- * ⚠️ 类型名 `WriteConfirmation*` 是**历史命名**:该回调承载全部四类确认
41
- * (写入 / 命令 / 代码 / 脚本执行),非写入类请求同样走它(见 `confirmGate`)。
44
+ * ⚠️ 类型名 `WriteConfirmation*` 是**历史命名**:该回调承载全部确认
45
+ * (写入 / 命令 / 代码 / 脚本执行 / 自定义工具),非写入类请求同样走它(见 `confirmGate`)。
42
46
  * 改名 = 破坏性公共面变更,收益仅为命名纯度 ⇒ 保留旧名 + 此注释说明。
43
47
  */
44
48
  export type WriteConfirmationRequest = (info: WriteConfirmationInfo) => Promise<boolean>;
@@ -144,8 +148,21 @@ export declare class SecurityGuard {
144
148
  * 判据与写入确认同构:guest 模式或 confirmScripts 需确认;未注入 confirmationHandler 时
145
149
  * fail-closed 拒绝。owner + confirmScripts=false 自动批准(默认),审计仍记录。
146
150
  * target 为脚本绝对路径(run_project_script)或描述型标识(run_code 内联代码无落盘路径)。
151
+ *
152
+ * **内容裁决(2026-10-25 补齐,CMD-1-BYPASS)**:可选 `content` = 将被执行的脚本/代码正文。
153
+ * 此前本闸**只看权限档位、不看执行内容** ⇒ 「git push」「rm -rf /」写进脚本即可绕过
154
+ * `classifyCommand`(命令面的内容裁决)——恒弹清单成了纸墙。此处把正文喂给**同一个**
155
+ * `classifyCommand`(判据仍单点,不新造第二套):
156
+ * - `deny` ⇒ **恒拦**(不入确认流程,任何档位/权限都拦);
157
+ * - `always-ask` ⇒ **恒弹**(owner + confirmScripts=false 也弹,与命令面同判据);
158
+ * - `normal` ⇒ 回落到原判据(guest || confirmScripts)。
159
+ *
160
+ * 不传 `content`(拿不到正文的面 ⇒ 只判档位;如未注入解析回调的技能脚本执行)⇒
161
+ * 行为与补齐前完全一致。
162
+ *
163
+ * @param content 将被执行的正文(**整份裁决,不做截断**——截断即裁决盲区)
147
164
  */
148
- confirmScriptRun(targetPath: string, tool: string, description?: string): Promise<boolean>;
165
+ confirmScriptRun(targetPath: string, tool: string, description?: string, content?: string): Promise<boolean>;
149
166
  /**
150
167
  * 命令执行确认(run_command 的执行闸,§13.2)
151
168
  *
@@ -157,17 +174,34 @@ export declare class SecurityGuard {
157
174
  */
158
175
  confirmCommandRun(command: string, tool: string, description?: string): Promise<boolean>;
159
176
  /**
160
- * 确认闸公共核心(SSOT:**全部四类**确认——写入 / 命令 / 代码 / 脚本执行——的唯一执行路径)
177
+ * 自定义工具调用确认(自定义工具的执行闸;外部工具接入的唯一审批入口)
178
+ *
179
+ * 与 `confirmCommandRun` / `confirmScriptRun` 共用同一个 `confirmGate`(不新造第二套确认路径)。
180
+ * 单一入口、两种模式(由 ToolExecutor 按 `ToolDefinition.confirmPolicy` 映射):
181
+ * - `needConfirm=true`('always'):每次弹宿主确认 UI;
182
+ * - `needConfirm=false`('audit'):过闸自动放行,仍落 write-auto 审计。
183
+ *
184
+ * @param toolName 工具名(如 mcp__server__tool)
185
+ * @param summary 调用摘要(被裁决对象标识,落审计 path 字段 + 确认卡文案,与 run_command 把命令塞 path 同构)
186
+ * @param needConfirm 是否需要用户逐次确认(false = 自动放行 + 审计)
187
+ * @returns true 放行(调用方才可执行 handler)/ false 拒绝(fail-closed 安全优先)
188
+ */
189
+ requestToolCallConfirmation(toolName: string, summary: string, needConfirm: boolean): Promise<boolean>;
190
+ /**
191
+ * 确认闸公共核心(SSOT:**全部确认**——写入 / 命令 / 代码 / 脚本执行 / 自定义工具——的唯一执行路径)
161
192
  *
162
193
  * needConfirm=false → 自动批准(审计 write-auto);为 true 且未注入 confirmationHandler
163
194
  * → fail-closed 拒绝(审计 write-decline);否则经 confirmViaHandler 走宿主确认 UI。
164
- * diff 仅写入场景有(`requestWriteConfirmation` 唯一传 diff),其余三类不传(域留空),
195
+ * diff 仅写入场景有(`requestWriteConfirmation` 唯一传 diff),其余类别不传(域留空),
165
196
  * 宿主据此判「本卡无 diff 域」并跳过写入前后对比渲染。
197
+ *
198
+ * `source` 可选:标记本次确认的调用链来源,透传进全部审计出口;
199
+ * 既有四类调用方不传 = undefined,审计事件缺省不带该字段,行为零变化。
166
200
  */
167
201
  private confirmGate;
168
202
  /**
169
- * 通过宿主注入的 confirmationHandler 执行确认(**全部四类**确认的唯一执行路径:
170
- * 写入 / 命令 / 代码 / 脚本执行)。抛错视为拒绝(fail-closed 安全优先)。
203
+ * 通过宿主注入的 confirmationHandler 执行确认(**全部确认**的唯一执行路径:
204
+ * 写入 / 命令 / 代码 / 脚本执行 / 自定义工具)。抛错视为拒绝(fail-closed 安全优先)。
171
205
  */
172
206
  private confirmViaHandler;
173
207
  /** 触发审计事件:写日志 + 通知订阅者 */