refactor(core): name tool output files in ToolOutput (#52808)

This commit is contained in:
Kit Langton
2026-10-02 18:24:57 +00:00
committed by GitHub
parent ccd2aca07a
commit 8bcda4c718
2 changed files with 6 additions and 5 deletions
+4 -2
View File
@@ -6,8 +6,8 @@ import { Context, Duration, Effect, Layer, Schedule } from "effect"
import { makeGlobalNode, makeLocationNode } from "@opencode/util/effect/app-node"
import { FSUtil } from "@opencode/util/fs-util"
import { Global } from "@opencode/util/global"
import { Identifier } from "@opencode/schema/identifier"
import { FileRetention } from "./file-retention.js"
import { Identifier } from "./id/id.js"
import { State } from "./state.js"
export const MAX_LINES = 2_000
@@ -15,6 +15,8 @@ export const MAX_BYTES = 50 * 1024 // 50 KiB
export const RETENTION = Duration.days(7)
export const DIRECTORY = "tool-output"
export const fileName = (timestamp?: number) => "tool_" + Identifier.create(false, timestamp)
type Result = Tool.NormalizedResult
type Limits = {
@@ -81,7 +83,7 @@ const layer = Layer.effect(
kept.push(line)
bytes += size
}
const file = path.join(directory, Identifier.ascending("tool"))
const file = path.join(directory, fileName())
yield* fs.ensureDir(directory).pipe(Effect.orDie)
yield* fs.writeFileString(file, text).pipe(Effect.orDie)
const shown = kept.length > 0 ? `lines 1-${kept.length}` : "0 lines"
+2 -3
View File
@@ -7,7 +7,6 @@ import { ToolOutput } from "@opencode/core/tool-output"
import type { Tool } from "@opencode/core/tool"
import { FSUtil } from "@opencode/util/fs-util"
import { Global } from "@opencode/util/global"
import { Identifier } from "@opencode/core/id/id"
import { tmpdir } from "./fixture/tmpdir"
import { it } from "./lib/effect"
@@ -141,8 +140,8 @@ describe("ToolOutput", () => {
withStore((output, fs, root) =>
Effect.gen(function* () {
const directory = path.join(root, ToolOutput.DIRECTORY)
const old = path.join(directory, Identifier.create("tool", "ascending", 2 ** 36 - 1))
const recent = path.join(directory, Identifier.create("tool", "ascending", 2 ** 36 + 1))
const old = path.join(directory, ToolOutput.fileName(2 ** 36 - 1))
const recent = path.join(directory, ToolOutput.fileName(2 ** 36 + 1))
yield* fs.ensureDir(directory)
yield* fs.writeFileString(old, "old")
yield* fs.writeFileString(recent, "recent")