import type { AgentTool, AgentToolResult } from "@gajae-code/agent-core"; import * as z from "zod/v4"; import { type RuntimeSkillDiscoveryCandidate } from "../extensibility/runtime-skill-discovery"; import type { ToolSession } from "."; declare const skillDiscoverySchema: z.ZodObject<{ query: z.ZodOptional; source: z.ZodOptional>>; limit: z.ZodOptional>; }, z.core.$strict>; export type SkillDiscoveryToolInput = z.infer; export interface SkillDiscoveryToolDetails { candidates: RuntimeSkillDiscoveryCandidate[]; count: number; /** * Present only when zero candidates were returned AND discovery config gates * (`skills.enabled` / `skills.trustProjectSkills` / `skills.trustUserSkills`) * prevented some or all of the requested scope from being searched. Without * this, a disabled config is indistinguishable from "no skills exist". */ notice?: string; /** * Human-readable diagnostics for skills that were scanned but not * advertised (protected-name collisions with bundled workflow skills, * include/ignore/disable policy filters, invalid frontmatter, shadowing, * scan failures). Bounded; empty when nothing was filtered. */ diagnostics?: string[]; } export declare class SkillDiscoveryTool implements AgentTool { #private; readonly name = "skill_discovery"; readonly label = "SkillDiscovery"; readonly summary = "Discover project and user runtime skills by thin metadata"; readonly loadMode = "essential"; readonly description: string; readonly parameters: z.ZodObject<{ query: z.ZodOptional; source: z.ZodOptional>>; limit: z.ZodOptional>; }, z.core.$strict>; readonly strict = true; constructor(session: ToolSession); static createIf(session: ToolSession): SkillDiscoveryTool | null; execute(_toolCallId: string, input: SkillDiscoveryToolInput, signal?: AbortSignal): Promise>; } export {};