@adaptic/lumic-utils 1.0.20 → 1.0.21

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 (23) hide show
  1. package/dist/{apollo-client.client-DVsbR05r.js → apollo-client.client-ByADDB46.js} +3 -3
  2. package/dist/{apollo-client.client-DVsbR05r.js.map → apollo-client.client-ByADDB46.js.map} +1 -1
  3. package/dist/{apollo-client.client-DRk6kygw.js → apollo-client.client-CUIakkzs.js} +4 -4
  4. package/dist/{apollo-client.client-DRk6kygw.js.map → apollo-client.client-CUIakkzs.js.map} +1 -1
  5. package/dist/{apollo-client.server-Djh4v__C.js → apollo-client.server-BnZhh39o.js} +3 -3
  6. package/dist/{apollo-client.server-Djh4v__C.js.map → apollo-client.server-BnZhh39o.js.map} +1 -1
  7. package/dist/{apollo-client.server-L8JR2ko_.js → apollo-client.server-JucuAyrj.js} +3 -3
  8. package/dist/{apollo-client.server-L8JR2ko_.js.map → apollo-client.server-JucuAyrj.js.map} +1 -1
  9. package/dist/{index-eU6Q74W8.js → index-BLXN1stF.js} +2 -2
  10. package/dist/{index-eU6Q74W8.js.map → index-BLXN1stF.js.map} +1 -1
  11. package/dist/{index-BVl0tRmx.js → index-Ca3x8X5U.js} +34 -5
  12. package/dist/{index-BVl0tRmx.js.map → index-Ca3x8X5U.js.map} +1 -1
  13. package/dist/{index-Cs56Fq24.js → index-DT0dXUtn.js} +2 -2
  14. package/dist/{index-Cs56Fq24.js.map → index-DT0dXUtn.js.map} +1 -1
  15. package/dist/{index-CSOg0U0R.js → index-DYehXKUX.js} +34 -5
  16. package/dist/{index-CSOg0U0R.js.map → index-DYehXKUX.js.map} +1 -1
  17. package/dist/index.cjs +1 -1
  18. package/dist/index.mjs +1 -1
  19. package/dist/test.cjs +1 -1
  20. package/dist/test.mjs +1 -1
  21. package/dist/types/functions/llm-config.d.ts +9 -1
  22. package/dist/types/utils/llm-cost-tracker.d.ts +3 -0
  23. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BVl0tRmx.js');
3
+ var index = require('./index-Ca3x8X5U.js');
4
4
  require('openai');
5
5
  require('zod');
