opencode-swarm 7.132.2 → 7.133.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 (97) hide show
  1. package/README.md +4 -1
  2. package/dist/agents/agent-output-schema.d.ts +74 -0
  3. package/dist/agents/critic.d.ts +2 -1
  4. package/dist/agents/reviewer.d.ts +1 -1
  5. package/dist/background/completion-observer.d.ts +2 -0
  6. package/dist/background/pending-delegations.d.ts +39 -1
  7. package/dist/background/stage-b-gates.d.ts +2 -0
  8. package/dist/cli/{config-doctor-bp5spb79.js → config-doctor-8nbdwnn6.js} +2 -2
  9. package/dist/cli/{core-wg3re04e.js → core-egwpry19.js} +2 -2
  10. package/dist/cli/{curation-policy-7zp2m9gv.js → curation-policy-gae3xm5d.js} +2 -2
  11. package/dist/cli/{curator-h067mrcc.js → curator-e88bm4mg.js} +17 -18
  12. package/dist/cli/{curator-llm-factory-605d08hf.js → curator-llm-factory-1a7esr69.js} +17 -18
  13. package/dist/cli/{evidence-summary-service-jfagmvrh.js → evidence-summary-service-nhsmsap8.js} +3 -3
  14. package/dist/cli/{guardrail-explain-s7vzm6z7.js → guardrail-explain-zgja2b9m.js} +18 -19
  15. package/dist/cli/{guardrail-log-aa112fxv.js → guardrail-log-fjgyx76r.js} +3 -3
  16. package/dist/cli/{hive-promoter-nv0m5rzk.js → hive-promoter-2b04e0wh.js} +17 -18
  17. package/dist/cli/{index-9cf1yr67.js → index-0vd91yb8.js} +3 -3
  18. package/dist/cli/{index-w9cb5zwh.js → index-17zjp67y.js} +1 -1
  19. package/dist/cli/{index-djwemsjn.js → index-66zght9d.js} +1 -1
  20. package/dist/cli/{index-6ccynjv3.js → index-7ftthvqt.js} +2 -2
  21. package/dist/cli/{index-jgfcp9bh.js → index-bz08438z.js} +1 -1
  22. package/dist/cli/{index-mwkwyej1.js → index-cpest8sa.js} +5 -5
  23. package/dist/cli/{index-y5qp59rc.js → index-hfpw5m0e.js} +9 -3
  24. package/dist/cli/{index-3s9rfnqq.js → index-j5pnah1w.js} +4 -4
  25. package/dist/cli/{index-jj4earrh.js → index-kc1m6vpr.js} +2 -2
  26. package/dist/cli/{index-8d3m0ge3.js → index-mhcge2ry.js} +34 -23
  27. package/dist/cli/{index-yvv1wt2h.js → index-mmvaf4t6.js} +1 -1
  28. package/dist/cli/{index-f6480ee6.js → index-mwqfyjja.js} +37751 -33949
  29. package/dist/cli/{index-fgcmxjp7.js → index-sp7tm8t7.js} +1 -1
  30. package/dist/cli/{index-k4tmx21m.js → index-sw82jvf2.js} +2 -2
  31. package/dist/cli/{index-630badhp.js → index-tj2mkfb3.js} +149 -6
  32. package/dist/cli/{index-rt5jgktq.js → index-wz36r0fk.js} +1 -1
  33. package/dist/cli/{index-bvp2v7k1.js → index-wzb4dv5s.js} +263 -16
  34. package/dist/cli/index.js +21 -20
  35. package/dist/cli/{knowledge-escalator-j0nceas7.js → knowledge-escalator-hzkw1ban.js} +3 -3
  36. package/dist/cli/{knowledge-events-gpqc62jr.js → knowledge-events-pbycdhqd.js} +1 -1
  37. package/dist/cli/{knowledge-store-ggxr3ww5.js → knowledge-store-45jawb2p.js} +1 -1
  38. package/dist/cli/{knowledge-validator-007smap6.js → knowledge-validator-ge576f8n.js} +4 -4
  39. package/dist/cli/pending-delegations-kxy8mdqg.js +75 -0
  40. package/dist/cli/{scan-cursor-wz4bff7a.js → scan-cursor-kvw872be.js} +2 -2
  41. package/dist/cli/{schema-023gwne7.js → schema-a2zm2m3r.js} +6 -2
  42. package/dist/cli/{scope-persistence-dm5bab50.js → scope-persistence-5qypzxxm.js} +1 -1
  43. package/dist/cli/{skill-generator-rtsg1m7x.js → skill-generator-ch79hvxh.js} +5 -5
  44. package/dist/commands/command-dispatch.d.ts +7 -0
  45. package/dist/commands/index.d.ts +7 -0
  46. package/dist/commands/registry.d.ts +16 -0
  47. package/dist/commands/review.d.ts +21 -0
  48. package/dist/config/agent-names.d.ts +3 -3
  49. package/dist/config/evidence-schema.d.ts +47 -47
  50. package/dist/config/index.d.ts +2 -2
  51. package/dist/config/schema.d.ts +58 -6
  52. package/dist/consensus/contracts.d.ts +3 -3
  53. package/dist/evaluation/contracts.d.ts +1 -1
  54. package/dist/evaluation/ephemeral-agent-dispatcher.d.ts +64 -0
  55. package/dist/evaluation/model-dispatcher.d.ts +11 -5
  56. package/dist/evaluation/public-api.d.ts +1 -1
  57. package/dist/hooks/auto-review.d.ts +30 -65
  58. package/dist/hooks/delegation-gate.d.ts +1 -1
  59. package/dist/hooks/guardrails/tool-before.d.ts +8 -0
  60. package/dist/hooks/review-receipt-collector.d.ts +53 -10
  61. package/dist/hooks/review-receipt-scope.d.ts +74 -0
  62. package/dist/hooks/review-receipt.d.ts +104 -10
  63. package/dist/hooks/reviewer-scope-file-fingerprint.d.ts +21 -0
  64. package/dist/hooks/reviewer-scope-lifecycle.d.ts +19 -0
  65. package/dist/hooks/task-result-classifier.d.ts +6 -0
  66. package/dist/index.d.ts +2 -0
  67. package/dist/index.js +660 -607
  68. package/dist/memory/schema.d.ts +5 -5
  69. package/dist/review/contracts.d.ts +29 -0
  70. package/dist/review/diff-source.d.ts +134 -0
  71. package/dist/review/engine.d.ts +60 -0
  72. package/dist/review/evidence.d.ts +88 -0
  73. package/dist/review/finding-validator.d.ts +77 -0
  74. package/dist/review/phase-runner.d.ts +37 -0
  75. package/dist/review/runtime.d.ts +32 -0
  76. package/dist/scope/scope-binding.d.ts +9 -0
  77. package/dist/services/config-doctor.d.ts +12 -0
  78. package/dist/state.d.ts +179 -0
  79. package/dist/tools/dispatch-lanes.d.ts +2 -0
  80. package/dist/tools/lean-turbo-review.d.ts +4 -1
  81. package/dist/tools/lean-turbo-run-phase.d.ts +3 -1
  82. package/dist/tools/phase-complete/gates/final-review-gate.d.ts +18 -0
  83. package/dist/tools/phase-complete/gates/index.d.ts +1 -0
  84. package/dist/tools/phase-complete/gates/types.d.ts +10 -0
  85. package/dist/tools/phase-complete.d.ts +13 -1
  86. package/dist/tools/plugin-registration.d.ts +3 -1
  87. package/dist/tools/swarm-command.d.ts +4 -1
  88. package/dist/tools/tool-metadata.d.ts +22 -22
  89. package/dist/turbo/lean/integration.d.ts +18 -2
  90. package/dist/turbo/lean/reviewer.d.ts +19 -3
  91. package/dist/turbo/lean/runner.d.ts +1 -1
  92. package/package.json +1 -1
  93. package/dist/cli/index-y2pfmd0z.js +0 -259
  94. package/dist/cli/pending-delegations-37t4xecr.js +0 -34
  95. package/dist/cli/{curator-drift-y1wm4atk.js → curator-drift-ea0p8nh1.js} +2 -2
  96. package/dist/cli/{index-4ff0x4cg.js → index-74tptrss.js} +0 -0
  97. package/dist/cli/{index-03zyn94g.js → index-r260ybay.js} +4 -4
