mirror of
https://github.com/Kilo-Org/kilocode.git
synced 2026-10-13 07:47:46 +08:00
refactor(core): name tool output files in ToolOutput (#52808)
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user