@revenium/openai 1.0.12 → 1.0.14
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/.env.example +10 -15
- package/CHANGELOG.md +59 -0
- package/CODE_OF_CONDUCT.md +57 -0
- package/CONTRIBUTING.md +38 -0
- package/README.md +109 -515
- package/SECURITY.md +34 -0
- package/dist/cjs/core/client/index.js +14 -0
- package/dist/cjs/core/client/index.js.map +1 -0
- package/dist/cjs/core/client/manager.js +109 -0
- package/dist/cjs/core/client/manager.js.map +1 -0
- package/dist/cjs/core/config/azure-config.js +5 -17
- package/dist/cjs/core/config/azure-config.js.map +1 -1
- package/dist/cjs/core/config/index.js +2 -2
- package/dist/cjs/core/config/index.js.map +1 -1
- package/dist/cjs/core/config/loader.js +34 -14
- package/dist/cjs/core/config/loader.js.map +1 -1
- package/dist/cjs/core/config/manager.js +12 -5
- package/dist/cjs/core/config/manager.js.map +1 -1
- package/dist/cjs/core/config/validator.js +3 -45
- package/dist/cjs/core/config/validator.js.map +1 -1
- package/dist/cjs/core/middleware/index.js +17 -0
- package/dist/cjs/core/middleware/index.js.map +1 -0
- package/dist/cjs/core/middleware/interfaces.js +361 -0
- package/dist/cjs/core/middleware/interfaces.js.map +1 -0
- package/dist/cjs/core/middleware/revenium-client.js +142 -0
- package/dist/cjs/core/middleware/revenium-client.js.map +1 -0
- package/dist/cjs/core/providers/detector.js +45 -23
- package/dist/cjs/core/providers/detector.js.map +1 -1
- package/dist/cjs/core/providers/index.js +2 -1
- package/dist/cjs/core/providers/index.js.map +1 -1
- package/dist/cjs/core/tracking/api-client.js +14 -13
- package/dist/cjs/core/tracking/api-client.js.map +1 -1
- package/dist/cjs/core/tracking/payload-builder.js +30 -35
- package/dist/cjs/core/tracking/payload-builder.js.map +1 -1
- package/dist/cjs/core/tracking/usage-tracker.js +22 -18
- package/dist/cjs/core/tracking/usage-tracker.js.map +1 -1
- package/dist/cjs/index.js +26 -174
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/index.js +0 -8
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/openai-augmentation.js +0 -49
- package/dist/cjs/types/openai-augmentation.js.map +1 -1
- package/dist/cjs/utils/constants.js +17 -20
- package/dist/cjs/utils/constants.js.map +1 -1
- package/dist/cjs/utils/error-handler.js +18 -14
- package/dist/cjs/utils/error-handler.js.map +1 -1
- package/dist/cjs/utils/metadata-builder.js +27 -19
- package/dist/cjs/utils/metadata-builder.js.map +1 -1
- package/dist/cjs/utils/provider-detection.js +25 -28
- package/dist/cjs/utils/provider-detection.js.map +1 -1
- package/dist/cjs/utils/stop-reason-mapper.js +4 -0
- package/dist/cjs/utils/stop-reason-mapper.js.map +1 -1
- package/dist/cjs/utils/url-builder.js +3 -3
- package/dist/esm/core/client/index.js +6 -0
- package/dist/esm/core/client/index.js.map +1 -0
- package/dist/esm/core/client/manager.js +102 -0
- package/dist/esm/core/client/manager.js.map +1 -0
- package/dist/esm/core/config/azure-config.js +6 -18
- package/dist/esm/core/config/azure-config.js.map +1 -1
- package/dist/esm/core/config/index.js +5 -4
- package/dist/esm/core/config/index.js.map +1 -1
- package/dist/esm/core/config/loader.js +33 -13
- package/dist/esm/core/config/loader.js.map +1 -1
- package/dist/esm/core/config/manager.js +14 -7
- package/dist/esm/core/config/manager.js.map +1 -1
- package/dist/esm/core/config/validator.js +3 -44
- package/dist/esm/core/config/validator.js.map +1 -1
- package/dist/esm/core/middleware/index.js +8 -0
- package/dist/esm/core/middleware/index.js.map +1 -0
- package/dist/esm/core/middleware/interfaces.js +353 -0
- package/dist/esm/core/middleware/interfaces.js.map +1 -0
- package/dist/esm/core/middleware/revenium-client.js +105 -0
- package/dist/esm/core/middleware/revenium-client.js.map +1 -0
- package/dist/esm/core/providers/detector.js +43 -22
- package/dist/esm/core/providers/detector.js.map +1 -1
- package/dist/esm/core/providers/index.js +2 -2
- package/dist/esm/core/providers/index.js.map +1 -1
- package/dist/esm/core/tracking/api-client.js +13 -12
- package/dist/esm/core/tracking/api-client.js.map +1 -1
- package/dist/esm/core/tracking/payload-builder.js +31 -36
- package/dist/esm/core/tracking/payload-builder.js.map +1 -1
- package/dist/esm/core/tracking/usage-tracker.js +24 -20
- package/dist/esm/core/tracking/usage-tracker.js.map +1 -1
- package/dist/esm/index.js +9 -157
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/index.js +2 -10
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/types/openai-augmentation.js +0 -49
- package/dist/esm/types/openai-augmentation.js.map +1 -1
- package/dist/esm/utils/constants.js +16 -19
- package/dist/esm/utils/constants.js.map +1 -1
- package/dist/esm/utils/error-handler.js +19 -15
- package/dist/esm/utils/error-handler.js.map +1 -1
- package/dist/esm/utils/metadata-builder.js +27 -19
- package/dist/esm/utils/metadata-builder.js.map +1 -1
- package/dist/esm/utils/provider-detection.js +26 -29
- package/dist/esm/utils/provider-detection.js.map +1 -1
- package/dist/esm/utils/stop-reason-mapper.js +4 -0
- package/dist/esm/utils/stop-reason-mapper.js.map +1 -1
- package/dist/esm/utils/url-builder.js +3 -3
- package/dist/types/core/client/index.d.ts +6 -0
- package/dist/types/core/client/index.d.ts.map +1 -0
- package/dist/types/core/client/manager.d.ts +32 -0
- package/dist/types/core/client/manager.d.ts.map +1 -0
- package/dist/types/core/config/azure-config.d.ts +2 -2
- package/dist/types/core/config/azure-config.d.ts.map +1 -1
- package/dist/types/core/config/index.d.ts +4 -4
- package/dist/types/core/config/index.d.ts.map +1 -1
- package/dist/types/core/config/loader.d.ts +3 -1
- package/dist/types/core/config/loader.d.ts.map +1 -1
- package/dist/types/core/config/manager.d.ts +1 -1
- package/dist/types/core/config/manager.d.ts.map +1 -1
- package/dist/types/core/config/validator.d.ts +1 -12
- package/dist/types/core/config/validator.d.ts.map +1 -1
- package/dist/types/core/middleware/index.d.ts +8 -0
- package/dist/types/core/middleware/index.d.ts.map +1 -0
- package/dist/types/core/middleware/interfaces.d.ts +74 -0
- package/dist/types/core/middleware/interfaces.d.ts.map +1 -0
- package/dist/types/core/middleware/revenium-client.d.ts +58 -0
- package/dist/types/core/middleware/revenium-client.d.ts.map +1 -0
- package/dist/types/core/providers/detector.d.ts +9 -2
- package/dist/types/core/providers/detector.d.ts.map +1 -1
- package/dist/types/core/providers/index.d.ts +2 -2
- package/dist/types/core/providers/index.d.ts.map +1 -1
- package/dist/types/core/tracking/api-client.d.ts +1 -1
- package/dist/types/core/tracking/api-client.d.ts.map +1 -1
- package/dist/types/core/tracking/payload-builder.d.ts +3 -3
- package/dist/types/core/tracking/payload-builder.d.ts.map +1 -1
- package/dist/types/core/tracking/usage-tracker.d.ts +2 -2
- package/dist/types/core/tracking/usage-tracker.d.ts.map +1 -1
- package/dist/types/index.d.ts +11 -114
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types/function-parameters.d.ts +2 -23
- package/dist/types/types/function-parameters.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +17 -115
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/types/openai-augmentation.d.ts +4 -139
- package/dist/types/types/openai-augmentation.d.ts.map +1 -1
- package/dist/types/utils/constants.d.ts +7 -1
- package/dist/types/utils/constants.d.ts.map +1 -1
- package/dist/types/utils/error-handler.d.ts +2 -2
- package/dist/types/utils/error-handler.d.ts.map +1 -1
- package/dist/types/utils/metadata-builder.d.ts +4 -3
- package/dist/types/utils/metadata-builder.d.ts.map +1 -1
- package/dist/types/utils/provider-detection.d.ts +3 -3
- package/dist/types/utils/provider-detection.d.ts.map +1 -1
- package/dist/types/utils/stop-reason-mapper.d.ts.map +1 -1
- package/dist/types/utils/url-builder.d.ts +3 -3
- package/examples/README.md +270 -224
- package/examples/azure/basic.ts +62 -0
- package/examples/azure/responses-basic.ts +45 -0
- package/examples/azure/responses-stream.ts +61 -0
- package/examples/azure/stream.ts +56 -0
- package/examples/getting_started.ts +31 -43
- package/examples/openai/basic.ts +45 -0
- package/examples/openai/metadata.ts +67 -0
- package/examples/openai/responses-basic.ts +44 -0
- package/examples/openai/responses-embed.ts +34 -0
- package/examples/openai/responses-streaming.ts +63 -0
- package/examples/openai/streaming.ts +59 -0
- package/package.json +20 -13
- package/dist/cjs/core/wrapper/index.js +0 -15
- package/dist/cjs/core/wrapper/index.js.map +0 -1
- package/dist/cjs/core/wrapper/instance-patcher.js +0 -202
- package/dist/cjs/core/wrapper/instance-patcher.js.map +0 -1
- package/dist/cjs/core/wrapper/request-handler.js +0 -317
- package/dist/cjs/core/wrapper/request-handler.js.map +0 -1
- package/dist/cjs/core/wrapper/stream-wrapper.js +0 -82
- package/dist/cjs/core/wrapper/stream-wrapper.js.map +0 -1
- package/dist/cjs/utils/azure-model-resolver.js +0 -211
- package/dist/cjs/utils/azure-model-resolver.js.map +0 -1
- package/dist/cjs/utils/request-handler-factory.js +0 -185
- package/dist/cjs/utils/request-handler-factory.js.map +0 -1
- package/dist/esm/core/wrapper/index.js +0 -9
- package/dist/esm/core/wrapper/index.js.map +0 -1
- package/dist/esm/core/wrapper/instance-patcher.js +0 -199
- package/dist/esm/core/wrapper/instance-patcher.js.map +0 -1
- package/dist/esm/core/wrapper/request-handler.js +0 -310
- package/dist/esm/core/wrapper/request-handler.js.map +0 -1
- package/dist/esm/core/wrapper/stream-wrapper.js +0 -79
- package/dist/esm/core/wrapper/stream-wrapper.js.map +0 -1
- package/dist/esm/utils/azure-model-resolver.js +0 -204
- package/dist/esm/utils/azure-model-resolver.js.map +0 -1
- package/dist/esm/utils/request-handler-factory.js +0 -146
- package/dist/esm/utils/request-handler-factory.js.map +0 -1
- package/dist/types/core/wrapper/index.d.ts +0 -8
- package/dist/types/core/wrapper/index.d.ts.map +0 -1
- package/dist/types/core/wrapper/instance-patcher.d.ts +0 -33
- package/dist/types/core/wrapper/instance-patcher.d.ts.map +0 -1
- package/dist/types/core/wrapper/request-handler.d.ts +0 -29
- package/dist/types/core/wrapper/request-handler.d.ts.map +0 -1
- package/dist/types/core/wrapper/stream-wrapper.d.ts +0 -13
- package/dist/types/core/wrapper/stream-wrapper.d.ts.map +0 -1
- package/dist/types/utils/azure-model-resolver.d.ts +0 -41
- package/dist/types/utils/azure-model-resolver.d.ts.map +0 -1
- package/dist/types/utils/request-handler-factory.d.ts +0 -81
- package/dist/types/utils/request-handler-factory.d.ts.map +0 -1
- package/examples/azure-basic.ts +0 -206
- package/examples/azure-responses-basic.ts +0 -233
- package/examples/azure-responses-streaming.ts +0 -255
- package/examples/azure-streaming.ts +0 -209
- package/examples/openai-basic.ts +0 -147
- package/examples/openai-function-calling.ts +0 -259
- package/examples/openai-responses-basic.ts +0 -212
- package/examples/openai-responses-streaming.ts +0 -232
- package/examples/openai-streaming.ts +0 -172
- package/examples/openai-vision.ts +0 -289
- package/src/core/config/azure-config.ts +0 -72
- package/src/core/config/index.ts +0 -23
- package/src/core/config/loader.ts +0 -66
- package/src/core/config/manager.ts +0 -94
- package/src/core/config/validator.ts +0 -89
- package/src/core/providers/detector.ts +0 -159
- package/src/core/providers/index.ts +0 -16
- package/src/core/tracking/api-client.ts +0 -78
- package/src/core/tracking/index.ts +0 -21
- package/src/core/tracking/payload-builder.ts +0 -132
- package/src/core/tracking/usage-tracker.ts +0 -189
- package/src/core/wrapper/index.ts +0 -9
- package/src/core/wrapper/instance-patcher.ts +0 -288
- package/src/core/wrapper/request-handler.ts +0 -423
- package/src/core/wrapper/stream-wrapper.ts +0 -100
- package/src/index.ts +0 -336
- package/src/types/function-parameters.ts +0 -251
- package/src/types/index.ts +0 -313
- package/src/types/openai-augmentation.ts +0 -233
- package/src/types/responses-api.ts +0 -308
- package/src/utils/azure-model-resolver.ts +0 -220
- package/src/utils/constants.ts +0 -21
- package/src/utils/error-handler.ts +0 -251
- package/src/utils/metadata-builder.ts +0 -219
- package/src/utils/provider-detection.ts +0 -257
- package/src/utils/request-handler-factory.ts +0 -285
- package/src/utils/stop-reason-mapper.ts +0 -74
- package/src/utils/type-guards.ts +0 -202
- package/src/utils/url-builder.ts +0 -68
|
@@ -1,21 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
'gpt-3.5-turbo',
|
|
9
|
-
'gpt-3.5-turbo-instruct',
|
|
10
|
-
'text-embedding-3-large',
|
|
11
|
-
'text-embedding-3-small',
|
|
12
|
-
'text-embedding-ada-002',
|
|
13
|
-
'dall-e-3',
|
|
14
|
-
'dall-e-2',
|
|
15
|
-
'whisper-1',
|
|
16
|
-
'tts-1',
|
|
17
|
-
'tts-1-hd'
|
|
1
|
+
/**
|
|
2
|
+
* Error message patterns for network-related errors
|
|
3
|
+
*/
|
|
4
|
+
export const MESSAGE_PATTERNS_TYPE_NETWORK = [
|
|
5
|
+
"network",
|
|
6
|
+
"timeout",
|
|
7
|
+
"ECONNRESET",
|
|
18
8
|
];
|
|
19
|
-
|
|
20
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Error message patterns for configuration-related errors
|
|
11
|
+
*/
|
|
12
|
+
export const ERROR_MESSAGE_PATTERNS_TYPE_CONFIG = [
|
|
13
|
+
"config",
|
|
14
|
+
"key",
|
|
15
|
+
"unauthorized",
|
|
16
|
+
];
|
|
17
|
+
export const DEFAULT_REVENIUM_BASE_URL = "https://api.revenium.ai";
|
|
21
18
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,SAAS;IACT,SAAS;IACT,YAAY;CACb,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,QAAQ;IACR,KAAK;IACL,cAAc;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,yBAAyB,CAAC"}
|
|
@@ -4,16 +4,16 @@
|
|
|
4
4
|
* Centralized error handling patterns to eliminate repetitive try/catch blocks
|
|
5
5
|
* and provide consistent error logging and recovery strategies.
|
|
6
6
|
*/
|
|
7
|
-
import { ERROR_MESSAGE_PATTERNS_TYPE_CONFIG, MESSAGE_PATTERNS_TYPE_NETWORK } from
|
|
7
|
+
import { ERROR_MESSAGE_PATTERNS_TYPE_CONFIG, MESSAGE_PATTERNS_TYPE_NETWORK, } from "./constants.js";
|
|
8
8
|
/**
|
|
9
9
|
* Default error handling strategy
|
|
10
10
|
*/
|
|
11
11
|
const DEFAULT_STRATEGY = {
|
|
12
12
|
logError: true,
|
|
13
13
|
rethrow: true,
|
|
14
|
-
messagePrefix:
|
|
14
|
+
messagePrefix: "",
|
|
15
15
|
fallbackValue: undefined,
|
|
16
|
-
transformError: (error) =>
|
|
16
|
+
transformError: (error) => error instanceof Error ? error : new Error(String(error)),
|
|
17
17
|
};
|
|
18
18
|
/**
|
|
19
19
|
* Safe async operation wrapper with comprehensive error handling
|
|
@@ -126,7 +126,7 @@ export async function withRetry(operation, maxRetries = 3, delayMs = 1000, logge
|
|
|
126
126
|
nextRetryIn: delayMs,
|
|
127
127
|
});
|
|
128
128
|
}
|
|
129
|
-
await new Promise(resolve => setTimeout(resolve, delayMs));
|
|
129
|
+
await new Promise((resolve) => setTimeout(resolve, delayMs));
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
132
|
// eslint-disable-next-line no-throw-literal
|
|
@@ -139,21 +139,21 @@ export class ValidationError extends Error {
|
|
|
139
139
|
constructor(message, context) {
|
|
140
140
|
super(message);
|
|
141
141
|
this.context = context;
|
|
142
|
-
this.name =
|
|
142
|
+
this.name = "ValidationError";
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
145
|
export class ConfigurationError extends Error {
|
|
146
146
|
constructor(message, context) {
|
|
147
147
|
super(message);
|
|
148
148
|
this.context = context;
|
|
149
|
-
this.name =
|
|
149
|
+
this.name = "ConfigurationError";
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
152
|
export class NetworkError extends Error {
|
|
153
153
|
constructor(message, context) {
|
|
154
154
|
super(message);
|
|
155
155
|
this.context = context;
|
|
156
|
-
this.name =
|
|
156
|
+
this.name = "NetworkError";
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
/**
|
|
@@ -161,22 +161,26 @@ export class NetworkError extends Error {
|
|
|
161
161
|
*/
|
|
162
162
|
export function classifyError(error) {
|
|
163
163
|
if (error instanceof ValidationError) {
|
|
164
|
-
return { type:
|
|
164
|
+
return { type: "validation", message: error.message, isRetryable: false };
|
|
165
165
|
}
|
|
166
166
|
if (error instanceof ConfigurationError) {
|
|
167
|
-
return {
|
|
167
|
+
return {
|
|
168
|
+
type: "configuration",
|
|
169
|
+
message: error.message,
|
|
170
|
+
isRetryable: false,
|
|
171
|
+
};
|
|
168
172
|
}
|
|
169
173
|
if (error instanceof NetworkError) {
|
|
170
|
-
return { type:
|
|
174
|
+
return { type: "network", message: error.message, isRetryable: true };
|
|
171
175
|
}
|
|
172
176
|
const message = error instanceof Error ? error.message : String(error);
|
|
173
177
|
// Classify based on message patterns
|
|
174
|
-
if (MESSAGE_PATTERNS_TYPE_NETWORK.some(pattern => message.includes(pattern))) {
|
|
175
|
-
return { type:
|
|
178
|
+
if (MESSAGE_PATTERNS_TYPE_NETWORK.some((pattern) => message.includes(pattern))) {
|
|
179
|
+
return { type: "network", message, isRetryable: true };
|
|
176
180
|
}
|
|
177
|
-
if (ERROR_MESSAGE_PATTERNS_TYPE_CONFIG.some(pattern => message.includes(pattern))) {
|
|
178
|
-
return { type:
|
|
181
|
+
if (ERROR_MESSAGE_PATTERNS_TYPE_CONFIG.some((pattern) => message.includes(pattern))) {
|
|
182
|
+
return { type: "configuration", message, isRetryable: false };
|
|
179
183
|
}
|
|
180
|
-
return { type:
|
|
184
|
+
return { type: "unknown", message, isRetryable: false };
|
|
181
185
|
}
|
|
182
186
|
//# sourceMappingURL=error-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../../src/utils/error-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../../src/utils/error-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,18 +10,18 @@
|
|
|
10
10
|
* Subscriber object is passed through directly without transformation
|
|
11
11
|
*/
|
|
12
12
|
const METADATA_FIELD_MAP = [
|
|
13
|
-
{ source:
|
|
14
|
-
{ source:
|
|
15
|
-
{ source:
|
|
16
|
-
{ source:
|
|
17
|
-
{ source:
|
|
18
|
-
{ source:
|
|
19
|
-
{ source:
|
|
13
|
+
{ source: "traceId" },
|
|
14
|
+
{ source: "taskType" },
|
|
15
|
+
{ source: "agent" },
|
|
16
|
+
{ source: "organizationId" },
|
|
17
|
+
{ source: "productId" },
|
|
18
|
+
{ source: "subscriber" }, // Pass through nested subscriber object directly
|
|
19
|
+
{ source: "subscriptionId" },
|
|
20
20
|
{
|
|
21
|
-
source:
|
|
21
|
+
source: "responseQualityScore",
|
|
22
22
|
transform: (value) => {
|
|
23
|
-
// Ensure quality score is between 0 and 1
|
|
24
|
-
if (typeof value ===
|
|
23
|
+
// Ensure quality score is between 0.0 and 1.0 (API spec requirement)
|
|
24
|
+
if (typeof value === "number")
|
|
25
25
|
return Math.max(0, Math.min(1, value));
|
|
26
26
|
return value;
|
|
27
27
|
},
|
|
@@ -69,7 +69,7 @@ export function validateMetadata(usageMetadata, requiredFields = []) {
|
|
|
69
69
|
return {
|
|
70
70
|
isValid: false,
|
|
71
71
|
missingFields: requiredFields,
|
|
72
|
-
warnings: [
|
|
72
|
+
warnings: ["No metadata provided"],
|
|
73
73
|
};
|
|
74
74
|
}
|
|
75
75
|
if (usageMetadata) {
|
|
@@ -81,12 +81,15 @@ export function validateMetadata(usageMetadata, requiredFields = []) {
|
|
|
81
81
|
// Check for common issues
|
|
82
82
|
if (usageMetadata.responseQualityScore) {
|
|
83
83
|
const score = usageMetadata.responseQualityScore;
|
|
84
|
-
|
|
85
|
-
|
|
84
|
+
// API Spec: https://revenium.readme.io/reference/meter_ai_completion (responseQualityScore)
|
|
85
|
+
// "typically on a 0.0-1.0 scale"
|
|
86
|
+
if (typeof score !== "number" || score < 0 || score > 1) {
|
|
87
|
+
warnings.push("responseQualityScore should be a number between 0.0 and 1.0");
|
|
86
88
|
}
|
|
87
89
|
}
|
|
88
|
-
if (usageMetadata.subscriber?.email &&
|
|
89
|
-
|
|
90
|
+
if (usageMetadata.subscriber?.email &&
|
|
91
|
+
!usageMetadata.subscriber.email.includes("@")) {
|
|
92
|
+
warnings.push("subscriber.email does not appear to be a valid email address");
|
|
90
93
|
}
|
|
91
94
|
}
|
|
92
95
|
return {
|
|
@@ -125,18 +128,22 @@ export function extractMetadata(params) {
|
|
|
125
128
|
}
|
|
126
129
|
/**
|
|
127
130
|
* Create a metadata context for consistent logging
|
|
131
|
+
* Uses sanitization to protect PII (emails are masked)
|
|
128
132
|
*
|
|
129
133
|
* @param usageMetadata - Source metadata
|
|
130
|
-
* @returns Logging context object
|
|
134
|
+
* @returns Logging context object with sanitized PII
|
|
131
135
|
*/
|
|
132
136
|
export function createLoggingContext(usageMetadata) {
|
|
133
137
|
if (!usageMetadata)
|
|
134
138
|
return {};
|
|
139
|
+
// Use sanitizer to protect PII in logs
|
|
140
|
+
const sanitized = sanitizeMetadataForLogging(usageMetadata);
|
|
141
|
+
const sanitizedSubscriber = sanitized.subscriber;
|
|
135
142
|
return {
|
|
136
143
|
traceId: usageMetadata.traceId,
|
|
137
144
|
taskType: usageMetadata.taskType,
|
|
138
145
|
subscriberId: usageMetadata.subscriber?.id,
|
|
139
|
-
subscriberEmail:
|
|
146
|
+
subscriberEmail: sanitizedSubscriber?.email, // ← Now masked: us***@example.com
|
|
140
147
|
organizationId: usageMetadata.organizationId,
|
|
141
148
|
productId: usageMetadata.productId,
|
|
142
149
|
agent: usageMetadata.agent,
|
|
@@ -161,12 +168,13 @@ export function sanitizeMetadataForLogging(usageMetadata) {
|
|
|
161
168
|
sanitizedSubscriber.id = subscriber.id;
|
|
162
169
|
}
|
|
163
170
|
if (subscriber.email) {
|
|
164
|
-
|
|
171
|
+
// Mask email: handles single-char emails (a@x.com → a***@x.com)
|
|
172
|
+
sanitizedSubscriber.email = subscriber.email.replace(/(.{1,2}).*(@.*)/, "$1***$2");
|
|
165
173
|
}
|
|
166
174
|
if (subscriber.credential) {
|
|
167
175
|
sanitizedSubscriber.credential = {
|
|
168
176
|
name: subscriber.credential.name,
|
|
169
|
-
value:
|
|
177
|
+
value: "[REDACTED]",
|
|
170
178
|
};
|
|
171
179
|
}
|
|
172
180
|
result.subscriber = sanitizedSubscriber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-builder.js","sourceRoot":"","sources":["../../../src/utils/metadata-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH;;;;GAIG;AACH,MAAM,kBAAkB,GAA0B;IAChD,EAAE,MAAM,EAAE,SAAS,EAAE;IACrB,EAAE,MAAM,EAAE,UAAU,EAAE;IACtB,EAAE,MAAM,EAAE,OAAO,EAAE;IACnB,EAAE,MAAM,EAAE,gBAAgB,EAAE;IAC5B,EAAE,MAAM,EAAE,WAAW,EAAE;IACvB,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,iDAAiD;IAC3E,EAAE,MAAM,EAAE,gBAAgB,EAAE;IAC5B;QACE,MAAM,EAAE,sBAAsB;QAC9B,SAAS,EAAE,CAAC,KAAc,EAAE,EAAE;YAC5B,
|
|
1
|
+
{"version":3,"file":"metadata-builder.js","sourceRoot":"","sources":["../../../src/utils/metadata-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,46 +4,45 @@
|
|
|
4
4
|
* Simplifies complex provider detection logic using strategy pattern
|
|
5
5
|
* instead of nested conditionals.
|
|
6
6
|
*/
|
|
7
|
-
import { Provider } from
|
|
7
|
+
import { Provider } from "../types/index.js";
|
|
8
8
|
/**
|
|
9
9
|
* Provider detection strategies in priority order
|
|
10
10
|
*/
|
|
11
11
|
const DETECTION_STRATEGIES = [
|
|
12
12
|
{
|
|
13
|
-
name:
|
|
13
|
+
name: "Constructor Name",
|
|
14
14
|
priority: 100,
|
|
15
|
-
detect: client => {
|
|
16
|
-
return client?.constructor?.name?.includes(
|
|
15
|
+
detect: (client) => {
|
|
16
|
+
return client?.constructor?.name?.includes("Azure") || false;
|
|
17
17
|
},
|
|
18
|
-
getContext: client => ({
|
|
18
|
+
getContext: (client) => ({
|
|
19
19
|
constructorName: client?.constructor?.name,
|
|
20
20
|
}),
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
|
-
name:
|
|
23
|
+
name: "Base URL",
|
|
24
24
|
priority: 90,
|
|
25
|
-
detect: client => {
|
|
25
|
+
detect: (client) => {
|
|
26
26
|
const baseUrl = getBaseUrlString(client);
|
|
27
|
-
return baseUrl?.toLowerCase().includes(
|
|
27
|
+
return baseUrl?.toLowerCase().includes("azure") || false;
|
|
28
28
|
},
|
|
29
|
-
getContext: client => ({
|
|
29
|
+
getContext: (client) => ({
|
|
30
30
|
baseURL: getBaseUrlString(client),
|
|
31
31
|
}),
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
|
-
name:
|
|
34
|
+
name: "Environment Variables",
|
|
35
35
|
priority: 80,
|
|
36
|
-
detect: client => {
|
|
36
|
+
detect: (client) => {
|
|
37
37
|
// Only use env vars if not explicitly OpenAI
|
|
38
38
|
const baseUrl = getBaseUrlString(client);
|
|
39
|
-
const isExplicitlyOpenAI = baseUrl?.includes(
|
|
40
|
-
(client?.constructor?.name?.toLowerCase().includes(
|
|
41
|
-
!client?.constructor?.name?.toLowerCase().includes(
|
|
39
|
+
const isExplicitlyOpenAI = baseUrl?.includes("api.openai.com") ||
|
|
40
|
+
(client?.constructor?.name?.toLowerCase().includes("openai") &&
|
|
41
|
+
!client?.constructor?.name?.toLowerCase().includes("azure"));
|
|
42
42
|
return !isExplicitlyOpenAI && !!process.env.AZURE_OPENAI_ENDPOINT;
|
|
43
43
|
},
|
|
44
44
|
getContext: () => ({
|
|
45
45
|
hasAzureEndpoint: !!process.env.AZURE_OPENAI_ENDPOINT,
|
|
46
|
-
hasAzureDeployment: !!process.env.AZURE_OPENAI_DEPLOYMENT,
|
|
47
46
|
hasAzureApiKey: !!process.env.AZURE_OPENAI_API_KEY,
|
|
48
47
|
}),
|
|
49
48
|
},
|
|
@@ -54,7 +53,9 @@ const DETECTION_STRATEGIES = [
|
|
|
54
53
|
function getBaseUrlString(client) {
|
|
55
54
|
if (!client?.baseURL)
|
|
56
55
|
return undefined;
|
|
57
|
-
return typeof client.baseURL ===
|
|
56
|
+
return typeof client.baseURL === "string"
|
|
57
|
+
? client.baseURL
|
|
58
|
+
: client.baseURL.toString();
|
|
58
59
|
}
|
|
59
60
|
/**
|
|
60
61
|
* Detect provider using strategy pattern
|
|
@@ -93,27 +94,24 @@ export function detectProviderStrategy(client, logger) {
|
|
|
93
94
|
}
|
|
94
95
|
// Default to OpenAI
|
|
95
96
|
if (logger) {
|
|
96
|
-
logger.debug(
|
|
97
|
+
logger.debug("Standard OpenAI provider detected (no Azure indicators found)");
|
|
97
98
|
}
|
|
98
99
|
return { provider: Provider.OPENAI };
|
|
99
100
|
}
|
|
100
101
|
const AZURE_CONFIG_STRATEGIES = [
|
|
101
102
|
{
|
|
102
|
-
name:
|
|
103
|
-
gather: client => {
|
|
103
|
+
name: "Client BaseURL",
|
|
104
|
+
gather: (client) => {
|
|
104
105
|
const baseUrl = getBaseUrlString(client);
|
|
105
106
|
return baseUrl ? { endpoint: baseUrl } : {};
|
|
106
107
|
},
|
|
107
108
|
},
|
|
108
109
|
{
|
|
109
|
-
name:
|
|
110
|
+
name: "Environment Variables",
|
|
110
111
|
gather: () => ({
|
|
111
112
|
endpoint: process.env.AZURE_OPENAI_ENDPOINT,
|
|
112
|
-
|
|
113
|
-
apiVersion: process.env.AZURE_OPENAI_API_VERSION || '2024-12-01-preview',
|
|
113
|
+
apiVersion: process.env.AZURE_OPENAI_API_VERSION,
|
|
114
114
|
apiKey: process.env.AZURE_OPENAI_API_KEY,
|
|
115
|
-
tenantId: process.env.AZURE_OPENAI_TENANT_ID,
|
|
116
|
-
resourceGroup: process.env.AZURE_OPENAI_RESOURCE_GROUP,
|
|
117
115
|
}),
|
|
118
116
|
},
|
|
119
117
|
];
|
|
@@ -145,9 +143,8 @@ export function gatherAzureConfigStrategy(client, logger) {
|
|
|
145
143
|
}
|
|
146
144
|
}
|
|
147
145
|
if (logger) {
|
|
148
|
-
logger.debug(
|
|
146
|
+
logger.debug("Azure configuration gathered", {
|
|
149
147
|
hasEndpoint: !!config.endpoint,
|
|
150
|
-
hasDeployment: !!config.deployment,
|
|
151
148
|
hasApiKey: !!config.apiKey,
|
|
152
149
|
apiVersion: config.apiVersion,
|
|
153
150
|
});
|
|
@@ -187,14 +184,14 @@ export function validateProviderInfo(providerInfo) {
|
|
|
187
184
|
const warnings = [];
|
|
188
185
|
if (providerInfo.isAzure) {
|
|
189
186
|
if (!providerInfo.azureConfig) {
|
|
190
|
-
warnings.push(
|
|
187
|
+
warnings.push("Azure provider detected but no Azure configuration available");
|
|
191
188
|
}
|
|
192
189
|
else {
|
|
193
190
|
if (!providerInfo.azureConfig.endpoint) {
|
|
194
|
-
warnings.push(
|
|
191
|
+
warnings.push("Azure configuration missing endpoint");
|
|
195
192
|
}
|
|
196
193
|
if (!providerInfo.azureConfig.apiKey) {
|
|
197
|
-
warnings.push(
|
|
194
|
+
warnings.push("Azure configuration missing API key");
|
|
198
195
|
}
|
|
199
196
|
}
|
|
200
197
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-detection.js","sourceRoot":"","sources":["../../../src/utils/provider-detection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAA6B,MAAM,mBAAmB,CAAC;AAkBxE;;GAEG;AACH,MAAM,oBAAoB,GAAgC;IACxD;QACE,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE,GAAG;QACb,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"provider-detection.js","sourceRoot":"","sources":["../../../src/utils/provider-detection.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,8 +17,12 @@ const STOP_REASON_MAP = {
|
|
|
17
17
|
timeout: 'TIMEOUT',
|
|
18
18
|
length: 'TOKEN_LIMIT',
|
|
19
19
|
max_tokens: 'TOKEN_LIMIT',
|
|
20
|
+
cost_limit: 'COST_LIMIT',
|
|
21
|
+
completion_limit: 'COMPLETION_LIMIT',
|
|
20
22
|
content_filter: 'ERROR',
|
|
21
23
|
error: 'ERROR',
|
|
24
|
+
cancelled: 'CANCELLED',
|
|
25
|
+
canceled: 'CANCELLED', // Handle both spellings
|
|
22
26
|
// Anthropic stop reasons (for consistency across middleware)
|
|
23
27
|
end_turn: 'END',
|
|
24
28
|
stop_sequence: 'END_SEQUENCE',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop-reason-mapper.js","sourceRoot":"","sources":["../../../src/utils/stop-reason-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;GAGG;AACH,MAAM,eAAe,GAA2B;IAC9C,mCAAmC;IACnC,IAAI,EAAE,KAAK;IACX,aAAa,EAAE,cAAc;IAC7B,UAAU,EAAE,cAAc;IAC1B,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,aAAa;IACrB,UAAU,EAAE,aAAa;IACzB,cAAc,EAAE,OAAO;IACvB,KAAK,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"stop-reason-mapper.js","sourceRoot":"","sources":["../../../src/utils/stop-reason-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;GAGG;AACH,MAAM,eAAe,GAA2B;IAC9C,mCAAmC;IACnC,IAAI,EAAE,KAAK;IACX,aAAa,EAAE,cAAc;IAC7B,UAAU,EAAE,cAAc;IAC1B,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,aAAa;IACrB,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,YAAY;IACxB,gBAAgB,EAAE,kBAAkB;IACpC,cAAc,EAAE,OAAO;IACvB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,WAAW,EAAG,wBAAwB;IAEhD,6DAA6D;IAC7D,QAAQ,EAAE,KAAK;IACf,aAAa,EAAE,cAAc;IAC7B,QAAQ,EAAE,cAAc;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAElC;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,kBAA6C,EAC7C,MAA4D;IAE5D,IAAI,CAAC,kBAAkB;QAAE,OAAO,mBAAmB,CAAC;IACpD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAC;IAC1D,MAAM,YAAY,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC;IAEvD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,mEAAmE;QACnE,MAAM,EAAE,IAAI,CAAC,wBAAwB,kBAAkB,gBAAgB,mBAAmB,EAAE,CAAC,CAAC;QAC9F,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAc;IAClD,OAAO,MAAM,CAAC,WAAW,EAAE,IAAI,eAAe,CAAC;AACjD,CAAC"}
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
* - If URL has neither → append /meter/v2 and endpoint
|
|
15
15
|
*
|
|
16
16
|
* Examples:
|
|
17
|
-
* - 'https://api.revenium.
|
|
18
|
-
* - 'https://api.revenium.
|
|
19
|
-
* - 'https://api.revenium.
|
|
17
|
+
* - 'https://api.revenium.ai' + '/ai/completions' → 'https://api.revenium.ai/meter/v2/ai/completions'
|
|
18
|
+
* - 'https://api.revenium.ai/meter' + '/ai/completions' → 'https://api.revenium.ai/meter/v2/ai/completions'
|
|
19
|
+
* - 'https://api.revenium.ai/meter/v2' + '/ai/completions' → 'https://api.revenium.ai/meter/v2/ai/completions'
|
|
20
20
|
*
|
|
21
21
|
* @param baseUrl - The base URL from configuration (may include /meter or /meter/v2)
|
|
22
22
|
* @param endpoint - The API endpoint to append (e.g., '/ai/completions')
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/client/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,UAAU,EACV,SAAS,EACT,aAAa,EACb,KAAK,EACL,SAAS,GACV,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client Manager
|
|
3
|
+
*/
|
|
4
|
+
import { ReveniumOpenAI } from "../middleware/revenium-client.js";
|
|
5
|
+
import { Config } from "../../types";
|
|
6
|
+
/**
|
|
7
|
+
* Initialize - Initialize Revenium client
|
|
8
|
+
* Can be called with explicit config or will load from environment variables.
|
|
9
|
+
* @param config - Optional configuration. If not provided, loads from environment.
|
|
10
|
+
*/
|
|
11
|
+
export declare function Initialize(config?: Partial<Config>): void;
|
|
12
|
+
/**
|
|
13
|
+
* GetClient - Get the global Revenium client
|
|
14
|
+
* @returns The global ReveniumOpenAI client
|
|
15
|
+
* @throws Error if client is not initialized
|
|
16
|
+
*/
|
|
17
|
+
export declare function GetClient(): ReveniumOpenAI;
|
|
18
|
+
/**
|
|
19
|
+
* IsInitialized - Check if client is initialized
|
|
20
|
+
* @returns true if client is initialized, false otherwise
|
|
21
|
+
*/
|
|
22
|
+
export declare function IsInitialized(): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Reset - Reset the global client
|
|
25
|
+
*/
|
|
26
|
+
export declare function Reset(): void;
|
|
27
|
+
/**
|
|
28
|
+
* Configure - Alias for Initialize
|
|
29
|
+
* @param config - Configuration object
|
|
30
|
+
*/
|
|
31
|
+
export declare function Configure(config: Partial<Config>): void;
|
|
32
|
+
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/core/client/manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAiBrC;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CA0DzD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,IAAI,cAAc,CAW1C;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;GAEG;AACH,wBAAgB,KAAK,IAAI,IAAI,CAG5B;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAEvD"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Handles Azure-specific configuration logic.
|
|
5
5
|
* Extracted from provider.ts for better separation of concerns.
|
|
6
6
|
*/
|
|
7
|
-
import { AzureConfig } from
|
|
8
|
-
import { OpenAIClientInstance } from
|
|
7
|
+
import { AzureConfig } from "../../types";
|
|
8
|
+
import { OpenAIClientInstance } from "../../types/function-parameters.js";
|
|
9
9
|
/**
|
|
10
10
|
* Gather Azure configuration from client and environment
|
|
11
11
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"azure-config.d.ts","sourceRoot":"","sources":["../../../../src/core/config/azure-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"azure-config.d.ts","sourceRoot":"","sources":["../../../../src/core/config/azure-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAM1E;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,WAAW,CAqC3E"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* This module provides a clean interface for configuration management,
|
|
5
5
|
* separating concerns into focused sub-modules.
|
|
6
6
|
*/
|
|
7
|
-
export { loadConfigFromEnv, loadAzureConfigFromEnv, hasAzureConfigInEnv } from
|
|
8
|
-
export { validateConfig
|
|
9
|
-
export { getConfig, setConfig, getLogger, setLogger, initializeConfig, defaultLogger, } from
|
|
10
|
-
export * from
|
|
7
|
+
export { loadConfigFromEnv, loadAzureConfigFromEnv, hasAzureConfigInEnv, } from "./loader.js";
|
|
8
|
+
export { validateConfig } from "./validator.js";
|
|
9
|
+
export { getConfig, setConfig, getLogger, setLogger, initializeConfig, defaultLogger, } from "./manager.js";
|
|
10
|
+
export * from "./azure-config.js";
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/config/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/config/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,aAAa,GACd,MAAM,cAAc,CAAC;AAGtB,cAAc,mBAAmB,CAAC"}
|
|
@@ -4,13 +4,15 @@
|
|
|
4
4
|
* Handles loading configuration from environment variables.
|
|
5
5
|
* Separated from validation and management for single responsibility.
|
|
6
6
|
*/
|
|
7
|
-
import { ReveniumConfig, AzureConfig } from
|
|
7
|
+
import { ReveniumConfig, AzureConfig } from "../../types";
|
|
8
8
|
/**
|
|
9
9
|
* Load configuration from environment variables
|
|
10
|
+
* Automatically loads .env files first
|
|
10
11
|
*/
|
|
11
12
|
export declare function loadConfigFromEnv(): ReveniumConfig | null;
|
|
12
13
|
/**
|
|
13
14
|
* Load Azure configuration from environment variables
|
|
15
|
+
* Automatically loads .env files first
|
|
14
16
|
*/
|
|
15
17
|
export declare function loadAzureConfigFromEnv(): AzureConfig | null;
|
|
16
18
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../src/core/config/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../src/core/config/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAkC1D;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,IAAI,CAiBzD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,WAAW,GAAG,IAAI,CAc3D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAI7C"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Handles global configuration state management and logging.
|
|
5
5
|
* Separated from loading and validation for single responsibility.
|
|
6
6
|
*/
|
|
7
|
-
import { ReveniumConfig, Logger } from
|
|
7
|
+
import { ReveniumConfig, Logger } from "../../types";
|
|
8
8
|
/**
|
|
9
9
|
* Default console logger implementation
|
|
10
10
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/core/config/manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/core/config/manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAQrD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAgB3B,CAAC;AAQF;;GAEG;AACH,wBAAgB,SAAS,IAAI,cAAc,GAAG,IAAI,CAEjD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAQtD;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAgC1C"}
|
|
@@ -4,20 +4,9 @@
|
|
|
4
4
|
* Handles validation of configuration objects.
|
|
5
5
|
* Separated from loading and management for single responsibility.
|
|
6
6
|
*/
|
|
7
|
-
import { ReveniumConfig
|
|
7
|
+
import { ReveniumConfig } from "../../types";
|
|
8
8
|
/**
|
|
9
9
|
* Validate Revenium configuration
|
|
10
10
|
*/
|
|
11
11
|
export declare function validateConfig(config: ReveniumConfig): void;
|
|
12
|
-
/**
|
|
13
|
-
* Validate Azure configuration completeness
|
|
14
|
-
*
|
|
15
|
-
* @param config - Azure configuration to validate
|
|
16
|
-
* @returns validation result with missing fields
|
|
17
|
-
*/
|
|
18
|
-
export declare function validateAzureConfig(config: AzureConfig): {
|
|
19
|
-
isValid: boolean;
|
|
20
|
-
missingFields: string[];
|
|
21
|
-
warnings: string[];
|
|
22
|
-
};
|
|
23
12
|
//# sourceMappingURL=validator.d.ts.map
|