@adaptic/lumic-utils 1.0.20 → 1.0.22
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/dist/{apollo-client.client-DRk6kygw.js → apollo-client.client-Bu5mc2I8.js} +4 -4
- package/dist/{apollo-client.client-DRk6kygw.js.map → apollo-client.client-Bu5mc2I8.js.map} +1 -1
- package/dist/{apollo-client.client-DVsbR05r.js → apollo-client.client-YzlpL7kf.js} +3 -3
- package/dist/{apollo-client.client-DVsbR05r.js.map → apollo-client.client-YzlpL7kf.js.map} +1 -1
- package/dist/{apollo-client.server-Djh4v__C.js → apollo-client.server-BTHAQqYl.js} +3 -3
- package/dist/{apollo-client.server-Djh4v__C.js.map → apollo-client.server-BTHAQqYl.js.map} +1 -1
- package/dist/{apollo-client.server-L8JR2ko_.js → apollo-client.server-sD1QteQO.js} +3 -3
- package/dist/{apollo-client.server-L8JR2ko_.js.map → apollo-client.server-sD1QteQO.js.map} +1 -1
- package/dist/{index-eU6Q74W8.js → index-B_4Q2noT.js} +2 -2
- package/dist/{index-eU6Q74W8.js.map → index-B_4Q2noT.js.map} +1 -1
- package/dist/{index-Cs56Fq24.js → index-CWx6sW9a.js} +2 -2
- package/dist/{index-Cs56Fq24.js.map → index-CWx6sW9a.js.map} +1 -1
- package/dist/{index-CSOg0U0R.js → index-DPaCMqua.js} +211 -23
- package/dist/{index-BVl0tRmx.js.map → index-DPaCMqua.js.map} +1 -1
- package/dist/{index-BVl0tRmx.js → index-DfuMX-MS.js} +211 -23
- package/dist/{index-CSOg0U0R.js.map → index-DfuMX-MS.js.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/test.cjs +1 -1
- package/dist/test.mjs +1 -1
- package/dist/types/functions/llm-config.d.ts +9 -1
- package/dist/types/types/openai-types.d.ts +95 -5
- package/dist/types/utils/llm-cost-tracker.d.ts +3 -0
- package/package.json +1 -1
|
@@ -99,6 +99,25 @@ const OPENAI_COMPATIBLE_PROVIDERS = {
|
|
|
99
99
|
* Supported models with their capabilities
|
|
100
100
|
*/
|
|
101
101
|
const SUPPORTED_MODELS = {
|
|
102
|
+
// ── OpenAI GPT-5.5 series (current flagship) ─────────────────────────
|
|
103
|
+
'gpt-5.5': {
|
|
104
|
+
provider: 'openai',
|
|
105
|
+
supportsTools: true,
|
|
106
|
+
supportsJson: true,
|
|
107
|
+
supportsStructuredOutput: true,
|
|
108
|
+
supportsDeveloperPrompt: true,
|
|
109
|
+
supportsTemperature: true,
|
|
110
|
+
isReasoningModel: false,
|
|
111
|
+
},
|
|
112
|
+
'gpt-5.5-pro': {
|
|
113
|
+
provider: 'openai',
|
|
114
|
+
supportsTools: true,
|
|
115
|
+
supportsJson: true,
|
|
116
|
+
supportsStructuredOutput: true,
|
|
117
|
+
supportsDeveloperPrompt: true,
|
|
118
|
+
supportsTemperature: true,
|
|
119
|
+
isReasoningModel: false,
|
|
120
|
+
},
|
|
102
121
|
// ── OpenAI GPT-5.4 series ────────────────────────────────────────────
|
|
103
122
|
'gpt-5.4': {
|
|
104
123
|
provider: 'openai',
|
|
@@ -221,6 +240,15 @@ const SUPPORTED_MODELS = {
|
|
|
221
240
|
isReasoningModel: true,
|
|
222
241
|
},
|
|
223
242
|
// ── Anthropic Claude models ──────────────────────────────────────────
|
|
243
|
+
'claude-opus-4-7': {
|
|
244
|
+
provider: 'anthropic',
|
|
245
|
+
supportsTools: true,
|
|
246
|
+
supportsJson: false,
|
|
247
|
+
supportsStructuredOutput: false,
|
|
248
|
+
supportsDeveloperPrompt: true,
|
|
249
|
+
supportsTemperature: true,
|
|
250
|
+
isReasoningModel: false,
|
|
251
|
+
},
|
|
224
252
|
'claude-opus-4-6': {
|
|
225
253
|
provider: 'anthropic',
|
|
226
254
|
supportsTools: true,
|
|
@@ -249,6 +277,24 @@ const SUPPORTED_MODELS = {
|
|
|
249
277
|
isReasoningModel: false,
|
|
250
278
|
},
|
|
251
279
|
// ── Deepseek models ──────────────────────────────────────────────────
|
|
280
|
+
'deepseek-v4-pro': {
|
|
281
|
+
provider: 'deepseek',
|
|
282
|
+
supportsTools: true,
|
|
283
|
+
supportsJson: true,
|
|
284
|
+
supportsStructuredOutput: false,
|
|
285
|
+
supportsDeveloperPrompt: true,
|
|
286
|
+
supportsTemperature: true,
|
|
287
|
+
isReasoningModel: true,
|
|
288
|
+
},
|
|
289
|
+
'deepseek-v4-flash': {
|
|
290
|
+
provider: 'deepseek',
|
|
291
|
+
supportsTools: true,
|
|
292
|
+
supportsJson: true,
|
|
293
|
+
supportsStructuredOutput: false,
|
|
294
|
+
supportsDeveloperPrompt: true,
|
|
295
|
+
supportsTemperature: true,
|
|
296
|
+
isReasoningModel: true,
|
|
297
|
+
},
|
|
252
298
|
'deepseek-chat': {
|
|
253
299
|
provider: 'deepseek',
|
|
254
300
|
supportsTools: true,
|
|
@@ -268,6 +314,24 @@ const SUPPORTED_MODELS = {
|
|
|
268
314
|
isReasoningModel: true,
|
|
269
315
|
},
|
|
270
316
|
// ── Kimi (Moonshot) models ───────────────────────────────────────────
|
|
317
|
+
'kimi-k2.6': {
|
|
318
|
+
provider: 'kimi',
|
|
319
|
+
supportsTools: true,
|
|
320
|
+
supportsJson: true,
|
|
321
|
+
supportsStructuredOutput: false,
|
|
322
|
+
supportsDeveloperPrompt: true,
|
|
323
|
+
supportsTemperature: true,
|
|
324
|
+
isReasoningModel: false,
|
|
325
|
+
},
|
|
326
|
+
'kimi-k2.5': {
|
|
327
|
+
provider: 'kimi',
|
|
328
|
+
supportsTools: true,
|
|
329
|
+
supportsJson: true,
|
|
330
|
+
supportsStructuredOutput: false,
|
|
331
|
+
supportsDeveloperPrompt: true,
|
|
332
|
+
supportsTemperature: true,
|
|
333
|
+
isReasoningModel: false,
|
|
334
|
+
},
|
|
271
335
|
'kimi-k2-0905-preview': {
|
|
272
336
|
provider: 'kimi',
|
|
273
337
|
supportsTools: true,
|
|
@@ -333,6 +397,33 @@ const SUPPORTED_MODELS = {
|
|
|
333
397
|
isReasoningModel: false,
|
|
334
398
|
},
|
|
335
399
|
// ── xAI Grok models ─────────────────────────────────────────────────
|
|
400
|
+
'grok-4.3': {
|
|
401
|
+
provider: 'xai',
|
|
402
|
+
supportsTools: true,
|
|
403
|
+
supportsJson: true,
|
|
404
|
+
supportsStructuredOutput: true,
|
|
405
|
+
supportsDeveloperPrompt: true,
|
|
406
|
+
supportsTemperature: true,
|
|
407
|
+
isReasoningModel: false,
|
|
408
|
+
},
|
|
409
|
+
'grok-4.20': {
|
|
410
|
+
provider: 'xai',
|
|
411
|
+
supportsTools: true,
|
|
412
|
+
supportsJson: true,
|
|
413
|
+
supportsStructuredOutput: true,
|
|
414
|
+
supportsDeveloperPrompt: true,
|
|
415
|
+
supportsTemperature: true,
|
|
416
|
+
isReasoningModel: false,
|
|
417
|
+
},
|
|
418
|
+
'grok-4.1-fast': {
|
|
419
|
+
provider: 'xai',
|
|
420
|
+
supportsTools: true,
|
|
421
|
+
supportsJson: true,
|
|
422
|
+
supportsStructuredOutput: true,
|
|
423
|
+
supportsDeveloperPrompt: true,
|
|
424
|
+
supportsTemperature: true,
|
|
425
|
+
isReasoningModel: false,
|
|
426
|
+
},
|
|
336
427
|
'grok-4': {
|
|
337
428
|
provider: 'xai',
|
|
338
429
|
supportsTools: true,
|
|
@@ -411,21 +502,41 @@ const SUPPORTED_MODELS = {
|
|
|
411
502
|
* Common model aliases that map to canonical model names
|
|
412
503
|
*/
|
|
413
504
|
const MODEL_ALIASES = {
|
|
414
|
-
|
|
415
|
-
'
|
|
416
|
-
|
|
505
|
+
// OpenAI aliases
|
|
506
|
+
'gpt-5.5-flagship': 'gpt-5.5',
|
|
507
|
+
// Anthropic aliases
|
|
508
|
+
'claude-opus-4.7': 'claude-opus-4-7',
|
|
509
|
+
'claude-opus-4.6': 'claude-opus-4-6',
|
|
510
|
+
'claude-sonnet-4.6': 'claude-sonnet-4-6',
|
|
511
|
+
'claude-haiku-4.5': 'claude-haiku-4-5',
|
|
512
|
+
'claude-4-opus': 'claude-opus-4-7',
|
|
417
513
|
'claude-4-sonnet': 'claude-sonnet-4-6',
|
|
418
514
|
'claude-4-haiku': 'claude-haiku-4-5',
|
|
515
|
+
'claude-4.7-opus': 'claude-opus-4-7',
|
|
516
|
+
'claude-4.6-opus': 'claude-opus-4-6',
|
|
517
|
+
// Deepseek aliases (legacy names route to V4 Flash thinking modes per DeepSeek migration policy)
|
|
518
|
+
'deepseek-r1': 'deepseek-reasoner',
|
|
519
|
+
'deepseek-v3': 'deepseek-chat',
|
|
520
|
+
'deepseek-v4': 'deepseek-v4-pro',
|
|
521
|
+
// xAI aliases
|
|
419
522
|
'grok-4-0709': 'grok-4',
|
|
523
|
+
'grok-3-fast': 'grok-4-fast-non-reasoning',
|
|
524
|
+
'grok-3-mini-fast': 'grok-3-mini',
|
|
525
|
+
'grok-4-3': 'grok-4.3',
|
|
526
|
+
'grok-4-20': 'grok-4.20',
|
|
527
|
+
// Gemini aliases
|
|
420
528
|
'gemini-pro': 'gemini-3.1-pro-preview',
|
|
421
529
|
'gemini-flash': 'gemini-3-flash-preview',
|
|
422
|
-
'
|
|
423
|
-
'
|
|
530
|
+
'gemini-3.1-pro': 'gemini-3.1-pro-preview',
|
|
531
|
+
'gemini-3-flash': 'gemini-3-flash-preview',
|
|
532
|
+
'gemini-3.1-flash-lite': 'gemini-3.1-flash-lite-preview',
|
|
533
|
+
// Kimi aliases
|
|
534
|
+
'moonshot-v1-auto': 'kimi-k2.6',
|
|
535
|
+
'kimi-k3': 'kimi-k2.6',
|
|
536
|
+
// Qwen aliases
|
|
424
537
|
'qwen-plus': 'qwen3.5-plus',
|
|
425
538
|
'qwen-max': 'qwen3-max',
|
|
426
539
|
'qwen-turbo': 'qwen3.5-flash',
|
|
427
|
-
'grok-3-fast': 'grok-4-fast-non-reasoning',
|
|
428
|
-
'grok-3-mini-fast': 'grok-3-mini',
|
|
429
540
|
};
|
|
430
541
|
/**
|
|
431
542
|
* Type guard to check if a string is a valid supported model
|
|
@@ -455,12 +566,12 @@ function getModelProvider(model) {
|
|
|
455
566
|
* Default model tiers per provider for use with LLM_MODEL_MINI/NORMAL/ADVANCED env vars
|
|
456
567
|
*/
|
|
457
568
|
const PROVIDER_DEFAULT_MODELS = {
|
|
458
|
-
openai: { mini: 'gpt-5.4-nano', normal: 'gpt-5.4-mini', advanced: 'gpt-5.
|
|
459
|
-
anthropic: { mini: 'claude-haiku-4-5', normal: 'claude-sonnet-4-6', advanced: 'claude-opus-4-
|
|
460
|
-
deepseek: { mini: 'deepseek-
|
|
461
|
-
kimi: { mini: 'kimi-k2-0905-preview', normal: 'kimi-k2
|
|
569
|
+
openai: { mini: 'gpt-5.4-nano', normal: 'gpt-5.4-mini', advanced: 'gpt-5.5' },
|
|
570
|
+
anthropic: { mini: 'claude-haiku-4-5', normal: 'claude-sonnet-4-6', advanced: 'claude-opus-4-7' },
|
|
571
|
+
deepseek: { mini: 'deepseek-v4-flash', normal: 'deepseek-v4-flash', advanced: 'deepseek-v4-pro' },
|
|
572
|
+
kimi: { mini: 'kimi-k2-0905-preview', normal: 'kimi-k2.5', advanced: 'kimi-k2.6' },
|
|
462
573
|
qwen: { mini: 'qwen3.5-flash', normal: 'qwen3.5-plus', advanced: 'qwen3-max' },
|
|
463
|
-
xai: { mini: 'grok-
|
|
574
|
+
xai: { mini: 'grok-4.1-fast', normal: 'grok-4-fast-non-reasoning', advanced: 'grok-4.3' },
|
|
464
575
|
gemini: { mini: 'gemini-3.1-flash-lite-preview', normal: 'gemini-3-flash-preview', advanced: 'gemini-3.1-pro-preview' },
|
|
465
576
|
};
|
|
466
577
|
|
|
@@ -768,62 +879,98 @@ const DEFAULT_DEVELOPER_PROMPT = `
|
|
|
768
879
|
Present complete, high-confidence, final answers only. Do not rephrase to be more brief or omit parts of answers.
|
|
769
880
|
Respond only with final content (e.g. code, a json or yaml object, a formatted string, or a markdown document) and nothing else. Do not reply with a preamble, introduction, or conclusion.
|
|
770
881
|
`;
|
|
771
|
-
/**
|
|
882
|
+
/**
|
|
883
|
+
* Token costs in USD per token. Last updated May 2026.
|
|
884
|
+
*
|
|
885
|
+
* `cacheHitCost` reflects OpenAI's cached-input billing rate (~50% of the
|
|
886
|
+
* standard input rate per OpenAI's prompt caching documentation). When set,
|
|
887
|
+
* `calculateCost` splits prompt tokens into cached vs non-cached buckets and
|
|
888
|
+
* applies the discount; when omitted, cached tokens are billed at full input
|
|
889
|
+
* rate (a silent ~50% cost overstatement for cache-friendly workloads).
|
|
890
|
+
*/
|
|
772
891
|
const openAiModelCosts = {
|
|
892
|
+
'gpt-5.5': {
|
|
893
|
+
inputCost: 5 / 1_000_000,
|
|
894
|
+
cacheHitCost: 2.5 / 1_000_000,
|
|
895
|
+
outputCost: 30 / 1_000_000,
|
|
896
|
+
},
|
|
897
|
+
'gpt-5.5-pro': {
|
|
898
|
+
inputCost: 30 / 1_000_000,
|
|
899
|
+
cacheHitCost: 15 / 1_000_000,
|
|
900
|
+
outputCost: 180 / 1_000_000,
|
|
901
|
+
},
|
|
773
902
|
'gpt-5.4': {
|
|
774
903
|
inputCost: 2.5 / 1_000_000,
|
|
904
|
+
cacheHitCost: 1.25 / 1_000_000,
|
|
775
905
|
outputCost: 15 / 1_000_000,
|
|
776
906
|
},
|
|
777
907
|
'gpt-5.4-mini': {
|
|
778
908
|
inputCost: 0.75 / 1_000_000,
|
|
909
|
+
cacheHitCost: 0.375 / 1_000_000,
|
|
779
910
|
outputCost: 4.5 / 1_000_000,
|
|
780
911
|
},
|
|
781
912
|
'gpt-5.4-nano': {
|
|
782
913
|
inputCost: 0.2 / 1_000_000,
|
|
914
|
+
cacheHitCost: 0.1 / 1_000_000,
|
|
783
915
|
outputCost: 1.25 / 1_000_000,
|
|
784
916
|
},
|
|
785
917
|
'gpt-5': {
|
|
786
918
|
inputCost: 2.5 / 1_000_000,
|
|
919
|
+
cacheHitCost: 1.25 / 1_000_000,
|
|
787
920
|
outputCost: 10 / 1_000_000,
|
|
788
921
|
},
|
|
789
922
|
'gpt-5-mini': {
|
|
790
923
|
inputCost: 0.15 / 1_000_000,
|
|
924
|
+
cacheHitCost: 0.075 / 1_000_000,
|
|
791
925
|
outputCost: 0.6 / 1_000_000,
|
|
792
926
|
},
|
|
793
927
|
'o1-mini': {
|
|
794
928
|
inputCost: 1.1 / 1_000_000,
|
|
929
|
+
cacheHitCost: 0.55 / 1_000_000,
|
|
795
930
|
outputCost: 4.4 / 1_000_000,
|
|
796
931
|
},
|
|
797
932
|
'o1': {
|
|
798
933
|
inputCost: 15 / 1_000_000,
|
|
934
|
+
cacheHitCost: 7.5 / 1_000_000,
|
|
799
935
|
outputCost: 60 / 1_000_000,
|
|
800
936
|
},
|
|
801
937
|
'o3-mini': {
|
|
802
938
|
inputCost: 1.1 / 1_000_000,
|
|
939
|
+
cacheHitCost: 0.55 / 1_000_000,
|
|
803
940
|
outputCost: 4.4 / 1_000_000,
|
|
804
941
|
},
|
|
805
942
|
'o3': {
|
|
806
943
|
inputCost: 2 / 1_000_000,
|
|
944
|
+
cacheHitCost: 1 / 1_000_000,
|
|
807
945
|
outputCost: 8 / 1_000_000,
|
|
808
946
|
},
|
|
809
947
|
'gpt-4.1': {
|
|
810
948
|
inputCost: 2 / 1_000_000,
|
|
949
|
+
cacheHitCost: 1 / 1_000_000,
|
|
811
950
|
outputCost: 8 / 1_000_000,
|
|
812
951
|
},
|
|
813
952
|
'gpt-4.1-mini': {
|
|
814
953
|
inputCost: 0.4 / 1_000_000,
|
|
954
|
+
cacheHitCost: 0.2 / 1_000_000,
|
|
815
955
|
outputCost: 1.6 / 1_000_000,
|
|
816
956
|
},
|
|
817
957
|
'gpt-4.1-nano': {
|
|
818
958
|
inputCost: 0.1 / 1_000_000,
|
|
959
|
+
cacheHitCost: 0.05 / 1_000_000,
|
|
819
960
|
outputCost: 0.4 / 1_000_000,
|
|
820
961
|
},
|
|
821
962
|
'o4-mini': {
|
|
822
963
|
inputCost: 1.1 / 1_000_000,
|
|
964
|
+
cacheHitCost: 0.55 / 1_000_000,
|
|
823
965
|
outputCost: 4.4 / 1_000_000,
|
|
824
966
|
},
|
|
825
967
|
};
|
|
826
968
|
const anthropicModelCosts = {
|
|
969
|
+
'claude-opus-4-7': {
|
|
970
|
+
inputCost: 5 / 1_000_000,
|
|
971
|
+
outputCost: 25 / 1_000_000,
|
|
972
|
+
cacheHitCost: 0.5 / 1_000_000,
|
|
973
|
+
},
|
|
827
974
|
'claude-opus-4-6': {
|
|
828
975
|
inputCost: 15 / 1_000_000,
|
|
829
976
|
outputCost: 75 / 1_000_000,
|
|
@@ -841,6 +988,16 @@ const anthropicModelCosts = {
|
|
|
841
988
|
},
|
|
842
989
|
};
|
|
843
990
|
const deepseekModelCosts = {
|
|
991
|
+
'deepseek-v4-pro': {
|
|
992
|
+
inputCost: 0.55 / 1_000_000,
|
|
993
|
+
cacheHitCost: 0.14 / 1_000_000,
|
|
994
|
+
outputCost: 2.19 / 1_000_000,
|
|
995
|
+
},
|
|
996
|
+
'deepseek-v4-flash': {
|
|
997
|
+
inputCost: 0.27 / 1_000_000,
|
|
998
|
+
cacheHitCost: 0.07 / 1_000_000,
|
|
999
|
+
outputCost: 1.1 / 1_000_000,
|
|
1000
|
+
},
|
|
844
1001
|
'deepseek-chat': {
|
|
845
1002
|
inputCost: 0.27 / 1_000_000,
|
|
846
1003
|
cacheHitCost: 0.07 / 1_000_000,
|
|
@@ -853,6 +1010,14 @@ const deepseekModelCosts = {
|
|
|
853
1010
|
},
|
|
854
1011
|
};
|
|
855
1012
|
const kimiModelCosts = {
|
|
1013
|
+
'kimi-k2.6': {
|
|
1014
|
+
inputCost: 0.74 / 1_000_000,
|
|
1015
|
+
outputCost: 3.49 / 1_000_000,
|
|
1016
|
+
},
|
|
1017
|
+
'kimi-k2.5': {
|
|
1018
|
+
inputCost: 0.44 / 1_000_000,
|
|
1019
|
+
outputCost: 2 / 1_000_000,
|
|
1020
|
+
},
|
|
856
1021
|
'kimi-k2-0905-preview': {
|
|
857
1022
|
inputCost: 0.15 / 1_000_000,
|
|
858
1023
|
outputCost: 0.6 / 1_000_000,
|
|
@@ -885,6 +1050,21 @@ const qwenModelCosts = {
|
|
|
885
1050
|
},
|
|
886
1051
|
};
|
|
887
1052
|
const xaiModelCosts = {
|
|
1053
|
+
'grok-4.3': {
|
|
1054
|
+
inputCost: 1.25 / 1_000_000,
|
|
1055
|
+
outputCost: 2.5 / 1_000_000,
|
|
1056
|
+
cacheHitCost: 0.31 / 1_000_000,
|
|
1057
|
+
},
|
|
1058
|
+
'grok-4.20': {
|
|
1059
|
+
inputCost: 2 / 1_000_000,
|
|
1060
|
+
outputCost: 6 / 1_000_000,
|
|
1061
|
+
cacheHitCost: 0.5 / 1_000_000,
|
|
1062
|
+
},
|
|
1063
|
+
'grok-4.1-fast': {
|
|
1064
|
+
inputCost: 0.2 / 1_000_000,
|
|
1065
|
+
outputCost: 0.5 / 1_000_000,
|
|
1066
|
+
cacheHitCost: 0.05 / 1_000_000,
|
|
1067
|
+
},
|
|
888
1068
|
'grok-4': {
|
|
889
1069
|
inputCost: 3 / 1_000_000,
|
|
890
1070
|
outputCost: 15 / 1_000_000,
|
|
@@ -911,16 +1091,16 @@ const xaiModelCosts = {
|
|
|
911
1091
|
};
|
|
912
1092
|
const geminiModelCosts = {
|
|
913
1093
|
'gemini-3.1-pro-preview': {
|
|
914
|
-
inputCost:
|
|
915
|
-
outputCost:
|
|
1094
|
+
inputCost: 2 / 1_000_000,
|
|
1095
|
+
outputCost: 12 / 1_000_000,
|
|
916
1096
|
},
|
|
917
1097
|
'gemini-3-flash-preview': {
|
|
918
|
-
inputCost: 0.
|
|
919
|
-
outputCost:
|
|
1098
|
+
inputCost: 0.5 / 1_000_000,
|
|
1099
|
+
outputCost: 3 / 1_000_000,
|
|
920
1100
|
},
|
|
921
1101
|
'gemini-3.1-flash-lite-preview': {
|
|
922
|
-
inputCost: 0.
|
|
923
|
-
outputCost:
|
|
1102
|
+
inputCost: 0.25 / 1_000_000,
|
|
1103
|
+
outputCost: 1.5 / 1_000_000,
|
|
924
1104
|
},
|
|
925
1105
|
};
|
|
926
1106
|
/**
|
|
@@ -1894,7 +2074,10 @@ class LLMCostTracker {
|
|
|
1894
2074
|
timestamp: Date.now(),
|
|
1895
2075
|
};
|
|
1896
2076
|
this.usageRecords.push(record);
|
|
1897
|
-
|
|
2077
|
+
// Emit cachedTokens and reasoningTokens explicitly so operators can
|
|
2078
|
+
// verify cache effectiveness from logs alone (the prior log shape only
|
|
2079
|
+
// surfaced inputTokens and outputTokens, hiding the cache discount).
|
|
2080
|
+
getLumicLogger().info(`LLM cost tracked: ${provider}/${model} - $${cost.toFixed(6)}`, { provider, model, inputTokens, cachedTokens: cacheHitTokens, outputTokens, reasoningTokens, cost });
|
|
1898
2081
|
}
|
|
1899
2082
|
/**
|
|
1900
2083
|
* Records usage from an image generation call.
|
|
@@ -1975,11 +2158,13 @@ class LLMCostTracker {
|
|
|
1975
2158
|
const images = this.getImageCosts();
|
|
1976
2159
|
let totalCost = 0;
|
|
1977
2160
|
let totalInputTokens = 0;
|
|
2161
|
+
let totalCacheHitTokens = 0;
|
|
1978
2162
|
let totalOutputTokens = 0;
|
|
1979
2163
|
let totalReasoningTokens = 0;
|
|
1980
2164
|
for (const summary of Object.values(byModel)) {
|
|
1981
2165
|
totalCost += summary.totalCost;
|
|
1982
2166
|
totalInputTokens += summary.totalInputTokens;
|
|
2167
|
+
totalCacheHitTokens += summary.totalCacheHitTokens;
|
|
1983
2168
|
totalOutputTokens += summary.totalOutputTokens;
|
|
1984
2169
|
totalReasoningTokens += summary.totalReasoningTokens;
|
|
1985
2170
|
}
|
|
@@ -1996,6 +2181,7 @@ class LLMCostTracker {
|
|
|
1996
2181
|
totalCost,
|
|
1997
2182
|
totalCalls: this.usageRecords.length + this.imageRecords.length,
|
|
1998
2183
|
totalInputTokens,
|
|
2184
|
+
totalCacheHitTokens,
|
|
1999
2185
|
totalOutputTokens,
|
|
2000
2186
|
totalReasoningTokens,
|
|
2001
2187
|
byModel,
|
|
@@ -2018,7 +2204,9 @@ class LLMCostTracker {
|
|
|
2018
2204
|
cost: `$${m.totalCost.toFixed(6)}`,
|
|
2019
2205
|
calls: m.callCount,
|
|
2020
2206
|
inputTokens: m.totalInputTokens,
|
|
2207
|
+
cachedTokens: m.totalCacheHitTokens,
|
|
2021
2208
|
outputTokens: m.totalOutputTokens,
|
|
2209
|
+
reasoningTokens: m.totalReasoningTokens,
|
|
2022
2210
|
}));
|
|
2023
2211
|
const images = Object.values(summary.images).map((img) => ({
|
|
2024
2212
|
model: img.model,
|
|
@@ -22821,11 +23009,11 @@ let poolConfig = DEFAULT_POOL_CONFIG;
|
|
|
22821
23009
|
async function loadApolloModules() {
|
|
22822
23010
|
if (typeof window === "undefined" || process.env.AWS_EXECUTION_ENV) {
|
|
22823
23011
|
// Server-side (or Lambda): load the CommonJS‑based implementation.
|
|
22824
|
-
return (await Promise.resolve().then(function () { return require('./apollo-client.server-
|
|
23012
|
+
return (await Promise.resolve().then(function () { return require('./apollo-client.server-BTHAQqYl.js'); }));
|
|
22825
23013
|
}
|
|
22826
23014
|
else {
|
|
22827
23015
|
// Client-side: load the ESM‑based implementation.
|
|
22828
|
-
return (await Promise.resolve().then(function () { return require('./apollo-client.client-
|
|
23016
|
+
return (await Promise.resolve().then(function () { return require('./apollo-client.client-YzlpL7kf.js'); }));
|
|
22829
23017
|
}
|
|
22830
23018
|
}
|
|
22831
23019
|
/**
|
|
@@ -81536,4 +81724,4 @@ exports.withCorrelationId = withCorrelationId;
|
|
|
81536
81724
|
exports.withMetrics = withMetrics;
|
|
81537
81725
|
exports.withRateLimit = withRateLimit;
|
|
81538
81726
|
exports.withRetry = withRetry;
|
|
81539
|
-
//# sourceMappingURL=index-
|
|
81727
|
+
//# sourceMappingURL=index-DfuMX-MS.js.map
|