727b4bb3ed
- Update root tsconfig.json references: replace packages/workflow with 6 new packages - Update cli-workflow tsconfig references to new packages - Add tsconfig references to workflow-util, workflow-runtime, workflow-execute - Fix workflow-agent-llm, workflow-agent-cursor, workflow-agent-hermes, workflow-util-agent tsconfig references (../workflow -> ../workflow-runtime) - Remove stale @uncaged/workflow deps from agent package.json files - Change template packages to import buildDescriptor from @uncaged/workflow-register - Normalize package.json exports field across all new packages - Delete old packages/workflow/ directory
@uncaged/workflow-util-agent
Shared helpers for CLI-backed workflow agents: assemble prompts from thread context and spawn subprocesses with timeouts.
Used by @uncaged/workflow-agent-cursor and @uncaged/workflow-agent-hermes. Depends on @uncaged/workflow for CAS reads (getContentMerklePayload) and Result typing.
Install
bun add @uncaged/workflow-util-agent @uncaged/workflow
In this monorepo: workspace:* for both packages.
Usage
import { buildAgentPrompt, spawnCli } from "@uncaged/workflow-util-agent";
const prompt = await buildAgentPrompt(agentContext);
const result = await spawnCli("my-cli", ["--json"], { cwd: "/tmp", timeoutMs: 60_000 });
if (!result.ok) { /* handle SpawnCliError */ }
const stdout = result.value;
API overview
| Export | Description |
|---|---|
buildAgentPrompt(ctx) |
System prompt + task + prior step summaries + latest body from CAS; appends uncaged-workflow thread <id> tool hint |
spawnCli(cmd, args, { cwd, timeoutMs }) |
Promise<Result<string, SpawnCliError>>; captures stdout, non-zero exit and spawn failures as err |
SpawnCliConfig |
cwd: string | null, timeoutMs: number | null |
SpawnCliError |
non_zero_exit | timeout | spawn_failed |
SpawnCliResult |
Alias for Result<string, SpawnCliError> |