Files
united-workforce/packages/workflow-execute
xiaoju 81c582ae0e feat: Phase 2 — engine write path (CAS nodes + threads.json)
- Engine writes StartNode, StateNode, ContentMerkleNode as CAS blobs
- threads.json tracks active threads, completed → history/{date}.jsonl
- No more .data.jsonl writes
- ancestors skip-list: [parent, ...parentAncestors] capped at 11
- Tests: 4 pass (engine write path)

Refs #155, closes #157

小橘 <xiaoju@shazhou.work>
2026-05-09 07:53:44 +00:00
..

@uncaged/workflow-execute

Thread engine: execution, fork/GC, extract pipeline, supervisor/worker wiring, and workflow-as-agent.

What This Package Does

It runs WorkflowFn generators against disk-backed threads, integrates CAS and registry-backed extract (createExtract), coordinates LLM tool usage via @uncaged/workflow-reactor, handles fork plans and garbage collection, and exposes workflowAsAgent for nesting workflows.

Key Exports

From src/index.ts:

  • Engine: createWorkflow (engine-local re-export), executeThread, getWorkerHostScriptPath
  • Fork / parse: buildForkPlan, parseThreadDataJsonl, selectForkHistoricalSteps, tryParseRoleStepRecord, tryParseWorkflowResultRecord
  • GC / pause: garbageCollectCas, createThreadPauseGate
  • Engine types: ExecuteThreadIo, ExecuteThreadOptions, ForkHistoricalStep, ForkPlan, GcResult, ParsedThreadStartRecord, PrefilledDiskStep, SupervisorDecision, ThreadPauseGate
  • Extract: buildExtractUserContent, createExtract, extractFunctionToolFromZodSchema, llmErrorToCause, llmExtract, types ExtractFn, ExtractThreadContext, LlmError, LlmExtractArgs
  • Agent composition: workflowAsAgent, WorkflowAsAgentOptions

Dependencies

  • Workspace: @uncaged/workflow-protocol, @uncaged/workflow-runtime, @uncaged/workflow-util, @uncaged/workflow-cas, @uncaged/workflow-reactor, @uncaged/workflow-register
  • npm: yaml
  • Peer: zod ^4

@uncaged/workflow-reactor is used for LLM-backed extract and supervisor flows (extract-fn.ts, supervisor.ts).

Usage

import { executeThread } from "@uncaged/workflow-execute";
// Typical callers are CLI/tests that supply ExecuteThreadIo (paths, CAS, abort, logger, …).