opencode-swarm 7.141.2 → 7.142.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dist/cli/{config-doctor-weqs97sa.js → config-doctor-2a3qmp5p.js} +2 -2
  2. package/dist/cli/{core-zg7fqfsm.js → core-h9z49ant.js} +1 -1
  3. package/dist/cli/{curation-policy-j1fbc3ry.js → curation-policy-pkb2eeb1.js} +6 -6
  4. package/dist/cli/curator-drift-49p3jnte.js +1 -1
  5. package/dist/cli/{curator-llm-factory-8p86mgye.js → curator-llm-factory-9fr243kj.js} +29 -29
  6. package/dist/cli/{curator-v1tnrt93.js → curator-mtz194wy.js} +29 -29
  7. package/dist/cli/{evidence-summary-service-a4w0yc8h.js → evidence-summary-service-fgckng0a.js} +13 -11
  8. package/dist/cli/{gate-evidence-rt9034ft.js → gate-evidence-ppna7em4.js} +9 -5
  9. package/dist/cli/{guardrail-explain-8yrznk98.js → guardrail-explain-ejdvvnjz.js} +30 -30
  10. package/dist/cli/{guardrail-log-7hj4x9yt.js → guardrail-log-adjs25ye.js} +4 -4
  11. package/dist/cli/{hive-promoter-6zcnyh1j.js → hive-promoter-jejme31e.js} +29 -29
  12. package/dist/cli/{index-vts5e84g.js → index-0r4qs243.js} +31 -31
  13. package/dist/cli/index-2mb5y2w1.js +1372 -0
  14. package/dist/cli/{index-nse60anv.js → index-7c4bxgdh.js} +1 -1
  15. package/dist/cli/{index-qskz8j2z.js → index-82m5kwtd.js} +1 -1
  16. package/dist/cli/{index-6bp1jecx.js → index-9kf3mj08.js} +4 -4
  17. package/dist/cli/{index-szrcxvr7.js → index-9wmx9ca8.js} +6 -6
  18. package/dist/cli/{index-76651erq.js → index-ajfa2wmj.js} +9 -9
  19. package/dist/cli/{index-jpt07f2k.js → index-bb4pcn58.js} +2 -2
  20. package/dist/cli/{index-qa50yyeh.js → index-bkkxxwcd.js} +1 -1
  21. package/dist/cli/{index-c2hczjhp.js → index-erfnw81g.js} +3 -3
  22. package/dist/cli/{index-why8n7cr.js → index-gtkk5rx7.js} +137 -36
  23. package/dist/cli/{index-73sxchez.js → index-h7ye3bzp.js} +4127 -2558
  24. package/dist/cli/{index-hwxcdrv9.js → index-j02ez59y.js} +9 -9
  25. package/dist/cli/{index-h3vk67wp.js → index-k1xsjzm3.js} +3 -3
  26. package/dist/cli/{index-zbj3yrrd.js → index-k31en0ja.js} +3 -3
  27. package/dist/cli/{index-q4vaar2b.js → index-k92cagmt.js} +2 -2
  28. package/dist/cli/{index-p5y72gtj.js → index-kbshtwha.js} +3 -3
  29. package/dist/cli/{index-r6pdts5c.js → index-ktazgjqw.js} +2 -2
  30. package/dist/cli/{index-mxtt4x8r.js → index-myav90y6.js} +212 -10
  31. package/dist/cli/{index-kkn2jxda.js → index-rthq1a6w.js} +1 -1
  32. package/dist/cli/{index-9d4gck4e.js → index-s2rcz51a.js} +59 -35
  33. package/dist/cli/{index-y6k6x197.js → index-sdqtecsd.js} +1 -1
  34. package/dist/cli/{index-v250345n.js → index-tq5s07ta.js} +1 -1
  35. package/dist/cli/{index-zf5nkkdd.js → index-vefjxxmb.js} +1 -1
  36. package/dist/cli/{index-bxjhn3t3.js → index-vy11zjvh.js} +2 -2
  37. package/dist/cli/{index-kq5p3nm3.js → index-w7x7qxz2.js} +1 -1
  38. package/dist/cli/{index-mqqmant3.js → index-we279je2.js} +1 -1
  39. package/dist/cli/{index-xx0q37xb.js → index-xah70t2t.js} +1 -1
  40. package/dist/cli/{index-aqzvjhb7.js → index-xfhe29z3.js} +5 -5
  41. package/dist/cli/{index-f1hsrgw1.js → index-y9h2vqf6.js} +1 -1
  42. package/dist/cli/index.js +42 -29
  43. package/dist/cli/{knowledge-escalator-xjkbek46.js → knowledge-escalator-0b80ryka.js} +12 -12
  44. package/dist/cli/{knowledge-events-hsdx5prn.js → knowledge-events-8x2wt562.js} +10 -10
  45. package/dist/cli/{knowledge-link-x86ebng8.js → knowledge-link-fn5j3r4q.js} +5 -5
  46. package/dist/cli/{knowledge-store-vt059r81.js → knowledge-store-d0xj6wht.js} +6 -6
  47. package/dist/cli/{knowledge-validator-jr5694jb.js → knowledge-validator-ewfj679a.js} +8 -8
  48. package/dist/cli/{pending-delegations-7xsagjy5.js → pending-delegations-0hb97ps1.js} +4 -4
  49. package/dist/cli/{pr-subscriptions-r6cdsa3t.js → pr-subscriptions-b63t252j.js} +4 -4
  50. package/dist/cli/{runner-nm3baddf.js → runner-hrg7h2h4.js} +6 -6
  51. package/dist/cli/{scan-cursor-6nrkcfbr.js → scan-cursor-hfyz7zpw.js} +7 -7
  52. package/dist/cli/{schema-f6pt0zjy.js → schema-ney3c685.js} +1 -1
  53. package/dist/cli/{scope-persistence-jc0mtp7g.js → scope-persistence-dbfgs7gh.js} +6 -6
  54. package/dist/cli/{skill-generator-4vp33gjb.js → skill-generator-p651jex5.js} +14 -14
  55. package/dist/cli/{telemetry-zex3zv3v.js → telemetry-xyfb5vm8.js} +1 -1
  56. package/dist/cli/{worktree-collision-ownership-n41qw3n8.js → worktree-collision-ownership-ymdxetnn.js} +4 -4
  57. package/dist/cli/{worktree-isolation-a3hkz665.js → worktree-isolation-513vx61s.js} +29 -29
  58. package/dist/commands/close.d.ts +20 -2
  59. package/dist/commands/hive-quarantine.d.ts +23 -0
  60. package/dist/commands/registry.d.ts +9 -0
  61. package/dist/gate-evidence.d.ts +24 -1
  62. package/dist/hooks/hive-transaction.d.ts +41 -0
  63. package/dist/index.js +491 -478
  64. package/dist/knowledge/hive-quarantine.d.ts +156 -0
  65. package/dist/observability/catalog.d.ts +2 -2
  66. package/dist/plan/ledger.d.ts +31 -1
  67. package/dist/plan/manager.d.ts +1 -0
  68. package/dist/state.d.ts +1 -1
  69. package/dist/telemetry.d.ts +1 -1
  70. package/dist/workflow/close-terminal.d.ts +22 -0
  71. package/dist/workflow/coder-settlement.d.ts +0 -23
  72. package/dist/workflow/task-repair.d.ts +1 -0
  73. package/dist/workflow/task-terminal.d.ts +18 -23
  74. package/dist/workflow/workflow-wal-file.d.ts +20 -0
  75. package/dist/workflow/workflow-wal-schema.d.ts +67 -0
  76. package/dist/worktree/merge.d.ts +17 -0
  77. package/package.json +1 -1
  78. package/dist/cli/index-3d13jkzq.js +0 -623
