fix(core): scope observability to server
This commit is contained in:
@@ -1,10 +1,10 @@
|
|||||||
#!/usr/bin/env bun
|
#!/usr/bin/env bun
|
||||||
|
|
||||||
import { NodeRuntime, NodeServices } from "@effect/platform-node"
|
import { NodeFileSystem, NodeRuntime, NodeServices } from "@effect/platform-node"
|
||||||
import { Effect } from "effect"
|
import { Effect, Layer, Logger, References } from "effect"
|
||||||
import { Commands } from "./commands/commands"
|
import { Commands } from "./commands/commands"
|
||||||
import { Runtime } from "./framework/runtime"
|
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 { Updater } from "./services/updater"
|
||||||
import { InstallationChannel, InstallationVersion, InstallationLocal } from "@opencode-ai/core/installation/version"
|
import { InstallationChannel, InstallationVersion, InstallationLocal } from "@opencode-ai/core/installation/version"
|
||||||
import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder"
|
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 { Global } from "@opencode-ai/core/global"
|
||||||
import { AppProcess } from "@opencode-ai/core/process"
|
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, {
|
const Handlers = Runtime.handlers(Commands, {
|
||||||
$: () => import("./commands/handlers/default"),
|
$: () => import("./commands/handlers/default"),
|
||||||
api: () => import("./commands/handlers/api"),
|
api: () => import("./commands/handlers/api"),
|
||||||
@@ -47,7 +53,7 @@ Effect.logInfo("cli starting", {
|
|||||||
Effect.annotateLogs({ role: "cli" }),
|
Effect.annotateLogs({ role: "cli" }),
|
||||||
Effect.provide(Updater.layer),
|
Effect.provide(Updater.layer),
|
||||||
Effect.provide(AppNodeBuilder.build(LayerNode.group([Global.node, AppProcess.node]))),
|
Effect.provide(AppNodeBuilder.build(LayerNode.group([Global.node, AppProcess.node]))),
|
||||||
Effect.provide(Observability.layer),
|
Effect.provide(LoggingLayer),
|
||||||
Effect.provide(NodeServices.layer),
|
Effect.provide(NodeServices.layer),
|
||||||
Effect.scoped,
|
Effect.scoped,
|
||||||
Effect.tap(() => Effect.sync(() => process.exit(0))),
|
Effect.tap(() => Effect.sync(() => process.exit(0))),
|
||||||
|
|||||||
@@ -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 { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder"
|
||||||
import { EventV2 } from "@opencode-ai/core/event"
|
import { EventV2 } from "@opencode-ai/core/event"
|
||||||
import { EventLogger } from "@opencode-ai/core/event-logger"
|
import { EventLogger } from "@opencode-ai/core/event-logger"
|
||||||
|
import { Observability } from "@opencode-ai/core/observability"
|
||||||
import { Credential } from "@opencode-ai/core/credential"
|
import { Credential } from "@opencode-ai/core/credential"
|
||||||
import { PermissionSaved } from "@opencode-ai/core/permission/saved"
|
import { PermissionSaved } from "@opencode-ai/core/permission/saved"
|
||||||
import { PtyTicket } from "@opencode-ai/core/pty/ticket"
|
import { PtyTicket } from "@opencode-ai/core/pty/ticket"
|
||||||
@@ -91,6 +92,7 @@ function makeRoutes<AuthError, AuthServices>(
|
|||||||
Layer.provide(schemaErrorLayer),
|
Layer.provide(schemaErrorLayer),
|
||||||
Layer.provide(auth),
|
Layer.provide(auth),
|
||||||
Layer.provide(serviceLayer),
|
Layer.provide(serviceLayer),
|
||||||
|
Layer.provide(Observability.layer),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user