@speakai/shared 1.9.2 → 1.11.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.
@@ -20,4 +20,5 @@ export * from './transaction.js';
20
20
  export * from './translation.js';
21
21
  export * from './user.js';
22
22
  export * from './webhook.js';
23
+ export * from './llm.js';
23
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
@@ -20,4 +20,5 @@ export * from './transaction.js';
20
20
  export * from './translation.js';
21
21
  export * from './user.js';
22
22
  export * from './webhook.js';
23
+ export * from './llm.js';
23
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Canonical LLM model + provider enums — single source of truth shared by
3
+ * speak-server and the voice-agent backend/worker.
4
+ *
5
+ * Values are the REAL provider API model-id strings. Within each provider,
6
+ * DEPRECATED models are grouped first, then LIVE/current models.
7
+ */
8
+ export declare enum LLMProvider {
9
+ OPENAI = "openai",
10
+ GOOGLE = "google",
11
+ ANTHROPIC = "anthropic"
12
+ }
13
+ export declare enum LLMModels {
14
+ GPT_3_5 = "gpt-3.5",
15
+ GPT_3_5_TURBO_16K = "gpt-3.5-turbo-16k",
16
+ GPT_3_5_TURBO_0125 = "gpt-3.5-turbo-0125",
17
+ GPT_4 = "gpt-4",
18
+ GPT_4_1106_PREVIEW = "gpt-4-1106-preview",
19
+ GPT_4_TURBO = "gpt-4-turbo",
20
+ GPT_4_O_2024_05_13 = "gpt-4o-2024-05-13",
21
+ GPT_4O = "gpt-4o",
22
+ GPT_4O_MINI = "gpt-4o-mini",
23
+ GPT_4_O_2024_08_06 = "gpt-4o-2024-08-06",
24
+ GPT_4_MINI_2024_07_18 = "gpt-4o-mini-2024-07-18",
25
+ GPT_4_1_2025_04_14 = "gpt-4.1-2025-04-14",
26
+ GPT_5_1_2025_11_13 = "gpt-5.1-2025-11-13",
27
+ GPT_5_2 = "gpt-5.2",
28
+ GPT_5_4 = "gpt-5.4",
29
+ GPT_5_4_MINI = "gpt-5.4-mini",
30
+ GPT_5_4_MINI_2026_03_17 = "gpt-5.4-mini-2026-03-17",
31
+ GPT_5_4_NANO = "gpt-5.4-nano",
32
+ GPT_5_5 = "gpt-5.5",
33
+ GPT_5_5_THINKING = "gpt-5.5-thinking",
34
+ CLAUDE_2 = "claude-2",
35
+ CLAUDE_3_5_SONNET = "claude-3-5-sonnet",
36
+ CLAUDE_3_5_SONNET_20241022 = "claude-3-5-sonnet-20241022",
37
+ CLAUDE_3_7_SONNET_LATEST = "claude-3-7-sonnet-latest",
38
+ CLAUDE_HAIKU_4_5 = "claude-haiku-4-5",
39
+ CLAUDE_SONNET_4_6 = "claude-sonnet-4-6",
40
+ CLAUDE_OPUS_4_8 = "claude-opus-4-8",
41
+ GEMINI_1_5_PRO = "gemini-1.5-pro",
42
+ GEMINI_1_5_FLASH = "gemini-1.5-flash",
43
+ GEMINI_2_0_FLASH = "gemini-2.0-flash",
44
+ GEMINI_2_5_PRO = "gemini-2.5-pro",
45
+ GEMINI_2_5_FLASH = "gemini-2.5-flash",
46
+ GEMINI_2_5_FLASH_LITE = "gemini-2.5-flash-lite",
47
+ GEMINI_3_FLASH_PREVIEW = "gemini-3-flash-preview",
48
+ GEMINI_3_1_FLASH_LITE = "gemini-3.1-flash-lite",
49
+ GEMINI_3_1_PRO_PREVIEW = "gemini-3.1-pro-preview",
50
+ GEMINI_3_5_FLASH = "gemini-3.5-flash"
51
+ }
52
+ //# sourceMappingURL=llm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/enums/llm.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB;AAED,oBAAY,SAAS;IAGnB,OAAO,YAAY;IACnB,iBAAiB,sBAAsB;IACvC,kBAAkB,uBAAuB;IACzC,KAAK,UAAU;IACf,kBAAkB,uBAAuB;IACzC,WAAW,gBAAgB;IAC3B,kBAAkB,sBAAsB;IAExC,MAAM,WAAW;IACjB,WAAW,gBAAgB;IAC3B,kBAAkB,sBAAsB;IACxC,qBAAqB,2BAA2B;IAChD,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,uBAAuB,4BAA4B;IACnD,YAAY,iBAAiB;IAC7B,OAAO,YAAY;IACnB,gBAAgB,qBAAqB;IAIrC,QAAQ,aAAa;IACrB,iBAAiB,sBAAsB;IACvC,0BAA0B,+BAA+B;IACzD,wBAAwB,6BAA6B;IAErD,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IAInC,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IAErC,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,qBAAqB,0BAA0B;IAC/C,sBAAsB,2BAA2B;IACjD,qBAAqB,0BAA0B;IAC/C,sBAAsB,2BAA2B;IACjD,gBAAgB,qBAAqB;CACtC"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Canonical LLM model + provider enums — single source of truth shared by
3
+ * speak-server and the voice-agent backend/worker.
4
+ *
5
+ * Values are the REAL provider API model-id strings. Within each provider,
6
+ * DEPRECATED models are grouped first, then LIVE/current models.
7
+ */
8
+ export var LLMProvider;
9
+ (function (LLMProvider) {
10
+ LLMProvider["OPENAI"] = "openai";
11
+ LLMProvider["GOOGLE"] = "google";
12
+ LLMProvider["ANTHROPIC"] = "anthropic";
13
+ })(LLMProvider || (LLMProvider = {}));
14
+ export var LLMModels;
15
+ (function (LLMModels) {
16
+ // ═══════════════ OpenAI ═══════════════
17
+ // Deprecated
18
+ LLMModels["GPT_3_5"] = "gpt-3.5";
19
+ LLMModels["GPT_3_5_TURBO_16K"] = "gpt-3.5-turbo-16k";
20
+ LLMModels["GPT_3_5_TURBO_0125"] = "gpt-3.5-turbo-0125";
21
+ LLMModels["GPT_4"] = "gpt-4";
22
+ LLMModels["GPT_4_1106_PREVIEW"] = "gpt-4-1106-preview";
23
+ LLMModels["GPT_4_TURBO"] = "gpt-4-turbo";
24
+ LLMModels["GPT_4_O_2024_05_13"] = "gpt-4o-2024-05-13";
25
+ // Live
26
+ LLMModels["GPT_4O"] = "gpt-4o";
27
+ LLMModels["GPT_4O_MINI"] = "gpt-4o-mini";
28
+ LLMModels["GPT_4_O_2024_08_06"] = "gpt-4o-2024-08-06";
29
+ LLMModels["GPT_4_MINI_2024_07_18"] = "gpt-4o-mini-2024-07-18";
30
+ LLMModels["GPT_4_1_2025_04_14"] = "gpt-4.1-2025-04-14";
31
+ LLMModels["GPT_5_1_2025_11_13"] = "gpt-5.1-2025-11-13";
32
+ LLMModels["GPT_5_2"] = "gpt-5.2";
33
+ LLMModels["GPT_5_4"] = "gpt-5.4";
34
+ LLMModels["GPT_5_4_MINI"] = "gpt-5.4-mini";
35
+ LLMModels["GPT_5_4_MINI_2026_03_17"] = "gpt-5.4-mini-2026-03-17";
36
+ LLMModels["GPT_5_4_NANO"] = "gpt-5.4-nano";
37
+ LLMModels["GPT_5_5"] = "gpt-5.5";
38
+ LLMModels["GPT_5_5_THINKING"] = "gpt-5.5-thinking";
39
+ // ═══════════════ Anthropic ═══════════════
40
+ // Deprecated
41
+ LLMModels["CLAUDE_2"] = "claude-2";
42
+ LLMModels["CLAUDE_3_5_SONNET"] = "claude-3-5-sonnet";
43
+ LLMModels["CLAUDE_3_5_SONNET_20241022"] = "claude-3-5-sonnet-20241022";
44
+ LLMModels["CLAUDE_3_7_SONNET_LATEST"] = "claude-3-7-sonnet-latest";
45
+ // Live
46
+ LLMModels["CLAUDE_HAIKU_4_5"] = "claude-haiku-4-5";
47
+ LLMModels["CLAUDE_SONNET_4_6"] = "claude-sonnet-4-6";
48
+ LLMModels["CLAUDE_OPUS_4_8"] = "claude-opus-4-8";
49
+ // ═══════════════ Google Gemini ═══════════════
50
+ // Deprecated
51
+ LLMModels["GEMINI_1_5_PRO"] = "gemini-1.5-pro";
52
+ LLMModels["GEMINI_1_5_FLASH"] = "gemini-1.5-flash";
53
+ LLMModels["GEMINI_2_0_FLASH"] = "gemini-2.0-flash";
54
+ // Live
55
+ LLMModels["GEMINI_2_5_PRO"] = "gemini-2.5-pro";
56
+ LLMModels["GEMINI_2_5_FLASH"] = "gemini-2.5-flash";
57
+ LLMModels["GEMINI_2_5_FLASH_LITE"] = "gemini-2.5-flash-lite";
58
+ LLMModels["GEMINI_3_FLASH_PREVIEW"] = "gemini-3-flash-preview";
59
+ LLMModels["GEMINI_3_1_FLASH_LITE"] = "gemini-3.1-flash-lite";
60
+ LLMModels["GEMINI_3_1_PRO_PREVIEW"] = "gemini-3.1-pro-preview";
61
+ LLMModels["GEMINI_3_5_FLASH"] = "gemini-3.5-flash";
62
+ })(LLMModels || (LLMModels = {}));
63
+ //# sourceMappingURL=llm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/enums/llm.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;IACjB,sCAAuB,CAAA;AACzB,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAED,MAAM,CAAN,IAAY,SAiDX;AAjDD,WAAY,SAAS;IACnB,yCAAyC;IACzC,aAAa;IACb,gCAAmB,CAAA;IACnB,oDAAuC,CAAA;IACvC,sDAAyC,CAAA;IACzC,4BAAe,CAAA;IACf,sDAAyC,CAAA;IACzC,wCAA2B,CAAA;IAC3B,qDAAwC,CAAA;IACxC,OAAO;IACP,8BAAiB,CAAA;IACjB,wCAA2B,CAAA;IAC3B,qDAAwC,CAAA;IACxC,6DAAgD,CAAA;IAChD,sDAAyC,CAAA;IACzC,sDAAyC,CAAA;IACzC,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,0CAA6B,CAAA;IAC7B,gEAAmD,CAAA;IACnD,0CAA6B,CAAA;IAC7B,gCAAmB,CAAA;IACnB,kDAAqC,CAAA;IAErC,4CAA4C;IAC5C,aAAa;IACb,kCAAqB,CAAA;IACrB,oDAAuC,CAAA;IACvC,sEAAyD,CAAA;IACzD,kEAAqD,CAAA;IACrD,OAAO;IACP,kDAAqC,CAAA;IACrC,oDAAuC,CAAA;IACvC,gDAAmC,CAAA;IAEnC,gDAAgD;IAChD,aAAa;IACb,8CAAiC,CAAA;IACjC,kDAAqC,CAAA;IACrC,kDAAqC,CAAA;IACrC,OAAO;IACP,8CAAiC,CAAA;IACjC,kDAAqC,CAAA;IACrC,4DAA+C,CAAA;IAC/C,8DAAiD,CAAA;IACjD,4DAA+C,CAAA;IAC/C,8DAAiD,CAAA;IACjD,kDAAqC,CAAA;AACvC,CAAC,EAjDW,SAAS,KAAT,SAAS,QAiDpB"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './enums/index.js';
2
2
  export * from './interfaces/index.js';
