Skip to content

gRPC Contract

The public contract is proto/dokime/v1/*.proto. Its field comments and proto/README.md define individual RPC behavior, resource budgets, permissions and retry semantics. dokime-protocol produces the descriptor and portable archive; CI verifies the generated desktop bridge against that same contract.

Backend identity includes the API package/version and descriptor digest. Capabilities describe the methods available to the authenticated caller. Use typed service requests rather than a JSON command tunnel. The backend owns runtime state and device access; clients own their presentation and local files.

Queries paginate with explicit cursors. A cursor belongs to its documented backend epoch, selection and revision. Restart a query when its cursor expires; do not mix pages from different snapshots. Observation notifications invalidate client queries rather than serving as a complete replacement state dump.

Run requests support durable keyed receipts. Other mutations have their own explicit contracts; a connection failure does not make an arbitrary mutation safe to repeat. Read each request’s retry documentation before implementing recovery.

Content APIs return bytes and metadata. A path on a client machine is not a path on a remote backend, and a selected file string does not upload a file. Current resources and immutable historical checkpoints have distinct ownership and completion semantics.

See connection setup for local and authenticated remote listeners and protocol archive generation. There are no language-specific demo projects to install or maintain.

Plugin installation uses the same native endpoint: cargo dokime install plugin.dokime --endpoint https://backend.example:8765 --token-file backend.token. For a private certificate authority, add --ca-cert authority.pem. Remote endpoints require TLS; credentials are read from files rather than command arguments. The tool streams the verified bundle, compares the returned digest and permission disclosure, and asks for consent before authorizing next-boot activation. Use --yes for explicit automated consent.

Dokime markDokime · Stokker Technologies