diff options
| author | Dax Raad <[email protected]> | 2026-04-25 13:29:52 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2026-04-25 13:30:37 -0400 |
| commit | 1a734adb4d1ce6071432bd68ac45fa4457f0dc2e (patch) | |
| tree | aed9acae5ae3da2fb93d3184ea2dc1f6a9412104 /packages/core/src/util/opencode-process.ts | |
| parent | a9740b9133a8056f5992b17f1b3fde15cc039f8d (diff) | |
| download | opencode-1a734adb4d1ce6071432bd68ac45fa4457f0dc2e.tar.gz opencode-1a734adb4d1ce6071432bd68ac45fa4457f0dc2e.zip | |
core: consolidate shared infrastructure into core package
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.
Diffstat (limited to 'packages/core/src/util/opencode-process.ts')
| -rw-r--r-- | packages/core/src/util/opencode-process.ts | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/packages/core/src/util/opencode-process.ts b/packages/core/src/util/opencode-process.ts new file mode 100644 index 000000000..f59270ad2 --- /dev/null +++ b/packages/core/src/util/opencode-process.ts @@ -0,0 +1,24 @@ +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 +} |
