@x12i/ai-gateway 7.9.1
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 +4259 -0
- package/config.defaults.json +31 -0
- package/dist/activity-manager.d.ts +206 -0
- package/dist/activity-manager.js +1051 -0
- package/dist/config/activity-tracking-config.d.ts +11 -0
- package/dist/config/activity-tracking-config.js +15 -0
- package/dist/config.defaults.json +31 -0
- package/dist/content-normalizer/content-normalizer.d.ts +46 -0
- package/dist/content-normalizer/content-normalizer.js +393 -0
- package/dist/content-normalizer/index.d.ts +7 -0
- package/dist/content-normalizer/index.js +6 -0
- package/dist/content-normalizer/types.d.ts +33 -0
- package/dist/content-normalizer/types.js +4 -0
- package/dist/defaults/instructions-blocks.json +61 -0
- package/dist/defaults/model-config.json +16 -0
- package/dist/defaults/template-rendering.json +6 -0
- package/dist/flex-md-loader.d.ts +109 -0
- package/dist/flex-md-loader.js +940 -0
- package/dist/gateway-config.d.ts +49 -0
- package/dist/gateway-config.js +292 -0
- package/dist/gateway-conversion.d.ts +29 -0
- package/dist/gateway-conversion.js +174 -0
- package/dist/gateway-instructions.d.ts +30 -0
- package/dist/gateway-instructions.js +62 -0
- package/dist/gateway-memory.d.ts +51 -0
- package/dist/gateway-memory.js +207 -0
- package/dist/gateway-messages.d.ts +23 -0
- package/dist/gateway-messages.js +83 -0
- package/dist/gateway-meta.d.ts +25 -0
- package/dist/gateway-meta.js +87 -0
- package/dist/gateway-provider-auto-register.d.ts +17 -0
- package/dist/gateway-provider-auto-register.js +159 -0
- package/dist/gateway-provider.d.ts +54 -0
- package/dist/gateway-provider.js +202 -0
- package/dist/gateway-rate-limiter-constants.d.ts +16 -0
- package/dist/gateway-rate-limiter-constants.js +16 -0
- package/dist/gateway-rate-limiter.d.ts +56 -0
- package/dist/gateway-rate-limiter.js +107 -0
- package/dist/gateway-retry.d.ts +49 -0
- package/dist/gateway-retry.js +204 -0
- package/dist/gateway-utils.d.ts +21 -0
- package/dist/gateway-utils.js +181 -0
- package/dist/gateway-validation.d.ts +13 -0
- package/dist/gateway-validation.js +50 -0
- package/dist/gateway.d.ts +39 -0
- package/dist/gateway.js +430 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.js +55 -0
- package/dist/instruction-errors.d.ts +16 -0
- package/dist/instruction-errors.js +29 -0
- package/dist/instruction-optimizer.d.ts +113 -0
- package/dist/instruction-optimizer.js +293 -0
- package/dist/instructions-parser.d.ts +31 -0
- package/dist/instructions-parser.js +56 -0
- package/dist/logger-factory.d.ts +17 -0
- package/dist/logger-factory.js +42 -0
- package/dist/message-builder.d.ts +41 -0
- package/dist/message-builder.js +522 -0
- package/dist/object-types-library-integration.d.ts +22 -0
- package/dist/object-types-library-integration.js +27 -0
- package/dist/object-types-library.d.ts +351 -0
- package/dist/object-types-library.js +210 -0
- package/dist/output-auditor.d.ts +44 -0
- package/dist/output-auditor.js +49 -0
- package/dist/request-report-generator.d.ts +60 -0
- package/dist/request-report-generator.js +169 -0
- package/dist/response-analyzer/format-type-detector.d.ts +35 -0
- package/dist/response-analyzer/format-type-detector.js +115 -0
- package/dist/response-analyzer/index.d.ts +9 -0
- package/dist/response-analyzer/index.js +8 -0
- package/dist/response-analyzer/object-type-detector.d.ts +42 -0
- package/dist/response-analyzer/object-type-detector.js +95 -0
- package/dist/response-analyzer/response-analyzer.d.ts +38 -0
- package/dist/response-analyzer/response-analyzer.js +97 -0
- package/dist/response-analyzer/types.d.ts +97 -0
- package/dist/response-analyzer/types.js +4 -0
- package/dist/response-fallback-fixer.d.ts +11 -0
- package/dist/response-fallback-fixer.js +123 -0
- package/dist/runtime-objects.d.ts +52 -0
- package/dist/runtime-objects.js +46 -0
- package/dist/template-parser.d.ts +58 -0
- package/dist/template-parser.js +99 -0
- package/dist/template-render-merge.d.ts +9 -0
- package/dist/template-render-merge.js +40 -0
- package/dist/troubleshooting-helper.d.ts +123 -0
- package/dist/troubleshooting-helper.js +596 -0
- package/dist/types.d.ts +1173 -0
- package/dist/types.js +6 -0
- package/dist/usage-tracker.d.ts +78 -0
- package/dist/usage-tracker.js +79 -0
- package/dist-cjs/activity-manager.cjs +1056 -0
- package/dist-cjs/activity-manager.d.ts +206 -0
- package/dist-cjs/config/activity-tracking-config.cjs +18 -0
- package/dist-cjs/config/activity-tracking-config.d.ts +11 -0
- package/dist-cjs/config.defaults.json +31 -0
- package/dist-cjs/content-normalizer/content-normalizer.cjs +398 -0
- package/dist-cjs/content-normalizer/content-normalizer.d.ts +46 -0
- package/dist-cjs/content-normalizer/index.cjs +12 -0
- package/dist-cjs/content-normalizer/index.d.ts +7 -0
- package/dist-cjs/content-normalizer/types.cjs +5 -0
- package/dist-cjs/content-normalizer/types.d.ts +33 -0
- package/dist-cjs/defaults/instructions-blocks.json +61 -0
- package/dist-cjs/defaults/model-config.json +16 -0
- package/dist-cjs/defaults/template-rendering.json +6 -0
- package/dist-cjs/flex-md-loader.cjs +986 -0
- package/dist-cjs/flex-md-loader.d.ts +109 -0
- package/dist-cjs/gateway-config.cjs +331 -0
- package/dist-cjs/gateway-config.d.ts +49 -0
- package/dist-cjs/gateway-conversion.cjs +212 -0
- package/dist-cjs/gateway-conversion.d.ts +29 -0
- package/dist-cjs/gateway-instructions.cjs +67 -0
- package/dist-cjs/gateway-instructions.d.ts +30 -0
- package/dist-cjs/gateway-memory.cjs +211 -0
- package/dist-cjs/gateway-memory.d.ts +51 -0
- package/dist-cjs/gateway-messages.cjs +86 -0
- package/dist-cjs/gateway-messages.d.ts +23 -0
- package/dist-cjs/gateway-meta.cjs +90 -0
- package/dist-cjs/gateway-meta.d.ts +25 -0
- package/dist-cjs/gateway-provider-auto-register.cjs +195 -0
- package/dist-cjs/gateway-provider-auto-register.d.ts +17 -0
- package/dist-cjs/gateway-provider.cjs +214 -0
- package/dist-cjs/gateway-provider.d.ts +54 -0
- package/dist-cjs/gateway-rate-limiter-constants.cjs +19 -0
- package/dist-cjs/gateway-rate-limiter-constants.d.ts +16 -0
- package/dist-cjs/gateway-rate-limiter.cjs +111 -0
- package/dist-cjs/gateway-rate-limiter.d.ts +56 -0
- package/dist-cjs/gateway-retry.cjs +212 -0
- package/dist-cjs/gateway-retry.d.ts +49 -0
- package/dist-cjs/gateway-utils.cjs +219 -0
- package/dist-cjs/gateway-utils.d.ts +21 -0
- package/dist-cjs/gateway-validation.cjs +54 -0
- package/dist-cjs/gateway-validation.d.ts +13 -0
- package/dist-cjs/gateway.cjs +434 -0
- package/dist-cjs/gateway.d.ts +39 -0
- package/dist-cjs/index.cjs +108 -0
- package/dist-cjs/index.d.ts +36 -0
- package/dist-cjs/instruction-errors.cjs +34 -0
- package/dist-cjs/instruction-errors.d.ts +16 -0
- package/dist-cjs/instruction-optimizer.cjs +299 -0
- package/dist-cjs/instruction-optimizer.d.ts +113 -0
- package/dist-cjs/instructions-parser.cjs +61 -0
- package/dist-cjs/instructions-parser.d.ts +31 -0
- package/dist-cjs/logger-factory.cjs +45 -0
- package/dist-cjs/logger-factory.d.ts +17 -0
- package/dist-cjs/message-builder.cjs +558 -0
- package/dist-cjs/message-builder.d.ts +41 -0
- package/dist-cjs/object-types-library-integration.cjs +32 -0
- package/dist-cjs/object-types-library-integration.d.ts +22 -0
- package/dist-cjs/object-types-library.cjs +215 -0
- package/dist-cjs/object-types-library.d.ts +351 -0
- package/dist-cjs/output-auditor.cjs +52 -0
- package/dist-cjs/output-auditor.d.ts +44 -0
- package/dist-cjs/request-report-generator.cjs +172 -0
- package/dist-cjs/request-report-generator.d.ts +60 -0
- package/dist-cjs/response-analyzer/format-type-detector.cjs +119 -0
- package/dist-cjs/response-analyzer/format-type-detector.d.ts +35 -0
- package/dist-cjs/response-analyzer/index.cjs +14 -0
- package/dist-cjs/response-analyzer/index.d.ts +9 -0
- package/dist-cjs/response-analyzer/object-type-detector.cjs +99 -0
- package/dist-cjs/response-analyzer/object-type-detector.d.ts +42 -0
- package/dist-cjs/response-analyzer/response-analyzer.cjs +101 -0
- package/dist-cjs/response-analyzer/response-analyzer.d.ts +38 -0
- package/dist-cjs/response-analyzer/types.cjs +5 -0
- package/dist-cjs/response-analyzer/types.d.ts +97 -0
- package/dist-cjs/response-fallback-fixer.cjs +126 -0
- package/dist-cjs/response-fallback-fixer.d.ts +11 -0
- package/dist-cjs/runtime-objects.cjs +52 -0
- package/dist-cjs/runtime-objects.d.ts +52 -0
- package/dist-cjs/template-parser.cjs +136 -0
- package/dist-cjs/template-parser.d.ts +58 -0
- package/dist-cjs/template-render-merge.cjs +43 -0
- package/dist-cjs/template-render-merge.d.ts +9 -0
- package/dist-cjs/troubleshooting-helper.cjs +611 -0
- package/dist-cjs/troubleshooting-helper.d.ts +123 -0
- package/dist-cjs/types.cjs +7 -0
- package/dist-cjs/types.d.ts +1173 -0
- package/dist-cjs/usage-tracker.cjs +83 -0
- package/dist-cjs/usage-tracker.d.ts +78 -0
- package/package.json +91 -0
package/dist/types.js
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Usage Tracker
|
|
3
|
+
*
|
|
4
|
+
* Manages usage tracking for LLM requests including:
|
|
5
|
+
* - Token counting
|
|
6
|
+
* - Consumption calculation (RPM/TPM)
|
|
7
|
+
* - Usage recording
|
|
8
|
+
*
|
|
9
|
+
* Note: x-models dependency removed - usage tracking functions are permanently disabled
|
|
10
|
+
*/
|
|
11
|
+
import type { Logxer } from '@x12i/logxer';
|
|
12
|
+
import type { LLMResponse } from './types.js';
|
|
13
|
+
export interface UsageTrackerConfig {
|
|
14
|
+
enableUsageTracking: boolean;
|
|
15
|
+
usageTier?: string;
|
|
16
|
+
logger: Logxer;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Manages usage tracking for LLM requests
|
|
20
|
+
*/
|
|
21
|
+
export declare class UsageTracker {
|
|
22
|
+
private enabled;
|
|
23
|
+
private logger;
|
|
24
|
+
constructor(config: UsageTrackerConfig);
|
|
25
|
+
/**
|
|
26
|
+
* Extracts token usage from router response
|
|
27
|
+
*
|
|
28
|
+
* @param response - Router response object
|
|
29
|
+
* @returns Token usage breakdown
|
|
30
|
+
*/
|
|
31
|
+
extractTokens(response: LLMResponse): {
|
|
32
|
+
prompt: number;
|
|
33
|
+
completion: number;
|
|
34
|
+
total: number;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Records usage for a request
|
|
38
|
+
*
|
|
39
|
+
* @param params - Usage recording parameters
|
|
40
|
+
*/
|
|
41
|
+
recordUsage(params: {
|
|
42
|
+
timestamp: number;
|
|
43
|
+
duration: number;
|
|
44
|
+
tokens: {
|
|
45
|
+
prompt: number;
|
|
46
|
+
completion: number;
|
|
47
|
+
total: number;
|
|
48
|
+
};
|
|
49
|
+
provider?: string;
|
|
50
|
+
modelId?: string;
|
|
51
|
+
}): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* Calculates consumption for a request
|
|
54
|
+
*
|
|
55
|
+
* @param params - Consumption calculation parameters
|
|
56
|
+
* @returns Consumption data or null if tracking is disabled
|
|
57
|
+
*/
|
|
58
|
+
calculateConsumption(params: {
|
|
59
|
+
latencyMs: number;
|
|
60
|
+
promptTokens: number;
|
|
61
|
+
completionTokens: number;
|
|
62
|
+
provider?: string;
|
|
63
|
+
}): Promise<{
|
|
64
|
+
rpmConsumption: number;
|
|
65
|
+
tpmConsumption: number;
|
|
66
|
+
} | null>;
|
|
67
|
+
/**
|
|
68
|
+
* Logs consumption data for debugging
|
|
69
|
+
*
|
|
70
|
+
* @param jobId - Job ID for logging context
|
|
71
|
+
* @param provider - Provider name
|
|
72
|
+
* @param consumption - Consumption data
|
|
73
|
+
*/
|
|
74
|
+
logConsumption(jobId: string, provider: string, consumption: {
|
|
75
|
+
rpmConsumption: number;
|
|
76
|
+
tpmConsumption: number;
|
|
77
|
+
} | null): void;
|
|
78
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Usage Tracker
|
|
3
|
+
*
|
|
4
|
+
* Manages usage tracking for LLM requests including:
|
|
5
|
+
* - Token counting
|
|
6
|
+
* - Consumption calculation (RPM/TPM)
|
|
7
|
+
* - Usage recording
|
|
8
|
+
*
|
|
9
|
+
* Note: x-models dependency removed - usage tracking functions are permanently disabled
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Manages usage tracking for LLM requests
|
|
13
|
+
*/
|
|
14
|
+
export class UsageTracker {
|
|
15
|
+
enabled;
|
|
16
|
+
logger;
|
|
17
|
+
constructor(config) {
|
|
18
|
+
this.enabled = config.enableUsageTracking;
|
|
19
|
+
this.logger = config.logger;
|
|
20
|
+
// x-models removed - usage tracking initialization disabled
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Extracts token usage from router response
|
|
24
|
+
*
|
|
25
|
+
* @param response - Router response object
|
|
26
|
+
* @returns Token usage breakdown
|
|
27
|
+
*/
|
|
28
|
+
extractTokens(response) {
|
|
29
|
+
return {
|
|
30
|
+
prompt: response.usage?.promptTokens || 0,
|
|
31
|
+
completion: response.usage?.completionTokens || 0,
|
|
32
|
+
total: response.usage?.totalTokens || 0
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Records usage for a request
|
|
37
|
+
*
|
|
38
|
+
* @param params - Usage recording parameters
|
|
39
|
+
*/
|
|
40
|
+
async recordUsage(params) {
|
|
41
|
+
// x-models removed - usage recording disabled
|
|
42
|
+
if (!this.enabled || !params.provider) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
// No-op: usage tracking permanently disabled
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Calculates consumption for a request
|
|
49
|
+
*
|
|
50
|
+
* @param params - Consumption calculation parameters
|
|
51
|
+
* @returns Consumption data or null if tracking is disabled
|
|
52
|
+
*/
|
|
53
|
+
async calculateConsumption(params) {
|
|
54
|
+
// x-models removed - consumption calculation disabled
|
|
55
|
+
if (!this.enabled || !params.provider) {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
// Always return null - usage tracking permanently disabled
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Logs consumption data for debugging
|
|
63
|
+
*
|
|
64
|
+
* @param jobId - Job ID for logging context
|
|
65
|
+
* @param provider - Provider name
|
|
66
|
+
* @param consumption - Consumption data
|
|
67
|
+
*/
|
|
68
|
+
logConsumption(jobId, provider, consumption) {
|
|
69
|
+
if (!consumption) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
this.logger.debug('Usage consumption calculated', {
|
|
73
|
+
jobId,
|
|
74
|
+
provider,
|
|
75
|
+
rpmConsumption: consumption.rpmConsumption.toFixed(2),
|
|
76
|
+
tpmConsumption: consumption.tpmConsumption.toFixed(2)
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|