opencode-swarm 7.184.5 → 7.184.7

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 (104) hide show
  1. package/.opencode/skills/issue-tracer/SKILL.md +3 -3
  2. package/.opencode/skills/issue-tracer/assets/pr-template.md +7 -0
  3. package/.opencode/skills/issue-tracer/references/acceptance-checks.md +30 -6
  4. package/.opencode/skills/issue-tracer/references/critic-gate.md +5 -0
  5. package/.opencode/skills/issue-tracer/references/evidence-artifacts.md +18 -2
  6. package/.opencode/skills/issue-tracer/scripts/repro-check.sh +604 -77
  7. package/.opencode/skills/issue-tracer/scripts/trace-check.sh +486 -60
  8. package/.opencode/skills/issue-tracer/scripts/trace-init.sh +30 -0
  9. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  10. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  11. package/dist/cli/{coder-settlement-m3r1kmzx.js → coder-settlement-2759zt77.js} +11 -11
  12. package/dist/cli/{config-doctor-1qgq2s96.js → config-doctor-g48tz4kt.js} +3 -3
  13. package/dist/cli/{core-h7pp6xzs.js → core-1jfgxw72.js} +4 -4
  14. package/dist/cli/{curation-policy-49f8jx48.js → curation-policy-k43q6b91.js} +4 -4
  15. package/dist/cli/{curator-drift-epvr1y5j.js → curator-drift-5wc9jfmy.js} +9 -9
  16. package/dist/cli/curator-llm-factory-jjd0cxb2.js +75 -0
  17. package/dist/cli/{curator-48mky2w8.js → curator-m7sja3jp.js} +38 -38
  18. package/dist/cli/{evidence-summary-service-akzas6he.js → evidence-summary-service-sx8x12w0.js} +17 -17
  19. package/dist/cli/{gate-evidence-gmq1th1b.js → gate-evidence-znfffz94.js} +8 -6
  20. package/dist/cli/guardrail-explain-x81m4s8q.js +76 -0
  21. package/dist/cli/{guardrail-log-n2cgvbh1.js → guardrail-log-mcv4ad3t.js} +7 -7
  22. package/dist/cli/{guardrail-reset-3br6fs4n.js → guardrail-reset-ksrr2r0n.js} +38 -38
  23. package/dist/cli/{hive-promoter-a1yw6evd.js → hive-promoter-06dzq5ms.js} +38 -38
  24. package/dist/cli/{index-fnbcd9ve.js → index-0prgjynb.js} +5 -5
  25. package/dist/cli/{index-ar2gsn6b.js → index-14j1jkyy.js} +6 -6
  26. package/dist/cli/{index-2zzmthnv.js → index-16smfppa.js} +4 -4
  27. package/dist/cli/{index-k1cxzdbd.js → index-1kz2repk.js} +4 -4
  28. package/dist/cli/{index-7ge1gcd3.js → index-1npynszx.js} +12 -12
  29. package/dist/cli/{index-82hy3v8f.js → index-1nwkzj24.js} +2 -2
  30. package/dist/cli/{index-ya32wfkp.js → index-1t2ctwkd.js} +1 -1
  31. package/dist/cli/{index-8pfcj7tz.js → index-2s0gy81b.js} +3 -3
  32. package/dist/cli/{index-k53a69vb.js → index-2t4zv1ag.js} +7 -14
  33. package/dist/cli/{index-3ny2d85s.js → index-3h0f07e9.js} +2 -2
  34. package/dist/cli/{index-qf75z3xz.js → index-42pchr9f.js} +1 -1
  35. package/dist/cli/{index-6jqxstq4.js → index-4qmeshfa.js} +5 -5
  36. package/dist/cli/{index-3n5zsp31.js → index-7xv2hvr6.js} +2 -2
  37. package/dist/cli/{index-10rsjhfy.js → index-82j1een1.js} +46 -19
  38. package/dist/cli/{index-h9hvszf7.js → index-8bvpcbk8.js} +40 -40
  39. package/dist/cli/{index-wy3zpwjy.js → index-98a0rxby.js} +1 -1
  40. package/dist/cli/{index-vyjped9g.js → index-b1v0zxnh.js} +2 -2
  41. package/dist/cli/{index-cdvb33mn.js → index-bf055zyw.js} +2 -2
  42. package/dist/cli/{index-2adz24wr.js → index-c5c7hrz1.js} +3 -3
  43. package/dist/cli/{index-6bn74qs9.js → index-dyddcx8h.js} +168 -105
  44. package/dist/cli/{index-xf69xty9.js → index-e1zrgvqg.js} +1 -1
  45. package/dist/cli/{index-yqcaf6r3.js → index-eecz2kna.js} +7 -7
  46. package/dist/cli/{index-1511m10x.js → index-enjsn68b.js} +7 -7
  47. package/dist/cli/{index-wzec3c4g.js → index-ezagem2g.js} +4 -0
  48. package/dist/cli/{index-zzvxj02e.js → index-fr6x6vn2.js} +1 -1
  49. package/dist/cli/{index-475bkab8.js → index-g2r6t7by.js} +1 -1
  50. package/dist/cli/{index-tzejdtyx.js → index-kbd6apth.js} +38 -38
  51. package/dist/cli/{index-e602am4j.js → index-m8rt7a3g.js} +4 -4
  52. package/dist/cli/{index-xf6j4ypk.js → index-mp60wy1f.js} +4 -4
  53. package/dist/cli/{index-6g664sy8.js → index-q39ecyaq.js} +1 -1
  54. package/dist/cli/{index-tajh3egk.js → index-q4a0j3nh.js} +5 -5
  55. package/dist/cli/{index-earq3mda.js → index-qeqn241m.js} +1 -1
  56. package/dist/cli/{index-ae2jf510.js → index-raj6y6d3.js} +2 -2
  57. package/dist/cli/{index-f0nj3d8z.js → index-rmspt7xm.js} +1 -1
  58. package/dist/cli/{index-ezpzd88b.js → index-rwzrbcm9.js} +2 -2
  59. package/dist/cli/{index-jvk95e6y.js → index-s95ghsy1.js} +1 -1
  60. package/dist/cli/{index-f4z1ez09.js → index-sxxj47cy.js} +6 -6
  61. package/dist/cli/{index-w9hxzcz4.js → index-t0mb5a9p.js} +1 -1
  62. package/dist/cli/{index-wehwbv89.js → index-x16a0c6b.js} +7 -7
  63. package/dist/cli/{index-456awy1p.js → index-xqxqepsy.js} +2 -2
  64. package/dist/cli/{index-zeg8y1fw.js → index-ywmknn6m.js} +1 -1
  65. package/dist/cli/{index-d1bfyxj5.js → index-z1qs160n.js} +1 -1
  66. package/dist/cli/{index-gcdgtcg5.js → index-z7recmq5.js} +3 -3
  67. package/dist/cli/index.d.ts +36 -7
  68. package/dist/cli/index.js +352 -92
  69. package/dist/cli/{knowledge-escalator-rdgspj3v.js → knowledge-escalator-ghx76dcv.js} +12 -12
  70. package/dist/cli/{knowledge-events-zh16e78y.js → knowledge-events-kpw6fbmc.js} +10 -10
  71. package/dist/cli/{knowledge-link-ap2274vm.js → knowledge-link-xw6vsbx3.js} +3 -3
  72. package/dist/cli/{knowledge-store-jxke13cv.js → knowledge-store-fhdrpxdm.js} +4 -4
  73. package/dist/cli/{knowledge-validator-24myt9fp.js → knowledge-validator-7jr0aka1.js} +6 -6
  74. package/dist/cli/{mcp-a4q99fmb.js → mcp-v7cgf5tn.js} +1 -1
  75. package/dist/cli/{model-preflight-qy88p9fc.js → model-preflight-kn3xqvfk.js} +38 -38
  76. package/dist/cli/{pending-delegations-9vqyq3bj.js → pending-delegations-z7mcbecn.js} +10 -10
  77. package/dist/cli/{pr-subscriptions-hrefmtay.js → pr-subscriptions-1sb07tx3.js} +10 -10
  78. package/dist/cli/{pr-workflow-gate-1jcs4wnp.js → pr-workflow-gate-ph4fvf47.js} +38 -38
  79. package/dist/cli/{runner-yz3ysehf.js → runner-pvdhxh74.js} +4 -4
  80. package/dist/cli/{scan-cursor-krn56ew2.js → scan-cursor-7ny9bnmk.js} +5 -5
  81. package/dist/cli/{schema-zqankczb.js → schema-pjkzvcw8.js} +2 -2
  82. package/dist/cli/{scope-persistence-5qrjm5d2.js → scope-persistence-mkb8yc5s.js} +14 -14
  83. package/dist/cli/{server-7wydssat.js → server-4e853cwk.js} +38 -38
  84. package/dist/cli/{skill-generator-br4wctes.js → skill-generator-v6n0kwh0.js} +14 -14
  85. package/dist/cli/{snapshot-coordination-init-g4sg2fxv.js → snapshot-coordination-init-agx2sn6h.js} +38 -38
  86. package/dist/cli/{speckit-checkoff-82s1qy0c.js → speckit-checkoff-wfsbvt1b.js} +5 -5
  87. package/dist/cli/{workspace-snapshot-xwhhznt3.js → workspace-snapshot-553c6cd3.js} +3 -3
  88. package/dist/cli/{worktree-collision-ownership-19n9em8b.js → worktree-collision-ownership-4znww3nt.js} +11 -11
  89. package/dist/cli/{worktree-isolation-hkd7xtdp.js → worktree-isolation-w4k8q59z.js} +38 -38
  90. package/dist/commands/registry.d.ts +1 -1
  91. package/dist/gate-evidence.d.ts +51 -0
  92. package/dist/index.js +34 -34
  93. package/dist/tools/index.d.ts +1 -0
  94. package/dist/tools/manifest.d.ts +1 -0
  95. package/dist/tools/record-branch-freshness.d.ts +6 -0
  96. package/dist/tools/record-trace-validation.d.ts +11 -0
  97. package/dist/tools/recover-stage-a-task.d.ts +5 -0
  98. package/dist/tools/tool-metadata.d.ts +4 -0
  99. package/dist/workflow/settlement-recovery.d.ts +52 -0
  100. package/dist/workflow/stage-a-repair.d.ts +13 -8
  101. package/dist/workflow/task-recovery-status.d.ts +11 -2
  102. package/package.json +1 -1
  103. package/dist/cli/curator-llm-factory-782jtn0a.js +0 -75
  104. package/dist/cli/guardrail-explain-xgahzbts.js +0 -76
