@chenmk/superflow 0.5.11 → 0.5.13
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 +26 -0
- package/README.zh-CN.md +8 -0
- package/assets/manifest.json +33 -7
- package/assets/review-rules.json +24 -0
- package/assets/scripts/superflow-archive-command-hook.sh +4 -0
- package/assets/scripts/superflow-contract-hooks.sh +4 -0
- package/assets/scripts/superflow-delivery-check.sh +4 -0
- package/assets/scripts/superflow-dependency-update-hook.sh +29 -0
- package/assets/scripts/superflow-doc-placement-hook.py +38 -0
- package/assets/scripts/superflow-enforce-hook.sh +4 -0
- package/assets/scripts/superflow-hook-guard.sh +4 -0
- package/assets/scripts/superflow-integration-evidence-hook.sh +4 -0
- package/assets/scripts/superflow-java-build-hook.py +178 -0
- package/assets/scripts/superflow-java-stop-hook.sh +3 -0
- package/assets/scripts/superflow-loop-end-hook.sh +3 -0
- package/assets/scripts/superflow-loop-failure-hook.sh +3 -0
- package/assets/scripts/superflow-loop-observer.py +149 -0
- package/assets/scripts/superflow-managed-work-guard.sh +4 -0
- package/assets/scripts/superflow-sql-sync-hook.py +151 -3
- package/assets/skill-registry.json +229 -0
- package/assets/skills/openspec-propose/SKILL.md +14 -0
- package/assets/skills/superflow-clarify/SKILL.md +23 -1
- package/assets/skills/superflow-design/SKILL.md +6 -1
- package/assets/skills/superflow-docs/SKILL.md +12 -0
- package/assets/skills/superflow-implement/SKILL.md +8 -0
- package/assets/skills/superflow-pipeline/SKILL.md +28 -1
- package/assets/skills/superflow-pipeline/references/superpower-technical-design-template.md +17 -0
- package/assets/skills/superflow-quick-dev/SKILL.md +44 -0
- package/assets/skills/superflow-verify/SKILL.md +41 -0
- package/assets/skills-en/openspec-propose/SKILL.md +14 -0
- package/assets/skills-en/superflow-clarify/SKILL.md +23 -1
- package/assets/skills-en/superflow-design/SKILL.md +6 -1
- package/assets/skills-en/superflow-docs/SKILL.md +12 -0
- package/assets/skills-en/superflow-implement/SKILL.md +9 -0
- package/assets/skills-en/superflow-pipeline/SKILL.md +30 -0
- package/assets/skills-en/superflow-quick-dev/SKILL.md +43 -0
- package/assets/skills-en/superflow-verify/SKILL.md +46 -0
- package/dist/app/cli.js +98 -0
- package/dist/app/cli.js.map +1 -1
- package/dist/app/commands/check.js +7 -3
- package/dist/app/commands/check.js.map +1 -1
- package/dist/app/commands/cleanup-audit.js +13 -0
- package/dist/app/commands/cleanup-audit.js.map +1 -0
- package/dist/app/commands/context-audit.js +43 -0
- package/dist/app/commands/context-audit.js.map +1 -0
- package/dist/app/commands/docs-audit.js +11 -0
- package/dist/app/commands/docs-audit.js.map +1 -0
- package/dist/app/commands/doctor.js +10 -0
- package/dist/app/commands/doctor.js.map +1 -1
- package/dist/app/commands/hook-migrate.js +25 -0
- package/dist/app/commands/hook-migrate.js.map +1 -0
- package/dist/app/commands/init.js +25 -18
- package/dist/app/commands/init.js.map +1 -1
- package/dist/app/commands/map-audit.js +10 -0
- package/dist/app/commands/map-audit.js.map +1 -0
- package/dist/app/commands/pipeline.js +13 -1
- package/dist/app/commands/pipeline.js.map +1 -1
- package/dist/app/commands/quick.js +136 -0
- package/dist/app/commands/quick.js.map +1 -0
- package/dist/app/commands/review-coverage.js +84 -0
- package/dist/app/commands/review-coverage.js.map +1 -0
- package/dist/app/commands/skill-audit.js +36 -0
- package/dist/app/commands/skill-audit.js.map +1 -0
- package/dist/app/commands/status.js +108 -7
- package/dist/app/commands/status.js.map +1 -1
- package/dist/app/commands/uninstall.js +119 -25
- package/dist/app/commands/uninstall.js.map +1 -1
- package/dist/app/commands/update.js +62 -25
- package/dist/app/commands/update.js.map +1 -1
- package/dist/domains/cleanup-audit.js +38 -0
- package/dist/domains/cleanup-audit.js.map +1 -0
- package/dist/domains/config/cli-help.js +14 -0
- package/dist/domains/config/cli-help.js.map +1 -1
- package/dist/domains/config/context.js +13 -10
- package/dist/domains/config/context.js.map +1 -1
- package/dist/domains/context-audit.js +39 -0
- package/dist/domains/context-audit.js.map +1 -0
- package/dist/domains/deps.js +18 -8
- package/dist/domains/deps.js.map +1 -1
- package/dist/domains/docs-audit.js +34 -0
- package/dist/domains/docs-audit.js.map +1 -0
- package/dist/domains/hook-migration.js +127 -0
- package/dist/domains/hook-migration.js.map +1 -0
- package/dist/domains/hook.js +76 -2
- package/dist/domains/hook.js.map +1 -1
- package/dist/domains/managed-work/control.js +56 -2
- package/dist/domains/managed-work/control.js.map +1 -1
- package/dist/domains/map-audit.js +23 -0
- package/dist/domains/map-audit.js.map +1 -0
- package/dist/domains/quick-dev/gate.js +91 -0
- package/dist/domains/quick-dev/gate.js.map +1 -0
- package/dist/domains/review/coverage.js +119 -0
- package/dist/domains/review/coverage.js.map +1 -0
- package/dist/domains/review/report.js +62 -0
- package/dist/domains/review/report.js.map +1 -0
- package/dist/domains/skill/registry.js +87 -0
- package/dist/domains/skill/registry.js.map +1 -0
- package/dist/domains/state.js +64 -0
- package/dist/domains/state.js.map +1 -1
- package/package.json +1 -1
- package/scripts/check-design-principles.mjs +4 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-audit.js","sourceRoot":"","sources":["../../src/domains/context-audit.ts"],"names":[],"mappings":"AASA,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;AAEvF,MAAM,UAAU,iBAAiB,CAAC,KAA+C;IAC/E,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9F,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtF,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YAChE,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,UAAU,IAAI,CAAC,CAAC;YAChB,IAAI,wEAAwE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5F,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAC9C,CAAC,IAAI,MAAM,CAAC,cAAc,OAAO,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACtE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CACrC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,QAAQ,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CACrE,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACzE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IACzE,IAAI,YAAY,CAAC,MAAM;QAAE,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACpE,OAAO;QACL,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;QACnD,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3C,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE;QACzD,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ;QACjC,EAAE,EAAE,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;KACtD,CAAC;AACJ,CAAC"}
|
package/dist/domains/deps.js
CHANGED
|
@@ -8,12 +8,18 @@ const CODEX_SUPERPOWERS_MARKETS = ['openai-curated-remote', 'openai-api-curated'
|
|
|
8
8
|
export function selectCodexSuperpowers(catalog) {
|
|
9
9
|
const plugins = [...(catalog.available ?? []), ...(catalog.installed ?? [])].filter((plugin) => plugin.name === 'superpowers' &&
|
|
10
10
|
CODEX_SUPERPOWERS_MARKETS.includes(plugin.marketplaceName) &&
|
|
11
|
-
plugin.pluginId === `superpowers@${plugin.marketplaceName}`
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
if (
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
plugin.pluginId === `superpowers@${plugin.marketplaceName}`);
|
|
12
|
+
const versions = plugins.filter((plugin) => /^\d+\.\d+\.\d+$/.test(plugin.version));
|
|
13
|
+
versions.sort((a, b) => compareVersions(b.version, a.version));
|
|
14
|
+
if (versions[0])
|
|
15
|
+
return versions[0];
|
|
16
|
+
const hashes = plugins.filter((plugin) => /^[a-f0-9]{8,64}$/.test(plugin.version));
|
|
17
|
+
const distinct = [...new Set(hashes.map((plugin) => `${plugin.pluginId}@${plugin.version}`))];
|
|
18
|
+
if (distinct.length === 1) {
|
|
19
|
+
return hashes.find((plugin) => plugin.installed === true && plugin.enabled === true)
|
|
20
|
+
?? hashes[0];
|
|
21
|
+
}
|
|
22
|
+
throw new Error('Cannot confirm the official Superpowers plugin; run codex plugin list --available --json');
|
|
17
23
|
}
|
|
18
24
|
function compareVersions(a, b) {
|
|
19
25
|
const left = a.split('.').map(Number);
|
|
@@ -144,8 +150,12 @@ export async function installCodexSuperpowers(verifySkills = false) {
|
|
|
144
150
|
if (result.code !== 0)
|
|
145
151
|
return { ok: false, error: result.stderr || result.stdout };
|
|
146
152
|
const installed = JSON.parse(result.stdout);
|
|
147
|
-
|
|
148
|
-
|
|
153
|
+
const versionConfirmed = /^\d+\.\d+\.\d+$/.test(plugin.version)
|
|
154
|
+
? (/^\d+\.\d+\.\d+$/.test(installed.version ?? '') &&
|
|
155
|
+
compareVersions(installed.version, plugin.version) >= 0) ||
|
|
156
|
+
/^[a-f0-9]{8,64}$/.test(installed.version ?? '')
|
|
157
|
+
: installed.version === plugin.version;
|
|
158
|
+
if (installed.pluginId !== plugin.pluginId || !versionConfirmed) {
|
|
149
159
|
return { ok: false, error: `Superpowers installation did not confirm ${plugin.pluginId}@${plugin.version}` };
|
|
150
160
|
}
|
|
151
161
|
return verifiedCodexSuperpowers(verifySkills);
|
package/dist/domains/deps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deps.js","sourceRoot":"","sources":["../../src/domains/deps.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deps.js","sourceRoot":"","sources":["../../src/domains/deps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
export function auditDocs(root) {
|
|
4
|
+
const files = [];
|
|
5
|
+
const visit = (dir) => {
|
|
6
|
+
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
|
|
7
|
+
if (entry.name === ".git" || entry.name === "node_modules" || entry.name.startsWith("."))
|
|
8
|
+
continue;
|
|
9
|
+
const full = path.join(dir, entry.name);
|
|
10
|
+
if (entry.isDirectory())
|
|
11
|
+
visit(full);
|
|
12
|
+
else if (entry.name.endsWith(".md"))
|
|
13
|
+
files.push(full);
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
visit(root);
|
|
17
|
+
const corpus = files.map((file) => fs.readFileSync(file, "utf8")).join("\n");
|
|
18
|
+
return files.map((file) => {
|
|
19
|
+
const content = fs.readFileSync(file, "utf8");
|
|
20
|
+
const relative = path.relative(root, file).split(path.sep).join("/");
|
|
21
|
+
const anchors = [...content.matchAll(/`([^`]+\.(?:ts|tsx|js|mjs|py|java|xml))`/g)].map((match) => match[1]);
|
|
22
|
+
const deadAnchors = anchors.filter((anchor) => !fs.existsSync(path.join(root, anchor)));
|
|
23
|
+
const inboundLinks = Math.max(0, (corpus.match(new RegExp(relative.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), "g")) ?? []).length - 1);
|
|
24
|
+
const ageDays = (() => { try {
|
|
25
|
+
return Math.floor((Date.now() - fs.statSync(file).mtimeMs) / 86400000);
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return null;
|
|
29
|
+
} })();
|
|
30
|
+
const state = deadAnchors.length >= Math.max(2, anchors.length) && anchors.length > 0 ? "obsolete" : content.trim().length < 80 ? "trivial" : "current";
|
|
31
|
+
return { path: relative, ageDays, deadAnchors, inboundLinks, state };
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=docs-audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs-audit.js","sourceRoot":"","sources":["../../src/domains/docs-audit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import os from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { HOOK_MAP } from "./hook.js";
|
|
5
|
+
const LEGACY_AKE_NAMES = new Set([
|
|
6
|
+
"auto-sync.sh", "usage-collector.sh", "block-no-verify.sh",
|
|
7
|
+
"commit-quality.sh", "auto-tmux-dev.sh", "mybatis-injection-check.sh",
|
|
8
|
+
"java-edit-accumulator.sh", "loop-detection.sh", "console-warn.sh",
|
|
9
|
+
"stop-compile-check.sh", "stop-quality-gate.sh", "circuit-breaker.sh",
|
|
10
|
+
"session-reflection.sh", "java-compile-check.sh", "config-protection.sh",
|
|
11
|
+
]);
|
|
12
|
+
export function hookConfigPath(root, host) {
|
|
13
|
+
return path.join(root, host === "codex" ? ".codex/hooks.json" : ".claude/settings.json");
|
|
14
|
+
}
|
|
15
|
+
function hasAkeProvenance(root) {
|
|
16
|
+
return [
|
|
17
|
+
".claude/.ake-install-state.json",
|
|
18
|
+
".claude/ake-harness-version.txt",
|
|
19
|
+
".ake/manifest.json",
|
|
20
|
+
].some((relative) => fs.existsSync(path.join(root, relative)));
|
|
21
|
+
}
|
|
22
|
+
function classify(command, provenance) {
|
|
23
|
+
const normalized = command.replaceAll("\\", "/");
|
|
24
|
+
if (/(^|\/)superflow-[^\s/'";|]+\.(sh|py|mjs|js)(?=\s|$|['";|])/.test(normalized) ||
|
|
25
|
+
/(^|\/)sdd-[^\s/'";|]+\.(sh|py|mjs|js)(?=\s|$|['";|])/.test(normalized)) {
|
|
26
|
+
return { classification: "legacy-superflow", reason: "命中 Superflow/SDD 管理脚本名" };
|
|
27
|
+
}
|
|
28
|
+
const match = normalized.match(/(?:^|\s)(?:bash|sh|python3?|node)\s+scripts\/hooks\/([^\s/'";|]+)/);
|
|
29
|
+
if (provenance && match && LEGACY_AKE_NAMES.has(match[1])) {
|
|
30
|
+
return { classification: "legacy-ake", reason: "项目有 ake 安装标记,且命中已知旧 Hook 名称" };
|
|
31
|
+
}
|
|
32
|
+
return { classification: "custom", reason: "来源不确定或属于项目自定义 Hook,保留" };
|
|
33
|
+
}
|
|
34
|
+
function readConfig(root, host) {
|
|
35
|
+
const file = hookConfigPath(root, host);
|
|
36
|
+
if (!fs.existsSync(file))
|
|
37
|
+
return { file, data: null };
|
|
38
|
+
try {
|
|
39
|
+
if (fs.lstatSync(file).isSymbolicLink()) {
|
|
40
|
+
return { file, data: null, error: "Hook 配置是符号链接;拒绝自动迁移" };
|
|
41
|
+
}
|
|
42
|
+
const data = JSON.parse(fs.readFileSync(file, "utf8"));
|
|
43
|
+
if (!data || typeof data !== "object" || Array.isArray(data) ||
|
|
44
|
+
(data.hooks !== undefined && (typeof data.hooks !== "object" || Array.isArray(data.hooks)))) {
|
|
45
|
+
return { file, data: null, error: "Hook 配置结构无效" };
|
|
46
|
+
}
|
|
47
|
+
return { file, data };
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
return { file, data: null, error: `Hook 配置无法解析:${error.message}` };
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export function auditProjectHooks(root, host) {
|
|
54
|
+
const provenance = hasAkeProvenance(root);
|
|
55
|
+
const { file, data, error } = readConfig(root, host);
|
|
56
|
+
const findings = [];
|
|
57
|
+
if (data) {
|
|
58
|
+
for (const [event, entries] of Object.entries(data.hooks ?? {})) {
|
|
59
|
+
if (!Array.isArray(entries))
|
|
60
|
+
continue;
|
|
61
|
+
for (const entry of entries) {
|
|
62
|
+
if (!Array.isArray(entry?.hooks))
|
|
63
|
+
continue;
|
|
64
|
+
for (const hook of entry.hooks) {
|
|
65
|
+
if (typeof hook?.command !== "string")
|
|
66
|
+
continue;
|
|
67
|
+
findings.push({ event, matcher: typeof entry.matcher === "string" ? entry.matcher : null,
|
|
68
|
+
command: hook.command, ...classify(hook.command, provenance) });
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return { host, file, provenance, findings,
|
|
74
|
+
globalReplacement: hasGlobalReplacement(host),
|
|
75
|
+
autoMigratable: findings.filter((item) => item.classification !== "custom").length,
|
|
76
|
+
retained: findings.filter((item) => item.classification === "custom").length,
|
|
77
|
+
...(error ? { error } : {}) };
|
|
78
|
+
}
|
|
79
|
+
function hasGlobalReplacement(host) {
|
|
80
|
+
const { data } = readConfig(os.homedir(), host);
|
|
81
|
+
const commands = Object.values(data?.hooks ?? {}).flatMap((entries) => Array.isArray(entries) ? entries.flatMap((entry) => Array.isArray(entry?.hooks) ? entry.hooks.map((hook) => hook?.command) : []) : []);
|
|
82
|
+
const expected = Object.keys(HOOK_MAP).filter((name) => !name.startsWith(host === "codex" ? "claude-auto-" : "codex-auto-"));
|
|
83
|
+
return expected.every((name) => commands.some((command) => typeof command === "string" && command.endsWith(`/${name}`) &&
|
|
84
|
+
fs.existsSync(command)));
|
|
85
|
+
}
|
|
86
|
+
export function migrateProjectHooks(root, host, options = {}) {
|
|
87
|
+
if (path.resolve(root) === path.resolve(os.homedir())) {
|
|
88
|
+
return { ...auditProjectHooks(root, host), changed: false,
|
|
89
|
+
error: "拒绝把全局配置当作项目 Hook 迁移" };
|
|
90
|
+
}
|
|
91
|
+
const audit = auditProjectHooks(root, host);
|
|
92
|
+
if (audit.error || audit.autoMigratable === 0)
|
|
93
|
+
return { ...audit, changed: false };
|
|
94
|
+
if (!(options.replacementAvailable ?? audit.globalReplacement)) {
|
|
95
|
+
return { ...audit, changed: false,
|
|
96
|
+
error: "未发现当前全局 Superflow Hook;拒绝移除项目旧护栏" };
|
|
97
|
+
}
|
|
98
|
+
const { file, data, error } = readConfig(root, host);
|
|
99
|
+
if (error || !data)
|
|
100
|
+
return { ...audit, changed: false, error: error ?? "配置不存在" };
|
|
101
|
+
for (const [event, entries] of Object.entries(data.hooks ?? {})) {
|
|
102
|
+
if (!Array.isArray(entries))
|
|
103
|
+
continue;
|
|
104
|
+
const kept = entries.map((entry) => {
|
|
105
|
+
if (!Array.isArray(entry?.hooks))
|
|
106
|
+
return entry;
|
|
107
|
+
return { ...entry, hooks: entry.hooks.filter((hook) => typeof hook?.command !== "string" || classify(hook.command, audit.provenance).classification === "custom") };
|
|
108
|
+
}).filter((entry) => !Array.isArray(entry?.hooks) || entry.hooks.length > 0);
|
|
109
|
+
if (kept.length)
|
|
110
|
+
data.hooks[event] = kept;
|
|
111
|
+
else
|
|
112
|
+
delete data.hooks[event];
|
|
113
|
+
}
|
|
114
|
+
const backup = `${file}.superflow-migrate-${Date.now()}.bak`;
|
|
115
|
+
fs.copyFileSync(file, backup, fs.constants.COPYFILE_EXCL);
|
|
116
|
+
const temporary = `${file}.superflow-migrate-${process.pid}.tmp`;
|
|
117
|
+
try {
|
|
118
|
+
fs.writeFileSync(temporary, JSON.stringify(data, null, 2) + "\n", { flag: "wx" });
|
|
119
|
+
fs.renameSync(temporary, file);
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
fs.rmSync(temporary, { force: true });
|
|
123
|
+
throw error;
|
|
124
|
+
}
|
|
125
|
+
return { ...audit, changed: true, backup };
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=hook-migration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook-migration.js","sourceRoot":"","sources":["../../src/domains/hook-migration.ts"],"names":[],"mappings":"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"}
|
package/dist/domains/hook.js
CHANGED
|
@@ -24,8 +24,17 @@ export const HOOK_MAP = {
|
|
|
24
24
|
"superflow-dependency-update-hook.sh": { event: "UserPromptSubmit" },
|
|
25
25
|
"superflow-sql-sync-hook.py": {
|
|
26
26
|
event: "PreToolUse",
|
|
27
|
-
matcher: "Edit|Write|NotebookEdit",
|
|
27
|
+
matcher: "Edit|Write|MultiEdit|apply_patch|NotebookEdit",
|
|
28
|
+
},
|
|
29
|
+
"superflow-java-build-hook.py": {
|
|
30
|
+
event: "PostToolUse",
|
|
31
|
+
matcher: "Edit|Write|MultiEdit|apply_patch",
|
|
28
32
|
},
|
|
33
|
+
"superflow-java-stop-hook.sh": { event: "Stop" },
|
|
34
|
+
"superflow-loop-observer.py": { event: "PostToolUse" },
|
|
35
|
+
"superflow-loop-failure-hook.sh": { event: "PostToolUseFailure" },
|
|
36
|
+
"superflow-loop-end-hook.sh": { event: "SessionEnd" },
|
|
37
|
+
"superflow-doc-placement-hook.py": { event: "PreToolUse", matcher: "Edit|Write|MultiEdit|apply_patch" },
|
|
29
38
|
"superflow-delivery-check.sh": { event: "PreToolUse", matcher: "Bash" },
|
|
30
39
|
"superflow-integration-evidence-hook.sh": {
|
|
31
40
|
event: "PreToolUse",
|
|
@@ -149,12 +158,16 @@ export function registerHook(settingsFile, scriptName, commandPath, options = {}
|
|
|
149
158
|
return (entry.hooks?.some((h) => h.command === commandPath) && matcherMatches);
|
|
150
159
|
});
|
|
151
160
|
if (!exists) {
|
|
161
|
+
// Codex clamps SessionEnd/Interrupt hooks to 3 seconds. Writing the
|
|
162
|
+
// supported value avoids a warning on every new session and makes the
|
|
163
|
+
// installed contract match the host's actual limit.
|
|
164
|
+
const timeout = finalEvent === "SessionEnd" ? 3 : options.timeout ?? 120;
|
|
152
165
|
const entry = {
|
|
153
166
|
hooks: [
|
|
154
167
|
{
|
|
155
168
|
type: "command",
|
|
156
169
|
command: commandPath,
|
|
157
|
-
timeout
|
|
170
|
+
timeout,
|
|
158
171
|
},
|
|
159
172
|
],
|
|
160
173
|
};
|
|
@@ -165,4 +178,65 @@ export function registerHook(settingsFile, scriptName, commandPath, options = {}
|
|
|
165
178
|
// 4. 保留所有现有 key
|
|
166
179
|
writeFileSync(settingsFile, JSON.stringify(settings, null, 2), "utf-8");
|
|
167
180
|
}
|
|
181
|
+
/** Reconcile all managed hooks in one write; identical definitions are a no-op. */
|
|
182
|
+
export function syncManagedHooks(settingsFile, scriptsDir, scriptNames) {
|
|
183
|
+
const original = existsSync(settingsFile)
|
|
184
|
+
? readFileSync(settingsFile, "utf8") : "{}";
|
|
185
|
+
const settings = JSON.parse(original);
|
|
186
|
+
if (!settings || typeof settings !== "object" || Array.isArray(settings)) {
|
|
187
|
+
throw new Error(`Invalid hook settings: ${settingsFile}`);
|
|
188
|
+
}
|
|
189
|
+
const hooks = settings.hooks && typeof settings.hooks === "object"
|
|
190
|
+
? settings.hooks : {};
|
|
191
|
+
let removed = 0;
|
|
192
|
+
for (const event of Object.keys(hooks)) {
|
|
193
|
+
if (!Array.isArray(hooks[event]))
|
|
194
|
+
continue;
|
|
195
|
+
const kept = hooks[event].flatMap((entry) => {
|
|
196
|
+
if (!Array.isArray(entry?.hooks))
|
|
197
|
+
return [entry];
|
|
198
|
+
const remaining = entry.hooks.filter((item) => {
|
|
199
|
+
const managed = isSuperflowManagedHook(item?.command);
|
|
200
|
+
if (managed)
|
|
201
|
+
removed += 1;
|
|
202
|
+
return !managed;
|
|
203
|
+
});
|
|
204
|
+
return remaining.length ? [{ ...entry, hooks: remaining }] : [];
|
|
205
|
+
});
|
|
206
|
+
if (kept.length)
|
|
207
|
+
hooks[event] = kept;
|
|
208
|
+
else
|
|
209
|
+
delete hooks[event];
|
|
210
|
+
}
|
|
211
|
+
let registered = 0;
|
|
212
|
+
for (const script of scriptNames) {
|
|
213
|
+
const map = HOOK_MAP[script];
|
|
214
|
+
if (!map)
|
|
215
|
+
throw new Error(`Unknown hook script: ${script}`);
|
|
216
|
+
const command = path.join(scriptsDir, script);
|
|
217
|
+
const matchers = script === "superflow-sql-sync-hook.py"
|
|
218
|
+
? [map.matcher, "Bash|Shell|exec_command"] : [map.matcher];
|
|
219
|
+
for (const matcher of matchers) {
|
|
220
|
+
const entry = {
|
|
221
|
+
hooks: [{ type: "command", command,
|
|
222
|
+
timeout: map.event === "SessionEnd" ? 3
|
|
223
|
+
: script === "superflow-dependency-update-hook.sh" ? 300 : 120 }],
|
|
224
|
+
};
|
|
225
|
+
if (matcher !== undefined)
|
|
226
|
+
entry.matcher = matcher;
|
|
227
|
+
(hooks[map.event] ??= []).push(entry);
|
|
228
|
+
registered += 1;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
settings.hooks = hooks;
|
|
232
|
+
const next = JSON.stringify(settings, null, 2);
|
|
233
|
+
if (original.trim() === next.trim())
|
|
234
|
+
return { changed: false, removed, registered };
|
|
235
|
+
mkdirSync(path.dirname(settingsFile), { recursive: true });
|
|
236
|
+
if (existsSync(settingsFile)) {
|
|
237
|
+
writeFileSync(`${settingsFile}.sdd-backup-${Date.now()}`, original);
|
|
238
|
+
}
|
|
239
|
+
writeFileSync(settingsFile, next + "\n");
|
|
240
|
+
return { changed: true, removed, registered };
|
|
241
|
+
}
|
|
168
242
|
//# sourceMappingURL=hook.js.map
|
package/dist/domains/hook.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/domains/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,IAAI,MAAM,MAAM,CAAC;AAMxB,MAAM,CAAC,MAAM,QAAQ,GAAiC;IACpD,4BAA4B,EAAE;QAC5B,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,iBAAiB;KAC3B;IACD,2BAA2B,EAAE;QAC3B,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,iBAAiB;KAC3B;IACD,yBAAyB,EAAE;QACzB,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,yBAAyB;KACnC;IACD,2BAA2B,EAAE;QAC3B,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,yBAAyB;KACnC;IACD,6BAA6B,EAAE;QAC7B,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,yBAAyB;KACnC;IACD,qCAAqC,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACpE,4BAA4B,EAAE;QAC5B,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/domains/hook.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { resolveManagedInput } from "./input.js";
|
|
|
7
7
|
import { managedRunDir } from "./paths.js";
|
|
8
8
|
import { ensureManagedService } from "./service.js";
|
|
9
9
|
import { effectiveExecutorInvocations, effectiveTotalAgentInvocations, initManagedRunState, } from "./state.js";
|
|
10
|
-
import { createManagedTaskFiles, loadManagedRun, loadManagedTask, loadRegistry, saveManagedRun, saveManagedTask, upsertRegistryEntry, writeJsonAtomic, } from "./storage.js";
|
|
10
|
+
import { appendTaskReport, createManagedTaskFiles, loadManagedRun, loadManagedTask, loadRegistry, saveManagedRun, saveManagedTask, upsertRegistryEntry, writeJsonAtomic, } from "./storage.js";
|
|
11
11
|
import { managedText } from "./i18n.js";
|
|
12
12
|
import { submitExternalHostReviewResult } from "./host-review.js";
|
|
13
13
|
import { assertCodingReadyForPrompt } from "../sdd-readiness.js";
|
|
@@ -15,7 +15,7 @@ import { clearManagedControlSignal, readManagedControlSignal, requestManagedPaus
|
|
|
15
15
|
import { evaluateCompletion } from "./completion-policy.js";
|
|
16
16
|
import { stopProcessTree } from "../../platform/process-tree.js";
|
|
17
17
|
import { assertManagedAgentPair } from "./pair-admission.js";
|
|
18
|
-
import { runManagedTask } from "./runner.js";
|
|
18
|
+
import { runManagedTask, validateReviewResult } from "./runner.js";
|
|
19
19
|
import { assertManagedAcceptanceContractForStart } from "./acceptance-contract.js";
|
|
20
20
|
import { resolveClaudeExecutorConfig, resolveCodexExecutorConfig, } from "../../platform/codex-config.js";
|
|
21
21
|
export function submitHumanDirectedDelivery(taskId, delivery, env = process.env) {
|
|
@@ -39,6 +39,60 @@ export function submitHumanDirectedDelivery(taskId, delivery, env = process.env)
|
|
|
39
39
|
});
|
|
40
40
|
return runManagedTask(contract.projectRoot, contract.taskId, new ManualDeliveryInvoker(delivery), env);
|
|
41
41
|
}
|
|
42
|
+
/** Reconcile a human-directed Host review without dispatching an Agent. */
|
|
43
|
+
export async function resumeHumanDirectedAfterReview(taskId, env = process.env) {
|
|
44
|
+
const { contract, state } = loadManagedContext(taskId, env);
|
|
45
|
+
if (contract.executionMode !== "human_directed" ||
|
|
46
|
+
state.status !== "queued" ||
|
|
47
|
+
state.currentStep !== "external_review_received" ||
|
|
48
|
+
!state.lastReviewResult) {
|
|
49
|
+
throw new Error("当前任务没有可恢复的人工执行 Host 评审");
|
|
50
|
+
}
|
|
51
|
+
const review = JSON.parse(readFileSync(state.lastReviewResult, "utf8"));
|
|
52
|
+
validateReviewResult(review, contract.language);
|
|
53
|
+
if (review.result !== "needs_fix") {
|
|
54
|
+
return runManagedTask(contract.projectRoot, taskId, new NoFurtherManualInvocation(), env);
|
|
55
|
+
}
|
|
56
|
+
state.status = "waiting_for_human";
|
|
57
|
+
state.currentStep = "waiting_for_manual_delivery";
|
|
58
|
+
state.blocker = review.summary;
|
|
59
|
+
state.updatedAt = new Date().toISOString();
|
|
60
|
+
contract.status = state.status;
|
|
61
|
+
saveManagedRun(state);
|
|
62
|
+
saveManagedTask(contract);
|
|
63
|
+
upsertRegistryEntry({
|
|
64
|
+
taskId,
|
|
65
|
+
projectRoot: contract.projectRoot,
|
|
66
|
+
status: state.status,
|
|
67
|
+
profile: contract.profile,
|
|
68
|
+
language: contract.language,
|
|
69
|
+
activeRunId: state.runId,
|
|
70
|
+
createdAt: contract.createdAt,
|
|
71
|
+
updatedAt: state.updatedAt,
|
|
72
|
+
servicePid: null,
|
|
73
|
+
}, env);
|
|
74
|
+
appendTaskReport(state, `\n## Host review R${state.reviewRound}\n\n${review.summary}\n`);
|
|
75
|
+
appendManagedEvent(state, {
|
|
76
|
+
eventType: "review.ended",
|
|
77
|
+
actor: contract.supervisorAgent,
|
|
78
|
+
role: "supervisor",
|
|
79
|
+
summary: review.summary,
|
|
80
|
+
evidencePaths: [state.lastReviewResult],
|
|
81
|
+
});
|
|
82
|
+
appendManagedEvent(state, {
|
|
83
|
+
eventType: "review.manual_rework_requested",
|
|
84
|
+
actor: contract.supervisorAgent,
|
|
85
|
+
role: "supervisor",
|
|
86
|
+
summary: review.summary,
|
|
87
|
+
evidencePaths: [state.lastReviewResult],
|
|
88
|
+
});
|
|
89
|
+
return state;
|
|
90
|
+
}
|
|
91
|
+
class NoFurtherManualInvocation {
|
|
92
|
+
async invoke(_invocation) {
|
|
93
|
+
throw new Error("人工执行任务不能在 Host 评审后自动调用研发 Agent");
|
|
94
|
+
}
|
|
95
|
+
}
|
|
42
96
|
class ManualDeliveryInvoker {
|
|
43
97
|
delivery;
|
|
44
98
|
constructor(delivery) {
|