From a499fe2b1751f79a44808066ec053c36071a9f28 Mon Sep 17 00:00:00 2001 From: Kit Langton Date: Thu, 30 Apr 2026 20:33:04 -0400 Subject: [PATCH] refactor(tool/read): yield InstanceState.context instead of reading ALS (#25183) --- packages/opencode/src/tool/read.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/opencode/src/tool/read.ts b/packages/opencode/src/tool/read.ts index fb386f5790..ef33a48dea 100644 --- a/packages/opencode/src/tool/read.ts +++ b/packages/opencode/src/tool/read.ts @@ -7,7 +7,7 @@ import * as Tool from "./tool" import { AppFileSystem } from "@opencode-ai/core/filesystem" import { LSP } from "@/lsp/lsp" import DESCRIPTION from "./read.txt" -import { Instance } from "../project/instance" +import { InstanceState } from "@/effect/instance-state" import { assertExternalDirectoryEffect } from "./external-directory" import { Instruction } from "../session/instruction" import { isImageAttachment, isPdfAttachment, sniffAttachmentMime } from "@/util/media" @@ -157,14 +157,15 @@ export const ReadTool = Tool.define( return yield* Effect.fail(new Error("offset must be greater than or equal to 1")) } + const instance = yield* InstanceState.context let filepath = params.filePath if (!path.isAbsolute(filepath)) { - filepath = path.resolve(Instance.directory, filepath) + filepath = path.resolve(instance.directory, filepath) } if (process.platform === "win32") { filepath = AppFileSystem.normalizePath(filepath) } - const title = path.relative(Instance.worktree, filepath) + const title = path.relative(instance.worktree, filepath) const stat = yield* fs.stat(filepath).pipe( Effect.catchIf(