opencode-swarm 7.191.0 → 7.191.2

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 (72) 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/{auto-checkpoint-rdwd6w8t.js → auto-checkpoint-fdwx53m3.js} +4 -4
  4. package/dist/cli/{capability-probe-8k8ebeyp.js → capability-probe-3mgxcfr9.js} +1 -1
  5. package/dist/cli/{checkpoint-jvccxnf3.js → checkpoint-53c1zafe.js} +8 -8
  6. package/dist/cli/{coder-settlement-tezdqdzb.js → coder-settlement-fyh6tt0j.js} +3 -3
  7. package/dist/cli/{config-doctor-48ehw0b0.js → config-doctor-fgb4e34g.js} +7 -7
  8. package/dist/cli/{core-xevv38dk.js → core-apkb4h4r.js} +1 -1
  9. package/dist/cli/{curator-drift-ej1s4fv9.js → curator-drift-fz1s4mja.js} +5 -5
  10. package/dist/cli/{curator-xckkw7yt.js → curator-frc99gz3.js} +26 -26
  11. package/dist/cli/{curator-llm-factory-bx720pwc.js → curator-llm-factory-mfnac4ay.js} +26 -26
  12. package/dist/cli/{doctor-knowledge-receipt-phase-id-89jrgknr.js → doctor-knowledge-receipt-phase-id-jwvzyje6.js} +4 -4
  13. package/dist/cli/{evidence-summary-service-b8jqdf13.js → evidence-summary-service-w18gkp8p.js} +9 -9
  14. package/dist/cli/{gate-evidence-xcydwkha.js → gate-evidence-36w61c05.js} +2 -2
  15. package/dist/cli/{guardrail-explain-wvymt5na.js → guardrail-explain-vqgjc2ed.js} +27 -27
  16. package/dist/cli/{guardrail-log-5mmc2y1v.js → guardrail-log-935f17ge.js} +3 -3
  17. package/dist/cli/{guardrail-reset-8nje6gxk.js → guardrail-reset-xjnvgqah.js} +26 -26
  18. package/dist/cli/{hive-promoter-sd1h9vjg.js → hive-promoter-xsns8ajv.js} +26 -26
  19. package/dist/cli/{index-n9wg3f7d.js → index-1xt5gth0.js} +1 -1
  20. package/dist/cli/{index-r27sprvr.js → index-2rtms4nt.js} +1 -1
  21. package/dist/cli/{index-ykkpkzf7.js → index-55xfbnvy.js} +1 -1
  22. package/dist/cli/{index-5y2y23ac.js → index-6y359eht.js} +28 -28
  23. package/dist/cli/{index-0331n4t3.js → index-76086gkg.js} +26 -26
  24. package/dist/cli/{index-tn2znwwf.js → index-8mr9p76r.js} +3 -3
  25. package/dist/cli/{index-aw4ex9kn.js → index-99v2k5sy.js} +3 -3
  26. package/dist/cli/{index-ap0tkg3v.js → index-aqjn8pax.js} +62 -62
  27. package/dist/cli/{index-mnx6hgh0.js → index-b36p4kn3.js} +2 -2
  28. package/dist/cli/{index-wxsmmw0j.js → index-bd6zxkwg.js} +1 -1
  29. package/dist/cli/{index-7r41s196.js → index-g5acbfgk.js} +1 -1
  30. package/dist/cli/{index-y8ak7me7.js → index-gfterbs7.js} +3 -3
  31. package/dist/cli/{index-7rapcpgx.js → index-h2y7bwje.js} +2 -2
  32. package/dist/cli/{index-kdsdybmz.js → index-hbnrvd8w.js} +5 -5
  33. package/dist/cli/{index-4c7qdtcy.js → index-jxhf5r26.js} +1 -1
  34. package/dist/cli/{index-4wsvkvhc.js → index-kme2f9w9.js} +4 -4
  35. package/dist/cli/{index-hq84mfha.js → index-m0j9e1gt.js} +1 -1
  36. package/dist/cli/{index-zr2ywh0s.js → index-n23cya25.js} +3 -3
  37. package/dist/cli/{index-9mq96f00.js → index-n95ea1jf.js} +2 -2
  38. package/dist/cli/{index-y6hwrfkt.js → index-nfnrxyvb.js} +1 -1
  39. package/dist/cli/{index-25p51rw2.js → index-np6phn34.js} +2 -2
  40. package/dist/cli/{index-msz0qtfy.js → index-qwrbyb3c.js} +1 -1
  41. package/dist/cli/{index-2e2v96yk.js → index-r6xewjr5.js} +1 -1
  42. package/dist/cli/{index-wvghb3x6.js → index-sgxbqba0.js} +12 -3
  43. package/dist/cli/{index-ks4h9hag.js → index-tdwm85ng.js} +1 -1
  44. package/dist/cli/{index-kar6wt5k.js → index-tx5vtg1t.js} +1 -1
  45. package/dist/cli/{index-hqdfm79v.js → index-tzq81dcp.js} +1 -1
  46. package/dist/cli/{index-46fe64s6.js → index-vn3emgm3.js} +3 -3
  47. package/dist/cli/{index-rq6tz67x.js → index-vwvtmqvw.js} +1 -1
  48. package/dist/cli/{index-se6v59r8.js → index-xbnb7anq.js} +2 -2
  49. package/dist/cli/{index-evj271tm.js → index-xpwcg1rd.js} +6 -6
  50. package/dist/cli/index.js +27 -27
  51. package/dist/cli/{knowledge-escalator-8ppf9pcx.js → knowledge-escalator-p05gp6vc.js} +7 -7
  52. package/dist/cli/{knowledge-events-6tqb0a12.js → knowledge-events-m875rjq2.js} +5 -5
  53. package/dist/cli/{knowledge-store-2y8rpsj2.js → knowledge-store-4h6pebmp.js} +1 -1
  54. package/dist/cli/{knowledge-validator-5drk80a9.js → knowledge-validator-5vyfp4q6.js} +2 -2
  55. package/dist/cli/{mcp-pehs7fdc.js → mcp-xwpwyzx7.js} +1 -1
  56. package/dist/cli/{model-preflight-wq4ejsrk.js → model-preflight-jgehvs3v.js} +26 -26
  57. package/dist/cli/{pending-delegations-6yd5nraz.js → pending-delegations-d55bv8sb.js} +2 -2
  58. package/dist/cli/{pr-subscriptions-a1xd8smp.js → pr-subscriptions-f0p41qek.js} +1 -1
  59. package/dist/cli/{pr-workflow-gate-prb2tzz7.js → pr-workflow-gate-50kkf6y3.js} +26 -26
  60. package/dist/cli/{scan-cursor-waxfq7x5.js → scan-cursor-hhsd1pk3.js} +2 -2
  61. package/dist/cli/{schema-zx5j97ww.js → schema-8ymp10e6.js} +1 -1
  62. package/dist/cli/{scope-persistence-2q1jzy0h.js → scope-persistence-gsn67p3k.js} +5 -5
  63. package/dist/cli/{server-70mbpd3m.js → server-2p7pqctr.js} +26 -26
  64. package/dist/cli/{skill-generator-xarcb8vm.js → skill-generator-vhdxbs1t.js} +8 -8
  65. package/dist/cli/{snapshot-coordination-init-cqxsm2rr.js → snapshot-coordination-init-yzqj7px3.js} +26 -26
  66. package/dist/cli/{speckit-checkoff-fgt7fdvj.js → speckit-checkoff-73nmf206.js} +3 -3
  67. package/dist/cli/{worktree-collision-ownership-bk6znw4c.js → worktree-collision-ownership-1ranptpe.js} +2 -2
  68. package/dist/cli/{worktree-isolation-79jmdq2z.js → worktree-isolation-heftcwdv.js} +26 -26
  69. package/dist/index.js +226 -226
  70. package/dist/sandbox/executor.d.ts +16 -1
  71. package/dist/sandbox/linux/bubblewrap-executor.d.ts +8 -5
  72. package/package.json +1 -1
