opencode-swarm 7.140.3 → 7.140.5

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 (148) hide show
  1. package/.opencode/skills/brainstorm/SKILL.md +1 -1
  2. package/.opencode/skills/ci-failure-batching/SKILL.md +11 -1
  3. package/.opencode/skills/ci-fix-monitor/SKILL.md +6 -4
  4. package/.opencode/skills/discover/SKILL.md +1 -1
  5. package/.opencode/skills/durable-session-state/SKILL.md +82 -0
  6. package/.opencode/skills/engineering-conventions/SKILL.md +1 -1
  7. package/.opencode/skills/issue-ingest/SKILL.md +13 -7
  8. package/.opencode/skills/issue-tracer/SKILL.md +1 -1
  9. package/.opencode/skills/orchestrating-subagents/SKILL.md +113 -0
  10. package/.opencode/skills/parallel-work-check/SKILL.md +1 -1
  11. package/.opencode/skills/plan/SKILL.md +40 -12
  12. package/.opencode/skills/swarm-ci-monitor/SKILL.md +5 -3
  13. package/.opencode/skills/swarm-pr-feedback/SKILL.md +30 -4
  14. package/.opencode/skills/writing-tests/SKILL.md +1 -1
  15. package/dist/agents/architect.d.ts +2 -1
  16. package/dist/agents/reviewer-directive-compliance.d.ts +19 -5
  17. package/dist/background/pending-delegations.d.ts +5 -0
  18. package/dist/cli/{config-doctor-fnmfd35x.js → config-doctor-5vzpq4qa.js} +3 -3
  19. package/dist/cli/{core-p5cyej3r.js → core-xjzdc56e.js} +2 -2
  20. package/dist/cli/{curation-policy-d52h4g8t.js → curation-policy-avvb56x2.js} +6 -8
  21. package/dist/cli/{curator-3zpdqt9r.js → curator-5nytvg7p.js} +38 -38
  22. package/dist/cli/curator-llm-factory-rds75zhj.js +61 -0
  23. package/dist/cli/{evidence-summary-service-nfdc1ht9.js → evidence-summary-service-zq4gyx6g.js} +15 -12
  24. package/dist/cli/gate-evidence-smn2wqft.js +51 -0
  25. package/dist/cli/guardrail-explain-an7jvam1.js +62 -0
  26. package/dist/cli/{guardrail-log-82da8y5a.js → guardrail-log-0hnd2k9v.js} +4 -4
  27. package/dist/cli/{hive-promoter-af5yaxvt.js → hive-promoter-qe8pqg79.js} +38 -38
  28. package/dist/cli/{index-qksjaxpd.js → index-01ggt2mj.js} +49 -18
  29. package/dist/cli/{index-j1xmren9.js → index-0r2m0vbq.js} +12 -10
  30. package/dist/cli/{index-pg7n141e.js → index-0rx9t9w8.js} +1 -1
  31. package/dist/cli/{index-brh827g0.js → index-2bg901qt.js} +73 -32
  32. package/dist/cli/{index-8n4c3vec.js → index-386ts4tm.js} +4 -4
  33. package/dist/cli/{index-898f16j9.js → index-8rp1y4ab.js} +2 -2
  34. package/dist/cli/{index-hfvxhk4z.js → index-912qz4y0.js} +88 -88
  35. package/dist/cli/index-affh1gtg.js +2554 -0
  36. package/dist/cli/{index-1m1ksyqt.js → index-c432knmy.js} +1 -1
  37. package/dist/cli/{index-jvk119ck.js → index-e0mpz2j3.js} +54 -19
  38. package/dist/cli/{index-ry0hgg3m.js → index-epvhf50h.js} +37 -3
  39. package/dist/cli/{index-95bj4kaw.js → index-ex7r16gc.js} +2 -2
  40. package/dist/cli/{index-7d5jseea.js → index-jm4cpp4n.js} +5 -2
  41. package/dist/cli/{index-n408rw7n.js → index-jqsfsqbx.js} +27 -2
  42. package/dist/cli/{index-7kdd75se.js → index-kb5q9v34.js} +11 -9
  43. package/dist/cli/{index-jfjnn408.js → index-m9xrdjn0.js} +1 -1
  44. package/dist/cli/{index-pj9h75cc.js → index-mm2egvdt.js} +40 -40
  45. package/dist/cli/{index-8bnzzv3b.js → index-nwrwy8eb.js} +70 -34
  46. package/dist/cli/index-nyjtzmsj.js +43 -0
  47. package/dist/cli/{index-h2waehqq.js → index-p8kk34am.js} +3 -3
  48. package/dist/cli/{index-wf35ka4z.js → index-ptn13xjn.js} +3 -3
  49. package/dist/cli/{index-1kyex7z2.js → index-qwm6vdyv.js} +32 -1
  50. package/dist/cli/{index-p9dsb0tw.js → index-qy1nq52t.js} +2 -19
  51. package/dist/cli/{index-b9rd29ge.js → index-s1v0wza5.js} +6 -2
  52. package/dist/cli/{index-yyyk63kk.js → index-t5pytnca.js} +2 -2
  53. package/dist/cli/index-tjqzr3jc.js +623 -0
  54. package/dist/cli/{index-rs1f1bh0.js → index-vh05t3w5.js} +1 -1
  55. package/dist/cli/{index-adyxbmt5.js → index-wkt9fj06.js} +4 -4
  56. package/dist/cli/{index-kbfsp07d.js → index-wrb0gykj.js} +217 -15
  57. package/dist/cli/{index-xz8f1n1a.js → index-z7h37d63.js} +2 -2
  58. package/dist/cli/{index-q1q8b85k.js → index-z90nvqj3.js} +49315 -47331
  59. package/dist/cli/{index-b8zgtz81.js → index-zsrtt42s.js} +34 -1
  60. package/dist/cli/{index-gtbmabws.js → index-ztgn70jz.js} +2 -2
  61. package/dist/cli/index.js +37 -37
  62. package/dist/cli/{knowledge-escalator-7q59skqg.js → knowledge-escalator-4pfrc902.js} +20 -8
  63. package/dist/cli/{knowledge-events-3nwfdpq7.js → knowledge-events-3zkfnksk.js} +19 -6
  64. package/dist/cli/{knowledge-link-q46k9adx.js → knowledge-link-m9p80f4r.js} +5 -5
  65. package/dist/cli/{knowledge-store-0d83rhh3.js → knowledge-store-dpqgvvjt.js} +6 -6
  66. package/dist/cli/{knowledge-validator-6mfx91a2.js → knowledge-validator-2c7w87dk.js} +8 -9
  67. package/dist/cli/{pending-delegations-qzrx38y9.js → pending-delegations-cxx9tezp.js} +4 -4
  68. package/dist/cli/{pr-subscriptions-5s59h4dd.js → pr-subscriptions-2sfnb599.js} +4 -4
  69. package/dist/cli/{runner-y78d7ryb.js → runner-mky3vvht.js} +6 -6
  70. package/dist/cli/{scan-cursor-rc8q12ss.js → scan-cursor-1z60gwrw.js} +7 -7
  71. package/dist/cli/{schema-n9eaxp3a.js → schema-vpnkwvez.js} +2 -2
  72. package/dist/cli/{scope-persistence-dr1msqxw.js → scope-persistence-p9dmprry.js} +10 -5
  73. package/dist/cli/{skill-generator-q7c6vadg.js → skill-generator-yx7ka1cj.js} +19 -10
  74. package/dist/cli/{telemetry-sc57xtb0.js → telemetry-0x6kszvk.js} +1 -1
  75. package/dist/cli/{worktree-collision-ownership-7a8e6gr9.js → worktree-collision-ownership-wm5pse49.js} +8 -8
  76. package/dist/cli/worktree-isolation-bwc6ra8e.js +102 -0
  77. package/dist/cli/worktree-provisioning-owner-sjh7te1h.js +22 -0
  78. package/dist/commands/acknowledge-spec-drift.d.ts +4 -5
  79. package/dist/commands/ci-simulate.d.ts +7 -3
  80. package/dist/commands/close.d.ts +8 -0
  81. package/dist/commands/registry.d.ts +2 -2
  82. package/dist/commands/sdd.d.ts +15 -0
  83. package/dist/config/bundled-skills.d.ts +1 -1
  84. package/dist/config/evidence-schema.d.ts +3 -3
  85. package/dist/config/index.d.ts +2 -2
  86. package/dist/config/plan-schema.d.ts +8 -0
  87. package/dist/config/schema.d.ts +4 -2
  88. package/dist/council/council-evidence-writer.d.ts +1 -1
  89. package/dist/gate-evidence.d.ts +117 -4
  90. package/dist/git/branch.d.ts +1 -1
  91. package/dist/hooks/delegate-ack-collector.d.ts +5 -0
  92. package/dist/hooks/delegation-gate.d.ts +21 -0
  93. package/dist/hooks/hive-promoter.d.ts +4 -4
  94. package/dist/hooks/issue-trace-reducer.d.ts +7 -1
  95. package/dist/hooks/issue-trace-state.d.ts +18 -0
  96. package/dist/hooks/issue-trace.d.ts +3 -1
  97. package/dist/hooks/knowledge-application-gate.d.ts +8 -3
  98. package/dist/hooks/knowledge-application.d.ts +8 -5
  99. package/dist/hooks/knowledge-escalator.d.ts +9 -5
  100. package/dist/hooks/knowledge-events.d.ts +21 -8
  101. package/dist/hooks/knowledge-injector.d.ts +9 -0
  102. package/dist/hooks/knowledge-receipt-ledger-storage.d.ts +49 -0
  103. package/dist/hooks/knowledge-receipt-ledger.d.ts +305 -0
  104. package/dist/hooks/knowledge-receipt-observability.d.ts +28 -0
  105. package/dist/hooks/knowledge-receipt-validator.d.ts +13 -50
  106. package/dist/hooks/knowledge-store.d.ts +6 -1
  107. package/dist/hooks/knowledge-types.d.ts +12 -0
  108. package/dist/hooks/phase-complete-directive-gate.d.ts +3 -1
  109. package/dist/hooks/phase-directives.d.ts +4 -4
  110. package/dist/hooks/pr-workflow-gate.d.ts +34 -1
  111. package/dist/hooks/promotion-evidence-store.d.ts +14 -8
  112. package/dist/hooks/reviewer-verdict-parser.d.ts +34 -10
  113. package/dist/index.js +823 -779
  114. package/dist/knowledge/curation-policy.d.ts +0 -2
  115. package/dist/observability/catalog.d.ts +5 -3
  116. package/dist/observability/legacy.d.ts +4 -3
  117. package/dist/plan/ledger.d.ts +55 -0
  118. package/dist/plan/manager.d.ts +9 -0
  119. package/dist/plan/planning-profile.d.ts +27 -0
  120. package/dist/services/spec-drift-recovery.d.ts +84 -0
  121. package/dist/session/snapshot-writer.d.ts +3 -1
  122. package/dist/state.d.ts +19 -17
  123. package/dist/summaries/schema.d.ts +2 -2
  124. package/dist/telemetry.d.ts +1 -1
  125. package/dist/tools/convene-council.d.ts +6 -6
  126. package/dist/tools/index.d.ts +3 -0
  127. package/dist/tools/manifest.d.ts +3 -0
  128. package/dist/tools/phase-complete.d.ts +9 -0
  129. package/dist/tools/rebind-pr-feedback-head.d.ts +17 -0
  130. package/dist/tools/record-implementation-review.d.ts +19 -0
  131. package/dist/tools/record-recurrence-sweep.d.ts +17 -0
  132. package/dist/tools/run-pr-feedback-stage-a.d.ts +8 -0
  133. package/dist/tools/save-plan.d.ts +8 -0
  134. package/dist/tools/submit-phase-council-verdicts.d.ts +6 -6
  135. package/dist/tools/tool-metadata.d.ts +40 -28
  136. package/dist/tools/update-task-status.d.ts +13 -0
  137. package/dist/tools/write-final-council-evidence.d.ts +6 -6
  138. package/dist/types/events.d.ts +29 -1
  139. package/dist/workflow/coder-settlement.d.ts +62 -0
  140. package/dist/workflow/task-repair.d.ts +30 -0
  141. package/dist/workflow/task-terminal.d.ts +52 -0
  142. package/package.json +3 -1
  143. package/dist/cli/curator-llm-factory-2h0xb62t.js +0 -61
  144. package/dist/cli/gate-evidence-46qeyfc1.js +0 -32
  145. package/dist/cli/guardrail-explain-yktan15c.js +0 -62
  146. package/dist/cli/index-d181x9zr.js +0 -71
  147. package/dist/cli/index-n0pja0qs.js +0 -239
  148. package/dist/cli/index-n8jncheh.js +0 -666
