@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.
- package/README.md +5 -5
- package/dist/agent/agent.d.ts +13 -3
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +15 -0
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/assembler.d.ts +3 -0
- package/dist/agent/assembler.d.ts.map +1 -1
- package/dist/agent/assembler.js +11 -2
- package/dist/agent/assembler.js.map +1 -1
- package/dist/agent/guardrail.d.ts +47 -0
- package/dist/agent/guardrail.d.ts.map +1 -0
- package/dist/agent/guardrail.js +51 -0
- package/dist/agent/guardrail.js.map +1 -0
- package/dist/agent/loop.d.ts +0 -17
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +16 -56
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/managers/insightExtractor.d.ts +10 -73
- package/dist/agent/managers/insightExtractor.d.ts.map +1 -1
- package/dist/agent/managers/insightExtractor.js +27 -154
- package/dist/agent/managers/insightExtractor.js.map +1 -1
- package/dist/agent/managers/memoryInspector.d.ts +37 -49
- package/dist/agent/managers/memoryInspector.d.ts.map +1 -1
- package/dist/agent/managers/memoryInspector.js +116 -63
- package/dist/agent/managers/memoryInspector.js.map +1 -1
- package/dist/agent/managers/memoryMutator.d.ts +92 -0
- package/dist/agent/managers/memoryMutator.d.ts.map +1 -0
- package/dist/agent/managers/memoryMutator.js +94 -0
- package/dist/agent/managers/memoryMutator.js.map +1 -0
- package/dist/agent/managers/relationBuilder.d.ts +131 -0
- package/dist/agent/managers/relationBuilder.d.ts.map +1 -0
- package/dist/agent/managers/relationBuilder.js +191 -0
- package/dist/agent/managers/relationBuilder.js.map +1 -0
- package/dist/agent/types.d.ts +8 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/config/loader.d.ts +48 -36
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +29 -31
- package/dist/config/loader.js.map +1 -1
- package/dist/eval/evalTypes.d.ts +15 -6
- package/dist/eval/evalTypes.d.ts.map +1 -1
- package/dist/eval/evalTypes.js +3 -2
- package/dist/eval/evalTypes.js.map +1 -1
- package/dist/index.d.ts +15 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -3
- package/dist/index.js.map +1 -1
- package/dist/llm/embedding.d.ts +18 -2
- package/dist/llm/embedding.d.ts.map +1 -1
- package/dist/llm/embedding.js +78 -46
- package/dist/llm/embedding.js.map +1 -1
- package/dist/llm/factory.js +1 -1
- package/dist/llm/factory.js.map +1 -1
- package/dist/llm/openaiCompatible.d.ts.map +1 -1
- package/dist/llm/openaiCompatible.js +11 -2
- package/dist/llm/openaiCompatible.js.map +1 -1
- package/dist/llm/provider.d.ts +0 -14
- package/dist/llm/provider.d.ts.map +1 -1
- package/dist/llm/provider.js.map +1 -1
- package/dist/logging/logger.d.ts +1 -0
- package/dist/logging/logger.d.ts.map +1 -1
- package/dist/logging/logger.js +43 -37
- package/dist/logging/logger.js.map +1 -1
- package/dist/memory/inMemoryStorage.js +1 -1
- package/dist/memory/inMemoryStorage.js.map +1 -1
- package/dist/memory/lockManager.d.ts +48 -0
- package/dist/memory/lockManager.d.ts.map +1 -0
- package/dist/memory/lockManager.js +167 -0
- package/dist/memory/lockManager.js.map +1 -0
- package/dist/memory/projectManager.d.ts +23 -53
- package/dist/memory/projectManager.d.ts.map +1 -1
- package/dist/memory/projectManager.js +47 -228
- package/dist/memory/projectManager.js.map +1 -1
- package/dist/memory/projectRegistry.d.ts +62 -0
- package/dist/memory/projectRegistry.d.ts.map +1 -0
- package/dist/memory/projectRegistry.js +166 -0
- package/dist/memory/projectRegistry.js.map +1 -0
- package/dist/memory/recall.d.ts +3 -3
- package/dist/memory/recall.d.ts.map +1 -1
- package/dist/memory/recall.js +2 -2
- package/dist/memory/recall.js.map +1 -1
- package/dist/memory/sourceValidation.d.ts +43 -0
- package/dist/memory/sourceValidation.d.ts.map +1 -0
- package/dist/memory/sourceValidation.js +139 -0
- package/dist/memory/sourceValidation.js.map +1 -0
- package/dist/memory/store.d.ts.map +1 -1
- package/dist/memory/store.js +2 -1
- package/dist/memory/store.js.map +1 -1
- package/dist/memory/types.d.ts +44 -47
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/memory/types.js +0 -138
- package/dist/memory/types.js.map +1 -1
- package/dist/memory/vectorStore.d.ts +68 -7
- package/dist/memory/vectorStore.d.ts.map +1 -1
- package/dist/memory/vectorStore.js +12 -8
- package/dist/memory/vectorStore.js.map +1 -1
- package/dist/security/pathGuard.d.ts.map +1 -1
- package/dist/security/pathGuard.js +3 -1
- package/dist/security/pathGuard.js.map +1 -1
- package/dist/utils/segmenter.d.ts +6 -0
- package/dist/utils/segmenter.d.ts.map +1 -1
- package/dist/utils/segmenter.js +13 -0
- package/dist/utils/segmenter.js.map +1 -1
- package/package.json +1 -1
package/dist/memory/types.js
CHANGED
|
@@ -54,144 +54,6 @@ export const SOURCE_LABELS = {
|
|
|
54
54
|
/** 内容护栏规则(configDir/rules/guardrails/ 下的规则文件) */
|
|
55
55
|
GUARDRAIL: 'guardrail',
|
|
56
56
|
};
|
|
57
|
-
// ─── 分词相关 ─────────────────────────────────────────────
|
|
58
|
-
/**
|
|
59
|
-
* 中文停用词集合
|
|
60
|
-
* 用于关键词提取时过滤无意义词汇
|
|
61
|
-
*/
|
|
62
|
-
export const STOPWORDS = new Set([
|
|
63
|
-
'的', '了', '是', '在', '我', '有', '和', '就', '不', '人', '都',
|
|
64
|
-
'一', '一个', '上', '也', '很', '到', '说', '要', '去', '你', '会',
|
|
65
|
-
'着', '没有', '看', '好', '自己', '这', '那', '什么', '怎么', '可以',
|
|
66
|
-
'这个', '那个', '他们', '我们', '因为', '所以', '但是', '如果', '虽然',
|
|
67
|
-
'能', '把', '被', '让', '给', '对', '从', '为', '比', '与', '或',
|
|
68
|
-
'吗', '呢', '吧', '啊', '哦', '嗯', '呀', '哈',
|
|
69
|
-
]);
|
|
70
|
-
// ─── 工具函数 ─────────────────────────────────────────────
|
|
71
|
-
/**
|
|
72
|
-
* 从文件路径自动推断 source(目录映射 + frontmatter 覆盖)
|
|
73
|
-
*
|
|
74
|
-
* @param filePath - 文件路径
|
|
75
|
-
* @param frontmatterSource - frontmatter 中显式声明的 source(可选)
|
|
76
|
-
* @returns source 字符串
|
|
77
|
-
*/
|
|
78
|
-
export function inferSource(filePath, frontmatterSource) {
|
|
79
|
-
// 优先:frontmatter 中显式声明的 source
|
|
80
|
-
if (frontmatterSource)
|
|
81
|
-
return frontmatterSource;
|
|
82
|
-
// 回退:目录路径映射(使用路径分隔符匹配,避免 'other-personas/' 误匹配)
|
|
83
|
-
if (/[\\/]personas[\\/]/.test(filePath))
|
|
84
|
-
return SOURCE_LABELS.PERSONA;
|
|
85
|
-
if (/[\\/]rules[\\/]/.test(filePath))
|
|
86
|
-
return SOURCE_LABELS.RULE;
|
|
87
|
-
if (/[\\/]skills[\\/]/.test(filePath))
|
|
88
|
-
return SOURCE_LABELS.SKILL;
|
|
89
|
-
// 默认
|
|
90
|
-
return 'unknown';
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* 转义 LIKE 通配符,防止注入
|
|
94
|
-
*
|
|
95
|
-
* @param str - 原始字符串
|
|
96
|
-
* @returns 转义后的字符串
|
|
97
|
-
*/
|
|
98
|
-
export function escapeLike(str) {
|
|
99
|
-
return str.replace(/[%_]/g, '\\$&');
|
|
100
|
-
}
|
|
101
|
-
// ─── Source 校验 ────────────────────────────────────────────
|
|
102
|
-
/**
|
|
103
|
-
* 已知 source 标签集合(用于运行时校验)
|
|
104
|
-
*
|
|
105
|
-
* 从 SOURCE_LABELS 常量自动派生,保持同步。
|
|
106
|
-
* 不是枚举——只用于 typo 检测,不阻止写入。
|
|
107
|
-
*/
|
|
108
|
-
const KNOWN_SOURCES = new Set(Object.values(SOURCE_LABELS));
|
|
109
|
-
/**
|
|
110
|
-
* 校验 source 字段是否为已知标签
|
|
111
|
-
*
|
|
112
|
-
* 返回校验结果,包含严重级别与警告信息(如有)。
|
|
113
|
-
*
|
|
114
|
-
* 分级策略:
|
|
115
|
-
* - 路径遍历(`..`)与 null 字节 → severity='block'(安全边界,必须拒绝)
|
|
116
|
-
* - 空字符串、非字符串、首尾空格 → severity='block'(调用方 bug,必须拒绝)
|
|
117
|
-
* - 与已知标签 Levenshtein 距离 ≤ 2 的疑似 typo → severity='warn'(保持开放性)
|
|
118
|
-
* - 其他自定义 source → valid: true(完全允许)
|
|
119
|
-
*
|
|
120
|
-
* @param source - 待校验的 source 字符串
|
|
121
|
-
* @returns 校验结果
|
|
122
|
-
*/
|
|
123
|
-
export function validateSource(source) {
|
|
124
|
-
if (!source || typeof source !== 'string') {
|
|
125
|
-
return {
|
|
126
|
-
valid: false,
|
|
127
|
-
severity: 'block',
|
|
128
|
-
warning: `source 不能为空或非字符串,收到:${String(source)}`,
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
if (source.trim() !== source) {
|
|
132
|
-
return {
|
|
133
|
-
valid: false,
|
|
134
|
-
severity: 'block',
|
|
135
|
-
warning: `source 包含首尾空格:"${source}"`,
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
if (source.includes('..')) {
|
|
139
|
-
return {
|
|
140
|
-
valid: false,
|
|
141
|
-
severity: 'block',
|
|
142
|
-
warning: `source 不能包含路径遍历序列:"${source}"`,
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
if (source.includes('\0')) {
|
|
146
|
-
return {
|
|
147
|
-
valid: false,
|
|
148
|
-
severity: 'block',
|
|
149
|
-
warning: `source 不能包含 null 字节`,
|
|
150
|
-
};
|
|
151
|
-
}
|
|
152
|
-
// 检查与已知标签的相似度(简单 Levenshtein 距离 ≤ 2)
|
|
153
|
-
if (!KNOWN_SOURCES.has(source)) {
|
|
154
|
-
const closeMatch = [...KNOWN_SOURCES].find((known) => levenshtein(source, known) <= 2 && source !== known);
|
|
155
|
-
if (closeMatch) {
|
|
156
|
-
return {
|
|
157
|
-
valid: true,
|
|
158
|
-
severity: 'warn',
|
|
159
|
-
warning: `source "${source}" 可能是 "${closeMatch}" 的拼写错误(已知标签:${[...KNOWN_SOURCES].join(', ')})`,
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
return { valid: true };
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* 简单 Levenshtein 距离计算(仅用于短字符串,不做优化)
|
|
167
|
-
*/
|
|
168
|
-
function levenshtein(a, b) {
|
|
169
|
-
if (a.length === 0)
|
|
170
|
-
return b.length;
|
|
171
|
-
if (b.length === 0)
|
|
172
|
-
return a.length;
|
|
173
|
-
const matrix = [];
|
|
174
|
-
for (let i = 0; i <= b.length; i++)
|
|
175
|
-
matrix[i] = [i];
|
|
176
|
-
// QC-17 移除非空断言:提取局部变量并 null 检查
|
|
177
|
-
const row0 = matrix[0];
|
|
178
|
-
if (row0)
|
|
179
|
-
for (let j = 0; j <= a.length; j++)
|
|
180
|
-
row0[j] = j;
|
|
181
|
-
for (let i = 1; i <= b.length; i++) {
|
|
182
|
-
// QC-17 移除非空断言:提取局部变量,用 ?? 0 兜底(初始化保证值存在)
|
|
183
|
-
const rowI = matrix[i];
|
|
184
|
-
const rowPrev = matrix[i - 1];
|
|
185
|
-
if (!rowI || !rowPrev)
|
|
186
|
-
continue;
|
|
187
|
-
for (let j = 1; j <= a.length; j++) {
|
|
188
|
-
const cost = b[i - 1] === a[j - 1] ? 0 : 1;
|
|
189
|
-
rowI[j] = Math.min((rowPrev[j] ?? 0) + 1, (rowI[j - 1] ?? 0) + 1, (rowPrev[j - 1] ?? 0) + cost);
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
// QC-17 移除非空断言:使用可选链 + 空值合并兜底
|
|
193
|
-
return matrix[b.length]?.[a.length] ?? 0;
|
|
194
|
-
}
|
|
195
57
|
/**
|
|
196
58
|
* weight 四档离散值常量(LLM 输出约束)
|
|
197
59
|
*
|
package/dist/memory/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/memory/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,yDAAyD;AAEzD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,8DAA8D;IAC9D,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,wBAAwB;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,sBAAsB;IACtB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,qBAAqB;IACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,qBAAqB;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,sBAAsB;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,sBAAsB;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAC5C,8DAA8D;IAC9D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAIH,0CAA0C;AAE1C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,uCAAuC;IACvC,OAAO,EAAE,SAAS;IAClB,yDAAyD;IACzD,IAAI,EAAE,MAAM;IACZ,qCAAqC;IACrC,KAAK,EAAE,OAAO;IACd,2BAA2B;IAC3B,OAAO,EAAE,SAAS;IAClB,2BAA2B;IAC3B,OAAO,EAAE,SAAS;IAClB,+BAA+B;IAC/B,eAAe,EAAE,iBAAiB;IAClC,iDAAiD;IACjD,SAAS,EAAE,WAAW;CACd,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/memory/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,yDAAyD;AAEzD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,8DAA8D;IAC9D,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,wBAAwB;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,sBAAsB;IACtB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,qBAAqB;IACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,qBAAqB;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,sBAAsB;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,sBAAsB;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAC5C,8DAA8D;IAC9D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAIH,0CAA0C;AAE1C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,uCAAuC;IACvC,OAAO,EAAE,SAAS;IAClB,yDAAyD;IACzD,IAAI,EAAE,MAAM;IACZ,qCAAqC;IACrC,KAAK,EAAE,OAAO;IACd,2BAA2B;IAC3B,OAAO,EAAE,SAAS;IAClB,2BAA2B;IAC3B,OAAO,EAAE,SAAS;IAClB,+BAA+B;IAC/B,eAAe,EAAE,iBAAiB;IAClC,iDAAiD;IACjD,SAAS,EAAE,WAAW;CACd,CAAC;AA8CX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,wBAAwB;IACxB,IAAI,EAAE,GAAG;IACT,oBAAoB;IACpB,IAAI,EAAE,GAAG;IACT,8BAA8B;IAC9B,SAAS,EAAE,GAAG;IACd,oBAAoB;IACpB,MAAM,EAAE,GAAG;IACX,sBAAsB;IACtB,OAAO,EAAE,GAAG;CACJ,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,eAAe;IACf,WAAW,EAAE,aAAa;IAC1B,aAAa;IACb,QAAQ,EAAE,UAAU;IACpB,eAAe;IACf,OAAO,EAAE,SAAS;IAClB,gBAAgB;IAChB,OAAO,EAAE,SAAS;IAClB,aAAa;IACb,MAAM,EAAE,QAAQ;IAChB,gBAAgB;IAChB,OAAO,EAAE,SAAS;CACV,CAAC"}
|
|
@@ -1,26 +1,84 @@
|
|
|
1
|
+
import type { EmbeddingOptions } from '../llm/embedding.js';
|
|
1
2
|
/**
|
|
2
3
|
* 嵌入服务接口
|
|
3
4
|
* 向量存储依赖此接口生成文本嵌入向量
|
|
4
5
|
*
|
|
5
6
|
* batchEmbed 返回向量数组,顺序与输入一致。
|
|
6
7
|
* EmbeddingProvider(llm/embedding.ts)满足此接口(结构子类型)。
|
|
8
|
+
*
|
|
9
|
+
* P1-8 韧性补齐:embed/batchEmbed 接受 EmbeddingOptions(signal + timeoutMs),
|
|
10
|
+
* 宿主在用户取消对话时可透传 AbortSignal 中断 embedding 请求。
|
|
7
11
|
*/
|
|
8
12
|
export interface EmbeddingService {
|
|
9
|
-
embed(text: string): Promise<number[]>;
|
|
10
|
-
batchEmbed(texts: string[]): Promise<Array<{
|
|
13
|
+
embed(text: string, options?: EmbeddingOptions): Promise<number[]>;
|
|
14
|
+
batchEmbed(texts: string[], options?: EmbeddingOptions): Promise<Array<{
|
|
11
15
|
text: string;
|
|
12
16
|
vector: number[];
|
|
13
17
|
}>>;
|
|
14
18
|
}
|
|
15
19
|
/**
|
|
16
|
-
*
|
|
20
|
+
* 向量存储接口(依赖倒置)
|
|
21
|
+
*
|
|
22
|
+
* 抽出接口让宿主可注入自定义实现(如 SqliteVectorStore / LanceDBVectorStore),
|
|
23
|
+
* 内核消费者(recall.ts / memoryInspector.ts / agent.ts)只依赖此接口,
|
|
24
|
+
* 不耦合具体持久化方式(JSON / SQLite / 外部向量库)。
|
|
25
|
+
*
|
|
26
|
+
* 与 IMemoryStorage / IMemoryRelationStore / ILogger / ITracer 同属
|
|
27
|
+
* 内核六大注入接口,遵循 ADR-002 存储层抽象原则。
|
|
28
|
+
*
|
|
29
|
+
* 内核内置实现:JsonVectorStore(JSON 文件持久化,单用户本地场景)。
|
|
30
|
+
*/
|
|
31
|
+
export interface IVectorStore {
|
|
32
|
+
/** 从持久化介质加载向量索引(冷启动) */
|
|
33
|
+
load(): Promise<void>;
|
|
34
|
+
/** 持久化向量索引到介质 */
|
|
35
|
+
save(): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* 为文本生成向量并存储
|
|
38
|
+
* @param id 记忆 ID
|
|
39
|
+
* @param text 待嵌入的文本
|
|
40
|
+
* @param options embedding 调用选项(signal 外部取消 + timeoutMs 超时)
|
|
41
|
+
*/
|
|
42
|
+
upsert(id: string, text: string, options?: EmbeddingOptions): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* 批量嵌入并存储
|
|
45
|
+
* @param items ID + 文本对
|
|
46
|
+
* @param options embedding 调用选项(signal 外部取消 + timeoutMs 超时)
|
|
47
|
+
*/
|
|
48
|
+
batchUpsert(items: Array<{
|
|
49
|
+
id: string;
|
|
50
|
+
text: string;
|
|
51
|
+
}>, options?: EmbeddingOptions): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* 删除向量(实现决定是否立即持久化)
|
|
54
|
+
* @param id 待删除的记忆 ID
|
|
55
|
+
*/
|
|
56
|
+
delete(id: string): void;
|
|
57
|
+
/**
|
|
58
|
+
* 语义搜索:基于查询文本的向量,返回 topK 最相似的 ID
|
|
59
|
+
* @param query 查询文本
|
|
60
|
+
* @param topK 返回数量上限
|
|
61
|
+
* @param minSimilarity 最低相似度阈值(0~1)
|
|
62
|
+
* @param options embedding 调用选项(signal 外部取消 + timeoutMs 超时)
|
|
63
|
+
* @returns ID + 相似度 对的数组,按相似度降序排列
|
|
64
|
+
*/
|
|
65
|
+
search(query: string, topK?: number, minSimilarity?: number, options?: EmbeddingOptions): Promise<Array<{
|
|
66
|
+
id: string;
|
|
67
|
+
similarity: number;
|
|
68
|
+
}>>;
|
|
69
|
+
/** 获取存储的向量数量 */
|
|
70
|
+
readonly size: number;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* JSON 持久化向量存储(IVectorStore 内核内置实现)
|
|
17
74
|
*
|
|
18
75
|
* 纯 JS 实现,内存中维护向量索引,定期持久化到 JSON 文件
|
|
19
76
|
* 适用于单用户本地场景(5k 条记录以内)
|
|
20
77
|
*
|
|
21
78
|
* 依赖 EmbeddingService 接口(依赖倒置,与 llm/ 层解耦)
|
|
79
|
+
* 实现 IVectorStore 接口,宿主可替换为其他实现(如 SqliteVectorStore)
|
|
22
80
|
*/
|
|
23
|
-
export declare class
|
|
81
|
+
export declare class JsonVectorStore implements IVectorStore {
|
|
24
82
|
private readonly storePath;
|
|
25
83
|
private readonly embeddingProvider;
|
|
26
84
|
/** 内存中的向量索引 */
|
|
@@ -66,21 +124,23 @@ export declare class VectorStore {
|
|
|
66
124
|
*
|
|
67
125
|
* @param id 记忆 ID
|
|
68
126
|
* @param text 待嵌入的文本
|
|
127
|
+
* @param options embedding 调用选项(signal 外部取消 + timeoutMs 超时)
|
|
69
128
|
* @throws {MemoraError} 当 embedding 返回的向量维度与已存维度不一致时抛出 configError
|
|
70
129
|
*/
|
|
71
|
-
upsert(id: string, text: string): Promise<void>;
|
|
130
|
+
upsert(id: string, text: string, options?: EmbeddingOptions): Promise<void>;
|
|
72
131
|
/**
|
|
73
132
|
* 批量嵌入并存储
|
|
74
133
|
*
|
|
75
134
|
* 加固:维度一致性校验,与 upsert 同契约
|
|
76
135
|
*
|
|
77
136
|
* @param items ID + 文本对
|
|
137
|
+
* @param options embedding 调用选项(signal 外部取消 + timeoutMs 超时)
|
|
78
138
|
* @throws {MemoraError} 当 embedding 返回的向量维度与已存维度不一致时抛出 configError
|
|
79
139
|
*/
|
|
80
140
|
batchUpsert(items: Array<{
|
|
81
141
|
id: string;
|
|
82
142
|
text: string;
|
|
83
|
-
}
|
|
143
|
+
}>, options?: EmbeddingOptions): Promise<void>;
|
|
84
144
|
/**
|
|
85
145
|
* 删除向量
|
|
86
146
|
*
|
|
@@ -96,9 +156,10 @@ export declare class VectorStore {
|
|
|
96
156
|
* @param query 查询文本
|
|
97
157
|
* @param topK 返回数量上限
|
|
98
158
|
* @param minSimilarity 最低相似度阈值(0~1)
|
|
159
|
+
* @param options embedding 调用选项(signal 外部取消 + timeoutMs 超时)
|
|
99
160
|
* @returns ID + 相似度 对的数组,按相似度降序排列
|
|
100
161
|
*/
|
|
101
|
-
search(query: string, topK?: number, minSimilarity?: number): Promise<Array<{
|
|
162
|
+
search(query: string, topK?: number, minSimilarity?: number, options?: EmbeddingOptions): Promise<Array<{
|
|
102
163
|
id: string;
|
|
103
164
|
similarity: number;
|
|
104
165
|
}>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vectorStore.d.ts","sourceRoot":"","sources":["../../src/memory/vectorStore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vectorStore.d.ts","sourceRoot":"","sources":["../../src/memory/vectorStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,14 +66,15 @@ function isValidVectorStoreFile(data) {
|
|
|
66
66
|
return true;
|
|
67
67
|
}
|
|
68
68
|
/**
|
|
69
|
-
*
|
|
69
|
+
* JSON 持久化向量存储(IVectorStore 内核内置实现)
|
|
70
70
|
*
|
|
71
71
|
* 纯 JS 实现,内存中维护向量索引,定期持久化到 JSON 文件
|
|
72
72
|
* 适用于单用户本地场景(5k 条记录以内)
|
|
73
73
|
*
|
|
74
74
|
* 依赖 EmbeddingService 接口(依赖倒置,与 llm/ 层解耦)
|
|
75
|
+
* 实现 IVectorStore 接口,宿主可替换为其他实现(如 SqliteVectorStore)
|
|
75
76
|
*/
|
|
76
|
-
export class
|
|
77
|
+
export class JsonVectorStore {
|
|
77
78
|
storePath;
|
|
78
79
|
embeddingProvider;
|
|
79
80
|
/** 内存中的向量索引 */
|
|
@@ -166,10 +167,11 @@ export class VectorStore {
|
|
|
166
167
|
*
|
|
167
168
|
* @param id 记忆 ID
|
|
168
169
|
* @param text 待嵌入的文本
|
|
170
|
+
* @param options embedding 调用选项(signal 外部取消 + timeoutMs 超时)
|
|
169
171
|
* @throws {MemoraError} 当 embedding 返回的向量维度与已存维度不一致时抛出 configError
|
|
170
172
|
*/
|
|
171
|
-
async upsert(id, text) {
|
|
172
|
-
const vector = await this.embeddingProvider.embed(text);
|
|
173
|
+
async upsert(id, text, options) {
|
|
174
|
+
const vector = await this.embeddingProvider.embed(text, options);
|
|
173
175
|
if (this.dimension === 0) {
|
|
174
176
|
this.dimension = vector.length;
|
|
175
177
|
}
|
|
@@ -188,11 +190,12 @@ export class VectorStore {
|
|
|
188
190
|
* 加固:维度一致性校验,与 upsert 同契约
|
|
189
191
|
*
|
|
190
192
|
* @param items ID + 文本对
|
|
193
|
+
* @param options embedding 调用选项(signal 外部取消 + timeoutMs 超时)
|
|
191
194
|
* @throws {MemoraError} 当 embedding 返回的向量维度与已存维度不一致时抛出 configError
|
|
192
195
|
*/
|
|
193
|
-
async batchUpsert(items) {
|
|
196
|
+
async batchUpsert(items, options) {
|
|
194
197
|
const texts = items.map((item) => item.text);
|
|
195
|
-
const results = await this.embeddingProvider.batchEmbed(texts);
|
|
198
|
+
const results = await this.embeddingProvider.batchEmbed(texts, options);
|
|
196
199
|
for (let i = 0; i < items.length; i++) {
|
|
197
200
|
const result = results[i];
|
|
198
201
|
const item = items[i];
|
|
@@ -228,10 +231,11 @@ export class VectorStore {
|
|
|
228
231
|
* @param query 查询文本
|
|
229
232
|
* @param topK 返回数量上限
|
|
230
233
|
* @param minSimilarity 最低相似度阈值(0~1)
|
|
234
|
+
* @param options embedding 调用选项(signal 外部取消 + timeoutMs 超时)
|
|
231
235
|
* @returns ID + 相似度 对的数组,按相似度降序排列
|
|
232
236
|
*/
|
|
233
|
-
async search(query, topK = 5, minSimilarity = 0.3) {
|
|
234
|
-
const queryVector = await this.embeddingProvider.embed(query);
|
|
237
|
+
async search(query, topK = 5, minSimilarity = 0.3, options) {
|
|
238
|
+
const queryVector = await this.embeddingProvider.embed(query, options);
|
|
235
239
|
const scored = [];
|
|
236
240
|
for (const [id, vector] of this.entries) {
|
|
237
241
|
const similarity = cosineSimilarity(queryVector, vector);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vectorStore.js","sourceRoot":"","sources":["../../src/memory/vectorStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"vectorStore.js","sourceRoot":"","sources":["../../src/memory/vectorStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pathGuard.d.ts","sourceRoot":"","sources":["../../src/security/pathGuard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pathGuard.d.ts","sourceRoot":"","sources":["../../src/security/pathGuard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 路径白名单 + 审计日志
|
|
3
3
|
*
|
|
4
|
-
* 4 类允许根 +
|
|
4
|
+
* 4 类允许根 + 28 类禁止规则
|
|
5
5
|
* 详见 ADR-006 · 安全模型
|
|
6
6
|
*
|
|
7
7
|
* 写入二次确认 + 审计日志:未注入 confirmationHandler 时 fail-closed 拒绝写入。
|
|
@@ -75,6 +75,8 @@ const BLOCKED_PATTERNS = [
|
|
|
75
75
|
/(^|[\\/])\.config[\\/]gcloud([\\/]|$)/i, // gcloud 配置(加 .config 前缀边界,避免误拦用户 gcloud-tools 目录)
|
|
76
76
|
// ─── 环境变量文件(.env / .env.local / .env.production.local 等多段后缀)───
|
|
77
77
|
/(^|[\\/])\.env(\.[^\\/]+)?$/i,
|
|
78
|
+
// .envrc(direnv 配置,可含环境变量和密钥,独立于 .env.* 后缀模式)
|
|
79
|
+
/(^|[\\/])\.envrc$/i,
|
|
78
80
|
// ─── Windows 系统目录 ───
|
|
79
81
|
/[\\/]Windows([\\/]|$)/i, // C:\Windows(含 System、System32 等子目录)
|
|
80
82
|
/[\\/]Program Files([\\/]|$)/i, // C:\Program Files
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pathGuard.js","sourceRoot":"","sources":["../../src/security/pathGuard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pathGuard.js","sourceRoot":"","sources":["../../src/security/pathGuard.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,4 +15,10 @@ export declare function scoreByKeywords(userInput: string, keywordList: string[]
|
|
|
15
15
|
* @returns 分词数组(去标点、去空白、保留中英文 + 数字)
|
|
16
16
|
*/
|
|
17
17
|
export declare function segmentText(text: string): string[];
|
|
18
|
+
/**
|
|
19
|
+
* 中文停用词集合
|
|
20
|
+
* 用于关键词提取时过滤无意义词汇(从 memory/types.ts 迁入,
|
|
21
|
+
* 因为停用词是分词/关键词提取的关注点,而非记忆类型定义)
|
|
22
|
+
*/
|
|
23
|
+
export declare const STOPWORDS: Set<string>;
|
|
18
24
|
//# sourceMappingURL=segmenter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segmenter.d.ts","sourceRoot":"","sources":["../../src/utils/segmenter.ts"],"names":[],"mappings":"AAyCA;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAehF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAclD"}
|
|
1
|
+
{"version":3,"file":"segmenter.d.ts","sourceRoot":"","sources":["../../src/utils/segmenter.ts"],"names":[],"mappings":"AAyCA;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAehF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAclD;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,aAOpB,CAAC"}
|
package/dist/utils/segmenter.js
CHANGED
|
@@ -82,4 +82,17 @@ export function segmentText(text) {
|
|
|
82
82
|
}
|
|
83
83
|
return tokens;
|
|
84
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* 中文停用词集合
|
|
87
|
+
* 用于关键词提取时过滤无意义词汇(从 memory/types.ts 迁入,
|
|
88
|
+
* 因为停用词是分词/关键词提取的关注点,而非记忆类型定义)
|
|
89
|
+
*/
|
|
90
|
+
export const STOPWORDS = new Set([
|
|
91
|
+
'的', '了', '是', '在', '我', '有', '和', '就', '不', '人', '都',
|
|
92
|
+
'一', '一个', '上', '也', '很', '到', '说', '要', '去', '你', '会',
|
|
93
|
+
'着', '没有', '看', '好', '自己', '这', '那', '什么', '怎么', '可以',
|
|
94
|
+
'这个', '那个', '他们', '我们', '因为', '所以', '但是', '如果', '虽然',
|
|
95
|
+
'能', '把', '被', '让', '给', '对', '从', '为', '比', '与', '或',
|
|
96
|
+
'吗', '呢', '吧', '啊', '哦', '嗯', '呀', '哈',
|
|
97
|
+
]);
|
|
85
98
|
//# sourceMappingURL=segmenter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segmenter.js","sourceRoot":"","sources":["../../src/utils/segmenter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;AAE1E;;;;;;;;;;;;;;GAcG;AACH,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,0BAA0B;IAC1B,MAAM,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;IAClE,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;IAChC,QAAQ;IACR,MAAM,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAC3D,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;IAChC,4CAA4C;IAC5C,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB,EAAE,WAAqB;IACtE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAEvC,MAAM,eAAe,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAEjD,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACjF,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,2BAA2B;IAC3B,4BAA4B;IAC5B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"segmenter.js","sourceRoot":"","sources":["../../src/utils/segmenter.ts"],"names":[],"mappings":"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"}
|