RpcOp
RpcOp =
"create"|"update"|"delete"|"batch"|"transaction"|"flush"|"reconcile"|"retryFailed"|"recoverSending"|"discardConflict"|"discardQuarantined"|"desync"|"discardEphemeral"|"appendEvent"|"flushEvents"|"outboxStatus"|"ensureSynced"|"readMutationDetails"|"diagnostics"|"rawQuery"|"rawExec"|"rawTransaction"|"guardedQuery"|"bootReport"|"liveQueryDiagnostics"|"exportStore"|"exportDiagnostics"|"exportData"
Defined in: packages/client/src/worker/protocol.ts:294
The RPC ops the attach facade proxies to the worker’s booted client — the write API (mirrors
client.mutate/flush), mutation-state reads, and the raw inspection surface (the one-shot rawQuery/
rawExec, plus the atomic rawTransaction).
Most dispatches are pure structured clone. The exception is a raw statement’s COPY body (ADR-0061): the
tab lists each blob’s ArrayBuffer on the dispatch’s transfer list, so the bytes cross ZERO-COPY and
the tab’s buffers are detached. No wire type changes for it — a Uint8Array survives structured clone
as a Uint8Array over the transferred buffer, so the worker reads RawStatement.blob unchanged.