@zooique/memora 0.2.1 → 1.0.1

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 (104) hide show
  1. package/README.md +5 -5
  2. package/dist/agent/agent.d.ts +13 -3
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/agent.js +15 -0
  5. package/dist/agent/agent.js.map +1 -1
  6. package/dist/agent/assembler.d.ts +3 -0
  7. package/dist/agent/assembler.d.ts.map +1 -1
  8. package/dist/agent/assembler.js +11 -2
  9. package/dist/agent/assembler.js.map +1 -1
  10. package/dist/agent/guardrail.d.ts +47 -0
  11. package/dist/agent/guardrail.d.ts.map +1 -0
  12. package/dist/agent/guardrail.js +51 -0
  13. package/dist/agent/guardrail.js.map +1 -0
  14. package/dist/agent/loop.d.ts +0 -17
  15. package/dist/agent/loop.d.ts.map +1 -1
  16. package/dist/agent/loop.js +16 -56
  17. package/dist/agent/loop.js.map +1 -1
  18. package/dist/agent/managers/insightExtractor.d.ts +10 -73
  19. package/dist/agent/managers/insightExtractor.d.ts.map +1 -1
  20. package/dist/agent/managers/insightExtractor.js +27 -154
  21. package/dist/agent/managers/insightExtractor.js.map +1 -1
  22. package/dist/agent/managers/memoryInspector.d.ts +37 -49
  23. package/dist/agent/managers/memoryInspector.d.ts.map +1 -1
  24. package/dist/agent/managers/memoryInspector.js +116 -63
  25. package/dist/agent/managers/memoryInspector.js.map +1 -1
  26. package/dist/agent/managers/memoryMutator.d.ts +92 -0
  27. package/dist/agent/managers/memoryMutator.d.ts.map +1 -0
  28. package/dist/agent/managers/memoryMutator.js +94 -0
  29. package/dist/agent/managers/memoryMutator.js.map +1 -0
  30. package/dist/agent/managers/relationBuilder.d.ts +131 -0
  31. package/dist/agent/managers/relationBuilder.d.ts.map +1 -0
  32. package/dist/agent/managers/relationBuilder.js +191 -0
  33. package/dist/agent/managers/relationBuilder.js.map +1 -0
  34. package/dist/agent/types.d.ts +8 -0
  35. package/dist/agent/types.d.ts.map +1 -1
  36. package/dist/config/loader.d.ts +48 -36
  37. package/dist/config/loader.d.ts.map +1 -1
  38. package/dist/config/loader.js +29 -31
  39. package/dist/config/loader.js.map +1 -1
  40. package/dist/eval/evalTypes.d.ts +15 -6
  41. package/dist/eval/evalTypes.d.ts.map +1 -1
  42. package/dist/eval/evalTypes.js +3 -2
  43. package/dist/eval/evalTypes.js.map +1 -1
  44. package/dist/index.d.ts +15 -7
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +12 -3
  47. package/dist/index.js.map +1 -1
  48. package/dist/llm/embedding.d.ts +18 -2
  49. package/dist/llm/embedding.d.ts.map +1 -1
  50. package/dist/llm/embedding.js +78 -46
  51. package/dist/llm/embedding.js.map +1 -1
  52. package/dist/llm/factory.js +1 -1
  53. package/dist/llm/factory.js.map +1 -1
  54. package/dist/llm/openaiCompatible.d.ts.map +1 -1
  55. package/dist/llm/openaiCompatible.js +11 -2
  56. package/dist/llm/openaiCompatible.js.map +1 -1
  57. package/dist/llm/provider.d.ts +0 -14
  58. package/dist/llm/provider.d.ts.map +1 -1
  59. package/dist/llm/provider.js.map +1 -1
  60. package/dist/logging/logger.d.ts +1 -0
  61. package/dist/logging/logger.d.ts.map +1 -1
  62. package/dist/logging/logger.js +43 -37
  63. package/dist/logging/logger.js.map +1 -1
  64. package/dist/memory/inMemoryStorage.js +1 -1
  65. package/dist/memory/inMemoryStorage.js.map +1 -1
  66. package/dist/memory/lockManager.d.ts +48 -0
  67. package/dist/memory/lockManager.d.ts.map +1 -0
  68. package/dist/memory/lockManager.js +167 -0
  69. package/dist/memory/lockManager.js.map +1 -0
  70. package/dist/memory/projectManager.d.ts +23 -53
  71. package/dist/memory/projectManager.d.ts.map +1 -1
  72. package/dist/memory/projectManager.js +47 -228
  73. package/dist/memory/projectManager.js.map +1 -1
  74. package/dist/memory/projectRegistry.d.ts +62 -0
  75. package/dist/memory/projectRegistry.d.ts.map +1 -0
  76. package/dist/memory/projectRegistry.js +166 -0
  77. package/dist/memory/projectRegistry.js.map +1 -0
  78. package/dist/memory/recall.d.ts +3 -3
  79. package/dist/memory/recall.d.ts.map +1 -1
  80. package/dist/memory/recall.js +2 -2
  81. package/dist/memory/recall.js.map +1 -1
  82. package/dist/memory/sourceValidation.d.ts +43 -0
  83. package/dist/memory/sourceValidation.d.ts.map +1 -0
  84. package/dist/memory/sourceValidation.js +139 -0
  85. package/dist/memory/sourceValidation.js.map +1 -0
  86. package/dist/memory/store.d.ts.map +1 -1
  87. package/dist/memory/store.js +2 -1
  88. package/dist/memory/store.js.map +1 -1
  89. package/dist/memory/types.d.ts +44 -47
  90. package/dist/memory/types.d.ts.map +1 -1
  91. package/dist/memory/types.js +0 -138
  92. package/dist/memory/types.js.map +1 -1
  93. package/dist/memory/vectorStore.d.ts +68 -7
  94. package/dist/memory/vectorStore.d.ts.map +1 -1
  95. package/dist/memory/vectorStore.js +12 -8
  96. package/dist/memory/vectorStore.js.map +1 -1
  97. package/dist/security/pathGuard.d.ts.map +1 -1
  98. package/dist/security/pathGuard.js +3 -1
  99. package/dist/security/pathGuard.js.map +1 -1
  100. package/dist/utils/segmenter.d.ts +6 -0
  101. package/dist/utils/segmenter.d.ts.map +1 -1
  102. package/dist/utils/segmenter.js +13 -0
  103. package/dist/utils/segmenter.js.map +1 -1
  104. package/package.json +1 -1
