chore(vendor): import pi 1.3.0

Imported as a linear vendor commit so forge rebases do not replay the upstream root tree.

git-subtree-dir: third_party/pi

git-subtree-split: 71023aec1546d6d677a65669c5665c0927ce0dd0
This commit is contained in:
2026-10-15 17:58:48 -04:00
parent 719370c8f7
commit 6081e3e325
1743 changed files with 205460 additions and 131705 deletions

View File

@@ -25,7 +25,8 @@ function runSyncVersions(root) {
});
}
test("synchronizes private dependencies without touching registry aliases, generated manifests, or published lockstep", async () => {
// #10865: caret ranges allowed older agents to install incompatible newer workspace dependencies.
test("pins published and private dependencies without touching registry aliases, generated manifests, or published lockstep", async () => {
const root = await mkdtemp(join(tmpdir(), "pi-sync-versions-"));
try {
await writeManifest(root, "packages/ai", {
@@ -35,6 +36,15 @@ test("synchronizes private dependencies without touching registry aliases, gener
await writeManifest(root, "packages/coding-agent", {
name: "@earendil-works/pi-coding-agent",
version: "2.0.0",
dependencies: {
"@earendil-works/pi-ai": "^2.0.0",
},
devDependencies: {
"@earendil-works/pi-ai": "~1.0.0",
},
optionalDependencies: {
"@earendil-works/pi-ai": "1.0.0",
},
});
await writeManifest(root, "packages/evals", {
name: "@earendil-works/pi-evals",
@@ -57,12 +67,20 @@ test("synchronizes private dependencies without touching registry aliases, gener
const result = runSyncVersions(root);
assert.equal(result.status, 0, result.stderr);
const agentManifest = await readManifest(root, "packages/coding-agent");
for (const section of ["dependencies", "devDependencies", "optionalDependencies"]) {
assert.equal(agentManifest[section]["@earendil-works/pi-ai"], "2.0.0");
}
const evalsManifest = await readManifest(root, "packages/evals");
assert.equal(evalsManifest.dependencies["@earendil-works/pi-coding-agent"], "^2.0.0");
assert.equal(evalsManifest.dependencies["@earendil-works/pi-coding-agent"], "2.0.0");
assert.equal(evalsManifest.dependencies["@mariozechner/pi-ai"], "npm:@earendil-works/pi-ai@1.0.0");
const generatedManifest = await readManifest(root, "packages/coding-agent/install-lock");
assert.equal(generatedManifest.dependencies["@earendil-works/pi-coding-agent"], "^1.0.0");
const alreadySynced = runSyncVersions(root);
assert.equal(alreadySynced.status, 0, alreadySynced.stderr);
assert.match(alreadySynced.stdout, /All inter-package dependencies are already in sync/);
await writeManifest(root, "packages/ai", {
name: "@earendil-works/pi-ai",
version: "3.0.0",