/** * The `codemode` tool as an extension. The CLI loads it as a built-in extension; SDK users * add `createCodemodeExtension()` to their extension factories. * * `codemode` is registered inactive. Activate it with `--tools`, the `defaultTools` setting, or * `setActiveTools()`; the MCP extension activates it when MCP tools are only reachable from scripts. */ import type { ExtensionAPI, ExtensionFactory } from "../../core/extensions/types.ts"; import type { CodemodeMode } from "../../core/settings-manager.ts"; export interface CodemodeExtensionOptions { /** Overrides the `codemode.mode` setting. */ mode?: CodemodeMode; /** Overrides the `codemode.inlineBudget` setting. */ inlineBudget?: number; /** Expose the model catalog and classifiers to scripts as `models`. Default: `true`. */ models?: boolean; } export declare function createCodemodeExtension(options?: CodemodeExtensionOptions): ExtensionFactory; /** * Builtin pi-subagents agents that receive `codemode`. pi-subagents installs codemode in a child * itself when the child's tool list names it, so only the tool name is contributed. Each of these * agents already has `bash`; a script reaches only the tools the child itself registered. */ export declare const SUBAGENT_CODEMODE_AGENTS: readonly ["scout", "worker", "delegate", "oracle"]; export declare function registerSubagentCodemode(pi: Pick): void; export default function codemodeExtension(pi: ExtensionAPI): void;