opencode-swarm 7.107.4 → 7.107.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.
@@ -11,11 +11,11 @@ import {
11
11
  runCuratorInit,
12
12
  runCuratorPhase,
13
13
  writeCuratorSummary
14
- } from "./index-gyzxeza3.js";
14
+ } from "./index-vzq4h90s.js";
15
15
  import"./index-4vsgp5a8.js";
16
16
  import"./index-c8s9a3zh.js";
17
17
  import"./index-wvxhynxq.js";
18
- import"./index-9b7a6agd.js";
18
+ import"./index-6h82c2h0.js";
19
19
  import"./index-91j1sqzm.js";
20
20
  import"./index-xg18az81.js";
21
21
  import"./index-09xpycan.js";
@@ -28,7 +28,7 @@ import"./index-xmarctsf.js";
28
28
  import"./index-n1sptn1w.js";
29
29
  import"./index-bfwt3abw.js";
30
30
  import"./index-v4fcn4tr.js";
31
- import"./index-r8f89sm9.js";
31
+ import"./index-0kxc7t16.js";
32
32
  import"./index-9b7qp18e.js";
33
33
  import"./index-4r5z8sgw.js";
34
34
  import"./index-57ymmh7h.js";
@@ -1,11 +1,11 @@
1
1
  // @bun
2
2
  import {
3
3
  createCuratorLLMDelegate
4
- } from "./index-gyzxeza3.js";
4
+ } from "./index-vzq4h90s.js";
5
5
  import"./index-4vsgp5a8.js";
6
6
  import"./index-c8s9a3zh.js";
7
7
  import"./index-wvxhynxq.js";
8
- import"./index-9b7a6agd.js";
8
+ import"./index-6h82c2h0.js";
9
9
  import"./index-91j1sqzm.js";
10
10
  import"./index-xg18az81.js";
11
11
  import"./index-09xpycan.js";
@@ -18,7 +18,7 @@ import"./index-xmarctsf.js";
18
18
  import"./index-n1sptn1w.js";
19
19
  import"./index-bfwt3abw.js";
20
20
  import"./index-v4fcn4tr.js";
21
- import"./index-r8f89sm9.js";
21
+ import"./index-0kxc7t16.js";
22
22
  import"./index-9b7qp18e.js";
23
23
  import"./index-4r5z8sgw.js";
24
24
  import"./index-57ymmh7h.js";
@@ -6,9 +6,9 @@ import {
6
6
  loadPlanJsonOnly,
7
7
  mergeDurableGateEntriesFromEvidence,
8
8
  readDurableGateEvidence
9
- } from "./index-9b7a6agd.js";
9
+ } from "./index-6h82c2h0.js";
10
10
  import"./index-91j1sqzm.js";
11
- import"./index-r8f89sm9.js";
11
+ import"./index-0kxc7t16.js";
12
12
  import"./index-9b7qp18e.js";
13
13
  import"./index-57ymmh7h.js";
14
14
  import"./index-5e4e2hvv.js";
@@ -9,7 +9,7 @@ import {
9
9
  readTaskEvidenceRaw,
10
10
  recordAgentDispatch,
11
11
  recordGateEvidence
12
- } from "./index-r8f89sm9.js";
12
+ } from "./index-0kxc7t16.js";
13
13
  import"./index-9b7qp18e.js";
14
14
  import"./index-293f68mj.js";
15
15
  import"./index-3naa2ajc.js";
@@ -1,12 +1,12 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailExplain
4
- } from "./index-f45hbd5x.js";
5
- import"./index-gyzxeza3.js";
4
+ } from "./index-jrka8jd4.js";
5
+ import"./index-vzq4h90s.js";
6
6
  import"./index-4vsgp5a8.js";
7
7
  import"./index-c8s9a3zh.js";
8
8
  import"./index-wvxhynxq.js";
9
- import"./index-9b7a6agd.js";
9
+ import"./index-6h82c2h0.js";
10
10
  import"./index-91j1sqzm.js";
11
11
  import"./index-xg18az81.js";
12
12
  import"./index-09xpycan.js";
@@ -19,7 +19,7 @@ import"./index-xmarctsf.js";
19
19
  import"./index-n1sptn1w.js";
20
20
  import"./index-bfwt3abw.js";
21
21
  import"./index-v4fcn4tr.js";
22
- import"./index-r8f89sm9.js";
22
+ import"./index-0kxc7t16.js";
23
23
  import"./index-9b7qp18e.js";
24
24
  import"./index-4r5z8sgw.js";
25
25
  import"./index-57ymmh7h.js";
