opencode-swarm 7.172.0 → 7.172.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 (85) hide show
  1. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  2. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  3. package/dist/cli/{coder-settlement-0k46xqk2.js → coder-settlement-pw4jbrez.js} +11 -11
  4. package/dist/cli/{config-doctor-x41bxjp6.js → config-doctor-ab0ckcsc.js} +2 -2
  5. package/dist/cli/{core-3spww0at.js → core-ty98bsnz.js} +3 -3
  6. package/dist/cli/{curation-policy-92qhvewe.js → curation-policy-cvjd6kz8.js} +5 -5
  7. package/dist/cli/{curator-drift-fqvxe2zw.js → curator-drift-b0pbzjxv.js} +4 -4
  8. package/dist/cli/curator-llm-factory-69vje2m7.js +72 -0
  9. package/dist/cli/{curator-eyz6gg74.js → curator-rvrhbsy2.js} +36 -36
  10. package/dist/cli/{evidence-summary-service-kf0vb1hf.js → evidence-summary-service-wmer0c5b.js} +15 -15
  11. package/dist/cli/{gate-evidence-89wvxgs9.js → gate-evidence-6d0f6ekr.js} +6 -6
  12. package/dist/cli/guardrail-explain-z06dyan0.js +73 -0
  13. package/dist/cli/{guardrail-log-kfjk62sz.js → guardrail-log-bmyxcdfk.js} +7 -7
  14. package/dist/cli/{guardrail-reset-d8m1h5sz.js → guardrail-reset-9wmbhwff.js} +36 -36
  15. package/dist/cli/{hive-promoter-0ekf5zp1.js → hive-promoter-mc8xssba.js} +36 -36
  16. package/dist/cli/{index-8wnjcav5.js → index-008sppht.js} +3 -3
  17. package/dist/cli/{index-12w05bxk.js → index-31fes86t.js} +2 -2
  18. package/dist/cli/{index-63t4m2t5.js → index-3r17j2gc.js} +133 -23
  19. package/dist/cli/{index-2rdj9mdh.js → index-66tshqdp.js} +4 -4
  20. package/dist/cli/{index-6jshhpjw.js → index-93z2fhyp.js} +2 -2
  21. package/dist/cli/{index-mj07x42s.js → index-9bg5vc22.js} +2 -2
  22. package/dist/cli/{index-k441jgzk.js → index-9p00xent.js} +1 -1
  23. package/dist/cli/{index-efkckdaw.js → index-bdqefjxg.js} +1 -1
  24. package/dist/cli/{index-1vsmh63p.js → index-br08k19k.js} +74 -74
  25. package/dist/cli/{index-5hambjmn.js → index-c5wyannc.js} +30 -18
  26. package/dist/cli/{index-0y2ygy5f.js → index-dg5znyqw.js} +7 -7
  27. package/dist/cli/{index-7q1m8rsw.js → index-edext37b.js} +7 -7
  28. package/dist/cli/{index-dpb1xs5m.js → index-gdrdtbw6.js} +2 -2
  29. package/dist/cli/{index-nqbmk4b9.js → index-h91jjw6t.js} +1 -1
  30. package/dist/cli/{index-nyrhz1h1.js → index-ha3wsy2e.js} +1 -1
  31. package/dist/cli/{index-328eg2bb.js → index-hx0pas8b.js} +3 -3
  32. package/dist/cli/{index-677gzqmd.js → index-hydccmm1.js} +1 -1
  33. package/dist/cli/{index-53ges0rk.js → index-j8warkkj.js} +7 -7
  34. package/dist/cli/{index-8k09fkqj.js → index-jc0as97z.js} +4 -4
  35. package/dist/cli/{index-br3r0y73.js → index-jmn35na4.js} +3 -3
  36. package/dist/cli/{index-1s3t3jdc.js → index-jzrx2sx2.js} +1 -1
  37. package/dist/cli/{index-6fb3y9pm.js → index-ma38q4rf.js} +1 -1
  38. package/dist/cli/{index-v6msnkz2.js → index-mq69g46a.js} +2 -2
  39. package/dist/cli/{index-s723hx7z.js → index-nzpw41w6.js} +1 -1
  40. package/dist/cli/{index-39x78qk0.js → index-pmg1k4mv.js} +8 -8
  41. package/dist/cli/{index-w1d5nsdc.js → index-q58xegd7.js} +2 -2
  42. package/dist/cli/{index-z81mxyhm.js → index-qfz31dcy.js} +5 -5
  43. package/dist/cli/{index-y8y2bjsy.js → index-re1ey51s.js} +4 -4
  44. package/dist/cli/{index-tfmb620d.js → index-rhe9zbe2.js} +36 -36
  45. package/dist/cli/{index-29j9sjbw.js → index-sakgsnxj.js} +1 -1
  46. package/dist/cli/{index-r08tgb71.js → index-tm6z0wgj.js} +2 -2
  47. package/dist/cli/{index-34jdempk.js → index-tr3tbtgw.js} +2 -2
  48. package/dist/cli/{index-zbw6h4xn.js → index-twpzfwga.js} +1 -1
  49. package/dist/cli/{index-jvg7hvjp.js → index-vqs7dxp7.js} +3 -3
  50. package/dist/cli/{index-25fa4krx.js → index-w0141tkw.js} +8 -8
  51. package/dist/cli/{index-gmw8a1qa.js → index-wf6pbrg7.js} +1 -1
  52. package/dist/cli/{index-a2kv054j.js → index-ws3ggk1h.js} +6 -6
  53. package/dist/cli/{index-xn9tm7sr.js → index-y21gyrt6.js} +38 -38
  54. package/dist/cli/{index-v2fge66b.js → index-y5x1swr8.js} +7 -7
  55. package/dist/cli/{index-dga9j6s1.js → index-yf1mvexg.js} +2 -2
  56. package/dist/cli/{index-3kqzzwvd.js → index-zcjdw8dw.js} +1 -1
  57. package/dist/cli/index.js +37 -37
  58. package/dist/cli/{knowledge-escalator-qtz01ffw.js → knowledge-escalator-k4ab3f1f.js} +12 -12
  59. package/dist/cli/{knowledge-events-8w0mvkzc.js → knowledge-events-aqy4hb15.js} +10 -10
  60. package/dist/cli/{knowledge-link-3xp7h4xn.js → knowledge-link-51m3c09s.js} +4 -4
  61. package/dist/cli/{knowledge-store-p5ps09qg.js → knowledge-store-xgkga9xj.js} +5 -5
  62. package/dist/cli/{knowledge-validator-rc63wfkp.js → knowledge-validator-vvgs8m7m.js} +7 -7
  63. package/dist/cli/{mcp-pmfg7wpk.js → mcp-qvgka4c8.js} +1 -1
  64. package/dist/cli/{pending-delegations-1sg6g7et.js → pending-delegations-1xvmbw29.js} +11 -11
  65. package/dist/cli/{pr-subscriptions-yd804apk.js → pr-subscriptions-13xqrhwx.js} +11 -11
  66. package/dist/cli/{pr-workflow-gate-pf3ssffq.js → pr-workflow-gate-6qzpckxa.js} +36 -36
  67. package/dist/cli/{runner-rry4z6j2.js → runner-k2t9n662.js} +5 -5
  68. package/dist/cli/{scan-cursor-j93ek248.js → scan-cursor-q5nycpzb.js} +6 -6
  69. package/dist/cli/{schema-hvptm5hf.js → schema-a8gskpey.js} +1 -1
  70. package/dist/cli/{scope-persistence-3tfvswtk.js → scope-persistence-q0n6y3n7.js} +14 -14
  71. package/dist/cli/{server-rbvx63t6.js → server-wmbahe8h.js} +36 -36
  72. package/dist/cli/{skill-generator-r9wc6xt1.js → skill-generator-z76whwng.js} +14 -14
  73. package/dist/cli/{snapshot-coordination-init-7w5em40w.js → snapshot-coordination-init-k2fgw463.js} +36 -36
  74. package/dist/cli/{telemetry-vw919tfm.js → telemetry-zed80n86.js} +1 -1
  75. package/dist/cli/{workspace-snapshot-x54wxr6a.js → workspace-snapshot-93dx9rbt.js} +3 -3
  76. package/dist/cli/{worktree-collision-ownership-yetwf2ch.js → worktree-collision-ownership-deyrgr70.js} +12 -12
  77. package/dist/cli/{worktree-isolation-sxfj78hv.js → worktree-isolation-9rjxaxp6.js} +36 -36
  78. package/dist/index.js +11 -11
  79. package/dist/plan/index.d.ts +1 -0
  80. package/dist/plan/ledger.d.ts +10 -0
  81. package/dist/plan/manager.d.ts +38 -2
  82. package/dist/tools/phase-complete.d.ts +1 -1
  83. package/package.json +1 -1
  84. package/dist/cli/curator-llm-factory-jnsjqq99.js +0 -72
  85. package/dist/cli/guardrail-explain-rz4kaqyp.js +0 -73
