tweak: allow read tool to accept offset of 0 (#25431)

This commit is contained in:
Aiden Cline 2026-05-02 11:12:07 -05:00 committed by GitHub
parent ff4779ca11
commit b460db15d7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -154,10 +154,6 @@ export const ReadTool = Tool.define(
params: Schema.Schema.Type<typeof Parameters>,
ctx: Tool.Context,
) {
if (params.offset !== undefined && params.offset < 1) {
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)) {
@ -192,7 +188,7 @@ export const ReadTool = Tool.define(
if (stat.type === "Directory") {
const items = yield* list(filepath)
const limit = params.limit ?? DEFAULT_READ_LIMIT
const offset = params.offset ?? 1
const offset = params.offset || 1
const start = offset - 1
const sliced = items.slice(start, start + limit)
const truncated = start + sliced.length < items.length
@ -249,7 +245,7 @@ export const ReadTool = Tool.define(
}
const file = yield* Effect.promise(() =>
lines(filepath, { limit: params.limit ?? DEFAULT_READ_LIMIT, offset: params.offset ?? 1 }),
lines(filepath, { limit: params.limit ?? DEFAULT_READ_LIMIT, offset: params.offset || 1 }),
)
if (file.count < file.offset && !(file.count === 0 && file.offset === 1)) {
return yield* Effect.fail(