@@ -5,11 +5,11 @@ import {
5
5
  isHiveEligible,
6
6
  promoteFromSwarm,
7
7
  promoteToHive
8
- } from "./index-gyzxeza3.js";
8
+ } from "./index-vzq4h90s.js";
9
9
  import"./index-4vsgp5a8.js";
10
10
  import"./index-c8s9a3zh.js";
11
11
  import"./index-wvxhynxq.js";
12
- import"./index-9b7a6agd.js";
12
+ import"./index-6h82c2h0.js";
13
13
  import"./index-91j1sqzm.js";
14
14
  import"./index-xg18az81.js";
15
15
  import"./index-09xpycan.js";
@@ -22,7 +22,7 @@ import"./index-xmarctsf.js";
22
22
  import"./index-n1sptn1w.js";
23
23
  import"./index-bfwt3abw.js";
24
24
  import"./index-v4fcn4tr.js";
25
- import"./index-r8f89sm9.js";
25
+ import"./index-0kxc7t16.js";
26
26
  import"./index-9b7qp18e.js";
27
27
  import"./index-4r5z8sgw.js";
28
28
  import"./index-57ymmh7h.js";
@@ -216,7 +216,8 @@ function readTaskEvidenceRaw(directory, taskId) {
216
216
  const raw = readFileSync(evidencePath, "utf-8");
217
217
  return TaskEvidenceSchema.parse(JSON.parse(raw));
218
218
  } catch (error) {
219
- if (error.code === "ENOENT")
219
+ const code = error.code;
220
+ if (code === "ENOENT" || code === "ENAMETOOLONG")
220
221
  return null;
221
222
  throw error;
222
223
  }
@@ -7,7 +7,7 @@ import {
7
7
  readTaskEvidence,
8
8
  readTaskEvidenceRaw,
9
9
  sanitizeTaskId
10
- } from "./index-r8f89sm9.js";
10
+ } from "./index-0kxc7t16.js";
11
11
  import {
12
12
  readSwarmFileAsync,
13
13
  validateSwarmPath
@@ -1754,21 +1754,38 @@ function derivePhaseStatusesInPlace(plan) {
1754
1754
  }
1755
1755
  }
1756
1756
  }
