@revenium/openai 1.0.13 → 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.
Files changed (228) hide show
  1. package/.env.example +10 -15
  2. package/CHANGELOG.md +44 -11
  3. package/CODE_OF_CONDUCT.md +57 -0
  4. package/CONTRIBUTING.md +38 -0
  5. package/README.md +104 -216
  6. package/SECURITY.md +34 -0
  7. package/dist/cjs/core/client/index.js +14 -0
  8. package/dist/cjs/core/client/index.js.map +1 -0
  9. package/dist/cjs/core/client/manager.js +109 -0
  10. package/dist/cjs/core/client/manager.js.map +1 -0
  11. package/dist/cjs/core/config/azure-config.js +5 -17
  12. package/dist/cjs/core/config/azure-config.js.map +1 -1
  13. package/dist/cjs/core/config/index.js +2 -2
  14. package/dist/cjs/core/config/index.js.map +1 -1
  15. package/dist/cjs/core/config/loader.js +34 -14
  16. package/dist/cjs/core/config/loader.js.map +1 -1
  17. package/dist/cjs/core/config/manager.js +11 -5
  18. package/dist/cjs/core/config/manager.js.map +1 -1
  19. package/dist/cjs/core/config/validator.js +3 -45
  20. package/dist/cjs/core/config/validator.js.map +1 -1
  21. package/dist/cjs/core/middleware/index.js +17 -0
  22. package/dist/cjs/core/middleware/index.js.map +1 -0
  23. package/dist/cjs/core/middleware/interfaces.js +361 -0
  24. package/dist/cjs/core/middleware/interfaces.js.map +1 -0
  25. package/dist/cjs/core/middleware/revenium-client.js +142 -0
  26. package/dist/cjs/core/middleware/revenium-client.js.map +1 -0
  27. package/dist/cjs/core/providers/detector.js +45 -23
  28. package/dist/cjs/core/providers/detector.js.map +1 -1
  29. package/dist/cjs/core/providers/index.js +2 -1
  30. package/dist/cjs/core/providers/index.js.map +1 -1
  31. package/dist/cjs/core/tracking/api-client.js +14 -13
  32. package/dist/cjs/core/tracking/api-client.js.map +1 -1
  33. package/dist/cjs/core/tracking/payload-builder.js +15 -25
  34. package/dist/cjs/core/tracking/payload-builder.js.map +1 -1
  35. package/dist/cjs/core/tracking/usage-tracker.js +22 -18
  36. package/dist/cjs/core/tracking/usage-tracker.js.map +1 -1
  37. package/dist/cjs/index.js +26 -195
  38. package/dist/cjs/index.js.map +1 -1
  39. package/dist/cjs/types/index.js +0 -8
  40. package/dist/cjs/types/index.js.map +1 -1
  41. package/dist/cjs/types/openai-augmentation.js +0 -49
  42. package/dist/cjs/types/openai-augmentation.js.map +1 -1
  43. package/dist/cjs/utils/constants.js +17 -20
  44. package/dist/cjs/utils/constants.js.map +1 -1
  45. package/dist/cjs/utils/error-handler.js +18 -14
  46. package/dist/cjs/utils/error-handler.js.map +1 -1
  47. package/dist/cjs/utils/metadata-builder.js +17 -16
  48. package/dist/cjs/utils/metadata-builder.js.map +1 -1
  49. package/dist/cjs/utils/provider-detection.js +25 -28
  50. package/dist/cjs/utils/provider-detection.js.map +1 -1
  51. package/dist/esm/core/client/index.js +6 -0
  52. package/dist/esm/core/client/index.js.map +1 -0
  53. package/dist/esm/core/client/manager.js +102 -0
  54. package/dist/esm/core/client/manager.js.map +1 -0
  55. package/dist/esm/core/config/azure-config.js +6 -18
  56. package/dist/esm/core/config/azure-config.js.map +1 -1
  57. package/dist/esm/core/config/index.js +5 -4
  58. package/dist/esm/core/config/index.js.map +1 -1
  59. package/dist/esm/core/config/loader.js +33 -13
  60. package/dist/esm/core/config/loader.js.map +1 -1
  61. package/dist/esm/core/config/manager.js +13 -7
  62. package/dist/esm/core/config/manager.js.map +1 -1
  63. package/dist/esm/core/config/validator.js +3 -44
  64. package/dist/esm/core/config/validator.js.map +1 -1
  65. package/dist/esm/core/middleware/index.js +8 -0
  66. package/dist/esm/core/middleware/index.js.map +1 -0
  67. package/dist/esm/core/middleware/interfaces.js +353 -0
  68. package/dist/esm/core/middleware/interfaces.js.map +1 -0
  69. package/dist/esm/core/middleware/revenium-client.js +105 -0
  70. package/dist/esm/core/middleware/revenium-client.js.map +1 -0
  71. package/dist/esm/core/providers/detector.js +43 -22
  72. package/dist/esm/core/providers/detector.js.map +1 -1
  73. package/dist/esm/core/providers/index.js +2 -2
  74. package/dist/esm/core/providers/index.js.map +1 -1
  75. package/dist/esm/core/tracking/api-client.js +13 -12
  76. package/dist/esm/core/tracking/api-client.js.map +1 -1
  77. package/dist/esm/core/tracking/payload-builder.js +16 -26
  78. package/dist/esm/core/tracking/payload-builder.js.map +1 -1
  79. package/dist/esm/core/tracking/usage-tracker.js +24 -20
  80. package/dist/esm/core/tracking/usage-tracker.js.map +1 -1
  81. package/dist/esm/index.js +9 -177
  82. package/dist/esm/index.js.map +1 -1
  83. package/dist/esm/types/index.js +2 -10
  84. package/dist/esm/types/index.js.map +1 -1
  85. package/dist/esm/types/openai-augmentation.js +0 -49
  86. package/dist/esm/types/openai-augmentation.js.map +1 -1
  87. package/dist/esm/utils/constants.js +16 -19
  88. package/dist/esm/utils/constants.js.map +1 -1
  89. package/dist/esm/utils/error-handler.js +19 -15
  90. package/dist/esm/utils/error-handler.js.map +1 -1
  91. package/dist/esm/utils/metadata-builder.js +17 -16
  92. package/dist/esm/utils/metadata-builder.js.map +1 -1
  93. package/dist/esm/utils/provider-detection.js +26 -29
  94. package/dist/esm/utils/provider-detection.js.map +1 -1
  95. package/dist/types/core/client/index.d.ts +6 -0
  96. package/dist/types/core/client/index.d.ts.map +1 -0
  97. package/dist/types/core/client/manager.d.ts +32 -0
  98. package/dist/types/core/client/manager.d.ts.map +1 -0
  99. package/dist/types/core/config/azure-config.d.ts +2 -2
  100. package/dist/types/core/config/azure-config.d.ts.map +1 -1
  101. package/dist/types/core/config/index.d.ts +4 -4
  102. package/dist/types/core/config/index.d.ts.map +1 -1
  103. package/dist/types/core/config/loader.d.ts +3 -1
  104. package/dist/types/core/config/loader.d.ts.map +1 -1
  105. package/dist/types/core/config/manager.d.ts +1 -1
  106. package/dist/types/core/config/manager.d.ts.map +1 -1
  107. package/dist/types/core/config/validator.d.ts +1 -12
  108. package/dist/types/core/config/validator.d.ts.map +1 -1
  109. package/dist/types/core/middleware/index.d.ts +8 -0
  110. package/dist/types/core/middleware/index.d.ts.map +1 -0
  111. package/dist/types/core/middleware/interfaces.d.ts +74 -0
  112. package/dist/types/core/middleware/interfaces.d.ts.map +1 -0
  113. package/dist/types/core/middleware/revenium-client.d.ts +58 -0
  114. package/dist/types/core/middleware/revenium-client.d.ts.map +1 -0
  115. package/dist/types/core/providers/detector.d.ts +9 -2
  116. package/dist/types/core/providers/detector.d.ts.map +1 -1
  117. package/dist/types/core/providers/index.d.ts +2 -2
  118. package/dist/types/core/providers/index.d.ts.map +1 -1
  119. package/dist/types/core/tracking/api-client.d.ts +1 -1
  120. package/dist/types/core/tracking/api-client.d.ts.map +1 -1
  121. package/dist/types/core/tracking/payload-builder.d.ts +3 -3
  122. package/dist/types/core/tracking/payload-builder.d.ts.map +1 -1
  123. package/dist/types/core/tracking/usage-tracker.d.ts +2 -2
  124. package/dist/types/core/tracking/usage-tracker.d.ts.map +1 -1
  125. package/dist/types/index.d.ts +11 -135
  126. package/dist/types/index.d.ts.map +1 -1
  127. package/dist/types/types/function-parameters.d.ts +2 -23
  128. package/dist/types/types/function-parameters.d.ts.map +1 -1
  129. package/dist/types/types/index.d.ts +11 -105
  130. package/dist/types/types/index.d.ts.map +1 -1
  131. package/dist/types/types/openai-augmentation.d.ts +4 -138
  132. package/dist/types/types/openai-augmentation.d.ts.map +1 -1
  133. package/dist/types/utils/constants.d.ts +7 -1
  134. package/dist/types/utils/constants.d.ts.map +1 -1
  135. package/dist/types/utils/error-handler.d.ts +2 -2
  136. package/dist/types/utils/error-handler.d.ts.map +1 -1
  137. package/dist/types/utils/metadata-builder.d.ts +2 -2
  138. package/dist/types/utils/metadata-builder.d.ts.map +1 -1
  139. package/dist/types/utils/provider-detection.d.ts +3 -3
  140. package/dist/types/utils/provider-detection.d.ts.map +1 -1
  141. package/examples/README.md +282 -198
  142. package/examples/azure/basic.ts +62 -0
  143. package/examples/azure/responses-basic.ts +45 -0
  144. package/examples/azure/responses-stream.ts +61 -0
  145. package/examples/azure/stream.ts +56 -0
  146. package/examples/getting_started.ts +31 -43
  147. package/examples/openai/basic.ts +45 -0
  148. package/examples/openai/metadata.ts +67 -0
  149. package/examples/openai/responses-basic.ts +44 -0
  150. package/examples/openai/responses-embed.ts +34 -0
  151. package/examples/openai/responses-streaming.ts +63 -0
  152. package/examples/openai/streaming.ts +59 -0
  153. package/package.json +20 -13
  154. package/dist/cjs/core/wrapper/index.js +0 -15
  155. package/dist/cjs/core/wrapper/index.js.map +0 -1
  156. package/dist/cjs/core/wrapper/instance-patcher.js +0 -202
  157. package/dist/cjs/core/wrapper/instance-patcher.js.map +0 -1
  158. package/dist/cjs/core/wrapper/request-handler.js +0 -317
  159. package/dist/cjs/core/wrapper/request-handler.js.map +0 -1
  160. package/dist/cjs/core/wrapper/stream-wrapper.js +0 -82
  161. package/dist/cjs/core/wrapper/stream-wrapper.js.map +0 -1
  162. package/dist/cjs/utils/azure-model-resolver.js +0 -211
  163. package/dist/cjs/utils/azure-model-resolver.js.map +0 -1
  164. package/dist/cjs/utils/request-handler-factory.js +0 -185
  165. package/dist/cjs/utils/request-handler-factory.js.map +0 -1
  166. package/dist/esm/core/wrapper/index.js +0 -9
  167. package/dist/esm/core/wrapper/index.js.map +0 -1
  168. package/dist/esm/core/wrapper/instance-patcher.js +0 -199
  169. package/dist/esm/core/wrapper/instance-patcher.js.map +0 -1
  170. package/dist/esm/core/wrapper/request-handler.js +0 -310
  171. package/dist/esm/core/wrapper/request-handler.js.map +0 -1
  172. package/dist/esm/core/wrapper/stream-wrapper.js +0 -79
  173. package/dist/esm/core/wrapper/stream-wrapper.js.map +0 -1
  174. package/dist/esm/utils/azure-model-resolver.js +0 -204
  175. package/dist/esm/utils/azure-model-resolver.js.map +0 -1
  176. package/dist/esm/utils/request-handler-factory.js +0 -146
  177. package/dist/esm/utils/request-handler-factory.js.map +0 -1
  178. package/dist/types/core/wrapper/index.d.ts +0 -8
  179. package/dist/types/core/wrapper/index.d.ts.map +0 -1
  180. package/dist/types/core/wrapper/instance-patcher.d.ts +0 -33
  181. package/dist/types/core/wrapper/instance-patcher.d.ts.map +0 -1
  182. package/dist/types/core/wrapper/request-handler.d.ts +0 -29
  183. package/dist/types/core/wrapper/request-handler.d.ts.map +0 -1
  184. package/dist/types/core/wrapper/stream-wrapper.d.ts +0 -13
  185. package/dist/types/core/wrapper/stream-wrapper.d.ts.map +0 -1
  186. package/dist/types/utils/azure-model-resolver.d.ts +0 -41
  187. package/dist/types/utils/azure-model-resolver.d.ts.map +0 -1
  188. package/dist/types/utils/request-handler-factory.d.ts +0 -81
  189. package/dist/types/utils/request-handler-factory.d.ts.map +0 -1
  190. package/examples/azure-basic.ts +0 -206
  191. package/examples/azure-responses-basic.ts +0 -233
  192. package/examples/azure-responses-streaming.ts +0 -255
  193. package/examples/azure-streaming.ts +0 -209
  194. package/examples/openai-basic.ts +0 -147
  195. package/examples/openai-function-calling.ts +0 -259
  196. package/examples/openai-responses-basic.ts +0 -212
  197. package/examples/openai-responses-streaming.ts +0 -232
  198. package/examples/openai-streaming.ts +0 -172
  199. package/examples/openai-vision.ts +0 -289
  200. package/src/core/config/azure-config.ts +0 -72
  201. package/src/core/config/index.ts +0 -23
  202. package/src/core/config/loader.ts +0 -66
  203. package/src/core/config/manager.ts +0 -95
  204. package/src/core/config/validator.ts +0 -89
  205. package/src/core/providers/detector.ts +0 -159
  206. package/src/core/providers/index.ts +0 -16
  207. package/src/core/tracking/api-client.ts +0 -78
  208. package/src/core/tracking/index.ts +0 -21
  209. package/src/core/tracking/payload-builder.ts +0 -137
  210. package/src/core/tracking/usage-tracker.ts +0 -189
  211. package/src/core/wrapper/index.ts +0 -9
  212. package/src/core/wrapper/instance-patcher.ts +0 -288
  213. package/src/core/wrapper/request-handler.ts +0 -423
  214. package/src/core/wrapper/stream-wrapper.ts +0 -100
  215. package/src/index.ts +0 -360
  216. package/src/types/function-parameters.ts +0 -251
  217. package/src/types/index.ts +0 -310
  218. package/src/types/openai-augmentation.ts +0 -232
  219. package/src/types/responses-api.ts +0 -308
  220. package/src/utils/azure-model-resolver.ts +0 -220
  221. package/src/utils/constants.ts +0 -21
  222. package/src/utils/error-handler.ts +0 -251
  223. package/src/utils/metadata-builder.ts +0 -228
  224. package/src/utils/provider-detection.ts +0 -257
  225. package/src/utils/request-handler-factory.ts +0 -285
  226. package/src/utils/stop-reason-mapper.ts +0 -78
  227. package/src/utils/type-guards.ts +0 -202
  228. package/src/utils/url-builder.ts +0 -68
