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:
@@ -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"),
|
||||
|
||||
Reference in New Issue
Block a user