opencode-swarm 7.113.2 → 7.113.4

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 (69) hide show
  1. package/binaries/win32-arm64/.gitkeep +0 -0
  2. package/binaries/win32-x64/.gitkeep +0 -0
  3. package/dist/background/event-bus.d.ts +1 -1
  4. package/dist/background/queue.d.ts +11 -0
  5. package/dist/background/trigger.d.ts +1 -0
  6. package/dist/cli/{capability-probe-sh9bwh39.js → capability-probe-f1paszww.js} +1 -1
  7. package/dist/cli/{config-doctor-az11cwf5.js → config-doctor-xbdfrbwt.js} +2 -2
  8. package/dist/cli/{core-f4cbabe7.js → core-zg8s1jwx.js} +2 -2
  9. package/dist/cli/{curator-drift-jvs1v6em.js → curator-drift-c0by7063.js} +2 -2
  10. package/dist/cli/curator-llm-factory-b3g0g0cd.js +41 -0
  11. package/dist/cli/{curator-9s04amtf.js → curator-nh9raf1a.js} +26 -22
  12. package/dist/cli/{dispatch-wst7bypk.js → dispatch-mczsxy5s.js} +2 -2
  13. package/dist/cli/{evidence-summary-service-w1er1ea2.js → evidence-summary-service-8g594znj.js} +7 -7
  14. package/dist/cli/{gate-evidence-9hdwj6tt.js → gate-evidence-vkpqt300.js} +5 -5
  15. package/dist/cli/guardrail-explain-wpv5eskq.js +42 -0
  16. package/dist/cli/{guardrail-log-hysxdwg9.js → guardrail-log-qfc2j0tb.js} +4 -4
  17. package/dist/cli/hive-promoter-c0fd3j02.js +51 -0
  18. package/dist/cli/{index-0dab9w37.js → index-0p660a87.js} +2 -2
  19. package/dist/cli/{index-32bx4kch.js → index-0q7rrh59.js} +4 -4
  20. package/dist/cli/{index-n7rd2rkj.js → index-10v7hrkj.js} +2 -2
  21. package/dist/cli/{index-1ey3dxq7.js → index-147ja18h.js} +0 -4
  22. package/dist/cli/{index-0gf6de8b.js → index-2148358e.js} +45 -1
  23. package/dist/cli/{index-30ejh1tx.js → index-43khae15.js} +3 -3
  24. package/dist/cli/{index-x5g7et24.js → index-4h2ea8h5.js} +2 -2
  25. package/dist/cli/{index-5mkc2f9z.js → index-4sckv7y6.js} +1 -1
  26. package/dist/cli/{index-w51xz4dr.js → index-5yzr9fk6.js} +25 -25
  27. package/dist/cli/{index-q1jaeynn.js → index-80jkseqw.js} +2 -2
  28. package/dist/cli/{index-wvrj16f0.js → index-8fwhhayc.js} +4 -0
  29. package/dist/cli/{index-54dgk0bv.js → index-ct9e0y0q.js} +803 -450
  30. package/dist/cli/{index-afgh75zg.js → index-f6y341yk.js} +14 -11
  31. package/dist/cli/{index-db1fh1fv.js → index-g40r5d08.js} +1 -1
  32. package/dist/cli/{index-8f256d7t.js → index-g6va6n3t.js} +1 -1
  33. package/dist/cli/{index-9fxs0rm1.js → index-ga4ta3cr.js} +1 -1
  34. package/dist/cli/{index-t6wfwdm1.js → index-h7q1bvzm.js} +3 -3
  35. package/dist/cli/{index-h389ed8y.js → index-mr4whary.js} +3 -3
  36. package/dist/cli/{index-g55nzpwn.js → index-n6fa2hhk.js} +1 -1
  37. package/dist/cli/{index-vn263hqt.js → index-pa6t33pt.js} +17 -10
  38. package/dist/cli/{index-h91bv3hy.js → index-qe3v54nb.js} +6 -1
  39. package/dist/cli/{index-hpp2r0sd.js → index-qzqx2qky.js} +3 -3
  40. package/dist/cli/{index-fhmw7evd.js → index-rdwfqhp7.js} +2 -2
  41. package/dist/cli/{index-1rga1vvb.js → index-wh8949ef.js} +1 -1
  42. package/dist/cli/{index-r9fjzr3k.js → index-xbe1wtme.js} +1 -1
  43. package/dist/cli/index.js +22 -22
  44. package/dist/cli/{knowledge-escalator-4gbz527n.js → knowledge-escalator-0q1p6br7.js} +8 -8
  45. package/dist/cli/{knowledge-events-b6x28fgc.js → knowledge-events-9518gzsp.js} +6 -6
  46. package/dist/cli/{knowledge-store-h3cjx4dg.js → knowledge-store-k5rab79h.js} +6 -6
  47. package/dist/cli/{knowledge-validator-q6jw2p0t.js → knowledge-validator-csay9wqj.js} +7 -7
  48. package/dist/cli/{pending-delegations-t047f4a7.js → pending-delegations-ddbkbgxy.js} +4 -4
  49. package/dist/cli/{pr-subscriptions-p8g2rzxd.js → pr-subscriptions-vwv7zm2p.js} +5 -5
  50. package/dist/cli/{schema-qb313fyy.js → schema-e5kd993s.js} +1 -1
  51. package/dist/cli/{scope-persistence-5ccgtebg.js → scope-persistence-fm0gzhnk.js} +2 -2
  52. package/dist/cli/{skill-generator-nnwn4sq0.js → skill-generator-z01sjppf.js} +9 -9
  53. package/dist/cli/{telemetry-jm7t8031.js → telemetry-jny76r83.js} +1 -1
  54. package/dist/commands/registry.d.ts +7 -0
  55. package/dist/config/constants.d.ts +1 -1
  56. package/dist/hooks/curator.d.ts +33 -9
  57. package/dist/hooks/hive-promoter.d.ts +7 -0
  58. package/dist/hooks/knowledge-curator.d.ts +13 -0
  59. package/dist/hooks/messages-transform.d.ts +22 -1
  60. package/dist/hooks/spawn-helper.d.ts +10 -0
  61. package/dist/index.js +208 -206
  62. package/dist/sandbox/capability-probe.d.ts +14 -0
  63. package/dist/sandbox/macos/sandbox-exec-executor.d.ts +5 -0
  64. package/dist/tools/tool-metadata.d.ts +1 -1
  65. package/dist/utils/path-security.d.ts +28 -0
  66. package/package.json +2 -1
  67. package/dist/cli/curator-llm-factory-dwvk7rh0.js +0 -41
  68. package/dist/cli/guardrail-explain-2k271yh4.js +0 -42
  69. package/dist/cli/hive-promoter-0y4pnft4.js +0 -49
