opencode-swarm 7.113.1 → 7.113.3
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/engineering-conventions/SKILL.md +5 -0
- package/.opencode/skills/gate-attribution/SKILL.md +2 -0
- package/binaries/win32-arm64/.gitkeep +0 -0
- package/binaries/win32-x64/.gitkeep +0 -0
- package/dist/background/event-bus.d.ts +1 -1
- package/dist/background/pending-delegations.d.ts +8 -0
- package/dist/background/queue.d.ts +11 -0
- package/dist/background/trigger.d.ts +1 -0
- package/dist/background/workspace-snapshot.d.ts +7 -0
- package/dist/cli/{capability-probe-sh9bwh39.js → capability-probe-f1paszww.js} +1 -1
- package/dist/cli/{config-doctor-az11cwf5.js → config-doctor-xbdfrbwt.js} +2 -2
- package/dist/cli/{core-f4cbabe7.js → core-zg8s1jwx.js} +2 -2
- package/dist/cli/{curator-nm2c9y1p.js → curator-ckzb8ww4.js} +23 -22
- package/dist/cli/{curator-drift-jvs1v6em.js → curator-drift-c0by7063.js} +2 -2
- package/dist/cli/curator-llm-factory-mhjcpy1s.js +41 -0
- package/dist/cli/{dispatch-wst7bypk.js → dispatch-mczsxy5s.js} +2 -2
- package/dist/cli/{evidence-summary-service-j6fnsfeq.js → evidence-summary-service-8g594znj.js} +7 -7
- package/dist/cli/{gate-evidence-mk0ss1re.js → gate-evidence-vkpqt300.js} +5 -5
- package/dist/cli/guardrail-explain-kabd97j8.js +42 -0
- package/dist/cli/{guardrail-log-hysxdwg9.js → guardrail-log-qfc2j0tb.js} +4 -4
- package/dist/cli/hive-promoter-h21wzpsr.js +49 -0
- package/dist/cli/{index-0dab9w37.js → index-0p660a87.js} +2 -2
- package/dist/cli/{index-32bx4kch.js → index-0q7rrh59.js} +4 -4
- package/dist/cli/{index-1ey3dxq7.js → index-147ja18h.js} +0 -4
- package/dist/cli/{index-0gf6de8b.js → index-2148358e.js} +45 -1
- package/dist/cli/{index-30ejh1tx.js → index-43khae15.js} +3 -3
- package/dist/cli/{index-pm992z24.js → index-4h2ea8h5.js} +12 -9
- package/dist/cli/{index-5mkc2f9z.js → index-4sckv7y6.js} +1 -1
- package/dist/cli/{index-q1jaeynn.js → index-80jkseqw.js} +2 -2
- package/dist/cli/{index-wvrj16f0.js → index-8fwhhayc.js} +4 -0
- package/dist/cli/{index-npd9rypp.js → index-dh87tpc5.js} +176 -63
- package/dist/cli/{workspace-snapshot-w58jr2ga.js → index-dqh3zhhc.js} +53 -10
- package/dist/cli/{index-d0w40jm3.js → index-f6y341yk.js} +14 -11
- package/dist/cli/{index-db1fh1fv.js → index-g40r5d08.js} +1 -1
- package/dist/cli/{index-8f256d7t.js → index-g6va6n3t.js} +1 -1
- package/dist/cli/{index-9fxs0rm1.js → index-ga4ta3cr.js} +1 -1
- package/dist/cli/{index-t6wfwdm1.js → index-h7q1bvzm.js} +3 -3
- package/dist/cli/{index-rqpm9cwe.js → index-hw4tcxs9.js} +25 -24
- package/dist/cli/{index-h389ed8y.js → index-mr4whary.js} +3 -3
- package/dist/cli/{index-g55nzpwn.js → index-n6fa2hhk.js} +1 -1
- package/dist/cli/{index-vn263hqt.js → index-pa6t33pt.js} +17 -10
- package/dist/cli/{index-h91bv3hy.js → index-qe3v54nb.js} +6 -1
- package/dist/cli/{index-hpp2r0sd.js → index-qzqx2qky.js} +3 -3
- package/dist/cli/{index-fhmw7evd.js → index-rdwfqhp7.js} +2 -2
- package/dist/cli/{index-ky8eb4q6.js → index-srvqfcyj.js} +2 -2
- package/dist/cli/{index-1rga1vvb.js → index-wh8949ef.js} +1 -1
- package/dist/cli/{index-r9fjzr3k.js → index-xbe1wtme.js} +1 -1
- package/dist/cli/index.js +23 -22
- package/dist/cli/{knowledge-escalator-4gbz527n.js → knowledge-escalator-0q1p6br7.js} +8 -8
- package/dist/cli/{knowledge-events-b6x28fgc.js → knowledge-events-9518gzsp.js} +6 -6
- package/dist/cli/{knowledge-store-h3cjx4dg.js → knowledge-store-k5rab79h.js} +6 -6
- package/dist/cli/{knowledge-validator-q6jw2p0t.js → knowledge-validator-csay9wqj.js} +7 -7
- package/dist/cli/{pending-delegations-gc3a2hfx.js → pending-delegations-ddbkbgxy.js} +11 -4
- package/dist/cli/{pr-subscriptions-p8g2rzxd.js → pr-subscriptions-vwv7zm2p.js} +5 -5
- package/dist/cli/{schema-qb313fyy.js → schema-e5kd993s.js} +1 -1
- package/dist/cli/{scope-persistence-5ccgtebg.js → scope-persistence-fm0gzhnk.js} +2 -2
- package/dist/cli/{skill-generator-nnwn4sq0.js → skill-generator-z01sjppf.js} +9 -9
- package/dist/cli/{telemetry-jm7t8031.js → telemetry-jny76r83.js} +1 -1
- package/dist/cli/workspace-snapshot-eyf6gd0d.js +22 -0
- package/dist/commands/registry.d.ts +7 -0
- package/dist/config/constants.d.ts +1 -1
- package/dist/config/skill-mirrors.d.ts +3 -1
- package/dist/gate-evidence-classification.d.ts +5 -0
- package/dist/gate-evidence.d.ts +14 -3
- package/dist/hooks/messages-transform.d.ts +22 -1
- package/dist/hooks/spawn-helper.d.ts +10 -0
- package/dist/index.js +302 -300
- package/dist/memory/schema.d.ts +4 -4
- package/dist/sandbox/capability-probe.d.ts +14 -0
- package/dist/sandbox/macos/sandbox-exec-executor.d.ts +5 -0
- package/dist/tools/phase-complete.d.ts +8 -0
- package/dist/tools/sast-scan.d.ts +2 -0
- package/dist/tools/tool-metadata.d.ts +1 -1
- package/dist/utils/path-security.d.ts +28 -0
- package/package.json +2 -1
- package/dist/cli/curator-llm-factory-nmhzc774.js +0 -40
- package/dist/cli/guardrail-explain-q1np1xaw.js +0 -41
- package/dist/cli/hive-promoter-z4dezw62.js +0 -48
|
@@ -149,6 +149,11 @@ A baseline captured post-edit silently encodes the very bugs the scan is meant
|
|
|
149
149
|
to catch as "pre-existing," suppressing them indefinitely. This turns the SAST
|
|
150
150
|
gate into theater.
|
|
151
151
|
|
|
152
|
+
Baseline capture also requires at least one supported, existing file to be
|
|
153
|
+
successfully scanned. Omitted, empty, or entirely unscannable `changed_files`
|
|
154
|
+
returns `capture_baseline requires changed_files to produce a non-empty baseline`
|
|
155
|
+
instead of reporting a successful no-op capture.
|
|
156
|
+
|
|
152
157
|
### How to use it
|
|
153
158
|
|
|
154
159
|
1. Identify the files to scan. In a phase, use the union of declared task-scope
|
|
@@ -35,6 +35,8 @@ no reviewed rows are parseable, attribution falls back to the single-task rule.
|
|
|
35
35
|
4. **Collect + attribute:** Single-task lanes auto-attribute to their taskId; set-dispatch rows auto-attribute per parsed row.
|
|
36
36
|
5. **Do NOT rely on prose summaries:** A batched dispatch without parseable rows is ambiguous and does not count per-task.
|
|
37
37
|
|
|
38
|
+
Gate evidence is persisted independently as `.swarm/evidence/{taskId}.json` for each task. Passing set-dispatch rows cause the hook to write one task-scoped file per task; a single multi-task evidence file cannot satisfy any task.
|
|
39
|
+
|
|
38
40
|
## Optimization for trivial tasks
|
|
39
41
|
For pure ceremony gates (1-line doc fix):
|
|
40
42
|
```
|
|
File without changes
|
|
File without changes
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Events flow through the system without external dependencies.
|
|
6
6
|
*/
|
|
7
7
|
/** Automation event types */
|
|
8
|
-
export type AutomationEventType = 'queue.item.enqueued' | 'queue.item.dequeued' | 'queue.item.completed' | 'queue.item.failed' | 'queue.item.retry scheduled' | 'worker.started' | 'worker.stopped' | 'worker.error' | 'circuit.breaker.opened' | 'circuit.breaker.half-open' | 'circuit.breaker.closed' | 'loop.protection.triggered' | 'automation.started' | 'automation.stopped' | 'preflight.requested' | 'preflight.triggered' | 'preflight.skipped' | 'preflight.completed' | 'phase.boundary.detected' | 'phase.status.checked' | 'task.completed' | 'evidence.summary.generated' | 'evidence.summary.error' | 'curator.init.completed' | 'curator.init.llm_completed' | 'curator.init.llm_fallback' | 'curator.phase.completed' | 'curator.phase.llm_completed' | 'curator.phase.llm_fallback' | 'curator.drift.completed' | 'curator.docdrift.completed' | 'curator.error' | 'pr.subscribed' | 'pr.unsubscribed' | 'pr.status.updated' | 'pr.ci.failed' | 'pr.ci.passed' | 'pr.new.comment' | 'pr.merge.conflict' | 'pr.merge.conflict_resolved' | 'pr.merged' | 'pr.closed' | 'pr.review.approved' | 'pr.review.changes_requested' | 'pr.subscription.expired' | 'pr.error';
|
|
8
|
+
export type AutomationEventType = 'queue.item.enqueued' | 'queue.item.dequeued' | 'queue.item.completed' | 'queue.item.evicted' | 'queue.item.failed' | 'queue.item.retry scheduled' | 'worker.started' | 'worker.stopped' | 'worker.error' | 'circuit.breaker.opened' | 'circuit.breaker.half-open' | 'circuit.breaker.closed' | 'loop.protection.triggered' | 'automation.started' | 'automation.stopped' | 'preflight.requested' | 'preflight.triggered' | 'preflight.skipped' | 'preflight.completed' | 'phase.boundary.detected' | 'phase.status.checked' | 'task.completed' | 'evidence.summary.generated' | 'evidence.summary.error' | 'curator.init.completed' | 'curator.init.llm_completed' | 'curator.init.llm_fallback' | 'curator.phase.completed' | 'curator.phase.llm_completed' | 'curator.phase.llm_fallback' | 'curator.drift.completed' | 'curator.docdrift.completed' | 'curator.error' | 'pr.subscribed' | 'pr.unsubscribed' | 'pr.status.updated' | 'pr.ci.failed' | 'pr.ci.passed' | 'pr.new.comment' | 'pr.merge.conflict' | 'pr.merge.conflict_resolved' | 'pr.merged' | 'pr.closed' | 'pr.review.approved' | 'pr.review.changes_requested' | 'pr.subscription.expired' | 'pr.error';
|
|
9
9
|
/** Base automation event */
|
|
10
10
|
export interface AutomationEvent<T = unknown> {
|
|
11
11
|
type: AutomationEventType;
|
|
@@ -56,6 +56,8 @@ export interface BackgroundDelegationRecord {
|
|
|
56
56
|
promptHash?: string;
|
|
57
57
|
/** Project/root provenance captured at dispatch time. */
|
|
58
58
|
workspace?: BackgroundWorkspaceSnapshot;
|
|
59
|
+
/** Immutable pre-coder provenance for doc-only gate classification. */
|
|
60
|
+
taskChangeContext?: BackgroundTaskChangeContext;
|
|
59
61
|
prompt?: BackgroundPromptSnapshot;
|
|
60
62
|
generation?: number;
|
|
61
63
|
result?: BackgroundDelegationResult;
|
|
@@ -65,9 +67,14 @@ export interface BackgroundWorkspaceSnapshot {
|
|
|
65
67
|
directory: string;
|
|
66
68
|
gitHead: string | null;
|
|
67
69
|
dirtyHash: string | null;
|
|
70
|
+
changedFiles?: string[] | null;
|
|
68
71
|
prHeadSha: string | null;
|
|
69
72
|
scope: string | null;
|
|
70
73
|
}
|
|
74
|
+
export interface BackgroundTaskChangeContext {
|
|
75
|
+
declaredFiles: string[] | null;
|
|
76
|
+
baseline: BackgroundWorkspaceSnapshot;
|
|
77
|
+
}
|
|
71
78
|
export interface BackgroundPromptSnapshot {
|
|
72
79
|
text: string;
|
|
73
80
|
chars: number;
|
|
@@ -114,6 +121,7 @@ export interface RecordPendingInput {
|
|
|
114
121
|
mode?: string;
|
|
115
122
|
promptHash?: string;
|
|
116
123
|
workspace?: BackgroundWorkspaceSnapshot;
|
|
124
|
+
taskChangeContext?: BackgroundTaskChangeContext;
|
|
117
125
|
prompt?: BackgroundPromptSnapshot;
|
|
118
126
|
generation?: number;
|
|
119
127
|
}
|
|
@@ -7,6 +7,14 @@
|
|
|
7
7
|
*/
|
|
8
8
|
/** Queue priority levels */
|
|
9
9
|
export type QueuePriority = 'critical' | 'high' | 'normal' | 'low';
|
|
10
|
+
/**
|
|
11
|
+
* Behaviour when enqueueing into a full queue.
|
|
12
|
+
* - `throw` (default): reject the new item — the historical behaviour.
|
|
13
|
+
* - `evict-oldest`: drop the oldest item to make room, forming a bounded
|
|
14
|
+
* rolling window that can never brick (issue #1778 H5). Opt-in per queue so
|
|
15
|
+
* other consumers keep the fail-loud `throw` semantics.
|
|
16
|
+
*/
|
|
17
|
+
export type OverflowStrategy = 'throw' | 'evict-oldest';
|
|
10
18
|
/** Retry metadata for failed items */
|
|
11
19
|
export interface RetryMetadata {
|
|
12
20
|
attempts: number;
|
|
@@ -32,6 +40,8 @@ export interface QueueConfig {
|
|
|
32
40
|
defaultMaxRetries?: number;
|
|
33
41
|
defaultBackoffMs?: number;
|
|
34
42
|
maxBackoffMs?: number;
|
|
43
|
+
/** Overflow behaviour at cap. Defaults to `throw`. */
|
|
44
|
+
overflowStrategy?: OverflowStrategy;
|
|
35
45
|
}
|
|
36
46
|
/**
|
|
37
47
|
* In-process queue with priority support and retry metadata
|
|
@@ -43,6 +53,7 @@ export declare class AutomationQueue<T = unknown> {
|
|
|
43
53
|
private readonly defaultBackoffMs;
|
|
44
54
|
private readonly maxBackoffMs;
|
|
45
55
|
private readonly eventBus;
|
|
56
|
+
private readonly overflowStrategy;
|
|
46
57
|
private itemCounter;
|
|
47
58
|
constructor(config?: QueueConfig);
|
|
48
59
|
/**
|
|
@@ -115,6 +115,7 @@ export declare class PreflightTriggerManager {
|
|
|
115
115
|
private requestCounter;
|
|
116
116
|
private preflightHandler;
|
|
117
117
|
private unsubscribe;
|
|
118
|
+
private unsubscribeSkipped;
|
|
118
119
|
constructor(automationConfig: AutomationConfig, eventBus?: AutomationEventBus, triggerConfig?: PreflightTriggerConfig);
|
|
119
120
|
/**
|
|
120
121
|
* Check if preflight triggers are enabled via feature flags
|
|
@@ -11,7 +11,14 @@ interface CaptureWorkspaceSnapshotOptions {
|
|
|
11
11
|
*/
|
|
12
12
|
resolveCurrentPrHeadSha?: boolean;
|
|
13
13
|
}
|
|
14
|
+
/** Parse `git status --porcelain=v1 -z`, including both sides of renames. */
|
|
15
|
+
export declare function parsePorcelainPaths(output: string): string[] | null;
|
|
14
16
|
export declare function captureWorkspaceSnapshot(directory: string, optionsOrScope?: string | null | CaptureWorkspaceSnapshotOptions, prHeadShaArg?: string | null): BackgroundWorkspaceSnapshot;
|
|
17
|
+
/**
|
|
18
|
+
* Conservatively derive final paths changed since a pre-task snapshot.
|
|
19
|
+
* Git or parsing failures return null so gate classification fails closed.
|
|
20
|
+
*/
|
|
21
|
+
export declare function changedFilesSinceSnapshot(directory: string, baseline: BackgroundWorkspaceSnapshot | undefined): string[] | null;
|
|
15
22
|
export declare function workspaceSnapshotMatches(expected: BackgroundWorkspaceSnapshot | undefined, current: BackgroundWorkspaceSnapshot): {
|
|
16
23
|
ok: true;
|
|
17
24
|
} | {
|
|
@@ -12,8 +12,8 @@ import {
|
|
|
12
12
|
shouldRunOnStartup,
|
|
13
13
|
writeBackupArtifact,
|
|
14
14
|
writeDoctorArtifact
|
|
15
|
-
} from "./index-
|
|
16
|
-
import"./index-
|
|
15
|
+
} from "./index-2148358e.js";
|
|
16
|
+
import"./index-147ja18h.js";
|
|
17
17
|
import"./index-bfwt3abw.js";
|
|
18
18
|
import"./index-5e4e2hvv.js";
|
|
19
19
|
import"./index-p0arc26j.js";
|
|
@@ -14,11 +14,11 @@ import {
|
|
|
14
14
|
resolveWorktreeBaseDir,
|
|
15
15
|
shortenWorktreePath,
|
|
16
16
|
writeLaneProfileToDiskReal
|
|
17
|
-
} from "./index-
|
|
17
|
+
} from "./index-rdwfqhp7.js";
|
|
18
18
|
import"./index-5e4e2hvv.js";
|
|
19
19
|
import"./index-p0arc26j.js";
|
|
20
20
|
import"./index-zgwm4ryv.js";
|
|
21
|
-
import"./index-
|
|
21
|
+
import"./index-qe3v54nb.js";
|
|
22
22
|
import"./index-a76rekgs.js";
|
|
23
23
|
export {
|
|
24
24
|
writeLaneProfileToDiskReal,
|
|
@@ -12,39 +12,40 @@ import {
|
|
|
12
12
|
runCuratorInit,
|
|
13
13
|
runCuratorPhase,
|
|
14
14
|
writeCuratorSummary
|
|
15
|
-
} from "./index-
|
|
16
|
-
import"./index-
|
|
15
|
+
} from "./index-dh87tpc5.js";
|
|
16
|
+
import"./index-g6va6n3t.js";
|
|
17
17
|
import"./index-c8s9a3zh.js";
|
|
18
|
-
import"./index-
|
|
19
|
-
import"./index-
|
|
20
|
-
import"./index-
|
|
18
|
+
import"./index-2148358e.js";
|
|
19
|
+
import"./index-147ja18h.js";
|
|
20
|
+
import"./index-f6y341yk.js";
|
|
21
21
|
import"./index-scww5b77.js";
|
|
22
|
-
import"./index-
|
|
23
|
-
import"./index-
|
|
24
|
-
import"./index-
|
|
25
|
-
import"./index-
|
|
26
|
-
import"./index-
|
|
27
|
-
import"./index-
|
|
28
|
-
import"./index-
|
|
22
|
+
import"./index-ga4ta3cr.js";
|
|
23
|
+
import"./index-80jkseqw.js";
|
|
24
|
+
import"./index-mr4whary.js";
|
|
25
|
+
import"./index-43khae15.js";
|
|
26
|
+
import"./index-h7q1bvzm.js";
|
|
27
|
+
import"./index-qzqx2qky.js";
|
|
28
|
+
import"./index-0q7rrh59.js";
|
|
29
29
|
import"./index-bfwt3abw.js";
|
|
30
|
-
import"./index-
|
|
30
|
+
import"./index-g40r5d08.js";
|
|
31
31
|
import"./index-jt58s751.js";
|
|
32
|
-
import"./index-
|
|
32
|
+
import"./index-8fwhhayc.js";
|
|
33
33
|
import"./index-q1exe2b3.js";
|
|
34
|
-
import"./index-
|
|
35
|
-
import"./index-
|
|
36
|
-
import"./index-
|
|
34
|
+
import"./index-n6fa2hhk.js";
|
|
35
|
+
import"./index-rdwfqhp7.js";
|
|
36
|
+
import"./index-wh8949ef.js";
|
|
37
37
|
import"./index-jtqkh8jf.js";
|
|
38
38
|
import"./index-5e4e2hvv.js";
|
|
39
39
|
import"./index-p0arc26j.js";
|
|
40
40
|
import"./index-zgwm4ryv.js";
|
|
41
|
-
import"./index-
|
|
42
|
-
import"./index-
|
|
41
|
+
import"./index-dqh3zhhc.js";
|
|
42
|
+
import"./index-4h2ea8h5.js";
|
|
43
|
+
import"./index-0p660a87.js";
|
|
43
44
|
import"./index-293f68mj.js";
|
|
44
|
-
import"./index-
|
|
45
|
-
import"./index-
|
|
45
|
+
import"./index-4sckv7y6.js";
|
|
46
|
+
import"./index-pa6t33pt.js";
|
|
46
47
|
import"./index-vvk2g744.js";
|
|
47
|
-
import"./index-
|
|
48
|
+
import"./index-qe3v54nb.js";
|
|
48
49
|
import"./index-a76rekgs.js";
|
|
49
50
|
export {
|
|
50
51
|
writeCuratorSummary,
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
readSwarmFileAsync,
|
|
10
10
|
validateSwarmPath
|
|
11
|
-
} from "./index-
|
|
11
|
+
} from "./index-wh8949ef.js";
|
|
12
12
|
import"./index-jtqkh8jf.js";
|
|
13
13
|
import"./index-5e4e2hvv.js";
|
|
14
14
|
import"./index-p0arc26j.js";
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
warn
|
|
18
18
|
} from "./index-zgwm4ryv.js";
|
|
19
19
|
import"./index-293f68mj.js";
|
|
20
|
-
import"./index-
|
|
20
|
+
import"./index-qe3v54nb.js";
|
|
21
21
|
import"./index-a76rekgs.js";
|
|
22
22
|
|
|
23
23
|
// src/hooks/curator-drift.ts
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import {
|
|
3
|
+
createCuratorLLMDelegate
|
|
4
|
+
} from "./index-dh87tpc5.js";
|
|
5
|
+
import"./index-g6va6n3t.js";
|
|
6
|
+
import"./index-c8s9a3zh.js";
|
|
7
|
+
import"./index-2148358e.js";
|
|
8
|
+
import"./index-147ja18h.js";
|
|
9
|
+
import"./index-f6y341yk.js";
|
|
10
|
+
import"./index-scww5b77.js";
|
|
11
|
+
import"./index-ga4ta3cr.js";
|
|
12
|
+
import"./index-80jkseqw.js";
|
|
13
|
+
import"./index-mr4whary.js";
|
|
14
|
+
import"./index-43khae15.js";
|
|
15
|
+
import"./index-h7q1bvzm.js";
|
|
16
|
+
import"./index-qzqx2qky.js";
|
|
17
|
+
import"./index-0q7rrh59.js";
|
|
18
|
+
import"./index-bfwt3abw.js";
|
|
19
|
+
import"./index-g40r5d08.js";
|
|
20
|
+
import"./index-jt58s751.js";
|
|
21
|
+
import"./index-8fwhhayc.js";
|
|
22
|
+
import"./index-q1exe2b3.js";
|
|
23
|
+
import"./index-n6fa2hhk.js";
|
|
24
|
+
import"./index-rdwfqhp7.js";
|
|
25
|
+
import"./index-wh8949ef.js";
|
|
26
|
+
import"./index-jtqkh8jf.js";
|
|
27
|
+
import"./index-5e4e2hvv.js";
|
|
28
|
+
import"./index-p0arc26j.js";
|
|
29
|
+
import"./index-zgwm4ryv.js";
|
|
30
|
+
import"./index-dqh3zhhc.js";
|
|
31
|
+
import"./index-4h2ea8h5.js";
|
|
32
|
+
import"./index-0p660a87.js";
|
|
33
|
+
import"./index-293f68mj.js";
|
|
34
|
+
import"./index-4sckv7y6.js";
|
|
35
|
+
import"./index-pa6t33pt.js";
|
|
36
|
+
import"./index-vvk2g744.js";
|
|
37
|
+
import"./index-qe3v54nb.js";
|
|
38
|
+
import"./index-a76rekgs.js";
|
|
39
|
+
export {
|
|
40
|
+
createCuratorLLMDelegate
|
|
41
|
+
};
|
|
@@ -11,11 +11,11 @@ import {
|
|
|
11
11
|
defaultTestFilesFor,
|
|
12
12
|
detectProjectLanguages,
|
|
13
13
|
tokenizeCommand
|
|
14
|
-
} from "./index-
|
|
14
|
+
} from "./index-ga4ta3cr.js";
|
|
15
15
|
import"./index-5e4e2hvv.js";
|
|
16
16
|
import"./index-p0arc26j.js";
|
|
17
17
|
import"./index-zgwm4ryv.js";
|
|
18
|
-
import"./index-
|
|
18
|
+
import"./index-qe3v54nb.js";
|
|
19
19
|
import"./index-a76rekgs.js";
|
|
20
20
|
|
|
21
21
|
// src/lang/dispatch.ts
|
package/dist/cli/{evidence-summary-service-j6fnsfeq.js → evidence-summary-service-8g594znj.js}
RENAMED
|
@@ -6,23 +6,23 @@ import {
|
|
|
6
6
|
loadPlanJsonOnly,
|
|
7
7
|
mergeDurableGateEntriesFromEvidence,
|
|
8
8
|
readDurableGateEvidence
|
|
9
|
-
} from "./index-
|
|
9
|
+
} from "./index-f6y341yk.js";
|
|
10
10
|
import"./index-scww5b77.js";
|
|
11
11
|
import"./index-q1exe2b3.js";
|
|
12
|
-
import"./index-
|
|
12
|
+
import"./index-wh8949ef.js";
|
|
13
13
|
import"./index-jtqkh8jf.js";
|
|
14
14
|
import"./index-5e4e2hvv.js";
|
|
15
15
|
import"./index-p0arc26j.js";
|
|
16
16
|
import {
|
|
17
17
|
log
|
|
18
18
|
} from "./index-zgwm4ryv.js";
|
|
19
|
-
import"./index-
|
|
20
|
-
import"./index-
|
|
19
|
+
import"./index-4h2ea8h5.js";
|
|
20
|
+
import"./index-0p660a87.js";
|
|
21
21
|
import"./index-293f68mj.js";
|
|
22
|
-
import"./index-
|
|
23
|
-
import"./index-
|
|
22
|
+
import"./index-4sckv7y6.js";
|
|
23
|
+
import"./index-pa6t33pt.js";
|
|
24
24
|
import"./index-vvk2g744.js";
|
|
25
|
-
import"./index-
|
|
25
|
+
import"./index-qe3v54nb.js";
|
|
26
26
|
import"./index-a76rekgs.js";
|
|
27
27
|
|
|
28
28
|
// src/services/evidence-summary-service.ts
|
|
@@ -9,13 +9,13 @@ import {
|
|
|
9
9
|
readTaskEvidenceRaw,
|
|
10
10
|
recordAgentDispatch,
|
|
11
11
|
recordGateEvidence
|
|
12
|
-
} from "./index-
|
|
13
|
-
import"./index-
|
|
12
|
+
} from "./index-4h2ea8h5.js";
|
|
13
|
+
import"./index-0p660a87.js";
|
|
14
14
|
import"./index-293f68mj.js";
|
|
15
|
-
import"./index-
|
|
16
|
-
import"./index-
|
|
15
|
+
import"./index-4sckv7y6.js";
|
|
16
|
+
import"./index-pa6t33pt.js";
|
|
17
17
|
import"./index-vvk2g744.js";
|
|
18
|
-
import"./index-
|
|
18
|
+
import"./index-qe3v54nb.js";
|
|
19
19
|
import"./index-a76rekgs.js";
|
|
20
20
|
export {
|
|
21
21
|
recordGateEvidence,
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import {
|
|
3
|
+
handleGuardrailExplain
|
|
4
|
+
} from "./index-srvqfcyj.js";
|
|
5
|
+
import"./index-dh87tpc5.js";
|
|
6
|
+
import"./index-g6va6n3t.js";
|
|
7
|
+
import"./index-c8s9a3zh.js";
|
|
8
|
+
import"./index-2148358e.js";
|
|
9
|
+
import"./index-147ja18h.js";
|
|
10
|
+
import"./index-f6y341yk.js";
|
|
11
|
+
import"./index-scww5b77.js";
|
|
12
|
+
import"./index-ga4ta3cr.js";
|
|
13
|
+
import"./index-80jkseqw.js";
|
|
14
|
+
import"./index-mr4whary.js";
|
|
15
|
+
import"./index-43khae15.js";
|
|
16
|
+
import"./index-h7q1bvzm.js";
|
|
17
|
+
import"./index-qzqx2qky.js";
|
|
18
|
+
import"./index-0q7rrh59.js";
|
|
19
|
+
import"./index-bfwt3abw.js";
|
|
20
|
+
import"./index-g40r5d08.js";
|
|
21
|
+
import"./index-jt58s751.js";
|
|
22
|
+
import"./index-8fwhhayc.js";
|
|
23
|
+
import"./index-q1exe2b3.js";
|
|
24
|
+
import"./index-n6fa2hhk.js";
|
|
25
|
+
import"./index-rdwfqhp7.js";
|
|
26
|
+
import"./index-wh8949ef.js";
|
|
27
|
+
import"./index-jtqkh8jf.js";
|
|
28
|
+
import"./index-5e4e2hvv.js";
|
|
29
|
+
import"./index-p0arc26j.js";
|
|
30
|
+
import"./index-zgwm4ryv.js";
|
|
31
|
+
import"./index-dqh3zhhc.js";
|
|
32
|
+
import"./index-4h2ea8h5.js";
|
|
33
|
+
import"./index-0p660a87.js";
|
|
34
|
+
import"./index-293f68mj.js";
|
|
35
|
+
import"./index-4sckv7y6.js";
|
|
36
|
+
import"./index-pa6t33pt.js";
|
|
37
|
+
import"./index-vvk2g744.js";
|
|
38
|
+
import"./index-qe3v54nb.js";
|
|
39
|
+
import"./index-a76rekgs.js";
|
|
40
|
+
export {
|
|
41
|
+
handleGuardrailExplain
|
|
42
|
+
};
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
handleGuardrailLog
|
|
4
|
-
} from "./index-
|
|
5
|
-
import"./index-
|
|
6
|
-
import"./index-
|
|
4
|
+
} from "./index-xbe1wtme.js";
|
|
5
|
+
import"./index-g6va6n3t.js";
|
|
6
|
+
import"./index-147ja18h.js";
|
|
7
7
|
import"./index-bfwt3abw.js";
|
|
8
8
|
import"./index-5e4e2hvv.js";
|
|
9
9
|
import"./index-p0arc26j.js";
|
|
10
10
|
import"./index-zgwm4ryv.js";
|
|
11
11
|
import"./index-293f68mj.js";
|
|
12
|
-
import"./index-
|
|
12
|
+
import"./index-qe3v54nb.js";
|
|
13
13
|
import"./index-a76rekgs.js";
|
|
14
14
|
export {
|
|
15
15
|
handleGuardrailLog
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import {
|
|
3
|
+
checkHivePromotions,
|
|
4
|
+
createHivePromoterHook,
|
|
5
|
+
isHiveEligible,
|
|
6
|
+
promoteFromSwarm,
|
|
7
|
+
promoteToHive
|
|
8
|
+
} from "./index-dh87tpc5.js";
|
|
9
|
+
import"./index-g6va6n3t.js";
|
|
10
|
+
import"./index-c8s9a3zh.js";
|
|
11
|
+
import"./index-2148358e.js";
|
|
12
|
+
import"./index-147ja18h.js";
|
|
13
|
+
import"./index-f6y341yk.js";
|
|
14
|
+
import"./index-scww5b77.js";
|
|
15
|
+
import"./index-ga4ta3cr.js";
|
|
16
|
+
import"./index-80jkseqw.js";
|
|
17
|
+
import"./index-mr4whary.js";
|
|
18
|
+
import"./index-43khae15.js";
|
|
19
|
+
import"./index-h7q1bvzm.js";
|
|
20
|
+
import"./index-qzqx2qky.js";
|
|
21
|
+
import"./index-0q7rrh59.js";
|
|
22
|
+
import"./index-bfwt3abw.js";
|
|
23
|
+
import"./index-g40r5d08.js";
|
|
24
|
+
import"./index-jt58s751.js";
|
|
25
|
+
import"./index-8fwhhayc.js";
|
|
26
|
+
import"./index-q1exe2b3.js";
|
|
27
|
+
import"./index-n6fa2hhk.js";
|
|
28
|
+
import"./index-rdwfqhp7.js";
|
|
29
|
+
import"./index-wh8949ef.js";
|
|
30
|
+
import"./index-jtqkh8jf.js";
|
|
31
|
+
import"./index-5e4e2hvv.js";
|
|
32
|
+
import"./index-p0arc26j.js";
|
|
33
|
+
import"./index-zgwm4ryv.js";
|
|
34
|
+
import"./index-dqh3zhhc.js";
|
|
35
|
+
import"./index-4h2ea8h5.js";
|
|
36
|
+
import"./index-0p660a87.js";
|
|
37
|
+
import"./index-293f68mj.js";
|
|
38
|
+
import"./index-4sckv7y6.js";
|
|
39
|
+
import"./index-pa6t33pt.js";
|
|
40
|
+
import"./index-vvk2g744.js";
|
|
41
|
+
import"./index-qe3v54nb.js";
|
|
42
|
+
import"./index-a76rekgs.js";
|
|
43
|
+
export {
|
|
44
|
+
promoteToHive,
|
|
45
|
+
promoteFromSwarm,
|
|
46
|
+
isHiveEligible,
|
|
47
|
+
createHivePromoterHook,
|
|
48
|
+
checkHivePromotions
|
|
49
|
+
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
withEvidenceLock
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-4sckv7y6.js";
|
|
5
5
|
import {
|
|
6
6
|
bunWrite
|
|
7
|
-
} from "./index-
|
|
7
|
+
} from "./index-qe3v54nb.js";
|
|
8
8
|
|
|
9
9
|
// src/evidence/task-file.ts
|
|
10
10
|
import { renameSync, unlinkSync } from "fs";
|
|
@@ -4,13 +4,13 @@ import {
|
|
|
4
4
|
} from "./index-bfwt3abw.js";
|
|
5
5
|
import {
|
|
6
6
|
resolveKnowledgeStoreDir
|
|
7
|
-
} from "./index-
|
|
7
|
+
} from "./index-g40r5d08.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-0p660a87.js";
|
|
14
14
|
import {
|
|
15
15
|
require_proper_lockfile
|
|
16
16
|
} from "./index-vvk2g744.js";
|
|
@@ -590,7 +590,7 @@ async function applyConfidenceFloorAction(directory, touched, options) {
|
|
|
590
590
|
const recovered = touched.filter((e) => e.confidence > CONFIDENCE_FLOOR + FLOOR_EPSILON && e.confidence_floor_demoted);
|
|
591
591
|
if (atFloor.length === 0 && recovered.length === 0)
|
|
592
592
|
return;
|
|
593
|
-
const { readKnowledgeCounterRollups, effectiveRetrievalOutcomes } = await import("./knowledge-events-
|
|
593
|
+
const { readKnowledgeCounterRollups, effectiveRetrievalOutcomes } = await import("./knowledge-events-9518gzsp.js");
|
|
594
594
|
const rollups = await readKnowledgeCounterRollups(directory);
|
|
595
595
|
const flagIds = new Set;
|
|
596
596
|
for (const e of atFloor) {
|
|
@@ -657,7 +657,7 @@ async function applyConfidenceFloorAction(directory, touched, options) {
|
|
|
657
657
|
});
|
|
658
658
|
}
|
|
659
659
|
if (action === "quarantine" && toQuarantine.length > 0) {
|
|
660
|
-
const { quarantineEntry } = await import("./knowledge-validator-
|
|
660
|
+
const { quarantineEntry } = await import("./knowledge-validator-csay9wqj.js");
|
|
661
661
|
for (const { id } of toQuarantine) {
|
|
662
662
|
await quarantineEntry(directory, id, "confidence_floor_negative_outcome", "auto").catch((err) => {
|
|
663
663
|
console.warn("[knowledge-store] confidence-floor quarantine failed (best-effort):", err instanceof Error ? err.message : String(err));
|
|
@@ -256,14 +256,10 @@ var TOOL_METADATA = {
|
|
|
256
256
|
extract_code_blocks: {
|
|
257
257
|
description: "extract code blocks from text content and save them to files",
|
|
258
258
|
agents: [
|
|
259
|
-
"architect",
|
|
260
|
-
"sme",
|
|
261
259
|
"docs",
|
|
262
260
|
"docs_design",
|
|
263
261
|
"designer",
|
|
264
262
|
"spec_writer",
|
|
265
|
-
"reviewer",
|
|
266
|
-
"explorer",
|
|
267
263
|
"coder",
|
|
268
264
|
"test_engineer"
|
|
269
265
|
]
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
GateConfigSchema,
|
|
6
6
|
PluginConfigSchema,
|
|
7
7
|
stripKnownSwarmPrefix
|
|
8
|
-
} from "./index-
|
|
8
|
+
} from "./index-147ja18h.js";
|
|
9
9
|
import {
|
|
10
10
|
log
|
|
11
11
|
} from "./index-zgwm4ryv.js";
|
|
@@ -158,6 +158,49 @@ function collectRawGatesConfigFindings(directory) {
|
|
|
158
158
|
}
|
|
159
159
|
return findings;
|
|
160
160
|
}
|
|
161
|
+
function collectRawStrictSectionFindings(directory) {
|
|
162
|
+
const findings = [];
|
|
163
|
+
const { userConfigPath, projectConfigPath } = getConfigPaths(directory);
|
|
164
|
+
for (const configPath of [userConfigPath, projectConfigPath]) {
|
|
165
|
+
if (!fs.existsSync(configPath))
|
|
166
|
+
continue;
|
|
167
|
+
try {
|
|
168
|
+
const stats = fs.statSync(configPath);
|
|
169
|
+
if (stats.size > CONFIG_DOCTOR_MAX_CONFIG_FILE_BYTES)
|
|
170
|
+
continue;
|
|
171
|
+
const raw = JSON.parse(fs.readFileSync(configPath, "utf-8"));
|
|
172
|
+
if (!isPlainObject(raw))
|
|
173
|
+
continue;
|
|
174
|
+
const parsed = PluginConfigSchema.safeParse(raw);
|
|
175
|
+
if (parsed.success)
|
|
176
|
+
continue;
|
|
177
|
+
const seen = new Set;
|
|
178
|
+
for (const issue of parsed.error.issues) {
|
|
179
|
+
if (issue.code !== "unrecognized_keys")
|
|
180
|
+
continue;
|
|
181
|
+
if (issue.path[0] === "gates")
|
|
182
|
+
continue;
|
|
183
|
+
const keys = issue.keys ?? [];
|
|
184
|
+
for (const key of keys) {
|
|
185
|
+
const dotted = [...issue.path.map(String), key].join(".");
|
|
186
|
+
if (seen.has(dotted))
|
|
187
|
+
continue;
|
|
188
|
+
seen.add(dotted);
|
|
189
|
+
findings.push({
|
|
190
|
+
id: "unknown-config-key",
|
|
191
|
+
title: "Unknown config key",
|
|
192
|
+
description: `Unrecognized key "${dotted}" in ${configPath} is ignored by the loader (the rest of your config is preserved). Fix or remove it.`,
|
|
193
|
+
severity: "warn",
|
|
194
|
+
path: dotted,
|
|
195
|
+
currentValue: undefined,
|
|
196
|
+
autoFixable: false
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
} catch {}
|
|
201
|
+
}
|
|
202
|
+
return findings;
|
|
203
|
+
}
|
|
161
204
|
function emitWorktreeIsolationLayeringAdvisory(config, findings) {
|
|
162
205
|
const parallelization = config.parallelization;
|
|
163
206
|
const worktreePolicy = config.worktree?.policy ?? "auto";
|
|
@@ -1007,6 +1050,7 @@ function runConfigDoctor(config, directory) {
|
|
|
1007
1050
|
const findings = [];
|
|
1008
1051
|
walkConfigAndValidate(config, "", findings);
|
|
1009
1052
|
findings.push(...collectRawGatesConfigFindings(directory));
|
|
1053
|
+
findings.push(...collectRawStrictSectionFindings(directory));
|
|
1010
1054
|
emitWorktreeIsolationLayeringAdvisory(config, findings);
|
|
1011
1055
|
const summary = {
|
|
1012
1056
|
info: findings.filter((f) => f.severity === "info").length,
|
|
@@ -6,17 +6,17 @@ import {
|
|
|
6
6
|
resolveSwarmKnowledgePath,
|
|
7
7
|
resolveSwarmRejectedPath,
|
|
8
8
|
transactKnowledge
|
|
9
|
-
} from "./index-
|
|
9
|
+
} from "./index-0q7rrh59.js";
|
|
10
10
|
import {
|
|
11
11
|
resolveKnowledgeStoreDir
|
|
12
|
-
} from "./index-
|
|
12
|
+
} from "./index-g40r5d08.js";
|
|
13
13
|
import {
|
|
14
14
|
init_logger,
|
|
15
15
|
warn
|
|
16
16
|
} from "./index-zgwm4ryv.js";
|
|
17
17
|
import {
|
|
18
18
|
atomicWriteFile
|
|
19
|
-
} from "./index-
|
|
19
|
+
} from "./index-0p660a87.js";
|
|
20
20
|
import {
|
|
21
21
|
require_proper_lockfile
|
|
22
22
|
} from "./index-vvk2g744.js";
|