@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.
Files changed (215) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +885 -0
  3. package/dist/analyzers/filesystem.d.ts +26 -0
  4. package/dist/analyzers/filesystem.d.ts.map +1 -0
  5. package/dist/analyzers/filesystem.js +284 -0
  6. package/dist/analyzers/filesystem.js.map +1 -0
  7. package/dist/analyzers/http.d.ts +90 -0
  8. package/dist/analyzers/http.d.ts.map +1 -0
  9. package/dist/analyzers/http.js +433 -0
  10. package/dist/analyzers/http.js.map +1 -0
  11. package/dist/analyzers/index.d.ts +101 -0
  12. package/dist/analyzers/index.d.ts.map +1 -0
  13. package/dist/analyzers/index.js +342 -0
  14. package/dist/analyzers/index.js.map +1 -0
  15. package/dist/analyzers/loader.d.ts +114 -0
  16. package/dist/analyzers/loader.d.ts.map +1 -0
  17. package/dist/analyzers/loader.js +184 -0
  18. package/dist/analyzers/loader.js.map +1 -0
  19. package/dist/analyzers/prompt-injection.d.ts +95 -0
  20. package/dist/analyzers/prompt-injection.d.ts.map +1 -0
  21. package/dist/analyzers/prompt-injection.js +725 -0
  22. package/dist/analyzers/prompt-injection.js.map +1 -0
  23. package/dist/analyzers/sdk.d.ts +230 -0
  24. package/dist/analyzers/sdk.d.ts.map +1 -0
  25. package/dist/analyzers/sdk.js +283 -0
  26. package/dist/analyzers/sdk.js.map +1 -0
  27. package/dist/analyzers/shell.d.ts +20 -0
  28. package/dist/analyzers/shell.d.ts.map +1 -0
  29. package/dist/analyzers/shell.js +297 -0
  30. package/dist/analyzers/shell.js.map +1 -0
  31. package/dist/analyzers/sql.d.ts +37 -0
  32. package/dist/analyzers/sql.d.ts.map +1 -0
  33. package/dist/analyzers/sql.js +455 -0
  34. package/dist/analyzers/sql.js.map +1 -0
  35. package/dist/analyzers/types.d.ts +117 -0
  36. package/dist/analyzers/types.d.ts.map +1 -0
  37. package/dist/analyzers/types.js +46 -0
  38. package/dist/analyzers/types.js.map +1 -0
  39. package/dist/approval/interactive.d.ts +72 -0
  40. package/dist/approval/interactive.d.ts.map +1 -0
  41. package/dist/approval/interactive.js +550 -0
  42. package/dist/approval/interactive.js.map +1 -0
  43. package/dist/approval/terminal.d.ts +59 -0
  44. package/dist/approval/terminal.d.ts.map +1 -0
  45. package/dist/approval/terminal.js +238 -0
  46. package/dist/approval/terminal.js.map +1 -0
  47. package/dist/approval/types.d.ts +66 -0
  48. package/dist/approval/types.d.ts.map +1 -0
  49. package/dist/approval/types.js +2 -0
  50. package/dist/approval/types.js.map +1 -0
  51. package/dist/audit/exporter.d.ts +138 -0
  52. package/dist/audit/exporter.d.ts.map +1 -0
  53. package/dist/audit/exporter.js +366 -0
  54. package/dist/audit/exporter.js.map +1 -0
  55. package/dist/audit/logger.d.ts +156 -0
  56. package/dist/audit/logger.d.ts.map +1 -0
  57. package/dist/audit/logger.js +406 -0
  58. package/dist/audit/logger.js.map +1 -0
  59. package/dist/audit/redaction.d.ts +110 -0
  60. package/dist/audit/redaction.d.ts.map +1 -0
  61. package/dist/audit/redaction.js +307 -0
  62. package/dist/audit/redaction.js.map +1 -0
  63. package/dist/audit/schema.d.ts +76 -0
  64. package/dist/audit/schema.d.ts.map +1 -0
  65. package/dist/audit/schema.js +122 -0
  66. package/dist/audit/schema.js.map +1 -0
  67. package/dist/cli/commands/doctor.d.ts +34 -0
  68. package/dist/cli/commands/doctor.d.ts.map +1 -0
  69. package/dist/cli/commands/doctor.js +431 -0
  70. package/dist/cli/commands/doctor.js.map +1 -0
  71. package/dist/cli/commands/export.d.ts +18 -0
  72. package/dist/cli/commands/export.d.ts.map +1 -0
  73. package/dist/cli/commands/export.js +63 -0
  74. package/dist/cli/commands/export.js.map +1 -0
  75. package/dist/cli/commands/init.d.ts +12 -0
  76. package/dist/cli/commands/init.d.ts.map +1 -0
  77. package/dist/cli/commands/init.js +102 -0
  78. package/dist/cli/commands/init.js.map +1 -0
  79. package/dist/cli/commands/logs.d.ts +11 -0
  80. package/dist/cli/commands/logs.d.ts.map +1 -0
  81. package/dist/cli/commands/logs.js +60 -0
  82. package/dist/cli/commands/logs.js.map +1 -0
  83. package/dist/cli/commands/scan.d.ts +29 -0
  84. package/dist/cli/commands/scan.d.ts.map +1 -0
  85. package/dist/cli/commands/scan.js +251 -0
  86. package/dist/cli/commands/scan.js.map +1 -0
  87. package/dist/cli/commands/serve.d.ts +26 -0
  88. package/dist/cli/commands/serve.d.ts.map +1 -0
  89. package/dist/cli/commands/serve.js +424 -0
  90. package/dist/cli/commands/serve.js.map +1 -0
  91. package/dist/cli/commands/start.d.ts +20 -0
  92. package/dist/cli/commands/start.d.ts.map +1 -0
  93. package/dist/cli/commands/start.js +82 -0
  94. package/dist/cli/commands/start.js.map +1 -0
  95. package/dist/cli/commands/stats.d.ts +10 -0
  96. package/dist/cli/commands/stats.d.ts.map +1 -0
  97. package/dist/cli/commands/stats.js +42 -0
  98. package/dist/cli/commands/stats.js.map +1 -0
  99. package/dist/cli/commands/templates.d.ts +26 -0
  100. package/dist/cli/commands/templates.d.ts.map +1 -0
  101. package/dist/cli/commands/templates.js +221 -0
  102. package/dist/cli/commands/templates.js.map +1 -0
  103. package/dist/cli/commands/validate.d.ts +12 -0
  104. package/dist/cli/commands/validate.d.ts.map +1 -0
  105. package/dist/cli/commands/validate.js +107 -0
  106. package/dist/cli/commands/validate.js.map +1 -0
  107. package/dist/cli/commands/wrap.d.ts +19 -0
  108. package/dist/cli/commands/wrap.d.ts.map +1 -0
  109. package/dist/cli/commands/wrap.js +59 -0
  110. package/dist/cli/commands/wrap.js.map +1 -0
  111. package/dist/cli/index.d.ts +17 -0
  112. package/dist/cli/index.d.ts.map +1 -0
  113. package/dist/cli/index.js +202 -0
  114. package/dist/cli/index.js.map +1 -0
  115. package/dist/cli/ui.d.ts +139 -0
  116. package/dist/cli/ui.d.ts.map +1 -0
  117. package/dist/cli/ui.js +271 -0
  118. package/dist/cli/ui.js.map +1 -0
  119. package/dist/constants.d.ts +33 -0
  120. package/dist/constants.d.ts.map +1 -0
  121. package/dist/constants.js +54 -0
  122. package/dist/constants.js.map +1 -0
  123. package/dist/errors.d.ts +28 -0
  124. package/dist/errors.d.ts.map +1 -0
  125. package/dist/errors.js +37 -0
  126. package/dist/errors.js.map +1 -0
  127. package/dist/index.d.ts +49 -0
  128. package/dist/index.d.ts.map +1 -0
  129. package/dist/index.js +82 -0
  130. package/dist/index.js.map +1 -0
  131. package/dist/orchestrator/index.d.ts +11 -0
  132. package/dist/orchestrator/index.d.ts.map +1 -0
  133. package/dist/orchestrator/index.js +10 -0
  134. package/dist/orchestrator/index.js.map +1 -0
  135. package/dist/orchestrator/manager.d.ts +127 -0
  136. package/dist/orchestrator/manager.d.ts.map +1 -0
  137. package/dist/orchestrator/manager.js +498 -0
  138. package/dist/orchestrator/manager.js.map +1 -0
  139. package/dist/orchestrator/types.d.ts +141 -0
  140. package/dist/orchestrator/types.d.ts.map +1 -0
  141. package/dist/orchestrator/types.js +9 -0
  142. package/dist/orchestrator/types.js.map +1 -0
  143. package/dist/policy/engine.d.ts +55 -0
  144. package/dist/policy/engine.d.ts.map +1 -0
  145. package/dist/policy/engine.js +288 -0
  146. package/dist/policy/engine.js.map +1 -0
  147. package/dist/policy/natural-language.d.ts +141 -0
  148. package/dist/policy/natural-language.d.ts.map +1 -0
  149. package/dist/policy/natural-language.js +552 -0
  150. package/dist/policy/natural-language.js.map +1 -0
  151. package/dist/policy/parser.d.ts +141 -0
  152. package/dist/policy/parser.d.ts.map +1 -0
  153. package/dist/policy/parser.js +314 -0
  154. package/dist/policy/parser.js.map +1 -0
  155. package/dist/policy/types.d.ts +428 -0
  156. package/dist/policy/types.d.ts.map +1 -0
  157. package/dist/policy/types.js +32 -0
  158. package/dist/policy/types.js.map +1 -0
  159. package/dist/policy/validator.d.ts +72 -0
  160. package/dist/policy/validator.d.ts.map +1 -0
  161. package/dist/policy/validator.js +453 -0
  162. package/dist/policy/validator.js.map +1 -0
  163. package/dist/proxy/bridge.d.ts +84 -0
  164. package/dist/proxy/bridge.d.ts.map +1 -0
  165. package/dist/proxy/bridge.js +217 -0
  166. package/dist/proxy/bridge.js.map +1 -0
  167. package/dist/proxy/client.d.ts +130 -0
  168. package/dist/proxy/client.d.ts.map +1 -0
  169. package/dist/proxy/client.js +290 -0
  170. package/dist/proxy/client.js.map +1 -0
  171. package/dist/proxy/server.d.ts +111 -0
  172. package/dist/proxy/server.d.ts.map +1 -0
  173. package/dist/proxy/server.js +444 -0
  174. package/dist/proxy/server.js.map +1 -0
  175. package/dist/scanner.d.ts +91 -0
  176. package/dist/scanner.d.ts.map +1 -0
  177. package/dist/scanner.js +373 -0
  178. package/dist/scanner.js.map +1 -0
  179. package/dist/session/index.d.ts +32 -0
  180. package/dist/session/index.d.ts.map +1 -0
  181. package/dist/session/index.js +31 -0
  182. package/dist/session/index.js.map +1 -0
  183. package/dist/session/manager.d.ts +166 -0
  184. package/dist/session/manager.d.ts.map +1 -0
  185. package/dist/session/manager.js +454 -0
  186. package/dist/session/manager.js.map +1 -0
  187. package/dist/session/sqlite-store.d.ts +54 -0
  188. package/dist/session/sqlite-store.d.ts.map +1 -0
  189. package/dist/session/sqlite-store.js +209 -0
  190. package/dist/session/sqlite-store.js.map +1 -0
  191. package/dist/session/types.d.ts +179 -0
  192. package/dist/session/types.d.ts.map +1 -0
  193. package/dist/session/types.js +38 -0
  194. package/dist/session/types.js.map +1 -0
  195. package/dist/templates.d.ts +64 -0
  196. package/dist/templates.d.ts.map +1 -0
  197. package/dist/templates.js +451 -0
  198. package/dist/templates.js.map +1 -0
  199. package/dist/utils/config.d.ts +57 -0
  200. package/dist/utils/config.d.ts.map +1 -0
  201. package/dist/utils/config.js +104 -0
  202. package/dist/utils/config.js.map +1 -0
  203. package/dist/utils/errors.d.ts +18 -0
  204. package/dist/utils/errors.d.ts.map +1 -0
  205. package/dist/utils/errors.js +35 -0
  206. package/dist/utils/errors.js.map +1 -0
  207. package/dist/utils/logger.d.ts +144 -0
  208. package/dist/utils/logger.d.ts.map +1 -0
  209. package/dist/utils/logger.js +300 -0
  210. package/dist/utils/logger.js.map +1 -0
  211. package/dist/wizard.d.ts +68 -0
  212. package/dist/wizard.d.ts.map +1 -0
  213. package/dist/wizard.js +395 -0
  214. package/dist/wizard.js.map +1 -0
  215. 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"}
@@ -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"}
@@ -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"}