@@ -10,7 +10,7 @@ import {
10
10
  } from "./index-ejhxgyvm.js";
11
11
  import {
12
12
  atomicWriteFileAnyRoot
13
- } from "./index-k53a69vb.js";
13
+ } from "./index-2t4zv1ag.js";
14
14
 
15
15
  // src/evidence/lock.ts
16
16
  class EvidenceLockTimeoutError extends Error {
@@ -1,19 +1,19 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-wy3zpwjy.js";
4
+ } from "./index-98a0rxby.js";
5
5
  import {
6
6
  observeReceiptTransition
7
- } from "./index-zzvxj02e.js";
7
+ } from "./index-fr6x6vn2.js";
8
8
  import {
9
9
  resolveHiveEventsPath
10
10
  } from "./index-ae75rja9.js";
11
11
  import {
12
12
  resolveKnowledgeStoreDir
13
- } from "./index-475bkab8.js";
13
+ } from "./index-g2r6t7by.js";
14
14
  import {
15
15
  atomicWriteFile
16
- } from "./index-xf69xty9.js";
16
+ } from "./index-e1zrgvqg.js";
17
17
  import {
18
18
  assertProjectRoot
19
19
  } from "./index-t7hmqgjy.js";
@@ -28,11 +28,11 @@ import {
28
28
  } from "./index-7g4c7s5r.js";
