import { AgentMiddleware } from "../contracts/middleware/middleware.contract.mjs"; import { GuardrailDetector } from "./contracts/guardrail.contract.mjs"; import { GuardOptions, InjectionDetectorOptions, OpenAiModerationOptions, PiiDetectorOptions, TopicFilterOptions } from "./contracts/guard-options.type.mjs"; //#region ../ai/src/guard/guardrail.d.ts /** * The callable `ai.guardrail` surface — the {@link guard} factory with the * built-in detector factories attached as methods, so the whole guardrail * vocabulary lives under one name: * * - `ai.guardrail(options)` — build the composed middleware. * - `ai.guardrail.pii(o?)` / `.topic(o)` / `.injection(o?)` / `.moderation(o?)` * — build a detector to pass into the factory's `input` / `output` / `tool` * arrays. * * @example * const policy = ai.guardrail({ * output: [ai.guardrail.pii({ onMatch: "redact" })], * }); */ interface GuardrailFactory { /** Build the composed guardrail {@link AgentMiddleware}. */ (options: GuardOptions): AgentMiddleware; /** Built-in PII detector (regex + dictionary, zero runtime dep). */ pii(options?: PiiDetectorOptions): GuardrailDetector; /** Built-in topic filter (allow / deny string | RegExp lists). */ topic(options: TopicFilterOptions): GuardrailDetector; /** Built-in jailbreak / prompt-injection marker detector. */ injection(options?: InjectionDetectorOptions): GuardrailDetector; /** Optional OpenAI-backed moderation detector (lazy `openai` peer). */ moderation(options?: OpenAiModerationOptions): GuardrailDetector; } /** * The `ai.guardrail` value: the {@link guard} factory with the detector * factories assigned onto it. Built once and shared. */ declare const guardrail: GuardrailFactory; //#endregion export { GuardrailFactory, guardrail }; //# sourceMappingURL=guardrail.d.mts.map