UNPKG

@mastra/core

Version:
305 lines (304 loc) • 10.1 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const require_agent = require("../agent-DCD4MApC.cjs"); let zod_v4 = require("zod/v4"); //#region src/processor-provider/types.ts /** * All processor phases. */ const ALL_PROCESSOR_PHASES = [ "processInput", "processInputStep", "processOutputStream", "processOutputResult", "processOutputStep", "processToolResult" ]; //#endregion //#region src/processor-provider/phase-filtered-processor.ts /** * Wraps an existing Processor and only exposes the selected phases. * Unselected phase methods are left undefined, so the runner/step-creator skips them. */ var PhaseFilteredProcessor = class { id; name; description; processorIndex; #inner; #enabledPhases; constructor(inner, enabledPhases) { this.#inner = inner; this.#enabledPhases = new Set(enabledPhases); this.id = inner.id; this.name = inner.name; this.description = inner.description; if (this.#enabledPhases.has("processInput") && inner.processInput) this.processInput = inner.processInput.bind(inner); if (this.#enabledPhases.has("processInputStep") && inner.processInputStep) this.processInputStep = inner.processInputStep.bind(inner); if (this.#enabledPhases.has("processOutputStream") && inner.processOutputStream) this.processOutputStream = inner.processOutputStream.bind(inner); if (this.#enabledPhases.has("processOutputResult") && inner.processOutputResult) this.processOutputResult = inner.processOutputResult.bind(inner); if (this.#enabledPhases.has("processOutputStep") && inner.processOutputStep) this.processOutputStep = inner.processOutputStep.bind(inner); if (this.#enabledPhases.has("processToolResult") && inner.processToolResult) this.processToolResult = inner.processToolResult.bind(inner); } processInput; processInputStep; processOutputStream; processOutputResult; processOutputStep; processToolResult; __registerMastra(mastra) { this.#inner.__registerMastra?.(mastra); } }; //#endregion //#region src/processor-provider/providers/index.ts const structuredOutputOptionsSchema = zod_v4.z.object({ jsonPromptInjection: zod_v4.z.union([zod_v4.z.boolean(), zod_v4.z.enum([ "system", "inline", "auto" ])]).optional() }).optional(); const providerOptionsSchema = zod_v4.z.record(zod_v4.z.string(), zod_v4.z.any()).optional(); const unicodeNormalizerProvider = { info: { id: "unicode-normalizer", name: "Unicode Normalizer", description: "Normalizes Unicode text by stripping control characters, collapsing whitespace, and trimming." }, configSchema: zod_v4.z.object({ stripControlChars: zod_v4.z.boolean().optional(), preserveEmojis: zod_v4.z.boolean().optional(), collapseWhitespace: zod_v4.z.boolean().optional(), trim: zod_v4.z.boolean().optional() }), availablePhases: ["processInput"], createProcessor(config) { return new require_agent.UnicodeNormalizer(config); } }; const tokenLimiterProvider = { info: { id: "token-limiter", name: "Token Limiter", description: "Limits the number of tokens in messages, supporting both input filtering and output truncation." }, configSchema: zod_v4.z.object({ limit: zod_v4.z.number(), strategy: zod_v4.z.enum(["truncate", "abort"]).optional(), countMode: zod_v4.z.enum(["cumulative", "part"]).optional() }), availablePhases: [ "processInput", "processOutputStream", "processOutputResult" ], createProcessor(config) { return new require_agent.TokenLimiterProcessor(config); } }; const toolCallFilterProvider = { info: { id: "tool-call-filter", name: "Tool Call Filter", description: "Filters out tool calls and results from messages, optionally targeting specific tools." }, configSchema: zod_v4.z.object({ exclude: zod_v4.z.array(zod_v4.z.string()).optional(), filterAfterToolSteps: zod_v4.z.number().optional(), preserveModelOutput: zod_v4.z.boolean().optional() }), availablePhases: ["processInput"], createProcessor(config) { return new require_agent.ToolCallFilter(config); } }; const batchPartsProvider = { info: { id: "batch-parts", name: "Batch Parts", description: "Batches multiple stream parts together to reduce stream overhead." }, configSchema: zod_v4.z.object({ batchSize: zod_v4.z.number().optional(), maxWaitTime: zod_v4.z.number().optional(), emitOnNonText: zod_v4.z.boolean().optional() }), availablePhases: ["processOutputStream"], createProcessor(config) { return new require_agent.BatchPartsProcessor(config); } }; const moderationProvider = { info: { id: "moderation", name: "Moderation", description: "Evaluates content against configurable moderation categories for content safety." }, configSchema: zod_v4.z.object({ model: zod_v4.z.string(), categories: zod_v4.z.array(zod_v4.z.string()).optional(), threshold: zod_v4.z.number().optional(), strategy: zod_v4.z.enum([ "block", "warn", "filter" ]).optional(), instructions: zod_v4.z.string().optional(), includeScores: zod_v4.z.boolean().optional(), chunkWindow: zod_v4.z.number().optional(), structuredOutputOptions: structuredOutputOptionsSchema, providerOptions: providerOptionsSchema }), availablePhases: [ "processInput", "processOutputResult", "processOutputStream" ], createProcessor(config) { return new require_agent.ModerationProcessor(config); } }; const promptInjectionDetectorProvider = { info: { id: "prompt-injection-detector", name: "Prompt Injection Detector", description: "Identifies and handles prompt injection attacks, jailbreaks, and data exfiltration attempts." }, configSchema: zod_v4.z.object({ model: zod_v4.z.string(), detectionTypes: zod_v4.z.array(zod_v4.z.string()).optional(), threshold: zod_v4.z.number().optional(), strategy: zod_v4.z.enum([ "block", "warn", "filter", "rewrite" ]).optional(), instructions: zod_v4.z.string().optional(), includeScores: zod_v4.z.boolean().optional(), structuredOutputOptions: structuredOutputOptionsSchema, providerOptions: providerOptionsSchema }), availablePhases: ["processInput"], createProcessor(config) { return new require_agent.PromptInjectionDetector(config); } }; const piiDetectorProvider = { info: { id: "pii-detector", name: "PII Detector", description: "Identifies and redacts personally identifiable information for privacy compliance." }, configSchema: zod_v4.z.object({ model: zod_v4.z.string(), detectionTypes: zod_v4.z.array(zod_v4.z.string()).optional(), threshold: zod_v4.z.number().optional(), strategy: zod_v4.z.enum([ "block", "warn", "filter", "redact" ]).optional(), redactionMethod: zod_v4.z.enum([ "mask", "hash", "remove", "placeholder" ]).optional(), instructions: zod_v4.z.string().optional(), includeDetections: zod_v4.z.boolean().optional(), preserveFormat: zod_v4.z.boolean().optional(), structuredOutputOptions: structuredOutputOptionsSchema, providerOptions: providerOptionsSchema }), availablePhases: ["processInput"], createProcessor(config) { return new require_agent.PIIDetector(config); } }; const languageDetectorProvider = { info: { id: "language-detector", name: "Language Detector", description: "Detects the language of input text and optionally translates it to a target language." }, configSchema: zod_v4.z.object({ model: zod_v4.z.string(), targetLanguages: zod_v4.z.array(zod_v4.z.string()), threshold: zod_v4.z.number().optional(), strategy: zod_v4.z.enum([ "detect", "translate", "block", "warn" ]).optional(), preserveOriginal: zod_v4.z.boolean().optional(), instructions: zod_v4.z.string().optional(), minTextLength: zod_v4.z.number().optional(), includeDetectionDetails: zod_v4.z.boolean().optional(), translationQuality: zod_v4.z.enum([ "speed", "quality", "balanced" ]).optional(), providerOptions: providerOptionsSchema }), availablePhases: ["processInput"], createProcessor(config) { return new require_agent.LanguageDetector(config); } }; const systemPromptScrubberProvider = { info: { id: "system-prompt-scrubber", name: "System Prompt Scrubber", description: "Detects and removes system prompt leakage from model outputs." }, configSchema: zod_v4.z.object({ model: zod_v4.z.string(), strategy: zod_v4.z.enum([ "block", "warn", "filter", "redact" ]).optional(), customPatterns: zod_v4.z.array(zod_v4.z.string()).optional(), includeDetections: zod_v4.z.boolean().optional(), instructions: zod_v4.z.string().optional(), redactionMethod: zod_v4.z.enum([ "mask", "placeholder", "remove" ]).optional(), placeholderText: zod_v4.z.string().optional(), structuredOutputOptions: structuredOutputOptionsSchema }), availablePhases: ["processOutputStream", "processOutputResult"], createProcessor(config) { return new require_agent.SystemPromptScrubber(config); } }; const BUILT_IN_PROCESSOR_PROVIDERS = { "unicode-normalizer": unicodeNormalizerProvider, "token-limiter": tokenLimiterProvider, "tool-call-filter": toolCallFilterProvider, "batch-parts": batchPartsProvider, moderation: moderationProvider, "prompt-injection-detector": promptInjectionDetectorProvider, "pii-detector": piiDetectorProvider, "language-detector": languageDetectorProvider, "system-prompt-scrubber": systemPromptScrubberProvider }; //#endregion exports.ALL_PROCESSOR_PHASES = ALL_PROCESSOR_PHASES; exports.BUILT_IN_PROCESSOR_PROVIDERS = BUILT_IN_PROCESSOR_PROVIDERS; exports.PhaseFilteredProcessor = PhaseFilteredProcessor; exports.batchPartsProvider = batchPartsProvider; exports.languageDetectorProvider = languageDetectorProvider; exports.moderationProvider = moderationProvider; exports.piiDetectorProvider = piiDetectorProvider; exports.promptInjectionDetectorProvider = promptInjectionDetectorProvider; exports.systemPromptScrubberProvider = systemPromptScrubberProvider; exports.tokenLimiterProvider = tokenLimiterProvider; exports.toolCallFilterProvider = toolCallFilterProvider; exports.unicodeNormalizerProvider = unicodeNormalizerProvider; //# sourceMappingURL=index.cjs.map