@revenium/perplexity 1.0.10 → 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 (255) hide show
  1. package/.env.example +2 -2
  2. package/README.md +448 -566
  3. package/examples/basic.ts +17 -0
  4. package/examples/chat-completions.ts +22 -0
  5. package/examples/enhanced.ts +20 -0
  6. package/examples/streaming.ts +24 -0
  7. package/package.json +45 -61
  8. package/playground/basic.js +7 -17
  9. package/playground/enhanced.js +9 -22
  10. package/playground/streaming.js +10 -26
  11. package/src/index.ts +1 -35
  12. package/src/interfaces/chatCompletionRequest.ts +9 -0
  13. package/src/interfaces/credential.ts +4 -0
  14. package/src/interfaces/meteringRequest.ts +14 -0
  15. package/src/{types/metering.ts → interfaces/meteringResponse.ts} +3 -3
  16. package/src/interfaces/operation.ts +4 -0
  17. package/src/{types → interfaces}/subscriber.ts +1 -1
  18. package/src/interfaces/tokenCounts.ts +7 -0
  19. package/src/{types → interfaces}/usageMetadata.ts +1 -1
  20. package/src/middleware.ts +151 -0
  21. package/src/models/Logger.ts +5 -5
  22. package/src/models/Metering.ts +86 -0
  23. package/src/utils/calculateDurationMs.ts +1 -1
  24. package/src/utils/constants/constants.ts +9 -16
  25. package/src/utils/constants/logLevels.ts +1 -0
  26. package/src/utils/constants/messages.ts +8 -32
  27. package/src/utils/constants/models.ts +20 -0
  28. package/src/utils/extractTokenCount.ts +26 -0
  29. package/src/utils/generateTransactionId.ts +1 -1
  30. package/src/utils/index.ts +39 -12
  31. package/src/utils/loadEnv.ts +8 -0
  32. package/src/utils/safeExtract.ts +60 -11
  33. package/tsconfig.json +10 -18
  34. package/dist/index.d.ts +0 -8
  35. package/dist/index.d.ts.map +0 -1
  36. package/dist/index.js +0 -40
  37. package/dist/index.js.map +0 -1
  38. package/dist/models/Exception/ApiResponseError.d.ts +0 -6
  39. package/dist/models/Exception/ApiResponseError.d.ts.map +0 -1
  40. package/dist/models/Exception/ApiResponseError.js +0 -13
  41. package/dist/models/Exception/ApiResponseError.js.map +0 -1
  42. package/dist/models/Exception/ConfigurationError.d.ts +0 -4
  43. package/dist/models/Exception/ConfigurationError.d.ts.map +0 -1
  44. package/dist/models/Exception/ConfigurationError.js +0 -11
  45. package/dist/models/Exception/ConfigurationError.js.map +0 -1
  46. package/dist/models/Exception/MeteringError.d.ts +0 -5
  47. package/dist/models/Exception/MeteringError.d.ts.map +0 -1
  48. package/dist/models/Exception/MeteringError.js +0 -12
  49. package/dist/models/Exception/MeteringError.js.map +0 -1
  50. package/dist/models/Exception/MiddlewareActivationError.d.ts +0 -4
  51. package/dist/models/Exception/MiddlewareActivationError.d.ts.map +0 -1
  52. package/dist/models/Exception/MiddlewareActivationError.js +0 -11
  53. package/dist/models/Exception/MiddlewareActivationError.js.map +0 -1
  54. package/dist/models/Exception/StreamTrackingError.d.ts +0 -4
  55. package/dist/models/Exception/StreamTrackingError.d.ts.map +0 -1
  56. package/dist/models/Exception/StreamTrackingError.js +0 -11
  57. package/dist/models/Exception/StreamTrackingError.js.map +0 -1
  58. package/dist/models/Exception/TokenCountingError.d.ts +0 -4
  59. package/dist/models/Exception/TokenCountingError.d.ts.map +0 -1
  60. package/dist/models/Exception/TokenCountingError.js +0 -11
  61. package/dist/models/Exception/TokenCountingError.js.map +0 -1
  62. package/dist/models/Exception/index.d.ts +0 -7
  63. package/dist/models/Exception/index.d.ts.map +0 -1
  64. package/dist/models/Exception/index.js +0 -23
  65. package/dist/models/Exception/index.js.map +0 -1
  66. package/dist/models/Logger.d.ts +0 -10
  67. package/dist/models/Logger.d.ts.map +0 -1
  68. package/dist/models/Logger.js +0 -36
  69. package/dist/models/Logger.js.map +0 -1
  70. package/dist/models/index.d.ts +0 -3
  71. package/dist/models/index.d.ts.map +0 -1
  72. package/dist/models/index.js +0 -19
  73. package/dist/models/index.js.map +0 -1
  74. package/dist/perplexity-ai/client.d.ts +0 -31
  75. package/dist/perplexity-ai/client.d.ts.map +0 -1
  76. package/dist/perplexity-ai/client.js +0 -75
  77. package/dist/perplexity-ai/client.js.map +0 -1
  78. package/dist/perplexity-ai/index.d.ts +0 -3
  79. package/dist/perplexity-ai/index.d.ts.map +0 -1
  80. package/dist/perplexity-ai/index.js +0 -19
  81. package/dist/perplexity-ai/index.js.map +0 -1
  82. package/dist/perplexity-ai/middleware.d.ts +0 -2
  83. package/dist/perplexity-ai/middleware.d.ts.map +0 -1
  84. package/dist/perplexity-ai/middleware.js +0 -195
  85. package/dist/perplexity-ai/middleware.js.map +0 -1
  86. package/dist/types/context.d.ts +0 -9
  87. package/dist/types/context.d.ts.map +0 -1
  88. package/dist/types/context.js +0 -3
  89. package/dist/types/context.js.map +0 -1
  90. package/dist/types/index.d.ts +0 -12
  91. package/dist/types/index.d.ts.map +0 -1
  92. package/dist/types/index.js +0 -28
  93. package/dist/types/index.js.map +0 -1
  94. package/dist/types/metering.d.ts +0 -28
  95. package/dist/types/metering.d.ts.map +0 -1
  96. package/dist/types/metering.js +0 -3
  97. package/dist/types/metering.js.map +0 -1
  98. package/dist/types/modelInfo.d.ts +0 -6
  99. package/dist/types/modelInfo.d.ts.map +0 -1
  100. package/dist/types/modelInfo.js +0 -3
  101. package/dist/types/modelInfo.js.map +0 -1
  102. package/dist/types/operation.d.ts +0 -5
  103. package/dist/types/operation.d.ts.map +0 -1
  104. package/dist/types/operation.js +0 -9
  105. package/dist/types/operation.js.map +0 -1
  106. package/dist/types/perplexityConfig.d.ts +0 -5
  107. package/dist/types/perplexityConfig.d.ts.map +0 -1
  108. package/dist/types/perplexityConfig.js +0 -3
  109. package/dist/types/perplexityConfig.js.map +0 -1
  110. package/dist/types/provider.d.ts +0 -4
  111. package/dist/types/provider.d.ts.map +0 -1
  112. package/dist/types/provider.js +0 -8
  113. package/dist/types/provider.js.map +0 -1
  114. package/dist/types/reveniumConfig.d.ts +0 -6
  115. package/dist/types/reveniumConfig.d.ts.map +0 -1
  116. package/dist/types/reveniumConfig.js +0 -3
  117. package/dist/types/reveniumConfig.js.map +0 -1
  118. package/dist/types/streamTracker.d.ts +0 -9
  119. package/dist/types/streamTracker.d.ts.map +0 -1
  120. package/dist/types/streamTracker.js +0 -3
  121. package/dist/types/streamTracker.js.map +0 -1
  122. package/dist/types/subscriber.d.ts +0 -9
  123. package/dist/types/subscriber.d.ts.map +0 -1
  124. package/dist/types/subscriber.js +0 -3
  125. package/dist/types/subscriber.js.map +0 -1
  126. package/dist/types/tokenCounts.d.ts +0 -6
  127. package/dist/types/tokenCounts.d.ts.map +0 -1
  128. package/dist/types/tokenCounts.js +0 -3
  129. package/dist/types/tokenCounts.js.map +0 -1
  130. package/dist/types/usageData.d.ts +0 -16
  131. package/dist/types/usageData.d.ts.map +0 -1
  132. package/dist/types/usageData.js +0 -3
  133. package/dist/types/usageData.js.map +0 -1
  134. package/dist/types/usageMetadata.d.ts +0 -14
  135. package/dist/types/usageMetadata.d.ts.map +0 -1
  136. package/dist/types/usageMetadata.js +0 -3
  137. package/dist/types/usageMetadata.js.map +0 -1
  138. package/dist/utils/activeMiddleware.d.ts +0 -2
  139. package/dist/utils/activeMiddleware.d.ts.map +0 -1
  140. package/dist/utils/activeMiddleware.js +0 -24
  141. package/dist/utils/activeMiddleware.js.map +0 -1
  142. package/dist/utils/askConsole.d.ts +0 -2
  143. package/dist/utils/askConsole.d.ts.map +0 -1
  144. package/dist/utils/askConsole.js +0 -20
  145. package/dist/utils/askConsole.js.map +0 -1
  146. package/dist/utils/calculateDurationMs.d.ts +0 -2
  147. package/dist/utils/calculateDurationMs.d.ts.map +0 -1
  148. package/dist/utils/calculateDurationMs.js +0 -7
  149. package/dist/utils/calculateDurationMs.js.map +0 -1
  150. package/dist/utils/constants/constants.d.ts +0 -9
  151. package/dist/utils/constants/constants.d.ts.map +0 -1
  152. package/dist/utils/constants/constants.js +0 -19
  153. package/dist/utils/constants/constants.js.map +0 -1
  154. package/dist/utils/constants/messages.d.ts +0 -19
  155. package/dist/utils/constants/messages.d.ts.map +0 -1
  156. package/dist/utils/constants/messages.js +0 -22
  157. package/dist/utils/constants/messages.js.map +0 -1
  158. package/dist/utils/createMeteringRequest.d.ts +0 -3
  159. package/dist/utils/createMeteringRequest.d.ts.map +0 -1
  160. package/dist/utils/createMeteringRequest.js +0 -10
  161. package/dist/utils/createMeteringRequest.js.map +0 -1
  162. package/dist/utils/createPerplexityMetadata.d.ts +0 -3
  163. package/dist/utils/createPerplexityMetadata.d.ts.map +0 -1
  164. package/dist/utils/createPerplexityMetadata.js +0 -12
  165. package/dist/utils/createPerplexityMetadata.js.map +0 -1
  166. package/dist/utils/extractModelName.d.ts +0 -2
  167. package/dist/utils/extractModelName.d.ts.map +0 -1
  168. package/dist/utils/extractModelName.js +0 -15
  169. package/dist/utils/extractModelName.js.map +0 -1
  170. package/dist/utils/extractPerplexityTokenCounts.d.ts +0 -3
  171. package/dist/utils/extractPerplexityTokenCounts.d.ts.map +0 -1
  172. package/dist/utils/extractPerplexityTokenCounts.js +0 -17
  173. package/dist/utils/extractPerplexityTokenCounts.js.map +0 -1
  174. package/dist/utils/extractStopReason.d.ts +0 -2
  175. package/dist/utils/extractStopReason.d.ts.map +0 -1
  176. package/dist/utils/extractStopReason.js +0 -14
  177. package/dist/utils/extractStopReason.js.map +0 -1
  178. package/dist/utils/extractUsageMetadata.d.ts +0 -3
  179. package/dist/utils/extractUsageMetadata.d.ts.map +0 -1
  180. package/dist/utils/extractUsageMetadata.js +0 -15
  181. package/dist/utils/extractUsageMetadata.js.map +0 -1
  182. package/dist/utils/formatTimestamp.d.ts +0 -2
  183. package/dist/utils/formatTimestamp.d.ts.map +0 -1
  184. package/dist/utils/formatTimestamp.js +0 -7
  185. package/dist/utils/formatTimestamp.js.map +0 -1
  186. package/dist/utils/generateTransactionId.d.ts +0 -2
  187. package/dist/utils/generateTransactionId.d.ts.map +0 -1
  188. package/dist/utils/generateTransactionId.js +0 -8
  189. package/dist/utils/generateTransactionId.js.map +0 -1
  190. package/dist/utils/getEnv.d.ts +0 -4
  191. package/dist/utils/getEnv.d.ts.map +0 -1
  192. package/dist/utils/getEnv.js +0 -16
  193. package/dist/utils/getEnv.js.map +0 -1
  194. package/dist/utils/index.d.ts +0 -13
  195. package/dist/utils/index.d.ts.map +0 -1
  196. package/dist/utils/index.js +0 -29
  197. package/dist/utils/index.js.map +0 -1
  198. package/dist/utils/safeExtract.d.ts +0 -2
  199. package/dist/utils/safeExtract.d.ts.map +0 -1
  200. package/dist/utils/safeExtract.js +0 -22
  201. package/dist/utils/safeExtract.js.map +0 -1
  202. package/dist/utils/sendMeteringData.d.ts +0 -3
  203. package/dist/utils/sendMeteringData.d.ts.map +0 -1
  204. package/dist/utils/sendMeteringData.js +0 -35
  205. package/dist/utils/sendMeteringData.js.map +0 -1
  206. package/dist/utils/verifyLogVerbose.d.ts +0 -2
  207. package/dist/utils/verifyLogVerbose.d.ts.map +0 -1
  208. package/dist/utils/verifyLogVerbose.js +0 -10
  209. package/dist/utils/verifyLogVerbose.js.map +0 -1
  210. package/examples/basic-client-example.ts +0 -36
  211. package/examples/metadata-example.ts +0 -97
  212. package/examples/multiple-models-example.ts +0 -65
  213. package/examples/openai-client-example.ts +0 -76
  214. package/examples/perplexity_basic_example.ts +0 -24
  215. package/examples/perplexity_middleware_example.ts +0 -222
  216. package/examples/run-all-examples.ts +0 -118
  217. package/examples/simple-test.ts +0 -278
  218. package/examples/streaming-example.ts +0 -46
  219. package/playground/custom-config.js +0 -82
  220. package/playground/metadata.js +0 -94
  221. package/playground/multiple-models.js +0 -62
  222. package/playground/openai-client.js +0 -73
  223. package/src/models/Exception/ApiResponseError.ts +0 -6
  224. package/src/models/Exception/ConfigurationError.ts +0 -6
  225. package/src/models/Exception/MeteringError.ts +0 -6
  226. package/src/models/Exception/MiddlewareActivationError.ts +0 -6
  227. package/src/models/Exception/StreamTrackingError.ts +0 -6
  228. package/src/models/Exception/TokenCountingError.ts +0 -6
  229. package/src/models/Exception/index.ts +0 -6
  230. package/src/models/index.ts +0 -2
  231. package/src/perplexity-ai/client.ts +0 -100
  232. package/src/perplexity-ai/index.ts +0 -2
  233. package/src/perplexity-ai/middleware.ts +0 -297
  234. package/src/types/context.ts +0 -9
  235. package/src/types/index.ts +0 -11
  236. package/src/types/modelInfo.ts +0 -5
  237. package/src/types/operation.ts +0 -4
  238. package/src/types/perplexityConfig.ts +0 -4
  239. package/src/types/provider.ts +0 -3
  240. package/src/types/reveniumConfig.ts +0 -5
  241. package/src/types/streamTracker.ts +0 -9
  242. package/src/types/tokenCounts.ts +0 -5
  243. package/src/types/usageData.ts +0 -16
  244. package/src/utils/activeMiddleware.ts +0 -34
  245. package/src/utils/askConsole.ts +0 -15
  246. package/src/utils/createMeteringRequest.ts +0 -16
  247. package/src/utils/createPerplexityMetadata.ts +0 -11
  248. package/src/utils/extractModelName.ts +0 -14
  249. package/src/utils/extractPerplexityTokenCounts.ts +0 -16
  250. package/src/utils/extractStopReason.ts +0 -13
  251. package/src/utils/extractUsageMetadata.ts +0 -15
  252. package/src/utils/getEnv.ts +0 -16
  253. package/src/utils/sendMeteringData.ts +0 -46
  254. package/src/utils/verifyLogVerbose.ts +0 -7
  255. /package/src/utils/{formatTimestamp.ts → formatTimeStamp.ts} +0 -0
