opencode-swarm 7.142.1 → 7.143.1
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/.opencode/skills/execute/SKILL.md +1 -1
- package/.opencode/skills/loop/SKILL.md +4 -2
- package/.opencode/skills/phase-wrap/SKILL.md +2 -2
- package/dist/cli/ast-diff-ypptrcan.js +422 -0
- package/dist/cli/{config-doctor-2a3qmp5p.js → config-doctor-ajq3sts3.js} +4 -4
- package/dist/cli/{core-h9z49ant.js → core-0jn7sk7t.js} +4 -4
- package/dist/cli/curation-policy-pkb2eeb1.js +1 -1
- package/dist/cli/{curator-drift-49p3jnte.js → curator-drift-2jbjv03a.js} +6 -6
- package/dist/cli/{curator-mtz194wy.js → curator-ff53rwz5.js} +36 -35
- package/dist/cli/{curator-llm-factory-9fr243kj.js → curator-llm-factory-2mz7fgd1.js} +36 -35
- package/dist/cli/{dispatch-rd10kdk1.js → dispatch-1y1rnv1h.js} +3 -3
- package/dist/cli/{evidence-summary-service-fgckng0a.js → evidence-summary-service-08zcq836.js} +16 -16
- package/dist/cli/{gate-evidence-ppna7em4.js → gate-evidence-2r7n4qjv.js} +9 -9
- package/dist/cli/{guardrail-explain-ejdvvnjz.js → guardrail-explain-cm5je07b.js} +37 -36
- package/dist/cli/{guardrail-log-adjs25ye.js → guardrail-log-jf4430p5.js} +6 -6
- package/dist/cli/{hive-promoter-jejme31e.js → hive-promoter-738bf1fj.js} +36 -35
- package/dist/cli/{index-2mb5y2w1.js → index-0kqs2fbm.js} +15 -15
- package/dist/cli/{index-ktazgjqw.js → index-254xf5y6.js} +2 -2
- package/dist/cli/{index-9wmx9ca8.js → index-3fg8kx7n.js} +4 -4
- package/dist/cli/{runtime-ykafcwc6.js → index-5n69863d.js} +2 -10
- package/dist/cli/{index-rthq1a6w.js → index-7317fvce.js} +5 -5
- package/dist/cli/index-7sy3aa9m.js +115 -0
- package/dist/cli/{index-7c4bxgdh.js → index-8aabbfhv.js} +5 -5
- package/dist/cli/{index-k1xsjzm3.js → index-91dz0zct.js} +10 -10
- package/dist/cli/{index-bb4pcn58.js → index-a5rky7fv.js} +2 -2
- package/dist/cli/{index-gtkk5rx7.js → index-awzwmx8p.js} +32 -32
- package/dist/cli/{index-ebwznsfy.js → index-b6e016tv.js} +1 -1
- package/dist/cli/{index-9kf3mj08.js → index-cfwdm1dx.js} +1 -1
- package/dist/cli/{index-vy11zjvh.js → index-crt7xw29.js} +5 -5
- package/dist/cli/{index-kbshtwha.js → index-cz9tc0h8.js} +5 -5
- package/dist/cli/{index-82m5kwtd.js → index-gdd4jt6b.js} +4 -4
- package/dist/cli/{index-qwm6vdyv.js → index-k3cxyk66.js} +1 -1
- package/dist/cli/{index-we279je2.js → index-mpw32szm.js} +1 -1
- package/dist/cli/{index-vefjxxmb.js → index-n2jk8ajv.js} +1 -1
- package/dist/cli/{index-bkkxxwcd.js → index-n48cwf1a.js} +7 -7
- package/dist/cli/{index-myav90y6.js → index-q68a8h37.js} +6 -6
- package/dist/cli/{index-h7ye3bzp.js → index-q7jv0c8e.js} +343 -357
- package/dist/cli/{index-ajfa2wmj.js → index-qmfzfh7m.js} +9 -9
- package/dist/cli/{index-k46me75h.js → index-rn0eq85g.js} +1 -1
- package/dist/cli/{index-j02ez59y.js → index-srd87kxc.js} +8 -8
- package/dist/cli/{index-0r4qs243.js → index-wnj1d1es.js} +43 -42
- package/dist/cli/{index-xfhe29z3.js → index-x10a9cz6.js} +5 -5
- package/dist/cli/{index-sdqtecsd.js → index-zgq25ze6.js} +5 -5
- package/dist/cli/{index-xah70t2t.js → index-zky3vt90.js} +4 -4
- package/dist/cli/index.js +45 -41
- package/dist/cli/{knowledge-escalator-0b80ryka.js → knowledge-escalator-9mdajq4s.js} +15 -15
- package/dist/cli/{knowledge-events-8x2wt562.js → knowledge-events-pz58s2r1.js} +13 -13
- package/dist/cli/knowledge-link-fn5j3r4q.js +1 -1
- package/dist/cli/{knowledge-store-d0xj6wht.js → knowledge-store-sz8vat89.js} +3 -3
- package/dist/cli/{knowledge-validator-ewfj679a.js → knowledge-validator-w5vmvf0a.js} +4 -4
- package/dist/cli/{pending-delegations-0hb97ps1.js → pending-delegations-b3pt3w5w.js} +5 -5
- package/dist/cli/{pr-subscriptions-b63t252j.js → pr-subscriptions-jyav582d.js} +5 -5
- package/dist/cli/{runner-hrg7h2h4.js → runner-pde6b5sx.js} +2 -2
- package/dist/cli/runtime-te94z1zb.js +23 -0
- package/dist/cli/{scan-cursor-hfyz7zpw.js → scan-cursor-p54xsx41.js} +4 -4
- package/dist/cli/{schema-ney3c685.js → schema-p74hnrfz.js} +1 -1
- package/dist/cli/{scope-persistence-dbfgs7gh.js → scope-persistence-1fc2ncsk.js} +9 -9
- package/dist/cli/semantic-classifier-ygqk0me1.js +147 -0
- package/dist/cli/{skill-generator-p651jex5.js → skill-generator-yv46bt1a.js} +16 -16
- package/dist/cli/{worktree-collision-ownership-ymdxetnn.js → worktree-collision-ownership-bfz3drxm.js} +6 -6
- package/dist/cli/{worktree-isolation-513vx61s.js → worktree-isolation-qfgc3vma.js} +38 -37
- package/dist/cli/{worktree-provisioning-owner-sjh7te1h.js → worktree-provisioning-owner-g24xd417.js} +4 -4
- package/dist/commands/registry.d.ts +1 -1
- package/dist/config/constants.d.ts +2 -2
- package/dist/hooks/delegation-gate.d.ts +84 -2
- package/dist/index.js +393 -380
- package/dist/parallel/review-router.d.ts +16 -0
- package/dist/parallel/tier3-classifier.d.ts +11 -0
- package/dist/utils/patch-dedent.d.ts +33 -0
- package/dist/workflow/coder-settlement.d.ts +30 -0
- package/dist/workflow/workflow-wal-schema.d.ts +2 -0
- package/package.json +1 -1
- package/dist/cli/{index-y9h2vqf6.js → index-4q9vfav6.js} +3 -3
- package/dist/cli/{index-ee3x66a5.js → index-z6xqpmqg.js} +3 -3
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import {
|
|
3
|
+
_internals,
|
|
4
|
+
clearParserCache,
|
|
5
|
+
getInitializedLanguages,
|
|
6
|
+
getSupportedLanguages,
|
|
7
|
+
isGrammarAvailable,
|
|
8
|
+
loadGrammar,
|
|
9
|
+
parserCache,
|
|
10
|
+
resolveGrammarsDir
|
|
11
|
+
} from "./index-5n69863d.js";
|
|
12
|
+
import"./index-4905hd2m.js";
|
|
13
|
+
import"./index-a76rekgs.js";
|
|
14
|
+
export {
|
|
15
|
+
resolveGrammarsDir,
|
|
16
|
+
parserCache,
|
|
17
|
+
loadGrammar,
|
|
18
|
+
isGrammarAvailable,
|
|
19
|
+
getSupportedLanguages,
|
|
20
|
+
getInitializedLanguages,
|
|
21
|
+
clearParserCache,
|
|
22
|
+
_internals
|
|
23
|
+
};
|
|
@@ -4,19 +4,19 @@ import {
|
|
|
4
4
|
alreadyCuratedThisGeneration,
|
|
5
5
|
claimNextScanBatch,
|
|
6
6
|
getScanStatus
|
|
7
|
-
} from "./index-
|
|
8
|
-
import"./index-
|
|
7
|
+
} from "./index-crt7xw29.js";
|
|
8
|
+
import"./index-srd87kxc.js";
|
|
9
9
|
import"./index-ae75rja9.js";
|
|
10
10
|
import"./index-w7x7qxz2.js";
|
|
11
11
|
import"./index-erfnw81g.js";
|
|
12
|
+
import"./index-bk5tah7q.js";
|
|
12
13
|
import"./index-ed5ykebp.js";
|
|
13
14
|
import"./index-k31en0ja.js";
|
|
14
15
|
import"./index-7g4c7s5r.js";
|
|
15
16
|
import"./index-s2rcz51a.js";
|
|
17
|
+
import"./index-bpmtbmy9.js";
|
|
16
18
|
import"./index-4nt52yr9.js";
|
|
17
19
|
import"./index-zgwm4ryv.js";
|
|
18
|
-
import"./index-bk5tah7q.js";
|
|
19
|
-
import"./index-bpmtbmy9.js";
|
|
20
20
|
import"./index-a76rekgs.js";
|
|
21
21
|
export {
|
|
22
22
|
getScanStatus,
|
|
@@ -23,21 +23,21 @@ import {
|
|
|
23
23
|
tombstoneScopeBinding,
|
|
24
24
|
writeScopeBindingToDisk,
|
|
25
25
|
writeScopeToDisk
|
|
26
|
-
} from "./index-
|
|
27
|
-
import"./index-
|
|
26
|
+
} from "./index-3fg8kx7n.js";
|
|
27
|
+
import"./index-q68a8h37.js";
|
|
28
28
|
import"./index-556ja8an.js";
|
|
29
|
-
import"./index-
|
|
30
|
-
import"./index-
|
|
31
|
-
import"./index-s2rcz51a.js";
|
|
32
|
-
import"./index-4nt52yr9.js";
|
|
33
|
-
import"./index-sdqtecsd.js";
|
|
29
|
+
import"./index-zgq25ze6.js";
|
|
30
|
+
import"./index-mpw32szm.js";
|
|
34
31
|
import"./index-4rhhvd1a.js";
|
|
35
|
-
import"./index-zgwm4ryv.js";
|
|
36
|
-
import"./index-we279je2.js";
|
|
37
32
|
import"./index-jqsfsqbx.js";
|
|
38
33
|
import"./index-zjygnfay.js";
|
|
39
34
|
import"./index-bk5tah7q.js";
|
|
35
|
+
import"./index-k31en0ja.js";
|
|
36
|
+
import"./index-7g4c7s5r.js";
|
|
37
|
+
import"./index-s2rcz51a.js";
|
|
40
38
|
import"./index-bpmtbmy9.js";
|
|
39
|
+
import"./index-4nt52yr9.js";
|
|
40
|
+
import"./index-zgwm4ryv.js";
|
|
41
41
|
import"./index-a76rekgs.js";
|
|
42
42
|
export {
|
|
43
43
|
writeScopeToDisk,
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import"./index-a76rekgs.js";
|
|
3
|
+
|
|
4
|
+
// src/diff/semantic-classifier.ts
|
|
5
|
+
var GUARD_KEYWORDS = [
|
|
6
|
+
"guard",
|
|
7
|
+
"check",
|
|
8
|
+
"validate",
|
|
9
|
+
"verify",
|
|
10
|
+
"ensure",
|
|
11
|
+
"assert",
|
|
12
|
+
"require"
|
|
13
|
+
];
|
|
14
|
+
function isGuardKeyword(name) {
|
|
15
|
+
return GUARD_KEYWORDS.some((keyword) => {
|
|
16
|
+
const ciKeyword = keyword.split("").map((c) => `[${c.toLowerCase()}${c.toUpperCase()}]`).join("");
|
|
17
|
+
const re = new RegExp(`(?<![a-z])${ciKeyword}(?![a-z])`);
|
|
18
|
+
return re.test(name);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function isExportedFunction(name, allChanges) {
|
|
22
|
+
return allChanges.some((c) => c.name === name && c.category === "export");
|
|
23
|
+
}
|
|
24
|
+
function classifyChange(change, filePath, allChanges) {
|
|
25
|
+
const base = {
|
|
26
|
+
filePath,
|
|
27
|
+
symbolName: change.name,
|
|
28
|
+
changeType: change.type,
|
|
29
|
+
lineStart: change.lineStart,
|
|
30
|
+
lineEnd: change.lineEnd,
|
|
31
|
+
signature: change.signature
|
|
32
|
+
};
|
|
33
|
+
if (change.type === "removed" && change.category === "function") {
|
|
34
|
+
if (isGuardKeyword(change.name)) {
|
|
35
|
+
return {
|
|
36
|
+
...base,
|
|
37
|
+
category: "GUARD_REMOVED",
|
|
38
|
+
riskLevel: "Critical",
|
|
39
|
+
description: `Guard function '${change.name}' was removed`
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
...base,
|
|
44
|
+
category: "DELETED_FUNCTION",
|
|
45
|
+
riskLevel: "High",
|
|
46
|
+
description: `Deleted function '${change.name}'`
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
if (change.type === "renamed") {
|
|
50
|
+
if (change.category === "function" && (isGuardKeyword(change.name) || isGuardKeyword(change.renamedFrom || ""))) {
|
|
51
|
+
return {
|
|
52
|
+
...base,
|
|
53
|
+
category: "GUARD_REMOVED",
|
|
54
|
+
riskLevel: "Critical",
|
|
55
|
+
description: `Guard function renamed from '${change.renamedFrom || "unknown"}' to '${change.name}'`,
|
|
56
|
+
renamedFrom: change.renamedFrom
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
...base,
|
|
61
|
+
category: "REFACTOR",
|
|
62
|
+
riskLevel: "Medium",
|
|
63
|
+
description: `${change.category} renamed from '${change.renamedFrom || "unknown"}' to '${change.name}'`,
|
|
64
|
+
renamedFrom: change.renamedFrom
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
if (change.type === "added" && change.category === "function") {
|
|
68
|
+
return {
|
|
69
|
+
...base,
|
|
70
|
+
category: "NEW_FUNCTION",
|
|
71
|
+
riskLevel: "Medium",
|
|
72
|
+
description: `New function '${change.name}' added`
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
if (change.type === "modified" && change.category === "function" && change.signature) {
|
|
76
|
+
return {
|
|
77
|
+
...base,
|
|
78
|
+
category: "SIGNATURE_CHANGE",
|
|
79
|
+
riskLevel: "Critical",
|
|
80
|
+
description: `Function signature changed for '${change.name}': ${change.signature}`
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
if (change.type === "modified") {
|
|
84
|
+
if (change.category === "export" || change.category === "type") {
|
|
85
|
+
return {
|
|
86
|
+
...base,
|
|
87
|
+
category: "API_CHANGE",
|
|
88
|
+
riskLevel: "Critical",
|
|
89
|
+
description: `API surface changed for '${change.name}' (${change.category})`
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
if (change.category === "function" && isExportedFunction(change.name, allChanges)) {
|
|
93
|
+
return {
|
|
94
|
+
...base,
|
|
95
|
+
category: "API_CHANGE",
|
|
96
|
+
riskLevel: "Critical",
|
|
97
|
+
description: `Exported function '${change.name}' was modified`
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
if (change.type === "modified" && change.category === "function") {
|
|
102
|
+
return {
|
|
103
|
+
...base,
|
|
104
|
+
category: "LOGIC_CHANGE",
|
|
105
|
+
riskLevel: "High",
|
|
106
|
+
description: `Function body logic changed for '${change.name}'`
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
if (change.type === "modified" && (change.category === "class" || change.category === "type" || change.category === "variable")) {
|
|
110
|
+
return {
|
|
111
|
+
...base,
|
|
112
|
+
category: "REFACTOR",
|
|
113
|
+
riskLevel: "Medium",
|
|
114
|
+
description: `${change.category} '${change.name}' was refactored`
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
if (change.category === "import") {
|
|
118
|
+
return {
|
|
119
|
+
...base,
|
|
120
|
+
category: "COSMETIC",
|
|
121
|
+
riskLevel: "Low",
|
|
122
|
+
description: `Import ${change.type} for '${change.name}'`
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
return {
|
|
126
|
+
...base,
|
|
127
|
+
category: "UNCLASSIFIED",
|
|
128
|
+
riskLevel: "Medium",
|
|
129
|
+
description: `Unclassified ${change.type} of ${change.category} '${change.name}'`
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
function classifyChanges(astDiffs, fileConsumers) {
|
|
133
|
+
const result = [];
|
|
134
|
+
for (const diff of astDiffs) {
|
|
135
|
+
for (const change of diff.changes) {
|
|
136
|
+
const classified = classifyChange(change, diff.filePath, diff.changes);
|
|
137
|
+
if (fileConsumers && diff.filePath in fileConsumers) {
|
|
138
|
+
classified.consumersCount = fileConsumers[diff.filePath];
|
|
139
|
+
}
|
|
140
|
+
result.push(classified);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return result;
|
|
144
|
+
}
|
|
145
|
+
export {
|
|
146
|
+
classifyChanges
|
|
147
|
+
};
|
|
@@ -33,33 +33,33 @@ import {
|
|
|
33
33
|
sanitizeSlug,
|
|
34
34
|
selectCandidateEntries,
|
|
35
35
|
writeEvalStub
|
|
36
|
-
} from "./index-
|
|
37
|
-
import"./index-
|
|
38
|
-
import"./index-
|
|
39
|
-
import"./index-
|
|
40
|
-
import"./index-
|
|
36
|
+
} from "./index-91dz0zct.js";
|
|
37
|
+
import"./index-qmfzfh7m.js";
|
|
38
|
+
import"./index-254xf5y6.js";
|
|
39
|
+
import"./index-gprxjmm7.js";
|
|
40
|
+
import"./index-n832052r.js";
|
|
41
|
+
import"./index-zgq25ze6.js";
|
|
42
|
+
import"./index-mpw32szm.js";
|
|
43
|
+
import"./index-rn0eq85g.js";
|
|
44
|
+
import"./index-4rhhvd1a.js";
|
|
45
|
+
import"./index-jqsfsqbx.js";
|
|
46
|
+
import"./index-z6xqpmqg.js";
|
|
47
|
+
import"./index-zjygnfay.js";
|
|
48
|
+
import"./index-cfwdm1dx.js";
|
|
41
49
|
import"./index-tq5s07ta.js";
|
|
42
50
|
import"./index-rtry5xyf.js";
|
|
43
|
-
import"./index-
|
|
51
|
+
import"./index-srd87kxc.js";
|
|
44
52
|
import"./index-ae75rja9.js";
|
|
45
53
|
import"./index-w7x7qxz2.js";
|
|
46
54
|
import"./index-erfnw81g.js";
|
|
55
|
+
import"./index-bk5tah7q.js";
|
|
47
56
|
import"./index-ed5ykebp.js";
|
|
48
|
-
import"./index-ktazgjqw.js";
|
|
49
|
-
import"./index-gprxjmm7.js";
|
|
50
|
-
import"./index-n832052r.js";
|
|
51
57
|
import"./index-k31en0ja.js";
|
|
52
58
|
import"./index-7g4c7s5r.js";
|
|
53
59
|
import"./index-s2rcz51a.js";
|
|
60
|
+
import"./index-bpmtbmy9.js";
|
|
54
61
|
import"./index-4nt52yr9.js";
|
|
55
|
-
import"./index-sdqtecsd.js";
|
|
56
|
-
import"./index-4rhhvd1a.js";
|
|
57
62
|
import"./index-zgwm4ryv.js";
|
|
58
|
-
import"./index-we279je2.js";
|
|
59
|
-
import"./index-jqsfsqbx.js";
|
|
60
|
-
import"./index-zjygnfay.js";
|
|
61
|
-
import"./index-bk5tah7q.js";
|
|
62
|
-
import"./index-bpmtbmy9.js";
|
|
63
63
|
import"./index-a76rekgs.js";
|
|
64
64
|
export {
|
|
65
65
|
writeEvalStub,
|
|
@@ -6,23 +6,23 @@ import {
|
|
|
6
6
|
WORKTREE_PROVISIONING_OWNER_LEASE_MS,
|
|
7
7
|
removeWorktreeProvisioningOwner,
|
|
8
8
|
scanWorktreeProvisioningOwnersForRecovery
|
|
9
|
-
} from "./index-
|
|
9
|
+
} from "./index-k3cxyk66.js";
|
|
10
10
|
import {
|
|
11
11
|
scanDelegationFallbacksForRecovery,
|
|
12
12
|
scanDelegationsForRecovery
|
|
13
|
-
} from "./index-
|
|
14
|
-
import"./index-
|
|
15
|
-
import"./index-
|
|
13
|
+
} from "./index-8aabbfhv.js";
|
|
14
|
+
import"./index-rn0eq85g.js";
|
|
15
|
+
import"./index-z6xqpmqg.js";
|
|
16
|
+
import"./index-zjygnfay.js";
|
|
16
17
|
import"./index-ed5ykebp.js";
|
|
17
18
|
import"./index-k31en0ja.js";
|
|
18
19
|
import"./index-7g4c7s5r.js";
|
|
19
20
|
import"./index-s2rcz51a.js";
|
|
21
|
+
import"./index-bpmtbmy9.js";
|
|
20
22
|
import {
|
|
21
23
|
bunSpawn
|
|
22
24
|
} from "./index-4nt52yr9.js";
|
|
23
25
|
import"./index-zgwm4ryv.js";
|
|
24
|
-
import"./index-zjygnfay.js";
|
|
25
|
-
import"./index-bpmtbmy9.js";
|
|
26
26
|
import"./index-a76rekgs.js";
|
|
27
27
|
|
|
28
28
|
// src/hooks/delegation-gate/worktree-collision-ownership.ts
|
|
@@ -20,62 +20,63 @@ import {
|
|
|
20
20
|
sanitizeWorktreeTaskId,
|
|
21
21
|
standardWorktreeByCallID,
|
|
22
22
|
standardWorktreeSerializationSessions
|
|
23
|
-
} from "./index-
|
|
24
|
-
import"./index-
|
|
25
|
-
import"./index-
|
|
26
|
-
import"./index-
|
|
27
|
-
import"./index-rthq1a6w.js";
|
|
28
|
-
import"./index-c8s9a3zh.js";
|
|
29
|
-
import"./index-xah70t2t.js";
|
|
30
|
-
import"./index-gtkk5rx7.js";
|
|
23
|
+
} from "./index-q7jv0c8e.js";
|
|
24
|
+
import"./index-7317fvce.js";
|
|
25
|
+
import"./index-zky3vt90.js";
|
|
26
|
+
import"./index-awzwmx8p.js";
|
|
31
27
|
import"./index-134d35c1.js";
|
|
28
|
+
import"./index-b6e016tv.js";
|
|
29
|
+
import"./index-4q9vfav6.js";
|
|
32
30
|
import"./index-k92cagmt.js";
|
|
33
31
|
import"./index-y8552snf.js";
|
|
32
|
+
import"./index-crt7xw29.js";
|
|
33
|
+
import"./index-xmzmeknp.js";
|
|
34
|
+
import"./index-c8s9a3zh.js";
|
|
34
35
|
import"./index-9ss2m4rs.js";
|
|
36
|
+
import"./index-0kqs2fbm.js";
|
|
35
37
|
import"./index-74hpm6sh.js";
|
|
36
|
-
import"./index-
|
|
37
|
-
import"./index-
|
|
38
|
-
import"./index-
|
|
39
|
-
import"./index-
|
|
40
|
-
import"./index-
|
|
38
|
+
import"./index-91dz0zct.js";
|
|
39
|
+
import"./index-x10a9cz6.js";
|
|
40
|
+
import"./index-3fg8kx7n.js";
|
|
41
|
+
import"./index-q68a8h37.js";
|
|
42
|
+
import"./index-556ja8an.js";
|
|
43
|
+
import"./index-gdd4jt6b.js";
|
|
41
44
|
import"./index-zsrtt42s.js";
|
|
42
|
-
import"./index-
|
|
43
|
-
import"./index-
|
|
44
|
-
import"./index-
|
|
45
|
-
import"./index-7c4bxgdh.js";
|
|
45
|
+
import"./index-k3cxyk66.js";
|
|
46
|
+
import"./index-8aabbfhv.js";
|
|
47
|
+
import"./index-n48cwf1a.js";
|
|
46
48
|
import"./index-8fwhhayc.js";
|
|
47
49
|
import"./index-q1exe2b3.js";
|
|
48
|
-
import"./index-
|
|
49
|
-
import"./index-
|
|
50
|
-
import"./index-
|
|
51
|
-
import
|
|
50
|
+
import"./index-7sy3aa9m.js";
|
|
51
|
+
import"./index-4905hd2m.js";
|
|
52
|
+
import"./index-qmfzfh7m.js";
|
|
53
|
+
import {
|
|
54
|
+
resolveWorktreeIsolationConfig
|
|
55
|
+
} from "./index-254xf5y6.js";
|
|
56
|
+
import"./index-gprxjmm7.js";
|
|
57
|
+
import"./index-n832052r.js";
|
|
58
|
+
import"./index-zgq25ze6.js";
|
|
59
|
+
import"./index-mpw32szm.js";
|
|
60
|
+
import"./index-rn0eq85g.js";
|
|
61
|
+
import"./index-4rhhvd1a.js";
|
|
62
|
+
import"./index-jqsfsqbx.js";
|
|
63
|
+
import"./index-z6xqpmqg.js";
|
|
64
|
+
import"./index-zjygnfay.js";
|
|
65
|
+
import"./index-cfwdm1dx.js";
|
|
52
66
|
import"./index-tq5s07ta.js";
|
|
53
67
|
import"./index-rtry5xyf.js";
|
|
54
|
-
import"./index-
|
|
68
|
+
import"./index-srd87kxc.js";
|
|
55
69
|
import"./index-ae75rja9.js";
|
|
56
70
|
import"./index-w7x7qxz2.js";
|
|
57
71
|
import"./index-erfnw81g.js";
|
|
72
|
+
import"./index-bk5tah7q.js";
|
|
58
73
|
import"./index-ed5ykebp.js";
|
|
59
|
-
import {
|
|
60
|
-
resolveWorktreeIsolationConfig
|
|
61
|
-
} from "./index-ktazgjqw.js";
|
|
62
|
-
import"./index-gprxjmm7.js";
|
|
63
|
-
import"./index-n832052r.js";
|
|
64
|
-
import"./index-9wmx9ca8.js";
|
|
65
|
-
import"./index-myav90y6.js";
|
|
66
|
-
import"./index-556ja8an.js";
|
|
67
74
|
import"./index-k31en0ja.js";
|
|
68
75
|
import"./index-7g4c7s5r.js";
|
|
69
76
|
import"./index-s2rcz51a.js";
|
|
77
|
+
import"./index-bpmtbmy9.js";
|
|
70
78
|
import"./index-4nt52yr9.js";
|
|
71
|
-
import"./index-sdqtecsd.js";
|
|
72
|
-
import"./index-4rhhvd1a.js";
|
|
73
79
|
import"./index-zgwm4ryv.js";
|
|
74
|
-
import"./index-we279je2.js";
|
|
75
|
-
import"./index-jqsfsqbx.js";
|
|
76
|
-
import"./index-zjygnfay.js";
|
|
77
|
-
import"./index-bk5tah7q.js";
|
|
78
|
-
import"./index-bpmtbmy9.js";
|
|
79
80
|
import"./index-a76rekgs.js";
|
|
80
81
|
export {
|
|
81
82
|
standardWorktreeSerializationSessions,
|
package/dist/cli/{worktree-provisioning-owner-sjh7te1h.js → worktree-provisioning-owner-g24xd417.js}
RENAMED
|
@@ -5,13 +5,13 @@ import {
|
|
|
5
5
|
recordWorktreeProvisioningOwner,
|
|
6
6
|
removeWorktreeProvisioningOwner,
|
|
7
7
|
scanWorktreeProvisioningOwnersForRecovery
|
|
8
|
-
} from "./index-
|
|
9
|
-
import"./index-
|
|
10
|
-
import"./index-
|
|
8
|
+
} from "./index-k3cxyk66.js";
|
|
9
|
+
import"./index-rn0eq85g.js";
|
|
10
|
+
import"./index-z6xqpmqg.js";
|
|
11
|
+
import"./index-zjygnfay.js";
|
|
11
12
|
import"./index-ed5ykebp.js";
|
|
12
13
|
import"./index-4nt52yr9.js";
|
|
13
14
|
import"./index-zgwm4ryv.js";
|
|
14
|
-
import"./index-zjygnfay.js";
|
|
15
15
|
import"./index-a76rekgs.js";
|
|
16
16
|
export {
|
|
17
17
|
scanWorktreeProvisioningOwnersForRecovery,
|
|
@@ -603,7 +603,7 @@ export declare const COMMAND_REGISTRY: {
|
|
|
603
603
|
readonly handler: (ctx: CommandContext) => CommandResult;
|
|
604
604
|
readonly description: "Enter architect MODE: LOOP — compound-engineering loop: brainstorm → plan → build → review → improve, iterating until done [objective]";
|
|
605
605
|
readonly args: "<objective> [--max-cycles 1..5] [--autonomy checkpoint|auto] [--depth standard|exhaustive] [--resume]";
|
|
606
|
-
readonly details: "Triggers the architect to run the compound-engineering loop defined in .swarm/bundled-skills/loop/SKILL.md: BRAINSTORM (requirements) → PLAN (+ critic gate) → BUILD (execute) → REVIEW (independent reviewer + critic on the diff, report-only) → IMPROVE (phase-wrap retrospective + compounding learning capture), then evaluate stop conditions and loop for another improvement cycle if the objective is unmet and budget remains. Generator and reviewer/critic run in separate contexts; failing assertions must be fixed at the root cause, never weakened, mocked, or skipped. Defense-in-depth stop conditions: objective met, --max-cycles budget (default 3), no-progress/plateau, oscillation, unrecoverable error, or explicit user stop. --autonomy auto (default) runs unattended with hard stops still enforced; --autonomy checkpoint pauses at phase gates for user approval. --depth exhaustive widens exploration. --resume continues an existing loop run from durable .swarm/loop/ state. Distinct from full-auto (
|
|
606
|
+
readonly details: "Triggers the architect to run the compound-engineering loop defined in .swarm/bundled-skills/loop/SKILL.md: BRAINSTORM (requirements) → PLAN (+ critic gate) → BUILD (execute) → REVIEW (independent reviewer + critic on the diff, report-only) → IMPROVE (phase-wrap retrospective + compounding learning capture), then evaluate stop conditions and loop for another improvement cycle if the objective is unmet and budget remains. Generator and reviewer/critic run in separate contexts; failing assertions must be fixed at the root cause, never weakened, mocked, or skipped. Defense-in-depth stop conditions: objective met, --max-cycles budget (default 3), no-progress/plateau, oscillation, unrecoverable error, or explicit user stop. --autonomy auto (default) runs unattended with hard stops still enforced; --autonomy checkpoint pauses at phase gates for user approval. --depth exhaustive widens exploration. --resume continues an existing loop run from durable .swarm/loop/ state. Distinct from full-auto (a critic gate that intercepts phase completions and high-risk actions for review — it never plans, delegates, or executes; the architect retains all delegation duty) and turbo (parallel lanes within a phase): loop is a user-initiated, gated, compounding workflow.";
|
|
607
607
|
readonly category: "agent";
|
|
608
608
|
readonly toolPolicy: "none";
|
|
609
609
|
};
|
|
@@ -104,9 +104,9 @@ export declare const COMPACTION_DEFAULTS: {
|
|
|
104
104
|
readonly emergencyThreshold: 80;
|
|
105
105
|
readonly preserveLastNTurns: 5;
|
|
106
106
|
};
|
|
107
|
-
export declare const TURBO_MODE_BANNER = "## \uD83D\uDE80 TURBO MODE ACTIVE\n\n**Speed optimization enabled for this session.**\n\nWhile Turbo Mode is active:\n- **Stage A gates** (lint, imports, pre_check_batch) are still REQUIRED for ALL tasks\n- **Tier 3 tasks** (security-sensitive files matching: architect*.ts, delegation*.ts, guardrails*.ts, adversarial*.ts, sanitiz*.ts, auth
|
|
107
|
+
export declare const TURBO_MODE_BANNER = "## \uD83D\uDE80 TURBO MODE ACTIVE\n\n**Speed optimization enabled for this session.**\n\nWhile Turbo Mode is active:\n- **Stage A gates** (lint, imports, pre_check_batch) are still REQUIRED for ALL tasks\n- **Tier 3 tasks** (security-sensitive files matching: architect*.ts, delegation*.ts, guardrails*.ts, adversarial*.ts, sanitiz*.ts, security*.ts; exact basenames: auth, authenticate, authentication, authorization, permission(s), crypto, secret(s), secretscan; keyword prefixes: auth-*, permission-*, crypto-*, secret-*, security-*; or files under auth/, security/, crypto/, permission/, secret/ directories) still require FULL review (Stage B)\n- **Tier 0-2 tasks** can skip Stage B (reviewer, test_engineer) to speed up execution\n- **Phase completion gates** (Gates 1\u20135: completion-verify, drift-verifier, hallucination-guard, mutation-gate, phase-council) are automatically bypassed via the orchestrator short-circuit at `src/tools/phase-complete.ts:774\u2013827` when turbo is active; Gate 5b (architecture-supervisor), Gate 6 (final-council), and Gate 7 (full-auto) remain enforced. Note: turbo bypass is session-scoped; one session's turbo does not affect other sessions.\n\nClassification still determines the pipeline:\n- TIER 0 (metadata): lint + diff only \u2014 no change\n- TIER 1 (docs): Stage A + reviewer \u2014 no change\n- TIER 2 (standard code): Stage A + reviewer + test_engineer \u2014 CAN SKIP Stage B with turboMode\n- TIER 3 (critical): Stage A + 2x reviewer + 2x test_engineer \u2014 Stage B REQUIRED (no turbo bypass)\n\nDo NOT skip Stage A gates. Do NOT skip Stage B for TIER 3.\n";
|
|
108
108
|
export declare const FULL_AUTO_BANNER = "## \u26A1 FULL-AUTO MODE ACTIVE\n\nYou are operating without a human in the loop. All escalations route to the Autonomous Oversight Critic instead of a user.\n\nBehavioral changes:\n- TIER 3 escalations go to the critic, not a human. Frame your questions technically, not conversationally.\n- Phase completion approval comes from the critic. Ensure all evidence is written before requesting.\n- The critic defaults to REJECT. Do not attempt to pressure, negotiate, or shortcut. Complete the evidence trail.\n- If the critic returns ESCALATE_TO_HUMAN, the session will pause or terminate. Only the critic can trigger this.\n- Do NOT ask \"Ready for Phase N+1?\" \u2014 call phase_complete directly. The critic reviews automatically.\n";
|
|
109
|
-
export declare const AUTO_PROCEED_BANNER = "## \u23ED\uFE0F AUTO-PROCEED STATUS\n\nAuto-proceed controls whether the architect advances to the next phase automatically (skipping the \"Ready for Phase N+1?\" confirmation).\n\nBehavioral rules:\n- Session override (set via /swarm auto-proceed on|off) wins over the plan default.\n- If neither is set, auto-proceed defaults to OFF and the architect asks before advancing.\n- Full-auto mode (critic oversight) is independent \u2014 it
|
|
109
|
+
export declare const AUTO_PROCEED_BANNER = "## \u23ED\uFE0F AUTO-PROCEED STATUS\n\nAuto-proceed controls whether the architect advances to the next phase automatically (skipping the \"Ready for Phase N+1?\" confirmation).\n\nBehavioral rules:\n- Session override (set via /swarm auto-proceed on|off) wins over the plan default.\n- If neither is set, auto-proceed defaults to OFF and the architect asks before advancing.\n- Full-auto mode (critic oversight) is independent \u2014 while active it suppresses the \"Ready for Phase N+1?\" confirmation itself (it never delegates tasks or runs phases for you); the auto_proceed setting adds nothing on top.\n- autoProceedNudgeDone prevents the FR-004 first-boundary nudge from re-firing in this session.\n\nTo toggle at runtime: call swarm_command({ command: \"auto-proceed\", args: [\"on\"|\"off\"] }) from the architect.\n";
|
|
110
110
|
/**
|
|
111
111
|
* Canonical default Lean Turbo configuration.
|
|
112
112
|
|
|
@@ -221,6 +221,23 @@ export interface CoverageMissDiagnostic {
|
|
|
221
221
|
expectedSnippet: string;
|
|
222
222
|
foundSnippet: string;
|
|
223
223
|
divergenceOffset: number;
|
|
224
|
+
/**
|
|
225
|
+
* Issue #2204: the longest matching prefix fell under
|
|
226
|
+
* `COVERAGE_DIAG_MIN_PREFIX`, so the "divergence" is coincidental
|
|
227
|
+
* punctuation/noise rather than a real aligned prefix — the requirement
|
|
228
|
+
* text is effectively absent from ACCEPTANCE. Renderers must emit the
|
|
229
|
+
* "requirement text completely missing" fallback instead of a
|
|
230
|
+
* divergence pointer.
|
|
231
|
+
*
|
|
232
|
+
* Issue #2215: a SUFFIX of the body `COVERAGE_DIAG_MIN_PREFIX`+ characters
|
|
233
|
+
* long that occurs as a substring ANYWHERE in the acceptance text ALSO
|
|
234
|
+
* prevents this flag from being set. So the flag means: no ≥10-char prefix
|
|
235
|
+
* of the body AND no ≥10-char suffix of the body appears anywhere in the
|
|
236
|
+
* acceptance text. A body that is present but not aligned at character 0
|
|
237
|
+
* (e.g. sitting behind a leading id-label glue, or embedded mid-prompt with
|
|
238
|
+
* other dispatch fields around it) keeps the divergence-pointer rendering.
|
|
239
|
+
*/
|
|
240
|
+
completelyMissing?: boolean;
|
|
224
241
|
corruptionHint?: string;
|
|
225
242
|
}
|
|
226
243
|
/**
|
|
@@ -237,6 +254,30 @@ export declare function describeCoverageMiss(params: {
|
|
|
237
254
|
normalizedExpected: string;
|
|
238
255
|
normalizedAcceptance: string;
|
|
239
256
|
}): CoverageMissDiagnostic;
|
|
257
|
+
/**
|
|
258
|
+
* Builds the ACCEPTANCE_FIELD_COVERAGE_MISMATCH error (#1687/#1896/#2063/#2204
|
|
259
|
+
* contract). Exported pure so the message contract — normalized-compare note,
|
|
260
|
+
* divergence pointer vs #2204 completely-missing fallback, mojibake warning,
|
|
261
|
+
* fenced paste-ready requirement body with its cap, and the anti-spelunking
|
|
262
|
+
* directive — stays unit-testable even though #2205's injection makes the
|
|
263
|
+
* toolBefore throw structurally unreachable today (injection and the
|
|
264
|
+
* coverage recheck share the same field list, id-resolution, and
|
|
265
|
+
* normalization logic, so whatever injection covers, the recheck also
|
|
266
|
+
* considers covered). This stays wired as defense-in-depth against a FUTURE
|
|
267
|
+
* divergence — e.g. someone edits `injectSpecRequirementsIntoAcceptance`'s
|
|
268
|
+
* field list, unknown-id handling, or normalization without updating
|
|
269
|
+
* `checkAcceptanceCoversFrRefs` to match, or vice versa.
|
|
270
|
+
*/
|
|
271
|
+
export declare function buildAcceptanceCoverageMismatchError(params: {
|
|
272
|
+
targetAgent: string;
|
|
273
|
+
coverageTaskId: string | null;
|
|
274
|
+
coverageResult: {
|
|
275
|
+
covered: boolean;
|
|
276
|
+
missingId?: string;
|
|
277
|
+
diagnostic?: CoverageMissDiagnostic;
|
|
278
|
+
expectedBody?: string;
|
|
279
|
+
};
|
|
280
|
+
}): Error;
|
|
240
281
|
/**
|
|
241
282
|
* FR-001/FR-002/FR-005/SC-001/SC-002/SC-006 (issue #1687): mechanical coverage
|
|
242
283
|
* check that the ACCEPTANCE text CONTAINS the verbatim requirement body for each
|
|
@@ -264,6 +305,38 @@ export declare function checkAcceptanceCoversFrRefs(params: {
|
|
|
264
305
|
diagnostic?: CoverageMissDiagnostic;
|
|
265
306
|
expectedBody?: string;
|
|
266
307
|
};
|
|
308
|
+
/** Args fields (in precedence order) that may carry the ACCEPTANCE header. */
|
|
309
|
+
declare const ACCEPTANCE_ARGS_FIELDS: readonly ["prompt", "description", "task", "input", "message"];
|
|
310
|
+
export interface AcceptanceInjectionOutcome {
|
|
311
|
+
/** The args field that carried the ACCEPTANCE header and was mutated. */
|
|
312
|
+
field: (typeof ACCEPTANCE_ARGS_FIELDS)[number];
|
|
313
|
+
/** Spec ids whose verbatim bodies were appended. */
|
|
314
|
+
injectedIds: string[];
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Issue #2205: programmatically guarantee verbatim FR/SC fidelity in the
|
|
318
|
+
* ACCEPTANCE field. The architect lists the task's mapped FR-###/SC-### ids on
|
|
319
|
+
* the ACCEPTANCE line (or pastes bodies itself, legacy style); this helper
|
|
320
|
+
* appends the VERBATIM requirement body from .swarm/spec.md — prefixed with the
|
|
321
|
+
* id, on its own line inside the ACCEPTANCE section — for every mapped id the
|
|
322
|
+
* current ACCEPTANCE text does not already cover, mutating the args field in
|
|
323
|
+
* place so the downstream coder/reviewer receives the exact requirement text.
|
|
324
|
+
*
|
|
325
|
+
* Coverage uses the SAME normalized-substring test as
|
|
326
|
+
* `checkAcceptanceCoversFrRefs` (shared helpers, no drift), so:
|
|
327
|
+
* - an already-verbatim legacy dispatch is a no-op;
|
|
328
|
+
* - an id missing from spec.md is skipped (fail-open, mirrored semantics);
|
|
329
|
+
* - after injection, every extractable id is covered by construction.
|
|
330
|
+
*
|
|
331
|
+
* Returns null when nothing was injected (no ACCEPTANCE header in any field,
|
|
332
|
+
* or every mapped id already covered). Throws never — mechanical failures are
|
|
333
|
+
* the caller's concern (the coverage block is already fail-open).
|
|
334
|
+
*/
|
|
335
|
+
export declare function injectSpecRequirementsIntoAcceptance(params: {
|
|
336
|
+
args: Record<string, unknown>;
|
|
337
|
+
frRefs: string[];
|
|
338
|
+
specText: string;
|
|
339
|
+
}): AcceptanceInjectionOutcome | null;
|
|
267
340
|
interface MessageInfo {
|
|
268
341
|
role: string;
|
|
269
342
|
agent?: string;
|
|
@@ -364,9 +437,17 @@ declare function extractTaskFileDirectives(args: Record<string, unknown>, mode?:
|
|
|
364
437
|
* Lines that don't match the pattern are silently ignored.
|
|
365
438
|
*
|
|
366
439
|
* @param outputText - Raw text output from the agent dispatch
|
|
367
|
-
* @returns
|
|
440
|
+
* @returns StageBAttributionResult with typed verdicts and any parsing errors
|
|
368
441
|
*/
|
|
369
|
-
export
|
|
442
|
+
export interface VerdictEntry {
|
|
443
|
+
verdict: string;
|
|
444
|
+
kind: 'REVIEWED' | 'TESTED';
|
|
445
|
+
}
|
|
446
|
+
export interface StageBAttributionResult {
|
|
447
|
+
verdicts: Map<string, VerdictEntry>;
|
|
448
|
+
errors: string[];
|
|
449
|
+
}
|
|
450
|
+
export declare function parsePerTaskVerdicts(outputText: string): StageBAttributionResult;
|
|
370
451
|
export declare function canRunWhileTaskAwaitsCompletion(input: {
|
|
371
452
|
directory: string | undefined;
|
|
372
453
|
normalizedTool: string;
|
|
@@ -446,4 +527,5 @@ export declare function createDelegationGateHook(config: PluginConfig, directory
|
|
|
446
527
|
}) => Promise<void>;
|
|
447
528
|
sessionEnded: (sessionID: string, includeOwnedChildren?: boolean) => void;
|
|
448
529
|
backgroundCompletionClaimed: (record: BackgroundDelegationRecord) => void;
|
|
530
|
+
abortDeniedSettlementForCall: (callID: string) => Promise<void>;
|
|
449
531
|
};
|