@@ -0,0 +1,43 @@
1
+ // @bun
2
+ import {
3
+ init_loader,
4
+ loadPluginConfigWithMeta
5
+ } from "./index-nwrwy8eb.js";
6
+ import {
7
+ init_schema
8
+ } from "./index-jm4cpp4n.js";
9
+ import {
10
+ DEFAULT_WORKTREE_ISOLATION_CONFIG,
11
+ init_constants
12
+ } from "./index-jqsfsqbx.js";
13
+
14
+ // src/config/index.ts
15
+ init_constants();
16
+ init_loader();
17
+ init_loader();
18
+ init_schema();
19
+
20
+ // src/config/worktree-isolation-config.ts
21
+ init_constants();
22
+ function resolveWorktreeIsolationConfig(config) {
23
+ if (config.worktree) {
24
+ return { ...DEFAULT_WORKTREE_ISOLATION_CONFIG, ...config.worktree };
25
+ }
26
+ const lean = config.turbo?.strategy === "lean" ? config.turbo.lean : undefined;
27
+ if (lean?.worktree_isolation) {
28
+ return {
29
+ ...DEFAULT_WORKTREE_ISOLATION_CONFIG,
30
+ policy: "auto",
31
+ merge_strategy: lean.merge_strategy ?? "merge",
32
+ worktree_dir: lean.worktree_dir,
33
+ deps_strategy: lean.deps_strategy ?? "skip",
34
+ runtime_isolation: lean.runtime_isolation ?? DEFAULT_WORKTREE_ISOLATION_CONFIG.runtime_isolation
35
+ };
36
+ }
37
+ return DEFAULT_WORKTREE_ISOLATION_CONFIG;
38
+ }
39
+
40
+ // src/config/index.ts
41
+ var _internals = { loadPluginConfigWithMeta };
42
+
43
+ export { resolveWorktreeIsolationConfig, _internals };
@@ -1,10 +1,10 @@
1
1
  // @bun
