From 9d8bc5e2ab76484716a7a3e5ce9927004db95da0 Mon Sep 17 00:00:00 2001 From: "Timothy J. Aveni" Date: Tue, 6 Oct 2026 16:06:30 -0700 Subject: [PATCH] Scope Camino storage and database authority to each workspace --- test/emit-controllers.ts | 7 +++++++ test/fixtures/controller-device/quixos.react.json | 7 +++++++ 2 files changed, 14 insertions(+) create mode 100644 test/fixtures/controller-device/quixos.react.json diff --git a/test/emit-controllers.ts b/test/emit-controllers.ts index c342f6e..633953f 100644 --- a/test/emit-controllers.ts +++ b/test/emit-controllers.ts @@ -3,6 +3,8 @@ import { readFile, mkdir, writeFile } from "node:fs/promises"; import { compileCapabilityResourceSource, compileCapabilitySource } from "../src/capability-language/index.js"; import { compileQuery } from "../src/query/compile.js"; import { parseControllerCatalog } from "../src/capability-model/controllers.js"; +import { presentationDeclarations, preparationArtifact } from "../src/react-build/declarations.js"; +import { compileQueryComposition } from "../src/query/composition.js"; import { compileExecutionPlan, generateInterfaceClientBindings, @@ -59,6 +61,11 @@ const viewerPackage = viewer.resource.revision; viewerPackage.checkedQueries = await Promise.all( viewerPackage.queries!.map((query) => compileQuery(query, [iface], read)), ); +const preparation = presentationDeclarations(await read("quixos.react.json"), viewerPackage, environment.interfaceClosure); +viewerPackage.buildArtifacts = { [preparationArtifact]: preparation.artifact }; +viewerPackage.queryCompositions = preparation.compositions.map((entry) => + compileQueryComposition(entry, new Map(viewerPackage.checkedQueries!.map((query) => [query.declaration.id, query]))), +); for (const variant of ["controller", "controller-next"]) { const extra = variant.endsWith("next") ? 'atom Dashboard id "dashboard"; import package DeviceViewer; presentation DeviceStatus id "device:status" for Device using DeviceViewer.Status;' diff --git a/test/fixtures/controller-device/quixos.react.json b/test/fixtures/controller-device/quixos.react.json new file mode 100644 index 0000000..a4585d8 --- /dev/null +++ b/test/fixtures/controller-device/quixos.react.json @@ -0,0 +1,7 @@ +{ + "modules": { + "Status": { + "inputs": [{ "name": "view", "query": "View", "root": { "from": "input", "path": ["subject"] }, "arguments": { "record": {} } }] + } + } +}