@@ -35,13 +35,20 @@ const ProviderConfigSchema = z.object({
35
35
  apiKey: z.string().optional(),
36
36
  /** 该 Provider 的 temperature,未配置时回退到全局 llm.temperature */
37
37
  temperature: z.number().min(0).max(2).optional(),
38
+ /** 该 Provider 的上下文窗口大小(token 数),未配置时回退到 memory.maxContextTokens */
39
+ contextWindow: z.number().optional(),
38
40
  });
39
41
  // 配置 schema(运行时校验)
40
42
  // provider 允许任意字符串:预设(mock/deepseek/doubao/openai)开箱即用,
41
43
  // 自定义 provider(如 mimo、自部署模型)只要显式配 baseUrl + model 即可
42
44
  // 详见 ADR-003
45
+ //
46
+ // 单一真理源:所有默认值由 .default() 声明,ConfigSchema.parse({}) 即可得到完整默认配置。
47
+ // 嵌套对象(llm/memory/security)必须用 .default({}) 声明整体默认值,
48
+ // 否则 zod 会在对象缺失时报 "Required" 而非使用内部字段的 default。
43
49
  const ConfigSchema = z.object({
44
- llm: z.object({
50
+ llm: z
51
+ .object({
45
52
  // 旧格式:单一 provider 扁平字段(向后兼容,providers 未配置时生效)
46
53
  provider: z.string().default('mock'),
47
54
  model: z.string().default('deepseek-chat'),
@@ -79,15 +86,20 @@ const ConfigSchema = z.object({
79
86
  temperature: z.number().min(0).max(2).default(0.5),
80
87
  })
81
88
  .optional(),
82
- }),
83
- memory: z.object({
89
+ })
90
+ .default({}),
91
+ memory: z
92
+ .object({
84
93
  dataDir: z.string().default('~/.memora'),
85
94
  maxContextTokens: z.number().default(DEFAULT_MAX_CONTEXT_TOKENS),
86
- }),
87
- security: z.object({
95
+ })
96
+ .default({}),
97
+ security: z
98
+ .object({
88
99
  permission: z.enum(['owner', 'guest']).default('owner'),
89
100
  confirmWrites: z.boolean().default(false),
90
- }),
101
+ })
102
+ .default({}),
91
103
  // 允许的路径白名单(绝对路径)
92
104
  allowedPaths: z.array(z.string()).default([]),
93
105
  // 默认角色名(对应 personas/*.md)
@@ -106,26 +118,12 @@ const ConfigSchema = z.object({
106
118
  })
107
119
  .optional(),
108
120
  });
109
- const DEFAULT_CONFIG = {
110
- llm: {
111
- provider: 'mock',
112
- model: 'mock-model',
113
- temperature: 0.7,
114
- },
115
- memory: {
116
- dataDir: '~/.memora',
117
- maxContextTokens: DEFAULT_MAX_CONTEXT_TOKENS,
118
- },
119
- security: {
120
- permission: 'owner',
121
- confirmWrites: false,
122
- },
123
- allowedPaths: [],
124
- persona: undefined,
125
- embedding: undefined,
126
- };
127
121
  /**
128
122
  * 加载配置
123
+ *
124
+ * 单一真理源:所有默认值由 ConfigSchema 的 .default() 声明,
125
+ * 不再维护独立的 DEFAULT_CONFIG 常量(避免两处真理源打架)。
126
+ *
129
127
  * @param configPath 显式指定的配置文件路径
130
128
  */
