import type { InferSchema } from "../../extensions/schema/index.js"; import type { Tool } from "../../tool/types.js"; import { type SkillOperationBudget } from "../../skill/operation-budget.js"; import type { RuntimeProjectSkillContext, RuntimeProjectSkillLoader } from "./project-skill-loader.js"; import { type RuntimeLoadedSkillResponse, type RuntimeSkillMetadataLogger } from "./skill-metadata.js"; import type { ResolvedSkillSelectorPolicy } from "../../skill/selector.js"; import type { SkillDocumentParserProvider } from "../../extensions/parser/skill-document-parser.js"; /** Shared runtime load skill description value. */ export declare const RUNTIME_LOAD_SKILL_DESCRIPTION: string; /** Context for runtime load skill tool. */ export type RuntimeLoadSkillToolContext = RuntimeProjectSkillContext & { /** Agent identity used to enforce owner-scoped skill visibility. */ agentId?: string; /** * Authoritative completed catalog snapshot when defined. An empty array * means the catalog was available but exposed no loadable skills. Omit this * field only when the catalog was unavailable or was not evaluated, which * permits direct builtin fallback. */ availableSkillIds?: readonly string[]; skillSelectorPolicy?: ResolvedSkillSelectorPolicy; availableToolNames?: readonly string[]; loadedSkillResponses?: Record; loadedSkillReferenceResponses?: Record; }; /** Public API contract for runtime load skill builtin store. */ export type RuntimeLoadSkillBuiltinStore = { readSkill: (skillsDir: string, skillId: string, budget: SkillOperationBudget) => Promise; readReferenceFile: (skillsDir: string, skillId: string, normalizedFile: string, budget: SkillOperationBudget) => Promise; listReferences: (skillsDir: string, skillId: string, budget: SkillOperationBudget) => Promise; }; /** Public API contract for runtime load skill tool messages. */ /** Options accepted by runtime load skill tool. */ export type RuntimeLoadSkillToolOptions = { context: RuntimeLoadSkillToolContext; skillsDir: string; projectSkillLoader: RuntimeProjectSkillLoader; builtinSkillIds?: readonly string[]; builtinStore?: RuntimeLoadSkillBuiltinStore; /** Override the static default description for direct consumers that supply their own discovery context. */ description?: string; logger?: RuntimeSkillMetadataLogger; skillDocumentParserProvider?: SkillDocumentParserProvider; }; export declare const getRuntimeLoadSkillToolInputSchema: () => import("../../internal-agents/schema.js").Schema; }> | import("../../extensions/schema/schema-validator.js").InferShape<{ skillId: import("../../internal-agents/schema.js").Schema; file: import("../../internal-agents/schema.js").Schema; }> | import("../../extensions/schema/schema-validator.js").InferShape<{ inventory: import("../../internal-agents/schema.js").Schema; }>>; }> | import("../../extensions/schema/schema-validator.js").InferShape<{ load: import("../../internal-agents/schema.js").Schema; file: import("../../internal-agents/schema.js").Schema; }>>; }>>; /** * Input payload for runtime load skill tool. * * Provider calls use `{ inventory: { cursor? } }` to list authorized IDs and * `{ load: { skillId, file? } }` to load content. The legacy flat forms remain * accepted for direct consumers. Start inventory paging with a prompt-provided * `cursor` when present, or omit `cursor` for the first page. */ export type RuntimeLoadSkillToolInput = InferSchema>; /** Output from runtime load skill reference file. */ export type RuntimeLoadSkillReferenceFileOutput = { skillId: string; file: string; content: string; }; /** Output from runtime load skill error. */ export type RuntimeLoadSkillErrorOutput = { error: string; }; /** One bounded page of authorized skill IDs returned by runtime load skill. */ export type RuntimeLoadSkillInventoryOutput = { skillIds: string[]; nextCursor?: number; }; /** Output from runtime load skill tool. */ export type RuntimeLoadSkillToolOutput = RuntimeLoadedSkillResponse | RuntimeLoadSkillReferenceFileOutput | RuntimeLoadSkillInventoryOutput | RuntimeLoadSkillErrorOutput; /** * Create runtime load skill tool. * * Prompt-composed consumers use {@link buildAgentCallContext} or equivalent * skill context. Standalone consumers can use inventory paging to discover * authorized IDs. Use `description` only to override the default tool copy. */ export declare function createRuntimeLoadSkillTool(options: RuntimeLoadSkillToolOptions): Tool; //# sourceMappingURL=load-skill-tool.d.ts.map