paygate-mcp 4.7.0 → 4.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/webhook.d.ts CHANGED
@@ -34,6 +34,28 @@ export interface DeadLetterEntry {
34
34
  /** Target webhook URL */
35
35
  url: string;
36
36
  }
37
+ export interface DeliveryLogEntry {
38
+ /** Auto-incrementing ID */
39
+ id: number;
40
+ /** When the delivery attempt was made */
41
+ timestamp: string;
42
+ /** Target webhook URL (credentials masked) */
43
+ url: string;
44
+ /** HTTP status code (0 for connection errors) */
45
+ statusCode: number;
46
+ /** Whether the delivery was successful (2xx) */
47
+ success: boolean;
48
+ /** Round-trip time in milliseconds */
49
+ responseTime: number;
50
+ /** Retry attempt number (0 = first attempt) */
51
+ attempt: number;
52
+ /** Error message (only on failure) */
53
+ error?: string;
54
+ /** Number of events in the batch */
55
+ eventCount: number;
56
+ /** Distinct event types in the batch */
57
+ eventTypes: string[];
58
+ }
37
59
  export declare class WebhookEmitter {
38
60
  private readonly url;
39
61
  private readonly secret;
@@ -54,6 +76,16 @@ export declare class WebhookEmitter {
54
76
  private _totalDelivered;
55
77
  private _totalFailed;
56
78
  private _totalRetries;
79
+ /** Delivery log (capped at maxDeliveryLog entries, newest last) */
80
+ private deliveryLog;
81
+ private readonly maxDeliveryLog;
82
+ private _deliveryLogSeq;
83
+ /** Whether webhook delivery is paused */
84
+ private _paused;
85
+ /** When the webhook was paused (ISO 8601) */
86
+ private _pausedAt;
87
+ /** Number of events buffered while paused */
88
+ private _pauseBufferCount;
57
89
  constructor(url: string, options?: {
58
90
  secret?: string | null;
59
91
  batchSize?: number;
@@ -61,6 +93,7 @@ export declare class WebhookEmitter {
61
93
  maxRetries?: number;
62
94
  baseDelayMs?: number;
63
95
  maxDeadLetters?: number;
96
+ maxDeliveryLog?: number;
64
97
  });
65
98
  /**
66
99
  * Emit a usage event (tool call / denial).
@@ -115,7 +148,48 @@ export declare class WebhookEmitter {
115
148
  totalDelivered: number;
116
149
  totalFailed: number;
117
150
  totalRetries: number;
151
+ paused: boolean;
152
+ pausedAt: string | null;
153
+ bufferedEvents: number;
118
154
  };
155
+ /**
156
+ * Pause webhook delivery. Events continue to be buffered but not sent.
157
+ * Returns true if paused, false if already paused.
158
+ */
159
+ pause(): boolean;
160
+ /**
161
+ * Resume webhook delivery. Buffered events are flushed immediately.
162
+ * Returns the number of buffered events that will be flushed.
163
+ */
164
+ resume(): {
165
+ resumed: boolean;
166
+ flushedEvents: number;
167
+ };
168
+ /**
169
+ * Whether delivery is currently paused.
170
+ */
171
+ get isPaused(): boolean;
172
+ /**
173
+ * Record a delivery attempt in the log.
174
+ */
175
+ private recordDelivery;
176
+ /**
177
+ * Get delivery log entries, newest first.
178
+ * @param options - Filter options
179
+ */
180
+ getDeliveryLog(options?: {
181
+ limit?: number;
182
+ since?: string;
183
+ success?: boolean;
184
+ }): DeliveryLogEntry[];
185
+ /**
186
+ * Mask credentials in a URL for logging.
187
+ */
188
+ private static maskUrl;
189
+ /**
190
+ * Extract distinct event types from a batch.
191
+ */
192
+ private static eventTypes;
119
193
  private send;
120
194
  destroy(): void;
121
195
  }
@@ -1 +1 @@
1
- {"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../src/webhook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../src/webhook.ts"],"names":[],"mappings":"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"}
package/dist/webhook.js CHANGED
@@ -42,6 +42,16 @@ class WebhookEmitter {
42
42
  _totalDelivered = 0;
43
43
  _totalFailed = 0;
44
44
  _totalRetries = 0;
45
+ /** Delivery log (capped at maxDeliveryLog entries, newest last) */
46
+ deliveryLog = [];
47
+ maxDeliveryLog;
48
+ _deliveryLogSeq = 0;
49
+ /** Whether webhook delivery is paused */
50
+ _paused = false;
51
+ /** When the webhook was paused (ISO 8601) */
52
+ _pausedAt = null;
53
+ /** Number of events buffered while paused */
54
+ _pauseBufferCount = 0;
45
55
  constructor(url, options) {
46
56
  this.url = url;
47
57
  this.secret = options?.secret || null;
@@ -51,6 +61,7 @@ class WebhookEmitter {
51
61
  this.maxRetries = options?.maxRetries ?? 5;
52
62
  this.baseDelayMs = options?.baseDelayMs ?? 1000;
53
63
  this.maxDeadLetters = options?.maxDeadLetters ?? 1000;
64
+ this.maxDeliveryLog = options?.maxDeliveryLog ?? 500;
54
65
  this.timer = setInterval(() => this.flush(), this.flushIntervalMs);
55
66
  if (this.timer.unref)
56
67
  this.timer.unref();
@@ -86,6 +97,8 @@ class WebhookEmitter {
86
97
  flush() {
87
98
  if (this.buffer.length === 0)
88
99
  return;
100
+ if (this._paused)
101
+ return; // Don't flush while paused — events stay buffered
89
102
  const batch = this.buffer.splice(0, this.batchSize);
90
103
  this.send(batch, 0, new Date().toISOString());
91
104
  }
@@ -224,9 +237,114 @@ class WebhookEmitter {
224
237
  totalDelivered: this._totalDelivered,
225
238
  totalFailed: this._totalFailed,
226
239
  totalRetries: this._totalRetries,
240
+ paused: this._paused,
241
+ pausedAt: this._pausedAt,
242
+ bufferedEvents: this.buffer.length,
227
243
  };
228
244
  }
245
+ // ─── Pause / Resume ──────────────────────────────────────────────────────
246
+ /**
247
+ * Pause webhook delivery. Events continue to be buffered but not sent.
248
+ * Returns true if paused, false if already paused.
249
+ */
250
+ pause() {
251
+ if (this._paused)
252
+ return false;
253
+ this._paused = true;
254
+ this._pausedAt = new Date().toISOString();
255
+ this._pauseBufferCount = this.buffer.length;
256
+ return true;
257
+ }
258
+ /**
259
+ * Resume webhook delivery. Buffered events are flushed immediately.
260
+ * Returns the number of buffered events that will be flushed.
261
+ */
262
+ resume() {
263
+ if (!this._paused)
264
+ return { resumed: false, flushedEvents: 0 };
265
+ this._paused = false;
266
+ const buffered = this.buffer.length;
267
+ this._pausedAt = null;
268
+ this._pauseBufferCount = 0;
269
+ // Flush all buffered events
270
+ while (this.buffer.length > 0) {
271
+ this.flush();
272
+ }
273
+ return { resumed: true, flushedEvents: buffered };
274
+ }
275
+ /**
276
+ * Whether delivery is currently paused.
277
+ */
278
+ get isPaused() {
279
+ return this._paused;
280
+ }
281
+ // ─── Delivery Log ──────────────────────────────────────────────────────────
282
+ /**
283
+ * Record a delivery attempt in the log.
284
+ */
285
+ recordDelivery(entry) {
286
+ this.deliveryLog.push({
287
+ ...entry,
288
+ id: ++this._deliveryLogSeq,
289
+ });
290
+ // Cap the log size
291
+ if (this.deliveryLog.length > this.maxDeliveryLog) {
292
+ this.deliveryLog = this.deliveryLog.slice(-this.maxDeliveryLog);
293
+ }
294
+ }
295
+ /**
296
+ * Get delivery log entries, newest first.
297
+ * @param options - Filter options
298
+ */
299
+ getDeliveryLog(options) {
300
+ let entries = [...this.deliveryLog];
301
+ // Filter by time
302
+ if (options?.since) {
303
+ entries = entries.filter(e => e.timestamp >= options.since);
304
+ }
305
+ // Filter by success/failure
306
+ if (options?.success !== undefined) {
307
+ entries = entries.filter(e => e.success === options.success);
308
+ }
309
+ // Newest first
310
+ entries.reverse();
311
+ // Limit
312
+ const limit = Math.min(options?.limit ?? 50, 200);
313
+ return entries.slice(0, limit);
314
+ }
229
315
  // ─── Send ──────────────────────────────────────────────────────────────────
316
+ /**
317
+ * Mask credentials in a URL for logging.
318
+ */
319
+ static maskUrl(url) {
320
+ try {
321
+ const parsed = new URL(url);
322
+ if (parsed.password)
323
+ parsed.password = '***';
324
+ if (parsed.username && parsed.username.length > 4) {
325
+ parsed.username = parsed.username.slice(0, 4) + '***';
326
+ }
327
+ return parsed.toString();
328
+ }
329
+ catch {
330
+ return url;
331
+ }
332
+ }
333
+ /**
334
+ * Extract distinct event types from a batch.
335
+ */
336
+ static eventTypes(events) {
337
+ const types = new Set();
338
+ for (const e of events) {
339
+ if (isAdminEvent(e)) {
340
+ types.add(e.type);
341
+ }
342
+ else {
343
+ types.add('usage');
344
+ }
345
+ }
346
+ return [...types];
347
+ }
230
348
  send(events, attempt, firstAttempt, previousError) {
231
349
  // Separate events by type for the payload
232
350
  const usageEvents = [];
@@ -252,10 +370,24 @@ class WebhookEmitter {
252
370
  parsed = new URL(this.url);
253
371
  }
254
372
  catch {
255
- // Invalid URL — send to dead letter
373
+ // Invalid URL — send to dead letter and log
256
374
  this.addDeadLetter(events, attempt, 'Invalid webhook URL', firstAttempt);
375
+ this.recordDelivery({
376
+ timestamp: new Date().toISOString(),
377
+ url: WebhookEmitter.maskUrl(this.url),
378
+ statusCode: 0,
379
+ success: false,
380
+ responseTime: 0,
381
+ attempt,
382
+ error: 'Invalid webhook URL',
383
+ eventCount: events.length,
384
+ eventTypes: WebhookEmitter.eventTypes(events),
385
+ });
257
386
  return;
258
387
  }
388
+ const maskedUrl = WebhookEmitter.maskUrl(this.url);
389
+ const startTime = Date.now();
390
+ const eventTypesArr = WebhookEmitter.eventTypes(events);
259
391
  const headers = {
260
392
  'Content-Type': 'application/json',
261
393
  'Content-Length': Buffer.byteLength(body),
@@ -283,21 +415,67 @@ class WebhookEmitter {
283
415
  }, (res) => {
284
416
  // Drain response to free socket
285
417
  res.resume();
418
+ const responseTime = Date.now() - startTime;
286
419
  if (res.statusCode && res.statusCode >= 400) {
287
420
  const errorMsg = `HTTP ${res.statusCode}`;
288
421
  this.scheduleRetry(events, attempt, firstAttempt, errorMsg);
422
+ this.recordDelivery({
423
+ timestamp: new Date().toISOString(),
424
+ url: maskedUrl,
425
+ statusCode: res.statusCode,
426
+ success: false,
427
+ responseTime,
428
+ attempt,
429
+ error: errorMsg,
430
+ eventCount: events.length,
431
+ eventTypes: eventTypesArr,
432
+ });
289
433
  }
290
434
  else {
291
435
  this._totalDelivered++;
436
+ this.recordDelivery({
437
+ timestamp: new Date().toISOString(),
438
+ url: maskedUrl,
439
+ statusCode: res.statusCode || 200,
440
+ success: true,
441
+ responseTime,
442
+ attempt,
443
+ eventCount: events.length,
444
+ eventTypes: eventTypesArr,
445
+ });
292
446
  }
293
447
  });
294
448
  req.on('error', (err) => {
295
449
  const errorMsg = err.message || 'Connection error';
450
+ const responseTime = Date.now() - startTime;
296
451
  this.scheduleRetry(events, attempt, firstAttempt, errorMsg);
452
+ this.recordDelivery({
453
+ timestamp: new Date().toISOString(),
454
+ url: maskedUrl,
455
+ statusCode: 0,
456
+ success: false,
457
+ responseTime,
458
+ attempt,
459
+ error: errorMsg,
460
+ eventCount: events.length,
461
+ eventTypes: eventTypesArr,
462
+ });
297
463
  });
298
464
  req.on('timeout', () => {
299
465
  req.destroy();
466
+ const responseTime = Date.now() - startTime;
300
467
  this.scheduleRetry(events, attempt, firstAttempt, 'Timeout (10s)');
468
+ this.recordDelivery({
469
+ timestamp: new Date().toISOString(),
470
+ url: maskedUrl,
471
+ statusCode: 0,
472
+ success: false,
473
+ responseTime,
474
+ attempt,
475
+ error: 'Timeout (10s)',
476
+ eventCount: events.length,
477
+ eventTypes: eventTypesArr,
478
+ });
301
479
  });
302
480
  req.write(body);
303
481
  req.end();
@@ -1 +1 @@
1
- {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../src/webhook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../src/webhook.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "paygate-mcp",
3
- "version": "4.7.0",
3
+ "version": "4.9.0",
4
4
  "description": "Pay-per-tool-call gating proxy for MCP servers. Wrap any MCP server with API key auth, per-tool pricing, rate limiting, and usage metering.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",