@speakai/shared 1.9.2 → 1.10.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.
- package/dist/enums/index.d.ts +1 -0
- package/dist/enums/index.d.ts.map +1 -1
- package/dist/enums/index.js +1 -0
- package/dist/enums/index.js.map +1 -1
- package/dist/enums/llm.d.ts +46 -0
- package/dist/enums/llm.d.ts.map +1 -0
- package/dist/enums/llm.js +51 -0
- package/dist/enums/llm.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/pricing/modelPricing.d.ts +28 -0
- package/dist/pricing/modelPricing.d.ts.map +1 -0
- package/dist/pricing/modelPricing.js +53 -0
- package/dist/pricing/modelPricing.js.map +1 -0
- package/package.json +1 -1
package/dist/enums/index.d.ts
CHANGED
|
@@ -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"}
|
package/dist/enums/index.js
CHANGED
package/dist/enums/index.js.map
CHANGED
|
@@ -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,46 @@
|
|
|
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 (what gets sent to the
|
|
6
|
+
* provider and stored on records), so both systems can keep using their own
|
|
7
|
+
* existing ids. Where the two systems pinned the same model to different ids
|
|
8
|
+
* (e.g. gpt-5.4-mini), BOTH are kept as distinct members.
|
|
9
|
+
*/
|
|
10
|
+
export declare enum LLMProvider {
|
|
11
|
+
OPENAI = "openai",
|
|
12
|
+
GOOGLE = "google",
|
|
13
|
+
ANTHROPIC = "anthropic"
|
|
14
|
+
}
|
|
15
|
+
export declare enum LLMModels {
|
|
16
|
+
GPT_3_5 = "gpt-3.5",
|
|
17
|
+
GPT_3_5_TURBO_16K = "gpt-3.5-turbo-16k",
|
|
18
|
+
GPT_3_5_TURBO_0125 = "gpt-3.5-turbo-0125",
|
|
19
|
+
GPT_4 = "gpt-4",
|
|
20
|
+
GPT_4_1106_PREVIEW = "gpt-4-1106-preview",
|
|
21
|
+
GPT_4_TURBO = "gpt-4-turbo",
|
|
22
|
+
GPT_4O = "gpt-4o",
|
|
23
|
+
GPT_4O_MINI = "gpt-4o-mini",
|
|
24
|
+
GPT_4_O_2024_05_13 = "gpt-4o-2024-05-13",
|
|
25
|
+
GPT_4_O_2024_08_06 = "gpt-4o-2024-08-06",
|
|
26
|
+
GPT_4_MINI_2024_07_18 = "gpt-4o-mini-2024-07-18",
|
|
27
|
+
GPT_4_1_2025_04_14 = "gpt-4.1-2025-04-14",
|
|
28
|
+
GPT_5_1_2025_11_13 = "gpt-5.1-2025-11-13",
|
|
29
|
+
GPT_5_4 = "gpt-5.4",
|
|
30
|
+
GPT_5_4_MINI = "gpt-5.4-mini",
|
|
31
|
+
GPT_5_4_MINI_2026_03_17 = "gpt-5.4-mini-2026-03-17",
|
|
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_SONNET_4_6 = "claude-sonnet-4-6",
|
|
39
|
+
CLAUDE_OPUS_4_8 = "claude-opus-4-8",
|
|
40
|
+
GEMINI_1_5_PRO = "gemini-1.5-pro",
|
|
41
|
+
GEMINI_1_5_FLASH = "gemini-1.5-flash",
|
|
42
|
+
GEMINI_2_0_FLASH = "gemini-2.0-flash",
|
|
43
|
+
GEMINI_2_5_FLASH = "gemini-2.5-flash",
|
|
44
|
+
GEMINI_2_5_FLASH_LITE = "gemini-2.5-flash-lite"
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=llm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/enums/llm.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB;AAED,oBAAY,SAAS;IAEnB,OAAO,YAAY;IACnB,iBAAiB,sBAAsB;IACvC,kBAAkB,uBAAuB;IACzC,KAAK,UAAU;IACf,kBAAkB,uBAAuB;IACzC,WAAW,gBAAgB;IAC3B,MAAM,WAAW;IACjB,WAAW,gBAAgB;IAC3B,kBAAkB,sBAAsB;IACxC,kBAAkB,sBAAsB;IACxC,qBAAqB,2BAA2B;IAChD,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,uBAAuB,4BAA4B;IACnD,OAAO,YAAY;IACnB,gBAAgB,qBAAqB;IAGrC,QAAQ,aAAa;IACrB,iBAAiB,sBAAsB;IACvC,0BAA0B,+BAA+B;IACzD,wBAAwB,6BAA6B;IACrD,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IAGnC,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,qBAAqB,0BAA0B;CAChD"}
|
|
@@ -0,0 +1,51 @@
|
|
|
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 (what gets sent to the
|
|
6
|
+
* provider and stored on records), so both systems can keep using their own
|
|
7
|
+
* existing ids. Where the two systems pinned the same model to different ids
|
|
8
|
+
* (e.g. gpt-5.4-mini), BOTH are kept as distinct members.
|
|
9
|
+
*/
|
|
10
|
+
export var LLMProvider;
|
|
11
|
+
(function (LLMProvider) {
|
|
12
|
+
LLMProvider["OPENAI"] = "openai";
|
|
13
|
+
LLMProvider["GOOGLE"] = "google";
|
|
14
|
+
LLMProvider["ANTHROPIC"] = "anthropic";
|
|
15
|
+
})(LLMProvider || (LLMProvider = {}));
|
|
16
|
+
export var LLMModels;
|
|
17
|
+
(function (LLMModels) {
|
|
18
|
+
// ── OpenAI ──────────────────────────────────────────────
|
|
19
|
+
LLMModels["GPT_3_5"] = "gpt-3.5";
|
|
20
|
+
LLMModels["GPT_3_5_TURBO_16K"] = "gpt-3.5-turbo-16k";
|
|
21
|
+
LLMModels["GPT_3_5_TURBO_0125"] = "gpt-3.5-turbo-0125";
|
|
22
|
+
LLMModels["GPT_4"] = "gpt-4";
|
|
23
|
+
LLMModels["GPT_4_1106_PREVIEW"] = "gpt-4-1106-preview";
|
|
24
|
+
LLMModels["GPT_4_TURBO"] = "gpt-4-turbo";
|
|
25
|
+
LLMModels["GPT_4O"] = "gpt-4o";
|
|
26
|
+
LLMModels["GPT_4O_MINI"] = "gpt-4o-mini";
|
|
27
|
+
LLMModels["GPT_4_O_2024_05_13"] = "gpt-4o-2024-05-13";
|
|
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_4"] = "gpt-5.4";
|
|
33
|
+
LLMModels["GPT_5_4_MINI"] = "gpt-5.4-mini";
|
|
34
|
+
LLMModels["GPT_5_4_MINI_2026_03_17"] = "gpt-5.4-mini-2026-03-17";
|
|
35
|
+
LLMModels["GPT_5_5"] = "gpt-5.5";
|
|
36
|
+
LLMModels["GPT_5_5_THINKING"] = "gpt-5.5-thinking";
|
|
37
|
+
// ── Anthropic ───────────────────────────────────────────
|
|
38
|
+
LLMModels["CLAUDE_2"] = "claude-2";
|
|
39
|
+
LLMModels["CLAUDE_3_5_SONNET"] = "claude-3-5-sonnet";
|
|
40
|
+
LLMModels["CLAUDE_3_5_SONNET_20241022"] = "claude-3-5-sonnet-20241022";
|
|
41
|
+
LLMModels["CLAUDE_3_7_SONNET_LATEST"] = "claude-3-7-sonnet-latest";
|
|
42
|
+
LLMModels["CLAUDE_SONNET_4_6"] = "claude-sonnet-4-6";
|
|
43
|
+
LLMModels["CLAUDE_OPUS_4_8"] = "claude-opus-4-8";
|
|
44
|
+
// ── Google Gemini ───────────────────────────────────────
|
|
45
|
+
LLMModels["GEMINI_1_5_PRO"] = "gemini-1.5-pro";
|
|
46
|
+
LLMModels["GEMINI_1_5_FLASH"] = "gemini-1.5-flash";
|
|
47
|
+
LLMModels["GEMINI_2_0_FLASH"] = "gemini-2.0-flash";
|
|
48
|
+
LLMModels["GEMINI_2_5_FLASH"] = "gemini-2.5-flash";
|
|
49
|
+
LLMModels["GEMINI_2_5_FLASH_LITE"] = "gemini-2.5-flash-lite";
|
|
50
|
+
})(LLMModels || (LLMModels = {}));
|
|
51
|
+
//# sourceMappingURL=llm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/enums/llm.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;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,SAmCX;AAnCD,WAAY,SAAS;IACnB,2DAA2D;IAC3D,gCAAmB,CAAA;IACnB,oDAAuC,CAAA;IACvC,sDAAyC,CAAA;IACzC,4BAAe,CAAA;IACf,sDAAyC,CAAA;IACzC,wCAA2B,CAAA;IAC3B,8BAAiB,CAAA;IACjB,wCAA2B,CAAA;IAC3B,qDAAwC,CAAA;IACxC,qDAAwC,CAAA;IACxC,6DAAgD,CAAA;IAChD,sDAAyC,CAAA;IACzC,sDAAyC,CAAA;IACzC,gCAAmB,CAAA;IACnB,0CAA6B,CAAA;IAC7B,gEAAmD,CAAA;IACnD,gCAAmB,CAAA;IACnB,kDAAqC,CAAA;IAErC,2DAA2D;IAC3D,kCAAqB,CAAA;IACrB,oDAAuC,CAAA;IACvC,sEAAyD,CAAA;IACzD,kEAAqD,CAAA;IACrD,oDAAuC,CAAA;IACvC,gDAAmC,CAAA;IAEnC,2DAA2D;IAC3D,8CAAiC,CAAA;IACjC,kDAAqC,CAAA;IACrC,kDAAqC,CAAA;IACrC,kDAAqC,CAAA;IACrC,4DAA+C,CAAA;AACjD,CAAC,EAnCW,SAAS,KAAT,SAAS,QAmCpB"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -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
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,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical LLM model pricing — single source of truth shared by speak-server
|
|
3
|
+
* and the voice-agent backend. USD per 1M tokens.
|
|
4
|
+
*
|
|
5
|
+
* `cachedInputPerMillion` = provider's cached-input read rate.
|
|
6
|
+
* `*Long` = long-context tier (per-request above `longContextThresholdTokens`).
|
|
7
|
+
*
|
|
8
|
+
* Verified 2026-06 against:
|
|
9
|
+
* OpenAI — https://platform.openai.com/docs/pricing
|
|
10
|
+
* Anthropic — https://docs.anthropic.com/en/docs/about-claude/pricing (cache read = 0.1x input)
|
|
11
|
+
* Gemini — https://ai.google.dev/gemini-api/docs/pricing
|
|
12
|
+
* [S] = legacy/superseded model (not on current page; historical rate).
|
|
13
|
+
*/
|
|
14
|
+
import { LLMProvider } from "../enums/llm.js";
|
|
15
|
+
export interface ModelPricing {
|
|
16
|
+
inputPerMillion: number;
|
|
17
|
+
outputPerMillion: number;
|
|
18
|
+
cachedInputPerMillion?: number;
|
|
19
|
+
provider: LLMProvider;
|
|
20
|
+
longContextThresholdTokens?: number;
|
|
21
|
+
inputPerMillionLong?: number;
|
|
22
|
+
outputPerMillionLong?: number;
|
|
23
|
+
cachedInputPerMillionLong?: number;
|
|
24
|
+
}
|
|
25
|
+
export declare const MODEL_PRICING: Record<string, ModelPricing>;
|
|
26
|
+
/** Look up pricing for a model id (enum value or raw string). Undefined if unknown. */
|
|
27
|
+
export declare function getModelPricing(modelId: string): ModelPricing | undefined;
|
|
28
|
+
//# sourceMappingURL=modelPricing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modelPricing.d.ts","sourceRoot":"","sources":["../../src/pricing/modelPricing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;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,CAmCtD,CAAC;AAEF,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEzE"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical LLM model pricing — single source of truth shared by speak-server
|
|
3
|
+
* and the voice-agent backend. USD per 1M tokens.
|
|
4
|
+
*
|
|
5
|
+
* `cachedInputPerMillion` = provider's cached-input read rate.
|
|
6
|
+
* `*Long` = long-context tier (per-request above `longContextThresholdTokens`).
|
|
7
|
+
*
|
|
8
|
+
* Verified 2026-06 against:
|
|
9
|
+
* OpenAI — https://platform.openai.com/docs/pricing
|
|
10
|
+
* Anthropic — https://docs.anthropic.com/en/docs/about-claude/pricing (cache read = 0.1x input)
|
|
11
|
+
* Gemini — https://ai.google.dev/gemini-api/docs/pricing
|
|
12
|
+
* [S] = legacy/superseded model (not on current page; historical rate).
|
|
13
|
+
*/
|
|
14
|
+
import { LLMModels, LLMProvider } from "../enums/llm.js";
|
|
15
|
+
export const MODEL_PRICING = {
|
|
16
|
+
// OpenAI
|
|
17
|
+
[LLMModels.GPT_3_5]: { inputPerMillion: 0.5, outputPerMillion: 1.5, provider: LLMProvider.OPENAI },
|
|
18
|
+
[LLMModels.GPT_3_5_TURBO_16K]: { inputPerMillion: 3, outputPerMillion: 4, provider: LLMProvider.OPENAI },
|
|
19
|
+
[LLMModels.GPT_3_5_TURBO_0125]: { inputPerMillion: 0.5, outputPerMillion: 1.5, provider: LLMProvider.OPENAI },
|
|
20
|
+
[LLMModels.GPT_4]: { inputPerMillion: 30, outputPerMillion: 60, provider: LLMProvider.OPENAI },
|
|
21
|
+
[LLMModels.GPT_4_1106_PREVIEW]: { inputPerMillion: 10, outputPerMillion: 30, provider: LLMProvider.OPENAI },
|
|
22
|
+
[LLMModels.GPT_4_TURBO]: { inputPerMillion: 10, outputPerMillion: 30, provider: LLMProvider.OPENAI },
|
|
23
|
+
[LLMModels.GPT_4O]: { inputPerMillion: 2.5, outputPerMillion: 10, cachedInputPerMillion: 1.25, provider: LLMProvider.OPENAI },
|
|
24
|
+
[LLMModels.GPT_4O_MINI]: { inputPerMillion: 0.15, outputPerMillion: 0.6, cachedInputPerMillion: 0.075, provider: LLMProvider.OPENAI },
|
|
25
|
+
[LLMModels.GPT_4_O_2024_05_13]: { inputPerMillion: 5, outputPerMillion: 15, 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_4]: { inputPerMillion: 2.5, outputPerMillion: 15, cachedInputPerMillion: 0.25, longContextThresholdTokens: 272000, inputPerMillionLong: 5, outputPerMillionLong: 22.5, cachedInputPerMillionLong: 0.5, provider: LLMProvider.OPENAI },
|
|
31
|
+
[LLMModels.GPT_5_4_MINI]: { inputPerMillion: 0.75, outputPerMillion: 4.5, cachedInputPerMillion: 0.075, provider: LLMProvider.OPENAI },
|
|
32
|
+
[LLMModels.GPT_5_4_MINI_2026_03_17]: { inputPerMillion: 0.75, outputPerMillion: 4.5, cachedInputPerMillion: 0.075, provider: LLMProvider.OPENAI },
|
|
33
|
+
[LLMModels.GPT_5_5]: { inputPerMillion: 5, outputPerMillion: 30, cachedInputPerMillion: 0.5, longContextThresholdTokens: 272000, inputPerMillionLong: 10, outputPerMillionLong: 45, cachedInputPerMillionLong: 1, provider: LLMProvider.OPENAI },
|
|
34
|
+
[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)
|
|
35
|
+
// Anthropic
|
|
36
|
+
[LLMModels.CLAUDE_2]: { inputPerMillion: 8, outputPerMillion: 24, provider: LLMProvider.ANTHROPIC }, // [S]
|
|
37
|
+
[LLMModels.CLAUDE_3_5_SONNET]: { inputPerMillion: 3, outputPerMillion: 15, cachedInputPerMillion: 0.3, provider: LLMProvider.ANTHROPIC },
|
|
38
|
+
[LLMModels.CLAUDE_3_5_SONNET_20241022]: { inputPerMillion: 3, outputPerMillion: 15, cachedInputPerMillion: 0.3, provider: LLMProvider.ANTHROPIC },
|
|
39
|
+
[LLMModels.CLAUDE_3_7_SONNET_LATEST]: { inputPerMillion: 3, outputPerMillion: 15, cachedInputPerMillion: 0.3, provider: LLMProvider.ANTHROPIC },
|
|
40
|
+
[LLMModels.CLAUDE_SONNET_4_6]: { inputPerMillion: 3, outputPerMillion: 15, cachedInputPerMillion: 0.3, provider: LLMProvider.ANTHROPIC },
|
|
41
|
+
[LLMModels.CLAUDE_OPUS_4_8]: { inputPerMillion: 5, outputPerMillion: 25, cachedInputPerMillion: 0.5, provider: LLMProvider.ANTHROPIC },
|
|
42
|
+
// Google Gemini
|
|
43
|
+
[LLMModels.GEMINI_1_5_PRO]: { inputPerMillion: 1.25, outputPerMillion: 5, provider: LLMProvider.GOOGLE }, // [S]
|
|
44
|
+
[LLMModels.GEMINI_1_5_FLASH]: { inputPerMillion: 0.075, outputPerMillion: 0.3, cachedInputPerMillion: 0.01875, provider: LLMProvider.GOOGLE }, // [S]
|
|
45
|
+
[LLMModels.GEMINI_2_0_FLASH]: { inputPerMillion: 0.1, outputPerMillion: 0.4, cachedInputPerMillion: 0.025, provider: LLMProvider.GOOGLE }, // deprecated 2026-06-01
|
|
46
|
+
[LLMModels.GEMINI_2_5_FLASH]: { inputPerMillion: 0.3, outputPerMillion: 2.5, cachedInputPerMillion: 0.03, provider: LLMProvider.GOOGLE },
|
|
47
|
+
[LLMModels.GEMINI_2_5_FLASH_LITE]: { inputPerMillion: 0.1, outputPerMillion: 0.4, cachedInputPerMillion: 0.01, provider: LLMProvider.GOOGLE },
|
|
48
|
+
};
|
|
49
|
+
/** Look up pricing for a model id (enum value or raw string). Undefined if unknown. */
|
|
50
|
+
export function getModelPricing(modelId) {
|
|
51
|
+
return MODEL_PRICING[modelId];
|
|
52
|
+
}
|
|
53
|
+
//# 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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"}
|