@@ -66,7 +66,22 @@ export interface SandboxPolicyOptions {
66
66
  network_mode?: 'off' | 'on';
67
67
  network_allowlist?: readonly string[];
68
68
  writable_roots?: readonly string[];
69
+ /**
70
+ * Absolute roots the sandboxed command may READ but not write, mounted
71
+ * before the writable scope paths so a scope path inside one of them
72
+ * stays writable. The guardrails hook passes the session workspace here:
73
+ * without it a Linux coder sandbox contained only its declared scope, so
74
+ * `node tests/x.test.js` could not even load `../src/x.js`. Executors
75
+ * whose containment is write-only (macOS sandbox-exec) ignore it.
76
+ */
77
+ readonly_roots?: readonly string[];
69
78
  }
79
+ /**
80
+ * The policy fields that come from configuration and take part in the
81
+ * enforcement assessment and its cache key. `readonly_roots` is derived per
82
+ * call from the session workspace and is deliberately not part of it.
83
+ */
84
+ export type SandboxConfigPolicy = Omit<SandboxPolicyOptions, 'readonly_roots'>;
70
85
  declare function detectSandboxCapability(): Promise<SandboxCapabilityV1>;
71
86
  export declare const _internals: {
72
87
  detectSandboxCapability: typeof detectSandboxCapability;
@@ -74,7 +89,7 @@ export declare const _internals: {
74
89
  export interface SandboxEnforcementAssessment {
75
90
  capability: SandboxCapabilityV1;
76
91
  requirements: Required<SandboxRequirements>;
77
- policy: Required<SandboxPolicyOptions>;
92
+ policy: Required<SandboxConfigPolicy>;
78
93
  satisfied: boolean;
79
94
  missing: string[];
80
95
  supported: boolean;
@@ -6,7 +6,7 @@
6
6
  * for essential read-only system paths. Drops all capabilities via --cap-drop ALL
7
7
  * for defense-in-depth within the user namespace.
8
8
  */
9
- import { type SandboxExecutor } from '../executor';
9
+ import { type SandboxExecutor, type SandboxPolicyOptions } from '../executor';
10
10
  /**
11
11
  * Resolve the bwrap binary: absolute base-OS path when present, bare-name
12
12
  * (PATH resolution) fallback otherwise. Never throws.
@@ -32,7 +32,12 @@ export declare const _internals: {
32
32
  *
33
33
  * Instantiated with scope paths and an optional temp directory override.
34
34
  * wrapCommand() returns a bwrap-wrapped command string that:
35
- * - bind-mounts each scope path read-write
35
+ * - bind-mounts each policy.readonly_roots path read-only (the session
36
+ * workspace), FIRST, so the command can read the project it is working in
37
+ * - bind-mounts each scope path read-write, after the read-only roots so a
38
+ * scope path inside the workspace is writable (bwrap mounts in argument
39
+ * order and a later bind sits on top of an earlier one; the reverse order
40
+ * would leave the scope path read-only)
36
41
  * - mounts a tmpfs at /tmp (writable temporary storage)
37
42
  * - bind-mounts essential system paths read-only
38
43
  * - spawns the raw command via `bash -c '<command>'`
@@ -75,9 +80,7 @@ export declare class BubblewrapSandboxExecutor implements SandboxExecutor {
75
80
  * @returns A bwrap-wrapped command string ready for shell execution,
76
81
  * or the raw command string when the sandbox is unavailable (passthrough mode)
77
82
  */
78
- wrapCommand(command: string, scopePaths: string[], tempDir?: string, envOverrides?: Record<string, string | null>, policy?: {
79
- network_mode?: 'off' | 'on';
80
- }): string;
83
+ wrapCommand(command: string, scopePaths: string[], tempDir?: string, envOverrides?: Record<string, string | null>, policy?: Pick<SandboxPolicyOptions, 'network_mode' | 'readonly_roots'>): string;
81
84
  /**
82
85
  * Return environment variable overrides required for the bubblewrap sandbox.
83
86
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-swarm",
3
- "version": "7.191.0",
3
+ "version": "7.191.2",
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",