paygate-mcp 10.7.0 → 10.8.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/connection-billing.d.ts +145 -0
- package/dist/connection-billing.d.ts.map +1 -0
- package/dist/connection-billing.js +233 -0
- package/dist/connection-billing.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/key-hierarchy.d.ts +131 -0
- package/dist/key-hierarchy.d.ts.map +1 -0
- package/dist/key-hierarchy.js +262 -0
- package/dist/key-hierarchy.js.map +1 -0
- package/dist/revenue-share.d.ts +162 -0
- package/dist/revenue-share.d.ts.map +1 -0
- package/dist/revenue-share.js +231 -0
- package/dist/revenue-share.js.map +1 -0
- package/dist/sandbox.d.ts +150 -0
- package/dist/sandbox.d.ts.map +1 -0
- package/dist/sandbox.js +221 -0
- package/dist/sandbox.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Connection-Time Billing — Duration-Based Charges for Long-Lived Connections.
|
|
3
|
+
*
|
|
4
|
+
* Bills API keys based on how long their SSE/stdio connections stay open.
|
|
5
|
+
* Supports per-minute crediting, configurable billing intervals,
|
|
6
|
+
* idle timeout enforcement, and grace periods.
|
|
7
|
+
*
|
|
8
|
+
* Use cases:
|
|
9
|
+
* - SSE streaming connections that hold server resources
|
|
10
|
+
* - Long-running agent sessions
|
|
11
|
+
* - Reserved capacity billing
|
|
12
|
+
*
|
|
13
|
+
* Zero external dependencies.
|
|
14
|
+
*/
|
|
15
|
+
export interface ConnectionSession {
|
|
16
|
+
/** Unique session ID. */
|
|
17
|
+
sessionId: string;
|
|
18
|
+
/** API key for this connection. */
|
|
19
|
+
apiKey: string;
|
|
20
|
+
/** When the connection started (epoch ms). */
|
|
21
|
+
startedAt: number;
|
|
22
|
+
/** When the connection ended (epoch ms). Null if still active. */
|
|
23
|
+
endedAt: number | null;
|
|
24
|
+
/** Last activity time (epoch ms). */
|
|
25
|
+
lastActivityAt: number;
|
|
26
|
+
/** Total credits billed so far. */
|
|
27
|
+
creditsBilled: number;
|
|
28
|
+
/** Number of billing intervals processed. */
|
|
29
|
+
intervalsBilled: number;
|
|
30
|
+
/** Whether this session is paused (not billing). */
|
|
31
|
+
paused: boolean;
|
|
32
|
+
/** Transport type. */
|
|
33
|
+
transport: 'sse' | 'stdio' | 'http';
|
|
34
|
+
/** Optional metadata. */
|
|
35
|
+
metadata?: Record<string, string>;
|
|
36
|
+
}
|
|
37
|
+
export interface ConnectionBillingConfig {
|
|
38
|
+
/** Whether connection billing is enabled. Default: false. */
|
|
39
|
+
enabled?: boolean;
|
|
40
|
+
/** Credits charged per billing interval. Default: 1. */
|
|
41
|
+
creditsPerInterval?: number;
|
|
42
|
+
/** Billing interval in seconds. Default: 60 (1 minute). */
|
|
43
|
+
intervalSeconds?: number;
|
|
44
|
+
/** Grace period before billing starts (seconds). Default: 0. */
|
|
45
|
+
gracePeriodSeconds?: number;
|
|
46
|
+
/** Idle timeout in seconds (disconnect after inactivity). 0 = no timeout. Default: 0. */
|
|
47
|
+
idleTimeoutSeconds?: number;
|
|
48
|
+
/** Maximum session duration in seconds. 0 = unlimited. Default: 0. */
|
|
49
|
+
maxDurationSeconds?: number;
|
|
50
|
+
/** Which transports to bill. Default: ['sse']. */
|
|
51
|
+
billedTransports?: Array<'sse' | 'stdio' | 'http'>;
|
|
52
|
+
}
|
|
53
|
+
export interface ConnectionBillResult {
|
|
54
|
+
/** Credits charged in this billing cycle. */
|
|
55
|
+
creditsCharged: number;
|
|
56
|
+
/** Whether the session should be terminated (idle/max duration/insufficient credits). */
|
|
57
|
+
shouldTerminate: boolean;
|
|
58
|
+
/** Reason for termination, if applicable. */
|
|
59
|
+
terminateReason?: string;
|
|
60
|
+
/** Session duration so far (seconds). */
|
|
61
|
+
durationSeconds: number;
|
|
62
|
+
}
|
|
63
|
+
export interface ConnectionBillingStats {
|
|
64
|
+
/** Currently active sessions. */
|
|
65
|
+
activeSessions: number;
|
|
66
|
+
/** Total sessions ever created. */
|
|
67
|
+
totalSessions: number;
|
|
68
|
+
/** Total credits billed for connections. */
|
|
69
|
+
totalCreditsBilled: number;
|
|
70
|
+
/** Total connection-seconds across all sessions. */
|
|
71
|
+
totalConnectionSeconds: number;
|
|
72
|
+
/** Sessions terminated due to idle timeout. */
|
|
73
|
+
idleTerminations: number;
|
|
74
|
+
/** Sessions terminated due to max duration. */
|
|
75
|
+
durationTerminations: number;
|
|
76
|
+
/** Sessions terminated due to insufficient credits. */
|
|
77
|
+
creditTerminations: number;
|
|
78
|
+
}
|
|
79
|
+
export declare class ConnectionBillingManager {
|
|
80
|
+
private sessions;
|
|
81
|
+
private enabled;
|
|
82
|
+
private creditsPerInterval;
|
|
83
|
+
private intervalSeconds;
|
|
84
|
+
private gracePeriodSeconds;
|
|
85
|
+
private idleTimeoutSeconds;
|
|
86
|
+
private maxDurationSeconds;
|
|
87
|
+
private billedTransports;
|
|
88
|
+
private totalSessions;
|
|
89
|
+
private totalCreditsBilled;
|
|
90
|
+
private totalConnectionSeconds;
|
|
91
|
+
private idleTerminations;
|
|
92
|
+
private durationTerminations;
|
|
93
|
+
private creditTerminations;
|
|
94
|
+
constructor(config?: ConnectionBillingConfig);
|
|
95
|
+
/** Whether connection billing is enabled. */
|
|
96
|
+
get isEnabled(): boolean;
|
|
97
|
+
/** Set enabled state. */
|
|
98
|
+
setEnabled(enabled: boolean): void;
|
|
99
|
+
/**
|
|
100
|
+
* Start tracking a new connection.
|
|
101
|
+
* Returns the session ID.
|
|
102
|
+
*/
|
|
103
|
+
startSession(apiKey: string, transport: 'sse' | 'stdio' | 'http', metadata?: Record<string, string>): string;
|
|
104
|
+
/** End a connection session. */
|
|
105
|
+
endSession(sessionId: string): ConnectionSession | null;
|
|
106
|
+
/** Record activity on a session (resets idle timer). */
|
|
107
|
+
recordActivity(sessionId: string): void;
|
|
108
|
+
/** Pause billing for a session. */
|
|
109
|
+
pauseSession(sessionId: string): boolean;
|
|
110
|
+
/** Resume billing for a session. */
|
|
111
|
+
resumeSession(sessionId: string): boolean;
|
|
112
|
+
/** Get a session by ID. */
|
|
113
|
+
getSession(sessionId: string): ConnectionSession | null;
|
|
114
|
+
/** Get all active sessions. */
|
|
115
|
+
getActiveSessions(): ConnectionSession[];
|
|
116
|
+
/** Get active sessions for a specific API key. */
|
|
117
|
+
getSessionsByKey(apiKey: string): ConnectionSession[];
|
|
118
|
+
/**
|
|
119
|
+
* Process billing for a single session.
|
|
120
|
+
* Call this periodically (e.g., every intervalSeconds).
|
|
121
|
+
*
|
|
122
|
+
* @param sessionId - Session to bill
|
|
123
|
+
* @param checkCredits - Callback to check if key has sufficient credits. Returns available credits.
|
|
124
|
+
* @returns Billing result with credits charged and termination status.
|
|
125
|
+
*/
|
|
126
|
+
bill(sessionId: string, checkCredits?: (apiKey: string) => number): ConnectionBillResult;
|
|
127
|
+
/**
|
|
128
|
+
* Process billing for all active sessions.
|
|
129
|
+
* Returns an array of results with session IDs.
|
|
130
|
+
*/
|
|
131
|
+
billAll(checkCredits?: (apiKey: string) => number): Array<{
|
|
132
|
+
sessionId: string;
|
|
133
|
+
apiKey: string;
|
|
134
|
+
result: ConnectionBillResult;
|
|
135
|
+
}>;
|
|
136
|
+
/** Get current connection cost estimate for a key. */
|
|
137
|
+
estimateCost(apiKey: string, durationMinutes: number): number;
|
|
138
|
+
/** Get stats. */
|
|
139
|
+
getStats(): ConnectionBillingStats;
|
|
140
|
+
/** Reset stats. */
|
|
141
|
+
resetStats(): void;
|
|
142
|
+
/** Destroy and release all resources. */
|
|
143
|
+
destroy(): void;
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=connection-billing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-billing.d.ts","sourceRoot":"","sources":["../src/connection-billing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Connection-Time Billing — Duration-Based Charges for Long-Lived Connections.
|
|
4
|
+
*
|
|
5
|
+
* Bills API keys based on how long their SSE/stdio connections stay open.
|
|
6
|
+
* Supports per-minute crediting, configurable billing intervals,
|
|
7
|
+
* idle timeout enforcement, and grace periods.
|
|
8
|
+
*
|
|
9
|
+
* Use cases:
|
|
10
|
+
* - SSE streaming connections that hold server resources
|
|
11
|
+
* - Long-running agent sessions
|
|
12
|
+
* - Reserved capacity billing
|
|
13
|
+
*
|
|
14
|
+
* Zero external dependencies.
|
|
15
|
+
*/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.ConnectionBillingManager = void 0;
|
|
18
|
+
// ─── Connection Billing Manager ─────────────────────────────────────────────
|
|
19
|
+
class ConnectionBillingManager {
|
|
20
|
+
sessions = new Map();
|
|
21
|
+
enabled;
|
|
22
|
+
creditsPerInterval;
|
|
23
|
+
intervalSeconds;
|
|
24
|
+
gracePeriodSeconds;
|
|
25
|
+
idleTimeoutSeconds;
|
|
26
|
+
maxDurationSeconds;
|
|
27
|
+
billedTransports;
|
|
28
|
+
// Stats
|
|
29
|
+
totalSessions = 0;
|
|
30
|
+
totalCreditsBilled = 0;
|
|
31
|
+
totalConnectionSeconds = 0;
|
|
32
|
+
idleTerminations = 0;
|
|
33
|
+
durationTerminations = 0;
|
|
34
|
+
creditTerminations = 0;
|
|
35
|
+
constructor(config = {}) {
|
|
36
|
+
this.enabled = config.enabled ?? false;
|
|
37
|
+
this.creditsPerInterval = config.creditsPerInterval ?? 1;
|
|
38
|
+
this.intervalSeconds = config.intervalSeconds ?? 60;
|
|
39
|
+
this.gracePeriodSeconds = config.gracePeriodSeconds ?? 0;
|
|
40
|
+
this.idleTimeoutSeconds = config.idleTimeoutSeconds ?? 0;
|
|
41
|
+
this.maxDurationSeconds = config.maxDurationSeconds ?? 0;
|
|
42
|
+
this.billedTransports = new Set(config.billedTransports ?? ['sse']);
|
|
43
|
+
}
|
|
44
|
+
/** Whether connection billing is enabled. */
|
|
45
|
+
get isEnabled() {
|
|
46
|
+
return this.enabled;
|
|
47
|
+
}
|
|
48
|
+
/** Set enabled state. */
|
|
49
|
+
setEnabled(enabled) {
|
|
50
|
+
this.enabled = enabled;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Start tracking a new connection.
|
|
54
|
+
* Returns the session ID.
|
|
55
|
+
*/
|
|
56
|
+
startSession(apiKey, transport, metadata) {
|
|
57
|
+
const sessionId = `conn_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;
|
|
58
|
+
const now = Date.now();
|
|
59
|
+
const session = {
|
|
60
|
+
sessionId,
|
|
61
|
+
apiKey,
|
|
62
|
+
startedAt: now,
|
|
63
|
+
endedAt: null,
|
|
64
|
+
lastActivityAt: now,
|
|
65
|
+
creditsBilled: 0,
|
|
66
|
+
intervalsBilled: 0,
|
|
67
|
+
paused: false,
|
|
68
|
+
transport,
|
|
69
|
+
metadata,
|
|
70
|
+
};
|
|
71
|
+
this.sessions.set(sessionId, session);
|
|
72
|
+
this.totalSessions++;
|
|
73
|
+
return sessionId;
|
|
74
|
+
}
|
|
75
|
+
/** End a connection session. */
|
|
76
|
+
endSession(sessionId) {
|
|
77
|
+
const session = this.sessions.get(sessionId);
|
|
78
|
+
if (!session)
|
|
79
|
+
return null;
|
|
80
|
+
session.endedAt = Date.now();
|
|
81
|
+
const durationMs = session.endedAt - session.startedAt;
|
|
82
|
+
this.totalConnectionSeconds += Math.floor(durationMs / 1000);
|
|
83
|
+
// Move to completed (remove from active tracking)
|
|
84
|
+
this.sessions.delete(sessionId);
|
|
85
|
+
return session;
|
|
86
|
+
}
|
|
87
|
+
/** Record activity on a session (resets idle timer). */
|
|
88
|
+
recordActivity(sessionId) {
|
|
89
|
+
const session = this.sessions.get(sessionId);
|
|
90
|
+
if (session) {
|
|
91
|
+
session.lastActivityAt = Date.now();
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/** Pause billing for a session. */
|
|
95
|
+
pauseSession(sessionId) {
|
|
96
|
+
const session = this.sessions.get(sessionId);
|
|
97
|
+
if (!session)
|
|
98
|
+
return false;
|
|
99
|
+
session.paused = true;
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
/** Resume billing for a session. */
|
|
103
|
+
resumeSession(sessionId) {
|
|
104
|
+
const session = this.sessions.get(sessionId);
|
|
105
|
+
if (!session)
|
|
106
|
+
return false;
|
|
107
|
+
session.paused = false;
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
/** Get a session by ID. */
|
|
111
|
+
getSession(sessionId) {
|
|
112
|
+
return this.sessions.get(sessionId) ?? null;
|
|
113
|
+
}
|
|
114
|
+
/** Get all active sessions. */
|
|
115
|
+
getActiveSessions() {
|
|
116
|
+
return [...this.sessions.values()];
|
|
117
|
+
}
|
|
118
|
+
/** Get active sessions for a specific API key. */
|
|
119
|
+
getSessionsByKey(apiKey) {
|
|
120
|
+
return [...this.sessions.values()].filter(s => s.apiKey === apiKey);
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Process billing for a single session.
|
|
124
|
+
* Call this periodically (e.g., every intervalSeconds).
|
|
125
|
+
*
|
|
126
|
+
* @param sessionId - Session to bill
|
|
127
|
+
* @param checkCredits - Callback to check if key has sufficient credits. Returns available credits.
|
|
128
|
+
* @returns Billing result with credits charged and termination status.
|
|
129
|
+
*/
|
|
130
|
+
bill(sessionId, checkCredits) {
|
|
131
|
+
const session = this.sessions.get(sessionId);
|
|
132
|
+
if (!session) {
|
|
133
|
+
return { creditsCharged: 0, shouldTerminate: false, durationSeconds: 0 };
|
|
134
|
+
}
|
|
135
|
+
const now = Date.now();
|
|
136
|
+
const durationMs = now - session.startedAt;
|
|
137
|
+
const durationSeconds = Math.floor(durationMs / 1000);
|
|
138
|
+
// Check if transport is billed
|
|
139
|
+
if (!this.billedTransports.has(session.transport)) {
|
|
140
|
+
return { creditsCharged: 0, shouldTerminate: false, durationSeconds };
|
|
141
|
+
}
|
|
142
|
+
// Check idle timeout
|
|
143
|
+
if (this.idleTimeoutSeconds > 0) {
|
|
144
|
+
const idleSeconds = Math.floor((now - session.lastActivityAt) / 1000);
|
|
145
|
+
if (idleSeconds >= this.idleTimeoutSeconds) {
|
|
146
|
+
this.idleTerminations++;
|
|
147
|
+
return { creditsCharged: 0, shouldTerminate: true, terminateReason: 'idle_timeout', durationSeconds };
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
// Check max duration
|
|
151
|
+
if (this.maxDurationSeconds > 0 && durationSeconds >= this.maxDurationSeconds) {
|
|
152
|
+
this.durationTerminations++;
|
|
153
|
+
return { creditsCharged: 0, shouldTerminate: true, terminateReason: 'max_duration', durationSeconds };
|
|
154
|
+
}
|
|
155
|
+
// Skip billing if paused or disabled
|
|
156
|
+
if (session.paused || !this.enabled) {
|
|
157
|
+
return { creditsCharged: 0, shouldTerminate: false, durationSeconds };
|
|
158
|
+
}
|
|
159
|
+
// Check grace period
|
|
160
|
+
if (durationSeconds < this.gracePeriodSeconds) {
|
|
161
|
+
return { creditsCharged: 0, shouldTerminate: false, durationSeconds };
|
|
162
|
+
}
|
|
163
|
+
// Calculate how many intervals should have been billed
|
|
164
|
+
const billableSeconds = durationSeconds - this.gracePeriodSeconds;
|
|
165
|
+
const expectedIntervals = Math.floor(billableSeconds / this.intervalSeconds);
|
|
166
|
+
const intervalsToBill = expectedIntervals - session.intervalsBilled;
|
|
167
|
+
if (intervalsToBill <= 0) {
|
|
168
|
+
return { creditsCharged: 0, shouldTerminate: false, durationSeconds };
|
|
169
|
+
}
|
|
170
|
+
const creditsToCharge = intervalsToBill * this.creditsPerInterval;
|
|
171
|
+
// Check credit availability
|
|
172
|
+
if (checkCredits) {
|
|
173
|
+
const available = checkCredits(session.apiKey);
|
|
174
|
+
if (available < creditsToCharge) {
|
|
175
|
+
this.creditTerminations++;
|
|
176
|
+
return { creditsCharged: 0, shouldTerminate: true, terminateReason: 'insufficient_credits', durationSeconds };
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
// Bill
|
|
180
|
+
session.creditsBilled += creditsToCharge;
|
|
181
|
+
session.intervalsBilled = expectedIntervals;
|
|
182
|
+
this.totalCreditsBilled += creditsToCharge;
|
|
183
|
+
return { creditsCharged: creditsToCharge, shouldTerminate: false, durationSeconds };
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Process billing for all active sessions.
|
|
187
|
+
* Returns an array of results with session IDs.
|
|
188
|
+
*/
|
|
189
|
+
billAll(checkCredits) {
|
|
190
|
+
const results = [];
|
|
191
|
+
for (const session of this.sessions.values()) {
|
|
192
|
+
const result = this.bill(session.sessionId, checkCredits);
|
|
193
|
+
results.push({ sessionId: session.sessionId, apiKey: session.apiKey, result });
|
|
194
|
+
}
|
|
195
|
+
return results;
|
|
196
|
+
}
|
|
197
|
+
/** Get current connection cost estimate for a key. */
|
|
198
|
+
estimateCost(apiKey, durationMinutes) {
|
|
199
|
+
const intervals = Math.floor((durationMinutes * 60) / this.intervalSeconds);
|
|
200
|
+
const graceIntervals = Math.floor(this.gracePeriodSeconds / this.intervalSeconds);
|
|
201
|
+
const billableIntervals = Math.max(0, intervals - graceIntervals);
|
|
202
|
+
return billableIntervals * this.creditsPerInterval;
|
|
203
|
+
}
|
|
204
|
+
/** Get stats. */
|
|
205
|
+
getStats() {
|
|
206
|
+
return {
|
|
207
|
+
activeSessions: this.sessions.size,
|
|
208
|
+
totalSessions: this.totalSessions,
|
|
209
|
+
totalCreditsBilled: this.totalCreditsBilled,
|
|
210
|
+
totalConnectionSeconds: this.totalConnectionSeconds,
|
|
211
|
+
idleTerminations: this.idleTerminations,
|
|
212
|
+
durationTerminations: this.durationTerminations,
|
|
213
|
+
creditTerminations: this.creditTerminations,
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
/** Reset stats. */
|
|
217
|
+
resetStats() {
|
|
218
|
+
this.totalCreditsBilled = 0;
|
|
219
|
+
this.totalConnectionSeconds = 0;
|
|
220
|
+
this.idleTerminations = 0;
|
|
221
|
+
this.durationTerminations = 0;
|
|
222
|
+
this.creditTerminations = 0;
|
|
223
|
+
}
|
|
224
|
+
/** Destroy and release all resources. */
|
|
225
|
+
destroy() {
|
|
226
|
+
this.sessions.clear();
|
|
227
|
+
this.totalSessions = 0;
|
|
228
|
+
this.totalCreditsBilled = 0;
|
|
229
|
+
this.totalConnectionSeconds = 0;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
exports.ConnectionBillingManager = ConnectionBillingManager;
|
|
233
|
+
//# sourceMappingURL=connection-billing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-billing.js","sourceRoot":"","sources":["../src/connection-billing.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -151,6 +151,14 @@ export { SequenceAnomalyDetector } from './sequence-anomaly';
|
|
|
151
151
|
export type { SequenceAnomalyConfig, AnomalyCheckResult, AnomalyEvent, TransitionModel, SequenceAnomalyStats } from './sequence-anomaly';
|
|
152
152
|
export { ProxyMcpServer } from './proxy-mcp-server';
|
|
153
153
|
export type { ProxyMcpTool, ProxyMcpServerConfig, ProxyMcpStats, ManagementResolver } from './proxy-mcp-server';
|
|
154
|
+
export { KeyHierarchyManager } from './key-hierarchy';
|
|
155
|
+
export type { KeyRelation, HierarchyInfo, KeyHierarchyConfig, KeyHierarchyStats } from './key-hierarchy';
|
|
156
|
+
export { SandboxManager } from './sandbox';
|
|
157
|
+
export type { SandboxPolicy, SandboxUsage, SandboxCheckResult, SandboxConfig, SandboxStats } from './sandbox';
|
|
158
|
+
export { RevenueShareTracker } from './revenue-share';
|
|
159
|
+
export type { RevenueShareRule, RevenueEntry, DeveloperPayout, SettlementRecord, RevenueShareConfig, RevenueShareStats } from './revenue-share';
|
|
160
|
+
export { ConnectionBillingManager } from './connection-billing';
|
|
161
|
+
export type { ConnectionSession, ConnectionBillingConfig, ConnectionBillResult, ConnectionBillingStats } from './connection-billing';
|
|
154
162
|
export type { PayGateConfig, JsonRpcRequest, JsonRpcResponse, JsonRpcError, ToolCallParams, ToolInfo, ToolPricing, ServerBackendConfig, ApiKeyRecord, UsageEvent, UsageSummary, GateDecision, QuotaConfig, SpendCapConfig, X402Config, BatchToolCall, BatchGateResult, WebhookFilterRule, KeyListQuery, KeyListResult, } from './types';
|
|
155
163
|
export { DEFAULT_CONFIG } from './types';
|
|
156
164
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
19
|
exports.parseLogFormat = exports.parseLogLevel = exports.Logger = exports.KeyGroupManager = exports.PluginManager = exports.VALID_ROLES = exports.ROLE_HIERARCHY = exports.AdminKeyManager = exports.TokenRevocationList = exports.ScopedTokenManager = exports.formatDiagnostics = exports.validateConfig = exports.PayGateError = exports.PayGateClient = exports.RedisSync = exports.RedisSubscriber = exports.parseRedisUrl = exports.RedisClient = exports.TeamManager = exports.AlertEngine = exports.AnalyticsEngine = exports.getPortalHtml = exports.getDashboardHtml = exports.MetricsCollector = exports.ToolRegistry = exports.CreditLedger = exports.maskKeyForAudit = exports.AuditLogger = exports.writeSseKeepAlive = exports.writeSseEvent = exports.writeSseHeaders = exports.SessionManager = exports.OAuthProvider = exports.QuotaTracker = exports.WebhookRouter = exports.WebhookEmitter = exports.BackupManager = exports.StripeCheckout = exports.StripeWebhookHandler = exports.RateLimiter = exports.UsageMeter = exports.KeyStore = exports.MultiServerRouter = exports.HttpMcpProxy = exports.McpProxy = exports.Gate = exports.resolveClientIp = exports.getRequestId = exports.generateRequestId = exports.PayGateServer = void 0;
|
|
20
20
|
exports.A2AManager = exports.CreditGrantManager = exports.computeExpression = exports.BillableMetricEngine = exports.OtelEmitter = exports.VirtualServerComposer = exports.BUILT_IN_PII_PATTERNS = exports.PiiMasker = exports.summarizeSpec = exports.createApiProxyHandler = exports.resolveBaseUrl = exports.parseOpenApiSpec = exports.OpenApiMcpBackend = exports.X402Handler = exports.TaskManager = exports.SpendCapManager = exports.GatewayHookManager = exports.ApprovalWorkflowManager = exports.ScheduledReportManager = exports.ConfigProfileManager = exports.WebhookReplayManager = exports.QuotaManager = exports.ToolDependencyGraph = exports.BudgetPolicyEngine = exports.RequestTracer = exports.TenantManager = exports.RequestSigner = exports.IpAccessController = exports.CostAllocator = exports.TIER_VALUES = exports.PRIORITY_ORDER = exports.PriorityQueue = exports.RequestDeduplicator = exports.AdaptiveRateLimiter = exports.RetryPolicy = exports.TransformPipeline = exports.CanaryRouter = exports.ToolSchemaValidator = exports.UsagePlanManager = exports.ToolAliasManager = exports.TrafficMirror = exports.ConcurrencyLimiter = exports.BUILT_IN_RULES = exports.ContentGuardrails = exports.complianceReportToCsv = exports.generateComplianceReport = exports.CircuitBreaker = exports.ResponseCache = exports.VALID_LOG_FORMATS = exports.VALID_LOG_LEVELS = void 0;
|
|
21
|
-
exports.DEFAULT_CONFIG = exports.ProxyMcpServer = exports.SequenceAnomalyDetector = void 0;
|
|
21
|
+
exports.DEFAULT_CONFIG = exports.ConnectionBillingManager = exports.RevenueShareTracker = exports.SandboxManager = exports.KeyHierarchyManager = exports.ProxyMcpServer = exports.SequenceAnomalyDetector = void 0;
|
|
22
22
|
var server_1 = require("./server");
|
|
23
23
|
Object.defineProperty(exports, "PayGateServer", { enumerable: true, get: function () { return server_1.PayGateServer; } });
|
|
24
24
|
Object.defineProperty(exports, "generateRequestId", { enumerable: true, get: function () { return server_1.generateRequestId; } });
|
|
@@ -196,6 +196,14 @@ var sequence_anomaly_1 = require("./sequence-anomaly");
|
|
|
196
196
|
Object.defineProperty(exports, "SequenceAnomalyDetector", { enumerable: true, get: function () { return sequence_anomaly_1.SequenceAnomalyDetector; } });
|
|
197
197
|
var proxy_mcp_server_1 = require("./proxy-mcp-server");
|
|
198
198
|
Object.defineProperty(exports, "ProxyMcpServer", { enumerable: true, get: function () { return proxy_mcp_server_1.ProxyMcpServer; } });
|
|
199
|
+
var key_hierarchy_1 = require("./key-hierarchy");
|
|
200
|
+
Object.defineProperty(exports, "KeyHierarchyManager", { enumerable: true, get: function () { return key_hierarchy_1.KeyHierarchyManager; } });
|
|
201
|
+
var sandbox_1 = require("./sandbox");
|
|
202
|
+
Object.defineProperty(exports, "SandboxManager", { enumerable: true, get: function () { return sandbox_1.SandboxManager; } });
|
|
203
|
+
var revenue_share_1 = require("./revenue-share");
|
|
204
|
+
Object.defineProperty(exports, "RevenueShareTracker", { enumerable: true, get: function () { return revenue_share_1.RevenueShareTracker; } });
|
|
205
|
+
var connection_billing_1 = require("./connection-billing");
|
|
206
|
+
Object.defineProperty(exports, "ConnectionBillingManager", { enumerable: true, get: function () { return connection_billing_1.ConnectionBillingManager; } });
|
|
199
207
|
var types_1 = require("./types");
|
|
200
208
|
Object.defineProperty(exports, "DEFAULT_CONFIG", { enumerable: true, get: function () { return types_1.DEFAULT_CONFIG; } });
|
|
201
209
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Key Hierarchy — Parent/Child API Key Relationships.
|
|
3
|
+
*
|
|
4
|
+
* Allows creating sub-keys that inherit limits from parent keys.
|
|
5
|
+
* Child keys deduct credits from the parent's balance, share the parent's
|
|
6
|
+
* spending limit, and can optionally inherit allowed/denied tool lists.
|
|
7
|
+
*
|
|
8
|
+
* Use cases:
|
|
9
|
+
* - Organization keys with per-team sub-keys
|
|
10
|
+
* - Trial keys that share a pool of credits
|
|
11
|
+
* - Reseller keys with sub-allocation
|
|
12
|
+
*
|
|
13
|
+
* Zero external dependencies.
|
|
14
|
+
*/
|
|
15
|
+
export interface KeyRelation {
|
|
16
|
+
/** The child key ID. */
|
|
17
|
+
childKey: string;
|
|
18
|
+
/** The parent key ID. */
|
|
19
|
+
parentKey: string;
|
|
20
|
+
/** Maximum credits this child can draw from parent. 0 = unlimited (up to parent balance). */
|
|
21
|
+
creditCeiling: number;
|
|
22
|
+
/** Credits already drawn from parent by this child. */
|
|
23
|
+
creditsUsed: number;
|
|
24
|
+
/** Whether child inherits parent's allowedTools. Default: true. */
|
|
25
|
+
inheritAllowedTools: boolean;
|
|
26
|
+
/** Whether child inherits parent's deniedTools. Default: true. */
|
|
27
|
+
inheritDeniedTools: boolean;
|
|
28
|
+
/** Whether child inherits parent's quota config. Default: false. */
|
|
29
|
+
inheritQuota: boolean;
|
|
30
|
+
/** When this relation was created (ISO). */
|
|
31
|
+
createdAt: string;
|
|
32
|
+
}
|
|
33
|
+
export interface HierarchyInfo {
|
|
34
|
+
/** The key being queried. */
|
|
35
|
+
key: string;
|
|
36
|
+
/** Parent key, if any. */
|
|
37
|
+
parent: string | null;
|
|
38
|
+
/** Direct children. */
|
|
39
|
+
children: string[];
|
|
40
|
+
/** Depth in hierarchy (root = 0). */
|
|
41
|
+
depth: number;
|
|
42
|
+
/** Total credits available (own + parent cascade). */
|
|
43
|
+
effectiveCredits: number;
|
|
44
|
+
}
|
|
45
|
+
export interface KeyHierarchyConfig {
|
|
46
|
+
/** Maximum depth of key hierarchy. Default: 3. */
|
|
47
|
+
maxDepth?: number;
|
|
48
|
+
/** Maximum children per parent. Default: 100. */
|
|
49
|
+
maxChildren?: number;
|
|
50
|
+
/** Whether child credit usage auto-deducts from parent. Default: true. */
|
|
51
|
+
cascadeDeduction?: boolean;
|
|
52
|
+
}
|
|
53
|
+
export interface KeyHierarchyStats {
|
|
54
|
+
/** Total parent-child relations. */
|
|
55
|
+
totalRelations: number;
|
|
56
|
+
/** Keys that are parents. */
|
|
57
|
+
parentCount: number;
|
|
58
|
+
/** Keys that are children. */
|
|
59
|
+
childCount: number;
|
|
60
|
+
/** Maximum depth in any chain. */
|
|
61
|
+
maxDepthUsed: number;
|
|
62
|
+
/** Total credits cascaded from parents. */
|
|
63
|
+
totalCreditsCascaded: number;
|
|
64
|
+
}
|
|
65
|
+
export declare class KeyHierarchyManager {
|
|
66
|
+
private relations;
|
|
67
|
+
private childrenIndex;
|
|
68
|
+
private maxDepth;
|
|
69
|
+
private maxChildren;
|
|
70
|
+
private cascadeDeduction;
|
|
71
|
+
private totalCreditsCascaded;
|
|
72
|
+
constructor(config?: KeyHierarchyConfig);
|
|
73
|
+
/**
|
|
74
|
+
* Create a parent-child relationship.
|
|
75
|
+
* Returns false if the relation would violate constraints.
|
|
76
|
+
*/
|
|
77
|
+
createRelation(params: {
|
|
78
|
+
childKey: string;
|
|
79
|
+
parentKey: string;
|
|
80
|
+
creditCeiling?: number;
|
|
81
|
+
inheritAllowedTools?: boolean;
|
|
82
|
+
inheritDeniedTools?: boolean;
|
|
83
|
+
inheritQuota?: boolean;
|
|
84
|
+
}): boolean;
|
|
85
|
+
/** Remove a parent-child relationship. Also removes all descendants. */
|
|
86
|
+
removeRelation(childKey: string): boolean;
|
|
87
|
+
/** Get the relation for a child key. */
|
|
88
|
+
getRelation(childKey: string): KeyRelation | null;
|
|
89
|
+
/** Get the parent key of a child. */
|
|
90
|
+
getParent(childKey: string): string | null;
|
|
91
|
+
/** Get direct children of a key. */
|
|
92
|
+
getChildren(parentKey: string): string[];
|
|
93
|
+
/** Get all descendants (children, grandchildren, etc.). */
|
|
94
|
+
getDescendants(key: string): string[];
|
|
95
|
+
/** Get the ancestry chain from a key up to the root. */
|
|
96
|
+
getAncestors(key: string): string[];
|
|
97
|
+
/** Get the root key of a hierarchy chain. */
|
|
98
|
+
getRoot(key: string): string;
|
|
99
|
+
/** Check if `potentialDescendant` is a descendant of `key`. */
|
|
100
|
+
isDescendant(potentialDescendant: string, key: string): boolean;
|
|
101
|
+
/** Check if a key is a child (has a parent). */
|
|
102
|
+
isChild(key: string): boolean;
|
|
103
|
+
/** Check if a key is a parent (has children). */
|
|
104
|
+
isParent(key: string): boolean;
|
|
105
|
+
/** Get hierarchy depth of a key (root = 0). */
|
|
106
|
+
getDepth(key: string): number;
|
|
107
|
+
/**
|
|
108
|
+
* Record credit usage by a child key.
|
|
109
|
+
* Returns false if the child's credit ceiling would be exceeded.
|
|
110
|
+
*/
|
|
111
|
+
recordUsage(childKey: string, credits: number): boolean;
|
|
112
|
+
/** Refund credits for a child key. */
|
|
113
|
+
refundUsage(childKey: string, credits: number): void;
|
|
114
|
+
/** Get remaining credits a child can use (from ceiling). */
|
|
115
|
+
getRemainingCeiling(childKey: string): number | null;
|
|
116
|
+
/** Update the credit ceiling for a child. */
|
|
117
|
+
setCreditCeiling(childKey: string, ceiling: number): boolean;
|
|
118
|
+
/** Get hierarchy info for a key. */
|
|
119
|
+
getInfo(key: string, getCredits?: (key: string) => number): HierarchyInfo;
|
|
120
|
+
/** Export all relations for persistence. */
|
|
121
|
+
exportRelations(): KeyRelation[];
|
|
122
|
+
/** Import relations (replaces existing). */
|
|
123
|
+
importRelations(relations: KeyRelation[]): void;
|
|
124
|
+
/** Get stats. */
|
|
125
|
+
getStats(): KeyHierarchyStats;
|
|
126
|
+
/** Reset stats counters. */
|
|
127
|
+
resetStats(): void;
|
|
128
|
+
/** Destroy and release resources. */
|
|
129
|
+
destroy(): void;
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=key-hierarchy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key-hierarchy.d.ts","sourceRoot":"","sources":["../src/key-hierarchy.ts"],"names":[],"mappings":"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"}
|