131
129
  export async function loadConfig(configPath) {
@@ -150,10 +148,10 @@ export async function loadConfig(configPath) {
150
148
  return expandEnvVars(mergeWithDefaults(config));
151
149
  }
152
150
  catch {
153
- // 用户级不存在,使用默认值
151
+ // 用户级不存在,使用 schema 默认值(单一真理源)
154
152
  }
155
- // 4. 内置默认
156
- return expandEnvVars(DEFAULT_CONFIG);
153
+ // 4. 内置默认:ConfigSchema.parse({}) 让 zod 的 .default() 生效
154
+ return expandEnvVars(ConfigSchema.parse({}));
157
155
  }
158
156
  /**
159
157
  * 读取并解析 JSON 文件
@@ -164,12 +162,12 @@ async function readJsonFile(path) {
164
162
  }
165
163
  /**
166
164
  * 合并用户配置与默认值
165
+ *
166
+ * 直接用 ConfigSchema.parse(userConfig),让 zod 的 .default() 填充缺失字段。
167
+ * 不再 spread DEFAULT_CONFIG,避免覆盖 schema default。
167
168
  */
168
169
  function mergeWithDefaults(userConfig) {
169
- return ConfigSchema.parse({
170
- ...DEFAULT_CONFIG,
171
- ...userConfig,
172
- });
170
+ return ConfigSchema.parse(userConfig);
173
171
  }
174
172
  /**
175
173
  * 展开 ${ENV_VAR} 占位符
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
@@ -62,14 +62,12 @@ export interface EvalExpectation {
62
62
  *
63
63
  * 验证召回管线是否排除了应排除的 source 类型。
64
64
  * 例如:{ 'rule': 0 } 表示不应召回 rule 类型的记忆
65
- */
66
- recallSources?: Record<string, number>;
67
- /**
68
- * 护栏阻断检查
69
65
  *
70
- * 如果为 true,期望输入被护栏规则阻断
66
+ * 注意:当前 collectAgentChunks 只收集 recallCount(数量),
67
+ * 不收集 source 分布。此字段为未来扩展预留,当前 evaluateResult 不检查。
68
+ * 若需验证 source 分布,请在宿主层自行实现。
71
69
  */
72
- guardrailBlocked?: boolean;
70
+ recallSources?: Record<string, number>;
73
71
  /**
74
72
  * 工具调用次数范围
75
73
  */
@@ -77,6 +75,17 @@ export interface EvalExpectation {
77
75
  min?: number;
78
76
  max?: number;
79
77
  };
78
+ /**
79
+ * 期望护栏是否阻断
80
+ *
81
+ * true 表示期望护栏触发阻断(输入或输出被 block);
82
+ * false 表示期望护栏不阻断;
83
+ * undefined 表示不检查(默认)。
84
+ *
85
+ * 与 collected.guardrailBlocked 比对,后者通过结构化标志
86
+ * AgentChunk.guardrailBlocked 收集,而非中文文案匹配。
87
+ */
88
+ guardrailBlocked?: boolean;
80
89
  }
81
90
  /**
82
91
  * 评估结果
@@ -1 +1 @@
1
- {"version":3,"file":"evalTypes.d.ts","sourceRoot":"","sources":["../../src/eval/evalTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,gBAAgB,CAAC,EAAE,KAAK,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH;;;;OAIG;IACH,MAAM,EAAE,eAAe,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEvC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,aAAa,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,sBAAsB;IACtB,SAAS,EAAE;QACT,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,IAAI,EAAE,OAAO,CAAC;KACf,CAAC;IACF,kBAAkB;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,GAChD,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAgClC;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,EAClC,MAAM,EAAE,eAAe,GACtB,UAAU,CA+CZ"}
1
+ {"version":3,"file":"evalTypes.d.ts","sourceRoot":"","sources":["../../src/eval/evalTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,gBAAgB,CAAC,EAAE,KAAK,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH;;;;OAIG;IACH,MAAM,EAAE,eAAe,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEvC;;OAEG;IACH,aAAa,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAE/C;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,sBAAsB;IACtB,SAAS,EAAE;QACT,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,IAAI,EAAE,OAAO,CAAC;KACf,CAAC;IACF,kBAAkB;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,GAChD,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAiClC;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,EAClC,MAAM,EAAE,eAAe,GACtB,UAAU,CA+CZ"}
@@ -38,8 +38,9 @@ export async function collectAgentChunks(chunks) {
38
38
  }
39
39
  break;
40
40
  case 'text':
41
- // 检查护栏阻断/警告消息
42
- if (chunk.content.includes('输入被护栏规则') || chunk.content.includes('输出被护栏规则')) {
41
+ // 通过结构化标志判断护栏阻断(替代中文文案子串匹配)
42
+ // AgentChunk.text.guardrailBlocked 由 AgentLoop 在护栏 block 时显式置 true
43
+ if (chunk.guardrailBlocked) {
43
44
  collected.guardrailBlocked = true;
44
45
  }
45
46
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"evalTypes.js","sourceRoot":"","sources":["../../src/eval/evalTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evalTypes.js","sourceRoot":"","sources":["../../src/eval/evalTypes.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -8,14 +8,17 @@
8
8
  * 决策追溯:详见 .trae/rules/decisions/ 下的 ADR
9
9
  */
10
10
  export { Agent } from './agent/agent.js';