@@ -11,10 +11,24 @@
11
11
  */
12
12
  /** Possible sandbox status values. */
13
13
  export type SandboxStatus = 'enabled' | 'disabled' | 'unsupported';
14
+ /**
15
+ * Enforcement strength of an available sandbox mechanism.
16
+ * - `strong`: real kernel-level enforcement (bubblewrap, sandbox-exec, the
17
+ * Windows native runner).
18
+ * - `advisory`: best-effort, non-kernel restriction (the Windows PowerShell
19
+ * environment-scrub fallback). Must NEVER be reported as real containment
20
+ * (issue #1778 H2).
21
+ */
22
+ export type SandboxStrength = 'strong' | 'advisory';
14
23
  /** Result of a sandbox capability probe. */
15
24
  export interface SandboxCapability {
16
25
  /** Whether the sandbox mechanism is available. */
17
26
  status: SandboxStatus;
27
+ /**
28
+ * Enforcement strength when `status === 'enabled'`. Absent for
29
+ * disabled/unsupported results.
30
+ */
31
+ strength?: SandboxStrength;
18
32
  /** Human-readable mechanism name, e.g. "Bubblewrap". */
19
33
  mechanism: string;
20
34
  /** Current process.platform value. */
@@ -23,7 +23,12 @@ declare function probeSandboxExec(): boolean;
23
23
  */
24
24
  export declare const _internals: {
25
25
  probeSandboxExec: typeof probeSandboxExec;
26
+ buildSandboxProfile: typeof buildSandboxProfile;
26
27
  };
28
+ /**
29
+ * Build a sandbox-exec profile string for the given scope paths, temp dir, and optional env overrides.
30
+ */
31
+ declare function buildSandboxProfile(scopePaths: string[], tempDir: string, envOverrides?: Record<string, string | null>): string;
27
32
  /**
28
33
  * macOS sandbox-exec sandbox executor.
29
34
  */
@@ -165,7 +165,7 @@ export declare const TOOL_METADATA: {
165
165
  };
166
166
  extract_code_blocks: {
167
167
  description: string;
168
- agents: ("reviewer" | "test_engineer" | "coder" | "docs" | "designer" | "explorer" | "sme" | "architect" | "docs_design" | "spec_writer")[];
168
+ agents: ("test_engineer" | "coder" | "docs" | "designer" | "docs_design" | "spec_writer")[];
169
169
  };
170
170
  phase_complete: {
171
171
  description: string;
@@ -34,6 +34,32 @@ export declare function validateDirectory(directory: string): void;
34
34
  * @throws Error if the resolved target escapes the root boundary
35
35
  */
36
36
  export declare function validateSymlinkBoundary(targetPath: string, rootPath: string): void;
37
+ /**
38
+ * Verify that a target path canonically resolves inside a root directory.
39
+ * For targets that do not exist yet (e.g. new-file creation), resolves the
40
+ * nearest existing ancestor instead, so a symlinked intermediate directory
41
+ * cannot be used to escape the root. Mirrors the containment used by
42
+ * swarm_apply_patch (the correct template for write tools).
43
+ *
44
+ * @param targetPath - absolute path to validate
45
+ * @param rootPath - absolute root boundary
46
+ * @returns true if the canonical target is within the canonical root
47
+ */
48
+ export declare function isCanonicalPathWithinRoot(targetPath: string, rootPath: string): boolean;
49
+ /**
50
+ * Validate that a caller-supplied path stays within an allowed root directory.
51
+ * Rejects empty paths, absolute paths (POSIX + Windows drive), traversal,
52
+ * control characters, lexical escape, and symlink/junction escape.
53
+ * Returns a human-readable reason string on rejection, or null when valid.
54
+ *
55
+ * This is the shared containment primitive for write-capable tools whose
56
+ * target path is derived from untrusted input (e.g. extract_code_blocks'
57
+ * output_dir and `# filename:` comments).
58
+ *
59
+ * @param filePath - the caller-supplied path (relative to root, or absolute-rejected)
60
+ * @param root - the absolute root boundary (workspace directory)
61
+ */
62
+ export declare function validateTargetWithinRoot(filePath: string, root: string): string | null;
37
63
  /**
38
64
  * DI seam for testability. Contains all test-mocked exports.
39
65
  * Internal calls should use _internals.fn() instead of fn() directly.
@@ -43,4 +69,6 @@ export declare const _internals: {
43
69
  containsControlChars: typeof containsControlChars;
44
70
  validateDirectory: typeof validateDirectory;
45
71
  validateSymlinkBoundary: typeof validateSymlinkBoundary;
72
+ isCanonicalPathWithinRoot: typeof isCanonicalPathWithinRoot;
73
+ validateTargetWithinRoot: typeof validateTargetWithinRoot;
46
74
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-swarm",
3
- "version": "7.113.2",
3
+ "version": "7.113.4",
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",
@@ -40,6 +40,7 @@
40
40
  "files": [
41
41
  "dist",
42
42
  "dist/lang/grammars",
43
+ "binaries",
43
44
  ".opencode/skills/brainstorm",
44
45
  ".opencode/skills/specify",
45
46
  ".opencode/skills/clarify-spec",
@@ -1,41 +0,0 @@
1
- // @bun
2
- import {
3
- createCuratorLLMDelegate
4
- } from "./index-54dgk0bv.js";
5
- import"./index-8f256d7t.js";
6
- import"./index-c8s9a3zh.js";
7
- import"./index-0gf6de8b.js";
8
- import"./index-1ey3dxq7.js";
9
- import"./index-afgh75zg.js";
10
- import"./index-scww5b77.js";
11
- import"./index-9fxs0rm1.js";
12
- import"./index-q1jaeynn.js";
13
- import"./index-h389ed8y.js";
14
- import"./index-30ejh1tx.js";
15
- import"./index-t6wfwdm1.js";
16
- import"./index-hpp2r0sd.js";
17
- import"./index-32bx4kch.js";
18
- import"./index-bfwt3abw.js";
19
- import"./index-db1fh1fv.js";
20
- import"./index-jt58s751.js";
21
- import"./index-wvrj16f0.js";
22
- import"./index-q1exe2b3.js";
23
- import"./index-g55nzpwn.js";
24
- import"./index-fhmw7evd.js";
25
- import"./index-1rga1vvb.js";
26
- import"./index-jtqkh8jf.js";
27
- import"./index-5e4e2hvv.js";
28
- import"./index-p0arc26j.js";
29
- import"./index-zgwm4ryv.js";
30
- import"./index-dqh3zhhc.js";
31
- import"./index-x5g7et24.js";
32
- import"./index-0dab9w37.js";
33
- import"./index-293f68mj.js";
34
- import"./index-5mkc2f9z.js";
35
- import"./index-vn263hqt.js";
36
- import"./index-vvk2g744.js";
37
- import"./index-h91bv3hy.js";
38
- import"./index-a76rekgs.js";
39
- export {
40
- createCuratorLLMDelegate
41
- };
@@ -1,42 +0,0 @@
1
- // @bun
2
- import {
3
- handleGuardrailExplain
4
- } from "./index-n7rd2rkj.js";
5
- import"./index-54dgk0bv.js";
6
- import"./index-8f256d7t.js";
7
- import"./index-c8s9a3zh.js";
8
- import"./index-0gf6de8b.js";
9
- import"./index-1ey3dxq7.js";
10
- import"./index-afgh75zg.js";
11
- import"./index-scww5b77.js";
12
- import"./index-9fxs0rm1.js";
13
- import"./index-q1jaeynn.js";
14
- import"./index-h389ed8y.js";
15
- import"./index-30ejh1tx.js";
16
- import"./index-t6wfwdm1.js";
17
- import"./index-hpp2r0sd.js";
18
- import"./index-32bx4kch.js";
19
- import"./index-bfwt3abw.js";
20
- import"./index-db1fh1fv.js";
21
- import"./index-jt58s751.js";
22
- import"./index-wvrj16f0.js";
23
- import"./index-q1exe2b3.js";
24
- import"./index-g55nzpwn.js";
25
- import"./index-fhmw7evd.js";
26
- import"./index-1rga1vvb.js";
27
- import"./index-jtqkh8jf.js";
28
- import"./index-5e4e2hvv.js";
29
- import"./index-p0arc26j.js";
30
- import"./index-zgwm4ryv.js";
31
- import"./index-dqh3zhhc.js";
32
- import"./index-x5g7et24.js";
33
- import"./index-0dab9w37.js";
34
- import"./index-293f68mj.js";
35
- import"./index-5mkc2f9z.js";
36
- import"./index-vn263hqt.js";
37
- import"./index-vvk2g744.js";
38
- import"./index-h91bv3hy.js";
39
- import"./index-a76rekgs.js";
40
- export {
41
- handleGuardrailExplain
42
- };
@@ -1,49 +0,0 @@
1
- // @bun
2
- import {
3
- checkHivePromotions,
4
- createHivePromoterHook,
5
- isHiveEligible,
6
- promoteFromSwarm,
7
- promoteToHive
8
- } from "./index-54dgk0bv.js";
9
- import"./index-8f256d7t.js";
10
- import"./index-c8s9a3zh.js";
11
- import"./index-0gf6de8b.js";
12
- import"./index-1ey3dxq7.js";
13
- import"./index-afgh75zg.js";
14
- import"./index-scww5b77.js";
15
- import"./index-9fxs0rm1.js";
16
- import"./index-q1jaeynn.js";
17
- import"./index-h389ed8y.js";
18
- import"./index-30ejh1tx.js";
19
- import"./index-t6wfwdm1.js";
20
- import"./index-hpp2r0sd.js";
21
- import"./index-32bx4kch.js";
22
- import"./index-bfwt3abw.js";
23
- import"./index-db1fh1fv.js";
24
- import"./index-jt58s751.js";
25
- import"./index-wvrj16f0.js";
26
- import"./index-q1exe2b3.js";
27
- import"./index-g55nzpwn.js";
28
- import"./index-fhmw7evd.js";
29
- import"./index-1rga1vvb.js";
30
- import"./index-jtqkh8jf.js";
31
- import"./index-5e4e2hvv.js";
32
- import"./index-p0arc26j.js";
33
- import"./index-zgwm4ryv.js";
34
- import"./index-dqh3zhhc.js";
35
- import"./index-x5g7et24.js";
36
- import"./index-0dab9w37.js";
37
- import"./index-293f68mj.js";
38
- import"./index-5mkc2f9z.js";
39
- import"./index-vn263hqt.js";
40
- import"./index-vvk2g744.js";
41
- import"./index-h91bv3hy.js";
42
- import"./index-a76rekgs.js";
43
- export {
44
- promoteToHive,
45
- promoteFromSwarm,
46
- isHiveEligible,
47
- createHivePromoterHook,
48
- checkHivePromotions
49
- };