aifastdb-devplan 1.6.1 → 1.6.3
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/dist/dev-plan-document-store.d.ts +13 -1
- package/dist/dev-plan-document-store.d.ts.map +1 -1
- package/dist/dev-plan-document-store.js +119 -0
- package/dist/dev-plan-document-store.js.map +1 -1
- package/dist/dev-plan-factory.d.ts.map +1 -1
- package/dist/dev-plan-factory.js +3 -1
- package/dist/dev-plan-factory.js.map +1 -1
- package/dist/dev-plan-graph-store.d.ts +341 -9
- package/dist/dev-plan-graph-store.d.ts.map +1 -1
- package/dist/dev-plan-graph-store.js +2414 -210
- package/dist/dev-plan-graph-store.js.map +1 -1
- package/dist/dev-plan-interface.d.ts +119 -1
- package/dist/dev-plan-interface.d.ts.map +1 -1
- package/dist/dev-plan-migrate.d.ts +1 -0
- package/dist/dev-plan-migrate.d.ts.map +1 -1
- package/dist/dev-plan-migrate.js +28 -2
- package/dist/dev-plan-migrate.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp-server/index.js +652 -0
- package/dist/mcp-server/index.js.map +1 -1
- package/dist/shard-config.d.ts +64 -0
- package/dist/shard-config.d.ts.map +1 -0
- package/dist/shard-config.js +109 -0
- package/dist/shard-config.js.map +1 -0
- package/dist/types.d.ts +305 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/visualize/graph-canvas/api-compat.d.ts.map +1 -1
- package/dist/visualize/graph-canvas/api-compat.js +22 -12
- package/dist/visualize/graph-canvas/api-compat.js.map +1 -1
- package/dist/visualize/graph-canvas/core.d.ts.map +1 -1
- package/dist/visualize/graph-canvas/core.js +296 -4
- package/dist/visualize/graph-canvas/core.js.map +1 -1
- package/dist/visualize/graph-canvas/interaction.d.ts.map +1 -1
- package/dist/visualize/graph-canvas/interaction.js +11 -0
- package/dist/visualize/graph-canvas/interaction.js.map +1 -1
- package/dist/visualize/graph-canvas/layout-worker.d.ts.map +1 -1
- package/dist/visualize/graph-canvas/layout-worker.js +45 -9
- package/dist/visualize/graph-canvas/layout-worker.js.map +1 -1
- package/dist/visualize/graph-canvas/renderer.d.ts.map +1 -1
- package/dist/visualize/graph-canvas/renderer.js +164 -33
- package/dist/visualize/graph-canvas/renderer.js.map +1 -1
- package/dist/visualize/graph-canvas/styles.d.ts.map +1 -1
- package/dist/visualize/graph-canvas/styles.js +146 -121
- package/dist/visualize/graph-canvas/styles.js.map +1 -1
- package/dist/visualize/graph-canvas/viewport.d.ts.map +1 -1
- package/dist/visualize/graph-canvas/viewport.js +10 -0
- package/dist/visualize/graph-canvas/viewport.js.map +1 -1
- package/dist/visualize/server.js +371 -32
- package/dist/visualize/server.js.map +1 -1
- package/dist/visualize/template-core.d.ts +9 -0
- package/dist/visualize/template-core.d.ts.map +1 -0
- package/dist/visualize/template-core.js +721 -0
- package/dist/visualize/template-core.js.map +1 -0
- package/dist/visualize/template-data-loading.d.ts +7 -0
- package/dist/visualize/template-data-loading.d.ts.map +1 -0
- package/dist/visualize/template-data-loading.js +677 -0
- package/dist/visualize/template-data-loading.js.map +1 -0
- package/dist/visualize/template-detail-panel.d.ts +14 -0
- package/dist/visualize/template-detail-panel.d.ts.map +1 -0
- package/dist/visualize/template-detail-panel.js +624 -0
- package/dist/visualize/template-detail-panel.js.map +1 -0
- package/dist/visualize/template-graph-3d.d.ts +7 -0
- package/dist/visualize/template-graph-3d.d.ts.map +1 -0
- package/dist/visualize/template-graph-3d.js +1114 -0
- package/dist/visualize/template-graph-3d.js.map +1 -0
- package/dist/visualize/template-graph-vis.d.ts +8 -0
- package/dist/visualize/template-graph-vis.d.ts.map +1 -0
- package/dist/visualize/template-graph-vis.js +1215 -0
- package/dist/visualize/template-graph-vis.js.map +1 -0
- package/dist/visualize/template-html.d.ts +9 -0
- package/dist/visualize/template-html.d.ts.map +1 -0
- package/dist/visualize/template-html.js +635 -0
- package/dist/visualize/template-html.js.map +1 -0
- package/dist/visualize/template-md-viewer.d.ts +11 -0
- package/dist/visualize/template-md-viewer.d.ts.map +1 -0
- package/dist/visualize/template-md-viewer.js +806 -0
- package/dist/visualize/template-md-viewer.js.map +1 -0
- package/dist/visualize/template-pages.d.ts +7 -0
- package/dist/visualize/template-pages.d.ts.map +1 -0
- package/dist/visualize/template-pages.js +1892 -0
- package/dist/visualize/template-pages.js.map +1 -0
- package/dist/visualize/template-stats-modal.d.ts +7 -0
- package/dist/visualize/template-stats-modal.d.ts.map +1 -0
- package/dist/visualize/template-stats-modal.js +466 -0
- package/dist/visualize/template-stats-modal.js.map +1 -0
- package/dist/visualize/template-styles.d.ts +9 -0
- package/dist/visualize/template-styles.d.ts.map +1 -0
- package/dist/visualize/template-styles.js +623 -0
- package/dist/visualize/template-styles.js.map +1 -0
- package/dist/visualize/template.d.ts +15 -3
- package/dist/visualize/template.d.ts.map +1 -1
- package/dist/visualize/template.js +44 -3475
- package/dist/visualize/template.js.map +1 -1
- package/package.json +2 -2
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* - Relation 类型: has_document, has_main_task, has_sub_task, module_has_task, module_has_doc
|
|
16
16
|
*/
|
|
17
17
|
import type { IDevPlanStore } from './dev-plan-interface';
|
|
18
|
-
import type { DevPlanSection, DevPlanDocInput, DevPlanDoc, DevPlanDocTree, MainTaskInput, MainTask, SubTaskInput, SubTask, CompleteSubTaskResult, ProjectProgress, ModuleInput, Module, ModuleDetail, ModuleStatus, TaskStatus, TaskPriority, SyncGitResult, DevPlanGraphStoreConfig, DevPlanExportedGraph, SearchMode, ScoredDevPlanDoc, RebuildIndexResult } from './types';
|
|
18
|
+
import type { DevPlanSection, DevPlanDocInput, DevPlanDoc, DevPlanDocTree, MainTaskInput, MainTask, SubTaskInput, SubTask, CompleteSubTaskResult, ProjectProgress, ModuleInput, Module, ModuleDetail, ModuleStatus, TaskStatus, TaskPriority, SyncGitResult, DevPlanGraphStoreConfig, DevPlanExportedGraph, DevPlanPaginatedGraph, EntityGroupAggregation, SearchMode, ScoredDevPlanDoc, RebuildIndexResult, PromptInput, Prompt, MemoryInput, Memory, MemoryType, ScoredMemory, MemoryContext, MemoryGenerateResult } from './types';
|
|
19
19
|
/**
|
|
20
20
|
* 基于 SocialGraphV2 的开发计划存储
|
|
21
21
|
*
|
|
@@ -42,24 +42,50 @@ export declare class DevPlanGraphStore implements IDevPlanStore {
|
|
|
42
42
|
*/
|
|
43
43
|
private initSynapse;
|
|
44
44
|
/**
|
|
45
|
-
*
|
|
45
|
+
* WAL 目录迁移 + 分片目录补全。
|
|
46
46
|
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
47
|
+
* 1. 旧名重命名(幂等):
|
|
48
|
+
* - shard_0_entities → shard_0_tasks
|
|
49
|
+
* - shard_2_index → shard_2_docs
|
|
50
|
+
* - shard_3_meta → shard_3_modules
|
|
51
|
+
*
|
|
52
|
+
* 2. 确保所有预期的分片目录存在(Phase-36: shard_5_memory):
|
|
53
|
+
* SocialGraphV2 (Rust) 根据磁盘上的目录数确定分片数量,
|
|
54
|
+
* 如果新增分片目录不存在会导致 index out of bounds panic。
|
|
55
|
+
* 因此必须在 SocialGraphV2 构造之前创建缺失的目录。
|
|
52
56
|
*
|
|
53
57
|
* 该方法必须在 `new SocialGraphV2(config)` 之前调用。
|
|
54
|
-
* 幂等:如果旧目录不存在或新目录已存在则跳过。
|
|
55
58
|
*/
|
|
56
59
|
private static migrateWalDirNames;
|
|
57
60
|
private ensureProjectEntity;
|
|
58
61
|
private findProjectEntity;
|
|
59
62
|
private getProjectId;
|
|
63
|
+
/** 任务状态优先级映射(用于去重时选择"胜出"实体) */
|
|
64
|
+
private static readonly STATUS_PRIORITY;
|
|
65
|
+
/**
|
|
66
|
+
* 通用 Entity 去重:按指定 property key 分组,每组只保留"最优"实体。
|
|
67
|
+
*
|
|
68
|
+
* 胜出规则:
|
|
69
|
+
* 1. status 优先级高者胜(completed > in_progress > pending > cancelled)
|
|
70
|
+
* 2. 同 status 时 updatedAt 最新者胜
|
|
71
|
+
*
|
|
72
|
+
* 适用于 mainTask(按 taskId 去重)、subTask(按 taskId 去重)、
|
|
73
|
+
* module(按 moduleId 去重)等场景。
|
|
74
|
+
*/
|
|
75
|
+
private deduplicateEntities;
|
|
76
|
+
/**
|
|
77
|
+
* 查找所有重复 Entity(按指定 property key 分组,返回非胜出者列表)。
|
|
78
|
+
* 用于清理 WAL 中的冗余记录。
|
|
79
|
+
*/
|
|
80
|
+
private findDuplicateEntities;
|
|
60
81
|
/** 按 entityType 列出所有实体并按属性过滤 */
|
|
61
82
|
private findEntitiesByType;
|
|
62
|
-
/**
|
|
83
|
+
/**
|
|
84
|
+
* 按属性在指定类型中查找唯一实体。
|
|
85
|
+
*
|
|
86
|
+
* Phase-21 改进:当同一 key+value 有多个 Entity(WAL 重复),
|
|
87
|
+
* 选择状态优先级最高 + updatedAt 最新的那个(而非随机第一个)。
|
|
88
|
+
*/
|
|
63
89
|
private findEntityByProp;
|
|
64
90
|
/** 获取实体的出向关系 */
|
|
65
91
|
private getOutRelations;
|
|
@@ -163,6 +189,259 @@ export declare class DevPlanGraphStore implements IDevPlanStore {
|
|
|
163
189
|
* 递归构建文档树
|
|
164
190
|
*/
|
|
165
191
|
private buildDocTree;
|
|
192
|
+
/**
|
|
193
|
+
* 保存一条 Prompt
|
|
194
|
+
*
|
|
195
|
+
* 自动分配 promptIndex (当天内自增序号)。
|
|
196
|
+
* 如果指定了 relatedTaskId,自动建立 task_has_prompt 关系。
|
|
197
|
+
*/
|
|
198
|
+
savePrompt(input: PromptInput): Prompt;
|
|
199
|
+
/**
|
|
200
|
+
* 列出 Prompt(支持按日期、关联任务过滤)
|
|
201
|
+
*/
|
|
202
|
+
listPrompts(filter?: {
|
|
203
|
+
date?: string;
|
|
204
|
+
relatedTaskId?: string;
|
|
205
|
+
limit?: number;
|
|
206
|
+
}): Prompt[];
|
|
207
|
+
/**
|
|
208
|
+
* 获取主任务关联的所有 Prompt
|
|
209
|
+
*/
|
|
210
|
+
getTaskRelatedPrompts(taskId: string): Prompt[];
|
|
211
|
+
/**
|
|
212
|
+
* Entity → Prompt 转换
|
|
213
|
+
*/
|
|
214
|
+
private entityToPrompt;
|
|
215
|
+
/**
|
|
216
|
+
* 保存一条记忆
|
|
217
|
+
*
|
|
218
|
+
* - 记忆存储为 devplan-memory 实体
|
|
219
|
+
* - 如启用语义搜索,自动 embed content 并索引到 HNSW
|
|
220
|
+
* - 关联 project → memory 和可选的 memory → task 关系
|
|
221
|
+
*/
|
|
222
|
+
saveMemory(input: MemoryInput): Memory;
|
|
223
|
+
/**
|
|
224
|
+
* Phase-37→44: 自动建立记忆间语义关联
|
|
225
|
+
*
|
|
226
|
+
* 用向量搜索找到最相似的 N 条已有记忆(minScore >= 0.7),
|
|
227
|
+
* 建立 MEMORY_RELATES 双向关系,权重为 similarity score。
|
|
228
|
+
*
|
|
229
|
+
* Phase-44: 使用 applyMutations 批量创建关系(单次 Rust 调用),
|
|
230
|
+
* 替代逐条 putRelation 的多次跨层调用。
|
|
231
|
+
*/
|
|
232
|
+
private autoLinkSimilarMemories;
|
|
233
|
+
/**
|
|
234
|
+
* Phase-37: 从文档生成的记忆自动建立 MEMORY_FROM_DOC 关系
|
|
235
|
+
*
|
|
236
|
+
* 当 sourceId 格式为 "section" 或 "section|subSection" 时,
|
|
237
|
+
* 找到对应的文档 Entity 并建立 MEMORY_FROM_DOC 关系。
|
|
238
|
+
*/
|
|
239
|
+
private autoLinkMemoryToDoc;
|
|
240
|
+
/**
|
|
241
|
+
* Phase-37: 模块级记忆自动建立 MODULE_MEMORY 关系
|
|
242
|
+
*/
|
|
243
|
+
private autoLinkMemoryToModule;
|
|
244
|
+
/**
|
|
245
|
+
* 查找重复记忆 — 按 relatedTaskId + memoryType 或内容指纹去重
|
|
246
|
+
*
|
|
247
|
+
* 匹配规则(任一命中即视为重复):
|
|
248
|
+
* 1. 相同 relatedTaskId + 相同 memoryType
|
|
249
|
+
* 2. 内容前 80 字符指纹相同 + 相同 memoryType
|
|
250
|
+
*/
|
|
251
|
+
private findDuplicateMemory;
|
|
252
|
+
/**
|
|
253
|
+
* 智能召回记忆 — 语义向量搜索 + 图谱遍历扩展 + RRF 融合
|
|
254
|
+
*
|
|
255
|
+
* Phase-38 增强: 向量搜索结果沿 MEMORY_RELATES 关系扩展,发现关联记忆。
|
|
256
|
+
* 如语义搜索不可用,退化为字面匹配。
|
|
257
|
+
* 命中的记忆自动更新 hitCount 和 lastAccessedAt。
|
|
258
|
+
*/
|
|
259
|
+
recallMemory(query: string, options?: {
|
|
260
|
+
memoryType?: MemoryType;
|
|
261
|
+
limit?: number;
|
|
262
|
+
minScore?: number;
|
|
263
|
+
/** 是否包含文档搜索(统一召回,默认 true) */
|
|
264
|
+
includeDocs?: boolean;
|
|
265
|
+
/** Phase-38: 是否启用图谱关联扩展(默认 true) */
|
|
266
|
+
graphExpand?: boolean;
|
|
267
|
+
}): ScoredMemory[];
|
|
268
|
+
/**
|
|
269
|
+
* 文档 section 类型 → 建议的 memoryType 映射
|
|
270
|
+
*/
|
|
271
|
+
private docSectionToMemoryType;
|
|
272
|
+
/**
|
|
273
|
+
* RRF (Reciprocal Rank Fusion) 合并记忆和文档结果
|
|
274
|
+
*
|
|
275
|
+
* 记忆权重略高(rank 常数更小),因为记忆是经过提炼的知识。
|
|
276
|
+
*/
|
|
277
|
+
private rrfMergeResults;
|
|
278
|
+
/**
|
|
279
|
+
* Phase-38→44: 沿 MEMORY_RELATES 图谱关系扩展发现关联记忆
|
|
280
|
+
*
|
|
281
|
+
* Phase-44 增强: 优先使用 extractSubgraph 在 Rust 层完成 N-hop 遍历,
|
|
282
|
+
* 避免 JS 层逐跳手动查询的 N 次跨层调用开销。
|
|
283
|
+
*
|
|
284
|
+
* 从向量搜索命中的记忆出发,沿 MEMORY_RELATES 关系探索 1-2 跳,
|
|
285
|
+
* 发现未被向量搜索直接命中但图谱关联的记忆。
|
|
286
|
+
* 关联分数 = 原始记忆分数 × 关系权重^depth × 衰减因子
|
|
287
|
+
*/
|
|
288
|
+
private expandMemoriesByGraph;
|
|
289
|
+
/**
|
|
290
|
+
* Phase-44: 用 extractSubgraph 实现高效图谱扩展
|
|
291
|
+
*
|
|
292
|
+
* 对每个种子记忆调用 extractSubgraph(seedId, {max_hops:2, direction:'both',
|
|
293
|
+
* relation_type_filter:['memory_relates'], entity_type_filter:['devplan-memory']}),
|
|
294
|
+
* Rust 层在分片内一次性完成 BFS 遍历,返回子图的 entities + depth_map。
|
|
295
|
+
*/
|
|
296
|
+
private expandMemoriesBySubgraph;
|
|
297
|
+
/**
|
|
298
|
+
* Phase-38 原始实现: 手动逐跳遍历(Fallback)
|
|
299
|
+
*/
|
|
300
|
+
private expandMemoriesByManualTraversal;
|
|
301
|
+
/**
|
|
302
|
+
* Phase-44: 赫布学习 — 共同激活的记忆自动增强连接权重
|
|
303
|
+
*
|
|
304
|
+
* "Neurons that fire together, wire together."
|
|
305
|
+
* 当多条记忆在同一次召回中被共同激活,增强它们之间 MEMORY_RELATES 关系的权重。
|
|
306
|
+
*
|
|
307
|
+
* - 使用 adjustRelationWeight(Rust 原子操作),delta = +0.05
|
|
308
|
+
* - 仅增强已有 MEMORY_RELATES 连接(不创建新连接)
|
|
309
|
+
* - 上限 top5 记忆的 C(5,2) = 10 对,避免大量关系更新
|
|
310
|
+
*/
|
|
311
|
+
private hebbianStrengthen;
|
|
312
|
+
/**
|
|
313
|
+
* Phase-39: 计算记忆热度分数 — 模拟遗忘曲线
|
|
314
|
+
*
|
|
315
|
+
* 综合 hitCount + 时间衰减 + importance,输出 0~1 的热度值。
|
|
316
|
+
* - 高频访问 + 近期访问 → 热度高
|
|
317
|
+
* - 长期未访问 → 热度衰减(半衰期 7 天)
|
|
318
|
+
* - importance 作为基线加成
|
|
319
|
+
*/
|
|
320
|
+
private computeMemoryHotness;
|
|
321
|
+
/**
|
|
322
|
+
* Phase-38 + Phase-39: RRF 融合记忆向量搜索结果和图谱扩展结果
|
|
323
|
+
*
|
|
324
|
+
* Phase-39 增强:热度加权融合 — 每条记忆的 RRF 分数乘以热度系数(0.5~1.5),
|
|
325
|
+
* 高频+近期记忆获得排序提升,冷门记忆自动下沉。
|
|
326
|
+
*/
|
|
327
|
+
private rrfMergeMemories;
|
|
328
|
+
/**
|
|
329
|
+
* 列出记忆(支持过滤)
|
|
330
|
+
*/
|
|
331
|
+
listMemories(filter?: {
|
|
332
|
+
memoryType?: MemoryType;
|
|
333
|
+
relatedTaskId?: string;
|
|
334
|
+
limit?: number;
|
|
335
|
+
}): Memory[];
|
|
336
|
+
/**
|
|
337
|
+
* 删除一条记忆
|
|
338
|
+
*/
|
|
339
|
+
deleteMemory(memoryId: string): boolean;
|
|
340
|
+
/**
|
|
341
|
+
* 批量清除当前项目的所有记忆
|
|
342
|
+
*
|
|
343
|
+
* @param memoryType - 可选:仅清除指定类型的记忆。省略则清除所有。
|
|
344
|
+
* @returns { deleted: number } 实际删除的数量
|
|
345
|
+
*/
|
|
346
|
+
clearAllMemories(memoryType?: MemoryType): {
|
|
347
|
+
deleted: number;
|
|
348
|
+
};
|
|
349
|
+
/**
|
|
350
|
+
* 获取新会话上下文 — 核心工具
|
|
351
|
+
*
|
|
352
|
+
* 聚合以下信息为 Cursor 提供全面的项目上下文:
|
|
353
|
+
* 1. 最近的 in_progress / completed 主任务
|
|
354
|
+
* 2. 与查询相关的记忆(语义召回)
|
|
355
|
+
* 3. 所有 preference 类型记忆
|
|
356
|
+
* 4. 最近的 decision 类型记忆
|
|
357
|
+
*/
|
|
358
|
+
getMemoryContext(query?: string, maxMemories?: number): MemoryContext;
|
|
359
|
+
/**
|
|
360
|
+
* Phase-38: 从进行中的任务出发,通过图谱遍历获取模块级记忆
|
|
361
|
+
*
|
|
362
|
+
* 路径: in_progress task → MODULE_HAS_TASK(反向) → module → MODULE_MEMORY → memories
|
|
363
|
+
*/
|
|
364
|
+
private getModuleMemoriesFromActiveTasks;
|
|
365
|
+
/**
|
|
366
|
+
* Phase-40: 获取记忆主题集群
|
|
367
|
+
*
|
|
368
|
+
* 基于 MEMORY_RELATES 关系图的连通分量检测,自动将语义关联的记忆
|
|
369
|
+
* 聚合为主题集群。每个集群包含一个自动生成的主题标签和成员记忆列表。
|
|
370
|
+
*
|
|
371
|
+
* 算法:BFS 连通分量检测(适合中小规模记忆网络)
|
|
372
|
+
*/
|
|
373
|
+
getMemoryClusters(): Array<{
|
|
374
|
+
clusterId: number;
|
|
375
|
+
theme: string;
|
|
376
|
+
memoryCount: number;
|
|
377
|
+
topMemoryTypes: string[];
|
|
378
|
+
memories: Memory[];
|
|
379
|
+
}>;
|
|
380
|
+
/**
|
|
381
|
+
* 获取任务关联的记忆
|
|
382
|
+
*/
|
|
383
|
+
private getTaskRelatedMemories;
|
|
384
|
+
/**
|
|
385
|
+
* Entity → Memory 转换
|
|
386
|
+
*/
|
|
387
|
+
private entityToMemory;
|
|
388
|
+
/**
|
|
389
|
+
* 记忆生成器 — 从已有文档和已完成任务中提取记忆候选项
|
|
390
|
+
*
|
|
391
|
+
* 聚合逻辑:
|
|
392
|
+
* 1. 任务: 每个已完成阶段 → 1 条 summary 候选项(phase 标题 + 子任务列表)
|
|
393
|
+
* 2. 文档: 每篇文档 → 1 条候选项(section 类型 → 建议 memoryType 映射)
|
|
394
|
+
* 3. 去重: 检查已有记忆,已有记忆的候选项直接跳过不返回
|
|
395
|
+
*
|
|
396
|
+
* AI 收到候选项后,分析 content 并调用 devplan_memory_save 批量生成记忆。
|
|
397
|
+
*/
|
|
398
|
+
/**
|
|
399
|
+
* Phase-44: 运行记忆生命周期扫描 — 基于 DynamicNode 的 promote/demote
|
|
400
|
+
*
|
|
401
|
+
* 调用 SocialGraphV2 的 dynamicScan 对记忆实体执行生命周期管理:
|
|
402
|
+
* - promote: 长期未访问的高热度记忆恢复活跃
|
|
403
|
+
* - demote: 长期未召回的低价值记忆降级为 shadow 状态
|
|
404
|
+
* - shadow 记忆不参与向量搜索,但仍保留在图谱中
|
|
405
|
+
* - 被重新访问时通过 dynamicPromote 恢复
|
|
406
|
+
*
|
|
407
|
+
* @param config 配置选项
|
|
408
|
+
* @returns 扫描报告(promoted/demoted/scanned 计数)
|
|
409
|
+
*/
|
|
410
|
+
runMemoryLifecycle(config?: {
|
|
411
|
+
/** shadow 状态之前的闲置秒数(默认 30 天 = 2592000) */
|
|
412
|
+
demoteIdleTimeoutSecs?: number;
|
|
413
|
+
/** 从 shadow 恢复所需的最小 hitCount(默认 3) */
|
|
414
|
+
promoteHitThreshold?: number;
|
|
415
|
+
}): {
|
|
416
|
+
promoted: number;
|
|
417
|
+
demoted: number;
|
|
418
|
+
scanned: number;
|
|
419
|
+
durationMs: number;
|
|
420
|
+
} | null;
|
|
421
|
+
generateMemoryCandidates(options?: {
|
|
422
|
+
source?: 'tasks' | 'docs' | 'both';
|
|
423
|
+
taskId?: string;
|
|
424
|
+
section?: string;
|
|
425
|
+
subSection?: string;
|
|
426
|
+
limit?: number;
|
|
427
|
+
}): MemoryGenerateResult;
|
|
428
|
+
/**
|
|
429
|
+
* Phase-21: 清理 WAL 中的重复 Entity。
|
|
430
|
+
*
|
|
431
|
+
* 扫描所有实体类型,按业务键去重,删除多余(低优先级)的 Entity。
|
|
432
|
+
* 返回被清理的 Entity 数量和详情。
|
|
433
|
+
*
|
|
434
|
+
* @param dryRun - 若为 true,仅报告而不实际删除
|
|
435
|
+
*/
|
|
436
|
+
cleanupDuplicates(dryRun?: boolean): {
|
|
437
|
+
cleaned: number;
|
|
438
|
+
details: Array<{
|
|
439
|
+
entityType: string;
|
|
440
|
+
propKey: string;
|
|
441
|
+
duplicateId: string;
|
|
442
|
+
keptId: string;
|
|
443
|
+
}>;
|
|
444
|
+
};
|
|
166
445
|
sync(): void;
|
|
167
446
|
getProjectName(): string;
|
|
168
447
|
syncWithGit(dryRun?: boolean): SyncGitResult;
|
|
@@ -176,7 +455,47 @@ export declare class DevPlanGraphStore implements IDevPlanStore {
|
|
|
176
455
|
includeModules?: boolean;
|
|
177
456
|
includeNodeDegree?: boolean;
|
|
178
457
|
enableBackendDegreeFallback?: boolean;
|
|
458
|
+
includePrompts?: boolean;
|
|
179
459
|
}): DevPlanExportedGraph;
|
|
460
|
+
/**
|
|
461
|
+
* 分页导出图谱数据 (Phase-9 T9.1)
|
|
462
|
+
*
|
|
463
|
+
* 利用 Rust 层 SocialGraphV2 的 exportGraphPaginated() 分页 API,
|
|
464
|
+
* 避免全量加载 + 内存切片。真正的分页下推到数据库层。
|
|
465
|
+
*
|
|
466
|
+
* @param offset 分页偏移量
|
|
467
|
+
* @param limit 每页节点数
|
|
468
|
+
* @param options 可选参数
|
|
469
|
+
* @returns 分页图谱数据
|
|
470
|
+
*/
|
|
471
|
+
exportGraphPaginated(offset: number, limit: number, options?: {
|
|
472
|
+
includeDocuments?: boolean;
|
|
473
|
+
includeModules?: boolean;
|
|
474
|
+
includeNodeDegree?: boolean;
|
|
475
|
+
entityTypes?: string[];
|
|
476
|
+
}): DevPlanPaginatedGraph;
|
|
477
|
+
/**
|
|
478
|
+
* 导出紧凑二进制格式 (Phase-9 T9.3)
|
|
479
|
+
*
|
|
480
|
+
* 利用 Rust 层 CompactGraphExport 格式,返回 Buffer。
|
|
481
|
+
* 比 JSON 小 5x+,解析速度接近零。
|
|
482
|
+
*
|
|
483
|
+
* @returns Node.js Buffer 或 null (如果 NAPI 方法不可用)
|
|
484
|
+
*/
|
|
485
|
+
exportGraphCompact(): Buffer | null;
|
|
486
|
+
/**
|
|
487
|
+
* 获取实体组聚合摘要 (Phase-9 T9.4)
|
|
488
|
+
*
|
|
489
|
+
* 利用 Rust 层 group_entities_summary() 返回按类型分组的统计信息。
|
|
490
|
+
* 远比加载全部实体开销小,适合低缩放级别的集群视图。
|
|
491
|
+
*
|
|
492
|
+
* @returns 聚合结果或 null (如果 NAPI 方法不可用)
|
|
493
|
+
*/
|
|
494
|
+
getEntityGroupSummary(): EntityGroupAggregation | null;
|
|
495
|
+
/**
|
|
496
|
+
* Map Rust NodeGroup name to DevPlan node type
|
|
497
|
+
*/
|
|
498
|
+
private mapGroupToDevPlanType;
|
|
180
499
|
/**
|
|
181
500
|
* 获取下一个主任务的 order 值(当前最大 order + 1)
|
|
182
501
|
*/
|
|
@@ -190,6 +509,19 @@ export declare class DevPlanGraphStore implements IDevPlanStore {
|
|
|
190
509
|
*/
|
|
191
510
|
private sortByOrder;
|
|
192
511
|
private refreshMainTaskCounts;
|
|
512
|
+
/**
|
|
513
|
+
* Phase-45: 修复存量数据 — 遍历所有主任务,重新计算子任务计数和自动完成状态。
|
|
514
|
+
* 用于修复因 updateEntity 路由不一致导致的 completedSubtasks=0 和 status=in_progress 的 Bug。
|
|
515
|
+
* @returns 修复报告
|
|
516
|
+
*/
|
|
517
|
+
repairAllMainTaskCounts(): {
|
|
518
|
+
repaired: number;
|
|
519
|
+
autoCompleted: number;
|
|
520
|
+
details: Array<{
|
|
521
|
+
taskId: string;
|
|
522
|
+
action: string;
|
|
523
|
+
}>;
|
|
524
|
+
};
|
|
193
525
|
private autoUpdateMilestones;
|
|
194
526
|
private updateModuleDocRelation;
|
|
195
527
|
private updateModuleTaskRelation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-plan-graph-store.d.ts","sourceRoot":"","sources":["../src/dev-plan-graph-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAaH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"dev-plan-graph-store.d.ts","sourceRoot":"","sources":["../src/dev-plan-graph-store.ts"],"names":[],"mappings":"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"}
|