opencode-swarm 7.134.2 → 7.135.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.
Files changed (74) hide show
  1. package/.opencode/skills/swarm-pr-feedback/SKILL.md +10 -3
  2. package/.opencode/skills/swarm-pr-review/SKILL.md +11 -3
  3. package/README.md +1 -1
  4. package/dist/background/pr-event-delivery.d.ts +8 -0
  5. package/dist/background/pr-event-subscribers.d.ts +5 -0
  6. package/dist/background/pr-feedback-event-queue.d.ts +37 -0
  7. package/dist/background/pr-monitor-worker.d.ts +14 -13
  8. package/dist/background/workspace-snapshot.d.ts +8 -3
  9. package/dist/cli/{config-doctor-wk7xzrma.js → config-doctor-j1x63x87.js} +2 -2
  10. package/dist/cli/{core-d6yd2jzv.js → core-fvqp2gnn.js} +1 -1
  11. package/dist/cli/{curation-policy-npgspa14.js → curation-policy-xg9zw0ep.js} +6 -6
  12. package/dist/cli/{curator-llm-factory-tpc0qg6x.js → curator-llm-factory-4mat6cq5.js} +24 -24
  13. package/dist/cli/{curator-njzxdyav.js → curator-yc06cmnz.js} +24 -24
  14. package/dist/cli/{evidence-summary-service-pay9409b.js → evidence-summary-service-0cczdmjv.js} +6 -6
  15. package/dist/cli/{gate-evidence-b5v1xvxp.js → gate-evidence-8zrwdj69.js} +4 -4
  16. package/dist/cli/{guardrail-explain-75pr3e9z.js → guardrail-explain-zmbxwh3s.js} +25 -25
  17. package/dist/cli/{guardrail-log-783svw0e.js → guardrail-log-7egxrxap.js} +3 -3
  18. package/dist/cli/{hive-promoter-nrxjatdx.js → hive-promoter-7s3gzajy.js} +24 -24
  19. package/dist/cli/{index-5nybajn9.js → index-09b9zncg.js} +1 -1
  20. package/dist/cli/{index-v8m282zt.js → index-337r9pkr.js} +2 -2
  21. package/dist/cli/{index-h3k62043.js → index-3nasn371.js} +47 -12
  22. package/dist/cli/{index-2t1n9k7b.js → index-44zgqvqh.js} +1 -1
  23. package/dist/cli/{index-746ga67b.js → index-4yv2rn8q.js} +1 -1
  24. package/dist/cli/{index-9299e7d5.js → index-6kmmdtdp.js} +2 -2
  25. package/dist/cli/{index-q2rrv0cy.js → index-7a2hm51h.js} +57 -2
  26. package/dist/cli/{index-y3v1404y.js → index-7an2qn0s.js} +1 -1
  27. package/dist/cli/{index-4cnwvmsm.js → index-86wdrskb.js} +5 -5
  28. package/dist/cli/{index-225t7m1j.js → index-96b78s7p.js} +26 -26
  29. package/dist/cli/{index-a0nk83rk.js → index-997d6p42.js} +4 -4
  30. package/dist/cli/{index-njfcm1tn.js → index-a4972t0f.js} +3 -3
  31. package/dist/cli/{index-wk1h5ec2.js → index-b7p0mp2q.js} +2 -2
  32. package/dist/cli/{index-cav39zjt.js → index-crw4n55v.js} +3645 -2336
  33. package/dist/cli/{index-ss26e2d4.js → index-ctvnb76s.js} +1 -1
  34. package/dist/cli/{index-n48xwynh.js → index-e8w62fgs.js} +1 -1
  35. package/dist/cli/{index-8fhg2nt2.js → index-ens0gt38.js} +5 -5
  36. package/dist/cli/{index-ca44jww3.js → index-g0raqavt.js} +2 -2
  37. package/dist/cli/{index-0dszfjf3.js → index-grxkbbc5.js} +1 -1
  38. package/dist/cli/{index-x60gpbt5.js → index-nrvs08pr.js} +6 -6
  39. package/dist/cli/{index-p8hezdtz.js → index-ny93srnd.js} +1 -1
  40. package/dist/cli/{index-1bytvz73.js → index-q9mq5tv3.js} +2 -2
  41. package/dist/cli/{index-y8vqsm2g.js → index-vf6e8ame.js} +2 -2
  42. package/dist/cli/{index-4p02dp92.js → index-wxyxf0bd.js} +2 -2
  43. package/dist/cli/{index-asd9n0ms.js → index-x88w0cp5.js} +3 -3
  44. package/dist/cli/{index-dd7ttx8x.js → index-xg9repnx.js} +1 -1
  45. package/dist/cli/{index-cfkvc5q9.js → index-yhba8swx.js} +1 -1
  46. package/dist/cli/{index-1j3682j8.js → index-z085b4ka.js} +1 -1
  47. package/dist/cli/index.js +24 -24
  48. package/dist/cli/{knowledge-escalator-b3b91k0t.js → knowledge-escalator-d76a090n.js} +7 -7
  49. package/dist/cli/{knowledge-events-kyw0s745.js → knowledge-events-3mcg1a0e.js} +5 -5
  50. package/dist/cli/{knowledge-link-nc4y2zkq.js → knowledge-link-etrfntkd.js} +4 -4
  51. package/dist/cli/{knowledge-store-5watc2b2.js → knowledge-store-xtt4sede.js} +5 -5
  52. package/dist/cli/{knowledge-validator-a4wxkgbc.js → knowledge-validator-h1k7ymtd.js} +8 -8
  53. package/dist/cli/{pending-delegations-v9e40hfk.js → pending-delegations-4z3tkkct.js} +3 -3
  54. package/dist/cli/{pr-subscriptions-ztq40hrt.js → pr-subscriptions-29j794kd.js} +3 -3
  55. package/dist/cli/{scan-cursor-gcd771kn.js → scan-cursor-stztfv7d.js} +6 -6
  56. package/dist/cli/{schema-6eghf6gt.js → schema-tbq2srrh.js} +1 -1
  57. package/dist/cli/{scope-persistence-hz3zmmsv.js → scope-persistence-7wydjzx8.js} +4 -4
  58. package/dist/cli/{skill-generator-8dswjh14.js → skill-generator-02q1qdf0.js} +9 -9
  59. package/dist/cli/{telemetry-qh78ymq4.js → telemetry-859khp82.js} +9 -1
  60. package/dist/cli/{workspace-snapshot-35qc0y8a.js → workspace-snapshot-9h5za0s6.js} +3 -1
  61. package/dist/cli/{worktree-collision-ownership-c4bdnjtx.js → worktree-collision-ownership-dtwr0xj4.js} +3 -3
  62. package/dist/commands/context-map-stats.d.ts +5 -0
  63. package/dist/commands/pr-feedback.d.ts +15 -2
  64. package/dist/commands/registry.d.ts +14 -0
  65. package/dist/git/pr-workflow-state.d.ts +37 -0
  66. package/dist/hooks/pr-workflow-gate.d.ts +42 -2
  67. package/dist/hooks/pr-workflow-response-gate.d.ts +3 -0
  68. package/dist/index.js +512 -496
  69. package/dist/services/status-service.d.ts +12 -2
  70. package/dist/telemetry.d.ts +5 -0
  71. package/dist/tools/pr-workflow-status.d.ts +2 -0
  72. package/dist/tools/pre-check-batch.d.ts +22 -0
  73. package/dist/tools/prepare-pr-workflow-checkout.d.ts +2 -0
  74. package/package.json +1 -1