11
- export type { AgentChunk, ThinkingPhase, UIMessages, ArchiveMode } from './agent/types.js';
11
+ export type { AgentChunk, ThinkingPhase, UIMessages, ArchiveMode, RecalledMemorySummary } from './agent/types.js';
12
12
  export { AGENT_CONSTANTS, LOOP_CONSTANTS } from './agent/constants.js';
13
13
  export type { AgentOptions, AgentContext, AgentProjectEntry, } from './agent/agent.js';
14
14
  export { type AgentForkResult } from './agent/managers/sessionManager.js';
15
15
  export type { ToolDefinition, ToolHandler, ToolContext, WriteExtensions } from './agent/toolExecutor.js';
16
16
  export type { PersonaMode, Persona } from './persona/types.js';
17
17
  export type { MemoryKeywords } from './agent/managers/insightExtractor.js';
18
+ export { RelationBuilder } from './agent/managers/relationBuilder.js';
19
+ export type { ConflictInfo } from './agent/managers/relationBuilder.js';
18
20
  export type { MemorySnapshot, WorkingMemorySnapshot, BootstrapSnapshot, ArchiveSnapshot, AgentSearchHit, AgentStats, SuggestOptions, SuggestHit, SourceHealthStatus, SourceHealthEntry, SourceHealthReport, } from './agent/managers/memoryInspector.js';
21
+ export type { MemoryMutator } from './agent/managers/memoryMutator.js';
19
22
  export type { ConfigSuggestion, ConfigSuggestionHandler } from './agent/managers/configManager.js';
20
23
  export type { AutoConfigRefinerOptions } from './agent/managers/autoConfigRefiner.js';
21
24
  export type { SessionArchiveResult } from './agent/managers/sessionArchiver.js';
@@ -32,19 +35,24 @@ export { TypedEventEmitter } from './utils/eventEmitter.js';
32
35
  export type { AgentEventMap, AgentEventName, AgentEventHandler } from './utils/eventEmitter.js';
33
36
  export type { ITracer, ISpan, AgentMetrics } from './agent/tracer.js';
34
37
  export { NOOP_TRACER, TRACE_SPANS } from './agent/tracer.js';
35
- export { SOURCE_LABELS, inferSource, escapeLike, validateSource } from './memory/types.js';
36
- export type { Memory, SourceValidationSeverity } from './memory/types.js';
38
+ export { SOURCE_LABELS } from './memory/types.js';
39
+ export type { Memory } from './memory/types.js';
40
+ export { inferSource, escapeLike, validateSource } from './memory/sourceValidation.js';
41
+ export type { SourceValidationSeverity } from './memory/sourceValidation.js';
37
42
  export { RELATION_TYPES, RELATION_WEIGHTS } from './memory/types.js';
38
- export type { MemoryRelation, RelationDirection } from './memory/types.js';
43
+ export type { MemoryRelation, RelationDirection, RelationPath, RelationNeighbor } from './memory/types.js';
39
44
  export type { IMemoryStorage } from './memory/storageInterface.js';
40
45
  export { InMemoryStorage } from './memory/inMemoryStorage.js';
41
46
  export type { IMemoryRelationStore } from './memory/relationStore.js';
42
47
  export { InMemoryRelationStore } from './memory/inMemoryRelationStore.js';
48
+ export { ProjectRegistry } from './memory/projectRegistry.js';
49
+ export type { ProjectEntry } from './memory/projectRegistry.js';
50
+ export { LockManager } from './memory/lockManager.js';
43
51
  export type { UserProfileEntry, ProfileCategory, ExtractedFact } from './memory/userProfile.js';
44
- export { VectorStore } from './memory/vectorStore.js';
45
- export type { EmbeddingService } from './memory/vectorStore.js';
52
+ export { JsonVectorStore } from './memory/vectorStore.js';
53
+ export type { IVectorStore, EmbeddingService } from './memory/vectorStore.js';
46
54
  export { EmbeddingProvider } from './llm/embedding.js';
47
- export type { EmbeddingConfig, EmbeddingResult } from './llm/embedding.js';
55
+ export type { EmbeddingConfig, EmbeddingResult, EmbeddingOptions } from './llm/embedding.js';
48
56
  export type { ISessionStore, SessionMessage } from './memory/sessionStore.js';
49
57
  export type { ForkResult } from './agent/messageHistory.js';
50
58
  export { recall, extractKeywords } from './memory/recall.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -10,6 +10,8 @@
10
10
  // ─── 库导出:供宿主项目 import 接入 ──────────────────────
11
11
  export { Agent } from './agent/agent.js';
12
12
  export { AGENT_CONSTANTS, LOOP_CONSTANTS } from './agent/constants.js';
13
+ // P1-3 拆分:RelationBuilder 从 InsightExtractor 提取,封装 ADR-014 关系构建逻辑
14
+ export { RelationBuilder } from './agent/managers/relationBuilder.js';
13
15
  export { loadConfig } from './config/loader.js';
14
16
  export { createLlmProvider, createProviderFromConfig } from './llm/factory.js';
15
17
  export { OpenAICompatibleProvider } from './llm/openaiCompatible.js';
