@toist/core
v0.10.5
Published
Toist execution kernel: run specs, create memory runtimes, register kinds, and consume progress events without the HTTP runner.
Downloads
115
Readme
@toist/core
Toist execution kernel: run specs, create memory runtimes, register kinds, and consume progress events without the HTTP runner.
import { createMemoryRuntime, runSpec } from "@toist/core"
const runtime = createMemoryRuntime()
const result = await runSpec({
apiVersion: "toist.in/v1",
id: "hello",
nodes: [
{ id: "greet", kind: "data.json", params: { value: { message: "hello" } } },
{ id: "out", kind: "sink", dependsOn: ["greet"], input: { value: { expr: "ctx.results.greet" } } },
],
}, {}, { runtime, events: true })
for await (const event of result.events ?? []) {
console.log(event.type)
}Main exports
runSpec(spec, payload, options)createMemoryRuntime(options)createRegistry,register,getKind,manifestbuiltinKinds- runtime/store interfaces like
ToistRuntime,RunLedger,TaskStore
HITL resume
Memory runtimes support in-process resume:
const suspended = await runSpec(spec, {}, { runtime })
if (suspended.status === "suspended" && suspended.task) {
const resumed = await runtime.resumeRun(suspended.runId, {
token: suspended.task.responseToken,
response: { approved: true },
})
console.log(resumed)
}When to use @toist/core
Use it inside another app, agent, test harness, or demo surface. If you need SQLite durability or HTTP APIs, use @toist/aja.
