@coreyuan/vector-mind 1.1.1 → 1.1.4
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 +17 -1
- package/dist/context-governance.d.ts +7 -0
- package/dist/context-governance.js +41 -1
- package/dist/context-governance.js.map +1 -1
- package/dist/file-indexing.js +6 -2
- package/dist/file-indexing.js.map +1 -1
- package/dist/memory-recall.d.ts +6 -0
- package/dist/memory-recall.js +73 -102
- package/dist/memory-recall.js.map +1 -1
- package/dist/memory-safety.d.ts +17 -0
- package/dist/memory-safety.js +61 -0
- package/dist/memory-safety.js.map +1 -0
- package/dist/operation-scope.d.ts +6 -2
- package/dist/operation-scope.js +19 -1
- package/dist/operation-scope.js.map +1 -1
- package/dist/security-signals.d.ts +33 -0
- package/dist/security-signals.js +239 -0
- package/dist/security-signals.js.map +1 -0
- package/dist/server-instructions.js +1 -1
- package/dist/server-instructions.js.map +1 -1
- package/dist/tool-catalog.js +3 -3
- package/dist/tool-catalog.js.map +1 -1
- package/dist/tool-handlers/files.js +13 -1
- package/dist/tool-handlers/files.js.map +1 -1
- package/dist/tool-handlers/memory.js +75 -6
- package/dist/tool-handlers/memory.js.map +1 -1
- package/dist/tool-handlers/notes-decisions.js +27 -7
- package/dist/tool-handlers/notes-decisions.js.map +1 -1
- package/dist/tool-handlers/operations.js +7 -1
- package/dist/tool-handlers/operations.js.map +1 -1
- package/dist/tool-handlers/requirements.js +71 -14
- package/dist/tool-handlers/requirements.js.map +1 -1
- package/dist/tool-handlers.js +52 -6
- package/dist/tool-handlers.js.map +1 -1
- package/dist/tool-output.d.ts +38 -0
- package/dist/tool-output.js +31 -5
- package/dist/tool-output.js.map +1 -1
- package/dist/tool-schemas.d.ts +4 -0
- package/dist/tool-schemas.js +4 -0
- package/dist/tool-schemas.js.map +1 -1
- package/docs/capability-matrix.md +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
VectorMind 是面向 AI 编程助手的本地项目记忆 MCP。它把需求、决策、改动原因、项目约定和文件状态保存在项目目录内,帮助长周期开发减少上下文丢失、跨项目串线和旧逻辑回退。
|
|
4
4
|
|
|
5
|
-
当前版本:`1.1.
|
|
5
|
+
当前版本:`1.1.4`
|
|
6
6
|
|
|
7
7
|
## 核心能力
|
|
8
8
|
|
|
@@ -14,6 +14,7 @@ VectorMind 是面向 AI 编程助手的本地项目记忆 MCP。它把需求、
|
|
|
14
14
|
- **更新权威决策**:新决策可以 supersede 旧需求或旧记忆,避免后续会话按过时规则实现。
|
|
15
15
|
- **隔离多个项目**:记忆、pending buffer、索引和数据库都按 `project_root` 隔离。
|
|
16
16
|
- **安全读取项目文件**:使用 canonical realpath 校验,拒绝通过符号链接或 junction 越过项目边界。
|
|
17
|
+
- **安全扫描不可信内容与操作**:文件、内存、`grep` 和符号查询结果附带 `security_scan`;高置信度敏感数据外传只在具体操作预检中阻断,普通文档、文章、测试样例和明确的普通上传保持 advisory,不改变正常分析流程。
|
|
17
18
|
- **保存长期会话检查点**:创建有界、版本化 checkpoint,并只读恢复或比较上下文。
|
|
18
19
|
- **诊断记忆质量**:检查冲突、重复、过大 checkpoint、陈旧索引和孤立记忆。
|
|
19
20
|
- **控制上下文体积**:默认使用精简工具集和紧凑输出,大结果会保留关键 ID 与完成状态。
|
|
@@ -128,6 +129,17 @@ npm run admin:dev
|
|
|
128
129
|
|
|
129
130
|
VectorMind 的质量信号只是上下文证据,不替模型或用户做决定。
|
|
130
131
|
|
|
132
|
+
### 安全扫描边界与开销
|
|
133
|
+
|
|
134
|
+
安全扫描用于识别提示注入、凭据访问、主机探测和本地敏感数据外传。它不会接管 MCP 其他工具,也不会主导 AI 的推理、设计或实现方向:
|
|
135
|
+
|
|
136
|
+
- 文件、内存、`grep`、语义搜索和符号查询返回的扫描结果属于 advisory 信号,明确标记 `advisory_only`、`coverage` 和 `complete`。
|
|
137
|
+
- 只有 `preflight_operation_scope` 发现高置信度敏感凭据外传时,才会对该具体操作返回 blocker;普通读取、查询、代码生成和其他 MCP 功能不受影响。
|
|
138
|
+
- 用户授权例外必须由宿主配置 `VECTORMIND_SECURITY_AUTH_TOKEN` 并注入匹配的 `security_authorization_token`,同时提供原因和目标主机 allowlist;模型不能自行伪造授权。
|
|
139
|
+
- 扫描只产生有界的本地 CPU、文件读取和少量输出 token 开销,不增加 AI 推理轮次。无 finding 时 compact 输出不会展开安全详情;完整字段可通过 `format=json` 查看。
|
|
140
|
+
|
|
141
|
+
完整能力和边界见 [docs/capability-matrix.md](docs/capability-matrix.md)。
|
|
142
|
+
|
|
131
143
|
## 需求明确性软引导
|
|
132
144
|
|
|
133
145
|
VectorMind 会在 MCP 握手中向 AI 提供需求明确性规则。AI 只有在获得完整授权后才应行动:当前消息明确提出工作,或当前消息明确指向唯一未完成的用户请求;无论采用哪条路径,选定请求都必须明确相关目标、对象、范围和动作。已完成请求不能授权新动作,无完整授权时,AI 应在调用工具或采取行动前先向用户询问。
|
|
@@ -166,6 +178,9 @@ npm run verify
|
|
|
166
178
|
|
|
167
179
|
- `npm run smoke` 会先重建核心产物,再运行 security、checkpoint、operation 和完整 MCP smoke。
|
|
168
180
|
- `npm run verify` 会运行核心构建、管理面板测试与生产构建,以及全部 smoke。
|
|
181
|
+
- `security-regression-cases.mjs` 覆盖提示注入、凭据路径、普通上传、敏感外传,以及 DNS/SSH/SCP/SFTP、PowerShell、Node/Python、base64 和环境变量通道。
|
|
182
|
+
- 安全回归还验证宿主授权令牌、错误令牌旁路、目标主机 allowlist、文件 advisory 语义、grep 多文件覆盖和符号链接越界保护。
|
|
183
|
+
- `npm run verify` 已包含上述安全回归、checkpoint/operation 回归、管理面板测试和生产构建。
|
|
169
184
|
- `prepublishOnly` 强制执行完整 `verify`。
|
|
170
185
|
- 发布前可用 `npm pack --dry-run --ignore-scripts --json` 检查核心产物、管理服务和预构建客户端是否进入包。
|
|
171
186
|
|
|
@@ -178,3 +193,4 @@ npm publish --access public
|
|
|
178
193
|
## 一句话
|
|
179
194
|
|
|
180
195
|
VectorMind 让 AI 记住需求、决策、改动原因和项目边界,在长期开发中少丢上下文、少乱改、少回退到旧逻辑。
|
|
196
|
+
Focused context recovery is explicitly relevance-filtered and full recovery remains output-bounded; neither mode claims repository or live-runtime coverage. A missing match therefore does not prove that a fact never existed. Durable operational facts such as domains, origin hosts, ports, deployment directories, and credential-file references remain recallable, while secret values are recursively redacted before long-term memory persistence, symbol extraction, and document indexing. Requirement creation also reports or rejects high-confidence overlap so an unfinished incident is not silently fragmented into a new lifecycle.
|
|
@@ -43,6 +43,13 @@ export declare function sameRequirement(active: {
|
|
|
43
43
|
background?: string | null;
|
|
44
44
|
goal_key?: string | null;
|
|
45
45
|
}): boolean;
|
|
46
|
+
export declare function requirementOverlapScore(active: {
|
|
47
|
+
title: string;
|
|
48
|
+
context_data?: string | null;
|
|
49
|
+
}, next: {
|
|
50
|
+
title: string;
|
|
51
|
+
background?: string | null;
|
|
52
|
+
}): number;
|
|
46
53
|
export declare function sameRootRequirement(active: {
|
|
47
54
|
title: string;
|
|
48
55
|
context_data?: string | null;
|
|
@@ -41,6 +41,7 @@ function focusedEvidenceCoverage(query, haystack) {
|
|
|
41
41
|
let totalChars = 0;
|
|
42
42
|
let matchedChars = 0;
|
|
43
43
|
let independentRuns = 0;
|
|
44
|
+
const distinctTerms = new Set();
|
|
44
45
|
let technicalAnchor = false;
|
|
45
46
|
for (const segment of segments) {
|
|
46
47
|
if (/^[a-z0-9_./:@#-]+$/.test(segment)) {
|
|
@@ -51,6 +52,7 @@ function focusedEvidenceCoverage(query, haystack) {
|
|
|
51
52
|
continue;
|
|
52
53
|
matchedChars += segment.length;
|
|
53
54
|
independentRuns += 1;
|
|
55
|
+
distinctTerms.add(segment);
|
|
54
56
|
if (segment.length >= 3 && (/\d/.test(segment) || /[_.\/@:#-]/.test(segment))) {
|
|
55
57
|
technicalAnchor = true;
|
|
56
58
|
}
|
|
@@ -63,6 +65,7 @@ function focusedEvidenceCoverage(query, haystack) {
|
|
|
63
65
|
for (let index = 0; index <= segment.length - width; index += 1) {
|
|
64
66
|
if (!haystack.includes(segment.slice(index, index + width)))
|
|
65
67
|
continue;
|
|
68
|
+
distinctTerms.add(segment.slice(index, index + width));
|
|
66
69
|
for (let offset = index; offset < index + width; offset += 1)
|
|
67
70
|
covered[offset] = true;
|
|
68
71
|
}
|
|
@@ -78,6 +81,7 @@ function focusedEvidenceCoverage(query, haystack) {
|
|
|
78
81
|
matched_chars: matchedChars,
|
|
79
82
|
coverage: totalChars > 0 ? matchedChars / totalChars : 0,
|
|
80
83
|
independent_runs: independentRuns,
|
|
84
|
+
distinct_terms: distinctTerms.size,
|
|
81
85
|
technical_anchor: technicalAnchor,
|
|
82
86
|
};
|
|
83
87
|
}
|
|
@@ -95,8 +99,11 @@ export function focusedTextIsRelevant(query, ...values) {
|
|
|
95
99
|
return true;
|
|
96
100
|
if (evidence.total_chars <= 4)
|
|
97
101
|
return evidence.coverage === 1;
|
|
102
|
+
if (evidence.distinct_terms < 2)
|
|
103
|
+
return false;
|
|
98
104
|
return evidence.coverage >= 0.58 ||
|
|
99
|
-
(evidence.coverage >= 0.42 && evidence.matched_chars >= 6 && evidence.independent_runs >= 2)
|
|
105
|
+
(evidence.coverage >= 0.42 && evidence.matched_chars >= 6 && evidence.independent_runs >= 2) ||
|
|
106
|
+
(evidence.matched_chars >= 8 && evidence.independent_runs >= 3 && evidence.distinct_terms >= 3);
|
|
100
107
|
}
|
|
101
108
|
function focusedMatchIsRelevant(query, match) {
|
|
102
109
|
return focusedTextIsRelevant(query, match.item.title, match.item.preview, match.item.file_path);
|
|
@@ -164,6 +171,39 @@ export function sameRequirement(active, next) {
|
|
|
164
171
|
const nextBackground = normalize(next.background);
|
|
165
172
|
return activeTitle === nextTitle && activeBackground === nextBackground;
|
|
166
173
|
}
|
|
174
|
+
const REQUIREMENT_STOP_WORDS = new Set([
|
|
175
|
+
"after", "before", "build", "change", "continue", "debug", "deploy", "ensure", "fix", "implement",
|
|
176
|
+
"issue", "problem", "requirement", "the", "this", "update", "with", "修复", "实现", "继续", "问题", "需求",
|
|
177
|
+
]);
|
|
178
|
+
function requirementTerms(value) {
|
|
179
|
+
const normalized = normalizeRequirementText(value);
|
|
180
|
+
const raw = normalized.match(/[a-z0-9_./:@#-]{3,}|\p{Script=Han}{2,}/gu) ?? [];
|
|
181
|
+
const expanded = raw.flatMap((term) => {
|
|
182
|
+
if (!/\p{Script=Han}/u.test(term) || term.length <= 2)
|
|
183
|
+
return [term];
|
|
184
|
+
return Array.from({ length: term.length - 1 }, (_, index) => term.slice(index, index + 2));
|
|
185
|
+
});
|
|
186
|
+
return new Set(expanded.filter((term) => !REQUIREMENT_STOP_WORDS.has(term)));
|
|
187
|
+
}
|
|
188
|
+
export function requirementOverlapScore(active, next) {
|
|
189
|
+
const left = requirementTerms(`${active.title}\n${active.context_data ?? ""}`);
|
|
190
|
+
const right = requirementTerms(`${next.title}\n${next.background ?? ""}`);
|
|
191
|
+
if (!left.size || !right.size)
|
|
192
|
+
return 0;
|
|
193
|
+
const shared = [...left].filter((term) => right.has(term));
|
|
194
|
+
if (!shared.length)
|
|
195
|
+
return 0;
|
|
196
|
+
const structuredAnchor = shared.some((term) => /[0-9_./:@#-]/u.test(term));
|
|
197
|
+
const sharedHanTerms = shared.filter((term) => /\p{Script=Han}/u.test(term));
|
|
198
|
+
if (!structuredAnchor && shared.length < 2 && sharedHanTerms.length < 2)
|
|
199
|
+
return 0;
|
|
200
|
+
const containment = shared.length / Math.min(left.size, right.size);
|
|
201
|
+
const jaccard = shared.length / new Set([...left, ...right]).size;
|
|
202
|
+
const hanEvidence = sharedHanTerms.length >= 4
|
|
203
|
+
? Math.min(0.8, 0.4 + sharedHanTerms.length * 0.04)
|
|
204
|
+
: 0;
|
|
205
|
+
return Math.min(1, Math.max(jaccard, containment * (structuredAnchor ? 1 : 0.8), hanEvidence));
|
|
206
|
+
}
|
|
167
207
|
function normalizeRequirementText(value) {
|
|
168
208
|
return (value ?? "").normalize("NFKC").trim().replace(/\s+/g, " ").toLocaleLowerCase();
|
|
169
209
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-governance.js","sourceRoot":"","sources":["../src/context-governance.ts"],"names":[],"mappings":"AAiBA,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAChF,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;IAC3E,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ;CACnE,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAA8C;IAC3E,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,wDAAwD,EAAE;IACtF,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,8CAA8C,EAAE;IAC3E,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,qFAAqF,EAAE;IACjH,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,mCAAmC,EAAE;IAClE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,kEAAkE,EAAE;IACjG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,6EAA6E,EAAE;IACxG,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,iFAAiF,EAAE;IACrH,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,mBAAmB,EAAE;IACnD,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,kDAAkD,EAAE;IACnF,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,kIAAkI,EAAE;CAClK,CAAC;AAEF,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,iBAAiB,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAa;IAIjD,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,yBAAyB;SAC5C,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACjD,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,aAAa,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,GAAG,MAAwC;IAClF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC3B,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,0CAA0C,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QACxG,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;QACxD,OAAO,aAAa,IAAI,CAAC,IAAI,aAAa,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa,EAAE,QAAgB;IAO9D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,oCAAoC,CAAC,IAAI,EAAE,CAAC;IAC9F,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,SAAS;YAC3C,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,SAAS;YAC1C,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;YAC/B,eAAe,IAAI,CAAC,CAAC;YACrB,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBAC9E,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;YACD,SAAS;QACX,CAAC;QAED,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;QAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7C,KAAK,IAAI,KAAK,GAAG,QAAQ,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAClD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC;oBAAE,SAAS;gBACtE,KAAK,IAAI,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,EAAE,MAAM,IAAI,CAAC;oBAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YACvF,CAAC;QACH,CAAC;QACD,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAC/C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACvD,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAAE,eAAe,IAAI,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW,EAAE,UAAU;QACvB,aAAa,EAAE,YAAY;QAC3B,QAAQ,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxD,gBAAgB,EAAE,eAAe;QACjC,gBAAgB,EAAE,eAAe;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAa,EACb,GAAG,MAAwC;IAE3C,MAAM,eAAe,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,IAAI,CAAC,eAAe;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,wBAAwB,CAAC,GAAG,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC1D,IAAI,QAAQ,CAAC,gBAAgB;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,QAAQ,CAAC,WAAW,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC,QAAQ,KAAK,CAAC,CAAC;IAC9D,OAAO,QAAQ,CAAC,QAAQ,IAAI,IAAI;QAC9B,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,IAAI,QAAQ,CAAC,aAAa,IAAI,CAAC,IAAI,QAAQ,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa,EAAE,KAAwB;IACrE,OAAO,qBAAqB,CAC1B,KAAK,EACL,KAAK,CAAC,IAAI,CAAC,KAAK,EAChB,KAAK,CAAC,IAAI,CAAC,OAAO,EAClB,KAAK,CAAC,IAAI,CAAC,SAAS,CACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,KAAa,EACb,MAAgB;IAEhB,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IACvF,OAAO;QACL,GAAG,MAAM;QACT,OAAO;QACP,gBAAgB,EAAE,KAAK;QACvB,gBAAgB,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,OAAgC,EAAE,GAAW;IAC3D,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,OAAgC,EAChC,IAKC;IAED,MAAM,oBAAoB,GAAG;QAC3B,oBAAoB;QACpB,eAAe;QACf,aAAa;QACb,mBAAmB;QACnB,iBAAiB;QACjB,uBAAuB;KACxB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAEtC,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,YAAY;QACvB,eAAe,EACb,IAAI,CAAC,YAAY,KAAK,MAAM;YAC5B,IAAI,CAAC,eAAe;YACpB,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC;YAChC,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC;QACnC,cAAc,EACZ,IAAI,CAAC,YAAY,KAAK,MAAM;YAC5B,IAAI,CAAC,cAAc;YACnB,oBAAoB;QACtB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;KACxC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,QAAgB;IAIhE,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAE/D,MAAM,MAAM,GAAG,8FAA8F,CAAC;IAC9G,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC;QAC3D,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC;QACnC,CAAC,CAAC,SAAS,CACZ,CAAC,OAAO,EAAE,CAAC;IACZ,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,GAAG,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,MAAiF,EACjF,IAA6E;IAE7E,MAAM,SAAS,GAAG,wBAAwB,CAAC;IAC3C,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,aAAa,IAAI,WAAW,EAAE,CAAC;QACjC,IAAI,aAAa,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;IAC3F,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClD,OAAO,WAAW,KAAK,SAAS,IAAI,gBAAgB,KAAK,cAAc,CAAC;AAC1E,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAgC;IAChE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,iBAAiB,EAAE,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAiF,EACjF,IAA6E;IAE7E,OAAO,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,KAAa,EAAE,UAA0B;IACxF,OAAO,GAAG,KAAK,KAAK,UAAU,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,iBAAiB,EAAE,CAAC;AAC3G,CAAC"}
|
|
1
|
+
{"version":3,"file":"context-governance.js","sourceRoot":"","sources":["../src/context-governance.ts"],"names":[],"mappings":"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"}
|
package/dist/file-indexing.js
CHANGED
|
@@ -4,6 +4,7 @@ import { INDEX_MAX_CODE_BYTES, INDEX_MAX_DOC_BYTES, INDEX_SKIP_MINIFIED, PENDING
|
|
|
4
4
|
import { getContentChunkKind, isContentIndexableFile, isSymbolIndexableFile, looksLikeGeneratedFile, looksLikeMinifiedBundle, shouldIgnorePath, } from "./path-rules.js";
|
|
5
5
|
import { extractSymbols } from "./symbols.js";
|
|
6
6
|
import { logActivity } from "./activity-log.js";
|
|
7
|
+
import { sanitizePersistentMemoryText } from "./memory-safety.js";
|
|
7
8
|
import { safeJson } from "./tool-output.js";
|
|
8
9
|
import { resolvePathWithinRoot } from "./path-containment.js";
|
|
9
10
|
let fileIndexingContext = null;
|
|
@@ -276,7 +277,8 @@ export function indexFile(absPath, reason) {
|
|
|
276
277
|
logActivity("index_skip", { file_path: filePath, reason: "generated_file", bytes: stat.size });
|
|
277
278
|
return;
|
|
278
279
|
}
|
|
279
|
-
const
|
|
280
|
+
const sanitizedContent = sanitizePersistentMemoryText(content);
|
|
281
|
+
const symbols = indexSymbols ? extractSymbols(absPath, sanitizedContent.text) : [];
|
|
280
282
|
let chunkCount = 0;
|
|
281
283
|
try {
|
|
282
284
|
getDb().transaction(() => {
|
|
@@ -285,7 +287,7 @@ export function indexFile(absPath, reason) {
|
|
|
285
287
|
else
|
|
286
288
|
getDeleteSymbolsForFileStatement().run(filePath);
|
|
287
289
|
if (indexContent)
|
|
288
|
-
chunkCount = replaceFileContentChunks(filePath, absPath,
|
|
290
|
+
chunkCount = replaceFileContentChunks(filePath, absPath, sanitizedContent.text);
|
|
289
291
|
else
|
|
290
292
|
getDeleteFileChunkItemsStatement().run(filePath);
|
|
291
293
|
})();
|
|
@@ -300,6 +302,8 @@ export function indexFile(absPath, reason) {
|
|
|
300
302
|
symbols: symbols.length,
|
|
301
303
|
chunks: chunkCount,
|
|
302
304
|
bytes: stat.size,
|
|
305
|
+
secret_redaction_applied: sanitizedContent.redacted,
|
|
306
|
+
secret_redaction_categories: sanitizedContent.categories,
|
|
303
307
|
});
|
|
304
308
|
}
|
|
305
309
|
export function removeFileIndexes(absPath) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-indexing.js","sourceRoot":"","sources":["../src/file-indexing.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file-indexing.js","sourceRoot":"","sources":["../src/file-indexing.ts"],"names":[],"mappings":"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"}
|
package/dist/memory-recall.d.ts
CHANGED
|
@@ -43,6 +43,12 @@ type SemanticSearchOpts = {
|
|
|
43
43
|
includeContent: boolean;
|
|
44
44
|
previewChars: number;
|
|
45
45
|
contentMaxChars: number;
|
|
46
|
+
matchFilter?: (item: {
|
|
47
|
+
title: string | null;
|
|
48
|
+
content: string;
|
|
49
|
+
file_path: string | null;
|
|
50
|
+
}) => boolean;
|
|
51
|
+
dedupeByRequirement?: boolean;
|
|
46
52
|
};
|
|
47
53
|
export declare const BOOTSTRAP_DEFAULT_CONTEXT_KINDS: string[];
|
|
48
54
|
export declare function parseMetadataJson(metadata: string | null | undefined): Record<string, unknown>;
|
package/dist/memory-recall.js
CHANGED
|
@@ -209,30 +209,39 @@ function normalizeSearchText(input) {
|
|
|
209
209
|
}
|
|
210
210
|
function extractSearchTokens(raw) {
|
|
211
211
|
const text = normalizeSearchText(raw);
|
|
212
|
-
const tokens =
|
|
212
|
+
const tokens = [];
|
|
213
|
+
const seen = new Set();
|
|
214
|
+
const add = (token) => {
|
|
215
|
+
if (token.length < 2 || SEMANTIC_TOKEN_STOPWORDS.has(token) || seen.has(token))
|
|
216
|
+
return;
|
|
217
|
+
seen.add(token);
|
|
218
|
+
tokens.push(token);
|
|
219
|
+
};
|
|
213
220
|
for (const token of text.match(/[a-z0-9_./:@#-]{2,}/g) ?? []) {
|
|
214
|
-
|
|
215
|
-
tokens.add(token);
|
|
221
|
+
add(token);
|
|
216
222
|
for (const part of token.split(/[^a-z0-9]+/).filter((p) => p.length >= 2)) {
|
|
217
|
-
|
|
218
|
-
tokens.add(part);
|
|
223
|
+
add(part);
|
|
219
224
|
}
|
|
220
225
|
}
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
226
|
+
const hanSequences = text.match(/\p{Script=Han}+/gu) ?? [];
|
|
227
|
+
for (const seq of hanSequences) {
|
|
228
|
+
if (seq.length <= 18)
|
|
229
|
+
add(seq);
|
|
230
|
+
}
|
|
231
|
+
// Round-robin n-grams keep later clauses represented instead of letting the
|
|
232
|
+
// first long Chinese clause consume the entire bounded token budget.
|
|
233
|
+
for (const width of [2, 3, 4]) {
|
|
234
|
+
const maxOffset = Math.max(0, ...hanSequences.map((seq) => seq.length - width));
|
|
235
|
+
for (let offset = 0; offset <= maxOffset; offset++) {
|
|
236
|
+
for (const seq of hanSequences) {
|
|
237
|
+
if (offset + width <= seq.length)
|
|
238
|
+
add(seq.slice(offset, offset + width));
|
|
239
|
+
if (tokens.length >= 48)
|
|
240
|
+
return tokens;
|
|
229
241
|
}
|
|
230
242
|
}
|
|
231
243
|
}
|
|
232
|
-
return
|
|
233
|
-
.filter((token) => token.length >= 2 && !SEMANTIC_TOKEN_STOPWORDS.has(token))
|
|
234
|
-
.sort((a, b) => b.length - a.length)
|
|
235
|
-
.slice(0, 48);
|
|
244
|
+
return tokens.slice(0, 48);
|
|
236
245
|
}
|
|
237
246
|
function countNeedleOccurrences(haystack, needle) {
|
|
238
247
|
if (!haystack || !needle)
|
|
@@ -299,15 +308,26 @@ function mergeSemanticMatches(sets, opts) {
|
|
|
299
308
|
best.set(match.item.id, match);
|
|
300
309
|
}
|
|
301
310
|
}
|
|
302
|
-
|
|
303
|
-
.sort((a, b) => b.score - a.score || b.item.id - a.item.id)
|
|
304
|
-
|
|
311
|
+
const ranked = Array.from(best.values())
|
|
312
|
+
.sort((a, b) => b.score - a.score || b.item.id - a.item.id);
|
|
313
|
+
return dedupeSemanticMatches(ranked, opts).slice(0, opts.topK);
|
|
314
|
+
}
|
|
315
|
+
function dedupeSemanticMatches(matches, opts) {
|
|
316
|
+
if (!opts.dedupeByRequirement)
|
|
317
|
+
return matches;
|
|
318
|
+
const seen = new Set();
|
|
319
|
+
return matches.filter((match) => {
|
|
320
|
+
const key = match.item.req_id != null ? `req:${match.item.req_id}` : `item:${match.item.id}`;
|
|
321
|
+
if (seen.has(key))
|
|
322
|
+
return false;
|
|
323
|
+
seen.add(key);
|
|
324
|
+
return true;
|
|
325
|
+
});
|
|
305
326
|
}
|
|
306
327
|
function filterAndRankSemanticRows(rows, scoreOf, opts) {
|
|
307
328
|
const explicitKinds = new Set(opts.kinds ?? []);
|
|
308
|
-
|
|
309
|
-
.
|
|
310
|
-
.filter(({ row }) => {
|
|
329
|
+
const ranked = rows
|
|
330
|
+
.filter((row) => {
|
|
311
331
|
if (isHiddenFromDefaultRecall(row))
|
|
312
332
|
return false;
|
|
313
333
|
if (isObviouslyCorruptedText(row.title, row.content, row.file_path))
|
|
@@ -320,11 +340,18 @@ function filterAndRankSemanticRows(rows, scoreOf, opts) {
|
|
|
320
340
|
return false;
|
|
321
341
|
if (shouldIgnoreDbFilePath(row.file_path) && row.kind !== "change_intent")
|
|
322
342
|
return false;
|
|
343
|
+
if (opts.matchFilter && !opts.matchFilter({
|
|
344
|
+
title: row.title,
|
|
345
|
+
content: row.content,
|
|
346
|
+
file_path: row.file_path,
|
|
347
|
+
}))
|
|
348
|
+
return false;
|
|
323
349
|
return true;
|
|
324
350
|
})
|
|
351
|
+
.map((r) => ({ row: r, score: adjustSemanticScore(r, scoreOf(r)) }))
|
|
325
352
|
.sort((a, b) => b.score - a.score)
|
|
326
|
-
.slice(0, opts.topK)
|
|
327
353
|
.map(({ row, score }) => toSemanticMatch(row, score, opts.includeContent, opts.previewChars, opts.contentMaxChars));
|
|
354
|
+
return dedupeSemanticMatches(ranked, opts).slice(0, opts.topK);
|
|
328
355
|
}
|
|
329
356
|
export function makePreviewText(content, max) {
|
|
330
357
|
if (max <= 0)
|
|
@@ -648,35 +675,10 @@ function tokenSearchInternal(opts) {
|
|
|
648
675
|
if (!tokens.length)
|
|
649
676
|
return { query: q, top_k: opts.topK, mode: "token", matches: [] };
|
|
650
677
|
const rawLimit = Math.min(160, Math.max(opts.topK * 12, 80));
|
|
651
|
-
const searchTokens = tokens.slice(0, 8);
|
|
652
678
|
const effectiveKinds = opts.kinds?.length ? opts.kinds : TOKEN_SEARCH_DEFAULT_KINDS;
|
|
653
|
-
const kindClause = effectiveKinds.length
|
|
654
|
-
? `AND kind IN (${effectiveKinds.map(() => "?").join(", ")})`
|
|
655
|
-
: "";
|
|
656
|
-
const recencyBoost = `
|
|
657
|
-
+ CASE
|
|
658
|
-
WHEN updated_at >= datetime('now', '-2 days') THEN 4
|
|
659
|
-
WHEN updated_at >= datetime('now', '-14 days') THEN 2
|
|
660
|
-
WHEN updated_at >= datetime('now', '-60 days') THEN 1
|
|
661
|
-
ELSE 0
|
|
662
|
-
END`;
|
|
663
|
-
const candidateScore = `
|
|
664
|
-
(
|
|
665
|
-
CASE kind
|
|
666
|
-
WHEN 'decision' THEN 9
|
|
667
|
-
WHEN 'memory_compaction' THEN 8
|
|
668
|
-
WHEN 'convention' THEN 7
|
|
669
|
-
WHEN 'project_summary' THEN 6
|
|
670
|
-
WHEN 'note' THEN 5
|
|
671
|
-
WHEN 'requirement' THEN 4
|
|
672
|
-
WHEN 'change_intent' THEN 3
|
|
673
|
-
ELSE 0
|
|
674
|
-
END
|
|
675
|
-
${recencyBoost}
|
|
676
|
-
)`;
|
|
677
679
|
const includesIndexedChunks = effectiveKinds.some((k) => k === "code_chunk" || k === "doc_chunk");
|
|
678
680
|
if (!includesIndexedChunks) {
|
|
679
|
-
const
|
|
681
|
+
const placeholders = effectiveKinds.map(() => "?").join(", ");
|
|
680
682
|
const stmt = getDb().prepare(`
|
|
681
683
|
SELECT
|
|
682
684
|
id,
|
|
@@ -690,15 +692,9 @@ function tokenSearchInternal(opts) {
|
|
|
690
692
|
metadata_json,
|
|
691
693
|
updated_at
|
|
692
694
|
FROM memory_items
|
|
693
|
-
WHERE
|
|
694
|
-
${kindClause}
|
|
695
|
-
ORDER BY
|
|
696
|
-
${candidateScore} DESC,
|
|
697
|
-
updated_at DESC,
|
|
698
|
-
id DESC
|
|
699
|
-
LIMIT ?
|
|
695
|
+
WHERE kind IN (${placeholders})
|
|
700
696
|
`);
|
|
701
|
-
const candidates = stmt.all(...effectiveKinds
|
|
697
|
+
const candidates = stmt.all(...effectiveKinds);
|
|
702
698
|
const scoreMap = new Map();
|
|
703
699
|
const rows = candidates.filter((row) => {
|
|
704
700
|
const score = tokenLexicalScore(row, q, tokens);
|
|
@@ -711,11 +707,10 @@ function tokenSearchInternal(opts) {
|
|
|
711
707
|
return { query: q, top_k: opts.topK, mode: "token", matches };
|
|
712
708
|
}
|
|
713
709
|
const memoryFirstKinds = effectiveKinds.filter((k) => k !== "code_chunk" && k !== "doc_chunk");
|
|
714
|
-
const memoryFirstLimit = Math.min(1200, Math.max(rawLimit * 4, 300));
|
|
715
710
|
let memoryFirstRows = [];
|
|
716
711
|
const memoryFirstScores = new Map();
|
|
717
712
|
if (memoryFirstKinds.length) {
|
|
718
|
-
const
|
|
713
|
+
const memoryKindPlaceholders = memoryFirstKinds.map(() => "?").join(", ");
|
|
719
714
|
const memoryStmt = getDb().prepare(`
|
|
720
715
|
SELECT
|
|
721
716
|
id,
|
|
@@ -729,15 +724,9 @@ function tokenSearchInternal(opts) {
|
|
|
729
724
|
metadata_json,
|
|
730
725
|
updated_at
|
|
731
726
|
FROM memory_items
|
|
732
|
-
WHERE
|
|
733
|
-
${memoryKindClause}
|
|
734
|
-
ORDER BY
|
|
735
|
-
${candidateScore} DESC,
|
|
736
|
-
updated_at DESC,
|
|
737
|
-
id DESC
|
|
738
|
-
LIMIT ?
|
|
727
|
+
WHERE kind IN (${memoryKindPlaceholders})
|
|
739
728
|
`);
|
|
740
|
-
const candidates = memoryStmt.all(...memoryFirstKinds
|
|
729
|
+
const candidates = memoryStmt.all(...memoryFirstKinds);
|
|
741
730
|
memoryFirstRows = candidates.filter((row) => {
|
|
742
731
|
const score = tokenLexicalScore(row, q, tokens);
|
|
743
732
|
if (score <= 0)
|
|
@@ -746,41 +735,23 @@ function tokenSearchInternal(opts) {
|
|
|
746
735
|
return true;
|
|
747
736
|
});
|
|
748
737
|
}
|
|
749
|
-
const
|
|
750
|
-
const
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
738
|
+
const indexedKinds = effectiveKinds.filter((k) => k === "code_chunk" || k === "doc_chunk");
|
|
739
|
+
const ftsTokens = tokens.filter((token) => token.length >= 3).slice(0, 24);
|
|
740
|
+
let rows = [];
|
|
741
|
+
if (indexedKinds.length && ftsTokens.length && isFtsAvailable()) {
|
|
742
|
+
const ftsQuery = ftsTokens.map((token) => `"${token.replaceAll('"', '""')}"`).join(" OR ");
|
|
743
|
+
const indexedKindPlaceholders = indexedKinds.map(() => "?").join(", ");
|
|
744
|
+
rows = getDb().prepare(`
|
|
745
|
+
SELECT m.id, m.kind, m.title, m.content, m.file_path, m.start_line, m.end_line,
|
|
746
|
+
m.req_id, m.metadata_json, m.updated_at
|
|
747
|
+
FROM ${MEMORY_ITEMS_FTS_TABLE}
|
|
748
|
+
JOIN memory_items m ON m.id = ${MEMORY_ITEMS_FTS_TABLE}.rowid
|
|
749
|
+
WHERE ${MEMORY_ITEMS_FTS_TABLE} MATCH ?
|
|
750
|
+
AND m.kind IN (${indexedKindPlaceholders})
|
|
751
|
+
ORDER BY bm25(${MEMORY_ITEMS_FTS_TABLE}) ASC
|
|
752
|
+
LIMIT ?
|
|
753
|
+
`).all(ftsQuery, ...indexedKinds, rawLimit);
|
|
759
754
|
}
|
|
760
|
-
if (!conditions.length)
|
|
761
|
-
return { query: q, top_k: opts.topK, mode: "token", matches: [] };
|
|
762
|
-
const stmt = getDb().prepare(`
|
|
763
|
-
SELECT
|
|
764
|
-
id,
|
|
765
|
-
kind,
|
|
766
|
-
title,
|
|
767
|
-
content,
|
|
768
|
-
file_path,
|
|
769
|
-
start_line,
|
|
770
|
-
end_line,
|
|
771
|
-
req_id,
|
|
772
|
-
metadata_json,
|
|
773
|
-
updated_at
|
|
774
|
-
FROM memory_items
|
|
775
|
-
WHERE (${conditions.join(" OR ")})
|
|
776
|
-
${kindClause}
|
|
777
|
-
ORDER BY
|
|
778
|
-
${candidateScore} DESC,
|
|
779
|
-
updated_at DESC,
|
|
780
|
-
id DESC
|
|
781
|
-
LIMIT ?
|
|
782
|
-
`);
|
|
783
|
-
const rows = stmt.all(...values, ...effectiveKinds, rawLimit);
|
|
784
755
|
const scoreMap = new Map(memoryFirstScores);
|
|
785
756
|
for (const row of rows) {
|
|
786
757
|
if (!scoreMap.has(row.id))
|