@@ -4,7 +4,7 @@ import {
4
4
  } from "./index-k46me75h.js";
5
5
  import {
6
6
  withEvidenceLock
7
- } from "./index-zbj3yrrd.js";
7
+ } from "./index-k31en0ja.js";
8
8
  import {
9
9
  bunWrite
10
10
  } from "./index-4nt52yr9.js";
@@ -4,7 +4,7 @@ import {
4
4
  } from "./index-k46me75h.js";
5
5
  import {
6
6
  withEvidenceLock
7
- } from "./index-zbj3yrrd.js";
7
+ } from "./index-k31en0ja.js";
8
8
  import {
9
9
  log
10
10
  } from "./index-zgwm4ryv.js";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  authorizeCuration
4
- } from "./index-v250345n.js";
4
+ } from "./index-tq5s07ta.js";
5
5
  import {
6
6
  findNearDuplicate,
7
7
  inferTags,
@@ -9,13 +9,13 @@ import {
9
9
  resolveSwarmKnowledgePath,
10
10
  resolveSwarmRejectedPath,
11
11
  transactKnowledge
12
- } from "./index-hwxcdrv9.js";
12
+ } from "./index-j02ez59y.js";
13
13
  import {
14
14
  resolveKnowledgeStoreDir
15
- } from "./index-kq5p3nm3.js";
15
+ } from "./index-w7x7qxz2.js";
16
16
  import {
17
17
  atomicWriteFile
18
- } from "./index-c2hczjhp.js";
18
+ } from "./index-erfnw81g.js";
19
19
  import {
20
20
  require_proper_lockfile
21
21
  } from "./index-7g4c7s5r.js";