3
3
  export * from './utils/transcript.js';
4
+ export * from './pricing/modelPricing.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AAGjC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AAGjC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,2BAA2B,CAAC"}
package/dist/index.js CHANGED
@@ -4,4 +4,6 @@ export * from './enums/index.js';
4
4
  export * from './interfaces/index.js';
5
5
  // Utils
6
6
  export * from './utils/transcript.js';
7
+ // LLM model pricing
8
+ export * from './pricing/modelPricing.js';
7
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,kBAAkB,CAAC;AAEjC,aAAa;AACb,cAAc,uBAAuB,CAAC;AAEtC,QAAQ;AACR,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,kBAAkB,CAAC;AAEjC,aAAa;AACb,cAAc,uBAAuB,CAAC;AAEtC,QAAQ;AACR,cAAc,uBAAuB,CAAC;AAEtC,oBAAoB;AACpB,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Canonical LLM model pricing — single source of truth shared by speak-server
3
+ * and the voice-agent backend. USD per 1M tokens. Verified 2026-06 against:
4
+ * OpenAI — https://platform.openai.com/docs/pricing
5
+ * Anthropic — https://docs.anthropic.com/en/docs/about-claude/pricing (cache read = 0.1x input)
6
+ * Gemini — https://ai.google.dev/gemini-api/docs/pricing
7
+ *
8
+ * `cachedInputPerMillion` = cached-input read rate (omitted where the provider
9
+ * doesn't publish one). `*Long` = long-context tier (per-request above
10
+ * `longContextThresholdTokens`). Within each provider: DEPRECATED first, then LIVE.
11
+ */
12
+ import { LLMProvider } from "../enums/llm.js";
13
+ export interface ModelPricing {
14
+ inputPerMillion: number;
15
+ outputPerMillion: number;
16
+ cachedInputPerMillion?: number;
17
+ provider: LLMProvider;
18
+ longContextThresholdTokens?: number;
19
+ inputPerMillionLong?: number;
20
+ outputPerMillionLong?: number;
21
+ cachedInputPerMillionLong?: number;
22
+ }
23
+ export declare const MODEL_PRICING: Record<string, ModelPricing>;
24
+ /** Look up pricing for a model id (enum value or raw string). Undefined if unknown. */
25
+ export declare function getModelPricing(modelId: string): ModelPricing | undefined;
26
+ //# sourceMappingURL=modelPricing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelPricing.d.ts","sourceRoot":"","sources":["../../src/pricing/modelPricing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAa,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,WAAW,YAAY;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,EAAE,WAAW,CAAC;IACtB,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAiDtD,CAAC;AAEF,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEzE"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Canonical LLM model pricing — single source of truth shared by speak-server
3
+ * and the voice-agent backend. USD per 1M tokens. Verified 2026-06 against:
4
+ * OpenAI — https://platform.openai.com/docs/pricing
5
+ * Anthropic — https://docs.anthropic.com/en/docs/about-claude/pricing (cache read = 0.1x input)
6
+ * Gemini — https://ai.google.dev/gemini-api/docs/pricing
7
+ *
8
+ * `cachedInputPerMillion` = cached-input read rate (omitted where the provider
9
+ * doesn't publish one). `*Long` = long-context tier (per-request above
10
+ * `longContextThresholdTokens`). Within each provider: DEPRECATED first, then LIVE.
11
+ */
12
+ import { LLMModels, LLMProvider } from "../enums/llm.js";
13
+ export const MODEL_PRICING = {
14
+ // ═══════════════ OpenAI ═══════════════
15
+ // Deprecated
16
+ [LLMModels.GPT_3_5]: { inputPerMillion: 0.5, outputPerMillion: 1.5, provider: LLMProvider.OPENAI },
17
+ [LLMModels.GPT_3_5_TURBO_16K]: { inputPerMillion: 3, outputPerMillion: 4, provider: LLMProvider.OPENAI },
18
+ [LLMModels.GPT_3_5_TURBO_0125]: { inputPerMillion: 0.5, outputPerMillion: 1.5, provider: LLMProvider.OPENAI },
19
+ [LLMModels.GPT_4]: { inputPerMillion: 30, outputPerMillion: 60, provider: LLMProvider.OPENAI },
20
+ [LLMModels.GPT_4_1106_PREVIEW]: { inputPerMillion: 10, outputPerMillion: 30, provider: LLMProvider.OPENAI },
21
+ [LLMModels.GPT_4_TURBO]: { inputPerMillion: 10, outputPerMillion: 30, provider: LLMProvider.OPENAI },
22
+ [LLMModels.GPT_4_O_2024_05_13]: { inputPerMillion: 5, outputPerMillion: 15, provider: LLMProvider.OPENAI },
23
+ // Live
24
+ [LLMModels.GPT_4O]: { inputPerMillion: 2.5, outputPerMillion: 10, cachedInputPerMillion: 1.25, provider: LLMProvider.OPENAI },
25
+ [LLMModels.GPT_4O_MINI]: { inputPerMillion: 0.15, outputPerMillion: 0.6, cachedInputPerMillion: 0.075, provider: LLMProvider.OPENAI },
26
+ [LLMModels.GPT_4_O_2024_08_06]: { inputPerMillion: 2.5, outputPerMillion: 10, cachedInputPerMillion: 1.25, provider: LLMProvider.OPENAI },
27
+ [LLMModels.GPT_4_MINI_2024_07_18]: { inputPerMillion: 0.15, outputPerMillion: 0.6, cachedInputPerMillion: 0.075, provider: LLMProvider.OPENAI },
28
+ [LLMModels.GPT_4_1_2025_04_14]: { inputPerMillion: 2, outputPerMillion: 8, cachedInputPerMillion: 0.5, provider: LLMProvider.OPENAI },
29
+ [LLMModels.GPT_5_1_2025_11_13]: { inputPerMillion: 1.25, outputPerMillion: 10, cachedInputPerMillion: 0.125, provider: LLMProvider.OPENAI },
30
+ [LLMModels.GPT_5_2]: { inputPerMillion: 1.75, outputPerMillion: 14, cachedInputPerMillion: 0.175, provider: LLMProvider.OPENAI },
31
+ [LLMModels.GPT_5_4]: { inputPerMillion: 2.5, outputPerMillion: 15, cachedInputPerMillion: 0.25, longContextThresholdTokens: 272000, inputPerMillionLong: 5, outputPerMillionLong: 22.5, cachedInputPerMillionLong: 0.5, provider: LLMProvider.OPENAI },
32
+ [LLMModels.GPT_5_4_MINI]: { inputPerMillion: 0.75, outputPerMillion: 4.5, cachedInputPerMillion: 0.075, provider: LLMProvider.OPENAI },
33
+ [LLMModels.GPT_5_4_MINI_2026_03_17]: { inputPerMillion: 0.75, outputPerMillion: 4.5, cachedInputPerMillion: 0.075, provider: LLMProvider.OPENAI },
34
+ [LLMModels.GPT_5_4_NANO]: { inputPerMillion: 0.2, outputPerMillion: 1.25, cachedInputPerMillion: 0.02, provider: LLMProvider.OPENAI },
35
+ [LLMModels.GPT_5_5]: { inputPerMillion: 5, outputPerMillion: 30, cachedInputPerMillion: 0.5, longContextThresholdTokens: 272000, inputPerMillionLong: 10, outputPerMillionLong: 45, cachedInputPerMillionLong: 1, provider: LLMProvider.OPENAI },
36
+ [LLMModels.GPT_5_5_THINKING]: { inputPerMillion: 5, outputPerMillion: 30, cachedInputPerMillion: 0.5, longContextThresholdTokens: 272000, inputPerMillionLong: 10, outputPerMillionLong: 45, cachedInputPerMillionLong: 1, provider: LLMProvider.OPENAI }, // gpt-5.5 reasoning mode (same rate)
37
+ // ═══════════════ Anthropic (cache read = 0.1x input) ═══════════════
38
+ // Deprecated
39
+ [LLMModels.CLAUDE_2]: { inputPerMillion: 8, outputPerMillion: 24, provider: LLMProvider.ANTHROPIC },
40
+ [LLMModels.CLAUDE_3_5_SONNET]: { inputPerMillion: 3, outputPerMillion: 15, cachedInputPerMillion: 0.3, provider: LLMProvider.ANTHROPIC },
41
+ [LLMModels.CLAUDE_3_5_SONNET_20241022]: { inputPerMillion: 3, outputPerMillion: 15, cachedInputPerMillion: 0.3, provider: LLMProvider.ANTHROPIC },
42
+ [LLMModels.CLAUDE_3_7_SONNET_LATEST]: { inputPerMillion: 3, outputPerMillion: 15, cachedInputPerMillion: 0.3, provider: LLMProvider.ANTHROPIC },
43
+ // Live
44
+ [LLMModels.CLAUDE_HAIKU_4_5]: { inputPerMillion: 1, outputPerMillion: 5, cachedInputPerMillion: 0.1, provider: LLMProvider.ANTHROPIC },
45
+ [LLMModels.CLAUDE_SONNET_4_6]: { inputPerMillion: 3, outputPerMillion: 15, cachedInputPerMillion: 0.3, provider: LLMProvider.ANTHROPIC },
46
+ [LLMModels.CLAUDE_OPUS_4_8]: { inputPerMillion: 5, outputPerMillion: 25, cachedInputPerMillion: 0.5, provider: LLMProvider.ANTHROPIC },
47
+ // ═══════════════ Google Gemini ═══════════════
48
+ // Deprecated
49
+ [LLMModels.GEMINI_1_5_PRO]: { inputPerMillion: 1.25, outputPerMillion: 5, provider: LLMProvider.GOOGLE },
50
+ [LLMModels.GEMINI_1_5_FLASH]: { inputPerMillion: 0.075, outputPerMillion: 0.3, cachedInputPerMillion: 0.01875, provider: LLMProvider.GOOGLE },
51
+ [LLMModels.GEMINI_2_0_FLASH]: { inputPerMillion: 0.1, outputPerMillion: 0.4, cachedInputPerMillion: 0.025, provider: LLMProvider.GOOGLE },
52
+ // Live
53
+ [LLMModels.GEMINI_2_5_PRO]: { inputPerMillion: 1.25, outputPerMillion: 10, longContextThresholdTokens: 200000, inputPerMillionLong: 2.5, outputPerMillionLong: 15, provider: LLMProvider.GOOGLE },
54
+ [LLMModels.GEMINI_2_5_FLASH]: { inputPerMillion: 0.3, outputPerMillion: 2.5, cachedInputPerMillion: 0.03, provider: LLMProvider.GOOGLE },
55
+ [LLMModels.GEMINI_2_5_FLASH_LITE]: { inputPerMillion: 0.1, outputPerMillion: 0.4, cachedInputPerMillion: 0.01, provider: LLMProvider.GOOGLE },
56
+ [LLMModels.GEMINI_3_FLASH_PREVIEW]: { inputPerMillion: 0.5, outputPerMillion: 3, provider: LLMProvider.GOOGLE },
57
+ [LLMModels.GEMINI_3_1_FLASH_LITE]: { inputPerMillion: 0.25, outputPerMillion: 1.5, provider: LLMProvider.GOOGLE },
58
+ [LLMModels.GEMINI_3_1_PRO_PREVIEW]: { inputPerMillion: 2, outputPerMillion: 12, longContextThresholdTokens: 200000, inputPerMillionLong: 4, outputPerMillionLong: 18, provider: LLMProvider.GOOGLE },
59
+ [LLMModels.GEMINI_3_5_FLASH]: { inputPerMillion: 1.5, outputPerMillion: 9, provider: LLMProvider.GOOGLE },
60
+ };
61
+ /** Look up pricing for a model id (enum value or raw string). Undefined if unknown. */
62
+ export function getModelPricing(modelId) {
63
+ return MODEL_PRICING[modelId];
64
+ }
65
+ //# sourceMappingURL=modelPricing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelPricing.js","sourceRoot":"","sources":["../../src/pricing/modelPricing.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@speakai/shared",
3
- "version": "1.9.2",
3
+ "version": "1.11.0",
4
4
  "description": "Shared types, enums and interfaces for Speak AI platform",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",