29
29
  import {
30
30
  loadPluginConfigWithMeta
31
- } from "./index-qf75z3xz.js";
31
+ } from "./index-42pchr9f.js";
32
32
  import {
33
33
  KnowledgeConfigSchema,
34
34
  init_schema
35
- } from "./index-3ny2d85s.js";
35
+ } from "./index-3h0f07e9.js";
36
36
  import {
37
37
  init_logger,
38
38
  warn
@@ -2946,7 +2946,7 @@ async function applyKnowledgeVerdictFeedback(directory, options) {
2946
2946
  }
2947
2947
  let bumps = 0;
2948
2948
  if (deltas.length > 0) {
2949
- const { bumpKnowledgeConfidenceBatch } = await import("./knowledge-store-jxke13cv.js");
2949
+ const { bumpKnowledgeConfidenceBatch } = await import("./knowledge-store-fhdrpxdm.js");
2950
2950
  bumps = await bumpKnowledgeConfidenceBatch(directory, deltas, options?.floorOptions);
2951
2951
  }
2952
2952
  return {
@@ -11,16 +11,16 @@ import {
11
11
  } from "./index-ae75rja9.js";
12
12
  import {
13
13
  resolveKnowledgeStoreDir
14
- } from "./index-475bkab8.js";
14
+ } from "./index-g2r6t7by.js";
15
15
  import {
16
16
  atomicWriteFile
17
- } from "./index-xf69xty9.js";
17
+ } from "./index-e1zrgvqg.js";
18
18
  import {
19
19
  require_proper_lockfile
20
20
  } from "./index-7g4c7s5r.js";
21
21
  import {
22
22
  readCachedParsedFile
23
- } from "./index-k53a69vb.js";
23
+ } from "./index-2t4zv1ag.js";
24
24
  import {
25
25
  init_knowledge_types,
26
26
  isActiveStatus
@@ -739,7 +739,7 @@ async function applyConfidenceFloorAction(directory, touched, options) {
739
739
  const {
740
740
  readAuthoritativeKnowledgeCounterRollups,
741
741
  effectiveRetrievalOutcomes
742
- } = await import("./knowledge-events-zh16e78y.js");
742
+ } = await import("./knowledge-events-kpw6fbmc.js");
743
743
  const rollups = await readAuthoritativeKnowledgeCounterRollups(directory);
744
744
  const flagIds = new Set;
745
745
  for (const e of atFloor) {
@@ -806,11 +806,11 @@ async function applyConfidenceFloorAction(directory, touched, options) {
806
806
  });
807
807
  }
