Implement checked workspace integration contracts (WI-01)

This commit is contained in:
Timothy J. Aveni
2026-09-21 11:53:38 -07:00
parent 3c0378358f
commit 884b12f759
22 changed files with 4349 additions and 3089 deletions
+28
View File
@@ -288,7 +288,25 @@ export interface PackageConstructorExport extends PackageExportBase {
export type PackageExport = PackageOperationExport | PackageFunctionExport | PackageConstructorExport;
/** A window presentation entry, never a graph operation or service export. */
export interface PackageComponent {
id: string;
displayName: string;
subject: InterfaceRevisionId;
runtime: "react";
}
export interface WorkspacePresentation {
id: string;
displayName: string;
subject: InterfaceRevisionId;
packageRevisionId: PackageRevisionId;
componentId: string;
}
export interface PackageRevision {
controllers?: PackageController[];
components?: PackageComponent[];
queries?: import("../query/types.js").QueryDeclaration[];
checkedQueries?: import("../query/types.js").CheckedQuery[];
queryTemplates?: import("../query/types.js").QueryTemplate[];
@@ -304,6 +322,15 @@ export interface PackageRevision {
semanticMajor?: number;
}
/** Checked adapter registration. Implementations remain ordinary object capabilities. */
export interface PackageController {
id: string;
subject: InterfaceRevisionId;
snapshot: OperationId;
remote: OperationId;
input: "unit" | "value";
}
export type DependencyBinding =
| { kind: "reflection"; selectors: string[]; via?: never }
| {
@@ -415,6 +442,7 @@ export interface AtomConstructorBinding {
}
export interface WorkspaceRevision {
presentations?: WorkspacePresentation[];
linkedQueries?: import("../query/link.js").LinkedQuery[];
id: WorkspaceRevisionId;
workspaceId: WorkspaceId;