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

@@ -69,6 +69,41 @@ describe("extensions discovery", () => {
expect(result.extensions).toHaveLength(1);
});
it("does not infer package ownership from ancestor manifests", async () => {
// Regression for #9863.
const dependencyDir = path.join(tempDir, "node_modules", "@earendil-works", "pi-coding-agent");
fs.mkdirSync(dependencyDir, { recursive: true });
fs.writeFileSync(
path.join(tempDir, "package.json"),
JSON.stringify({
name: "application",
type: "module",
dependencies: { "@earendil-works/pi-coding-agent": "1.0.0" },
}),
);
fs.writeFileSync(
path.join(dependencyDir, "package.json"),
JSON.stringify({ name: "@earendil-works/pi-coding-agent", type: "module", exports: "./index.js" }),
);
fs.writeFileSync(path.join(dependencyDir, "index.js"), "export const physicalDependency = true;");
fs.writeFileSync(
path.join(extensionsDir, "compiled-esm-extension.js"),
`
import { physicalDependency } from "@earendil-works/pi-coding-agent";
export default function(pi) {
if (physicalDependency) pi.registerCommand("physical-dependency", { handler: async () => {} });
}
`,
);
const result = await discoverAndLoadExtensions([], tempDir, tempDir);
expect(result.errors).toEqual([]);
expect(result.extensions).toHaveLength(1);
expect(result.extensions[0].commands.has("physical-dependency")).toBe(true);
expect(result.warnings).toEqual([]);
});
it("keeps the type-only pi-ai OAuth compatibility barrel resolvable", async () => {
fs.writeFileSync(
path.join(extensionsDir, "oauth-import.ts"),