1757
- function overlayLedgerStatuses(validated, replayed, ledgerStatusTaskIds) {
1757
+ function statusRank(s) {
1758
+ switch (s) {
1759
+ case "closed":
1760
+ return 5;
1761
+ case "completed":
1762
+ return 4;
1763
+ case "blocked":
1764
+ return 3;
1765
+ case "in_progress":
1766
+ return 2;
1767
+ case "pending":
1768
+ return 1;
1769
+ default:
1770
+ return 0;
1771
+ }
1772
+ }
1773
+ function mergeStatusesTakingPrecedence(validated, replayed, ledgerStatusTaskIds) {
1758
1774
  const projected = structuredClone(validated);
1759
- const statusByTaskId = new Map;
1775
+ const replayedByTaskId = new Map;
1760
1776
  for (const phase of replayed.phases) {
1761
1777
  for (const task of phase.tasks) {
1762
1778
  if (ledgerStatusTaskIds.has(task.id)) {
1763
- statusByTaskId.set(task.id, task.status);
1779
+ replayedByTaskId.set(task.id, task.status);
1764
1780
  }
1765
1781
  }
1766
1782
  }
1767
1783
  for (const phase of projected.phases) {
1768
1784
  for (const task of phase.tasks) {
1769
- const replayedStatus = statusByTaskId.get(task.id);
1770
- if (replayedStatus)
1785
+ const replayedStatus = replayedByTaskId.get(task.id);
1786
+ if (replayedStatus && statusRank(replayedStatus) > statusRank(task.status)) {
1771
1787
  task.status = replayedStatus;
1788
+ }
1772
1789
  }
1773
1790
  }
1774
1791
  derivePhaseStatusesInPlace(projected);
@@ -2433,14 +2450,14 @@ async function savePlan(directory, plan, options) {
2433
2450
  }
2434
2451
  const ledgerStatusTaskIds = collectLedgerStatusTaskIds(await readLedgerEvents(directory));
2435
2452
  const replayedBeforeProjection = await replayFromLedger(directory);
2436
- const projectionCandidate = replayedBeforeProjection ? overlayLedgerStatuses(validated, replayedBeforeProjection, ledgerStatusTaskIds) : validated;
2453
+ const projectionCandidate = replayedBeforeProjection ? mergeStatusesTakingPrecedence(validated, replayedBeforeProjection, ledgerStatusTaskIds) : validated;
2437
2454
  if (replayedBeforeProjection && computePlanHash(replayedBeforeProjection) !== computePlanHash(projectionCandidate)) {
2438
2455
  await takeSnapshotEvent(directory, projectionCandidate, {
2439
2456
  planHashAfter: computePlanHash(projectionCandidate),
2440
2457
  source: "savePlan_structural_projection"
2441
2458
  });
2442
2459
  }
2443
- const projectedPlan = await replayFromLedger(directory) ?? projectionCandidate;
2460
+ const projectedPlan = projectionCandidate;
2444
2461
  const SNAPSHOT_INTERVAL = 50;
2445
2462
  const latestSeq = await getLatestLedgerSeq(directory);
2446
2463
  if (latestSeq > 0 && latestSeq % SNAPSHOT_INTERVAL === 0) {
@@ -12,7 +12,7 @@ import {
12
12
  detectPosixWrites,
13
13
  detectWindowsWrites,
14
14
  resolveWriteTargets
15
- } from "./index-gyzxeza3.js";
15
+ } from "./index-vzq4h90s.js";
16
16
  import {
17
17
  checkFileAuthority,
18
18
  classifyFile,
@@ -47,7 +47,7 @@ import {
47
47
  savePlan,
48
48
  transientBackoff,
49
49
  validateProjectRoot
50
- } from "./index-9b7a6agd.js";
50
+ } from "./index-6h82c2h0.js";
51
51
  import {
52
52
  buildOpenSpecProjectionSync,
53
53
  detectSpeckit,
@@ -7936,11 +7936,11 @@ var _internals8 = {
7936
7936
  return KnowledgeConfigSchema2.parse({});
7937
7937
  },
7938
7938
  applyCuratorKnowledgeUpdates: async (directory, recommendations, knowledgeConfig) => {
7939
- const { applyCuratorKnowledgeUpdates } = await import("./curator-rb05fjjk.js");
7939
+ const { applyCuratorKnowledgeUpdates } = await import("./curator-k9swkynp.js");
7940
7940
  return applyCuratorKnowledgeUpdates(directory, recommendations, knowledgeConfig);
7941
7941
  },
7942
7942
  checkHivePromotions: async (entries, knowledgeConfig) => {
7943
- const { checkHivePromotions } = await import("./hive-promoter-34bdmw1w.js");
7943
+ const { checkHivePromotions } = await import("./hive-promoter-gh0nva5c.js");
7944
7944
  return checkHivePromotions(entries, knowledgeConfig);
7945
7945
  },
7946
7946
  applyProposalTriage: async (directory, triage) => {
@@ -17266,8 +17266,8 @@ var _internals22 = {
17266
17266
  loadCuratorDeps: async () => {
17267
17267
  const [{ CuratorConfigSchema }, curator, { createCuratorLLMDelegate: createCuratorLLMDelegate2 }] = await Promise.all([
17268
17268
  import("./schema-x0ekqzvs.js"),
17269
- import("./curator-rb05fjjk.js"),
17270
- import("./curator-llm-factory-abw56kg0.js")
17269
+ import("./curator-k9swkynp.js"),
17270
+ import("./curator-llm-factory-ed67kywr.js")
17271
17271
  ]);
17272
17272
  return { CuratorConfigSchema, curator, createCuratorLLMDelegate: createCuratorLLMDelegate2 };
17273
17273
  }
@@ -17763,7 +17763,7 @@ import { fileURLToPath } from "url";
17763
17763
  // package.json
17764
17764
  var package_default = {
17765
17765
  name: "opencode-swarm",
17766
- version: "7.107.4",
17766
+ version: "7.107.5",
17767
17767
  description: "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
17768
17768
  main: "dist/index.js",
17769
17769
  types: "dist/index.d.ts",
@@ -20020,7 +20020,7 @@ async function handleEvidenceCommand(directory, args) {
20020
20020
  return formatTaskEvidenceMarkdown(evidenceData);
20021
20021
  }
20022
20022
  async function handleEvidenceSummaryCommand(directory) {
20023
- const { buildEvidenceSummary } = await import("./evidence-summary-service-nwdfnbz1.js");
20023
+ const { buildEvidenceSummary } = await import("./evidence-summary-service-6zsgw7x7.js");
20024
20024
  const artifact = await buildEvidenceSummary(directory);
20025
20025
  if (!artifact) {
20026
20026
  return "No plan found. Run `/swarm plan` to check plan status.";
@@ -32287,7 +32287,7 @@ function buildDetailedHelp(commandName, entry) {
32287
32287
  async function handleHelpCommand(ctx) {
32288
32288
  const targetCommand = ctx.args.join(" ");
32289
32289
  if (!targetCommand) {
32290
- const { buildHelpText } = await import("./index-19vxtwa6.js");
32290
+ const { buildHelpText } = await import("./index-w1tvqh4x.js");
32291
32291
  return buildHelpText();
32292
32292
  }
32293
32293
  const tokens = targetCommand.split(/\s+/);
@@ -32296,7 +32296,7 @@ async function handleHelpCommand(ctx) {
32296
32296
  return _internals49.buildDetailedHelp(resolved.key, resolved.entry);
32297
32297
  }
32298
32298
  const similar = _internals49.findSimilarCommands(targetCommand);
32299
- const { buildHelpText: fullHelp } = await import("./index-19vxtwa6.js");
32299
+ const { buildHelpText: fullHelp } = await import("./index-w1tvqh4x.js");
32300
32300
  if (similar.length > 0) {
32301
32301
  return `Command '/swarm ${targetCommand}' not found.
32302
32302
 
@@ -32429,7 +32429,7 @@ var COMMAND_REGISTRY = {
32429
32429
  },
32430
32430
  "guardrail explain": {
32431
32431
  handler: async (ctx) => {
32432
- const { handleGuardrailExplain } = await import("./guardrail-explain-dayy7zw4.js");
32432
+ const { handleGuardrailExplain } = await import("./guardrail-explain-vd6da30t.js");
32433
32433
  return handleGuardrailExplain(ctx.directory, ctx.args);
32434
32434
  },
32435
32435
  description: "Dry-run: show what the guardrails would do to a command or write target (executes nothing)",
@@ -4,7 +4,7 @@ import {
4
4
  } from "./index-zej8cy0j.js";
5
5
  import {
6
6
  handleGuardrailExplain
7
- } from "./index-f45hbd5x.js";
7
+ } from "./index-jrka8jd4.js";
8
8
  import {
9
9
  COMMAND_REGISTRY,
10
10
  SWARM_COMMAND_TOOL_ALLOWLIST,
@@ -80,11 +80,11 @@ import {
80
80
  handleWriteRetroCommand,
81
81
  normalizeSwarmCommandInput,
82
82
  resolveCommand
83
- } from "./index-gyzxeza3.js";
83
+ } from "./index-vzq4h90s.js";
84
84
  import"./index-4vsgp5a8.js";
85
85
  import"./index-c8s9a3zh.js";
86
86
  import"./index-wvxhynxq.js";
87
- import"./index-9b7a6agd.js";
87
+ import"./index-6h82c2h0.js";
88
88
  import"./index-91j1sqzm.js";
89
89
  import"./index-xg18az81.js";
90
90
  import"./index-09xpycan.js";
@@ -101,7 +101,7 @@ import"./index-xmarctsf.js";
101
101
  import"./index-n1sptn1w.js";
102
102
  import"./index-bfwt3abw.js";
103
103
  import"./index-v4fcn4tr.js";
104
- import"./index-r8f89sm9.js";
104
+ import"./index-0kxc7t16.js";
105
105
  import"./index-9b7qp18e.js";
106
106
  import"./index-4r5z8sgw.js";
107
107
  import"./index-57ymmh7h.js";
package/dist/cli/index.js CHANGED
@@ -7,11 +7,11 @@ import {
7
7
  getPluginLockFilePaths,
8
8
  package_default,
9
9
  resolveCommand
10
- } from "./index-gyzxeza3.js";
10
+ } from "./index-vzq4h90s.js";
11
11
  import"./index-4vsgp5a8.js";
12
12
  import"./index-c8s9a3zh.js";
13
13
  import"./index-wvxhynxq.js";
14
- import"./index-9b7a6agd.js";
14
+ import"./index-6h82c2h0.js";
15
15
  import"./index-91j1sqzm.js";
16
16
  import"./index-xg18az81.js";
17
17
  import"./index-09xpycan.js";
@@ -26,7 +26,7 @@ import"./index-xmarctsf.js";
26
26
  import"./index-n1sptn1w.js";
27
27
  import"./index-bfwt3abw.js";
28
28
  import"./index-v4fcn4tr.js";
29
- import"./index-r8f89sm9.js";
29
+ import"./index-0kxc7t16.js";
30
30
  import"./index-9b7qp18e.js";
31
31
  import"./index-4r5z8sgw.js";
32
32
  import"./index-57ymmh7h.js";