2
+ import {
3
+ withEvidenceLock
4
+ } from "./index-912qz4y0.js";
2
5
  import {
3
6
  invalidateCachedArtifact
4
7
  } from "./index-ed5ykebp.js";
5
- import {
6
- withEvidenceLock
7
- } from "./index-hfvxhk4z.js";
8
8
  import {
9
9
  bunWrite
10
10
  } from "./index-4nt52yr9.js";
@@ -15,10 +15,10 @@ import {
15
15
  import {
16
16
  init_schema,
17
17
  stripKnownSwarmPrefix
18
- } from "./index-7d5jseea.js";
18
+ } from "./index-jm4cpp4n.js";
19
19
  import {
20
20
  init_constants
21
- } from "./index-n408rw7n.js";
21
+ } from "./index-jqsfsqbx.js";
22
22
  import {
23
23
  __commonJS,
24
24
  __toESM
@@ -2615,4 +2615,4 @@ function redactPath(filePath) {
2615
2615
  return normalized;
2616
2616
  }
2617
2617
 
2618
- export { stableCanonicalStringify, classifyFile, checkFileAuthority, isInDeclaredScope, redactShellCommand, redactPath };
2618
+ export { classifyFile, stableCanonicalStringify, checkFileAuthority, isInDeclaredScope, redactShellCommand, redactPath };
@@ -11,6 +11,7 @@ var PROVISIONING_OWNER_DIR = "worktree-provisioning-owners";
11
11
  var MAX_PROVISIONING_OWNERS = 512;
12
12
  var MAX_PROVISIONING_OWNER_BYTES = 16 * 1024;
13
13
  var WORKTREE_PROVISIONING_OWNER_LEASE_MS = 5 * 60 * 1000;
14
+ var WORKTREE_LIFECYCLE_LOCK_FILE = ".swarm/locks/init-orphan-recovery.lock";
14
15
  function ownerDirectory(directory) {
15
16
  return path.dirname(validateSwarmPath(directory, path.join(PROVISIONING_OWNER_DIR, ".containment-anchor")));
16
17
  }
@@ -26,6 +27,36 @@ function isOwner(value) {
26
27
  const validTaskIdentity = schemaVersion === 1 ? candidate.taskId === undefined : schemaVersion === 2 && typeof candidate.taskId === "string" && candidate.taskId.length > 0 && candidate.taskId.length <= 512;
27
28
  return (schemaVersion === 1 || schemaVersion === 2) && validTaskIdentity && typeof candidate.callID === "string" && candidate.callID.length > 0 && candidate.callID.length <= 512 && typeof candidate.parentSessionId === "string" && candidate.parentSessionId.length > 0 && candidate.parentSessionId.length <= 512 && typeof candidate.worktreeSessionId === "string" && candidate.worktreeSessionId.length > 0 && candidate.worktreeSessionId.length <= 512 && typeof candidate.createdAt === "number" && Number.isFinite(candidate.createdAt) && candidate.createdAt >= 0;
28
29
  }
30
+ function recordWorktreeProvisioningOwner(directory, input) {
31
+ const owner = {
32
+ schemaVersion: input.taskId ? 2 : 1,
33
+ callID: input.callID,
34
+ parentSessionId: input.parentSessionId,
35
+ worktreeSessionId: input.worktreeSessionId,
36
+ ...input.taskId ? { taskId: input.taskId } : {},
37
+ createdAt: Date.now()
38
+ };
39
+ if (!isOwner(owner)) {
40
+ throw new Error("invalid worktree provisioning owner");
41
+ }
42
+ const absolutePath = ownerPath(directory, input.callID);
43
+ fs.mkdirSync(path.dirname(absolutePath), { recursive: true });
44
+ const tempPath = `${absolutePath}.tmp-${randomBytes(8).toString("hex")}`;
45
+ try {
46
+ fs.writeFileSync(tempPath, `${JSON.stringify(owner)}
47
+ `, {
48
+ encoding: "utf8",
49
+ flag: "wx"
50
+ });
51
+ fs.renameSync(tempPath, absolutePath);
52
+ } catch (error) {
53
+ try {
54
+ fs.unlinkSync(tempPath);
55
+ } catch {}
56
+ throw error;
57
+ }
58
+ return owner;
59
+ }
29
60
  function removeWorktreeProvisioningOwner(directory, callID) {
30
61
  try {
31
62
  fs.unlinkSync(ownerPath(directory, callID));
@@ -91,4 +122,4 @@ function scanWorktreeProvisioningOwnersForRecovery(directory) {
91
122
  return { status: "ok", owners };
92
123
  }
93
124
 
94
- export { WORKTREE_PROVISIONING_OWNER_LEASE_MS, removeWorktreeProvisioningOwner, scanWorktreeProvisioningOwnersForRecovery };
125
+ export { WORKTREE_PROVISIONING_OWNER_LEASE_MS, WORKTREE_LIFECYCLE_LOCK_FILE, recordWorktreeProvisioningOwner, removeWorktreeProvisioningOwner, scanWorktreeProvisioningOwnersForRecovery };
@@ -2,15 +2,12 @@
2
2
  import {
3
3
  cohortConfigFingerprint
4
4
  } from "./index-rtry5xyf.js";
5
- import {
6
- readKnowledgeEvents
7
- } from "./index-n8jncheh.js";
8
5
  import {
9
6
  isLinked,
10
7
  readLinkPointer,
11
8
  resolveKnowledgeStoreDir,
12
9
  resolveLinkDir
13
- } from "./index-rs1f1bh0.js";
10
+ } from "./index-vh05t3w5.js";
14
11
 
15
12
  // src/knowledge/curation-policy.ts
16
13
  import { appendFile, mkdir as mkdir2, readFile as readFile2 } from "fs/promises";
@@ -179,24 +176,11 @@ async function authorizeCuration(input, context, quorum = DEFAULT_QUORUM) {
179
176
  };
180
177
  }
181
178
  if (input.evidenceScope === "cohort-wide") {
182
- const events = await _internals2.readKnowledgeEvents(directory);
183
- const NEGATIVE_EVENT_TYPES = new Set(["violated", "contradicted"]);
184
- const entryEvents = events.filter((e) => ("type" in e) && NEGATIVE_EVENT_TYPES.has(e.type ?? "") && ("knowledge_id" in e) && e.knowledge_id === entryId);
185
- const cohortEvidence = entryEvents.length;
186
- if (cohortEvidence >= quorum.minCohortEvidence) {
187
- return {
188
- authorized: true,
189
- basis: "quorum",
190
- detail: `Cohort quorum met for entry ${entryId}: ${cohortEvidence} ` + `cohort-wide evidence events (\u2265 ${quorum.minCohortEvidence} required).`,
191
- expectedRevision: entry.revision,
192
- expectedContentHash: entry.content_hash
193
- };
194
- }
195
179
  persistProposal(proposal);
196
180
  return {
197
181
  authorized: false,
198
182
  basis: "quorum-insufficient",
199
- detail: `Cohort quorum NOT met for entry ${entryId}: ${cohortEvidence} ` + `cohort-wide evidence events (< ${quorum.minCohortEvidence} required).`,
183
+ detail: `Cohort-wide diagnostics cannot authorize destructive action for entry ${entryId}. ` + `The project-local receipt ledger cannot prove a cross-root quorum; ` + `the producer or an explicit audited override must authorize it ` + `(configured threshold ${quorum.minCohortEvidence}).`,
200
184
  proposal
201
185
  };
202
186
  }
@@ -248,7 +232,6 @@ async function readCohortConfigFingerprint(directory) {
248
232
  }
249
233
  var _internals2 = {
250
234
  resolveWorktreeId,
251
- readKnowledgeEvents,
252
235
  cohortConfigFingerprint,
253
236
  readCohortConfigFingerprint,
254
237
  readFile: readFile2,
@@ -4,7 +4,7 @@ import {
4
4
  } from "./index-k46me75h.js";
5
5
  import {
6
6
  withEvidenceLock
7
- } from "./index-hfvxhk4z.js";
7
+ } from "./index-912qz4y0.js";
8
8
  import {
9
9
  bunWrite
10
10
  } from "./index-4nt52yr9.js";
@@ -65,7 +65,8 @@ var WorkspaceSchema = exports_external.object({
65
65
  }).strict();
66
66
  var TaskChangeContextSchema = exports_external.object({
67
67
  declaredFiles: exports_external.array(exports_external.string()).nullable(),
68
- baseline: WorkspaceSchema
68
+ baseline: WorkspaceSchema,
69
+ workflowGeneration: exports_external.number().int().nonnegative().optional()
69
70
  }).strict();
70
71
  var WorktreeDescriptorSchema = exports_external.object({
71
72
  callID: exports_external.string().min(1).max(256),
@@ -260,6 +261,7 @@ var RecordSchema = exports_external.object({
260
261
  promptHash: exports_external.string().optional(),
261
262
  workspace: WorkspaceSchema.optional(),
262
263
  taskChangeContext: TaskChangeContextSchema.optional(),
264
+ workflowGeneration: exports_external.number().int().nonnegative().optional(),
263
265
  worktree: WorktreeDescriptorSchema.optional(),
264
266
  coderReservationId: exports_external.string().min(1).max(256).optional(),
265
267
  prompt: PromptSchema.optional(),
@@ -419,6 +421,7 @@ function buildPendingRecord(input, now) {
419
421
  ...input.promptHash ? { promptHash: input.promptHash } : {},
420
422
  ...input.workspace ? { workspace: input.workspace } : {},
421
423
  ...input.taskChangeContext ? { taskChangeContext: input.taskChangeContext } : {},
424
+ ...input.workflowGeneration !== undefined ? { workflowGeneration: input.workflowGeneration } : {},
422
425
  ...input.worktree ? { worktree: input.worktree } : {},
423
426
  ...input.coderReservationId ? { coderReservationId: input.coderReservationId } : {},
424
427
  ...input.prompt ? { prompt: input.prompt } : {},
@@ -444,6 +447,7 @@ function pendingLaunchIdentity(record) {
444
447
  promptHash: record.promptHash,
445
448
  workspace: record.workspace,
446
449
  taskChangeContext: record.taskChangeContext,
450
+ workflowGeneration: record.workflowGeneration,
447
451
  worktree: record.worktree,
448
452
  coderReservationId: record.coderReservationId,
449
453
  prompt: record.prompt,
@@ -9,11 +9,11 @@ import {
9
9
  } from "./index-y8552snf.js";
10
10
  import {
11
11
  atomicWriteFile
12
- } from "./index-h2waehqq.js";
12
+ } from "./index-p8kk34am.js";
13
13
  import {
14
14
  assertProjectRoot,
15
15
  withEvidenceLock
16
- } from "./index-hfvxhk4z.js";
16
+ } from "./index-912qz4y0.js";
17
17
  import {
18
18
  exports_external,
19
19
  init_zod