2026-02-08 15:01:42 +09:00
import { z } from "zod"
import { DynamicContextPruningConfigSchema } from "./dynamic-context-pruning"
export const ExperimentalConfigSchema = z . object ( {
aggressive_truncation : z.boolean ( ) . optional ( ) ,
auto_resume : z.boolean ( ) . optional ( ) ,
preemptive_compaction : z.boolean ( ) . optional ( ) ,
/** Truncate all tool outputs, not just whitelisted tools (default: false). Tool output truncator is enabled by default - disable via disabled_hooks. */
truncate_all_tool_outputs : z.boolean ( ) . optional ( ) ,
/** Dynamic context pruning configuration */
dynamic_context_pruning : DynamicContextPruningConfigSchema.optional ( ) ,
/** Enable experimental task system for Todowrite disabler hook */
task_system : z.boolean ( ) . optional ( ) ,
/** Timeout in ms for loadAllPluginComponents during config handler init (default: 10000, min: 1000) */
plugin_load_timeout_ms : z.number ( ) . min ( 1000 ) . optional ( ) ,
/** Wrap hook creation in try/catch to prevent one failing hook from crashing the plugin (default: true at call site) */
safe_hook_creation : z.boolean ( ) . optional ( ) ,
2026-02-20 02:31:18 +11:00
/** Disable the OhMyOpenCode environment setup (experimental) */
disable_omo_env : z.boolean ( ) . optional ( ) ,
2026-02-16 15:59:12 +09:00
/** Enable hashline_edit tool for improved file editing with hash-based line anchors */
hashline_edit : z.boolean ( ) . optional ( ) ,
2026-02-08 15:01:42 +09:00
} )
export type ExperimentalConfig = z . infer < typeof ExperimentalConfigSchema >