@mastra/core 1.5.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +386 -0
- package/dist/agent/index.cjs +13 -13
- package/dist/agent/index.js +2 -2
- package/dist/agent/message-list/adapters/AIV5Adapter.d.ts.map +1 -1
- package/dist/agent/message-list/conversion/output-converter.d.ts.map +1 -1
- package/dist/agent/message-list/index.cjs +18 -18
- package/dist/agent/message-list/index.js +1 -1
- package/dist/agent/workflows/prepare-stream/index.d.ts +7 -7
- package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts +7 -7
- package/dist/agent/workflows/prepare-stream/schema.d.ts +11 -11
- package/dist/{chunk-CQ4Z6ZAV.cjs → chunk-3U3XFMGJ.cjs} +7 -7
- package/dist/{chunk-CQ4Z6ZAV.cjs.map → chunk-3U3XFMGJ.cjs.map} +1 -1
- package/dist/{chunk-D57U4II4.js → chunk-4WG5K4CK.js} +9 -8
- package/dist/chunk-4WG5K4CK.js.map +1 -0
- package/dist/{chunk-UZFGMMKU.js → chunk-5K45E5VE.js} +37 -3
- package/dist/chunk-5K45E5VE.js.map +1 -0
- package/dist/{chunk-OQ5LZ6OV.cjs → chunk-5VQPSWPG.cjs} +149 -61
- package/dist/chunk-5VQPSWPG.cjs.map +1 -0
- package/dist/{chunk-AIRMLZ43.js → chunk-7EXW4AAG.js} +4 -4
- package/dist/{chunk-AIRMLZ43.js.map → chunk-7EXW4AAG.js.map} +1 -1
- package/dist/{chunk-S4VVZI4E.cjs → chunk-AYHSPIT6.cjs} +326 -5
- package/dist/chunk-AYHSPIT6.cjs.map +1 -0
- package/dist/{chunk-YW54RH77.cjs → chunk-DB7U2C5B.cjs} +12 -5
- package/dist/chunk-DB7U2C5B.cjs.map +1 -0
- package/dist/{chunk-DST75PA4.js → chunk-DGS2KGDI.js} +4 -4
- package/dist/{chunk-DST75PA4.js.map → chunk-DGS2KGDI.js.map} +1 -1
- package/dist/{chunk-YIN5F7VO.js → chunk-EEU5NHHU.js} +4254 -3958
- package/dist/chunk-EEU5NHHU.js.map +1 -0
- package/dist/{chunk-A6EWCOGA.cjs → chunk-H5S4PS44.cjs} +197 -27
- package/dist/chunk-H5S4PS44.cjs.map +1 -0
- package/dist/{chunk-3YMDR4OL.cjs → chunk-HTAUP7ER.cjs} +4 -4
- package/dist/{chunk-3YMDR4OL.cjs.map → chunk-HTAUP7ER.cjs.map} +1 -1
- package/dist/{chunk-OHLVZVIK.js → chunk-IC5OUWKJ.js} +12 -5
- package/dist/chunk-IC5OUWKJ.js.map +1 -0
- package/dist/{chunk-MZIMV2BB.js → chunk-IHDE4CJV.js} +244 -213
- package/dist/chunk-IHDE4CJV.js.map +1 -0
- package/dist/{chunk-3KJW4EMO.js → chunk-IHEYJDJP.js} +3 -3
- package/dist/{chunk-3KJW4EMO.js.map → chunk-IHEYJDJP.js.map} +1 -1
- package/dist/{chunk-CXVMDV2B.js → chunk-IOY7Y5GV.js} +197 -27
- package/dist/chunk-IOY7Y5GV.js.map +1 -0
- package/dist/{chunk-MDC6VYA6.cjs → chunk-KAVAKMOQ.cjs} +4 -8
- package/dist/chunk-KAVAKMOQ.cjs.map +1 -0
- package/dist/{chunk-7WC7ALDW.cjs → chunk-LNKS4TJ6.cjs} +6 -6
- package/dist/{chunk-7WC7ALDW.cjs.map → chunk-LNKS4TJ6.cjs.map} +1 -1
- package/dist/{chunk-R3364RAL.js → chunk-MWGGSA5Q.js} +4 -4
- package/dist/{chunk-R3364RAL.js.map → chunk-MWGGSA5Q.js.map} +1 -1
- package/dist/{chunk-QSN5KQXZ.cjs → chunk-O7PZ4VOO.cjs} +11 -11
- package/dist/{chunk-QSN5KQXZ.cjs.map → chunk-O7PZ4VOO.cjs.map} +1 -1
- package/dist/chunk-OQDRPRKM.cjs +46 -0
- package/dist/chunk-OQDRPRKM.cjs.map +1 -0
- package/dist/{chunk-YV2YGQRY.js → chunk-RHKNKJNM.js} +101 -13
- package/dist/chunk-RHKNKJNM.js.map +1 -0
- package/dist/{chunk-TPDMP7OD.js → chunk-RHYZ6CQN.js} +4 -8
- package/dist/chunk-RHYZ6CQN.js.map +1 -0
- package/dist/{chunk-G5JVVFIG.cjs → chunk-RZNHRIM7.cjs} +9 -9
- package/dist/{chunk-G5JVVFIG.cjs.map → chunk-RZNHRIM7.cjs.map} +1 -1
- package/dist/{chunk-JZ6TH4HQ.cjs → chunk-TL2TTA4X.cjs} +4260 -3962
- package/dist/chunk-TL2TTA4X.cjs.map +1 -0
- package/dist/{chunk-KNXZ7KYL.cjs → chunk-TVPANHLE.cjs} +40 -2
- package/dist/chunk-TVPANHLE.cjs.map +1 -0
- package/dist/{chunk-7S6LA43E.cjs → chunk-VJWRJWSC.cjs} +278 -248
- package/dist/chunk-VJWRJWSC.cjs.map +1 -0
- package/dist/chunk-X2HAI3OX.js +39 -0
- package/dist/chunk-X2HAI3OX.js.map +1 -0
- package/dist/{chunk-FZ5DRHKE.js → chunk-XB3DA67Q.js} +325 -5
- package/dist/chunk-XB3DA67Q.js.map +1 -0
- package/dist/{chunk-NUV3BLRH.cjs → chunk-XWZAKKFT.cjs} +17 -16
- package/dist/chunk-XWZAKKFT.cjs.map +1 -0
- package/dist/{chunk-4GB2GS4S.js → chunk-YM6245EM.js} +5 -5
- package/dist/{chunk-4GB2GS4S.js.map → chunk-YM6245EM.js.map} +1 -1
- package/dist/datasets/index.cjs +17 -17
- package/dist/datasets/index.js +2 -2
- package/dist/docs/SKILL.md +2 -1
- package/dist/docs/assets/SOURCE_MAP.json +417 -391
- package/dist/docs/references/docs-memory-observational-memory.md +2 -0
- package/dist/docs/references/docs-streaming-tool-streaming.md +6 -0
- package/dist/docs/references/docs-workspace-filesystem.md +21 -1
- package/dist/docs/references/reference-harness-harness-class.md +645 -0
- package/dist/docs/references/reference-memory-memory-class.md +1 -1
- package/dist/docs/references/reference-memory-observational-memory.md +1 -0
- package/dist/docs/references/reference-workspace-local-filesystem.md +25 -0
- package/dist/docs/references/reference-workspace-workspace-class.md +1 -24
- package/dist/docs/references/reference.md +1 -0
- package/dist/editor/types.d.ts +20 -1
- package/dist/editor/types.d.ts.map +1 -1
- package/dist/evals/base.d.ts.map +1 -1
- package/dist/evals/index.cjs +20 -20
- package/dist/evals/index.js +3 -3
- package/dist/evals/scoreTraces/index.cjs +5 -5
- package/dist/evals/scoreTraces/index.js +2 -2
- package/dist/events/index.cjs +6 -2
- package/dist/events/index.d.ts +1 -0
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +1 -1
- package/dist/harness/harness.d.ts +105 -35
- package/dist/harness/harness.d.ts.map +1 -1
- package/dist/harness/index.cjs +472 -64
- package/dist/harness/index.cjs.map +1 -1
- package/dist/harness/index.d.ts +2 -1
- package/dist/harness/index.d.ts.map +1 -1
- package/dist/harness/index.js +468 -62
- package/dist/harness/index.js.map +1 -1
- package/dist/harness/tools.d.ts +38 -0
- package/dist/harness/tools.d.ts.map +1 -1
- package/dist/harness/types.d.ts +64 -9
- package/dist/harness/types.d.ts.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/dist/llm/index.cjs +12 -12
- package/dist/llm/index.js +3 -3
- package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
- package/dist/loop/index.cjs +12 -12
- package/dist/loop/index.js +1 -1
- package/dist/loop/network/index.d.ts +6 -6
- package/dist/loop/network/index.d.ts.map +1 -1
- package/dist/loop/test-utils/options.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/index.d.ts +21 -21
- package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +14 -14
- package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +7 -7
- package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-loop/index.d.ts +21 -21
- package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
- package/dist/loop/workflows/schema.d.ts +30 -30
- package/dist/loop/workflows/stream.d.ts +0 -13
- package/dist/loop/workflows/stream.d.ts.map +1 -1
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.js +1 -1
- package/dist/memory/index.cjs +14 -14
- package/dist/memory/index.js +1 -1
- package/dist/models-dev-6P4CM74H.js +3 -0
- package/dist/{models-dev-MDI5E2YA.js.map → models-dev-6P4CM74H.js.map} +1 -1
- package/dist/models-dev-CLLSNT5L.cjs +12 -0
- package/dist/{models-dev-BW2GAM3K.cjs.map → models-dev-CLLSNT5L.cjs.map} +1 -1
- package/dist/processor-provider/index.cjs +256 -0
- package/dist/processor-provider/index.cjs.map +1 -0
- package/dist/processor-provider/index.d.ts +5 -0
- package/dist/processor-provider/index.d.ts.map +1 -0
- package/dist/processor-provider/index.js +243 -0
- package/dist/processor-provider/index.js.map +1 -0
- package/dist/processor-provider/phase-filtered-processor.d.ts +22 -0
- package/dist/processor-provider/phase-filtered-processor.d.ts.map +1 -0
- package/dist/processor-provider/providers/index.d.ts +12 -0
- package/dist/processor-provider/providers/index.d.ts.map +1 -0
- package/dist/processor-provider/types.d.ts +65 -0
- package/dist/processor-provider/types.d.ts.map +1 -0
- package/dist/processors/index.cjs +41 -41
- package/dist/processors/index.js +1 -1
- package/dist/processors/memory/message-history.d.ts.map +1 -1
- package/dist/processors/step-schema.d.ts +14 -14
- package/dist/provider-registry-HMTFO5FV.cjs +40 -0
- package/dist/{provider-registry-4PH2JPIA.cjs.map → provider-registry-HMTFO5FV.cjs.map} +1 -1
- package/dist/provider-registry-TTZ2WN2P.js +3 -0
- package/dist/{provider-registry-VEJ3PN4S.js.map → provider-registry-TTZ2WN2P.js.map} +1 -1
- package/dist/relevance/index.cjs +3 -3
- package/dist/relevance/index.js +1 -1
- package/dist/storage/base.d.ts +2 -1
- package/dist/storage/base.d.ts.map +1 -1
- package/dist/storage/constants.cjs +68 -52
- package/dist/storage/constants.d.ts +6 -2
- package/dist/storage/constants.d.ts.map +1 -1
- package/dist/storage/constants.js +1 -1
- package/dist/storage/domains/index.d.ts +1 -0
- package/dist/storage/domains/index.d.ts.map +1 -1
- package/dist/storage/domains/inmemory-db.d.ts +4 -1
- package/dist/storage/domains/inmemory-db.d.ts.map +1 -1
- package/dist/storage/domains/mcp-servers/base.d.ts +47 -0
- package/dist/storage/domains/mcp-servers/base.d.ts.map +1 -0
- package/dist/storage/domains/mcp-servers/index.d.ts +3 -0
- package/dist/storage/domains/mcp-servers/index.d.ts.map +1 -0
- package/dist/storage/domains/mcp-servers/inmemory.d.ts +31 -0
- package/dist/storage/domains/mcp-servers/inmemory.d.ts.map +1 -0
- package/dist/storage/domains/memory/inmemory.d.ts.map +1 -1
- package/dist/storage/domains/observability/types.d.ts +44 -44
- package/dist/storage/domains/operations/inmemory.d.ts.map +1 -1
- package/dist/storage/index.cjs +178 -154
- package/dist/storage/index.js +2 -2
- package/dist/storage/mock.d.ts.map +1 -1
- package/dist/storage/types.d.ts +220 -6
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/stream/MastraAgentNetworkStream.d.ts +1 -1
- package/dist/stream/MastraWorkflowStream.d.ts +1 -1
- package/dist/stream/aisdk/v5/input.d.ts.map +1 -1
- package/dist/stream/base/input.d.ts +19 -0
- package/dist/stream/base/input.d.ts.map +1 -1
- package/dist/stream/base/output.d.ts.map +1 -1
- package/dist/stream/index.cjs +11 -11
- package/dist/stream/index.js +2 -2
- package/dist/tool-loop-agent/index.cjs +4 -4
- package/dist/tool-loop-agent/index.js +1 -1
- package/dist/vector/index.cjs +9 -9
- package/dist/vector/index.js +2 -2
- package/dist/workflows/evented/execution-engine.d.ts.map +1 -1
- package/dist/workflows/evented/index.cjs +10 -10
- package/dist/workflows/evented/index.js +1 -1
- package/dist/workflows/evented/step-executor.d.ts.map +1 -1
- package/dist/workflows/evented/workflow-event-processor/index.d.ts.map +1 -1
- package/dist/workflows/index.cjs +25 -25
- package/dist/workflows/index.js +1 -1
- package/dist/workflows/step.d.ts.map +1 -1
- package/dist/workspace/constants/index.d.ts +1 -0
- package/dist/workspace/constants/index.d.ts.map +1 -1
- package/dist/workspace/index.cjs +64 -64
- package/dist/workspace/index.js +1 -1
- package/dist/workspace/tools/ast-edit.d.ts +97 -0
- package/dist/workspace/tools/ast-edit.d.ts.map +1 -0
- package/dist/workspace/tools/search.d.ts +1 -1
- package/dist/workspace/tools/tools.d.ts.map +1 -1
- package/package.json +12 -11
- package/processor-provider.d.ts +1 -0
- package/dist/chunk-4D4KB75Y.cjs +0 -9
- package/dist/chunk-4D4KB75Y.cjs.map +0 -1
- package/dist/chunk-7S6LA43E.cjs.map +0 -1
- package/dist/chunk-A6EWCOGA.cjs.map +0 -1
- package/dist/chunk-BVUMKER5.js +0 -7
- package/dist/chunk-BVUMKER5.js.map +0 -1
- package/dist/chunk-CXVMDV2B.js.map +0 -1
- package/dist/chunk-D57U4II4.js.map +0 -1
- package/dist/chunk-FZ5DRHKE.js.map +0 -1
- package/dist/chunk-JZ6TH4HQ.cjs.map +0 -1
- package/dist/chunk-KNXZ7KYL.cjs.map +0 -1
- package/dist/chunk-MDC6VYA6.cjs.map +0 -1
- package/dist/chunk-MZIMV2BB.js.map +0 -1
- package/dist/chunk-NUV3BLRH.cjs.map +0 -1
- package/dist/chunk-OHLVZVIK.js.map +0 -1
- package/dist/chunk-OQ5LZ6OV.cjs.map +0 -1
- package/dist/chunk-S4VVZI4E.cjs.map +0 -1
- package/dist/chunk-TPDMP7OD.js.map +0 -1
- package/dist/chunk-UZFGMMKU.js.map +0 -1
- package/dist/chunk-YIN5F7VO.js.map +0 -1
- package/dist/chunk-YV2YGQRY.js.map +0 -1
- package/dist/chunk-YW54RH77.cjs.map +0 -1
- package/dist/models-dev-BW2GAM3K.cjs +0 -12
- package/dist/models-dev-MDI5E2YA.js +0 -3
- package/dist/provider-registry-4PH2JPIA.cjs +0 -40
- package/dist/provider-registry-VEJ3PN4S.js +0 -3
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
import { UnicodeNormalizer, TokenLimiterProcessor, ToolCallFilter, BatchPartsProcessor, ModerationProcessor, PromptInjectionDetector, PIIDetector, LanguageDetector, SystemPromptScrubber } from '../chunk-IHDE4CJV.js';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
|
|
4
|
+
// src/processor-provider/types.ts
|
|
5
|
+
var ALL_PROCESSOR_PHASES = [
|
|
6
|
+
"processInput",
|
|
7
|
+
"processInputStep",
|
|
8
|
+
"processOutputStream",
|
|
9
|
+
"processOutputResult",
|
|
10
|
+
"processOutputStep"
|
|
11
|
+
];
|
|
12
|
+
|
|
13
|
+
// src/processor-provider/phase-filtered-processor.ts
|
|
14
|
+
var PhaseFilteredProcessor = class {
|
|
15
|
+
id;
|
|
16
|
+
name;
|
|
17
|
+
description;
|
|
18
|
+
processorIndex;
|
|
19
|
+
#inner;
|
|
20
|
+
#enabledPhases;
|
|
21
|
+
constructor(inner, enabledPhases) {
|
|
22
|
+
this.#inner = inner;
|
|
23
|
+
this.#enabledPhases = new Set(enabledPhases);
|
|
24
|
+
this.id = inner.id;
|
|
25
|
+
this.name = inner.name;
|
|
26
|
+
this.description = inner.description;
|
|
27
|
+
if (this.#enabledPhases.has("processInput") && inner.processInput) {
|
|
28
|
+
this.processInput = inner.processInput.bind(inner);
|
|
29
|
+
}
|
|
30
|
+
if (this.#enabledPhases.has("processInputStep") && inner.processInputStep) {
|
|
31
|
+
this.processInputStep = inner.processInputStep.bind(inner);
|
|
32
|
+
}
|
|
33
|
+
if (this.#enabledPhases.has("processOutputStream") && inner.processOutputStream) {
|
|
34
|
+
this.processOutputStream = inner.processOutputStream.bind(inner);
|
|
35
|
+
}
|
|
36
|
+
if (this.#enabledPhases.has("processOutputResult") && inner.processOutputResult) {
|
|
37
|
+
this.processOutputResult = inner.processOutputResult.bind(inner);
|
|
38
|
+
}
|
|
39
|
+
if (this.#enabledPhases.has("processOutputStep") && inner.processOutputStep) {
|
|
40
|
+
this.processOutputStep = inner.processOutputStep.bind(inner);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
processInput;
|
|
44
|
+
processInputStep;
|
|
45
|
+
processOutputStream;
|
|
46
|
+
processOutputResult;
|
|
47
|
+
processOutputStep;
|
|
48
|
+
__registerMastra(mastra) {
|
|
49
|
+
this.#inner.__registerMastra?.(mastra);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
var structuredOutputOptionsSchema = z.object({ jsonPromptInjection: z.boolean().optional() }).optional();
|
|
53
|
+
var providerOptionsSchema = z.record(z.string(), z.any()).optional();
|
|
54
|
+
var unicodeNormalizerProvider = {
|
|
55
|
+
info: {
|
|
56
|
+
id: "unicode-normalizer",
|
|
57
|
+
name: "Unicode Normalizer",
|
|
58
|
+
description: "Normalizes Unicode text by stripping control characters, collapsing whitespace, and trimming."
|
|
59
|
+
},
|
|
60
|
+
configSchema: z.object({
|
|
61
|
+
stripControlChars: z.boolean().optional(),
|
|
62
|
+
preserveEmojis: z.boolean().optional(),
|
|
63
|
+
collapseWhitespace: z.boolean().optional(),
|
|
64
|
+
trim: z.boolean().optional()
|
|
65
|
+
}),
|
|
66
|
+
availablePhases: ["processInput"],
|
|
67
|
+
createProcessor(config) {
|
|
68
|
+
return new UnicodeNormalizer(config);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
var tokenLimiterProvider = {
|
|
72
|
+
info: {
|
|
73
|
+
id: "token-limiter",
|
|
74
|
+
name: "Token Limiter",
|
|
75
|
+
description: "Limits the number of tokens in messages, supporting both input filtering and output truncation."
|
|
76
|
+
},
|
|
77
|
+
configSchema: z.object({
|
|
78
|
+
limit: z.number(),
|
|
79
|
+
strategy: z.enum(["truncate", "abort"]).optional(),
|
|
80
|
+
countMode: z.enum(["cumulative", "part"]).optional()
|
|
81
|
+
}),
|
|
82
|
+
availablePhases: ["processInput", "processOutputStream", "processOutputResult"],
|
|
83
|
+
createProcessor(config) {
|
|
84
|
+
return new TokenLimiterProcessor(
|
|
85
|
+
config
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
var toolCallFilterProvider = {
|
|
90
|
+
info: {
|
|
91
|
+
id: "tool-call-filter",
|
|
92
|
+
name: "Tool Call Filter",
|
|
93
|
+
description: "Filters out tool calls and results from messages, optionally targeting specific tools."
|
|
94
|
+
},
|
|
95
|
+
configSchema: z.object({
|
|
96
|
+
exclude: z.array(z.string()).optional()
|
|
97
|
+
}),
|
|
98
|
+
availablePhases: ["processInput"],
|
|
99
|
+
createProcessor(config) {
|
|
100
|
+
return new ToolCallFilter(config);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
var batchPartsProvider = {
|
|
104
|
+
info: {
|
|
105
|
+
id: "batch-parts",
|
|
106
|
+
name: "Batch Parts",
|
|
107
|
+
description: "Batches multiple stream parts together to reduce stream overhead."
|
|
108
|
+
},
|
|
109
|
+
configSchema: z.object({
|
|
110
|
+
batchSize: z.number().optional(),
|
|
111
|
+
maxWaitTime: z.number().optional(),
|
|
112
|
+
emitOnNonText: z.boolean().optional()
|
|
113
|
+
}),
|
|
114
|
+
availablePhases: ["processOutputStream"],
|
|
115
|
+
createProcessor(config) {
|
|
116
|
+
return new BatchPartsProcessor(config);
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
var moderationProvider = {
|
|
120
|
+
info: {
|
|
121
|
+
id: "moderation",
|
|
122
|
+
name: "Moderation",
|
|
123
|
+
description: "Evaluates content against configurable moderation categories for content safety."
|
|
124
|
+
},
|
|
125
|
+
configSchema: z.object({
|
|
126
|
+
model: z.string(),
|
|
127
|
+
categories: z.array(z.string()).optional(),
|
|
128
|
+
threshold: z.number().optional(),
|
|
129
|
+
strategy: z.enum(["block", "warn", "filter"]).optional(),
|
|
130
|
+
instructions: z.string().optional(),
|
|
131
|
+
includeScores: z.boolean().optional(),
|
|
132
|
+
chunkWindow: z.number().optional(),
|
|
133
|
+
structuredOutputOptions: structuredOutputOptionsSchema,
|
|
134
|
+
providerOptions: providerOptionsSchema
|
|
135
|
+
}),
|
|
136
|
+
availablePhases: ["processInput", "processOutputResult", "processOutputStream"],
|
|
137
|
+
createProcessor(config) {
|
|
138
|
+
return new ModerationProcessor(config);
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
var promptInjectionDetectorProvider = {
|
|
142
|
+
info: {
|
|
143
|
+
id: "prompt-injection-detector",
|
|
144
|
+
name: "Prompt Injection Detector",
|
|
145
|
+
description: "Identifies and handles prompt injection attacks, jailbreaks, and data exfiltration attempts."
|
|
146
|
+
},
|
|
147
|
+
configSchema: z.object({
|
|
148
|
+
model: z.string(),
|
|
149
|
+
detectionTypes: z.array(z.string()).optional(),
|
|
150
|
+
threshold: z.number().optional(),
|
|
151
|
+
strategy: z.enum(["block", "warn", "filter", "rewrite"]).optional(),
|
|
152
|
+
instructions: z.string().optional(),
|
|
153
|
+
includeScores: z.boolean().optional(),
|
|
154
|
+
structuredOutputOptions: structuredOutputOptionsSchema,
|
|
155
|
+
providerOptions: providerOptionsSchema
|
|
156
|
+
}),
|
|
157
|
+
availablePhases: ["processInput"],
|
|
158
|
+
createProcessor(config) {
|
|
159
|
+
return new PromptInjectionDetector(config);
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
var piiDetectorProvider = {
|
|
163
|
+
info: {
|
|
164
|
+
id: "pii-detector",
|
|
165
|
+
name: "PII Detector",
|
|
166
|
+
description: "Identifies and redacts personally identifiable information for privacy compliance."
|
|
167
|
+
},
|
|
168
|
+
configSchema: z.object({
|
|
169
|
+
model: z.string(),
|
|
170
|
+
detectionTypes: z.array(z.string()).optional(),
|
|
171
|
+
threshold: z.number().optional(),
|
|
172
|
+
strategy: z.enum(["block", "warn", "filter", "redact"]).optional(),
|
|
173
|
+
redactionMethod: z.enum(["mask", "hash", "remove", "placeholder"]).optional(),
|
|
174
|
+
instructions: z.string().optional(),
|
|
175
|
+
includeDetections: z.boolean().optional(),
|
|
176
|
+
preserveFormat: z.boolean().optional(),
|
|
177
|
+
structuredOutputOptions: structuredOutputOptionsSchema,
|
|
178
|
+
providerOptions: providerOptionsSchema
|
|
179
|
+
}),
|
|
180
|
+
availablePhases: ["processInput"],
|
|
181
|
+
createProcessor(config) {
|
|
182
|
+
return new PIIDetector(config);
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
var languageDetectorProvider = {
|
|
186
|
+
info: {
|
|
187
|
+
id: "language-detector",
|
|
188
|
+
name: "Language Detector",
|
|
189
|
+
description: "Detects the language of input text and optionally translates it to a target language."
|
|
190
|
+
},
|
|
191
|
+
configSchema: z.object({
|
|
192
|
+
model: z.string(),
|
|
193
|
+
targetLanguages: z.array(z.string()),
|
|
194
|
+
threshold: z.number().optional(),
|
|
195
|
+
strategy: z.enum(["detect", "translate", "block", "warn"]).optional(),
|
|
196
|
+
preserveOriginal: z.boolean().optional(),
|
|
197
|
+
instructions: z.string().optional(),
|
|
198
|
+
minTextLength: z.number().optional(),
|
|
199
|
+
includeDetectionDetails: z.boolean().optional(),
|
|
200
|
+
translationQuality: z.enum(["speed", "quality", "balanced"]).optional(),
|
|
201
|
+
providerOptions: providerOptionsSchema
|
|
202
|
+
}),
|
|
203
|
+
availablePhases: ["processInput"],
|
|
204
|
+
createProcessor(config) {
|
|
205
|
+
return new LanguageDetector(config);
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
var systemPromptScrubberProvider = {
|
|
209
|
+
info: {
|
|
210
|
+
id: "system-prompt-scrubber",
|
|
211
|
+
name: "System Prompt Scrubber",
|
|
212
|
+
description: "Detects and removes system prompt leakage from model outputs."
|
|
213
|
+
},
|
|
214
|
+
configSchema: z.object({
|
|
215
|
+
model: z.string(),
|
|
216
|
+
strategy: z.enum(["block", "warn", "filter", "redact"]).optional(),
|
|
217
|
+
customPatterns: z.array(z.string()).optional(),
|
|
218
|
+
includeDetections: z.boolean().optional(),
|
|
219
|
+
instructions: z.string().optional(),
|
|
220
|
+
redactionMethod: z.enum(["mask", "placeholder", "remove"]).optional(),
|
|
221
|
+
placeholderText: z.string().optional(),
|
|
222
|
+
structuredOutputOptions: structuredOutputOptionsSchema
|
|
223
|
+
}),
|
|
224
|
+
availablePhases: ["processOutputStream", "processOutputResult"],
|
|
225
|
+
createProcessor(config) {
|
|
226
|
+
return new SystemPromptScrubber(config);
|
|
227
|
+
}
|
|
228
|
+
};
|
|
229
|
+
var BUILT_IN_PROCESSOR_PROVIDERS = {
|
|
230
|
+
"unicode-normalizer": unicodeNormalizerProvider,
|
|
231
|
+
"token-limiter": tokenLimiterProvider,
|
|
232
|
+
"tool-call-filter": toolCallFilterProvider,
|
|
233
|
+
"batch-parts": batchPartsProvider,
|
|
234
|
+
moderation: moderationProvider,
|
|
235
|
+
"prompt-injection-detector": promptInjectionDetectorProvider,
|
|
236
|
+
"pii-detector": piiDetectorProvider,
|
|
237
|
+
"language-detector": languageDetectorProvider,
|
|
238
|
+
"system-prompt-scrubber": systemPromptScrubberProvider
|
|
239
|
+
};
|
|
240
|
+
|
|
241
|
+
export { ALL_PROCESSOR_PHASES, BUILT_IN_PROCESSOR_PROVIDERS, PhaseFilteredProcessor, batchPartsProvider, languageDetectorProvider, moderationProvider, piiDetectorProvider, promptInjectionDetectorProvider, systemPromptScrubberProvider, tokenLimiterProvider, toolCallFilterProvider, unicodeNormalizerProvider };
|
|
242
|
+
//# sourceMappingURL=index.js.map
|
|
243
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/processor-provider/types.ts","../../src/processor-provider/phase-filtered-processor.ts","../../src/processor-provider/providers/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type { ZodSchema } from 'zod';\nimport type { Processor } from '../processors';\n\n/**\n * The five processor phases corresponding to the five optional methods on Processor.\n */\nexport type ProcessorPhase =\n | 'processInput'\n | 'processInputStep'\n | 'processOutputStream'\n | 'processOutputResult'\n | 'processOutputStep';\n\n/**\n * All processor phases.\n */\nexport const ALL_PROCESSOR_PHASES: ProcessorPhase[] = [\n 'processInput',\n 'processInputStep',\n 'processOutputStream',\n 'processOutputResult',\n 'processOutputStep',\n];\n\n/**\n * Metadata about a processor provider.\n */\nexport interface ProcessorProviderInfo {\n /** Unique identifier for this provider (e.g., 'moderation', 'token-limiter') */\n id: string;\n /** Human-readable name */\n name: string;\n /** Short description of the provider */\n description?: string;\n}\n\n/**\n * Info about a processor available from a provider (used for UI listing).\n */\nexport interface ProcessorProviderProcessorInfo {\n /** Unique slug for this processor within the provider */\n slug: string;\n /** Human-readable name */\n name: string;\n /** Description of what this processor does */\n description?: string;\n /** Which phases this processor supports */\n availablePhases: ProcessorPhase[];\n}\n\n/**\n * Interface for processor providers that supply configurable processors to agents.\n *\n * Processor providers serve two purposes:\n * 1. **Discovery** — UI uses `info`, `configSchema`, `availablePhases` to render configuration forms\n * 2. **Runtime** — Agent hydration uses `createProcessor()` to instantiate processors from stored config\n */\nexport interface ProcessorProvider {\n /** Provider metadata */\n readonly info: ProcessorProviderInfo;\n\n /**\n * Zod schema describing the configuration this provider accepts.\n * Used by the UI to render a configuration form.\n * The validated config object is passed to `createProcessor()`.\n */\n readonly configSchema: ZodSchema;\n\n /**\n * Which processor phases this provider's processors support.\n * Used by the UI to show which phases can be enabled.\n */\n readonly availablePhases: ProcessorPhase[];\n\n /**\n * Create a processor instance from the given configuration.\n * Called during agent hydration to resolve stored processor configs into live instances.\n *\n * @param config - Configuration object matching `configSchema`\n * @returns A Processor instance\n */\n createProcessor(config: Record<string, unknown>): Processor;\n}\n","import type { Mastra } from '../mastra';\nimport type { Processor } from '../processors';\nimport type { ProcessorPhase } from './types';\n\n/**\n * Wraps an existing Processor and only exposes the selected phases.\n * Unselected phase methods are left undefined, so the runner/step-creator skips them.\n */\nexport class PhaseFilteredProcessor<TId extends string = string, TTripwireMetadata = unknown> implements Processor<\n TId,\n TTripwireMetadata\n> {\n readonly id: TId;\n readonly name?: string;\n readonly description?: string;\n processorIndex?: number;\n\n readonly #inner: Processor<TId, TTripwireMetadata>;\n readonly #enabledPhases: Set<ProcessorPhase>;\n\n constructor(inner: Processor<TId, TTripwireMetadata>, enabledPhases: ProcessorPhase[]) {\n this.#inner = inner;\n this.#enabledPhases = new Set(enabledPhases);\n this.id = inner.id;\n this.name = inner.name;\n this.description = inner.description;\n\n // Bind enabled phase methods to the inner processor\n if (this.#enabledPhases.has('processInput') && inner.processInput) {\n this.processInput = inner.processInput.bind(inner) as Processor<TId, TTripwireMetadata>['processInput'];\n }\n if (this.#enabledPhases.has('processInputStep') && inner.processInputStep) {\n this.processInputStep = inner.processInputStep.bind(inner) as Processor<\n TId,\n TTripwireMetadata\n >['processInputStep'];\n }\n if (this.#enabledPhases.has('processOutputStream') && inner.processOutputStream) {\n this.processOutputStream = inner.processOutputStream.bind(inner) as Processor<\n TId,\n TTripwireMetadata\n >['processOutputStream'];\n }\n if (this.#enabledPhases.has('processOutputResult') && inner.processOutputResult) {\n this.processOutputResult = inner.processOutputResult.bind(inner) as Processor<\n TId,\n TTripwireMetadata\n >['processOutputResult'];\n }\n if (this.#enabledPhases.has('processOutputStep') && inner.processOutputStep) {\n this.processOutputStep = inner.processOutputStep.bind(inner) as Processor<\n TId,\n TTripwireMetadata\n >['processOutputStep'];\n }\n }\n\n processInput?: Processor<TId, TTripwireMetadata>['processInput'];\n processInputStep?: Processor<TId, TTripwireMetadata>['processInputStep'];\n processOutputStream?: Processor<TId, TTripwireMetadata>['processOutputStream'];\n processOutputResult?: Processor<TId, TTripwireMetadata>['processOutputResult'];\n processOutputStep?: Processor<TId, TTripwireMetadata>['processOutputStep'];\n\n __registerMastra(mastra: Mastra<any, any, any, any, any, any, any, any, any, any>): void {\n this.#inner.__registerMastra?.(mastra);\n }\n}\n","import { z } from 'zod';\n\nimport { BatchPartsProcessor } from '../../processors/processors/batch-parts';\nimport { LanguageDetector } from '../../processors/processors/language-detector';\nimport type { LanguageDetectorOptions } from '../../processors/processors/language-detector';\nimport { ModerationProcessor } from '../../processors/processors/moderation';\nimport type { ModerationOptions } from '../../processors/processors/moderation';\nimport type { PIIDetectorOptions } from '../../processors/processors/pii-detector';\nimport { PIIDetector } from '../../processors/processors/pii-detector';\nimport { PromptInjectionDetector } from '../../processors/processors/prompt-injection-detector';\nimport type { PromptInjectionOptions } from '../../processors/processors/prompt-injection-detector';\nimport { SystemPromptScrubber } from '../../processors/processors/system-prompt-scrubber';\nimport type { SystemPromptScrubberOptions } from '../../processors/processors/system-prompt-scrubber';\nimport { TokenLimiterProcessor } from '../../processors/processors/token-limiter';\nimport { ToolCallFilter } from '../../processors/processors/tool-call-filter';\nimport { UnicodeNormalizer } from '../../processors/processors/unicode-normalizer';\nimport type { ProcessorProvider, ProcessorPhase } from '../types';\n\n// Reusable schema fragments\nconst structuredOutputOptionsSchema = z.object({ jsonPromptInjection: z.boolean().optional() }).optional();\nconst providerOptionsSchema = z.record(z.string(), z.any()).optional();\n\n// ---------------------------------------------------------------------------\n// 1. unicode-normalizer\n// ---------------------------------------------------------------------------\nexport const unicodeNormalizerProvider: ProcessorProvider = {\n info: {\n id: 'unicode-normalizer',\n name: 'Unicode Normalizer',\n description: 'Normalizes Unicode text by stripping control characters, collapsing whitespace, and trimming.',\n },\n configSchema: z.object({\n stripControlChars: z.boolean().optional(),\n preserveEmojis: z.boolean().optional(),\n collapseWhitespace: z.boolean().optional(),\n trim: z.boolean().optional(),\n }),\n availablePhases: ['processInput'] as ProcessorPhase[],\n createProcessor(config) {\n return new UnicodeNormalizer(config);\n },\n};\n\n// ---------------------------------------------------------------------------\n// 2. token-limiter\n// ---------------------------------------------------------------------------\nexport const tokenLimiterProvider: ProcessorProvider = {\n info: {\n id: 'token-limiter',\n name: 'Token Limiter',\n description: 'Limits the number of tokens in messages, supporting both input filtering and output truncation.',\n },\n configSchema: z.object({\n limit: z.number(),\n strategy: z.enum(['truncate', 'abort']).optional(),\n countMode: z.enum(['cumulative', 'part']).optional(),\n }),\n availablePhases: ['processInput', 'processOutputStream', 'processOutputResult'] as ProcessorPhase[],\n createProcessor(config) {\n return new TokenLimiterProcessor(\n config as { limit: number; strategy?: 'truncate' | 'abort'; countMode?: 'cumulative' | 'part' },\n );\n },\n};\n\n// ---------------------------------------------------------------------------\n// 3. tool-call-filter\n// ---------------------------------------------------------------------------\nexport const toolCallFilterProvider: ProcessorProvider = {\n info: {\n id: 'tool-call-filter',\n name: 'Tool Call Filter',\n description: 'Filters out tool calls and results from messages, optionally targeting specific tools.',\n },\n configSchema: z.object({\n exclude: z.array(z.string()).optional(),\n }),\n availablePhases: ['processInput'] as ProcessorPhase[],\n createProcessor(config) {\n return new ToolCallFilter(config as { exclude?: string[] });\n },\n};\n\n// ---------------------------------------------------------------------------\n// 4. batch-parts\n// ---------------------------------------------------------------------------\nexport const batchPartsProvider: ProcessorProvider = {\n info: {\n id: 'batch-parts',\n name: 'Batch Parts',\n description: 'Batches multiple stream parts together to reduce stream overhead.',\n },\n configSchema: z.object({\n batchSize: z.number().optional(),\n maxWaitTime: z.number().optional(),\n emitOnNonText: z.boolean().optional(),\n }),\n availablePhases: ['processOutputStream'] as ProcessorPhase[],\n createProcessor(config) {\n return new BatchPartsProcessor(config as { batchSize?: number; maxWaitTime?: number; emitOnNonText?: boolean });\n },\n};\n\n// ---------------------------------------------------------------------------\n// 5. moderation\n// ---------------------------------------------------------------------------\nexport const moderationProvider: ProcessorProvider = {\n info: {\n id: 'moderation',\n name: 'Moderation',\n description: 'Evaluates content against configurable moderation categories for content safety.',\n },\n configSchema: z.object({\n model: z.string(),\n categories: z.array(z.string()).optional(),\n threshold: z.number().optional(),\n strategy: z.enum(['block', 'warn', 'filter']).optional(),\n instructions: z.string().optional(),\n includeScores: z.boolean().optional(),\n chunkWindow: z.number().optional(),\n structuredOutputOptions: structuredOutputOptionsSchema,\n providerOptions: providerOptionsSchema,\n }),\n availablePhases: ['processInput', 'processOutputResult', 'processOutputStream'] as ProcessorPhase[],\n createProcessor(config) {\n return new ModerationProcessor(config as unknown as ModerationOptions);\n },\n};\n\n// ---------------------------------------------------------------------------\n// 6. prompt-injection-detector\n// ---------------------------------------------------------------------------\nexport const promptInjectionDetectorProvider: ProcessorProvider = {\n info: {\n id: 'prompt-injection-detector',\n name: 'Prompt Injection Detector',\n description: 'Identifies and handles prompt injection attacks, jailbreaks, and data exfiltration attempts.',\n },\n configSchema: z.object({\n model: z.string(),\n detectionTypes: z.array(z.string()).optional(),\n threshold: z.number().optional(),\n strategy: z.enum(['block', 'warn', 'filter', 'rewrite']).optional(),\n instructions: z.string().optional(),\n includeScores: z.boolean().optional(),\n structuredOutputOptions: structuredOutputOptionsSchema,\n providerOptions: providerOptionsSchema,\n }),\n availablePhases: ['processInput'] as ProcessorPhase[],\n createProcessor(config) {\n return new PromptInjectionDetector(config as unknown as PromptInjectionOptions);\n },\n};\n\n// ---------------------------------------------------------------------------\n// 7. pii-detector\n// ---------------------------------------------------------------------------\nexport const piiDetectorProvider: ProcessorProvider = {\n info: {\n id: 'pii-detector',\n name: 'PII Detector',\n description: 'Identifies and redacts personally identifiable information for privacy compliance.',\n },\n configSchema: z.object({\n model: z.string(),\n detectionTypes: z.array(z.string()).optional(),\n threshold: z.number().optional(),\n strategy: z.enum(['block', 'warn', 'filter', 'redact']).optional(),\n redactionMethod: z.enum(['mask', 'hash', 'remove', 'placeholder']).optional(),\n instructions: z.string().optional(),\n includeDetections: z.boolean().optional(),\n preserveFormat: z.boolean().optional(),\n structuredOutputOptions: structuredOutputOptionsSchema,\n providerOptions: providerOptionsSchema,\n }),\n availablePhases: ['processInput'] as ProcessorPhase[],\n createProcessor(config) {\n return new PIIDetector(config as unknown as PIIDetectorOptions);\n },\n};\n\n// ---------------------------------------------------------------------------\n// 8. language-detector\n// ---------------------------------------------------------------------------\nexport const languageDetectorProvider: ProcessorProvider = {\n info: {\n id: 'language-detector',\n name: 'Language Detector',\n description: 'Detects the language of input text and optionally translates it to a target language.',\n },\n configSchema: z.object({\n model: z.string(),\n targetLanguages: z.array(z.string()),\n threshold: z.number().optional(),\n strategy: z.enum(['detect', 'translate', 'block', 'warn']).optional(),\n preserveOriginal: z.boolean().optional(),\n instructions: z.string().optional(),\n minTextLength: z.number().optional(),\n includeDetectionDetails: z.boolean().optional(),\n translationQuality: z.enum(['speed', 'quality', 'balanced']).optional(),\n providerOptions: providerOptionsSchema,\n }),\n availablePhases: ['processInput'] as ProcessorPhase[],\n createProcessor(config) {\n return new LanguageDetector(config as unknown as LanguageDetectorOptions);\n },\n};\n\n// ---------------------------------------------------------------------------\n// 9. system-prompt-scrubber\n// ---------------------------------------------------------------------------\nexport const systemPromptScrubberProvider: ProcessorProvider = {\n info: {\n id: 'system-prompt-scrubber',\n name: 'System Prompt Scrubber',\n description: 'Detects and removes system prompt leakage from model outputs.',\n },\n configSchema: z.object({\n model: z.string(),\n strategy: z.enum(['block', 'warn', 'filter', 'redact']).optional(),\n customPatterns: z.array(z.string()).optional(),\n includeDetections: z.boolean().optional(),\n instructions: z.string().optional(),\n redactionMethod: z.enum(['mask', 'placeholder', 'remove']).optional(),\n placeholderText: z.string().optional(),\n structuredOutputOptions: structuredOutputOptionsSchema,\n }),\n availablePhases: ['processOutputStream', 'processOutputResult'] as ProcessorPhase[],\n createProcessor(config) {\n return new SystemPromptScrubber(config as unknown as SystemPromptScrubberOptions);\n },\n};\n\n// ---------------------------------------------------------------------------\n// Aggregated record of all built-in providers\n// ---------------------------------------------------------------------------\nexport const BUILT_IN_PROCESSOR_PROVIDERS: Record<string, ProcessorProvider> = {\n 'unicode-normalizer': unicodeNormalizerProvider,\n 'token-limiter': tokenLimiterProvider,\n 'tool-call-filter': toolCallFilterProvider,\n 'batch-parts': batchPartsProvider,\n moderation: moderationProvider,\n 'prompt-injection-detector': promptInjectionDetectorProvider,\n 'pii-detector': piiDetectorProvider,\n 'language-detector': languageDetectorProvider,\n 'system-prompt-scrubber': systemPromptScrubberProvider,\n};\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Mastra } from '../mastra/index.js';
|
|
2
|
+
import type { Processor } from '../processors/index.js';
|
|
3
|
+
import type { ProcessorPhase } from './types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Wraps an existing Processor and only exposes the selected phases.
|
|
6
|
+
* Unselected phase methods are left undefined, so the runner/step-creator skips them.
|
|
7
|
+
*/
|
|
8
|
+
export declare class PhaseFilteredProcessor<TId extends string = string, TTripwireMetadata = unknown> implements Processor<TId, TTripwireMetadata> {
|
|
9
|
+
#private;
|
|
10
|
+
readonly id: TId;
|
|
11
|
+
readonly name?: string;
|
|
12
|
+
readonly description?: string;
|
|
13
|
+
processorIndex?: number;
|
|
14
|
+
constructor(inner: Processor<TId, TTripwireMetadata>, enabledPhases: ProcessorPhase[]);
|
|
15
|
+
processInput?: Processor<TId, TTripwireMetadata>['processInput'];
|
|
16
|
+
processInputStep?: Processor<TId, TTripwireMetadata>['processInputStep'];
|
|
17
|
+
processOutputStream?: Processor<TId, TTripwireMetadata>['processOutputStream'];
|
|
18
|
+
processOutputResult?: Processor<TId, TTripwireMetadata>['processOutputResult'];
|
|
19
|
+
processOutputStep?: Processor<TId, TTripwireMetadata>['processOutputStep'];
|
|
20
|
+
__registerMastra(mastra: Mastra<any, any, any, any, any, any, any, any, any, any>): void;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=phase-filtered-processor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phase-filtered-processor.d.ts","sourceRoot":"","sources":["../../src/processor-provider/phase-filtered-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;GAGG;AACH,qBAAa,sBAAsB,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAE,YAAW,SAAS,CAChH,GAAG,EACH,iBAAiB,CAClB;;IACC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC;IACjB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;gBAKZ,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,aAAa,EAAE,cAAc,EAAE;IAqCrF,YAAY,CAAC,EAAE,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,cAAc,CAAC,CAAC;IACjE,gBAAgB,CAAC,EAAE,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACzE,mBAAmB,CAAC,EAAE,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC;IAC/E,mBAAmB,CAAC,EAAE,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC;IAC/E,iBAAiB,CAAC,EAAE,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAE3E,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI;CAGzF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ProcessorProvider } from '../types.js';
|
|
2
|
+
export declare const unicodeNormalizerProvider: ProcessorProvider;
|
|
3
|
+
export declare const tokenLimiterProvider: ProcessorProvider;
|
|
4
|
+
export declare const toolCallFilterProvider: ProcessorProvider;
|
|
5
|
+
export declare const batchPartsProvider: ProcessorProvider;
|
|
6
|
+
export declare const moderationProvider: ProcessorProvider;
|
|
7
|
+
export declare const promptInjectionDetectorProvider: ProcessorProvider;
|
|
8
|
+
export declare const piiDetectorProvider: ProcessorProvider;
|
|
9
|
+
export declare const languageDetectorProvider: ProcessorProvider;
|
|
10
|
+
export declare const systemPromptScrubberProvider: ProcessorProvider;
|
|
11
|
+
export declare const BUILT_IN_PROCESSOR_PROVIDERS: Record<string, ProcessorProvider>;
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/processor-provider/providers/index.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,iBAAiB,EAAkB,MAAM,UAAU,CAAC;AASlE,eAAO,MAAM,yBAAyB,EAAE,iBAgBvC,CAAC;AAKF,eAAO,MAAM,oBAAoB,EAAE,iBAiBlC,CAAC;AAKF,eAAO,MAAM,sBAAsB,EAAE,iBAapC,CAAC;AAKF,eAAO,MAAM,kBAAkB,EAAE,iBAehC,CAAC;AAKF,eAAO,MAAM,kBAAkB,EAAE,iBAqBhC,CAAC;AAKF,eAAO,MAAM,+BAA+B,EAAE,iBAoB7C,CAAC;AAKF,eAAO,MAAM,mBAAmB,EAAE,iBAsBjC,CAAC;AAKF,eAAO,MAAM,wBAAwB,EAAE,iBAsBtC,CAAC;AAKF,eAAO,MAAM,4BAA4B,EAAE,iBAoB1C,CAAC;AAKF,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAU1E,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { ZodSchema } from 'zod';
|
|
2
|
+
import type { Processor } from '../processors/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* The five processor phases corresponding to the five optional methods on Processor.
|
|
5
|
+
*/
|
|
6
|
+
export type ProcessorPhase = 'processInput' | 'processInputStep' | 'processOutputStream' | 'processOutputResult' | 'processOutputStep';
|
|
7
|
+
/**
|
|
8
|
+
* All processor phases.
|
|
9
|
+
*/
|
|
10
|
+
export declare const ALL_PROCESSOR_PHASES: ProcessorPhase[];
|
|
11
|
+
/**
|
|
12
|
+
* Metadata about a processor provider.
|
|
13
|
+
*/
|
|
14
|
+
export interface ProcessorProviderInfo {
|
|
15
|
+
/** Unique identifier for this provider (e.g., 'moderation', 'token-limiter') */
|
|
16
|
+
id: string;
|
|
17
|
+
/** Human-readable name */
|
|
18
|
+
name: string;
|
|
19
|
+
/** Short description of the provider */
|
|
20
|
+
description?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Info about a processor available from a provider (used for UI listing).
|
|
24
|
+
*/
|
|
25
|
+
export interface ProcessorProviderProcessorInfo {
|
|
26
|
+
/** Unique slug for this processor within the provider */
|
|
27
|
+
slug: string;
|
|
28
|
+
/** Human-readable name */
|
|
29
|
+
name: string;
|
|
30
|
+
/** Description of what this processor does */
|
|
31
|
+
description?: string;
|
|
32
|
+
/** Which phases this processor supports */
|
|
33
|
+
availablePhases: ProcessorPhase[];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Interface for processor providers that supply configurable processors to agents.
|
|
37
|
+
*
|
|
38
|
+
* Processor providers serve two purposes:
|
|
39
|
+
* 1. **Discovery** — UI uses `info`, `configSchema`, `availablePhases` to render configuration forms
|
|
40
|
+
* 2. **Runtime** — Agent hydration uses `createProcessor()` to instantiate processors from stored config
|
|
41
|
+
*/
|
|
42
|
+
export interface ProcessorProvider {
|
|
43
|
+
/** Provider metadata */
|
|
44
|
+
readonly info: ProcessorProviderInfo;
|
|
45
|
+
/**
|
|
46
|
+
* Zod schema describing the configuration this provider accepts.
|
|
47
|
+
* Used by the UI to render a configuration form.
|
|
48
|
+
* The validated config object is passed to `createProcessor()`.
|
|
49
|
+
*/
|
|
50
|
+
readonly configSchema: ZodSchema;
|
|
51
|
+
/**
|
|
52
|
+
* Which processor phases this provider's processors support.
|
|
53
|
+
* Used by the UI to show which phases can be enabled.
|
|
54
|
+
*/
|
|
55
|
+
readonly availablePhases: ProcessorPhase[];
|
|
56
|
+
/**
|
|
57
|
+
* Create a processor instance from the given configuration.
|
|
58
|
+
* Called during agent hydration to resolve stored processor configs into live instances.
|
|
59
|
+
*
|
|
60
|
+
* @param config - Configuration object matching `configSchema`
|
|
61
|
+
* @returns A Processor instance
|
|
62
|
+
*/
|
|
63
|
+
createProcessor(config: Record<string, unknown>): Processor;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/processor-provider/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,cAAc,GACd,kBAAkB,GAClB,qBAAqB,GACrB,qBAAqB,GACrB,mBAAmB,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAAc,EAMhD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,gFAAgF;IAChF,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,eAAe,EAAE,cAAc,EAAE,CAAC;CACnC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,wBAAwB;IACxB,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IAErC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,cAAc,EAAE,CAAC;IAE3C;;;;;;OAMG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAC7D"}
|
|
@@ -1,168 +1,168 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkVJWRJWSC_cjs = require('../chunk-VJWRJWSC.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
Object.defineProperty(exports, "BaseProcessor", {
|
|
8
8
|
enumerable: true,
|
|
9
|
-
get: function () { return
|
|
9
|
+
get: function () { return chunkVJWRJWSC_cjs.BaseProcessor; }
|
|
10
10
|
});
|
|
11
11
|
Object.defineProperty(exports, "BatchPartsProcessor", {
|
|
12
12
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
13
|
+
get: function () { return chunkVJWRJWSC_cjs.BatchPartsProcessor; }
|
|
14
14
|
});
|
|
15
15
|
Object.defineProperty(exports, "FilePartSchema", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunkVJWRJWSC_cjs.FilePartSchema; }
|
|
18
18
|
});
|
|
19
19
|
Object.defineProperty(exports, "ImagePartSchema", {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return chunkVJWRJWSC_cjs.ImagePartSchema; }
|
|
22
22
|
});
|
|
23
23
|
Object.defineProperty(exports, "LanguageDetector", {
|
|
24
24
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
25
|
+
get: function () { return chunkVJWRJWSC_cjs.LanguageDetector; }
|
|
26
26
|
});
|
|
27
27
|
Object.defineProperty(exports, "MessageContentSchema", {
|
|
28
28
|
enumerable: true,
|
|
29
|
-
get: function () { return
|
|
29
|
+
get: function () { return chunkVJWRJWSC_cjs.MessageContentSchema; }
|
|
30
30
|
});
|
|
31
31
|
Object.defineProperty(exports, "MessageHistory", {
|
|
32
32
|
enumerable: true,
|
|
33
|
-
get: function () { return
|
|
33
|
+
get: function () { return chunkVJWRJWSC_cjs.MessageHistory; }
|
|
34
34
|
});
|
|
35
35
|
Object.defineProperty(exports, "MessagePartSchema", {
|
|
36
36
|
enumerable: true,
|
|
37
|
-
get: function () { return
|
|
37
|
+
get: function () { return chunkVJWRJWSC_cjs.MessagePartSchema; }
|
|
38
38
|
});
|
|
39
39
|
Object.defineProperty(exports, "ModerationProcessor", {
|
|
40
40
|
enumerable: true,
|
|
41
|
-
get: function () { return
|
|
41
|
+
get: function () { return chunkVJWRJWSC_cjs.ModerationProcessor; }
|
|
42
42
|
});
|
|
43
43
|
Object.defineProperty(exports, "PIIDetector", {
|
|
44
44
|
enumerable: true,
|
|
45
|
-
get: function () { return
|
|
45
|
+
get: function () { return chunkVJWRJWSC_cjs.PIIDetector; }
|
|
46
46
|
});
|
|
47
47
|
Object.defineProperty(exports, "ProcessorInputPhaseSchema", {
|
|
48
48
|
enumerable: true,
|
|
49
|
-
get: function () { return
|
|
49
|
+
get: function () { return chunkVJWRJWSC_cjs.ProcessorInputPhaseSchema; }
|
|
50
50
|
});
|
|
51
51
|
Object.defineProperty(exports, "ProcessorInputStepPhaseSchema", {
|
|
52
52
|
enumerable: true,
|
|
53
|
-
get: function () { return
|
|
53
|
+
get: function () { return chunkVJWRJWSC_cjs.ProcessorInputStepPhaseSchema; }
|
|
54
54
|
});
|
|
55
55
|
Object.defineProperty(exports, "ProcessorMessageContentSchema", {
|
|
56
56
|
enumerable: true,
|
|
57
|
-
get: function () { return
|
|
57
|
+
get: function () { return chunkVJWRJWSC_cjs.ProcessorMessageContentSchema; }
|
|
58
58
|
});
|
|
59
59
|
Object.defineProperty(exports, "ProcessorMessageSchema", {
|
|
60
60
|
enumerable: true,
|
|
61
|
-
get: function () { return
|
|
61
|
+
get: function () { return chunkVJWRJWSC_cjs.ProcessorMessageSchema; }
|
|
62
62
|
});
|
|
63
63
|
Object.defineProperty(exports, "ProcessorOutputResultPhaseSchema", {
|
|
64
64
|
enumerable: true,
|
|
65
|
-
get: function () { return
|
|
65
|
+
get: function () { return chunkVJWRJWSC_cjs.ProcessorOutputResultPhaseSchema; }
|
|
66
66
|
});
|
|
67
67
|
Object.defineProperty(exports, "ProcessorOutputStepPhaseSchema", {
|
|
68
68
|
enumerable: true,
|
|
69
|
-
get: function () { return
|
|
69
|
+
get: function () { return chunkVJWRJWSC_cjs.ProcessorOutputStepPhaseSchema; }
|
|
70
70
|
});
|
|
71
71
|
Object.defineProperty(exports, "ProcessorOutputStreamPhaseSchema", {
|
|
72
72
|
enumerable: true,
|
|
73
|
-
get: function () { return
|
|
73
|
+
get: function () { return chunkVJWRJWSC_cjs.ProcessorOutputStreamPhaseSchema; }
|
|
74
74
|
});
|
|
75
75
|
Object.defineProperty(exports, "ProcessorRunner", {
|
|
76
76
|
enumerable: true,
|
|
77
|
-
get: function () { return
|
|
77
|
+
get: function () { return chunkVJWRJWSC_cjs.ProcessorRunner; }
|
|
78
78
|
});
|
|
79
79
|
Object.defineProperty(exports, "ProcessorState", {
|
|
80
80
|
enumerable: true,
|
|
81
|
-
get: function () { return
|
|
81
|
+
get: function () { return chunkVJWRJWSC_cjs.ProcessorState; }
|
|
82
82
|
});
|
|
83
83
|
Object.defineProperty(exports, "ProcessorStepInputSchema", {
|
|
84
84
|
enumerable: true,
|
|
85
|
-
get: function () { return
|
|
85
|
+
get: function () { return chunkVJWRJWSC_cjs.ProcessorStepInputSchema; }
|
|
86
86
|
});
|
|
87
87
|
Object.defineProperty(exports, "ProcessorStepOutputSchema", {
|
|
88
88
|
enumerable: true,
|
|
89
|
-
get: function () { return
|
|
89
|
+
get: function () { return chunkVJWRJWSC_cjs.ProcessorStepOutputSchema; }
|
|
90
90
|
});
|
|
91
91
|
Object.defineProperty(exports, "ProcessorStepSchema", {
|
|
92
92
|
enumerable: true,
|
|
93
|
-
get: function () { return
|
|
93
|
+
get: function () { return chunkVJWRJWSC_cjs.ProcessorStepSchema; }
|
|
94
94
|
});
|
|
95
95
|
Object.defineProperty(exports, "PromptInjectionDetector", {
|
|
96
96
|
enumerable: true,
|
|
97
|
-
get: function () { return
|
|
97
|
+
get: function () { return chunkVJWRJWSC_cjs.PromptInjectionDetector; }
|
|
98
98
|
});
|
|
99
99
|
Object.defineProperty(exports, "ReasoningPartSchema", {
|
|
100
100
|
enumerable: true,
|
|
101
|
-
get: function () { return
|
|
101
|
+
get: function () { return chunkVJWRJWSC_cjs.ReasoningPartSchema; }
|
|
102
102
|
});
|
|
103
103
|
Object.defineProperty(exports, "SemanticRecall", {
|
|
104
104
|
enumerable: true,
|
|
105
|
-
get: function () { return
|
|
105
|
+
get: function () { return chunkVJWRJWSC_cjs.SemanticRecall; }
|
|
106
106
|
});
|
|
107
107
|
Object.defineProperty(exports, "SkillsProcessor", {
|
|
108
108
|
enumerable: true,
|
|
109
|
-
get: function () { return
|
|
109
|
+
get: function () { return chunkVJWRJWSC_cjs.SkillsProcessor; }
|
|
110
110
|
});
|
|
111
111
|
Object.defineProperty(exports, "SourcePartSchema", {
|
|
112
112
|
enumerable: true,
|
|
113
|
-
get: function () { return
|
|
113
|
+
get: function () { return chunkVJWRJWSC_cjs.SourcePartSchema; }
|
|
114
114
|
});
|
|
115
115
|
Object.defineProperty(exports, "StepStartPartSchema", {
|
|
116
116
|
enumerable: true,
|
|
117
|
-
get: function () { return
|
|
117
|
+
get: function () { return chunkVJWRJWSC_cjs.StepStartPartSchema; }
|
|
118
118
|
});
|
|
119
119
|
Object.defineProperty(exports, "StructuredOutputProcessor", {
|
|
120
120
|
enumerable: true,
|
|
121
|
-
get: function () { return
|
|
121
|
+
get: function () { return chunkVJWRJWSC_cjs.StructuredOutputProcessor; }
|
|
122
122
|
});
|
|
123
123
|
Object.defineProperty(exports, "SystemPromptScrubber", {
|
|
124
124
|
enumerable: true,
|
|
125
|
-
get: function () { return
|
|
125
|
+
get: function () { return chunkVJWRJWSC_cjs.SystemPromptScrubber; }
|
|
126
126
|
});
|
|
127
127
|
Object.defineProperty(exports, "TextPartSchema", {
|
|
128
128
|
enumerable: true,
|
|
129
|
-
get: function () { return
|
|
129
|
+
get: function () { return chunkVJWRJWSC_cjs.TextPartSchema; }
|
|
130
130
|
});
|
|
131
131
|
Object.defineProperty(exports, "TokenLimiter", {
|
|
132
132
|
enumerable: true,
|
|
133
|
-
get: function () { return
|
|
133
|
+
get: function () { return chunkVJWRJWSC_cjs.TokenLimiterProcessor; }
|
|
134
134
|
});
|
|
135
135
|
Object.defineProperty(exports, "TokenLimiterProcessor", {
|
|
136
136
|
enumerable: true,
|
|
137
|
-
get: function () { return
|
|
137
|
+
get: function () { return chunkVJWRJWSC_cjs.TokenLimiterProcessor; }
|
|
138
138
|
});
|
|
139
139
|
Object.defineProperty(exports, "ToolCallFilter", {
|
|
140
140
|
enumerable: true,
|
|
141
|
-
get: function () { return
|
|
141
|
+
get: function () { return chunkVJWRJWSC_cjs.ToolCallFilter; }
|
|
142
142
|
});
|
|
143
143
|
Object.defineProperty(exports, "ToolInvocationPartSchema", {
|
|
144
144
|
enumerable: true,
|
|
145
|
-
get: function () { return
|
|
145
|
+
get: function () { return chunkVJWRJWSC_cjs.ToolInvocationPartSchema; }
|
|
146
146
|
});
|
|
147
147
|
Object.defineProperty(exports, "ToolSearchProcessor", {
|
|
148
148
|
enumerable: true,
|
|
149
|
-
get: function () { return
|
|
149
|
+
get: function () { return chunkVJWRJWSC_cjs.ToolSearchProcessor; }
|
|
150
150
|
});
|
|
151
151
|
Object.defineProperty(exports, "UnicodeNormalizer", {
|
|
152
152
|
enumerable: true,
|
|
153
|
-
get: function () { return
|
|
153
|
+
get: function () { return chunkVJWRJWSC_cjs.UnicodeNormalizer; }
|
|
154
154
|
});
|
|
155
155
|
Object.defineProperty(exports, "WorkingMemory", {
|
|
156
156
|
enumerable: true,
|
|
157
|
-
get: function () { return
|
|
157
|
+
get: function () { return chunkVJWRJWSC_cjs.WorkingMemory; }
|
|
158
158
|
});
|
|
159
159
|
Object.defineProperty(exports, "globalEmbeddingCache", {
|
|
160
160
|
enumerable: true,
|
|
161
|
-
get: function () { return
|
|
161
|
+
get: function () { return chunkVJWRJWSC_cjs.globalEmbeddingCache; }
|
|
162
162
|
});
|
|
163
163
|
Object.defineProperty(exports, "isProcessorWorkflow", {
|
|
164
164
|
enumerable: true,
|
|
165
|
-
get: function () { return
|
|
165
|
+
get: function () { return chunkVJWRJWSC_cjs.isProcessorWorkflow; }
|
|
166
166
|
});
|
|
167
167
|
//# sourceMappingURL=index.cjs.map
|
|
168
168
|
//# sourceMappingURL=index.cjs.map
|
package/dist/processors/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { BaseProcessor, BatchPartsProcessor, FilePartSchema, ImagePartSchema, LanguageDetector, MessageContentSchema, MessageHistory, MessagePartSchema, ModerationProcessor, PIIDetector, ProcessorInputPhaseSchema, ProcessorInputStepPhaseSchema, ProcessorMessageContentSchema, ProcessorMessageSchema, ProcessorOutputResultPhaseSchema, ProcessorOutputStepPhaseSchema, ProcessorOutputStreamPhaseSchema, ProcessorRunner, ProcessorState, ProcessorStepInputSchema, ProcessorStepOutputSchema, ProcessorStepSchema, PromptInjectionDetector, ReasoningPartSchema, SemanticRecall, SkillsProcessor, SourcePartSchema, StepStartPartSchema, StructuredOutputProcessor, SystemPromptScrubber, TextPartSchema, TokenLimiterProcessor as TokenLimiter, TokenLimiterProcessor, ToolCallFilter, ToolInvocationPartSchema, ToolSearchProcessor, UnicodeNormalizer, WorkingMemory, globalEmbeddingCache, isProcessorWorkflow } from '../chunk-
|
|
1
|
+
export { BaseProcessor, BatchPartsProcessor, FilePartSchema, ImagePartSchema, LanguageDetector, MessageContentSchema, MessageHistory, MessagePartSchema, ModerationProcessor, PIIDetector, ProcessorInputPhaseSchema, ProcessorInputStepPhaseSchema, ProcessorMessageContentSchema, ProcessorMessageSchema, ProcessorOutputResultPhaseSchema, ProcessorOutputStepPhaseSchema, ProcessorOutputStreamPhaseSchema, ProcessorRunner, ProcessorState, ProcessorStepInputSchema, ProcessorStepOutputSchema, ProcessorStepSchema, PromptInjectionDetector, ReasoningPartSchema, SemanticRecall, SkillsProcessor, SourcePartSchema, StepStartPartSchema, StructuredOutputProcessor, SystemPromptScrubber, TextPartSchema, TokenLimiterProcessor as TokenLimiter, TokenLimiterProcessor, ToolCallFilter, ToolInvocationPartSchema, ToolSearchProcessor, UnicodeNormalizer, WorkingMemory, globalEmbeddingCache, isProcessorWorkflow } from '../chunk-IHDE4CJV.js';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-history.d.ts","sourceRoot":"","sources":["../../../src/processors/memory/message-history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,aAAa,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,qBAAa,cAAe,YAAW,SAAS;IAC9C,QAAQ,CAAC,EAAE,qBAAqB;IAChC,QAAQ,CAAC,IAAI,oBAAoB;IACjC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAAC,CAAS;gBAElB,OAAO,EAAE,qBAAqB;IAK1C;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAyBlB,YAAY,CAAC,IAAI,EAAE;QACvB,QAAQ,EAAE,eAAe,EAAE,CAAC;QAC5B,WAAW,EAAE,WAAW,CAAC;QACzB,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC;QAClC,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,cAAc,CAAC,EAAE,cAAc,CAAC;KACjC,GAAG,OAAO,CAAC,WAAW,GAAG,eAAe,EAAE,CAAC;IAmD5C;;;;;;;;;OASG;IACH,OAAO,CAAC,4BAA4B;IAgD9B,mBAAmB,CAAC,IAAI,EAAE;QAC9B,QAAQ,EAAE,eAAe,EAAE,CAAC;QAC5B,WAAW,EAAE,WAAW,CAAC;QACzB,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC;QAClC,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,cAAc,CAAC,EAAE,cAAc,CAAC;KACjC,GAAG,OAAO,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"message-history.d.ts","sourceRoot":"","sources":["../../../src/processors/memory/message-history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,aAAa,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,qBAAa,cAAe,YAAW,SAAS;IAC9C,QAAQ,CAAC,EAAE,qBAAqB;IAChC,QAAQ,CAAC,IAAI,oBAAoB;IACjC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAAC,CAAS;gBAElB,OAAO,EAAE,qBAAqB;IAK1C;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAyBlB,YAAY,CAAC,IAAI,EAAE;QACvB,QAAQ,EAAE,eAAe,EAAE,CAAC;QAC5B,WAAW,EAAE,WAAW,CAAC;QACzB,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC;QAClC,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,cAAc,CAAC,EAAE,cAAc,CAAC;KACjC,GAAG,OAAO,CAAC,WAAW,GAAG,eAAe,EAAE,CAAC;IAmD5C;;;;;;;;;OASG;IACH,OAAO,CAAC,4BAA4B;IAgD9B,mBAAmB,CAAC,IAAI,EAAE;QAC9B,QAAQ,EAAE,eAAe,EAAE,CAAC;QAC5B,WAAW,EAAE,WAAW,CAAC;QACzB,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC;QAClC,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,cAAc,CAAC,EAAE,cAAc,CAAC;KACjC,GAAG,OAAO,CAAC,WAAW,CAAC;IA+BxB;;;;;;OAMG;IACG,eAAe,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAsCnH"}
|