Files
united-workforce/packages/workflow-util
xiaoju 26cf51366f feat: Phase 3 — engine read path + runtime context builder
- Add buildThreadContext(headHash, cas) to workflow-runtime
- Expand extract phase to return { meta, contentPayload, refs[] }
- Add parseCasThreadNode() to workflow-cas for node type parsing
- Update createWorkflow to write ContentMerkleNode with artifact refs
- Tests: 4 pass (build-context + extract-refs)
- Biome format pass on all files

Refs #155, closes #158

小橘 <xiaoju@shazhou.work>
2026-05-09 08:00:24 +00:00
..

@uncaged/workflow-util

Shared utilities: encoding, IDs, logging, storage paths, and ref-field normalization.

What This Package Does

It provides filesystem-safe Base32 and ULID generation, the structured logger used across packages, helpers for the default workflow data directory and global CAS path, and utilities to merge/normalize refs on steps. It re-exports ok/err from protocol for convenience.

Key Exports

From src/index.ts:

  • Base32: CROCKFORD_BASE32_ALPHABET, decodeCrockfordBase32Bits, decodeCrockfordToUint64, encodeCrockfordBase32Bits, encodeUint64AsCrockford
  • Logger: createLogger
  • Refs: mergeRefsWithContentHash, normalizeRefsField
  • Result: ok, err (from @uncaged/workflow-protocol)
  • Paths: getDefaultWorkflowStorageRoot, getGlobalCasDir
  • ULID: generateUlid
  • Types: CreateLoggerOptions, LogFn, LoggerSink, Result

Dependencies

  • Workspace: @uncaged/workflow-protocolResult and shared types used by helpers

Usage

import { createLogger, getDefaultWorkflowStorageRoot, generateUlid } from "@uncaged/workflow-util";

const log = createLogger();
log("4KNMR2PX", "example");