@@ -1,14 +1,14 @@
1
1
  // @bun
2
- import {
3
- unsafePathTextReason
4
- } from "./index-556ja8an.js";
5
2
  import {
6
3
  computePlanStructureHash,
7
4
  derivePlanId
8
- } from "./index-mxtt4x8r.js";
5
+ } from "./index-myav90y6.js";
6
+ import {
7
+ unsafePathTextReason
8
+ } from "./index-556ja8an.js";
9
9
  import {
10
10
  assertProjectRoot
11
- } from "./index-zbj3yrrd.js";
11
+ } from "./index-k31en0ja.js";
12
12
  import {
13
13
  require_proper_lockfile
14
14
  } from "./index-7g4c7s5r.js";
@@ -17,7 +17,7 @@ import {
17
17
  } from "./index-4nt52yr9.js";
18
18
  import {
19
19
  PlanSchema
20
- } from "./index-y6k6x197.js";
20
+ } from "./index-sdqtecsd.js";
21
21
  import {
22
22
  __toESM
23
23
  } from "./index-a76rekgs.js";
@@ -7,19 +7,22 @@ import {
7
7
  } from "./index-ae75rja9.js";
8
8
  import {
9
9
  resolveKnowledgeStoreDir
10
- } from "./index-kq5p3nm3.js";
10
+ } from "./index-w7x7qxz2.js";
11
11
  import {
12
12
  atomicWriteFile
13
- } from "./index-c2hczjhp.js";
13
+ } from "./index-erfnw81g.js";
14
14
  import {
15
15
  assertProjectRoot
16
- } from "./index-zbj3yrrd.js";
16
+ } from "./index-k31en0ja.js";
17
17
  import {
18
18
  require_proper_lockfile
19
19
  } from "./index-7g4c7s5r.js";
