fix(core): bound tool structured output

This commit is contained in:
Kit Langton 2026-07-20 13:09:57 -04:00
commit 2deaa7786c
17 changed files with 440 additions and 165 deletions

View file

@ -158,10 +158,10 @@ describe("EditTool", () => {
status: "modified",
additions: 1,
deletions: 1,
patch: expect.stringContaining("-before\n+after"),
},
],
})
expect(settled.output?.structured).not.toHaveProperty("files.0.patch")
expect(yield* Effect.promise(() => fs.readFile(target, "utf8"))).toBe("after\nrest\n")
expect(assertions).toMatchObject([{ sessionID, action: "edit", resources: ["hello.txt"], save: ["*"] }])
expect(writes).toEqual([yield* Effect.promise(() => fs.realpath(target))])
@ -366,6 +366,7 @@ describe("EditTool", () => {
Effect.andThen((settled) =>
Effect.gen(function* () {
expect(settled.output?.structured).toMatchObject({ replacements: 3 })
expect(settled.output?.structured).not.toHaveProperty("files.0.patch")
expect(yield* Effect.promise(() => fs.readFile(target, "utf8"))).toBe("after after after")
expect(writes).toHaveLength(1)
}),