import type { Message } from '../session/session-jsonl.js'; export declare const SKILL_DISCOVERY_MAX_ATTEMPTS = 1; export declare const SKILL_DISCOVERY_MAX_HOPS = 5; export declare const SKILL_DISCOVERY_MAX_NAMES = 8; /** Skill-bearing directory names (relative segment), Grok SKILL_CONFIG_DIRS parity. */ export declare const SKILL_CONFIG_DIR_NAMES: readonly [".moss", ".claude", ".agents", ".cursor"]; export interface SkillDiscoveryNudgeRequest { messages: Message[]; workspaceDir: string; attempts: number; /** Skill names already reported this run (mutated by caller after fire). */ reportedNames: Set; } export type SkillDiscoveryNudgeResult = { fire: false; } | { fire: true; correction: string; names: string[]; }; /** * Collect absolute file/dir paths the model recently touched via tool_use * (read_file / list_directory / search_files / search_code). * @internal exported for tests */ export declare function collectRecentToolPaths(messages: Message[], limit?: number): string[]; /** * Walk from startAbs up toward workspace root, collecting skill names under * `.moss/skills`, `.claude/skills`, etc. * @internal exported for tests */ export declare function discoverSkillNamesNearPath(startAbs: string, workspaceDir: string, maxHops?: number): string[]; export declare function evaluateSkillDiscoveryNudge(request: SkillDiscoveryNudgeRequest): SkillDiscoveryNudgeResult; //# sourceMappingURL=skill-discovery-nudge.d.ts.map