@dotsetlabs/tollgate 0.1.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/LICENSE +21 -0
- package/README.md +885 -0
- package/dist/analyzers/filesystem.d.ts +26 -0
- package/dist/analyzers/filesystem.d.ts.map +1 -0
- package/dist/analyzers/filesystem.js +284 -0
- package/dist/analyzers/filesystem.js.map +1 -0
- package/dist/analyzers/http.d.ts +90 -0
- package/dist/analyzers/http.d.ts.map +1 -0
- package/dist/analyzers/http.js +433 -0
- package/dist/analyzers/http.js.map +1 -0
- package/dist/analyzers/index.d.ts +101 -0
- package/dist/analyzers/index.d.ts.map +1 -0
- package/dist/analyzers/index.js +342 -0
- package/dist/analyzers/index.js.map +1 -0
- package/dist/analyzers/loader.d.ts +114 -0
- package/dist/analyzers/loader.d.ts.map +1 -0
- package/dist/analyzers/loader.js +184 -0
- package/dist/analyzers/loader.js.map +1 -0
- package/dist/analyzers/prompt-injection.d.ts +95 -0
- package/dist/analyzers/prompt-injection.d.ts.map +1 -0
- package/dist/analyzers/prompt-injection.js +725 -0
- package/dist/analyzers/prompt-injection.js.map +1 -0
- package/dist/analyzers/sdk.d.ts +230 -0
- package/dist/analyzers/sdk.d.ts.map +1 -0
- package/dist/analyzers/sdk.js +283 -0
- package/dist/analyzers/sdk.js.map +1 -0
- package/dist/analyzers/shell.d.ts +20 -0
- package/dist/analyzers/shell.d.ts.map +1 -0
- package/dist/analyzers/shell.js +297 -0
- package/dist/analyzers/shell.js.map +1 -0
- package/dist/analyzers/sql.d.ts +37 -0
- package/dist/analyzers/sql.d.ts.map +1 -0
- package/dist/analyzers/sql.js +455 -0
- package/dist/analyzers/sql.js.map +1 -0
- package/dist/analyzers/types.d.ts +117 -0
- package/dist/analyzers/types.d.ts.map +1 -0
- package/dist/analyzers/types.js +46 -0
- package/dist/analyzers/types.js.map +1 -0
- package/dist/approval/interactive.d.ts +72 -0
- package/dist/approval/interactive.d.ts.map +1 -0
- package/dist/approval/interactive.js +550 -0
- package/dist/approval/interactive.js.map +1 -0
- package/dist/approval/terminal.d.ts +59 -0
- package/dist/approval/terminal.d.ts.map +1 -0
- package/dist/approval/terminal.js +238 -0
- package/dist/approval/terminal.js.map +1 -0
- package/dist/approval/types.d.ts +66 -0
- package/dist/approval/types.d.ts.map +1 -0
- package/dist/approval/types.js +2 -0
- package/dist/approval/types.js.map +1 -0
- package/dist/audit/exporter.d.ts +138 -0
- package/dist/audit/exporter.d.ts.map +1 -0
- package/dist/audit/exporter.js +366 -0
- package/dist/audit/exporter.js.map +1 -0
- package/dist/audit/logger.d.ts +156 -0
- package/dist/audit/logger.d.ts.map +1 -0
- package/dist/audit/logger.js +406 -0
- package/dist/audit/logger.js.map +1 -0
- package/dist/audit/redaction.d.ts +110 -0
- package/dist/audit/redaction.d.ts.map +1 -0
- package/dist/audit/redaction.js +307 -0
- package/dist/audit/redaction.js.map +1 -0
- package/dist/audit/schema.d.ts +76 -0
- package/dist/audit/schema.d.ts.map +1 -0
- package/dist/audit/schema.js +122 -0
- package/dist/audit/schema.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +34 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +431 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/export.d.ts +18 -0
- package/dist/cli/commands/export.d.ts.map +1 -0
- package/dist/cli/commands/export.js +63 -0
- package/dist/cli/commands/export.js.map +1 -0
- package/dist/cli/commands/init.d.ts +12 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +102 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/logs.d.ts +11 -0
- package/dist/cli/commands/logs.d.ts.map +1 -0
- package/dist/cli/commands/logs.js +60 -0
- package/dist/cli/commands/logs.js.map +1 -0
- package/dist/cli/commands/scan.d.ts +29 -0
- package/dist/cli/commands/scan.d.ts.map +1 -0
- package/dist/cli/commands/scan.js +251 -0
- package/dist/cli/commands/scan.js.map +1 -0
- package/dist/cli/commands/serve.d.ts +26 -0
- package/dist/cli/commands/serve.d.ts.map +1 -0
- package/dist/cli/commands/serve.js +424 -0
- package/dist/cli/commands/serve.js.map +1 -0
- package/dist/cli/commands/start.d.ts +20 -0
- package/dist/cli/commands/start.d.ts.map +1 -0
- package/dist/cli/commands/start.js +82 -0
- package/dist/cli/commands/start.js.map +1 -0
- package/dist/cli/commands/stats.d.ts +10 -0
- package/dist/cli/commands/stats.d.ts.map +1 -0
- package/dist/cli/commands/stats.js +42 -0
- package/dist/cli/commands/stats.js.map +1 -0
- package/dist/cli/commands/templates.d.ts +26 -0
- package/dist/cli/commands/templates.d.ts.map +1 -0
- package/dist/cli/commands/templates.js +221 -0
- package/dist/cli/commands/templates.js.map +1 -0
- package/dist/cli/commands/validate.d.ts +12 -0
- package/dist/cli/commands/validate.d.ts.map +1 -0
- package/dist/cli/commands/validate.js +107 -0
- package/dist/cli/commands/validate.js.map +1 -0
- package/dist/cli/commands/wrap.d.ts +19 -0
- package/dist/cli/commands/wrap.d.ts.map +1 -0
- package/dist/cli/commands/wrap.js +59 -0
- package/dist/cli/commands/wrap.js.map +1 -0
- package/dist/cli/index.d.ts +17 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +202 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/ui.d.ts +139 -0
- package/dist/cli/ui.d.ts.map +1 -0
- package/dist/cli/ui.js +271 -0
- package/dist/cli/ui.js.map +1 -0
- package/dist/constants.d.ts +33 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +54 -0
- package/dist/constants.js.map +1 -0
- package/dist/errors.d.ts +28 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +37 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +49 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +82 -0
- package/dist/index.js.map +1 -0
- package/dist/orchestrator/index.d.ts +11 -0
- package/dist/orchestrator/index.d.ts.map +1 -0
- package/dist/orchestrator/index.js +10 -0
- package/dist/orchestrator/index.js.map +1 -0
- package/dist/orchestrator/manager.d.ts +127 -0
- package/dist/orchestrator/manager.d.ts.map +1 -0
- package/dist/orchestrator/manager.js +498 -0
- package/dist/orchestrator/manager.js.map +1 -0
- package/dist/orchestrator/types.d.ts +141 -0
- package/dist/orchestrator/types.d.ts.map +1 -0
- package/dist/orchestrator/types.js +9 -0
- package/dist/orchestrator/types.js.map +1 -0
- package/dist/policy/engine.d.ts +55 -0
- package/dist/policy/engine.d.ts.map +1 -0
- package/dist/policy/engine.js +288 -0
- package/dist/policy/engine.js.map +1 -0
- package/dist/policy/natural-language.d.ts +141 -0
- package/dist/policy/natural-language.d.ts.map +1 -0
- package/dist/policy/natural-language.js +552 -0
- package/dist/policy/natural-language.js.map +1 -0
- package/dist/policy/parser.d.ts +141 -0
- package/dist/policy/parser.d.ts.map +1 -0
- package/dist/policy/parser.js +314 -0
- package/dist/policy/parser.js.map +1 -0
- package/dist/policy/types.d.ts +428 -0
- package/dist/policy/types.d.ts.map +1 -0
- package/dist/policy/types.js +32 -0
- package/dist/policy/types.js.map +1 -0
- package/dist/policy/validator.d.ts +72 -0
- package/dist/policy/validator.d.ts.map +1 -0
- package/dist/policy/validator.js +453 -0
- package/dist/policy/validator.js.map +1 -0
- package/dist/proxy/bridge.d.ts +84 -0
- package/dist/proxy/bridge.d.ts.map +1 -0
- package/dist/proxy/bridge.js +217 -0
- package/dist/proxy/bridge.js.map +1 -0
- package/dist/proxy/client.d.ts +130 -0
- package/dist/proxy/client.d.ts.map +1 -0
- package/dist/proxy/client.js +290 -0
- package/dist/proxy/client.js.map +1 -0
- package/dist/proxy/server.d.ts +111 -0
- package/dist/proxy/server.d.ts.map +1 -0
- package/dist/proxy/server.js +444 -0
- package/dist/proxy/server.js.map +1 -0
- package/dist/scanner.d.ts +91 -0
- package/dist/scanner.d.ts.map +1 -0
- package/dist/scanner.js +373 -0
- package/dist/scanner.js.map +1 -0
- package/dist/session/index.d.ts +32 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +31 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/manager.d.ts +166 -0
- package/dist/session/manager.d.ts.map +1 -0
- package/dist/session/manager.js +454 -0
- package/dist/session/manager.js.map +1 -0
- package/dist/session/sqlite-store.d.ts +54 -0
- package/dist/session/sqlite-store.d.ts.map +1 -0
- package/dist/session/sqlite-store.js +209 -0
- package/dist/session/sqlite-store.js.map +1 -0
- package/dist/session/types.d.ts +179 -0
- package/dist/session/types.d.ts.map +1 -0
- package/dist/session/types.js +38 -0
- package/dist/session/types.js.map +1 -0
- package/dist/templates.d.ts +64 -0
- package/dist/templates.d.ts.map +1 -0
- package/dist/templates.js +451 -0
- package/dist/templates.js.map +1 -0
- package/dist/utils/config.d.ts +57 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +104 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/errors.d.ts +18 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +35 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/logger.d.ts +144 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +300 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/wizard.d.ts +68 -0
- package/dist/wizard.d.ts.map +1 -0
- package/dist/wizard.js +395 -0
- package/dist/wizard.js.map +1 -0
- package/package.json +99 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared constants for Tollgate
|
|
3
|
+
*
|
|
4
|
+
* Centralizes configuration defaults to avoid duplication across modules.
|
|
5
|
+
*
|
|
6
|
+
* @module constants
|
|
7
|
+
*/
|
|
8
|
+
import type { ResilienceConfig } from './policy/types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Default timeout for approval requests in milliseconds.
|
|
11
|
+
* After this time, unanswered approval requests are automatically denied.
|
|
12
|
+
*/
|
|
13
|
+
export declare const DEFAULT_APPROVAL_TIMEOUT_MS = 60000;
|
|
14
|
+
/**
|
|
15
|
+
* Default port for the interactive approval web UI.
|
|
16
|
+
*/
|
|
17
|
+
export declare const DEFAULT_APPROVAL_PORT = 9847;
|
|
18
|
+
/**
|
|
19
|
+
* Maximum request body size in bytes for the approval API.
|
|
20
|
+
* Limits request body to prevent DoS attacks.
|
|
21
|
+
*/
|
|
22
|
+
export declare const MAX_APPROVAL_REQUEST_BODY_BYTES = 10240;
|
|
23
|
+
/**
|
|
24
|
+
* Default resilience configuration for upstream connections.
|
|
25
|
+
* Used by both the bridge and orchestrator.
|
|
26
|
+
*/
|
|
27
|
+
export declare const DEFAULT_RESILIENCE: Required<ResilienceConfig>;
|
|
28
|
+
/**
|
|
29
|
+
* Default timeout for analyzer execution in milliseconds.
|
|
30
|
+
* Prevents analyzers from blocking indefinitely.
|
|
31
|
+
*/
|
|
32
|
+
export declare const DEFAULT_ANALYZER_TIMEOUT_MS = 5000;
|
|
33
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAM1D;;;GAGG;AACH,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,+BAA+B,QAAS,CAAC;AAMtD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,gBAAgB,CAazD,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,OAAQ,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared constants for Tollgate
|
|
3
|
+
*
|
|
4
|
+
* Centralizes configuration defaults to avoid duplication across modules.
|
|
5
|
+
*
|
|
6
|
+
* @module constants
|
|
7
|
+
*/
|
|
8
|
+
// ============================================================================
|
|
9
|
+
// Approval Defaults
|
|
10
|
+
// ============================================================================
|
|
11
|
+
/**
|
|
12
|
+
* Default timeout for approval requests in milliseconds.
|
|
13
|
+
* After this time, unanswered approval requests are automatically denied.
|
|
14
|
+
*/
|
|
15
|
+
export const DEFAULT_APPROVAL_TIMEOUT_MS = 60_000;
|
|
16
|
+
/**
|
|
17
|
+
* Default port for the interactive approval web UI.
|
|
18
|
+
*/
|
|
19
|
+
export const DEFAULT_APPROVAL_PORT = 9847;
|
|
20
|
+
/**
|
|
21
|
+
* Maximum request body size in bytes for the approval API.
|
|
22
|
+
* Limits request body to prevent DoS attacks.
|
|
23
|
+
*/
|
|
24
|
+
export const MAX_APPROVAL_REQUEST_BODY_BYTES = 10_240;
|
|
25
|
+
// ============================================================================
|
|
26
|
+
// Resilience Defaults
|
|
27
|
+
// ============================================================================
|
|
28
|
+
/**
|
|
29
|
+
* Default resilience configuration for upstream connections.
|
|
30
|
+
* Used by both the bridge and orchestrator.
|
|
31
|
+
*/
|
|
32
|
+
export const DEFAULT_RESILIENCE = {
|
|
33
|
+
failureMode: 'fail-closed',
|
|
34
|
+
upstreamTimeoutMs: 30_000,
|
|
35
|
+
healthCheck: {
|
|
36
|
+
enabled: true,
|
|
37
|
+
intervalMs: 30_000,
|
|
38
|
+
timeoutMs: 5_000,
|
|
39
|
+
failureThreshold: 3,
|
|
40
|
+
},
|
|
41
|
+
shutdown: {
|
|
42
|
+
timeoutMs: 10_000,
|
|
43
|
+
drainTimeoutMs: 5_000,
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
// ============================================================================
|
|
47
|
+
// Analyzer Defaults
|
|
48
|
+
// ============================================================================
|
|
49
|
+
/**
|
|
50
|
+
* Default timeout for analyzer execution in milliseconds.
|
|
51
|
+
* Prevents analyzers from blocking indefinitely.
|
|
52
|
+
*/
|
|
53
|
+
export const DEFAULT_ANALYZER_TIMEOUT_MS = 5_000;
|
|
54
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAE1C;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,MAAM,CAAC;AAEtD,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA+B;IAC5D,WAAW,EAAE,aAAa;IAC1B,iBAAiB,EAAE,MAAM;IACzB,WAAW,EAAE;QACX,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,KAAK;QAChB,gBAAgB,EAAE,CAAC;KACpB;IACD,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM;QACjB,cAAc,EAAE,KAAK;KACtB;CACF,CAAC;AAEF,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,CAAC"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error Utilities
|
|
3
|
+
*
|
|
4
|
+
* Centralized error handling utilities for production-ready type safety.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Interface for AggregateError which may contain multiple underlying errors
|
|
8
|
+
*/
|
|
9
|
+
export interface AggregateErrorLike {
|
|
10
|
+
errors: Error[];
|
|
11
|
+
message: string;
|
|
12
|
+
name: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Type guard to check if an error is an AggregateError
|
|
16
|
+
* AggregateError is a standard JS error type that aggregates multiple errors
|
|
17
|
+
*/
|
|
18
|
+
export declare function isAggregateError(error: unknown): error is AggregateErrorLike;
|
|
19
|
+
/**
|
|
20
|
+
* Safely extract an error message from an unknown error
|
|
21
|
+
* Handles Error objects, strings, and fallback for other types
|
|
22
|
+
*/
|
|
23
|
+
export declare function getErrorMessage(error: unknown): string;
|
|
24
|
+
/**
|
|
25
|
+
* Extract all error messages from an error, including nested AggregateError messages
|
|
26
|
+
*/
|
|
27
|
+
export declare function getAllErrorMessages(error: unknown): string[];
|
|
28
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAM5E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQtD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAK5D"}
|
package/dist/errors.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error Utilities
|
|
3
|
+
*
|
|
4
|
+
* Centralized error handling utilities for production-ready type safety.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Type guard to check if an error is an AggregateError
|
|
8
|
+
* AggregateError is a standard JS error type that aggregates multiple errors
|
|
9
|
+
*/
|
|
10
|
+
export function isAggregateError(error) {
|
|
11
|
+
return (error instanceof Error &&
|
|
12
|
+
'errors' in error &&
|
|
13
|
+
Array.isArray(error.errors));
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Safely extract an error message from an unknown error
|
|
17
|
+
* Handles Error objects, strings, and fallback for other types
|
|
18
|
+
*/
|
|
19
|
+
export function getErrorMessage(error) {
|
|
20
|
+
if (error instanceof Error) {
|
|
21
|
+
return error.message;
|
|
22
|
+
}
|
|
23
|
+
if (typeof error === 'string') {
|
|
24
|
+
return error;
|
|
25
|
+
}
|
|
26
|
+
return String(error);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Extract all error messages from an error, including nested AggregateError messages
|
|
30
|
+
*/
|
|
31
|
+
export function getAllErrorMessages(error) {
|
|
32
|
+
if (isAggregateError(error)) {
|
|
33
|
+
return error.errors.map((e) => e.message || String(e));
|
|
34
|
+
}
|
|
35
|
+
return [getErrorMessage(error)];
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC3C,OAAO,CACH,KAAK,YAAY,KAAK;QACtB,QAAQ,IAAI,KAAK;QACjB,KAAK,CAAC,OAAO,CAAE,KAA4B,CAAC,MAAM,CAAC,CACtD,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC1C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,OAAO,CAAC;IACzB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAC9C,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;AACpC,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tollgate - MCP Security Proxy
|
|
3
|
+
*
|
|
4
|
+
* The sudo command for AI agents - policy-based access control for MCP servers.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* import { TollgateBridge, PolicyEngine, AuditLogger } from '@dotsetlabs/tollgate';
|
|
9
|
+
*
|
|
10
|
+
* // Start a tollgate proxy with configuration
|
|
11
|
+
* const bridge = new TollgateBridge({
|
|
12
|
+
* config,
|
|
13
|
+
* serverName: 'postgres',
|
|
14
|
+
* });
|
|
15
|
+
* await bridge.start();
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* @packageDocumentation
|
|
19
|
+
*/
|
|
20
|
+
export { PolicyEngine } from './policy/engine.js';
|
|
21
|
+
export { validateConfig, normalizeToolPolicy, resolveServerEnv, getServerConfig, processNaturalPolicies, validateNaturalPolicies, type NaturalPolicyResult, } from './policy/parser.js';
|
|
22
|
+
export { validateConfigWithDetails, formatValidationIssues, type ValidationResult, type ValidationIssue, type ValidationLevel, } from './policy/validator.js';
|
|
23
|
+
export type { PolicyAction, PolicyDecision, ToolPolicy, SessionConfig, ServerConfig, TollgateConfig, FailureMode, HealthCheckConfig, ShutdownConfig, ResilienceConfig, ToolCallContext, GuardrailAction, GuardrailResult, GuardrailsConfig, PromptInjectionGuardrailConfig, } from './policy/types.js';
|
|
24
|
+
export { parsePolicy, parseNaturalPolicies, policiesToConfig, isValidPolicyStatement, getSuggestions, POLICY_TEMPLATES, type ParsedPolicy, type ParserOptions, } from './policy/natural-language.js';
|
|
25
|
+
export { AnalyzerRegistry, analyzerRegistry, riskToAction, inferAnalyzer, extractAnalyzableContent, SqlAnalyzer, FilesystemAnalyzer, ShellAnalyzer, HttpAnalyzer, PromptInjectionAnalyzer, type ConcreteAction, } from './analyzers/index.js';
|
|
26
|
+
export type { ContentAnalyzer, AnalysisResult, AnalyzerContext, RiskLevel, RiskMapping, } from './analyzers/types.js';
|
|
27
|
+
export { DEFAULT_RISK_MAPPING } from './analyzers/types.js';
|
|
28
|
+
export { defineAnalyzer, defineAsyncAnalyzer, createPatternAnalyzer, isCustomAnalyzer, isAsyncAnalyzer, type AnalyzerDefinition, type CustomAnalyzer, } from './analyzers/sdk.js';
|
|
29
|
+
export { loadAnalyzer, loadAnalyzers, loadAnalyzersFromConfig, initializeAnalyzers, cleanupAnalyzers, unloadAnalyzer, listCustomAnalyzers, resolveAnalyzerPath, type LoadResult, type LoaderOptions, } from './analyzers/loader.js';
|
|
30
|
+
export { TollgateBridge, startWrapMode, type BridgeOptions, type WrapOptions, } from './proxy/bridge.js';
|
|
31
|
+
export { TollgateServer, type TollgateServerOptions } from './proxy/server.js';
|
|
32
|
+
export { UpstreamClient, type UpstreamClientOptions, type HealthStatus, } from './proxy/client.js';
|
|
33
|
+
export { SessionManager, InMemorySessionStore, SqliteSessionStore, durationToTtlSeconds, DEFAULT_SESSION_CONFIG, type SessionScope, type SessionDuration, type SessionGrant, type CreateSessionGrantInput, type SessionCheckResult, type SessionPolicyConfig, type SessionStats, type SessionStore, } from './session/index.js';
|
|
34
|
+
export { AuditLogger, type AuditLoggerOptions } from './audit/logger.js';
|
|
35
|
+
export { AuditExporter, exportAuditRecords, type ExportFormat, type ExportOptions, } from './audit/exporter.js';
|
|
36
|
+
export { PiiRedactor, createRedactor, redactPii, redactPiiFromObject, containsPii, type RedactionOptions, } from './audit/redaction.js';
|
|
37
|
+
export { AUDIT_SCHEMA, SCHEMA_VERSION as AUDIT_VERSION } from './audit/schema.js';
|
|
38
|
+
export type { AuditRecord, SessionGrantRecord, RiskLevel as AuditRiskLevel } from './audit/schema.js';
|
|
39
|
+
export { TerminalApprovalHandler } from './approval/terminal.js';
|
|
40
|
+
export { InteractiveApprovalHandler } from './approval/interactive.js';
|
|
41
|
+
export type { ApprovalHandler, ApprovalRequest, ApprovalResponse, ApprovalResult, SessionGrantInfo, } from './approval/types.js';
|
|
42
|
+
export { loadConfig, expandEnvVars, getDataDir } from './utils/config.js';
|
|
43
|
+
export { TollgateError, ConfigError, PolicyError, ProxyError, UpstreamError, } from './utils/errors.js';
|
|
44
|
+
export { Logger, logger, createLogger, proxyLogger, sessionLogger, policyLogger, orchestratorLogger, upstreamLogger, approvalLogger, type LogLevel, type LogEntry, type LoggerConfig, } from './utils/logger.js';
|
|
45
|
+
export { runWizard, generateConfig, SERVER_TEMPLATES, POLICY_PRESETS, type WizardResult, type ServerTemplate, type PolicyPreset, } from './wizard.js';
|
|
46
|
+
export { TEMPLATE_LIBRARY, getAllTemplates, getTemplateByName, getTemplatesByCategory, searchTemplates, getCategories, generateTemplateYaml, generateFullConfig, type ExtendedTemplate, type TemplateCategory, } from './templates.js';
|
|
47
|
+
export { scanServer, analyzeTool, generatePolicy, generateServerConfig, type ScanResult, type AnalyzedTool, type ToolRiskLevel, type RiskIndicator, type ScannerOptions, } from './scanner.js';
|
|
48
|
+
export { Orchestrator, type ServerStatus, type ManagedServer, type OrchestratorOptions, type OrchestratorEvent, type OrchestratorEventHandler, type CommandResult, type ServerStats, type OrchestratorStats, } from './orchestrator/index.js';
|
|
49
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tollgate - MCP Security Proxy
|
|
3
|
+
*
|
|
4
|
+
* The sudo command for AI agents - policy-based access control for MCP servers.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* import { TollgateBridge, PolicyEngine, AuditLogger } from '@dotsetlabs/tollgate';
|
|
9
|
+
*
|
|
10
|
+
* // Start a tollgate proxy with configuration
|
|
11
|
+
* const bridge = new TollgateBridge({
|
|
12
|
+
* config,
|
|
13
|
+
* serverName: 'postgres',
|
|
14
|
+
* });
|
|
15
|
+
* await bridge.start();
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* @packageDocumentation
|
|
19
|
+
*/
|
|
20
|
+
// ============================================================================
|
|
21
|
+
// Core Policy Engine
|
|
22
|
+
// ============================================================================
|
|
23
|
+
export { PolicyEngine } from './policy/engine.js';
|
|
24
|
+
export { validateConfig, normalizeToolPolicy, resolveServerEnv, getServerConfig, processNaturalPolicies, validateNaturalPolicies, } from './policy/parser.js';
|
|
25
|
+
export { validateConfigWithDetails, formatValidationIssues, } from './policy/validator.js';
|
|
26
|
+
// Natural Language Policy Parser
|
|
27
|
+
export { parsePolicy, parseNaturalPolicies, policiesToConfig, isValidPolicyStatement, getSuggestions, POLICY_TEMPLATES, } from './policy/natural-language.js';
|
|
28
|
+
// ============================================================================
|
|
29
|
+
// Content Analyzers
|
|
30
|
+
// ============================================================================
|
|
31
|
+
export { AnalyzerRegistry, analyzerRegistry, riskToAction, inferAnalyzer, extractAnalyzableContent, SqlAnalyzer, FilesystemAnalyzer, ShellAnalyzer, HttpAnalyzer, PromptInjectionAnalyzer, } from './analyzers/index.js';
|
|
32
|
+
export { DEFAULT_RISK_MAPPING } from './analyzers/types.js';
|
|
33
|
+
// ============================================================================
|
|
34
|
+
// Custom Analyzer SDK
|
|
35
|
+
// ============================================================================
|
|
36
|
+
export { defineAnalyzer, defineAsyncAnalyzer, createPatternAnalyzer, isCustomAnalyzer, isAsyncAnalyzer, } from './analyzers/sdk.js';
|
|
37
|
+
export { loadAnalyzer, loadAnalyzers, loadAnalyzersFromConfig, initializeAnalyzers, cleanupAnalyzers, unloadAnalyzer, listCustomAnalyzers, resolveAnalyzerPath, } from './analyzers/loader.js';
|
|
38
|
+
// ============================================================================
|
|
39
|
+
// Proxy Components
|
|
40
|
+
// ============================================================================
|
|
41
|
+
export { TollgateBridge, startWrapMode, } from './proxy/bridge.js';
|
|
42
|
+
export { TollgateServer } from './proxy/server.js';
|
|
43
|
+
export { UpstreamClient, } from './proxy/client.js';
|
|
44
|
+
// ============================================================================
|
|
45
|
+
// Session Management
|
|
46
|
+
// ============================================================================
|
|
47
|
+
export { SessionManager, InMemorySessionStore, SqliteSessionStore, durationToTtlSeconds, DEFAULT_SESSION_CONFIG, } from './session/index.js';
|
|
48
|
+
// ============================================================================
|
|
49
|
+
// Audit Logging
|
|
50
|
+
// ============================================================================
|
|
51
|
+
export { AuditLogger } from './audit/logger.js';
|
|
52
|
+
export { AuditExporter, exportAuditRecords, } from './audit/exporter.js';
|
|
53
|
+
export { PiiRedactor, createRedactor, redactPii, redactPiiFromObject, containsPii, } from './audit/redaction.js';
|
|
54
|
+
export { AUDIT_SCHEMA, SCHEMA_VERSION as AUDIT_VERSION } from './audit/schema.js';
|
|
55
|
+
// ============================================================================
|
|
56
|
+
// Approval Handling
|
|
57
|
+
// ============================================================================
|
|
58
|
+
export { TerminalApprovalHandler } from './approval/terminal.js';
|
|
59
|
+
export { InteractiveApprovalHandler } from './approval/interactive.js';
|
|
60
|
+
// ============================================================================
|
|
61
|
+
// Utilities
|
|
62
|
+
// ============================================================================
|
|
63
|
+
export { loadConfig, expandEnvVars, getDataDir } from './utils/config.js';
|
|
64
|
+
export { TollgateError, ConfigError, PolicyError, ProxyError, UpstreamError, } from './utils/errors.js';
|
|
65
|
+
export { Logger, logger, createLogger, proxyLogger, sessionLogger, policyLogger, orchestratorLogger, upstreamLogger, approvalLogger, } from './utils/logger.js';
|
|
66
|
+
// ============================================================================
|
|
67
|
+
// Configuration Wizard
|
|
68
|
+
// ============================================================================
|
|
69
|
+
export { runWizard, generateConfig, SERVER_TEMPLATES, POLICY_PRESETS, } from './wizard.js';
|
|
70
|
+
// ============================================================================
|
|
71
|
+
// Template Library
|
|
72
|
+
// ============================================================================
|
|
73
|
+
export { TEMPLATE_LIBRARY, getAllTemplates, getTemplateByName, getTemplatesByCategory, searchTemplates, getCategories, generateTemplateYaml, generateFullConfig, } from './templates.js';
|
|
74
|
+
// ============================================================================
|
|
75
|
+
// MCP Server Scanner
|
|
76
|
+
// ============================================================================
|
|
77
|
+
export { scanServer, analyzeTool, generatePolicy, generateServerConfig, } from './scanner.js';
|
|
78
|
+
// ============================================================================
|
|
79
|
+
// Multi-Server Orchestrator
|
|
80
|
+
// ============================================================================
|
|
81
|
+
export { Orchestrator, } from './orchestrator/index.js';
|
|
82
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multi-Server Orchestrator Module
|
|
3
|
+
*
|
|
4
|
+
* Provides multi-server management for Tollgate, allowing a single process
|
|
5
|
+
* to manage multiple MCP servers with unified control and monitoring.
|
|
6
|
+
*
|
|
7
|
+
* @module orchestrator
|
|
8
|
+
*/
|
|
9
|
+
export { Orchestrator } from './manager.js';
|
|
10
|
+
export type { ServerStatus, ManagedServer, OrchestratorOptions, OrchestratorEvent, OrchestratorEventHandler, CommandResult, ServerStats, OrchestratorStats, } from './types.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/orchestrator/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,YAAY,EACV,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,aAAa,EACb,WAAW,EACX,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multi-Server Orchestrator Module
|
|
3
|
+
*
|
|
4
|
+
* Provides multi-server management for Tollgate, allowing a single process
|
|
5
|
+
* to manage multiple MCP servers with unified control and monitoring.
|
|
6
|
+
*
|
|
7
|
+
* @module orchestrator
|
|
8
|
+
*/
|
|
9
|
+
export { Orchestrator } from './manager.js';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/orchestrator/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multi-Server Orchestrator Manager
|
|
3
|
+
*
|
|
4
|
+
* Manages multiple MCP server instances in a single Tollgate process.
|
|
5
|
+
* Provides lifecycle management, health monitoring, and unified control.
|
|
6
|
+
*
|
|
7
|
+
* @module orchestrator/manager
|
|
8
|
+
*/
|
|
9
|
+
import type { AuditRecord } from '../audit/schema.js';
|
|
10
|
+
import type { ManagedServer, OrchestratorOptions, OrchestratorEventHandler, OrchestratorStats, CommandResult } from './types.js';
|
|
11
|
+
/**
|
|
12
|
+
* Multi-Server Orchestrator
|
|
13
|
+
*
|
|
14
|
+
* Manages multiple MCP servers in a single process, providing:
|
|
15
|
+
* - Lifecycle management (start, stop, restart)
|
|
16
|
+
* - Health monitoring
|
|
17
|
+
* - Unified statistics
|
|
18
|
+
* - Event-driven status updates
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* const orchestrator = new Orchestrator({
|
|
23
|
+
* config,
|
|
24
|
+
* autoStart: true,
|
|
25
|
+
* });
|
|
26
|
+
*
|
|
27
|
+
* orchestrator.on((event) => {
|
|
28
|
+
* console.log(`[${event.type}]`, event);
|
|
29
|
+
* });
|
|
30
|
+
*
|
|
31
|
+
* await orchestrator.start();
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare class Orchestrator {
|
|
35
|
+
private readonly options;
|
|
36
|
+
private readonly config;
|
|
37
|
+
private readonly resilience;
|
|
38
|
+
private readonly servers;
|
|
39
|
+
private readonly instances;
|
|
40
|
+
private readonly eventHandlers;
|
|
41
|
+
private readonly startTime;
|
|
42
|
+
private isShuttingDown;
|
|
43
|
+
private approvalHandler?;
|
|
44
|
+
constructor(options: OrchestratorOptions);
|
|
45
|
+
/**
|
|
46
|
+
* Register an event handler.
|
|
47
|
+
*/
|
|
48
|
+
on(handler: OrchestratorEventHandler): void;
|
|
49
|
+
/**
|
|
50
|
+
* Remove an event handler.
|
|
51
|
+
*/
|
|
52
|
+
off(handler: OrchestratorEventHandler): void;
|
|
53
|
+
/**
|
|
54
|
+
* Emit an event to all handlers.
|
|
55
|
+
*/
|
|
56
|
+
private emit;
|
|
57
|
+
/**
|
|
58
|
+
* Start the orchestrator and optionally auto-start servers.
|
|
59
|
+
*/
|
|
60
|
+
start(): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Shutdown the orchestrator and all running servers.
|
|
63
|
+
*/
|
|
64
|
+
shutdown(): Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* Get all configured server names.
|
|
67
|
+
*/
|
|
68
|
+
getServerNames(): string[];
|
|
69
|
+
/**
|
|
70
|
+
* Get names of currently running servers.
|
|
71
|
+
*/
|
|
72
|
+
getRunningServers(): string[];
|
|
73
|
+
/**
|
|
74
|
+
* Get names of stopped servers.
|
|
75
|
+
*/
|
|
76
|
+
getStoppedServers(): string[];
|
|
77
|
+
/**
|
|
78
|
+
* Get information about a specific server.
|
|
79
|
+
*/
|
|
80
|
+
getServer(name: string): ManagedServer | undefined;
|
|
81
|
+
/**
|
|
82
|
+
* Get all managed servers.
|
|
83
|
+
*/
|
|
84
|
+
getAllServers(): ManagedServer[];
|
|
85
|
+
/**
|
|
86
|
+
* Get aggregated audit records from all running server instances.
|
|
87
|
+
* Records are sorted by timestamp (most recent first).
|
|
88
|
+
*/
|
|
89
|
+
getAggregatedAuditRecords(limit?: number): AuditRecord[];
|
|
90
|
+
/**
|
|
91
|
+
* Start a specific server.
|
|
92
|
+
*/
|
|
93
|
+
startServer(name: string): Promise<CommandResult>;
|
|
94
|
+
/**
|
|
95
|
+
* Stop a specific server.
|
|
96
|
+
*/
|
|
97
|
+
stopServer(name: string): Promise<CommandResult>;
|
|
98
|
+
/**
|
|
99
|
+
* Restart a specific server.
|
|
100
|
+
*/
|
|
101
|
+
restartServer(name: string): Promise<CommandResult>;
|
|
102
|
+
/**
|
|
103
|
+
* Start all servers.
|
|
104
|
+
*/
|
|
105
|
+
startAll(): Promise<CommandResult[]>;
|
|
106
|
+
/**
|
|
107
|
+
* Stop all servers.
|
|
108
|
+
*/
|
|
109
|
+
stopAll(): Promise<CommandResult[]>;
|
|
110
|
+
/**
|
|
111
|
+
* Get statistics for all servers.
|
|
112
|
+
*/
|
|
113
|
+
getStats(): OrchestratorStats;
|
|
114
|
+
/**
|
|
115
|
+
* Get server logs (from audit logger).
|
|
116
|
+
*/
|
|
117
|
+
getServerLogs(name: string, limit?: number): Promise<CommandResult>;
|
|
118
|
+
/**
|
|
119
|
+
* Creates the appropriate approval handler based on configuration.
|
|
120
|
+
*/
|
|
121
|
+
private createApprovalHandler;
|
|
122
|
+
/**
|
|
123
|
+
* Creates the appropriate session store based on configuration.
|
|
124
|
+
*/
|
|
125
|
+
private createSessionManager;
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/orchestrator/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAYtD,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EAEnB,wBAAwB,EACxB,iBAAiB,EAEjB,aAAa,EACd,MAAM,YAAY,CAAC;AAYpB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyC;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0C;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4C;IAC1E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAO;IACjC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,eAAe,CAAC,CAAkB;gBAE9B,OAAO,EAAE,mBAAmB;IA4CxC;;OAEG;IACH,EAAE,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI;IAI3C;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI;IAI5C;;OAEG;IACH,OAAO,CAAC,IAAI;IAaZ;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC5B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB/B;;OAEG;IACH,cAAc,IAAI,MAAM,EAAE;IAI1B;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAM7B;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAM7B;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIlD;;OAEG;IACH,aAAa,IAAI,aAAa,EAAE;IAIhC;;;OAGG;IACH,yBAAyB,CAAC,KAAK,SAAK,GAAG,WAAW,EAAE;IAkBpD;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA+FvD;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAoDtD;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IASzD;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAS1C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IASzC;;OAEG;IACH,QAAQ,IAAI,iBAAiB;IA+C7B;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,aAAa,CAAC;IAyBrE;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAc7B"}
|