@dommaker/harness 0.12.0 → 0.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -174
- package/dist/cli/commands/check.d.ts.map +1 -1
- package/dist/cli/commands/check.js +6 -9
- package/dist/cli/commands/check.js.map +1 -1
- package/dist/cli/commands/report.d.ts.map +1 -1
- package/dist/cli/commands/report.js +5 -8
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/commands/sync-docs.js +7 -5
- package/dist/cli/commands/sync-docs.js.map +1 -1
- package/dist/constraints/registry.d.ts +2 -1
- package/dist/constraints/registry.d.ts.map +1 -1
- package/dist/constraints/registry.js +7 -7
- package/dist/constraints/registry.js.map +1 -1
- package/dist/constraints/types.d.ts +2 -2
- package/dist/constraints/types.d.ts.map +1 -1
- package/dist/context/session-manager.d.ts +24 -7
- package/dist/context/session-manager.d.ts.map +1 -1
- package/dist/context/session-manager.js +71 -12
- package/dist/context/session-manager.js.map +1 -1
- package/dist/core/constraints/check-cache.d.ts +38 -0
- package/dist/core/constraints/check-cache.d.ts.map +1 -0
- package/dist/core/constraints/check-cache.js +75 -0
- package/dist/core/constraints/check-cache.js.map +1 -0
- package/dist/core/constraints/checker.d.ts +48 -10
- package/dist/core/constraints/checker.d.ts.map +1 -1
- package/dist/core/constraints/checker.js +160 -44
- package/dist/core/constraints/checker.js.map +1 -1
- package/dist/core/constraints/definitions.d.ts.map +1 -1
- package/dist/core/constraints/definitions.js +165 -28
- package/dist/core/constraints/definitions.js.map +1 -1
- package/dist/core/constraints/interceptor.d.ts +1 -0
- package/dist/core/constraints/interceptor.d.ts.map +1 -1
- package/dist/core/constraints/interceptor.js +38 -44
- package/dist/core/constraints/interceptor.js.map +1 -1
- package/dist/failure/constraint-handler.d.ts +83 -0
- package/dist/failure/constraint-handler.d.ts.map +1 -0
- package/dist/failure/constraint-handler.js +140 -0
- package/dist/failure/constraint-handler.js.map +1 -0
- package/dist/failure/index.d.ts +1 -0
- package/dist/failure/index.d.ts.map +1 -1
- package/dist/failure/index.js +7 -1
- package/dist/failure/index.js.map +1 -1
- package/dist/hooks/bootstrap.d.ts +50 -0
- package/dist/hooks/bootstrap.d.ts.map +1 -0
- package/dist/hooks/bootstrap.js +137 -0
- package/dist/hooks/bootstrap.js.map +1 -0
- package/dist/hooks/index.d.ts +11 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +32 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/pipeline.d.ts +36 -0
- package/dist/hooks/pipeline.d.ts.map +1 -0
- package/dist/hooks/pipeline.js +135 -0
- package/dist/hooks/pipeline.js.map +1 -0
- package/dist/hooks/registry.d.ts +50 -0
- package/dist/hooks/registry.d.ts.map +1 -0
- package/dist/hooks/registry.js +81 -0
- package/dist/hooks/registry.js.map +1 -0
- package/dist/hooks/types.d.ts +75 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js +9 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/presets/index.d.ts +1 -1
- package/dist/presets/index.d.ts.map +1 -1
- package/dist/presets/index.js +2 -1
- package/dist/presets/index.js.map +1 -1
- package/dist/presets/standard.d.ts +17 -0
- package/dist/presets/standard.d.ts.map +1 -1
- package/dist/presets/standard.js +50 -1
- package/dist/presets/standard.js.map +1 -1
- package/dist/types/constraint.d.ts +2 -0
- package/dist/types/constraint.d.ts.map +1 -1
- package/dist/types/constraint.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/constraints/registry.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/constraints/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,9 +27,9 @@ export interface LayeredConstraint extends Constraint {
|
|
|
27
27
|
layer: ConstraintLayer;
|
|
28
28
|
/** 退化状态 */
|
|
29
29
|
deprecationStatus: DeprecationStatus;
|
|
30
|
-
/**
|
|
30
|
+
/** 退化计划(所有层均有,iron_law 高阈值,guideline/tip 低阈值) */
|
|
31
31
|
deprecationSchedule?: DeprecationSchedule;
|
|
32
|
-
/** 是否永久保留(
|
|
32
|
+
/** 是否永久保留(false = 所有层均可退化,区别仅在于阈值) */
|
|
33
33
|
permanent?: boolean;
|
|
34
34
|
}
|
|
35
35
|
/** 约束拦截统计 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/constraints/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEvE,WAAW;AACX,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEnD,WAAW;AACX,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,CAAC;AAElF,WAAW;AACX,MAAM,WAAW,mBAAmB;IAClC,oBAAoB;IACpB,WAAW,EAAE,eAAe,CAAC;IAC7B,wBAAwB;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,aAAa;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;IACf,YAAY;IACZ,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,gBAAgB;AAChB,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,UAAU;IACV,KAAK,EAAE,eAAe,CAAC;IACvB,WAAW;IACX,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/constraints/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEvE,WAAW;AACX,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEnD,WAAW;AACX,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,CAAC;AAElF,WAAW;AACX,MAAM,WAAW,mBAAmB;IAClC,oBAAoB;IACpB,WAAW,EAAE,eAAe,CAAC;IAC7B,wBAAwB;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,aAAa;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;IACf,YAAY;IACZ,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,gBAAgB;AAChB,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,UAAU;IACV,KAAK,EAAE,eAAe,CAAC;IACvB,WAAW;IACX,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,iDAAiD;IACjD,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,sCAAsC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,aAAa;AACb,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,cAAc;AACd,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,eAAe,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -18,27 +18,44 @@ export declare class SessionManager {
|
|
|
18
18
|
*/
|
|
19
19
|
createSession(id: string): SessionHandle;
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
21
|
+
* 从磁盘加载已持久化的会话(S2)
|
|
22
|
+
*
|
|
23
|
+
* 跨实例恢复:当新的 SessionManager 实例创建时,内存中 sessions Map 为空,
|
|
24
|
+
* 但磁盘上可能有之前持久化的事件。此方法从 events.jsonl 重建 SessionHandle。
|
|
25
|
+
*
|
|
26
|
+
* @returns 加载成功返回 SessionHandle,磁盘无数据返回 undefined
|
|
27
|
+
*/
|
|
28
|
+
loadSession(id: string): SessionHandle | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* 获取会话(自动从磁盘加载,S2)
|
|
31
|
+
*
|
|
32
|
+
* 先查内存缓存,未命中则从磁盘恢复。
|
|
33
|
+
*/
|
|
34
|
+
getSession(id: string): SessionHandle | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* 获取会话摘要信息(S2)
|
|
37
|
+
*
|
|
38
|
+
* 跨实例安全的查询接口。返回轻量级摘要,不加载完整事件列表。
|
|
39
|
+
*/
|
|
40
|
+
getSessionInfo(id: string): SessionHandle;
|
|
41
|
+
/**
|
|
42
|
+
* 追加事件到会话(自动从磁盘加载,S2)
|
|
22
43
|
*/
|
|
23
44
|
appendToSession(id: string, event: SessionEvent): void;
|
|
24
45
|
/**
|
|
25
|
-
*
|
|
46
|
+
* 获取当前轮窗口视图(自动从磁盘加载,S2)
|
|
26
47
|
*
|
|
27
48
|
* 将 session 事件转换为 ContextSource,通过 TokenPipeline 生成 prompt
|
|
28
49
|
*/
|
|
29
50
|
getWindowView(id: string, budget: TokenBudgetAllocation): PipelineOutput;
|
|
30
51
|
/**
|
|
31
|
-
* 生成 checkpoint
|
|
52
|
+
* 生成 checkpoint(自动从磁盘加载,S2)
|
|
32
53
|
*/
|
|
33
54
|
checkpointSession(id: string): SessionCheckpoint;
|
|
34
55
|
/**
|
|
35
56
|
* 从 checkpoint 恢复会话
|
|
36
57
|
*/
|
|
37
58
|
restoreSession(checkpointId: string): SessionHandle;
|
|
38
|
-
/**
|
|
39
|
-
* 获取会话信息
|
|
40
|
-
*/
|
|
41
|
-
getSession(id: string): SessionHandle | undefined;
|
|
42
59
|
/**
|
|
43
60
|
* 获取 tracker
|
|
44
61
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/context/session-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EAEf,MAAM,SAAS,CAAC;AAEjB,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,OAAO,CAAiB;gBAEpB,QAAQ,CAAC,EAAE,MAAM;IAM7B;;OAEG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa;IAqBxC;;OAEG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAatD;;;;OAIG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,GAAG,cAAc;IAkBxE;;OAEG;IACH,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB;IAoBhD;;OAEG;IACH,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa;IA+CnD;;OAEG;IACH,UAAU,
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/context/session-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EAEf,MAAM,SAAS,CAAC;AAEjB,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,OAAO,CAAiB;gBAEpB,QAAQ,CAAC,EAAE,MAAM;IAM7B;;OAEG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa;IAqBxC;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAsClD;;;;OAIG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIjD;;;;OAIG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa;IAQzC;;OAEG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAatD;;;;OAIG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,GAAG,cAAc;IAkBxE;;OAEG;IACH,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB;IAoBhD;;OAEG;IACH,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa;IA+CnD;;OAEG;IACH,UAAU,IAAI,cAAc;IAI5B;;OAEG;IACH,OAAO,CAAC,eAAe;IA0CvB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAgBjC;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;IACH,OAAO,CAAC,aAAa;CAGtB"}
|
|
@@ -77,10 +77,75 @@ class SessionManager {
|
|
|
77
77
|
return handle;
|
|
78
78
|
}
|
|
79
79
|
/**
|
|
80
|
-
*
|
|
80
|
+
* 从磁盘加载已持久化的会话(S2)
|
|
81
|
+
*
|
|
82
|
+
* 跨实例恢复:当新的 SessionManager 实例创建时,内存中 sessions Map 为空,
|
|
83
|
+
* 但磁盘上可能有之前持久化的事件。此方法从 events.jsonl 重建 SessionHandle。
|
|
84
|
+
*
|
|
85
|
+
* @returns 加载成功返回 SessionHandle,磁盘无数据返回 undefined
|
|
86
|
+
*/
|
|
87
|
+
loadSession(id) {
|
|
88
|
+
// 先检查内存
|
|
89
|
+
const cached = this.sessions.get(id);
|
|
90
|
+
if (cached)
|
|
91
|
+
return cached;
|
|
92
|
+
// 从磁盘恢复
|
|
93
|
+
const eventsPath = path.join(this.getSessionDir(id), 'events.jsonl');
|
|
94
|
+
try {
|
|
95
|
+
if (!fs.existsSync(eventsPath))
|
|
96
|
+
return undefined;
|
|
97
|
+
const content = fs.readFileSync(eventsPath, 'utf-8');
|
|
98
|
+
const lines = content.trim().split('\n').filter(Boolean);
|
|
99
|
+
if (lines.length === 0)
|
|
100
|
+
return undefined;
|
|
101
|
+
const events = [];
|
|
102
|
+
for (const line of lines) {
|
|
103
|
+
try {
|
|
104
|
+
events.push(JSON.parse(line));
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
// 跳过损坏行
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
const stat = fs.statSync(eventsPath);
|
|
111
|
+
const handle = {
|
|
112
|
+
id,
|
|
113
|
+
events,
|
|
114
|
+
createdAt: stat.birthtime.toISOString(),
|
|
115
|
+
lastActiveAt: stat.mtime.toISOString(),
|
|
116
|
+
};
|
|
117
|
+
this.sessions.set(id, handle);
|
|
118
|
+
return handle;
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
return undefined;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* 获取会话(自动从磁盘加载,S2)
|
|
126
|
+
*
|
|
127
|
+
* 先查内存缓存,未命中则从磁盘恢复。
|
|
128
|
+
*/
|
|
129
|
+
getSession(id) {
|
|
130
|
+
return this.sessions.get(id) ?? this.loadSession(id);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* 获取会话摘要信息(S2)
|
|
134
|
+
*
|
|
135
|
+
* 跨实例安全的查询接口。返回轻量级摘要,不加载完整事件列表。
|
|
136
|
+
*/
|
|
137
|
+
getSessionInfo(id) {
|
|
138
|
+
const handle = this.getSession(id);
|
|
139
|
+
if (!handle) {
|
|
140
|
+
throw new Error(`会话 ${id} 不存在`);
|
|
141
|
+
}
|
|
142
|
+
return handle;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* 追加事件到会话(自动从磁盘加载,S2)
|
|
81
146
|
*/
|
|
82
147
|
appendToSession(id, event) {
|
|
83
|
-
const handle = this.
|
|
148
|
+
const handle = this.getSession(id);
|
|
84
149
|
if (!handle) {
|
|
85
150
|
throw new Error(`会话 ${id} 不存在`);
|
|
86
151
|
}
|
|
@@ -90,12 +155,12 @@ class SessionManager {
|
|
|
90
155
|
this.appendEvent(id, event);
|
|
91
156
|
}
|
|
92
157
|
/**
|
|
93
|
-
*
|
|
158
|
+
* 获取当前轮窗口视图(自动从磁盘加载,S2)
|
|
94
159
|
*
|
|
95
160
|
* 将 session 事件转换为 ContextSource,通过 TokenPipeline 生成 prompt
|
|
96
161
|
*/
|
|
97
162
|
getWindowView(id, budget) {
|
|
98
|
-
const handle = this.
|
|
163
|
+
const handle = this.getSession(id);
|
|
99
164
|
if (!handle) {
|
|
100
165
|
throw new Error(`会话 ${id} 不存在`);
|
|
101
166
|
}
|
|
@@ -108,10 +173,10 @@ class SessionManager {
|
|
|
108
173
|
return output;
|
|
109
174
|
}
|
|
110
175
|
/**
|
|
111
|
-
* 生成 checkpoint
|
|
176
|
+
* 生成 checkpoint(自动从磁盘加载,S2)
|
|
112
177
|
*/
|
|
113
178
|
checkpointSession(id) {
|
|
114
|
-
const handle = this.
|
|
179
|
+
const handle = this.getSession(id);
|
|
115
180
|
if (!handle) {
|
|
116
181
|
throw new Error(`会话 ${id} 不存在`);
|
|
117
182
|
}
|
|
@@ -168,12 +233,6 @@ class SessionManager {
|
|
|
168
233
|
}
|
|
169
234
|
throw new Error(`Checkpoint ${checkpointId} 不存在`);
|
|
170
235
|
}
|
|
171
|
-
/**
|
|
172
|
-
* 获取会话信息
|
|
173
|
-
*/
|
|
174
|
-
getSession(id) {
|
|
175
|
-
return this.sessions.get(id);
|
|
176
|
-
}
|
|
177
236
|
/**
|
|
178
237
|
* 获取 tracker
|
|
179
238
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../src/context/session-manager.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,qDAAiD;AACjD,mEAA+D;AAU/D,MAAa,cAAc;IACjB,QAAQ,CAAS;IACjB,QAAQ,GAA+B,IAAI,GAAG,EAAE,CAAC;IACjD,QAAQ,CAAgB;IACxB,OAAO,CAAiB;IAEhC,YAAY,QAAiB;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,8BAAa,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,IAAI,gCAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,EAAU;QACtB,MAAM,MAAM,GAAkB;YAC5B,EAAE;YACF,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACvC,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAE9B,SAAS;QACT,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,cAAc;QAChB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../src/context/session-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CheckCache — 约束检查缓存(S7)
|
|
3
|
+
*
|
|
4
|
+
* 缓存 git diff 和 src/ 递归扫描结果,减少重复 I/O。
|
|
5
|
+
* 同一请求内多次 checkConstraints 调用共享缓存。
|
|
6
|
+
*
|
|
7
|
+
* 用法:
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const cache = new CheckCache({ ttlMs: 5000 });
|
|
10
|
+
* const diff = await cache.get('git_diff', projectPath, () => runCommand('git diff --cached', projectPath));
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export interface CheckCacheConfig {
|
|
14
|
+
/** 缓存 TTL(毫秒),默认 5000 */
|
|
15
|
+
ttlMs: number;
|
|
16
|
+
}
|
|
17
|
+
export declare class CheckCache {
|
|
18
|
+
private store;
|
|
19
|
+
private ttlMs;
|
|
20
|
+
constructor(config?: CheckCacheConfig);
|
|
21
|
+
/**
|
|
22
|
+
* 获取缓存值(miss 时执行 fn 并缓存结果)
|
|
23
|
+
*
|
|
24
|
+
* @param namespace 命名空间(如 'git_diff', 'src_scan')
|
|
25
|
+
* @param key 缓存键(如 projectPath)
|
|
26
|
+
* @param fn miss 时的计算函数
|
|
27
|
+
*/
|
|
28
|
+
get<T>(namespace: string, key: string, fn: () => Promise<T>): Promise<T>;
|
|
29
|
+
/**
|
|
30
|
+
* 同步版本(用于 readdirSync 等同步操作)
|
|
31
|
+
*/
|
|
32
|
+
getSync<T>(namespace: string, key: string, fn: () => T): T;
|
|
33
|
+
/**
|
|
34
|
+
* 使指定命名空间缓存失效
|
|
35
|
+
*/
|
|
36
|
+
invalidate(namespace?: string): void;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=check-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-cache.d.ts","sourceRoot":"","sources":["../../../src/core/constraints/check-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,MAAM,WAAW,gBAAgB;IAC/B,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,KAAK,CAAS;gBAEV,MAAM,CAAC,EAAE,gBAAgB;IAIrC;;;;;;OAMG;IACG,GAAG,CAAC,CAAC,EACT,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC;IAgBb;;OAEG;IACH,OAAO,CAAC,CAAC,EACP,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,CAAC,GACV,CAAC;IAgBJ;;OAEG;IACH,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;CAWrC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* CheckCache — 约束检查缓存(S7)
|
|
4
|
+
*
|
|
5
|
+
* 缓存 git diff 和 src/ 递归扫描结果,减少重复 I/O。
|
|
6
|
+
* 同一请求内多次 checkConstraints 调用共享缓存。
|
|
7
|
+
*
|
|
8
|
+
* 用法:
|
|
9
|
+
* ```typescript
|
|
10
|
+
* const cache = new CheckCache({ ttlMs: 5000 });
|
|
11
|
+
* const diff = await cache.get('git_diff', projectPath, () => runCommand('git diff --cached', projectPath));
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.CheckCache = void 0;
|
|
16
|
+
class CheckCache {
|
|
17
|
+
store = new Map();
|
|
18
|
+
ttlMs;
|
|
19
|
+
constructor(config) {
|
|
20
|
+
this.ttlMs = config?.ttlMs ?? 5000;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* 获取缓存值(miss 时执行 fn 并缓存结果)
|
|
24
|
+
*
|
|
25
|
+
* @param namespace 命名空间(如 'git_diff', 'src_scan')
|
|
26
|
+
* @param key 缓存键(如 projectPath)
|
|
27
|
+
* @param fn miss 时的计算函数
|
|
28
|
+
*/
|
|
29
|
+
async get(namespace, key, fn) {
|
|
30
|
+
const cacheKey = `${namespace}:${key}`;
|
|
31
|
+
const entry = this.store.get(cacheKey);
|
|
32
|
+
if (entry && Date.now() < entry.expiresAt) {
|
|
33
|
+
return entry.value;
|
|
34
|
+
}
|
|
35
|
+
const value = await fn();
|
|
36
|
+
this.store.set(cacheKey, {
|
|
37
|
+
value,
|
|
38
|
+
expiresAt: Date.now() + this.ttlMs,
|
|
39
|
+
});
|
|
40
|
+
return value;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* 同步版本(用于 readdirSync 等同步操作)
|
|
44
|
+
*/
|
|
45
|
+
getSync(namespace, key, fn) {
|
|
46
|
+
const cacheKey = `${namespace}:${key}`;
|
|
47
|
+
const entry = this.store.get(cacheKey);
|
|
48
|
+
if (entry && Date.now() < entry.expiresAt) {
|
|
49
|
+
return entry.value;
|
|
50
|
+
}
|
|
51
|
+
const value = fn();
|
|
52
|
+
this.store.set(cacheKey, {
|
|
53
|
+
value,
|
|
54
|
+
expiresAt: Date.now() + this.ttlMs,
|
|
55
|
+
});
|
|
56
|
+
return value;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* 使指定命名空间缓存失效
|
|
60
|
+
*/
|
|
61
|
+
invalidate(namespace) {
|
|
62
|
+
if (namespace) {
|
|
63
|
+
for (const key of this.store.keys()) {
|
|
64
|
+
if (key.startsWith(`${namespace}:`)) {
|
|
65
|
+
this.store.delete(key);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
this.store.clear();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.CheckCache = CheckCache;
|
|
75
|
+
//# sourceMappingURL=check-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-cache.js","sourceRoot":"","sources":["../../../src/core/constraints/check-cache.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAYH,MAAa,UAAU;IACb,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IACtC,KAAK,CAAS;IAEtB,YAAY,MAAyB;QACnC,IAAI,CAAC,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,GAAG,CACP,SAAiB,EACjB,GAAW,EACX,EAAoB;QAEpB,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,GAAG,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEvC,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC,KAAU,CAAC;QAC1B,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,EAAE,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE;YACvB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK;SACnC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,OAAO,CACL,SAAiB,EACjB,GAAW,EACX,EAAW;QAEX,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,GAAG,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEvC,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC,KAAU,CAAC;QAC1B,CAAC;QAED,MAAM,KAAK,GAAG,EAAE,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE;YACvB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK;SACnC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,SAAkB;QAC3B,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBACpC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC;oBACpC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;CACF;AAxED,gCAwEC"}
|
|
@@ -15,6 +15,8 @@ export declare class ConstraintChecker {
|
|
|
15
15
|
private static instance;
|
|
16
16
|
/** 自定义约束配置(项目级) */
|
|
17
17
|
private customConfig;
|
|
18
|
+
/** 检查结果缓存(S7:减少重复 git diff / src scan I/O,TTL=1s 防跨测试污染) */
|
|
19
|
+
private cache;
|
|
18
20
|
private constructor();
|
|
19
21
|
/**
|
|
20
22
|
* 获取单例实例
|
|
@@ -22,15 +24,26 @@ export declare class ConstraintChecker {
|
|
|
22
24
|
static getInstance(): ConstraintChecker;
|
|
23
25
|
/**
|
|
24
26
|
* 设置项目级约束配置
|
|
27
|
+
*
|
|
28
|
+
* @deprecated 修改单例状态,多项目并发时存在污染风险。
|
|
29
|
+
* 请改用 checkConstraints() / beforeExecution() 的 customConfig 参数实现 per-request 隔离。
|
|
25
30
|
*/
|
|
26
31
|
setCustomConfig(config: MergedConstraintsConfig): void;
|
|
27
32
|
/**
|
|
28
33
|
* 获取当前的约束集合(内置 + 自定义)
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
*
|
|
35
|
+
* @param customConfig 可选,per-request 自定义配置(优先级高于 setCustomConfig 的单例状态)
|
|
36
|
+
*/
|
|
37
|
+
getConstraints(customConfig?: MergedConstraintsConfig | null): {
|
|
38
|
+
ironLaws: Record<string, Constraint & {
|
|
39
|
+
check: (ctx: ConstraintContext) => Promise<ConstraintResult>;
|
|
40
|
+
}>;
|
|
41
|
+
guidelines: Record<string, Constraint & {
|
|
42
|
+
check: (ctx: ConstraintContext) => Promise<ConstraintResult>;
|
|
43
|
+
}>;
|
|
44
|
+
tips: Record<string, Constraint & {
|
|
45
|
+
check: (ctx: ConstraintContext) => Promise<ConstraintResult>;
|
|
46
|
+
}>;
|
|
34
47
|
};
|
|
35
48
|
/**
|
|
36
49
|
* 检查单个约束
|
|
@@ -137,8 +150,11 @@ export declare class ConstraintChecker {
|
|
|
137
150
|
private findSourceFiles;
|
|
138
151
|
/**
|
|
139
152
|
* 查找适用于当前操作的约束
|
|
153
|
+
*
|
|
154
|
+
* @param context 约束上下文
|
|
155
|
+
* @param customConfig 可选,per-request 自定义配置(避免多请求间的单例状态污染)
|
|
140
156
|
*/
|
|
141
|
-
findApplicableConstraints(context: ConstraintContext): {
|
|
157
|
+
findApplicableConstraints(context: ConstraintContext, customConfig?: MergedConstraintsConfig | null): {
|
|
142
158
|
ironLaws: Constraint[];
|
|
143
159
|
guidelines: Constraint[];
|
|
144
160
|
tips: Constraint[];
|
|
@@ -149,14 +165,26 @@ export declare class ConstraintChecker {
|
|
|
149
165
|
* - Iron Laws:检查失败立即抛出异常
|
|
150
166
|
* - Guidelines:检查失败记录警告
|
|
151
167
|
* - Tips:检查失败记录提示
|
|
168
|
+
*
|
|
169
|
+
* @param context 约束上下文
|
|
170
|
+
* @param customConfig 可选,per-request 自定义配置(避免多请求间的单例状态污染)
|
|
171
|
+
*/
|
|
172
|
+
checkConstraints(context: ConstraintContext, customConfig?: MergedConstraintsConfig | null): Promise<ConstraintCheckResult>;
|
|
173
|
+
/**
|
|
174
|
+
* S11: 安全全量检查 — 全部三层约束检查,不抛异常
|
|
175
|
+
*
|
|
176
|
+
* 区别 checkConstraints(): Iron Law 违规收集在结果中而不是抛异常。
|
|
177
|
+
* 调用方通过 result.passed + result.warningCount 判断状态。
|
|
152
178
|
*/
|
|
153
|
-
|
|
179
|
+
checkConstraintsSafe(context: ConstraintContext, customConfig?: MergedConstraintsConfig | null): Promise<ConstraintCheckResult>;
|
|
154
180
|
/**
|
|
155
181
|
* 执行前检查(仅检查 Iron Laws)
|
|
156
182
|
*
|
|
183
|
+
* @param context 约束上下文
|
|
184
|
+
* @param customConfig 可选,per-request 自定义配置(避免多请求间的单例状态污染)
|
|
157
185
|
* @throws ConstraintViolationError 如果有铁律违规
|
|
158
186
|
*/
|
|
159
|
-
beforeExecution(context: ConstraintContext): Promise<void>;
|
|
187
|
+
beforeExecution(context: ConstraintContext, customConfig?: MergedConstraintsConfig | null): Promise<void>;
|
|
160
188
|
}
|
|
161
189
|
/**
|
|
162
190
|
* 快捷函数:检查约束
|
|
@@ -164,12 +192,22 @@ export declare class ConstraintChecker {
|
|
|
164
192
|
export declare function checkConstraint(constraintId: string, context: ConstraintContext): Promise<ConstraintResult>;
|
|
165
193
|
/**
|
|
166
194
|
* 快捷函数:执行三层检查
|
|
195
|
+
*
|
|
196
|
+
* @param context 约束上下文
|
|
197
|
+
* @param customConfig 可选,per-request 自定义配置
|
|
167
198
|
*/
|
|
168
|
-
export declare function checkConstraints(context: ConstraintContext): Promise<ConstraintCheckResult>;
|
|
199
|
+
export declare function checkConstraints(context: ConstraintContext, customConfig?: MergedConstraintsConfig | null): Promise<ConstraintCheckResult>;
|
|
200
|
+
/**
|
|
201
|
+
* S11: 快捷函数 — 安全全量检查(不抛异常)
|
|
202
|
+
*/
|
|
203
|
+
export declare function checkConstraintsSafe(context: ConstraintContext, customConfig?: MergedConstraintsConfig | null): Promise<ConstraintCheckResult>;
|
|
169
204
|
/**
|
|
170
205
|
* 快捷函数:执行前检查
|
|
206
|
+
*
|
|
207
|
+
* @param context 约束上下文
|
|
208
|
+
* @param customConfig 可选,per-request 自定义配置
|
|
171
209
|
*/
|
|
172
|
-
export declare function checkBeforeExecution(context: ConstraintContext): Promise<void>;
|
|
210
|
+
export declare function checkBeforeExecution(context: ConstraintContext, customConfig?: MergedConstraintsConfig | null): Promise<void>;
|
|
173
211
|
/**
|
|
174
212
|
* 构建约束注入 prompt
|
|
175
213
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/constraints/checker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EAItB,MAAM,wBAAwB,CAAC;AAIhC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/constraints/checker.ts"],"names":[],"mappings":"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"}
|