jarvis-agent-factory 4.7.63 → 4.7.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package.json +2 -2
- package/dist/src/engine/db.d.ts +51 -51
- package/dist/src/engine/db.js +49 -103
- package/dist/src/engine/db.js.map +1 -1
- package/dist/src/engine/gates.d.ts +12 -1
- package/dist/src/engine/gates.js +13 -2
- package/dist/src/engine/gates.js.map +1 -1
- package/dist/src/engine/server.d.ts +1 -1
- package/dist/src/engine/server.js +26 -9
- package/dist/src/engine/server.js.map +1 -1
- package/dist/src/engine/tools/pipeline-tools.js +1 -1
- package/dist/src/engine/tools/pipeline-tools.js.map +1 -1
- package/dist/src/engine/tools/types.d.ts +3 -1
- package/dist/src/templates/platforms/claude/agents/android-test-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/api-contract-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/api-test-expert.md +17 -3
- package/dist/src/templates/platforms/claude/agents/backend-test-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/browser-test-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/change-review-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/diff-review-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/docs-research-expert.md +0 -1
- package/dist/src/templates/platforms/claude/agents/e2e-test-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/flutter-test-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/frontend-debug-expert.md +12 -12
- package/dist/src/templates/platforms/claude/agents/frontend-test-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/infra-deploy-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/ios-test-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/perf-test-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/project-review-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/react-native-test-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/remediation-expert.md +0 -6
- package/dist/src/templates/platforms/claude/agents/remediation-planner.md +1 -1
- package/dist/src/templates/platforms/claude/agents/review-fix-optimize.md +3 -0
- package/dist/src/templates/platforms/claude/agents/review-only.md +1 -0
- package/dist/src/templates/platforms/claude/agents/taro-test-expert.md +1 -1
- package/dist/src/templates/platforms/claude/agents/test-doc-writer.md +17 -3
- package/dist/src/templates/platforms/claude/agents/test-executor.md +18 -3
- package/dist/src/templates/platforms/claude/agents/verify-expert.md +2 -5
- package/dist/src/templates/platforms/claude/commands/ask.md +13 -15
- package/dist/src/templates/platforms/claude/commands/auto.md +6 -5
- package/dist/src/templates/platforms/claude/commands/browser.md +10 -1
- package/dist/src/templates/platforms/claude/commands/bug-fix.md +10 -1
- package/dist/src/templates/platforms/claude/commands/cancel.md +11 -2
- package/dist/src/templates/platforms/claude/commands/cleanup.md +15 -1
- package/dist/src/templates/platforms/claude/commands/consult.md +19 -5
- package/dist/src/templates/platforms/claude/commands/deepinit.md +20 -5
- package/dist/src/templates/platforms/claude/commands/frontend.md +2 -2
- package/dist/src/templates/platforms/claude/commands/improve.md +3 -3
- package/dist/src/templates/platforms/claude/commands/jarvis.md +17 -7
- package/dist/src/templates/platforms/claude/commands/publish.md +2 -2
- package/dist/src/templates/platforms/claude/commands/refactor.md +1 -1
- package/dist/src/templates/platforms/claude/commands/release.md +5 -5
- package/dist/src/templates/platforms/claude/commands/repowiki.md +12 -2
- package/dist/src/templates/platforms/claude/commands/review-fix.md +4 -2
- package/dist/src/templates/platforms/claude/commands/review-only.md +1 -1
- package/dist/src/templates/platforms/claude/commands/simplify.md +8 -6
- package/dist/src/templates/platforms/claude/commands/skill-flow.md +10 -4
- package/dist/src/templates/platforms/claude/commands/task-design.md +7 -1
- package/dist/src/templates/platforms/claude/commands/test-e2e.md +8 -1
- package/dist/src/templates/platforms/claude/commands/test-integration.md +13 -1
- package/dist/src/templates/platforms/claude/commands/test-perf.md +20 -1
- package/dist/src/templates/platforms/claude/commands/test-security.md +14 -1
- package/dist/src/templates/platforms/claude/commands/test-unit.md +11 -1
- package/dist/src/templates/platforms/claude/commands/trace.md +2 -2
- package/dist/src/templates/platforms/claude/commands/verify.md +18 -1
- package/dist/src/templates/platforms/claude/settings.json +14 -0
- package/dist/src/templates/platforms/claude/skills/code-review-and-quality/SKILL.md +1 -1
- package/dist/src/templates/platforms/claude/skills/using-agent-skills/SKILL.md +31 -30
- package/package.json +2 -2
- package/dist/src/templates/platforms/claude/agents/expo-dev-expert.md +0 -59
- package/dist/src/templates/platforms/claude/agents/expo-review-expert.md +0 -108
- package/dist/src/templates/platforms/claude/agents/expo-state-expert.md +0 -42
- package/dist/src/templates/platforms/claude/agents/expo-test-expert.md +0 -131
- package/dist/src/templates/platforms/claude/agents/expo-ui-expert.md +0 -41
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jarvis-agent-factory",
|
|
3
|
-
"version": "4.7.
|
|
3
|
+
"version": "4.7.65",
|
|
4
4
|
"description": "Jarvis Agent Factory CLI — Claude Code 多智能体 AI 编程助手配置安装器 | Multi-agent AI coding assistant config installer for Claude Code",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jarvis",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
64
|
"@eslint/js": "^10.0.1",
|
|
65
|
-
"@types/node": "^
|
|
65
|
+
"@types/node": "^22.19.19",
|
|
66
66
|
"@typescript-eslint/eslint-plugin": "^8.59.2",
|
|
67
67
|
"@typescript-eslint/parser": "^8.59.2",
|
|
68
68
|
"eslint": "^10.4.0",
|
package/dist/src/engine/db.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DatabaseSync } from 'node:sqlite';
|
|
2
|
-
|
|
2
|
+
/** 数据库连接类型,等价于 node:sqlite 的 DatabaseSync */
|
|
3
|
+
type DbConn = DatabaseSync;
|
|
3
4
|
/**
|
|
4
5
|
* 打开引擎数据库,存储在项目级 <projectRoot>/.jarvis/engine.db
|
|
5
6
|
* 每个项目拥有独立数据库,实现项目级数据隔离。
|
|
@@ -8,12 +9,12 @@ type DbConn = any;
|
|
|
8
9
|
* @returns {DatabaseSync}
|
|
9
10
|
*/
|
|
10
11
|
export declare function openDb(projectRoot?: string, dbPath?: string): DatabaseSync;
|
|
11
|
-
export declare function getPipeline(db: DbConn, sessionId:
|
|
12
|
-
export declare function updatePipelineGate(db: DbConn, sessionId:
|
|
12
|
+
export declare function getPipeline(db: DbConn, sessionId: string): any;
|
|
13
|
+
export declare function updatePipelineGate(db: DbConn, sessionId: string, gate: string): void;
|
|
13
14
|
/** @param {'full'|'frontend'|'backend'} pipelineType */
|
|
14
|
-
export declare function initPipeline(db: DbConn, sessionId:
|
|
15
|
-
export declare function getAllPipelines(db: DbConn): any;
|
|
16
|
-
export declare function getCheckpoints(db: DbConn, gate:
|
|
15
|
+
export declare function initPipeline(db: DbConn, sessionId: string, project: string, pipelineType?: string): void;
|
|
16
|
+
export declare function getAllPipelines(db: DbConn): any[];
|
|
17
|
+
export declare function getCheckpoints(db: DbConn, gate: string, sessionId: string): any[];
|
|
17
18
|
/**
|
|
18
19
|
* 记录 checkpoint,可选传入 Gate 耗时、质量门禁违反记录和配置档案来源。
|
|
19
20
|
* @param {DatabaseSync} db
|
|
@@ -24,7 +25,7 @@ export declare function getCheckpoints(db: DbConn, gate: any, sessionId: any): a
|
|
|
24
25
|
* @param {string} [violations] 质量门禁违反记录 JSON 字符串(TASK-002)
|
|
25
26
|
* @param {string} [qualityProfileSource] 质量门禁配置来源(TASK-002)
|
|
26
27
|
*/
|
|
27
|
-
export declare function addCheckpoint(db: DbConn, gate:
|
|
28
|
+
export declare function addCheckpoint(db: DbConn, gate: string, advanceTo: string, sessionId: string, durationSeconds?: number | undefined, violations?: string | undefined, qualityProfileSource?: string | undefined): void;
|
|
28
29
|
/**
|
|
29
30
|
* 获取所有会话,按最近 run 创建时间倒序排列
|
|
30
31
|
* - 有 run 的会话按 latest_run_started_at DESC
|
|
@@ -32,22 +33,25 @@ export declare function addCheckpoint(db: DbConn, gate: any, advanceTo: any, ses
|
|
|
32
33
|
* @param {'active'|'inactive'|undefined} statusFilter
|
|
33
34
|
* @returns {Array<{id: string; platform: string; role: string; status: string; created_at: number; last_heartbeat: number; latest_run_started_at: string|null}>}
|
|
34
35
|
*/
|
|
35
|
-
export declare function getSessions(db: DbConn, statusFilter?:
|
|
36
|
-
export declare function getSession(db: DbConn, sid:
|
|
37
|
-
export declare function addSession(db: DbConn, sid:
|
|
36
|
+
export declare function getSessions(db: DbConn, statusFilter?: string): any[];
|
|
37
|
+
export declare function getSession(db: DbConn, sid: string): any;
|
|
38
|
+
export declare function addSession(db: DbConn, sid: string, platform: string, role: string): void;
|
|
38
39
|
/** 更新会话活动时间——每次 MCP 工具调用即视为心跳 */
|
|
39
|
-
export declare function touchSession(db: DbConn, sid:
|
|
40
|
-
export declare function removeSession(db: DbConn, sid:
|
|
41
|
-
export declare function updateSessionRole(db: DbConn, sid:
|
|
40
|
+
export declare function touchSession(db: DbConn, sid: string): void;
|
|
41
|
+
export declare function removeSession(db: DbConn, sid: string): void;
|
|
42
|
+
export declare function updateSessionRole(db: DbConn, sid: string, role: string): void;
|
|
42
43
|
/** 将会话标记为 inactive 而非删除,保留 pipeline 数据供恢复 */
|
|
43
|
-
export declare function markStaleSessions(db: DbConn, timeoutMs:
|
|
44
|
+
export declare function markStaleSessions(db: DbConn, timeoutMs: number): string[];
|
|
44
45
|
/** 恢复 inactive 会话为 active */
|
|
45
|
-
export declare function resumeSession(db: DbConn, sid:
|
|
46
|
+
export declare function resumeSession(db: DbConn, sid: string): void;
|
|
46
47
|
/** 迁移旧会话的所有数据到新 sessionId(用于 MCP 重连恢复) */
|
|
47
|
-
export declare function migrateSession(db: DbConn, oldSid:
|
|
48
|
+
export declare function migrateSession(db: DbConn, oldSid: string, newSid: string): void;
|
|
48
49
|
export declare function getOldestSession(db: DbConn): any;
|
|
49
|
-
export declare function getAgentConfig(db: DbConn): {
|
|
50
|
-
|
|
50
|
+
export declare function getAgentConfig(db: DbConn): Record<string, {
|
|
51
|
+
model: string;
|
|
52
|
+
effort: string;
|
|
53
|
+
}>;
|
|
54
|
+
export declare function setAgentModel(db: DbConn, agentId: string, model: string, effort: string): void;
|
|
51
55
|
/**
|
|
52
56
|
* 创建新的 pipeline run
|
|
53
57
|
* @param {DatabaseSync} db
|
|
@@ -56,32 +60,32 @@ export declare function setAgentModel(db: DbConn, agentId: any, model: any, effo
|
|
|
56
60
|
* @param {string} [pipelineType='full']
|
|
57
61
|
* @returns {string} runId
|
|
58
62
|
*/
|
|
59
|
-
export declare function createPipelineRun(db: DbConn, sessionId:
|
|
63
|
+
export declare function createPipelineRun(db: DbConn, sessionId: string, project: string, pipelineType?: string): string;
|
|
60
64
|
/** 获取指定 run */
|
|
61
|
-
export declare function getPipelineRun(db: DbConn, runId:
|
|
65
|
+
export declare function getPipelineRun(db: DbConn, runId: string): any;
|
|
62
66
|
/**
|
|
63
67
|
* 获取 session 的当前活跃 run(最新一条 status=active)
|
|
64
68
|
* @returns {object|undefined}
|
|
65
69
|
*/
|
|
66
|
-
export declare function getActiveRun(db: DbConn, sessionId:
|
|
70
|
+
export declare function getActiveRun(db: DbConn, sessionId: string): any;
|
|
67
71
|
/**
|
|
68
72
|
* 获取 session 的所有 runs(按时间倒序)
|
|
69
73
|
* @returns {object[]}
|
|
70
74
|
*/
|
|
71
|
-
export declare function getSessionRuns(db: DbConn, sessionId:
|
|
75
|
+
export declare function getSessionRuns(db: DbConn, sessionId: string): any[];
|
|
72
76
|
/** 更新 run 的当前 Gate */
|
|
73
|
-
export declare function updateRunGate(db: DbConn, runId:
|
|
77
|
+
export declare function updateRunGate(db: DbConn, runId: string, gate: string): void;
|
|
74
78
|
/**
|
|
75
79
|
* 更新 run 的 Gate 进入时间
|
|
76
80
|
* @param {DatabaseSync} db
|
|
77
81
|
* @param {string} runId
|
|
78
82
|
* @param {string} isoTime 进入时间的 ISO 字符串
|
|
79
83
|
*/
|
|
80
|
-
export declare function updateRunGateEnteredAt(db: DbConn, runId:
|
|
84
|
+
export declare function updateRunGateEnteredAt(db: DbConn, runId: string, isoTime: string): void;
|
|
81
85
|
/** 完成 run,同时计算总耗时 */
|
|
82
|
-
export declare function completeRun(db: DbConn, runId:
|
|
86
|
+
export declare function completeRun(db: DbConn, runId: string): void;
|
|
83
87
|
/** 中止 run,同时计算总耗时 */
|
|
84
|
-
export declare function abortRun(db: DbConn, runId:
|
|
88
|
+
export declare function abortRun(db: DbConn, runId: string): void;
|
|
85
89
|
/**
|
|
86
90
|
* 设置/清除 pipeline run 的会话任务名
|
|
87
91
|
* name 为空或纯空白时,task_name 设为 null(清除)
|
|
@@ -91,14 +95,10 @@ export declare function abortRun(db: DbConn, runId: any): void;
|
|
|
91
95
|
* @param {string} name
|
|
92
96
|
* @returns {{ ok: boolean; task_name: string | null; error?: string }}
|
|
93
97
|
*/
|
|
94
|
-
export declare function setRunTaskName(db: DbConn, runId:
|
|
98
|
+
export declare function setRunTaskName(db: DbConn, runId: string, name: string): {
|
|
95
99
|
ok: boolean;
|
|
96
|
-
task_name: null;
|
|
97
|
-
error
|
|
98
|
-
} | {
|
|
99
|
-
ok: boolean;
|
|
100
|
-
task_name: any;
|
|
101
|
-
error?: undefined;
|
|
100
|
+
task_name: string | null;
|
|
101
|
+
error?: string;
|
|
102
102
|
};
|
|
103
103
|
/**
|
|
104
104
|
* 归档 run(设置 archived=1)
|
|
@@ -106,7 +106,7 @@ export declare function setRunTaskName(db: DbConn, runId: any, name: any): {
|
|
|
106
106
|
* @param {string} runId
|
|
107
107
|
* @returns {{ ok: boolean }}
|
|
108
108
|
*/
|
|
109
|
-
export declare function archiveRun(db: DbConn, runId:
|
|
109
|
+
export declare function archiveRun(db: DbConn, runId: string): {
|
|
110
110
|
ok: boolean;
|
|
111
111
|
};
|
|
112
112
|
/**
|
|
@@ -115,7 +115,7 @@ export declare function archiveRun(db: DbConn, runId: any): {
|
|
|
115
115
|
* @param {string} runId
|
|
116
116
|
* @returns {{ ok: boolean }}
|
|
117
117
|
*/
|
|
118
|
-
export declare function unarchiveRun(db: DbConn, runId:
|
|
118
|
+
export declare function unarchiveRun(db: DbConn, runId: string): {
|
|
119
119
|
ok: boolean;
|
|
120
120
|
};
|
|
121
121
|
/**
|
|
@@ -123,7 +123,7 @@ export declare function unarchiveRun(db: DbConn, runId: any): {
|
|
|
123
123
|
* @param {DatabaseSync} db
|
|
124
124
|
* @returns {object[]}
|
|
125
125
|
*/
|
|
126
|
-
export declare function getArchivedRuns(db: DbConn): any;
|
|
126
|
+
export declare function getArchivedRuns(db: DbConn): any[];
|
|
127
127
|
/**
|
|
128
128
|
* 硬删除 run
|
|
129
129
|
* @param {DatabaseSync} db
|
|
@@ -136,7 +136,7 @@ export declare function getArchivedRuns(db: DbConn): any;
|
|
|
136
136
|
* @param {string} runId
|
|
137
137
|
* @returns {{ ok: boolean }}
|
|
138
138
|
*/
|
|
139
|
-
export declare function deleteRun(db: DbConn, runId:
|
|
139
|
+
export declare function deleteRun(db: DbConn, runId: string): {
|
|
140
140
|
ok: boolean;
|
|
141
141
|
};
|
|
142
142
|
/**
|
|
@@ -145,7 +145,7 @@ export declare function deleteRun(db: DbConn, runId: any): {
|
|
|
145
145
|
* @param {string} sessionId
|
|
146
146
|
* @returns {{ ok: boolean }}
|
|
147
147
|
*/
|
|
148
|
-
export declare function deleteSession(db: DbConn, sessionId:
|
|
148
|
+
export declare function deleteSession(db: DbConn, sessionId: string): {
|
|
149
149
|
ok: boolean;
|
|
150
150
|
};
|
|
151
151
|
/**
|
|
@@ -154,7 +154,7 @@ export declare function deleteSession(db: DbConn, sessionId: any): {
|
|
|
154
154
|
* @param {string} runId
|
|
155
155
|
* @returns {{ ok: boolean }}
|
|
156
156
|
*/
|
|
157
|
-
export declare function pinRun(db: DbConn, runId:
|
|
157
|
+
export declare function pinRun(db: DbConn, runId: string): {
|
|
158
158
|
ok: boolean;
|
|
159
159
|
};
|
|
160
160
|
/**
|
|
@@ -163,7 +163,7 @@ export declare function pinRun(db: DbConn, runId: any): {
|
|
|
163
163
|
* @param {string} runId
|
|
164
164
|
* @returns {{ ok: boolean }}
|
|
165
165
|
*/
|
|
166
|
-
export declare function unpinRun(db: DbConn, runId:
|
|
166
|
+
export declare function unpinRun(db: DbConn, runId: string): {
|
|
167
167
|
ok: boolean;
|
|
168
168
|
};
|
|
169
169
|
/**
|
|
@@ -174,7 +174,7 @@ export declare function unpinRun(db: DbConn, runId: any): {
|
|
|
174
174
|
* @param {string} filepath 相对于 .jarvis/ 的路径,如 "2026-05-10/requirements/REQ-001.md"
|
|
175
175
|
* @returns {{ ok: boolean }}
|
|
176
176
|
*/
|
|
177
|
-
export declare function insertArtifact(db: DbConn, runId:
|
|
177
|
+
export declare function insertArtifact(db: DbConn, runId: string, gate: string, filepath: string): {
|
|
178
178
|
ok: boolean;
|
|
179
179
|
};
|
|
180
180
|
/**
|
|
@@ -183,7 +183,7 @@ export declare function insertArtifact(db: DbConn, runId: any, gate: any, filepa
|
|
|
183
183
|
* @param {string} runId
|
|
184
184
|
* @returns {Array<{id: number; run_id: string; gate: string; filepath: string; created_at: string}>}
|
|
185
185
|
*/
|
|
186
|
-
export declare function getArtifactsByRun(db: DbConn, runId:
|
|
186
|
+
export declare function getArtifactsByRun(db: DbConn, runId: string): any[];
|
|
187
187
|
/**
|
|
188
188
|
* 按 run + gate 获取产物(精确查询,无跨 run 污染)
|
|
189
189
|
* @param {DatabaseSync} db
|
|
@@ -191,7 +191,7 @@ export declare function getArtifactsByRun(db: DbConn, runId: any): any;
|
|
|
191
191
|
* @param {string} gate
|
|
192
192
|
* @returns {Array<{id: number; run_id: string; gate: string; filepath: string; created_at: string}>}
|
|
193
193
|
*/
|
|
194
|
-
export declare function getArtifactsByRunAndGate(db: DbConn, runId:
|
|
194
|
+
export declare function getArtifactsByRunAndGate(db: DbConn, runId: string, gate: string): any[];
|
|
195
195
|
/**
|
|
196
196
|
* 记录会话事件
|
|
197
197
|
*/
|
|
@@ -203,11 +203,11 @@ export declare function logSessionEvent(db: DbConn, sessionId: string, eventType
|
|
|
203
203
|
/**
|
|
204
204
|
* 获取会话事件日志
|
|
205
205
|
*/
|
|
206
|
-
export declare function getSessionEvents(db: DbConn, sessionId: string, limit?:
|
|
206
|
+
export declare function getSessionEvents(db: DbConn, sessionId: string, limit?: number): any[];
|
|
207
207
|
/**
|
|
208
208
|
* 获取 run 的事件日志
|
|
209
209
|
*/
|
|
210
|
-
export declare function getRunEvents(db: DbConn, runId: string): any;
|
|
210
|
+
export declare function getRunEvents(db: DbConn, runId: string): any[];
|
|
211
211
|
/**
|
|
212
212
|
* 保存 run 的恢复数据
|
|
213
213
|
*/
|
|
@@ -221,19 +221,19 @@ export declare function getResumeData(db: DbConn, runId: string): Record<string,
|
|
|
221
221
|
*/
|
|
222
222
|
export declare function updateSessionMetadata(db: DbConn, sessionId: string, metadata: Record<string, unknown>): void;
|
|
223
223
|
export declare function saveFlowSkill(db: DbConn, name: string, description: string, pipeline_type: string, gate_sequence: string, agent_spawns: string, skill_loads: string, source_session_id: string): string;
|
|
224
|
-
export declare function getFlowSkills(db: DbConn): any;
|
|
224
|
+
export declare function getFlowSkills(db: DbConn): any[];
|
|
225
225
|
export declare function getFlowSkill(db: DbConn, id: string): any;
|
|
226
|
-
export declare function deleteFlowSkill(db: DbConn, id: string):
|
|
226
|
+
export declare function deleteFlowSkill(db: DbConn, id: string): import("node:sqlite").StatementResultingChanges;
|
|
227
227
|
export declare function getFlowSkillCount(db: DbConn): number;
|
|
228
228
|
export declare function addWorkingMemory(db: DbConn, sessionId: string, content: string, opts?: {
|
|
229
229
|
runId?: string;
|
|
230
230
|
category?: string;
|
|
231
231
|
ttlDays?: number;
|
|
232
232
|
}): void;
|
|
233
|
-
export declare function getWorkingMemory(db: DbConn, sessionId: string, limit?: number): any;
|
|
234
|
-
export declare function queryWorkingMemory(db: DbConn, query: string, sessionId: string, limit?: number): any;
|
|
235
|
-
export declare function pruneWorkingMemory(db: DbConn):
|
|
233
|
+
export declare function getWorkingMemory(db: DbConn, sessionId: string, limit?: number): any[];
|
|
234
|
+
export declare function queryWorkingMemory(db: DbConn, query: string, sessionId: string, limit?: number): any[];
|
|
235
|
+
export declare function pruneWorkingMemory(db: DbConn): number;
|
|
236
236
|
export declare function saveSessionContext(db: DbConn, sessionId: string, runId: string, summary: string, keyDecisions?: string[], pendingItems?: string[]): void;
|
|
237
|
-
export declare function getRecentSessionContexts(db: DbConn, limit?: number): any;
|
|
237
|
+
export declare function getRecentSessionContexts(db: DbConn, limit?: number): any[];
|
|
238
238
|
export declare function getSessionContext(db: DbConn, sessionId: string): any;
|
|
239
239
|
export {};
|
package/dist/src/engine/db.js
CHANGED
|
@@ -3,6 +3,50 @@ import { resolve } from 'node:path';
|
|
|
3
3
|
import { existsSync, mkdirSync } from 'node:fs';
|
|
4
4
|
import { homedir } from 'node:os';
|
|
5
5
|
import { randomBytes } from 'node:crypto';
|
|
6
|
+
// ── 数据库迁移版本追踪 ─────────────────────────────────────────────
|
|
7
|
+
/** 迁移列表:按版本号升序排列,只执行 version > currentVersion 的迁移 */
|
|
8
|
+
const MIGRATIONS = [
|
|
9
|
+
{ version: 1, sql: "ALTER TABLE agent_models ADD COLUMN effort TEXT NOT NULL DEFAULT 'high'" },
|
|
10
|
+
{ version: 2, sql: "ALTER TABLE sessions ADD COLUMN status TEXT DEFAULT 'active'" },
|
|
11
|
+
{ version: 3, sql: 'ALTER TABLE pipeline_runs ADD COLUMN task_name TEXT' },
|
|
12
|
+
{ version: 4, sql: 'ALTER TABLE pipeline_runs ADD COLUMN archived INTEGER DEFAULT 0' },
|
|
13
|
+
{ version: 5, sql: 'ALTER TABLE pipeline_runs ADD COLUMN pinned INTEGER DEFAULT 0' },
|
|
14
|
+
{ version: 6, sql: 'ALTER TABLE pipeline_runs ADD COLUMN gate_entered_at TEXT' },
|
|
15
|
+
{ version: 7, sql: 'ALTER TABLE checkpoints ADD COLUMN duration_seconds INTEGER' },
|
|
16
|
+
{ version: 8, sql: 'ALTER TABLE checkpoints ADD COLUMN violations TEXT' },
|
|
17
|
+
{ version: 9, sql: 'ALTER TABLE checkpoints ADD COLUMN quality_profile_source TEXT' },
|
|
18
|
+
{ version: 10, sql: 'ALTER TABLE pipeline_runs ADD COLUMN resume_data TEXT' },
|
|
19
|
+
{ version: 11, sql: 'ALTER TABLE sessions ADD COLUMN metadata TEXT' },
|
|
20
|
+
{ version: 12, sql: 'ALTER TABLE pipeline_runs ADD COLUMN total_duration_seconds INTEGER' },
|
|
21
|
+
];
|
|
22
|
+
/**
|
|
23
|
+
* 执行数据库迁移:只执行版本号高于当前版本的迁移。
|
|
24
|
+
* 保留 try-catch 作为兼容回退——对"列已存在但版本号未记录"的旧数据库友好。
|
|
25
|
+
*/
|
|
26
|
+
function runMigrations(db) {
|
|
27
|
+
db.exec('CREATE TABLE IF NOT EXISTS schema_version (version INTEGER)');
|
|
28
|
+
const row = db.prepare('SELECT COALESCE(MAX(version), 0) as v FROM schema_version').get();
|
|
29
|
+
const currentVersion = row.v;
|
|
30
|
+
for (const m of MIGRATIONS) {
|
|
31
|
+
if (m.version > currentVersion) {
|
|
32
|
+
try {
|
|
33
|
+
db.exec(m.sql);
|
|
34
|
+
db.prepare('INSERT INTO schema_version (version) VALUES (?)').run(m.version);
|
|
35
|
+
}
|
|
36
|
+
catch (e) {
|
|
37
|
+
// 列已存在时不阻止启动,记录版本号后继续
|
|
38
|
+
const msg = String(e);
|
|
39
|
+
if (msg.includes('already exists') || msg.includes('duplicate column')) {
|
|
40
|
+
db.prepare('INSERT INTO schema_version (version) VALUES (?)').run(m.version);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
console.error(` ✗ 迁移 v${m.version} 失败:`, msg);
|
|
44
|
+
throw e;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
6
50
|
/**
|
|
7
51
|
* 打开引擎数据库,存储在项目级 <projectRoot>/.jarvis/engine.db
|
|
8
52
|
* 每个项目拥有独立数据库,实现项目级数据隔离。
|
|
@@ -97,13 +141,8 @@ function initSchema(db) {
|
|
|
97
141
|
UNIQUE(run_id, gate, filepath)
|
|
98
142
|
);
|
|
99
143
|
`);
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
}
|
|
103
|
-
catch (e) {
|
|
104
|
-
if (!/already exists/i.test(String(e)))
|
|
105
|
-
console.error("DB migration error:", String(e));
|
|
106
|
-
}
|
|
144
|
+
// ---- 执行增量迁移(只在版本号不匹配时运行) ----
|
|
145
|
+
runMigrations(db);
|
|
107
146
|
// ---- 迁移:修复旧 pipeline 表 CHECK(id=1) 约束 ----
|
|
108
147
|
const pipeSchema = db.prepare("SELECT sql FROM sqlite_master WHERE type='table' AND name='pipeline'").get();
|
|
109
148
|
if (pipeSchema && /CHECK\s*\(\s*id\s*=\s*1\s*\)/i.test(pipeSchema.sql)) {
|
|
@@ -168,77 +207,8 @@ function initSchema(db) {
|
|
|
168
207
|
console.error(' ✗ checkpoints 迁移失败:', String(e));
|
|
169
208
|
}
|
|
170
209
|
}
|
|
171
|
-
// ---- 旧列迁移(向后兼容) ----
|
|
172
|
-
try {
|
|
173
|
-
db.exec("ALTER TABLE sessions ADD COLUMN status TEXT DEFAULT 'active'");
|
|
174
|
-
}
|
|
175
|
-
catch (e) {
|
|
176
|
-
if (!/already exists/i.test(String(e)))
|
|
177
|
-
console.error("DB migration error:", String(e));
|
|
178
|
-
}
|
|
179
|
-
// ---- 会话任务名迁移 ----
|
|
180
|
-
try {
|
|
181
|
-
db.exec("ALTER TABLE pipeline_runs ADD COLUMN task_name TEXT");
|
|
182
|
-
}
|
|
183
|
-
catch (e) {
|
|
184
|
-
if (!/already exists/i.test(String(e)))
|
|
185
|
-
console.error("DB migration error:", String(e));
|
|
186
|
-
}
|
|
187
|
-
// ---- Run 归档迁移 ----
|
|
188
|
-
try {
|
|
189
|
-
db.exec("ALTER TABLE pipeline_runs ADD COLUMN archived INTEGER DEFAULT 0");
|
|
190
|
-
}
|
|
191
|
-
catch (e) {
|
|
192
|
-
if (!/already exists/i.test(String(e)))
|
|
193
|
-
console.error("DB migration error:", String(e));
|
|
194
|
-
}
|
|
195
|
-
// ---- Run 置顶迁移 ----
|
|
196
|
-
try {
|
|
197
|
-
db.exec("ALTER TABLE pipeline_runs ADD COLUMN pinned INTEGER DEFAULT 0");
|
|
198
|
-
}
|
|
199
|
-
catch (e) {
|
|
200
|
-
if (!/already exists/i.test(String(e)))
|
|
201
|
-
console.error("DB migration error:", String(e));
|
|
202
|
-
}
|
|
203
|
-
// ---- TASK-001: Gate 进入时间记录 ----
|
|
204
|
-
try {
|
|
205
|
-
db.exec("ALTER TABLE pipeline_runs ADD COLUMN gate_entered_at TEXT");
|
|
206
|
-
}
|
|
207
|
-
catch (e) {
|
|
208
|
-
if (!/already exists/i.test(String(e)))
|
|
209
|
-
console.error("DB migration error:", String(e));
|
|
210
|
-
}
|
|
211
|
-
// ---- TASK-001: Checkpoint 耗时字段 ----
|
|
212
|
-
try {
|
|
213
|
-
db.exec("ALTER TABLE checkpoints ADD COLUMN duration_seconds INTEGER");
|
|
214
|
-
}
|
|
215
|
-
catch (e) {
|
|
216
|
-
if (!/already exists/i.test(String(e)))
|
|
217
|
-
console.error("DB migration error:", String(e));
|
|
218
|
-
}
|
|
219
|
-
// ---- TASK-002: Checkpoint 质量门禁违反记录 ----
|
|
220
|
-
try {
|
|
221
|
-
db.exec("ALTER TABLE checkpoints ADD COLUMN violations TEXT");
|
|
222
|
-
}
|
|
223
|
-
catch (e) {
|
|
224
|
-
if (!/already exists/i.test(String(e)))
|
|
225
|
-
console.error("DB migration error:", String(e));
|
|
226
|
-
}
|
|
227
|
-
try {
|
|
228
|
-
db.exec("ALTER TABLE checkpoints ADD COLUMN quality_profile_source TEXT");
|
|
229
|
-
}
|
|
230
|
-
catch (e) {
|
|
231
|
-
if (!/already exists/i.test(String(e)))
|
|
232
|
-
console.error("DB migration error:", String(e));
|
|
233
|
-
}
|
|
234
210
|
// ---- 清除遗留的 agent_events 表(v3.47.6+ 已废弃) ----
|
|
235
|
-
|
|
236
|
-
db.exec("DROP TABLE IF EXISTS agent_events");
|
|
237
|
-
}
|
|
238
|
-
catch (e) {
|
|
239
|
-
if (!/already exists/i.test(String(e)))
|
|
240
|
-
console.error("DB migration error:", String(e));
|
|
241
|
-
}
|
|
211
|
+
db.exec('DROP TABLE IF EXISTS agent_events');
|
|
242
212
|
// ---- OMC-inspired: 会话事件日志表(跨会话可观测性) ----
|
|
243
213
|
db.exec(`
|
|
244
214
|
CREATE TABLE IF NOT EXISTS session_events (
|
|
@@ -252,22 +222,6 @@ function initSchema(db) {
|
|
|
252
222
|
);
|
|
253
223
|
CREATE INDEX IF NOT EXISTS idx_session_events_session ON session_events(session_id, created_at DESC);
|
|
254
224
|
`);
|
|
255
|
-
// ---- OMC-inspired: pipeline_runs 恢复数据列 ----
|
|
256
|
-
try {
|
|
257
|
-
db.exec("ALTER TABLE pipeline_runs ADD COLUMN resume_data TEXT");
|
|
258
|
-
}
|
|
259
|
-
catch (e) {
|
|
260
|
-
if (!/already exists/i.test(String(e)))
|
|
261
|
-
console.error("DB migration error:", String(e));
|
|
262
|
-
}
|
|
263
|
-
// ---- OMC-inspired: sessions 元数据列 ----
|
|
264
|
-
try {
|
|
265
|
-
db.exec("ALTER TABLE sessions ADD COLUMN metadata TEXT");
|
|
266
|
-
}
|
|
267
|
-
catch (e) {
|
|
268
|
-
if (!/already exists/i.test(String(e)))
|
|
269
|
-
console.error("DB migration error:", String(e));
|
|
270
|
-
}
|
|
271
225
|
// ---- OMC-inspired: working_memory 短期记忆表(7天 TTL) ----
|
|
272
226
|
db.exec(`
|
|
273
227
|
CREATE TABLE IF NOT EXISTS working_memory (
|
|
@@ -312,14 +266,6 @@ function initSchema(db) {
|
|
|
312
266
|
if (backfillResult.changes > 0) {
|
|
313
267
|
console.log(` ✓ 已回填 ${backfillResult.changes} 条 checkpoint 的 Gate 耗时`);
|
|
314
268
|
}
|
|
315
|
-
// ---- TASK-002: 任务总耗时列 ----
|
|
316
|
-
try {
|
|
317
|
-
db.exec("ALTER TABLE pipeline_runs ADD COLUMN total_duration_seconds INTEGER");
|
|
318
|
-
}
|
|
319
|
-
catch (e) {
|
|
320
|
-
if (!/already exists/i.test(String(e)))
|
|
321
|
-
console.error("DB migration error:", String(e));
|
|
322
|
-
}
|
|
323
269
|
// ---- TASK-002: 回填已完成/已中止 run 的 total_duration_seconds ----
|
|
324
270
|
const backfillDurationResult = db.prepare(`
|
|
325
271
|
UPDATE pipeline_runs SET total_duration_seconds = CAST(
|
|
@@ -401,7 +347,7 @@ export function addCheckpoint(db, gate, advanceTo, sessionId, durationSeconds =
|
|
|
401
347
|
* @param {'active'|'inactive'|undefined} statusFilter
|
|
402
348
|
* @returns {Array<{id: string; platform: string; role: string; status: string; created_at: number; last_heartbeat: number; latest_run_started_at: string|null}>}
|
|
403
349
|
*/
|
|
404
|
-
export function getSessions(db, statusFilter
|
|
350
|
+
export function getSessions(db, statusFilter) {
|
|
405
351
|
const orderClause = `
|
|
406
352
|
ORDER BY
|
|
407
353
|
CASE WHEN latest_run_started_at IS NULL THEN 1 ELSE 0 END,
|
|
@@ -828,7 +774,7 @@ export function queryWorkingMemory(db, query, sessionId, limit = 20) {
|
|
|
828
774
|
}
|
|
829
775
|
export function pruneWorkingMemory(db) {
|
|
830
776
|
const result = db.prepare("DELETE FROM working_memory WHERE expires_at IS NOT NULL AND expires_at <= datetime('now')").run();
|
|
831
|
-
return result.changes;
|
|
777
|
+
return Number(result.changes);
|
|
832
778
|
}
|
|
833
779
|
// ---- Session Context(会话归档摘要) ----
|
|
834
780
|
export function saveSessionContext(db, sessionId, runId, summary, keyDecisions, pendingItems) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/engine/db.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/engine/db.ts"],"names":[],"mappings":"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"}
|
|
@@ -92,6 +92,17 @@ export declare const PIPELINE_DEFS: {
|
|
|
92
92
|
gates: string[];
|
|
93
93
|
allow_jump: boolean;
|
|
94
94
|
};
|
|
95
|
+
/** 深度初始化:AI驱动的分层架构文档初始化
|
|
96
|
+
* Gate 命名:D0-D3 属于 /deepinit 流水线 */
|
|
97
|
+
deepinit: {
|
|
98
|
+
name: string;
|
|
99
|
+
gates: string[];
|
|
100
|
+
};
|
|
101
|
+
/** 架构咨询:架构师直接对话咨询,单 Gate C0 对话记录归档 */
|
|
102
|
+
consult: {
|
|
103
|
+
name: string;
|
|
104
|
+
gates: string[];
|
|
105
|
+
};
|
|
95
106
|
};
|
|
96
107
|
export declare const DEFAULT_PIPELINE = "full";
|
|
97
108
|
/** 默认流水线的 Gate 序列(向后兼容) */
|
|
@@ -180,5 +191,5 @@ export declare function findGateArtifacts(artifactsDir: any, gate: any): string[
|
|
|
180
191
|
* @param runId 可选 run ID;传入时优先从 artifacts 表精确查询
|
|
181
192
|
* @returns 相对于 artifactsDir 的文档路径列表(如 "2026-05-10/requirements/REQ-001.md"),最多 5 个
|
|
182
193
|
*/
|
|
183
|
-
export declare function findSessionGateArtifacts(artifactsDir: any, gate: any, sessionId: any, db: any, runId?: any): any;
|
|
194
|
+
export declare function findSessionGateArtifacts(artifactsDir: any, gate: any, sessionId: any, db: any, runId?: any): any[];
|
|
184
195
|
export declare function formatGateDisplay(gates: any, current: any): any;
|
package/dist/src/engine/gates.js
CHANGED
|
@@ -96,6 +96,17 @@ export const PIPELINE_DEFS = {
|
|
|
96
96
|
gates: ['IM0', 'IM1', 'IM2', 'IM3', 'IM4'],
|
|
97
97
|
allow_jump: true,
|
|
98
98
|
},
|
|
99
|
+
/** 深度初始化:AI驱动的分层架构文档初始化
|
|
100
|
+
* Gate 命名:D0-D3 属于 /deepinit 流水线 */
|
|
101
|
+
deepinit: {
|
|
102
|
+
name: '深度初始化',
|
|
103
|
+
gates: ['D0', 'D1', 'D2', 'D3'],
|
|
104
|
+
},
|
|
105
|
+
/** 架构咨询:架构师直接对话咨询,单 Gate C0 对话记录归档 */
|
|
106
|
+
consult: {
|
|
107
|
+
name: '架构咨询',
|
|
108
|
+
gates: ['C0'],
|
|
109
|
+
},
|
|
99
110
|
};
|
|
100
111
|
export const DEFAULT_PIPELINE = 'full';
|
|
101
112
|
/** 默认流水线的 Gate 序列(向后兼容) */
|
|
@@ -122,8 +133,8 @@ export const GATE_CONFIG = {
|
|
|
122
133
|
'Gate C1': { dir: 'implementation', check: 'Lint+Type-check+Build+Deps Audit全部通过', operations: { allow: ['read', 'lint', 'build', 'fix'], deny: ['spawn_impl', 'spawn_test', 'deploy', 'write_code'] }, agent_guide: { can_spawn: [], note: '代码质量门——Lint/Type-check/Build/Deps Audit。失败则修复后重跑' }, max_retry: 3, entry_condition: 'Gate C-impl 实现代码已提交' },
|
|
123
134
|
'Gate C1.5': { dir: 'implementation', check: '页面/组件视觉验证截图证据已附', operations: { allow: ['read', 'preview', 'fix'], deny: ['spawn_impl', 'spawn_test', 'build', 'deploy', 'write_code'] }, agent_guide: { can_spawn: [], note: '视觉验证门——截图+样式检查。失败则退回实现Agent补充证据' }, max_retry: 2, entry_condition: 'Gate C1 质量检查通过' },
|
|
124
135
|
'Gate C2': { dir: 'testing', check: 'quality-gates.yml门禁判定通过:单元测试覆盖率/通过率≥阈值、集成/E2E测试通过率≥阈值、Lint/类型错误≤阈值;测试文档用例覆盖完整,API契约验证通过', operations: { allow: ['read', 'spawn_test', 'fix'], deny: ['spawn_impl', 'deploy', 'write_code'] }, agent_guide: { can_spawn: ['test-doc-writer', 'frontend-test-expert', 'backend-test-expert', 'android-test-expert', 'ios-test-expert', 'flutter-test-expert', 'taro-test-expert', 'expo-test-expert', 'react-native-test-expert', 'api-test-expert', 'test-executor', 'remediation-expert', 'browser-test-expert', 'frontend-debug-expert', 'api-contract-expert', 'perf-test-expert', 'e2e-test-expert'], note: '测试阶段——推荐 Agent Team 并行跑测试(TeamCreate→各tester并行执行),轻量检查用subagent。平台测试Agent(android/ios/flutter/taro/react-native/expo)按需选择。步骤1(Team并行):spawn test-doc-writer+各平台test-expert → 步骤2:spawn test-executor → 步骤3(失败时):spawn remediation-expert(≤2轮) → 步骤4:spawn e2e-test-expert → 步骤5:汇总至.jarvis/testing/', team_strategy: 'prefer_team', team_rules: '各tester按测试类型独占(单元/集成/E2E/性能/安全),test-doc-writer写文档后tester按文档独立执行,互不干扰。平台测试按平台隔离,互不交叉' }, max_retry: 5, entry_condition: 'Gate C1(后端)或 Gate C1+C1.5(前端/移动端)通过' },
|
|
125
|
-
'Gate D': { dir: 'review', check: '领域审查+安全审计+性能审计通过;quality-gates.yml门禁判定通过:安全严重漏洞=0、高危漏洞≤阈值、性能回归≤阈值;REQ追踪矩阵完整', operations: { allow: ['read', 'review', 'audit', 'fix', 'spawn_impl'], deny: ['spawn_test', 'build', 'deploy', 'write_code'] }, agent_guide: { can_spawn: ['frontend-review-expert', 'backend-review-expert', 'android-review-expert', 'ios-review-expert', 'flutter-review-expert', 'taro-review-expert', 'expo-review-expert', 'react-native-review-expert', 'security-review-expert', 'perf-review-expert', 'qa-review-expert', 'change-review-expert', 'diff-review-expert', 'project-review-expert', 'review-fix-optimize', 'review-only', 'verify-expert', 'code-explore-expert', 'frontend-debug-expert', 'browser-test-expert'], note: '评审阶段——推荐 Agent Team 并行审查(TeamCreate→各reviewer并行),qa-review-expert用subagent
|
|
126
|
-
'Gate E': { dir: 'shipping', check: '质量门重检通过(Lint+Type-check+Build+Deps Audit)+测试套件重跑通过+安全审计+上线检查清单+回滚预案就绪', operations: { allow: ['read', 'deploy', 'write_doc', 'lint', 'build', 'spawn_impl'], deny: ['write_code'
|
|
136
|
+
'Gate D': { dir: 'review', check: '领域审查+安全审计+性能审计通过;quality-gates.yml门禁判定通过:安全严重漏洞=0、高危漏洞≤阈值、性能回归≤阈值;REQ追踪矩阵完整', operations: { allow: ['read', 'review', 'audit', 'fix', 'spawn_impl'], deny: ['spawn_test', 'build', 'deploy', 'write_code'] }, agent_guide: { can_spawn: ['frontend-review-expert', 'backend-review-expert', 'android-review-expert', 'ios-review-expert', 'flutter-review-expert', 'taro-review-expert', 'expo-review-expert', 'react-native-review-expert', 'security-review-expert', 'perf-review-expert', 'qa-review-expert', 'change-review-expert', 'diff-review-expert', 'project-review-expert', 'review-fix-optimize', 'review-only', 'verify-expert', 'code-explore-expert', 'frontend-debug-expert', 'frontend-architect', 'backend-architect', 'database-architect', 'browser-test-expert'], note: '评审阶段——推荐 Agent Team 并行审查(TeamCreate→各reviewer并行),qa-review-expert用subagent综合签核。架构审查(前端/后端/数据库)也参与评审。平台审查Agent(android/ios/flutter/taro/react-native/expo)按需选择', team_strategy: 'prefer_team', team_rules: '各reviewer按领域独占(前端/后端/移动端/安全/性能),只读审查不修改文件。qa-review-expert为唯一签核者,汇总各领域findings后综合判定。平台审查按平台隔离,互不交叉' }, max_retry: 2, entry_condition: 'Gate C2 测试通过' },
|
|
137
|
+
'Gate E': { dir: 'shipping', check: '质量门重检通过(Lint+Type-check+Build+Deps Audit)+测试套件重跑通过+安全审计+上线检查清单+回滚预案就绪', operations: { allow: ['read', 'deploy', 'write_doc', 'lint', 'build', 'spawn_test', 'spawn_impl'], deny: ['write_code'] }, agent_guide: { can_spawn: ['security-review-expert', 'infra-deploy-expert', 'docs-engineer'], note: '发布阶段——安全审计+文档生成+上线检查+版本管理+归档' }, max_retry: 2, entry_condition: 'Gate D 审查通过' },
|
|
127
138
|
// ── /refactor 流水线 ──
|
|
128
139
|
'R1': { dir: 'refactoring', check: '重构边界与目标文档已产出,含重构范围+不变行为清单+成功标准', operations: { allow: ['read', 'write_doc'], deny: ['write_code', 'spawn_impl', 'spawn_test', 'build', 'deploy'] }, agent_guide: { can_spawn: [], note: '定义重构边界与目标' }, max_retry: 2 },
|
|
129
140
|
'R2': { dir: 'refactoring', check: '现有测试套件全部通过,基线覆盖率报告已产出', operations: { allow: ['read', 'spawn_test'], deny: ['write_code', 'spawn_impl', 'build', 'deploy'] }, agent_guide: { can_spawn: ['frontend-test-expert', 'backend-test-expert', 'android-test-expert', 'ios-test-expert', 'flutter-test-expert', 'taro-test-expert', 'react-native-test-expert', 'expo-test-expert'], note: '运行现有测试套件+基线覆盖率', team_strategy: 'subagent_only' }, max_retry: 2, entry_condition: 'Gate R1 重构边界已确认' },
|