Scope Camino storage and database authority to each workspace
This commit is contained in:
@@ -3,6 +3,8 @@ import { readFile, mkdir, writeFile } from "node:fs/promises";
|
|||||||
import { compileCapabilityResourceSource, compileCapabilitySource } from "../src/capability-language/index.js";
|
import { compileCapabilityResourceSource, compileCapabilitySource } from "../src/capability-language/index.js";
|
||||||
import { compileQuery } from "../src/query/compile.js";
|
import { compileQuery } from "../src/query/compile.js";
|
||||||
import { parseControllerCatalog } from "../src/capability-model/controllers.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 {
|
import {
|
||||||
compileExecutionPlan,
|
compileExecutionPlan,
|
||||||
generateInterfaceClientBindings,
|
generateInterfaceClientBindings,
|
||||||
@@ -59,6 +61,11 @@ const viewerPackage = viewer.resource.revision;
|
|||||||
viewerPackage.checkedQueries = await Promise.all(
|
viewerPackage.checkedQueries = await Promise.all(
|
||||||
viewerPackage.queries!.map((query) => compileQuery(query, [iface], read)),
|
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"]) {
|
for (const variant of ["controller", "controller-next"]) {
|
||||||
const extra = variant.endsWith("next")
|
const extra = variant.endsWith("next")
|
||||||
? 'atom Dashboard id "dashboard"; import package DeviceViewer; presentation DeviceStatus id "device:status" for Device using DeviceViewer.Status;'
|
? 'atom Dashboard id "dashboard"; import package DeviceViewer; presentation DeviceStatus id "device:status" for Device using DeviceViewer.Status;'
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"modules": {
|
||||||
|
"Status": {
|
||||||
|
"inputs": [{ "name": "view", "query": "View", "root": { "from": "input", "path": ["subject"] }, "arguments": { "record": {} } }]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user