f30c656ebf
Move hashline_edit out of experimental so it is a stable top-level config with default-on runtime behavior and explicit disable support. Add migration and tests to preserve existing experimental.hashline_edit users without breaking configs.
23 lines
1.2 KiB
TypeScript
23 lines
1.2 KiB
TypeScript
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(),
|
|
/** Disable auto-injected <omo-env> context in prompts (experimental) */
|
|
disable_omo_env: z.boolean().optional(),
|
|
})
|
|
|
|
export type ExperimentalConfig = z.infer<typeof ExperimentalConfigSchema>
|