refactor(core): replace legacy logger with Effect logging (#31310)

This commit is contained in:
Dax
2026-06-08 15:41:56 -04:00
committed by GitHub
parent 0a7cb20e66
commit c06ad7c881
152 changed files with 698 additions and 2243 deletions
+6 -9
View File
@@ -6,7 +6,6 @@ import { Database } from "@opencode-ai/core/database/database"
import { eq } from "drizzle-orm"
import { ProjectTable } from "@opencode-ai/core/project/sql"
import type { ProjectV2 } from "@opencode-ai/core/project"
import * as Log from "@opencode-ai/core/util/log"
import { Slug } from "@opencode-ai/core/util/slug"
import { errorMessage } from "../util/error"
import { EventV2 } from "@opencode-ai/core/event"
@@ -19,8 +18,6 @@ import { FSUtil } from "@opencode-ai/core/fs-util"
import { AppProcess } from "@opencode-ai/core/process"
import { InstanceState } from "@/effect/instance-state"
const log = Log.create({ service: "worktree" })
export const Event = {
Ready: EventV2.define({
type: "worktree.ready",
@@ -254,7 +251,7 @@ export const layer: Layer.Layer<
const populated = yield* git(["reset", "--hard"], { cwd: info.directory })
if (populated.code !== 0) {
const message = populated.stderr || populated.text || "Failed to populate worktree"
log.error("worktree checkout failed", { directory: info.directory, message })
yield* Effect.logError("worktree checkout failed", { directory: info.directory, message })
GlobalBus.emit("event", {
directory: info.directory,
project: ctx.project.id,
@@ -267,9 +264,9 @@ export const layer: Layer.Layer<
const booted = yield* store.load({ directory: info.directory }).pipe(
Effect.as(true),
Effect.catch((error) =>
Effect.sync(() => {
Effect.gen(function* () {
const message = errorMessage(error)
log.error("worktree bootstrap failed", { directory: info.directory, message })
yield* Effect.logError("worktree bootstrap failed", { directory: info.directory, message })
GlobalBus.emit("event", {
directory: info.directory,
project: ctx.project.id,
@@ -298,7 +295,7 @@ export const layer: Layer.Layer<
const createFromInfo = Effect.fn("Worktree.createFromInfo")(function* (info: Info, startCommand?: string) {
yield* setup(info)
yield* boot(info, startCommand).pipe(
Effect.catchCause((cause) => Effect.sync(() => log.error("worktree bootstrap failed", { cause }))),
Effect.catchCause((cause) => Effect.logError("worktree bootstrap failed", { cause })),
Effect.forkIn(scope),
)
})
@@ -491,7 +488,7 @@ export const layer: Layer.Layer<
if (!text) return true
const result = yield* runStartCommand(directory, text)
if (result.code === 0) return true
log.error("worktree start command failed", { kind, directory, message: result.stderr })
yield* Effect.logError("worktree start command failed", { kind, directory, message: result.stderr })
return false
})
@@ -620,7 +617,7 @@ export const layer: Layer.Layer<
}
yield* runStartScripts(worktreePath, { projectID: ctx.project.id }).pipe(
Effect.catchCause((cause) => Effect.sync(() => log.error("worktree start task failed", { cause }))),
Effect.catchCause((cause) => Effect.logError("worktree start task failed", { cause })),
Effect.forkIn(scope),
)