/** * Skill Tool Availability * * Gates the skill infrastructure tools by what the active skill actually * advertises: `load_skill_reference` needs a reference file, and * `execute_skill_script` needs a script. Ordinary tools are never gated here. * * A skill's `allowed-tools` frontmatter is deliberately *not* enforced. The * Agent Skills specification defines that field as pre-approval: tools the * agent may run without prompting, not an authorization boundary. See * veryfront/veryfront-issue-inbox#406. * * @module */ /** Active skill file-backed capabilities available to skill infrastructure tools. */ export type SkillToolAvailability = { readonly hasActiveSkill?: boolean; readonly references?: readonly string[]; readonly scripts?: readonly string[]; }; /** * Filter tool definitions before sending them to the model. * * Only skill infrastructure tools are affected; every other tool passes * through untouched. * * @param tools - Full list of tool definitions * @param skillToolAvailability - Files the active skill advertises * @returns Filtered tool definitions */ export declare function filterToolsForSkill(tools: T[], skillToolAvailability?: SkillToolAvailability): T[]; /** Check whether a specific tool call is available at execution time. */ export declare function isSkillToolAvailable(toolName: string, skillToolAvailability?: SkillToolAvailability): boolean; /** Filter provider-native or other name-only tool inventories through the same boundary. */ export declare function filterToolNamesForSkill(toolNames: readonly string[], skillToolAvailability?: SkillToolAvailability): string[]; //# sourceMappingURL=allowed-tools.d.ts.map