opencode-swarm 7.110.2 → 7.112.0
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/ci-failure-batching/SKILL.md +6 -9
- package/.opencode/skills/gate-attribution/SKILL.md +24 -7
- package/.opencode/skills/merge-queue-readiness/SKILL.md +21 -7
- package/.opencode/skills/skill-edit-validation/SKILL.md +10 -3
- package/.opencode/skills/swarm-pr-feedback/SKILL.md +24 -0
- package/.opencode/skills/worktree-retry-cleanup/SKILL.md +7 -11
- package/dist/background/pr-event-subscribers.d.ts +28 -0
- package/dist/background/pr-monitor-worker.d.ts +8 -1
- package/dist/background/pr-subscriptions.d.ts +6 -0
- package/dist/cli/{config-doctor-q5e9yzn6.js → config-doctor-mmw4c50z.js} +2 -2
- package/dist/cli/{core-gjac7vd9.js → core-f4cbabe7.js} +2 -2
- package/dist/cli/{curator-drift-169wgaxn.js → curator-drift-jvs1v6em.js} +2 -2
- package/dist/cli/{curator-qpgdv0fp.js → curator-j7ty8k6t.js} +19 -19
- package/dist/cli/curator-llm-factory-8rnk2083.js +40 -0
- package/dist/cli/{dispatch-zr1xja4t.js → dispatch-wst7bypk.js} +2 -2
- package/dist/cli/{evidence-summary-service-8tasw2tt.js → evidence-summary-service-j6fnsfeq.js} +5 -5
- package/dist/cli/{gate-evidence-v6ds8rcp.js → gate-evidence-mk0ss1re.js} +3 -3
- package/dist/cli/guardrail-explain-2j0gw8f0.js +41 -0
- package/dist/cli/{guardrail-log-973nan7m.js → guardrail-log-xjgr00eq.js} +4 -4
- package/dist/cli/{hive-promoter-rs5dr4pf.js → hive-promoter-y179n7wx.js} +19 -19
- package/dist/cli/{index-1cn967sa.js → index-0dab9w37.js} +1 -1
- package/dist/cli/{index-r3j3458j.js → index-1rga1vvb.js} +1 -1
- package/dist/cli/{index-mvg66d9n.js → index-2aqs6daa.js} +3 -3
- package/dist/cli/{index-yw8qpf51.js → index-9fxs0rm1.js} +1 -1
- package/dist/cli/{index-cmjq1kg7.js → index-b83y9a7r.js} +3 -3
- package/dist/cli/{index-rm8b4959.js → index-c3h3d8kh.js} +23 -21
- package/dist/cli/{index-0g5xsrp4.js → index-cq2hgvd2.js} +13 -5
- package/dist/cli/{index-yhmt3dw3.js → index-cye4g7zj.js} +3 -3
- package/dist/cli/{index-j2v3w1ds.js → index-d0w40jm3.js} +4 -4
- package/dist/cli/{index-40h0yp9e.js → index-db1fh1fv.js} +1 -1
- package/dist/cli/{index-dm35e55e.js → index-fhmw7evd.js} +36 -15
- package/dist/cli/{index-vzzt3ygr.js → index-g55nzpwn.js} +1 -1
- package/dist/cli/{index-c483hnn4.js → index-hg0pamsa.js} +3 -3
- package/dist/cli/{index-smk3st51.js → index-j5c98bd9.js} +1799 -1249
- package/dist/cli/{index-53z1afgh.js → index-npxmfj48.js} +1 -1
- package/dist/cli/{index-6jng9c8t.js → index-pm992z24.js} +1 -1
- package/dist/cli/{index-85bacexr.js → index-q1jaeynn.js} +4 -1
- package/dist/cli/{index-v8pk35h7.js → index-t7efm8vz.js} +4 -4
- package/dist/cli/{index-5rfxzgmt.js → index-w84stmkx.js} +1 -1
- package/dist/cli/{index-4k3gh2nz.js → index-x4bghdyv.js} +2 -2
- package/dist/cli/{index-xddysq89.js → index-xehrmy76.js} +1 -1
- package/dist/cli/index.js +19 -19
- package/dist/cli/{knowledge-escalator-0dkkenp2.js → knowledge-escalator-t1e2211j.js} +6 -6
- package/dist/cli/{knowledge-events-bckbj6ah.js → knowledge-events-2h3gvtfa.js} +4 -4
- package/dist/cli/{knowledge-store-dvjbdn00.js → knowledge-store-gpta9gzh.js} +4 -4
- package/dist/cli/{knowledge-validator-bqr936sg.js → knowledge-validator-03f0hm0p.js} +5 -5
- package/dist/cli/{pending-delegations-yyz3fcfn.js → pending-delegations-gc3a2hfx.js} +2 -2
- package/dist/cli/{pr-subscriptions-vv8byxe6.js → pr-subscriptions-p8g2rzxd.js} +3 -3
- package/dist/cli/{schema-s48je8zt.js → schema-2p15yrvn.js} +1 -1
- package/dist/cli/{scope-persistence-tgp00wtd.js → scope-persistence-5ccgtebg.js} +2 -2
- package/dist/cli/{skill-generator-5rsjmmfq.js → skill-generator-2tsqqaa2.js} +7 -7
- package/dist/commands/ci-simulate.d.ts +40 -0
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/pr-monitor-status.d.ts +24 -0
- package/dist/commands/registry.d.ts +8 -0
- package/dist/config/bundled-skills.d.ts +1 -1
- package/dist/config/schema.d.ts +5 -0
- package/dist/full-auto/oversight.d.ts +4 -0
- package/dist/full-auto/state.d.ts +12 -0
- package/dist/git/pr.d.ts +23 -0
- package/dist/hooks/delegation-gate/worktree-isolation.d.ts +110 -0
- package/dist/hooks/delegation-gate.d.ts +17 -0
- package/dist/hooks/full-auto-intercept.d.ts +1 -1
- package/dist/index.js +399 -364
- package/dist/tools/placeholder-scan.d.ts +15 -0
- package/dist/utils/bun-compat.d.ts +6 -0
- package/dist/worktree/merge.d.ts +12 -0
- package/package.json +9 -5
- package/dist/cli/curator-llm-factory-3x89ddtd.js +0 -40
- package/dist/cli/guardrail-explain-jdwp6h9c.js +0 -41
- /package/dist/cli/{index-7xgqky26.js → index-h91bv3hy.js} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
validateSwarmPath
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-1rga1vvb.js";
|
|
5
5
|
import {
|
|
6
6
|
log
|
|
7
7
|
} from "./index-zgwm4ryv.js";
|
|
@@ -33,6 +33,9 @@ var RecordSchema = exports_external.object({
|
|
|
33
33
|
lastCommentId: exports_external.string().optional(),
|
|
34
34
|
lastCheckRunSet: exports_external.string().optional(),
|
|
35
35
|
mergeableState: exports_external.string().optional(),
|
|
36
|
+
mergeGroupRunStatus: exports_external.string().optional(),
|
|
37
|
+
mergeGroupRunConclusion: exports_external.string().optional(),
|
|
38
|
+
mergeGroupRunHtmlUrl: exports_external.string().optional(),
|
|
36
39
|
isWatching: exports_external.boolean(),
|
|
37
40
|
hasUnaddressedEvents: exports_external.boolean(),
|
|
38
41
|
status: exports_external.enum(["active", "removed", "expired"]),
|
|
@@ -4,13 +4,13 @@ import {
|
|
|
4
4
|
} from "./index-bfwt3abw.js";
|
|
5
5
|
import {
|
|
6
6
|
resolveKnowledgeStoreDir
|
|
7
|
-
} from "./index-
|
|
7
|
+
} from "./index-db1fh1fv.js";
|
|
8
8
|
import {
|
|
9
9
|
readCachedParsedFile
|
|
10
10
|
} from "./index-jtqkh8jf.js";
|
|
11
11
|
import {
|
|
12
12
|
atomicWriteFile
|
|
13
|
-
} from "./index-
|
|
13
|
+
} from "./index-0dab9w37.js";
|
|
14
14
|
import {
|
|
15
15
|
require_proper_lockfile
|
|
16
16
|
} from "./index-vvk2g744.js";
|
|
@@ -525,7 +525,7 @@ async function applyConfidenceFloorAction(directory, touched, options) {
|
|
|
525
525
|
const recovered = touched.filter((e) => e.confidence > CONFIDENCE_FLOOR + FLOOR_EPSILON && e.confidence_floor_demoted);
|
|
526
526
|
if (atFloor.length === 0 && recovered.length === 0)
|
|
527
527
|
return;
|
|
528
|
-
const { readKnowledgeCounterRollups, effectiveRetrievalOutcomes } = await import("./knowledge-events-
|
|
528
|
+
const { readKnowledgeCounterRollups, effectiveRetrievalOutcomes } = await import("./knowledge-events-2h3gvtfa.js");
|
|
529
529
|
const rollups = await readKnowledgeCounterRollups(directory);
|
|
530
530
|
const flagIds = new Set;
|
|
531
531
|
for (const e of atFloor) {
|
|
@@ -592,7 +592,7 @@ async function applyConfidenceFloorAction(directory, touched, options) {
|
|
|
592
592
|
});
|
|
593
593
|
}
|
|
594
594
|
if (action === "quarantine" && toQuarantine.length > 0) {
|
|
595
|
-
const { quarantineEntry } = await import("./knowledge-validator-
|
|
595
|
+
const { quarantineEntry } = await import("./knowledge-validator-03f0hm0p.js");
|
|
596
596
|
for (const { id } of toQuarantine) {
|
|
597
597
|
await quarantineEntry(directory, id, "confidence_floor_negative_outcome", "auto").catch((err) => {
|
|
598
598
|
console.warn("[knowledge-store] confidence-floor quarantine failed (best-effort):", err instanceof Error ? err.message : String(err));
|
|
@@ -12,14 +12,14 @@ import {
|
|
|
12
12
|
detectPosixWrites,
|
|
13
13
|
detectWindowsWrites,
|
|
14
14
|
resolveWriteTargets
|
|
15
|
-
} from "./index-
|
|
15
|
+
} from "./index-j5c98bd9.js";
|
|
16
16
|
import {
|
|
17
17
|
checkFileAuthority,
|
|
18
18
|
classifyFile,
|
|
19
19
|
isInDeclaredScope,
|
|
20
20
|
redactPath,
|
|
21
21
|
redactShellCommand
|
|
22
|
-
} from "./index-
|
|
22
|
+
} from "./index-npxmfj48.js";
|
|
23
23
|
|
|
24
24
|
// src/services/guardrail-explain-service.ts
|
|
25
25
|
import path from "path";
|
package/dist/cli/index.js
CHANGED
|
@@ -7,41 +7,41 @@ import {
|
|
|
7
7
|
getPluginLockFilePaths,
|
|
8
8
|
package_default,
|
|
9
9
|
resolveCommand
|
|
10
|
-
} from "./index-
|
|
11
|
-
import"./index-
|
|
10
|
+
} from "./index-j5c98bd9.js";
|
|
11
|
+
import"./index-npxmfj48.js";
|
|
12
12
|
import"./index-c8s9a3zh.js";
|
|
13
|
-
import"./index-
|
|
13
|
+
import"./index-xehrmy76.js";
|
|
14
14
|
import {
|
|
15
15
|
DEFAULT_AGENT_CONFIGS
|
|
16
|
-
} from "./index-
|
|
17
|
-
import"./index-
|
|
16
|
+
} from "./index-cq2hgvd2.js";
|
|
17
|
+
import"./index-d0w40jm3.js";
|
|
18
18
|
import"./index-scww5b77.js";
|
|
19
|
-
import"./index-
|
|
20
|
-
import"./index-
|
|
21
|
-
import"./index-
|
|
22
|
-
import"./index-
|
|
23
|
-
import"./index-
|
|
24
|
-
import"./index-
|
|
25
|
-
import"./index-
|
|
19
|
+
import"./index-9fxs0rm1.js";
|
|
20
|
+
import"./index-q1jaeynn.js";
|
|
21
|
+
import"./index-b83y9a7r.js";
|
|
22
|
+
import"./index-hg0pamsa.js";
|
|
23
|
+
import"./index-2aqs6daa.js";
|
|
24
|
+
import"./index-cye4g7zj.js";
|
|
25
|
+
import"./index-t7efm8vz.js";
|
|
26
26
|
import"./index-bfwt3abw.js";
|
|
27
|
-
import"./index-
|
|
27
|
+
import"./index-db1fh1fv.js";
|
|
28
28
|
import"./index-jt58s751.js";
|
|
29
29
|
import"./index-wvrj16f0.js";
|
|
30
30
|
import"./index-q1exe2b3.js";
|
|
31
|
-
import"./index-
|
|
32
|
-
import"./index-
|
|
33
|
-
import"./index-
|
|
31
|
+
import"./index-g55nzpwn.js";
|
|
32
|
+
import"./index-fhmw7evd.js";
|
|
33
|
+
import"./index-1rga1vvb.js";
|
|
34
34
|
import"./index-jtqkh8jf.js";
|
|
35
35
|
import"./index-5e4e2hvv.js";
|
|
36
36
|
import"./index-p0arc26j.js";
|
|
37
37
|
import"./index-zgwm4ryv.js";
|
|
38
|
-
import"./index-
|
|
39
|
-
import"./index-
|
|
38
|
+
import"./index-pm992z24.js";
|
|
39
|
+
import"./index-0dab9w37.js";
|
|
40
40
|
import"./index-293f68mj.js";
|
|
41
41
|
import"./index-5mkc2f9z.js";
|
|
42
42
|
import"./index-vn263hqt.js";
|
|
43
43
|
import"./index-vvk2g744.js";
|
|
44
|
-
import"./index-
|
|
44
|
+
import"./index-h91bv3hy.js";
|
|
45
45
|
import"./index-a76rekgs.js";
|
|
46
46
|
|
|
47
47
|
// src/cli/index.ts
|
|
@@ -8,18 +8,18 @@ import {
|
|
|
8
8
|
maybeEscalateOnViolation,
|
|
9
9
|
maybeQuarantineOnContradiction,
|
|
10
10
|
readRecentEscalations
|
|
11
|
-
} from "./index-
|
|
12
|
-
import"./index-
|
|
13
|
-
import"./index-
|
|
11
|
+
} from "./index-2aqs6daa.js";
|
|
12
|
+
import"./index-cye4g7zj.js";
|
|
13
|
+
import"./index-t7efm8vz.js";
|
|
14
14
|
import"./index-bfwt3abw.js";
|
|
15
|
-
import"./index-
|
|
15
|
+
import"./index-db1fh1fv.js";
|
|
16
16
|
import"./index-jtqkh8jf.js";
|
|
17
17
|
import"./index-zgwm4ryv.js";
|
|
18
|
-
import"./index-
|
|
18
|
+
import"./index-0dab9w37.js";
|
|
19
19
|
import"./index-5mkc2f9z.js";
|
|
20
20
|
import"./index-vn263hqt.js";
|
|
21
21
|
import"./index-vvk2g744.js";
|
|
22
|
-
import"./index-
|
|
22
|
+
import"./index-h91bv3hy.js";
|
|
23
23
|
import"./index-a76rekgs.js";
|
|
24
24
|
export {
|
|
25
25
|
readRecentEscalations,
|
|
@@ -25,14 +25,14 @@ import {
|
|
|
25
25
|
resolveKnowledgeCounterBaselinePath,
|
|
26
26
|
resolveKnowledgeEventsPath,
|
|
27
27
|
resolveLegacyApplicationLogPath
|
|
28
|
-
} from "./index-
|
|
29
|
-
import"./index-
|
|
28
|
+
} from "./index-cye4g7zj.js";
|
|
29
|
+
import"./index-db1fh1fv.js";
|
|
30
30
|
import"./index-zgwm4ryv.js";
|
|
31
|
-
import"./index-
|
|
31
|
+
import"./index-0dab9w37.js";
|
|
32
32
|
import"./index-5mkc2f9z.js";
|
|
33
33
|
import"./index-vn263hqt.js";
|
|
34
34
|
import"./index-vvk2g744.js";
|
|
35
|
-
import"./index-
|
|
35
|
+
import"./index-h91bv3hy.js";
|
|
36
36
|
import"./index-a76rekgs.js";
|
|
37
37
|
export {
|
|
38
38
|
resolveLegacyApplicationLogPath,
|
|
@@ -32,16 +32,16 @@ import {
|
|
|
32
32
|
transactFile,
|
|
33
33
|
transactKnowledge,
|
|
34
34
|
wordBigrams
|
|
35
|
-
} from "./index-
|
|
35
|
+
} from "./index-t7efm8vz.js";
|
|
36
36
|
import"./index-bfwt3abw.js";
|
|
37
|
-
import"./index-
|
|
37
|
+
import"./index-db1fh1fv.js";
|
|
38
38
|
import"./index-jtqkh8jf.js";
|
|
39
39
|
import"./index-zgwm4ryv.js";
|
|
40
|
-
import"./index-
|
|
40
|
+
import"./index-0dab9w37.js";
|
|
41
41
|
import"./index-5mkc2f9z.js";
|
|
42
42
|
import"./index-vn263hqt.js";
|
|
43
43
|
import"./index-vvk2g744.js";
|
|
44
|
-
import"./index-
|
|
44
|
+
import"./index-h91bv3hy.js";
|
|
45
45
|
import"./index-a76rekgs.js";
|
|
46
46
|
export {
|
|
47
47
|
wordBigrams,
|
|
@@ -22,17 +22,17 @@ import {
|
|
|
22
22
|
validateLesson,
|
|
23
23
|
validateSkillCandidatePath,
|
|
24
24
|
validateSkillPath
|
|
25
|
-
} from "./index-
|
|
26
|
-
import"./index-
|
|
25
|
+
} from "./index-hg0pamsa.js";
|
|
26
|
+
import"./index-t7efm8vz.js";
|
|
27
27
|
import"./index-bfwt3abw.js";
|
|
28
|
-
import"./index-
|
|
28
|
+
import"./index-db1fh1fv.js";
|
|
29
29
|
import"./index-jtqkh8jf.js";
|
|
30
30
|
import"./index-zgwm4ryv.js";
|
|
31
|
-
import"./index-
|
|
31
|
+
import"./index-0dab9w37.js";
|
|
32
32
|
import"./index-5mkc2f9z.js";
|
|
33
33
|
import"./index-vn263hqt.js";
|
|
34
34
|
import"./index-vvk2g744.js";
|
|
35
|
-
import"./index-
|
|
35
|
+
import"./index-h91bv3hy.js";
|
|
36
36
|
import"./index-a76rekgs.js";
|
|
37
37
|
export {
|
|
38
38
|
validateSkillPath,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
validateSwarmPath
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-1rga1vvb.js";
|
|
5
5
|
import"./index-jtqkh8jf.js";
|
|
6
6
|
import"./index-5e4e2hvv.js";
|
|
7
7
|
import"./index-p0arc26j.js";
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
} from "./index-5mkc2f9z.js";
|
|
18
18
|
import"./index-vn263hqt.js";
|
|
19
19
|
import"./index-vvk2g744.js";
|
|
20
|
-
import"./index-
|
|
20
|
+
import"./index-h91bv3hy.js";
|
|
21
21
|
import"./index-a76rekgs.js";
|
|
22
22
|
|
|
23
23
|
// src/background/pending-delegations.ts
|
|
@@ -9,8 +9,8 @@ import {
|
|
|
9
9
|
sweepStale,
|
|
10
10
|
unsubscribe,
|
|
11
11
|
updateSnapshot
|
|
12
|
-
} from "./index-
|
|
13
|
-
import"./index-
|
|
12
|
+
} from "./index-q1jaeynn.js";
|
|
13
|
+
import"./index-1rga1vvb.js";
|
|
14
14
|
import"./index-jtqkh8jf.js";
|
|
15
15
|
import"./index-5e4e2hvv.js";
|
|
16
16
|
import"./index-p0arc26j.js";
|
|
@@ -19,7 +19,7 @@ import"./index-293f68mj.js";
|
|
|
19
19
|
import"./index-5mkc2f9z.js";
|
|
20
20
|
import"./index-vn263hqt.js";
|
|
21
21
|
import"./index-vvk2g744.js";
|
|
22
|
-
import"./index-
|
|
22
|
+
import"./index-h91bv3hy.js";
|
|
23
23
|
import"./index-a76rekgs.js";
|
|
24
24
|
export {
|
|
25
25
|
updateSnapshot,
|
|
@@ -6,9 +6,9 @@ import {
|
|
|
6
6
|
readScopeFromDisk,
|
|
7
7
|
resolveScopeWithFallbacks,
|
|
8
8
|
writeScopeToDisk
|
|
9
|
-
} from "./index-
|
|
9
|
+
} from "./index-g55nzpwn.js";
|
|
10
10
|
import"./index-vvk2g744.js";
|
|
11
|
-
import"./index-
|
|
11
|
+
import"./index-h91bv3hy.js";
|
|
12
12
|
import"./index-a76rekgs.js";
|
|
13
13
|
export {
|
|
14
14
|
writeScopeToDisk,
|
|
@@ -33,19 +33,19 @@ import {
|
|
|
33
33
|
sanitizeSlug,
|
|
34
34
|
selectCandidateEntries,
|
|
35
35
|
writeEvalStub
|
|
36
|
-
} from "./index-
|
|
37
|
-
import"./index-
|
|
38
|
-
import"./index-
|
|
39
|
-
import"./index-
|
|
36
|
+
} from "./index-b83y9a7r.js";
|
|
37
|
+
import"./index-hg0pamsa.js";
|
|
38
|
+
import"./index-cye4g7zj.js";
|
|
39
|
+
import"./index-t7efm8vz.js";
|
|
40
40
|
import"./index-bfwt3abw.js";
|
|
41
|
-
import"./index-
|
|
41
|
+
import"./index-db1fh1fv.js";
|
|
42
42
|
import"./index-jtqkh8jf.js";
|
|
43
43
|
import"./index-zgwm4ryv.js";
|
|
44
|
-
import"./index-
|
|
44
|
+
import"./index-0dab9w37.js";
|
|
45
45
|
import"./index-5mkc2f9z.js";
|
|
46
46
|
import"./index-vn263hqt.js";
|
|
47
47
|
import"./index-vvk2g744.js";
|
|
48
|
-
import"./index-
|
|
48
|
+
import"./index-h91bv3hy.js";
|
|
49
49
|
import"./index-a76rekgs.js";
|
|
50
50
|
export {
|
|
51
51
|
writeEvalStub,
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Handle /swarm ci-simulate command.
|
|
3
|
+
*
|
|
4
|
+
* Simulates CI by merging a PR branch into a temporary worktree created from
|
|
5
|
+
* the detected default remote branch (origin/main, origin/master, etc.), then
|
|
6
|
+
* running the full validation suite:
|
|
7
|
+
* bun run typecheck
|
|
8
|
+
* bun run lint
|
|
9
|
+
* bun run build
|
|
10
|
+
* bun test
|
|
11
|
+
*
|
|
12
|
+
* This reproduces the merge-group CI environment locally, catching integration
|
|
13
|
+
* failures (pass on PR branch, fail on merged result) before they cause
|
|
14
|
+
* merge-queue kick-outs.
|
|
15
|
+
*
|
|
16
|
+
* Input contract:
|
|
17
|
+
* /swarm ci-simulate → uses current HEAD branch
|
|
18
|
+
* /swarm ci-simulate <pr-ref> → uses the specified branch/ref
|
|
19
|
+
*/
|
|
20
|
+
import * as fs from 'node:fs';
|
|
21
|
+
import { getDefaultBaseBranch } from '../git/branch.js';
|
|
22
|
+
import { runExternalTool } from '../utils/external-tool-runner.js';
|
|
23
|
+
export declare const _internals: {
|
|
24
|
+
runExternalTool: typeof runExternalTool;
|
|
25
|
+
getDefaultBaseBranch: typeof getDefaultBaseBranch;
|
|
26
|
+
platform: string;
|
|
27
|
+
osTmpdir: () => string;
|
|
28
|
+
fs: {
|
|
29
|
+
existsSync: typeof fs.existsSync;
|
|
30
|
+
rmSync: typeof fs.rmSync;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Handle /swarm ci-simulate command.
|
|
35
|
+
*
|
|
36
|
+
* @param directory - Project root (absolute path to the git working tree).
|
|
37
|
+
* @param args - Command arguments; first positional is the PR ref (optional).
|
|
38
|
+
* @returns Human-readable report string.
|
|
39
|
+
*/
|
|
40
|
+
export declare function handleCiSimulateCommand(directory: string, args: string[]): Promise<string>;
|
package/dist/commands/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export { handleAutoProceedCommand } from './auto-proceed';
|
|
|
7
7
|
export { handleBenchmarkCommand } from './benchmark';
|
|
8
8
|
export { handleBrainstormCommand } from './brainstorm';
|
|
9
9
|
export { handleCheckpointCommand } from './checkpoint';
|
|
10
|
+
export { handleCiSimulateCommand } from './ci-simulate';
|
|
10
11
|
export { handleClarifyCommand } from './clarify';
|
|
11
12
|
export { handleCloseCommand } from './close';
|
|
12
13
|
export { handleCodebaseReviewCommand } from './codebase-review';
|
|
@@ -10,6 +10,15 @@
|
|
|
10
10
|
* /swarm pr status → show session subscriptions
|
|
11
11
|
*/
|
|
12
12
|
import { listActive } from '../background/pr-subscriptions.js';
|
|
13
|
+
type MergeGroupRun = {
|
|
14
|
+
databaseId: number;
|
|
15
|
+
headBranch: string;
|
|
16
|
+
status: string;
|
|
17
|
+
conclusion: string | null;
|
|
18
|
+
url: string;
|
|
19
|
+
displayTitle?: string;
|
|
20
|
+
name?: string;
|
|
21
|
+
};
|
|
13
22
|
/**
|
|
14
23
|
* Format an epoch-ms timestamp as a human-friendly relative time string.
|
|
15
24
|
*
|
|
@@ -17,12 +26,27 @@ import { listActive } from '../background/pr-subscriptions.js';
|
|
|
17
26
|
* uses the largest whole unit (seconds, minutes, hours, or days).
|
|
18
27
|
*/
|
|
19
28
|
declare function formatRelativeTime(epochMs: number): string;
|
|
29
|
+
declare function parseMergeGroupRuns(raw: string, prNumber: number): MergeGroupRun[];
|
|
30
|
+
declare function listMergeGroupRuns(directory: string, repoFullName: string, prNumber: number): Promise<{
|
|
31
|
+
runs: MergeGroupRun[];
|
|
32
|
+
error?: string;
|
|
33
|
+
}>;
|
|
34
|
+
/**
|
|
35
|
+
* Format merge-group run status for display.
|
|
36
|
+
*
|
|
37
|
+
* Shows the run status (queued/in_progress/completed), conclusion if available,
|
|
38
|
+
* and a link reference.
|
|
39
|
+
*/
|
|
40
|
+
declare function formatMergeGroupStatus(status?: string, conclusion?: string, htmlUrl?: string): string;
|
|
20
41
|
/**
|
|
21
42
|
* Exposed for unit testing via _internals.
|
|
22
43
|
*/
|
|
23
44
|
export declare const _internals: {
|
|
24
45
|
formatRelativeTime: typeof formatRelativeTime;
|
|
46
|
+
formatMergeGroupStatus: typeof formatMergeGroupStatus;
|
|
25
47
|
listActive: typeof listActive;
|
|
48
|
+
listMergeGroupRuns: typeof listMergeGroupRuns;
|
|
49
|
+
parseMergeGroupRuns: typeof parseMergeGroupRuns;
|
|
26
50
|
};
|
|
27
51
|
/**
|
|
28
52
|
* Show PR monitor subscription status for the current session.
|
|
@@ -548,6 +548,14 @@ export declare const COMMAND_REGISTRY: {
|
|
|
548
548
|
readonly aliasOf: "pr status";
|
|
549
549
|
readonly deprecated: true;
|
|
550
550
|
};
|
|
551
|
+
readonly 'ci-simulate': {
|
|
552
|
+
readonly handler: (ctx: CommandContext) => Promise<string>;
|
|
553
|
+
readonly description: "Create a temporary merge-result worktree and run CI before merge queue entry";
|
|
554
|
+
readonly args: "[--base origin/main] [--head <ref>]";
|
|
555
|
+
readonly details: "Creates a detached temporary worktree under .swarm/ci-simulate from the base ref, merges the current worktree HEAD (or --head ref), runs fixed local CI gates (typecheck, Biome CI, build, unit/integration/security/smoke tests, drift check), then removes the worktree and prunes metadata. Intended as a pre-queue merge_group simulation helper.";
|
|
556
|
+
readonly category: "agent";
|
|
557
|
+
readonly toolPolicy: "agent";
|
|
558
|
+
};
|
|
551
559
|
readonly 'deep-dive': {
|
|
552
560
|
readonly handler: (ctx: CommandContext) => CommandResult;
|
|
553
561
|
readonly description: "Launch deep codebase audit with parallel explorer waves, dual reviewers, and critic challenge [scope]";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const BUNDLED_PROJECT_SKILLS: readonly ["brainstorm", "specify", "clarify-spec", "resume", "clarify", "discover", "consult", "pre-phase-briefing", "council", "deep-dive", "deep-research", "codebase-review-swarm", "swarm-implement", "design-docs", "swarm-pr-review", "swarm", "swarm-pr-feedback", "swarm-pr-subscribe", "swarm-ci-monitor", "issue-ingest", "plan", "critic-gate", "execute", "phase-wrap", "loop", "writing-tests", "running-tests", "engineering-conventions", "commit-pr", "
|
|
1
|
+
export declare const BUNDLED_PROJECT_SKILLS: readonly ["brainstorm", "specify", "clarify-spec", "resume", "clarify", "discover", "consult", "pre-phase-briefing", "council", "deep-dive", "deep-research", "codebase-review-swarm", "swarm-implement", "design-docs", "swarm-pr-review", "swarm", "swarm-pr-feedback", "swarm-pr-subscribe", "swarm-ci-monitor", "issue-ingest", "plan", "critic-gate", "execute", "phase-wrap", "loop", "writing-tests", "running-tests", "engineering-conventions", "commit-pr", "ci-failure-batching", "gate-attribution", "merge-queue-readiness", "skill-edit-validation", "worktree-retry-cleanup"];
|
|
2
2
|
interface CopyState {
|
|
3
3
|
files: number;
|
|
4
4
|
bytes: number;
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -273,6 +273,7 @@ export declare const PlaceholderScanConfigSchema: z.ZodObject<{
|
|
|
273
273
|
deny_patterns: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
274
274
|
allow_globs: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
275
275
|
max_allowed_findings: z.ZodDefault<z.ZodNumber>;
|
|
276
|
+
sentinel_allowlist: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
276
277
|
}, z.core.$strip>;
|
|
277
278
|
export type PlaceholderScanConfig = z.infer<typeof PlaceholderScanConfigSchema>;
|
|
278
279
|
export declare const QualityBudgetConfigSchema: z.ZodObject<{
|
|
@@ -302,6 +303,7 @@ export declare const GateConfigSchema: z.ZodObject<{
|
|
|
302
303
|
deny_patterns: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
303
304
|
allow_globs: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
304
305
|
max_allowed_findings: z.ZodDefault<z.ZodNumber>;
|
|
306
|
+
sentinel_allowlist: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
305
307
|
}, z.core.$strip>>;
|
|
306
308
|
sast_scan: z.ZodDefault<z.ZodObject<{
|
|
307
309
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -1622,6 +1624,7 @@ export declare const PluginConfigSchema: z.ZodObject<{
|
|
|
1622
1624
|
deny_patterns: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
1623
1625
|
allow_globs: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
1624
1626
|
max_allowed_findings: z.ZodDefault<z.ZodNumber>;
|
|
1627
|
+
sentinel_allowlist: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
1625
1628
|
}, z.core.$strip>>;
|
|
1626
1629
|
sast_scan: z.ZodDefault<z.ZodObject<{
|
|
1627
1630
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -2416,6 +2419,8 @@ export declare const PluginConfigSchema: z.ZodObject<{
|
|
|
2416
2419
|
every_tool_calls: z.ZodDefault<z.ZodNumber>;
|
|
2417
2420
|
every_architect_turns: z.ZodDefault<z.ZodNumber>;
|
|
2418
2421
|
every_minutes: z.ZodDefault<z.ZodNumber>;
|
|
2422
|
+
max_dispatch_retries: z.ZodDefault<z.ZodNumber>;
|
|
2423
|
+
max_consecutive_dispatch_failures: z.ZodDefault<z.ZodNumber>;
|
|
2419
2424
|
}, z.core.$strip>>;
|
|
2420
2425
|
}, z.core.$strip>>>;
|
|
2421
2426
|
pr_monitor: z.ZodOptional<z.ZodObject<{
|
|
@@ -44,6 +44,10 @@ export interface DispatchFullAutoOversightInput {
|
|
|
44
44
|
*/
|
|
45
45
|
fullAutoConfig?: {
|
|
46
46
|
fail_closed?: boolean;
|
|
47
|
+
/** Override for max dispatch retries (default from schema: 2). */
|
|
48
|
+
max_dispatch_retries?: number;
|
|
49
|
+
/** Override for max consecutive dispatch failures (default from schema: 3). */
|
|
50
|
+
max_consecutive_dispatch_failures?: number;
|
|
47
51
|
};
|
|
48
52
|
}
|
|
49
53
|
export declare function parseFullAutoCriticResponse(rawResponse: string): FullAutoCriticResult;
|
|
@@ -13,6 +13,7 @@ export interface FullAutoCounters {
|
|
|
13
13
|
testFailures: number;
|
|
14
14
|
oversightChecks: number;
|
|
15
15
|
consecutiveNoProgressTurns: number;
|
|
16
|
+
consecutiveOversightFailures: number;
|
|
16
17
|
}
|
|
17
18
|
export interface FullAutoRunState {
|
|
18
19
|
status: FullAutoStatus;
|
|
@@ -34,6 +35,8 @@ export interface FullAutoRunState {
|
|
|
34
35
|
counters: FullAutoCounters;
|
|
35
36
|
pauseReason?: string;
|
|
36
37
|
terminateReason?: string;
|
|
38
|
+
/** Consecutive oversight dispatch failures for auto-degrade. */
|
|
39
|
+
consecutiveOversightFailures?: number;
|
|
37
40
|
}
|
|
38
41
|
export interface FullAutoPersistedState {
|
|
39
42
|
version: 2;
|
|
@@ -104,6 +107,15 @@ export declare function terminateFullAutoRun(directory: string, sessionID: strin
|
|
|
104
107
|
export declare function isFullAutoRunActive(directory: string, sessionID: string): boolean;
|
|
105
108
|
export type FullAutoCounterKey = keyof FullAutoCounters;
|
|
106
109
|
export declare function incrementFullAutoCounter(directory: string, sessionID: string, counter: FullAutoCounterKey, delta?: number): FullAutoRunState | undefined;
|
|
110
|
+
/**
|
|
111
|
+
* Increment the consecutive-oversight-failure counter.
|
|
112
|
+
* Returns the new value after incrementing.
|
|
113
|
+
*/
|
|
114
|
+
export declare function incrementOversightFailureCounter(directory: string, sessionID: string): number;
|
|
115
|
+
/**
|
|
116
|
+
* Reset the consecutive-oversight-failure counter to 0.
|
|
117
|
+
*/
|
|
118
|
+
export declare function resetOversightFailureCounter(directory: string, sessionID: string): void;
|
|
107
119
|
export declare function recordFullAutoDenial(directory: string, sessionID: string, denial: {
|
|
108
120
|
tool?: string;
|
|
109
121
|
code?: string;
|
package/dist/git/pr.d.ts
CHANGED
|
@@ -69,6 +69,7 @@ export declare const _internals: {
|
|
|
69
69
|
spawnSyncWithTransientRetry: typeof spawnSyncWithTransientRetry;
|
|
70
70
|
spawnSync: typeof __spawnSyncSeam.spawnSync;
|
|
71
71
|
readLaneEnvFileFromDiskSync: typeof readLaneEnvFileFromDiskSync;
|
|
72
|
+
getMergeGroupRun: typeof getMergeGroupRun;
|
|
72
73
|
};
|
|
73
74
|
/**
|
|
74
75
|
* Check if gh CLI is available
|
|
@@ -107,6 +108,7 @@ export interface PRStatusResult {
|
|
|
107
108
|
name: string;
|
|
108
109
|
status: string;
|
|
109
110
|
conclusion: string | null;
|
|
111
|
+
detailsUrl?: string;
|
|
110
112
|
}>;
|
|
111
113
|
}
|
|
112
114
|
export interface PRCheckResult {
|
|
@@ -156,4 +158,25 @@ export declare function getMergeState(prNumber: number, repoFullName: string, cw
|
|
|
156
158
|
* Uses async ghExecAsync to avoid blocking the event loop.
|
|
157
159
|
*/
|
|
158
160
|
export declare function getPRReviewState(prNumber: number, repoFullName: string, cwd: string): Promise<ReviewStateResult>;
|
|
161
|
+
/**
|
|
162
|
+
* Result of fetching a GitHub Actions run for a PR's merge group.
|
|
163
|
+
*/
|
|
164
|
+
export interface MergeGroupRunResult {
|
|
165
|
+
/** Run status: queued, in_progress, completed. */
|
|
166
|
+
status: string;
|
|
167
|
+
/** Run conclusion: success, failure, cancelled, etc. */
|
|
168
|
+
conclusion: string | null;
|
|
169
|
+
/** HTML URL to the run. */
|
|
170
|
+
htmlUrl: string;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Fetch the merge group GitHub Actions run for a PR.
|
|
174
|
+
*
|
|
175
|
+
* Searches the PR's statusCheckRollup for the "Merge pull request" check,
|
|
176
|
+
* extracts the run ID from its detailsUrl, and fetches the run details
|
|
177
|
+
* via `gh run view`.
|
|
178
|
+
*
|
|
179
|
+
* Returns null if no merge group check is found (PR not in a merge queue).
|
|
180
|
+
*/
|
|
181
|
+
export declare function getMergeGroupRun(statusCheckRollup: PRStatusResult['statusCheckRollup'], repoFullName: string, cwd: string): Promise<MergeGroupRunResult | null>;
|
|
159
182
|
export {};
|