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.
This package contains the core types used in the several SDK modules.
For the SDK main package, checkout https://www.npmjs.com/package/@restatedev/restate-sdk.
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 handler
s too, work only from Restate 1.4 onward. Check the in-code documentation for more details.