@@ -18,18 +18,18 @@ exports.sanitizeMetadataForLogging = sanitizeMetadataForLogging;
18
18
  * Subscriber object is passed through directly without transformation
19
19
  */
20
20
  const METADATA_FIELD_MAP = [
21
- { source: 'traceId' },
22
- { source: 'taskType' },
23
- { source: 'agent' },
24
- { source: 'organizationId' },
25
- { source: 'productId' },
26
- { source: 'subscriber' }, // Pass through nested subscriber object directly
27
- { source: 'subscriptionId' },
21
+ { source: "traceId" },
22
+ { source: "taskType" },
23
+ { source: "agent" },
24
+ { source: "organizationId" },
25
+ { source: "productId" },
26
+ { source: "subscriber" }, // Pass through nested subscriber object directly
27
+ { source: "subscriptionId" },
28
28
  {
29
- source: 'responseQualityScore',
29
+ source: "responseQualityScore",
30
30
  transform: (value) => {
31
31
  // Ensure quality score is between 0.0 and 1.0 (API spec requirement)
32
- if (typeof value === 'number')
32
+ if (typeof value === "number")
33
33
  return Math.max(0, Math.min(1, value));
34
34
  return value;
35
35
  },
@@ -77,7 +77,7 @@ function validateMetadata(usageMetadata, requiredFields = []) {
77
77
  return {
78
78
  isValid: false,
79
79
  missingFields: requiredFields,
80
- warnings: ['No metadata provided'],
80
+ warnings: ["No metadata provided"],
81
81
  };
82
82
  }
83
83
  if (usageMetadata) {
@@ -91,12 +91,13 @@ function validateMetadata(usageMetadata, requiredFields = []) {
91
91
  const score = usageMetadata.responseQualityScore;
92
92
  // API Spec: https://revenium.readme.io/reference/meter_ai_completion (responseQualityScore)
93
93
  // "typically on a 0.0-1.0 scale"
94
- if (typeof score !== 'number' || score < 0 || score > 1) {
95
- warnings.push('responseQualityScore should be a number between 0.0 and 1.0');
94
+ if (typeof score !== "number" || score < 0 || score > 1) {
95
+ warnings.push("responseQualityScore should be a number between 0.0 and 1.0");
96
96
  }
97
97
  }
98
- if (usageMetadata.subscriber?.email && !usageMetadata.subscriber.email.includes('@')) {
99
- warnings.push('subscriber.email does not appear to be a valid email address');
98
+ if (usageMetadata.subscriber?.email &&
99
+ !usageMetadata.subscriber.email.includes("@")) {
100
+ warnings.push("subscriber.email does not appear to be a valid email address");
100
101
  }
101
102
  }
102
103
  return {
@@ -176,12 +177,12 @@ function sanitizeMetadataForLogging(usageMetadata) {
176
177
  }
177
178
  if (subscriber.email) {
178
179
  // Mask email: handles single-char emails (a@x.com → a***@x.com)
179
- sanitizedSubscriber.email = subscriber.email.replace(/(.{1,2}).*(@.*)/, '$1***$2');
180
+ sanitizedSubscriber.email = subscriber.email.replace(/(.{1,2}).*(@.*)/, "$1***$2");
180
181
  }
181
182
  if (subscriber.credential) {
182
183
  sanitizedSubscriber.credential = {
183
184
  name: subscriber.credential.name,
184
- value: '[REDACTED]',
185
+ value: "[REDACTED]",
185
186
  };
186
187
  }
187
188
  result.subscriber = sanitizedSubscriber;
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-builder.js","sourceRoot":"","sources":["../../../src/utils/metadata-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata-builder.js","sourceRoot":"","sources":["../../../src/utils/metadata-builder.ts"],"names":[],"mappings":"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"}
@@ -16,40 +16,39 @@ const index_js_1 = require("../types/index.js");
16
16
  */
17
17
  const DETECTION_STRATEGIES = [
18
18
  {
19
- name: 'Constructor Name',
19
+ name: "Constructor Name",
20
20
  priority: 100,
21
- detect: client => {
22
- return client?.constructor?.name?.includes('Azure') || false;
21
+ detect: (client) => {
22
+ return client?.constructor?.name?.includes("Azure") || false;
23
23
  },
24
- getContext: client => ({
24
+ getContext: (client) => ({
25
25
  constructorName: client?.constructor?.name,
26
26
  }),
27
27
  },
28
28
  {
29
- name: 'Base URL',
29
+ name: "Base URL",
30
30
  priority: 90,
31
- detect: client => {
31
+ detect: (client) => {
32
32
  const baseUrl = getBaseUrlString(client);
33
- return baseUrl?.toLowerCase().includes('azure') || false;
33
+ return baseUrl?.toLowerCase().includes("azure") || false;
34
34
  },
35
- getContext: client => ({
35
+ getContext: (client) => ({
36
36
  baseURL: getBaseUrlString(client),
37
37
  }),
38
38
  },
39
39
  {
40
- name: 'Environment Variables',
40
+ name: "Environment Variables",
41
41
  priority: 80,
42
- detect: client => {
42
+ detect: (client) => {
43
43
  // Only use env vars if not explicitly OpenAI
44
44
  const baseUrl = getBaseUrlString(client);
45
- const isExplicitlyOpenAI = baseUrl?.includes('api.openai.com') ||
46
- (client?.constructor?.name?.toLowerCase().includes('openai') &&
47
- !client?.constructor?.name?.toLowerCase().includes('azure'));
45
+ const isExplicitlyOpenAI = baseUrl?.includes("api.openai.com") ||
46
+ (client?.constructor?.name?.toLowerCase().includes("openai") &&
47
+ !client?.constructor?.name?.toLowerCase().includes("azure"));
48
48
  return !isExplicitlyOpenAI && !!process.env.AZURE_OPENAI_ENDPOINT;
49
49
  },
50
50
  getContext: () => ({
51
51
  hasAzureEndpoint: !!process.env.AZURE_OPENAI_ENDPOINT,
52
- hasAzureDeployment: !!process.env.AZURE_OPENAI_DEPLOYMENT,
53
52
  hasAzureApiKey: !!process.env.AZURE_OPENAI_API_KEY,
54
53
  }),
55
54
  },
@@ -60,7 +59,9 @@ const DETECTION_STRATEGIES = [
60
59
  function getBaseUrlString(client) {
61
60
  if (!client?.baseURL)
62
61
  return undefined;
63
- return typeof client.baseURL === 'string' ? client.baseURL : client.baseURL.toString();
62
+ return typeof client.baseURL === "string"
63
+ ? client.baseURL
64
+ : client.baseURL.toString();
64
65
  }
65
66
  /**
66
67
  * Detect provider using strategy pattern
@@ -99,27 +100,24 @@ function detectProviderStrategy(client, logger) {
99
100
  }
100
101
  // Default to OpenAI
101
102
  if (logger) {
102
- logger.debug('Standard OpenAI provider detected (no Azure indicators found)');
103
+ logger.debug("Standard OpenAI provider detected (no Azure indicators found)");
103
104
  }
104
105
  return { provider: index_js_1.Provider.OPENAI };
105
106
  }
106
107
  const AZURE_CONFIG_STRATEGIES = [
107
108
  {
108
- name: 'Client BaseURL',
109
- gather: client => {
109
+ name: "Client BaseURL",
110
+ gather: (client) => {
110
111
  const baseUrl = getBaseUrlString(client);
111
112
  return baseUrl ? { endpoint: baseUrl } : {};
112
113
  },
113
114
  },
114
115
  {
115
- name: 'Environment Variables',
116
+ name: "Environment Variables",
116
117
  gather: () => ({
117
118
  endpoint: process.env.AZURE_OPENAI_ENDPOINT,
118
- deployment: process.env.AZURE_OPENAI_DEPLOYMENT,
119
- apiVersion: process.env.AZURE_OPENAI_API_VERSION || '2024-12-01-preview',
119
+ apiVersion: process.env.AZURE_OPENAI_API_VERSION,
120
120
  apiKey: process.env.AZURE_OPENAI_API_KEY,
121
- tenantId: process.env.AZURE_OPENAI_TENANT_ID,
122
- resourceGroup: process.env.AZURE_OPENAI_RESOURCE_GROUP,
123
121
  }),
124
122
  },
125
123
  ];
@@ -151,9 +149,8 @@ function gatherAzureConfigStrategy(client, logger) {
151
149
  }
152
150
  }
153
151
  if (logger) {
154
- logger.debug('Azure configuration gathered', {
152
+ logger.debug("Azure configuration gathered", {
155
153
  hasEndpoint: !!config.endpoint,
156
- hasDeployment: !!config.deployment,
157
154
  hasApiKey: !!config.apiKey,
158
155
  apiVersion: config.apiVersion,
159
156
  });
@@ -193,14 +190,14 @@ function validateProviderInfo(providerInfo) {
193
190
  const warnings = [];
194
191
  if (providerInfo.isAzure) {
195
192
  if (!providerInfo.azureConfig) {
196
- warnings.push('Azure provider detected but no Azure configuration available');
193
+ warnings.push("Azure provider detected but no Azure configuration available");
197
194
  }
198
195
  else {
199
196
  if (!providerInfo.azureConfig.endpoint) {
200
- warnings.push('Azure configuration missing endpoint');
197
+ warnings.push("Azure configuration missing endpoint");
201
198
  }
202
199
  if (!providerInfo.azureConfig.apiKey) {
203
- warnings.push('Azure configuration missing API key');
200
+ warnings.push("Azure configuration missing API key");
204
201
  }
205
202
  }
206
203
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider-detection.js","sourceRoot":"","sources":["../../../src/utils/provider-detection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-detection.js","sourceRoot":"","sources":["../../../src/utils/provider-detection.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAsFH,wDA6CC;AAmCD,8DAiCC;AASD,gDAqBC;AAQD,oDAwBC;AAnQD,gDAAwE;AAkBxE;;GAEG;AACH,MAAM,oBAAoB,GAAgC;IACxD;QACE,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE,GAAG;QACb,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YACjB,OAAO,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;QAC/D,CAAC;QACD,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACvB,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI;SAC3C,CAAC;KACH;IACD;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YACjB,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACzC,OAAO,OAAO,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;QAC3D,CAAC;QACD,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACvB,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC;SAClC,CAAC;KACH;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YACjB,6CAA6C;YAC7C,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,kBAAkB,GACtB,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC;gBACnC,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAC1D,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAEjE,OAAO,CAAC,kBAAkB,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;QACpE,CAAC;QACD,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;YACjB,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB;YACrD,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB;SACnD,CAAC;KACH;CACF,CAAC;AAEF;;GAEG;AACH,SAAS,gBAAgB,CAAC,MAA4B;IACpD,IAAI,CAAC,MAAM,EAAE,OAAO;QAAE,OAAO,SAAS,CAAC;IAEvC,OAAO,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;QACvC,CAAC,CAAC,MAAM,CAAC,OAAO;QAChB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,sBAAsB,CACpC,MAA4B,EAC5B,MAAe;IAMf,8CAA8C;IAC9C,MAAM,gBAAgB,GAAG,CAAC,GAAG,oBAAoB,CAAC,CAAC,IAAI,CACrD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAClC,CAAC;IAEF,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAEpD,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CAAC,+BAA+B,QAAQ,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;gBACxE,CAAC;gBAED,OAAO;oBACL,QAAQ,EAAE,mBAAQ,CAAC,YAAY;oBAC/B,QAAQ,EAAE,QAAQ,CAAC,IAAI;oBACvB,OAAO;iBACR,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,gCAAgC,QAAQ,CAAC,IAAI,UAAU,EAAE;oBACnE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CACV,+DAA+D,CAChE,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,mBAAQ,CAAC,MAAM,EAAE,CAAC;AACvC,CAAC;AAUD,MAAM,uBAAuB,GAA0B;IACrD;QACE,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YACjB,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACzC,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,CAAC;KACF;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;YAC3C,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB;YAChD,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;SACzC,CAAC;KACH;CACF,CAAC;AAEF;;;;;;GAMG;AACH,SAAgB,yBAAyB,CACvC,MAA4B,EAC5B,MAAe;IAEf,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,KAAK,MAAM,QAAQ,IAAI,uBAAuB,EAAE,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE/C,6BAA6B;YAC7B,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACtD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC;oBAC3C,MAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC/B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,0BAA0B,QAAQ,CAAC,IAAI,UAAU,EAAE;oBAC7D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;YAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ;YAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;YAC1B,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAChC,MAA4B,EAC5B,MAAe;IAEf,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzD,IAAI,SAAS,CAAC,QAAQ,KAAK,mBAAQ,CAAC,YAAY,EAAE,CAAC;QACjD,MAAM,WAAW,GAAG,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE9D,OAAO;YACL,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,OAAO,EAAE,IAAI;YACb,WAAW;SACZ,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,SAAS;KACvB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,YAA0B;IAI7D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YAC9B,QAAQ,CAAC,IAAI,CACX,8DAA8D,CAC/D,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACvC,QAAQ,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBACrC,QAAQ,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;QAC9B,QAAQ;KACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Client Module
3
+ * Exports client management functions.
4
+ */
5
+ export { Initialize, GetClient, IsInitialized, Reset, Configure, } from "./manager.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","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,102 @@
1
+ /**
2
+ * Client Manager
3
+ */
4
+ import { ReveniumOpenAI } from "../middleware/revenium-client.js";
5
+ import { initializeConfig, validateConfig, setConfig, getConfig, } from "../config";
6
+ import { detectProviderFromConfig } from "../providers";
7
+ import { getLogger } from "../config";
8
+ import { DEFAULT_REVENIUM_BASE_URL } from "../../utils/constants.js";
9
+ // Global client singleton
10
+ let globalClient = null;
11
+ // Global logger
12
+ const logger = getLogger();
13
+ /**
14
+ * Initialize - Initialize Revenium client
15
+ * Can be called with explicit config or will load from environment variables.
16
+ * @param config - Optional configuration. If not provided, loads from environment.
17
+ */
18
+ export function Initialize(config) {
19
+ logger.debug("Initializing Revenium client");
20
+ let finalConfig;
21
+ if (config) {
22
+ // Merge provided config with defaults
23
+ const defaultConfig = {
24
+ reveniumBaseUrl: DEFAULT_REVENIUM_BASE_URL,
25
+ debug: false,
26
+ };
27
+ finalConfig = {
28
+ ...defaultConfig,
29
+ ...config,
30
+ };
31
+ logger.debug("Using provided configuration");
32
+ }
33
+ else {
34
+ // Load from environment variables
35
+ const envLoaded = initializeConfig();
36
+ if (!envLoaded) {
37
+ throw new Error("Failed to load configuration from environment variables. " +
38
+ "Ensure REVENIUM_METERING_API_KEY and OPENAI_API_KEY are set, " +
39
+ "or provide configuration explicitly to Initialize().");
40
+ }
41
+ finalConfig = getConfig();
42
+ logger.debug("Loaded configuration from environment");
43
+ }
44
+ // Validate configuration
45
+ try {
46
+ validateConfig(finalConfig);
47
+ }
48
+ catch (error) {
49
+ logger.error("Configuration validation failed", {
50
+ error: error instanceof Error ? error.message : String(error),
51
+ });
52
+ throw error;
53
+ }
54
+ // Store config globally
55
+ setConfig(finalConfig);
56
+ // Detect provider from configuration
57
+ const providerInfo = detectProviderFromConfig(finalConfig);
58
+ logger.info("Detected provider", {
59
+ provider: providerInfo.provider,
60
+ isAzure: providerInfo.isAzure,
61
+ });
62
+ // Create global client
63
+ globalClient = new ReveniumOpenAI(finalConfig, providerInfo.provider);
64
+ logger.info("Revenium client initialized successfully");
65
+ }
66
+ /**
67
+ * GetClient - Get the global Revenium client
68
+ * @returns The global ReveniumOpenAI client
69
+ * @throws Error if client is not initialized
70
+ */
71
+ export function GetClient() {
72
+ if (!globalClient) {
73
+ throw new Error("Revenium client not initialized. Call Initialize() first.\n\n" +
74
+ "Example:\n" +
75
+ ' import { Initialize, GetClient } from "@revenium/openai";\n' +
76
+ " Initialize();\n" +
77
+ " const client = GetClient();");
78
+ }
79
+ return globalClient;
80
+ }
81
+ /**
82
+ * IsInitialized - Check if client is initialized
83
+ * @returns true if client is initialized, false otherwise
84
+ */
85
+ export function IsInitialized() {
86
+ return globalClient !== null;
87
+ }
88
+ /**
89
+ * Reset - Reset the global client
90
+ */
91
+ export function Reset() {
92
+ logger.debug("Resetting global client");
93
+ globalClient = null;
94
+ }
95
+ /**
96
+ * Configure - Alias for Initialize
97
+ * @param config - Configuration object
98
+ */
99
+ export function Configure(config) {
100
+ Initialize(config);
101
+ }
102
+ //# sourceMappingURL=manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../../src/core/client/manager.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Handles Azure-specific configuration logic.
5
5
  * Extracted from provider.ts for better separation of concerns.
6
6
  */
7
- import { getLogger } from './manager.js';
7
+ import { getLogger } from "./manager.js";
8
8
  // Global logger
9
9
  const logger = getLogger();
10
10
  /**
@@ -18,41 +18,29 @@ export function gatherAzureConfig(client) {
18
18
  try {
19
19
  // Extract from client baseURL if available
20
20
  if (client?.baseURL) {
21
- const baseUrl = typeof client.baseURL === 'string' ? client.baseURL : client.baseURL?.toString();
21
+ const baseUrl = typeof client.baseURL === "string"
22
+ ? client.baseURL
23
+ : client.baseURL?.toString();
22
24
  config.endpoint = baseUrl;
23
25
  }
24
26
  // Extract from environment variables
25
27
  if (process.env.AZURE_OPENAI_ENDPOINT) {
26
28
  config.endpoint = process.env.AZURE_OPENAI_ENDPOINT;
27
29
  }
28
- if (process.env.AZURE_OPENAI_DEPLOYMENT) {
29
- config.deployment = process.env.AZURE_OPENAI_DEPLOYMENT;
30
- }
31
30
  if (process.env.AZURE_OPENAI_API_VERSION) {
32
31
  config.apiVersion = process.env.AZURE_OPENAI_API_VERSION;
33
32
  }
34
- else {
35
- // Default to preferred API version from Python learnings
36
- config.apiVersion = '2024-12-01-preview';
37
- }
38
33
  if (process.env.AZURE_OPENAI_API_KEY) {
39
34
  config.apiKey = process.env.AZURE_OPENAI_API_KEY;
40
35
  }
41
- if (process.env.AZURE_OPENAI_TENANT_ID) {
42
- config.tenantId = process.env.AZURE_OPENAI_TENANT_ID;
43
- }
44
- if (process.env.AZURE_OPENAI_RESOURCE_GROUP) {
45
- config.resourceGroup = process.env.AZURE_OPENAI_RESOURCE_GROUP;
46
- }
47
- logger.debug('Azure configuration gathered', {
36
+ logger.debug("Azure configuration gathered", {
48
37
  hasEndpoint: !!config.endpoint,
49
- hasDeployment: !!config.deployment,
50
38
  hasApiKey: !!config.apiKey,
51
39
  apiVersion: config.apiVersion,
52
40
  });
53
41
  }
54
42
  catch (error) {
55
- logger.warn('Error gathering Azure configuration', {
43
+ logger.warn("Error gathering Azure configuration", {
56
44
  error: error instanceof Error ? error.message : String(error),
57
45
  });
58
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"azure-config.js","sourceRoot":"","sources":["../../../../src/core/config/azure-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,gBAAgB;AAChB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAE3B;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAA4B;IAC5D,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,IAAI,CAAC;QACH,2CAA2C;QAC3C,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,MAAM,OAAO,GACX,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;YACnF,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC5B,CAAC;QAED,qCAAqC;QACrC,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;YACtC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;QACtD,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC;YACxC,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;QAC1D,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;YACzC,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,yDAAyD;YACzD,MAAM,CAAC,UAAU,GAAG,oBAAoB,CAAC;QAC3C,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;YACrC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACnD,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC;YACvC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;QACvD,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,CAAC;YAC5C,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;QACjE,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;YAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ;YAC9B,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU;YAClC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;YAC1B,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE;YACjD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"azure-config.js","sourceRoot":"","sources":["../../../../src/core/config/azure-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,gBAAgB;AAChB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAE3B;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAA4B;IAC5D,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,IAAI,CAAC;QACH,2CAA2C;QAC3C,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,MAAM,OAAO,GACX,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;gBAChC,CAAC,CAAC,MAAM,CAAC,OAAO;gBAChB,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;YACjC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC5B,CAAC;QAED,qCAAqC;QACrC,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;YACtC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;QACtD,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;YACzC,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;QAC3D,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;YACrC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACnD,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;YAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ;YAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;YAC1B,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE;YACjD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -5,9 +5,10 @@
5
5
  * separating concerns into focused sub-modules.
6
6
  */
7
7
  // Re-export all configuration functionality
8
- export { loadConfigFromEnv, loadAzureConfigFromEnv, hasAzureConfigInEnv } from './loader.js';
9
- export { validateConfig, validateAzureConfig } from './validator.js';
10
- export { getConfig, setConfig, getLogger, setLogger, initializeConfig, defaultLogger, } from './manager.js';
8
+ export { loadConfigFromEnv, loadAzureConfigFromEnv, hasAzureConfigInEnv, } from "./loader.js";
9
+ // Note: validateAzureConfig is exported from src/core/providers/index.ts
10
+ export { validateConfig } from "./validator.js";
11
+ export { getConfig, setConfig, getLogger, setLogger, initializeConfig, defaultLogger, } from "./manager.js";
11
12
  // Export Azure-specific configuration
12
- export * from './azure-config.js';
13
+ export * from "./azure-config.js";
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/config/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,4CAA4C;AAC5C,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAE7F,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErE,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,aAAa,GACd,MAAM,cAAc,CAAC;AAEtB,sCAAsC;AACtC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/config/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,4CAA4C;AAC5C,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,yEAAyE;AACzE,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;AAEtB,sCAAsC;AACtC,cAAc,mBAAmB,CAAC"}
@@ -4,14 +4,40 @@
4
4
  * Handles loading configuration from environment variables.
5
5
  * Separated from validation and management for single responsibility.
6
6
  */
7
+ import { config as loadDotenv } from "dotenv";
8
+ import { existsSync } from "fs";
9
+ import { join } from "path";
10
+ import { DEFAULT_REVENIUM_BASE_URL } from "../../utils/constants.js";
7
11
  /**
8
- * Default Revenium base URL for consistency with other middleware
12
+ * Flag to track if .env files have been loaded
9
13
  */
10
- const DEFAULT_REVENIUM_BASE_URL = 'https://api.revenium.ai';
14
+ let envFilesLoaded = false;
15
+ /**
16
+ * Load .env files automatically
17
+ * Tries to load .env.local and .env files from current and parent directories
18
+ */
19
+ function loadEnvFiles() {
20
+ if (envFilesLoaded)
21
+ return;
22
+ const envFiles = [".env.local", ".env"];
23
+ const cwd = process.cwd();
24
+ const searchDirs = [cwd, join(cwd, "..")];
25
+ for (const dir of searchDirs) {
26
+ for (const envFile of envFiles) {
27
+ const envPath = join(dir, envFile);
28
+ if (existsSync(envPath)) {
29
+ loadDotenv({ path: envPath });
30
+ }
31
+ }
32
+ }
33
+ envFilesLoaded = true;
34
+ }
11
35
  /**
12
36
  * Load configuration from environment variables
37
+ * Automatically loads .env files first
13
38
  */
14
39
  export function loadConfigFromEnv() {
40
+ loadEnvFiles();
15
41
  const reveniumApiKey = process.env.REVENIUM_METERING_API_KEY || process.env.REVENIUM_API_KEY;
16
42
  const reveniumBaseUrl = process.env.REVENIUM_METERING_BASE_URL ||
17
43
  process.env.REVENIUM_BASE_URL ||
@@ -27,32 +53,26 @@ export function loadConfigFromEnv() {
27
53
  }
28
54
  /**
29
55
  * Load Azure configuration from environment variables
56
+ * Automatically loads .env files first
30
57
  */
31
58
  export function loadAzureConfigFromEnv() {
59
+ loadEnvFiles();
32
60
  const endpoint = process.env.AZURE_OPENAI_ENDPOINT;
33
- const deployment = process.env.AZURE_OPENAI_DEPLOYMENT;
34
61
  const apiVersion = process.env.AZURE_OPENAI_API_VERSION;
35
62
  const apiKey = process.env.AZURE_OPENAI_API_KEY;
36
- const tenantId = process.env.AZURE_OPENAI_TENANT_ID;
37
- const resourceGroup = process.env.AZURE_OPENAI_RESOURCE_GROUP;
38
63
  // Return null if no Azure config is present
39
- if (!endpoint && !deployment && !apiKey)
64
+ if (!endpoint && !apiKey)
40
65
  return null;
41
66
  return {
42
67
  endpoint,
43
- deployment,
44
- apiVersion: apiVersion || '2024-12-01-preview', // Default from Python learnings
68
+ apiVersion,
45
69
  apiKey,
46
- tenantId,
47
- resourceGroup,
48
70
  };
49
71
  }
50
72
  /**
51
73
  * Check if Azure configuration is available in environment
52
74
  */
53
75
  export function hasAzureConfigInEnv() {
54
- return !!(process.env.AZURE_OPENAI_ENDPOINT ||
55
- process.env.AZURE_OPENAI_DEPLOYMENT ||
56
- process.env.AZURE_OPENAI_API_KEY);
76
+ return !!(process.env.AZURE_OPENAI_ENDPOINT || process.env.AZURE_OPENAI_API_KEY);
57
77
  }
58
78
  //# sourceMappingURL=loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../../src/core/config/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,yBAAyB,GAAG,yBAAyB,CAAC;AAE5D;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC7F,MAAM,eAAe,GACnB,OAAO,CAAC,GAAG,CAAC,0BAA0B;QACtC,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAC7B,yBAAyB,CAAC;IAC5B,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAEhD,IAAI,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO;QACL,cAAc;QACd,eAAe;QACf,YAAY;KACb,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IACvD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;IACxD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IACpD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;IAE9D,4CAA4C;IAC5C,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACrD,OAAO;QACL,QAAQ;QACR,UAAU;QACV,UAAU,EAAE,UAAU,IAAI,oBAAoB,EAAE,gCAAgC;QAChF,MAAM;QACN,QAAQ;QACR,aAAa;KACd,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,CAAC,CAAC,CACP,OAAO,CAAC,GAAG,CAAC,qBAAqB;QACjC,OAAO,CAAC,GAAG,CAAC,uBAAuB;QACnC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CACjC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../../src/core/config/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE;;GAEG;AACH,IAAI,cAAc,GAAG,KAAK,CAAC;AAE3B;;;GAGG;AACH,SAAS,YAAY;IACnB,IAAI,cAAc;QAAE,OAAO;IAE3B,MAAM,QAAQ,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAE1C,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACnC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED,cAAc,GAAG,IAAI,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,YAAY,EAAE,CAAC;IAEf,MAAM,cAAc,GAClB,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACxE,MAAM,eAAe,GACnB,OAAO,CAAC,GAAG,CAAC,0BAA0B;QACtC,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAC7B,yBAAyB,CAAC;IAC5B,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAEhD,IAAI,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO;QACL,cAAc;QACd,eAAe;QACf,YAAY;KACb,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACpC,YAAY,EAAE,CAAC;IAEf,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;IACxD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAEhD,4CAA4C;IAC5C,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO;QACL,QAAQ;QACR,UAAU;QACV,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,CAAC,CAAC,CACP,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CACtE,CAAC;AACJ,CAAC"}
@@ -4,15 +4,15 @@
4
4
  * Handles global configuration state management and logging.
5
5
  * Separated from loading and validation for single responsibility.
6
6
  */
7
- import { loadConfigFromEnv, hasAzureConfigInEnv } from './loader.js';
8
- import { validateConfig } from './validator.js';
7
+ import { loadConfigFromEnv, loadAzureConfigFromEnv, hasAzureConfigInEnv, } from "./loader.js";
8
+ import { validateConfig } from "./validator.js";
9
9
  /**
10
10
  * Default console logger implementation
11
11
  */
12
12
  export const defaultLogger = {
13
13
  debug: (message, ...args) => {
14
14
  // Check both config.debug and environment variable
15
- if (globalConfig?.debug || process.env.REVENIUM_DEBUG === 'true') {
15
+ if (globalConfig?.debug || process.env.REVENIUM_DEBUG === "true") {
16
16
  console.debug(`[Revenium Debug] ${message}`, ...args);
17
17
  }
18
18
  },
@@ -43,7 +43,7 @@ export function getConfig() {
43
43
  export function setConfig(config) {
44
44
  validateConfig(config);
45
45
  globalConfig = config;
46
- globalLogger.debug('Revenium configuration updated', {
46
+ globalLogger.debug("Revenium configuration updated", {
47
47
  baseUrl: config.reveniumBaseUrl,
48
48
  hasApiKey: !!config.reveniumApiKey,
49
49
  hasOpenAIKey: !!config.openaiApiKey,
@@ -68,16 +68,22 @@ export function initializeConfig() {
68
68
  const envConfig = loadConfigFromEnv();
69
69
  if (envConfig) {
70
70
  try {
71
+ // Load Azure configuration if available
72
+ const azureConfig = loadAzureConfigFromEnv();
73
+ if (azureConfig) {
74
+ envConfig.azure = azureConfig;
75
+ globalLogger.debug("Azure OpenAI configuration loaded from environment");
76
+ }
71
77
  setConfig(envConfig);
72
- globalLogger.debug('Revenium middleware initialized from environment variables');
78
+ globalLogger.debug("Revenium middleware initialized from environment variables");
73
79
  // Log Azure config availability for debugging
74
80
  if (hasAzureConfigInEnv()) {
75
- globalLogger.debug('Azure OpenAI configuration detected in environment');
81
+ globalLogger.debug("Azure OpenAI configuration detected in environment");
76
82
  }
77
83
  return true;
78
84
  }
79
85
  catch (error) {
80
- globalLogger.error('Failed to initialize Revenium configuration:', error);
86
+ globalLogger.error("Failed to initialize Revenium configuration:", error);
81
87
  return false;
82
88
  }
83
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../../src/core/config/manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAW;IACnC,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE;QAC7C,mDAAmD;QACnD,IAAI,YAAY,EAAE,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;YACjE,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IACD,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE;QAC5C,OAAO,CAAC,IAAI,CAAC,cAAc,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE;QAC5C,OAAO,CAAC,IAAI,CAAC,sBAAsB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACzD,CAAC;IACD,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE;QAC7C,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACxD,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,IAAI,YAAY,GAA0B,IAAI,CAAC;AAC/C,IAAI,YAAY,GAAW,aAAa,CAAC;AAEzC;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,MAAsB;IAC9C,cAAc,CAAC,MAAM,CAAC,CAAC;IACvB,YAAY,GAAG,MAAM,CAAC;IACtB,YAAY,CAAC,KAAK,CAAC,gCAAgC,EAAE;QACnD,OAAO,EAAE,MAAM,CAAC,eAAe;QAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc;QAClC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY;KACpC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,MAAc;IACtC,YAAY,GAAG,MAAM,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;IACtC,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,SAAS,CAAC,SAAS,CAAC,CAAC;YACrB,YAAY,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;YAEjF,8CAA8C;YAC9C,IAAI,mBAAmB,EAAE,EAAE,CAAC;gBAC1B,YAAY,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;YAC3E,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAC;YAC1E,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../../src/core/config/manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAW;IACnC,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE;QAC7C,mDAAmD;QACnD,IAAI,YAAY,EAAE,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;YACjE,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IACD,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE;QAC5C,OAAO,CAAC,IAAI,CAAC,cAAc,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE;QAC5C,OAAO,CAAC,IAAI,CAAC,sBAAsB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACzD,CAAC;IACD,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE;QAC7C,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACxD,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,IAAI,YAAY,GAA0B,IAAI,CAAC;AAC/C,IAAI,YAAY,GAAW,aAAa,CAAC;AAEzC;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,MAAsB;IAC9C,cAAc,CAAC,MAAM,CAAC,CAAC;IACvB,YAAY,GAAG,MAAM,CAAC;IACtB,YAAY,CAAC,KAAK,CAAC,gCAAgC,EAAE;QACnD,OAAO,EAAE,MAAM,CAAC,eAAe;QAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc;QAClC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY;KACpC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,MAAc;IACtC,YAAY,GAAG,MAAM,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;IACtC,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,wCAAwC;YACxC,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;YAC7C,IAAI,WAAW,EAAE,CAAC;gBACf,SAAiB,CAAC,KAAK,GAAG,WAAW,CAAC;gBACvC,YAAY,CAAC,KAAK,CAChB,oDAAoD,CACrD,CAAC;YACJ,CAAC;YAED,SAAS,CAAC,SAAS,CAAC,CAAC;YACrB,YAAY,CAAC,KAAK,CAChB,4DAA4D,CAC7D,CAAC;YAEF,8CAA8C;YAC9C,IAAI,mBAAmB,EAAE,EAAE,CAAC;gBAC1B,YAAY,CAAC,KAAK,CAChB,oDAAoD,CACrD,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAC;YAC1E,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}