cost-katana 2.1.2 → 2.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/config/default.js +2 -2
- package/dist/config/model-types.js +2 -2
- package/dist/config/pricing-data.js +2 -2
- package/dist/constants/models.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +6 -6
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/models.js +4 -4
- package/dist/types/simplified.d.ts +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -174,7 +174,7 @@ console.log(response2.cached); // true - saved money!
|
|
|
174
174
|
|
|
175
175
|
### ⚡ Cortex Optimization
|
|
176
176
|
|
|
177
|
-
Reduce costs by
|
|
177
|
+
Reduce costs by 40-75% with Cortex:
|
|
178
178
|
|
|
179
179
|
```typescript
|
|
180
180
|
const response = await ai('gpt-4', 'Write a complete guide to Python', {
|
|
@@ -258,7 +258,7 @@ import { configure } from 'cost-katana';
|
|
|
258
258
|
|
|
259
259
|
await configure({
|
|
260
260
|
apiKey: 'dak_your_key',
|
|
261
|
-
cortex: true, //
|
|
261
|
+
cortex: true, // 40-75% cost savings
|
|
262
262
|
cache: true, // Smart caching
|
|
263
263
|
firewall: true // Security
|
|
264
264
|
});
|
|
@@ -570,7 +570,7 @@ await ai('gpt-4', 'Common question', { cache: true });
|
|
|
570
570
|
### 3. Use Cortex for Long Content
|
|
571
571
|
|
|
572
572
|
```typescript
|
|
573
|
-
//
|
|
573
|
+
// 40-75% savings on long-form content
|
|
574
574
|
await ai('gpt-4', 'Write a book chapter', { cortex: true });
|
|
575
575
|
```
|
|
576
576
|
|
package/dist/config/default.js
CHANGED
|
@@ -40,7 +40,7 @@ exports.supportedProviders = [
|
|
|
40
40
|
types_1.AIProvider.Cohere,
|
|
41
41
|
types_1.AIProvider.Azure,
|
|
42
42
|
types_1.AIProvider.DeepSeek,
|
|
43
|
-
types_1.AIProvider.
|
|
43
|
+
types_1.AIProvider.Grok,
|
|
44
44
|
types_1.AIProvider.Mistral,
|
|
45
45
|
types_1.AIProvider.XAI,
|
|
46
46
|
types_1.AIProvider.Meta,
|
|
@@ -57,7 +57,7 @@ exports.providerEndpoints = {
|
|
|
57
57
|
[types_1.AIProvider.Cohere]: 'https://api.cohere.ai/v1',
|
|
58
58
|
[types_1.AIProvider.Azure]: 'https://{resourceName}.openai.azure.com',
|
|
59
59
|
[types_1.AIProvider.DeepSeek]: 'https://api.deepseek.com/v1',
|
|
60
|
-
[types_1.AIProvider.
|
|
60
|
+
[types_1.AIProvider.Grok]: 'https://api.groq.com/openai/v1',
|
|
61
61
|
[types_1.AIProvider.Mistral]: 'https://api.mistral.ai/v1',
|
|
62
62
|
[types_1.AIProvider.XAI]: 'https://api.x.ai/v1',
|
|
63
63
|
[types_1.AIProvider.Meta]: 'https://api.llama.meta.com/v1',
|
|
@@ -23,7 +23,7 @@ const anthropicModelIds = extractModelIds('Anthropic');
|
|
|
23
23
|
const awsBedrockModelIds = extractModelIds('AWS Bedrock');
|
|
24
24
|
const googleModelIds = extractModelIds('Google AI');
|
|
25
25
|
const cohereModelIds = extractModelIds('Cohere');
|
|
26
|
-
const groqModelIds = extractModelIds('
|
|
26
|
+
const groqModelIds = extractModelIds('Grok');
|
|
27
27
|
const deepSeekModelIds = extractModelIds('DeepSeek');
|
|
28
28
|
const mistralModelIds = extractModelIds('Mistral AI');
|
|
29
29
|
const xaiModelIds = extractModelIds('xAI');
|
|
@@ -50,7 +50,7 @@ function getModelsForProvider(provider) {
|
|
|
50
50
|
return [...exports.GOOGLE_MODEL_IDS];
|
|
51
51
|
case 'Cohere':
|
|
52
52
|
return [...exports.COHERE_MODEL_IDS];
|
|
53
|
-
case '
|
|
53
|
+
case 'Grok':
|
|
54
54
|
return [...exports.GROQ_MODEL_IDS];
|
|
55
55
|
case 'DeepSeek':
|
|
56
56
|
return [...exports.DEEPSEEK_MODEL_IDS];
|
|
@@ -39,7 +39,7 @@ exports.PRICING_CONFIG = {
|
|
|
39
39
|
DeepSeek: deepseek_1.DEEPSEEK_PRICING,
|
|
40
40
|
'Mistral AI': mistral_1.MISTRAL_PRICING,
|
|
41
41
|
Cohere: cohere_1.COHERE_PRICING,
|
|
42
|
-
|
|
42
|
+
Grok: grok_1.GROK_PRICING,
|
|
43
43
|
Meta: meta_1.META_PRICING,
|
|
44
44
|
'AWS Bedrock': aws_bedrock_1.AWS_BEDROCK_PRICING
|
|
45
45
|
};
|
|
@@ -168,7 +168,7 @@ exports.PRICING_METADATA = {
|
|
|
168
168
|
'Complete Cohere AI lineup with all models',
|
|
169
169
|
'Command A, Command R+/R/R7B, Rerank 3.5, Embed 4',
|
|
170
170
|
'Cohere generative and retrieval models',
|
|
171
|
-
'
|
|
171
|
+
'Grok ultra-fast inference',
|
|
172
172
|
'All AWS Bedrock models',
|
|
173
173
|
'Claude 4 (Opus, Sonnet) and 3.7/3.5/3 Haiku/Sonnet/Opus (2025)',
|
|
174
174
|
'Google Gemini 1.5 with 1M context',
|
package/dist/constants/models.js
CHANGED
|
@@ -267,7 +267,7 @@ function getProviderFromModel(modelId) {
|
|
|
267
267
|
if (cohereModels.includes(modelId))
|
|
268
268
|
return 'Cohere';
|
|
269
269
|
if (groqModels.includes(modelId))
|
|
270
|
-
return '
|
|
270
|
+
return 'Grok';
|
|
271
271
|
if (metaModels.includes(modelId))
|
|
272
272
|
return 'Meta';
|
|
273
273
|
return 'unknown';
|
package/dist/index.d.ts
CHANGED
|
@@ -143,7 +143,7 @@ export declare const createAnthropicTracker: (config: Omit<Parameters<typeof cre
|
|
|
143
143
|
export declare const createBedrockTracker: (config: Omit<Parameters<typeof createTracker<AIProvider.AWSBedrock>>[0], "provider">) => Promise<SimpleCostTracker<AIProvider.AWSBedrock>>;
|
|
144
144
|
export declare const createGoogleTracker: (config: Omit<Parameters<typeof createTracker<AIProvider.Google>>[0], "provider">) => Promise<SimpleCostTracker<AIProvider.Google>>;
|
|
145
145
|
export declare const createCohereTracker: (config: Omit<Parameters<typeof createTracker<AIProvider.Cohere>>[0], "provider">) => Promise<SimpleCostTracker<AIProvider.Cohere>>;
|
|
146
|
-
export declare const createGroqTracker: (config: Omit<Parameters<typeof createTracker<AIProvider.
|
|
146
|
+
export declare const createGroqTracker: (config: Omit<Parameters<typeof createTracker<AIProvider.Grok>>[0], "provider">) => Promise<SimpleCostTracker<AIProvider.Grok>>;
|
|
147
147
|
export declare const createDeepSeekTracker: (config: Omit<Parameters<typeof createTracker<AIProvider.DeepSeek>>[0], "provider">) => Promise<SimpleCostTracker<AIProvider.DeepSeek>>;
|
|
148
148
|
export declare const createMistralTracker: (config: Omit<Parameters<typeof createTracker<AIProvider.Mistral>>[0], "provider">) => Promise<SimpleCostTracker<AIProvider.Mistral>>;
|
|
149
149
|
export declare const createXAITracker: (config: Omit<Parameters<typeof createTracker<AIProvider.XAI>>[0], "provider">) => Promise<SimpleCostTracker<AIProvider.XAI>>;
|
package/dist/index.js
CHANGED
|
@@ -634,7 +634,7 @@ class AICostTracker {
|
|
|
634
634
|
if (options.targetUrl.includes('deepseek.com'))
|
|
635
635
|
return types_2.AIProvider.DeepSeek;
|
|
636
636
|
if (options.targetUrl.includes('groq.com'))
|
|
637
|
-
return types_2.AIProvider.
|
|
637
|
+
return types_2.AIProvider.Grok;
|
|
638
638
|
}
|
|
639
639
|
return types_2.AIProvider.OpenAI;
|
|
640
640
|
}
|
|
@@ -1037,8 +1037,8 @@ class SimpleCostTracker {
|
|
|
1037
1037
|
return 'Google AI';
|
|
1038
1038
|
case types_2.AIProvider.Cohere:
|
|
1039
1039
|
return 'Cohere';
|
|
1040
|
-
case types_2.AIProvider.
|
|
1041
|
-
return '
|
|
1040
|
+
case types_2.AIProvider.Grok:
|
|
1041
|
+
return 'Grok';
|
|
1042
1042
|
case types_2.AIProvider.DeepSeek:
|
|
1043
1043
|
return 'DeepSeek';
|
|
1044
1044
|
case types_2.AIProvider.Mistral:
|
|
@@ -1061,7 +1061,7 @@ function getDefaultApiKey(provider) {
|
|
|
1061
1061
|
return process.env.GOOGLE_API_KEY;
|
|
1062
1062
|
case types_2.AIProvider.Cohere:
|
|
1063
1063
|
return process.env.COHERE_API_KEY;
|
|
1064
|
-
case types_2.AIProvider.
|
|
1064
|
+
case types_2.AIProvider.Grok:
|
|
1065
1065
|
return process.env.GROQ_API_KEY;
|
|
1066
1066
|
case types_2.AIProvider.DeepSeek:
|
|
1067
1067
|
return process.env.DEEPSEEK_API_KEY;
|
|
@@ -1084,7 +1084,7 @@ const createGoogleTracker = (config) => (0, exports.createTracker)({ ...config,
|
|
|
1084
1084
|
exports.createGoogleTracker = createGoogleTracker;
|
|
1085
1085
|
const createCohereTracker = (config) => (0, exports.createTracker)({ ...config, provider: types_2.AIProvider.Cohere });
|
|
1086
1086
|
exports.createCohereTracker = createCohereTracker;
|
|
1087
|
-
const createGroqTracker = (config) => (0, exports.createTracker)({ ...config, provider: types_2.AIProvider.
|
|
1087
|
+
const createGroqTracker = (config) => (0, exports.createTracker)({ ...config, provider: types_2.AIProvider.Grok });
|
|
1088
1088
|
exports.createGroqTracker = createGroqTracker;
|
|
1089
1089
|
const createDeepSeekTracker = (config) => (0, exports.createTracker)({ ...config, provider: types_2.AIProvider.DeepSeek });
|
|
1090
1090
|
exports.createDeepSeekTracker = createDeepSeekTracker;
|
|
@@ -1464,7 +1464,7 @@ function inferProviderFromModel(model) {
|
|
|
1464
1464
|
return types_2.AIProvider.Cohere;
|
|
1465
1465
|
}
|
|
1466
1466
|
if (modelLower.includes('llama') || modelLower.includes('mixtral')) {
|
|
1467
|
-
return types_2.AIProvider.
|
|
1467
|
+
return types_2.AIProvider.Grok;
|
|
1468
1468
|
}
|
|
1469
1469
|
if (modelLower.includes('deepseek')) {
|
|
1470
1470
|
return types_2.AIProvider.DeepSeek;
|
package/dist/types/index.d.ts
CHANGED
package/dist/types/index.js
CHANGED
|
@@ -24,7 +24,7 @@ var AIProvider;
|
|
|
24
24
|
AIProvider["Cohere"] = "cohere";
|
|
25
25
|
AIProvider["Gemini"] = "gemini";
|
|
26
26
|
AIProvider["DeepSeek"] = "deepseek";
|
|
27
|
-
AIProvider["
|
|
27
|
+
AIProvider["Grok"] = "groq";
|
|
28
28
|
AIProvider["Mistral"] = "mistral";
|
|
29
29
|
AIProvider["XAI"] = "xai";
|
|
30
30
|
AIProvider["HuggingFace"] = "huggingface";
|
package/dist/types/models.js
CHANGED
|
@@ -3528,8 +3528,8 @@ exports.MODELS = {
|
|
|
3528
3528
|
},
|
|
3529
3529
|
'llama3-70b-8192': {
|
|
3530
3530
|
id: 'llama3-70b-8192',
|
|
3531
|
-
name: 'Llama 3 70B (
|
|
3532
|
-
provider: index_1.AIProvider.
|
|
3531
|
+
name: 'Llama 3 70B (Grok)',
|
|
3532
|
+
provider: index_1.AIProvider.Grok,
|
|
3533
3533
|
maxTokens: 8192,
|
|
3534
3534
|
contextWindow: 8192,
|
|
3535
3535
|
pricing: {
|
|
@@ -3551,8 +3551,8 @@ exports.MODELS = {
|
|
|
3551
3551
|
},
|
|
3552
3552
|
'mixtral-8x7b-32768': {
|
|
3553
3553
|
id: 'mixtral-8x7b-32768',
|
|
3554
|
-
name: 'Mixtral 8x7B (
|
|
3555
|
-
provider: index_1.AIProvider.
|
|
3554
|
+
name: 'Mixtral 8x7B (Grok)',
|
|
3555
|
+
provider: index_1.AIProvider.Grok,
|
|
3556
3556
|
maxTokens: 32768,
|
|
3557
3557
|
contextWindow: 32768,
|
|
3558
3558
|
pricing: {
|
|
@@ -7,7 +7,7 @@ export type ProviderModelMap = {
|
|
|
7
7
|
[AIProvider.AWSBedrock]: AWSBedrockModels;
|
|
8
8
|
[AIProvider.Google]: GoogleModels;
|
|
9
9
|
[AIProvider.Cohere]: CohereModels;
|
|
10
|
-
[AIProvider.
|
|
10
|
+
[AIProvider.Grok]: GroqModels;
|
|
11
11
|
[AIProvider.DeepSeek]: DeepSeekModels;
|
|
12
12
|
[AIProvider.Mistral]: MistralModels;
|
|
13
13
|
[AIProvider.XAI]: XAIModels;
|
|
@@ -22,7 +22,7 @@ export interface SimpleConfig<T extends keyof ProviderModelMap> {
|
|
|
22
22
|
enableOptimization?: boolean;
|
|
23
23
|
enableAutoTracking?: boolean;
|
|
24
24
|
}
|
|
25
|
-
export type AnySimpleConfig = SimpleConfig<AIProvider.OpenAI> | SimpleConfig<AIProvider.Anthropic> | SimpleConfig<AIProvider.AWSBedrock> | SimpleConfig<AIProvider.Google> | SimpleConfig<AIProvider.Cohere> | SimpleConfig<AIProvider.
|
|
25
|
+
export type AnySimpleConfig = SimpleConfig<AIProvider.OpenAI> | SimpleConfig<AIProvider.Anthropic> | SimpleConfig<AIProvider.AWSBedrock> | SimpleConfig<AIProvider.Google> | SimpleConfig<AIProvider.Cohere> | SimpleConfig<AIProvider.Grok> | SimpleConfig<AIProvider.DeepSeek> | SimpleConfig<AIProvider.Mistral> | SimpleConfig<AIProvider.XAI> | SimpleConfig<AIProvider.Meta>;
|
|
26
26
|
export interface SimpleRequest {
|
|
27
27
|
prompt: string;
|
|
28
28
|
maxTokens?: number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cost-katana",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.3",
|
|
4
4
|
"description": "The simplest way to use AI with automatic cost tracking and optimization. Native SDK support for OpenAI and Google Gemini with automatic AWS Bedrock fallback.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|