Skip to main content
Use the @bijection/connectors/restate entrypoint to declare Restate services resources.

Availability

This page describes the pinned source package. Published availability is unestablished for this artifact. Source build and package availability.

Resources and modes

Declare a resource in application code, then bind deployment-specific settings and credentials. See typed resources, connections and source inspection.

Service

observed: observed

The following example matches configuration standard.
The function references identify application policy queries. Implement those policies in your application; the references alone grant no authority.

Configuration: standard

Case: restate/service/observed/standard. Connection and resource configuration are declared by this exact case. Credential kind: http. Keep credential material in the private credential inventory.
Native admission analysis is available for this exact declaration. Collection: records
Commands
Recorded checks Hosted qualification: unestablished for this catalog configuration. Installed connections report their own identity, authority and current status.

Provider guidance

restate.resource compiles captured customer Service, Virtual Object and Workflow interfaces into ordinary native HTTP resources. Bijection retains authorization, credentials, external calls and admitted observations. Customer Restate runs all business handlers; bijection restate serve is a stateless bounded adapter. Register restate_contracts in bijection.json, with contract, release and an optional application-local _generated TypeScript service output. Preparation captures local schema references, checks the exact release, generates typed input, result and snapshot contracts, and retires removed application binding aliases. Bind the generated resource to an authenticated HTTPS adapter endpoint and an operator-established environment_id. All requests freeze the contract, release and environment. The customer service requires a separate private adapter token. Services have collection commands and observed completed invocation results. Virtual Objects have an explicit initialization handler, serialized commands and shared snapshots. Workflows have run, shared interaction handlers and snapshots. The generated wrapper retains the original start identity and refuses commands for another execution, even after a provider key is reused. Object inputs are named command arguments, optional fields included; other inputs are one input argument. Contracts may be authored in TypeScript with defineContract(...) from @bijection/connectors/restate/contract. Release manifests pin a release-specific physical service name, build identity, deployment ID and service revision. They enumerate private dependencies and known executions. Read-only environment checks validate server profile (Restate major 1, 1.7 or later), current routing, generated schema attestations, concurrency kinds, retention, dependencies and original execution deployments. These checks do not exercise business handlers. Metadata is customer release evidence, not proof of business behavior. Deployments and original service secrets must remain available for retained invocations. Commands use one mutating dispatch and reconcile only by looking up the original idempotency target and reading its output. Start confirmation verifies the exact start request and input digest. Provider absence, purged evidence, exceptions and lost responses retain uncertainty. The adapter never recreates an uncertain call. Cancellation confirms runtime acceptance only; compensation and business completion remain separate. Kill, purge and restart-as-new are operator actions. Discovery is bounded and observations are immutable facts, with business revisions independent from runtime status. Results remain typed retained HTTP evidence and observed resource records; the adapter does not introduce another call-result API. Missing or unavailable executions retain their prior observations. Source tests and portable checks do not establish hosted qualification.

Application helpers

All workflow adapters share one application vocabulary. Object-typed inputs are named command arguments, optional fields included: adding an optional field never wraps or renames existing arguments. Other values travel as input. Bijection-owned members are camelCase (start, requestCancellation); names a contract declares keep their spelling. Serialized routes, capability keys and records keep their snake_case wire names. <adapter>.commands(contract) returns each command’s target and argument validators for commandPolicy from bijection/server, so a policy module types its inputs without importing the schema that installs the resource. <adapter>.policies(contract, "permissions", { reads }) references one exported policy per command name (permissions:decideShipment, …). Names follow the contract; a missing export fails deployment analysis. <adapter>.observations.select(rows, { bound }) interprets acquired execution rows the application read through its own indexed queries. It returns current, missing, conflict (with its reason) or exceeded; it never invents ordering or infers deletion from absence. The application still decides business association, actor permission and acceptable freshness. <adapter>.trace(...) resolves a retained call’s interaction from the generated capabilities and composes it with an authorized observation.

Provider references

Provider references and prerequisites are maintained in the connector guidance above. No separate provider-documentation review date is recorded.

Source and evidence

Canonical connector source, native analysis and check receipts. Connector artifact: 905888ea276a2a28e36981a79e8142b2547ea451c3e63162cb6915ad4a7d1305. The resource declaration examples above are compiled and compared with exact catalog declarations. Recorded checks apply only to their source, declaration and runtime identities. Configure a connection and inspect its status to establish deployment-specific readiness.