@@ -17,13 +19,20 @@ export { OpenAICompatibleProvider } from './llm/openaiCompatible.js';
17
19
  export { TypedEventEmitter } from './utils/eventEmitter.js';
18
20
  export { NOOP_TRACER, TRACE_SPANS } from './agent/tracer.js';
19
21
  // ─── 记忆层导出 ──────────────────────────────────────────
20
- export { SOURCE_LABELS, inferSource, escapeLike, validateSource } from './memory/types.js';
22
+ export { SOURCE_LABELS } from './memory/types.js';
23
+ // Source 校验工具(从 types.ts 拆分到 sourceValidation.ts,公共 API 不变)
24
+ export { inferSource, escapeLike, validateSource } from './memory/sourceValidation.js';
21
25
  // 记忆关系图谱(ADR-014 侧车模型)
22
26
  export { RELATION_TYPES, RELATION_WEIGHTS } from './memory/types.js';
23
27
  export { InMemoryStorage } from './memory/inMemoryStorage.js';
24
28
  export { InMemoryRelationStore } from './memory/inMemoryRelationStore.js';
25
- // 向量存储:宿主注入 EmbeddingService 后创建 VectorStore,传入 AgentOptions 启用语义搜索
26
- export { VectorStore } from './memory/vectorStore.js';
29
+ // 项目注册表 + 锁文件管理(P1-4 拆分,从 ProjectManager 提取)
30
+ // 宿主可直接使用 ProjectRegistry/LockManager 管理多项目,或通过 ProjectManager 间接委托
31
+ export { ProjectRegistry } from './memory/projectRegistry.js';
32
+ export { LockManager } from './memory/lockManager.js';
33
+ // 向量存储:宿主注入 EmbeddingService 后创建 JsonVectorStore,传入 AgentOptions 启用语义搜索
34
+ // 宿主也可实现 IVectorStore 接口注入自定义向量库(如 SqliteVectorStore / LanceDBVectorStore)
35
+ export { JsonVectorStore } from './memory/vectorStore.js';
27
36
  // Embedding Provider:OpenAI 兼容 /embeddings 端点实现(满足 EmbeddingService 接口)
28
37
  export { EmbeddingProvider } from './llm/embedding.js';
29
38
  // 召回函数:简化关键词搜索
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,iDAAiD;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA8BvE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAI/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAGrE,OAAO;AACP,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAK5D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE7D,uDAAuD;AACvD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE3F,uBAAuB;AACvB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAIrE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAG1E,oEAAoE;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,wEAAwE;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAMvD,eAAe;AACf,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAK7D,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAExD,wDAAwD;AACxD,+BAA+B;AAC/B,OAAO;AACP,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,8CAA8C;AAC9C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAChF,sDAAsD;AACtD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAc5G,sDAAsD;AACtD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACrF,mDAAmD;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAK7C,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,iDAAiD;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAWvE,kEAAkE;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAuBtE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAI/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAGrE,OAAO;AACP,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAK5D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE7D,uDAAuD;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,4DAA4D;AAC5D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEvF,uBAAuB;AACvB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAIrE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,6CAA6C;AAC7C,oEAAoE;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,wEAAwE;AACxE,2EAA2E;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,wEAAwE;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAMvD,eAAe;AACf,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAK7D,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAExD,wDAAwD;AACxD,+BAA+B;AAC/B,OAAO;AACP,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,8CAA8C;AAC9C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAChF,sDAAsD;AACtD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAc5G,sDAAsD;AACtD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACrF,mDAAmD;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAK7C,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
@@ -15,6 +15,18 @@ export interface EmbeddingResult {
15
15
  /** 向量(浮点数组,维度由模型决定) */
16
16
  vector: number[];
17
17
  }
18
+ /**
19
+ * Embedding 调用选项(P1-8 韧性补齐)
20
+ *
21
+ * 与 ChatOptions.signal/timeoutMs 同构,支持外部取消 + 超时中断。
22
+ * 宿主在用户取消对话时传入 AbortSignal,或设置 timeoutMs 覆盖默认超时。
23
+ */
24
+ export interface EmbeddingOptions {
25
+ /** 外部取消信号(用户主动取消时传入) */
26
+ signal?: AbortSignal;
27
+ /** 超时毫秒数(超时自动 abort;默认 60s,可通过此字段覆盖) */
28
+ timeoutMs?: number;
29
+ }
18
30
  /**
19
31
  * Embedding Provider
20
32
  *
@@ -25,6 +37,8 @@ export declare class EmbeddingProvider {
25
37
  private readonly config;
26
38
  /** 缓存最大条目数(LRU 上限,防止无界增长导致内存泄漏) */
27
39
  private static readonly CACHE_MAX_SIZE;
40
+ /** 默认请求超时:60 秒(embedding 无流式推理,比 chat 的 120s 更短) */
41
+ private static readonly DEFAULT_TIMEOUT_MS;
28
42
  /** 本地缓存:text → vector(LRU,Map 迭代顺序 = 最近访问顺序) */
29
43
  private readonly cache;
30
44
  constructor(config: EmbeddingConfig);
