opencode-swarm 7.167.1 → 7.168.0

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 (126) 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/agents/project-context.d.ts +12 -8
  4. package/dist/cli/{coder-settlement-2ye4s5xr.js → coder-settlement-a35acvj1.js} +16 -16
  5. package/dist/cli/{config-doctor-b0k8eyd6.js → config-doctor-9csx775x.js} +3 -3
  6. package/dist/cli/{core-xgzgjk8s.js → core-agk5s7dm.js} +4 -4
  7. package/dist/cli/{curation-policy-bvxf5pxv.js → curation-policy-mgwv8h2k.js} +7 -7
  8. package/dist/cli/{curator-jpvzrxcv.js → curator-2fcagjyk.js} +45 -45
  9. package/dist/cli/{curator-drift-20m2ab5w.js → curator-drift-k0zrnm09.js} +8 -8
  10. package/dist/cli/curator-llm-factory-qaxmyy46.js +71 -0
  11. package/dist/cli/{dispatch-tmb929w8.js → dispatch-8ks9dyk5.js} +244 -70
  12. package/dist/cli/{evidence-summary-service-74az43cb.js → evidence-summary-service-4s6cje60.js} +22 -22
  13. package/dist/cli/{explorer-zvk5kbcb.js → explorer-2cv64zfj.js} +1 -1
  14. package/dist/cli/{gate-evidence-f26h2gn3.js → gate-evidence-saja4dan.js} +11 -11
  15. package/dist/cli/guardrail-explain-z41q6sf0.js +72 -0
  16. package/dist/cli/{guardrail-log-pnye3xw8.js → guardrail-log-0h24spq0.js} +9 -9
  17. package/dist/cli/{guardrail-reset-0da7q8ap.js → guardrail-reset-cwbe47k5.js} +44 -44
  18. package/dist/cli/hive-promoter-esxtcvr1.js +86 -0
  19. package/dist/cli/{index-bv8ha57q.js → index-00zx94vn.js} +6 -6
  20. package/dist/cli/{index-9e6fdz2h.js → index-0mhftbpp.js} +1 -1
  21. package/dist/cli/{index-7qefgq4j.js → index-1xnse449.js} +11 -1
  22. package/dist/cli/{index-qyr17fbz.js → index-21ree67h.js} +62 -106
  23. package/dist/cli/{index-q265ytw6.js → index-30h1pk05.js} +4 -4
  24. package/dist/cli/{index-f8xk5q5j.js → index-3dywbkyr.js} +4 -4
  25. package/dist/cli/{index-2w0beg3s.js → index-4r5pmtvk.js} +5 -5
  26. package/dist/cli/{index-69y9p6dh.js → index-54w1564x.js} +2 -2
  27. package/dist/cli/{index-251vrmge.js → index-5zqakgp4.js} +4 -4
  28. package/dist/cli/{index-bzdc4b7t.js → index-64phnth4.js} +6 -6
  29. package/dist/cli/{index-fmzz6aw7.js → index-8f0kscpg.js} +4 -4
  30. package/dist/cli/{index-t8tw1bhs.js → index-8ybjqg51.js} +2 -2
  31. package/dist/cli/{index-9ss2m4rs.js → index-9br68j86.js} +1 -1
  32. package/dist/cli/{index-4rhhvd1a.js → index-a1w58b47.js} +1 -1
  33. package/dist/cli/{index-qd619x3r.js → index-a8xbvsse.js} +2 -2
  34. package/dist/cli/{index-mgc3c483.js → index-an8b5gda.js} +10 -10
  35. package/dist/cli/{index-9wv6a3jx.js → index-bvqqwx84.js} +2 -2
  36. package/dist/cli/{index-bf6zx8cq.js → index-cyenn3pf.js} +6 -2
  37. package/dist/cli/{index-8x4zwk0t.js → index-ddr97ram.js} +47 -47
  38. package/dist/cli/{index-3nm1b3t2.js → index-dfyv3xkd.js} +8 -8
  39. package/dist/cli/{index-87agfprq.js → index-exatbqwj.js} +13 -4
  40. package/dist/cli/{index-70ha9e09.js → index-fyfbpz4f.js} +1 -1
  41. package/dist/cli/{index-5bd84nxc.js → index-gp9yzr1v.js} +1 -1
  42. package/dist/cli/{index-es13aqdb.js → index-h0e2e3h1.js} +1 -1
  43. package/dist/cli/{index-6d4dc99f.js → index-h439y187.js} +1 -1
  44. package/dist/cli/{index-9bhzbwa4.js → index-j950hqmq.js} +9 -9
  45. package/dist/cli/{index-sahf5yz3.js → index-kear8gb7.js} +11 -6
  46. package/dist/cli/{index-qww0h314.js → index-m35hybf0.js} +1 -1
  47. package/dist/cli/{index-qtd3hrk8.js → index-mr0wn36f.js} +5 -5
  48. package/dist/cli/{index-zwsbegc1.js → index-nprngf8p.js} +7 -7
  49. package/dist/cli/{index-z5gdgdkp.js → index-nsyxj57e.js} +12 -12
  50. package/dist/cli/{index-1aex5zd9.js → index-nwwk3dej.js} +2 -2
  51. package/dist/cli/{index-75f9jj3h.js → index-pyf517sz.js} +2 -2
  52. package/dist/cli/{index-m3tx1q9v.js → index-qhey6vc3.js} +1 -1
  53. package/dist/cli/{index-qd726agw.js → index-qwsh0h2g.js} +3 -3
  54. package/dist/cli/{index-n4fzmqz8.js → index-rdm3px0g.js} +4 -2
  55. package/dist/cli/index-rxcgrgkc.js +116 -0
  56. package/dist/cli/{index-54vzqy47.js → index-s0d5xter.js} +6 -6
  57. package/dist/cli/{index-emwezg3y.js → index-seetnhpx.js} +3 -3
  58. package/dist/cli/{index-0tc0pcmh.js → index-sxt7fgcw.js} +38 -2
  59. package/dist/cli/{index-m21x1bkx.js → index-v3xc4sde.js} +11 -8
  60. package/dist/cli/{index-79wnzc8q.js → index-wnzxcr0z.js} +3 -3
  61. package/dist/cli/{index-rk10x4zr.js → index-wst6n478.js} +106 -6
  62. package/dist/cli/{index-hdsg7yf6.js → index-x7k3dps5.js} +4 -3
  63. package/dist/cli/{index-32bxwzw0.js → index-yevn4jpe.js} +92908 -90093
  64. package/dist/cli/index-yv76j77m.js +2008 -0
  65. package/dist/cli/{index-f6zgz02s.js → index-z6qreakh.js} +7 -7
  66. package/dist/cli/{index-eretcr6t.js → index-ze520xw1.js} +11 -11
  67. package/dist/cli/index.js +44 -44
  68. package/dist/cli/{knowledge-escalator-p2a8xh8x.js → knowledge-escalator-b2tf3sd1.js} +17 -17
  69. package/dist/cli/{knowledge-events-jmh28m8d.js → knowledge-events-bgs2kxe0.js} +15 -15
  70. package/dist/cli/{knowledge-link-w1fwqts4.js → knowledge-link-dr3xnwyd.js} +6 -6
  71. package/dist/cli/{knowledge-store-8gmabtsn.js → knowledge-store-stbmb1b9.js} +7 -7
  72. package/dist/cli/{knowledge-validator-yk579vs4.js → knowledge-validator-zykgnsag.js} +9 -9
  73. package/dist/cli/{model-preflight-b3b5pgsc.js → model-preflight-1ycat9jz.js} +1 -1
  74. package/dist/cli/{pending-delegations-nw7ph53z.js → pending-delegations-n5qavj20.js} +14 -14
  75. package/dist/cli/{pr-subscriptions-9815fxbc.js → pr-subscriptions-gnvmyrng.js} +14 -14
  76. package/dist/cli/{pr-workflow-gate-98a7b6py.js → pr-workflow-gate-cf3ybrws.js} +44 -44
  77. package/dist/cli/{runner-nmrjv7te.js → runner-k0ycgv8x.js} +7 -7
  78. package/dist/cli/{scan-cursor-6zcs0frg.js → scan-cursor-b3mcrx23.js} +10 -10
  79. package/dist/cli/{schema-warvhy9h.js → schema-08049cjb.js} +4 -2
  80. package/dist/cli/{scope-persistence-c2ck77cv.js → scope-persistence-a493gv51.js} +20 -20
  81. package/dist/cli/{skill-generator-jamm1cna.js → skill-generator-2qqzkdpv.js} +19 -19
  82. package/dist/cli/{snapshot-coordination-init-st0xsn3f.js → snapshot-coordination-init-8yt8p7q0.js} +44 -44
  83. package/dist/cli/{sqlite-loader-xrnf6bq8.js → sqlite-loader-amp9z7ty.js} +1 -1
  84. package/dist/cli/{telemetry-ce0tx41h.js → telemetry-2wzapf11.js} +2 -2
  85. package/dist/cli/{workspace-snapshot-0kxj2grt.js → workspace-snapshot-rkgxhj9b.js} +6 -6
  86. package/dist/cli/{worktree-collision-ownership-qra7r8pw.js → worktree-collision-ownership-xttafc4h.js} +17 -17
  87. package/dist/cli/{worktree-isolation-yr9gnf64.js → worktree-isolation-e5q5rewk.js} +45 -45
  88. package/dist/commands/close/align-stage.d.ts +10 -0
  89. package/dist/commands/close/archive-stage.d.ts +34 -0
  90. package/dist/commands/close/clean-stage.d.ts +2 -0
  91. package/dist/commands/close/constants.d.ts +122 -0
  92. package/dist/commands/close/context.d.ts +129 -0
  93. package/dist/commands/close/db-helpers.d.ts +10 -0
  94. package/dist/commands/close/dry-run.d.ts +12 -0
  95. package/dist/commands/close/finalize-stage.d.ts +44 -0
  96. package/dist/commands/close/fs-helpers.d.ts +17 -0
  97. package/dist/commands/close/internals.d.ts +55 -0
  98. package/dist/commands/close/orchestrator.d.ts +32 -0
  99. package/dist/commands/close/wiring.d.ts +2 -0
  100. package/dist/commands/close.d.ts +10 -402
  101. package/dist/commands/reset.d.ts +10 -0
  102. package/dist/commands/rollback.d.ts +9 -0
  103. package/dist/config/schema.d.ts +29 -0
  104. package/dist/db/project-db.d.ts +8 -0
  105. package/dist/db/sqlite-loader.d.ts +2 -1
  106. package/dist/dispatch/spawn-circuit.d.ts +121 -0
  107. package/dist/dispatch/token-bucket.d.ts +46 -0
  108. package/dist/hooks/delegation-gate/dead-lane-reclaim.d.ts +61 -0
  109. package/dist/hooks/delegation-gate/worktree-isolation.d.ts +22 -0
  110. package/dist/hooks/issue-trace.d.ts +3 -0
  111. package/dist/hooks/utils.d.ts +1 -1
  112. package/dist/index.js +811 -726
  113. package/dist/lang/dispatch.d.ts +6 -6
  114. package/dist/plan/ledger-sqlite.d.ts +226 -0
  115. package/dist/plan/ledger.d.ts +24 -0
  116. package/dist/plan/manager.d.ts +19 -0
  117. package/dist/retention/sweep.d.ts +2 -0
  118. package/dist/services/spec-drift-recovery.d.ts +2 -1
  119. package/dist/utils/canonical-root.d.ts +19 -0
  120. package/dist/utils/ephemeral-session-teardown.d.ts +55 -2
  121. package/opencode-swarm.schema.json +41 -0
  122. package/package.json +1 -1
  123. package/dist/cli/curator-llm-factory-zeb0pe2j.js +0 -71
  124. package/dist/cli/guardrail-explain-5vhveypz.js +0 -72
  125. package/dist/cli/hive-promoter-2vj54xc4.js +0 -86
  126. package/dist/cli/index-fenasyvr.js +0 -967
