@fitchmultz/pi-subagents 0.52.5 → 0.52.7
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 +31 -0
- package/dist/build-info.js +1 -1
- package/docs/development.md +13 -3
- package/package.json +1 -1
- package/scripts/package-smoke.mjs +21 -3
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,37 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## 0.52.7 - 2026-11-01
|
|
6
|
+
|
|
7
|
+
<!-- npm-release:unreleased:start -->
|
|
8
|
+
<!-- npm-release:unreleased:end -->
|
|
9
|
+
|
|
10
|
+
- Use direct Flash for automatic release remediation (#317) ([c40ec40](https://github.com/fitchmultz/pi-subagents/commit/c40ec402782234618194585316431fa339fe9b8e))
|
|
11
|
+
|
|
12
|
+
### What's Changed
|
|
13
|
+
|
|
14
|
+
- Use direct Flash for necessary release remediation by @fitchmultz in https://github.com/fitchmultz/pi-subagents/pull/317
|
|
15
|
+
|
|
16
|
+
**Full Changelog**: https://github.com/fitchmultz/pi-subagents/compare/v0.52.6...v0.52.7
|
|
17
|
+
|
|
18
|
+
## 0.52.6 - 2026-11-01
|
|
19
|
+
|
|
20
|
+
<!-- npm-release:unreleased:start -->
|
|
21
|
+
|
|
22
|
+
- Qualify a retained npm candidate through the native child and package-install smoke on the selected Pi hosts.
|
|
23
|
+
- Reconcile main-branch changes into reviewed patch releases and publish the qualified archive to npm and GitHub.
|
|
24
|
+
|
|
25
|
+
<!-- npm-release:unreleased:end -->
|
|
26
|
+
|
|
27
|
+
- Automate qualified npm releases (#315) ([e769f2d](https://github.com/fitchmultz/pi-subagents/commit/e769f2d62f4b731f56e301160b57929a3a0cec6b))
|
|
28
|
+
|
|
29
|
+
### What's Changed
|
|
30
|
+
|
|
31
|
+
- Qualify retained Subagents candidates on native hosts (1/2) by @fitchmultz in https://github.com/fitchmultz/pi-subagents/pull/314
|
|
32
|
+
- Automate qualified Subagents releases (2/2) by @fitchmultz in https://github.com/fitchmultz/pi-subagents/pull/315
|
|
33
|
+
|
|
34
|
+
**Full Changelog**: https://github.com/fitchmultz/pi-subagents/compare/v0.52.5...v0.52.6
|
|
35
|
+
|
|
5
36
|
## [0.52.5] - 2026-10-31
|
|
6
37
|
|
|
7
38
|
### Fixed
|
package/dist/build-info.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const EXTENSION_BUILD = Object.freeze({"version":"0.52.
|
|
1
|
+
export const EXTENSION_BUILD = Object.freeze({"version":"0.52.7","sha256":"ccb2b2cb4725bfa7f5e813494a2007dc60ed9c04e677502d08df23612cc30af8"});
|
package/docs/development.md
CHANGED
|
@@ -65,15 +65,25 @@ commands. Matching versions do not establish matching runtime behavior.
|
|
|
65
65
|
|
|
66
66
|
Production-only installs must resolve the selected host's SDK and TypeBox, not
|
|
67
67
|
shadow them with this package's development graph. Exercise the packed single
|
|
68
|
-
entry through the real Pi loader and an actual native child session.
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
entry through the real Pi loader and an actual native child session. When release
|
|
69
|
+
CI receives a prepared candidate, it verifies the candidate and selected host
|
|
70
|
+
identities and exercises that same tarball through the native package smoke.
|
|
71
|
+
Native faux providers can test tools, receipts, journals, process lifecycle and
|
|
72
|
+
output without paid model calls; they are not live-model evidence.
|
|
71
73
|
|
|
72
74
|
Real-model acceptance additionally checks that full forked history preserves an
|
|
73
75
|
actual earlier delegation result, and that ordinary main/child sessions discover,
|
|
74
76
|
message, and read last responses across agent directories under the confirmed
|
|
75
77
|
two-level topology. Never publish credentials or private transcripts as evidence.
|
|
76
78
|
|
|
79
|
+
## npm releases
|
|
80
|
+
|
|
81
|
+
Main-branch changes are reconciled into a reviewed patch-version PR. After that PR
|
|
82
|
+
merges, release CI prepares one npm candidate and runs the complete host CI and
|
|
83
|
+
native package smoke against it. The qualification receipt binds the candidate,
|
|
84
|
+
source, host identities and workflow run before the same archive is published to
|
|
85
|
+
npm and attached to the matching GitHub release.
|
|
86
|
+
|
|
77
87
|
## Isolation and safety
|
|
78
88
|
|
|
79
89
|
Every test/smoke broker uses a short, explicit `PI_INTERCOM_RUNTIME_DIR` owned by
|
package/package.json
CHANGED
|
@@ -12,19 +12,21 @@ import {
|
|
|
12
12
|
writeFileSync,
|
|
13
13
|
} from "node:fs";
|
|
14
14
|
import { tmpdir } from "node:os";
|
|
15
|
-
import { dirname, join } from "node:path";
|
|
15
|
+
import { dirname, join, resolve } from "node:path";
|
|
16
16
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
17
17
|
import { hostRoot } from "./compat-host.mjs";
|
|
18
18
|
import { compilerInvocation } from "./typescript.mjs";
|
|
19
19
|
|
|
20
20
|
if (process.argv.includes("--help") || process.argv.includes("-h")) {
|
|
21
21
|
console.log(
|
|
22
|
-
"Usage: node scripts/package-smoke.mjs\n\nPack and install the single-entry package without development dependencies. Verify host SDK/TypeBox identity and execute a real native actor using a credential-free local provider. No publication or paid model calls.\nExit codes: 0 passed; 1 packaging, native execution or cleanup failed.",
|
|
22
|
+
"Usage: node scripts/package-smoke.mjs [tarball]\n\nPack and install the single-entry package without development dependencies, or test an existing tarball unchanged. Verify host SDK/TypeBox identity and execute a real native actor using a credential-free local provider. No publication or paid model calls.\nExit codes: 0 passed; 1 packaging, native execution or cleanup failed.",
|
|
23
23
|
);
|
|
24
24
|
process.exit(0);
|
|
25
25
|
}
|
|
26
|
+
assert.ok(process.argv.length <= 3, "Expected at most one package tarball; use --help");
|
|
26
27
|
|
|
27
28
|
const packageJson = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8"));
|
|
29
|
+
const candidate = process.argv[2] ? resolve(process.argv[2]) : undefined;
|
|
28
30
|
const root = mkdtempSync(join(tmpdir(), "ps-package-"));
|
|
29
31
|
const packDir = join(root, "pack");
|
|
30
32
|
mkdirSync(packDir);
|
|
@@ -202,9 +204,25 @@ try {
|
|
|
202
204
|
verifyManifest(packageJson);
|
|
203
205
|
process.env.PI_PACKAGE_DIR = hostRoot;
|
|
204
206
|
const pack = Object.values(
|
|
205
|
-
JSON.parse(
|
|
207
|
+
JSON.parse(
|
|
208
|
+
run("npm", [
|
|
209
|
+
"pack",
|
|
210
|
+
"--json",
|
|
211
|
+
"--pack-destination",
|
|
212
|
+
packDir,
|
|
213
|
+
...(candidate ? [candidate] : []),
|
|
214
|
+
]),
|
|
215
|
+
),
|
|
206
216
|
)[0];
|
|
207
217
|
assert.ok(pack && Array.isArray(pack.files), "npm pack must report files");
|
|
218
|
+
if (candidate) {
|
|
219
|
+
assert.equal(pack.name, packageJson.name);
|
|
220
|
+
assert.equal(pack.version, packageJson.version, "Candidate version differs from source");
|
|
221
|
+
assert.ok(
|
|
222
|
+
readFileSync(join(packDir, pack.filename)).equals(readFileSync(candidate)),
|
|
223
|
+
"npm changed the candidate tarball",
|
|
224
|
+
);
|
|
225
|
+
}
|
|
208
226
|
const paths = new Set(pack.files.map((file) => file.path));
|
|
209
227
|
for (const path of [
|
|
210
228
|
"package.json",
|