@@ -29,9 +29,12 @@ ledger row is marked FIXED, and no PR is published until all three gates pass on
29
29
  the current diff. There is no speed, efficiency, or time exception. See
30
30
  "Mandatory Gates" below for the full protocol.
31
31
 
32
- When the work starts from a prior `swarm-pr-review` run, ingest the review's
33
- handoff artifact (for example
34
- `.swarm/pr-review/<run_id>/feedback-handoff.md` or `.json`) before triage.
32
+ When the work starts from a prior Profile-A `swarm-pr-review` run, use the exact
33
+ user command `/swarm pr-feedback <PR_URL> continue from
34
+ .swarm/pr-review/<run_id>/feedback-handoff.json`. The controller validates the
35
+ terminal review and artifact before atomically creating an unbound feedback
36
+ gate; the artifact alone is not write authorization. Profiles B/C ingest their
37
+ task-workspace handoff directly before triage.
35
38
  Carry forward the original review finding IDs, classifications, reviewer/critic
36
39
  provenance, and any operational blockers instead of renumbering them as new
37
40
  discoveries.
@@ -175,6 +178,10 @@ tree:
175
178
  stashes untracked files; move or remove those manually, or abort the checkout.
176
179
  Without the controller, surface dirty tracked state to the user or abort the
177
180
  checkout — do not blind-stash.
181
+ - Treat `recovery-required` and `indeterminate` controller results as terminal
182
+ for the current attempt: report the typed `required_action`, abort/clear any
183
+ already-active gate, and stop. Only `stashable` permits one preparation call;
184
+ retry only when the controller explicitly returns `retryable: true`.
178
185
  - **Check out the head branch locally before dispatching feedback lanes.** Feedback verification reads the working-tree
179
186
  filesystem (`Read`/`Glob`/`Grep`), and fixes must land on the PR branch — without a
180
187
  checkout you would verify and patch the base branch's code instead. Record the
@@ -36,9 +36,11 @@ path substituted for `<handoff_artifact_path>`:
36
36
 
37
37
  `<run_id>` is a stable identifier for this review run, such as
38
38
  `pr-<number>-<YYYYMMDDHHMMSS>` or the existing review artifact run ID when one
39
- was already created. The `pr-feedback` command forwards `continue from <path>`
40
- as session instructions after the PR reference; the feedback skill is
41
- responsible for ingesting that file into the ledger before triage.
39
+ was already created. Under Profile A, the exact command is parsed mechanically:
40
+ the controller validates the terminal review, the bounded handoff artifact, and
41
+ its provenance before atomically replacing the review gate with an unbound
42
+ feedback gate. Extra trailing text is not permitted on this continuation form.
43
+ Profiles B/C ingest their task-workspace artifact through the skill-managed path.
42
44
 
