@sudobility/shapeshyft_engine 1.0.2 → 1.0.4
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/config/providers.d.ts +26 -6
- package/dist/config/providers.d.ts.map +1 -1
- package/dist/config/providers.js +320 -142
- package/dist/config/providers.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/cost-estimation.d.ts +52 -0
- package/dist/lib/cost-estimation.d.ts.map +1 -0
- package/dist/lib/cost-estimation.js +121 -0
- package/dist/lib/cost-estimation.js.map +1 -0
- package/dist/services/llm/anthropic.d.ts.map +1 -1
- package/dist/services/llm/anthropic.js +9 -6
- package/dist/services/llm/anthropic.js.map +1 -1
- package/dist/services/llm/cohere-schema.d.ts +26 -0
- package/dist/services/llm/cohere-schema.d.ts.map +1 -0
- package/dist/services/llm/cohere-schema.js +103 -0
- package/dist/services/llm/cohere-schema.js.map +1 -0
- package/dist/services/llm/compatible-usage.d.ts +29 -0
- package/dist/services/llm/compatible-usage.d.ts.map +1 -0
- package/dist/services/llm/compatible-usage.js +116 -0
- package/dist/services/llm/compatible-usage.js.map +1 -0
- package/dist/services/llm/custom.d.ts.map +1 -1
- package/dist/services/llm/custom.js +12 -3
- package/dist/services/llm/custom.js.map +1 -1
- package/dist/services/llm/gemini.d.ts +9 -1
- package/dist/services/llm/gemini.d.ts.map +1 -1
- package/dist/services/llm/gemini.js +63 -10
- package/dist/services/llm/gemini.js.map +1 -1
- package/dist/services/llm/groq.d.ts +6 -0
- package/dist/services/llm/groq.d.ts.map +1 -1
- package/dist/services/llm/groq.js +81 -14
- package/dist/services/llm/groq.js.map +1 -1
- package/dist/services/llm/index.d.ts +2 -2
- package/dist/services/llm/index.d.ts.map +1 -1
- package/dist/services/llm/index.js +13 -6
- package/dist/services/llm/index.js.map +1 -1
- package/dist/services/llm/openai.d.ts +19 -2
- package/dist/services/llm/openai.d.ts.map +1 -1
- package/dist/services/llm/openai.js +119 -73
- package/dist/services/llm/openai.js.map +1 -1
- package/dist/services/llm/types.d.ts +48 -4
- package/dist/services/llm/types.d.ts.map +1 -1
- package/dist/services/llm/usage-error.d.ts +23 -0
- package/dist/services/llm/usage-error.d.ts.map +1 -0
- package/dist/services/llm/usage-error.js +34 -0
- package/dist/services/llm/usage-error.js.map +1 -0
- package/dist/types/index.d.ts +52 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +8 -4
- package/dist/types/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compatible-usage.d.ts","sourceRoot":"","sources":["../../../src/services/llm/compatible-usage.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAyB3C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAsDxD;AAED,kEAAkE;AAClE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAkClE"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Usage from OpenAI-compatible chat completion responses.
|
|
3
|
+
* @description OpenAI, DeepSeek, xAI, Mistral, Perplexity and Groq share the
|
|
4
|
+
* `usage` shape for token totals and each extend it with what their bill
|
|
5
|
+
* depends on. One reader takes all of them, since a field one provider never
|
|
6
|
+
* sends is simply absent.
|
|
7
|
+
*/
|
|
8
|
+
/** 1 USD in xAI's `cost_in_usd_ticks`. */
|
|
9
|
+
const XAI_TICKS_PER_USD = 10_000_000_000;
|
|
10
|
+
function count(value) {
|
|
11
|
+
const n = typeof value === "string" ? Number(value) : value;
|
|
12
|
+
return typeof n === "number" && Number.isFinite(n) && n > 0 ? n : undefined;
|
|
13
|
+
}
|
|
14
|
+
function nested(raw, key) {
|
|
15
|
+
const value = raw?.[key];
|
|
16
|
+
return value && typeof value === "object"
|
|
17
|
+
? value
|
|
18
|
+
: undefined;
|
|
19
|
+
}
|
|
20
|
+
/** A billed amount that may legitimately be zero, unlike a token count. */
|
|
21
|
+
function amount(value) {
|
|
22
|
+
const n = typeof value === "string" ? Number(value) : value;
|
|
23
|
+
return typeof n === "number" && Number.isFinite(n) && n >= 0 ? n : undefined;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Read an OpenAI-compatible `usage` object.
|
|
27
|
+
*
|
|
28
|
+
* - `prompt_tokens_details.cached_tokens`: OpenAI, xAI, Groq, Mistral; DeepSeek
|
|
29
|
+
* also sends `prompt_cache_hit_tokens`, and Mistral `num_cached_tokens`. A
|
|
30
|
+
* part of `prompt_tokens`.
|
|
31
|
+
* - `prompt_tokens_details.cache_write_tokens`: OpenAI GPT-5.6+, billed above
|
|
32
|
+
* the input rate. A part of `prompt_tokens`.
|
|
33
|
+
* - `completion_tokens_details.reasoning_tokens`: a part of `completion_tokens`
|
|
34
|
+
* for OpenAI, but NOT for xAI, which leaves it out of `completion_tokens` and
|
|
35
|
+
* bills it as output. Told apart by `total_tokens`: when it only adds up with
|
|
36
|
+
* reasoning included, reasoning was outside.
|
|
37
|
+
* - `reasoning_tokens`, `citation_tokens`, `num_search_queries` (top level):
|
|
38
|
+
* Perplexity, each billed on its own line.
|
|
39
|
+
* - `cost_in_usd_ticks` (xAI) and `cost.total_cost` (Perplexity, USD): the
|
|
40
|
+
* amount the provider billed, which supersedes any estimate.
|
|
41
|
+
*/
|
|
42
|
+
export function compatibleUsage(usage) {
|
|
43
|
+
const raw = usage && typeof usage === "object"
|
|
44
|
+
? usage
|
|
45
|
+
: undefined;
|
|
46
|
+
const promptTokens = count(raw?.prompt_tokens) ?? 0;
|
|
47
|
+
let completionTokens = count(raw?.completion_tokens) ?? 0;
|
|
48
|
+
const totalReported = count(raw?.total_tokens);
|
|
49
|
+
const promptDetails = nested(raw, "prompt_tokens_details");
|
|
50
|
+
const cached = count(promptDetails?.cached_tokens) ??
|
|
51
|
+
count(raw?.prompt_cache_hit_tokens) ??
|
|
52
|
+
count(raw?.num_cached_tokens);
|
|
53
|
+
const cacheWrite = count(promptDetails?.cache_write_tokens);
|
|
54
|
+
const reasoning = count(nested(raw, "completion_tokens_details")?.reasoning_tokens);
|
|
55
|
+
if (reasoning &&
|
|
56
|
+
totalReported !== undefined &&
|
|
57
|
+
totalReported === promptTokens + completionTokens + reasoning) {
|
|
58
|
+
completionTokens += reasoning;
|
|
59
|
+
}
|
|
60
|
+
const separateReasoning = count(raw?.reasoning_tokens);
|
|
61
|
+
const citations = count(raw?.citation_tokens);
|
|
62
|
+
const searches = count(raw?.num_search_queries);
|
|
63
|
+
const xaiTicks = amount(raw?.cost_in_usd_ticks);
|
|
64
|
+
const perplexityUsd = amount(nested(raw, "cost")?.total_cost);
|
|
65
|
+
const billedCostCents = xaiTicks !== undefined
|
|
66
|
+
? (xaiTicks / XAI_TICKS_PER_USD) * 100
|
|
67
|
+
: perplexityUsd !== undefined
|
|
68
|
+
? perplexityUsd * 100
|
|
69
|
+
: undefined;
|
|
70
|
+
return {
|
|
71
|
+
promptTokens,
|
|
72
|
+
completionTokens,
|
|
73
|
+
totalTokens: totalReported ?? promptTokens + completionTokens,
|
|
74
|
+
...(cached ? { cachedInputTokens: cached } : {}),
|
|
75
|
+
...(cacheWrite ? { cacheWriteInputTokens: cacheWrite } : {}),
|
|
76
|
+
...(reasoning ? { reasoningTokens: reasoning } : {}),
|
|
77
|
+
...(separateReasoning
|
|
78
|
+
? { separateReasoningTokens: separateReasoning }
|
|
79
|
+
: {}),
|
|
80
|
+
...(citations ? { citationTokens: citations } : {}),
|
|
81
|
+
...(searches ? { searchCalls: searches } : {}),
|
|
82
|
+
...(billedCostCents !== undefined ? { billedCostCents } : {}),
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/** Add the usage of one more provider call to a running total. */
|
|
86
|
+
export function addUsage(total, next) {
|
|
87
|
+
const merged = {
|
|
88
|
+
promptTokens: total.promptTokens + next.promptTokens,
|
|
89
|
+
completionTokens: total.completionTokens + next.completionTokens,
|
|
90
|
+
totalTokens: total.totalTokens + next.totalTokens,
|
|
91
|
+
requests: (total.requests ?? 1) + (next.requests ?? 1),
|
|
92
|
+
maxPromptTokens: Math.max(total.maxPromptTokens ?? total.promptTokens, next.maxPromptTokens ?? next.promptTokens),
|
|
93
|
+
};
|
|
94
|
+
const optional = [
|
|
95
|
+
"cachedInputTokens",
|
|
96
|
+
"cacheWriteInputTokens",
|
|
97
|
+
"audioInputTokens",
|
|
98
|
+
"reasoningTokens",
|
|
99
|
+
"separateReasoningTokens",
|
|
100
|
+
"citationTokens",
|
|
101
|
+
"searchCalls",
|
|
102
|
+
];
|
|
103
|
+
for (const key of optional) {
|
|
104
|
+
if (total[key] !== undefined || next[key] !== undefined) {
|
|
105
|
+
merged[key] = (total[key] ?? 0) + (next[key] ?? 0);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
// A billed figure is only meaningful for the whole: summing one call that
|
|
109
|
+
// has it with one that does not would understate the total.
|
|
110
|
+
if (total.billedCostCents !== undefined &&
|
|
111
|
+
next.billedCostCents !== undefined) {
|
|
112
|
+
merged.billedCostCents = total.billedCostCents + next.billedCostCents;
|
|
113
|
+
}
|
|
114
|
+
return merged;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=compatible-usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compatible-usage.js","sourceRoot":"","sources":["../../../src/services/llm/compatible-usage.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,0CAA0C;AAC1C,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAEzC,SAAS,KAAK,CAAC,KAAc;IAC3B,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5D,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9E,CAAC;AAED,SAAS,MAAM,CAAC,GAAQ,EAAE,GAAW;IACnC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QACvC,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,2EAA2E;AAC3E,SAAS,MAAM,CAAC,KAAc;IAC5B,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5D,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/E,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,MAAM,GAAG,GACP,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAChC,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,gBAAgB,GAAG,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAE/C,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;IAC3D,MAAM,MAAM,GACV,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC;QACnC,KAAK,CAAC,GAAG,EAAE,uBAAuB,CAAC;QACnC,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;IAE5D,MAAM,SAAS,GAAG,KAAK,CACrB,MAAM,CAAC,GAAG,EAAE,2BAA2B,CAAC,EAAE,gBAAgB,CAC3D,CAAC;IACF,IACE,SAAS;QACT,aAAa,KAAK,SAAS;QAC3B,aAAa,KAAK,YAAY,GAAG,gBAAgB,GAAG,SAAS,EAC7D,CAAC;QACD,gBAAgB,IAAI,SAAS,CAAC;IAChC,CAAC;IAED,MAAM,iBAAiB,GAAG,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAEhD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;IAC9D,MAAM,eAAe,GACnB,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,CAAC,QAAQ,GAAG,iBAAiB,CAAC,GAAG,GAAG;QACtC,CAAC,CAAC,aAAa,KAAK,SAAS;YAC3B,CAAC,CAAC,aAAa,GAAG,GAAG;YACrB,CAAC,CAAC,SAAS,CAAC;IAElB,OAAO;QACL,YAAY;QACZ,gBAAgB;QAChB,WAAW,EAAE,aAAa,IAAI,YAAY,GAAG,gBAAgB;QAC7D,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,iBAAiB;YACnB,CAAC,CAAC,EAAE,uBAAuB,EAAE,iBAAiB,EAAE;YAChD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,QAAQ,CAAC,KAAe,EAAE,IAAc;IACtD,MAAM,MAAM,GAAa;QACvB,YAAY,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY;QACpD,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB;QAChE,WAAW,EAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;QACjD,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACtD,eAAe,EAAE,IAAI,CAAC,GAAG,CACvB,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,YAAY,EAC3C,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,YAAY,CAC1C;KACF,CAAC;IACF,MAAM,QAAQ,GAAG;QACf,mBAAmB;QACnB,uBAAuB;QACvB,kBAAkB;QAClB,iBAAiB;QACjB,yBAAyB;QACzB,gBAAgB;QAChB,aAAa;KACL,CAAC;IACX,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YACxD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,0EAA0E;IAC1E,4DAA4D;IAC5D,IACE,KAAK,CAAC,eAAe,KAAK,SAAS;QACnC,IAAI,CAAC,eAAe,KAAK,SAAS,EAClC,CAAC;QACD,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;IACxE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../src/services/llm/custom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACf,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../src/services/llm/custom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACf,MAAM,YAAY,CAAC;AAKpB;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,YAAY;IACpD,QAAQ,CAAC,YAAY,EAAG,WAAW,CAAU;IAC7C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,cAAc;IA4B5B,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAoFzD;;;;;;;OAOG;YACW,QAAQ;IAmEtB;;OAEG;IACH,OAAO,CAAC,aAAa;IA4ErB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IA0CrB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAwDxB;;OAEG;IACH,OAAO,CAAC,YAAY;IAuBpB,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAkE7D;;OAEG;IACH,cAAc,IAAI,MAAM;CAGzB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { normalizeFinishReason } from "./finish-reason.js";
|
|
2
|
+
import { attachUsage } from "./usage-error.js";
|
|
2
3
|
import { extractJson } from "./extract-json.js";
|
|
3
4
|
/**
|
|
4
5
|
* Custom LLM Server provider that forwards requests to user's endpoint.
|
|
@@ -80,16 +81,24 @@ export class CustomLLMProvider {
|
|
|
80
81
|
const finishReason = normalizeFinishReason((result.choices?.[0] ??
|
|
81
82
|
{}).finish_reason);
|
|
82
83
|
const usage = this.extractUsage(result);
|
|
84
|
+
const model = request.model ?? "custom";
|
|
83
85
|
if (finishReason === "length") {
|
|
84
|
-
throw new Error(`Model output was truncated at the token limit (finish_reason=length) after ${usage.completionTokens} completion tokens with ${usage.promptTokens} in the prompt. The answer is incomplete; raise the ceiling, enlarge the context, or ask for less in one call.`);
|
|
86
|
+
throw attachUsage(new Error(`Model output was truncated at the token limit (finish_reason=length) after ${usage.completionTokens} completion tokens with ${usage.promptTokens} in the prompt. The answer is incomplete; raise the ceiling, enlarge the context, or ask for less in one call.`), usage, model);
|
|
85
87
|
}
|
|
86
88
|
// Parse response - try multiple common formats
|
|
87
|
-
|
|
89
|
+
let parsed;
|
|
90
|
+
try {
|
|
91
|
+
parsed = this.parseResponse(result);
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
throw attachUsage(error, usage, model);
|
|
95
|
+
}
|
|
96
|
+
const { rawResponse, content } = parsed;
|
|
88
97
|
return {
|
|
89
98
|
content,
|
|
90
99
|
rawResponse,
|
|
91
100
|
usage,
|
|
92
|
-
model
|
|
101
|
+
model,
|
|
93
102
|
provider: this.providerName,
|
|
94
103
|
latencyMs,
|
|
95
104
|
finishReason,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom.js","sourceRoot":"","sources":["../../../src/services/llm/custom.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"custom.js","sourceRoot":"","sources":["../../../src/services/llm/custom.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,15 @@
|
|
|
5
5
|
* input (images, audio, video) via base64 and GCS URLs. Includes stubs
|
|
6
6
|
* for Imagen image generation and Veo video generation (requires Vertex AI SDK).
|
|
7
7
|
*/
|
|
8
|
-
import type { ILLMProvider, LLMRequest, LLMResponse, ProviderConfig } from "./types.js";
|
|
8
|
+
import type { ILLMProvider, LLMRequest, LLMResponse, LLMUsage, ProviderConfig } from "./types.js";
|
|
9
|
+
/**
|
|
10
|
+
* Token usage for a Gemini response.
|
|
11
|
+
*
|
|
12
|
+
* `candidatesTokenCount` excludes thinking, which Gemini reports separately as
|
|
13
|
+
* `thoughtsTokenCount` and bills at the output rate. Gemini 3 models think by
|
|
14
|
+
* default, so reading candidates alone under-prices every call.
|
|
15
|
+
*/
|
|
16
|
+
export declare function geminiUsage(metadata: unknown): LLMUsage;
|
|
9
17
|
export declare class GeminiProvider implements ILLMProvider {
|
|
10
18
|
readonly providerName: "gemini";
|
|
11
19
|
private genAI;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../src/services/llm/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACf,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../src/services/llm/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,QAAQ,EACR,cAAc,EACf,MAAM,YAAY,CAAC;AA8BpB;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAoBvD;AAED,qBAAa,cAAe,YAAW,YAAY;IACjD,QAAQ,CAAC,YAAY,EAAG,QAAQ,CAAU;IAC1C,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,YAAY,CAAS;gBAEjB,MAAM,EAAE,cAAc;IAQ5B,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAgGzD;;;OAGG;YACW,aAAa;IAwD3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAe7B,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAoC9D"}
|
|
@@ -8,7 +8,38 @@
|
|
|
8
8
|
import { GoogleGenerativeAI, } from "@google/generative-ai";
|
|
9
9
|
import { isGenerativeModel } from "../../lib/capability-validator.js";
|
|
10
10
|
import { normalizeFinishReason } from "./finish-reason.js";
|
|
11
|
+
import { attachUsage } from "./usage-error.js";
|
|
11
12
|
const DEFAULT_MODEL = "gemini-2.5-flash";
|
|
13
|
+
function modalityTokens(details, modality) {
|
|
14
|
+
return (details ?? [])
|
|
15
|
+
.filter(d => d.modality === modality)
|
|
16
|
+
.reduce((sum, d) => sum + (d.tokenCount ?? 0), 0);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Token usage for a Gemini response.
|
|
20
|
+
*
|
|
21
|
+
* `candidatesTokenCount` excludes thinking, which Gemini reports separately as
|
|
22
|
+
* `thoughtsTokenCount` and bills at the output rate. Gemini 3 models think by
|
|
23
|
+
* default, so reading candidates alone under-prices every call.
|
|
24
|
+
*/
|
|
25
|
+
export function geminiUsage(metadata) {
|
|
26
|
+
const m = (metadata ?? {});
|
|
27
|
+
const promptTokens = m.promptTokenCount ?? 0;
|
|
28
|
+
const thoughts = m.thoughtsTokenCount ?? 0;
|
|
29
|
+
const completionTokens = (m.candidatesTokenCount ?? 0) + thoughts;
|
|
30
|
+
const cachedAudio = modalityTokens(m.cacheTokensDetails, "AUDIO");
|
|
31
|
+
const audio = Math.max(0, modalityTokens(m.promptTokensDetails, "AUDIO") - cachedAudio);
|
|
32
|
+
return {
|
|
33
|
+
promptTokens,
|
|
34
|
+
completionTokens,
|
|
35
|
+
totalTokens: m.totalTokenCount ?? promptTokens + completionTokens,
|
|
36
|
+
...(m.cachedContentTokenCount
|
|
37
|
+
? { cachedInputTokens: m.cachedContentTokenCount }
|
|
38
|
+
: {}),
|
|
39
|
+
...(audio ? { audioInputTokens: audio } : {}),
|
|
40
|
+
...(thoughts ? { reasoningTokens: thoughts } : {}),
|
|
41
|
+
};
|
|
42
|
+
}
|
|
12
43
|
export class GeminiProvider {
|
|
13
44
|
providerName = "gemini";
|
|
14
45
|
genAI;
|
|
@@ -64,22 +95,44 @@ export class GeminiProvider {
|
|
|
64
95
|
});
|
|
65
96
|
const latencyMs = Date.now() - startTime;
|
|
66
97
|
const response = result.response;
|
|
67
|
-
const
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
|
|
98
|
+
const usage = geminiUsage(response.usageMetadata);
|
|
99
|
+
const finishReason = normalizeFinishReason(response.candidates?.[0]?.finishReason);
|
|
100
|
+
let rawResponse;
|
|
101
|
+
try {
|
|
102
|
+
// text() throws when the candidate was blocked; the prompt was billed.
|
|
103
|
+
rawResponse = response.text();
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
throw attachUsage(error, usage, modelName);
|
|
107
|
+
}
|
|
108
|
+
// Read the stop reason before parsing, as openai.ts does: JSON cut off at
|
|
109
|
+
// the output ceiling is a truncation, not a malformed model.
|
|
110
|
+
if (finishReason === "length") {
|
|
111
|
+
return {
|
|
112
|
+
content: rawResponse,
|
|
113
|
+
rawResponse,
|
|
114
|
+
usage,
|
|
115
|
+
model: modelName,
|
|
116
|
+
provider: this.providerName,
|
|
117
|
+
latencyMs,
|
|
118
|
+
finishReason,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
let content;
|
|
122
|
+
try {
|
|
123
|
+
content = JSON.parse(rawResponse);
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
throw attachUsage(error, usage, modelName);
|
|
127
|
+
}
|
|
71
128
|
return {
|
|
72
129
|
content,
|
|
73
130
|
rawResponse,
|
|
74
|
-
usage
|
|
75
|
-
promptTokens: usageMetadata?.promptTokenCount ?? 0,
|
|
76
|
-
completionTokens: usageMetadata?.candidatesTokenCount ?? 0,
|
|
77
|
-
totalTokens: usageMetadata?.totalTokenCount ?? 0,
|
|
78
|
-
},
|
|
131
|
+
usage,
|
|
79
132
|
model: modelName,
|
|
80
133
|
provider: this.providerName,
|
|
81
134
|
latencyMs,
|
|
82
|
-
finishReason
|
|
135
|
+
finishReason,
|
|
83
136
|
};
|
|
84
137
|
}
|
|
85
138
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../src/services/llm/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,kBAAkB,GAGnB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../src/services/llm/gemini.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,12 @@
|
|
|
6
6
|
* For Whisper transcription, a dedicated implementation is needed.
|
|
7
7
|
*/
|
|
8
8
|
import type { ILLMProvider, LLMRequest, LLMResponse, ProviderConfig } from "./types.js";
|
|
9
|
+
/**
|
|
10
|
+
* The cost of a Compound call, which is not a model but a system: it runs
|
|
11
|
+
* several models and tools, and reports each model's usage and each executed
|
|
12
|
+
* tool. Priced from that breakdown; undefined when the response carries none.
|
|
13
|
+
*/
|
|
14
|
+
export declare function compoundCostCents(response: unknown, systemModel: string, at?: Date): number | undefined;
|
|
9
15
|
export declare class GroqProvider implements ILLMProvider {
|
|
10
16
|
readonly providerName: "groq";
|
|
11
17
|
private client;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groq.d.ts","sourceRoot":"","sources":["../../../src/services/llm/groq.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,WAAW,
|
|
1
|
+
{"version":3,"file":"groq.d.ts","sourceRoot":"","sources":["../../../src/services/llm/groq.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EAEX,cAAc,EACf,MAAM,YAAY,CAAC;AA8BpB;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,OAAO,EACjB,WAAW,EAAE,MAAM,EACnB,EAAE,GAAE,IAAiB,GACpB,MAAM,GAAG,SAAS,CAqBpB;AAqCD,qBAAa,YAAa,YAAW,YAAY;IAC/C,QAAQ,CAAC,YAAY,EAAG,MAAM,CAAU;IACxC,OAAO,CAAC,MAAM,CAAO;IACrB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,cAAc;IAS5B,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAYzD;;;;OAIG;YACW,qBAAqB;IA+HnC;;OAEG;YACW,sBAAsB;IA4EpC,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAyC9D"}
|
|
@@ -8,11 +8,50 @@
|
|
|
8
8
|
import Groq from "groq-sdk";
|
|
9
9
|
import { toFile } from "groq-sdk/uploads";
|
|
10
10
|
import { createLLMProvider } from "./index.js";
|
|
11
|
-
import { getProviderForModel } from "../../config/providers.js";
|
|
11
|
+
import { findModelPricing, getModelPricing, getProviderForModel, } from "../../config/providers.js";
|
|
12
12
|
import { isTranscriptionModel } from "../../lib/capability-validator.js";
|
|
13
13
|
import { normalizeFinishReason } from "./finish-reason.js";
|
|
14
|
+
import { compatibleUsage } from "./compatible-usage.js";
|
|
15
|
+
import { attachUsage, getFailedInvocationUsage } from "./usage-error.js";
|
|
16
|
+
import { estimateUsageCost } from "../../lib/cost-estimation.js";
|
|
14
17
|
const DEFAULT_MODEL = "llama-3.3-70b-versatile";
|
|
15
18
|
const DEFAULT_WHISPER_MODEL = "whisper-large-v3";
|
|
19
|
+
/** Groq bills every transcription request as at least this long. */
|
|
20
|
+
const WHISPER_MINIMUM_BILLED_SECONDS = 10;
|
|
21
|
+
/**
|
|
22
|
+
* Compound tool fees, in cents per call. Advanced search is what the default
|
|
23
|
+
* Compound version runs. Code execution is billed by the hour, and the
|
|
24
|
+
* response reports no duration, so it cannot be priced and is left out.
|
|
25
|
+
* https://console.groq.com/docs/compound/systems/compound
|
|
26
|
+
*/
|
|
27
|
+
const COMPOUND_TOOL_CENTS = [
|
|
28
|
+
{ match: /search/i, cents: 0.8 }, // $8 / 1000 requests
|
|
29
|
+
{ match: /^visit/i, cents: 0.1 }, // $1 / 1000 requests
|
|
30
|
+
];
|
|
31
|
+
/**
|
|
32
|
+
* The cost of a Compound call, which is not a model but a system: it runs
|
|
33
|
+
* several models and tools, and reports each model's usage and each executed
|
|
34
|
+
* tool. Priced from that breakdown; undefined when the response carries none.
|
|
35
|
+
*/
|
|
36
|
+
export function compoundCostCents(response, systemModel, at = new Date()) {
|
|
37
|
+
const r = response;
|
|
38
|
+
const models = r.usage_breakdown?.models;
|
|
39
|
+
if (!Array.isArray(models) || models.length === 0)
|
|
40
|
+
return undefined;
|
|
41
|
+
const systemPricing = getModelPricing(systemModel, { provider: "groq" });
|
|
42
|
+
let cents = 0;
|
|
43
|
+
for (const entry of models) {
|
|
44
|
+
const pricing = findModelPricing(entry.model ?? "", { provider: "groq" }) ??
|
|
45
|
+
systemPricing;
|
|
46
|
+
cents += estimateUsageCost(pricing, compatibleUsage(entry.usage), at);
|
|
47
|
+
}
|
|
48
|
+
for (const tool of r.choices?.[0]?.message?.executed_tools ?? []) {
|
|
49
|
+
const fee = COMPOUND_TOOL_CENTS.find(t => t.match.test(tool.type ?? ""));
|
|
50
|
+
if (fee)
|
|
51
|
+
cents += fee.cents;
|
|
52
|
+
}
|
|
53
|
+
return cents;
|
|
54
|
+
}
|
|
16
55
|
/**
|
|
17
56
|
* Convert base64 audio data to an Uploadable for the Groq SDK.
|
|
18
57
|
*/
|
|
@@ -85,13 +124,21 @@ export class GroqProvider {
|
|
|
85
124
|
catch (error) {
|
|
86
125
|
throw new Error(`Invalid audio data: ${error instanceof Error ? error.message : error}`);
|
|
87
126
|
}
|
|
88
|
-
// Transcribe using Groq Whisper
|
|
89
|
-
|
|
127
|
+
// Transcribe using Groq Whisper. verbose_json is what reports the audio
|
|
128
|
+
// duration, and Whisper is billed by duration, not tokens.
|
|
129
|
+
const whisperModel = model || DEFAULT_WHISPER_MODEL;
|
|
130
|
+
const transcription = (await this.client.audio.transcriptions.create({
|
|
90
131
|
file: audioFile,
|
|
91
|
-
model:
|
|
92
|
-
|
|
132
|
+
model: whisperModel,
|
|
133
|
+
response_format: "verbose_json",
|
|
134
|
+
}));
|
|
93
135
|
const transcriptionText = transcription.text;
|
|
94
136
|
const transcriptionLatency = Date.now() - startTime;
|
|
137
|
+
const durationSeconds = Number(transcription.duration);
|
|
138
|
+
const transcriptionBilling = {
|
|
139
|
+
model: whisperModel,
|
|
140
|
+
billedSeconds: Math.max(WHISPER_MINIMUM_BILLED_SECONDS, Number.isFinite(durationSeconds) ? durationSeconds : 0),
|
|
141
|
+
};
|
|
95
142
|
// If no extraction model configured, return raw transcription
|
|
96
143
|
if (!request.extractionModel) {
|
|
97
144
|
return {
|
|
@@ -102,7 +149,8 @@ export class GroqProvider {
|
|
|
102
149
|
completionTokens: 0,
|
|
103
150
|
totalTokens: 0,
|
|
104
151
|
},
|
|
105
|
-
|
|
152
|
+
transcription: transcriptionBilling,
|
|
153
|
+
model: whisperModel,
|
|
106
154
|
provider: this.providerName,
|
|
107
155
|
latencyMs: transcriptionLatency,
|
|
108
156
|
// Whisper transcribes to completion; there is no token ceiling to hit.
|
|
@@ -126,10 +174,23 @@ export class GroqProvider {
|
|
|
126
174
|
temperature: request.temperature,
|
|
127
175
|
maxTokens: request.maxTokens,
|
|
128
176
|
};
|
|
129
|
-
|
|
177
|
+
let extractionResponse;
|
|
178
|
+
try {
|
|
179
|
+
extractionResponse = await extractionProvider.generate(extractionRequest);
|
|
180
|
+
}
|
|
181
|
+
catch (error) {
|
|
182
|
+
// The transcription was billed even though extraction failed.
|
|
183
|
+
const failed = getFailedInvocationUsage(error);
|
|
184
|
+
throw attachUsage(error, failed?.usage ?? {
|
|
185
|
+
promptTokens: 0,
|
|
186
|
+
completionTokens: 0,
|
|
187
|
+
totalTokens: 0,
|
|
188
|
+
}, failed?.model ?? request.extractionModel, transcriptionBilling);
|
|
189
|
+
}
|
|
130
190
|
// Combine latency from both steps
|
|
131
191
|
return {
|
|
132
192
|
...extractionResponse,
|
|
193
|
+
transcription: transcriptionBilling,
|
|
133
194
|
// Override latency to include both transcription and extraction
|
|
134
195
|
latencyMs: Date.now() - startTime,
|
|
135
196
|
// Include raw transcription in response for debugging
|
|
@@ -175,21 +236,27 @@ export class GroqProvider {
|
|
|
175
236
|
max_tokens: request.maxTokens,
|
|
176
237
|
});
|
|
177
238
|
const latencyMs = Date.now() - startTime;
|
|
239
|
+
const usage = compatibleUsage(response.usage);
|
|
240
|
+
const compoundCents = compoundCostCents(response, model);
|
|
241
|
+
if (compoundCents !== undefined)
|
|
242
|
+
usage.billedCostCents = compoundCents;
|
|
178
243
|
// Extract structured response from function call
|
|
179
244
|
const toolCall = response.choices[0]?.message.tool_calls?.[0];
|
|
180
245
|
if (!toolCall || toolCall.function.name !== "structured_response") {
|
|
181
|
-
throw new Error("Expected function call response from Groq");
|
|
246
|
+
throw attachUsage(new Error("Expected function call response from Groq"), usage, response.model);
|
|
182
247
|
}
|
|
183
248
|
const rawResponse = toolCall.function.arguments;
|
|
184
|
-
|
|
249
|
+
let content;
|
|
250
|
+
try {
|
|
251
|
+
content = JSON.parse(rawResponse);
|
|
252
|
+
}
|
|
253
|
+
catch (error) {
|
|
254
|
+
throw attachUsage(error, usage, response.model);
|
|
255
|
+
}
|
|
185
256
|
return {
|
|
186
257
|
content,
|
|
187
258
|
rawResponse,
|
|
188
|
-
usage
|
|
189
|
-
promptTokens: response.usage?.prompt_tokens ?? 0,
|
|
190
|
-
completionTokens: response.usage?.completion_tokens ?? 0,
|
|
191
|
-
totalTokens: response.usage?.total_tokens ?? 0,
|
|
192
|
-
},
|
|
259
|
+
usage,
|
|
193
260
|
model: response.model,
|
|
194
261
|
provider: this.providerName,
|
|
195
262
|
latencyMs,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groq.js","sourceRoot":"","sources":["../../../src/services/llm/groq.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,IAAI,MAAM,UAAU,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"groq.js","sourceRoot":"","sources":["../../../src/services/llm/groq.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* @fileoverview LLM provider factory and exports
|
|
3
3
|
* @description Creates the appropriate LLM provider instance based on provider type.
|
|
4
4
|
* OpenAI-compatible providers (Mistral, xAI, DeepSeek, Perplexity, Cohere) reuse
|
|
5
|
-
* the OpenAIProvider class. Groq has a dedicated provider for Whisper transcription.
|
|
5
|
+
* the OpenAIProvider class, each with its own base URL. Groq has a dedicated provider for Whisper transcription.
|
|
6
6
|
*/
|
|
7
7
|
import type { LlmProvider } from "../../types/index.js";
|
|
8
8
|
import type { ILLMProvider, ProviderConfig } from "./types.js";
|
|
9
|
-
export type { ILLMProvider, LLMRequest, LLMResponse, ProviderConfig, } from "./types.js";
|
|
9
|
+
export type { ILLMProvider, LLMRequest, LLMResponse, LLMUsage, ProviderConfig, } from "./types.js";
|
|
10
10
|
export { estimateCost, getModelPricing } from "./types.js";
|
|
11
11
|
/**
|
|
12
12
|
* Create an LLM provider instance based on provider type
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/llm/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAO/D,YAAY,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE3D;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,WAAW,EACzB,MAAM,EAAE,cAAc,GACrB,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/llm/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAO/D,YAAY,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,QAAQ,EACR,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE3D;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,WAAW,EACzB,MAAM,EAAE,cAAc,GACrB,YAAY,CA4Dd;AAeD;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAY1D,CAAC"}
|