808
808
  if (action === "quarantine" && toQuarantine.length > 0) {
809
- const { quarantineEntry } = await import("./knowledge-validator-24myt9fp.js");
810
- const { KnowledgeConfigSchema } = await import("./schema-zqankczb.js");
809
+ const { quarantineEntry } = await import("./knowledge-validator-7jr0aka1.js");
810
+ const { KnowledgeConfigSchema } = await import("./schema-pjkzvcw8.js");
811
811
  let config;
812
812
  try {
813
- const { loadPluginConfigWithMeta } = await import("./index-2zzmthnv.js");
813
+ const { loadPluginConfigWithMeta } = await import("./index-16smfppa.js");
814
814
  const { config: loadedConfig } = loadPluginConfigWithMeta(directory);
815
815
  config = KnowledgeConfigSchema.parse(loadedConfig.knowledge ?? {});
816
816
  } catch {
@@ -265,6 +265,10 @@ var init_tool_metadata = __esm(() => {
265
265
  description: "recover a task wedged at rework_required when the reviewer/test_engineer verdict did not require a code change: write a supervised stage_a_passed so those gates can be re-dispatched without re-running the coder (issue #2755)",
266
266
  agents: ["architect"]
267
267
  },
268
+ recover_stage_a_task: {
269
+ description: "recover a task wedged in the settlement-backed Stage A deadlock \u2014 workflow at idle/blocked while a COMMITTED accepted coder settlement and green post-settlement pre-check proof justify Stage A: write a settlement-backed stage_a_passed so reviewer/test_engineer can be dispatched, without re-running the coder (issue #2828)",
270
+ agents: ["architect"]
271
+ },
268
272
  prepare_pr_workflow_checkout: {
269
273
  description: "prepare an auditable PR workflow checkout or restore its exact original branch/HEAD and preserved stash after terminal cleanup",
270
274
  agents: ["architect"]
@@ -9,7 +9,7 @@ import {
9
9
  } from "./index-mc72pk74.js";
10
10
  import {
11
11
  atomicWriteSwarmFile
12
- } from "./index-k53a69vb.js";
12
+ } from "./index-2t4zv1ag.js";
13
13
 
14
14
  // src/health/learning-health.ts
15
15
  import { promises as fs } from "fs";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  atomicWriteFile
4
- } from "./index-xf69xty9.js";
4
+ } from "./index-e1zrgvqg.js";
5
5
  import {
6
6
  canonicalRootKeyFresh
7
7
  } from "./index-mc72pk74.js";
@@ -23,70 +23,70 @@ import {
23
23
  resolveFallbackModel,
24
24
  resolvePrimaryAgentNames,
25
25
  stripSwarmPrefix
26
- } from "./index-6bn74qs9.js";
27
- import"./index-2adz24wr.js";
26
+ } from "./index-dyddcx8h.js";
27
+ import"./index-c5c7hrz1.js";
28
28
  import"./index-hamqvzqn.js";
29
- import"./index-6g664sy8.js";
30
- import"./index-gcdgtcg5.js";
31
- import"./index-ezpzd88b.js";
32
- import"./index-7ge1gcd3.js";
33
- import"./index-ya32wfkp.js";
29
+ import"./index-q39ecyaq.js";
30
+ import"./index-z7recmq5.js";
31
+ import"./index-rwzrbcm9.js";
32
+ import"./index-1npynszx.js";
33
+ import"./index-1t2ctwkd.js";
34
34
  import"./index-txdagbh7.js";
35
- import"./index-d1bfyxj5.js";
35
+ import"./index-z1qs160n.js";
36
36
  import"./index-6b295cas.js";
37
- import"./index-xf6j4ypk.js";
38
- import"./index-6jqxstq4.js";
39
- import"./index-ae2jf510.js";
37
+ import"./index-mp60wy1f.js";
38
+ import"./index-4qmeshfa.js";
39
+ import"./index-raj6y6d3.js";
40
40
  import {
41
41
  createExplorerAgent
42
42
  } from "./index-rdec0y3z.js";
43
- import"./index-ar2gsn6b.js";
43
+ import"./index-14j1jkyy.js";
44
44
  import"./index-cjapb4hy.js";
45
45
  import"./index-zsrtt42s.js";
46
- import"./index-wehwbv89.js";
47
- import"./index-vyjped9g.js";
48
- import"./index-3n5zsp31.js";
46
+ import"./index-x16a0c6b.js";
47
+ import"./index-b1v0zxnh.js";
48
+ import"./index-7xv2hvr6.js";
49
49
  import"./index-pt7h91zc.js";
50
50
  import"./index-q7sjgr1y.js";