@@ -1,21 +1,22 @@
1
1
  // @bun
2
+ import {
3
+ loadDatabaseCtor
4
+ } from "./index-rdm3px0g.js";
2
5
  import {
3
6
  canonicalExistingFilesystemPath
4
7
  } from "./index-ry16d01s.js";
5
- import {
6
- loadDatabaseCtor
7
- } from "./index-n4fzmqz8.js";
8
8
  import {
9
9
  atomicWriteSwarmFileSync
10
- } from "./index-m21x1bkx.js";
10
+ } from "./index-v3xc4sde.js";
11
11
  import {
12
12
  canonicalRootKeyFresh,
13
13
  lexicalRootAliasKey
14
- } from "./index-7qefgq4j.js";
14
+ } from "./index-1xnse449.js";
15
15
 
16
16
  // src/db/project-db.ts
17
17
  import { existsSync, mkdirSync, unlinkSync } from "fs";
18
18
  import { join, resolve } from "path";
19
+ import { pathToFileURL } from "url";
19
20
 
20
21
  // src/db/db-errors.ts
21
22
  class ProjectDbError extends Error {
@@ -405,6 +406,82 @@ var MIGRATIONS = [
405
406
  lines_seen INTEGER NOT NULL CHECK(lines_seen >= 0),
406
407
  imported_at TEXT NOT NULL
407
408
  )`
409
+ },
410
+ {
411
+ version: 33,
412
+ name: "create_plan_ledger_event",
413
+ sql: `CREATE TABLE IF NOT EXISTS plan_ledger_event (
414
+ seq INTEGER PRIMARY KEY CHECK(seq >= 1),
415
+ canonical_event BLOB NOT NULL CHECK(length(canonical_event) > 0),
416
+ event_hash TEXT NOT NULL UNIQUE,
417
+ root_event_hash TEXT,
418
+ plan_epoch TEXT,
419
+ timestamp TEXT NOT NULL,
420
+ plan_id TEXT NOT NULL,
421
+ event_type TEXT NOT NULL,
422
+ task_id TEXT,
423
+ phase_id INTEGER,
424
+ from_status TEXT,
425
+ to_status TEXT,
426
+ source TEXT NOT NULL,
427
+ plan_hash_before TEXT NOT NULL,
428
+ plan_hash_after TEXT NOT NULL,
429
+ schema_version TEXT NOT NULL,
430
+ payload_hash TEXT,
431
+ payload_json TEXT,
432
+ created_at TEXT NOT NULL DEFAULT (datetime('now'))
433
+ )`
434
+ },
435
+ {
436
+ version: 34,
437
+ name: "create_plan_ledger_state",
438
+ sql: `CREATE TABLE IF NOT EXISTS plan_ledger_state (
439
+ id INTEGER PRIMARY KEY CHECK(id = 1),
440
+ authority_mode TEXT NOT NULL CHECK(authority_mode IN ('file_shadow', 'sqlite')),
441
+ shadow_started_version TEXT,
442
+ parity_status TEXT NOT NULL CHECK(parity_status IN ('pending', 'clean', 'diverged', 'failed')),
443
+ file_replay_hash TEXT,
444
+ sqlite_replay_hash TEXT,
445
+ terminal_projection_hash TEXT NOT NULL DEFAULT '',
446
+ last_seq INTEGER NOT NULL DEFAULT 0 CHECK(last_seq >= 0),
447
+ last_event_hash TEXT,
448
+ root_event_hash TEXT,
449
+ plan_id TEXT,
450
+ plan_epoch TEXT,
451
+ terminal_plan_hash TEXT,
452
+ terminal_projection BLOB,
453
+ terminal_projection_json TEXT,
454
+ terminal_metadata TEXT,
455
+ updated_at TEXT NOT NULL DEFAULT (datetime('now'))
456
+ )`
457
+ },
458
+ {
459
+ version: 35,
460
+ name: "create_plan_ledger_import",
461
+ sql: `CREATE TABLE IF NOT EXISTS plan_ledger_import (
462
+ source TEXT PRIMARY KEY,
463
+ source_hash TEXT NOT NULL,
464
+ archive_path TEXT,
465
+ archive_hash TEXT,
466
+ archive_size INTEGER,
467
+ archive_created_at TEXT,
468
+ mode TEXT NOT NULL,
469
+ version TEXT,
470
+ row_count INTEGER NOT NULL DEFAULT 0 CHECK(row_count >= 0),
471
+ imported_at TEXT NOT NULL DEFAULT (datetime('now'))
472
+ )`
473
+ },
474
+ {
475
+ version: 36,
476
+ name: "create_plan_ledger_event_indexes",
477
+ sql: `CREATE INDEX IF NOT EXISTS idx_plan_ledger_event_plan
478
+ ON plan_ledger_event(plan_id, seq)`
479
+ },
480
+ {
481
+ version: 37,
482
+ name: "create_plan_ledger_import_hash_index",
483
+ sql: `CREATE INDEX IF NOT EXISTS idx_plan_ledger_import_hash
484
+ ON plan_ledger_import(source_hash)`
408
485
  }
409
486
  ];
410
487
  var _projectDbs = new Map;
@@ -555,6 +632,26 @@ function projectDbPath(directory) {
555
632
  function projectDbExists(directory) {
556
633
  return existsSync(projectDbPath(directory));
557
634
  }
635
+ function withProjectDbReadOnly(directory, read) {
636
+ const cached = _projectDbs.get(canonicalRootKeyFresh(directory));
637
+ if (cached)
638
+ return read(cached.db);
639
+ const dbFile = projectDbPath(directory);
640
+ if (!existsSync(dbFile))
641
+ return null;
642
+ const Db = loadDatabaseCtor();
643
+ const walPresent = existsSync(`${dbFile}-wal`);
644
+ const db = walPresent ? new Db(dbFile, { readonly: true }) : (() => {
645
+ const immutableUrl = pathToFileURL(dbFile);
646
+ immutableUrl.searchParams.set("immutable", "1");
647
+ return new Db(immutableUrl.href, 1 | 64);
648
+ })();
649
+ try {
650
+ return read(db);
651
+ } finally {
652
+ db.close();
653
+ }
654
+ }
558
655
  function checkpointWalBestEffort(db) {
559
656
  try {
560
657
  const row = db.query("PRAGMA wal_checkpoint(TRUNCATE)").get();
@@ -677,6 +774,9 @@ var DURABILITY_CLASSES = {
677
774
  coordination_state: "full",
678
775
  coordination_lease: "full",
679
776
  coordination_import: "full",
777
+ plan_ledger_event: "full",
778
+ plan_ledger_state: "full",
779
+ plan_ledger_import: "full",
680
780
  insight_candidate: "normal",
681
781
  phase_report: "normal",
682
782
  project_constraints: "normal",
@@ -746,4 +846,4 @@ function withImmediateTransaction(db, cls, fn, hooks = {}) {
746
846
  }
747
847
  }
748
848
 
749
- export { DURABILITY_CLASSES, batchDurabilityClass, applySynchronousForClass, withDurabilityClass, withImmediateTransaction, DbWriteError, classifyDbWriteError, projectDbPath, projectDbExists, getProjectDb, closeProjectDb, closeAllProjectDbs };
849
+ export { DURABILITY_CLASSES, batchDurabilityClass, applySynchronousForClass, withDurabilityClass, withImmediateTransaction, DbWriteError, classifyDbWriteError, projectDbPath, projectDbExists, withProjectDbReadOnly, getProjectDb, closeProjectDb, closeAllProjectDbs };
@@ -2,14 +2,14 @@
2
2
  import {
3
3
  init_loader,
4
4
  loadPluginConfigWithMeta
5
- } from "./index-emwezg3y.js";
5
+ } from "./index-seetnhpx.js";
6
6
  import {
7
7
  init_schema
8
- } from "./index-87agfprq.js";
8
+ } from "./index-exatbqwj.js";
9
9
  import {
10
10
  DEFAULT_WORKTREE_ISOLATION_CONFIG,
11
11
  init_constants
12
- } from "./index-0tc0pcmh.js";
12
+ } from "./index-sxt7fgcw.js";
13
13
 
14
14
  // src/config/index.ts
15
15
  init_constants();
@@ -31,6 +31,7 @@ function resolveWorktreeIsolationConfig(config) {
31
31
  merge_strategy: lean.merge_strategy ?? "merge",
32
32
  worktree_dir: lean.worktree_dir,
33
33
  deps_strategy: lean.deps_strategy ?? "skip",
34
+ session_create_timeout_ms: DEFAULT_WORKTREE_ISOLATION_CONFIG.session_create_timeout_ms,
34
35
  runtime_isolation: lean.runtime_isolation ?? DEFAULT_WORKTREE_ISOLATION_CONFIG.runtime_isolation
35
36
  };
36
37
  }