@zooique/memora 4.0.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +165 -1743
- package/README.en.md +43 -36
- package/README.md +308 -303
- package/dist/agent/agent.d.ts +46 -82
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +153 -220
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/assembler.d.ts +3 -16
- package/dist/agent/assembler.d.ts.map +1 -1
- package/dist/agent/assembler.js +46 -35
- package/dist/agent/assembler.js.map +1 -1
- package/dist/agent/backgroundTasks.d.ts +8 -1
- package/dist/agent/backgroundTasks.d.ts.map +1 -1
- package/dist/agent/backgroundTasks.js +8 -1
- package/dist/agent/backgroundTasks.js.map +1 -1
- package/dist/agent/budget.d.ts +23 -5
- package/dist/agent/budget.d.ts.map +1 -1
- package/dist/agent/budget.js +8 -2
- package/dist/agent/budget.js.map +1 -1
- package/dist/agent/builtinToolHandlers.d.ts +27 -8
- package/dist/agent/builtinToolHandlers.d.ts.map +1 -1
- package/dist/agent/builtinToolHandlers.js +45 -9
- package/dist/agent/builtinToolHandlers.js.map +1 -1
- package/dist/agent/builtinTools.d.ts.map +1 -1
- package/dist/agent/builtinTools.js +4 -3
- package/dist/agent/builtinTools.js.map +1 -1
- package/dist/agent/constants.d.ts +0 -6
- package/dist/agent/constants.d.ts.map +1 -1
- package/dist/agent/constants.js +7 -8
- package/dist/agent/constants.js.map +1 -1
- package/dist/agent/contextManager.d.ts +8 -0
- package/dist/agent/contextManager.d.ts.map +1 -1
- package/dist/agent/contextManager.js +45 -3
- package/dist/agent/contextManager.js.map +1 -1
- package/dist/agent/contextPreparer.d.ts +1 -1
- package/dist/agent/contextPreparer.d.ts.map +1 -1
- package/dist/agent/contextPreparer.js +15 -10
- package/dist/agent/contextPreparer.js.map +1 -1
- package/dist/agent/guardRail.d.ts +1 -1
- package/dist/agent/guardRail.d.ts.map +1 -1
- package/dist/agent/guardRail.js +1 -1
- package/dist/agent/guardRail.js.map +1 -1
- package/dist/agent/loop.d.ts +46 -13
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +128 -25
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/managers/archiveCoordinator.d.ts +15 -3
- package/dist/agent/managers/archiveCoordinator.d.ts.map +1 -1
- package/dist/agent/managers/archiveCoordinator.js +13 -7
- package/dist/agent/managers/archiveCoordinator.js.map +1 -1
- package/dist/agent/managers/chatLockManager.d.ts +3 -9
- package/dist/agent/managers/chatLockManager.d.ts.map +1 -1
- package/dist/agent/managers/chatLockManager.js +7 -25
- package/dist/agent/managers/chatLockManager.js.map +1 -1
- package/dist/agent/managers/llmCaller.d.ts.map +1 -1
- package/dist/agent/managers/llmCaller.js +27 -1
- package/dist/agent/managers/llmCaller.js.map +1 -1
- package/dist/agent/managers/memoryInspector.d.ts +12 -7
- package/dist/agent/managers/memoryInspector.d.ts.map +1 -1
- package/dist/agent/managers/memoryInspector.js +32 -19
- package/dist/agent/managers/memoryInspector.js.map +1 -1
- package/dist/agent/managers/roundSummaryGenerator.d.ts +3 -1
- package/dist/agent/managers/roundSummaryGenerator.d.ts.map +1 -1
- package/dist/agent/managers/roundSummaryGenerator.js +14 -4
- package/dist/agent/managers/roundSummaryGenerator.js.map +1 -1
- package/dist/agent/managers/sessionArchiver.d.ts +20 -6
- package/dist/agent/managers/sessionArchiver.d.ts.map +1 -1
- package/dist/agent/managers/sessionArchiver.js +19 -5
- package/dist/agent/managers/sessionArchiver.js.map +1 -1
- package/dist/agent/managers/sessionManager.d.ts +21 -88
- package/dist/agent/managers/sessionManager.d.ts.map +1 -1
- package/dist/agent/managers/sessionManager.js +77 -278
- package/dist/agent/managers/sessionManager.js.map +1 -1
- package/dist/agent/seed/orchestrator.d.ts.map +1 -1
- package/dist/agent/seed/orchestrator.js +3 -3
- package/dist/agent/seed/orchestrator.js.map +1 -1
- package/dist/agent/seed/prepare.d.ts.map +1 -1
- package/dist/agent/seed/prepare.js +9 -4
- package/dist/agent/seed/prepare.js.map +1 -1
- package/dist/agent/seed/types.d.ts +11 -4
- package/dist/agent/seed/types.d.ts.map +1 -1
- package/dist/agent/seed/types.js +2 -2
- package/dist/agent/toolExecutor.d.ts +51 -6
- package/dist/agent/toolExecutor.d.ts.map +1 -1
- package/dist/agent/toolExecutor.js +74 -9
- package/dist/agent/toolExecutor.js.map +1 -1
- package/dist/agent/toolResultCache.js +1 -1
- package/dist/agent/toolRunner.d.ts +4 -2
- package/dist/agent/toolRunner.d.ts.map +1 -1
- package/dist/agent/toolRunner.js +7 -4
- package/dist/agent/toolRunner.js.map +1 -1
- package/dist/agent/types.d.ts +8 -25
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/index.d.ts +9 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35 -32
- package/dist/index.js.map +1 -1
- package/dist/logging/logger.d.ts +4 -1
- package/dist/logging/logger.d.ts.map +1 -1
- package/dist/logging/logger.js +5 -2
- package/dist/logging/logger.js.map +1 -1
- package/dist/memory/gcService.d.ts.map +1 -1
- package/dist/memory/gcService.js +3 -5
- package/dist/memory/gcService.js.map +1 -1
- package/dist/memory/inMemorySessionStore.d.ts +2 -2
- package/dist/memory/inMemorySessionStore.js +2 -2
- package/dist/memory/inMemoryStorage.d.ts +4 -3
- package/dist/memory/inMemoryStorage.d.ts.map +1 -1
- package/dist/memory/inMemoryStorage.js +2 -2
- package/dist/memory/inMemoryStorage.js.map +1 -1
- package/dist/memory/nodeSqliteStorage.d.ts +17 -0
- package/dist/memory/nodeSqliteStorage.d.ts.map +1 -0
- package/dist/memory/nodeSqliteStorage.js +393 -0
- package/dist/memory/nodeSqliteStorage.js.map +1 -0
- package/dist/memory/projectManager.d.ts +10 -20
- package/dist/memory/projectManager.d.ts.map +1 -1
- package/dist/memory/projectManager.js +27 -41
- package/dist/memory/projectManager.js.map +1 -1
- package/dist/memory/roundStore.d.ts +76 -1
- package/dist/memory/roundStore.d.ts.map +1 -1
- package/dist/memory/roundStore.js.map +1 -1
- package/dist/memory/roundSummaryLookup.d.ts +26 -0
- package/dist/memory/roundSummaryLookup.d.ts.map +1 -0
- package/dist/memory/roundSummaryLookup.js +19 -0
- package/dist/memory/roundSummaryLookup.js.map +1 -0
- package/dist/memory/sessionStore.d.ts +19 -2
- package/dist/memory/sessionStore.d.ts.map +1 -1
- package/dist/memory/sessionStore.js.map +1 -1
- package/dist/memory/sourceValidation.d.ts +2 -13
- package/dist/memory/sourceValidation.d.ts.map +1 -1
- package/dist/memory/sourceValidation.js +5 -16
- package/dist/memory/sourceValidation.js.map +1 -1
- package/dist/memory/storageInterface.d.ts +26 -16
- package/dist/memory/storageInterface.d.ts.map +1 -1
- package/dist/memory/supersedeResolve.d.ts +39 -0
- package/dist/memory/supersedeResolve.d.ts.map +1 -0
- package/dist/memory/supersedeResolve.js +16 -0
- package/dist/memory/supersedeResolve.js.map +1 -0
- package/dist/memory/types.d.ts +3 -2
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/memory/types.js +2 -1
- package/dist/memory/types.js.map +1 -1
- package/dist/role-pack/rolePackManager.d.ts +33 -24
- package/dist/role-pack/rolePackManager.d.ts.map +1 -1
- package/dist/role-pack/rolePackManager.js +48 -42
- package/dist/role-pack/rolePackManager.js.map +1 -1
- package/dist/role-pack/strategyKeys.d.ts +8 -0
- package/dist/role-pack/strategyKeys.d.ts.map +1 -1
- package/dist/role-pack/strategyKeys.js +10 -0
- package/dist/role-pack/strategyKeys.js.map +1 -1
- package/dist/role-pack/strategyResolver.d.ts +6 -1
- package/dist/role-pack/strategyResolver.d.ts.map +1 -1
- package/dist/role-pack/strategyResolver.js +20 -2
- package/dist/role-pack/strategyResolver.js.map +1 -1
- package/dist/role-pack/types.d.ts +5 -1
- package/dist/role-pack/types.d.ts.map +1 -1
- package/dist/security/pathGuard.d.ts +1 -1
- package/dist/security/pathGuard.d.ts.map +1 -1
- package/dist/security/pathGuard.js +1 -1
- package/dist/security/pathGuard.js.map +1 -1
- package/dist/utils/backgroundTask.d.ts +56 -34
- package/dist/utils/backgroundTask.d.ts.map +1 -1
- package/dist/utils/backgroundTask.js +130 -99
- package/dist/utils/backgroundTask.js.map +1 -1
- package/dist/utils/errors.d.ts +3 -2
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +3 -2
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/eventEmitter.d.ts +20 -22
- package/dist/utils/eventEmitter.d.ts.map +1 -1
- package/dist/utils/eventEmitter.js +0 -3
- package/dist/utils/eventEmitter.js.map +1 -1
- package/dist/utils/time.d.ts +3 -3
- package/dist/utils/time.d.ts.map +1 -1
- package/dist/utils/time.js +3 -3
- package/dist/utils/time.js.map +1 -1
- package/dist/utils/toError.d.ts +1 -1
- package/dist/utils/toError.js +1 -1
- package/dist/web-fetch/loginWall.d.ts +39 -0
- package/dist/web-fetch/loginWall.d.ts.map +1 -0
- package/dist/web-fetch/loginWall.js +78 -0
- package/dist/web-fetch/loginWall.js.map +1 -0
- package/dist/web-fetch/types.d.ts +8 -0
- package/dist/web-fetch/types.d.ts.map +1 -1
- package/dist/web-fetch/webFetchProvider.d.ts.map +1 -1
- package/dist/web-fetch/webFetchProvider.js +3 -1
- package/dist/web-fetch/webFetchProvider.js.map +1 -1
- package/dist/web-search/fetchWebSearchProvider.js +28 -23
- package/dist/web-search/fetchWebSearchProvider.js.map +1 -1
- package/docs/architecture/role-pack-authoring-guide.md +3 -1
- package/docs/architecture/role-pack-spec.md +2 -1
- package/docs/memora-api-reference.md +1349 -1276
- package/docs/memora-/345/215/207/347/272/247/346/214/207/345/215/227-4.x-/345/210/260-5.0.0.md +385 -0
- package/docs/memora-/346/216/245/345/205/245/346/214/207/345/215/227.md +87 -49
- package/docs/role-pack-/345/274/200/346/224/276/351/224/256/346/214/207/345/215/227.md +148 -148
- package/package.json +9 -4
- package/role-packs/README.md +41 -40
- package/role-packs/memora/345/212/251/346/211/213/rules.md +4 -4
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/manifest.json +1 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/persona.md +46 -46
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/rules.md +16 -16
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/emotion-wave.md +46 -46
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/foreshadow.md +29 -29
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/outline-expand.md +73 -48
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/project-init/scripts/init-novel-project.mjs +445 -441
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/story-bible.md +62 -62
- package/role-packs//347/231/275/350/257/235/346/226/271/346/241/210/350/256/276/350/256/241/345/270/210/manifest.json +1 -0
- package/dist/agent/managers/dedupManager.d.ts +0 -85
- package/dist/agent/managers/dedupManager.d.ts.map +0 -1
- package/dist/agent/managers/dedupManager.js +0 -248
- package/dist/agent/managers/dedupManager.js.map +0 -1
- package/dist/agent/managers/goalConsistencyChecker.d.ts +0 -42
- package/dist/agent/managers/goalConsistencyChecker.d.ts.map +0 -1
- package/dist/agent/managers/goalConsistencyChecker.js +0 -178
- package/dist/agent/managers/goalConsistencyChecker.js.map +0 -1
- package/dist/agent/managers/llmJudgeHelper.d.ts +0 -21
- package/dist/agent/managers/llmJudgeHelper.d.ts.map +0 -1
- package/dist/agent/managers/llmJudgeHelper.js +0 -32
- package/dist/agent/managers/llmJudgeHelper.js.map +0 -1
- package/dist/agent/managers/memoryAdvisor.d.ts +0 -105
- package/dist/agent/managers/memoryAdvisor.d.ts.map +0 -1
- package/dist/agent/managers/memoryAdvisor.js +0 -322
- package/dist/agent/managers/memoryAdvisor.js.map +0 -1
- package/dist/agent/managers/memoryGovernance.d.ts +0 -24
- package/dist/agent/managers/memoryGovernance.d.ts.map +0 -1
- package/dist/agent/managers/memoryGovernance.js +0 -46
- package/dist/agent/managers/memoryGovernance.js.map +0 -1
- package/dist/memory/governance.d.ts +0 -17
- package/dist/memory/governance.d.ts.map +0 -1
- package/dist/memory/governance.js +0 -17
- package/dist/memory/governance.js.map +0 -1
- package/dist/memory/projectRegistry.d.ts +0 -47
- package/dist/memory/projectRegistry.d.ts.map +0 -1
- package/dist/memory/projectRegistry.js +0 -151
- package/dist/memory/projectRegistry.js.map +0 -1
- package/dist/utils/recallDefaults.d.ts +0 -16
- package/dist/utils/recallDefaults.d.ts.map +0 -1
- package/dist/utils/recallDefaults.js +0 -16
- package/dist/utils/recallDefaults.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -15,8 +15,11 @@ export { resolveContextWindow } from './agent/budget.js';
|
|
|
15
15
|
// 上下文占用快照组装(SSOT 单点):宿主历史会话重算占用时与内核 prepare 共用同一收敛口径
|
|
16
16
|
export { estimateOccupancy } from './agent/budget.js';
|
|
17
17
|
// token 估算(CJK 感知,零状态纯函数):消息序列口径(先累计后取整,与运行时 prepare 同源),
|
|
18
|
-
//
|
|
19
|
-
|
|
18
|
+
// 宿主历史会话重算占用用它。estimateTokensText 原为内部实现(「不挂公共面」是当时无消费面的
|
|
19
|
+
// 决定),2026-10-20 起**宿主注入量归因(HOST-CTX-6②)**需要单段文本计量——若宿主自估
|
|
20
|
+
// (自写 CHARS_PER_TOKEN)就是第二真理源,与内核运行时口径漂移只是时间问题,故挂出。
|
|
21
|
+
// ⚠️ 单段用本函数;逐段调用会放大取整误差,多段一律 estimateTokensMessages。
|
|
22
|
+
export { estimateTokensMessages, estimateTokensText } from './agent/contextManager.js';
|
|
20
23
|
// 第二级压缩的中文标签(宿主 notice 文案真源):
|
|
21
24
|
// 宿主**不得**自己写 target→文案映射——三元/else 在枚举增补时会把新值静默落到旧标签上
|
|
22
25
|
// (对用户说谎),而 `Record<CompressTarget, string>` 穷尽键在增补时编译期报错。
|
|
@@ -38,21 +41,21 @@ export { describeStrategyKeys } from './role-pack/strategyKeys.js';
|
|
|
38
41
|
// 方案-角色包编辑UI / role-pack-validation-flow 承诺面;内存对象形态 validateManifest
|
|
39
42
|
// 为内核内部实现,随签名推导可用)
|
|
40
43
|
export { validateManifestText } from './role-pack/validator.js';
|
|
41
|
-
export { MemoryGovernance } from './agent/managers/memoryGovernance.js';
|
|
42
44
|
// accumulateStream: 宿主可复用的 LLM 流式响应累积工具(用于生成标题、描述等短文本)
|
|
43
45
|
export { accumulateStream } from './agent/managers/streamAccumulator.js';
|
|
44
46
|
// 记忆即摘要架构:轮次摘要生成器为内核内部组件(Agent init 装配),不挂公共面
|
|
45
47
|
export { loadConfig } from './config/loader.js';
|
|
46
48
|
// LLM Provider 构造(边界:provider 选择/默认值归宿主,内核只做实例构造与校验):
|
|
47
|
-
// createProviderFromConfig —— 【规范入口】宿主传入 baseUrl+model+apiKey
|
|
48
|
-
// createLlmProvider
|
|
49
|
-
|
|
50
|
-
export { createLlmProvider, createProviderFromConfig } from './llm/factory.js';
|
|
49
|
+
// createProviderFromConfig —— 【规范入口】宿主传入 baseUrl+model+apiKey,校验后创建。
|
|
50
|
+
// createLlmProvider(从整份 Config 解析激活 provider)为内核内部便利实现,不挂公共面。
|
|
51
|
+
export { createProviderFromConfig } from './llm/factory.js';
|
|
51
52
|
// 事件系统(事件名常量表 AGENT_EVENTS 为内核内部实现,订阅用字符串字面量或 AgentEventName 类型)
|
|
52
53
|
export { TypedEventEmitter } from './utils/eventEmitter.js';
|
|
53
54
|
// 会话标识格式契约(SSOT 单点):date/session 双向转换唯一真理源,宿主导入后不再手写 slice/split
|
|
54
55
|
export { buildSessionId, splitSessionId } from './utils/time.js';
|
|
55
|
-
|
|
56
|
+
// NOOP_TRACER 为内核内部兜底实现(未注入 tracer 时的零开销降级),不挂公共面
|
|
57
|
+
// (PUB-API-PRUNE-4 收面:宿主零消费;要「不追踪」只需不传 tracer,无需引用它)
|
|
58
|
+
export { TRACE_SPANS } from './agent/tracer.js';
|
|
56
59
|
// ─── 记忆层导出 ──────────────────────────────────────────
|
|
57
60
|
export { SOURCE_LABELS, SUMMARY_TYPES } from './memory/types.js';
|
|
58
61
|
/**
|
|
@@ -60,27 +63,30 @@ export { SOURCE_LABELS, SUMMARY_TYPES } from './memory/types.js';
|
|
|
60
63
|
* 白名单构造:剥离未知字段(旧档 score 等),见 src/memory/types.ts
|
|
61
64
|
*/
|
|
62
65
|
export { parseMemory } from './memory/types.js';
|
|
63
|
-
|
|
64
|
-
export {
|
|
66
|
+
// escapeLike 为记忆层内部 SQL LIKE 转义工具(内核 SQLite 实现自用;宿主 SQL 后端须自行转义 `%`/`_`),不挂公共面
|
|
67
|
+
export { validateSource } from './memory/sourceValidation.js';
|
|
68
|
+
// SQLite 落盘实现(node:sqlite 内建模块,零第三方依赖):只出工厂不出实现类——
|
|
69
|
+
// 宿主经 createNodeSqliteStorage(dbPath) 消费;不可用时抛专属错误(errorCode=NOT_AVAILABLE)
|
|
70
|
+
// 作为「能否用 SQLite」的唯一判据(禁宿主自行解析版本号)。{ readOnly: true } 重载返回
|
|
71
|
+
// ReadOnlyMemoryStorage 只读视图(写方法结构上不存在),供只读宿主零并列复用。
|
|
72
|
+
export { createNodeSqliteStorage } from './memory/nodeSqliteStorage.js';
|
|
73
|
+
// 取代状态判据:所有消费 supersededBy 的位置(含宿主治理展示)统一经此判定,
|
|
74
|
+
// 与移除路径解耦(见 supersedeResolve.ts)。
|
|
75
|
+
export { hasActiveSuperseder } from './memory/supersedeResolve.js';
|
|
65
76
|
// FetchWebSearchProvider:默认搜索实现(零依赖开箱即用);safeSearch 包装为内部实现,不挂公共面
|
|
66
77
|
export { FetchWebSearchProvider } from './web-search/fetchWebSearchProvider.js';
|
|
67
78
|
// buildSearchEndpoints:构建搜索端点降级链。入参为「内核预设名 | 宿主自定义 SearchEndpoint」混排;
|
|
68
79
|
// 主推宿主接入——生产环境宿主自建 SearchEndpoint[](自带 URL+解析)注入,内核预设仅作零配置保底。
|
|
69
80
|
export { buildSearchEndpoints, } from './web-search/fetchWebSearchProvider.js';
|
|
70
|
-
// FetchWebFetchProvider:默认抓取实现(零依赖开箱即用);safeFetch
|
|
81
|
+
// FetchWebFetchProvider:默认抓取实现(零依赖开箱即用);safeFetch 为内核 toolExecutor
|
|
82
|
+
// 调注入 provider 时的超时降级包装(内部机制,不挂公共面——PUB-API-PRUNE-2 收面)
|
|
71
83
|
export { FetchWebFetchProvider } from './web-fetch/fetchWebFetchProvider.js';
|
|
72
|
-
|
|
73
|
-
//
|
|
74
|
-
export { safeExecuteCode } from './code-exec/codeExecutionProvider.js';
|
|
75
|
-
// safeSearchProjectFiles/safeSearchProjectText:带超时保护的项目搜索包装(宿主可复用)
|
|
76
|
-
export { safeSearchProjectFiles, safeSearchProjectText, } from './project-search/projectSearchProvider.js';
|
|
84
|
+
// safeSearchProjectFiles/safeSearchProjectText:内核 toolExecutor 调注入 provider 时的
|
|
85
|
+
// 超时降级包装(内部机制,不挂公共面——PUB-API-PRUNE-2 收面)
|
|
77
86
|
// PROJECT_SEARCH_RESULT_MAX_LEN / IGNORED_DIR_NAMES:search_project 调用面与宿主实现方共享的单一真理源
|
|
78
87
|
// (宿主 projectSearchProvider import 对齐,避免结果上限 / 忽略目录数值漂移)
|
|
79
88
|
export { PROJECT_SEARCH_RESULT_MAX_LEN } from './agent/toolExecutor.js';
|
|
80
89
|
export { IGNORED_DIR_NAMES } from './agent/builtinToolHandlers.js';
|
|
81
|
-
// 项目注册表 + 锁文件管理:宿主可直接使用或通过 ProjectManager 间接委托
|
|
82
|
-
export { ProjectRegistry } from './memory/projectRegistry.js';
|
|
83
|
-
export { LockManager } from './memory/lockManager.js';
|
|
84
90
|
// 会话显示名回退单一真理源(displayName→autoName),宿主从内核取,避免重复实现
|
|
85
91
|
export { getSessionDisplayName } from './memory/sessionStore.js';
|
|
86
92
|
// Round 辅助函数:仅 isRoundSettled 挂公共面(「轮是否已收场」判据单一收口点:宿主与内核共用,
|
|
@@ -89,9 +95,9 @@ export { getSessionDisplayName } from './memory/sessionStore.js';
|
|
|
89
95
|
export { isRoundSettled } from './memory/roundStore.js';
|
|
90
96
|
// 通用会话视图加载器实现(宿主注入存储后直接委托;非仅测试/开发用)
|
|
91
97
|
export { InMemorySessionViewLoader } from './memory/inMemorySessionViewLoader.js';
|
|
92
|
-
//
|
|
93
|
-
//
|
|
94
|
-
|
|
98
|
+
// InMemoryRoundStore 为内核内部测试实现,不挂公共面;
|
|
99
|
+
// InMemorySessionStore 内存版为内核内部/测试默认,同不挂公共面(PUB-API-PRUNE-2 收面;
|
|
100
|
+
// README「接口 + 内存默认实现」的架构叙述仍成立——内核内部仍备该实现)
|
|
95
101
|
// 会话占位标题单一真理源,避免宿主重复实现
|
|
96
102
|
export { defaultTitle as defaultSessionTitle } from './agent/managers/sessionNamer.js';
|
|
97
103
|
// 后台任务状态中文词表(宿主 UI 直接消费,禁自建第二套;Record 穷尽键 = 加状态忘补文案编译期红)
|
|
@@ -102,22 +108,19 @@ export { BACKGROUND_TASK_STATUS_LABELS } from './agent/backgroundTasks.js';
|
|
|
102
108
|
export { resolveShellCommand } from './skill/skillScriptRunner.js';
|
|
103
109
|
export { setLogger, logger } from './logging/logger.js';
|
|
104
110
|
// ─── 工具导出 ────────────────────────────────────────────
|
|
105
|
-
//
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
export {
|
|
109
|
-
|
|
110
|
-
export { safeSetTimeout, safeSetInterval, clearSafeTimeout, clearSafeInterval, } from './utils/safeTimer.js';
|
|
111
|
+
// segmentLower(分词)/ parseFrontmatter(读 frontmatter)供宿主复用;
|
|
112
|
+
// segmentText / isPlainObject / serializeFrontmatter / 安全定时器族为内核内部通用工具,
|
|
113
|
+
// 宿主零消费,不挂公共面(收回误暴露)。
|
|
114
|
+
export { segmentLower } from './utils/segmenter.js';
|
|
115
|
+
export { parseFrontmatter } from './utils/frontmatter.js';
|
|
111
116
|
// MAX_DIFF_CONTENT_LENGTH:diff 内容上限的**单一真理源**,宿主 UI 展示阈值 import 对齐(防数值漂移)。
|
|
112
117
|
// ⚠️ 两侧超限行为不同:内核 = 截断后追加「已截断」标记照常展示;宿主 = 跳过对比只提示——只统一数值,不统一行为
|
|
113
118
|
export { MAX_DIFF_CONTENT_LENGTH } from './security/pathGuard.js';
|
|
114
119
|
// ─── 错误类型导出 ────────────────────────────────────────
|
|
115
120
|
export { MemoraError, ToolErrorCode, isRetryableErrorCode } from './utils/errors.js';
|
|
116
|
-
// toError 独立导出:浏览器端可直接 import 而不引入 logging/ 模块
|
|
117
|
-
export { toError } from './utils/toError.js';
|
|
118
121
|
// ─── 通用工具导出 ────────────────────────────────────────
|
|
119
|
-
//
|
|
122
|
+
// formatDateKey / todayDate 供宿主复用:主进程可直接 import 本入口(渲染进程因浏览器环境保留 shared 副本);
|
|
123
|
+
// truncate(字符串截断)为内核内部通用工具,宿主零消费,不挂公共面(收回误暴露);
|
|
120
124
|
// isValidConfigName / parseConfigId / MAX_CONFIG_NAME_LENGTH 为配置名内部校验,不挂公共面
|
|
121
|
-
export { truncate } from './utils/strings.js';
|
|
122
125
|
export { formatDateKey, todayDate } from './utils/time.js';
|
|
123
126
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,iDAAiD;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAUzC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACvE,2DAA2D;AAC3D,iDAAiD;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,qDAAqD;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,0DAA0D;AAC1D,qDAAqD;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/logging/logger.d.ts
CHANGED
|
@@ -13,7 +13,10 @@ export declare const logger: ILogger;
|
|
|
13
13
|
* 替换全局日志实现:宿主在 Agent 初始化前调用注入自定义 logger;传入 undefined 恢复默认。
|
|
14
14
|
* 注入即成为内核**唯一**日志出口:同时桥接 utils 层(`loggerHolder`),
|
|
15
15
|
* 使 scanner / eventEmitter / rolePackManager 等 utils 侧模块也走注入实现(而非停留在 console fallback)。
|
|
16
|
-
*
|
|
16
|
+
*
|
|
17
|
+
* ⚠️ 进程级全局 sink(口径固化):一个宿主进程只应注入**一次** logger。
|
|
18
|
+
* 多项目单进程宿主(每项目一个 Agent 实例)下,日志出口**按进程唯一**——这是**明示约束**而非多实例隔离:
|
|
19
|
+
* 若要按项目区分日志,请在注入的 logger 实现内自行加项目前缀。多处注入时后者覆盖前者并输出警告。
|
|
17
20
|
*/
|
|
18
21
|
export declare function setLogger(newLogger: ILogger | undefined): void;
|
|
19
22
|
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logging/logger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,OAAO,EAAS,MAAM,8BAA8B,CAAC;AAoFnE;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAKpB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logging/logger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,OAAO,EAAS,MAAM,8BAA8B,CAAC;AAoFnE;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAKpB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAkB9D"}
|
package/dist/logging/logger.js
CHANGED
|
@@ -88,13 +88,16 @@ export const logger = {
|
|
|
88
88
|
* 替换全局日志实现:宿主在 Agent 初始化前调用注入自定义 logger;传入 undefined 恢复默认。
|
|
89
89
|
* 注入即成为内核**唯一**日志出口:同时桥接 utils 层(`loggerHolder`),
|
|
90
90
|
* 使 scanner / eventEmitter / rolePackManager 等 utils 侧模块也走注入实现(而非停留在 console fallback)。
|
|
91
|
-
*
|
|
91
|
+
*
|
|
92
|
+
* ⚠️ 进程级全局 sink(口径固化):一个宿主进程只应注入**一次** logger。
|
|
93
|
+
* 多项目单进程宿主(每项目一个 Agent 实例)下,日志出口**按进程唯一**——这是**明示约束**而非多实例隔离:
|
|
94
|
+
* 若要按项目区分日志,请在注入的 logger 实现内自行加项目前缀。多处注入时后者覆盖前者并输出警告。
|
|
92
95
|
*/
|
|
93
96
|
export function setLogger(newLogger) {
|
|
94
97
|
if (newLogger) {
|
|
95
98
|
// 检测覆盖:当前已被宿主注入且新实例不同,说明有多处注入
|
|
96
99
|
if (_loggerInjected && _logger !== newLogger) {
|
|
97
|
-
_logger.warn('setLogger 覆盖了已有的自定义 logger
|
|
100
|
+
_logger.warn('setLogger 覆盖了已有的自定义 logger(进程级日志出口应只注入一次;多处注入时后者覆盖前者)');
|
|
98
101
|
}
|
|
99
102
|
_loggerInjected = true;
|
|
100
103
|
_logger = newLogger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logging/logger.ts"],"names":[],"mappings":"AAMA,mEAAmE;AACnE,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEtE,yBAAyB;AACzB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,MAAM,CAAC;AAExD,kCAAkC;AAClC,MAAM,qBAAqB,GAAG,6DAA6D,CAAC;AAE5F;;;GAGG;AACH,SAAS,mBAAmB,CAAC,GAA4B;IACvD,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,QAAQ,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;QAC/B,CAAC;aAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvE,QAAQ,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,KAAgC,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,sCAAsC;AACtC,MAAM,cAAc,GAA2B;IAC7C,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;CACV,CAAC;AAEF,uBAAuB;AACvB,SAAS,SAAS,CAAC,WAAmB;IACpC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,yDAAyD;AACzD,SAAS,mBAAmB;IAC1B,OAAO;QACL,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC;QAChC,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC;QAChC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC;QAClC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC;KACnC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,WAAgD;IAC1E,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC;IAChD,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;QACvB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;YAAE,OAAO;QACpC,MAAM,IAAI,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QACnE,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,4BAA4B;YAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,IAAI,OAAO,GAAY,mBAAmB,EAAE,CAAC;AAE7C,iCAAiC;AACjC,IAAI,eAAe,GAAG,KAAK,CAAC;AAE5B,kEAAkE;AAClE,cAAc,CAAC,OAAO,CAAC,CAAC;AAExB;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAY;IAC7B,IAAI,EAAE,CAAC,GAAG,IAAuB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3D,IAAI,EAAE,CAAC,GAAG,IAAuB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3D,KAAK,EAAE,CAAC,GAAG,IAAuB,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAC7D,KAAK,EAAE,CAAC,GAAG,IAAuB,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;CAC9D,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logging/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gcService.d.ts","sourceRoot":"","sources":["../../src/memory/gcService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAS,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAInE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,KAAK,CAA+C;gBAEhD,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAY9F;;;;;;;;;;;OAWG;IACH,GAAG,IAAI,QAAQ;IAsEf;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,mBAAmB;
|
|
1
|
+
{"version":3,"file":"gcService.d.ts","sourceRoot":"","sources":["../../src/memory/gcService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAS,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAInE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,KAAK,CAA+C;gBAEhD,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAY9F;;;;;;;;;;;OAWG;IACH,GAAG,IAAI,QAAQ;IAsEf;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAKpB;;;;;;;OAOG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAgBvC;;OAEG;IACH,YAAY,IAAI,IAAI;IAQpB;;;;OAIG;IACH,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC;IAI/B;;;;OAIG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI;CAG/C;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,WAAW,EACvB,aAAa,EAAE,cAAc,EAC7B,UAAU,CAAC,EAAE,MAAM,OAAO,GACzB,SAAS,CAQX"}
|
package/dist/memory/gcService.js
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* 3. 宿主手动触发(run() 公开入口)
|
|
14
14
|
*/
|
|
15
15
|
import { logger } from '../logging/logger.js';
|
|
16
|
-
import {
|
|
16
|
+
import { findRoundSummaries } from '../memory/roundSummaryLookup.js';
|
|
17
17
|
/**
|
|
18
18
|
* 垃圾回收服务
|
|
19
19
|
*
|
|
@@ -131,10 +131,8 @@ export class GCService {
|
|
|
131
131
|
* @param round - 要清理的 Round
|
|
132
132
|
*/
|
|
133
133
|
cleanUpRoundSummary(round) {
|
|
134
|
-
// 按 roundId
|
|
135
|
-
const roundSummaries = this.memoryStorage
|
|
136
|
-
.getBySource(SOURCE_LABELS.ROUND_SUMMARY)
|
|
137
|
-
.filter((m) => m.roundId === round.id);
|
|
134
|
+
// 按 roundId 顶层字段反查全部会话命名空间的两段式摘要(寻址单源:roundSummaryLookup)
|
|
135
|
+
const roundSummaries = findRoundSummaries(this.memoryStorage, new Set([round.id]));
|
|
138
136
|
for (const summary of roundSummaries) {
|
|
139
137
|
this.purgeSummary(summary.id);
|
|
140
138
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gcService.js","sourceRoot":"","sources":["../../src/memory/gcService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"gcService.js","sourceRoot":"","sources":["../../src/memory/gcService.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,8 +47,8 @@ export declare class InMemorySessionStore implements ISessionStore {
|
|
|
47
47
|
/**
|
|
48
48
|
* 列出所有会话元数据(按 updatedAt **降序**,最近活跃在前——ISessionStore 排序契约)
|
|
49
49
|
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
50
|
+
* 方向必须与宿主实现一致:宿主(chatPanel 构造器)视 [0] 为「最近活跃唯一真理源」
|
|
51
|
+
* (打开面板时定位初始会话),升规则会定位到最旧会话。
|
|
52
52
|
*/
|
|
53
53
|
listSessionMetas(): SessionMeta[];
|
|
54
54
|
/**
|
|
@@ -126,8 +126,8 @@ export class InMemorySessionStore {
|
|
|
126
126
|
/**
|
|
127
127
|
* 列出所有会话元数据(按 updatedAt **降序**,最近活跃在前——ISessionStore 排序契约)
|
|
128
128
|
*
|
|
129
|
-
*
|
|
130
|
-
*
|
|
129
|
+
* 方向必须与宿主实现一致:宿主(chatPanel 构造器)视 [0] 为「最近活跃唯一真理源」
|
|
130
|
+
* (打开面板时定位初始会话),升规则会定位到最旧会话。
|
|
131
131
|
*/
|
|
132
132
|
listSessionMetas() {
|
|
133
133
|
return Array.from(this.metas.values()).sort((a, b) => b.updatedAt.localeCompare(a.updatedAt));
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 内存存储实现 — IMemoryStorage 的纯 JS 内存版。
|
|
3
3
|
* 零依赖零 IO,用于单元测试、宿主注入前的临时占位、沙箱。不持久化(进程退出即丢失),
|
|
4
|
-
*
|
|
4
|
+
* 仅限测试/开发;生产由宿主注入持久化实现(vscode 宿主默认 SQLite;SQLite 不可用且
|
|
5
|
+
* 尚未迁移时降级 JSON,已迁移则响亮失败——禁真源分叉,见宿主 `memoryStorage.ts`)。
|
|
5
6
|
*/
|
|
6
7
|
import type { IMemoryStorage } from '../memory/storageInterface.js';
|
|
7
8
|
import type { Memory } from '../memory/types.js';
|
|
8
9
|
/**
|
|
9
10
|
* 内存存储:Map 存储,核心操作 O(1)~O(log n)。
|
|
10
|
-
* 维护 source→count 增量缓存,
|
|
11
|
+
* 维护 source→count 增量缓存,getAllSources() 无需全量遍历(上层 MemoryInspector.stats() 直接消费)。
|
|
11
12
|
*/
|
|
12
13
|
export declare class InMemoryStorage implements IMemoryStorage {
|
|
13
14
|
/** 记忆存储(id → Memory) */
|
|
@@ -29,7 +30,7 @@ export declare class InMemoryStorage implements IMemoryStorage {
|
|
|
29
30
|
listDeleted(limit?: number): Memory[];
|
|
30
31
|
/** 按 ID 取单条软删除记忆(浅拷贝);不存在或未软删除返回 null */
|
|
31
32
|
getDeletedById(id: string): Memory | null;
|
|
32
|
-
/** 物理删除 deletedAt 早于 before
|
|
33
|
+
/** 物理删除 deletedAt 早于 before 的软删除记忆,返回清理数量(宿主入口显式调用;保留期归宿主策略,当前默认 30 天) */
|
|
33
34
|
purgeExpired(before: Date): number;
|
|
34
35
|
/** 按 ID 取活跃记忆(浅拷贝,软删除返回 null,读取隔离契约) */
|
|
35
36
|
getById(id: string): Memory | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inMemoryStorage.d.ts","sourceRoot":"","sources":["../../src/memory/inMemoryStorage.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"inMemoryStorage.d.ts","sourceRoot":"","sources":["../../src/memory/inMemoryStorage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAQhD;;;GAGG;AACH,qBAAa,eAAgB,YAAW,cAAc;IACpD,wBAAwB;IACxB,OAAO,CAAC,QAAQ,CAAkC;IAClD,8DAA8D;IAC9D,OAAO,CAAC,gBAAgB,CAAkC;IAE1D;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAqC5B,+DAA+D;IAC/D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQxB,oDAAoD;IACpD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQzB,oDAAoD;IACpD,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IASvB,+DAA+D;IAC/D,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAUrC,yCAAyC;IACzC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAMzC,0EAA0E;IAC1E,YAAY,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM;IAYlC,wCAAwC;IACxC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAMlC,gDAAgD;IAChD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAOrC,wFAAwF;IACxF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,MAAM,EAAE;IAoB3C,2CAA2C;IAC3C,OAAO,CAAC,aAAa;IAOrB,0CAA0C;IAC1C,KAAK,IAAI,MAAM;IAMf,8CAA8C;IAC9C,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAIrC,mDAAmD;IACnD,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAOvC,yCAAyC;IACzC,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAIpC,8CAA8C;IAC9C,KAAK,IAAI,IAAI;IAKb,mBAAmB;IACnB,OAAO,CAAC,oBAAoB;IAI5B,6BAA6B;IAC7B,OAAO,CAAC,oBAAoB;CAS7B"}
|
|
@@ -6,7 +6,7 @@ import { logger } from '../logging/logger.js';
|
|
|
6
6
|
import { nowIso } from '../utils/time.js';
|
|
7
7
|
/**
|
|
8
8
|
* 内存存储:Map 存储,核心操作 O(1)~O(log n)。
|
|
9
|
-
* 维护 source→count 增量缓存,
|
|
9
|
+
* 维护 source→count 增量缓存,getAllSources() 无需全量遍历(上层 MemoryInspector.stats() 直接消费)。
|
|
10
10
|
*/
|
|
11
11
|
export class InMemoryStorage {
|
|
12
12
|
/** 记忆存储(id → Memory) */
|
|
@@ -91,7 +91,7 @@ export class InMemoryStorage {
|
|
|
91
91
|
return null;
|
|
92
92
|
return { ...mem };
|
|
93
93
|
}
|
|
94
|
-
/** 物理删除 deletedAt 早于 before
|
|
94
|
+
/** 物理删除 deletedAt 早于 before 的软删除记忆,返回清理数量(宿主入口显式调用;保留期归宿主策略,当前默认 30 天) */
|
|
95
95
|
purgeExpired(before) {
|
|
96
96
|
const beforeIso = before.toISOString();
|
|
97
97
|
let count = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inMemoryStorage.js","sourceRoot":"","sources":["../../src/memory/inMemoryStorage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"inMemoryStorage.js","sourceRoot":"","sources":["../../src/memory/inMemoryStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { IMemoryStorage, ReadOnlyMemoryStorage } from '../memory/storageInterface.js';
|
|
2
|
+
/**
|
|
3
|
+
* 创建 SQLite 落盘存储(读写)。
|
|
4
|
+
*
|
|
5
|
+
* 不可用时抛专属错误(`errorCode = NOT_AVAILABLE`)——**宿主可用性判据的唯一来源**,禁自行解析版本号。
|
|
6
|
+
*
|
|
7
|
+
* @param dbPath 数据库文件全长路径(路径语义归宿主,内核不拼目录)
|
|
8
|
+
*/
|
|
9
|
+
export declare function createNodeSqliteStorage(dbPath: string): IMemoryStorage;
|
|
10
|
+
/**
|
|
11
|
+
* 创建 SQLite 存储的**只读视图**(写方法结构上不存在),供只读宿主复用。
|
|
12
|
+
* 连接以只读模式打开:文件不存在会抛错(只读宿主不做建库/迁移)。
|
|
13
|
+
*/
|
|
14
|
+
export declare function createNodeSqliteStorage(dbPath: string, options: {
|
|
15
|
+
readOnly: true;
|
|
16
|
+
}): ReadOnlyMemoryStorage;
|
|
17
|
+
//# sourceMappingURL=nodeSqliteStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodeSqliteStorage.d.ts","sourceRoot":"","sources":["../../src/memory/nodeSqliteStorage.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AA4a1F;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC;AACxE;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,GAC1B,qBAAqB,CAAC"}
|