51
- import"./index-82hy3v8f.js";
52
- import"./index-10rsjhfy.js";
53
- import"./index-k1cxzdbd.js";
54
- import"./index-f4z1ez09.js";
55
- import"./index-yqcaf6r3.js";
56
- import"./index-wy3zpwjy.js";
51
+ import"./index-1nwkzj24.js";
52
+ import"./index-82j1een1.js";
53
+ import"./index-1kz2repk.js";
54
+ import"./index-sxxj47cy.js";
55
+ import"./index-eecz2kna.js";
56
+ import"./index-98a0rxby.js";
57
57
  import"./index-2s7dvzff.js";
58
- import"./index-e602am4j.js";
59
- import"./index-earq3mda.js";
58
+ import"./index-m8rt7a3g.js";
59
+ import"./index-qeqn241m.js";
60
60
  import"./index-rtry5xyf.js";
61
- import"./index-8pfcj7tz.js";
61
+ import"./index-2s0gy81b.js";
62
62
  import"./index-frcemc0b.js";
63
63
  import"./index-0725jpp7.js";
64
- import"./index-fnbcd9ve.js";
65
- import"./index-tajh3egk.js";
66
- import"./index-jvk95e6y.js";
67
- import"./index-456awy1p.js";
68
- import"./index-f0nj3d8z.js";
69
- import"./index-w9hxzcz4.js";
64
+ import"./index-0prgjynb.js";
65
+ import"./index-q4a0j3nh.js";
66
+ import"./index-s95ghsy1.js";
67
+ import"./index-xqxqepsy.js";
68
+ import"./index-rmspt7xm.js";
69
+ import"./index-t0mb5a9p.js";
70
70
  import"./index-rdm3px0g.js";
71
71
  import"./index-ry16d01s.js";
72
- import"./index-zzvxj02e.js";
73
- import"./index-1511m10x.js";
72
+ import"./index-fr6x6vn2.js";
73
+ import"./index-enjsn68b.js";
74
74
  import"./index-vzm6zre7.js";
75
75
  import"./index-ae75rja9.js";
76
- import"./index-475bkab8.js";
77
- import"./index-xf69xty9.js";
76
+ import"./index-g2r6t7by.js";
77
+ import"./index-e1zrgvqg.js";
78
78
  import"./index-t7hmqgjy.js";
79
79
  import"./index-x1gyqgze.js";
80
80
  import"./index-mc72pk74.js";
81
81
  import"./index-c1ggtmpm.js";
82
82
  import"./index-ejhxgyvm.js";
83
83
  import"./index-7g4c7s5r.js";
84
- import"./index-k53a69vb.js";
84
+ import"./index-2t4zv1ag.js";
85
85
  import"./index-gx2vp8gx.js";
86
- import"./index-qf75z3xz.js";
86
+ import"./index-42pchr9f.js";
87
87
  import"./index-zxdawwc7.js";
88
- import"./index-3ny2d85s.js";
89
- import"./index-wzec3c4g.js";
88
+ import"./index-3h0f07e9.js";
89
+ import"./index-ezagem2g.js";
90
90
  import"./index-bk5tah7q.js";
91
91
  import"./index-gknz3bv1.js";
92
92
  import"./index-zpsr8rpc.js";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  authorizeCuration
4
- } from "./index-earq3mda.js";
4
+ } from "./index-qeqn241m.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-1511m10x.js";
12
+ } from "./index-enjsn68b.js";
13
13
  import {
14
14
  resolveKnowledgeStoreDir
15
- } from "./index-475bkab8.js";
15
+ } from "./index-g2r6t7by.js";
16
16
  import {
17
17
  atomicWriteFile
18
- } from "./index-xf69xty9.js";
18
+ } from "./index-e1zrgvqg.js";
19
19
  import {
20
20
  require_proper_lockfile
21
21
  } from "./index-7g4c7s5r.js";