@@ -1,2 +1,3 @@
1
+ export type { PlanSaveDurability } from './manager';
1
2
  export { derivePlanMarkdown, loadPlan, migrateLegacyPlan, savePlan, updateTaskStatus, } from './manager';
2
3
  export { derivePlanId } from './utils';
@@ -463,6 +463,16 @@ export interface LedgerIntegrityResult {
463
463
  * Read ledger events with integrity checking.
464
464
  * Stops at the first malformed/unparseable line and returns the remainder for quarantine.
465
465
  *
466
+ * Residual fail-open callers (accepted, do not silently grow this list):
467
+ * the terminal-recovery `replayFromLedgerWithStatus` trio (`close-terminal.ts`,
468
+ * `task-terminal.ts`, `task-repair.ts` — see `readLedgerEventsForEpoch`'s
469
+ * docblock for that caller analysis) and the two loadPlan recovery identity
470
+ * anchors in `manager.ts` (validation-failure catch path and Step 3). In the
471
+ * manager.ts sites a fail-closed throw would escape the surrounding recovery
472
+ * catch/try as a hard loadPlan failure, so the default fail-open behavior is
473
+ * the accepted residual: an unreadable ledger degrades the rung
474
+ * (replay skipped / rung refused) — availability-only, never integrity loss.
475
+ *
466
476
  * @param directory - The working directory
467
477
  * @returns LedgerIntegrityResult with events, truncated flag, and bad suffix
468
478
  */
@@ -45,7 +45,7 @@ import { recordTaskAttempt } from '../services/run-memory.js';
45
45
  import { isEpicModeActiveForProject } from '../turbo/epic/state.js';
46
46
  import { commitTaskCompletion } from '../turbo/epic/task-commit.js';
47
47
  import { readTaskScopes } from '../turbo/lean/conflicts.js';
48
- import { type LedgerEvent, type LedgerEventInput, takeSnapshotWithRetry } from './ledger';
48
+ import { type LedgerEvent, type LedgerEventInput, ledgerExists, loadLastApprovedPlan, readLedgerEventsWithIntegrity, replayFromLedger, takeSnapshotWithRetry } from './ledger';
49
49
  /** Reset the startup ledger check flag. For testing only. */
50
50
  export declare function resetStartupLedgerCheck(): void;
51
51
  /**
@@ -61,6 +61,11 @@ export declare const _internals: {
61
61
  loadPlanJsonOnly: typeof loadPlanJsonOnly;
62
62
  readPlanJsonUtf8: typeof readPlanJsonUtf8;
63
63
  readPlanFileUtf8: typeof readPlanFileUtf8;
64
+ verifyWrittenPlanJson: typeof verifyWrittenPlanJson;
65
+ ledgerExists: typeof ledgerExists;
66
+ replayFromLedger: typeof replayFromLedger;
67
+ loadLastApprovedPlan: typeof loadLastApprovedPlan;
68
+ readLedgerEventsWithIntegrity: typeof readLedgerEventsWithIntegrity;
64
69
  regeneratePlanMarkdown: typeof regeneratePlanMarkdown;
65
70
  isGitRepo: typeof isGitRepo;
66
71
  isEpicModeActiveForProject: typeof isEpicModeActiveForProject;
@@ -159,6 +164,37 @@ export declare function withPlanLifecycleLock<T>(directory: string, taskId: stri
159
164
  * Validate against PlanSchema (throw on invalid), write to .swarm/plan.json via atomic temp+rename pattern,
160
165
  * then derive and write .swarm/plan.md
161
166
  */
167
+ /**
168
+ * #2531 (AC5): explicit durability outcome of a savePlan call. `complete` means
169
+ * every projection write was performed and the canonical plan.json projection
170
+ * was read-back verified; `incomplete` means an advisory surface (plan.md)
171
+ * failed to write — the save still succeeded for the authoritative pair
172
+ * (ledger + plan.json), and the failure is disclosed here and via the
173
+ * `plan_md_write_failed` telemetry event instead of being silently swallowed.
174
+ */
175
+ export interface PlanSaveDurability {
176
+ durability: 'complete' | 'incomplete';
177
+ degraded_surfaces: string[];
178
+ md_write_error?: string;
179
+ }
180
+ /**
181
+ * #2531 (AC5): thrown when the freshly persisted plan.json cannot be read back
182
+ * or does not match the projected plan — a save that cannot verify its written
183
+ * state reports failure instead of claiming successful readable state.
184
+ */
185
+ export declare class PlanWriteVerificationError extends Error {
186
+ constructor(message: string);
187
+ }
188
+ /**
189
+ * #2531 (AC5): read the freshly persisted canonical plan.json projection back
190
+ * and verify it parses as UTF-8 that round-trips to exactly the projected
191
+ * plan. Routed through the shared retry-aware reader
192
+ * (`readSwarmFileAsync`) so transient Windows AV/indexer locks and macOS
193
+ * rename-visibility races are retried before the save is declared failed.
194
+ * Exposed via `_internals` for fault-injecting tests (AGENTS.md invariant 7 DI
195
+ * convention — no mock.module).
196
+ */
197
+ declare function verifyWrittenPlanJson(directory: string, expected: Plan): Promise<void>;
162
198
  export declare function savePlan(directory: string, plan: Plan, options?: {
163
199
  preserveCompletedStatuses?: boolean;
164
200
  acknowledged_removals?: AcknowledgedRemovals;
@@ -181,7 +217,7 @@ export declare function savePlan(directory: string, plan: Plan, options?: {
181
217
  * between the final check and the atomic filesystem operation.
182
218
  */
183
219
  preCommitCheck?: () => void;
184
- }): Promise<void>;
220
+ }): Promise<PlanSaveDurability>;
185
221
  /**
186
222
  * Rebuild plan from ledger events.
187
223
  * Replays the ledger to reconstruct plan state, then writes the result.
@@ -64,7 +64,7 @@ export declare const phaseCompleteCommitInternals: {
64
64
  expectedLedgerHash: string;
65
65
  };
66
66
  preCommitCheck?: () => void;
67
- } | undefined) => Promise<void>;
67
+ } | undefined) => Promise<import("../plan").PlanSaveDurability>;
68
68
  };
69
69
  /** Injectable observational gates for aggregate-preflight regression tests. */
70
70
  export declare const phaseCompletePreflightInternals: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-swarm",
3
- "version": "7.172.0",
3
+ "version": "7.172.1",
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,72 +0,0 @@
1
- // @bun
2
- import {
3
- createCuratorLLMDelegate
4
- } from "./index-1vsmh63p.js";
5
- import"./index-hnvmj9wx.js";
6
- import"./index-nyrhz1h1.js";
7
- import"./index-328eg2bb.js";
8
- import"./index-nqbmk4b9.js";
9
- import"./index-29j9sjbw.js";
10
- import"./index-63t4m2t5.js";
11
- import"./index-s723hx7z.js";
12
- import"./index-txdagbh7.js";
13
- import"./index-z2deqhpp.js";
14
- import"./index-fpbcxykc.js";
15
- import"./index-y8y2bjsy.js";
16
- import"./index-z81mxyhm.js";
17
- import"./index-r08tgb71.js";
18
- import"./index-fyfbpz4f.js";
19
- import"./index-v2fge66b.js";
20
- import"./index-0hgmsyfp.js";
21
- import"./index-zsrtt42s.js";
22
- import"./index-25fa4krx.js";
23
- import"./index-v6msnkz2.js";
24
- import"./index-34jdempk.js";
25
- import"./index-pt7h91zc.js";
26
- import"./index-q7sjgr1y.js";
27
- import"./index-8k09fkqj.js";
28
- import"./index-8wnjcav5.js";
29
- import"./index-0y2ygy5f.js";
30
- import"./index-39x78qk0.js";
31
- import"./index-6fb3y9pm.js";
32
- import"./index-2s7dvzff.js";
33
- import"./index-2rdj9mdh.js";
34
- import"./index-677gzqmd.js";
35
- import"./index-rtry5xyf.js";
36
- import"./index-6jshhpjw.js";
37
- import"./index-frcemc0b.js";
38
- import"./index-wrt875kh.js";
39
- import"./index-7q1m8rsw.js";
40
- import"./index-5hambjmn.js";
41
- import"./index-mj07x42s.js";
42
- import"./index-12w05bxk.js";
43
- import"./index-k441jgzk.js";
44
- import"./index-efkckdaw.js";
45
- import"./index-rdm3px0g.js";
46
- import"./index-ry16d01s.js";
47
- import"./index-dpb1xs5m.js";
48
- import"./index-53ges0rk.js";
49
- import"./index-vzm6zre7.js";
50
- import"./index-ae75rja9.js";
51
- import"./index-1s3t3jdc.js";
52
- import"./index-dga9j6s1.js";
53
- import"./index-7g4c7s5r.js";
54
- import"./index-br3r0y73.js";
55
- import"./index-a2kv054j.js";
56
- import"./index-1xnse449.js";
57
- import"./index-c1ggtmpm.js";
58
- import"./index-3kqzzwvd.js";
59
- import"./index-0mhftbpp.js";
60
- import"./index-a1w58b47.js";
61
- import"./index-zbw6h4xn.js";
62
- import"./index-ecaws78e.js";
63
- import"./index-bk5tah7q.js";
64
- import"./index-gknz3bv1.js";
65
- import"./index-zpsr8rpc.js";
66
- import"./index-76qm2c2y.js";
67
- import"./index-yzjaj53h.js";
68
- import"./index-zgwm4ryv.js";
69
- import"./index-a76rekgs.js";
70
- export {
71
- createCuratorLLMDelegate
72
- };
@@ -1,73 +0,0 @@
1
- // @bun
2
- import {
3
- handleGuardrailExplain
4
- } from "./index-w1d5nsdc.js";
5
- import"./index-1vsmh63p.js";
6
- import"./index-hnvmj9wx.js";
7
- import"./index-nyrhz1h1.js";
8
- import"./index-328eg2bb.js";
9
- import"./index-nqbmk4b9.js";
10
- import"./index-29j9sjbw.js";
11
- import"./index-63t4m2t5.js";
12
- import"./index-s723hx7z.js";
13
- import"./index-txdagbh7.js";
14
- import"./index-z2deqhpp.js";
15
- import"./index-fpbcxykc.js";
16
- import"./index-y8y2bjsy.js";
17
- import"./index-z81mxyhm.js";
18
- import"./index-r08tgb71.js";
19
- import"./index-fyfbpz4f.js";
20
- import"./index-v2fge66b.js";
21
- import"./index-0hgmsyfp.js";
22
- import"./index-zsrtt42s.js";
23
- import"./index-25fa4krx.js";
24
- import"./index-v6msnkz2.js";
25
- import"./index-34jdempk.js";
26
- import"./index-pt7h91zc.js";
27
- import"./index-q7sjgr1y.js";
28
- import"./index-8k09fkqj.js";
29
- import"./index-8wnjcav5.js";
30
- import"./index-0y2ygy5f.js";
31
- import"./index-39x78qk0.js";
32
- import"./index-6fb3y9pm.js";
33
- import"./index-2s7dvzff.js";
34
- import"./index-2rdj9mdh.js";
35
- import"./index-677gzqmd.js";
36
- import"./index-rtry5xyf.js";
37
- import"./index-6jshhpjw.js";
38
- import"./index-frcemc0b.js";
39
- import"./index-wrt875kh.js";
40
- import"./index-7q1m8rsw.js";
41
- import"./index-5hambjmn.js";
42
- import"./index-mj07x42s.js";
43
- import"./index-12w05bxk.js";
44
- import"./index-k441jgzk.js";
45
- import"./index-efkckdaw.js";
46
- import"./index-rdm3px0g.js";
47
- import"./index-ry16d01s.js";
48
- import"./index-dpb1xs5m.js";
49
- import"./index-53ges0rk.js";
50
- import"./index-vzm6zre7.js";
51
- import"./index-ae75rja9.js";
52
- import"./index-1s3t3jdc.js";
53
- import"./index-dga9j6s1.js";
54
- import"./index-7g4c7s5r.js";
55
- import"./index-br3r0y73.js";
56
- import"./index-a2kv054j.js";
57
- import"./index-1xnse449.js";
58
- import"./index-c1ggtmpm.js";
59
- import"./index-3kqzzwvd.js";
60
- import"./index-0mhftbpp.js";
61
- import"./index-a1w58b47.js";
62
- import"./index-zbw6h4xn.js";
63
- import"./index-ecaws78e.js";
64
- import"./index-bk5tah7q.js";
65
- import"./index-gknz3bv1.js";
66
- import"./index-zpsr8rpc.js";
67
- import"./index-76qm2c2y.js";
68
- import"./index-yzjaj53h.js";
69
- import"./index-zgwm4ryv.js";
70
- import"./index-a76rekgs.js";
71
- export {
72
- handleGuardrailExplain
73
- };