@@ -40,16 +54,18 @@ export declare class EmbeddingProvider {
40
54
  /**
41
55
  * 嵌入单条文本
42
56
  * @param text 待嵌入的文本
57
+ * @param options 调用选项(signal 外部取消 + timeoutMs 超时)
43
58
  * @returns 向量
44
59
  */
45
- embed(text: string): Promise<number[]>;
60
+ embed(text: string, options?: EmbeddingOptions): Promise<number[]>;
46
61
  /**
47
62
  * 批量嵌入多条文本
48
63
  * OpenAI 兼容 API 支持一次请求嵌入多条文本,减少 API 调用
49
64
  * @param texts 待嵌入的文本数组
65
+ * @param options 调用选项(signal 外部取消 + timeoutMs 超时)
50
66
  * @returns 嵌入结果数组(顺序与输入一致)
51
67
  */
52
- batchEmbed(texts: string[]): Promise<EmbeddingResult[]>;
68
+ batchEmbed(texts: string[], options?: EmbeddingOptions): Promise<EmbeddingResult[]>;
53
69
  /**
54
70
  * 获取缓存大小(调试用)
55
71
  */
@@ -1 +1 @@
1
- {"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../src/llm/embedding.ts"],"names":[],"mappings":"AAkBA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;GAKG;AACH,qBAAa,iBAAiB;IAOhB,OAAO,CAAC,QAAQ,CAAC,MAAM;IANnC,mCAAmC;IACnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAQ;IAE9C,gDAAgD;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+B;gBAExB,MAAM,EAAE,eAAe;IAEpD;;;OAGG;IACH,OAAO,CAAC,SAAS;IASjB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAQhB;;;;OAIG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkB5C;;;;;OAKG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAkF7D;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB"}
1
+ {"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../src/llm/embedding.ts"],"names":[],"mappings":"AAkBA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,qBAAa,iBAAiB;IAUhB,OAAO,CAAC,QAAQ,CAAC,MAAM;IATnC,mCAAmC;IACnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAQ;IAE9C,oDAAoD;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAEpD,gDAAgD;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+B;gBAExB,MAAM,EAAE,eAAe;IAEpD;;;OAGG;IACH,OAAO,CAAC,SAAS;IASjB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAQhB;;;;;OAKG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkBxE;;;;;;OAMG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAqHzF;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB"}
@@ -25,6 +25,8 @@ export class EmbeddingProvider {
25
25
  config;
26
26
  /** 缓存最大条目数(LRU 上限,防止无界增长导致内存泄漏) */
27
27
  static CACHE_MAX_SIZE = 1000;
28
+ /** 默认请求超时:60 秒(embedding 无流式推理,比 chat 的 120s 更短) */
29
+ static DEFAULT_TIMEOUT_MS = 60_000;
28
30
  /** 本地缓存:text → vector(LRU,Map 迭代顺序 = 最近访问顺序) */
29
31
  cache = new Map();
30
32
  constructor(config) {
@@ -57,14 +59,15 @@ export class EmbeddingProvider {
57
59
  /**
58
60
  * 嵌入单条文本
59
61
  * @param text 待嵌入的文本
62
+ * @param options 调用选项(signal 外部取消 + timeoutMs 超时)
60
63
  * @returns 向量
61
64
  */
62
- async embed(text) {
65
+ async embed(text, options) {
63
66
  // 缓存命中
64
67
  const cached = this.getCached(text);
65
68
  if (cached)
66
69
  return cached;
67
- const results = await this.batchEmbed([text]);
70
+ const results = await this.batchEmbed([text], options);
68
71
  const first = results[0];
69
72
  if (!first) {
70
73
  // 错误处理统一:使用 llmError 工厂
@@ -76,9 +79,10 @@ export class EmbeddingProvider {
76
79
  * 批量嵌入多条文本
77
80
  * OpenAI 兼容 API 支持一次请求嵌入多条文本,减少 API 调用
78
81
  * @param texts 待嵌入的文本数组
82
+ * @param options 调用选项(signal 外部取消 + timeoutMs 超时)
79
83
  * @returns 嵌入结果数组(顺序与输入一致)
80
84
  */
81
- async batchEmbed(texts) {
85
+ async batchEmbed(texts, options) {
82
86
  // 过滤已缓存的
83
87
  const uncached = [];
84
88
  const uncachedIndices = [];
@@ -101,52 +105,80 @@ export class EmbeddingProvider {
101
105
  ]);
102
106
  }
103
107
  const url = `${this.config.baseUrl}/embeddings`;
104
- let response;
105
- try {
106
- response = await fetch(url, {
107
- method: 'POST',
108
- headers: {
109
- 'Content-Type': 'application/json',
110
- Authorization: `Bearer ${this.config.apiKey}`,
111
- },
112
- body: JSON.stringify({
113
- model: this.config.model,
114
- input: uncached,
115
- }),
116
- });
117
- }
118
- catch (err) {
119
- const e = toError(err);
120
- throw networkError('Embedding 服务连接失败', `无法访问 ${url}:${e.message}`, ['检查网络连接', '确认 baseUrl 配置正确'], e);
121
- }
122
- if (!response.ok) {
123
- const body = await response.text().catch(() => '');
124
- throw networkError('Embedding 请求失败', `HTTP ${response.status}: ${body.slice(0, 200)}`, [
125
- '检查 API Key 是否有效',
126
- '确认 embedding 模型名称正确',
127
- ]);
108
+ // 合并 AbortSignal:外部取消信号 + 超时信号(与 openaiCompatible.ts 同构)
109
+ // 确保用户取消和请求超时都能中断 fetch
110
+ const timeoutMs = options?.timeoutMs ?? EmbeddingProvider.DEFAULT_TIMEOUT_MS;
111
+ const abortController = new AbortController();
112
+ const timeoutId = setTimeout(() => abortController.abort(new DOMException('Embedding 请求超时', 'TimeoutError')), timeoutMs);
113
+ const optsSignal = options?.signal;
114
+ const onOptsAbort = () => abortController.abort(optsSignal?.reason);
115
+ if (optsSignal) {
116
+ if (optsSignal.aborted) {
117
+ abortController.abort(optsSignal.reason);
118
+ }
119
+ else {
120
+ optsSignal.addEventListener('abort', onOptsAbort, { once: true });
121
+ }
128
122
  }
129
- const data = (await response.json());
130
- // 按 index 排序(API 不保证顺序)
131
- const sorted = data.data.sort((a, b) => a.index - b.index);
132
- // 填充结果 + 更新缓存
133
- for (let i = 0; i < uncached.length; i++) {
134
- // 循环条件保证索引有效,null 检查兜底
135
- const text = uncached[i];
136
- if (!text)
137
- continue;
138
- const vector = sorted[i]?.embedding;
139
- if (!vector) {
140
- logger.warn({ text: text.slice(0, 50), index: i }, 'Embedding 缺失,跳过');
141
- continue;
123
+ try {
124
+ let response;
125
+ try {
126
+ response = await fetch(url, {
127
+ method: 'POST',
128
+ headers: {
129
+ 'Content-Type': 'application/json',
130
+ Authorization: `Bearer ${this.config.apiKey}`,
131
+ },
132
+ body: JSON.stringify({
133
+ model: this.config.model,
134
+ input: uncached,
135
+ }),
136
+ signal: abortController.signal,
137
+ });
138
+ }
139
+ catch (err) {
140
+ const e = toError(err);
141
+ // 区分超时错误和网络错误
142
+ if (e.name === 'AbortError' || e.name === 'TimeoutError') {
143
+ throw networkError('Embedding 请求超时', `${url} 请求超过 ${timeoutMs / 1000}s 未响应`, ['检查网络连接稳定性', '如频繁超时,考虑调整 timeoutMs', '稍后重试'], e);
144
+ }
145
+ throw networkError('Embedding 服务连接失败', `无法访问 ${url}:${e.message}`, ['检查网络连接', '确认 baseUrl 配置正确'], e);
146
+ }
147
+ if (!response.ok) {
148
+ const body = await response.text().catch(() => '');
149
+ throw networkError('Embedding 请求失败', `HTTP ${response.status}: ${body.slice(0, 200)}`, [
150
+ '检查 API Key 是否有效',
151
+ '确认 embedding 模型名称正确',
152
+ ]);
142
153
  }
143
- this.setCache(text, vector);
144
- // null 检查兜底
145
- const idx = uncachedIndices[i];
146
- if (idx !== undefined)
147
- results[idx] = { text, vector };
154
+ const data = (await response.json());
155
+ // 按 index 排序(API 不保证顺序)
156
+ const sorted = data.data.sort((a, b) => a.index - b.index);
157
+ // 填充结果 + 更新缓存
158
+ for (let i = 0; i < uncached.length; i++) {
159
+ // 循环条件保证索引有效,null 检查兜底
160
+ const text = uncached[i];
161
+ if (!text)
162
+ continue;
163
+ const vector = sorted[i]?.embedding;
164
+ if (!vector) {
165
+ logger.warn({ text: text.slice(0, 50), index: i }, 'Embedding 缺失,跳过');
166
+ continue;
167
+ }
168
+ this.setCache(text, vector);
169
+ // null 检查兜底
170
+ const idx = uncachedIndices[i];
171
+ if (idx !== undefined)
172
+ results[idx] = { text, vector };
173
+ }
174
+ return results.filter((r) => r !== null);
175
+ }
176
+ finally {
177
+ // 统一清理:覆盖 HTTP 错误、空 body、正常完成所有路径
178
+ clearTimeout(timeoutId);
179
+ if (optsSignal)
180
+ optsSignal.removeEventListener('abort', onOptsAbort);
148
181
  }
149
- return results.filter((r) => r !== null);
150
182
  }
151
183
  /**
152
184
  * 获取缓存大小(调试用)
@@ -1 +1 @@
1
- {"version":3,"file":"embedding.js","sourceRoot":"","sources":["../../src/llm/embedding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embedding.js","sourceRoot":"","sources":["../../src/llm/embedding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAkCjF;;;;;GAKG;AACH,MAAM,OAAO,iBAAiB;IAUC;IAT7B,mCAAmC;IAC3B,MAAM,CAAU,cAAc,GAAG,IAAI,CAAC;IAE9C,oDAAoD;IAC5C,MAAM,CAAU,kBAAkB,GAAG,MAAM,CAAC;IAEpD,gDAAgD;IAC/B,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;IAErD,YAA6B,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;IAAG,CAAC;IAExD;;;OAGG;IACK,SAAS,CAAC,IAAY;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC3C,eAAe;QACf,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,IAAY,EAAE,MAAgB;QAC7C,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,iBAAiB,CAAC,cAAc,EAAE,CAAC;YACxD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAC9C,IAAI,MAAM,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,OAA0B;QAClD,OAAO;QACP,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,wBAAwB;YACxB,MAAM,QAAQ,CACZ,QAAQ,EACR,kBAAkB,EAClB,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAC5C,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,CAAC;IACtB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,KAAe,EAAE,OAA0B;QAC1D,SAAS;QACT,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,MAAM,OAAO,GAA+B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YAChE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,MAAM;gBAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC5C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,SAAS;QACT,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,OAA4B,CAAC;QACtC,CAAC;QAED,qBAAqB;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,WAAW,CAAC,uBAAuB,EAAE,0BAA0B,EAAE;gBACrE,0CAA0C;aAC3C,CAAC,CAAC;QACL,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,aAAa,CAAC;QAEhD,yDAAyD;QACzD,wBAAwB;QACxB,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,iBAAiB,CAAC,kBAAkB,CAAC;QAC7E,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,UAAU,CAC1B,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,EAC/E,SAAS,CACV,CAAC;QACF,MAAM,UAAU,GAAG,OAAO,EAAE,MAAM,CAAC;QACnC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACpE,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,IAAI,QAAkB,CAAC;YACvB,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;oBAC1B,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;wBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;qBAC9C;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;wBACxB,KAAK,EAAE,QAAQ;qBAChB,CAAC;oBACF,MAAM,EAAE,eAAe,CAAC,MAAM;iBAC/B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBACvB,cAAc;gBACd,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBACzD,MAAM,YAAY,CAChB,gBAAgB,EAChB,GAAG,GAAG,SAAS,SAAS,GAAG,IAAI,OAAO,EACtC,CAAC,WAAW,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAC7C,CAAC,CACF,CAAC;gBACJ,CAAC;gBACD,MAAM,YAAY,CAChB,kBAAkB,EAClB,QAAQ,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,EAC1B,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EAC7B,CAAC,CACF,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBACnD,MAAM,YAAY,CAAC,gBAAgB,EAAE,QAAQ,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE;oBACrF,iBAAiB;oBACjB,qBAAqB;iBACtB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAElC,CAAC;YAEF,wBAAwB;YACxB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAE3D,cAAc;YACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,uBAAuB;gBACvB,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,IAAI;oBAAE,SAAS;gBACpB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;gBACpC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;oBACtE,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC5B,YAAY;gBACZ,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,GAAG,KAAK,SAAS;oBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACzD,CAAC;YAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAwB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QACjE,CAAC;gBAAS,CAAC;YACT,kCAAkC;YAClC,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,IAAI,UAAU;gBAAE,UAAU,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC"}
@@ -46,7 +46,7 @@ export function createProviderFromConfig(name, providerConfig) {
46
46
  throw configError('LLM API Key 未配置', `provider "${name}" (${provider}) 缺少 apiKey`, [
47
47
  `设置环境变量 MEMORA_LLM_API_KEY`,
48
48
  '或在配置文件中配置 apiKey(支持 ${ENV_VAR} 占位符)',
49
- '详见 config.example.md',
49
+ '详见 config.example.json',
50
50
  ]);
51
51
  }
52
52
  logger.info({ provider, baseUrl: resolvedBaseUrl, model: resolvedModel }, `创建 LLM Provider: ${name}`);
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"openaiCompatible.d.ts","sourceRoot":"","sources":["../../src/llm/openaiCompatible.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;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;AAIzD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAyBD;;;GAGG;AACH,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;IAMjD,mBAAmB;IACnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAW;IAE9C,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,GAAE,WAAgB,GAAG,aAAa,CAAC,QAAQ,CAAC;IAwHjF;;;;OAIG;YACW,mBAAmB;IAmCjC;;;;;;;OAOG;YACW,cAAc;IAQ5B;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IAkBtB;;;;;;;;;;;OAWG;YACY,cAAc;IA2I7B;;OAEG;IACH,OAAO,CAAC,8BAA8B;IActC;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAQ5B"}
1
+ {"version":3,"file":"openaiCompatible.d.ts","sourceRoot":"","sources":["../../src/llm/openaiCompatible.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;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;AAIzD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAyBD;;;GAGG;AACH,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;IAMjD,mBAAmB;IACnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAW;IAE9C,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,GAAE,WAAgB,GAAG,aAAa,CAAC,QAAQ,CAAC;IAkIjF;;;;OAIG;YACW,mBAAmB;IAmCjC;;;;;;;OAOG;YACW,cAAc;IAQ5B;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IAkBtB;;;;;;;;;;;OAWG;YACY,cAAc;IA8I7B;;OAEG;IACH,OAAO,CAAC,8BAA8B;IActC;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAQ5B"}