@@ -5,18 +5,18 @@ import {
5
5
  import {
6
6
  effectiveRetrievalOutcomes,
7
7
  readAuthoritativeKnowledgeCounterRollups
8
- } from "./index-yqcaf6r3.js";
8
+ } from "./index-eecz2kna.js";
9
9
  import {
10
10
  ALLOWED_SKILL_PATH_PREFIXES,
11
11
  validateSkillPath
12
- } from "./index-e602am4j.js";
12
+ } from "./index-m8rt7a3g.js";
13
13
  import {
14
14
  computeOutcomeSignal,
15
15
  readKnowledge,
16
16
  resolveHiveKnowledgePath,
17
17
  resolveSwarmKnowledgePath,
18
18
  transactKnowledge
19
- } from "./index-1511m10x.js";
19
+ } from "./index-enjsn68b.js";
20
20
  import {
21
21
  appendCappedJsonl,
22
22
  resolveRetentionCap
@@ -27,7 +27,7 @@ import {
27
27
  import {
28
28
  atomicWriteFileAnyRoot,
29
29
  atomicWriteSwarmFile
30
- } from "./index-k53a69vb.js";
30
+ } from "./index-2t4zv1ag.js";
31
31
  import {
32
32
  advisoryWarn,
33
33
  init_warning_buffer
@@ -9,7 +9,7 @@ import {
9
9
  readEvaluationRun,
10
10
  saveEvaluationRun,
11
11
  saveTaskSetSnapshot
12
- } from "./index-ya32wfkp.js";
12
+ } from "./index-1t2ctwkd.js";
13
13
  import {
14
14
  canonicalHash,
15
15
  computeCandidateInputContentHash,
@@ -2,16 +2,16 @@
2
2
  import {
3
3
  derivePlanId,
4
4
  derivePlanIdentityHash
5
- } from "./index-f0nj3d8z.js";
5
+ } from "./index-rmspt7xm.js";
6
6
  import {
7
7
  getProjectDb,
8
8
  projectDbExists,
9
9
  withImmediateTransaction,
10
10
  withProjectDbReadOnly
11
- } from "./index-w9hxzcz4.js";
11
+ } from "./index-t0mb5a9p.js";
12
12
  import {
13
13
  withEvidenceLock
14
- } from "./index-xf69xty9.js";
14
+ } from "./index-e1zrgvqg.js";
15
15
  import {
16
16
  assertProjectRoot
17
17
  } from "./index-t7hmqgjy.js";
@@ -27,11 +27,11 @@ import {
27
27
  import {
28
28
  init_loader,
29
29
  loadPluginConfig
30
- } from "./index-qf75z3xz.js";
30
+ } from "./index-42pchr9f.js";
31
31
  import {
32
32
  init_package,
33
33
  package_default
34
- } from "./index-3ny2d85s.js";
34
+ } from "./index-3h0f07e9.js";
35
35
  import {
36
36
  criticalWarn,
37
37
  init_logger,
@@ -11,7 +11,7 @@ import {
11
11
  readLinkPointer,
12
12
  resolveKnowledgeStoreDir,
13
13
  resolveLinkDir
14
- } from "./index-475bkab8.js";
14
+ } from "./index-g2r6t7by.js";
15
15
 
16
16
  // src/knowledge/curation-policy.ts
17
17
  import { readFile as readFile2 } from "fs/promises";
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  readKnowledge,
4
4
  transactKnowledge
5
- } from "./index-1511m10x.js";
5
+ } from "./index-enjsn68b.js";
6
6
  import {
7
7
  resolveKnowledgeStoreDir
8
- } from "./index-475bkab8.js";
8
+ } from "./index-g2r6t7by.js";
9
9
  import {
10
10
  init_git_executable,
11
11
  resolveGitExecutableAsync
@@ -4,7 +4,7 @@ import {
4
4
  getProjectDb,
5
5
  projectDbExists,
6
6
  withImmediateTransaction
7
- } from "./index-w9hxzcz4.js";
7
+ } from "./index-t0mb5a9p.js";
8
8
 
9
9
  // src/db/coordination-store.ts
10
10
  import { createHash } from "crypto";
@@ -12,13 +12,13 @@ import {
12
12
  PluginConfigSchema,
13
13
  init_schema,
14
14
  stripKnownSwarmPrefix
15
- } from "./index-3ny2d85s.js";
15
+ } from "./index-3h0f07e9.js";
16
16
  import {
17
17
  ALL_AGENT_NAMES,
18
18
  TOOL_NAME_SET,
19
19
  init_constants,
20
20
  init_tool_metadata
21
- } from "./index-wzec3c4g.js";
21
+ } from "./index-ezagem2g.js";
22
22
  import {
23
23
  log
24
24
  } from "./index-zgwm4ryv.js";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  observeStoreHealth
4
- } from "./index-zzvxj02e.js";
4
+ } from "./index-fr6x6vn2.js";
5
5
  import {
6
6
  telemetry
7
7
  } from "./index-x1gyqgze.js";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  validateSwarmPath
4
- } from "./index-wy3zpwjy.js";
4
+ } from "./index-98a0rxby.js";
5
5
  import {
6
6
  bunWrite
7
7
  } from "./index-2s7dvzff.js";
@@ -18,18 +18,18 @@ import {
18
18
  releaseCoordinationLease,
19
19
  transitionCoordinationState,
20
20
  withCoordinationTransaction
21
- } from "./index-f0nj3d8z.js";
21
+ } from "./index-rmspt7xm.js";
22
22
  import {
23
23
  getProjectDb,
24
24
  projectDbExists
25
- } from "./index-w9hxzcz4.js";
25
+ } from "./index-t0mb5a9p.js";
26
26
  import {
27
27
  observeDelegationLedgerPressure
28
- } from "./index-zzvxj02e.js";
28
+ } from "./index-fr6x6vn2.js";
29
29
  import {
30
30
  EvidenceLockTimeoutError,
31
31
  withEvidenceLock
32
- } from "./index-xf69xty9.js";
32
+ } from "./index-e1zrgvqg.js";
33
33
  import {
34
34
  telemetry
35
35
  } from "./index-x1gyqgze.js";
