Documentation
    Preparing search index...

    Module @restatedev/restate-sdk

    Documentation Examples Discord Twitter

    Restate Typescript SDK

    Restate is a system for easily building resilient applications using distributed durable async/await. This repository contains the Restate SDK for writing services in Node.js / Typescript.

    Restate applications are composed of durably executed, stateful RPC handlers that can run either as part of long-running processes, or as FaaS (AWS Lambda).

    import * as restate from "@restatedev/restate-sdk";

    const greeter = restate.service({
    name: "greeter",
    handlers: {
    greet: async (ctx: restate.Context, name: string) => {
    return `Hello ${name}!`;
    },
    },
    });

    restate.endpoint()
    .bind(greeter)
    .listen(9080);

    To use this SDK, add the dependency to your project:

    npm install @restatedev/restate-sdk
    

    For brand-new projects, we recommend using the Restate Node Template:

    npx -y @restatedev/create-app@latest
    

    This library follows Semantic Versioning.

    The compatibility with Restate is described in the following table:

    Restate Server\sdk-typescript 1.0 - 1.3 1.4 1.5 - 1.6 1.7
    1.0
    1.1 (1)
    1.2
    1.3 (2)
    1.4

    (1) Only when upgrading from 1.0 to 1.1 you MUST rediscover all the existing deployments using restate dp register <address> --force. You don't need to update the SDK, nor change the code. (2) Note the new options in service/object/workflow constructors, together with some of the new options in the handlers too, work only from Restate 1.4 onward. Check the in-code documentation for more details.

    Namespaces

    handlers
    rpc
    serde

    Enumerations

    LogSource
    RestateLogLevel

    Classes

    Opts
    RestateError
    RetryableError
    SendOpts
    TerminalError
    TimeoutError

    Interfaces

    Context
    ContextDate
    KeyValueStore
    LoggerContext
    ObjectContext
    ObjectSharedContext
    Rand
    Request
    RestateContext
    RestateEndpoint
    RestateEndpointBase
    RestateObjectContext
    RestateObjectSharedContext
    RestateWorkflowContext
    RestateWorkflowSharedContext
    RetryableErrorOptions
    SendOptions
    Serde
    WorkflowContext
    WorkflowSharedContext

    Type Aliases

    Client
    ClientCallOptions
    ClientSendOptions
    CombineablePromise
    DurablePromise
    Duration
    GenericCall
    GenericSend
    InferArg
    InvocationHandle
    InvocationId
    InvocationPromise
    LoggerTransport
    LogMetadata
    ObjectHandler
    ObjectHandlerOpts
    ObjectOptions
    ObjectOpts
    RemoveVoidArgument
    RestatePromise
    RunAction
    RunOptions
    SendClient
    Service
    ServiceDefinition
    ServiceDefinitionFrom
    ServiceHandler
    ServiceHandlerOpts
    ServiceOptions
    ServiceOpts
    TypedState
    UntypedState
    VirtualObject
    VirtualObjectDefinition
    VirtualObjectDefinitionFrom
    Workflow
    WorkflowDefinition
    WorkflowDefinitionFrom
    WorkflowHandler
    WorkflowHandlerOpts
    WorkflowOptions
    WorkflowOpts
    WorkflowSharedHandler

    Variables

    CombineablePromise
    InvocationIdParser
    RestatePromise

    Functions

    endpoint
    object
    service
    workflow