@@ -1,3 +1,5 @@
1
+ import { type ReviewModelDispatcher } from '../../review/contracts';
2
+ import { type ReviewAgentModelRegistry } from '../../review/runtime';
1
3
  import { type ModelOverride } from '../../utils/model-dispatch-fallback';
2
4
  import { type LaneEvidence, listLaneEvidence, readPhaseEvidence, type ValidationArtifact } from './evidence';
3
5
  import { readPersisted } from './state';
@@ -13,7 +15,7 @@ export interface LeanTurboPhaseReviewerConfig {
13
15
  reviewerAgent?: string;
14
16
  /**
15
17
  * Timeout in milliseconds for the reviewer dispatch.
16
- * Default: no timeout (reviewer is awaited indefinitely).
18
+ * Default: the shared bounded dispatcher timeout.
17
19
  */
18
20
  timeoutMs?: number;
19
21
  /**
@@ -22,6 +24,20 @@ export interface LeanTurboPhaseReviewerConfig {
22
24
  * Default: false.
23
25
  */
24
26
  requireDiffSummary?: boolean;
27
+ /**
28
+ * Instance-local dispatcher bound to the active plugin client.
29
+ * New runtime call paths inject this instead of reading global client state.
30
+ */
31
+ dispatcher?: ReviewModelDispatcher;
32
+ /**
33
+ * Immutable agent-name registry captured by the plugin instance.
34
+ * Direct callers may omit this only when a single/default reviewer suffices.
35
+ */
36
+ generatedAgentNames?: readonly string[];
37
+ /** Exact active agent identity used to select this session's swarm. */
38
+ activeAgentName?: string;
39
+ /** Immutable plugin-instance model configuration for fallback ownership. */
40
+ agentModelRegistry?: ReviewAgentModelRegistry;
25
41
  }
