cost-katana 2.0.0

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 (215) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +550 -0
  3. package/dist/analyzers/cost-analyzer.d.ts +28 -0
  4. package/dist/analyzers/cost-analyzer.d.ts.map +1 -0
  5. package/dist/analyzers/cost-analyzer.js +165 -0
  6. package/dist/analyzers/cost-analyzer.js.map +1 -0
  7. package/dist/analyzers/token-counter.d.ts +21 -0
  8. package/dist/analyzers/token-counter.d.ts.map +1 -0
  9. package/dist/analyzers/token-counter.js +100 -0
  10. package/dist/analyzers/token-counter.js.map +1 -0
  11. package/dist/analyzers/usage-tracker.d.ts +29 -0
  12. package/dist/analyzers/usage-tracker.d.ts.map +1 -0
  13. package/dist/analyzers/usage-tracker.js +142 -0
  14. package/dist/analyzers/usage-tracker.js.map +1 -0
  15. package/dist/config/default.d.ts +45 -0
  16. package/dist/config/default.d.ts.map +1 -0
  17. package/dist/config/default.js +103 -0
  18. package/dist/config/default.js.map +1 -0
  19. package/dist/config/model-types.d.ts +45 -0
  20. package/dist/config/model-types.d.ts.map +1 -0
  21. package/dist/config/model-types.js +101 -0
  22. package/dist/config/model-types.js.map +1 -0
  23. package/dist/config/pricing/anthropic.d.ts +3 -0
  24. package/dist/config/pricing/anthropic.d.ts.map +1 -0
  25. package/dist/config/pricing/anthropic.js +191 -0
  26. package/dist/config/pricing/anthropic.js.map +1 -0
  27. package/dist/config/pricing/aws-bedrock.d.ts +3 -0
  28. package/dist/config/pricing/aws-bedrock.d.ts.map +1 -0
  29. package/dist/config/pricing/aws-bedrock.js +747 -0
  30. package/dist/config/pricing/aws-bedrock.js.map +1 -0
  31. package/dist/config/pricing/cohere.d.ts +3 -0
  32. package/dist/config/pricing/cohere.d.ts.map +1 -0
  33. package/dist/config/pricing/cohere.js +371 -0
  34. package/dist/config/pricing/cohere.js.map +1 -0
  35. package/dist/config/pricing/deepseek.d.ts +3 -0
  36. package/dist/config/pricing/deepseek.d.ts.map +1 -0
  37. package/dist/config/pricing/deepseek.js +102 -0
  38. package/dist/config/pricing/deepseek.js.map +1 -0
  39. package/dist/config/pricing/google.d.ts +3 -0
  40. package/dist/config/pricing/google.d.ts.map +1 -0
  41. package/dist/config/pricing/google.js +671 -0
  42. package/dist/config/pricing/google.js.map +1 -0
  43. package/dist/config/pricing/grok.d.ts +3 -0
  44. package/dist/config/pricing/grok.d.ts.map +1 -0
  45. package/dist/config/pricing/grok.js +59 -0
  46. package/dist/config/pricing/grok.js.map +1 -0
  47. package/dist/config/pricing/index.d.ts +11 -0
  48. package/dist/config/pricing/index.d.ts.map +1 -0
  49. package/dist/config/pricing/index.js +24 -0
  50. package/dist/config/pricing/index.js.map +1 -0
  51. package/dist/config/pricing/meta.d.ts +3 -0
  52. package/dist/config/pricing/meta.d.ts.map +1 -0
  53. package/dist/config/pricing/meta.js +69 -0
  54. package/dist/config/pricing/meta.js.map +1 -0
  55. package/dist/config/pricing/mistral.d.ts +3 -0
  56. package/dist/config/pricing/mistral.d.ts.map +1 -0
  57. package/dist/config/pricing/mistral.js +690 -0
  58. package/dist/config/pricing/mistral.js.map +1 -0
  59. package/dist/config/pricing/openai.d.ts +3 -0
  60. package/dist/config/pricing/openai.d.ts.map +1 -0
  61. package/dist/config/pricing/openai.js +475 -0
  62. package/dist/config/pricing/openai.js.map +1 -0
  63. package/dist/config/pricing/xai.d.ts +3 -0
  64. package/dist/config/pricing/xai.d.ts.map +1 -0
  65. package/dist/config/pricing/xai.js +141 -0
  66. package/dist/config/pricing/xai.js.map +1 -0
  67. package/dist/config/pricing-data.d.ts +55 -0
  68. package/dist/config/pricing-data.d.ts.map +1 -0
  69. package/dist/config/pricing-data.js +179 -0
  70. package/dist/config/pricing-data.js.map +1 -0
  71. package/dist/feedback/client.d.ts +14 -0
  72. package/dist/feedback/client.d.ts.map +1 -0
  73. package/dist/feedback/client.js +95 -0
  74. package/dist/feedback/client.js.map +1 -0
  75. package/dist/feedback/index.d.ts +3 -0
  76. package/dist/feedback/index.d.ts.map +1 -0
  77. package/dist/feedback/index.js +21 -0
  78. package/dist/feedback/index.js.map +1 -0
  79. package/dist/gateway/client.d.ts +77 -0
  80. package/dist/gateway/client.d.ts.map +1 -0
  81. package/dist/gateway/client.js +630 -0
  82. package/dist/gateway/client.js.map +1 -0
  83. package/dist/gateway/index.d.ts +9 -0
  84. package/dist/gateway/index.d.ts.map +1 -0
  85. package/dist/gateway/index.js +66 -0
  86. package/dist/gateway/index.js.map +1 -0
  87. package/dist/index.d.ts +183 -0
  88. package/dist/index.d.ts.map +1 -0
  89. package/dist/index.js +1438 -0
  90. package/dist/index.js.map +1 -0
  91. package/dist/optimizers/context-trimmer.d.ts +18 -0
  92. package/dist/optimizers/context-trimmer.d.ts.map +1 -0
  93. package/dist/optimizers/context-trimmer.js +221 -0
  94. package/dist/optimizers/context-trimmer.js.map +1 -0
  95. package/dist/optimizers/index.d.ts +6 -0
  96. package/dist/optimizers/index.d.ts.map +1 -0
  97. package/dist/optimizers/index.js +14 -0
  98. package/dist/optimizers/index.js.map +1 -0
  99. package/dist/optimizers/prompt-compressor.d.ts +15 -0
  100. package/dist/optimizers/prompt-compressor.d.ts.map +1 -0
  101. package/dist/optimizers/prompt-compressor.js +268 -0
  102. package/dist/optimizers/prompt-compressor.js.map +1 -0
  103. package/dist/optimizers/prompt-optimizer.d.ts +29 -0
  104. package/dist/optimizers/prompt-optimizer.d.ts.map +1 -0
  105. package/dist/optimizers/prompt-optimizer.js +381 -0
  106. package/dist/optimizers/prompt-optimizer.js.map +1 -0
  107. package/dist/optimizers/request-fusion.d.ts +34 -0
  108. package/dist/optimizers/request-fusion.d.ts.map +1 -0
  109. package/dist/optimizers/request-fusion.js +284 -0
  110. package/dist/optimizers/request-fusion.js.map +1 -0
  111. package/dist/optimizers/suggestion-engine.d.ts +29 -0
  112. package/dist/optimizers/suggestion-engine.d.ts.map +1 -0
  113. package/dist/optimizers/suggestion-engine.js +234 -0
  114. package/dist/optimizers/suggestion-engine.js.map +1 -0
  115. package/dist/providers/anthropic.d.ts +23 -0
  116. package/dist/providers/anthropic.d.ts.map +1 -0
  117. package/dist/providers/anthropic.js +108 -0
  118. package/dist/providers/anthropic.js.map +1 -0
  119. package/dist/providers/azure.d.ts +15 -0
  120. package/dist/providers/azure.d.ts.map +1 -0
  121. package/dist/providers/azure.js +115 -0
  122. package/dist/providers/azure.js.map +1 -0
  123. package/dist/providers/base.d.ts +20 -0
  124. package/dist/providers/base.d.ts.map +1 -0
  125. package/dist/providers/base.js +67 -0
  126. package/dist/providers/base.js.map +1 -0
  127. package/dist/providers/bedrock.d.ts +23 -0
  128. package/dist/providers/bedrock.d.ts.map +1 -0
  129. package/dist/providers/bedrock.js +247 -0
  130. package/dist/providers/bedrock.js.map +1 -0
  131. package/dist/providers/cohere.d.ts +17 -0
  132. package/dist/providers/cohere.d.ts.map +1 -0
  133. package/dist/providers/cohere.js +122 -0
  134. package/dist/providers/cohere.js.map +1 -0
  135. package/dist/providers/deepseek.d.ts +6 -0
  136. package/dist/providers/deepseek.d.ts.map +1 -0
  137. package/dist/providers/deepseek.js +17 -0
  138. package/dist/providers/deepseek.js.map +1 -0
  139. package/dist/providers/google.d.ts +17 -0
  140. package/dist/providers/google.d.ts.map +1 -0
  141. package/dist/providers/google.js +141 -0
  142. package/dist/providers/google.js.map +1 -0
  143. package/dist/providers/index.d.ts +13 -0
  144. package/dist/providers/index.d.ts.map +1 -0
  145. package/dist/providers/index.js +61 -0
  146. package/dist/providers/index.js.map +1 -0
  147. package/dist/providers/openai.d.ts +16 -0
  148. package/dist/providers/openai.d.ts.map +1 -0
  149. package/dist/providers/openai.js +194 -0
  150. package/dist/providers/openai.js.map +1 -0
  151. package/dist/trace/client.d.ts +48 -0
  152. package/dist/trace/client.d.ts.map +1 -0
  153. package/dist/trace/client.js +130 -0
  154. package/dist/trace/client.js.map +1 -0
  155. package/dist/trace/index.d.ts +7 -0
  156. package/dist/trace/index.d.ts.map +1 -0
  157. package/dist/trace/index.js +30 -0
  158. package/dist/trace/index.js.map +1 -0
  159. package/dist/trace/middleware.d.ts +70 -0
  160. package/dist/trace/middleware.d.ts.map +1 -0
  161. package/dist/trace/middleware.js +104 -0
  162. package/dist/trace/middleware.js.map +1 -0
  163. package/dist/trace/providers.d.ts +83 -0
  164. package/dist/trace/providers.d.ts.map +1 -0
  165. package/dist/trace/providers.js +340 -0
  166. package/dist/trace/providers.js.map +1 -0
  167. package/dist/trace/service.d.ts +59 -0
  168. package/dist/trace/service.d.ts.map +1 -0
  169. package/dist/trace/service.js +425 -0
  170. package/dist/trace/service.js.map +1 -0
  171. package/dist/trace/types.d.ts +102 -0
  172. package/dist/trace/types.d.ts.map +1 -0
  173. package/dist/trace/types.js +3 -0
  174. package/dist/trace/types.js.map +1 -0
  175. package/dist/types/failover.d.ts +29 -0
  176. package/dist/types/failover.d.ts.map +1 -0
  177. package/dist/types/failover.js +3 -0
  178. package/dist/types/failover.js.map +1 -0
  179. package/dist/types/feedback.d.ts +69 -0
  180. package/dist/types/feedback.d.ts.map +1 -0
  181. package/dist/types/feedback.js +3 -0
  182. package/dist/types/feedback.js.map +1 -0
  183. package/dist/types/gateway.d.ts +303 -0
  184. package/dist/types/gateway.d.ts.map +1 -0
  185. package/dist/types/gateway.js +3 -0
  186. package/dist/types/gateway.js.map +1 -0
  187. package/dist/types/index.d.ts +242 -0
  188. package/dist/types/index.d.ts.map +1 -0
  189. package/dist/types/index.js +37 -0
  190. package/dist/types/index.js.map +1 -0
  191. package/dist/types/models.d.ts +7 -0
  192. package/dist/types/models.d.ts.map +1 -0
  193. package/dist/types/models.js +3838 -0
  194. package/dist/types/models.js.map +1 -0
  195. package/dist/types/providers.d.ts +128 -0
  196. package/dist/types/providers.d.ts.map +1 -0
  197. package/dist/types/providers.js +10 -0
  198. package/dist/types/providers.js.map +1 -0
  199. package/dist/types/simplified.d.ts +65 -0
  200. package/dist/types/simplified.d.ts.map +1 -0
  201. package/dist/types/simplified.js +4 -0
  202. package/dist/types/simplified.js.map +1 -0
  203. package/dist/utils/logger.d.ts +35 -0
  204. package/dist/utils/logger.d.ts.map +1 -0
  205. package/dist/utils/logger.js +154 -0
  206. package/dist/utils/logger.js.map +1 -0
  207. package/dist/utils/pricing.d.ts +30 -0
  208. package/dist/utils/pricing.d.ts.map +1 -0
  209. package/dist/utils/pricing.js +148 -0
  210. package/dist/utils/pricing.js.map +1 -0
  211. package/dist/utils/validators.d.ts +10 -0
  212. package/dist/utils/validators.d.ts.map +1 -0
  213. package/dist/utils/validators.js +133 -0
  214. package/dist/utils/validators.js.map +1 -0
  215. package/package.json +92 -0
