dsh-prime-memory 0.20.0-beta.2 → 0.20.0-beta.21
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 +192 -3
- package/ENGINEERING-NOTES.md +17 -0
- package/dist/client.js +1158 -405
- package/dist/config.d.ts +0 -120
- package/dist/config.js +1 -21
- package/dist/contract.d.ts +111 -56
- package/dist/hooks/recall.d.ts +4 -1
- package/dist/hooks/recall.js +7 -1
- package/dist/index.d.ts +0 -78
- package/dist/index.js +14 -21
- package/dist/metadata-validators.d.ts +5 -0
- package/dist/metadata-validators.js +11 -1
- package/dist/pipeline/recluster.js +1 -1
- package/dist/pipeline/ruminate.d.ts +11 -1
- package/dist/pipeline/ruminate.js +18 -1
- package/dist/room-review.d.ts +196 -0
- package/dist/room-review.js +281 -0
- package/dist/stats.d.ts +23 -34
- package/dist/stats.js +268 -201
- package/dist/store/l1.d.ts +34 -0
- package/dist/store/l1.js +68 -1
- package/dist/store/recall-usage.d.ts +43 -0
- package/dist/store/recall-usage.js +149 -0
- package/dist/store/rooms-registry.d.ts +66 -0
- package/dist/store/rooms-registry.js +250 -0
- package/dist/store/session-modes.d.ts +0 -8
- package/dist/store/session-modes.js +0 -52
- package/dist/store/sqlite.d.ts +4 -0
- package/dist/store/sqlite.js +20 -0
- package/dist/tools/index.d.ts +4 -1
- package/dist/tools/index.js +232 -1
- package/dist/types.d.ts +4 -0
- package/dsh.plugin.json +1 -1
- package/package.json +1 -1
- package/dist/hooks/long-task.d.ts +0 -31
- package/dist/hooks/long-task.js +0 -93
- package/dist/store/context-usage.d.ts +0 -28
- package/dist/store/context-usage.js +0 -47
- package/dist/store/todo-ref.d.ts +0 -41
- package/dist/store/todo-ref.js +0 -65
package/dist/config.d.ts
CHANGED
|
@@ -76,22 +76,6 @@ export interface MemoryConfig {
|
|
|
76
76
|
* 同时为真才执行;图谱是 L1 的可重建投影,关闭不影响记忆主链路。 */
|
|
77
77
|
enabled: boolean;
|
|
78
78
|
};
|
|
79
|
-
/** 长任务模式:浮动面板(非阻断建议)+ 尾部 turn 压缩 + todo 参考。
|
|
80
|
-
* **默认关**——浮动 UI 与额外蒸馏都消耗注意力/额度,由用户显式打开。 */
|
|
81
|
-
longTask: {
|
|
82
|
-
/** 总开关:关闭时监听器不注册、RPC 返回 enabled:false、面板不挂载。 */
|
|
83
|
-
enabled: boolean;
|
|
84
|
-
/** 上下文占用告警阈值(% 窗口):最近一轮官方输入侧 token 达到该比例,
|
|
85
|
-
* 且长任务未开启时,浮动面板建议开启(压缩灾难遗忘高风险区)。 */
|
|
86
|
-
contextThresholdPct: number;
|
|
87
|
-
/** todo 漂移阈值:相邻 todo/write 快照的词面 Jaccard 相似度低于
|
|
88
|
-
* (1 - 该值) 视为"大幅漂移"。0.6 = 相似度不足 0.4。 */
|
|
89
|
-
driftThreshold: number;
|
|
90
|
-
/** 尾部压缩一次覆盖的最近轮数。 */
|
|
91
|
-
tailTurns: number;
|
|
92
|
-
/** 达到上下文阈值时自动执行尾部压缩(无需按压面板;长任务开启才生效)。 */
|
|
93
|
-
autoCompress: boolean;
|
|
94
|
-
};
|
|
95
79
|
/** §C 矛盾冻结:去重判定"两边都像是对的、机器判不了"时不自动裁决,
|
|
96
80
|
* 把冲突对停放到待人工裁决区(conflict_pending)。**默认关**——
|
|
97
81
|
* 冻结消耗人的注意力,不可默认全开。 */
|
|
@@ -337,19 +321,6 @@ export declare function liveSettingsSchema(): Schema<NoInfer<Schemastery.ObjectS
|
|
|
337
321
|
embedRemoteModel: Schema<string, string, "defined">;
|
|
338
322
|
embedRemoteDimensions: Schema<number, number, "defined">;
|
|
339
323
|
memoryMutate: Schema<boolean, boolean, "defined">;
|
|
340
|
-
longTask: Schema<Schemastery.ObjectS<NoInfer<{
|
|
341
|
-
enabled: Schema<boolean, boolean, "defined">;
|
|
342
|
-
contextThresholdPct: Schema<number, number, "defined">;
|
|
343
|
-
driftThreshold: Schema<number, number, "defined">;
|
|
344
|
-
tailTurns: Schema<number, number, "defined">;
|
|
345
|
-
autoCompress: Schema<boolean, boolean, "defined">;
|
|
346
|
-
}>>, Schemastery.ObjectT<NoInfer<{
|
|
347
|
-
enabled: Schema<boolean, boolean, "defined">;
|
|
348
|
-
contextThresholdPct: Schema<number, number, "defined">;
|
|
349
|
-
driftThreshold: Schema<number, number, "defined">;
|
|
350
|
-
tailTurns: Schema<number, number, "defined">;
|
|
351
|
-
autoCompress: Schema<boolean, boolean, "defined">;
|
|
352
|
-
}>>, "plain">;
|
|
353
324
|
conflictFreeze: Schema<boolean, boolean, "defined">;
|
|
354
325
|
}>>>, NoInfer<Schemastery.ObjectT<NoInfer<{
|
|
355
326
|
enabled: Schema<boolean, boolean, "defined">;
|
|
@@ -447,19 +418,6 @@ export declare function liveSettingsSchema(): Schema<NoInfer<Schemastery.ObjectS
|
|
|
447
418
|
embedRemoteModel: Schema<string, string, "defined">;
|
|
448
419
|
embedRemoteDimensions: Schema<number, number, "defined">;
|
|
449
420
|
memoryMutate: Schema<boolean, boolean, "defined">;
|
|
450
|
-
longTask: Schema<Schemastery.ObjectS<NoInfer<{
|
|
451
|
-
enabled: Schema<boolean, boolean, "defined">;
|
|
452
|
-
contextThresholdPct: Schema<number, number, "defined">;
|
|
453
|
-
driftThreshold: Schema<number, number, "defined">;
|
|
454
|
-
tailTurns: Schema<number, number, "defined">;
|
|
455
|
-
autoCompress: Schema<boolean, boolean, "defined">;
|
|
456
|
-
}>>, Schemastery.ObjectT<NoInfer<{
|
|
457
|
-
enabled: Schema<boolean, boolean, "defined">;
|
|
458
|
-
contextThresholdPct: Schema<number, number, "defined">;
|
|
459
|
-
driftThreshold: Schema<number, number, "defined">;
|
|
460
|
-
tailTurns: Schema<number, number, "defined">;
|
|
461
|
-
autoCompress: Schema<boolean, boolean, "defined">;
|
|
462
|
-
}>>, "plain">;
|
|
463
421
|
conflictFreeze: Schema<boolean, boolean, "defined">;
|
|
464
422
|
}>>>, "volatile">;
|
|
465
423
|
export declare const memorySchema: Schema<Schemastery.ObjectS<NoInfer<{
|
|
@@ -522,19 +480,6 @@ export declare const memorySchema: Schema<Schemastery.ObjectS<NoInfer<{
|
|
|
522
480
|
}>>, Schemastery.ObjectT<NoInfer<{
|
|
523
481
|
enabled: Schema<boolean, boolean, "defined">;
|
|
524
482
|
}>>, "plain">;
|
|
525
|
-
longTask: Schema<Schemastery.ObjectS<NoInfer<{
|
|
526
|
-
enabled: Schema<boolean, boolean, "defined">;
|
|
527
|
-
contextThresholdPct: Schema<number, number, "defined">;
|
|
528
|
-
driftThreshold: Schema<number, number, "defined">;
|
|
529
|
-
tailTurns: Schema<number, number, "defined">;
|
|
530
|
-
autoCompress: Schema<boolean, boolean, "defined">;
|
|
531
|
-
}>>, Schemastery.ObjectT<NoInfer<{
|
|
532
|
-
enabled: Schema<boolean, boolean, "defined">;
|
|
533
|
-
contextThresholdPct: Schema<number, number, "defined">;
|
|
534
|
-
driftThreshold: Schema<number, number, "defined">;
|
|
535
|
-
tailTurns: Schema<number, number, "defined">;
|
|
536
|
-
autoCompress: Schema<boolean, boolean, "defined">;
|
|
537
|
-
}>>, "plain">;
|
|
538
483
|
conflictFreeze: Schema<Schemastery.ObjectS<NoInfer<{
|
|
539
484
|
enabled: Schema<boolean, boolean, "defined">;
|
|
540
485
|
maxPending: Schema<number, number, "defined">;
|
|
@@ -880,19 +825,6 @@ export declare const memorySchema: Schema<Schemastery.ObjectS<NoInfer<{
|
|
|
880
825
|
embedRemoteModel: Schema<string, string, "defined">;
|
|
881
826
|
embedRemoteDimensions: Schema<number, number, "defined">;
|
|
882
827
|
memoryMutate: Schema<boolean, boolean, "defined">;
|
|
883
|
-
longTask: Schema<Schemastery.ObjectS<NoInfer<{
|
|
884
|
-
enabled: Schema<boolean, boolean, "defined">;
|
|
885
|
-
contextThresholdPct: Schema<number, number, "defined">;
|
|
886
|
-
driftThreshold: Schema<number, number, "defined">;
|
|
887
|
-
tailTurns: Schema<number, number, "defined">;
|
|
888
|
-
autoCompress: Schema<boolean, boolean, "defined">;
|
|
889
|
-
}>>, Schemastery.ObjectT<NoInfer<{
|
|
890
|
-
enabled: Schema<boolean, boolean, "defined">;
|
|
891
|
-
contextThresholdPct: Schema<number, number, "defined">;
|
|
892
|
-
driftThreshold: Schema<number, number, "defined">;
|
|
893
|
-
tailTurns: Schema<number, number, "defined">;
|
|
894
|
-
autoCompress: Schema<boolean, boolean, "defined">;
|
|
895
|
-
}>>, "plain">;
|
|
896
828
|
conflictFreeze: Schema<boolean, boolean, "defined">;
|
|
897
829
|
}>>>, NoInfer<Schemastery.ObjectT<NoInfer<{
|
|
898
830
|
enabled: Schema<boolean, boolean, "defined">;
|
|
@@ -990,19 +922,6 @@ export declare const memorySchema: Schema<Schemastery.ObjectS<NoInfer<{
|
|
|
990
922
|
embedRemoteModel: Schema<string, string, "defined">;
|
|
991
923
|
embedRemoteDimensions: Schema<number, number, "defined">;
|
|
992
924
|
memoryMutate: Schema<boolean, boolean, "defined">;
|
|
993
|
-
longTask: Schema<Schemastery.ObjectS<NoInfer<{
|
|
994
|
-
enabled: Schema<boolean, boolean, "defined">;
|
|
995
|
-
contextThresholdPct: Schema<number, number, "defined">;
|
|
996
|
-
driftThreshold: Schema<number, number, "defined">;
|
|
997
|
-
tailTurns: Schema<number, number, "defined">;
|
|
998
|
-
autoCompress: Schema<boolean, boolean, "defined">;
|
|
999
|
-
}>>, Schemastery.ObjectT<NoInfer<{
|
|
1000
|
-
enabled: Schema<boolean, boolean, "defined">;
|
|
1001
|
-
contextThresholdPct: Schema<number, number, "defined">;
|
|
1002
|
-
driftThreshold: Schema<number, number, "defined">;
|
|
1003
|
-
tailTurns: Schema<number, number, "defined">;
|
|
1004
|
-
autoCompress: Schema<boolean, boolean, "defined">;
|
|
1005
|
-
}>>, "plain">;
|
|
1006
925
|
conflictFreeze: Schema<boolean, boolean, "defined">;
|
|
1007
926
|
}>>>, "volatile">;
|
|
1008
927
|
}>>, Schemastery.ObjectT<NoInfer<{
|
|
@@ -1065,19 +984,6 @@ export declare const memorySchema: Schema<Schemastery.ObjectS<NoInfer<{
|
|
|
1065
984
|
}>>, Schemastery.ObjectT<NoInfer<{
|
|
1066
985
|
enabled: Schema<boolean, boolean, "defined">;
|
|
1067
986
|
}>>, "plain">;
|
|
1068
|
-
longTask: Schema<Schemastery.ObjectS<NoInfer<{
|
|
1069
|
-
enabled: Schema<boolean, boolean, "defined">;
|
|
1070
|
-
contextThresholdPct: Schema<number, number, "defined">;
|
|
1071
|
-
driftThreshold: Schema<number, number, "defined">;
|
|
1072
|
-
tailTurns: Schema<number, number, "defined">;
|
|
1073
|
-
autoCompress: Schema<boolean, boolean, "defined">;
|
|
1074
|
-
}>>, Schemastery.ObjectT<NoInfer<{
|
|
1075
|
-
enabled: Schema<boolean, boolean, "defined">;
|
|
1076
|
-
contextThresholdPct: Schema<number, number, "defined">;
|
|
1077
|
-
driftThreshold: Schema<number, number, "defined">;
|
|
1078
|
-
tailTurns: Schema<number, number, "defined">;
|
|
1079
|
-
autoCompress: Schema<boolean, boolean, "defined">;
|
|
1080
|
-
}>>, "plain">;
|
|
1081
987
|
conflictFreeze: Schema<Schemastery.ObjectS<NoInfer<{
|
|
1082
988
|
enabled: Schema<boolean, boolean, "defined">;
|
|
1083
989
|
maxPending: Schema<number, number, "defined">;
|
|
@@ -1423,19 +1329,6 @@ export declare const memorySchema: Schema<Schemastery.ObjectS<NoInfer<{
|
|
|
1423
1329
|
embedRemoteModel: Schema<string, string, "defined">;
|
|
1424
1330
|
embedRemoteDimensions: Schema<number, number, "defined">;
|
|
1425
1331
|
memoryMutate: Schema<boolean, boolean, "defined">;
|
|
1426
|
-
longTask: Schema<Schemastery.ObjectS<NoInfer<{
|
|
1427
|
-
enabled: Schema<boolean, boolean, "defined">;
|
|
1428
|
-
contextThresholdPct: Schema<number, number, "defined">;
|
|
1429
|
-
driftThreshold: Schema<number, number, "defined">;
|
|
1430
|
-
tailTurns: Schema<number, number, "defined">;
|
|
1431
|
-
autoCompress: Schema<boolean, boolean, "defined">;
|
|
1432
|
-
}>>, Schemastery.ObjectT<NoInfer<{
|
|
1433
|
-
enabled: Schema<boolean, boolean, "defined">;
|
|
1434
|
-
contextThresholdPct: Schema<number, number, "defined">;
|
|
1435
|
-
driftThreshold: Schema<number, number, "defined">;
|
|
1436
|
-
tailTurns: Schema<number, number, "defined">;
|
|
1437
|
-
autoCompress: Schema<boolean, boolean, "defined">;
|
|
1438
|
-
}>>, "plain">;
|
|
1439
1332
|
conflictFreeze: Schema<boolean, boolean, "defined">;
|
|
1440
1333
|
}>>>, NoInfer<Schemastery.ObjectT<NoInfer<{
|
|
1441
1334
|
enabled: Schema<boolean, boolean, "defined">;
|
|
@@ -1533,19 +1426,6 @@ export declare const memorySchema: Schema<Schemastery.ObjectS<NoInfer<{
|
|
|
1533
1426
|
embedRemoteModel: Schema<string, string, "defined">;
|
|
1534
1427
|
embedRemoteDimensions: Schema<number, number, "defined">;
|
|
1535
1428
|
memoryMutate: Schema<boolean, boolean, "defined">;
|
|
1536
|
-
longTask: Schema<Schemastery.ObjectS<NoInfer<{
|
|
1537
|
-
enabled: Schema<boolean, boolean, "defined">;
|
|
1538
|
-
contextThresholdPct: Schema<number, number, "defined">;
|
|
1539
|
-
driftThreshold: Schema<number, number, "defined">;
|
|
1540
|
-
tailTurns: Schema<number, number, "defined">;
|
|
1541
|
-
autoCompress: Schema<boolean, boolean, "defined">;
|
|
1542
|
-
}>>, Schemastery.ObjectT<NoInfer<{
|
|
1543
|
-
enabled: Schema<boolean, boolean, "defined">;
|
|
1544
|
-
contextThresholdPct: Schema<number, number, "defined">;
|
|
1545
|
-
driftThreshold: Schema<number, number, "defined">;
|
|
1546
|
-
tailTurns: Schema<number, number, "defined">;
|
|
1547
|
-
autoCompress: Schema<boolean, boolean, "defined">;
|
|
1548
|
-
}>>, "plain">;
|
|
1549
1429
|
conflictFreeze: Schema<boolean, boolean, "defined">;
|
|
1550
1430
|
}>>>, "volatile">;
|
|
1551
1431
|
}>>, "plain">;
|
package/dist/config.js
CHANGED
|
@@ -68,13 +68,6 @@ export function liveSettingsSchema() {
|
|
|
68
68
|
// 记忆写删权限门:默认 false(模型写删风险高,须显式在面板开启高权限模式)
|
|
69
69
|
memoryMutate: Schema.boolean().default(false),
|
|
70
70
|
// §C 人工冲突裁决总开关:默认 false(冻结消耗注意力,不可默认全开)
|
|
71
|
-
longTask: Schema.object({
|
|
72
|
-
enabled: Schema.boolean().default(false),
|
|
73
|
-
contextThresholdPct: Schema.number().min(10).max(95).default(70),
|
|
74
|
-
driftThreshold: Schema.number().min(0.1).max(1).default(0.6),
|
|
75
|
-
tailTurns: Schema.number().min(1).max(50).default(6),
|
|
76
|
-
autoCompress: Schema.boolean().default(false),
|
|
77
|
-
}),
|
|
78
71
|
conflictFreeze: Schema.boolean().default(false),
|
|
79
72
|
}).volatile();
|
|
80
73
|
}
|
|
@@ -120,20 +113,7 @@ export const memorySchema = Schema.object({
|
|
|
120
113
|
graph: Schema.object({
|
|
121
114
|
enabled: Schema.boolean().default(false),
|
|
122
115
|
}),
|
|
123
|
-
// §C
|
|
124
|
-
// 冲突对停放待人工裁决,不再由 LLM 直接 update/merge 覆盖。
|
|
125
|
-
longTask: Schema.object({
|
|
126
|
-
// 总开关:关闭时监听器不注册、建议面板不挂载(部署级上限)。
|
|
127
|
-
enabled: Schema.boolean().default(false),
|
|
128
|
-
// 上下文占用告警阈值(%,官方输入侧 / 模型窗口)。
|
|
129
|
-
contextThresholdPct: Schema.number().min(10).max(95).default(70),
|
|
130
|
-
// todo 漂移阈值:Jaccard 相似度低于 (1 - driftThreshold) 视为大幅漂移。
|
|
131
|
-
driftThreshold: Schema.number().min(0.1).max(1).default(0.6),
|
|
132
|
-
// 尾部压缩一次覆盖的最近轮数。
|
|
133
|
-
tailTurns: Schema.number().min(1).max(50).default(6),
|
|
134
|
-
// 跨阈值自动尾部压缩(长任务开启才生效)。
|
|
135
|
-
autoCompress: Schema.boolean().default(false),
|
|
136
|
-
}),
|
|
116
|
+
// §C 矛盾冻结:默认关。开启后去重决策词表多出 conflict 动作,冲突对停放待人工裁决。
|
|
137
117
|
conflictFreeze: Schema.object({
|
|
138
118
|
enabled: Schema.boolean().default(false),
|
|
139
119
|
// 上限给"人会看"留出余量:100 条待裁决 ≈ 连续 5~20 轮蒸馏全在冲突,
|
package/dist/contract.d.ts
CHANGED
|
@@ -456,14 +456,11 @@ export interface SessionModeGetResponse {
|
|
|
456
456
|
hallIncludeUnlabeled: boolean;
|
|
457
457
|
/** 锁定域边界开关:跨域兜底 general 是否参与召回(默认不含)。 */
|
|
458
458
|
hallIncludeGeneral: boolean;
|
|
459
|
-
/** 长任务模式(浮动面板切换;尾部 turn 压缩与 todo 参考仅在开启时可用)。 */
|
|
460
|
-
longTask: boolean;
|
|
461
459
|
}
|
|
462
460
|
export interface SessionModeSetRequest {
|
|
463
461
|
sessionId: string;
|
|
464
|
-
/**
|
|
465
|
-
|
|
466
|
-
mode?: MemoryMode;
|
|
462
|
+
/** 档位(必传)。 */
|
|
463
|
+
mode: MemoryMode;
|
|
467
464
|
/** 会话级注入覆盖:布尔 = 设置覆盖;显式 null = 清除(跟随全局);缺省 = 不动
|
|
468
465
|
* (旧 client 纯切档兼容,覆盖不丢)。mode 与 recall 可独立设置。 */
|
|
469
466
|
recall?: boolean | null;
|
|
@@ -475,8 +472,6 @@ export interface SessionModeSetRequest {
|
|
|
475
472
|
/** 锁定域边界开关(缺省 = 不动)。 */
|
|
476
473
|
hallIncludeUnlabeled?: boolean;
|
|
477
474
|
hallIncludeGeneral?: boolean;
|
|
478
|
-
/** 长任务模式:布尔 = 切换(关闭时服务端同步撤下 todo 参考槽位);缺省 = 不动。 */
|
|
479
|
-
longTask?: boolean;
|
|
480
475
|
}
|
|
481
476
|
export interface SessionModeSetResponse {
|
|
482
477
|
sessionId: string;
|
|
@@ -490,50 +485,6 @@ export interface SessionModeSetResponse {
|
|
|
490
485
|
halls: string[];
|
|
491
486
|
hallIncludeUnlabeled: boolean;
|
|
492
487
|
hallIncludeGeneral: boolean;
|
|
493
|
-
/** 设置后的长任务态。 */
|
|
494
|
-
longTask: boolean;
|
|
495
|
-
}
|
|
496
|
-
/** dsh-memory/longtask-hint-get | 长任务建议状态(浮动面板轮询;热路径:全内存读)。 */
|
|
497
|
-
export interface LongTaskHintGetRequest {
|
|
498
|
-
sessionId: string;
|
|
499
|
-
}
|
|
500
|
-
export interface LongTaskHintGetResponse {
|
|
501
|
-
sessionId: string;
|
|
502
|
-
/** 部署总开关(cfg.longTask.enabled):false 时面板不应挂载。 */
|
|
503
|
-
enabled: boolean;
|
|
504
|
-
/** 会话长任务态。 */
|
|
505
|
-
longTask: boolean;
|
|
506
|
-
/** 上下文占用百分比(最近官方输入侧 / 模型窗口;无样本或窗口未知 = null)。 */
|
|
507
|
-
contextPct: number | null;
|
|
508
|
-
contextThresholdPct: number;
|
|
509
|
-
/** 最近一次 todo 快照漂移度(无快照 = null)。 */
|
|
510
|
-
drift: number | null;
|
|
511
|
-
driftThreshold: number;
|
|
512
|
-
/** 最新 todo 快照条目数。 */
|
|
513
|
-
todoCount: number;
|
|
514
|
-
/** 非阻断建议:达到任一阈值且长任务未开启。 */
|
|
515
|
-
suggest: boolean;
|
|
516
|
-
reasons: Array<'context-threshold' | 'todo-drift'>;
|
|
517
|
-
/** 尾部压缩一次覆盖的轮数(cfg)。 */
|
|
518
|
-
tailTurns: number;
|
|
519
|
-
/** 已压缩水位线(null = 从未压缩)。 */
|
|
520
|
-
lastTailCompressedTurn: number | null;
|
|
521
|
-
/** 水位线之上、可压缩的已捕获轮数(长任务关闭时 null)。 */
|
|
522
|
-
pendingTailTurns: number | null;
|
|
523
|
-
}
|
|
524
|
-
/** dsh-memory/longtask-compress-tail | 尾部 turn 压缩(强制蒸馏最近 N 轮入记忆)。 */
|
|
525
|
-
export interface LongTaskCompressTailRequest {
|
|
526
|
-
sessionId: string;
|
|
527
|
-
/** 覆盖 cfg.longTask.tailTurns(≤50)。 */
|
|
528
|
-
turns?: number;
|
|
529
|
-
}
|
|
530
|
-
export interface LongTaskCompressTailResponse {
|
|
531
|
-
sessionId: string;
|
|
532
|
-
/** 实际入队蒸馏的消息条数(0 = 无可压轮/长任务未开启)。 */
|
|
533
|
-
enqueued: number;
|
|
534
|
-
fromTurn: number | null;
|
|
535
|
-
toTurn: number | null;
|
|
536
|
-
longTask: boolean;
|
|
537
488
|
}
|
|
538
489
|
/** dsh-memory/wing-overview(八边形角计数;WingWheel 打开时拉取,非热路径)。 */
|
|
539
490
|
export interface WingOverviewResponse {
|
|
@@ -557,10 +508,91 @@ export interface WingOverviewResponse {
|
|
|
557
508
|
* 降级/无 tags 时 `rooms` 为空数组(面板显示"暂无"),不报错。
|
|
558
509
|
*/
|
|
559
510
|
export interface RoomsGetResponse {
|
|
560
|
-
/** Room 列表(
|
|
511
|
+
/** Room 列表(按记录数降序,同数按名升序;注册表条目 count=0 并带 source/label)。
|
|
512
|
+
* 条目可选字段 source/label 由端点层合并注册表后附带(客户端可选读,零断裂)。 */
|
|
561
513
|
rooms: RoomCount[];
|
|
562
514
|
/** Room 总数(= rooms.length,冗余只为前端少写一次 .length)。 */
|
|
563
515
|
total: number;
|
|
516
|
+
/** 孤儿记忆数:没有任何 Room(tags 为空/缺失)的记录条数(与 rooms 同口径含已退场)。 */
|
|
517
|
+
orphanCount: number;
|
|
518
|
+
/** 注册表条目(全量含 retired;分类管理面板用;未装配 = undefined)。 */
|
|
519
|
+
registry?: Array<{
|
|
520
|
+
slug: string;
|
|
521
|
+
label?: string;
|
|
522
|
+
description?: string;
|
|
523
|
+
source: 'pre-registered' | 'grown';
|
|
524
|
+
aliases?: string[];
|
|
525
|
+
status: 'active' | 'retired';
|
|
526
|
+
}>;
|
|
527
|
+
}
|
|
528
|
+
/** dsh-memory/room-register(预注册 Room;高权限:面板 memoryMutate 开启才生效)。 */
|
|
529
|
+
export interface RoomRegisterRequest {
|
|
530
|
+
slug: string;
|
|
531
|
+
label?: string;
|
|
532
|
+
description?: string;
|
|
533
|
+
/** 收编自生长 slug 时传 grown(缺省 pre-registered;已存在条目忽略此字段)。 */
|
|
534
|
+
source?: 'pre-registered' | 'grown';
|
|
535
|
+
}
|
|
536
|
+
export interface RoomRegisterResponse {
|
|
537
|
+
slug: string;
|
|
538
|
+
created: boolean;
|
|
539
|
+
/** 幂等补全时的提示(如「已存在,只补全缺失字段」)。 */
|
|
540
|
+
notice?: string;
|
|
541
|
+
}
|
|
542
|
+
/** dsh-memory/rooms-export(分类数据导出,CSV 直出)。 */
|
|
543
|
+
export interface RoomsExportRequest {
|
|
544
|
+
/** rooms = 词表+计数;orphans = 无 Room 绑定的记录清单;records = 按 Room 的记录清单(tag 必传)。 */
|
|
545
|
+
kind: 'rooms' | 'orphans' | 'records';
|
|
546
|
+
/** 各 kind 通用上限(1..10000,默认 2000)。 */
|
|
547
|
+
limit?: number;
|
|
548
|
+
/** kind=records 的目标 Room slug。 */
|
|
549
|
+
tag?: string;
|
|
550
|
+
}
|
|
551
|
+
export interface RoomsExportResponse {
|
|
552
|
+
kind: 'rooms' | 'orphans' | 'records';
|
|
553
|
+
/** CSV 文本(首行表头;
|
|
554
|
+
行尾;RFC 4180 转义)。 */
|
|
555
|
+
csv: string;
|
|
556
|
+
/** 数据行数(不含表头)。 */
|
|
557
|
+
total: number;
|
|
558
|
+
/** truncated = 达到 limit 上限,结果可能不完整。 */
|
|
559
|
+
truncated: boolean;
|
|
560
|
+
}
|
|
561
|
+
/** dsh-memory/room-admin(Room 破坏性面管理;高权限:面板 memoryMutate 开启才生效)。 */
|
|
562
|
+
export interface RoomAdminRequest {
|
|
563
|
+
/** merge/rename:from→to(mergeRoom/renameRoom 编排:预览→实跑+自动备份+入队场景重算);retire:slug 退役/恢复;update:改写 label/description。 */
|
|
564
|
+
action: 'merge' | 'rename' | 'retire' | 'update';
|
|
565
|
+
/** update 的显示名(可中文;非空才改写)。 */
|
|
566
|
+
label?: string;
|
|
567
|
+
/** update 的归类说明(喂标注器;非空才改写)。 */
|
|
568
|
+
description?: string;
|
|
569
|
+
/** merge/rename 的源 Room slug。 */
|
|
570
|
+
from?: string;
|
|
571
|
+
/** merge/rename 的目标 Room slug。 */
|
|
572
|
+
to?: string;
|
|
573
|
+
/** retire 的目标 Room slug。 */
|
|
574
|
+
slug?: string;
|
|
575
|
+
/** retire:true=恢复 active;缺省/false=退役。 */
|
|
576
|
+
active?: boolean;
|
|
577
|
+
/** retire:同时把该 room 下全部**活跃**记录退场(软删,可在「已退场」区恢复)。 */
|
|
578
|
+
withRecords?: boolean;
|
|
579
|
+
/** merge/rename:缺省 true 只返预览;实跑需显式 false。 */
|
|
580
|
+
dryRun?: boolean;
|
|
581
|
+
}
|
|
582
|
+
export interface RoomAdminResponse {
|
|
583
|
+
notice: string;
|
|
584
|
+
/** merge/rename 本次是否 dryRun(预览)。 */
|
|
585
|
+
dryRun?: boolean;
|
|
586
|
+
/** merge/rename 影响的记录条数(实跑 = 已改写条数)。 */
|
|
587
|
+
affected?: number;
|
|
588
|
+
/** 预览样例(受影响记录 id 的前几条)。 */
|
|
589
|
+
preview?: string[];
|
|
590
|
+
/** true = 超过单次上限,需续跑。 */
|
|
591
|
+
hasMore?: boolean;
|
|
592
|
+
/** 实跑时改写前备份文件名(rooms-merge-backups/)。 */
|
|
593
|
+
backupFile?: string;
|
|
594
|
+
/** retire withRecords 实际退场的记录条数(软删,可恢复)。 */
|
|
595
|
+
retiredRecords?: number;
|
|
564
596
|
}
|
|
565
597
|
/** dsh-memory/wing-backfill(一键回填,后台任务;端点立即返回,进度以 wing-overview 轮询)。 */
|
|
566
598
|
export interface WingBackfillResponse {
|
|
@@ -700,6 +732,11 @@ export interface ListRecordsRequest {
|
|
|
700
732
|
* Room 由 tags 派生(自生长),故这里传的是**具体 tag 名**而非枚举 id。
|
|
701
733
|
*/
|
|
702
734
|
tag?: string;
|
|
735
|
+
/**
|
|
736
|
+
* 孤儿记忆筛选:true = 只列**没有任何 Room(tags 为空/缺失)**的记录。
|
|
737
|
+
* 与 `tag` 互斥;同传时 `tag` 优先(客户端保证不同传)。
|
|
738
|
+
*/
|
|
739
|
+
untagged?: boolean;
|
|
703
740
|
/**
|
|
704
741
|
* 退场(软删)筛查:三态。省略 = 全部(活跃+已退场混排,靠 `UiRecord.retired`
|
|
705
742
|
* 徽标区分);`false` = 仅活跃;`true` = 仅已退场。
|
|
@@ -736,6 +773,15 @@ export interface UiRecord {
|
|
|
736
773
|
sourceAnchors: string[];
|
|
737
774
|
/** 检索相关度(列表路径无 score → null)。 */
|
|
738
775
|
score: number | null;
|
|
776
|
+
/** 老化权重:读路径衰减系数 max(0.5, 0.5^(Δ天/半衰期))(Δ=updatedAt;半衰期 0=关 → null)。 */
|
|
777
|
+
agingWeight?: number | null;
|
|
778
|
+
/** 召回使用统计:**进 topN(被注入)才算 used**;参与尝试未进 = 仅 attempts。缺省 = 未装配。 */
|
|
779
|
+
usage?: {
|
|
780
|
+
attempts: number;
|
|
781
|
+
used: number;
|
|
782
|
+
lastAttemptAt: number | null;
|
|
783
|
+
lastUsedAt: number | null;
|
|
784
|
+
} | null;
|
|
739
785
|
/**
|
|
740
786
|
* 是否已退场(软删)。`true` 时该记录在活动列表里仍以「已退场」态呈现(置灰 + 徽标),
|
|
741
787
|
* 可被 `records-restore` 找回——这正是设计要的「不静默消失、可恢复」,而非真删。
|
|
@@ -754,6 +800,13 @@ export interface ListRecordsResponse {
|
|
|
754
800
|
truncated: boolean;
|
|
755
801
|
/** 场景筛选下拉选项(仅 offset===0 时附带)。 */
|
|
756
802
|
scenes?: string[];
|
|
803
|
+
/** 召回使用汇总(老化权重效果口径:进 topN 才算 used)。未装配 = undefined。 */
|
|
804
|
+
usageSummary?: {
|
|
805
|
+
tracked: number;
|
|
806
|
+
attempted: number;
|
|
807
|
+
used: number;
|
|
808
|
+
rate: number;
|
|
809
|
+
} | null;
|
|
757
810
|
/**
|
|
758
811
|
* Wing 词表(R8 单一事实源:服务端随 list-records 下发,client 不再手抄;仅 offset===0 时附带)。
|
|
759
812
|
* 含 8 角 + `general`(跨域兜底,存量大 reserved 值仍可筛)。缺省(旧服务端)时 client
|
|
@@ -1249,10 +1302,11 @@ export interface DshMemoryRequestMap {
|
|
|
1249
1302
|
'dsh-memory/token-cost': TokenCostRequest;
|
|
1250
1303
|
'dsh-memory/session-mode-get': SessionModeGetRequest;
|
|
1251
1304
|
'dsh-memory/session-mode-set': SessionModeSetRequest;
|
|
1252
|
-
'dsh-memory/longtask-hint-get': LongTaskHintGetRequest;
|
|
1253
|
-
'dsh-memory/longtask-compress-tail': LongTaskCompressTailRequest;
|
|
1254
1305
|
'dsh-memory/wing-overview': Record<string, never>;
|
|
1255
1306
|
'dsh-memory/rooms-get': Record<string, never>;
|
|
1307
|
+
'dsh-memory/rooms-export': RoomsExportRequest;
|
|
1308
|
+
'dsh-memory/room-register': RoomRegisterRequest;
|
|
1309
|
+
'dsh-memory/room-admin': RoomAdminRequest;
|
|
1256
1310
|
'dsh-memory/wing-backfill': Record<string, never>;
|
|
1257
1311
|
'dsh-memory/session-stats': SessionStatsRequest;
|
|
1258
1312
|
'dsh-memory/settings-get': Record<string, never>;
|
|
@@ -1295,11 +1349,12 @@ export interface DshMemoryResponseMap {
|
|
|
1295
1349
|
'dsh-memory/stats': StatsResponse;
|
|
1296
1350
|
'dsh-memory/token-cost': TokenCostResponse;
|
|
1297
1351
|
'dsh-memory/session-mode-get': SessionModeGetResponse;
|
|
1298
|
-
'dsh-memory/longtask-hint-get': LongTaskHintGetResponse;
|
|
1299
|
-
'dsh-memory/longtask-compress-tail': LongTaskCompressTailResponse;
|
|
1300
1352
|
'dsh-memory/session-mode-set': SessionModeSetResponse;
|
|
1301
1353
|
'dsh-memory/wing-overview': WingOverviewResponse;
|
|
1302
1354
|
'dsh-memory/rooms-get': RoomsGetResponse;
|
|
1355
|
+
'dsh-memory/rooms-export': RoomsExportResponse;
|
|
1356
|
+
'dsh-memory/room-register': RoomRegisterResponse;
|
|
1357
|
+
'dsh-memory/room-admin': RoomAdminResponse;
|
|
1303
1358
|
'dsh-memory/wing-backfill': WingBackfillResponse;
|
|
1304
1359
|
'dsh-memory/session-stats': SessionStatsResponse;
|
|
1305
1360
|
'dsh-memory/settings-get': SettingsGetResponse;
|
package/dist/hooks/recall.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ import type { L1Store } from '../store/l1.js';
|
|
|
22
22
|
import type { PersonaStore } from '../store/persona.js';
|
|
23
23
|
import type { SceneStore } from '../store/scenes.js';
|
|
24
24
|
import type { SessionModeStore } from '../store/session-modes.js';
|
|
25
|
+
import type { RecallUsageStore } from '../store/recall-usage.js';
|
|
25
26
|
import type { MemoryLogger } from '../types.js';
|
|
26
27
|
import { type OccupancyLedger } from '../util/context-occupancy.js';
|
|
27
28
|
/**
|
|
@@ -89,4 +90,6 @@ export declare function registerRecall(ctx: Context, cfg: MemoryConfig, stores:
|
|
|
89
90
|
l1: L1Store;
|
|
90
91
|
scenes: Record<'chat' | 'work', SceneStore>;
|
|
91
92
|
persona: Record<'chat' | 'work', PersonaStore>;
|
|
92
|
-
}, logger: MemoryLogger, live: LiveSettingsHandle, modes: SessionModeStore, dataDir: string
|
|
93
|
+
}, logger: MemoryLogger, live: LiveSettingsHandle, modes: SessionModeStore, dataDir: string,
|
|
94
|
+
/** 召回使用统计(可选;未装配 = 零成本旁路):进 topN(注入)才算 used。 */
|
|
95
|
+
usage?: RecallUsageStore): RecallHooks;
|
package/dist/hooks/recall.js
CHANGED
|
@@ -114,7 +114,9 @@ export function emptyRecallStats(now = Date.now()) {
|
|
|
114
114
|
updatedAt: now,
|
|
115
115
|
};
|
|
116
116
|
}
|
|
117
|
-
export function registerRecall(ctx, cfg, stores, logger, live, modes, dataDir
|
|
117
|
+
export function registerRecall(ctx, cfg, stores, logger, live, modes, dataDir,
|
|
118
|
+
/** 召回使用统计(可选;未装配 = 零成本旁路):进 topN(注入)才算 used。 */
|
|
119
|
+
usage) {
|
|
118
120
|
/** 召回去重存储(同会话已注入的记忆不再重复注入;写穿持久化,重启不丢)。 */
|
|
119
121
|
const dedupe = new RecallDedupeStore(dataDir, logger);
|
|
120
122
|
/** 记忆占用流水(账本迁移写穿;重启后历史会话账目由此复生)。 */
|
|
@@ -393,6 +395,7 @@ export function registerRecall(ctx, cfg, stores, logger, live, modes, dataDir) {
|
|
|
393
395
|
injectedIds: [], suppressedCount: scoped.length - fresh.length,
|
|
394
396
|
durationMs: Date.now() - searchStart, outcome: 'suppressed',
|
|
395
397
|
});
|
|
398
|
+
usage?.recordAttempt(scoped.map((h) => h.id), []);
|
|
396
399
|
return decision;
|
|
397
400
|
}
|
|
398
401
|
const lines = applyRecallBudget(fresh.map((h) => `- [${h.scene_name ? `${h.type}|${h.scene_name}` : h.type}] ${h.content}`), { maxCharsPerMemory: cfg.recall.maxCharsPerMemory, maxTotalRecallChars: cfg.recall.maxTotalRecallChars });
|
|
@@ -404,6 +407,7 @@ export function registerRecall(ctx, cfg, stores, logger, live, modes, dataDir) {
|
|
|
404
407
|
injectedIds: [], suppressedCount: scoped.length - fresh.length,
|
|
405
408
|
durationMs: Date.now() - searchStart, outcome: 'suppressed',
|
|
406
409
|
});
|
|
410
|
+
usage?.recordAttempt(fresh.map((h) => h.id), []);
|
|
407
411
|
return decision;
|
|
408
412
|
}
|
|
409
413
|
st.lastHits = lines.length;
|
|
@@ -436,6 +440,8 @@ export function registerRecall(ctx, cfg, stores, logger, live, modes, dataDir) {
|
|
|
436
440
|
injectedIds: fresh.slice(0, lines.length).map((h) => h.id), suppressedCount: scoped.length - fresh.length,
|
|
437
441
|
durationMs: Date.now() - searchStart, outcome: 'injected',
|
|
438
442
|
});
|
|
443
|
+
// 使用统计:候选=scoped(尝试),进 topN(注入)=used
|
|
444
|
+
usage?.recordAttempt(scoped.map((h) => h.id), fresh.slice(0, lines.length).map((h) => h.id));
|
|
439
445
|
// 入账在成功构造注入消息之后、返回 enter 之前——任何前置抛错路径账目零扰动
|
|
440
446
|
const led = ledgerFor(payload.agent.id);
|
|
441
447
|
recordRecallInjection(led, text.length);
|
package/dist/index.d.ts
CHANGED
|
@@ -75,19 +75,6 @@ export declare const Config: import("@deepseek-ai/schemastery").default<Schemast
|
|
|
75
75
|
}>>, Schemastery.ObjectT<NoInfer<{
|
|
76
76
|
enabled: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
77
77
|
}>>, "plain">;
|
|
78
|
-
longTask: import("@deepseek-ai/schemastery").default<Schemastery.ObjectS<NoInfer<{
|
|
79
|
-
enabled: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
80
|
-
contextThresholdPct: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
81
|
-
driftThreshold: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
82
|
-
tailTurns: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
83
|
-
autoCompress: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
84
|
-
}>>, Schemastery.ObjectT<NoInfer<{
|
|
85
|
-
enabled: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
86
|
-
contextThresholdPct: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
87
|
-
driftThreshold: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
88
|
-
tailTurns: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
89
|
-
autoCompress: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
90
|
-
}>>, "plain">;
|
|
91
78
|
conflictFreeze: import("@deepseek-ai/schemastery").default<Schemastery.ObjectS<NoInfer<{
|
|
92
79
|
enabled: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
93
80
|
maxPending: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
@@ -433,19 +420,6 @@ export declare const Config: import("@deepseek-ai/schemastery").default<Schemast
|
|
|
433
420
|
embedRemoteModel: import("@deepseek-ai/schemastery").default<string, string, "defined">;
|
|
434
421
|
embedRemoteDimensions: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
435
422
|
memoryMutate: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
436
|
-
longTask: import("@deepseek-ai/schemastery").default<Schemastery.ObjectS<NoInfer<{
|
|
437
|
-
enabled: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
438
|
-
contextThresholdPct: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
439
|
-
driftThreshold: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
440
|
-
tailTurns: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
441
|
-
autoCompress: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
442
|
-
}>>, Schemastery.ObjectT<NoInfer<{
|
|
443
|
-
enabled: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
444
|
-
contextThresholdPct: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
445
|
-
driftThreshold: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
446
|
-
tailTurns: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
447
|
-
autoCompress: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
448
|
-
}>>, "plain">;
|
|
449
423
|
conflictFreeze: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
450
424
|
}>>>, NoInfer<Schemastery.ObjectT<NoInfer<{
|
|
451
425
|
enabled: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
@@ -543,19 +517,6 @@ export declare const Config: import("@deepseek-ai/schemastery").default<Schemast
|
|
|
543
517
|
embedRemoteModel: import("@deepseek-ai/schemastery").default<string, string, "defined">;
|
|
544
518
|
embedRemoteDimensions: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
545
519
|
memoryMutate: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
546
|
-
longTask: import("@deepseek-ai/schemastery").default<Schemastery.ObjectS<NoInfer<{
|
|
547
|
-
enabled: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
548
|
-
contextThresholdPct: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
549
|
-
driftThreshold: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
550
|
-
tailTurns: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
551
|
-
autoCompress: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
552
|
-
}>>, Schemastery.ObjectT<NoInfer<{
|
|
553
|
-
enabled: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
554
|
-
contextThresholdPct: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
555
|
-
driftThreshold: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
556
|
-
tailTurns: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
557
|
-
autoCompress: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
558
|
-
}>>, "plain">;
|
|
559
520
|
conflictFreeze: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
560
521
|
}>>>, "volatile">;
|
|
561
522
|
}>>, Schemastery.ObjectT<NoInfer<{
|
|
@@ -618,19 +579,6 @@ export declare const Config: import("@deepseek-ai/schemastery").default<Schemast
|
|
|
618
579
|
}>>, Schemastery.ObjectT<NoInfer<{
|
|
619
580
|
enabled: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
620
581
|
}>>, "plain">;
|
|
621
|
-
longTask: import("@deepseek-ai/schemastery").default<Schemastery.ObjectS<NoInfer<{
|
|
622
|
-
enabled: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
623
|
-
contextThresholdPct: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
624
|
-
driftThreshold: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
625
|
-
tailTurns: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
626
|
-
autoCompress: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
627
|
-
}>>, Schemastery.ObjectT<NoInfer<{
|
|
628
|
-
enabled: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
629
|
-
contextThresholdPct: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
630
|
-
driftThreshold: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
631
|
-
tailTurns: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
632
|
-
autoCompress: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
633
|
-
}>>, "plain">;
|
|
634
582
|
conflictFreeze: import("@deepseek-ai/schemastery").default<Schemastery.ObjectS<NoInfer<{
|
|
635
583
|
enabled: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
636
584
|
maxPending: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
@@ -976,19 +924,6 @@ export declare const Config: import("@deepseek-ai/schemastery").default<Schemast
|
|
|
976
924
|
embedRemoteModel: import("@deepseek-ai/schemastery").default<string, string, "defined">;
|
|
977
925
|
embedRemoteDimensions: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
978
926
|
memoryMutate: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
979
|
-
longTask: import("@deepseek-ai/schemastery").default<Schemastery.ObjectS<NoInfer<{
|
|
980
|
-
enabled: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
981
|
-
contextThresholdPct: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
982
|
-
driftThreshold: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
983
|
-
tailTurns: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
984
|
-
autoCompress: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
985
|
-
}>>, Schemastery.ObjectT<NoInfer<{
|
|
986
|
-
enabled: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
987
|
-
contextThresholdPct: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
988
|
-
driftThreshold: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
989
|
-
tailTurns: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
990
|
-
autoCompress: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
991
|
-
}>>, "plain">;
|
|
992
927
|
conflictFreeze: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
993
928
|
}>>>, NoInfer<Schemastery.ObjectT<NoInfer<{
|
|
994
929
|
enabled: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
@@ -1086,19 +1021,6 @@ export declare const Config: import("@deepseek-ai/schemastery").default<Schemast
|
|
|
1086
1021
|
embedRemoteModel: import("@deepseek-ai/schemastery").default<string, string, "defined">;
|
|
1087
1022
|
embedRemoteDimensions: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
1088
1023
|
memoryMutate: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
1089
|
-
longTask: import("@deepseek-ai/schemastery").default<Schemastery.ObjectS<NoInfer<{
|
|
1090
|
-
enabled: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
1091
|
-
contextThresholdPct: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
1092
|
-
driftThreshold: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
1093
|
-
tailTurns: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
1094
|
-
autoCompress: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
1095
|
-
}>>, Schemastery.ObjectT<NoInfer<{
|
|
1096
|
-
enabled: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
1097
|
-
contextThresholdPct: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
1098
|
-
driftThreshold: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
1099
|
-
tailTurns: import("@deepseek-ai/schemastery").default<number, number, "defined">;
|
|
1100
|
-
autoCompress: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
1101
|
-
}>>, "plain">;
|
|
1102
1024
|
conflictFreeze: import("@deepseek-ai/schemastery").default<boolean, boolean, "defined">;
|
|
1103
1025
|
}>>>, "volatile">;
|
|
1104
1026
|
}>>, "plain">;
|