@usageflow/core 0.4.1 → 0.4.3
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/base.d.ts +34 -1
- package/dist/base.js +301 -7
- package/dist/base.js.map +1 -1
- package/dist/types.d.ts +6 -0
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/src/base.ts +325 -7
- package/src/types.ts +8 -0
- package/test/base.test.ts +741 -24
- package/test/src/types.d.ts +3 -0
- package/tsconfig.tsbuildinfo +1 -1
package/dist/base.d.ts
CHANGED
|
@@ -29,12 +29,13 @@ export declare abstract class UsageFlowAPI {
|
|
|
29
29
|
guessLedgerId(request: UsageFlowRequest, overrideUrl?: string): {
|
|
30
30
|
ledgerId: string;
|
|
31
31
|
hasLimit: boolean;
|
|
32
|
+
responseTrackingField?: string;
|
|
32
33
|
};
|
|
33
34
|
private fetchApiPolicies;
|
|
34
35
|
private fetchBlockedEndpoints;
|
|
35
36
|
private fetchApplicationConfig;
|
|
36
37
|
useAllocationRequest(payload: RequestForAllocation): void;
|
|
37
|
-
allocationRequest(request: UsageFlowRequest, payload: RequestForAllocation, metadata: RequestMetadata, hasLimit: boolean): Promise<void>;
|
|
38
|
+
allocationRequest(request: UsageFlowRequest, payload: RequestForAllocation, metadata: RequestMetadata, hasLimit: boolean, responseTrackingField?: string): Promise<void>;
|
|
38
39
|
/**
|
|
39
40
|
* Convert routes list to a map for faster lookup
|
|
40
41
|
*/
|
|
@@ -67,4 +68,36 @@ export declare abstract class UsageFlowAPI {
|
|
|
67
68
|
*/
|
|
68
69
|
decodeJwtUnverified(token: string): Record<string, any> | null;
|
|
69
70
|
getBlockedEndpoints(): Map<string, boolean>;
|
|
71
|
+
private getByDotNotation;
|
|
72
|
+
/**
|
|
73
|
+
* Extract a value from an object using a dot-notation path
|
|
74
|
+
* Supports nested paths like "data.amount" or "result.items[0].count"
|
|
75
|
+
* Supports wildcard array notation like "items[*].id" to iterate over arrays
|
|
76
|
+
* @param obj - The object to extract the value from
|
|
77
|
+
* @param path - The dot-notation path to the value (e.g., "data.amount" or "items[*].id")
|
|
78
|
+
* @returns The value at the path, or undefined if not found. For wildcard arrays, returns an array of values.
|
|
79
|
+
*/
|
|
80
|
+
getValueByPath(obj: any, path: string): any;
|
|
81
|
+
/**
|
|
82
|
+
* Parse and extract a specific cookie value from the Cookie header
|
|
83
|
+
* @param headers The request headers object
|
|
84
|
+
* @param cookieName The name of the cookie to extract (e.g., "session")
|
|
85
|
+
* @returns The cookie value or null if not found
|
|
86
|
+
*/
|
|
87
|
+
private getCookieValue;
|
|
88
|
+
/**
|
|
89
|
+
* Parse JWT cookie field format: '[technique=jwt]cookieName[pick=claim]'
|
|
90
|
+
* @param fieldName The field name to parse
|
|
91
|
+
* @returns Object with cookieName and claim, or null if not a JWT cookie format
|
|
92
|
+
*/
|
|
93
|
+
private parseJwtCookieField;
|
|
94
|
+
getResponseBody(response: Response): any;
|
|
95
|
+
/**
|
|
96
|
+
* Extract schema from a JavaScript object/array
|
|
97
|
+
* Recursively processes objects, arrays, and primitives to build a schema structure
|
|
98
|
+
* @param obj - The object to extract schema from
|
|
99
|
+
* @param path - The current path in the object hierarchy (for nested objects)
|
|
100
|
+
* @returns Schema object with type information and paths
|
|
101
|
+
*/
|
|
102
|
+
extractSchema(obj: any, path?: string): any;
|
|
70
103
|
}
|
package/dist/base.js
CHANGED
|
@@ -266,21 +266,23 @@ class UsageFlowAPI {
|
|
|
266
266
|
const fieldName = config.identityFieldName;
|
|
267
267
|
const location = config.identityFieldLocation;
|
|
268
268
|
const hasLimit = config.hasRateLimit || false;
|
|
269
|
+
const isResponseTrackingEnabled = config.isResponseTrackingEnabled;
|
|
270
|
+
const responseTrackingField = isResponseTrackingEnabled ? config.responseTrackingField : undefined;
|
|
269
271
|
if (method === config.method && url === config.url) {
|
|
270
272
|
switch (location) {
|
|
271
273
|
case "path_params":
|
|
272
274
|
if ((_a = request.params) === null || _a === void 0 ? void 0 : _a[fieldName]) {
|
|
273
|
-
return { ledgerId: `${method} ${url} ${request.params[fieldName]}`, hasLimit };
|
|
275
|
+
return { ledgerId: `${method} ${url} ${request.params[fieldName]}`, hasLimit, responseTrackingField };
|
|
274
276
|
}
|
|
275
277
|
break;
|
|
276
278
|
case "query_params":
|
|
277
279
|
if ((_b = request.query) === null || _b === void 0 ? void 0 : _b[fieldName]) {
|
|
278
|
-
return { ledgerId: `${method} ${url} ${request.query[fieldName]}`, hasLimit };
|
|
280
|
+
return { ledgerId: `${method} ${url} ${request.query[fieldName]}`, hasLimit, responseTrackingField };
|
|
279
281
|
}
|
|
280
282
|
break;
|
|
281
283
|
case "body":
|
|
282
284
|
if ((_c = request.body) === null || _c === void 0 ? void 0 : _c[fieldName]) {
|
|
283
|
-
return { ledgerId: `${method} ${url} ${request.body[fieldName]}`, hasLimit };
|
|
285
|
+
return { ledgerId: `${method} ${url} ${request.body[fieldName]}`, hasLimit, responseTrackingField };
|
|
284
286
|
}
|
|
285
287
|
break;
|
|
286
288
|
case "bearer_token":
|
|
@@ -289,21 +291,50 @@ class UsageFlowAPI {
|
|
|
289
291
|
if (token) {
|
|
290
292
|
const claims = this.decodeJwtUnverified(token);
|
|
291
293
|
if (claims === null || claims === void 0 ? void 0 : claims[fieldName]) {
|
|
292
|
-
return { ledgerId: `${method} ${url} ${claims[fieldName]}`, hasLimit };
|
|
294
|
+
return { ledgerId: `${method} ${url} ${claims[fieldName]}`, hasLimit, responseTrackingField };
|
|
293
295
|
}
|
|
294
296
|
}
|
|
295
297
|
break;
|
|
296
298
|
case "headers": {
|
|
297
299
|
const headerValue = this.getHeaderValue(request.headers, fieldName);
|
|
298
300
|
if (headerValue) {
|
|
299
|
-
return { ledgerId: `${method} ${url} ${headerValue}`, hasLimit };
|
|
301
|
+
return { ledgerId: `${method} ${url} ${headerValue}`, hasLimit, responseTrackingField };
|
|
302
|
+
}
|
|
303
|
+
break;
|
|
304
|
+
}
|
|
305
|
+
case "cookie": {
|
|
306
|
+
// Handle JWT cookie format: '[technique=jwt]cookieName[pick=claim]'
|
|
307
|
+
const jwtCookieMatch = this.parseJwtCookieField(fieldName);
|
|
308
|
+
if (jwtCookieMatch) {
|
|
309
|
+
const { cookieName, claim } = jwtCookieMatch;
|
|
310
|
+
const cookieValue = this.getCookieValue(request.headers, cookieName);
|
|
311
|
+
if (cookieValue) {
|
|
312
|
+
const claims = this.decodeJwtUnverified(cookieValue);
|
|
313
|
+
if (claims === null || claims === void 0 ? void 0 : claims[claim]) {
|
|
314
|
+
return { ledgerId: `${method} ${url} ${claims[claim]}`, hasLimit, responseTrackingField };
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
break;
|
|
318
|
+
}
|
|
319
|
+
// Handle standard cookie access (e.g., "cookie.session" or "session")
|
|
320
|
+
let cookieValue = null;
|
|
321
|
+
if (fieldName.toLowerCase().startsWith('cookie.')) {
|
|
322
|
+
const cookieName = fieldName.substring(7); // Remove "cookie." prefix
|
|
323
|
+
cookieValue = this.getCookieValue(request.headers, cookieName);
|
|
324
|
+
}
|
|
325
|
+
else {
|
|
326
|
+
// Use dot notation for regular headers
|
|
327
|
+
cookieValue = this.getByDotNotation(request.headers, fieldName);
|
|
328
|
+
}
|
|
329
|
+
if (cookieValue) {
|
|
330
|
+
return { ledgerId: `${method} ${url} ${cookieValue}`, hasLimit, responseTrackingField };
|
|
300
331
|
}
|
|
301
332
|
break;
|
|
302
333
|
}
|
|
303
334
|
}
|
|
304
335
|
}
|
|
305
336
|
}
|
|
306
|
-
return { ledgerId: `${method} ${url}`, hasLimit: false };
|
|
337
|
+
return { ledgerId: `${method} ${url}`, hasLimit: false, responseTrackingField: undefined };
|
|
307
338
|
}
|
|
308
339
|
async fetchApiPolicies() {
|
|
309
340
|
var _a;
|
|
@@ -357,7 +388,7 @@ class UsageFlowAPI {
|
|
|
357
388
|
});
|
|
358
389
|
}
|
|
359
390
|
}
|
|
360
|
-
async allocationRequest(request, payload, metadata, hasLimit) {
|
|
391
|
+
async allocationRequest(request, payload, metadata, hasLimit, responseTrackingField) {
|
|
361
392
|
if (this.socketManager && this.socketManager.isConnected()) {
|
|
362
393
|
try {
|
|
363
394
|
if (hasLimit) {
|
|
@@ -386,6 +417,7 @@ class UsageFlowAPI {
|
|
|
386
417
|
});
|
|
387
418
|
request.usageflow.eventId = payload.allocationId;
|
|
388
419
|
request.usageflow.metadata = metadata;
|
|
420
|
+
request.usageflow.responseTrackingField = responseTrackingField;
|
|
389
421
|
}
|
|
390
422
|
}
|
|
391
423
|
catch (error) {
|
|
@@ -522,6 +554,268 @@ class UsageFlowAPI {
|
|
|
522
554
|
getBlockedEndpoints() {
|
|
523
555
|
return this.blockedEndpoints;
|
|
524
556
|
}
|
|
557
|
+
getByDotNotation(object, path) {
|
|
558
|
+
return path.split('.').reduce((acc, part) => acc === null || acc === void 0 ? void 0 : acc[part], object);
|
|
559
|
+
}
|
|
560
|
+
/**
|
|
561
|
+
* Extract a value from an object using a dot-notation path
|
|
562
|
+
* Supports nested paths like "data.amount" or "result.items[0].count"
|
|
563
|
+
* Supports wildcard array notation like "items[*].id" to iterate over arrays
|
|
564
|
+
* @param obj - The object to extract the value from
|
|
565
|
+
* @param path - The dot-notation path to the value (e.g., "data.amount" or "items[*].id")
|
|
566
|
+
* @returns The value at the path, or undefined if not found. For wildcard arrays, returns an array of values.
|
|
567
|
+
*/
|
|
568
|
+
getValueByPath(obj, path) {
|
|
569
|
+
if (!obj || !path) {
|
|
570
|
+
return undefined;
|
|
571
|
+
}
|
|
572
|
+
// Parse path into segments, preserving [*] as a special marker
|
|
573
|
+
const segments = [];
|
|
574
|
+
let currentSegment = '';
|
|
575
|
+
let i = 0;
|
|
576
|
+
while (i < path.length) {
|
|
577
|
+
if (path[i] === '[' && i + 1 < path.length && path[i + 1] === '*') {
|
|
578
|
+
// Found [*]
|
|
579
|
+
if (currentSegment) {
|
|
580
|
+
segments.push(currentSegment);
|
|
581
|
+
currentSegment = '';
|
|
582
|
+
}
|
|
583
|
+
segments.push('*');
|
|
584
|
+
i += 3; // Skip '[', '*', ']'
|
|
585
|
+
}
|
|
586
|
+
else if (path[i] === '[') {
|
|
587
|
+
// Found indexed array access like [0]
|
|
588
|
+
if (currentSegment) {
|
|
589
|
+
segments.push(currentSegment);
|
|
590
|
+
currentSegment = '';
|
|
591
|
+
}
|
|
592
|
+
// Extract the index
|
|
593
|
+
let index = '';
|
|
594
|
+
i++; // Skip '['
|
|
595
|
+
while (i < path.length && path[i] !== ']') {
|
|
596
|
+
index += path[i];
|
|
597
|
+
i++;
|
|
598
|
+
}
|
|
599
|
+
if (index) {
|
|
600
|
+
segments.push(index);
|
|
601
|
+
}
|
|
602
|
+
i++; // Skip ']'
|
|
603
|
+
}
|
|
604
|
+
else if (path[i] === '.') {
|
|
605
|
+
if (currentSegment) {
|
|
606
|
+
segments.push(currentSegment);
|
|
607
|
+
currentSegment = '';
|
|
608
|
+
}
|
|
609
|
+
i++;
|
|
610
|
+
}
|
|
611
|
+
else {
|
|
612
|
+
currentSegment += path[i];
|
|
613
|
+
i++;
|
|
614
|
+
}
|
|
615
|
+
}
|
|
616
|
+
if (currentSegment) {
|
|
617
|
+
segments.push(currentSegment);
|
|
618
|
+
}
|
|
619
|
+
// Recursive helper function to process segments
|
|
620
|
+
const processSegments = (currentObj, segs, segIndex) => {
|
|
621
|
+
if (currentObj === null || currentObj === undefined) {
|
|
622
|
+
return undefined;
|
|
623
|
+
}
|
|
624
|
+
// If we've processed all segments, return the current value
|
|
625
|
+
if (segIndex >= segs.length) {
|
|
626
|
+
return currentObj;
|
|
627
|
+
}
|
|
628
|
+
const segment = segs[segIndex];
|
|
629
|
+
// Handle wildcard array iteration
|
|
630
|
+
if (segment === '*') {
|
|
631
|
+
if (!Array.isArray(currentObj)) {
|
|
632
|
+
return undefined;
|
|
633
|
+
}
|
|
634
|
+
// If this is the last segment, return the first element of the array
|
|
635
|
+
if (segIndex === segs.length - 1) {
|
|
636
|
+
return currentObj.length > 0 ? currentObj[0] : undefined;
|
|
637
|
+
}
|
|
638
|
+
// Otherwise, iterate over the array and return the first valid result
|
|
639
|
+
for (const item of currentObj) {
|
|
640
|
+
const result = processSegments(item, segs, segIndex + 1);
|
|
641
|
+
if (result !== undefined) {
|
|
642
|
+
return result;
|
|
643
|
+
}
|
|
644
|
+
}
|
|
645
|
+
return undefined;
|
|
646
|
+
}
|
|
647
|
+
// Handle regular property access
|
|
648
|
+
const nextObj = currentObj[segment];
|
|
649
|
+
return processSegments(nextObj, segs, segIndex + 1);
|
|
650
|
+
};
|
|
651
|
+
return processSegments(obj, segments, 0);
|
|
652
|
+
}
|
|
653
|
+
/**
|
|
654
|
+
* Parse and extract a specific cookie value from the Cookie header
|
|
655
|
+
* @param headers The request headers object
|
|
656
|
+
* @param cookieName The name of the cookie to extract (e.g., "session")
|
|
657
|
+
* @returns The cookie value or null if not found
|
|
658
|
+
*/
|
|
659
|
+
getCookieValue(headers, cookieName) {
|
|
660
|
+
let cookieHeader = this.getHeaderValue(headers, 'cookie');
|
|
661
|
+
if (!cookieHeader) {
|
|
662
|
+
cookieHeader = this.getHeaderValue(headers, 'Cookie');
|
|
663
|
+
}
|
|
664
|
+
if (!cookieHeader) {
|
|
665
|
+
return null;
|
|
666
|
+
}
|
|
667
|
+
// Parse cookies from the Cookie header string
|
|
668
|
+
// Format: "name1=value1; name2=value2; name3=value3"
|
|
669
|
+
const cookies = cookieHeader.split(';').map(cookie => {
|
|
670
|
+
const [name, ...valueParts] = cookie.trim().split('=');
|
|
671
|
+
return {
|
|
672
|
+
name: name.trim(),
|
|
673
|
+
value: valueParts.join('=').trim(), // Handle values that might contain '='
|
|
674
|
+
};
|
|
675
|
+
});
|
|
676
|
+
// Find the cookie with the matching name (case-insensitive)
|
|
677
|
+
const cookie = cookies.find(c => c.name.toLowerCase() === cookieName.toLowerCase());
|
|
678
|
+
return cookie ? cookie.value : null;
|
|
679
|
+
}
|
|
680
|
+
/**
|
|
681
|
+
* Parse JWT cookie field format: '[technique=jwt]cookieName[pick=claim]'
|
|
682
|
+
* @param fieldName The field name to parse
|
|
683
|
+
* @returns Object with cookieName and claim, or null if not a JWT cookie format
|
|
684
|
+
*/
|
|
685
|
+
parseJwtCookieField(fieldName) {
|
|
686
|
+
const techniqueMatch = fieldName.match(/^\[technique=([^\]]+)\]/);
|
|
687
|
+
if (!techniqueMatch || techniqueMatch[1] !== 'jwt') {
|
|
688
|
+
return null;
|
|
689
|
+
}
|
|
690
|
+
const pickMatch = fieldName.match(/\[pick=([^\]]+)\]/);
|
|
691
|
+
if (!pickMatch) {
|
|
692
|
+
return null;
|
|
693
|
+
}
|
|
694
|
+
// Extract cookie name: everything between [technique=jwt] and [pick=...]
|
|
695
|
+
const techniqueEnd = techniqueMatch[0].length;
|
|
696
|
+
const pickStart = fieldName.indexOf('[pick=');
|
|
697
|
+
if (pickStart === -1 || pickStart <= techniqueEnd) {
|
|
698
|
+
return null;
|
|
699
|
+
}
|
|
700
|
+
const cookieName = fieldName.substring(techniqueEnd, pickStart);
|
|
701
|
+
if (!cookieName) {
|
|
702
|
+
return null;
|
|
703
|
+
}
|
|
704
|
+
return {
|
|
705
|
+
cookieName,
|
|
706
|
+
claim: pickMatch[1],
|
|
707
|
+
};
|
|
708
|
+
}
|
|
709
|
+
getResponseBody(response) {
|
|
710
|
+
if (response.body) {
|
|
711
|
+
return response.body;
|
|
712
|
+
}
|
|
713
|
+
return null;
|
|
714
|
+
}
|
|
715
|
+
/**
|
|
716
|
+
* Extract schema from a JavaScript object/array
|
|
717
|
+
* Recursively processes objects, arrays, and primitives to build a schema structure
|
|
718
|
+
* @param obj - The object to extract schema from
|
|
719
|
+
* @param path - The current path in the object hierarchy (for nested objects)
|
|
720
|
+
* @returns Schema object with type information and paths
|
|
721
|
+
*/
|
|
722
|
+
extractSchema(obj, path = '') {
|
|
723
|
+
// Handle null
|
|
724
|
+
if (obj === null || obj === undefined) {
|
|
725
|
+
return 'null';
|
|
726
|
+
}
|
|
727
|
+
// Handle arrays
|
|
728
|
+
if (Array.isArray(obj)) {
|
|
729
|
+
if (obj.length === 0) {
|
|
730
|
+
return 'array';
|
|
731
|
+
}
|
|
732
|
+
// Get schema of first element as representative
|
|
733
|
+
return {
|
|
734
|
+
type: 'array',
|
|
735
|
+
items: this.extractSchema(obj[0], path),
|
|
736
|
+
};
|
|
737
|
+
}
|
|
738
|
+
// Handle objects
|
|
739
|
+
if (typeof obj === 'object' && obj !== null) {
|
|
740
|
+
const schema = {};
|
|
741
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
742
|
+
const fieldPath = path ? `${path}.${key}` : key;
|
|
743
|
+
if (value === null || value === undefined) {
|
|
744
|
+
schema[key] = {
|
|
745
|
+
type: 'null',
|
|
746
|
+
path: fieldPath,
|
|
747
|
+
};
|
|
748
|
+
}
|
|
749
|
+
else if (typeof value === 'boolean') {
|
|
750
|
+
// Check bool before number (important for type detection)
|
|
751
|
+
schema[key] = {
|
|
752
|
+
type: 'boolean',
|
|
753
|
+
path: fieldPath,
|
|
754
|
+
};
|
|
755
|
+
}
|
|
756
|
+
else if (typeof value === 'number') {
|
|
757
|
+
// Check if it's an integer or float
|
|
758
|
+
if (Number.isInteger(value)) {
|
|
759
|
+
schema[key] = {
|
|
760
|
+
type: 'integer',
|
|
761
|
+
path: fieldPath,
|
|
762
|
+
};
|
|
763
|
+
}
|
|
764
|
+
else {
|
|
765
|
+
schema[key] = {
|
|
766
|
+
type: 'float',
|
|
767
|
+
path: fieldPath,
|
|
768
|
+
};
|
|
769
|
+
}
|
|
770
|
+
}
|
|
771
|
+
else if (typeof value === 'string') {
|
|
772
|
+
schema[key] = {
|
|
773
|
+
type: 'string',
|
|
774
|
+
path: fieldPath,
|
|
775
|
+
};
|
|
776
|
+
}
|
|
777
|
+
else if (Array.isArray(value)) {
|
|
778
|
+
schema[key] = {
|
|
779
|
+
type: 'array',
|
|
780
|
+
path: fieldPath,
|
|
781
|
+
items: value.length > 0 ? this.extractSchema(value[0], fieldPath) : 'unknown',
|
|
782
|
+
};
|
|
783
|
+
}
|
|
784
|
+
else if (typeof value === 'object') {
|
|
785
|
+
schema[key] = {
|
|
786
|
+
type: 'object',
|
|
787
|
+
path: fieldPath,
|
|
788
|
+
properties: this.extractSchema(value, fieldPath),
|
|
789
|
+
};
|
|
790
|
+
}
|
|
791
|
+
else {
|
|
792
|
+
schema[key] = {
|
|
793
|
+
type: typeof value,
|
|
794
|
+
path: fieldPath,
|
|
795
|
+
};
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
return schema;
|
|
799
|
+
}
|
|
800
|
+
// Handle primitive types
|
|
801
|
+
if (typeof obj === 'boolean') {
|
|
802
|
+
return 'boolean';
|
|
803
|
+
}
|
|
804
|
+
else if (typeof obj === 'number') {
|
|
805
|
+
if (Number.isInteger(obj)) {
|
|
806
|
+
return 'integer';
|
|
807
|
+
}
|
|
808
|
+
else {
|
|
809
|
+
return 'float';
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
else if (typeof obj === 'string') {
|
|
813
|
+
return 'string';
|
|
814
|
+
}
|
|
815
|
+
else {
|
|
816
|
+
return typeof obj;
|
|
817
|
+
}
|
|
818
|
+
}
|
|
525
819
|
}
|
|
526
820
|
exports.UsageFlowAPI = UsageFlowAPI;
|
|
527
821
|
//# sourceMappingURL=base.js.map
|
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
|
@@ -5,6 +5,7 @@ declare global {
|
|
|
5
5
|
startTime: number;
|
|
6
6
|
eventId?: string;
|
|
7
7
|
metadata?: RequestMetadata;
|
|
8
|
+
responseTrackingField?: string;
|
|
8
9
|
};
|
|
9
10
|
baseUrl: string;
|
|
10
11
|
}
|
|
@@ -15,6 +16,7 @@ declare global {
|
|
|
15
16
|
startTime: number;
|
|
16
17
|
eventId?: string;
|
|
17
18
|
metadata?: RequestMetadata;
|
|
19
|
+
responseTrackingField?: string;
|
|
18
20
|
};
|
|
19
21
|
}
|
|
20
22
|
}
|
|
@@ -24,6 +26,7 @@ declare global {
|
|
|
24
26
|
startTime: number;
|
|
25
27
|
eventId?: string;
|
|
26
28
|
metadata?: RequestMetadata;
|
|
29
|
+
responseTrackingField?: string;
|
|
27
30
|
};
|
|
28
31
|
}
|
|
29
32
|
}
|
|
@@ -57,6 +60,8 @@ export interface UsageFlowConfig {
|
|
|
57
60
|
identityFieldName?: string;
|
|
58
61
|
identityFieldLocation?: string;
|
|
59
62
|
hasRateLimit?: boolean;
|
|
63
|
+
responseTrackingField?: string;
|
|
64
|
+
isResponseTrackingEnabled?: boolean;
|
|
60
65
|
}
|
|
61
66
|
export interface BlockedEndpoint {
|
|
62
67
|
method: string;
|
|
@@ -120,6 +125,7 @@ export interface UsageFlowRequest {
|
|
|
120
125
|
eventId?: string;
|
|
121
126
|
metadata?: RequestMetadata;
|
|
122
127
|
startTime?: number;
|
|
128
|
+
responseTrackingField?: string;
|
|
123
129
|
};
|
|
124
130
|
routeOptions?: {
|
|
125
131
|
url: string;
|
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":";;;AA+FA,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"}
|