opencode-swarm 7.129.4 → 7.130.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/swarm-pr-review/SKILL.md +75 -26
- package/dist/background/pr-monitor-worker.d.ts +19 -0
- package/dist/cli/{config-doctor-2admdwc2.js → config-doctor-489wej17.js} +2 -2
- package/dist/cli/{curation-policy-s08pg90f.js → curation-policy-aaz0hap6.js} +2 -2
- package/dist/cli/{curator-6ggzktne.js → curator-by14m5fc.js} +12 -12
- package/dist/cli/{curator-llm-factory-w6ep20tm.js → curator-llm-factory-7rz7mvcr.js} +12 -12
- package/dist/cli/{guardrail-explain-0gr9wkj0.js → guardrail-explain-mvct2n9f.js} +13 -13
- package/dist/cli/{guardrail-log-7cychbgs.js → guardrail-log-2cejc33f.js} +3 -3
- package/dist/cli/{hive-promoter-4x3470c9.js → hive-promoter-trezcyrd.js} +12 -12
- package/dist/cli/{index-mgz9nm4a.js → index-3rnkyb60.js} +5 -5
- package/dist/cli/{index-jke1z4f2.js → index-4qrbvrz5.js} +41 -38
- package/dist/cli/{index-7ttstfv6.js → index-5xxgeksy.js} +9 -0
- package/dist/cli/{index-nbdge8b6.js → index-agte9w1e.js} +2 -2
- package/dist/cli/{index-v4n224r1.js → index-hjar4crm.js} +1 -1
- package/dist/cli/{index-hn1dxcr3.js → index-j0py44fv.js} +2 -2
- package/dist/cli/{index-8fy8q1px.js → index-jvyn76xe.js} +3 -3
- package/dist/cli/{index-bz814zsm.js → index-jxha73tm.js} +1 -1
- package/dist/cli/{index-yxz0c97p.js → index-nr5pr54q.js} +1 -1
- package/dist/cli/{index-cpssctv1.js → index-p6qgjkbt.js} +1 -1
- package/dist/cli/{index-hbbj7ktj.js → index-s8h2cedv.js} +1 -1
- package/dist/cli/{index-n08cksd6.js → index-ts9wh1ba.js} +4 -4
- package/dist/cli/{index-x7wt1g4w.js → index-wy3q73j2.js} +2 -2
- package/dist/cli/{index-nhexgq4a.js → index-xa29259t.js} +1 -1
- package/dist/cli/{index-803bqrzq.js → index-xdx5b4s1.js} +14 -14
- package/dist/cli/{index-8etcyr9r.js → index-zft4hp35.js} +1 -1
- package/dist/cli/index.js +12 -12
- package/dist/cli/{knowledge-escalator-jjyn29ht.js → knowledge-escalator-1ypz0266.js} +3 -3
- package/dist/cli/{knowledge-events-f75n3916.js → knowledge-events-yvcczmja.js} +1 -1
- package/dist/cli/{knowledge-store-7sahm702.js → knowledge-store-h8bp9eje.js} +1 -1
- package/dist/cli/{knowledge-validator-rjwvafv3.js → knowledge-validator-sz9v1fdq.js} +4 -4
- package/dist/cli/{scan-cursor-518rhxyd.js → scan-cursor-k9zyt374.js} +2 -2
- package/dist/cli/{schema-2x7wsb0n.js → schema-fkpn2r1s.js} +1 -1
- package/dist/cli/{skill-generator-hk6mc7pc.js → skill-generator-a6a9jxfd.js} +5 -5
- package/dist/config/schema.d.ts +2 -0
- package/dist/hooks/pr-workflow-gate.d.ts +9 -0
- package/dist/hooks/pr-workflow-response-gate.d.ts +29 -6
- package/dist/index.js +47 -43
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/manifest.d.ts +1 -0
- package/dist/tools/pr-workflow-status.d.ts +28 -0
- package/dist/tools/prepare-pr-workflow-checkout.d.ts +7 -1
- package/dist/tools/tool-metadata.d.ts +8 -0
- package/package.json +1 -1
|
@@ -23,11 +23,11 @@ import {
|
|
|
23
23
|
validateLesson,
|
|
24
24
|
validateSkillCandidatePath,
|
|
25
25
|
validateSkillPath
|
|
26
|
-
} from "./index-
|
|
27
|
-
import"./index-
|
|
26
|
+
} from "./index-wy3q73j2.js";
|
|
27
|
+
import"./index-xa29259t.js";
|
|
28
28
|
import"./index-rtry5xyf.js";
|
|
29
|
-
import"./index-
|
|
30
|
-
import"./index-
|
|
29
|
+
import"./index-ts9wh1ba.js";
|
|
30
|
+
import"./index-jxha73tm.js";
|
|
31
31
|
import"./index-ae75rja9.js";
|
|
32
32
|
import"./index-q27bajqb.js";
|
|
33
33
|
import"./index-bk5tah7q.js";
|
|
@@ -4,8 +4,8 @@ import {
|
|
|
4
4
|
alreadyCuratedThisGeneration,
|
|
5
5
|
claimNextScanBatch,
|
|
6
6
|
getScanStatus
|
|
7
|
-
} from "./index-
|
|
8
|
-
import"./index-
|
|
7
|
+
} from "./index-s8h2cedv.js";
|
|
8
|
+
import"./index-ts9wh1ba.js";
|
|
9
9
|
import"./index-ae75rja9.js";
|
|
10
10
|
import"./index-q27bajqb.js";
|
|
11
11
|
import"./index-bk5tah7q.js";
|
|
@@ -33,12 +33,12 @@ import {
|
|
|
33
33
|
sanitizeSlug,
|
|
34
34
|
selectCandidateEntries,
|
|
35
35
|
writeEvalStub
|
|
36
|
-
} from "./index-
|
|
37
|
-
import"./index-
|
|
38
|
-
import"./index-
|
|
36
|
+
} from "./index-jvyn76xe.js";
|
|
37
|
+
import"./index-wy3q73j2.js";
|
|
38
|
+
import"./index-xa29259t.js";
|
|
39
39
|
import"./index-rtry5xyf.js";
|
|
40
|
-
import"./index-
|
|
41
|
-
import"./index-
|
|
40
|
+
import"./index-ts9wh1ba.js";
|
|
41
|
+
import"./index-jxha73tm.js";
|
|
42
42
|
import"./index-ae75rja9.js";
|
|
43
43
|
import"./index-q27bajqb.js";
|
|
44
44
|
import"./index-bk5tah7q.js";
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -553,6 +553,7 @@ export type RepoGraphConfig = z.infer<typeof RepoGraphConfigSchema>;
|
|
|
553
553
|
export declare const CheckpointConfigSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
|
|
554
554
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
555
555
|
auto_checkpoint_threshold: z.ZodDefault<z.ZodNumber>;
|
|
556
|
+
max_retention: z.ZodDefault<z.ZodNumber>;
|
|
556
557
|
allow_empty_commits: z.ZodDefault<z.ZodBoolean>;
|
|
557
558
|
}, z.core.$strict>>;
|
|
558
559
|
export type CheckpointConfig = z.infer<typeof CheckpointConfigSchema>;
|
|
@@ -1885,6 +1886,7 @@ export declare const PluginConfigSchema: z.ZodObject<{
|
|
|
1885
1886
|
checkpoint: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
|
|
1886
1887
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1887
1888
|
auto_checkpoint_threshold: z.ZodDefault<z.ZodNumber>;
|
|
1889
|
+
max_retention: z.ZodDefault<z.ZodNumber>;
|
|
1888
1890
|
allow_empty_commits: z.ZodDefault<z.ZodBoolean>;
|
|
1889
1891
|
}, z.core.$strict>>>;
|
|
1890
1892
|
apply_patch: z.ZodOptional<z.ZodObject<{
|
|
@@ -357,6 +357,15 @@ export declare const _test_exports: {
|
|
|
357
357
|
rename: typeof fsp.rename;
|
|
358
358
|
nowMs: () => number;
|
|
359
359
|
};
|
|
360
|
+
/**
|
|
361
|
+
* Strip the tolerated read-only wrappers (leading `cd <path> &&` segments and one
|
|
362
|
+
* trailing `2>&1`), reporting whether a cd prefix was removed so state-transition
|
|
363
|
+
* verbs can keep requiring the bare form (see the git `-C` ban those verbs carry).
|
|
364
|
+
*/
|
|
365
|
+
export declare function normalizePrWorkflowShellCommand(command: string): {
|
|
366
|
+
normalized: string;
|
|
367
|
+
strippedCdPrefix: boolean;
|
|
368
|
+
};
|
|
360
369
|
/** Require at least one real discovery row or a lane-bound CLEAN attestation. */
|
|
361
370
|
export declare function prReviewDiscoveryArtifactCoversLane(text: string, expectedWorkflowLane: string): boolean;
|
|
362
371
|
declare function parseCriticVerdict(text: string, itemId: string, reviewerSeverity?: string): {
|
|
@@ -25,9 +25,27 @@ export declare const DEFAULT_MAX_CONSECUTIVE_UNPRODUCTIVE_WAKES = 5;
|
|
|
25
25
|
* bumping `revision` never waits.
|
|
26
26
|
*/
|
|
27
27
|
export declare const DEFAULT_WAKE_COOLDOWN_MS = 30000;
|
|
28
|
+
/**
|
|
29
|
+
* Minimum time between FULL workflow banners prepended to a single session's
|
|
30
|
+
* completed text parts. The textComplete hook prepends a banner to every
|
|
31
|
+
* architect text part while the durable gate exists; without a cooldown a
|
|
32
|
+
* burst of reasoning parts repeats the full multi-line banner many times
|
|
33
|
+
* (field report: ~8 repeats between two model thoughts). Within the cooldown a
|
|
34
|
+
* short one-line marker is prepended instead; the full banner (and its
|
|
35
|
+
* suspension/interruption recovery notices) returns once the cooldown elapses.
|
|
36
|
+
*
|
|
37
|
+
* The input event exposes only `{ sessionID }` — there is NO message/part ID —
|
|
38
|
+
* so this dedupe is necessarily a per-session cooldown, not a per-message one.
|
|
39
|
+
*
|
|
40
|
+
* Suspended and user-interrupted states BYPASS the cooldown entirely: those are
|
|
41
|
+
* invariant-10 operational notices that must appear in full on every part.
|
|
42
|
+
* Overridable via `createPrWorkflowResponseGate({ bannerCooldownMs })`.
|
|
43
|
+
*/
|
|
44
|
+
export declare const DEFAULT_BANNER_COOLDOWN_MS = 20000;
|
|
28
45
|
/**
|
|
29
46
|
* Bounded FIFO map of tracked wake budgets. Invariant 8 (session/global
|
|
30
|
-
* state): module-level state must have an explicit eviction strategy.
|
|
47
|
+
* state): module-level state must have an explicit eviction strategy. The
|
|
48
|
+
* banner-stamp map (last full-banner instant per session) shares this bound.
|
|
31
49
|
*/
|
|
32
50
|
export declare const MAX_TRACKED_WAKE_SESSIONS = 200;
|
|
33
51
|
interface PrWorkflowResponseGateClient {
|
|
@@ -41,15 +59,19 @@ interface WakeBudget {
|
|
|
41
59
|
}
|
|
42
60
|
/**
|
|
43
61
|
* Prevent an architect from masquerading a premature text output as a terminal
|
|
44
|
-
* verdict. The text-complete hook prepends a workflow-active banner to
|
|
45
|
-
* architect-session text
|
|
46
|
-
* original text is preserved below the banner.
|
|
62
|
+
* verdict. The text-complete hook prepends a workflow-active banner to
|
|
63
|
+
* architect-session text parts while the durable gate exists; the model's
|
|
64
|
+
* original text is preserved below the banner. To avoid spamming the full
|
|
65
|
+
* multi-line banner across a burst of reasoning parts, the full banner is
|
|
66
|
+
* throttled per session (see DEFAULT_BANNER_COOLDOWN_MS) — within the cooldown a
|
|
67
|
+
* short one-line marker is prepended instead. session.idle then mechanically
|
|
47
68
|
* resumes that session.
|
|
48
69
|
*
|
|
49
70
|
* The resume loop is bounded (see DEFAULT_MAX_CONSECUTIVE_UNPRODUCTIVE_WAKES)
|
|
50
71
|
* so a session that cannot make progress suspends instead of spinning
|
|
51
|
-
* forever.
|
|
52
|
-
*
|
|
72
|
+
* forever. Suspended and user-interrupted parts bypass the cooldown and always
|
|
73
|
+
* carry the full suspension/interruption recovery notices so the user-visible
|
|
74
|
+
* surface always names the recovery path.
|
|
53
75
|
*/
|
|
54
76
|
export declare function createPrWorkflowResponseGate(options: {
|
|
55
77
|
directory: string;
|
|
@@ -57,6 +79,7 @@ export declare function createPrWorkflowResponseGate(options: {
|
|
|
57
79
|
wakeTimeoutMs?: number;
|
|
58
80
|
maxConsecutiveUnproductiveWakes?: number;
|
|
59
81
|
wakeCooldownMs?: number;
|
|
82
|
+
bannerCooldownMs?: number;
|
|
60
83
|
}): {
|
|
61
84
|
event: (input: {
|
|
62
85
|
event: unknown;
|