20
+ import {
21
+ emit
22
+ } from "./index-s2rcz51a.js";
20
23
  import {
21
24
  loadPluginConfigWithMeta
22
- } from "./index-y6k6x197.js";
25
+ } from "./index-sdqtecsd.js";
23
26
  import {
24
27
  init_logger,
25
28
  warn
@@ -27,10 +30,7 @@ import {
27
30
  import {
28
31
  KnowledgeConfigSchema,
29
32
  init_schema
30
- } from "./index-mqqmant3.js";
31
- import {
32
- emit
33
- } from "./index-9d4gck4e.js";
33
+ } from "./index-we279je2.js";
34
34
  import {
35
35
  __require,
36
36
  __toESM
@@ -2545,7 +2545,7 @@ async function applyKnowledgeVerdictFeedback(directory, options) {
2545
2545
  }
2546
2546
  let bumps = 0;
2547
2547
  if (deltas.length > 0) {
2548
- const { bumpKnowledgeConfidenceBatch } = await import("./knowledge-store-vt059r81.js");
2548
+ const { bumpKnowledgeConfidenceBatch } = await import("./knowledge-store-d0xj6wht.js");
2549
2549
  bumps = await bumpKnowledgeConfidenceBatch(directory, deltas, options?.floorOptions);
2550
2550
  }
2551
2551
  return {
@@ -12,14 +12,14 @@ import {
12
12
  detectPosixWrites,
13
13
  detectWindowsWrites,
14
14
  resolveWriteTargets
15
- } from "./index-73sxchez.js";
15
+ } from "./index-h7ye3bzp.js";
16
16
  import {
17
17
  checkFileAuthority,
18
18
  classifyFile,
19
19
  isInDeclaredScope,
20
20
  redactPath,
21
21
  redactShellCommand
22
- } from "./index-kkn2jxda.js";
22
+ } from "./index-rthq1a6w.js";
23
23
 
24
24
  // src/services/guardrail-explain-service.ts
25
25
  import path from "path";
@@ -86,7 +86,7 @@ var _internals = {
86
86
  symlinkSync: fs.symlinkSync
87
87
  },
88
88
  writeScopeToDisk: async (directory, taskId, files) => {
89
- const { writeScopeToDisk: realWrite } = await import("./scope-persistence-jc0mtp7g.js");
89
+ const { writeScopeToDisk: realWrite } = await import("./scope-persistence-dbfgs7gh.js");
90
90
  return realWrite(directory, taskId, files);
91
91
  },
92
92
  writeLaneProfileToDisk: async (_worktreePath, _laneIndex, _envOverrides) => {
@@ -1,10 +1,10 @@
1
1
  // @bun
2
- import {
3
- withEvidenceLock
4
- } from "./index-zbj3yrrd.js";
5
2
  import {
6
3
  invalidateCachedArtifact
7
4
  } from "./index-ed5ykebp.js";
5
+ import {
6
+ withEvidenceLock
7
+ } from "./index-k31en0ja.js";
8
8
  import {
9
9
  bunWrite
10
10
  } from "./index-4nt52yr9.js";
@@ -6,30 +6,10 @@ import {
6
6
  EvaluationRunV1Schema,
7
7
  GateAuditResultV1Schema,
8
8
  getProtectedEvaluationRunIds
9
- } from "./index-q4vaar2b.js";
9
+ } from "./index-k92cagmt.js";
10
10
  import {
11
11
  readEffectiveSpecSync
12
12
  } from "./index-9ss2m4rs.js";
13
- import {
14
- LedgerStaleWriterError,
15
- appendLedgerEvent,
16
- computeCurrentPlanHash,
17
- computePlanHash,
18
- derivePlanId,
19
- derivePlanIdentityHash,
20
- getLatestLedgerSeq,
21
- initLedger,
22
- ledgerExists,
23
- loadLastApprovedPlan,
24
- normalizeExecutionProfileForHash,
25
- readLedgerEvents,
26
- readLedgerEventsWithIntegrity,
27
- replaceTruncatedLedgerWithRecoveryRoot,
28
- replayFromLedger,
29
- replayFromLedgerWithStatus,
30
- takeSnapshotEvent,
31
- takeSnapshotWithRetry
32
- } from "./index-mxtt4x8r.js";
33
13
  import {
34
14
  getWorktreeMergeFailure
35
15
  } from "./index-zsrtt42s.js";
@@ -38,7 +18,7 @@ import {
38
18
  readTaskEvidence,
39
19
  readTaskEvidenceRaw,
40
20
  sanitizeTaskId
41
- } from "./index-3d13jkzq.js";
21
+ } from "./index-2mb5y2w1.js";
42
22
  import {
43
23
  _internals,
44
24
  buildDefaultPolicy,
@@ -50,37 +30,57 @@ import {
50
30
  readSwarmFileAsync,
51
31
  validateSwarmPath
52
32
  } from "./index-k46me75h.js";
33
+ import {
34
+ invalidateCachedArtifact,
35
+ readCachedParsedFile
36
+ } from "./index-ed5ykebp.js";
37
+ import {
38
+ EVIDENCE_MAX_JSON_BYTES,
39
+ EvidenceBundleSchema,
40
+ EvidenceSchema
41
+ } from "./index-gprxjmm7.js";
42
+ import {
43
+ LedgerStaleWriterError,
44
+ appendLedgerEvent,
45
+ computeCurrentPlanHash,
46
+ computePlanHash,
47
+ derivePlanId,
48
+ derivePlanIdentityHash,
49
+ getLatestLedgerSeq,
50
+ initLedger,
51
+ ledgerExists,
52
+ loadLastApprovedPlan,
53
+ normalizeExecutionProfileForHash,
54
+ readLedgerEvents,
55
+ readLedgerEventsWithIntegrity,
56
+ replaceTruncatedLedgerWithRecoveryRoot,
57
+ replayFromLedger,
58
+ replayFromLedgerWithStatus,
59
+ takeSnapshotEvent,
60
+ takeSnapshotWithRetry
61
+ } from "./index-myav90y6.js";
53
62
  import {
54
63
  assertProjectRoot,
55
64
  tryAcquireLock,
56
65
  withEvidenceLock
57
- } from "./index-zbj3yrrd.js";
66
+ } from "./index-k31en0ja.js";
58
67
  import {
59
- invalidateCachedArtifact,
60
- readCachedParsedFile
61
- } from "./index-ed5ykebp.js";
68
+ emit
69
+ } from "./index-s2rcz51a.js";
62
70
  import {
63
71
  bunHash,
64
72
  bunWrite,
65
73
  mergeEnvForChild
66
74
  } from "./index-4nt52yr9.js";
