mcp-rubber-duck 1.7.0 → 1.9.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 +15 -0
- package/README.md +274 -2
- package/audit-ci.json +2 -1
- package/dist/config/config.d.ts +2 -0
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +144 -1
- package/dist/config/config.js.map +1 -1
- package/dist/config/types.d.ts +1084 -2
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +59 -0
- package/dist/config/types.js.map +1 -1
- package/dist/guardrails/context.d.ts +10 -0
- package/dist/guardrails/context.d.ts.map +1 -0
- package/dist/guardrails/context.js +35 -0
- package/dist/guardrails/context.js.map +1 -0
- package/dist/guardrails/errors.d.ts +26 -0
- package/dist/guardrails/errors.d.ts.map +1 -0
- package/dist/guardrails/errors.js +42 -0
- package/dist/guardrails/errors.js.map +1 -0
- package/dist/guardrails/index.d.ts +6 -0
- package/dist/guardrails/index.d.ts.map +1 -0
- package/dist/guardrails/index.js +11 -0
- package/dist/guardrails/index.js.map +1 -0
- package/dist/guardrails/plugins/base-plugin.d.ts +35 -0
- package/dist/guardrails/plugins/base-plugin.d.ts.map +1 -0
- package/dist/guardrails/plugins/base-plugin.js +70 -0
- package/dist/guardrails/plugins/base-plugin.js.map +1 -0
- package/dist/guardrails/plugins/index.d.ts +6 -0
- package/dist/guardrails/plugins/index.d.ts.map +1 -0
- package/dist/guardrails/plugins/index.js +6 -0
- package/dist/guardrails/plugins/index.js.map +1 -0
- package/dist/guardrails/plugins/pattern-blocker.d.ts +27 -0
- package/dist/guardrails/plugins/pattern-blocker.d.ts.map +1 -0
- package/dist/guardrails/plugins/pattern-blocker.js +140 -0
- package/dist/guardrails/plugins/pattern-blocker.js.map +1 -0
- package/dist/guardrails/plugins/pii-redactor/detectors.d.ts +40 -0
- package/dist/guardrails/plugins/pii-redactor/detectors.d.ts.map +1 -0
- package/dist/guardrails/plugins/pii-redactor/detectors.js +134 -0
- package/dist/guardrails/plugins/pii-redactor/detectors.js.map +1 -0
- package/dist/guardrails/plugins/pii-redactor/index.d.ts +28 -0
- package/dist/guardrails/plugins/pii-redactor/index.d.ts.map +1 -0
- package/dist/guardrails/plugins/pii-redactor/index.js +157 -0
- package/dist/guardrails/plugins/pii-redactor/index.js.map +1 -0
- package/dist/guardrails/plugins/pii-redactor/pseudonymizer.d.ts +33 -0
- package/dist/guardrails/plugins/pii-redactor/pseudonymizer.d.ts.map +1 -0
- package/dist/guardrails/plugins/pii-redactor/pseudonymizer.js +70 -0
- package/dist/guardrails/plugins/pii-redactor/pseudonymizer.js.map +1 -0
- package/dist/guardrails/plugins/rate-limiter.d.ts +28 -0
- package/dist/guardrails/plugins/rate-limiter.d.ts.map +1 -0
- package/dist/guardrails/plugins/rate-limiter.js +91 -0
- package/dist/guardrails/plugins/rate-limiter.js.map +1 -0
- package/dist/guardrails/plugins/token-limiter.d.ts +30 -0
- package/dist/guardrails/plugins/token-limiter.d.ts.map +1 -0
- package/dist/guardrails/plugins/token-limiter.js +98 -0
- package/dist/guardrails/plugins/token-limiter.js.map +1 -0
- package/dist/guardrails/service.d.ts +38 -0
- package/dist/guardrails/service.d.ts.map +1 -0
- package/dist/guardrails/service.js +183 -0
- package/dist/guardrails/service.js.map +1 -0
- package/dist/guardrails/types.d.ts +96 -0
- package/dist/guardrails/types.d.ts.map +1 -0
- package/dist/guardrails/types.js +2 -0
- package/dist/guardrails/types.js.map +1 -0
- package/dist/prompts/architecture.d.ts +6 -0
- package/dist/prompts/architecture.d.ts.map +1 -0
- package/dist/prompts/architecture.js +103 -0
- package/dist/prompts/architecture.js.map +1 -0
- package/dist/prompts/assumptions.d.ts +6 -0
- package/dist/prompts/assumptions.d.ts.map +1 -0
- package/dist/prompts/assumptions.js +72 -0
- package/dist/prompts/assumptions.js.map +1 -0
- package/dist/prompts/blindspots.d.ts +6 -0
- package/dist/prompts/blindspots.d.ts.map +1 -0
- package/dist/prompts/blindspots.js +71 -0
- package/dist/prompts/blindspots.js.map +1 -0
- package/dist/prompts/diverge-converge.d.ts +6 -0
- package/dist/prompts/diverge-converge.d.ts.map +1 -0
- package/dist/prompts/diverge-converge.js +85 -0
- package/dist/prompts/diverge-converge.js.map +1 -0
- package/dist/prompts/index.d.ts +22 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +57 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/perspectives.d.ts +7 -0
- package/dist/prompts/perspectives.d.ts.map +1 -0
- package/dist/prompts/perspectives.js +65 -0
- package/dist/prompts/perspectives.js.map +1 -0
- package/dist/prompts/red-team.d.ts +6 -0
- package/dist/prompts/red-team.d.ts.map +1 -0
- package/dist/prompts/red-team.js +83 -0
- package/dist/prompts/red-team.js.map +1 -0
- package/dist/prompts/reframe.d.ts +6 -0
- package/dist/prompts/reframe.d.ts.map +1 -0
- package/dist/prompts/reframe.js +71 -0
- package/dist/prompts/reframe.js.map +1 -0
- package/dist/prompts/tradeoffs.d.ts +6 -0
- package/dist/prompts/tradeoffs.d.ts.map +1 -0
- package/dist/prompts/tradeoffs.js +87 -0
- package/dist/prompts/tradeoffs.js.map +1 -0
- package/dist/prompts/types.d.ts +14 -0
- package/dist/prompts/types.d.ts.map +1 -0
- package/dist/prompts/types.js +2 -0
- package/dist/prompts/types.js.map +1 -0
- package/dist/providers/duck-provider-enhanced.d.ts +2 -1
- package/dist/providers/duck-provider-enhanced.d.ts.map +1 -1
- package/dist/providers/duck-provider-enhanced.js +55 -6
- package/dist/providers/duck-provider-enhanced.js.map +1 -1
- package/dist/providers/enhanced-manager.d.ts +2 -1
- package/dist/providers/enhanced-manager.d.ts.map +1 -1
- package/dist/providers/enhanced-manager.js +3 -3
- package/dist/providers/enhanced-manager.js.map +1 -1
- package/dist/providers/manager.d.ts +3 -1
- package/dist/providers/manager.d.ts.map +1 -1
- package/dist/providers/manager.js +4 -2
- package/dist/providers/manager.js.map +1 -1
- package/dist/providers/provider.d.ts +3 -1
- package/dist/providers/provider.d.ts.map +1 -1
- package/dist/providers/provider.js +43 -3
- package/dist/providers/provider.js.map +1 -1
- package/dist/server.d.ts +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +48 -7
- package/dist/server.js.map +1 -1
- package/dist/services/function-bridge.d.ts +3 -1
- package/dist/services/function-bridge.d.ts.map +1 -1
- package/dist/services/function-bridge.js +40 -1
- package/dist/services/function-bridge.js.map +1 -1
- package/package.json +1 -1
- package/src/config/config.ts +187 -1
- package/src/config/types.ts +73 -0
- package/src/guardrails/context.ts +37 -0
- package/src/guardrails/errors.ts +46 -0
- package/src/guardrails/index.ts +20 -0
- package/src/guardrails/plugins/base-plugin.ts +103 -0
- package/src/guardrails/plugins/index.ts +5 -0
- package/src/guardrails/plugins/pattern-blocker.ts +190 -0
- package/src/guardrails/plugins/pii-redactor/detectors.ts +200 -0
- package/src/guardrails/plugins/pii-redactor/index.ts +203 -0
- package/src/guardrails/plugins/pii-redactor/pseudonymizer.ts +91 -0
- package/src/guardrails/plugins/rate-limiter.ts +142 -0
- package/src/guardrails/plugins/token-limiter.ts +155 -0
- package/src/guardrails/service.ts +209 -0
- package/src/guardrails/types.ts +120 -0
- package/src/prompts/architecture.ts +111 -0
- package/src/prompts/assumptions.ts +80 -0
- package/src/prompts/blindspots.ts +79 -0
- package/src/prompts/diverge-converge.ts +92 -0
- package/src/prompts/index.ts +63 -0
- package/src/prompts/perspectives.ts +73 -0
- package/src/prompts/red-team.ts +91 -0
- package/src/prompts/reframe.ts +78 -0
- package/src/prompts/tradeoffs.ts +95 -0
- package/src/prompts/types.ts +14 -0
- package/src/providers/duck-provider-enhanced.ts +76 -7
- package/src/providers/enhanced-manager.ts +5 -3
- package/src/providers/manager.ts +6 -3
- package/src/providers/provider.ts +57 -6
- package/src/server.ts +55 -6
- package/src/services/function-bridge.ts +53 -2
- package/tests/guardrails/config.test.ts +267 -0
- package/tests/guardrails/errors.test.ts +109 -0
- package/tests/guardrails/plugins/pattern-blocker.test.ts +309 -0
- package/tests/guardrails/plugins/pii-redactor.test.ts +1004 -0
- package/tests/guardrails/plugins/rate-limiter.test.ts +310 -0
- package/tests/guardrails/plugins/token-limiter.test.ts +216 -0
- package/tests/guardrails/service.test.ts +911 -0
- package/tests/mcp-bridge.test.ts +248 -0
- package/tests/prompts.test.ts +314 -0
- package/tests/providers.test.ts +739 -0
package/dist/server.d.ts
CHANGED
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAkDA,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,iBAAiB,CAAC,CAAoB;IAC9C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,uBAAuB,CAAC,CAA0B;IAC1D,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,aAAa,CAAgB;IAGrC,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,UAAU,CAAkB;;IAyCpC,OAAO,CAAC,mBAAmB;IA8C3B,OAAO,CAAC,aAAa;YA+HP,oBAAoB;YAwCpB,yBAAyB;YA6BzB,wBAAwB;IAwBtC,OAAO,CAAC,0BAA0B;IAyClC,OAAO,CAAC,QAAQ;IA2ZV,KAAK;IA+CL,IAAI;CAuBX"}
|
package/dist/server.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
2
2
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
3
|
-
import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import { CallToolRequestSchema, ListToolsRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
4
4
|
import { ConfigManager } from './config/config.js';
|
|
5
5
|
import { ProviderManager } from './providers/manager.js';
|
|
6
6
|
import { EnhancedProviderManager } from './providers/enhanced-manager.js';
|
|
@@ -12,6 +12,7 @@ import { PricingService } from './services/pricing.js';
|
|
|
12
12
|
import { UsageService } from './services/usage.js';
|
|
13
13
|
import { ApprovalService } from './services/approval.js';
|
|
14
14
|
import { FunctionBridge } from './services/function-bridge.js';
|
|
15
|
+
import { GuardrailsService } from './guardrails/service.js';
|
|
15
16
|
import { logger } from './utils/logger.js';
|
|
16
17
|
import { duckArt, getRandomDuckMessage } from './utils/ascii-art.js';
|
|
17
18
|
// Import tools
|
|
@@ -32,11 +33,14 @@ import { approveMCPRequestTool } from './tools/approve-mcp-request.js';
|
|
|
32
33
|
import { mcpStatusTool } from './tools/mcp-status.js';
|
|
33
34
|
// Import usage stats tool
|
|
34
35
|
import { getUsageStatsTool } from './tools/get-usage-stats.js';
|
|
36
|
+
// Import prompts
|
|
37
|
+
import { getPrompts, getPrompt } from './prompts/index.js';
|
|
35
38
|
export class RubberDuckServer {
|
|
36
39
|
server;
|
|
37
40
|
configManager;
|
|
38
41
|
pricingService;
|
|
39
42
|
usageService;
|
|
43
|
+
guardrailsService;
|
|
40
44
|
providerManager;
|
|
41
45
|
enhancedProviderManager;
|
|
42
46
|
conversationManager;
|
|
@@ -54,6 +58,7 @@ export class RubberDuckServer {
|
|
|
54
58
|
}, {
|
|
55
59
|
capabilities: {
|
|
56
60
|
tools: {},
|
|
61
|
+
prompts: {},
|
|
57
62
|
},
|
|
58
63
|
});
|
|
59
64
|
// Initialize managers
|
|
@@ -62,8 +67,12 @@ export class RubberDuckServer {
|
|
|
62
67
|
// Initialize pricing and usage services
|
|
63
68
|
this.pricingService = new PricingService(config.pricing);
|
|
64
69
|
this.usageService = new UsageService(this.pricingService);
|
|
65
|
-
// Initialize
|
|
66
|
-
|
|
70
|
+
// Initialize guardrails service if configured
|
|
71
|
+
if (config.guardrails?.enabled) {
|
|
72
|
+
this.guardrailsService = new GuardrailsService(config.guardrails);
|
|
73
|
+
}
|
|
74
|
+
// Initialize provider manager with usage tracking and guardrails
|
|
75
|
+
this.providerManager = new ProviderManager(this.configManager, this.usageService, this.guardrailsService);
|
|
67
76
|
this.conversationManager = new ConversationManager();
|
|
68
77
|
this.cache = new ResponseCache(config.cache_ttl);
|
|
69
78
|
this.healthMonitor = new HealthMonitor(this.providerManager);
|
|
@@ -84,10 +93,10 @@ export class RubberDuckServer {
|
|
|
84
93
|
this.mcpClientManager = new MCPClientManager(mcpConfig.mcp_servers);
|
|
85
94
|
// Initialize approval service
|
|
86
95
|
this.approvalService = new ApprovalService(mcpConfig.approval_timeout);
|
|
87
|
-
// Initialize function bridge
|
|
88
|
-
this.functionBridge = new FunctionBridge(this.mcpClientManager, this.approvalService, mcpConfig.trusted_tools, mcpConfig.approval_mode, mcpConfig.trusted_tools_by_server || {});
|
|
89
|
-
// Initialize enhanced provider manager with usage tracking
|
|
90
|
-
this.enhancedProviderManager = new EnhancedProviderManager(this.configManager, this.functionBridge, this.usageService);
|
|
96
|
+
// Initialize function bridge with guardrails
|
|
97
|
+
this.functionBridge = new FunctionBridge(this.mcpClientManager, this.approvalService, mcpConfig.trusted_tools, mcpConfig.approval_mode, mcpConfig.trusted_tools_by_server || {}, this.guardrailsService);
|
|
98
|
+
// Initialize enhanced provider manager with usage tracking and guardrails
|
|
99
|
+
this.enhancedProviderManager = new EnhancedProviderManager(this.configManager, this.functionBridge, this.usageService, this.guardrailsService);
|
|
91
100
|
this.mcpEnabled = true;
|
|
92
101
|
logger.info('MCP bridge initialized successfully');
|
|
93
102
|
}
|
|
@@ -103,6 +112,22 @@ export class RubberDuckServer {
|
|
|
103
112
|
this.server.setRequestHandler(ListToolsRequestSchema, () => {
|
|
104
113
|
return { tools: this.getTools() };
|
|
105
114
|
});
|
|
115
|
+
// List available prompts
|
|
116
|
+
this.server.setRequestHandler(ListPromptsRequestSchema, () => {
|
|
117
|
+
return { prompts: getPrompts() };
|
|
118
|
+
});
|
|
119
|
+
// Get specific prompt
|
|
120
|
+
this.server.setRequestHandler(GetPromptRequestSchema, (request) => {
|
|
121
|
+
const { name, arguments: args } = request.params;
|
|
122
|
+
try {
|
|
123
|
+
return getPrompt(name, args || {});
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
127
|
+
logger.error(`Prompt error for ${name}:`, errorMessage);
|
|
128
|
+
throw error;
|
|
129
|
+
}
|
|
130
|
+
});
|
|
106
131
|
// Handle tool calls
|
|
107
132
|
this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
108
133
|
const { name, arguments: args } = request.params;
|
|
@@ -695,6 +720,18 @@ export class RubberDuckServer {
|
|
|
695
720
|
// eslint-disable-next-line no-console
|
|
696
721
|
console.log('\n' + getRandomDuckMessage('startup'));
|
|
697
722
|
}
|
|
723
|
+
// Initialize guardrails service if configured
|
|
724
|
+
if (this.guardrailsService) {
|
|
725
|
+
try {
|
|
726
|
+
await this.guardrailsService.initialize();
|
|
727
|
+
logger.info('Guardrails service initialized successfully');
|
|
728
|
+
}
|
|
729
|
+
catch (error) {
|
|
730
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
731
|
+
logger.error('Failed to initialize guardrails:', errorMessage);
|
|
732
|
+
logger.warn('Guardrails functionality may not be available');
|
|
733
|
+
}
|
|
734
|
+
}
|
|
698
735
|
// Initialize MCP connections if enabled
|
|
699
736
|
if (this.mcpEnabled && this.mcpClientManager) {
|
|
700
737
|
try {
|
|
@@ -721,6 +758,10 @@ export class RubberDuckServer {
|
|
|
721
758
|
async stop() {
|
|
722
759
|
// Cleanup usage service (flush pending writes)
|
|
723
760
|
this.usageService.shutdown();
|
|
761
|
+
// Cleanup guardrails service
|
|
762
|
+
if (this.guardrailsService) {
|
|
763
|
+
await this.guardrailsService.shutdown();
|
|
764
|
+
}
|
|
724
765
|
// Cleanup MCP resources
|
|
725
766
|
if (this.approvalService) {
|
|
726
767
|
this.approvalService.shutdown();
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,GAEvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAErE,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,mBAAmB;AACnB,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,0BAA0B;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,iBAAiB;AACjB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,OAAO,gBAAgB;IACnB,MAAM,CAAS;IACf,aAAa,CAAgB;IAC7B,cAAc,CAAiB;IAC/B,YAAY,CAAe;IAC3B,iBAAiB,CAAqB;IACtC,eAAe,CAAkB;IACjC,uBAAuB,CAA2B;IAClD,mBAAmB,CAAsB;IACzC,KAAK,CAAgB;IACrB,aAAa,CAAgB;IAErC,wBAAwB;IAChB,gBAAgB,CAAoB;IACpC,eAAe,CAAmB;IAClC,cAAc,CAAkB;IAChC,UAAU,GAAY,KAAK,CAAC;IAEpC;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CACtB;YACE,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,OAAO;SACjB,EACD;YACE,YAAY,EAAE;gBACZ,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,EAAE;aACZ;SACF,CACF,CAAC;QAEF,sBAAsB;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;QAE9C,wCAAwC;QACxC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE1D,8CAA8C;QAC9C,IAAI,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACpE,CAAC;QAED,iEAAiE;QACjE,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1G,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE7D,mCAAmC;QACnC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,mBAAmB;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;QAEpC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAE1C,gCAAgC;YAChC,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAEpE,8BAA8B;YAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;YAEvE,6CAA6C;YAC7C,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CACtC,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,eAAe,EACpB,SAAS,CAAC,aAAa,EACvB,SAAS,CAAC,aAAa,EACvB,SAAS,CAAC,uBAAuB,IAAI,EAAE,EACvC,IAAI,CAAC,iBAAiB,CACvB,CAAC;YAEF,0EAA0E;YAC1E,IAAI,CAAC,uBAAuB,GAAG,IAAI,uBAAuB,CACxD,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,iBAAiB,CACvB,CAAC;YAEF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,YAAY,CAAC,CAAC;YAC/D,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YACnE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,uBAAuB;QACvB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,GAAG,EAAE;YACzD,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,yBAAyB;QACzB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,GAAG,EAAE;YAC3D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,sBAAsB;QACtB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC,OAAO,EAAE,EAAE;YAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YACjD,IAAI,CAAC;gBACH,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,MAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,GAAG,EAAE,YAAY,CAAC,CAAC;gBACxD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,oBAAoB;QACpB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACrE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAEjD,IAAI,CAAC;gBACH,QAAQ,IAAI,EAAE,CAAC;oBACb,KAAK,UAAU;wBACb,kDAAkD;wBAClD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;4BACpD,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;wBACrD,CAAC;wBACD,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;oBAEzE,KAAK,gBAAgB;wBACnB,OAAO,MAAM,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;oBAExF,KAAK,qBAAqB;wBACxB,OAAO,sBAAsB,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;oBAEtE,KAAK,YAAY;wBACf,OAAO,MAAM,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;oBAEnF,KAAK,aAAa;wBAChB,OAAO,MAAM,cAAc,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;oBAEhE,KAAK,eAAe;wBAClB,kDAAkD;wBAClD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;4BACpD,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;wBAC1D,CAAC;wBACD,OAAO,MAAM,gBAAgB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;oBAElE,KAAK,cAAc;wBACjB,kDAAkD;wBAClD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;4BACpD,OAAO,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;wBACzD,CAAC;wBACD,OAAO,MAAM,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;oBAEjE,KAAK,WAAW;wBACd,OAAO,MAAM,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;oBAE9D,KAAK,YAAY;wBACf,OAAO,MAAM,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;oBAE/D,KAAK,cAAc;wBACjB,OAAO,MAAM,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;oBAEjE,KAAK,aAAa;wBAChB,OAAO,MAAM,cAAc,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;oBAEhE,mBAAmB;oBACnB,KAAK,iBAAiB;wBACpB,OAAO,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;oBAE1D,qBAAqB;oBACrB,KAAK,uBAAuB;wBAC1B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;4BAC1B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;wBAC5C,CAAC;wBACD,OAAO,uBAAuB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;oBAEnE,KAAK,qBAAqB;wBACxB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;4BAC1B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;wBAC5C,CAAC;wBACD,OAAO,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;oBAEjE,KAAK,YAAY;wBACf,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;4BAC5E,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;wBAC5C,CAAC;wBACD,OAAO,MAAM,aAAa,CACxB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,cAAc,EACnB,IAAI,IAAI,EAAE,CACX,CAAC;oBAEJ;wBACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;gBACzD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,GAAG,oBAAoB,CAAC,OAAO,CAAC,cAAc,YAAY,EAAE;yBACnE;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,gBAAgB;QAChB,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;YAC9B,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC;IACJ,CAAC;IAED,6BAA6B;IACrB,KAAK,CAAC,oBAAoB,CAAC,IAA6B;QAC9D,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAKhD,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QAED,gDAAgD;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,IAAI,SAAS,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QAE/F,6BAA6B;QAC7B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YACjF,OAAO,MAAM,IAAI,CAAC,uBAAwB,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE;gBAC1E,KAAK;gBACL,WAAW;aACZ,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,2CAA2C;QAC3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE5E,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,iBAAiB;iBACxB;aACF;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,IAA6B;QACnE,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAIpC,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE;YAC1F,KAAK;SACN,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,SAAS;aAChC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;aAC5D,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAE3D,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,iBAAiB;iBACxB;aACF;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,IAA6B;QAClE,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAA0C,CAAC;QAErE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAE3F,MAAM,MAAM,GAAG,8DAA8D,CAAC;QAC9E,MAAM,iBAAiB,GAAG,SAAS;aAChC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;aAC5D,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAE3D,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,GAAG,MAAM,OAAO,iBAAiB,EAAE;iBAC1C;aACF;SACF,CAAC;IACJ,CAAC;IAEO,0BAA0B,CAChC,QAGC,EACD,MAAgB;QAEhB,IAAI,SAAS,GAAG,QAAQ,QAAQ,CAAC,QAAQ,OAAO,QAAQ,CAAC,QAAQ,6CAA6C,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEjI,+BAA+B;QAC/B,IAAI,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtE,SAAS,IAAI,8BAA8B,CAAC;YAC5C,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC7C,SAAS,IAAI,OAAO,QAAQ,CAAC,OAAO,SAAS,QAAQ,CAAC,EAAE,GAAG,CAAC;YAC9D,CAAC,CAAC,CAAC;YACH,SAAS;gBACP,kFAAkF,CAAC;QACvF,CAAC;QAED,4BAA4B;QAC5B,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,SAAS,IAAI,6BAA6B,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,eAAe,CAAC;QAC5F,CAAC;QAED,iCAAiC;QACjC,SAAS,IAAI,iBAAiB,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC/C,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,SAAS,IAAI,iBAAiB,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC9D,CAAC;QACD,SAAS,IAAI,SAAS,QAAQ,CAAC,OAAO,IAAI,CAAC;QAC3C,IAAI,MAAM,EAAE,CAAC;YACX,SAAS,IAAI,cAAc,CAAC;QAC9B,CAAC;aAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC/B,SAAS,IAAI,oBAAoB,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,SAAS,IAAI,aAAa,CAAC;QAC7B,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,QAAQ;QACd,MAAM,SAAS,GAAW;YACxB;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,IAAI,CAAC,UAAU;oBAC1B,CAAC,CAAC,uEAAuE;oBACzE,CAAC,CAAC,kDAAkD;gBACtD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,4CAA4C;yBAC1D;wBACD,QAAQ,EAAE;4BACR,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,6DAA6D;yBAC3E;wBACD,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,WAAW,EACT,0EAA0E;yBAC7E;wBACD,WAAW,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,2CAA2C;4BACxD,OAAO,EAAE,CAAC;4BACV,OAAO,EAAE,CAAC;yBACX;qBACF;oBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;iBACrB;gBACD,WAAW,EAAE;oBACX,YAAY,EAAE,IAAI;oBAClB,aAAa,EAAE,IAAI;iBACpB;aACF;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,sEAAsE;gBACnF,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,eAAe,EAAE;4BACf,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,6CAA6C;yBAC3D;wBACD,OAAO,EAAE;4BACP,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,0BAA0B;yBACxC;wBACD,QAAQ,EAAE;4BACR,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,+CAA+C;yBAC7D;wBACD,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,kCAAkC;yBAChD;qBACF;oBACD,QAAQ,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC;iBACzC;gBACD,WAAW,EAAE;oBACX,aAAa,EAAE,IAAI;iBACpB;aACF;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,gDAAgD;gBAC7D,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACf;gBACD,WAAW,EAAE;oBACX,eAAe,EAAE,IAAI;oBACrB,cAAc,EAAE,IAAI;oBACpB,aAAa,EAAE,KAAK;iBACrB;aACF;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,2DAA2D;gBACxE,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,YAAY,EAAE;4BACZ,IAAI,EAAE,SAAS;4BACf,WAAW,EAAE,uCAAuC;4BACpD,OAAO,EAAE,KAAK;yBACf;qBACF;iBACF;gBACD,WAAW,EAAE;oBACX,YAAY,EAAE,IAAI;oBAClB,aAAa,EAAE,IAAI;iBACpB;aACF;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,yCAAyC;gBACtD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,QAAQ,EAAE;4BACR,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,sDAAsD;yBACpE;wBACD,YAAY,EAAE;4BACZ,IAAI,EAAE,SAAS;4BACf,WAAW,EAAE,yDAAyD;4BACtE,OAAO,EAAE,KAAK;yBACf;qBACF;iBACF;gBACD,WAAW,EAAE;oBACX,YAAY,EAAE,IAAI;oBAClB,aAAa,EAAE,IAAI;iBACpB;aACF;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,wDAAwD;gBACrE,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,+BAA+B;yBAC7C;wBACD,SAAS,EAAE;4BACT,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;6BACf;4BACD,WAAW,EAAE,uEAAuE;yBACrF;wBACD,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,oDAAoD;yBAClE;qBACF;oBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;iBACrB;gBACD,WAAW,EAAE;oBACX,YAAY,EAAE,IAAI;oBAClB,aAAa,EAAE,IAAI;iBACpB;aACF;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,mEAAmE;gBAChF,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,mCAAmC;yBACjD;wBACD,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,gDAAgD;yBAC9D;qBACF;oBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;iBACrB;gBACD,WAAW,EAAE;oBACX,YAAY,EAAE,IAAI;oBAClB,aAAa,EAAE,IAAI;iBACpB;aACF;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,iHAAiH;gBAC9H,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,QAAQ,EAAE;4BACR,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,qEAAqE;yBACnF;wBACD,OAAO,EAAE;4BACP,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACzB,QAAQ,EAAE,CAAC;4BACX,QAAQ,EAAE,EAAE;4BACZ,WAAW,EAAE,uCAAuC;yBACrD;wBACD,MAAM,EAAE;4BACN,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACzB,WAAW,EAAE,sEAAsE;yBACpF;wBACD,iBAAiB,EAAE;4BACjB,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE,IAAI;4BACb,WAAW,EAAE,qDAAqD;yBACnE;qBACF;oBACD,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;iBAClC;gBACD,WAAW,EAAE;oBACX,YAAY,EAAE,IAAI;oBAClB,aAAa,EAAE,IAAI;iBACpB;aACF;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,kHAAkH;gBAC/H,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,SAAS,EAAE;4BACT,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE;oCACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oCAC5B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oCAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oCACzB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iCAC5B;gCACD,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC;6BAC9C;4BACD,QAAQ,EAAE,CAAC;4BACX,WAAW,EAAE,gEAAgE;yBAC9E;wBACD,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,kEAAkE;yBAChF;wBACD,QAAQ,EAAE;4BACR,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACzB,WAAW,EAAE,wEAAwE;yBACtF;wBACD,OAAO,EAAE;4BACP,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,4DAA4D;yBAC1E;qBACF;oBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;iBACxB;gBACD,WAAW,EAAE;oBACX,YAAY,EAAE,IAAI;oBAClB,aAAa,EAAE,IAAI;iBACpB;aACF;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,gIAAgI;gBAC7I,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,uCAAuC;yBACrD;wBACD,UAAU,EAAE;4BACV,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,CAAC;4BACV,OAAO,EAAE,EAAE;4BACX,OAAO,EAAE,CAAC;4BACV,WAAW,EAAE,kDAAkD;yBAChE;wBACD,SAAS,EAAE;4BACT,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACzB,QAAQ,EAAE,CAAC;4BACX,QAAQ,EAAE,CAAC;4BACX,WAAW,EAAE,sDAAsD;yBACpE;wBACD,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC;4BACpC,WAAW,EAAE,kHAAkH;yBAChI;qBACF;oBACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC;iBAC1C;gBACD,WAAW,EAAE;oBACX,YAAY,EAAE,IAAI;oBAClB,aAAa,EAAE,IAAI;iBACpB;aACF;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,0IAA0I;gBACvJ,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,iCAAiC;yBAC/C;wBACD,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,CAAC;4BACV,OAAO,EAAE,EAAE;4BACX,OAAO,EAAE,CAAC;4BACV,WAAW,EAAE,sCAAsC;yBACpD;wBACD,SAAS,EAAE;4BACT,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACzB,QAAQ,EAAE,CAAC;4BACX,WAAW,EAAE,kEAAkE;yBAChF;wBACD,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC;4BAC3C,WAAW,EAAE,sFAAsF;yBACpG;wBACD,WAAW,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,mEAAmE;yBACjF;qBACF;oBACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;iBAC/B;gBACD,WAAW,EAAE;oBACX,YAAY,EAAE,IAAI;oBAClB,aAAa,EAAE,IAAI;iBACpB;aACF;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EACT,iGAAiG;gBACnG,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;4BACnC,OAAO,EAAE,OAAO;4BAChB,WAAW,EAAE,uBAAuB;yBACrC;qBACF;iBACF;gBACD,WAAW,EAAE;oBACX,YAAY,EAAE,IAAI;oBAClB,aAAa,EAAE,KAAK;iBACrB;aACF;SACF,CAAC;QAEF,oCAAoC;QACpC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,SAAS,CAAC,IAAI,CACZ;gBACE,IAAI,EAAE,uBAAuB;gBAC7B,WAAW,EAAE,mDAAmD;gBAChE,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,gCAAgC;yBAC9C;qBACF;iBACF;gBACD,WAAW,EAAE;oBACX,YAAY,EAAE,IAAI;oBAClB,aAAa,EAAE,KAAK;iBACrB;aACF,EACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,2CAA2C;gBACxD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,WAAW,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,yBAAyB;yBACvC;wBACD,QAAQ,EAAE;4BACR,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;4BACzB,WAAW,EAAE,wCAAwC;yBACtD;wBACD,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,8BAA8B;yBAC5C;qBACF;oBACD,QAAQ,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC;iBACtC;gBACD,WAAW,EAAE;oBACX,cAAc,EAAE,IAAI;oBACpB,aAAa,EAAE,KAAK;iBACrB;aACF,EACD;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,0DAA0D;gBACvE,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACf;gBACD,WAAW,EAAE;oBACX,YAAY,EAAE,IAAI;oBAClB,aAAa,EAAE,IAAI;iBACpB;aACF,CACF,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,2DAA2D;QAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7B,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,8CAA8C;QAC9C,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;gBAC1C,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YAC7D,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,YAAY,CAAC,CAAC;gBAC/D,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;gBAC5C,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,YAAY,CAAC,CAAC;gBACrE,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAGD,mBAAmB;QACnB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAErC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,+CAA+C;QAC/C,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAE7B,6BAA6B;QAC7B,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QAC1C,CAAC;QAED,wBAAwB;QACxB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;QAClC,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC;QAC9C,CAAC;QAED,kBAAkB;QAClB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAE1B,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChC,CAAC;CACF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { MCPClientManager, MCPTool } from './mcp-client-manager.js';
|
|
2
2
|
import { ApprovalService } from './approval.js';
|
|
3
|
+
import { GuardrailsService } from '../guardrails/service.js';
|
|
3
4
|
export interface FunctionDefinition {
|
|
4
5
|
name: string;
|
|
5
6
|
description: string;
|
|
@@ -21,7 +22,8 @@ export declare class FunctionBridge {
|
|
|
21
22
|
private ajv;
|
|
22
23
|
private toolSchemas;
|
|
23
24
|
private approvalMode;
|
|
24
|
-
|
|
25
|
+
private guardrailsService?;
|
|
26
|
+
constructor(mcpManager: MCPClientManager, approvalService: ApprovalService, trustedTools?: string[], approvalMode?: 'always' | 'trusted' | 'never', trustedToolsByServer?: Record<string, string[]>, guardrailsService?: GuardrailsService);
|
|
25
27
|
getFunctionDefinitions(): Promise<FunctionDefinition[]>;
|
|
26
28
|
private convertMCPToolToFunction;
|
|
27
29
|
private validateToolArguments;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-bridge.d.ts","sourceRoot":"","sources":["../../src/services/function-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"function-bridge.d.ts","sourceRoot":"","sources":["../../src/services/function-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAI7D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,oBAAoB,CAAuC;IACnE,OAAO,CAAC,GAAG,CAAU;IACrB,OAAO,CAAC,WAAW,CAAmD;IACtE,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,iBAAiB,CAAC,CAAoB;gBAG5C,UAAU,EAAE,gBAAgB,EAC5B,eAAe,EAAE,eAAe,EAChC,YAAY,GAAE,MAAM,EAAO,EAC3B,YAAY,GAAE,QAAQ,GAAG,SAAS,GAAG,OAAkB,EACvD,oBAAoB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAM,EACnD,iBAAiB,CAAC,EAAE,iBAAiB;IAgBjC,sBAAsB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAsB7D,OAAO,CAAC,wBAAwB;IA+BhC,OAAO,CAAC,qBAAqB;IA0BvB,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,kBAAkB,CAAC;IA0K9B,OAAO,CAAC,6BAA6B;IAMrC,OAAO,CAAC,2BAA2B;IAO7B,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUvE,yBAAyB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAqBrE,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI;IAcjG,QAAQ,IAAI;QACV,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC;QACzB,gBAAgB,EAAE,MAAM,EAAE,CAAC;KAC5B;CAQF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { logger } from '../utils/logger.js';
|
|
2
2
|
import Ajv from 'ajv';
|
|
3
|
+
import { GuardrailBlockError } from '../guardrails/errors.js';
|
|
3
4
|
export class FunctionBridge {
|
|
4
5
|
mcpManager;
|
|
5
6
|
approvalService;
|
|
@@ -8,13 +9,15 @@ export class FunctionBridge {
|
|
|
8
9
|
ajv;
|
|
9
10
|
toolSchemas = new Map();
|
|
10
11
|
approvalMode;
|
|
11
|
-
|
|
12
|
+
guardrailsService;
|
|
13
|
+
constructor(mcpManager, approvalService, trustedTools = [], approvalMode = 'always', trustedToolsByServer = {}, guardrailsService) {
|
|
12
14
|
this.mcpManager = mcpManager;
|
|
13
15
|
this.approvalService = approvalService;
|
|
14
16
|
this.trustedTools = new Set(trustedTools);
|
|
15
17
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call
|
|
16
18
|
this.ajv = new Ajv({ allErrors: true, removeAdditional: 'all' });
|
|
17
19
|
this.approvalMode = approvalMode;
|
|
20
|
+
this.guardrailsService = guardrailsService;
|
|
18
21
|
// Initialize per-server trusted tools
|
|
19
22
|
Object.entries(trustedToolsByServer).forEach(([serverName, tools]) => {
|
|
20
23
|
this.trustedToolsByServer.set(serverName, new Set(tools));
|
|
@@ -178,15 +181,51 @@ export class FunctionBridge {
|
|
|
178
181
|
};
|
|
179
182
|
}
|
|
180
183
|
}
|
|
184
|
+
// Create guardrail context if service is enabled
|
|
185
|
+
let guardrailContext;
|
|
186
|
+
if (this.guardrailsService?.isEnabled()) {
|
|
187
|
+
guardrailContext = this.guardrailsService.createContext({
|
|
188
|
+
toolName: `${mcpServer}:${mcpTool}`,
|
|
189
|
+
toolArgs: cleanArgs,
|
|
190
|
+
});
|
|
191
|
+
// Execute pre_tool_input guardrails
|
|
192
|
+
const preResult = await this.guardrailsService.execute('pre_tool_input', guardrailContext);
|
|
193
|
+
if (preResult.action === 'block') {
|
|
194
|
+
throw new GuardrailBlockError(preResult.blockedBy || 'unknown', preResult.blockReason || 'Tool input blocked by guardrails');
|
|
195
|
+
}
|
|
196
|
+
// Use potentially modified args (e.g., PII redaction)
|
|
197
|
+
if (preResult.action === 'modify' && guardrailContext.toolArgs) {
|
|
198
|
+
Object.assign(cleanArgs, guardrailContext.toolArgs);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
181
201
|
// Execute the MCP tool
|
|
182
202
|
logger.info(`Executing MCP tool ${mcpServer}:${mcpTool} for ${duckName}`);
|
|
183
203
|
const result = await this.mcpManager.callTool(mcpServer, mcpTool, cleanArgs);
|
|
204
|
+
// Execute post_tool_output guardrails
|
|
205
|
+
if (guardrailContext && this.guardrailsService?.isEnabled()) {
|
|
206
|
+
guardrailContext.toolResult = result;
|
|
207
|
+
const postResult = await this.guardrailsService.execute('post_tool_output', guardrailContext);
|
|
208
|
+
if (postResult.action === 'block') {
|
|
209
|
+
throw new GuardrailBlockError(postResult.blockedBy || 'unknown', postResult.blockReason || 'Tool output blocked by guardrails');
|
|
210
|
+
}
|
|
211
|
+
// Return potentially modified result
|
|
212
|
+
if (postResult.action === 'modify') {
|
|
213
|
+
return {
|
|
214
|
+
success: true,
|
|
215
|
+
data: guardrailContext.toolResult,
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
}
|
|
184
219
|
return {
|
|
185
220
|
success: true,
|
|
186
221
|
data: result,
|
|
187
222
|
};
|
|
188
223
|
}
|
|
189
224
|
catch (error) {
|
|
225
|
+
// Re-throw GuardrailBlockError as-is
|
|
226
|
+
if (error instanceof GuardrailBlockError) {
|
|
227
|
+
throw error;
|
|
228
|
+
}
|
|
190
229
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
191
230
|
logger.error(`Function call failed for ${functionName}:`, errorMessage);
|
|
192
231
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-bridge.js","sourceRoot":"","sources":["../../src/services/function-bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"function-bridge.js","sourceRoot":"","sources":["../../src/services/function-bridge.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,GAAyB,MAAM,KAAK,CAAC;AAG5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAiB9D,MAAM,OAAO,cAAc;IACjB,UAAU,CAAmB;IAC7B,eAAe,CAAkB;IACjC,YAAY,GAAgB,IAAI,GAAG,EAAE,CAAC;IACtC,oBAAoB,GAA6B,IAAI,GAAG,EAAE,CAAC;IAC3D,GAAG,CAAU;IACb,WAAW,GAAyC,IAAI,GAAG,EAAE,CAAC;IAC9D,YAAY,CAAiC;IAC7C,iBAAiB,CAAqB;IAE9C,YACE,UAA4B,EAC5B,eAAgC,EAChC,eAAyB,EAAE,EAC3B,eAA+C,QAAQ,EACvD,uBAAiD,EAAE,EACnD,iBAAqC;QAErC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1C,sGAAsG;QACtG,IAAI,CAAC,GAAG,GAAG,IAAK,GAAoD,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;QACnH,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAE3C,sCAAsC;QACtC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE;YACnE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;YAEtD,MAAM,mBAAmB,GAAyB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACpE,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;gBACxD,uCAAuC;gBACvC,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAChD,OAAO,WAAW,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CAAC,aAAa,mBAAmB,CAAC,MAAM,sCAAsC,CAAC,CAAC;YAC5F,OAAO,mBAAmB,CAAC;QAE7B,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,YAAY,CAAC,CAAC;YACvE,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,wBAAwB,CAAC,OAAgB;QAC/C,OAAO;YACL,IAAI,EAAE,QAAQ,OAAO,CAAC,UAAU,KAAK,OAAO,CAAC,IAAI,EAAE;YACnD,WAAW,EAAE,IAAI,OAAO,CAAC,UAAU,KAAK,OAAO,CAAC,WAAW,EAAE;YAC7D,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,6CAA6C;oBAC7C,GAAG,CAAE,OAAO,CAAC,WAAwD,EAAE,UAAU,IAAI,EAAE,CAAC;oBAExF,8BAA8B;oBAC9B,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,2BAA2B;wBACxC,OAAO,EAAE,OAAO,CAAC,UAAU;qBAC5B;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,yBAAyB;wBACtC,OAAO,EAAE,OAAO,CAAC,IAAI;qBACtB;oBACD,YAAY,EAAE;wBACZ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uCAAuC;qBACrD;iBACF;gBACD,QAAQ,EAAE,CAAE,OAAO,CAAC,WAAuC,EAAE,QAAQ,IAAI,EAAE,CAAC;aAC7E;SACF,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAAC,OAAe,EAAE,IAA6B;QAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,uCAAuC;QACjE,CAAC;QAED,IAAI,CAAC;YACH,kJAAkJ;YAClJ,MAAM,QAAQ,GAAsB,IAAI,CAAC,GAA0D,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpH,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE7B,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CACvC,GAAG,GAAG,CAAC,YAAY,IAAI,MAAM,KAAK,GAAG,CAAC,OAAO,IAAI,kBAAkB,EAAE,CACtE,CAAC;gBACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAClC,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,CAAC,IAAI,CAAC,iCAAiC,OAAO,GAAG,EAAE,YAAY,CAAC,CAAC;YACvE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,2BAA2B;QACrD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,QAAgB,EAChB,YAAoB,EACpB,IAA6B;QAE7B,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,6CAA6C,QAAQ,OAAO,YAAY,EAAE,CAAC,CAAC;YACxF,MAAM,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,YAAY,eAAe,YAAY,EAAE,CAAC,CAAC;YAE/E,wCAAwC;YACxC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;gBAC7D,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,0BAA0B,YAAY,EAAE;iBAChD,CAAC;YACJ,CAAC;YAED,+DAA+D;YAC/D,MAAM,SAAS,GAAI,IAAI,CAAC,WAAsB,IAAI,IAAI,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC;YACnG,MAAM,OAAO,GAAI,IAAI,CAAC,SAAoB,IAAI,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAC;YAC7F,MAAM,UAAU,GAAG,IAAI,CAAC,YAAsB,CAAC;YAE/C,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC3B,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,sDAAsD,YAAY,EAAE;iBAC5E,CAAC;YACJ,CAAC;YAED,yCAAyC;YACzC,MAAM,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC,WAAW,CAAC;YAC7B,OAAO,SAAS,CAAC,SAAS,CAAC;YAC3B,OAAO,SAAS,CAAC,YAAY,CAAC;YAE9B,yCAAyC;YACzC,MAAM,OAAO,GAAG,GAAG,SAAS,IAAI,OAAO,EAAE,CAAC;YAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAClE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,yBAAyB,OAAO,KAAK,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;iBAC5E,CAAC;YACJ,CAAC;YAED,qDAAqD;YACrD,IAAI,SAAS,GAAG,KAAK,CAAC;YAEtB,4CAA4C;YAC5C,MAAM,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpE,IAAI,kBAAkB,EAAE,CAAC;gBACvB,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,qCAAqC;oBACpE,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,iBAAiB;oBACpD,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B;gBACvE,MAAM,CAAC,KAAK,CAAC,mCAAmC,SAAS,KAAK,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC;YACvI,CAAC;iBAAM,CAAC;gBACN,oCAAoC;gBACpC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC7E,MAAM,CAAC,KAAK,CAAC,mCAAmC,SAAS,EAAE,CAAC,CAAC;YAC/D,CAAC;YAED,MAAM,2BAA2B,GAAG,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAChH,IAAI,aAAa,GAAG,KAAK,CAAC;YAE1B,MAAM,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,YAAY,cAAc,SAAS,sBAAsB,2BAA2B,cAAc,OAAO,aAAa,SAAS,iBAAiB,UAAU,EAAE,CAAC,CAAC;YAE1M,IAAI,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;gBACnC,0EAA0E;gBAC1E,aAAa,GAAG,CAAC,UAAU,IAAI,CAAC,2BAA2B,CAAC;gBAC5D,MAAM,CAAC,KAAK,CAAC,gCAAgC,aAAa,EAAE,CAAC,CAAC;YAChE,CAAC;iBAAM,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC3C,0EAA0E;gBAC1E,aAAa,GAAG,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,2BAA2B,CAAC;gBAC1E,MAAM,CAAC,KAAK,CAAC,iCAAiC,aAAa,EAAE,CAAC,CAAC;YACjE,CAAC;iBAAM,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;gBACzC,yBAAyB;gBACzB,aAAa,GAAG,KAAK,CAAC;gBACtB,MAAM,CAAC,KAAK,CAAC,+BAA+B,aAAa,EAAE,CAAC,CAAC;YAC/D,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAClB,0BAA0B;gBAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,qBAAqB,CACxD,QAAQ,EACR,SAAS,EACT,OAAO,EACP,SAAS,CACV,CAAC;gBAEF,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,aAAa,EAAE,IAAI;oBACnB,UAAU,EAAE,OAAO,CAAC,EAAE;oBACtB,OAAO,EAAE,0BAA0B,QAAQ,YAAY,SAAS,IAAI,OAAO,iBAAiB,OAAO,CAAC,EAAE,EAAE;iBACzG,CAAC;YACJ,CAAC;YAED,8DAA8D;YAC9D,IAAI,UAAU,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;gBAChD,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBAE1E,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;oBAClC,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,4CAA4C,cAAc,GAAG;qBACrE,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,iDAAiD;YACjD,IAAI,gBAA8C,CAAC;YACnD,IAAI,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,EAAE,CAAC;gBACxC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC;oBACtD,QAAQ,EAAE,GAAG,SAAS,IAAI,OAAO,EAAE;oBACnC,QAAQ,EAAE,SAAS;iBACpB,CAAC,CAAC;gBAEH,oCAAoC;gBACpC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;gBAC3F,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;oBACjC,MAAM,IAAI,mBAAmB,CAC3B,SAAS,CAAC,SAAS,IAAI,SAAS,EAChC,SAAS,CAAC,WAAW,IAAI,kCAAkC,CAC5D,CAAC;gBACJ,CAAC;gBACD,sDAAsD;gBACtD,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;oBAC/D,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;YAED,uBAAuB;YACvB,MAAM,CAAC,IAAI,CAAC,sBAAsB,SAAS,IAAI,OAAO,QAAQ,QAAQ,EAAE,CAAC,CAAC;YAC1E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAE7E,sCAAsC;YACtC,IAAI,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,EAAE,CAAC;gBAC5D,gBAAgB,CAAC,UAAU,GAAG,MAAM,CAAC;gBACrC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;gBAC9F,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;oBAClC,MAAM,IAAI,mBAAmB,CAC3B,UAAU,CAAC,SAAS,IAAI,SAAS,EACjC,UAAU,CAAC,WAAW,IAAI,mCAAmC,CAC9D,CAAC;gBACJ,CAAC;gBACD,qCAAqC;gBACrC,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACnC,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,gBAAgB,CAAC,UAAU;qBAClC,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,MAAM;aACb,CAAC;QAEJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,qCAAqC;YACrC,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;gBACzC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,CAAC,KAAK,CAAC,4BAA4B,YAAY,GAAG,EAAE,YAAY,CAAC,CAAC;YACxE,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,8BAA8B,YAAY,EAAE;aACpD,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,6BAA6B,CAAC,YAAoB;QACxD,8CAA8C;QAC9C,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC/D,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjC,CAAC;IAEO,2BAA2B,CAAC,YAAoB;QACtD,8CAA8C;QAC9C,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,4CAA4C;IAC5C,KAAK,CAAC,eAAe,CAAC,UAAkB,EAAE,QAAgB;QACxD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YAChE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,KAAK,CAAC,yBAAyB;QAC7B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;YACtD,MAAM,aAAa,GAA8B,EAAE,CAAC;YAEpD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBACpC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;gBACtC,CAAC;gBACD,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YAEH,OAAO,aAAa,CAAC;QACvB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,YAAY,CAAC,CAAC;YAC7D,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,kBAAkB,CAAC,YAAsB,EAAE,oBAA+C;QACxF,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,sCAAsC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE9F,IAAI,oBAAoB,EAAE,CAAC;YACzB,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE;gBACnE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC1D,MAAM,CAAC,IAAI,CAAC,oCAAoC,UAAU,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,QAAQ;QAMN,OAAO;YACL,cAAc,EAAE,CAAC,EAAE,0CAA0C;YAC7D,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,MAAM;YACzD,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;YACxC,gBAAgB,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE;SACxD,CAAC;IACJ,CAAC;CACF"}
|
package/package.json
CHANGED
package/src/config/config.ts
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import { readFileSync, existsSync } from 'fs';
|
|
2
2
|
import { join } from 'path';
|
|
3
3
|
import * as dotenv from 'dotenv';
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
Config,
|
|
6
|
+
ConfigSchema,
|
|
7
|
+
ProviderConfig,
|
|
8
|
+
MCPBridgeConfig,
|
|
9
|
+
MCPServerConfig,
|
|
10
|
+
GuardrailsConfig,
|
|
11
|
+
} from './types.js';
|
|
5
12
|
import { logger } from '../utils/logger.js';
|
|
6
13
|
|
|
7
14
|
dotenv.config();
|
|
@@ -98,6 +105,9 @@ export class ConfigManager {
|
|
|
98
105
|
// Apply MCP bridge configuration from environment
|
|
99
106
|
merged.mcp_bridge = this.getMCPBridgeConfig(merged.mcp_bridge as Partial<MCPBridgeConfig>);
|
|
100
107
|
|
|
108
|
+
// Apply guardrails configuration from environment
|
|
109
|
+
merged.guardrails = this.getGuardrailsConfig(merged.guardrails as Partial<GuardrailsConfig>);
|
|
110
|
+
|
|
101
111
|
return merged;
|
|
102
112
|
}
|
|
103
113
|
|
|
@@ -332,6 +342,182 @@ export class ConfigManager {
|
|
|
332
342
|
return servers;
|
|
333
343
|
}
|
|
334
344
|
|
|
345
|
+
private getGuardrailsConfig(
|
|
346
|
+
existingConfig: Partial<GuardrailsConfig> = {}
|
|
347
|
+
): Partial<GuardrailsConfig> | undefined {
|
|
348
|
+
// Don't override if guardrails is explicitly disabled
|
|
349
|
+
if (existingConfig?.enabled === false) {
|
|
350
|
+
return existingConfig;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
const guardrailsConfig: Partial<GuardrailsConfig> = { ...existingConfig };
|
|
354
|
+
|
|
355
|
+
// Enable guardrails if environment variable is set
|
|
356
|
+
if (process.env.GUARDRAILS_ENABLED !== undefined) {
|
|
357
|
+
guardrailsConfig.enabled = process.env.GUARDRAILS_ENABLED === 'true';
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
// Global guardrails settings
|
|
361
|
+
if (process.env.GUARDRAILS_LOG_VIOLATIONS !== undefined) {
|
|
362
|
+
guardrailsConfig.log_violations = process.env.GUARDRAILS_LOG_VIOLATIONS === 'true';
|
|
363
|
+
}
|
|
364
|
+
if (process.env.GUARDRAILS_LOG_MODIFICATIONS !== undefined) {
|
|
365
|
+
guardrailsConfig.log_modifications = process.env.GUARDRAILS_LOG_MODIFICATIONS === 'true';
|
|
366
|
+
}
|
|
367
|
+
if (process.env.GUARDRAILS_FAIL_OPEN !== undefined) {
|
|
368
|
+
guardrailsConfig.fail_open = process.env.GUARDRAILS_FAIL_OPEN === 'true';
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
// Initialize plugins object if any plugin env vars are set
|
|
372
|
+
const plugins = this.getGuardrailsPluginsFromEnv(guardrailsConfig.plugins || {});
|
|
373
|
+
if (Object.keys(plugins).length > 0) {
|
|
374
|
+
guardrailsConfig.plugins = plugins;
|
|
375
|
+
// Auto-enable guardrails if any plugin is enabled
|
|
376
|
+
if (!guardrailsConfig.enabled) {
|
|
377
|
+
const anyEnabled = Object.values(plugins).some(
|
|
378
|
+
(p) => p && typeof p === 'object' && 'enabled' in p && (p as { enabled?: boolean }).enabled === true
|
|
379
|
+
);
|
|
380
|
+
if (anyEnabled) {
|
|
381
|
+
guardrailsConfig.enabled = true;
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
return guardrailsConfig.enabled ? guardrailsConfig : undefined;
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
private getGuardrailsPluginsFromEnv(
|
|
390
|
+
existingPlugins: Record<string, unknown>
|
|
391
|
+
): Record<string, unknown> {
|
|
392
|
+
const plugins: Record<string, unknown> = { ...existingPlugins };
|
|
393
|
+
|
|
394
|
+
// Rate Limiter
|
|
395
|
+
if (
|
|
396
|
+
process.env.GUARDRAILS_RATE_LIMITER_ENABLED !== undefined ||
|
|
397
|
+
existingPlugins.rate_limiter
|
|
398
|
+
) {
|
|
399
|
+
plugins.rate_limiter = {
|
|
400
|
+
...(existingPlugins.rate_limiter as object),
|
|
401
|
+
...(process.env.GUARDRAILS_RATE_LIMITER_ENABLED !== undefined && {
|
|
402
|
+
enabled: process.env.GUARDRAILS_RATE_LIMITER_ENABLED === 'true',
|
|
403
|
+
}),
|
|
404
|
+
...(process.env.GUARDRAILS_RATE_LIMITER_REQUESTS_PER_MINUTE && {
|
|
405
|
+
requests_per_minute: parseInt(process.env.GUARDRAILS_RATE_LIMITER_REQUESTS_PER_MINUTE),
|
|
406
|
+
}),
|
|
407
|
+
...(process.env.GUARDRAILS_RATE_LIMITER_REQUESTS_PER_HOUR && {
|
|
408
|
+
requests_per_hour: parseInt(process.env.GUARDRAILS_RATE_LIMITER_REQUESTS_PER_HOUR),
|
|
409
|
+
}),
|
|
410
|
+
...(process.env.GUARDRAILS_RATE_LIMITER_PER_PROVIDER !== undefined && {
|
|
411
|
+
per_provider: process.env.GUARDRAILS_RATE_LIMITER_PER_PROVIDER === 'true',
|
|
412
|
+
}),
|
|
413
|
+
...(process.env.GUARDRAILS_RATE_LIMITER_BURST_ALLOWANCE && {
|
|
414
|
+
burst_allowance: parseInt(process.env.GUARDRAILS_RATE_LIMITER_BURST_ALLOWANCE),
|
|
415
|
+
}),
|
|
416
|
+
};
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
// Token Limiter
|
|
420
|
+
if (
|
|
421
|
+
process.env.GUARDRAILS_TOKEN_LIMITER_ENABLED !== undefined ||
|
|
422
|
+
existingPlugins.token_limiter
|
|
423
|
+
) {
|
|
424
|
+
plugins.token_limiter = {
|
|
425
|
+
...(existingPlugins.token_limiter as object),
|
|
426
|
+
...(process.env.GUARDRAILS_TOKEN_LIMITER_ENABLED !== undefined && {
|
|
427
|
+
enabled: process.env.GUARDRAILS_TOKEN_LIMITER_ENABLED === 'true',
|
|
428
|
+
}),
|
|
429
|
+
...(process.env.GUARDRAILS_TOKEN_LIMITER_MAX_INPUT_TOKENS && {
|
|
430
|
+
max_input_tokens: parseInt(process.env.GUARDRAILS_TOKEN_LIMITER_MAX_INPUT_TOKENS),
|
|
431
|
+
}),
|
|
432
|
+
...(process.env.GUARDRAILS_TOKEN_LIMITER_MAX_OUTPUT_TOKENS && {
|
|
433
|
+
max_output_tokens: parseInt(process.env.GUARDRAILS_TOKEN_LIMITER_MAX_OUTPUT_TOKENS),
|
|
434
|
+
}),
|
|
435
|
+
...(process.env.GUARDRAILS_TOKEN_LIMITER_WARN_AT_PERCENTAGE && {
|
|
436
|
+
warn_at_percentage: parseInt(process.env.GUARDRAILS_TOKEN_LIMITER_WARN_AT_PERCENTAGE),
|
|
437
|
+
}),
|
|
438
|
+
};
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
// Pattern Blocker
|
|
442
|
+
if (
|
|
443
|
+
process.env.GUARDRAILS_PATTERN_BLOCKER_ENABLED !== undefined ||
|
|
444
|
+
existingPlugins.pattern_blocker
|
|
445
|
+
) {
|
|
446
|
+
plugins.pattern_blocker = {
|
|
447
|
+
...(existingPlugins.pattern_blocker as object),
|
|
448
|
+
...(process.env.GUARDRAILS_PATTERN_BLOCKER_ENABLED !== undefined && {
|
|
449
|
+
enabled: process.env.GUARDRAILS_PATTERN_BLOCKER_ENABLED === 'true',
|
|
450
|
+
}),
|
|
451
|
+
...(process.env.GUARDRAILS_PATTERN_BLOCKER_PATTERNS && {
|
|
452
|
+
blocked_patterns: process.env.GUARDRAILS_PATTERN_BLOCKER_PATTERNS.split(',').map((p) =>
|
|
453
|
+
p.trim()
|
|
454
|
+
),
|
|
455
|
+
}),
|
|
456
|
+
...(process.env.GUARDRAILS_PATTERN_BLOCKER_PATTERNS_REGEX && {
|
|
457
|
+
blocked_patterns_regex: process.env.GUARDRAILS_PATTERN_BLOCKER_PATTERNS_REGEX.split(
|
|
458
|
+
','
|
|
459
|
+
).map((p) => p.trim()),
|
|
460
|
+
}),
|
|
461
|
+
...(process.env.GUARDRAILS_PATTERN_BLOCKER_CASE_SENSITIVE !== undefined && {
|
|
462
|
+
case_sensitive: process.env.GUARDRAILS_PATTERN_BLOCKER_CASE_SENSITIVE === 'true',
|
|
463
|
+
}),
|
|
464
|
+
...(process.env.GUARDRAILS_PATTERN_BLOCKER_ACTION && {
|
|
465
|
+
action_on_match: process.env.GUARDRAILS_PATTERN_BLOCKER_ACTION as
|
|
466
|
+
| 'block'
|
|
467
|
+
| 'warn'
|
|
468
|
+
| 'redact',
|
|
469
|
+
}),
|
|
470
|
+
};
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
// PII Redactor
|
|
474
|
+
if (
|
|
475
|
+
process.env.GUARDRAILS_PII_REDACTOR_ENABLED !== undefined ||
|
|
476
|
+
existingPlugins.pii_redactor
|
|
477
|
+
) {
|
|
478
|
+
plugins.pii_redactor = {
|
|
479
|
+
...(existingPlugins.pii_redactor as object),
|
|
480
|
+
...(process.env.GUARDRAILS_PII_REDACTOR_ENABLED !== undefined && {
|
|
481
|
+
enabled: process.env.GUARDRAILS_PII_REDACTOR_ENABLED === 'true',
|
|
482
|
+
}),
|
|
483
|
+
...(process.env.GUARDRAILS_PII_REDACTOR_DETECT_EMAILS !== undefined && {
|
|
484
|
+
detect_emails: process.env.GUARDRAILS_PII_REDACTOR_DETECT_EMAILS === 'true',
|
|
485
|
+
}),
|
|
486
|
+
...(process.env.GUARDRAILS_PII_REDACTOR_DETECT_PHONES !== undefined && {
|
|
487
|
+
detect_phones: process.env.GUARDRAILS_PII_REDACTOR_DETECT_PHONES === 'true',
|
|
488
|
+
}),
|
|
489
|
+
...(process.env.GUARDRAILS_PII_REDACTOR_DETECT_SSN !== undefined && {
|
|
490
|
+
detect_ssn: process.env.GUARDRAILS_PII_REDACTOR_DETECT_SSN === 'true',
|
|
491
|
+
}),
|
|
492
|
+
...(process.env.GUARDRAILS_PII_REDACTOR_DETECT_API_KEYS !== undefined && {
|
|
493
|
+
detect_api_keys: process.env.GUARDRAILS_PII_REDACTOR_DETECT_API_KEYS === 'true',
|
|
494
|
+
}),
|
|
495
|
+
...(process.env.GUARDRAILS_PII_REDACTOR_DETECT_CREDIT_CARDS !== undefined && {
|
|
496
|
+
detect_credit_cards: process.env.GUARDRAILS_PII_REDACTOR_DETECT_CREDIT_CARDS === 'true',
|
|
497
|
+
}),
|
|
498
|
+
...(process.env.GUARDRAILS_PII_REDACTOR_DETECT_IP_ADDRESSES !== undefined && {
|
|
499
|
+
detect_ip_addresses: process.env.GUARDRAILS_PII_REDACTOR_DETECT_IP_ADDRESSES === 'true',
|
|
500
|
+
}),
|
|
501
|
+
...(process.env.GUARDRAILS_PII_REDACTOR_ALLOWLIST && {
|
|
502
|
+
allowlist: process.env.GUARDRAILS_PII_REDACTOR_ALLOWLIST.split(',').map((a) => a.trim()),
|
|
503
|
+
}),
|
|
504
|
+
...(process.env.GUARDRAILS_PII_REDACTOR_ALLOWLIST_DOMAINS && {
|
|
505
|
+
allowlist_domains: process.env.GUARDRAILS_PII_REDACTOR_ALLOWLIST_DOMAINS.split(',').map(
|
|
506
|
+
(d) => d.trim()
|
|
507
|
+
),
|
|
508
|
+
}),
|
|
509
|
+
...(process.env.GUARDRAILS_PII_REDACTOR_RESTORE_ON_RESPONSE !== undefined && {
|
|
510
|
+
restore_on_response: process.env.GUARDRAILS_PII_REDACTOR_RESTORE_ON_RESPONSE === 'true',
|
|
511
|
+
}),
|
|
512
|
+
...(process.env.GUARDRAILS_PII_REDACTOR_LOG_DETECTIONS !== undefined && {
|
|
513
|
+
log_detections: process.env.GUARDRAILS_PII_REDACTOR_LOG_DETECTIONS === 'true',
|
|
514
|
+
}),
|
|
515
|
+
};
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
return plugins;
|
|
519
|
+
}
|
|
520
|
+
|
|
335
521
|
getConfig(): Config {
|
|
336
522
|
return this.config;
|
|
337
523
|
}
|