@forestadmin/ai-proxy 1.12.9 → 1.13.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.
@@ -2,11 +2,10 @@ import type { McpServerLoadFailure } from './mcp-client';
2
2
  import type RemoteTool from './remote-tool';
3
3
  import type { ToolProvider } from './tool-provider';
4
4
  import type { Logger } from '@forestadmin/datasource-toolkit';
5
- import { type KolarConfig } from './integrations/kolar/tools';
6
5
  import { type SnowflakeConfig } from './integrations/snowflake/tools';
7
6
  import { type ZendeskConfig } from './integrations/zendesk/tools';
8
- export type CustomConfig = ZendeskConfig | KolarConfig | SnowflakeConfig;
9
- export declare const FOREST_INTEGRATION_NAMES: readonly ["Zendesk", "Kolar", "Snowflake"];
7
+ export type CustomConfig = ZendeskConfig | SnowflakeConfig;
8
+ export declare const FOREST_INTEGRATION_NAMES: readonly ["Zendesk", "Snowflake"];
10
9
  export type ForestIntegrationName = (typeof FOREST_INTEGRATION_NAMES)[number];
11
10
  export interface ForestIntegrationConfig {
12
11
  id?: string;
@@ -6,13 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.FOREST_INTEGRATION_NAMES = void 0;
7
7
  exports.isForestIntegrationConfig = isForestIntegrationConfig;
8
8
  const errors_1 = require("./errors");
9
- const tools_1 = __importDefault(require("./integrations/kolar/tools"));
10
- const utils_1 = require("./integrations/kolar/utils");
11
- const tools_2 = __importDefault(require("./integrations/snowflake/tools"));
12
- const utils_2 = require("./integrations/snowflake/utils");
13
- const tools_3 = __importDefault(require("./integrations/zendesk/tools"));
14
- const utils_3 = require("./integrations/zendesk/utils");
15
- exports.FOREST_INTEGRATION_NAMES = ['Zendesk', 'Kolar', 'Snowflake'];
9
+ const tools_1 = __importDefault(require("./integrations/snowflake/tools"));
10
+ const utils_1 = require("./integrations/snowflake/utils");
11
+ const tools_2 = __importDefault(require("./integrations/zendesk/tools"));
12
+ const utils_2 = require("./integrations/zendesk/utils");
13
+ exports.FOREST_INTEGRATION_NAMES = ['Zendesk', 'Snowflake'];
16
14
  function isForestIntegrationConfig(config) {
17
15
  return ('isForestConnector' in config && config.isForestConnector === true);
18
16
  }
@@ -27,13 +25,10 @@ class ForestIntegrationClient {
27
25
  this.configs.forEach(({ id: mcpServerId, integrationName, config }) => {
28
26
  switch (integrationName) {
29
27
  case 'Zendesk':
30
- tools.push(...(0, tools_3.default)(config, mcpServerId));
31
- break;
32
- case 'Kolar':
33
- tools.push(...(0, tools_1.default)(config, mcpServerId));
28
+ tools.push(...(0, tools_2.default)(config, mcpServerId));
34
29
  break;
35
30
  case 'Snowflake':
36
- tools.push(...(0, tools_2.default)(config, mcpServerId));
31
+ tools.push(...(0, tools_1.default)(config, mcpServerId));
37
32
  break;
38
33
  default:
39
34
  this.logger?.('Warn', `Unsupported integration: ${integrationName}`);
@@ -56,11 +51,9 @@ class ForestIntegrationClient {
56
51
  await Promise.all(this.configs.map(({ integrationName, config }) => {
57
52
  switch (integrationName) {
58
53
  case 'Zendesk':
59
- return (0, utils_3.validateZendeskConfig)(config);
60
- case 'Kolar':
61
- return (0, utils_1.validateKolarConfig)(config);
54
+ return (0, utils_2.validateZendeskConfig)(config);
62
55
  case 'Snowflake':
63
- return (0, utils_2.validateSnowflakeConfig)(config);
56
+ return (0, utils_1.validateSnowflakeConfig)(config);
64
57
  default:
65
58
  throw new errors_1.AIBadRequestError(`Unsupported integration: ${integrationName}`);
66
59
  }
@@ -72,4 +65,4 @@ class ForestIntegrationClient {
72
65
  }
73
66
  }
74
67
  exports.default = ForestIntegrationClient;
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZXN0LWludGVncmF0aW9uLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9mb3Jlc3QtaW50ZWdyYXRpb24tY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQXdCQSw4REFNQztBQXpCRCxxQ0FBNkM7QUFDN0MsdUVBQTZFO0FBQzdFLHNEQUFpRTtBQUNqRSwyRUFBeUY7QUFDekYsMERBQXlFO0FBQ3pFLHlFQUFtRjtBQUNuRix3REFBcUU7QUFHeEQsUUFBQSx3QkFBd0IsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFVLENBQUM7QUFVbkYsU0FBZ0IseUJBQXlCLENBQ3ZDLE1BQXlEO0lBRXpELE9BQU8sQ0FDTCxtQkFBbUIsSUFBSSxNQUFNLElBQUssTUFBa0MsQ0FBQyxpQkFBaUIsS0FBSyxJQUFJLENBQ2hHLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBcUIsdUJBQXVCO0lBSTFDLFlBQVksT0FBa0MsRUFBRSxNQUFlO1FBQzdELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxLQUFLLENBQUMscUJBQXFCO1FBSXpCLE1BQU0sS0FBSyxHQUFpQixFQUFFLENBQUM7UUFDL0IsTUFBTSxRQUFRLEdBQTJCLEVBQUUsQ0FBQztRQUU1QyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRTtZQUNwRSxRQUFRLGVBQWUsRUFBRSxDQUFDO2dCQUN4QixLQUFLLFNBQVM7b0JBQ1osS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUEsZUFBZSxFQUFDLE1BQXVCLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztvQkFDckUsTUFBTTtnQkFDUixLQUFLLE9BQU87b0JBQ1YsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUEsZUFBYSxFQUFDLE1BQXFCLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztvQkFDakUsTUFBTTtnQkFDUixLQUFLLFdBQVc7b0JBQ2QsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUEsZUFBaUIsRUFBQyxNQUF5QixFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7b0JBQ3pFLE1BQU07Z0JBQ1I7b0JBQ0UsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSw0QkFBNEIsZUFBZSxFQUFFLENBQUMsQ0FBQztvQkFDckUsd0ZBQXdGO29CQUN4Riw4Q0FBOEM7b0JBQzlDLFFBQVEsQ0FBQyxJQUFJLENBQUM7d0JBQ1osTUFBTSxFQUFFLGVBQWU7d0JBQ3ZCLFdBQVc7d0JBQ1gsSUFBSSxFQUFFLFNBQVM7d0JBQ2YsS0FBSyxFQUFFLElBQUksS0FBSyxDQUFDLDRCQUE0QixlQUFlLEVBQUUsQ0FBQztxQkFDaEUsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVM7UUFDYixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNwRCxDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWU7UUFDbkIsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRTtZQUMvQyxRQUFRLGVBQWUsRUFBRSxDQUFDO2dCQUN4QixLQUFLLFNBQVM7b0JBQ1osT0FBTyxJQUFBLDZCQUFxQixFQUFDLE1BQXVCLENBQUMsQ0FBQztnQkFDeEQsS0FBSyxPQUFPO29CQUNWLE9BQU8sSUFBQSwyQkFBbUIsRUFBQyxNQUFxQixDQUFDLENBQUM7Z0JBQ3BELEtBQUssV0FBVztvQkFDZCxPQUFPLElBQUEsK0JBQXVCLEVBQUMsTUFBeUIsQ0FBQyxDQUFDO2dCQUM1RDtvQkFDRSxNQUFNLElBQUksMEJBQWlCLENBQUMsNEJBQTRCLGVBQWUsRUFBRSxDQUFDLENBQUM7WUFDL0UsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7UUFFRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLHdEQUF3RDtJQUMxRCxDQUFDO0NBQ0Y7QUFyRUQsMENBcUVDIn0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZXN0LWludGVncmF0aW9uLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9mb3Jlc3QtaW50ZWdyYXRpb24tY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQXNCQSw4REFNQztBQXZCRCxxQ0FBNkM7QUFDN0MsMkVBQXlGO0FBQ3pGLDBEQUF5RTtBQUN6RSx5RUFBbUY7QUFDbkYsd0RBQXFFO0FBR3hELFFBQUEsd0JBQXdCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFVLENBQUM7QUFVMUUsU0FBZ0IseUJBQXlCLENBQ3ZDLE1BQXlEO0lBRXpELE9BQU8sQ0FDTCxtQkFBbUIsSUFBSSxNQUFNLElBQUssTUFBa0MsQ0FBQyxpQkFBaUIsS0FBSyxJQUFJLENBQ2hHLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBcUIsdUJBQXVCO0lBSTFDLFlBQVksT0FBa0MsRUFBRSxNQUFlO1FBQzdELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxLQUFLLENBQUMscUJBQXFCO1FBSXpCLE1BQU0sS0FBSyxHQUFpQixFQUFFLENBQUM7UUFDL0IsTUFBTSxRQUFRLEdBQTJCLEVBQUUsQ0FBQztRQUU1QyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRTtZQUNwRSxRQUFRLGVBQWUsRUFBRSxDQUFDO2dCQUN4QixLQUFLLFNBQVM7b0JBQ1osS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUEsZUFBZSxFQUFDLE1BQXVCLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztvQkFDckUsTUFBTTtnQkFDUixLQUFLLFdBQVc7b0JBQ2QsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUEsZUFBaUIsRUFBQyxNQUF5QixFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7b0JBQ3pFLE1BQU07Z0JBQ1I7b0JBQ0UsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSw0QkFBNEIsZUFBZSxFQUFFLENBQUMsQ0FBQztvQkFDckUsd0ZBQXdGO29CQUN4Riw4Q0FBOEM7b0JBQzlDLFFBQVEsQ0FBQyxJQUFJLENBQUM7d0JBQ1osTUFBTSxFQUFFLGVBQWU7d0JBQ3ZCLFdBQVc7d0JBQ1gsSUFBSSxFQUFFLFNBQVM7d0JBQ2YsS0FBSyxFQUFFLElBQUksS0FBSyxDQUFDLDRCQUE0QixlQUFlLEVBQUUsQ0FBQztxQkFDaEUsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVM7UUFDYixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNwRCxDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWU7UUFDbkIsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRTtZQUMvQyxRQUFRLGVBQWUsRUFBRSxDQUFDO2dCQUN4QixLQUFLLFNBQVM7b0JBQ1osT0FBTyxJQUFBLDZCQUFxQixFQUFDLE1BQXVCLENBQUMsQ0FBQztnQkFDeEQsS0FBSyxXQUFXO29CQUNkLE9BQU8sSUFBQSwrQkFBdUIsRUFBQyxNQUF5QixDQUFDLENBQUM7Z0JBQzVEO29CQUNFLE1BQU0sSUFBSSwwQkFBaUIsQ0FBQyw0QkFBNEIsZUFBZSxFQUFFLENBQUMsQ0FBQztZQUMvRSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsd0RBQXdEO0lBQzFELENBQUM7Q0FDRjtBQWhFRCwwQ0FnRUMifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forestadmin/ai-proxy",
3
- "version": "1.12.9",
3
+ "version": "1.13.0",
4
4
  "main": "dist/index.js",
5
5
  "license": "GPL-3.0",
6
6
  "publishConfig": {
@@ -1,3 +0,0 @@
1
- import { DynamicStructuredTool } from '@langchain/core/tools';
2
- export default function createMerchantApplicationTool(headers: Record<string, string>, baseUrl: string): DynamicStructuredTool;
3
- //# sourceMappingURL=create-merchant-application.d.ts.map
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = createMerchantApplicationTool;
4
- const tools_1 = require("@langchain/core/tools");
5
- const zod_1 = require("zod");
6
- const utils_1 = require("../utils");
7
- function createMerchantApplicationTool(headers, baseUrl) {
8
- return new tools_1.DynamicStructuredTool({
9
- name: 'kolar_create_merchant_application',
10
- description: 'Submit a merchant application for KYB analysis. Creates the application, triggers analysis, and returns the application ID to use with kolar_get_merchant_application_result.',
11
- schema: zod_1.z.object({
12
- companyName: zod_1.z.string().describe('Company legal name'),
13
- companySiren: zod_1.z.string().describe('Company SIREN number'),
14
- websiteUrl: zod_1.z.string().describe('Company website URL'),
15
- legalRepName: zod_1.z.string().describe('Legal representative full name'),
16
- emailDomain: zod_1.z.string().optional().describe('Company email domain'),
17
- phone: zod_1.z.string().optional().describe('Company phone number'),
18
- legalRepDob: zod_1.z.string().optional().describe('Legal representative date of birth (ISO 8601)'),
19
- expectedMonthlyPaymentVolume: zod_1.z
20
- .string()
21
- .optional()
22
- .describe('Expected monthly payment volume'),
23
- expectedAverageBasketValue: zod_1.z.string().optional().describe('Expected average basket value'),
24
- businessDescription: zod_1.z.string().optional().describe('Description of the business activity'),
25
- }),
26
- func: async (inputs) => {
27
- const createResponse = await fetch(`${baseUrl}/merchant-application/create`, {
28
- method: 'POST',
29
- headers,
30
- body: JSON.stringify(inputs),
31
- });
32
- await (0, utils_1.assertResponseOk)(createResponse, 'create merchant application');
33
- const { id } = await createResponse.json();
34
- const jobResponse = await fetch(`${baseUrl}/merchant-application-job/create/${id}`, {
35
- method: 'POST',
36
- headers,
37
- });
38
- await (0, utils_1.assertResponseOk)(jobResponse, 'trigger merchant application analysis');
39
- return JSON.stringify({ id });
40
- },
41
- });
42
- }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1lcmNoYW50LWFwcGxpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ludGVncmF0aW9ucy9rb2xhci90b29scy9jcmVhdGUtbWVyY2hhbnQtYXBwbGljYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFLQSxnREEyQ0M7QUFoREQsaURBQThEO0FBQzlELDZCQUF3QjtBQUV4QixvQ0FBNEM7QUFFNUMsU0FBd0IsNkJBQTZCLENBQ25ELE9BQStCLEVBQy9CLE9BQWU7SUFFZixPQUFPLElBQUksNkJBQXFCLENBQUM7UUFDL0IsSUFBSSxFQUFFLG1DQUFtQztRQUN6QyxXQUFXLEVBQ1QsK0tBQStLO1FBQ2pMLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDO1lBQ2YsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUM7WUFDdEQsWUFBWSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUM7WUFDekQsVUFBVSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUM7WUFDdEQsWUFBWSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsZ0NBQWdDLENBQUM7WUFDbkUsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUM7WUFDbkUsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUM7WUFDN0QsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsK0NBQStDLENBQUM7WUFDNUYsNEJBQTRCLEVBQUUsT0FBQztpQkFDNUIsTUFBTSxFQUFFO2lCQUNSLFFBQVEsRUFBRTtpQkFDVixRQUFRLENBQUMsaUNBQWlDLENBQUM7WUFDOUMsMEJBQTBCLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQywrQkFBK0IsQ0FBQztZQUMzRixtQkFBbUIsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLHNDQUFzQyxDQUFDO1NBQzVGLENBQUM7UUFDRixJQUFJLEVBQUUsS0FBSyxFQUFDLE1BQU0sRUFBQyxFQUFFO1lBQ25CLE1BQU0sY0FBYyxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsT0FBTyw4QkFBOEIsRUFBRTtnQkFDM0UsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsT0FBTztnQkFDUCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7YUFDN0IsQ0FBQyxDQUFDO1lBRUgsTUFBTSxJQUFBLHdCQUFnQixFQUFDLGNBQWMsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO1lBQ3RFLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUUzQyxNQUFNLFdBQVcsR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLE9BQU8sb0NBQW9DLEVBQUUsRUFBRSxFQUFFO2dCQUNsRixNQUFNLEVBQUUsTUFBTTtnQkFDZCxPQUFPO2FBQ1IsQ0FBQyxDQUFDO1lBRUgsTUFBTSxJQUFBLHdCQUFnQixFQUFDLFdBQVcsRUFBRSx1Q0FBdUMsQ0FBQyxDQUFDO1lBRTdFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEMsQ0FBQztLQUNGLENBQUMsQ0FBQztBQUNMLENBQUMifQ==
@@ -1,3 +0,0 @@
1
- import { DynamicStructuredTool } from '@langchain/core/tools';
2
- export default function createGetMerchantApplicationResultTool(headers: Record<string, string>, baseUrl: string): DynamicStructuredTool;
3
- //# sourceMappingURL=get-merchant-application-result.d.ts.map
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = createGetMerchantApplicationResultTool;
4
- const tools_1 = require("@langchain/core/tools");
5
- const zod_1 = require("zod");
6
- const utils_1 = require("../utils");
7
- function createGetMerchantApplicationResultTool(headers, baseUrl) {
8
- return new tools_1.DynamicStructuredTool({
9
- name: 'kolar_get_merchant_application_result',
10
- description: 'Retrieve the KYB analysis result of a merchant application by ID. Returns jobStatus (PENDING, RUNNING, COMPLETED, FAILED) and result with decision (APPROVED, REJECTED, REVIEW), riskScore, and rationale when completed.',
11
- schema: zod_1.z.object({
12
- id: zod_1.z
13
- .number()
14
- .int()
15
- .positive()
16
- .describe('The merchant application ID returned by kolar_create_merchant_application'),
17
- }),
18
- func: async ({ id }) => {
19
- const response = await fetch(`${baseUrl}/merchant-application/${id}/result`, { headers });
20
- await (0, utils_1.assertResponseOk)(response, 'get merchant application result');
21
- return JSON.stringify(await response.json());
22
- },
23
- });
24
- }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW1lcmNoYW50LWFwcGxpY2F0aW9uLXJlc3VsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbnRlZ3JhdGlvbnMva29sYXIvdG9vbHMvZ2V0LW1lcmNoYW50LWFwcGxpY2F0aW9uLXJlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUtBLHlEQXVCQztBQTVCRCxpREFBOEQ7QUFDOUQsNkJBQXdCO0FBRXhCLG9DQUE0QztBQUU1QyxTQUF3QixzQ0FBc0MsQ0FDNUQsT0FBK0IsRUFDL0IsT0FBZTtJQUVmLE9BQU8sSUFBSSw2QkFBcUIsQ0FBQztRQUMvQixJQUFJLEVBQUUsdUNBQXVDO1FBQzdDLFdBQVcsRUFDVCwyTkFBMk47UUFDN04sTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUM7WUFDZixFQUFFLEVBQUUsT0FBQztpQkFDRixNQUFNLEVBQUU7aUJBQ1IsR0FBRyxFQUFFO2lCQUNMLFFBQVEsRUFBRTtpQkFDVixRQUFRLENBQUMsMkVBQTJFLENBQUM7U0FDekYsQ0FBQztRQUNGLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1lBQ3JCLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsT0FBTyx5QkFBeUIsRUFBRSxTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBRTFGLE1BQU0sSUFBQSx3QkFBZ0IsRUFBQyxRQUFRLEVBQUUsaUNBQWlDLENBQUMsQ0FBQztZQUVwRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMvQyxDQUFDO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyJ9
@@ -1,3 +0,0 @@
1
- import { DynamicStructuredTool } from '@langchain/core/tools';
2
- export default function createGetScreeningResultTool(headers: Record<string, string>, baseUrl: string): DynamicStructuredTool;
3
- //# sourceMappingURL=get-screening-result.d.ts.map
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = createGetScreeningResultTool;
4
- const tools_1 = require("@langchain/core/tools");
5
- const zod_1 = require("zod");
6
- const utils_1 = require("../utils");
7
- function createGetScreeningResultTool(headers, baseUrl) {
8
- return new tools_1.DynamicStructuredTool({
9
- name: 'kolar_get_screening_result',
10
- description: 'Retrieve the full result of a submitted screening by alert ID, including risk score and match details.',
11
- schema: zod_1.z.object({
12
- id: zod_1.z.number().int().positive().describe('The alert ID returned by kolar_screen_transaction'),
13
- }),
14
- func: async ({ id }) => {
15
- const response = await fetch(`${baseUrl}/alert/${id}/result`, { headers });
16
- await (0, utils_1.assertResponseOk)(response, 'get screening result');
17
- return JSON.stringify(await response.json());
18
- },
19
- });
20
- }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXNjcmVlbmluZy1yZXN1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW50ZWdyYXRpb25zL2tvbGFyL3Rvb2xzL2dldC1zY3JlZW5pbmctcmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBS0EsK0NBbUJDO0FBeEJELGlEQUE4RDtBQUM5RCw2QkFBd0I7QUFFeEIsb0NBQTRDO0FBRTVDLFNBQXdCLDRCQUE0QixDQUNsRCxPQUErQixFQUMvQixPQUFlO0lBRWYsT0FBTyxJQUFJLDZCQUFxQixDQUFDO1FBQy9CLElBQUksRUFBRSw0QkFBNEI7UUFDbEMsV0FBVyxFQUNULHdHQUF3RztRQUMxRyxNQUFNLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNmLEVBQUUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLG1EQUFtRCxDQUFDO1NBQzlGLENBQUM7UUFDRixJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtZQUNyQixNQUFNLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLE9BQU8sVUFBVSxFQUFFLFNBQVMsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFFM0UsTUFBTSxJQUFBLHdCQUFnQixFQUFDLFFBQVEsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1lBRXpELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLENBQUM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIn0=
@@ -1,3 +0,0 @@
1
- import { DynamicStructuredTool } from '@langchain/core/tools';
2
- export default function createScreenTransactionTool(headers: Record<string, string>, baseUrl: string): DynamicStructuredTool;
3
- //# sourceMappingURL=screen-transaction.d.ts.map
@@ -1,61 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = createScreenTransactionTool;
4
- const tools_1 = require("@langchain/core/tools");
5
- const zod_1 = require("zod");
6
- const utils_1 = require("../utils");
7
- function createScreenTransactionTool(headers, baseUrl) {
8
- return new tools_1.DynamicStructuredTool({
9
- name: 'kolar_screen_transaction',
10
- description: 'Submit a transaction for AML risk screening. Creates an alert and triggers the screening job. Returns the alert ID to use with kolar_get_screening_result.',
11
- schema: zod_1.z.object({
12
- clientFirstName: zod_1.z.string().describe('Client first name'),
13
- clientLastName: zod_1.z.string().describe('Client last name'),
14
- matchFirstNames: zod_1.z.string().describe('Match first names'),
15
- matchLastNames: zod_1.z.string().describe('Match last names'),
16
- matchType: zod_1.z
17
- .enum(['PEP', 'SL'])
18
- .describe('Match type: PEP (Politically Exposed Person) or SL (Sanctions List)'),
19
- clientBirthDate: zod_1.z.string().optional().describe('Client birth date (ISO 8601)'),
20
- clientBirthPlace: zod_1.z.string().optional().describe('Client birth place'),
21
- clientIdFirstName: zod_1.z.string().optional().describe('Client ID first name'),
22
- clientIdLastName: zod_1.z.string().optional().describe('Client ID last name'),
23
- clientIdBirthDate: zod_1.z.string().optional().describe('Client ID birth date (ISO 8601)'),
24
- clientIdBirthPlace: zod_1.z.string().optional().describe('Client ID birth place'),
25
- clientIdCountryCode: zod_1.z.string().optional().describe('Client ID country code'),
26
- onfidoCountryCode: zod_1.z.string().optional().describe('Onfido country code'),
27
- clientPhoneCountryCode: zod_1.z.string().optional().describe('Client phone country code'),
28
- merchantBrand: zod_1.z.string().optional().describe('Merchant brand'),
29
- paymentIpAddress: zod_1.z.string().optional().describe('Payment IP address'),
30
- paymentCountry: zod_1.z.string().optional().describe('Payment country'),
31
- shippingCountry: zod_1.z.string().optional().describe('Shipping country'),
32
- billingCountry: zod_1.z.string().optional().describe('Billing country'),
33
- cardHolderName: zod_1.z.string().optional().describe('Card holder name'),
34
- cardCountryCode: zod_1.z.string().optional().describe('Card country code'),
35
- bankAccountHolderName: zod_1.z.string().optional().describe('Bank account holder name'),
36
- bankAccountCountryCode: zod_1.z.string().optional().describe('Bank account country code'),
37
- matchFullNames: zod_1.z.string().optional().describe('Match full names'),
38
- matchBirthDate: zod_1.z.string().optional().describe('Match birth date (ISO 8601)'),
39
- matchBirthPlace: zod_1.z.string().optional().describe('Match birth place'),
40
- matchCountryCode: zod_1.z.string().optional().describe('Match country code'),
41
- matchRole: zod_1.z.string().optional().describe('Match role'),
42
- additionalData: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional().describe('Additional data'),
43
- }),
44
- func: async (inputs) => {
45
- const createResponse = await fetch(`${baseUrl}/alert/create`, {
46
- method: 'POST',
47
- headers,
48
- body: JSON.stringify(inputs),
49
- });
50
- await (0, utils_1.assertResponseOk)(createResponse, 'create alert');
51
- const { id } = await createResponse.json();
52
- const jobResponse = await fetch(`${baseUrl}/alert-job/create/${id}`, {
53
- method: 'POST',
54
- headers,
55
- });
56
- await (0, utils_1.assertResponseOk)(jobResponse, 'create alert job');
57
- return JSON.stringify({ id });
58
- },
59
- });
60
- }
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLXRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ludGVncmF0aW9ucy9rb2xhci90b29scy9zY3JlZW4tdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFLQSw4Q0E2REM7QUFsRUQsaURBQThEO0FBQzlELDZCQUF3QjtBQUV4QixvQ0FBNEM7QUFFNUMsU0FBd0IsMkJBQTJCLENBQ2pELE9BQStCLEVBQy9CLE9BQWU7SUFFZixPQUFPLElBQUksNkJBQXFCLENBQUM7UUFDL0IsSUFBSSxFQUFFLDBCQUEwQjtRQUNoQyxXQUFXLEVBQ1QsNEpBQTRKO1FBQzlKLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDO1lBQ2YsZUFBZSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUM7WUFDekQsY0FBYyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUM7WUFDdkQsZUFBZSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUM7WUFDekQsY0FBYyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUM7WUFDdkQsU0FBUyxFQUFFLE9BQUM7aUJBQ1QsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO2lCQUNuQixRQUFRLENBQUMscUVBQXFFLENBQUM7WUFDbEYsZUFBZSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsOEJBQThCLENBQUM7WUFDL0UsZ0JBQWdCLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQztZQUN0RSxpQkFBaUIsRUFBRSxPQUFDLENBQUMsTUFB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
@@ -1,6 +0,0 @@
1
- import type RemoteTool from '../../remote-tool';
2
- export interface KolarConfig {
3
- apiKey: string;
4
- }
5
- export default function getKolarTools(config: KolarConfig, mcpServerId?: string): RemoteTool[];
6
- //# sourceMappingURL=tools.d.ts.map
@@ -1,26 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = getKolarTools;
7
- const create_merchant_application_1 = __importDefault(require("./tools/create-merchant-application"));
8
- const get_merchant_application_result_1 = __importDefault(require("./tools/get-merchant-application-result"));
9
- const get_screening_result_1 = __importDefault(require("./tools/get-screening-result"));
10
- const screen_transaction_1 = __importDefault(require("./tools/screen-transaction"));
11
- const utils_1 = require("./utils");
12
- const server_remote_tool_1 = __importDefault(require("../../server-remote-tool"));
13
- function getKolarTools(config, mcpServerId) {
14
- const { baseUrl, headers } = (0, utils_1.getKolarConfig)(config);
15
- return [
16
- (0, create_merchant_application_1.default)(headers, baseUrl),
17
- (0, get_merchant_application_result_1.default)(headers, baseUrl),
18
- (0, screen_transaction_1.default)(headers, baseUrl),
19
- (0, get_screening_result_1.default)(headers, baseUrl),
20
- ].map(tool => new server_remote_tool_1.default({
21
- sourceId: 'kolar',
22
- mcpServerId,
23
- tool,
24
- }));
25
- }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW50ZWdyYXRpb25zL2tvbGFyL3Rvb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBYUEsZ0NBZ0JDO0FBM0JELHNHQUFnRjtBQUNoRiw4R0FBNkY7QUFDN0Ysd0ZBQXdFO0FBQ3hFLG9GQUFxRTtBQUNyRSxtQ0FBeUM7QUFDekMsa0ZBQXdEO0FBTXhELFNBQXdCLGFBQWEsQ0FBQyxNQUFtQixFQUFFLFdBQW9CO0lBQzdFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBQSxzQkFBYyxFQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXBELE9BQU87UUFDTCxJQUFBLHFDQUE2QixFQUFDLE9BQU8sRUFBRSxPQUFPLENBQUM7UUFDL0MsSUFBQSx5Q0FBc0MsRUFBQyxPQUFPLEVBQUUsT0FBTyxDQUFDO1FBQ3hELElBQUEsNEJBQTJCLEVBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQztRQUM3QyxJQUFBLDhCQUE0QixFQUFDLE9BQU8sRUFBRSxPQUFPLENBQUM7S0FDL0MsQ0FBQyxHQUFHLENBQ0gsSUFBSSxDQUFDLEVBQUUsQ0FDTCxJQUFJLDRCQUFnQixDQUFDO1FBQ25CLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFdBQVc7UUFDWCxJQUFJO0tBQ0wsQ0FBQyxDQUNMLENBQUM7QUFDSixDQUFDIn0=
@@ -1,11 +0,0 @@
1
- import type { KolarConfig } from './tools';
2
- export declare function getKolarConfig({ apiKey }: KolarConfig): {
3
- baseUrl: string;
4
- headers: {
5
- 'X-Api-Key': string;
6
- 'Content-Type': string;
7
- };
8
- };
9
- export declare function assertResponseOk(response: Response, action: string): Promise<void>;
10
- export declare function validateKolarConfig(config: KolarConfig): Promise<void>;
11
- //# sourceMappingURL=utils.d.ts.map
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getKolarConfig = getKolarConfig;
4
- exports.assertResponseOk = assertResponseOk;
5
- exports.validateKolarConfig = validateKolarConfig;
6
- const errors_1 = require("../../errors");
7
- const BASE_URL = 'https://api.kolar.ai';
8
- function getKolarConfig({ apiKey }) {
9
- const headers = {
10
- 'X-Api-Key': apiKey,
11
- 'Content-Type': 'application/json',
12
- };
13
- return { baseUrl: BASE_URL, headers };
14
- }
15
- async function assertResponseOk(response, action) {
16
- if (!response.ok) {
17
- let errorMessage = response.statusText || 'Unknown error';
18
- try {
19
- const json = await response.json();
20
- errorMessage = json.error || json.message || json.description || errorMessage;
21
- }
22
- catch {
23
- // Response body is not JSON
24
- }
25
- throw new Error(`Kolar ${action} failed (${response.status}): ${errorMessage}`);
26
- }
27
- }
28
- async function validateKolarConfig(config) {
29
- const { baseUrl, headers } = getKolarConfig(config);
30
- const response = await fetch(`${baseUrl}/auth/verify`, { headers });
31
- if (!response.ok) {
32
- let errorMessage = response.statusText || 'Unknown error';
33
- try {
34
- const json = await response.json();
35
- errorMessage = json.message || json.error || errorMessage;
36
- }
37
- catch {
38
- // Response body is not JSON
39
- }
40
- throw new errors_1.McpConnectionError(`Failed to validate Kolar config: ${errorMessage}`);
41
- }
42
- }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW50ZWdyYXRpb25zL2tvbGFyL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBTUEsd0NBT0M7QUFFRCw0Q0FhQztBQUVELGtEQWlCQztBQTdDRCx5Q0FBa0Q7QUFFbEQsTUFBTSxRQUFRLEdBQUcsc0JBQXNCLENBQUM7QUFFeEMsU0FBZ0IsY0FBYyxDQUFDLEVBQUUsTUFBTSxFQUFlO0lBQ3BELE1BQU0sT0FBTyxHQUFHO1FBQ2QsV0FBVyxFQUFFLE1BQU07UUFDbkIsY0FBYyxFQUFFLGtCQUFrQjtLQUNuQyxDQUFDO0lBRUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7QUFDeEMsQ0FBQztBQUVNLEtBQUssVUFBVSxnQkFBZ0IsQ0FBQyxRQUFrQixFQUFFLE1BQWM7SUFDdkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNqQixJQUFJLFlBQVksR0FBRyxRQUFRLENBQUMsVUFBVSxJQUFJLGVBQWUsQ0FBQztRQUUxRCxJQUFJLENBQUM7WUFDSCxNQUFNLElBQUksR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksWUFBWSxDQUFDO1FBQ2hGLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCw0QkFBNEI7UUFDOUIsQ0FBQztRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxNQUFNLFlBQVksUUFBUSxDQUFDLE1BQU0sTUFBTSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7QUFDSCxDQUFDO0FBRU0sS0FBSyxVQUFVLG1CQUFtQixDQUFDLE1BQW1CO0lBQzNELE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXBELE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsT0FBTyxjQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRXBFLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDakIsSUFBSSxZQUFZLEdBQUcsUUFBUSxDQUFDLFVBQVUsSUFBSSxlQUFlLENBQUM7UUFFMUQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxJQUFJLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxZQUFZLENBQUM7UUFDNUQsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNQLDRCQUE0QjtRQUM5QixDQUFDO1FBRUQsTUFBTSxJQUFJLDJCQUFrQixDQUFDLG9DQUFvQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQ25GLENBQUM7QUFDSCxDQUFDIn0=