Implement query execution, scoped RPC enrichment, live collections, and scaffold integration

This commit is contained in:
Timothy J. Aveni
2026-09-17 14:34:16 -07:00
parent 7e69e675ba
commit c1330ae8e3
29 changed files with 2217 additions and 77 deletions
+308
View File
@@ -224,12 +224,320 @@ export type PersistencePlan = Message<"camino.PersistencePlan"> & {
* @generated from field: repeated camino.EdgeAttachment edges = 6;
*/
edges: EdgeAttachment[];
/**
* @generated from field: repeated camino.InstalledQuery queries = 7;
*/
queries: InstalledQuery[];
};
/**
* Describes the message camino.PersistencePlan.
* Use `create(PersistencePlanSchema)` to create a new message.
*/
export declare const PersistencePlanSchema: GenMessage<PersistencePlan>;
/**
* Immutable checked query IR. Installed only with the checked persistence plan;
* query callers select its ID, never send or modify these definitions.
*
* @generated from message camino.QueryArgument
*/
export type QueryArgument = Message<"camino.QueryArgument"> & {
/**
* @generated from oneof camino.QueryArgument.value
*/
value: {
/**
* @generated from field: string variable = 1;
*/
value: string;
case: "variable";
} | {
/**
* @generated from field: string literal_json = 2;
*/
value: string;
case: "literalJson";
} | {
/**
* @generated from field: camino.QueryArgumentList list = 3;
*/
value: QueryArgumentList;
case: "list";
} | {
/**
* @generated from field: camino.QueryArgumentObject object = 4;
*/
value: QueryArgumentObject;
case: "object";
} | {
case: undefined;
value?: undefined;
};
};
/**
* Describes the message camino.QueryArgument.
* Use `create(QueryArgumentSchema)` to create a new message.
*/
export declare const QueryArgumentSchema: GenMessage<QueryArgument>;
/**
* @generated from message camino.QueryArgumentList
*/
export type QueryArgumentList = Message<"camino.QueryArgumentList"> & {
/**
* @generated from field: repeated camino.QueryArgument values = 1;
*/
values: QueryArgument[];
};
/**
* Describes the message camino.QueryArgumentList.
* Use `create(QueryArgumentListSchema)` to create a new message.
*/
export declare const QueryArgumentListSchema: GenMessage<QueryArgumentList>;
/**
* @generated from message camino.QueryArgumentObject
*/
export type QueryArgumentObject = Message<"camino.QueryArgumentObject"> & {
/**
* @generated from field: map<string, camino.QueryArgument> fields = 1;
*/
fields: {
[key: string]: QueryArgument;
};
};
/**
* Describes the message camino.QueryArgumentObject.
* Use `create(QueryArgumentObjectSchema)` to create a new message.
*/
export declare const QueryArgumentObjectSchema: GenMessage<QueryArgumentObject>;
/**
* @generated from message camino.QueryCondition
*/
export type QueryCondition = Message<"camino.QueryCondition"> & {
/**
* @generated from field: bool include = 1;
*/
include: boolean;
/**
* @generated from field: camino.QueryArgument value = 2;
*/
value?: QueryArgument | undefined;
};
/**
* Describes the message camino.QueryCondition.
* Use `create(QueryConditionSchema)` to create a new message.
*/
export declare const QueryConditionSchema: GenMessage<QueryCondition>;
/**
* @generated from message camino.QuerySelection
*/
export type QuerySelection = Message<"camino.QuerySelection"> & {
/**
* @generated from field: string name = 1;
*/
name: string;
/**
* @generated from field: string key = 2;
*/
key: string;
/**
* @generated from field: string interface_revision_id = 3;
*/
interfaceRevisionId: string;
/**
* @generated from field: string member_id = 4;
*/
memberId: string;
/**
* @generated from field: string target_interface_revision_id = 5;
*/
targetInterfaceRevisionId: string;
/**
* @generated from field: repeated camino.QueryCondition conditions = 6;
*/
conditions: QueryCondition[];
/**
* @generated from field: map<string, camino.QueryArgument> arguments = 7;
*/
arguments: {
[key: string]: QueryArgument;
};
/**
* @generated from field: repeated camino.QuerySelection selection = 8;
*/
selection: QuerySelection[];
};
/**
* Describes the message camino.QuerySelection.
* Use `create(QuerySelectionSchema)` to create a new message.
*/
export declare const QuerySelectionSchema: GenMessage<QuerySelection>;
/**
* @generated from message camino.QueryReadBinding
*/
export type QueryReadBinding = Message<"camino.QueryReadBinding"> & {
/**
* @generated from field: string atom_id = 1;
*/
atomId: string;
/**
* @generated from field: string interface_revision_id = 2;
*/
interfaceRevisionId: string;
/**
* @generated from field: string member_id = 3;
*/
memberId: string;
/**
* @generated from field: string getter_operation_id = 4;
*/
getterOperationId: string;
/**
* @generated from field: string slot_id = 5;
*/
slotId: string;
/**
* @generated from field: string edge_type_id = 6;
*/
edgeTypeId: string;
/**
* @generated from field: string projection_id = 7;
*/
projectionId: string;
/**
* @generated from field: bool rpc = 8;
*/
rpc: boolean;
/**
* @generated from field: string watch_start_operation_id = 9;
*/
watchStartOperationId: string;
/**
* @generated from field: string watch_stop_operation_id = 10;
*/
watchStopOperationId: string;
/**
* @generated from field: string field_name = 11;
*/
fieldName: string;
/**
* @generated from field: string value_type_json = 12;
*/
valueTypeJson: string;
/**
* @generated from field: camino.Cardinality cardinality = 13;
*/
cardinality: Cardinality;
/**
* @generated from field: string key_type = 14;
*/
keyType: string;
};
/**
* Describes the message camino.QueryReadBinding.
* Use `create(QueryReadBindingSchema)` to create a new message.
*/
export declare const QueryReadBindingSchema: GenMessage<QueryReadBinding>;
/**
* @generated from message camino.QueryBudgets
*/
export type QueryBudgets = Message<"camino.QueryBudgets"> & {
/**
* @generated from field: uint32 rows = 1;
*/
rows: number;
/**
* @generated from field: uint32 depth = 2;
*/
depth: number;
/**
* @generated from field: uint32 result_bytes = 3;
*/
resultBytes: number;
/**
* @generated from field: uint32 candidates = 4;
*/
candidates: number;
/**
* @generated from field: uint32 rpc_calls = 5;
*/
rpcCalls: number;
/**
* @generated from field: uint32 concurrency = 6;
*/
concurrency: number;
/**
* @generated from field: uint32 deadline_ms = 7;
*/
deadlineMs: number;
};
/**
* Describes the message camino.QueryBudgets.
* Use `create(QueryBudgetsSchema)` to create a new message.
*/
export declare const QueryBudgetsSchema: GenMessage<QueryBudgets>;
/**
* @generated from message camino.InstalledQuery
*/
export type InstalledQuery = Message<"camino.InstalledQuery"> & {
/**
* @generated from field: string id = 1;
*/
id: string;
/**
* @generated from field: string definition_digest = 2;
*/
definitionDigest: string;
/**
* @generated from field: string binding_digest = 3;
*/
bindingDigest: string;
/**
* @generated from field: string root_interface_revision_id = 4;
*/
rootInterfaceRevisionId: string;
/**
* @generated from field: repeated camino.QuerySelection selection = 5;
*/
selection: QuerySelection[];
/**
* @generated from field: repeated camino.QueryReadBinding bindings = 6;
*/
bindings: QueryReadBinding[];
/**
* @generated from field: camino.QueryBudgets budgets = 7;
*/
budgets?: QueryBudgets | undefined;
/**
* @generated from field: string variables_type_json = 8;
*/
variablesTypeJson: string;
/**
* @generated from field: string output_type_json = 9;
*/
outputTypeJson: string;
/**
* @generated from field: map<string, camino.QueryArgument> variable_defaults = 10;
*/
variableDefaults: {
[key: string]: QueryArgument;
};
/**
* @generated from field: bool watch = 11;
*/
watch: boolean;
/**
* @generated from field: uint32 polling_interval_ms = 12;
*/
pollingIntervalMs: number;
/**
* @generated from field: bool rpc_predicate_or_order = 13;
*/
rpcPredicateOrOrder: boolean;
};
/**
* Describes the message camino.InstalledQuery.
* Use `create(InstalledQuerySchema)` to create a new message.
*/
export declare const InstalledQuerySchema: GenMessage<InstalledQuery>;
/**
* @generated from enum camino.Cardinality
*/