import { MemoryGuardTier } from "./types.js"; //#region src/guard/classifier.d.ts /** * Subset of the `Tool` shape the classifier needs. Decoupled from * `@graphorin/core`'s `Tool` type so the classifier can also work on * the lighter shapes the skills loader produces. * * @stable */ interface ClassifiableTool { readonly name?: string; readonly tags?: ReadonlyArray; /** Per-tool ACL declared by `tool({ secretsAllowed })`. */ readonly secretsAllowed?: ReadonlyArray; /** Operator opt-in tier override. */ readonly memoryGuardTier?: MemoryGuardTier; /** Source trust level - `'untrusted'` forces the strict tier. */ readonly trustLevel?: 'built-in' | 'user-defined' | 'trusted' | 'untrusted'; } /** * Set of regex patterns that hint at memory-related tools. The list * is intentionally short and English-language; deployments that need * locale-specific tagging should set `memoryGuardTier` explicitly. * * @stable */ declare const DEFAULT_MEMORY_TAG_PATTERNS: ReadonlyArray; /** * Classify a tool. Pure function - never inspects runtime state. * * Precedence (top wins): * 1. Operator-set `memoryGuardTier`. * 2. `trustLevel === 'untrusted'` → `'untrusted'`. * 3. Tags or `secretsAllowed` mention memory → `'memory-aware'`. * 4. Default → `'unknown'`. * * @stable */ declare function classifyTool(tool: ClassifiableTool, patterns?: ReadonlyArray): MemoryGuardTier; //#endregion export { ClassifiableTool, DEFAULT_MEMORY_TAG_PATTERNS, classifyTool }; //# sourceMappingURL=classifier.d.ts.map