Add bounded public member inspection through shared query scopes

This commit is contained in:
Timothy J. Aveni
2026-09-22 18:11:54 -07:00
parent bcc915d597
commit c5e79ae3c9
5 changed files with 282 additions and 52 deletions
+20 -10
View File
@@ -1,3 +1,4 @@
import { compileInspectionTemplates } from "./inspection.js";
import { compileKernelProgram } from "./kernel.js";
import { hexDigest, type ExecutionPlan } from "./plan.js";
import { clientContractCatalog, type ExecutionInstallation } from "./installation.js";
@@ -66,17 +67,26 @@ export function publicDefinitionSnapshot(plan: ExecutionPlan, installation: Exec
(binding) => binding.atom === c.atomId && binding.interface === c.interfaceRevisionId,
),
})),
queries: workspace.packageImports.flatMap((pkg) =>
(pkg.checkedQueries ?? []).map((query) => ({
id: JSON.stringify([pkg.revisionId, query.declaration.id]),
name: query.declaration.displayName,
package: pkg.revisionId,
descriptor: publicQueryContract(pkg, query.declaration.id),
fragment: query.declaration.fragment,
limits: query.declaration.budgets,
watch: query.declaration.watch,
queries: [
...compileInspectionTemplates(plan).contracts.map((descriptor) => ({
id: JSON.stringify([descriptor.package, descriptor.query]),
name: "Public inspection",
package: descriptor.package,
descriptor,
system: true,
})),
),
...workspace.packageImports.flatMap((pkg) =>
(pkg.checkedQueries ?? []).map((query) => ({
id: JSON.stringify([pkg.revisionId, query.declaration.id]),
name: query.declaration.displayName,
package: pkg.revisionId,
descriptor: publicQueryContract(pkg, query.declaration.id),
fragment: query.declaration.fragment,
limits: query.declaration.budgets,
watch: query.declaration.watch,
})),
),
],
presentations: catalog.components.map((component) => ({
id: JSON.stringify([component.packageRevision, component.id]),
component,