Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/opencode/script/build.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env bun

import solidPlugin from "../node_modules/@opentui/solid/scripts/solid-plugin"
import solidPlugin from "@opentui/solid/bun-plugin"
import path from "path"
import fs from "fs"
import { $ } from "bun"
Expand Down
1 change: 0 additions & 1 deletion packages/opencode/src/cli/cmd/tui/ui/dialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ function init() {
current.onClose?.()
setStore("stack", store.stack.slice(0, -1))
evt.preventDefault()
evt.stopPropagation()
refocus()
}
})
Expand Down
36 changes: 36 additions & 0 deletions packages/opencode/src/config/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1004,6 +1004,42 @@ export namespace Config {
prune: z.boolean().optional().describe("Enable pruning of old tool outputs (default: true)"),
})
.optional(),
pruning: z
.object({
enabled: z.boolean().optional().describe("Enable smart pruning (default: true)"),
budgets: z
.object({
content: z
.number()
.optional()
.describe("Token budget for content tools like read/webfetch (default: 60000)"),
navigation: z
.number()
.optional()
.describe("Token budget for navigation tools like grep/glob (default: 15000)"),
})
.optional(),
summarization: z
.object({
enabled: z.boolean().optional().describe("Enable LLM summarization for content tools (default: true)"),
model: z
.string()
.optional()
.describe("Model to use for summarization (default: uses small_model or provider's small model)"),
})
.optional(),
contentTools: z
.array(z.string())
.optional()
.describe("Additional tools to treat as content tools (high priority)"),
navigationTools: z
.array(z.string())
.optional()
.describe("Additional tools to treat as navigation tools (low priority)"),
protectedTools: z.array(z.string()).optional().describe("Tools that should never be pruned"),
})
.optional()
.describe("Smart pruning configuration for tiered tool output management"),
experimental: z
.object({
hook: z
Expand Down
Loading
Loading