43
45
  Review closure is not the end of the PR lifecycle: when PR monitoring is
44
46
  enabled (`pr_monitor.enabled`), the PR remains subscribed and monitored under
@@ -211,6 +213,12 @@ Before launching explorers (Phase 3), perform this exact standalone sequence:
211
213
  contract. Without the controller (Profiles B/C), do not blind-stash over
212
214
  dirty state: surface tracked changes to the user, or abort. Do not issue
213
215
  `git stash` through shell.
216
+ Treat the controller's Git-state result as final for this attempt: `clean`
217
+ proceeds, `stashable` permits exactly one checkout-preparation call, and
218
+ `recovery-required` or `indeterminate` means report the typed
219
+ `required_action`, abort/clear any already-active gate, and stop. Retry only
220
+ when the controller explicitly returns `retryable: true`; never fight an
221
+ unmerged index or in-progress Git operation with repeated stash attempts.
214
222
  3. Fetch the PR head as one standalone command, for example
215
223
  `git fetch origin refs/pull/<N>/head`. Do not compose fetch and checkout.
216
224
  3a. Fetch the base branch as its own standalone command, for example
package/README.md CHANGED
@@ -39,7 +39,7 @@ Most AI coding tools let one model write code and ask that same model whether th
39
39
  - 🔬 **External Skill Curation Pipeline** — Opt-in discovery, quarantine, evaluation, and promotion of external skill candidates from configured sources (disabled by default; enable via `external_skills.curation_enabled: true` in config). Includes 7 tools: `external_skill_discover`, `external_skill_list`, `external_skill_inspect`, `external_skill_promote`, `external_skill_reject`, `external_skill_delete`, `external_skill_revoke`. Candidates pass through a 3-gate validation pipeline before evaluation: **prompt injection scan** (12 regex patterns), **unsafe instruction scan** (25 patterns), and **provenance integrity check** (SHA-256, timestamp, URL, publisher, and hash verification).
40
40
  - 🔄 **Phase completion gates** — completion-verify and drift verifier gates enforced before phase completion
41
41
  - 🔁 **Resumable sessions** — all state saved to `.swarm/`; pick up any project any day