67
- import {
68
- EVIDENCE_MAX_JSON_BYTES,
69
- EvidenceBundleSchema,
70
- EvidenceSchema
71
- } from "./index-gprxjmm7.js";
72
75
  import {
73
76
  PlanSchema
74
- } from "./index-y6k6x197.js";
77
+ } from "./index-sdqtecsd.js";
75
78
  import {
76
79
  criticalWarn,
77
80
  error,
78
81
  init_logger,
79
82
  warn
80
83
  } from "./index-zgwm4ryv.js";
81
- import {
82
- emit
83
- } from "./index-9d4gck4e.js";
84
84
  import {
85
85
  ZodError,
86
86
  init_zod
@@ -3841,6 +3841,107 @@ ${markdown}`;
3841
3841
  } catch {}
3842
3842
  }
3843
3843
  }
3844
+ async function updateTaskStatus(directory, taskId, status, options) {
3845
+ assertProjectRoot(directory);
3846
+ const derivePhaseStatusFromTasks = (tasks) => {
3847
+ if (tasks.length > 0 && tasks.every((task) => task.status === "completed")) {
3848
+ return "complete";
3849
+ }
3850
+ if (tasks.some((task) => task.status === "in_progress")) {
3851
+ return "in_progress";
3852
+ }
3853
+ if (tasks.some((task) => task.status === "blocked")) {
3854
+ return "blocked";
3855
+ }
3856
+ return "pending";
3857
+ };
3858
+ {
3859
+ const currentPlan = await _internals9.loadPlanJsonOnly(directory);
3860
+ if (currentPlan) {
3861
+ const currentTask = currentPlan.phases.flatMap((p) => p.tasks).find((t) => t.id === taskId);
3862
+ const settled = currentTask && currentTask.status !== "pending" && currentTask.status !== "in_progress";
3863
+ const auditedRepair = status === "in_progress" && options?.force === true;
3864
+ if (settled && status !== currentTask.status && !auditedRepair && options?.terminalReconciliation !== true) {
3865
+ warn(`[updateTaskStatus] refusing backward transition of settled task ${taskId} (${currentTask.status}) to ${status} without audited repair`);
3866
+ return currentPlan;
3867
+ }
3868
+ }
3869
+ }
3870
+ const MAX_OUTER_RETRIES = 1;
3871
+ for (let attempt = 0;attempt <= MAX_OUTER_RETRIES; attempt++) {
3872
+ const plan = await _internals9.loadPlan(directory);
3873
+ if (plan === null) {
3874
+ throw new Error(`Plan not found in directory: ${directory}`);
3875
+ }
3876
+ let taskFound = false;
3877
+ const updatedPhases = plan.phases.map((phase) => {
3878
+ const updatedTasks = phase.tasks.map((task) => {
3879
+ if (task.id === taskId) {
3880
+ taskFound = true;
3881
+ return { ...task, status };
3882
+ }
3883
+ return task;
3884
+ });
3885
+ return {
3886
+ ...phase,
3887
+ status: derivePhaseStatusFromTasks(updatedTasks),
3888
+ tasks: updatedTasks
3889
+ };
3890
+ });
3891
+ if (!taskFound) {
3892
+ throw new Error(`Task not found: ${taskId}`);
3893
+ }
3894
+ const updatedPlan = { ...plan, phases: updatedPhases };
3895
+ try {
3896
+ await savePlan(directory, updatedPlan, {
3897
+ preserveCompletedStatuses: false,
3898
+ planLockAlreadyHeld: options?.planLockAlreadyHeld
3899
+ });
3900
+ if (status === "completed" || status === "blocked") {
3901
+ const recordedTask = updatedPlan.phases.flatMap((phase) => phase.tasks).find((candidate) => candidate.id === taskId);
3902
+ try {
3903
+ await _internals9.recordTaskAttempt(directory, {
3904
+ taskId,
3905
+ agent: "plan-status",
3906
+ outcome: status === "completed" ? "pass" : "fail",
3907
+ failureReason: status === "blocked" ? recordedTask?.blocked_reason ?? "task marked blocked (no blocked_reason recorded)" : undefined,
3908
+ fileTargets: recordedTask?.files_touched ?? []
3909
+ });
3910
+ } catch (err) {
3911
+ warn(`[plan/manager] run-memory record for ${taskId} failed: ${err instanceof Error ? err.message : String(err)}`);
3912
+ }
3913
+ }
3914
+ if (status === "completed" && _internals9.isGitRepo(directory) && _internals9.isEpicModeActiveForProject(directory)) {
3915
+ const mergeFailure = _internals9.getWorktreeMergeFailure(taskId);
3916
+ if (mergeFailure) {
3917
+ criticalWarn(`[plan/manager] Rule 2 auto-commit SKIPPED for ${taskId}: worktree merge-back ${mergeFailure.outcome} at stage '${mergeFailure.stage}'. The task's changes are NOT in the main tree, so no completion marker is written (Rule 3 must not treat this task as satisfied). Resolve the preserved worktree, then re-run the task. Detail: ${mergeFailure.message}`);
3918
+ return updatedPlan;
3919
+ }
3920
+ try {
3921
+ let taskDescription;
3922
+ for (const phase of updatedPlan.phases) {
3923
+ const found = phase.tasks.find((t) => t.id === taskId);
3924
+ if (found) {
3925
+ taskDescription = found.description;
3926
+ break;
3927
+ }
3928
+ }
3929
+ const canonicalScope = _internals9.readTaskScopes(directory, taskId);
3930
+ await _internals9.commitTaskCompletion(directory, taskId, taskDescription, canonicalScope ?? undefined);
3931
+ } catch (commitErr) {
3932
+ criticalWarn(`[plan/manager] Rule 2 auto-commit for ${taskId} threw (non-fatal): ${commitErr instanceof Error ? commitErr.message : String(commitErr)}`);
3933
+ }
3934
+ }
3935
+ return updatedPlan;
3936
+ } catch (error2) {
3937
+ if (error2 instanceof PlanConcurrentModificationError && attempt < MAX_OUTER_RETRIES) {
3938
+ continue;
3939
+ }
3940
+ throw error2;
3941
+ }
3942
+ }
3943
+ throw new Error("updateTaskStatus: unexpected loop exit");
3944
+ }
3844
3945
  function derivePlanMarkdown(plan) {
3845
3946
  const statusMap = {
3846
3947
  pending: "PENDING",
@@ -5008,4 +5109,4 @@ function mergeDurableGateEntriesFromEvidence(taskId, entries, evidence) {
5008
5109
  return merged;
5009
5110
  }
5010
5111
 
5011
- export { projectDbExists, getProjectDb, closeProjectDb, buildTaskCompletionDescriptor, ensureTaskCheckpointReceipt, updateTaskCheckpointReceipt, isValidEnvKey, getExecutor, init_executor, MAX_TRANSIENT_RETRIES, isTransientSpawnError, transientBackoff, getGitRepositoryStatus, isGitRepo, getDefaultBaseBranch, detectDefaultRemoteBranch, resetToRemoteBranch, resetToMainAfterMerge, containsPathTraversal, containsControlChars, isStateUnreadable, loadEpicSessionState, isEpicModeActive, enableEpicMode, disableEpicMode, normalizePath, pathsConflict, isGlobalFile, isProtectedPath, readTaskScopes, loadPlanJsonOnly, loadPlan, savePlan, closePlanTerminalState, derivePlanMarkdown, isValidEvidenceType, sanitizeTaskId2 as sanitizeTaskId, validateProjectRoot, saveEvidence, loadEvidence, listEvidenceTaskIds, checkRequirementCoverage, archiveEvidence, readDurableGateEvidence, getDurableGateEvidenceStatus, getDurableGateEvidenceStatusForTask, mergeDurableGateEntriesFromEvidence };
5112
+ export { projectDbExists, getProjectDb, closeProjectDb, buildTaskCompletionDescriptor, ensureTaskCheckpointReceipt, updateTaskCheckpointReceipt, isValidEnvKey, getExecutor, init_executor, MAX_TRANSIENT_RETRIES, isTransientSpawnError, transientBackoff, getGitRepositoryStatus, isGitRepo, getDefaultBaseBranch, detectDefaultRemoteBranch, resetToRemoteBranch, resetToMainAfterMerge, containsPathTraversal, containsControlChars, isStateUnreadable, loadEpicSessionState, isEpicModeActive, enableEpicMode, disableEpicMode, normalizePath, pathsConflict, isGlobalFile, isProtectedPath, readTaskScopes, loadPlanJsonOnly, loadPlan, savePlan, closePlanTerminalState, updateTaskStatus, derivePlanMarkdown, isValidEvidenceType, sanitizeTaskId2 as sanitizeTaskId, validateProjectRoot, saveEvidence, loadEvidence, listEvidenceTaskIds, checkRequirementCoverage, archiveEvidence, readDurableGateEvidence, getDurableGateEvidenceStatus, getDurableGateEvidenceStatusForTask, mergeDurableGateEntriesFromEvidence };