pi-squad 0.19.0 → 0.19.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.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.19.1] - 2026-07-18
11
+
12
+ ### Fixed
13
+
14
+ - `squad-plan` validator now works from an installed package: Node refuses TypeScript type stripping under `node_modules`, so `validate-spec.mjs` stages the real validator sources in a temp directory before importing them. Validation output is byte-identical.
15
+
10
16
  ## [0.19.0] - 2026-07-18
11
17
 
12
18
  ### Added
@@ -78,7 +84,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
78
84
 
79
85
  - Kept failed-review rework in the original squad, preserving task ownership and durable session continuity.
80
86
 
81
- [Unreleased]: https://github.com/picassio/pi-squad/compare/v0.19.0...HEAD
87
+ [Unreleased]: https://github.com/picassio/pi-squad/compare/v0.19.1...HEAD
88
+ [0.19.1]: https://github.com/picassio/pi-squad/compare/v0.19.0...v0.19.1
82
89
  [0.19.0]: https://github.com/picassio/pi-squad/compare/v0.18.0...v0.19.0
83
90
  [0.18.0]: https://github.com/picassio/pi-squad/compare/v0.17.2...v0.18.0
84
91
  [0.17.2]: https://github.com/picassio/pi-squad/compare/v0.17.1...v0.17.2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-squad",
3
- "version": "0.19.0",
3
+ "version": "0.19.1",
4
4
  "description": "Multi-agent collaboration extension for pi — task decomposition, dependency management, parallel execution, TUI panel",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -10,8 +10,10 @@
10
10
  */
11
11
  import { registerHooks } from "node:module";
12
12
  import { createHash } from "node:crypto";
13
- import { readFileSync } from "node:fs";
14
- import { resolve } from "node:path";
13
+ import { copyFileSync, mkdtempSync, readFileSync, rmSync } from "node:fs";
14
+ import { tmpdir } from "node:os";
15
+ import { join, resolve } from "node:path";
16
+ import { fileURLToPath, pathToFileURL } from "node:url";
15
17
 
16
18
  if (!process.features.typescript) {
17
19
  console.error(
@@ -43,7 +45,20 @@ if (!specArg) {
43
45
  }
44
46
  const specPath = resolve(process.cwd(), specArg);
45
47
 
46
- const { prepareSpec } = await import(new URL("../../file-spec.ts", import.meta.url).href);
48
+ // Node refuses type stripping for files under node_modules, which is exactly
49
+ // where an installed pi-squad lives. Import the real validator from a temp
50
+ // copy outside node_modules; its only runtime deps are node builtins.
51
+ const sourceDir = fileURLToPath(new URL("../..", import.meta.url));
52
+ const stageDir = mkdtempSync(join(tmpdir(), "pi-squad-validate-"));
53
+ for (const file of ["file-spec.ts", "types.ts"]) {
54
+ copyFileSync(join(sourceDir, file), join(stageDir, file));
55
+ }
56
+ let prepareSpec;
57
+ try {
58
+ ({ prepareSpec } = await import(pathToFileURL(join(stageDir, "file-spec.ts")).href));
59
+ } finally {
60
+ rmSync(stageDir, { recursive: true, force: true });
61
+ }
47
62
 
48
63
  try {
49
64
  const raw = readFileSync(specPath);