42
- - 🖥️ **PR Monitor** — GitHub PR subscription and background polling via `gh` CLI; delivers real-time CI, review, and merge status updates via the AutomationEventBus (FR-001, opt-in via `pr_monitor.enabled: true`). Subscribe with `/swarm pr subscribe <pr-url|owner/repo#N|N>`; unsubscribe with `/swarm pr unsubscribe <pr-url|owner/repo#N|N>`; check status with `/swarm pr status`. Enable `auto_pr_feedback: true` in `pr_monitor` config to inject `[MODE: PR_FEEDBACK pr="URL"]` on CI failures and merge conflicts automatically.
42
+ - 🖥️ **PR Monitor** — GitHub PR subscription and background polling via `gh` CLI; delivers real-time CI, review, and merge status updates via the AutomationEventBus (FR-001, opt-in via `pr_monitor.enabled: true`). Subscribe with `/swarm pr subscribe <pr-url|owner/repo#N|N>`; unsubscribe with `/swarm pr unsubscribe <pr-url|owner/repo#N|N>`; check status with `/swarm pr status`. With `auto_pr_feedback: true`, CI failures and merge conflicts mechanically activate PR_FEEDBACK only when no other workflow owns the session; otherwise they are durably queued for a later round.
43
43
  - 🌐 **13 full language profiles** (TypeScript, JavaScript, Python, Go, Rust, Java, Kotlin, C/C++, C#, Ruby, Swift, Dart, PHP) with **tree-sitter parse validation across 20 grammars** (adds CSS, Bash, PowerShell, INI, Regex — and `.tsx` / `.c` aliases) — extending: see [docs/adding-a-language.md](docs/adding-a-language.md)
44
44
  - 🛡️ **Built-in security** — SAST, secrets scanning, dependency audit per task
45
45
  - 🔒 **Scope enforcement** — Validates write targets against declared scope with cross-process persistence, TTL expiry, and scope-aware destructive command blocking. **Handles both single-string and array-based path arguments** (`files[]`, `paths[]`, `targetFiles[]`) to prevent scope bypass via multi-file tool calls.
@@ -22,8 +22,10 @@
22
22
  */
23
23
  import type { OpencodeClient } from '@opencode-ai/sdk';
24
24
  import type { PrMonitorConfig } from '../config/schema';
25
+ import { activatePrWorkflow, readPrWorkflowGateState } from '../hooks/pr-workflow-gate';
25
26
  import { log } from '../utils';
26
27
  import { withTimeout } from '../utils/timeout';
28
+ import { claimPrFeedbackMonitorEvents, readPrFeedbackMonitorQueue } from './pr-feedback-event-queue.js';
27
29
  /** A single formatted PR event handed over by pr-event-subscribers. */
28
30
  export interface FormattedPrEvent {
29
31
  /** Automation event type, e.g. 'pr.ci.failed'. */
@@ -36,6 +38,8 @@ export interface FormattedPrEvent {
36
38
  message: string;
37
39
  /** `[pr-monitor:<type>:<repo>#<n>]` — used for queue dedup. */
38
40
  dedupToken: string;
41
+ /** Lifecycle intake is durable but cannot enter the current workflow yet. */
42
+ disposition?: 'queued-for-later';
39
43
  }
40
44
  export interface PrEventDeliveryOptions {
41
45
  client: OpencodeClient;
@@ -93,6 +97,10 @@ declare function sendWakePrompt(sessionID: string, events: FormattedPrEvent[], m
93
97
  export declare const _internals: {
94
98
  sendWakePrompt: typeof sendWakePrompt;
95
99
  withTimeout: typeof withTimeout;
100
+ readPrWorkflowGateState: typeof readPrWorkflowGateState;
101
+ activatePrWorkflow: typeof activatePrWorkflow;
102
+ readPrFeedbackMonitorQueue: typeof readPrFeedbackMonitorQueue;
103
+ claimPrFeedbackMonitorEvents: typeof claimPrFeedbackMonitorEvents;
96
104
  wakePromptTimeoutMs: number;
97
105
  log: typeof log;
98
106
  };
@@ -24,10 +24,12 @@
24
24
  * are deduped by token inside the delivery queue.
25
25
  */
26
26
  import type { PrMonitorConfig } from '../config/schema';
27
+ import { activatePrWorkflow, readPrWorkflowGateState } from '../hooks/pr-workflow-gate';
27
28
  import { getAgentSession } from '../state';
28
29
  import { log } from '../utils';
29
30
  import { getGlobalEventBus } from './event-bus';
30
31
  import { deliverPrActivity, isPrEventDeliveryRegistered } from './pr-event-delivery';
32
+ import { enqueuePrFeedbackMonitorEvent } from './pr-feedback-event-queue.js';
31
33
  import { listActive, updateSnapshot } from './pr-subscriptions';
32
34
  export interface PrEventSubscriberOptions {
33
35
  directory: string;
@@ -43,6 +45,9 @@ export declare const _internals: {
43
45
  listActive: typeof listActive;
44
46
  updateSnapshot: typeof updateSnapshot;
45
47
  getAgentSession: typeof getAgentSession;
48
+ readPrWorkflowGateState: typeof readPrWorkflowGateState;
49
+ activatePrWorkflow: typeof activatePrWorkflow;
50
+ enqueuePrFeedbackMonitorEvent: typeof enqueuePrFeedbackMonitorEvent;
46
51
  deliverPrActivity: typeof deliverPrActivity;
47
52
  isPrEventDeliveryRegistered: typeof isPrEventDeliveryRegistered;
48
53
  scheduleClearUnaddressed: typeof scheduleClearUnaddressed;
@@ -0,0 +1,37 @@
1
+ import * as fsp from 'node:fs/promises';
2
+ export declare const MAX_PR_FEEDBACK_MONITOR_EVENTS = 20;
3
+ export interface PrFeedbackMonitorEvent {
4
+ type: string;
5
+ repoFullName: string;
6
+ prNumber: number;
7
+ prUrl: string;
8
+ message: string;
9
+ dedupToken: string;
10
+ authorized: boolean;
11
+ queuedAt: string;
12
+ claimedWorkflowInstanceId?: string;
13
+ claimedAt?: string;
14
+ }
15
+ export interface PrFeedbackMonitorQueueRecord {
16
+ schemaVersion: 1;
17
+ revision: number;
18
+ sessionID: string;
19
+ events: PrFeedbackMonitorEvent[];
20
+ }
21
+ export declare function enqueuePrFeedbackMonitorEvent(directory: string, sessionID: string, event: Omit<PrFeedbackMonitorEvent, 'claimedWorkflowInstanceId' | 'claimedAt'>): Promise<PrFeedbackMonitorQueueRecord>;
22
+ export declare function readPrFeedbackMonitorQueue(directory: string, sessionID: string): Promise<PrFeedbackMonitorQueueRecord | null>;
23
+ export declare function claimPrFeedbackMonitorEvents(directory: string, sessionID: string, workflowInstanceId: string, prUrl: string, dedupTokens?: readonly string[]): Promise<PrFeedbackMonitorEvent[]>;
24
+ export declare const _internals: {
25
+ queueRelativePath: typeof queueRelativePath;
26
+ queueLockRelativePath: typeof queueLockRelativePath;
27
+ resetQueueCache: () => void;
28
+ rename: typeof fsp.rename;
29
+ nowMs: () => number;
30
+ isProcessAlive: typeof isProcessAlive;
31
+ beforeQueueFileOpen: (() => Promise<void>) | undefined;
32
+ beforeQueueLockWrite: (() => Promise<void>) | undefined;
33
+ };
34
+ declare function isProcessAlive(pid: number): boolean;
35
+ declare function queueRelativePath(sessionID: string): string;
36
+ declare function queueLockRelativePath(sessionID: string): string;
37
+ export {};
@@ -28,6 +28,20 @@ export interface AutomationEvent<T = unknown> {
28
28
  payload: T;
29
29
  source: string;
30
30
  }
31
+ /**
32
+ * Determine whether to skip polling a PR based on idle backoff (issue #1691).
33
+ *
34
+ * After N consecutive no-change polls, skip cycles deterministically:
35
+ * idle 0-2: poll every cycle (no skip)
36
+ * idle 3-5: poll every 2nd cycle (50% reduction)
37
+ * idle 6+: poll every 3rd cycle (67% reduction) — 3× cap per General Council
38
+ *
39
+ * Uses pollCycleCount for deterministic scheduling (no random skips).
40
+ * Any detected change resets the counter to 0.
41
+ *
42
+ * Pure function — exported for direct unit testing without worker setup.
43
+ */
44
+ export declare function shouldSkipIdlePoll(idleCount: number, cycleNumber: number): boolean;
31
45
  /**
32
46
  * PR Monitor Worker.
33
47
  *
@@ -134,19 +148,6 @@ export declare class PrMonitorWorker {
134
148
  * circuit-breaker suspension with exponential backoff.
135
149
  */
136
150
  private handlePollError;
137
- /**
138
- * Determine whether to skip polling a PR based on idle backoff (issue #1691).
139
- *
140
- * After N consecutive no-change polls, skip cycles deterministically:
141
- * idle 0-2: poll every cycle (no skip)
142
- * idle 3-5: poll every 2nd cycle (50% reduction)
143
- * idle 6-9: poll every 3rd cycle (67% reduction)
144
- * idle 10+: poll every 5th cycle (80% reduction)
145
- *
146
- * Uses pollCycleCount for deterministic scheduling (no random skips).
147
- * Any detected change resets the counter to 0.
148
- */
149
- private shouldSkipIdlePoll;
150
151
  /**
151
152
  * Publish an event to the global event bus and optional callback.
152
153
  */
@@ -111,15 +111,20 @@ export declare function resolvePrWorkflowRevisionDigest(directory: string, baseH
111
111
  export declare function resolvePrWorkflowRevisionDigestAsync(directory: string, baseHeadSha: string): Promise<string | null>;
112
112
  /** Parse `git status --porcelain=v1 -z`, including both sides of renames. */
113
113
  export declare function parsePorcelainPaths(output: string): string[] | null;
114
- interface PorcelainV2Snapshot {
114
+ export interface PorcelainV2Snapshot {
115
115
  gitHead: string | null;
116
- changedFiles: string[];
116
+ dirtyTrackedPaths: string[];
117
+ untrackedPaths: string[];
118
+ renameOrCopy: boolean;
119
+ unmergedPaths: string[];
120
+ unmergedCodes: string[];
121
+ dirtySubmodulePaths: string[];
117
122
  }
118
123
  /**
119
124
  * Parse the one-command `git status --porcelain=v2 --branch -z` snapshot used
120
125
  * by background evidence capture. A malformed or unknown record fails closed.
121
126
  */
122
- declare function parsePorcelainV2Snapshot(output: string): PorcelainV2Snapshot | null;
127
+ export declare function parsePorcelainV2Snapshot(output: string): PorcelainV2Snapshot | null;
123
128
  export declare function captureWorkspaceSnapshot(directory: string, optionsOrScope?: string | null | CaptureWorkspaceSnapshotOptions, prHeadShaArg?: string | null): BackgroundWorkspaceSnapshot;
124
129
  /**
125
130
  * Conservatively derive final paths changed since a pre-task snapshot.
@@ -12,8 +12,8 @@ import {
12
12
  shouldRunOnStartup,
13
13
  writeBackupArtifact,
14
14
  writeDoctorArtifact
15
- } from "./index-ss26e2d4.js";
16
- import"./index-v8m282zt.js";
15
+ } from "./index-ctvnb76s.js";
16
+ import"./index-337r9pkr.js";
17
17
  import"./index-bk5tah7q.js";
18
18
  import"./index-bpmtbmy9.js";
19
19
  import"./index-z6xqpmqg.js";
@@ -14,7 +14,7 @@ import {
14
14
  resolveWorktreeBaseDir,
15
15
  shortenWorktreePath,
16
16
  writeLaneProfileToDiskReal
17
- } from "./index-2t1n9k7b.js";
17
+ } from "./index-44zgqvqh.js";
18
18
  import"./index-4rhhvd1a.js";
19
19
  import"./index-z6xqpmqg.js";
20
20
  import"./index-zjygnfay.js";
@@ -4,16 +4,16 @@ import {
4
4
  authorizeCuration,
5
5
  buildConfigFingerprintInput,
6
6
  readCohortConfigFingerprint
7
- } from "./index-ca44jww3.js";
7
+ } from "./index-g0raqavt.js";
8
8
  import"./index-rtry5xyf.js";
9
- import"./index-asd9n0ms.js";
9
+ import"./index-x88w0cp5.js";
10
10
  import"./index-ae75rja9.js";
11
- import"./index-cfkvc5q9.js";
12
- import"./index-dd7ttx8x.js";
11
+ import"./index-yhba8swx.js";
12
+ import"./index-xg9repnx.js";
13
13
  import"./index-fsrp8wp3.js";
14
- import"./index-5nybajn9.js";
14
+ import"./index-09b9zncg.js";
15
15
  import"./index-7g4c7s5r.js";
16
- import"./index-q2rrv0cy.js";
16
+ import"./index-7a2hm51h.js";
17
17
  import"./index-qe3v54nb.js";
18
18
  import"./index-zgwm4ryv.js";
19
19
  import"./index-a76rekgs.js";
@@ -1,55 +1,55 @@
1
1
  // @bun
2
2
  import {
3
3
  createCuratorLLMDelegate
4
- } from "./index-cav39zjt.js";
4
+ } from "./index-crw4n55v.js";
5
5
  import"./index-13xxjfhn.js";
6
- import"./index-0dszfjf3.js";
7
- import"./index-ss26e2d4.js";
8
- import"./index-8fhg2nt2.js";
6
+ import"./index-grxkbbc5.js";
7
+ import"./index-ctvnb76s.js";
8
+ import"./index-ens0gt38.js";
9
9
  import"./index-4905hd2m.js";
10
10
  import"./index-134d35c1.js";
11
- import"./index-njfcm1tn.js";
12
- import"./index-4cnwvmsm.js";
13
- import"./index-y8vqsm2g.js";
11
+ import"./index-a4972t0f.js";
12
+ import"./index-86wdrskb.js";
13
+ import"./index-vf6e8ame.js";
14
14
  import"./index-vxv732ex.js";
15
15
  import"./index-c8s9a3zh.js";
16
16
  import"./index-9ss2m4rs.js";
17
- import"./index-wk1h5ec2.js";
18
- import"./index-1j3682j8.js";
19
- import"./index-a0nk83rk.js";
20
- import"./index-ca44jww3.js";
17
+ import"./index-b7p0mp2q.js";
18
+ import"./index-z085b4ka.js";
19
+ import"./index-997d6p42.js";
20
+ import"./index-g0raqavt.js";
21
21
  import"./index-rtry5xyf.js";
22
- import"./index-x60gpbt5.js";
23
- import"./index-asd9n0ms.js";
22
+ import"./index-nrvs08pr.js";
23
+ import"./index-x88w0cp5.js";
24
24
  import"./index-ae75rja9.js";
25
- import"./index-cfkvc5q9.js";
26
- import"./index-dd7ttx8x.js";
27
- import"./index-n48xwynh.js";
25
+ import"./index-yhba8swx.js";
26
+ import"./index-xg9repnx.js";
27
+ import"./index-e8w62fgs.js";
28
28
  import"./index-k5jrywpr.js";
29
29
  import"./index-n832052r.js";
30
- import"./index-v8m282zt.js";
30
+ import"./index-337r9pkr.js";
31
31
  import"./index-bk5tah7q.js";
32
32
  import"./index-8fwhhayc.js";
33
33
  import"./index-q1exe2b3.js";
34
- import"./index-p8hezdtz.js";
35
- import"./index-4p02dp92.js";
34
+ import"./index-ny93srnd.js";
35
+ import"./index-wxyxf0bd.js";
36
36
  import"./index-1kz6da87.js";
37
37
  import"./index-b4z7s917.js";
38
38
  import"./index-b8zgtz81.js";
39
- import"./index-2t1n9k7b.js";
39
+ import"./index-44zgqvqh.js";
40
40
  import"./index-4rhhvd1a.js";
41
- import"./index-y3v1404y.js";
41
+ import"./index-7an2qn0s.js";
42
42
  import"./index-2ghkk9ve.js";
43
43
  import"./index-fsrp8wp3.js";
44
- import"./index-5nybajn9.js";
44
+ import"./index-09b9zncg.js";
45
45
  import"./index-7g4c7s5r.js";
46
- import"./index-q2rrv0cy.js";
46
+ import"./index-7a2hm51h.js";
47
47
  import"./index-bpmtbmy9.js";
48
48
  import"./index-z6xqpmqg.js";
49
49
  import"./index-zjygnfay.js";
50
50
  import"./index-qe3v54nb.js";
51
51
  import"./index-zgwm4ryv.js";
52
- import"./index-h3k62043.js";
52
+ import"./index-3nasn371.js";
53
53
  import"./index-a76rekgs.js";
54
54
  export {
55
55
  createCuratorLLMDelegate
@@ -14,55 +14,55 @@ import {
14
14
  runCuratorInit,
15
15
  runCuratorPhase,
16
16
  writeCuratorSummary
17
- } from "./index-cav39zjt.js";
17
+ } from "./index-crw4n55v.js";
18
18
  import"./index-13xxjfhn.js";
19
- import"./index-0dszfjf3.js";
20
- import"./index-ss26e2d4.js";
21
- import"./index-8fhg2nt2.js";
19
+ import"./index-grxkbbc5.js";
20
+ import"./index-ctvnb76s.js";
21
+ import"./index-ens0gt38.js";
22
22
  import"./index-4905hd2m.js";
23
23
  import"./index-134d35c1.js";
24
- import"./index-njfcm1tn.js";
25
- import"./index-4cnwvmsm.js";
26
- import"./index-y8vqsm2g.js";
24
+ import"./index-a4972t0f.js";
25
+ import"./index-86wdrskb.js";
26
+ import"./index-vf6e8ame.js";
27
27
  import"./index-vxv732ex.js";
28
28
  import"./index-c8s9a3zh.js";
29
29
  import"./index-9ss2m4rs.js";
30
- import"./index-wk1h5ec2.js";
31
- import"./index-1j3682j8.js";
32
- import"./index-a0nk83rk.js";
33
- import"./index-ca44jww3.js";
30
+ import"./index-b7p0mp2q.js";
31
+ import"./index-z085b4ka.js";
32
+ import"./index-997d6p42.js";
33
+ import"./index-g0raqavt.js";
34
34
  import"./index-rtry5xyf.js";
35
- import"./index-x60gpbt5.js";
36
- import"./index-asd9n0ms.js";
35
+ import"./index-nrvs08pr.js";
36
+ import"./index-x88w0cp5.js";
37
37
  import"./index-ae75rja9.js";
38
- import"./index-cfkvc5q9.js";
39
- import"./index-dd7ttx8x.js";
40
- import"./index-n48xwynh.js";
38
+ import"./index-yhba8swx.js";
39
+ import"./index-xg9repnx.js";
40
+ import"./index-e8w62fgs.js";
41
41
  import"./index-k5jrywpr.js";
42
42
  import"./index-n832052r.js";
43
- import"./index-v8m282zt.js";
43
+ import"./index-337r9pkr.js";
44
44
  import"./index-bk5tah7q.js";
45
45
  import"./index-8fwhhayc.js";
46
46
  import"./index-q1exe2b3.js";
47
- import"./index-p8hezdtz.js";
48
- import"./index-4p02dp92.js";
47
+ import"./index-ny93srnd.js";
48
+ import"./index-wxyxf0bd.js";
49
49
  import"./index-1kz6da87.js";
50
50
  import"./index-b4z7s917.js";
51
51
  import"./index-b8zgtz81.js";
52
- import"./index-2t1n9k7b.js";
52
+ import"./index-44zgqvqh.js";
53
53
  import"./index-4rhhvd1a.js";
54
- import"./index-y3v1404y.js";
54
+ import"./index-7an2qn0s.js";
55
55
  import"./index-2ghkk9ve.js";
56
56
  import"./index-fsrp8wp3.js";
57
- import"./index-5nybajn9.js";
57
+ import"./index-09b9zncg.js";
58
58
  import"./index-7g4c7s5r.js";
59
- import"./index-q2rrv0cy.js";
59
+ import"./index-7a2hm51h.js";
60
60
  import"./index-bpmtbmy9.js";
61
61
  import"./index-z6xqpmqg.js";
62
62
  import"./index-zjygnfay.js";
63
63
  import"./index-qe3v54nb.js";
64
64
  import"./index-zgwm4ryv.js";
65
- import"./index-h3k62043.js";
65
+ import"./index-3nasn371.js";
66
66
  import"./index-a76rekgs.js";
67
67
  export {
68
68
  writeCuratorSummary,
@@ -6,22 +6,22 @@ import {
6
6
  loadPlanJsonOnly,
7
7
  mergeDurableGateEntriesFromEvidence,
8
8
  readDurableGateEvidence
9
- } from "./index-8fhg2nt2.js";
9
+ } from "./index-ens0gt38.js";
10
10
  import"./index-9ss2m4rs.js";
11
- import"./index-wk1h5ec2.js";
12
- import"./index-dd7ttx8x.js";
11
+ import"./index-b7p0mp2q.js";
12
+ import"./index-xg9repnx.js";
13
13
  import"./index-k5jrywpr.js";
14
14
  import"./index-n832052r.js";
15
15
  import"./index-q1exe2b3.js";
16
- import"./index-4p02dp92.js";
16
+ import"./index-wxyxf0bd.js";
17
17
  import"./index-1kz6da87.js";
18
18
  import"./index-b8zgtz81.js";
19
19
  import"./index-4rhhvd1a.js";
20
20
  import"./index-2ghkk9ve.js";
21
21
  import"./index-fsrp8wp3.js";
22
- import"./index-5nybajn9.js";
22
+ import"./index-09b9zncg.js";
23
23
  import"./index-7g4c7s5r.js";
24
- import"./index-q2rrv0cy.js";
24
+ import"./index-7a2hm51h.js";
25
25
  import"./index-bpmtbmy9.js";
26
26
  import"./index-z6xqpmqg.js";
27
27
  import"./index-zjygnfay.js";
@@ -9,12 +9,12 @@ import {
9
9
  readTaskEvidenceRaw,
10
10
  recordAgentDispatch,
11
11
  recordGateEvidence
12
- } from "./index-wk1h5ec2.js";
13
- import"./index-dd7ttx8x.js";
12
+ } from "./index-b7p0mp2q.js";
13
+ import"./index-xg9repnx.js";
14
14
  import"./index-fsrp8wp3.js";
15
- import"./index-5nybajn9.js";
15
+ import"./index-09b9zncg.js";
16
16
  import"./index-7g4c7s5r.js";
17
- import"./index-q2rrv0cy.js";
17
+ import"./index-7a2hm51h.js";
18
18
  import"./index-bpmtbmy9.js";
19
19
  import"./index-qe3v54nb.js";
20
20
  import"./index-a76rekgs.js";
@@ -1,56 +1,56 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailExplain
4
- } from "./index-9299e7d5.js";
5
- import"./index-cav39zjt.js";
4
+ } from "./index-6kmmdtdp.js";
5
+ import"./index-crw4n55v.js";
6
6
  import"./index-13xxjfhn.js";
7
- import"./index-0dszfjf3.js";
8
- import"./index-ss26e2d4.js";
9
- import"./index-8fhg2nt2.js";
7
+ import"./index-grxkbbc5.js";
8
+ import"./index-ctvnb76s.js";
9
+ import"./index-ens0gt38.js";
10
10
  import"./index-4905hd2m.js";
11
11
  import"./index-134d35c1.js";
12
- import"./index-njfcm1tn.js";
13
- import"./index-4cnwvmsm.js";
14
- import"./index-y8vqsm2g.js";
12
+ import"./index-a4972t0f.js";
13
+ import"./index-86wdrskb.js";
14
+ import"./index-vf6e8ame.js";
15
15
  import"./index-vxv732ex.js";
16
16
  import"./index-c8s9a3zh.js";
17
17
  import"./index-9ss2m4rs.js";
18
- import"./index-wk1h5ec2.js";
19
- import"./index-1j3682j8.js";
20
- import"./index-a0nk83rk.js";
21
- import"./index-ca44jww3.js";
18
+ import"./index-b7p0mp2q.js";
19
+ import"./index-z085b4ka.js";
20
+ import"./index-997d6p42.js";
21
+ import"./index-g0raqavt.js";
22
22
  import"./index-rtry5xyf.js";
23
- import"./index-x60gpbt5.js";
24
- import"./index-asd9n0ms.js";
23
+ import"./index-nrvs08pr.js";
24
+ import"./index-x88w0cp5.js";
25
25
  import"./index-ae75rja9.js";
26
- import"./index-cfkvc5q9.js";
27
- import"./index-dd7ttx8x.js";
28
- import"./index-n48xwynh.js";
26
+ import"./index-yhba8swx.js";
27
+ import"./index-xg9repnx.js";
28
+ import"./index-e8w62fgs.js";
29
29
  import"./index-k5jrywpr.js";
30
30
  import"./index-n832052r.js";
31
- import"./index-v8m282zt.js";
31
+ import"./index-337r9pkr.js";
32
32
  import"./index-bk5tah7q.js";
33
33
  import"./index-8fwhhayc.js";
34
34
  import"./index-q1exe2b3.js";
35
- import"./index-p8hezdtz.js";
36
- import"./index-4p02dp92.js";
35
+ import"./index-ny93srnd.js";
36
+ import"./index-wxyxf0bd.js";
37
37
  import"./index-1kz6da87.js";
38
38
  import"./index-b4z7s917.js";
39
39
  import"./index-b8zgtz81.js";
40
- import"./index-2t1n9k7b.js";
40
+ import"./index-44zgqvqh.js";
41
41
  import"./index-4rhhvd1a.js";
42
- import"./index-y3v1404y.js";
42
+ import"./index-7an2qn0s.js";
43
43
  import"./index-2ghkk9ve.js";
44
44
  import"./index-fsrp8wp3.js";
45
- import"./index-5nybajn9.js";
45
+ import"./index-09b9zncg.js";
46
46
  import"./index-7g4c7s5r.js";
47
- import"./index-q2rrv0cy.js";
47
+ import"./index-7a2hm51h.js";
48
48
  import"./index-bpmtbmy9.js";
49
49
  import"./index-z6xqpmqg.js";
50
50
  import"./index-zjygnfay.js";
51
51
  import"./index-qe3v54nb.js";
52
52
  import"./index-zgwm4ryv.js";
53
- import"./index-h3k62043.js";
53
+ import"./index-3nasn371.js";
54
54
  import"./index-a76rekgs.js";
55
55
  export {
56
56
  handleGuardrailExplain
@@ -1,9 +1,9 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailLog
4
- } from "./index-746ga67b.js";
5
- import"./index-0dszfjf3.js";
6
- import"./index-v8m282zt.js";
4
+ } from "./index-4yv2rn8q.js";
5
+ import"./index-grxkbbc5.js";
6
+ import"./index-337r9pkr.js";
7
7
  import"./index-bk5tah7q.js";
8
8
  import"./index-bpmtbmy9.js";
9
9
  import"./index-z6xqpmqg.js";