d0dc7b5a19
- New ProcessLogger in workflow-util: process-scoped JSONL logger
- Entry schema: {ts, pid, tag, msg, thread, workflow}
- Storage: ~/.uncaged/workflow/logs/YYYY-MM-DD.jsonl
- Auto logs process init info (argv, node version, context)
- cli-workflow thread commands fully instrumented:
- thread start/step, moderator evaluate, agent spawn/done
- thread archived, error paths
Refs #411, #412, #410
@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-protocol—Resultand shared types used by helpers
Usage
import { createLogger, getDefaultWorkflowStorageRoot, generateUlid } from "@uncaged/workflow-util";
const log = createLogger();
log("4KNMR2PX", "example");