5970456a54
CI / check (pull_request) Failing after 8m30s
Rename packages/ subdirectories to match their @united-workforce/* scope: cli-workflow → cli workflow-agent-builtin → agent-builtin workflow-agent-claude-code → agent-claude-code workflow-agent-hermes → agent-hermes workflow-dashboard → dashboard workflow-protocol → protocol workflow-util-agent → util-agent workflow-util → util Updated all tsconfig references, scripts, and active docs. Historical docs (docs/plans/, docs/superpowers/) left as-is. Closes #21
31 lines
899 B
TypeScript
31 lines
899 B
TypeScript
import { appendFileSync } from "node:fs";
|
|
|
|
import { assertValidLogTag } from "./process-logger/log-tag.js";
|
|
import type { CreateLoggerOptions, LogFn } from "./types.js";
|
|
|
|
/** Append one JSONL log record: `{ tag, content, timestamp }` per RFC-001. */
|
|
export function createLogger(options: CreateLoggerOptions): LogFn {
|
|
if (options.sink.kind === "stderr") {
|
|
return (tag: string, content: string) => {
|
|
assertValidLogTag(tag);
|
|
const line = `${JSON.stringify({
|
|
tag: tag.toUpperCase(),
|
|
content,
|
|
timestamp: Date.now(),
|
|
})}\n`;
|
|
process.stderr.write(line);
|
|
};
|
|
}
|
|
|
|
const filePath = options.sink.path;
|
|
return (tag: string, content: string) => {
|
|
assertValidLogTag(tag);
|
|
const line = `${JSON.stringify({
|
|
tag: tag.toUpperCase(),
|
|
content,
|
|
timestamp: Date.now(),
|
|
})}\n`;
|
|
appendFileSync(filePath, line, "utf8");
|
|
};
|
|
}
|