UNPKG

convex

Version:

Client for the Convex Cloud

174 lines 4.79 kB
import { JSONValue } from "../../values/index.js"; import { Long } from "../long.js"; /** * Shared schema */ export declare function u64ToLong(encoded: EncodedU64): U64; export declare function parseServerMessage(encoded: EncodedServerMessage): ServerMessage; declare type U64 = Long; declare type EncodedU64 = string; /** * Unique nonnegative integer identifying a single query. */ export declare type QueryId = number; export declare type QuerySetVersion = number; export declare type RequestId = number; export declare type IdentityVersion = number; /** * A serialized representation of decisions made during a query's execution. * * A journal is produced when a query function first executes and is re-used * when a query is re-executed. * * Currently this is used to store pagination end cursors to ensure * that pages of paginated queries will always end at the same cursor. This * enables gapless, reactive pagination. * * `null` is used to represent empty journals. * @public */ export declare type QueryJournal = string | null; /** * Client message schema */ declare type Connect = { type: "Connect"; sessionId: string; connectionCount: number; lastCloseReason: string | null; }; export declare type AddQuery = { type: "Add"; queryId: QueryId; udfPath: string; args: JSONValue[]; journal?: QueryJournal; }; export declare type RemoveQuery = { type: "Remove"; queryId: QueryId; }; export declare type QuerySetModification = { type: "ModifyQuerySet"; baseVersion: QuerySetVersion; newVersion: QuerySetVersion; modifications: (AddQuery | RemoveQuery)[]; }; export declare type MutationRequest = { type: "Mutation"; requestId: RequestId; udfPath: string; args: JSONValue[]; }; export declare type ActionRequest = { type: "Action"; requestId: RequestId; udfPath: string; args: JSONValue[]; }; export declare type Authenticate = { type: "Authenticate"; tokenType: "Admin"; value: string; baseVersion: IdentityVersion; } | { type: "Authenticate"; tokenType: "User"; value: string; baseVersion: IdentityVersion; } | { type: "Authenticate"; tokenType: "None"; baseVersion: IdentityVersion; }; export declare type ClientMessage = Connect | Authenticate | QuerySetModification | MutationRequest | ActionRequest; /** * Server message schema */ declare type TS = U64; declare type EncodedTS = EncodedU64; declare type LogLines = string[]; export declare type StateVersion = { querySet: QueryId; ts: TS; identity: IdentityVersion; }; declare type EncodedStateVersion = Omit<StateVersion, "ts"> & { ts: EncodedTS; }; declare type StateModification = { type: "QueryUpdated"; queryId: QueryId; value: JSONValue; logLines: LogLines; journal?: QueryJournal; } | { type: "QueryFailed"; queryId: QueryId; errorMessage: string; logLines: LogLines; journal?: QueryJournal; } | { type: "QueryRemoved"; queryId: QueryId; }; export declare type Transition = { type: "Transition"; startVersion: StateVersion; endVersion: StateVersion; modifications: StateModification[]; }; declare type MutationSuccess = { type: "MutationResponse"; requestId: RequestId; success: true; result: JSONValue; ts: TS; logLines: LogLines; }; declare type MutationFailed = { type: "MutationResponse"; requestId: RequestId; success: false; result: string; logLines: LogLines; }; export declare type MutationResponse = MutationSuccess | MutationFailed; declare type ActionSuccess = { type: "ActionResponse"; requestId: RequestId; success: true; result: JSONValue; logLines: LogLines; }; declare type ActionFailed = { type: "ActionResponse"; requestId: RequestId; success: false; result: string; logLines: LogLines; }; export declare type ActionResponse = ActionSuccess | ActionFailed; export declare type AuthError = { type: "AuthError"; error: string; }; declare type FatalError = { type: "FatalError"; error: string; }; declare type Ping = { type: "Ping"; }; export declare type ServerMessage = Transition | MutationResponse | ActionResponse | FatalError | AuthError | Ping; declare type EncodedTransition = Omit<Transition, "startVersion" | "endVersion"> & { startVersion: EncodedStateVersion; endVersion: EncodedStateVersion; }; declare type EncodedMutationSuccess = Omit<MutationSuccess, "ts"> & { ts: EncodedTS; }; declare type EncodedMutationResponse = MutationFailed | EncodedMutationSuccess; declare type EncodedServerMessage = EncodedTransition | EncodedMutationResponse | ActionResponse | FatalError | AuthError | Ping; export {}; //# sourceMappingURL=protocol.d.ts.map