opencode-swarm 7.56.1 → 7.56.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.
@@ -2,9 +2,17 @@
2
2
  export declare function isSafeCachePath(p: string): boolean;
3
3
  /**
4
4
  * Safety guard for lock file deletion. Lock files have different basenames
5
- * than cache directories so they need a separate check. Mirrors
6
- * isSafeCachePath()'s defense-in-depth: minimum segment depth, recognized
7
- * basename, and parent directory must be 'opencode'.
5
+ * and directory structure than cache directories, requiring separate validation
6
+ * logic. While both functions share defense-in-depth principles, they are kept
7
+ * separate rather than extracted to a parameterized helper because the
8
+ * validation rules differ significantly:
9
+ * - Cache paths verify: parent ∈ {packages, node_modules}, grandparent === 'opencode'
10
+ * - Lock file paths verify: parent === 'opencode', grandparent !== 'opencode'
11
+ * This separation maintains clarity and avoids over-parameterization.
12
+ *
13
+ * This function mirrors isSafeCachePath()'s defense-in-depth: minimum segment
14
+ * depth, recognized basename, parent directory must be 'opencode', and
15
+ * grandparent structure validation to prevent misconfigured nested paths.
8
16
  */
9
17
  export declare function isSafeLockFilePath(p: string): boolean;
10
18
  /**
package/dist/cli/index.js CHANGED
@@ -52,7 +52,7 @@ var package_default;
52
52
  var init_package = __esm(() => {
53
53
  package_default = {
54
54
  name: "opencode-swarm",
55
- version: "7.56.1",
55
+ version: "7.56.2",
56
56
  description: "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
57
57
  main: "dist/index.js",
58
58
  types: "dist/index.d.ts",
@@ -39569,7 +39569,7 @@ async function handleCloseCommand(directory, args, options = {}) {
39569
39569
  swarmPlanFilesRemoved++;
39570
39570
  } catch (err) {
39571
39571
  if (err?.code !== "ENOENT") {
39572
- warnings.push(`Failed to remove ${path19.basename(candidate)}: ${err instanceof Error ? err.message : String(err)}`);
39572
+ warnings.push(`Failed to remove ${candidate}: ${err instanceof Error ? err.message : String(err)}`);
39573
39573
  }
39574
39574
  }
39575
39575
  }
@@ -59529,6 +59529,10 @@ function isSafeLockFilePath(p) {
59529
59529
  if (parent !== "opencode") {
59530
59530
  return false;
59531
59531
  }
59532
+ const grandparent = path55.basename(path55.dirname(path55.dirname(resolved)));
59533
+ if (grandparent === "opencode") {
59534
+ return false;
59535
+ }
59532
59536
  return true;
59533
59537
  }
59534
59538
  function ensureDir(dir) {
package/dist/index.js CHANGED
@@ -69,7 +69,7 @@ var package_default;
69
69
  var init_package = __esm(() => {
70
70
  package_default = {
71
71
  name: "opencode-swarm",
72
- version: "7.56.1",
72
+ version: "7.56.2",
73
73
  description: "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
74
74
  main: "dist/index.js",
75
75
  types: "dist/index.d.ts",
@@ -61950,7 +61950,7 @@ async function handleCloseCommand(directory, args2, options = {}) {
61950
61950
  swarmPlanFilesRemoved++;
61951
61951
  } catch (err2) {
61952
61952
  if (err2?.code !== "ENOENT") {
61953
- warnings.push(`Failed to remove ${path32.basename(candidate)}: ${err2 instanceof Error ? err2.message : String(err2)}`);
61953
+ warnings.push(`Failed to remove ${candidate}: ${err2 instanceof Error ? err2.message : String(err2)}`);
61954
61954
  }
61955
61955
  }
61956
61956
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-swarm",
3
- "version": "7.56.1",
3
+ "version": "7.56.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",