@@ -1,23 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./ApiResponseError"), exports);
18
- __exportStar(require("./ConfigurationError"), exports);
19
- __exportStar(require("./MeteringError"), exports);
20
- __exportStar(require("./MiddlewareActivationError"), exports);
21
- __exportStar(require("./StreamTrackingError"), exports);
22
- __exportStar(require("./TokenCountingError"), exports);
23
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/Exception/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,uDAAqC;AACrC,kDAAgC;AAChC,8DAA4C;AAC5C,wDAAsC;AACtC,uDAAqC"}
@@ -1,10 +0,0 @@
1
- export declare class Logger {
2
- private static logLevel;
3
- static debug(message: string, data?: any): void;
4
- static info(message: string, data?: any): void;
5
- static warning(message: string, data?: any): void;
6
- static error(message: string, data?: any): void;
7
- private static shouldLog;
8
- }
9
- export declare const logger: typeof Logger;
10
- //# sourceMappingURL=Logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/models/Logger.ts"],"names":[],"mappings":"AAEA,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoD;IAE3E,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAM/C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAM9C,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAMjD,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAM/C,OAAO,CAAC,MAAM,CAAC,SAAS;CAMzB;AAED,eAAO,MAAM,MAAM,eAAS,CAAC"}
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.logger = exports.Logger = void 0;
4
- const constants_1 = require("../utils/constants/constants");
5
- class Logger {
6
- static debug(message, data) {
7
- if (this.shouldLog(constants_1.LOG_LEVELS[0])) {
8
- console.log(`${constants_1.LOG_LEVELS[0]} ${message}`, data || "");
9
- }
10
- }
11
- static info(message, data) {
12
- if (this.shouldLog(constants_1.LOG_LEVELS[1])) {
13
- console.log(`${constants_1.LOG_LEVELS[1]} ${message}`, data || "");
14
- }
15
- }
16
- static warning(message, data) {
17
- if (this.shouldLog(constants_1.LOG_LEVELS[2])) {
18
- console.warn(`${constants_1.LOG_LEVELS[2]} ${message}`, data || "");
19
- }
20
- }
21
- static error(message, data) {
22
- if (this.shouldLog(constants_1.LOG_LEVELS[3])) {
23
- console.error(`${constants_1.LOG_LEVELS[3]} ${message}`, data || "");
24
- }
25
- }
26
- static shouldLog(level) {
27
- const levels = constants_1.LOG_LEVELS;
28
- const currentLevel = levels.indexOf(this.logLevel.toUpperCase());
29
- const messageLevel = levels.indexOf(level);
30
- return messageLevel >= currentLevel;
31
- }
32
- }
33
- exports.Logger = Logger;
34
- Logger.logLevel = process.env.REVENIUM_LOG_LEVEL || "INFO";
35
- exports.logger = Logger;
36
- //# sourceMappingURL=Logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/models/Logger.ts"],"names":[],"mappings":";;;AAAA,4DAA0D;AAE1D,MAAa,MAAM;IAGjB,MAAM,CAAC,KAAK,CAAC,OAAe,EAAE,IAAU;QACtC,IAAI,IAAI,CAAC,SAAS,CAAC,sBAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,GAAG,sBAAU,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,OAAe,EAAE,IAAU;QACrC,IAAI,IAAI,CAAC,SAAS,CAAC,sBAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,GAAG,sBAAU,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,OAAe,EAAE,IAAU;QACxC,IAAI,IAAI,CAAC,SAAS,CAAC,sBAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,GAAG,sBAAU,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAe,EAAE,IAAU;QACtC,IAAI,IAAI,CAAC,SAAS,CAAC,sBAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,CAAC,GAAG,sBAAU,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,SAAS,CAAC,KAAa;QACpC,MAAM,MAAM,GAAG,sBAAU,CAAC;QAC1B,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO,YAAY,IAAI,YAAY,CAAC;IACtC,CAAC;;AAhCH,wBAiCC;AAhCgB,eAAQ,GAAW,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,MAAM,CAAC;AAkChE,QAAA,MAAM,GAAG,MAAM,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from "./Logger";
2
- export * from "./Exception";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./Logger"), exports);
18
- __exportStar(require("./Exception"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,8CAA4B"}
@@ -1,31 +0,0 @@
1
- import { OpenAI } from "openai";
2
- import type { ChatCompletionMessageParam } from "openai/resources/chat/completions";
3
- import "./middleware";
4
- export declare class PerplexityClient {
5
- private client;
6
- constructor(apiKey?: string, baseUrl?: string);
7
- createChatCompletion(params: {
8
- model: string;
9
- messages: ChatCompletionMessageParam[];
10
- stream?: false;
11
- usageMetadata?: any;
12
- [key: string]: any;
13
- }): Promise<OpenAI.Chat.Completions.ChatCompletion & {
14
- _request_id?: string | null;
15
- }>;
16
- createStreamingChatCompletion(params: {
17
- model: string;
18
- messages: ChatCompletionMessageParam[];
19
- usageMetadata?: any;
20
- [key: string]: any;
21
- }): Promise<import("openai/core/streaming").Stream<OpenAI.Chat.Completions.ChatCompletionChunk> & {
22
- _request_id?: string | null;
23
- }>;
24
- getModels(): Promise<OpenAI.Models.ModelsPage>;
25
- }
26
- /**
27
- * Create a Perplexity client instance
28
- */
29
- export declare function createPerplexityClient(apiKey?: string, baseUrl?: string): PerplexityClient;
30
- export { OpenAI };
31
- //# sourceMappingURL=client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/perplexity-ai/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAWpF,OAAO,cAAc,CAAC;AAItB,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAgBvC,oBAAoB,CAAC,MAAM,EAAE;QACjC,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,0BAA0B,EAAE,CAAC;QACvC,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,aAAa,CAAC,EAAE,GAAG,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB;;;IAaK,6BAA6B,CAAC,MAAM,EAAE;QAC1C,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,0BAA0B,EAAE,CAAC;QACvC,aAAa,CAAC,EAAE,GAAG,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB;;;IAkBK,SAAS;CAShB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,gBAAgB,CAElB;AAGD,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -1,75 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpenAI = exports.PerplexityClient = void 0;
4
- exports.createPerplexityClient = createPerplexityClient;
5
- const openai_1 = require("openai");
6
- Object.defineProperty(exports, "OpenAI", { enumerable: true, get: function () { return openai_1.OpenAI; } });
7
- const models_1 = require("../models");
8
- const messages_1 = require("../utils/constants/messages");
9
- // Import middleware to activate automatic tracking
10
- require("./middleware");
11
- const constants_1 = require("../utils/constants/constants");
12
- //Perplexity AI Client with middleware integration
13
- class PerplexityClient {
14
- constructor(apiKey, baseUrl) {
15
- const perplexityApiKey = apiKey || process.env.PERPLEXITY_API_KEY;
16
- if (!perplexityApiKey) {
17
- throw new Error(messages_1.PERPLEXITY_REQUIRED_API_KEY_MESSAGE);
18
- }
19
- this.client = new openai_1.OpenAI({
20
- apiKey: perplexityApiKey,
21
- baseURL: baseUrl ?? constants_1.CURRENT_PERPLEXITY_BASE_URL,
22
- });
23
- models_1.Logger.info(messages_1.PERPLEXITY_CLIENT_INITIALIZED_MESSAGE);
24
- }
25
- //Create a chat completion
26
- async createChatCompletion(params) {
27
- try {
28
- // Remove usageMetadata from params as it's not part of OpenAI API
29
- const { usageMetadata, ...openaiParams } = params;
30
- const response = await this.client.chat.completions.create(openaiParams);
31
- return response;
32
- }
33
- catch (error) {
34
- models_1.Logger.error(messages_1.PERPLEXITY_CHAT_COMPLETION_FAILED_MESSAGE, { error });
35
- throw error;
36
- }
37
- }
38
- //Create a streaming chat completion
39
- async createStreamingChatCompletion(params) {
40
- try {
41
- // Remove usageMetadata from params as it's not part of OpenAI API
42
- const { usageMetadata, ...openaiParams } = params;
43
- const stream = await this.client.chat.completions.create({
44
- ...openaiParams,
45
- stream: true,
46
- });
47
- return stream;
48
- }
49
- catch (error) {
50
- models_1.Logger.error(messages_1.PERPLEXITY_STREAMING_CHAT_COMPLETION_FAILED_MESSAGE, {
51
- error,
52
- });
53
- throw error;
54
- }
55
- }
56
- //Get available models
57
- async getModels() {
58
- try {
59
- const models = await this.client.models.list();
60
- return models;
61
- }
62
- catch (error) {
63
- models_1.Logger.error(messages_1.PERPLEXITY_GET_MODELS_FAILED_MESSAGE, { error });
64
- throw error;
65
- }
66
- }
67
- }
68
- exports.PerplexityClient = PerplexityClient;
69
- /**
70
- * Create a Perplexity client instance
71
- */
72
- function createPerplexityClient(apiKey, baseUrl) {
73
- return new PerplexityClient(apiKey, baseUrl);
74
- }
75
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/perplexity-ai/client.ts"],"names":[],"mappings":";;;AA2FA,wDAKC;AAhGD,mCAAgC;AAmGvB,uFAnGA,eAAM,OAmGA;AAjGf,sCAAmC;AACnC,0DAMqC;AAErC,mDAAmD;AACnD,wBAAsB;AACtB,4DAA2E;AAE3E,kDAAkD;AAClD,MAAa,gBAAgB;IAG3B,YAAY,MAAe,EAAE,OAAgB;QAC3C,MAAM,gBAAgB,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAElE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8CAAmC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC;YACvB,MAAM,EAAE,gBAAgB;YACxB,OAAO,EAAE,OAAO,IAAI,uCAA2B;SAChD,CAAC,CAAC;QAEH,eAAM,CAAC,IAAI,CAAC,gDAAqC,CAAC,CAAC;IACrD,CAAC;IAED,0BAA0B;IAC1B,KAAK,CAAC,oBAAoB,CAAC,MAM1B;QACC,IAAI,CAAC;YACH,kEAAkE;YAClE,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC;YAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACzE,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CAAC,oDAAyC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACnE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,KAAK,CAAC,6BAA6B,CAAC,MAKnC;QACC,IAAI,CAAC;YACH,kEAAkE;YAClE,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACvD,GAAG,YAAY;gBACf,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CAAC,8DAAmD,EAAE;gBAChE,KAAK;aACN,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,KAAK,CAAC,SAAS;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC/C,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CAAC,+CAAoC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAtED,4CAsEC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CACpC,MAAe,EACf,OAAgB;IAEhB,OAAO,IAAI,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from "./middleware";
2
- export * from "./client";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/perplexity-ai/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./middleware"), exports);
18
- __exportStar(require("./client"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/perplexity-ai/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,2CAAyB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=middleware.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/perplexity-ai/middleware.ts"],"names":[],"mappings":""}
@@ -1,195 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const models_1 = require("../models");
4
- const types_1 = require("../types");
5
- const utils_1 = require("../utils");
6
- const models_2 = require("../models");
7
- const messages_1 = require("../utils/constants/messages");
8
- const constants_1 = require("../utils/constants/constants");
9
- const getEnv_1 = require("../utils/getEnv");
10
- // Stream tracking storage
11
- const streamTrackers = new Map();
12
- // Track if middleware has been initialized to avoid double initialization
13
- let middlewareInitialized = false;
14
- //Initialize Perplexity AI middleware.
15
- function initializePerplexityMiddleware() {
16
- if (middlewareInitialized) {
17
- console.log(messages_1.DEBUG_MIDDLEWARE_ALREADY_INITIALIZED_MESSAGE);
18
- return;
19
- }
20
- // Always initialize middleware, even without API key
21
- if (!(0, getEnv_1.getReveniumApiKey)()) {
22
- models_1.Logger.warning(messages_1.WARNING_REVENIUM_METERING_API_KEY_NOT_FOUND_MESSAGE);
23
- }
24
- try {
25
- // Intercept HTTP requests to Perplexity API
26
- interceptPerplexityHTTPRequests();
27
- // Mark as initialized
28
- middlewareInitialized = true;
29
- console.log(messages_1.DEBUG_MIDDLEWARE_INITIALIZED_MESSAGE);
30
- }
31
- catch (error) {
32
- console.error(messages_1.DEBUG_MIDDLEWARE_FAILED_TO_INITIALIZE_MESSAGE, error);
33
- throw new models_2.ConfigurationError(`${messages_1.FAILED_TO_INITIALIZE_PERPLEXITY_MIDDLEWARE_MESSAGE}: ${error}`);
34
- }
35
- }
36
- //Intercept HTTP requests to Perplexity API
37
- function interceptPerplexityHTTPRequests() {
38
- // Store original fetch function
39
- const originalFetch = global.fetch;
40
- // Override fetch to intercept Perplexity API calls
41
- global.fetch = async function (input, init) {
42
- const url = typeof input === "string" ? input : input.toString();
43
- console.log("🔍 [DEBUG] URL:", url);
44
- // Check if this is a Perplexity API request
45
- if (url.includes((0, getEnv_1.getPerplexityBaseUrl)()) ||
46
- url.includes("api.perplexity.ai")) {
47
- return await handlePerplexityRequest(url, init, originalFetch);
48
- }
49
- // For non-Perplexity requests, use original fetch
50
- return originalFetch(input, init);
51
- };
52
- console.log(messages_1.DEBUG_MIDDLEWARE_INTERCEPTING_PERPLEXITY_REQUESTS_MESSAGE);
53
- }
54
- //Handle Perplexity API requests
55
- async function handlePerplexityRequest(url, init, originalFetch) {
56
- const startTime = new Date();
57
- const transactionId = (0, utils_1.generateTransactionId)();
58
- // Extract request body for metadata
59
- let requestBody = {};
60
- if (init?.body) {
61
- try {
62
- requestBody =
63
- typeof init.body === "string" ? JSON.parse(init.body) : init.body;
64
- }
65
- catch (error) {
66
- models_1.Logger.warning(messages_1.FAILED_TO_PARSE_REQUEST_BODY_FOR_METADATA_EXTRACTION_MESSAGE);
67
- }
68
- }
69
- // Extract usage metadata
70
- const usageMetadata = (0, utils_1.extractUsageMetadata)(requestBody, null);
71
- const model = requestBody.model || constants_1.DEFAULT_PERPLEXITY_MODEL;
72
- models_1.Logger.debug(messages_1.DEBUG_MIDDLEWARE_PERPLEXITY_API_REQUEST_INTERCEPTED_MESSAGE, {
73
- transactionId,
74
- model,
75
- url,
76
- });
77
- try {
78
- // Make the original request
79
- const response = await originalFetch(url, init);
80
- // Clone the response so we can read it and still return it
81
- const responseClone = response.clone();
82
- // Process the response asynchronously (don't wait for it)
83
- processPerplexityResponse(responseClone, transactionId, model, startTime, usageMetadata);
84
- // Return the original response immediately
85
- return response;
86
- }
87
- catch (error) {
88
- models_1.Logger.error(messages_1.ERROR_PERPLEXITY_API_REQUEST_FAILED_MESSAGE, {
89
- transactionId,
90
- error,
91
- });
92
- throw error;
93
- }
94
- }
95
- //Process Perplexity API response
96
- async function processPerplexityResponse(response, transactionId, model, startTime, usageMetadata, subscriber, taskType, costType, operationType, organizationId, productId, isStreamed) {
97
- try {
98
- const endTime = new Date();
99
- const duration = (0, utils_1.calculateDurationMs)(startTime, endTime);
100
- // Check if this is a streaming response
101
- const contentType = response.headers.get("content-type") || "";
102
- const isStreamingResponse = contentType.includes("text/plain") ||
103
- contentType.includes("text/event-stream");
104
- let responseData;
105
- let tokenCounts = { inputTokens: 0, outputTokens: 0, totalTokens: 0 };
106
- let stopReason = "END";
107
- if (isStreamingResponse) {
108
- // For streaming responses, we can't easily parse the full response
109
- // We'll extract what we can from the stream or use defaults
110
- const responseText = await response.text();
111
- // Try to extract token information from the last complete JSON chunk
112
- const jsonChunks = responseText
113
- .split("\n")
114
- .filter((line) => line.startsWith("data: ") && line !== "data: [DONE]")
115
- .map((line) => line.substring(6)); // Remove 'data: ' prefix
116
- if (jsonChunks.length > 0) {
117
- try {
118
- // Parse the last chunk to get usage information
119
- const lastChunk = JSON.parse(jsonChunks[jsonChunks.length - 1]);
120
- if (lastChunk.usage) {
121
- tokenCounts = (0, utils_1.extractPerplexityTokenCounts)(lastChunk);
122
- }
123
- }
124
- catch (e) {
125
- // If we can't parse, use defaults
126
- models_1.Logger.warning("Could not parse streaming response for token counts, using defaults");
127
- }
128
- }
129
- responseData = { usage: tokenCounts };
130
- }
131
- else {
132
- // Parse response body for non-streaming responses
133
- responseData = await response.json();
134
- tokenCounts = (0, utils_1.extractPerplexityTokenCounts)(responseData);
135
- stopReason = (0, utils_1.extractStopReason)(responseData);
136
- }
137
- const modelName = (0, utils_1.extractModelName)(responseData, model);
138
- // Send metering data (only if API key is available)
139
- if ((0, getEnv_1.getReveniumApiKey)()) {
140
- try {
141
- await (0, utils_1.sendMeteringData)({
142
- stopReason: "END",
143
- costType: costType || "AI",
144
- isStreamed: isStreamed || true,
145
- taskType: taskType || "chat",
146
- agent: "perplexity-ai",
147
- operationType: operationType || "CHAT",
148
- inputTokenCount: tokenCounts.inputTokens,
149
- outputTokenCount: tokenCounts.outputTokens,
150
- reasoningTokenCount: 0,
151
- cacheCreationTokenCount: 0,
152
- cacheReadTokenCount: 0,
153
- totalTokenCount: tokenCounts.totalTokens,
154
- organizationId: organizationId || "my-customers-name",
155
- productId: productId || "free-trial",
156
- subscriber: subscriber || {
157
- id: `user-${(0, utils_1.generateTransactionId)()}`,
158
- email: `user@perplexity.ai`,
159
- credential: {
160
- name: "keyname",
161
- value: "keyValue",
162
- },
163
- },
164
- model: modelName,
165
- transactionId,
166
- responseTime: (0, utils_1.formatTimestamp)(endTime),
167
- requestDuration: duration,
168
- provider: types_1.Provider.PERPLEXITY,
169
- requestTime: (0, utils_1.formatTimestamp)(startTime),
170
- completionStartTime: (0, utils_1.formatTimestamp)(endTime),
171
- timeToFirstToken: 0,
172
- middleware_source: "node",
173
- }, (0, getEnv_1.getReveniumApiKey)(), (0, getEnv_1.getReveniumBaseUrl)());
174
- }
175
- catch (error) {
176
- models_1.Logger.warning(messages_1.WARNING_FAILED_TO_SEND_METERING_DATA_MESSAGE, { error });
177
- }
178
- }
179
- else {
180
- models_1.Logger.debug(messages_1.DEBUG_SKIPPING_METERING_DATA_SEND_MESSAGE);
181
- }
182
- models_1.Logger.debug(messages_1.DEBUG_MIDDLEWARE_PERPLEXITY_API_RESPONSE_METERING_COMPLETED_MESSAGE, {
183
- transactionId,
184
- });
185
- }
186
- catch (error) {
187
- models_1.Logger.error(messages_1.ERROR_FAILED_TO_PROCESS_PERPLEXITY_RESPONSE_MESSAGE, {
188
- transactionId,
189
- error,
190
- });
191
- }
192
- }
193
- // Initialize middleware when this module is imported
194
- initializePerplexityMiddleware();
195
- //# sourceMappingURL=middleware.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/perplexity-ai/middleware.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { UsageMetadata } from "./usageMetadata";
2
- export interface Context {
3
- transactionId: string;
4
- startTime: Date;
5
- model: string;
6
- operationType: string;
7
- usageMetadata?: UsageMetadata;
8
- }
9
- //# sourceMappingURL=context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/types/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,WAAW,OAAO;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/types/context.ts"],"names":[],"mappings":""}
@@ -1,12 +0,0 @@
1
- export * from "./context";
2
- export * from "./perplexityConfig";
3
- export * from "./metering";
4
- export * from "./modelInfo";
5
- export * from "./operation";
6
- export * from "./provider";
7
- export * from "./reveniumConfig";
8
- export * from "./streamTracker";
9
- export * from "./tokenCounts";
10
- export * from "./usageData";
11
- export * from "./usageMetadata";
12
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC"}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./context"), exports);
18
- __exportStar(require("./perplexityConfig"), exports);
19
- __exportStar(require("./metering"), exports);
20
- __exportStar(require("./modelInfo"), exports);
21
- __exportStar(require("./operation"), exports);
22
- __exportStar(require("./provider"), exports);
23
- __exportStar(require("./reveniumConfig"), exports);
24
- __exportStar(require("./streamTracker"), exports);
25
- __exportStar(require("./tokenCounts"), exports);
26
- __exportStar(require("./usageData"), exports);
27
- __exportStar(require("./usageMetadata"), exports);
28
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,qDAAmC;AACnC,6CAA2B;AAC3B,8CAA4B;AAC5B,8CAA4B;AAC5B,6CAA2B;AAC3B,mDAAiC;AACjC,kDAAgC;AAChC,gDAA8B;AAC9B,8CAA4B;AAC5B,kDAAgC"}
@@ -1,28 +0,0 @@
1
- import { Subscriber } from "./subscriber";
2
- export interface MeteringRequest {
3
- stopReason: string;
4
- costType: string;
5
- isStreamed: boolean;
6
- taskType: string;
7
- agent: string;
8
- operationType: string;
9
- inputTokenCount: number;
10
- outputTokenCount: number;
11
- reasoningTokenCount: number;
12
- cacheCreationTokenCount: number;
13
- cacheReadTokenCount: number;
14
- totalTokenCount: number;
15
- organizationId: string;
16
- productId: string;
17
- subscriber: Subscriber;
18
- model: string;
19
- transactionId: string;
20
- responseTime: string;
21
- requestDuration: number;
22
- provider: string;
23
- requestTime: string;
24
- completionStartTime: string;
25
- timeToFirstToken: number;
26
- middleware_source: string;
27
- }
28
- //# sourceMappingURL=metering.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metering.d.ts","sourceRoot":"","sources":["../../src/types/metering.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=metering.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metering.js","sourceRoot":"","sources":["../../src/types/metering.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- export interface ModelInfo {
2
- name: string;
3
- provider: string;
4
- contextLength?: number;
5
- }
6
- //# sourceMappingURL=modelInfo.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"modelInfo.d.ts","sourceRoot":"","sources":["../../src/types/modelInfo.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=modelInfo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"modelInfo.js","sourceRoot":"","sources":["../../src/types/modelInfo.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- export declare enum OperationType {
2
- CHAT = "chat",
3
- STREAMING = "streaming"
4
- }
5
- //# sourceMappingURL=operation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../src/types/operation.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,SAAS,cAAc;CACxB"}