Add checked workspace-interface query roots

Implement scoped interface extents across QX, generated bindings, SDK,
Orch, Camino and browser queries. Preserve native projection, aggregation,
pagination and watch invalidation without synthetic persisted objects.
Validate exact query grants and scope freshness on execution and replay.
Add local PostgreSQL, transport, browser and code-generation coverage.

C1 implementation slice only: full-text indexes and Studio search adoption
(C2/C3) remain tracked in the implementation handoff. No publication or deployment.
This commit is contained in:
Timothy J. Aveni
2026-09-19 10:18:47 -07:00
parent e69fe1b29e
commit 6a17cd1ae0
27 changed files with 455 additions and 62 deletions
+9 -2
View File
@@ -19,10 +19,17 @@ export type QxQuerySnapshot<T> = {
} & ({ status: "ready"; data: T } | { status: "partial"; data: QxQueryPartial<T> });
declare const queryTypes: unique symbol;
/** Generated shape evidence, not permission to run a query. */
export interface QxQueryDescriptor<Variables, Result, Root extends string = string> {
export interface QxQueryDescriptor<
Variables,
Result,
Root extends { kind: "object" | "workspace-interface"; interface: string } = {
kind: "object" | "workspace-interface";
interface: string;
},
> {
readonly id: string;
readonly definitionDigest: string;
readonly rootInterfaceRevisionId: Root;
readonly root: Root;
readonly variables: QxValueType;
readonly output: QxValueType;
readonly watch: boolean;