()
| 60 | }) |
| 61 | |
| 62 | const makeCtx = () => { |
| 63 | const calls: AskInput[] = [] |
| 64 | const ctx: ToolCtx = { |
| 65 | ...baseCtx, |
| 66 | ask: (input) => |
| 67 | Effect.sync(() => { |
| 68 | calls.push(input) |
| 69 | }), |
| 70 | } |
| 71 | |
| 72 | return { ctx, calls } |
| 73 | } |
| 74 | |
| 75 | const readText = (filepath: string) => Effect.promise(() => fs.readFile(filepath, "utf-8")) |
| 76 | const writeText = (filepath: string, content: string) => Effect.promise(() => fs.writeFile(filepath, content, "utf-8")) |
no test coverage detected