Support checked keyed relationships across portable operations and queries

This commit is contained in:
Timothy J. Aveni
2026-09-25 12:02:05 -07:00
parent e0e8563224
commit 1bc3c69de3
23 changed files with 1203 additions and 949 deletions
+9
View File
@@ -3,6 +3,7 @@ import { readFile } from "node:fs/promises";
import { compileCapabilityResourceSource, compileCapabilitySource } from "../src/capability-language/parser.js";
import { compileExecutionPlan } from "../src/execution-world/plan.js";
import type { InterfaceRevision } from "../src/capability-model/types.js";
import { compileQuery } from "../src/query/compile.js";
export async function presentationMountPlan() {
const read = (name: string) => readFile(`test/fixtures/presentation-mount/${name}.qx`, "utf8");
const source = { repository: "https://example.test/presentation-mount.git", commit: "a".repeat(40) };
@@ -31,5 +32,13 @@ export async function presentationMountPlan() {
packages: new Map([["PresentationRuntime", pkg.resource.revision]]),
});
assert.ok(result.ok, JSON.stringify(result.diagnostics));
const runtime = result.workspace.packageImports[0]!;
runtime.checkedQueries = await Promise.all(
runtime.queries!.map((query) =>
compileQuery(query, result.workspace.interfaceImports, (path) =>
readFile(`test/fixtures/presentation-mount/${path}`, "utf8"),
),
),
);
return compileExecutionPlan(result.workspace);
}