@usageflow/core 0.2.5 → 0.3.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/README.md +207 -26
- package/dist/base.d.ts +11 -6
- package/dist/base.js +150 -89
- package/dist/base.js.map +1 -1
- package/dist/types.d.ts +7 -1
- package/dist/types.js.map +1 -1
- package/jest.config.js +14 -0
- package/package.json +6 -7
- package/src/base.ts +216 -112
- package/src/types.ts +8 -1
- package/test/base.test.ts +290 -0
- package/test/socket.test.ts +72 -0
- package/test/src/base.d.ts +62 -0
- package/test/src/base.js +440 -0
- package/test/src/base.js.map +1 -0
- package/test/src/index.d.ts +3 -0
- package/test/src/index.js +20 -0
- package/test/src/index.js.map +1 -0
- package/test/src/socket.d.ts +26 -0
- package/test/src/socket.js +266 -0
- package/test/src/socket.js.map +1 -0
- package/test/src/types.d.ts +117 -0
- package/test/src/types.js +11 -0
- package/test/src/types.js.map +1 -0
- package/test/tsconfig.test.tsbuildinfo +1 -0
- package/test/types.test.ts +56 -0
- package/tsconfig.json +2 -1
- package/tsconfig.test.json +11 -0
- package/tsconfig.test.tsbuildinfo +1 -0
- package/tsconfig.tsbuildinfo +1 -1
package/dist/base.js
CHANGED
|
@@ -2,15 +2,25 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UsageFlowAPI = void 0;
|
|
4
4
|
const socket_1 = require("./socket");
|
|
5
|
+
const logger_1 = require("@usageflow/logger");
|
|
6
|
+
const crypto_1 = require("crypto");
|
|
5
7
|
class UsageFlowAPI {
|
|
6
|
-
constructor(config = { apiKey:
|
|
8
|
+
constructor(config = { apiKey: "", poolSize: 5 }) {
|
|
7
9
|
this.apiKey = null;
|
|
8
10
|
this.usageflowUrl = "https://api.usageflow.io";
|
|
9
|
-
this.webServer =
|
|
11
|
+
this.webServer = "express";
|
|
10
12
|
this.apiConfigs = [];
|
|
13
|
+
this.blockedEndpoints = [];
|
|
11
14
|
this.configUpdateInterval = null;
|
|
12
15
|
this.socketManager = null;
|
|
13
16
|
this.applicationId = false;
|
|
17
|
+
// Initialize logger with service name
|
|
18
|
+
this.logger = (0, logger_1.usLogger)({ service: 'USAGEFLOW_BASE', pretty: true, silent: process.env.UF_LOGS_ENABLED !== 'true' });
|
|
19
|
+
// Set default context for all logs
|
|
20
|
+
this.logger.setContext({
|
|
21
|
+
component: 'UsageFlowAPI',
|
|
22
|
+
webServer: this.webServer,
|
|
23
|
+
});
|
|
14
24
|
this.init(config.apiKey, this.usageflowUrl, config.poolSize);
|
|
15
25
|
}
|
|
16
26
|
/**
|
|
@@ -25,15 +35,27 @@ class UsageFlowAPI {
|
|
|
25
35
|
// this.startConfigUpdater();
|
|
26
36
|
this.socketManager = new socket_1.UsageFlowSocketManger(apiKey, poolSize);
|
|
27
37
|
// Connect the socket manager
|
|
28
|
-
this.socketManager
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
this.
|
|
38
|
+
this.socketManager
|
|
39
|
+
.connect()
|
|
40
|
+
.catch((error) => {
|
|
41
|
+
this.logger.error("[UsageFlow] Failed to establish WebSocket connection:", error);
|
|
42
|
+
})
|
|
43
|
+
.then(() => {
|
|
44
|
+
var _a;
|
|
45
|
+
this.logger.info("WebSocket connection established");
|
|
46
|
+
if ((_a = this.socketManager) === null || _a === void 0 ? void 0 : _a.isConnected()) {
|
|
47
|
+
this.startConfigUpdater();
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
this.logger.error("WebSocket connection failed");
|
|
51
|
+
}
|
|
32
52
|
});
|
|
33
53
|
return this;
|
|
34
54
|
}
|
|
35
55
|
setWebServer(webServer) {
|
|
36
56
|
this.webServer = webServer;
|
|
57
|
+
// Update logger context with new web server
|
|
58
|
+
this.logger.setContext({ webServer });
|
|
37
59
|
}
|
|
38
60
|
getApiKey() {
|
|
39
61
|
return this.apiKey;
|
|
@@ -45,22 +67,25 @@ class UsageFlowAPI {
|
|
|
45
67
|
* Start background config update process
|
|
46
68
|
*/
|
|
47
69
|
startConfigUpdater() {
|
|
70
|
+
this.logger.info("Starting background config update process");
|
|
48
71
|
if (this.configUpdateInterval) {
|
|
49
72
|
clearInterval(this.configUpdateInterval);
|
|
50
73
|
}
|
|
51
|
-
this.fetchApiPolicies().catch(
|
|
74
|
+
this.fetchApiPolicies().catch(this.logger.error);
|
|
52
75
|
this.configUpdateInterval = setInterval(async () => {
|
|
53
|
-
await
|
|
54
|
-
|
|
55
|
-
|
|
76
|
+
await Promise.all([
|
|
77
|
+
this.fetchApiPolicies(),
|
|
78
|
+
this.fetchBlockedEndpoints(),
|
|
79
|
+
]);
|
|
80
|
+
}, 10000);
|
|
56
81
|
}
|
|
57
82
|
getRoutePattern(request) {
|
|
58
83
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
59
|
-
if (this.webServer ===
|
|
60
|
-
return ((_a = request === null || request === void 0 ? void 0 : request.routeOptions) === null || _a === void 0 ? void 0 : _a.url) || request.url ||
|
|
84
|
+
if (this.webServer === "fastify") {
|
|
85
|
+
return ((_a = request === null || request === void 0 ? void 0 : request.routeOptions) === null || _a === void 0 ? void 0 : _a.url) || request.url || "";
|
|
61
86
|
}
|
|
62
87
|
// For NestJS, prioritize route.path with baseUrl
|
|
63
|
-
if (this.webServer ===
|
|
88
|
+
if (this.webServer === "nestjs") {
|
|
64
89
|
// Method 1: Use request.route.path (available after route matching in NestJS)
|
|
65
90
|
if ((_b = request.route) === null || _b === void 0 ? void 0 : _b.path) {
|
|
66
91
|
const baseUrl = request.baseUrl || "";
|
|
@@ -74,7 +99,9 @@ class UsageFlowAPI {
|
|
|
74
99
|
if (request.params && Object.keys(request.params).length > 0) {
|
|
75
100
|
let path = request.path || ((_c = request.url) === null || _c === void 0 ? void 0 : _c.split("?")[0]) || "/";
|
|
76
101
|
// Split path into segments and replace matching segments with param names
|
|
77
|
-
const pathSegments = path
|
|
102
|
+
const pathSegments = path
|
|
103
|
+
.split("/")
|
|
104
|
+
.filter((segment) => segment !== "");
|
|
78
105
|
const paramEntries = Object.entries(request.params);
|
|
79
106
|
// Replace segments that match param values with :paramName
|
|
80
107
|
for (let i = 0; i < pathSegments.length; i++) {
|
|
@@ -90,20 +117,21 @@ class UsageFlowAPI {
|
|
|
90
117
|
return pattern;
|
|
91
118
|
}
|
|
92
119
|
}
|
|
93
|
-
const routePattern = ((_d = request.route) === null || _d === void 0 ? void 0 : _d.path) ||
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
if (route.regexp) {
|
|
101
|
-
const patterned = route.regexp.test(request.url);
|
|
102
|
-
if (patterned) {
|
|
103
|
-
return patterned;
|
|
120
|
+
const routePattern = ((_d = request.route) === null || _d === void 0 ? void 0 : _d.path) ||
|
|
121
|
+
((_f = (_e = request.app._router.stack.find((route) => {
|
|
122
|
+
// a => a.path == request.url
|
|
123
|
+
if (!route.route)
|
|
124
|
+
return false;
|
|
125
|
+
if (route.path) {
|
|
126
|
+
return route.path == request.url;
|
|
104
127
|
}
|
|
105
|
-
|
|
106
|
-
|
|
128
|
+
if (route.regexp) {
|
|
129
|
+
const patterned = route.regexp.test(request.url);
|
|
130
|
+
if (patterned) {
|
|
131
|
+
return patterned;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
})) === null || _e === void 0 ? void 0 : _e.route) === null || _f === void 0 ? void 0 : _f.path);
|
|
107
135
|
if (routePattern) {
|
|
108
136
|
return routePattern;
|
|
109
137
|
}
|
|
@@ -127,7 +155,7 @@ class UsageFlowAPI {
|
|
|
127
155
|
if (layer.route) {
|
|
128
156
|
const route = layer.route;
|
|
129
157
|
const routePath = route.path;
|
|
130
|
-
const routeMethods = Object.keys(route.methods).map(m => m.toLowerCase());
|
|
158
|
+
const routeMethods = Object.keys(route.methods).map((m) => m.toLowerCase());
|
|
131
159
|
// Check if method matches and path pattern matches
|
|
132
160
|
if (routeMethods.includes(method) || routeMethods.includes("*")) {
|
|
133
161
|
// Try to match the pattern by checking if params match
|
|
@@ -136,7 +164,7 @@ class UsageFlowAPI {
|
|
|
136
164
|
if (request.params && Object.keys(request.params).length > 0) {
|
|
137
165
|
// Check if route path contains the param names
|
|
138
166
|
const paramNames = Object.keys(request.params);
|
|
139
|
-
const routeHasParams = paramNames.some(param => routePath.includes(`:${param}`));
|
|
167
|
+
const routeHasParams = paramNames.some((param) => routePath.includes(`:${param}`));
|
|
140
168
|
if (routeHasParams) {
|
|
141
169
|
return pattern;
|
|
142
170
|
}
|
|
@@ -149,7 +177,9 @@ class UsageFlowAPI {
|
|
|
149
177
|
}
|
|
150
178
|
}
|
|
151
179
|
}
|
|
152
|
-
else if (layer.name === "router" &&
|
|
180
|
+
else if (layer.name === "router" &&
|
|
181
|
+
layer.handle &&
|
|
182
|
+
layer.handle.stack) {
|
|
153
183
|
// Handle router middleware (nested routers)
|
|
154
184
|
const mountPath = layer.regexp.source
|
|
155
185
|
.replace("\\/?", "")
|
|
@@ -162,13 +192,15 @@ class UsageFlowAPI {
|
|
|
162
192
|
if (subLayer.route) {
|
|
163
193
|
const route = subLayer.route;
|
|
164
194
|
const routePath = route.path;
|
|
165
|
-
const routeMethods = Object.keys(route.methods).map(m => m.toLowerCase());
|
|
166
|
-
if (routeMethods.includes(method) ||
|
|
195
|
+
const routeMethods = Object.keys(route.methods).map((m) => m.toLowerCase());
|
|
196
|
+
if (routeMethods.includes(method) ||
|
|
197
|
+
routeMethods.includes("*")) {
|
|
167
198
|
const fullPath = mountPath + routePath;
|
|
168
199
|
// Check if this route matches by examining params
|
|
169
|
-
if (request.params &&
|
|
200
|
+
if (request.params &&
|
|
201
|
+
Object.keys(request.params).length > 0) {
|
|
170
202
|
const paramNames = Object.keys(request.params);
|
|
171
|
-
const routeHasParams = paramNames.some(param => routePath.includes(`:${param}`));
|
|
203
|
+
const routeHasParams = paramNames.some((param) => routePath.includes(`:${param}`));
|
|
172
204
|
if (routeHasParams) {
|
|
173
205
|
return fullPath;
|
|
174
206
|
}
|
|
@@ -220,47 +252,50 @@ class UsageFlowAPI {
|
|
|
220
252
|
const url = overrideUrl || this.getRoutePattern(request);
|
|
221
253
|
const configs = this.apiConfigs;
|
|
222
254
|
if (!configs.length) {
|
|
223
|
-
return `${method} ${url}
|
|
255
|
+
return { ledgerId: `${method} ${url}`, hasLimit: false };
|
|
224
256
|
}
|
|
225
257
|
for (const config of configs) {
|
|
226
258
|
const fieldName = config.identityFieldName;
|
|
227
259
|
const location = config.identityFieldLocation;
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
case "query_params":
|
|
235
|
-
if ((_b = request.query) === null || _b === void 0 ? void 0 : _b[fieldName]) {
|
|
236
|
-
return `${method} ${url} ${request.query[fieldName]}`;
|
|
237
|
-
}
|
|
238
|
-
break;
|
|
239
|
-
case "body":
|
|
240
|
-
if ((_c = request.body) === null || _c === void 0 ? void 0 : _c[fieldName]) {
|
|
241
|
-
return `${method} ${url} ${request.body[fieldName]}`;
|
|
242
|
-
}
|
|
243
|
-
break;
|
|
244
|
-
case "bearer_token":
|
|
245
|
-
const authHeader = this.getHeaderValue(request.headers, 'authorization');
|
|
246
|
-
const token = this.extractBearerToken(authHeader || undefined);
|
|
247
|
-
if (token) {
|
|
248
|
-
const claims = this.decodeJwtUnverified(token);
|
|
249
|
-
if (claims === null || claims === void 0 ? void 0 : claims[fieldName]) {
|
|
250
|
-
return `${method} ${url} ${claims[fieldName]}`;
|
|
260
|
+
const hasLimit = config.hasRateLimit || false;
|
|
261
|
+
if (method === config.method && url === config.url) {
|
|
262
|
+
switch (location) {
|
|
263
|
+
case "path_params":
|
|
264
|
+
if ((_a = request.params) === null || _a === void 0 ? void 0 : _a[fieldName]) {
|
|
265
|
+
return { ledgerId: `${method} ${url} ${request.params[fieldName]}`, hasLimit };
|
|
251
266
|
}
|
|
267
|
+
break;
|
|
268
|
+
case "query_params":
|
|
269
|
+
if ((_b = request.query) === null || _b === void 0 ? void 0 : _b[fieldName]) {
|
|
270
|
+
return { ledgerId: `${method} ${url} ${request.query[fieldName]}`, hasLimit };
|
|
271
|
+
}
|
|
272
|
+
break;
|
|
273
|
+
case "body":
|
|
274
|
+
if ((_c = request.body) === null || _c === void 0 ? void 0 : _c[fieldName]) {
|
|
275
|
+
return { ledgerId: `${method} ${url} ${request.body[fieldName]}`, hasLimit };
|
|
276
|
+
}
|
|
277
|
+
break;
|
|
278
|
+
case "bearer_token":
|
|
279
|
+
const authHeader = this.getHeaderValue(request.headers, "authorization");
|
|
280
|
+
const token = this.extractBearerToken(authHeader || undefined);
|
|
281
|
+
if (token) {
|
|
282
|
+
const claims = this.decodeJwtUnverified(token);
|
|
283
|
+
if (claims === null || claims === void 0 ? void 0 : claims[fieldName]) {
|
|
284
|
+
return { ledgerId: `${method} ${url} ${claims[fieldName]}`, hasLimit };
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
break;
|
|
288
|
+
case "headers": {
|
|
289
|
+
const headerValue = this.getHeaderValue(request.headers, fieldName);
|
|
290
|
+
if (headerValue) {
|
|
291
|
+
return { ledgerId: `${method} ${url} ${headerValue}`, hasLimit };
|
|
292
|
+
}
|
|
293
|
+
break;
|
|
252
294
|
}
|
|
253
|
-
break;
|
|
254
|
-
case "headers": {
|
|
255
|
-
const headerValue = this.getHeaderValue(request.headers, fieldName);
|
|
256
|
-
if (headerValue) {
|
|
257
|
-
return `${method} ${url} ${headerValue}`;
|
|
258
|
-
}
|
|
259
|
-
break;
|
|
260
295
|
}
|
|
261
296
|
}
|
|
262
297
|
}
|
|
263
|
-
return `${method} ${url}
|
|
298
|
+
return { ledgerId: `${method} ${url}`, hasLimit: false };
|
|
264
299
|
}
|
|
265
300
|
async fetchApiPolicies() {
|
|
266
301
|
var _a;
|
|
@@ -269,39 +304,65 @@ class UsageFlowAPI {
|
|
|
269
304
|
type: "get_application_policies",
|
|
270
305
|
payload: null,
|
|
271
306
|
});
|
|
272
|
-
if (response.type ===
|
|
307
|
+
if (response.type === "success") {
|
|
273
308
|
this.apiConfigs = ((_a = response.payload) === null || _a === void 0 ? void 0 : _a.policies) || [];
|
|
274
309
|
}
|
|
275
310
|
}
|
|
276
311
|
}
|
|
312
|
+
async fetchBlockedEndpoints() {
|
|
313
|
+
var _a, _b;
|
|
314
|
+
if (this.socketManager && this.socketManager.isConnected()) {
|
|
315
|
+
const response = await this.socketManager.sendAsync({
|
|
316
|
+
type: "get_blocked_endpoints",
|
|
317
|
+
payload: null,
|
|
318
|
+
});
|
|
319
|
+
if (response.type === "success") {
|
|
320
|
+
((_a = response.payload) === null || _a === void 0 ? void 0 : _a.endpoints) || [];
|
|
321
|
+
this.blockedEndpoints = ((_b = response.payload) === null || _b === void 0 ? void 0 : _b.endpoints.map(({ method, url, identity }) => `${method} ${url} ${identity}`)) || [];
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
}
|
|
277
325
|
async useAllocationRequest(payload) {
|
|
278
326
|
if (this.socketManager && this.socketManager.isConnected()) {
|
|
279
|
-
this.socketManager
|
|
327
|
+
this.socketManager
|
|
328
|
+
.sendAsync({
|
|
280
329
|
type: "use_allocation",
|
|
281
|
-
payload
|
|
282
|
-
})
|
|
330
|
+
payload,
|
|
331
|
+
})
|
|
332
|
+
.catch((error) => {
|
|
283
333
|
console.error("[UsageFlow] Error sending finalization via WebSocket:", error);
|
|
284
334
|
throw error;
|
|
285
335
|
});
|
|
286
336
|
}
|
|
287
337
|
}
|
|
288
|
-
async allocationRequest(request, payload, metadata) {
|
|
338
|
+
async allocationRequest(request, payload, metadata, hasLimit) {
|
|
289
339
|
if (this.socketManager && this.socketManager.isConnected()) {
|
|
290
340
|
try {
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
341
|
+
if (hasLimit) {
|
|
342
|
+
const allocationResponse = await this.socketManager.sendAsync({
|
|
343
|
+
type: "request_for_allocation",
|
|
344
|
+
payload,
|
|
345
|
+
});
|
|
346
|
+
if (allocationResponse.type === "error") {
|
|
347
|
+
throw new Error(allocationResponse.message || allocationResponse.error);
|
|
348
|
+
}
|
|
349
|
+
if (allocationResponse.type === "success") {
|
|
350
|
+
request.usageflow.eventId = allocationResponse.payload.allocationId;
|
|
351
|
+
request.usageflow.metadata = metadata;
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
else {
|
|
355
|
+
throw new Error(allocationResponse.message || "Unknown error occurred");
|
|
356
|
+
}
|
|
302
357
|
}
|
|
303
358
|
else {
|
|
304
|
-
|
|
359
|
+
payload.allocationId = (0, crypto_1.randomUUID)();
|
|
360
|
+
await this.socketManager.send({
|
|
361
|
+
type: "request_for_allocation",
|
|
362
|
+
payload,
|
|
363
|
+
});
|
|
364
|
+
request.usageflow.eventId = payload.allocationId;
|
|
365
|
+
request.usageflow.metadata = metadata;
|
|
305
366
|
}
|
|
306
367
|
}
|
|
307
368
|
catch (error) {
|
|
@@ -390,8 +451,8 @@ class UsageFlowAPI {
|
|
|
390
451
|
return null;
|
|
391
452
|
}
|
|
392
453
|
// Check if it's a bearer token
|
|
393
|
-
const parts = authHeader.split(
|
|
394
|
-
if (parts.length !== 2 || parts[0].toLowerCase() !==
|
|
454
|
+
const parts = authHeader.split(" ");
|
|
455
|
+
if (parts.length !== 2 || parts[0].toLowerCase() !== "bearer") {
|
|
395
456
|
return null;
|
|
396
457
|
}
|
|
397
458
|
return parts[1];
|
|
@@ -401,12 +462,12 @@ class UsageFlowAPI {
|
|
|
401
462
|
*/
|
|
402
463
|
getHeaderValue(headers, key) {
|
|
403
464
|
// Check if it's a Headers object (from Fetch API) by checking for the 'get' method
|
|
404
|
-
if (headers && typeof headers.get ===
|
|
465
|
+
if (headers && typeof headers.get === "function") {
|
|
405
466
|
return headers.get(key) || null;
|
|
406
467
|
}
|
|
407
468
|
// Otherwise, treat it as a Record
|
|
408
469
|
const value = headers[key];
|
|
409
|
-
if (typeof value ===
|
|
470
|
+
if (typeof value === "string") {
|
|
410
471
|
return value;
|
|
411
472
|
}
|
|
412
473
|
if (Array.isArray(value) && value.length > 0) {
|
|
@@ -422,13 +483,13 @@ class UsageFlowAPI {
|
|
|
422
483
|
decodeJwtUnverified(token) {
|
|
423
484
|
try {
|
|
424
485
|
// Split the token into parts
|
|
425
|
-
const parts = token.split(
|
|
486
|
+
const parts = token.split(".");
|
|
426
487
|
if (parts.length !== 3) {
|
|
427
488
|
return null;
|
|
428
489
|
}
|
|
429
490
|
// Decode the payload (claims)
|
|
430
491
|
const payload = parts[1];
|
|
431
|
-
const decoded = Buffer.from(payload,
|
|
492
|
+
const decoded = Buffer.from(payload, "base64").toString("utf-8");
|
|
432
493
|
return JSON.parse(decoded);
|
|
433
494
|
}
|
|
434
495
|
catch (error) {
|
package/dist/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -56,6 +56,12 @@ export interface UsageFlowConfig {
|
|
|
56
56
|
method: string;
|
|
57
57
|
identityFieldName?: string;
|
|
58
58
|
identityFieldLocation?: string;
|
|
59
|
+
hasRateLimit?: boolean;
|
|
60
|
+
}
|
|
61
|
+
export interface BlockedEndpoint {
|
|
62
|
+
method: string;
|
|
63
|
+
url: string;
|
|
64
|
+
identity: string;
|
|
59
65
|
}
|
|
60
66
|
export interface UsageFlowResponse {
|
|
61
67
|
eventId: string;
|
|
@@ -75,7 +81,7 @@ export interface RequestForAllocation {
|
|
|
75
81
|
metadata: RequestMetadata;
|
|
76
82
|
duration?: number;
|
|
77
83
|
}
|
|
78
|
-
export type MessageTypes = 'request_for_allocation' | 'use_allocation' | 'get_application_policies';
|
|
84
|
+
export type MessageTypes = 'request_for_allocation' | 'use_allocation' | 'get_application_policies' | 'get_blocked_endpoints';
|
|
79
85
|
export interface UsageFlowSocketMessage {
|
|
80
86
|
type: MessageTypes;
|
|
81
87
|
payload: RequestForAllocation | null;
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAoFA,MAAa,cAAe,SAAQ,KAAK;IACrC,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IACjC,CAAC;CACJ;AALD,wCAKC"}
|
package/jest.config.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
preset: 'ts-jest',
|
|
3
|
+
testEnvironment: 'node',
|
|
4
|
+
roots: ['<rootDir>/test'],
|
|
5
|
+
testMatch: ['**/*.test.ts'],
|
|
6
|
+
transform: {
|
|
7
|
+
'^.+\\.ts$': 'ts-jest',
|
|
8
|
+
},
|
|
9
|
+
moduleFileExtensions: ['ts', 'js', 'json'],
|
|
10
|
+
collectCoverageFrom: ['src/**/*.ts'],
|
|
11
|
+
coverageDirectory: 'coverage',
|
|
12
|
+
testTimeout: 10000,
|
|
13
|
+
};
|
|
14
|
+
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@usageflow/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Core functionality for UsageFlow integrations",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"build": "tsc",
|
|
9
|
-
"test": "
|
|
9
|
+
"test": "tsx --test test/base.test.ts test/socket.test.ts test/types.test.ts",
|
|
10
10
|
"prepare": "npm run build",
|
|
11
11
|
"prepublishOnly": "npm run build"
|
|
12
12
|
},
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"axios": "^1.6.0",
|
|
18
|
-
"ws": "^8.16.0"
|
|
18
|
+
"ws": "^8.16.0",
|
|
19
|
+
"@usageflow/logger": "^0.1.1"
|
|
19
20
|
},
|
|
20
21
|
"homepage": "https://usageflow.io",
|
|
21
22
|
"repository": {
|
|
@@ -26,9 +27,7 @@
|
|
|
26
27
|
"devDependencies": {
|
|
27
28
|
"@types/node": "^20.0.0",
|
|
28
29
|
"@types/ws": "^8.5.10",
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"@types/jest": "^29.0.0",
|
|
32
|
-
"ts-jest": "^29.0.0"
|
|
30
|
+
"tsx": "^4.20.6",
|
|
31
|
+
"typescript": "^5.0.0"
|
|
33
32
|
}
|
|
34
33
|
}
|