export type SkillConfig = {
    enabled?: boolean;
    apiKey?: string;
    env?: Record<string, string>;
    config?: Record<string, unknown>;
};
export type SkillsLoadConfig = {
    /**
     * Additional skill folders to scan (lowest precedence).
     * Each directory should contain skill subfolders with `SKILL.md`.
     */
    extraDirs?: string[];
    /** Watch skill folders for changes and refresh the skills snapshot. */
    watch?: boolean;
    /** Debounce for the skills watcher (ms). */
    watchDebounceMs?: number;
};
export type SkillsInstallConfig = {
    preferBrew?: boolean;
    nodeManager?: "npm" | "pnpm" | "yarn" | "bun";
};
export type SkillsLimitsConfig = {
    /** Max number of immediate child directories to consider under a skills root before treating it as suspicious. */
    maxCandidatesPerRoot?: number;
    /** Max number of skills to load per skills source (bundled/managed/workspace/extra). */
    maxSkillsLoadedPerSource?: number;
    /** Max number of skills to include in the model-facing skills prompt. */
    maxSkillsInPrompt?: number;
    /** Max characters for the model-facing skills prompt block (approx). */
    maxSkillsPromptChars?: number;
    /** Max size (bytes) allowed for a SKILL.md file to be considered. */
    maxSkillFileBytes?: number;
};
/**
 * How skills are surfaced to the agent.
 *  - "preload" (default, 2.8.x behaviour): full <available_skills> catalog
 *    inlined into every system prompt.
 *  - "jit": catalog dropped from the prompt; the agent calls `skill_search`
 *    on demand. Built-in `before_first_tool_call` hook auto-injects matches
 *    based on user-message keyword triggers.
 *  - "hybrid": anchor list inlined; full discovery via skill_search.
 */
export type SkillsDiscoveryMode = "preload" | "jit" | "hybrid";
export type SkillsConfig = {
    /** Optional bundled-skill allowlist (only affects bundled skills). */
    allowBundled?: string[];
    /**
     * Skills inlined into the system prompt at boot. Each name resolves to
     * `skills/<name>/SKILL.md` (workspace first, then bundled). The body
     * (frontmatter stripped) is appended under "Auto-loaded Skills" in the
     * system prompt. Sub-agents (minimal mode) skip auto-loading.
     * Stage 2.2 of the prompt-reduction plan.
     */
    autoLoadInline?: string[];
    /** Stage 3.7 of the prompt-reduction plan. */
    discoveryMode?: SkillsDiscoveryMode;
    /** Stage 3.6 anchor list: skills always present by name in the prompt. */
    anchorList?: string[];
    load?: SkillsLoadConfig;
    install?: SkillsInstallConfig;
    limits?: SkillsLimitsConfig;
    entries?: Record<string, SkillConfig>;
};
