Files
kilocode/packages/opencode/src/util/opencode-process.ts
T

25 lines
745 B
TypeScript

export const KILO_RUN_ID = "KILO_RUN_ID"
export const KILO_PROCESS_ROLE = "KILO_PROCESS_ROLE"
export function ensureRunID() {
return (process.env[KILO_RUN_ID] ??= crypto.randomUUID())
}
export function ensureProcessRole(fallback: "main" | "worker") {
return (process.env[KILO_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
}