@@ -4669,7 +4669,7 @@ async function reconcileLegacyCoderSettlements(directory, maxRecords, onReconcil
4669
4669
  const candidates = readDelegations(directory).filter((record) => record.normalizedAgent === "coder" && Boolean(record.legacyCoderSettlementTransfer) && Boolean(record.terminalResult)).slice(0, maxRecords);
4670
4670
  if (candidates.length === 0)
4671
4671
  return 0;
4672
- const { transferCoderSettlementToBackground } = await import("./coder-settlement-m3r1kmzx.js");
4672
+ const { transferCoderSettlementToBackground } = await import("./coder-settlement-2759zt77.js");
4673
4673
  let transferred = 0;
4674
4674
  for (const record of candidates) {
4675
4675
  try {
@@ -11,7 +11,7 @@ import {
11
11
  } from "./index-mc72pk74.js";
12
12
  import {
13
13
  atomicWriteSwarmFileSync
14
- } from "./index-k53a69vb.js";
14
+ } from "./index-2t4zv1ag.js";
15
15
 
16
16
  // src/db/project-db.ts
17
17
  import { existsSync, mkdirSync, unlinkSync } from "fs";
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  captureWorkspaceSnapshotAsync,
4
4
  changedFilesSinceSnapshotAsync
5
- } from "./index-vyjped9g.js";
5
+ } from "./index-b1v0zxnh.js";
6
6
  import {
7
7
  removeWorktreeProvisioningOwner
8
- } from "./index-3n5zsp31.js";
8
+ } from "./index-7xv2hvr6.js";
9
9
  import {
10
10
  SOURCE_WORKTREE_GONE_STAGE,
11
11
  ensureTaskGateRequirementsReceiptForSettledTransition,
@@ -14,13 +14,13 @@ import {
14
14
  reconcileLandedMerge,
15
15
  withTaskEvidenceTransaction,
16
16
  writeWorkflowWalFile
17
- } from "./index-10rsjhfy.js";
17
+ } from "./index-82j1een1.js";
18
18
  import {
19
19
  validateSwarmPath
20
- } from "./index-wy3zpwjy.js";
20
+ } from "./index-98a0rxby.js";
21
21
  import {
22
22
  appendCoreEventSync
23
- } from "./index-jvk95e6y.js";
23
+ } from "./index-s95ghsy1.js";
24
24
  import {
25
25
  canonicalRootKeyFresh
26
26
  } from "./index-mc72pk74.js";
@@ -512,7 +512,7 @@ async function cleanupRecoveredWorktree(directory, descriptor, options) {
512
512
  awaitingMergeByCallID,
513
513
  cleanupStandardWorktreeForCallId,
514
514
  standardWorktreeByCallID
515
- } = await import("./worktree-isolation-hkd7xtdp.js");
515
+ } = await import("./worktree-isolation-w4k8q59z.js");
516
516
  standardWorktreeByCallID.delete(descriptor.callID);
517
517
  if (hasResidue)
518
518
  awaitingMergeByCallID.set(descriptor.callID, {
@@ -648,7 +648,7 @@ async function recoverCoderSettlement(directory, taskId) {
648
648
  awaitingMergeByCallID,
649
649
  finishStandardWorktreeDispatch,
650
650
  standardWorktreeByCallID
651
- } = await import("./worktree-isolation-hkd7xtdp.js");
651
+ } = await import("./worktree-isolation-w4k8q59z.js");
652
652
  const descriptor = wal.worktree;
653
653
  const reconstructedDispatch = {
654
654
  callID: descriptor.callID,
@@ -2,13 +2,13 @@
2
2
  import {
3
3
  derivePlanId,
4
4
  derivePlanIdentityHash
5
- } from "./index-f0nj3d8z.js";
5
+ } from "./index-rmspt7xm.js";
6
6
  import {
7
7
  DURABILITY_CLASSES,
8
8
  getProjectDb,
9
9
  projectDbExists,
10
10
  withImmediateTransaction
11
- } from "./index-w9hxzcz4.js";
11
+ } from "./index-t0mb5a9p.js";
12
12
  import {
13
13
  init_logger,
14
14
  warn
@@ -4,7 +4,7 @@ import {
4
4
  readShellAuditTail,
5
5
  redactPath,
6
6
  redactShellCommand
7
- } from "./index-2adz24wr.js";
7
+ } from "./index-c5c7hrz1.js";
8
8
 
9
9
  // src/services/guardrail-log-service.ts
