From 08741f6b9357f37948295b9c6f1a42923b3eeab1 Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Sun, 5 Jul 2026 16:22:04 -0400 Subject: [PATCH] fix(core): scope observability to server --- packages/cli/src/index.ts | 14 ++++++++++---- packages/server/src/routes.ts | 2 ++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index 5514c3816e..64116b9b76 100755 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -1,10 +1,10 @@ #!/usr/bin/env bun -import { NodeRuntime, NodeServices } from "@effect/platform-node" -import { Effect } from "effect" +import { NodeFileSystem, NodeRuntime, NodeServices } from "@effect/platform-node" +import { Effect, Layer, Logger, References } from "effect" import { Commands } from "./commands/commands" import { Runtime } from "./framework/runtime" -import { Observability } from "@opencode-ai/core/observability" +import { Logging } from "@opencode-ai/core/observability/logging" import { Updater } from "./services/updater" import { InstallationChannel, InstallationVersion, InstallationLocal } from "@opencode-ai/core/installation/version" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" @@ -12,6 +12,12 @@ import { LayerNode } from "@opencode-ai/core/effect/layer-node" import { Global } from "@opencode-ai/core/global" import { AppProcess } from "@opencode-ai/core/process" +const LoggingLayer = Logger.layer(Logging.loggers(), { mergeWithExisting: false }).pipe( + Layer.provide(NodeFileSystem.layer), + Layer.orDie, + Layer.merge(Layer.succeed(References.MinimumLogLevel, Logging.minimumLogLevel())), +) + const Handlers = Runtime.handlers(Commands, { $: () => import("./commands/handlers/default"), api: () => import("./commands/handlers/api"), @@ -47,7 +53,7 @@ Effect.logInfo("cli starting", { Effect.annotateLogs({ role: "cli" }), Effect.provide(Updater.layer), Effect.provide(AppNodeBuilder.build(LayerNode.group([Global.node, AppProcess.node]))), - Effect.provide(Observability.layer), + Effect.provide(LoggingLayer), Effect.provide(NodeServices.layer), Effect.scoped, Effect.tap(() => Effect.sync(() => process.exit(0))), diff --git a/packages/server/src/routes.ts b/packages/server/src/routes.ts index f5e616392f..606fde0b84 100644 --- a/packages/server/src/routes.ts +++ b/packages/server/src/routes.ts @@ -4,6 +4,7 @@ import { httpClient } from "@opencode-ai/core/effect/app-node-platform" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" import { EventV2 } from "@opencode-ai/core/event" import { EventLogger } from "@opencode-ai/core/event-logger" +import { Observability } from "@opencode-ai/core/observability" import { Credential } from "@opencode-ai/core/credential" import { PermissionSaved } from "@opencode-ai/core/permission/saved" import { PtyTicket } from "@opencode-ai/core/pty/ticket" @@ -91,6 +92,7 @@ function makeRoutes( Layer.provide(schemaErrorLayer), Layer.provide(auth), Layer.provide(serviceLayer), + Layer.provide(Observability.layer), ) }