mirror of
https://github.com/anomalyco/opencode.git
synced 2026-05-15 09:02:35 +00:00
Moves effect logging, observability, runtime utilities, flags, installation version info, and process utilities from opencode to core package. This enables better code sharing across packages and establishes core as the single source of truth for foundational utilities. All internal imports updated to use @opencode-ai/core paths for consistency.
25 lines
769 B
TypeScript
25 lines
769 B
TypeScript
export const OPENCODE_RUN_ID = "OPENCODE_RUN_ID"
|
|
export const OPENCODE_PROCESS_ROLE = "OPENCODE_PROCESS_ROLE"
|
|
|
|
export function ensureRunID() {
|
|
return (process.env[OPENCODE_RUN_ID] ??= crypto.randomUUID())
|
|
}
|
|
|
|
export function ensureProcessRole(fallback: "main" | "worker") {
|
|
return (process.env[OPENCODE_PROCESS_ROLE] ??= fallback)
|
|
}
|
|
|
|
export function ensureProcessMetadata(fallback: "main" | "worker") {
|
|
return {
|
|
runID: ensureRunID(),
|
|
processRole: ensureProcessRole(fallback),
|
|
}
|
|
}
|
|
|
|
export function sanitizedProcessEnv(overrides?: Record<string, string>) {
|
|
const env = Object.fromEntries(
|
|
Object.entries(process.env).filter((entry): entry is [string, string] => entry[1] !== undefined),
|
|
)
|
|
return overrides ? Object.assign(env, overrides) : env
|
|
}
|