10
10
  var BLOCK_TYPES = new Set([
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  writeSpeckitCheckoffLedger
4
- } from "./index-82hy3v8f.js";
4
+ } from "./index-1nwkzj24.js";
5
5
  import {
6
6
  validateSpecContent
7
7
  } from "./index-0725jpp7.js";
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  readEffectiveSpecSync
4
- } from "./index-d1bfyxj5.js";
4
+ } from "./index-z1qs160n.js";
5
5
  import {
6
6
  readSwarmFileAsync
7
- } from "./index-wy3zpwjy.js";
7
+ } from "./index-98a0rxby.js";
8
8
  import {
9
9
  DURABILITY_CLASSES,
10
10
  DbWriteError,
@@ -13,7 +13,7 @@ import {
13
13
  classifyDbWriteError,
14
14
  getProjectDb,
15
15
  projectDbExists
16
- } from "./index-w9hxzcz4.js";
16
+ } from "./index-t0mb5a9p.js";
17
17
  import {
18
18
  _internals,
19
19
  canonicalRootKeyFresh
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env bun
2
+ import * as fs from 'node:fs';
2
3
  export declare function isSafeCachePath(p: string): boolean;
3
4
  /**
4
5
  * Safety guard for lock file deletion. Lock files have different basenames
@@ -31,11 +32,13 @@ export declare function isSafeLockFilePath(p: string): boolean;
31
32
  * 2. Refuse root, home, or shorter-than-home paths.
32
33
  * 3. Require ≥ 3 non-empty segments (rejects pathological
33
34
  * XDG_CONFIG_HOME='/' which yields '/opencode/opencode-swarm', 2 segments).
34
- * 4. Require basename === 'opencode-swarm' AND the parent directory's
35
- * basename to equal the config dir's basename (canonical layout is
36
- * `<CONFIG_DIR>/opencode-swarm`).
35
+ * 4. Require basename === 'opencode-swarm'. With no explicit configured
36
+ * root, the parent basename must equal CONFIG_DIR's basename (canonical
37
+ * layout is '<CONFIG_DIR>/opencode-swarm').
38
+ * 5. When a configured root is supplied by the cleanup caller, require the
39
+ * canonical parent to equal that exact root, not merely share its name.
37
40
  */
38
- export declare function isSafePromptsDir(p: string): boolean;
41
+ export declare function isSafePromptsDir(p: string, configuredDir?: string): boolean;
39
42
  /**
40
43
  * Safety guard for the `uninstall --clean` deletion of PLUGIN_CONFIG_PATH
41
44
  * (`<CONFIG_DIR>/opencode-swarm.json`, a FILE removed with unlinkSync).
@@ -45,10 +48,35 @@ export declare function isSafePromptsDir(p: string): boolean;
45
48
  * `opencode-swarm` directory — hence a dedicated guard.
46
49
  *
47
50
  * Defense in depth: canonicalize via safeRealpathSync; refuse root/home/
48
- * shorter-than-home; require basename === 'opencode-swarm.json' AND the
49
- * parent directory's basename to equal the config dir's basename.
51
+ * shorter-than-home; require basename === 'opencode-swarm.json'. With no
52
+ * explicit configured root, the parent directory's basename must equal the
53
+ * config dir's basename. Cleanup callers otherwise bind the canonical parent
54
+ * to their exact configured root.
50
55
  */
51
- export declare function isSafePluginConfigPath(p: string): boolean;
56
+ export declare function isSafePluginConfigPath(p: string, configuredDir?: string): boolean;
57
+ /**
58
+ * Safety guard for the install-time backup removed by uninstall --clean.
59
+ * This keeps the same canonical-root binding as the plugin config and prompts
60
+ * guards while retaining the backup's distinct basename.
61
+ */
62
+ export declare function isSafeInstallBackupPath(p: string, configuredDir?: string): boolean;
63
+ type CleanupTargetKind = 'file' | 'directory';
64
+ declare function removeBoundCleanupTarget(canonicalTarget: string, configuredDir: string, kind: CleanupTargetKind): {
65
+ ok: boolean;
66
+ error?: string;
67
+ };
68
+ export declare const _test_exports: {
69
+ cleanupFs: {
70
+ lstatSync: (target: string) => fs.Stats;
71
+ openSync: (target: string, flags: number) => number;
72
+ fstatSync: (descriptor: number) => fs.Stats;
73
+ closeSync: (descriptor: number) => void;
74
+ unlinkSync: (target: string) => void;
75
+ rmSync: (target: string) => void;
76
+ existsSync: (target: string) => boolean;
77
+ };
78
+ removeBoundCleanupTarget: typeof removeBoundCleanupTarget;
79
+ };
52
80
  /**
53
81
  * Recursively delete every known opencode plugin cache location for
54
82
  * opencode-swarm. Returns paths actually cleared and paths that errored.
@@ -87,3 +115,4 @@ export declare function evictLockFiles(): {
87
115
  * Delegates to the unified COMMAND_REGISTRY via resolveCommand().
88
116
  */
89
117
  export declare function run(args: string[]): Promise<number>;
118
+ export {};