@downcity/plugins 1.0.252 → 1.0.254
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/bin/memory/Action.d.ts +27 -36
- package/bin/memory/Action.d.ts.map +1 -1
- package/bin/memory/Action.js +71 -311
- package/bin/memory/Action.js.map +1 -1
- package/bin/memory/Index.d.ts +3 -1
- package/bin/memory/Index.d.ts.map +1 -1
- package/bin/memory/Index.js +3 -1
- package/bin/memory/Index.js.map +1 -1
- package/bin/memory/MemoryPlugin.d.ts +20 -37
- package/bin/memory/MemoryPlugin.d.ts.map +1 -1
- package/bin/memory/MemoryPlugin.js +231 -233
- package/bin/memory/MemoryPlugin.js.map +1 -1
- package/bin/memory/adapters/FileMemoryStorageAdapter.d.ts +43 -0
- package/bin/memory/adapters/FileMemoryStorageAdapter.d.ts.map +1 -0
- package/bin/memory/adapters/FileMemoryStorageAdapter.js +163 -0
- package/bin/memory/adapters/FileMemoryStorageAdapter.js.map +1 -0
- package/bin/memory/providers/BuiltinMemoryProvider.d.ts +63 -0
- package/bin/memory/providers/BuiltinMemoryProvider.d.ts.map +1 -0
- package/bin/memory/providers/BuiltinMemoryProvider.js +772 -0
- package/bin/memory/providers/BuiltinMemoryProvider.js.map +1 -0
- package/bin/memory/runtime/SystemProvider.d.ts +7 -12
- package/bin/memory/runtime/SystemProvider.d.ts.map +1 -1
- package/bin/memory/runtime/SystemProvider.js +30 -89
- package/bin/memory/runtime/SystemProvider.js.map +1 -1
- package/bin/memory/types/BuiltinMemoryProvider.d.ts +88 -0
- package/bin/memory/types/BuiltinMemoryProvider.d.ts.map +1 -0
- package/bin/memory/types/BuiltinMemoryProvider.js +9 -0
- package/bin/memory/types/BuiltinMemoryProvider.js.map +1 -0
- package/bin/memory/types/Memory.d.ts +249 -408
- package/bin/memory/types/Memory.d.ts.map +1 -1
- package/bin/memory/types/Memory.js +4 -4
- package/bin/memory/types/MemoryStorage.d.ts +35 -0
- package/bin/memory/types/MemoryStorage.d.ts.map +1 -0
- package/bin/memory/types/MemoryStorage.js +10 -0
- package/bin/memory/types/MemoryStorage.js.map +1 -0
- package/bin/memory.d.ts +6 -2
- package/bin/memory.d.ts.map +1 -1
- package/bin/memory.js +3 -1
- package/bin/memory.js.map +1 -1
- package/package.json +4 -3
- package/scripts/memory-plugin.test.mjs +227 -0
- package/scripts/plugin-subpaths.test.mjs +8 -0
- package/src/memory/Action.ts +106 -377
- package/src/memory/Index.ts +6 -1
- package/src/memory/MemoryPlugin.ts +254 -246
- package/src/memory/adapters/FileMemoryStorageAdapter.ts +197 -0
- package/src/memory/providers/BuiltinMemoryProvider.ts +905 -0
- package/src/memory/runtime/SystemProvider.ts +32 -95
- package/src/memory/types/BuiltinMemoryProvider.ts +121 -0
- package/src/memory/types/Memory.ts +322 -456
- package/src/memory/types/MemoryStorage.ts +44 -0
- package/src/memory.ts +48 -24
- package/bin/memory/runtime/Search.d.ts +0 -19
- package/bin/memory/runtime/Search.d.ts.map +0 -1
- package/bin/memory/runtime/Search.js +0 -262
- package/bin/memory/runtime/Search.js.map +0 -1
- package/bin/memory/runtime/Store.d.ts +0 -42
- package/bin/memory/runtime/Store.d.ts.map +0 -1
- package/bin/memory/runtime/Store.js +0 -94
- package/bin/memory/runtime/Store.js.map +0 -1
- package/bin/memory/runtime/Writer.d.ts +0 -61
- package/bin/memory/runtime/Writer.d.ts.map +0 -1
- package/bin/memory/runtime/Writer.js +0 -274
- package/bin/memory/runtime/Writer.js.map +0 -1
- package/src/memory/runtime/Search.ts +0 -327
- package/src/memory/runtime/Store.ts +0 -158
- package/src/memory/runtime/Writer.ts +0 -351
|
@@ -1,445 +1,286 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Memory Plugin
|
|
2
|
+
* Memory Plugin 的公开领域协议。
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
|
-
* - MemoryPlugin
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
5
|
+
* - MemoryPlugin 只依赖 MemoryProvider,不感知文件、数据库或远程服务。
|
|
6
|
+
* - 所有公开结果使用稳定 memory_id 与 citation,不暴露物理存储路径。
|
|
7
|
+
* - Provider 负责记忆形成、存储、召回、修订与删除的完整语义。
|
|
8
8
|
*/
|
|
9
|
-
import type { JsonValue } from "@downcity/agent";
|
|
10
|
-
/**
|
|
11
|
-
|
|
12
|
-
*/
|
|
13
|
-
export type
|
|
14
|
-
/**
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
* - 当前实现直接扫描 Markdown 文件,不引入向量库或外部索引服务。
|
|
19
|
-
*/
|
|
20
|
-
export type MemorySearchMode = "scan";
|
|
21
|
-
/**
|
|
22
|
-
* MemoryPlugin constructor 参数。
|
|
23
|
-
*/
|
|
24
|
-
export interface MemoryPluginOptions {
|
|
25
|
-
/**
|
|
26
|
-
* 把 session 或长文本 source 提炼为 wiki page 的函数。
|
|
27
|
-
*
|
|
28
|
-
* 说明(中文):未传时 `digest` action 会做确定性落盘,不会调用模型。
|
|
29
|
-
*/
|
|
30
|
-
digest?: MemoryDigestHandler;
|
|
31
|
-
/**
|
|
32
|
-
* 基于新证据修订某个 wiki page 的函数。
|
|
33
|
-
*
|
|
34
|
-
* 说明(中文):未传时 `remember`/`revise` 会追加写入,不做 LLM 重写。
|
|
35
|
-
*/
|
|
36
|
-
revise?: MemoryReviseHandler;
|
|
9
|
+
import type { JsonObject, JsonValue } from "@downcity/agent";
|
|
10
|
+
/** 长期记忆的领域分类。 */
|
|
11
|
+
export type MemoryType = "fact" | "preference" | "decision" | "episode" | "procedure" | "document";
|
|
12
|
+
/** Memory Provider 当前生命周期状态。 */
|
|
13
|
+
export type MemoryProviderState = "ready" | "degraded";
|
|
14
|
+
/** Memory Provider 初始化时可读取的 Agent 运行身份。 */
|
|
15
|
+
export interface MemoryProviderInitializeInput {
|
|
16
|
+
/** 当前 Agent 的稳定全局标识。 */
|
|
17
|
+
agent_id: string;
|
|
37
18
|
}
|
|
38
|
-
/**
|
|
39
|
-
|
|
40
|
-
*/
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
|
|
44
|
-
*/
|
|
45
|
-
export type MemoryReviseHandler = (input: MemoryReviseHandlerInput) => Promise<MemoryReviseHandlerOutput | string>;
|
|
46
|
-
/**
|
|
47
|
-
* digest handler 输入。
|
|
48
|
-
*/
|
|
49
|
-
export interface MemoryDigestHandlerInput {
|
|
50
|
-
/**
|
|
51
|
-
* 当前项目根目录。
|
|
52
|
-
*/
|
|
53
|
-
rootPath: string;
|
|
54
|
-
/**
|
|
55
|
-
* 需要提炼的原始文本。
|
|
56
|
-
*/
|
|
57
|
-
sourceText: string;
|
|
58
|
-
/**
|
|
59
|
-
* 原始文本来源路径(相对项目根目录)。
|
|
60
|
-
*/
|
|
61
|
-
sourcePath: string;
|
|
62
|
-
/**
|
|
63
|
-
* 触发 digest 的 session id。
|
|
64
|
-
*/
|
|
19
|
+
/** Memory 数据的结构化作用域。 */
|
|
20
|
+
export interface MemoryScope {
|
|
21
|
+
/** 当前记忆所属的 Agent 标识。 */
|
|
22
|
+
agent_id: string;
|
|
23
|
+
/** 当前记忆可选所属的 Workspace 标识或路径。 */
|
|
24
|
+
workspace_id?: string;
|
|
25
|
+
/** 当前记忆可选所属的 Session 标识。 */
|
|
65
26
|
session_id?: string;
|
|
66
|
-
/**
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
27
|
+
/** 当前记忆可选所属的用户标识。 */
|
|
28
|
+
user_id?: string;
|
|
29
|
+
/** 当前记忆可选所属的组织标识。 */
|
|
30
|
+
organization_id?: string;
|
|
70
31
|
}
|
|
71
|
-
/**
|
|
72
|
-
|
|
73
|
-
*/
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* 给调用方看的简短摘要。
|
|
81
|
-
*/
|
|
82
|
-
summary?: string;
|
|
32
|
+
/** 一条记忆引用的原始证据。 */
|
|
33
|
+
export interface MemorySourceReference {
|
|
34
|
+
/** Provider 内稳定的证据标识。 */
|
|
35
|
+
source_id: string;
|
|
36
|
+
/** 证据来源类别,例如 manual、session 或 external。 */
|
|
37
|
+
source_type: string;
|
|
38
|
+
/** 可选的人类可读来源说明。 */
|
|
39
|
+
label?: string;
|
|
83
40
|
}
|
|
84
|
-
/**
|
|
85
|
-
|
|
86
|
-
*/
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* 要修订的 wiki page 路径(相对项目根目录)。
|
|
94
|
-
*/
|
|
95
|
-
path: string;
|
|
96
|
-
/**
|
|
97
|
-
* 当前 page 内容;文件不存在时为空字符串。
|
|
98
|
-
*/
|
|
99
|
-
currentContent: string;
|
|
100
|
-
/**
|
|
101
|
-
* 修订指令。
|
|
102
|
-
*/
|
|
103
|
-
instruction: string;
|
|
104
|
-
/**
|
|
105
|
-
* 新证据或需要合入的内容。
|
|
106
|
-
*/
|
|
107
|
-
evidence: string;
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* revise handler 输出。
|
|
111
|
-
*/
|
|
112
|
-
export interface MemoryReviseHandlerOutput {
|
|
113
|
-
/**
|
|
114
|
-
* 修订后的 wiki page 路径;未传时沿用输入 path。
|
|
115
|
-
*/
|
|
116
|
-
path?: string;
|
|
117
|
-
/**
|
|
118
|
-
* 修订后的完整 Markdown 内容。
|
|
119
|
-
*/
|
|
41
|
+
/** Provider 返回的完整记忆记录。 */
|
|
42
|
+
export interface MemoryRecord {
|
|
43
|
+
/** Provider 内稳定且不依赖物理文件名的记忆标识。 */
|
|
44
|
+
memory_id: string;
|
|
45
|
+
/** 当前记忆的领域分类。 */
|
|
46
|
+
memory_type: MemoryType;
|
|
47
|
+
/** 当前记忆所属的结构化作用域。 */
|
|
48
|
+
scope: MemoryScope;
|
|
49
|
+
/** 当前记忆的完整可读内容。 */
|
|
120
50
|
content: string;
|
|
121
|
-
/**
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
51
|
+
/** 当前内容被观察或形成的 ISO 8601 时间。 */
|
|
52
|
+
observed_at: string;
|
|
53
|
+
/** 当前事实开始有效的可选 ISO 8601 时间。 */
|
|
54
|
+
valid_from?: string;
|
|
55
|
+
/** 当前事实结束有效的可选 ISO 8601 时间。 */
|
|
56
|
+
valid_to?: string;
|
|
57
|
+
/** 支撑当前记忆的证据引用集合。 */
|
|
58
|
+
source_refs: MemorySourceReference[];
|
|
59
|
+
/** Provider 对当前记忆的可选置信度,范围为 0 到 1。 */
|
|
60
|
+
confidence?: number;
|
|
61
|
+
/** Provider 生成的可审计逻辑引用,不得是宿主物理文件路径。 */
|
|
62
|
+
citation?: string;
|
|
63
|
+
/** Provider 可选返回的结构化扩展元数据。 */
|
|
64
|
+
metadata?: JsonObject;
|
|
125
65
|
}
|
|
126
|
-
/**
|
|
127
|
-
|
|
128
|
-
*/
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* 页面标签。
|
|
144
|
-
*/
|
|
145
|
-
tags?: string[];
|
|
66
|
+
/** Memory Provider 能力声明。 */
|
|
67
|
+
export interface MemoryProviderCapabilities {
|
|
68
|
+
/** Provider 是否支持显式记忆写入。 */
|
|
69
|
+
remember: boolean;
|
|
70
|
+
/** Provider 是否支持查询召回。 */
|
|
71
|
+
recall: boolean;
|
|
72
|
+
/** Provider 是否支持按 memory_id 精确读取。 */
|
|
73
|
+
read: boolean;
|
|
74
|
+
/** Provider 是否支持修订既有记忆。 */
|
|
75
|
+
revise: boolean;
|
|
76
|
+
/** Provider 是否支持删除或失效记忆。 */
|
|
77
|
+
forget: boolean;
|
|
78
|
+
/** Provider 是否支持 Session 摘要提炼。 */
|
|
79
|
+
digest: boolean;
|
|
80
|
+
/** Provider 是否支持生成受预算约束的稳定上下文。 */
|
|
81
|
+
system_context: boolean;
|
|
146
82
|
}
|
|
147
|
-
/**
|
|
148
|
-
|
|
149
|
-
*/
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* 片段结束行号(1-based)。
|
|
161
|
-
*/
|
|
162
|
-
endLine: number;
|
|
163
|
-
/**
|
|
164
|
-
* 归一化分数(0~1,越高越相关)。
|
|
165
|
-
*/
|
|
166
|
-
score: number;
|
|
167
|
-
/**
|
|
168
|
-
* 返回给模型/用户的片段文本(已按预算裁剪)。
|
|
169
|
-
*/
|
|
170
|
-
snippet: string;
|
|
171
|
-
/**
|
|
172
|
-
* 记忆来源分类。
|
|
173
|
-
*/
|
|
174
|
-
source: MemorySourceType;
|
|
175
|
-
/**
|
|
176
|
-
* 引用标记(例如:`.downcity/memory/wiki/plugin-system.md#L12-L20`)。
|
|
177
|
-
*/
|
|
178
|
-
citation: string;
|
|
83
|
+
/** Provider 状态查询结果。 */
|
|
84
|
+
export interface MemoryStatusResult {
|
|
85
|
+
/** 当前 Provider 的稳定名称。 */
|
|
86
|
+
provider: string;
|
|
87
|
+
/** 当前 Provider 的生命周期状态。 */
|
|
88
|
+
state: MemoryProviderState;
|
|
89
|
+
/** 当前 Provider 的能力声明。 */
|
|
90
|
+
capabilities: MemoryProviderCapabilities;
|
|
91
|
+
/** Provider 可选返回的结构化状态统计。 */
|
|
92
|
+
details?: JsonObject;
|
|
93
|
+
/** Provider 当前需要提示给调用方的非致命警告。 */
|
|
94
|
+
warnings?: string[];
|
|
179
95
|
}
|
|
180
|
-
/**
|
|
181
|
-
|
|
182
|
-
*/
|
|
183
|
-
export interface MemorySearchPayload {
|
|
184
|
-
/**
|
|
185
|
-
* 查询语句。
|
|
186
|
-
*/
|
|
96
|
+
/** 召回长期记忆的输入。 */
|
|
97
|
+
export interface MemoryRecallInput {
|
|
98
|
+
/** 需要检索的自然语言查询。 */
|
|
187
99
|
query: string;
|
|
188
|
-
/**
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
/**
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
/**
|
|
197
|
-
* 是否检索原始 source 层;默认只检索 wiki 层和 working 层。
|
|
198
|
-
*/
|
|
199
|
-
includeSources?: boolean;
|
|
100
|
+
/** 当前召回请求使用的结构化作用域。 */
|
|
101
|
+
scope: MemoryScope;
|
|
102
|
+
/** 可选最大返回条数。 */
|
|
103
|
+
max_results?: number;
|
|
104
|
+
/** 可选最小相关性分数,范围为 0 到 1。 */
|
|
105
|
+
min_score?: number;
|
|
106
|
+
/** 是否允许召回原始证据记录。 */
|
|
107
|
+
include_evidence?: boolean;
|
|
200
108
|
}
|
|
201
|
-
/**
|
|
202
|
-
|
|
203
|
-
*/
|
|
204
|
-
|
|
205
|
-
/**
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
/**
|
|
210
|
-
* 当前检索模式。
|
|
211
|
-
*/
|
|
212
|
-
mode: MemorySearchMode;
|
|
213
|
-
/**
|
|
214
|
-
* 当前后端标识。
|
|
215
|
-
*/
|
|
216
|
-
backend: "builtin";
|
|
217
|
-
/**
|
|
218
|
-
* 错误原因文本(失败场景)。
|
|
219
|
-
*/
|
|
220
|
-
error?: string;
|
|
221
|
-
/**
|
|
222
|
-
* 建议动作(失败场景)。
|
|
223
|
-
*/
|
|
224
|
-
action?: string;
|
|
109
|
+
/** 一条召回结果。 */
|
|
110
|
+
export interface MemoryRecallItem {
|
|
111
|
+
/** 当前命中的完整记忆记录。 */
|
|
112
|
+
memory: MemoryRecord;
|
|
113
|
+
/** Provider 归一化后的相关性分数,范围为 0 到 1。 */
|
|
114
|
+
score: number;
|
|
115
|
+
/** 适合注入上下文的有界内容片段。 */
|
|
116
|
+
snippet: string;
|
|
225
117
|
}
|
|
226
|
-
/**
|
|
227
|
-
|
|
228
|
-
*/
|
|
229
|
-
|
|
230
|
-
/**
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
/**
|
|
235
|
-
* 可选起始行(1-based)。
|
|
236
|
-
*/
|
|
237
|
-
from?: number;
|
|
238
|
-
/**
|
|
239
|
-
* 可选读取行数。
|
|
240
|
-
*/
|
|
241
|
-
lines?: number;
|
|
118
|
+
/** 召回长期记忆的结果。 */
|
|
119
|
+
export interface MemoryRecallResult {
|
|
120
|
+
/** 执行本次召回的 Provider 名称。 */
|
|
121
|
+
provider: string;
|
|
122
|
+
/** 按 Provider 排序后的召回项。 */
|
|
123
|
+
items: MemoryRecallItem[];
|
|
124
|
+
/** Provider 当前需要提示给调用方的非致命警告。 */
|
|
125
|
+
warnings?: string[];
|
|
242
126
|
}
|
|
243
|
-
/**
|
|
244
|
-
|
|
245
|
-
*/
|
|
246
|
-
|
|
247
|
-
/**
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
/**
|
|
252
|
-
|
|
253
|
-
*/
|
|
254
|
-
text: string;
|
|
255
|
-
/**
|
|
256
|
-
* 文件不存在时为 true。
|
|
257
|
-
*/
|
|
258
|
-
missing?: boolean;
|
|
127
|
+
/** 精确读取一条记忆的输入。 */
|
|
128
|
+
export interface MemoryReadInput {
|
|
129
|
+
/** 需要读取的稳定记忆标识。 */
|
|
130
|
+
memory_id: string;
|
|
131
|
+
/** 当前读取请求使用的结构化作用域。 */
|
|
132
|
+
scope: MemoryScope;
|
|
133
|
+
/** 可选起始行号,使用 1-based 语义。 */
|
|
134
|
+
from_line?: number;
|
|
135
|
+
/** 可选最大读取行数。 */
|
|
136
|
+
line_count?: number;
|
|
259
137
|
}
|
|
260
|
-
/**
|
|
261
|
-
|
|
262
|
-
*/
|
|
263
|
-
|
|
264
|
-
/**
|
|
265
|
-
|
|
266
|
-
|
|
138
|
+
/** 精确读取一条记忆的结果。 */
|
|
139
|
+
export interface MemoryReadResult {
|
|
140
|
+
/** 目标稳定记忆标识。 */
|
|
141
|
+
memory_id: string;
|
|
142
|
+
/** 匹配到的记忆记录;不存在时为空。 */
|
|
143
|
+
memory: MemoryRecord | null;
|
|
144
|
+
}
|
|
145
|
+
/** 显式形成长期记忆的输入。 */
|
|
146
|
+
export interface MemoryRememberInput {
|
|
147
|
+
/** 需要长期保留的原始内容。 */
|
|
267
148
|
content: string;
|
|
268
|
-
/**
|
|
269
|
-
|
|
270
|
-
|
|
149
|
+
/** 当前写入请求使用的结构化作用域。 */
|
|
150
|
+
scope: MemoryScope;
|
|
151
|
+
/** 可选的人类可读主题,用于帮助 Provider 组织内容。 */
|
|
271
152
|
topic?: string;
|
|
272
|
-
/**
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
path?: string;
|
|
276
|
-
/**
|
|
277
|
-
* 可选来源说明。
|
|
278
|
-
*/
|
|
153
|
+
/** 可选目标记忆分类。 */
|
|
154
|
+
memory_type?: MemoryType;
|
|
155
|
+
/** 可选的原始来源说明。 */
|
|
279
156
|
source?: string;
|
|
280
157
|
}
|
|
281
|
-
/**
|
|
282
|
-
|
|
283
|
-
*/
|
|
284
|
-
|
|
285
|
-
/**
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
/**
|
|
290
|
-
* 写入或更新的 wiki page 路径。
|
|
291
|
-
*/
|
|
292
|
-
wikiPath: string;
|
|
293
|
-
/**
|
|
294
|
-
* 当前写入策略。
|
|
295
|
-
*/
|
|
296
|
-
mode: "appended" | "revised";
|
|
297
|
-
/**
|
|
298
|
-
* 写入内容字符数。
|
|
299
|
-
*/
|
|
300
|
-
writtenChars: number;
|
|
301
|
-
/**
|
|
302
|
-
* 可选摘要。
|
|
303
|
-
*/
|
|
158
|
+
/** 显式形成长期记忆的结果。 */
|
|
159
|
+
export interface MemoryRememberResult {
|
|
160
|
+
/** 最终形成或更新的稳定记忆标识。 */
|
|
161
|
+
memory_id: string;
|
|
162
|
+
/** Provider 可选生成的原始证据标识。 */
|
|
163
|
+
evidence_id?: string;
|
|
164
|
+
/** 本次操作是新建还是更新既有记忆。 */
|
|
165
|
+
mode: "created" | "updated";
|
|
166
|
+
/** Provider 可选返回的简短结果摘要。 */
|
|
304
167
|
summary?: string;
|
|
305
168
|
}
|
|
306
|
-
/**
|
|
307
|
-
|
|
308
|
-
*/
|
|
309
|
-
export interface MemoryDigestPayload {
|
|
310
|
-
/**
|
|
311
|
-
* 目标 session id。
|
|
312
|
-
*/
|
|
169
|
+
/** 把 Session 内容提炼为长期记忆的输入。 */
|
|
170
|
+
export interface MemoryDigestInput {
|
|
171
|
+
/** 需要提炼的 Session 标识。 */
|
|
313
172
|
session_id: string;
|
|
314
|
-
/**
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
173
|
+
/** 当前提炼请求使用的结构化作用域。 */
|
|
174
|
+
scope: MemoryScope;
|
|
175
|
+
/** 由 MemoryPlugin 从 canonical Session 提取的文本。 */
|
|
176
|
+
transcript: string;
|
|
177
|
+
/** 实际参与提炼的消息条数。 */
|
|
178
|
+
message_count: number;
|
|
318
179
|
}
|
|
319
|
-
/**
|
|
320
|
-
|
|
321
|
-
*/
|
|
322
|
-
|
|
323
|
-
/**
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
sourcePath: string;
|
|
327
|
-
/**
|
|
328
|
-
* 写入或更新的 wiki page 路径集合。
|
|
329
|
-
*/
|
|
330
|
-
wikiPaths: string[];
|
|
331
|
-
/**
|
|
332
|
-
* 参与 digest 的消息条数。
|
|
333
|
-
*/
|
|
180
|
+
/** 把 Session 内容提炼为长期记忆的结果。 */
|
|
181
|
+
export interface MemoryDigestResult {
|
|
182
|
+
/** 本次形成或更新的稳定记忆标识集合。 */
|
|
183
|
+
memory_ids: string[];
|
|
184
|
+
/** Provider 可选生成的 Session 证据标识。 */
|
|
185
|
+
evidence_id?: string;
|
|
186
|
+
/** 实际参与提炼的消息条数。 */
|
|
334
187
|
message_count: number;
|
|
335
|
-
/**
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
mode: "archived" | "digested";
|
|
339
|
-
/**
|
|
340
|
-
* 可选摘要。
|
|
341
|
-
*/
|
|
188
|
+
/** 本次提炼是仅归档还是生成了长期投影。 */
|
|
189
|
+
mode: "archived" | "projected";
|
|
190
|
+
/** Provider 可选返回的简短结果摘要。 */
|
|
342
191
|
summary?: string;
|
|
343
192
|
}
|
|
344
|
-
/**
|
|
345
|
-
|
|
346
|
-
*/
|
|
347
|
-
|
|
348
|
-
/**
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
path: string;
|
|
352
|
-
/**
|
|
353
|
-
* 修订指令。
|
|
354
|
-
*/
|
|
193
|
+
/** 修订既有记忆的输入。 */
|
|
194
|
+
export interface MemoryReviseInput {
|
|
195
|
+
/** 需要修订的稳定记忆标识。 */
|
|
196
|
+
memory_id: string;
|
|
197
|
+
/** 当前修订请求使用的结构化作用域。 */
|
|
198
|
+
scope: MemoryScope;
|
|
199
|
+
/** 描述目标变更的明确修订指令。 */
|
|
355
200
|
instruction: string;
|
|
356
|
-
/**
|
|
357
|
-
* 新证据或需要合入的内容。
|
|
358
|
-
*/
|
|
201
|
+
/** 可选的新证据内容。 */
|
|
359
202
|
evidence?: string;
|
|
360
203
|
}
|
|
361
|
-
/**
|
|
362
|
-
|
|
363
|
-
*/
|
|
364
|
-
|
|
365
|
-
/**
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
/**
|
|
370
|
-
* 当前 revise 模式。
|
|
371
|
-
*/
|
|
372
|
-
mode: "appended" | "revised";
|
|
373
|
-
/**
|
|
374
|
-
* 写入内容字符数。
|
|
375
|
-
*/
|
|
376
|
-
writtenChars: number;
|
|
377
|
-
/**
|
|
378
|
-
* 可选摘要。
|
|
379
|
-
*/
|
|
204
|
+
/** 修订既有记忆的结果。 */
|
|
205
|
+
export interface MemoryReviseResult {
|
|
206
|
+
/** 实际被修订的稳定记忆标识。 */
|
|
207
|
+
memory_id: string;
|
|
208
|
+
/** Provider 可选生成的修订证据标识。 */
|
|
209
|
+
evidence_id?: string;
|
|
210
|
+
/** Provider 是否完成内容替换或采用追加式降级。 */
|
|
211
|
+
mode: "revised" | "appended";
|
|
212
|
+
/** Provider 可选返回的简短结果摘要。 */
|
|
380
213
|
summary?: string;
|
|
381
214
|
}
|
|
382
|
-
/**
|
|
383
|
-
|
|
384
|
-
*/
|
|
385
|
-
|
|
386
|
-
/**
|
|
387
|
-
|
|
388
|
-
*/
|
|
389
|
-
source: MemorySourceType;
|
|
390
|
-
/**
|
|
391
|
-
* 文件数量。
|
|
392
|
-
*/
|
|
393
|
-
files: number;
|
|
394
|
-
/**
|
|
395
|
-
* 片段数量。
|
|
396
|
-
*/
|
|
397
|
-
chunks: number;
|
|
215
|
+
/** 删除或失效一条记忆的输入。 */
|
|
216
|
+
export interface MemoryForgetInput {
|
|
217
|
+
/** 需要删除或失效的稳定记忆标识。 */
|
|
218
|
+
memory_id: string;
|
|
219
|
+
/** 当前删除请求使用的结构化作用域。 */
|
|
220
|
+
scope: MemoryScope;
|
|
398
221
|
}
|
|
399
|
-
/**
|
|
400
|
-
|
|
401
|
-
*/
|
|
402
|
-
|
|
403
|
-
/**
|
|
404
|
-
|
|
405
|
-
*/
|
|
406
|
-
backend: "builtin";
|
|
407
|
-
/**
|
|
408
|
-
* 当前检索模式。
|
|
409
|
-
*/
|
|
410
|
-
mode: MemorySearchMode;
|
|
411
|
-
/**
|
|
412
|
-
* 文件总数。
|
|
413
|
-
*/
|
|
414
|
-
files: number;
|
|
415
|
-
/**
|
|
416
|
-
* chunk 总数。
|
|
417
|
-
*/
|
|
418
|
-
chunks: number;
|
|
419
|
-
/**
|
|
420
|
-
* 按来源统计。
|
|
421
|
-
*/
|
|
422
|
-
sourceCounts: MemorySourceStat[];
|
|
222
|
+
/** 删除或失效一条记忆的结果。 */
|
|
223
|
+
export interface MemoryForgetResult {
|
|
224
|
+
/** 目标稳定记忆标识。 */
|
|
225
|
+
memory_id: string;
|
|
226
|
+
/** Provider 是否删除或失效了对应记忆。 */
|
|
227
|
+
forgotten: boolean;
|
|
423
228
|
}
|
|
424
|
-
/**
|
|
425
|
-
|
|
426
|
-
*/
|
|
427
|
-
|
|
428
|
-
/**
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
/**
|
|
433
|
-
* 检索默认最小分数。
|
|
434
|
-
*/
|
|
435
|
-
minScore: number;
|
|
436
|
-
/**
|
|
437
|
-
* 注入预算(字符)。
|
|
438
|
-
*/
|
|
439
|
-
maxInjectedChars: number;
|
|
229
|
+
/** Provider 生成稳定上下文时的预算输入。 */
|
|
230
|
+
export interface MemorySystemContextInput {
|
|
231
|
+
/** 当前上下文请求使用的结构化作用域。 */
|
|
232
|
+
scope: MemoryScope;
|
|
233
|
+
/** 允许返回的最大记忆条数。 */
|
|
234
|
+
max_items: number;
|
|
235
|
+
/** 允许返回的最大总字符数。 */
|
|
236
|
+
max_chars: number;
|
|
440
237
|
}
|
|
441
|
-
/**
|
|
442
|
-
|
|
443
|
-
*/
|
|
444
|
-
|
|
238
|
+
/** 一条可进入 system context 的稳定记忆。 */
|
|
239
|
+
export interface MemorySystemContextItem {
|
|
240
|
+
/** 当前稳定记忆标识。 */
|
|
241
|
+
memory_id: string;
|
|
242
|
+
/** 当前记忆的有界文本内容。 */
|
|
243
|
+
content: string;
|
|
244
|
+
/** 当前内容的可选逻辑引用。 */
|
|
245
|
+
citation?: string;
|
|
246
|
+
}
|
|
247
|
+
/** Provider 生成的稳定上下文结果。 */
|
|
248
|
+
export interface MemorySystemContextResult {
|
|
249
|
+
/** 按注入优先级排列的稳定记忆。 */
|
|
250
|
+
items: MemorySystemContextItem[];
|
|
251
|
+
}
|
|
252
|
+
/** MemoryPlugin 依赖的最小 Provider 协议。 */
|
|
253
|
+
export interface MemoryProvider {
|
|
254
|
+
/** Provider 的稳定名称。 */
|
|
255
|
+
readonly name: string;
|
|
256
|
+
/** Provider 支持的领域能力声明。 */
|
|
257
|
+
readonly capabilities: MemoryProviderCapabilities;
|
|
258
|
+
/** 初始化当前 Agent 对应的 Provider 生命周期。 */
|
|
259
|
+
initialize(input: MemoryProviderInitializeInput): Promise<void>;
|
|
260
|
+
/** 读取 Provider 当前状态与统计。 */
|
|
261
|
+
status(): Promise<MemoryStatusResult>;
|
|
262
|
+
/** 按查询与作用域召回长期记忆。 */
|
|
263
|
+
recall(input: MemoryRecallInput): Promise<MemoryRecallResult>;
|
|
264
|
+
/** 按稳定标识精确读取一条记忆。 */
|
|
265
|
+
read(input: MemoryReadInput): Promise<MemoryReadResult>;
|
|
266
|
+
/** 显式形成或更新一条长期记忆。 */
|
|
267
|
+
remember(input: MemoryRememberInput): Promise<MemoryRememberResult>;
|
|
268
|
+
/** 把 Session 文本提炼为长期记忆。 */
|
|
269
|
+
digest(input: MemoryDigestInput): Promise<MemoryDigestResult>;
|
|
270
|
+
/** 基于新证据修订既有记忆。 */
|
|
271
|
+
revise(input: MemoryReviseInput): Promise<MemoryReviseResult>;
|
|
272
|
+
/** 删除或失效一条记忆。 */
|
|
273
|
+
forget(input: MemoryForgetInput): Promise<MemoryForgetResult>;
|
|
274
|
+
/** 生成受预算约束的稳定 system context。 */
|
|
275
|
+
system_context(input: MemorySystemContextInput): Promise<MemorySystemContextResult>;
|
|
276
|
+
/** 释放 Provider 持有的存储、索引和后台任务。 */
|
|
277
|
+
dispose(): Promise<void>;
|
|
278
|
+
}
|
|
279
|
+
/** MemoryPlugin constructor 参数。 */
|
|
280
|
+
export interface MemoryPluginOptions {
|
|
281
|
+
/** 当前 Plugin 唯一使用的主 Memory Provider。 */
|
|
282
|
+
provider: MemoryProvider;
|
|
283
|
+
}
|
|
284
|
+
/** Memory action 可以接受的公开 JSON payload 联合。 */
|
|
285
|
+
export type MemoryActionPayload = Omit<MemoryRecallInput, "scope"> | Omit<MemoryReadInput, "scope"> | Omit<MemoryRememberInput, "scope"> | Omit<MemoryDigestInput, "scope" | "transcript" | "message_count"> | Omit<MemoryReviseInput, "scope"> | Omit<MemoryForgetInput, "scope"> | Record<string, JsonValue>;
|
|
445
286
|
//# sourceMappingURL=Memory.d.ts.map
|