a5c09adae6
Each README includes: package description, install instructions, usage example, API overview, and (for templates) role/moderator flow. Packages documented: - @uncaged/workflow (core) - @uncaged/cli-workflow (CLI) - @uncaged/workflow-agent-cursor - @uncaged/workflow-agent-hermes - @uncaged/workflow-agent-llm - @uncaged/workflow-template-develop - @uncaged/workflow-template-solve-issue - @uncaged/workflow-util-agent
@uncaged/workflow
Core workflow engine: registry, CAS, thread execution, bundle validation, and role/workflow types.
This package implements the three-phase engine loop that runs single-file ESM workflow bundles (each exports run and descriptor). It persists threads under ~/.uncaged/workflow/ by default and hashes bundles with XXH64 (Crockford Base32). See the repo root README for workflow, bundle, thread, role, and registry concepts.
Install
bun add @uncaged/workflow zod
In this monorepo, depend with "@uncaged/workflow": "workspace:*". zod is a peer dependency (used by bundle/shape validation at the integration boundary).
Usage
import { createWorkflow, readWorkflowRegistry, executeThread } from "@uncaged/workflow";
// Wire a WorkflowDefinition + AgentBinding + extract + optional LlmProvider into createWorkflow,
// then run the returned WorkflowFn inside your host (or use executeThread for disk-backed runs).
API overview
| Area | Exports (representative) |
|---|---|
| Types | WorkflowDefinition, WorkflowFn, AgentFn, AgentBinding, Moderator, RoleDefinition, ThreadContext, LlmProvider, Result shape via ok / err, START / END |
| Bundle | buildDescriptor, extractBundleExports, validateWorkflowBundle, validateWorkflowDescriptor, WorkflowDescriptor, WorkflowRoleDescriptor |
| Registry | readWorkflowRegistry, writeWorkflowRegistry, registerWorkflowVersion, workflowRegistryPath, YAML helpers |
| CAS | createCasStore, createThreadCas, Merkle helpers (putStepMerkleNode, getContentMerklePayload, …), hashWorkflowBundleBytes |
| Engine | createWorkflow, executeThread, parseThreadDataJsonl, fork helpers, garbageCollectCas |
| Extract / LLM tools | llmExtract, reactExtract, createExtract, getExtractProvider |
| Agent bridge | workflowAsAgent — expose a registered workflow as an agent-backed role |
| Utilities | createLogger, ULID / Crockford Base32 codecs, getDefaultWorkflowStorageRoot, paths |
Full surface is re-exported from src/index.ts.