26
42
  /**
27
43
  * Result of a phase reviewer dispatch.
@@ -43,7 +59,7 @@ export interface PhaseReviewerResult {
43
59
  *
44
60
  * Exported for reuse by the auto-review hook (src/hooks/auto-review.ts).
45
61
  */
46
- export declare function resolveDefaultReviewerAgent(generatedAgentNames: string[]): string;
62
+ export declare function resolveDefaultReviewerAgent(generatedAgentNames: readonly string[], activeAgentName?: string): string;
47
63
  /**
48
64
  * Compiles a structured review package from lane and phase evidence.
49
65
  */
@@ -103,7 +119,7 @@ export declare const _internals: {
103
119
  compileReviewPackage: typeof compileReviewPackage;
104
120
  parseReviewerVerdict: typeof parseReviewerVerdict;
105
121
  writeReviewerEvidence: typeof writeReviewerEvidence;
106
- dispatchReviewerAgent: (directory: string, pkg: ReviewPackage, agentName: string, timeoutMs: number, parentSessionId?: string, model?: ModelOverride) => Promise<string>;
122
+ dispatchReviewerAgent: (directory: string, pkg: ReviewPackage, agentName: string, timeoutMs: number, parentSessionId?: string, model?: ModelOverride, dispatcher?: ReviewModelDispatcher) => Promise<string>;
107
123
  resolveDefaultReviewerAgent: typeof resolveDefaultReviewerAgent;
108
124
  listLaneEvidence: typeof listLaneEvidence;
109
125
  readPhaseEvidence: typeof readPhaseEvidence;
@@ -250,7 +250,7 @@ export declare class LeanTurboRunner {
250
250
  /** OpenCode SDK client. Pass null to stay fail-closed. Omit to allow test mock injection. */
251
251
  opencodeClient?: OpencodeClient | null;
252
252
  /** Pre-registered generated agent names */
253
- generatedAgentNames?: string[];
253
+ generatedAgentNames?: readonly string[];
254
254
  /** Lean-mode configuration. Falls back to hardcoded defaults if omitted. */
255
255
  leanConfig?: LeanTurboConfig;
256
256
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-swarm",
3
- "version": "7.132.2",
3
+ "version": "7.133.0",
4
4
  "description": "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,259 +0,0 @@
1
- // @bun
2
- import {
3
- validateSwarmPath
4
- } from "./index-s80bsjkj.js";
5
- import {
6
- init_logger,
7
- warn
8
- } from "./index-zgwm4ryv.js";
9
- import {
10
- withEvidenceLock
11
- } from "./index-76kvm9z5.js";
12
- import {
13
- exports_external,
14
- init_zod
15
- } from "./index-bpmtbmy9.js";
16
-
17
- // src/background/pending-delegations.ts
18
- init_zod();
19
- import { createHash } from "crypto";
20
- import * as fs from "fs";
21
- import * as path from "path";
22
- init_logger();
23
- var BACKGROUND_DELEGATIONS_FILE = "background-delegations.jsonl";
24
- var STORE_LOCK_AGENT = "background";
25
- var STORE_LOCK_TASK = "background-delegations";
26
- var ResultSchema = exports_external.object({
27
- text: exports_external.string().optional(),
28
- error: exports_external.string().optional(),
29
- chars: exports_external.number(),
30
- truncated: exports_external.boolean(),
31
- digest: exports_external.string(),
32
- outputRef: exports_external.string().optional(),
33
- outputPreviewChars: exports_external.number().optional(),
34
- outputDegraded: exports_external.boolean().optional(),
35
- outputArtifactError: exports_external.string().optional(),
36
- transcriptIncomplete: exports_external.boolean().optional(),
37
- messageCount: exports_external.number().optional()
38
- }).strict();
39
- var WorkspaceSchema = exports_external.object({
40
- directory: exports_external.string(),
41
- gitHead: exports_external.string().nullable(),
42
- dirtyHash: exports_external.string().nullable(),
43
- changedFiles: exports_external.array(exports_external.string()).nullable().optional(),
44
- prHeadSha: exports_external.string().nullable(),
45
- scope: exports_external.string().nullable()
46
- }).strict();
47
- var TaskChangeContextSchema = exports_external.object({
48
- declaredFiles: exports_external.array(exports_external.string()).nullable(),
49
- baseline: WorkspaceSchema
50
- }).strict();
51
- var PromptSchema = exports_external.object({
52
- text: exports_external.string(),
53
- chars: exports_external.number(),
54
- truncated: exports_external.boolean(),
55
- digest: exports_external.string()
56
- }).strict();
57
- var RecordSchema = exports_external.object({
58
- schemaVersion: exports_external.union([exports_external.literal(1), exports_external.literal(2)]),
59
- correlationId: exports_external.string().min(1),
60
- jobId: exports_external.string().nullable(),
61
- subagentSessionId: exports_external.string().min(1),
62
- parentSessionId: exports_external.string().min(1),
63
- callID: exports_external.string(),
64
- normalizedAgent: exports_external.string(),
65
- swarmPrefixedAgent: exports_external.string(),
66
- planTaskId: exports_external.string().nullable(),
67
- evidenceTaskId: exports_external.string().nullable(),
68
- status: exports_external.enum([
69
- "pending",
70
- "running",
71
- "ingestion_error",
72
- "completed",
73
- "error",
74
- "cancelled",
75
- "stale",
76
- "consumed"
77
- ]),
78
- createdAt: exports_external.number(),
79
- updatedAt: exports_external.number(),
80
- batchId: exports_external.string().optional(),
81
- laneId: exports_external.string().optional(),
82
- mode: exports_external.string().optional(),
83
- workflowLane: exports_external.string().optional(),
84
- ownedWorkflowLanes: exports_external.array(exports_external.string().min(1).max(120)).min(1).max(11).optional(),
85
- promptHash: exports_external.string().optional(),
86
- workspace: WorkspaceSchema.optional(),
87
- taskChangeContext: TaskChangeContextSchema.optional(),
88
- prompt: PromptSchema.optional(),
89
- generation: exports_external.number().optional(),
90
- result: ResultSchema.optional(),
91
- completedAt: exports_external.number().optional()
92
- }).strict();
93
- function storePath(directory) {
94
- return validateSwarmPath(directory, BACKGROUND_DELEGATIONS_FILE);
95
- }
96
- function ensureSwarmDir(directory) {
97
- fs.mkdirSync(path.resolve(directory, ".swarm"), { recursive: true });
98
- }
99
- function readDelegations(directory) {
100
- let raw;
101
- try {
102
- raw = fs.readFileSync(storePath(directory), "utf-8");
103
- } catch (err) {
104
- if (err.code === "ENOENT")
105
- return [];
106
- warn(`[background] readDelegations failed: ${err instanceof Error ? err.message : String(err)}`);
107
- return [];
108
- }
109
- const folded = new Map;
110
- for (const line of raw.split(`
111
- `)) {
112
- const trimmed = line.trim();
113
- if (trimmed.length === 0)
114
- continue;
115
- let parsedJson;
116
- try {
117
- parsedJson = JSON.parse(trimmed);
118
- } catch {
119
- continue;
120
- }
121
- const result = RecordSchema.safeParse(parsedJson);
122
- if (!result.success)
123
- continue;
124
- folded.set(result.data.correlationId, result.data);
125
- }
126
- return [...folded.values()];
127
- }
128
- function findByCorrelationId(directory, correlationId) {
129
- if (!correlationId)
130
- return null;
131
- for (const record of readDelegations(directory)) {
132
- if (record.correlationId === correlationId)
133
- return record;
134
- }
135
- return null;
136
- }
137
- function appendRecord(directory, record) {
138
- ensureSwarmDir(directory);
139
- fs.appendFileSync(storePath(directory), `${JSON.stringify(record)}
140
- `, "utf-8");
141
- }
142
- async function recordPendingDelegation(directory, input, options = {}) {
143
- const now = Date.now();
144
- const record = {
145
- schemaVersion: input.batchId ? 2 : 1,
146
- correlationId: input.correlationId,
147
- jobId: input.jobId,
148
- subagentSessionId: input.subagentSessionId,
149
- parentSessionId: input.parentSessionId,
150
- callID: input.callID,
151
- normalizedAgent: input.normalizedAgent,
152
- swarmPrefixedAgent: input.swarmPrefixedAgent,
153
- planTaskId: input.planTaskId,
154
- evidenceTaskId: input.evidenceTaskId,
155
- status: "pending",
156
- createdAt: now,
157
- updatedAt: now,
158
- ...input.batchId ? { batchId: input.batchId } : {},
159
- ...input.laneId ? { laneId: input.laneId } : {},
160
- ...input.mode ? { mode: input.mode } : {},
161
- ...input.workflowLane ? { workflowLane: input.workflowLane } : {},
162
- ...input.ownedWorkflowLanes?.length ? { ownedWorkflowLanes: [...input.ownedWorkflowLanes] } : {},
163
- ...input.promptHash ? { promptHash: input.promptHash } : {},
164
- ...input.workspace ? { workspace: input.workspace } : {},
165
- ...input.taskChangeContext ? { taskChangeContext: input.taskChangeContext } : {},
166
- ...input.prompt ? { prompt: input.prompt } : {},
167
- ...input.generation !== undefined ? { generation: input.generation } : {}
168
- };
169
- try {
170
- await withEvidenceLock(directory, BACKGROUND_DELEGATIONS_FILE, STORE_LOCK_AGENT, STORE_LOCK_TASK, async () => {
171
- if (options.staleTimeoutMs && options.staleTimeoutMs > 0) {
172
- sweepStaleLocked(directory, options.staleTimeoutMs, now);
173
- }
174
- appendRecord(directory, record);
175
- });
176
- return record;
177
- } catch (err) {
178
- warn(`[background] recordPendingDelegation failed: ${err instanceof Error ? err.message : String(err)}`);
179
- return null;
180
- }
181
- }
182
- function buildPromptSnapshot(text, maxChars) {
183
- const boundedMax = Math.max(0, Math.min(maxChars, 20000));
184
- const truncated = text.length > boundedMax;
185
- const bounded = truncated ? text.slice(0, boundedMax) : text;
186
- return {
187
- text: bounded,
188
- chars: text.length,
189
- truncated,
190
- digest: createHash("sha256").update(text).digest("hex")
191
- };
192
- }
193
- async function appendDelegationTransition(directory, correlationId, transition) {
194
- const now = Date.now();
195
- try {
196
- let next = null;
197
- await withEvidenceLock(directory, BACKGROUND_DELEGATIONS_FILE, STORE_LOCK_AGENT, STORE_LOCK_TASK, async () => {
198
- const current = findByCorrelationId(directory, correlationId);
199
- if (!current)
200
- return;
201
- if (isTerminal(current.status) && transition.status !== "consumed" && transition.status !== "ingestion_error") {
202
- next = current;
203
- return;
204
- }
205
- next = {
206
- ...current,
207
- schemaVersion: current.schemaVersion === 1 ? 2 : current.schemaVersion,
208
- status: transition.status,
209
- updatedAt: now,
210
- ...transition.completedAt !== undefined ? { completedAt: transition.completedAt } : transition.status === "completed" || transition.status === "error" ? { completedAt: now } : {},
211
- ...transition.result ? { result: transition.result } : {}
212
- };
213
- appendRecord(directory, next);
214
- });
215
- return next;
216
- } catch (err) {
217
- warn(`[background] appendDelegationTransition failed: ${err instanceof Error ? err.message : String(err)}`);
218
- return null;
219
- }
220
- }
221
- function findByBatchId(directory, batchId, opts) {
222
- if (!batchId)
223
- return [];
224
- return readDelegations(directory).filter((record) => record.batchId === batchId && (opts?.parentSessionId === undefined || record.parentSessionId === opts.parentSessionId));
225
- }
226
- function findOpenAsyncLaneBatches(directory) {
227
- return readDelegations(directory).filter((record) => record.batchId !== undefined && (record.status === "pending" || record.status === "running"));
228
- }
229
- function isTerminal(status) {
230
- return status === "completed" || status === "error" || status === "cancelled" || status === "stale" || status === "consumed";
231
- }
232
- function sweepStaleLocked(directory, timeoutMs, now) {
233
- let swept = 0;
234
- for (const record of readDelegations(directory)) {
235
- if (record.status !== "pending" && record.status !== "running" && record.status !== "ingestion_error")
236
- continue;
237
- if (now - record.updatedAt <= timeoutMs)
238
- continue;
239
- appendRecord(directory, {
240
- ...record,
241
- status: "stale",
242
- updatedAt: now
243
- });
244
- swept += 1;
245
- }
246
- return swept;
247
- }
248
- async function sweepStaleDelegations(directory, timeoutMs) {
249
- if (!timeoutMs || timeoutMs <= 0)
250
- return 0;
251
- try {
252
- return await withEvidenceLock(directory, BACKGROUND_DELEGATIONS_FILE, STORE_LOCK_AGENT, STORE_LOCK_TASK, async () => sweepStaleLocked(directory, timeoutMs, Date.now()));
253
- } catch (err) {
254
- warn(`[background] sweepStaleDelegations failed: ${err instanceof Error ? err.message : String(err)}`);
255
- return 0;
256
- }
257
- }
258
-
259
- export { BACKGROUND_DELEGATIONS_FILE, readDelegations, findByCorrelationId, recordPendingDelegation, buildPromptSnapshot, appendDelegationTransition, findByBatchId, findOpenAsyncLaneBatches, sweepStaleDelegations };
@@ -1,34 +0,0 @@
1
- // @bun
2
- import {
3
- BACKGROUND_DELEGATIONS_FILE,
4
- appendDelegationTransition,
5
- buildPromptSnapshot,
6
- findByBatchId,
7
- findByCorrelationId,
8
- findOpenAsyncLaneBatches,
9
- readDelegations,
10
- recordPendingDelegation,
11
- sweepStaleDelegations
12
- } from "./index-y2pfmd0z.js";
13
- import"./index-s80bsjkj.js";
14
- import"./index-z6xqpmqg.js";
15
- import"./index-zjygnfay.js";
16
- import"./index-zgwm4ryv.js";
17
- import"./index-fsrp8wp3.js";
18
- import"./index-76kvm9z5.js";
19
- import"./index-q2rrv0cy.js";
20
- import"./index-bpmtbmy9.js";
21
- import"./index-7g4c7s5r.js";
22
- import"./index-qe3v54nb.js";
23
- import"./index-a76rekgs.js";
24
- export {
25
- sweepStaleDelegations,
26
- recordPendingDelegation,
27
- readDelegations,
28
- findOpenAsyncLaneBatches,
29
- findByCorrelationId,
30
- findByBatchId,
31
- buildPromptSnapshot,
32
- appendDelegationTransition,
33
- BACKGROUND_DELEGATIONS_FILE
34
- };
@@ -5,13 +5,13 @@ import {
5
5
  import {
6
6
  readEffectiveSpecSync
7
7
  } from "./index-9ss2m4rs.js";
8
- import"./index-n832052r.js";
9
- import"./index-4rhhvd1a.js";
10
8
  import {
11
9
  readSwarmFileAsync,
12
10
  validateSwarmPath
13
11
  } from "./index-s80bsjkj.js";
12
+ import"./index-n832052r.js";
14
13
  import"./index-z6xqpmqg.js";
14
+ import"./index-4rhhvd1a.js";
15
15
  import"./index-zjygnfay.js";
16
16
  import {
17
17
  init_logger,
@@ -2,6 +2,10 @@
2
2
  import {
3
3
  readEffectiveSpecSync
4
4
  } from "./index-9ss2m4rs.js";
5
+ import {
6
+ readSwarmFileAsync,
7
+ validateSwarmPath
8
+ } from "./index-s80bsjkj.js";
5
9
  import {
6
10
  EVIDENCE_MAX_JSON_BYTES,
7
11
  EvidenceBundleSchema,
@@ -33,10 +37,6 @@ import {
33
37
  import {
34
38
  PlanSchema
35
39
  } from "./index-1kz6da87.js";
36
- import {
37
- readSwarmFileAsync,
38
- validateSwarmPath
39
- } from "./index-s80bsjkj.js";
40
40
  import {
41
41
  criticalWarn,
42
42
  error,