@@ -0,0 +1,9 @@
1
+ export { GatewayClient } from './client';
2
+ export * from '../types/gateway';
3
+ import { GatewayClient } from './client';
4
+ import { GatewayConfig } from '../types/gateway';
5
+ export declare function createGatewayClient(config: GatewayConfig): GatewayClient;
6
+ export declare function createGatewayClientFromEnv(overrides?: Partial<GatewayConfig>): GatewayClient;
7
+ export declare function createStandardGatewayClient(config: Omit<GatewayConfig, 'authMethod'>): GatewayClient;
8
+ export declare function createCostKatanaGatewayClient(config: Omit<GatewayConfig, 'authMethod'>): GatewayClient;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAKjD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CAExE;AAKD,wBAAgB,0BAA0B,CAAC,SAAS,GAAE,OAAO,CAAC,aAAa,CAAM,GAAG,aAAa,CA8BhG;AAKD,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,GACxC,aAAa,CAKf;AAKD,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,GACxC,aAAa,CAKf"}
@@ -0,0 +1,66 @@
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
+ exports.GatewayClient = void 0;
18
+ exports.createGatewayClient = createGatewayClient;
19
+ exports.createGatewayClientFromEnv = createGatewayClientFromEnv;
20
+ exports.createStandardGatewayClient = createStandardGatewayClient;
21
+ exports.createCostKatanaGatewayClient = createCostKatanaGatewayClient;
22
+ var client_1 = require("./client");
23
+ Object.defineProperty(exports, "GatewayClient", { enumerable: true, get: function () { return client_1.GatewayClient; } });
24
+ __exportStar(require("../types/gateway"), exports);
25
+ const client_2 = require("./client");
26
+ function createGatewayClient(config) {
27
+ return new client_2.GatewayClient(config);
28
+ }
29
+ function createGatewayClientFromEnv(overrides = {}) {
30
+ const apiKey = process.env.API_KEY || process.env.API_KEY;
31
+ const baseUrl = process.env.COSTKATANA_GATEWAY_URL || 'https://cost-katana-backend.store/api/gateway';
32
+ if (!apiKey) {
33
+ throw new Error('API_KEY or API_KEY environment variable not set. Please get your API key from the Cost Katana dashboard.');
34
+ }
35
+ const config = {
36
+ baseUrl,
37
+ apiKey,
38
+ authMethod: 'gateway',
39
+ enableCache: true,
40
+ enableRetries: true,
41
+ retryConfig: {
42
+ count: 3,
43
+ factor: 2,
44
+ minTimeout: 1000,
45
+ maxTimeout: 10000
46
+ },
47
+ cacheConfig: {
48
+ ttl: 604800
49
+ },
50
+ ...overrides
51
+ };
52
+ return new client_2.GatewayClient(config);
53
+ }
54
+ function createStandardGatewayClient(config) {
55
+ return createGatewayClient({
56
+ ...config,
57
+ authMethod: 'standard'
58
+ });
59
+ }
60
+ function createCostKatanaGatewayClient(config) {
61
+ return createGatewayClient({
62
+ ...config,
63
+ authMethod: 'gateway'
64
+ });
65
+ }
66
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAcA,kDAEC;AAKD,gEA8BC;AAKD,kEAOC;AAKD,sEAOC;AAvED,mCAAyC;AAAhC,uGAAA,aAAa,OAAA;AACtB,mDAAiC;AAGjC,qCAAyC;AAMzC,SAAgB,mBAAmB,CAAC,MAAqB;IACvD,OAAO,IAAI,sBAAa,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAKD,SAAgB,0BAA0B,CAAC,YAAoC,EAAE;IAC/E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IAC1D,MAAM,OAAO,GACX,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,+CAA+C,CAAC;IAExF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,0GAA0G,CAC3G,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAkB;QAC5B,OAAO;QACP,MAAM;QACN,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE;YACX,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,KAAK;SAClB;QACD,WAAW,EAAE;YACX,GAAG,EAAE,MAAM;SACZ;QACD,GAAG,SAAS;KACb,CAAC;IAEF,OAAO,IAAI,sBAAa,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAKD,SAAgB,2BAA2B,CACzC,MAAyC;IAEzC,OAAO,mBAAmB,CAAC;QACzB,GAAG,MAAM;QACT,UAAU,EAAE,UAAU;KACvB,CAAC,CAAC;AACL,CAAC;AAKD,SAAgB,6BAA6B,CAC3C,MAAyC;IAEzC,OAAO,mBAAmB,CAAC;QACzB,GAAG,MAAM;QACT,UAAU,EAAE,SAAS;KACtB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,183 @@
1
+ export { AIProvider } from './types';
2
+ export type { UsageMetadata, CostEstimate, OptimizationSuggestion, OptimizationResult, CompressionDetails, ContextTrimDetails, RequestFusionDetails, UsageAnalytics, ModelUsage, ProviderCost, TimeSeriesData, ExpensivePrompt, TrackerConfig, ProviderConfig, OptimizationConfig, BedrockConfig, TrackingConfig, AlertConfig, CustomPricing, AIResponse, FailoverTarget, FailoverPolicy, FailoverOptions, FailoverResponse } from './types';
3
+ export type { OpenAIModels, AnthropicModels, AWSBedrockModels, GoogleModels, CohereModels, MistralModels, GroqModels, DeepSeekModels, XAIModels, AllModels, ProviderModelMap, SimpleConfig, AnySimpleConfig, SimpleRequest, SimpleResponse, SimpleCostEstimate } from './types/simplified';
4
+ export { GatewayClient, createGatewayClient, createGatewayClientFromEnv, createStandardGatewayClient, createCostKatanaGatewayClient } from './gateway';
5
+ export type { GatewayConfig, GatewayRequestOptions, GatewayResponse, GatewayStats, CacheStats, WorkflowSummary, WorkflowDetails, RetryConfig, CacheConfig, WorkflowConfig, KeyVaultConfig, FirewallConfig, OpenAIRequest, AnthropicRequest, GoogleAIRequest, CohereRequest, ProxyKeyInfo, ProxyKeyUsageOptions, ThreatDetectionResult, FirewallAnalytics, FirewallOptions } from './types/gateway';
6
+ export { FeedbackClient } from './feedback';
7
+ export type { FeedbackOptions, ImplicitSignals, FeedbackAnalytics, ProviderRatings, ModelRatings, FeatureRatings, ImplicitSignalsAnalysis, FeedbackInsights, FeedbackSubmissionResult, FeedbackConfig } from './types/feedback';
8
+ export type { ProviderModel, ModelPricing, PricingUnit, ModelCapabilities, ProviderRequest, ProviderResponse, Message, Choice } from './types/providers';
9
+ export { MODELS, getModelById, getModelsByProvider, getAllModels } from './types/models';
10
+ export { BaseProvider, OpenAIProvider, BedrockProvider, createProvider, isProviderSupported } from './providers';
11
+ export { CostAnalyzer } from './analyzers/cost-analyzer';
12
+ export { TokenCounter } from './analyzers/token-counter';
13
+ export { UsageTracker } from './analyzers/usage-tracker';
14
+ export { PromptOptimizer } from './optimizers/prompt-optimizer';
15
+ export { SuggestionEngine } from './optimizers/suggestion-engine';
16
+ export { PromptCompressor } from './optimizers/prompt-compressor';
17
+ export { ContextTrimmer, ConversationMessage } from './optimizers/context-trimmer';
18
+ export { RequestFusion, FusionRequest } from './optimizers/request-fusion';
19
+ export type { SuggestionEngineConfig } from './optimizers/suggestion-engine';
20
+ export { calculateCost, estimateMonthlyCost, compareCosts, calculateROI, formatCurrency, calculateBatchingEconomics } from './utils/pricing';
21
+ export { validateProvider, validateModel, validateProviderConfig, validateTrackerConfig, validatePrompt, validateUserId, validateDateRange, sanitizeInput } from './utils/validators';
22
+ export { Logger, LogLevel, logger } from './utils/logger';
23
+ export type { LoggerConfig } from './utils/logger';
24
+ export { defaultConfig, defaultBedrockRegion, defaultOptimizationModel, supportedProviders, providerEndpoints, optimizationThresholds, alertThresholds } from './config/default';
25
+ export { OPENAI_MODEL_IDS, ANTHROPIC_MODEL_IDS, AWS_BEDROCK_MODEL_IDS, GOOGLE_MODEL_IDS, COHERE_MODEL_IDS, GROQ_MODEL_IDS, DEEPSEEK_MODEL_IDS, MISTRAL_MODEL_IDS, XAI_MODEL_IDS, getModelsForProvider, validateModelForProvider } from './config/model-types';
26
+ export { PRICING_CONFIG, PRICING_METADATA, getAllProviders, getProviderModels, getModelPricing, getLatestModels, getModelsByCategory, findCheapestModel, calculateCost as calculatePricingCost, estimateCost as estimatePricingCost, compareProviders } from './config/pricing-data';
27
+ export type { ModelPricingConfig } from './config/pricing-data';
28
+ import { TrackerConfig, AIProvider, UsageMetadata, CostEstimate, OptimizationSuggestion, OptimizationConfig } from './types';
29
+ import { PromptOptimizer } from './optimizers/prompt-optimizer';
30
+ import { ProviderRequest } from './types/providers';
31
+ import { GatewayClient } from './gateway/client';
32
+ import { FirewallAnalytics, FirewallOptions, GatewayConfig, GatewayRequestOptions, GatewayResponse, ProxyKeyInfo, ProxyKeyUsageOptions } from './types/gateway';
33
+ import { FeedbackOptions, ImplicitSignals, FeedbackAnalytics, FeedbackSubmissionResult } from './types/feedback';
34
+ import { ProviderModelMap, SimpleRequest, SimpleResponse, SimpleCostEstimate } from './types/simplified';
35
+ export declare class AICostTracker {
36
+ private config;
37
+ private providers;
38
+ private costAnalyzer;
39
+ private usageTracker;
40
+ private suggestionEngine;
41
+ private promptOptimizer;
42
+ private apiClient;
43
+ private gatewayClient?;
44
+ private constructor();
45
+ static create(config: TrackerConfig): Promise<AICostTracker>;
46
+ estimateCost(prompt: string, model: string, provider: AIProvider, expectedCompletionTokens?: number): Promise<CostEstimate>;
47
+ makeRequest(request: ProviderRequest): Promise<any>;
48
+ trackUsage(metadata: UsageMetadata | any): Promise<void>;
49
+ getAnalytics(startDate?: Date, endDate?: Date, userId?: string): Promise<any>;
50
+ getOptimizationSuggestions(startDate?: Date, endDate?: Date, userId?: string): Promise<OptimizationSuggestion[]>;
51
+ optimizePrompt(prompt: string, targetModel: string, targetProvider: AIProvider): Promise<OptimizationSuggestion[]>;
52
+ generateReport(startDate?: Date, endDate?: Date, userId?: string): Promise<string>;
53
+ exportData(format?: 'json' | 'csv', startDate?: Date, endDate?: Date, userId?: string): Promise<string>;
54
+ getUserStats(userId: string): Promise<any>;
55
+ getModelStats(model: string): Promise<any>;
56
+ clearData(): void;
57
+ private getProviderForModel;
58
+ private checkAlerts;
59
+ getOptimizer(): PromptOptimizer;
60
+ getOptimizationConfig(): OptimizationConfig;
61
+ updateOptimizationConfig(config: Partial<OptimizationConfig>): void;
62
+ initializeGateway(gatewayConfig?: Partial<GatewayConfig>): GatewayClient;
63
+ getGateway(): GatewayClient;
64
+ gatewayRequest(endpoint: string, data: any, options?: GatewayRequestOptions): Promise<GatewayResponse>;
65
+ gatewayOpenAI(request: any, options?: GatewayRequestOptions): Promise<GatewayResponse>;
66
+ gatewayAnthropic(request: any, options?: GatewayRequestOptions): Promise<GatewayResponse>;
67
+ private trackGatewayUsage;
68
+ private extractPromptFromRequest;
69
+ private extractCompletionFromResponse;
70
+ private extractMessagesFromRequest;
71
+ private extractSystemFromRequest;
72
+ private inferProviderFromOptions;
73
+ isUsingProxyKey(): boolean;
74
+ getProxyKeyInfo(): Promise<ProxyKeyInfo | null>;
75
+ makeProxyKeyRequest<T = any>(targetUrl: string, requestData: any, options?: ProxyKeyUsageOptions): Promise<GatewayResponse<T>>;
76
+ getProxyKeyUsage(): Promise<{
77
+ totalRequests: number;
78
+ totalCost: number;
79
+ dailyCost: number;
80
+ monthlyCost: number;
81
+ } | null>;
82
+ checkProxyKeyBudget(): Promise<{
83
+ withinBudget: boolean;
84
+ budgetStatus: 'good' | 'warning' | 'over';
85
+ message: string;
86
+ } | null>;
87
+ validateProxyKeyPermissions(requiredPermission: 'read' | 'write' | 'admin'): Promise<boolean>;
88
+ getFirewallAnalytics(userId?: string, dateRange?: {
89
+ start: Date;
90
+ end: Date;
91
+ }): Promise<FirewallAnalytics>;
92
+ makeFirewallProtectedRequest<T = any>(endpoint: string, data: any, firewallOptions: FirewallOptions, requestOptions?: GatewayRequestOptions): Promise<GatewayResponse<T>>;
93
+ gatewayOpenAIWithFirewall(request: any, firewallOptions: FirewallOptions, options?: GatewayRequestOptions): Promise<GatewayResponse>;
94
+ gatewayAnthropicWithFirewall(request: any, firewallOptions: FirewallOptions, options?: GatewayRequestOptions): Promise<GatewayResponse>;
95
+ private feedbackClient?;
96
+ initializeFeedback(apiKey?: string, baseURL?: string): void;
97
+ submitFeedback(requestId: string, feedback: FeedbackOptions): Promise<FeedbackSubmissionResult>;
98
+ updateImplicitSignals(requestId: string, signals: ImplicitSignals): Promise<FeedbackSubmissionResult>;
99
+ getFeedback(requestId: string): Promise<any>;
100
+ getFeedbackAnalytics(): Promise<FeedbackAnalytics>;
101
+ getEnhancedFeedbackAnalytics(): Promise<FeedbackAnalytics>;
102
+ getGlobalFeedbackAnalytics(): Promise<FeedbackAnalytics>;
103
+ }
104
+ export default AICostTracker;
105
+ declare class SimpleCostTracker<T extends keyof ProviderModelMap = keyof ProviderModelMap> {
106
+ private tracker;
107
+ private providerType;
108
+ private modelName;
109
+ private constructor();
110
+ static create<T extends keyof ProviderModelMap>(config: {
111
+ provider: T;
112
+ model: ProviderModelMap[T];
113
+ apiKey?: string;
114
+ region?: string;
115
+ projectId?: string;
116
+ enableOptimization?: boolean;
117
+ enableAutoTracking?: boolean;
118
+ }): Promise<SimpleCostTracker<T>>;
119
+ complete(request: SimpleRequest): Promise<SimpleResponse>;
120
+ estimateCost(prompt: string, expectedCompletionTokens?: number): Promise<SimpleCostEstimate>;
121
+ getAnalytics(startDate?: Date, endDate?: Date): Promise<any>;
122
+ exportUsageData(format?: 'json' | 'csv'): Promise<string>;
123
+ getProvider(): T;
124
+ getModel(): string;
125
+ private buildProviderRequest;
126
+ private parseProviderResponse;
127
+ private getProviderName;
128
+ }
129
+ export declare const createTracker: typeof SimpleCostTracker.create;
130
+ export declare const createOpenAITracker: (config: Omit<Parameters<typeof createTracker<AIProvider.OpenAI>>[0], "provider">) => Promise<SimpleCostTracker<AIProvider.OpenAI>>;
131
+ export declare const createAnthropicTracker: (config: Omit<Parameters<typeof createTracker<AIProvider.Anthropic>>[0], "provider">) => Promise<SimpleCostTracker<AIProvider.Anthropic>>;
132
+ export declare const createBedrockTracker: (config: Omit<Parameters<typeof createTracker<AIProvider.AWSBedrock>>[0], "provider">) => Promise<SimpleCostTracker<AIProvider.AWSBedrock>>;
133
+ export declare const createGoogleTracker: (config: Omit<Parameters<typeof createTracker<AIProvider.Google>>[0], "provider">) => Promise<SimpleCostTracker<AIProvider.Google>>;
134
+ export declare const createCohereTracker: (config: Omit<Parameters<typeof createTracker<AIProvider.Cohere>>[0], "provider">) => Promise<SimpleCostTracker<AIProvider.Cohere>>;
135
+ export declare const createGroqTracker: (config: Omit<Parameters<typeof createTracker<AIProvider.Groq>>[0], "provider">) => Promise<SimpleCostTracker<AIProvider.Groq>>;
136
+ export declare const createDeepSeekTracker: (config: Omit<Parameters<typeof createTracker<AIProvider.DeepSeek>>[0], "provider">) => Promise<SimpleCostTracker<AIProvider.DeepSeek>>;
137
+ export declare const createMistralTracker: (config: Omit<Parameters<typeof createTracker<AIProvider.Mistral>>[0], "provider">) => Promise<SimpleCostTracker<AIProvider.Mistral>>;
138
+ export declare const createXAITracker: (config: Omit<Parameters<typeof createTracker<AIProvider.XAI>>[0], "provider">) => Promise<SimpleCostTracker<AIProvider.XAI>>;
139
+ export { SimpleCostTracker };
140
+ export declare function ai(model: string, prompt: string, options?: {
141
+ systemMessage?: string;
142
+ temperature?: number;
143
+ maxTokens?: number;
144
+ cache?: boolean;
145
+ cortex?: boolean;
146
+ }): Promise<{
147
+ text: string;
148
+ cost: number;
149
+ tokens: number;
150
+ model: string;
151
+ provider: string;
152
+ cached?: boolean;
153
+ optimized?: boolean;
154
+ }>;
155
+ export declare function chat(model: string, options?: {
156
+ systemMessage?: string;
157
+ temperature?: number;
158
+ maxTokens?: number;
159
+ }): {
160
+ send(message: string): Promise<string>;
161
+ readonly messages: {
162
+ role: string;
163
+ content: string;
164
+ }[];
165
+ readonly totalCost: number;
166
+ readonly totalTokens: number;
167
+ clear(): void;
168
+ };
169
+ export declare function configure(options: {
170
+ apiKey?: string;
171
+ projectId?: string;
172
+ cortex?: boolean;
173
+ cache?: boolean;
174
+ firewall?: boolean;
175
+ providers?: Array<{
176
+ name: string;
177
+ apiKey?: string;
178
+ }>;
179
+ }): Promise<void>;
180
+ export * from './trace';
181
+ export { createTraceMiddleware, createChildSpan, TrackedOpenAI, TrackedAnthropic, createTrackedProvider, TraceClient, LocalTraceService } from './trace';
182
+ export type { TraceContext, TraceService, StartSpanInput, EndSpanInput, RecordMessageInput, TraceNode, SessionGraph, SessionDetails, LocalTraceServiceConfig, TraceClientConfig } from './trace';
183
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}