6
6
  require('@aws-sdk/client-s3');
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { bW as AWSLambdaError, bX as AWSS3Error, c5 as AWS_LAMBDA_TIMEOUT_MS, c6 as AWS_S3_TIMEOUT_MS, aV as CircuitBreaker, aX as CircuitBreakerOpenError, aW as CircuitBreakerState, aY as DEFAULT_CIRCUIT_BREAKER_CONFIG, c8 as GENERIC_FETCH_TIMEOUT_MS, c3 as GOOGLE_SHEETS_TIMEOUT_MS, bY as GoogleSheetsError, b_ as JsonParseError, b0 as LLMCostTracker, bV as LLMError, bt as LLM_ADVANCED_PROVIDER, bq as LLM_DEFAULT_PROVIDER, br as LLM_MINI_PROVIDER, bx as LLM_MODEL_ADVANCED, bv as LLM_MODEL_MINI, bw as LLM_MODEL_NORMAL, bs as LLM_NORMAL_PROVIDER, bu as LLM_PROVIDER, c4 as LLM_TIMEOUT_MS, bT as LumicError, bn as MODEL_ALIASES, bo as OPENAI_COMPATIBLE_PROVIDERS, c7 as OPENWEATHER_TIMEOUT_MS, b$ as PDFError, c2 as PERPLEXITY_TIMEOUT_MS, bp as PROVIDER_DEFAULT_MODELS, bZ as PerplexityError, be as RATE_LIMIT_PROFILES, c1 as SLACK_TIMEOUT_MS, bj as SUPPORTED_MODELS, bU as SlackError, bd as TokenBucketRateLimiter, c0 as ZipError, bi as checkIntegrationHealth, bS as createSafeValidator, bR as createValidator, b8 as generateCorrelationId, ba as getCorrelationContext, bc as getCorrelationHeaders, b9 as getCorrelationId, b1 as getLLMCostTracker, aM as getLumicLogger, b5 as getMetricsCollector, bl as getModelCapabilities, bm as getModelProvider, bf as getRateLimiter, aR as getSecrets, bH as googleSheetsValueRangeSchema, bk as isValidModel, bM as lambdaInvokeResponseSchema, l as lumic, by as makeAnthropicCall, bz as makeOpenAICompatibleCall, bA as openAIChatCompletionSchema, bB as openAIImageResponseSchema, bE as perplexityResponseSchema, aT as requireSecret, bg as resetAllRateLimiters, b3 as resetLLMCostTracker, b6 as resetMetricsCollector, aS as resetSecrets, bL as s3GetObjectSchema, bK as s3ListObjectsSchema, bJ as safeValidateGoogleSheetsResponse, bQ as safeValidateLambdaResponse, bD as safeValidateOpenAIChatCompletion, bG as safeValidatePerplexityResponse, bO as safeValidateS3ListObjects, aP as sanitizeAWSAuth, aO as sanitizeError, aN as sanitizeForLog, aQ as sanitizeObject, b2 as setLLMCostTracker, aL as setLumicLogger, b4 as setMetricsCollector, a$ as validateGoogleSheetsRange, bI as validateGoogleSheetsResponse, bP as validateLambdaResponse, bC as validateOpenAIChatCompletion, bF as validatePerplexityResponse, a_ as validateS3Key, bN as validateS3ListObjects, aZ as validateSlackChannel, bb as withCorrelationId, b7 as withMetrics, bh as withRateLimit, aU as withRetry } from './index-CSOg0U0R.js';
1
+ export { bW as AWSLambdaError, bX as AWSS3Error, c5 as AWS_LAMBDA_TIMEOUT_MS, c6 as AWS_S3_TIMEOUT_MS, aV as CircuitBreaker, aX as CircuitBreakerOpenError, aW as CircuitBreakerState, aY as DEFAULT_CIRCUIT_BREAKER_CONFIG, c8 as GENERIC_FETCH_TIMEOUT_MS, c3 as GOOGLE_SHEETS_TIMEOUT_MS, bY as GoogleSheetsError, b_ as JsonParseError, b0 as LLMCostTracker, bV as LLMError, bt as LLM_ADVANCED_PROVIDER, bq as LLM_DEFAULT_PROVIDER, br as LLM_MINI_PROVIDER, bx as LLM_MODEL_ADVANCED, bv as LLM_MODEL_MINI, bw as LLM_MODEL_NORMAL, bs as LLM_NORMAL_PROVIDER, bu as LLM_PROVIDER, c4 as LLM_TIMEOUT_MS, bT as LumicError, bn as MODEL_ALIASES, bo as OPENAI_COMPATIBLE_PROVIDERS, c7 as OPENWEATHER_TIMEOUT_MS, b$ as PDFError, c2 as PERPLEXITY_TIMEOUT_MS, bp as PROVIDER_DEFAULT_MODELS, bZ as PerplexityError, be as RATE_LIMIT_PROFILES, c1 as SLACK_TIMEOUT_MS, bj as SUPPORTED_MODELS, bU as SlackError, bd as TokenBucketRateLimiter, c0 as ZipError, bi as checkIntegrationHealth, bS as createSafeValidator, bR as createValidator, b8 as generateCorrelationId, ba as getCorrelationContext, bc as getCorrelationHeaders, b9 as getCorrelationId, b1 as getLLMCostTracker, aM as getLumicLogger, b5 as getMetricsCollector, bl as getModelCapabilities, bm as getModelProvider, bf as getRateLimiter, aR as getSecrets, bH as googleSheetsValueRangeSchema, bk as isValidModel, bM as lambdaInvokeResponseSchema, l as lumic, by as makeAnthropicCall, bz as makeOpenAICompatibleCall, bA as openAIChatCompletionSchema, bB as openAIImageResponseSchema, bE as perplexityResponseSchema, aT as requireSecret, bg as resetAllRateLimiters, b3 as resetLLMCostTracker, b6 as resetMetricsCollector, aS as resetSecrets, bL as s3GetObjectSchema, bK as s3ListObjectsSchema, bJ as safeValidateGoogleSheetsResponse, bQ as safeValidateLambdaResponse, bD as safeValidateOpenAIChatCompletion, bG as safeValidatePerplexityResponse, bO as safeValidateS3ListObjects, aP as sanitizeAWSAuth, aO as sanitizeError, aN as sanitizeForLog, aQ as sanitizeObject, b2 as setLLMCostTracker, aL as setLumicLogger, b4 as setMetricsCollector, a$ as validateGoogleSheetsRange, bI as validateGoogleSheetsResponse, bP as validateLambdaResponse, bC as validateOpenAIChatCompletion, bF as validatePerplexityResponse, a_ as validateS3Key, bN as validateS3ListObjects, aZ as validateSlackChannel, bb as withCorrelationId, b7 as withMetrics, bh as withRateLimit, aU as withRetry } from './index-DYehXKUX.js';
2
2
  import 'openai';
