Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

@temporal-contract/client

Type-safe client for consuming Temporal workflows

npm version

Installation

pnpm add @temporal-contract/client @temporal-contract/contract @temporalio/client zod

Quick Example

import { TypedClient } from "@temporal-contract/client";
import { Connection, Client } from "@temporalio/client";

import { myContract } from "./contract.js";

const connection = await Connection.connect({ address: "localhost:7233" });
const temporalClient = new Client({ connection });

// One connection-scoped root per process. `create` returns
// `AsyncResult<TypedClient, never>` — setup faults are defects, so `.get()`
// unwraps directly.
const client = await TypedClient.create({ client: temporalClient }).get();

// Bind a contract — synchronous, infallible, memoized.
const orders = client.for(myContract);

// Execute workflow (fully typed!)
const result = await orders.executeWorkflow("processOrder", {
  workflowId: "order-123",
  args: { orderId: "ORD-123" },
});

Documentation

📖 Read the full documentation →

License

MIT