paygate-mcp 9.3.0 → 9.4.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/dist/router.d.ts CHANGED
@@ -29,7 +29,7 @@ export declare class MultiServerRouter extends EventEmitter {
29
29
  /**
30
30
  * Handle an incoming JSON-RPC request, routing to the appropriate backend.
31
31
  */
32
- handleRequest(request: JsonRpcRequest, apiKey: string | null, clientIp?: string, scopedTokenTools?: string[]): Promise<JsonRpcResponse>;
32
+ handleRequest(request: JsonRpcRequest, apiKey: string | null, clientIp?: string, scopedTokenTools?: string[], countryCode?: string): Promise<JsonRpcResponse>;
33
33
  /**
34
34
  * Aggregate tools/list from all backends, prefixing tool names.
35
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAkB,aAAa,EAAE,MAAM,SAAS,CAAC;AAC9G,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAM9B,qBAAa,iBAAkB,SAAQ,YAAY;IACjD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAO;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IACjE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,OAAO,CAAS;IAExB,6CAA6C;IAC7C,MAAM,CAAC,QAAQ,CAAC,SAAS,OAAO;gBAEpB,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE;IAmCtD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAgC7I;;OAEG;YACW,eAAe;IAuC7B;;OAEG;YACW,eAAe;IA4E7B;;;OAGG;IACG,kBAAkB,CACtB,KAAK,EAAE,aAAa,EAAE,EACtB,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EACpC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,QAAQ,CAAC,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAC1B,OAAO,CAAC,eAAe,CAAC;IAkG3B;;;OAGG;YACW,uBAAuB;IAIrC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,kCAAkC;IAClC,IAAI,QAAQ,IAAI,MAAM,EAAE,CAEvB;IAED,wBAAwB;IACxB,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,OAAO,CAAC,aAAa;CAGtB"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAkB,aAAa,EAAE,MAAM,SAAS,CAAC;AAC9G,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAM9B,qBAAa,iBAAkB,SAAQ,YAAY;IACjD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAO;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IACjE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,OAAO,CAAS;IAExB,6CAA6C;IAC7C,MAAM,CAAC,QAAQ,CAAC,SAAS,OAAO;gBAEpB,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE;IAmCtD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAgCnK;;OAEG;YACW,eAAe;IAuC7B;;OAEG;YACW,eAAe;IA4E7B;;;OAGG;IACG,kBAAkB,CACtB,KAAK,EAAE,aAAa,EAAE,EACtB,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EACpC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,QAAQ,CAAC,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAC1B,OAAO,CAAC,eAAe,CAAC;IAkG3B;;;OAGG;YACW,uBAAuB;IAIrC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,kCAAkC;IAClC,IAAI,QAAQ,IAAI,MAAM,EAAE,CAEvB;IAED,wBAAwB;IACxB,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,OAAO,CAAC,aAAa;CAGtB"}
package/dist/router.js CHANGED
@@ -70,7 +70,7 @@ class MultiServerRouter extends events_1.EventEmitter {
70
70
  /**
71
71
  * Handle an incoming JSON-RPC request, routing to the appropriate backend.
72
72
  */
73
- async handleRequest(request, apiKey, clientIp, scopedTokenTools) {
73
+ async handleRequest(request, apiKey, clientIp, scopedTokenTools, countryCode) {
74
74
  if (!this.started) {
75
75
  return this.errorResponse(request.id, -32603, 'Router not started');
76
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -39,6 +39,7 @@ import { StripeCheckout } from './stripe-checkout';
39
39
  import { BackupManager } from './backup';
40
40
  import { ResponseCache } from './response-cache';
41
41
  import { CircuitBreaker } from './circuit-breaker';
42
+ import { ContentGuardrails } from './guardrails';
42
43
  /** Generate a unique request ID (16 hex chars = 8 bytes of randomness) */
43
44
  export declare function generateRequestId(): string;
44
45
  /** Extract request ID from an IncomingMessage (set by PayGateServer handleRequest) */
@@ -152,6 +153,8 @@ export declare class PayGateServer {
152
153
  readonly responseCache: ResponseCache | null;
153
154
  /** Circuit breaker for backend failure detection (null if disabled) */
154
155
  readonly circuitBreaker: CircuitBreaker | null;
156
+ /** Content guardrails for PII detection and content policy enforcement. */
157
+ readonly guardrails: ContentGuardrails;
155
158
  /** The active request handler — either proxy or router */
156
159
  private get handler();
157
160
  constructor(config: Partial<PayGateConfig> & {
@@ -450,6 +453,9 @@ export declare class PayGateServer {
450
453
  private handleRequestDryRunBatch;
451
454
  private handleRequestLogExport;
452
455
  private handleToolAvailability;
456
+ private handleGuardrails;
457
+ private handleGuardrailViolations;
458
+ private handleKeyGeo;
453
459
  /** Calculate percentile from an array of numbers. */
454
460
  private percentile;
455
461
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -101,6 +101,7 @@ const backup_1 = require("./backup");
101
101
  const response_cache_1 = require("./response-cache");
102
102
  const circuit_breaker_1 = require("./circuit-breaker");
103
103
  const compliance_1 = require("./compliance");
104
+ const guardrails_1 = require("./guardrails");
104
105
  /** Max request body size: 1MB */
105
106
  const MAX_BODY_SIZE = 1_048_576;
106
107
  /**
@@ -432,6 +433,8 @@ class PayGateServer {
432
433
  responseCache = null;
433
434
  /** Circuit breaker for backend failure detection (null if disabled) */
434
435
  circuitBreaker = null;
436
+ /** Content guardrails for PII detection and content policy enforcement. */
437
+ guardrails;
435
438
  /** The active request handler — either proxy or router */
436
439
  get handler() {
437
440
  return (this.router || this.proxy);
@@ -655,6 +658,12 @@ class PayGateServer {
655
658
  cooldownSeconds: this.config.circuitBreakerCooldownSeconds ?? 30,
656
659
  });
657
660
  }
661
+ // Content guardrails for PII detection
662
+ this.guardrails = new guardrails_1.ContentGuardrails({
663
+ enabled: this.config.guardrails?.enabled ?? false,
664
+ includeContext: this.config.guardrails?.includeContext ?? false,
665
+ maxViolations: this.config.guardrails?.maxViolations ?? 10_000,
666
+ });
658
667
  // Backup manager for full state snapshots
659
668
  this.backup = new backup_1.BackupManager(this.createBackupProvider());
660
669
  }
@@ -1388,6 +1397,12 @@ class PayGateServer {
1388
1397
  return this.handleComplianceExport(req, res);
1389
1398
  this.sendError(res, 405, 'Method not allowed. Use GET.');
1390
1399
  return;
1400
+ case '/admin/guardrails':
1401
+ return this.handleGuardrails(req, res);
1402
+ case '/admin/guardrails/violations':
1403
+ return this.handleGuardrailViolations(req, res);
1404
+ case '/keys/geo':
1405
+ return this.handleKeyGeo(req, res);
1391
1406
  case '/admin/sla':
1392
1407
  if (req.method === 'GET')
1393
1408
  return this.handleSlaMonitoring(req, res);
@@ -1773,6 +1788,9 @@ class PayGateServer {
1773
1788
  }
1774
1789
  // Extract client IP for IP allowlist checking (trusted proxy-aware)
1775
1790
  const clientIp = resolveClientIp(req, this.config.trustedProxies);
1791
+ // Extract country code from reverse proxy header (Cloudflare, AWS, etc.)
1792
+ const geoHeader = this.config.geoCountryHeader || 'X-Country';
1793
+ const countryCode = req.headers[geoHeader.toLowerCase()] || undefined;
1776
1794
  // Extract scoped token tool restrictions (set by resolveApiKey)
1777
1795
  const scopedTokenTools = req._scopedTokenTools;
1778
1796
  // ─── Batch tool calls ────────────────────────────────────────────────
@@ -1790,7 +1808,7 @@ class PayGateServer {
1790
1808
  res.end(JSON.stringify(errResp));
1791
1809
  return;
1792
1810
  }
1793
- const batchResponse = await this.handler.handleBatchRequest(calls, request.id, apiKey, clientIp, scopedTokenTools);
1811
+ const batchResponse = await this.handler.handleBatchRequest(calls, request.id, apiKey, clientIp, scopedTokenTools, countryCode);
1794
1812
  // Audit + metrics for batch
1795
1813
  if (batchResponse.error) {
1796
1814
  this.audit.log('gate.deny', (0, audit_1.maskKeyForAudit)(apiKey || 'anonymous'), `Batch denied (${calls.length} calls)`, {
@@ -1845,6 +1863,38 @@ class PayGateServer {
1845
1863
  const toolCallStartTime = Date.now();
1846
1864
  let cacheHit = false;
1847
1865
  let circuitBroken = false;
1866
+ // ─── Content Guardrails: scan inputs ────────────────────────────
1867
+ if (this.guardrails.isEnabled && pluginRequest.method === 'tools/call') {
1868
+ const grToolName = pluginRequest.params?.name || '';
1869
+ const grToolArgs = pluginRequest.params?.arguments;
1870
+ const inputContent = grToolArgs ? JSON.stringify(grToolArgs) : '';
1871
+ if (inputContent) {
1872
+ const grResult = this.guardrails.check(inputContent, grToolName, 'input', apiKey ? apiKey.slice(0, 10) : 'anon');
1873
+ if (grResult.blocked) {
1874
+ const ruleNames = grResult.violations.filter(v => v.action === 'block').map(v => v.ruleName).join(', ');
1875
+ this.audit.log('guardrail.block', (0, audit_1.maskKeyForAudit)(apiKey || 'anonymous'), `Input blocked by guardrail: ${ruleNames}`, { tool: grToolName, scope: 'input', requestId });
1876
+ const errResp = {
1877
+ jsonrpc: '2.0',
1878
+ id: pluginRequest.id,
1879
+ error: { code: -32406, message: `Content policy violation: input blocked by guardrail (${ruleNames})` },
1880
+ };
1881
+ res.writeHead(200, { 'Content-Type': 'application/json', 'Mcp-Session-Id': sessionId });
1882
+ res.end(JSON.stringify(errResp));
1883
+ return;
1884
+ }
1885
+ if (grResult.redactedContent && grToolArgs) {
1886
+ // Replace arguments with redacted version
1887
+ try {
1888
+ pluginRequest.params.arguments = JSON.parse(grResult.redactedContent);
1889
+ }
1890
+ catch { /* ignore parse error, use original */ }
1891
+ }
1892
+ // Add warnings as response headers
1893
+ for (const warning of grResult.warnings) {
1894
+ res.setHeader('X-Guardrail-Warning', warning);
1895
+ }
1896
+ }
1897
+ }
1848
1898
  // ─── Response Cache check (before forwarding to backend) ────────
1849
1899
  // response is guaranteed assigned before use: either via cache hit, circuit breaker, or handler
1850
1900
  let response = null;
@@ -1893,12 +1943,12 @@ class PayGateServer {
1893
1943
  }, timeoutMs);
1894
1944
  });
1895
1945
  response = await Promise.race([
1896
- this.handler.handleRequest(pluginRequest, apiKey, clientIp, scopedTokenTools),
1946
+ this.handler.handleRequest(pluginRequest, apiKey, clientIp, scopedTokenTools, countryCode),
1897
1947
  timeoutPromise,
1898
1948
  ]);
1899
1949
  }
1900
1950
  else {
1901
- response = await this.handler.handleRequest(pluginRequest, apiKey, clientIp, scopedTokenTools);
1951
+ response = await this.handler.handleRequest(pluginRequest, apiKey, clientIp, scopedTokenTools, countryCode);
1902
1952
  }
1903
1953
  // Record circuit breaker outcome
1904
1954
  if (pluginRequest.method === 'tools/call' && this.circuitBreaker) {
@@ -1950,6 +2000,32 @@ class PayGateServer {
1950
2000
  }
1951
2001
  }
1952
2002
  }
2003
+ // ─── Content Guardrails: scan outputs ────────────────────────────
2004
+ if (this.guardrails.isEnabled && request.method === 'tools/call' && response && !response.error) {
2005
+ const grToolName = request.params?.name || '';
2006
+ const outputContent = response.result ? JSON.stringify(response.result) : '';
2007
+ if (outputContent) {
2008
+ const grResult = this.guardrails.check(outputContent, grToolName, 'output', apiKey ? apiKey.slice(0, 10) : 'anon');
2009
+ if (grResult.blocked) {
2010
+ const ruleNames = grResult.violations.filter(v => v.action === 'block').map(v => v.ruleName).join(', ');
2011
+ this.audit.log('guardrail.block', (0, audit_1.maskKeyForAudit)(apiKey || 'anonymous'), `Output blocked by guardrail: ${ruleNames}`, { tool: grToolName, scope: 'output', requestId });
2012
+ response = {
2013
+ jsonrpc: '2.0',
2014
+ id: response.id,
2015
+ error: { code: -32406, message: `Content policy violation: output blocked by guardrail (${ruleNames})` },
2016
+ };
2017
+ }
2018
+ else if (grResult.redactedContent) {
2019
+ try {
2020
+ response = { ...response, result: JSON.parse(grResult.redactedContent) };
2021
+ }
2022
+ catch { /* ignore parse error, use original */ }
2023
+ }
2024
+ for (const warning of grResult.warnings) {
2025
+ res.setHeader('X-Guardrail-Warning', warning);
2026
+ }
2027
+ }
2028
+ }
1953
2029
  // Plugin: afterToolCall — let plugins modify the response
1954
2030
  if (this.plugins.count > 0 && request.method === 'tools/call') {
1955
2031
  const toolName = request.params?.name || '';
@@ -2459,6 +2535,9 @@ class PayGateServer {
2459
2535
  adminCircuit: 'GET /admin/circuit — Circuit breaker status; POST /admin/circuit — Reset circuit breaker (requires X-Admin-Key)',
2460
2536
  adminComplianceExport: 'GET /admin/compliance/export?framework=soc2|gdpr|hipaa&format=json|csv — Framework-specific compliance audit export with event classification (requires X-Admin-Key)',
2461
2537
  keyWebhook: 'POST /keys/webhook — Set per-key webhook URL; DELETE /keys/webhook — Remove per-key webhook (requires X-Admin-Key)',
2538
+ adminGuardrails: 'GET /admin/guardrails — View guardrail rules and stats; POST /admin/guardrails — Toggle, upsert rule, or import rules; DELETE /admin/guardrails?id= — Remove rule (requires X-Admin-Key)',
2539
+ adminGuardrailViolations: 'GET /admin/guardrails/violations — View content policy violations with filters; DELETE — Clear all violations (requires X-Admin-Key)',
2540
+ keyGeo: 'POST /keys/geo — Set per-key country restrictions; GET /keys/geo?key= — View geo restrictions; DELETE /keys/geo?key= — Clear restrictions (requires X-Admin-Key)',
2462
2541
  ...(this.oauth ? {
2463
2542
  oauthMetadata: 'GET /.well-known/oauth-authorization-server — OAuth 2.1 server metadata',
2464
2543
  oauthRegister: 'POST /oauth/register — Register OAuth client',
@@ -3090,6 +3169,54 @@ class PayGateServer {
3090
3169
  });
3091
3170
  break;
3092
3171
  }
3172
+ case 'suspend': {
3173
+ const key = op.key;
3174
+ if (!key) {
3175
+ results.push({ index: i, action: 'suspend', success: false, error: 'Missing key' });
3176
+ break;
3177
+ }
3178
+ const rec = this.gate.store.getKey(key);
3179
+ if (!rec) {
3180
+ results.push({ index: i, action: 'suspend', success: false, error: 'Key not found' });
3181
+ break;
3182
+ }
3183
+ if (rec.suspended) {
3184
+ results.push({ index: i, action: 'suspend', success: true, result: { keyMasked: (0, audit_1.maskKeyForAudit)(key), alreadySuspended: true } });
3185
+ break;
3186
+ }
3187
+ rec.suspended = true;
3188
+ this.gate.store.save();
3189
+ if (this.redisSync)
3190
+ this.redisSync.saveKey(rec).catch(() => { });
3191
+ this.audit.log('key.suspended', 'admin', 'Key suspended (bulk)', { keyMasked: (0, audit_1.maskKeyForAudit)(key) });
3192
+ this.emitWebhookAdmin('key.suspended', 'admin', { keyMasked: (0, audit_1.maskKeyForAudit)(key) });
3193
+ results.push({ index: i, action: 'suspend', success: true, result: { keyMasked: (0, audit_1.maskKeyForAudit)(key) } });
3194
+ break;
3195
+ }
3196
+ case 'resume': {
3197
+ const key = op.key;
3198
+ if (!key) {
3199
+ results.push({ index: i, action: 'resume', success: false, error: 'Missing key' });
3200
+ break;
3201
+ }
3202
+ const rec = this.gate.store.getKey(key);
3203
+ if (!rec) {
3204
+ results.push({ index: i, action: 'resume', success: false, error: 'Key not found' });
3205
+ break;
3206
+ }
3207
+ if (!rec.suspended) {
3208
+ results.push({ index: i, action: 'resume', success: true, result: { keyMasked: (0, audit_1.maskKeyForAudit)(key), alreadyActive: true } });
3209
+ break;
3210
+ }
3211
+ rec.suspended = false;
3212
+ this.gate.store.save();
3213
+ if (this.redisSync)
3214
+ this.redisSync.saveKey(rec).catch(() => { });
3215
+ this.audit.log('key.resumed', 'admin', 'Key resumed (bulk)', { keyMasked: (0, audit_1.maskKeyForAudit)(key) });
3216
+ this.emitWebhookAdmin('key.resumed', 'admin', { keyMasked: (0, audit_1.maskKeyForAudit)(key) });
3217
+ results.push({ index: i, action: 'resume', success: true, result: { keyMasked: (0, audit_1.maskKeyForAudit)(key) } });
3218
+ break;
3219
+ }
3093
3220
  default:
3094
3221
  results.push({ index: i, action: op.action || 'unknown', success: false, error: `Unknown action: ${op.action}` });
3095
3222
  }
@@ -13006,6 +13133,238 @@ class PayGateServer {
13006
13133
  tools,
13007
13134
  });
13008
13135
  }
13136
+ // ─── /admin/guardrails — Guardrail rule management ─────────────────────────
13137
+ async handleGuardrails(req, res) {
13138
+ if (req.method === 'GET') {
13139
+ if (!this.checkAdmin(req, res, 'viewer'))
13140
+ return;
13141
+ this.sendJson(res, 200, {
13142
+ enabled: this.guardrails.isEnabled,
13143
+ rules: this.guardrails.getRules(),
13144
+ stats: this.guardrails.getStats(),
13145
+ });
13146
+ return;
13147
+ }
13148
+ if (req.method === 'POST') {
13149
+ if (!this.checkAdmin(req, res, 'admin'))
13150
+ return;
13151
+ const body = await this.readBody(req);
13152
+ let params;
13153
+ try {
13154
+ params = safeJsonParse(body);
13155
+ }
13156
+ catch {
13157
+ this.sendError(res, 400, 'Invalid JSON');
13158
+ return;
13159
+ }
13160
+ // Toggle enabled/disabled
13161
+ if (params.enabled !== undefined) {
13162
+ this.guardrails.setEnabled(!!params.enabled);
13163
+ this.audit.log('guardrail.toggle', 'admin', `Guardrails ${params.enabled ? 'enabled' : 'disabled'}`);
13164
+ this.sendJson(res, 200, { enabled: this.guardrails.isEnabled });
13165
+ return;
13166
+ }
13167
+ // Upsert a rule
13168
+ if (params.rule && typeof params.rule === 'object') {
13169
+ const rule = params.rule;
13170
+ if (!rule.id || !rule.name || !rule.pattern || !rule.action) {
13171
+ this.sendError(res, 400, 'Rule requires: id, name, pattern, action');
13172
+ return;
13173
+ }
13174
+ if (!['log', 'warn', 'block', 'redact'].includes(rule.action)) {
13175
+ this.sendError(res, 400, 'Invalid action. Must be: log, warn, block, redact');
13176
+ return;
13177
+ }
13178
+ // Validate regex compiles
13179
+ try {
13180
+ new RegExp(rule.pattern, rule.flags ?? 'gi');
13181
+ }
13182
+ catch {
13183
+ this.sendError(res, 400, 'Invalid regex pattern');
13184
+ return;
13185
+ }
13186
+ const saved = this.guardrails.upsertRule({
13187
+ ...rule,
13188
+ active: rule.active !== false,
13189
+ scope: rule.scope || 'both',
13190
+ tools: rule.tools || [],
13191
+ });
13192
+ this.audit.log('guardrail.rule_upsert', 'admin', `Guardrail rule upserted: ${saved.name}`, { ruleId: saved.id, action: saved.action });
13193
+ this.sendJson(res, 200, { rule: saved });
13194
+ return;
13195
+ }
13196
+ // Import rules
13197
+ if (params.rules && Array.isArray(params.rules)) {
13198
+ const mode = params.mode === 'replace' ? 'replace' : 'merge';
13199
+ const count = this.guardrails.importRules(params.rules, mode);
13200
+ this.audit.log('guardrail.rules_import', 'admin', `Imported ${count} guardrail rules (${mode})`);
13201
+ this.sendJson(res, 200, { imported: count, mode, totalRules: this.guardrails.getRules().length });
13202
+ return;
13203
+ }
13204
+ this.sendError(res, 400, 'Provide "enabled" (boolean), "rule" (object), or "rules" (array)');
13205
+ return;
13206
+ }
13207
+ if (req.method === 'DELETE') {
13208
+ if (!this.checkAdmin(req, res, 'admin'))
13209
+ return;
13210
+ const url = new URL(req.url || '', `http://localhost`);
13211
+ const ruleId = url.searchParams.get('id');
13212
+ if (!ruleId) {
13213
+ this.sendError(res, 400, 'Missing ?id= query parameter');
13214
+ return;
13215
+ }
13216
+ const removed = this.guardrails.removeRule(ruleId);
13217
+ if (!removed) {
13218
+ this.sendError(res, 404, `Rule not found: ${ruleId}`);
13219
+ return;
13220
+ }
13221
+ this.audit.log('guardrail.rule_delete', 'admin', `Guardrail rule deleted: ${ruleId}`);
13222
+ this.sendJson(res, 200, { deleted: ruleId });
13223
+ return;
13224
+ }
13225
+ this.sendError(res, 405, 'Method not allowed. Use GET/POST/DELETE.');
13226
+ }
13227
+ // ─── /admin/guardrails/violations — View guardrail violations ──────────────
13228
+ handleGuardrailViolations(req, res) {
13229
+ if (req.method === 'GET') {
13230
+ if (!this.checkAdmin(req, res, 'viewer'))
13231
+ return;
13232
+ const url = new URL(req.url || '', `http://localhost`);
13233
+ const limit = clampInt(parseInt(url.searchParams.get('limit') || '100', 10), 1, 1000);
13234
+ const offset = clampInt(parseInt(url.searchParams.get('offset') || '0', 10), 0, 100_000);
13235
+ const ruleId = url.searchParams.get('ruleId') || undefined;
13236
+ const tool = url.searchParams.get('tool') || undefined;
13237
+ const action = url.searchParams.get('action') || undefined;
13238
+ const since = url.searchParams.get('since') || undefined;
13239
+ const until = url.searchParams.get('until') || undefined;
13240
+ const result = this.guardrails.queryViolations({ ruleId, tool, action, since, until, limit, offset });
13241
+ this.sendJson(res, 200, {
13242
+ violations: result.violations,
13243
+ total: result.total,
13244
+ limit,
13245
+ offset,
13246
+ hasMore: offset + limit < result.total,
13247
+ });
13248
+ return;
13249
+ }
13250
+ if (req.method === 'DELETE') {
13251
+ if (!this.checkAdmin(req, res, 'admin'))
13252
+ return;
13253
+ const cleared = this.guardrails.clearViolations();
13254
+ this.sendJson(res, 200, { cleared });
13255
+ return;
13256
+ }
13257
+ this.sendError(res, 405, 'Method not allowed. Use GET/DELETE.');
13258
+ }
13259
+ // ─── /keys/geo — Per-key geo-restriction management ─────────────────────────
13260
+ async handleKeyGeo(req, res) {
13261
+ if (!this.checkAdmin(req, res, 'admin'))
13262
+ return;
13263
+ if (req.method === 'GET') {
13264
+ const url = new URL(req.url || '', `http://localhost`);
13265
+ const apiKeyPrefix = url.searchParams.get('key');
13266
+ if (!apiKeyPrefix) {
13267
+ this.sendError(res, 400, 'Missing ?key= query parameter (key prefix)');
13268
+ return;
13269
+ }
13270
+ const record = this.gate.store.getAllRecords().find((k) => k.key.startsWith(apiKeyPrefix));
13271
+ if (!record) {
13272
+ this.sendError(res, 404, 'Key not found');
13273
+ return;
13274
+ }
13275
+ this.sendJson(res, 200, {
13276
+ keyPrefix: record.key.slice(0, 10) + '...',
13277
+ allowedCountries: record.allowedCountries || [],
13278
+ deniedCountries: record.deniedCountries || [],
13279
+ });
13280
+ return;
13281
+ }
13282
+ if (req.method === 'POST') {
13283
+ const body = await this.readBody(req);
13284
+ let params;
13285
+ try {
13286
+ params = safeJsonParse(body);
13287
+ }
13288
+ catch {
13289
+ this.sendError(res, 400, 'Invalid JSON');
13290
+ return;
13291
+ }
13292
+ const apiKeyPrefix = params.key;
13293
+ if (!apiKeyPrefix) {
13294
+ this.sendError(res, 400, 'Missing "key" parameter (key prefix)');
13295
+ return;
13296
+ }
13297
+ const record = this.gate.store.getAllRecords().find((k) => k.key.startsWith(apiKeyPrefix));
13298
+ if (!record) {
13299
+ this.sendError(res, 404, 'Key not found');
13300
+ return;
13301
+ }
13302
+ // Validate country codes (ISO 3166-1 alpha-2)
13303
+ const COUNTRY_CODE_RE = /^[A-Z]{2}$/;
13304
+ if (params.allowedCountries !== undefined) {
13305
+ if (!Array.isArray(params.allowedCountries)) {
13306
+ this.sendError(res, 400, '"allowedCountries" must be an array of ISO 3166-1 alpha-2 codes');
13307
+ return;
13308
+ }
13309
+ const codes = params.allowedCountries.map(c => String(c).toUpperCase());
13310
+ if (codes.some(c => !COUNTRY_CODE_RE.test(c))) {
13311
+ this.sendError(res, 400, 'Invalid country code. Use ISO 3166-1 alpha-2 (e.g., "US", "GB", "DE")');
13312
+ return;
13313
+ }
13314
+ record.allowedCountries = codes.length > 0 ? codes : undefined;
13315
+ }
13316
+ if (params.deniedCountries !== undefined) {
13317
+ if (!Array.isArray(params.deniedCountries)) {
13318
+ this.sendError(res, 400, '"deniedCountries" must be an array of ISO 3166-1 alpha-2 codes');
13319
+ return;
13320
+ }
13321
+ const codes = params.deniedCountries.map(c => String(c).toUpperCase());
13322
+ if (codes.some(c => !COUNTRY_CODE_RE.test(c))) {
13323
+ this.sendError(res, 400, 'Invalid country code. Use ISO 3166-1 alpha-2 (e.g., "US", "GB", "DE")');
13324
+ return;
13325
+ }
13326
+ record.deniedCountries = codes.length > 0 ? codes : undefined;
13327
+ }
13328
+ this.gate.store.save();
13329
+ if (this.redisSync)
13330
+ this.redisSync.saveKey(record).catch(() => { });
13331
+ this.audit.log('key.geo_set', 'admin', `Geo restrictions set for ${record.key.slice(0, 10)}...`, {
13332
+ keyMasked: (0, audit_1.maskKeyForAudit)(record.key),
13333
+ allowedCountries: record.allowedCountries || [],
13334
+ deniedCountries: record.deniedCountries || [],
13335
+ });
13336
+ this.sendJson(res, 200, {
13337
+ keyPrefix: record.key.slice(0, 10) + '...',
13338
+ allowedCountries: record.allowedCountries || [],
13339
+ deniedCountries: record.deniedCountries || [],
13340
+ });
13341
+ return;
13342
+ }
13343
+ if (req.method === 'DELETE') {
13344
+ const url = new URL(req.url || '', `http://localhost`);
13345
+ const apiKeyPrefix = url.searchParams.get('key');
13346
+ if (!apiKeyPrefix) {
13347
+ this.sendError(res, 400, 'Missing ?key= query parameter (key prefix)');
13348
+ return;
13349
+ }
13350
+ const record = this.gate.store.getAllRecords().find((k) => k.key.startsWith(apiKeyPrefix));
13351
+ if (!record) {
13352
+ this.sendError(res, 404, 'Key not found');
13353
+ return;
13354
+ }
13355
+ record.allowedCountries = undefined;
13356
+ record.deniedCountries = undefined;
13357
+ this.gate.store.save();
13358
+ if (this.redisSync)
13359
+ this.redisSync.saveKey(record).catch(() => { });
13360
+ this.audit.log('key.geo_cleared', 'admin', `Geo restrictions cleared for ${record.key.slice(0, 10)}...`, {
13361
+ keyMasked: (0, audit_1.maskKeyForAudit)(record.key),
13362
+ });
13363
+ this.sendJson(res, 200, { keyPrefix: record.key.slice(0, 10) + '...', allowedCountries: [], deniedCountries: [] });
13364
+ return;
13365
+ }
13366
+ this.sendError(res, 405, 'Method not allowed. Use GET/POST/DELETE.');
13367
+ }
13009
13368
  /** Calculate percentile from an array of numbers. */
13010
13369
  percentile(values, p) {
13011
13370
  if (values.length === 0)