3
3
  import 'zod';
4
4
  import '@aws-sdk/client-s3';
package/dist/test.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BVl0tRmx.js');
3
+ var index = require('./index-Ca3x8X5U.js');
4
4
  require('openai');
5
5
  require('zod');
6
6
  require('@aws-sdk/client-s3');
package/dist/test.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { l as lumic } from './index-CSOg0U0R.js';
1
+ import { l as lumic } from './index-DYehXKUX.js';
2
2
  import 'openai';
3
3
  import 'zod';
4
4
  import '@aws-sdk/client-s3';
@@ -6,7 +6,15 @@ interface AIModelCosts {
6
6
  cacheHitCost?: number;
7
7
  };
8
8
  }
9
- /** Token costs in USD per token. Last updated Mar 2026. */
9
+ /**
10
+ * Token costs in USD per token. Last updated Apr 2026.
11
+ *
12
+ * `cacheHitCost` reflects OpenAI's cached-input billing rate (~50% of the
13
+ * standard input rate per OpenAI's prompt caching documentation). When set,
14
+ * `calculateCost` splits prompt tokens into cached vs non-cached buckets and
15
+ * applies the discount; when omitted, cached tokens are billed at full input
16
+ * rate (a silent ~50% cost overstatement for cache-friendly workloads).
17
+ */
10
18
  export declare const openAiModelCosts: AIModelCosts;
11
19
  export declare const anthropicModelCosts: AIModelCosts;
12
20
  export declare const deepseekModelCosts: AIModelCosts;
@@ -49,6 +49,7 @@ export interface CostSummary {
49
49
  totalCost: number;
50
50
  totalCalls: number;
51
51
  totalInputTokens: number;
52
+ totalCacheHitTokens: number;
52
53
  totalOutputTokens: number;
53
54
  totalReasoningTokens: number;
54
55
  byModel: Record<string, ModelCostSummary>;
@@ -70,7 +71,9 @@ export interface FormattedCostSummary {
70
71
  cost: string;
71
72
  calls: number;
72
73
  inputTokens: number;
74
+ cachedTokens: number;
73
75
  outputTokens: number;
76
+ reasoningTokens: number;
74
77
  }>;
75
78
  images: Array<{
76
79
  model: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaptic/lumic-utils",
3
- "version": "1.0.20",
3
+ "version": "1.0.21",
4
4
  "description": "NPM repo set of utility functions usable across the entire organisation.",
5
5
  "always-build-npm": false,
6
6
  "type": "module",