@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
|
@@ -2,7 +2,7 @@
|
|
|
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 { OpenAIProvider } from "./openai.js";
|
|
8
8
|
import { AnthropicProvider } from "./anthropic.js";
|
|
@@ -48,11 +48,17 @@ export function createLLMProvider(providerType, config) {
|
|
|
48
48
|
...config,
|
|
49
49
|
endpointUrl: config.endpointUrl ?? OPENAI_COMPATIBLE_BASE_URLS[providerType],
|
|
50
50
|
}, { disableThinking: true });
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
/*
|
|
52
|
+
Cohere's native Chat API has its own request and response shape, but its
|
|
53
|
+
Compatibility API speaks OpenAI's -- except that it takes no
|
|
54
|
+
`tool_choice`, so structured output goes through `response_format`.
|
|
55
|
+
https://docs.cohere.com/docs/compatibility-api
|
|
56
|
+
*/
|
|
54
57
|
case "cohere":
|
|
55
|
-
return new OpenAIProvider(
|
|
58
|
+
return new OpenAIProvider({
|
|
59
|
+
...config,
|
|
60
|
+
endpointUrl: config.endpointUrl ?? OPENAI_COMPATIBLE_BASE_URLS[providerType],
|
|
61
|
+
}, { structuredOutput: "response_format" });
|
|
56
62
|
case "lm_studio":
|
|
57
63
|
return new CustomLLMProvider(config);
|
|
58
64
|
default:
|
|
@@ -69,6 +75,7 @@ const OPENAI_COMPATIBLE_BASE_URLS = {
|
|
|
69
75
|
xai: "https://api.x.ai/v1",
|
|
70
76
|
deepseek: "https://api.deepseek.com/v1",
|
|
71
77
|
perplexity: "https://api.perplexity.ai",
|
|
78
|
+
cohere: "https://api.cohere.ai/compatibility/v1",
|
|
72
79
|
};
|
|
73
80
|
/**
|
|
74
81
|
* Provider endpoint hints for Type 3/4 endpoints
|
|
@@ -78,7 +85,7 @@ export const PROVIDER_ENDPOINTS = {
|
|
|
78
85
|
anthropic: "https://api.anthropic.com/v1/messages",
|
|
79
86
|
gemini: "https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent",
|
|
80
87
|
mistral: "https://api.mistral.ai/v1/chat/completions",
|
|
81
|
-
cohere: "https://api.cohere.ai/v1/chat",
|
|
88
|
+
cohere: "https://api.cohere.ai/compatibility/v1/chat/completions",
|
|
82
89
|
groq: "https://api.groq.com/openai/v1/chat/completions",
|
|
83
90
|
xai: "https://api.x.ai/v1/chat/completions",
|
|
84
91
|
deepseek: "https://api.deepseek.com/v1/chat/completions",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/llm/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/llm/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAShD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE3D;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAAyB,EACzB,MAAsB;IAEtB,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,0EAA0E;YAC1E,2EAA2E;YAC3E,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,KAAK,WAAW;YACd,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACvC,KAAK,QAAQ;YACX,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QACpC,KAAK,MAAM;YACT,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,0CAA0C;QAC7E,yEAAyE;QACzE,6DAA6D;QAC7D,KAAK,SAAS,CAAC;QACf,KAAK,KAAK,CAAC;QACX,KAAK,YAAY;YACf,OAAO,IAAI,cAAc,CAAC;gBACxB,GAAG,MAAM;gBACT,WAAW,EACT,MAAM,CAAC,WAAW,IAAI,2BAA2B,CAAC,YAAY,CAAC;aAClE,CAAC,CAAC;QACL;;;;;;;;UAQE;QACF,KAAK,UAAU;YACb,OAAO,IAAI,cAAc,CACvB;gBACE,GAAG,MAAM;gBACT,WAAW,EACT,MAAM,CAAC,WAAW,IAAI,2BAA2B,CAAC,YAAY,CAAC;aAClE,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,CAAC;QACJ;;;;;UAKE;QACF,KAAK,QAAQ;YACX,OAAO,IAAI,cAAc,CACvB;gBACE,GAAG,MAAM;gBACT,WAAW,EACT,MAAM,CAAC,WAAW,IAAI,2BAA2B,CAAC,YAAY,CAAC;aAClE,EACD,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CACxC,CAAC;QACJ,KAAK,WAAW;YACd,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACvC;YACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,2BAA2B,GAAyC;IACxE,OAAO,EAAE,2BAA2B;IACpC,GAAG,EAAE,qBAAqB;IAC1B,QAAQ,EAAE,6BAA6B;IACvC,UAAU,EAAE,2BAA2B;IACvC,MAAM,EAAE,wCAAwC;CACjD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAgC;IAC7D,MAAM,EAAE,4CAA4C;IACpD,SAAS,EAAE,uCAAuC;IAClD,MAAM,EACJ,iFAAiF;IACnF,OAAO,EAAE,4CAA4C;IACrD,MAAM,EAAE,yDAAyD;IACjE,IAAI,EAAE,iDAAiD;IACvD,GAAG,EAAE,sCAAsC;IAC3C,QAAQ,EAAE,8CAA8C;IACxD,UAAU,EAAE,4CAA4C;IACxD,SAAS,EAAE,mBAAmB;CAC/B,CAAC"}
|
|
@@ -2,10 +2,21 @@
|
|
|
2
2
|
* @fileoverview OpenAI LLM provider
|
|
3
3
|
* @description Implements the ILLMProvider interface for OpenAI models.
|
|
4
4
|
* Also used by Mistral, xAI, DeepSeek, Perplexity, and Cohere
|
|
5
|
-
* (OpenAI-compatible APIs).
|
|
6
|
-
*
|
|
5
|
+
* (OpenAI-compatible APIs). Structured output is a forced function call,
|
|
6
|
+
* except for Cohere, whose compatibility API has no `tool_choice` and uses
|
|
7
|
+
* `response_format` instead. Supports multimodal input (images, audio) and
|
|
8
|
+
* audio output generation.
|
|
7
9
|
*/
|
|
8
10
|
import { type ILLMProvider, type LLMRequest, type LLMResponse, type ProviderConfig } from "./types.js";
|
|
11
|
+
/**
|
|
12
|
+
* How a provider is made to return the endpoint's schema.
|
|
13
|
+
*
|
|
14
|
+
* - `tool_call`: a `structured_response` function with a forced `tool_choice`.
|
|
15
|
+
* - `response_format`: Cohere's `{ type: "json_object", schema }`, read from
|
|
16
|
+
* the message content. Cohere's compatibility API does not accept
|
|
17
|
+
* `tool_choice`, so a tool call there could not be forced.
|
|
18
|
+
*/
|
|
19
|
+
export type StructuredOutputMode = "tool_call" | "response_format";
|
|
9
20
|
/**
|
|
10
21
|
* What a provider calls its cap on generated tokens.
|
|
11
22
|
*
|
|
@@ -31,6 +42,9 @@ export declare class OpenAIProvider implements ILLMProvider {
|
|
|
31
42
|
private disableThinking;
|
|
32
43
|
/** Whether this client talks to OpenAI itself, or an OpenAI-compatible third party. */
|
|
33
44
|
private isOpenAi;
|
|
45
|
+
private structuredOutput;
|
|
46
|
+
/** Request fields that ask for structured output, in this provider's dialect. */
|
|
47
|
+
private structuredOutputParams;
|
|
34
48
|
constructor(config: ProviderConfig,
|
|
35
49
|
/**
|
|
36
50
|
* Per-provider quirks. Defaults keep every provider that works today
|
|
@@ -58,6 +72,8 @@ export declare class OpenAIProvider implements ILLMProvider {
|
|
|
58
72
|
* only know `max_tokens`.
|
|
59
73
|
*/
|
|
60
74
|
isOpenAi?: boolean;
|
|
75
|
+
/** How to request structured output. Default: `tool_call`. */
|
|
76
|
+
structuredOutput?: StructuredOutputMode;
|
|
61
77
|
});
|
|
62
78
|
generate(request: LLMRequest): Promise<LLMResponse>;
|
|
63
79
|
/**
|
|
@@ -96,6 +112,7 @@ export declare class OpenAIProvider implements ILLMProvider {
|
|
|
96
112
|
* 3. If search needed → web search → structure results.
|
|
97
113
|
*/
|
|
98
114
|
private generateWithSearch;
|
|
115
|
+
private runSearchSteps;
|
|
99
116
|
buildApiPayload(request: LLMRequest): Record<string, unknown>;
|
|
100
117
|
}
|
|
101
118
|
//# sourceMappingURL=openai.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/services/llm/openai.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/services/llm/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,WAAW,EAEhB,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AA6CpB;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,iBAAiB,CAAC;AAYnE;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,uBAAuB,CAAC;AAgBrE;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,MAAM,GACZ,eAAe,CAIjB;AAED,qBAAa,cAAe,YAAW,YAAY;IACjD,QAAQ,CAAC,YAAY,EAAG,QAAQ,CAAU;IAC1C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,eAAe,CAAU;IAEjC,uFAAuF;IACvF,OAAO,CAAC,QAAQ,CAAU;IAE1B,OAAO,CAAC,gBAAgB,CAAuB;IAE/C,iFAAiF;IACjF,OAAO,CAAC,sBAAsB;gBAyB5B,MAAM,EAAE,cAAc;IACtB;;;OAGG;IACH,OAAO,GAAE;QACP;;;;;;;;;;;;;WAaG;QACH,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B;;;;WAIG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,8DAA8D;QAC9D,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;KACpC;IAiBF,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IA8LzD;;;OAGG;IAKH,OAAO,CAAC,MAAM,CAAC,aAAa,CAUzB;IAEH,0EAA0E;IAC1E,OAAO,CAAC,qBAAqB;IAa7B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAsBzB;;;OAGG;IAEH;;;OAGG;YACW,uBAAuB;IAiFrC;;OAEG;YACW,SAAS;IAiCvB,qDAAqD;IACrD,OAAO,CAAC,mBAAmB;IAgC3B;;;;;;;OAOG;YACW,kBAAkB;YA8BlB,cAAc;IA8I5B,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CA+D9D"}
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
* @fileoverview OpenAI LLM provider
|
|
3
3
|
* @description Implements the ILLMProvider interface for OpenAI models.
|
|
4
4
|
* Also used by Mistral, xAI, DeepSeek, Perplexity, and Cohere
|
|
5
|
-
* (OpenAI-compatible APIs).
|
|
6
|
-
*
|
|
5
|
+
* (OpenAI-compatible APIs). Structured output is a forced function call,
|
|
6
|
+
* except for Cohere, whose compatibility API has no `tool_choice` and uses
|
|
7
|
+
* `response_format` instead. Supports multimodal input (images, audio) and
|
|
8
|
+
* audio output generation.
|
|
7
9
|
*/
|
|
8
10
|
import OpenAI from "openai";
|
|
9
11
|
import { requiresEntityId, } from "./types.js";
|
|
@@ -11,6 +13,33 @@ import { getOpenAIAudioFormat } from "../../lib/media-constants.js";
|
|
|
11
13
|
import { getModelCapabilities } from "../../config/providers.js";
|
|
12
14
|
import { buildOutputStructureSection, buildResponseFormatSection, buildWebSearchRoutingSection, } from "../../lib/prompt-builder.js";
|
|
13
15
|
import { normalizeFinishReason } from "./finish-reason.js";
|
|
16
|
+
import { addUsage, compatibleUsage } from "./compatible-usage.js";
|
|
17
|
+
import { attachUsage, getFailedInvocationUsage } from "./usage-error.js";
|
|
18
|
+
import { cohereResponseFormat } from "./cohere-schema.js";
|
|
19
|
+
/** Usage from a Responses API response, which names its fields differently. */
|
|
20
|
+
function responsesUsage(response) {
|
|
21
|
+
const inputTokens = response.usage?.input_tokens ?? 0;
|
|
22
|
+
const outputTokens = response.usage?.output_tokens ?? 0;
|
|
23
|
+
const inputDetails = response.usage?.input_tokens_details;
|
|
24
|
+
const cached = inputDetails?.cached_tokens ?? 0;
|
|
25
|
+
// GPT-5.6+ bills cache writes at 1.25x input; older SDK types omit the field.
|
|
26
|
+
const cacheWrite = inputDetails?.cache_write_tokens ?? 0;
|
|
27
|
+
const reasoning = response.usage?.output_tokens_details?.reasoning_tokens ?? 0;
|
|
28
|
+
// Only `search` actions carry the tool fee; `open_page` and `find_in_page`
|
|
29
|
+
// are web_search_call items too, but free.
|
|
30
|
+
const searches = response.output.filter(item => item.type === "web_search_call" &&
|
|
31
|
+
(item.action?.type ?? "search") ===
|
|
32
|
+
"search").length;
|
|
33
|
+
return {
|
|
34
|
+
promptTokens: inputTokens,
|
|
35
|
+
completionTokens: outputTokens,
|
|
36
|
+
totalTokens: response.usage?.total_tokens ?? inputTokens + outputTokens,
|
|
37
|
+
...(cached ? { cachedInputTokens: cached } : {}),
|
|
38
|
+
...(cacheWrite ? { cacheWriteInputTokens: cacheWrite } : {}),
|
|
39
|
+
...(reasoning ? { reasoningTokens: reasoning } : {}),
|
|
40
|
+
...(searches ? { searchCalls: searches } : {}),
|
|
41
|
+
};
|
|
42
|
+
}
|
|
14
43
|
const DEFAULT_MODEL = "gpt-4o-mini";
|
|
15
44
|
class OpenAIProviderError extends Error {
|
|
16
45
|
details;
|
|
@@ -52,6 +81,29 @@ export class OpenAIProvider {
|
|
|
52
81
|
disableThinking;
|
|
53
82
|
/** Whether this client talks to OpenAI itself, or an OpenAI-compatible third party. */
|
|
54
83
|
isOpenAi;
|
|
84
|
+
structuredOutput;
|
|
85
|
+
/** Request fields that ask for structured output, in this provider's dialect. */
|
|
86
|
+
structuredOutputParams(outputSchema) {
|
|
87
|
+
if (this.structuredOutput === "response_format") {
|
|
88
|
+
return { response_format: cohereResponseFormat(outputSchema) };
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
tools: [
|
|
92
|
+
{
|
|
93
|
+
type: "function",
|
|
94
|
+
function: {
|
|
95
|
+
name: "structured_response",
|
|
96
|
+
description: "Generate structured response matching the schema",
|
|
97
|
+
parameters: outputSchema,
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
],
|
|
101
|
+
tool_choice: {
|
|
102
|
+
type: "function",
|
|
103
|
+
function: { name: "structured_response" },
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
}
|
|
55
107
|
constructor(config,
|
|
56
108
|
/**
|
|
57
109
|
* Per-provider quirks. Defaults keep every provider that works today
|
|
@@ -60,6 +112,7 @@ export class OpenAIProvider {
|
|
|
60
112
|
options = {}) {
|
|
61
113
|
this.disableThinking = options.disableThinking ?? false;
|
|
62
114
|
this.isOpenAi = options.isOpenAi ?? false;
|
|
115
|
+
this.structuredOutput = options.structuredOutput ?? "tool_call";
|
|
63
116
|
if (!config.apiKey) {
|
|
64
117
|
throw new Error("OpenAI API key is required");
|
|
65
118
|
}
|
|
@@ -115,17 +168,6 @@ export class OpenAIProvider {
|
|
|
115
168
|
messages.push({ role: "system", content: request.systemPrompt });
|
|
116
169
|
}
|
|
117
170
|
messages.push({ role: "user", content: userContent });
|
|
118
|
-
// Use function calling for structured output
|
|
119
|
-
const tools = [
|
|
120
|
-
{
|
|
121
|
-
type: "function",
|
|
122
|
-
function: {
|
|
123
|
-
name: "structured_response",
|
|
124
|
-
description: "Generate structured response matching the schema",
|
|
125
|
-
parameters: request.outputSchema,
|
|
126
|
-
},
|
|
127
|
-
},
|
|
128
|
-
];
|
|
129
171
|
// Audio output configuration - ONLY enable when endpoint expects audio output
|
|
130
172
|
const modalities = ["text"];
|
|
131
173
|
let audioConfig;
|
|
@@ -141,13 +183,9 @@ export class OpenAIProvider {
|
|
|
141
183
|
model,
|
|
142
184
|
messages,
|
|
143
185
|
...(audioConfig ? { modalities, audio: audioConfig } : {}),
|
|
144
|
-
|
|
145
|
-
tool_choice: {
|
|
146
|
-
type: "function",
|
|
147
|
-
function: { name: "structured_response" },
|
|
148
|
-
},
|
|
186
|
+
...this.structuredOutputParams(request.outputSchema),
|
|
149
187
|
// Off where the model reasons by default: thinking mode rejects
|
|
150
|
-
// `tool_choice` outright, so this is what keeps the
|
|
188
|
+
// `tool_choice` outright, so this is what keeps the forced call legal.
|
|
151
189
|
...(this.disableThinking ? { thinking: { type: "disabled" } } : {}),
|
|
152
190
|
temperature: request.temperature ?? 0,
|
|
153
191
|
[tokenLimitParamFor(this.isOpenAi, model)]: request.maxTokens,
|
|
@@ -179,18 +217,25 @@ export class OpenAIProvider {
|
|
|
179
217
|
});
|
|
180
218
|
}
|
|
181
219
|
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
220
|
+
const usage = compatibleUsage(response.usage);
|
|
221
|
+
// Extract the structured response: the forced function call's arguments,
|
|
222
|
+
// or the message content in response_format mode.
|
|
223
|
+
let rawResponse;
|
|
224
|
+
if (this.structuredOutput === "response_format") {
|
|
225
|
+
const text = response.choices[0]?.message.content;
|
|
226
|
+
if (typeof text !== "string" || text.length === 0) {
|
|
227
|
+
throw attachUsage(new Error("Expected JSON message content from the provider"), usage, response.model);
|
|
228
|
+
}
|
|
229
|
+
rawResponse = text;
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
const toolCall = response.choices[0]?.message.tool_calls?.[0];
|
|
233
|
+
if (!toolCall || toolCall.function.name !== "structured_response") {
|
|
234
|
+
throw attachUsage(new Error("Expected function call response from OpenAI"), usage, response.model);
|
|
235
|
+
}
|
|
236
|
+
rawResponse = toolCall.function.arguments;
|
|
186
237
|
}
|
|
187
|
-
const rawResponse = toolCall.function.arguments;
|
|
188
238
|
const finishReason = normalizeFinishReason(response.choices[0]?.finish_reason);
|
|
189
|
-
const usage = {
|
|
190
|
-
promptTokens: response.usage?.prompt_tokens ?? 0,
|
|
191
|
-
completionTokens: response.usage?.completion_tokens ?? 0,
|
|
192
|
-
totalTokens: response.usage?.total_tokens ?? 0,
|
|
193
|
-
};
|
|
194
239
|
/*
|
|
195
240
|
Why the stop reason is read BEFORE parsing.
|
|
196
241
|
|
|
@@ -218,7 +263,7 @@ export class OpenAIProvider {
|
|
|
218
263
|
catch (error) {
|
|
219
264
|
// Not truncated, so genuinely malformed. Carry a head of the payload:
|
|
220
265
|
// "Unable to parse JSON string" alone leaves nothing to diagnose from.
|
|
221
|
-
throw new Error(`Model returned unparseable JSON (${error instanceof Error ? error.message : String(error)}). First 300 chars: ${rawResponse.slice(0, 300)}`);
|
|
266
|
+
throw attachUsage(new Error(`Model returned unparseable JSON (${error instanceof Error ? error.message : String(error)}). First 300 chars: ${rawResponse.slice(0, 300)}`), usage, response.model);
|
|
222
267
|
}
|
|
223
268
|
return {
|
|
224
269
|
content,
|
|
@@ -314,24 +359,29 @@ export class OpenAIProvider {
|
|
|
314
359
|
temperature,
|
|
315
360
|
max_output_tokens: maxTokens,
|
|
316
361
|
});
|
|
362
|
+
const usage = responsesUsage(response);
|
|
317
363
|
const functionCall = response.output.find((item) => item.type === "function_call" && item.name === "structured_response");
|
|
318
364
|
if (!functionCall) {
|
|
319
|
-
throw new OpenAIProviderError("Expected structured_response function call from Responses API", {
|
|
365
|
+
throw attachUsage(new OpenAIProviderError("Expected structured_response function call from Responses API", {
|
|
320
366
|
model,
|
|
321
367
|
responseId: response.id,
|
|
322
368
|
outputItems: response.output.map(item => ({
|
|
323
369
|
type: item.type,
|
|
324
370
|
...("name" in item ? { name: item.name } : {}),
|
|
325
371
|
})),
|
|
326
|
-
});
|
|
372
|
+
}), usage, response.model);
|
|
373
|
+
}
|
|
374
|
+
let content;
|
|
375
|
+
try {
|
|
376
|
+
content = JSON.parse(functionCall.arguments);
|
|
377
|
+
}
|
|
378
|
+
catch (error) {
|
|
379
|
+
throw attachUsage(error, usage, response.model);
|
|
327
380
|
}
|
|
328
381
|
return {
|
|
329
|
-
content
|
|
382
|
+
content,
|
|
330
383
|
rawResponse: functionCall.arguments,
|
|
331
|
-
usage
|
|
332
|
-
inputTokens: response.usage?.input_tokens ?? 0,
|
|
333
|
-
outputTokens: response.usage?.output_tokens ?? 0,
|
|
334
|
-
},
|
|
384
|
+
usage,
|
|
335
385
|
model: response.model,
|
|
336
386
|
// The Responses API reports truncation as an incomplete status with a
|
|
337
387
|
// reason, rather than a finish_reason on the choice.
|
|
@@ -361,10 +411,7 @@ export class OpenAIProvider {
|
|
|
361
411
|
});
|
|
362
412
|
return {
|
|
363
413
|
summary: response.output_text ?? "",
|
|
364
|
-
usage:
|
|
365
|
-
inputTokens: response.usage?.input_tokens ?? 0,
|
|
366
|
-
outputTokens: response.usage?.output_tokens ?? 0,
|
|
367
|
-
},
|
|
414
|
+
usage: responsesUsage(response),
|
|
368
415
|
};
|
|
369
416
|
}
|
|
370
417
|
/** Build Responses API input from an LLM request. */
|
|
@@ -400,13 +447,36 @@ export class OpenAIProvider {
|
|
|
400
447
|
* 3. If search needed → web search → structure results.
|
|
401
448
|
*/
|
|
402
449
|
async generateWithSearch(request) {
|
|
450
|
+
/*
|
|
451
|
+
Up to three billed calls make one invocation. Each step's usage is added
|
|
452
|
+
to the total only once that step succeeds, so a failure part-way reports
|
|
453
|
+
the completed steps plus whatever the failing call attached -- counted
|
|
454
|
+
once -- instead of pricing the whole search as free.
|
|
455
|
+
*/
|
|
456
|
+
let total;
|
|
457
|
+
const record = (usage) => (total = total ? addUsage(total, usage) : usage);
|
|
458
|
+
try {
|
|
459
|
+
return await this.runSearchSteps(request, record);
|
|
460
|
+
}
|
|
461
|
+
catch (error) {
|
|
462
|
+
const failed = getFailedInvocationUsage(error);
|
|
463
|
+
const consumed = failed
|
|
464
|
+
? total
|
|
465
|
+
? addUsage(total, failed.usage)
|
|
466
|
+
: failed.usage
|
|
467
|
+
: total;
|
|
468
|
+
if (consumed) {
|
|
469
|
+
throw attachUsage(error, consumed, failed?.model ?? request.model ?? this.defaultModel);
|
|
470
|
+
}
|
|
471
|
+
throw error;
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
async runSearchSteps(request, record) {
|
|
403
475
|
console.log(`[web-search] generateWithSearch() entered`);
|
|
404
476
|
const model = request.model ?? this.defaultModel;
|
|
405
477
|
const startTime = Date.now();
|
|
406
478
|
const userSchema = request.outputSchema;
|
|
407
479
|
const temperature = request.temperature ?? 0;
|
|
408
|
-
let totalInputTokens = 0;
|
|
409
|
-
let totalOutputTokens = 0;
|
|
410
480
|
// --- Step 1: Try to answer (Responses API, forced function call) ------
|
|
411
481
|
console.log(`[web-search] Step 1: Triage via Responses API, model=${model}`);
|
|
412
482
|
const triageSchema = this.buildTriageSchema(userSchema);
|
|
@@ -425,8 +495,7 @@ export class OpenAIProvider {
|
|
|
425
495
|
console.log(`[web-search] System prompt:\n${triageSystemPrompt}`);
|
|
426
496
|
const triageInput = this.buildResponsesInput(triageSystemPrompt, request.prompt, request.media);
|
|
427
497
|
const triageResult = await this.callResponsesStructured(model, triageInput, triageSchema, temperature, request.maxTokens);
|
|
428
|
-
|
|
429
|
-
totalOutputTokens += triageResult.usage.outputTokens;
|
|
498
|
+
const triageUsage = record(triageResult.usage);
|
|
430
499
|
const triageData = triageResult.content;
|
|
431
500
|
console.log(`[web-search] Triage result: web_search_needed=${triageData.web_search_needed}`);
|
|
432
501
|
// --- If no search needed, or user_data is a clarification form, return directly
|
|
@@ -443,11 +512,7 @@ export class OpenAIProvider {
|
|
|
443
512
|
return {
|
|
444
513
|
content: triageData.user_data,
|
|
445
514
|
rawResponse,
|
|
446
|
-
usage:
|
|
447
|
-
promptTokens: totalInputTokens,
|
|
448
|
-
completionTokens: totalOutputTokens,
|
|
449
|
-
totalTokens: totalInputTokens + totalOutputTokens,
|
|
450
|
-
},
|
|
515
|
+
usage: triageUsage,
|
|
451
516
|
model: triageResult.model,
|
|
452
517
|
provider: this.providerName,
|
|
453
518
|
latencyMs: Date.now() - startTime,
|
|
@@ -457,8 +522,7 @@ export class OpenAIProvider {
|
|
|
457
522
|
// --- Step 2: Web search -----------------------------------------------
|
|
458
523
|
console.log(`[web-search] Step 2: Searching the web`);
|
|
459
524
|
const searchResult = await this.searchWeb(model, request.prompt, temperature);
|
|
460
|
-
|
|
461
|
-
totalOutputTokens += searchResult.usage.outputTokens;
|
|
525
|
+
record(searchResult.usage);
|
|
462
526
|
console.log(`[web-search] Step 2 done: ${searchResult.summary.length} chars`);
|
|
463
527
|
// --- Step 3: Structure search results (Responses API) -----------------
|
|
464
528
|
console.log(`[web-search] Step 3: Structuring search results`);
|
|
@@ -472,17 +536,12 @@ export class OpenAIProvider {
|
|
|
472
536
|
"Using ONLY the information from the web search results above, " +
|
|
473
537
|
"generate the structured response.");
|
|
474
538
|
const structureResult = await this.callResponsesStructured(model, structureInput, userSchema, temperature, request.maxTokens);
|
|
475
|
-
|
|
476
|
-
totalOutputTokens += structureResult.usage.outputTokens;
|
|
539
|
+
const totalUsage = record(structureResult.usage);
|
|
477
540
|
console.log(`[web-search] Step 3 done, total time: ${Date.now() - startTime}ms`);
|
|
478
541
|
return {
|
|
479
542
|
content: structureResult.content,
|
|
480
543
|
rawResponse: structureResult.rawResponse,
|
|
481
|
-
usage:
|
|
482
|
-
promptTokens: totalInputTokens,
|
|
483
|
-
completionTokens: totalOutputTokens,
|
|
484
|
-
totalTokens: totalInputTokens + totalOutputTokens,
|
|
485
|
-
},
|
|
544
|
+
usage: totalUsage,
|
|
486
545
|
model: structureResult.model,
|
|
487
546
|
provider: this.providerName,
|
|
488
547
|
latencyMs: Date.now() - startTime,
|
|
@@ -539,20 +598,7 @@ export class OpenAIProvider {
|
|
|
539
598
|
model,
|
|
540
599
|
messages,
|
|
541
600
|
...(audioConfig ? { modalities, audio: audioConfig } : {}),
|
|
542
|
-
|
|
543
|
-
{
|
|
544
|
-
type: "function",
|
|
545
|
-
function: {
|
|
546
|
-
name: "structured_response",
|
|
547
|
-
description: "Generate structured response matching the schema",
|
|
548
|
-
parameters: request.outputSchema,
|
|
549
|
-
},
|
|
550
|
-
},
|
|
551
|
-
],
|
|
552
|
-
tool_choice: {
|
|
553
|
-
type: "function",
|
|
554
|
-
function: { name: "structured_response" },
|
|
555
|
-
},
|
|
601
|
+
...this.structuredOutputParams(request.outputSchema),
|
|
556
602
|
temperature: request.temperature ?? 0,
|
|
557
603
|
[tokenLimitParamFor(this.isOpenAi, model)]: request.maxTokens,
|
|
558
604
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/services/llm/openai.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/services/llm/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAM5B,OAAO,EACL,gBAAgB,GAMjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,+EAA+E;AAC/E,SAAS,cAAc,CAAC,QAAmC;IACzD,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,EAAE,oBACgC,CAAC;IACtE,MAAM,MAAM,GAAG,YAAY,EAAE,aAAa,IAAI,CAAC,CAAC;IAChD,8EAA8E;IAC9E,MAAM,UAAU,GAAG,YAAY,EAAE,kBAAkB,IAAI,CAAC,CAAC;IACzD,MAAM,SAAS,GACb,QAAQ,CAAC,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,IAAI,CAAC,CAAC;IAC/D,2EAA2E;IAC3E,2CAA2C;IAC3C,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CACrC,IAAI,CAAC,EAAE,CACL,IAAI,CAAC,IAAI,KAAK,iBAAiB;QAC/B,CAAE,IAAuC,CAAC,MAAM,EAAE,IAAI,IAAI,QAAQ,CAAC;YACjE,QAAQ,CACb,CAAC,MAAM,CAAC;IACT,OAAO;QACL,YAAY,EAAE,WAAW;QACzB,gBAAgB,EAAE,YAAY;QAC9B,WAAW,EAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,IAAI,WAAW,GAAG,YAAY;QACvE,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,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GAAG,aAAa,CAAC;AAYpC,MAAM,mBAAoB,SAAQ,KAAK;IACrC,OAAO,CAA2B;IAElC,YAAY,OAAe,EAAE,OAAiC;QAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAaD;;;;;;;;;;;GAWG;AACH,MAAM,8BAA8B,GAAG,kBAAkB,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAiB,EACjB,KAAa;IAEb,OAAO,QAAQ,IAAI,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3D,CAAC,CAAC,uBAAuB;QACzB,CAAC,CAAC,YAAY,CAAC;AACnB,CAAC;AAED,MAAM,OAAO,cAAc;IAChB,YAAY,GAAG,QAAiB,CAAC;IAClC,MAAM,CAAS;IACf,YAAY,CAAS;IAErB,eAAe,CAAU;IAEjC,uFAAuF;IAC/E,QAAQ,CAAU;IAElB,gBAAgB,CAAuB;IAE/C,iFAAiF;IACzE,sBAAsB,CAC5B,YAAwC;QAExC,IAAI,IAAI,CAAC,gBAAgB,KAAK,iBAAiB,EAAE,CAAC;YAChD,OAAO,EAAE,eAAe,EAAE,oBAAoB,CAAC,YAAY,CAAC,EAAE,CAAC;QACjE,CAAC;QACD,OAAO;YACL,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE;wBACR,IAAI,EAAE,qBAAqB;wBAC3B,WAAW,EAAE,kDAAkD;wBAC/D,UAAU,EAAE,YAAuC;qBACpD;iBACF;aACF;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE;aAC1C;SACF,CAAC;IACJ,CAAC;IAED,YACE,MAAsB;IACtB;;;OAGG;IACH,UAwBI,EAAE;QAEN,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,KAAK,CAAC;QACxD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;QAC1C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,WAAW,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,wEAAwE;QACxE,uEAAuE;QACvE,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,IAAI,aAAa,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAmB;QAChC,OAAO,CAAC,GAAG,CACT,sCAAsC,OAAO,CAAC,SAAS,WAAW,OAAO,CAAC,KAAK,EAAE,CAClF,CAAC;QACF,+CAA+C;QAC/C,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,cAAc,GAAqB,EAAE,CAAC;QAE5C,0CAA0C;QAC1C,MAAM,WAAW,GAA4C,EAAE,CAAC;QAEhE,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAC1B,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC9B,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACvB,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,WAAW;wBACjB,SAAS,EAAE;4BACT,GAAG,EACD,CAAC,CAAC,MAAM,KAAK,QAAQ;gCACnB,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,WAAW,CAAC,CAAC,IAAI,EAAE;gCACvC,CAAC,CAAC,CAAC,CAAC,IAAI;yBACb;qBACF,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACvB,0DAA0D;oBAC1D,MAAM,MAAM,GAAG,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAChD,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE;4BACX,IAAI,EAAE,CAAC,CAAC,IAAI;4BACZ,MAAM;yBACP;qBACuC,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAEzD,uBAAuB;QACvB,MAAM,QAAQ,GAA6C,EAAE,CAAC;QAC9D,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAEtD,8EAA8E;QAC9E,MAAM,UAAU,GAAyB,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,WAA0D,CAAC;QAE/D,IAAI,OAAO,CAAC,kBAAkB,EAAE,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1D,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,0CAA0C;YAC1C,WAAW,GAAG;gBACZ,KAAK,EAAE,OAAO,EAAE,uBAAuB;gBACvC,MAAM,EAAE,KAAK,EAAE,qBAAqB;aACrC,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAC1D,KAAK;YACL,QAAQ;YACR,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,YAAY,CAAC;YACpD,gEAAgE;YAChE,uEAAuE;YACvE,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC;YACrC,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS;YAC7D,MAAM,EAAE,KAAK;SAC4B,CAAC,CAA+B,CAAC;QAE5E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAEzC,yCAAyC;QACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YACjC,EAAE,OAEH,CAAC;QACF,MAAM,SAAS,GAAG,OAAO,EAAE,KAAK,CAAC;QACjC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,aAAa,GAAG,SAAS,SAAS,CAAC,MAAM,EAAE,CAAC;YAElD,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9B,gEAAgE;gBAChE,oDAAoD;gBACpD,OAAO,CAAC,IAAI,CACV,4EAA4E,CAC7E,CAAC;gBACF,cAAc,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,aAAa;oBACvB,IAAI,EAAE,SAAS,CAAC,IAAI;iBACrB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,gBAAgB;gBAChB,cAAc,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,aAAa;oBACvB,IAAI,EAAE,SAAS,CAAC,IAAI;iBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE9C,yEAAyE;QACzE,kDAAkD;QAClD,IAAI,WAAmB,CAAC;QACxB,IAAI,IAAI,CAAC,gBAAgB,KAAK,iBAAiB,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;YAClD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClD,MAAM,WAAW,CACf,IAAI,KAAK,CAAC,iDAAiD,CAAC,EAC5D,KAAK,EACL,QAAQ,CAAC,KAAK,CACf,CAAC;YACJ,CAAC;YACD,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBAClE,MAAM,WAAW,CACf,IAAI,KAAK,CAAC,6CAA6C,CAAC,EACxD,KAAK,EACL,QAAQ,CAAC,KAAK,CACf,CAAC;YACJ,CAAC;YACD,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,CAAC;QAED,MAAM,YAAY,GAAG,qBAAqB,CACxC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,aAAa,CACnC,CAAC;QAEF;;;;;;;UAOE;QACF,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO;gBACL,OAAO,EAAE,WAAW;gBACpB,WAAW;gBACX,KAAK;gBACL,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,QAAQ,EAAE,IAAI,CAAC,YAAY;gBAC3B,SAAS;gBACT,YAAY;gBACZ,cAAc,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;aACvE,CAAC;QACJ,CAAC;QAED,IAAI,OAAgB,CAAC;QACrB,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sEAAsE;YACtE,uEAAuE;YACvE,MAAM,WAAW,CACf,IAAI,KAAK,CACP,oCAAoC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAC7I,EACD,KAAK,EACL,QAAQ,CAAC,KAAK,CACf,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO;YACP,WAAW;YACX,KAAK;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,SAAS;YACT,YAAY;YACZ,cAAc,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;SACvE,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,8EAA8E;IAC9E,uCAAuC;IACvC,8EAA8E;IAEtE,MAAM,CAAC,aAAa,GAAG,IAAI,GAAG,CAAC;QACrC,YAAY;QACZ,eAAe;QACf,YAAY;QACZ,aAAa;QACb,aAAa;QACb,QAAQ;QACR,aAAa;QACb,aAAa;QACb,aAAa;KACd,CAAC,CAAC;IAEH,0EAA0E;IAClE,qBAAqB,CAAC,IAAa;QACzC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAC5D,MAAM,GAAG,GAAG,IAA+B,CAAC;QAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,IAA2C,CAAC;QAC7D,IAAI,IAAI,EAAE,MAAM,IAAI,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,MAAgB,CAAC;YACzE,OAAO,IAAI,CAAC;QACd,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAA0B,CAAC;QAC3E,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACK,iBAAiB,CACvB,UAAmC;QAEnC,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,WAAW,CAAC;YACvB,UAAU,EAAE;gBACV,SAAS,EAAE,UAAU;gBACrB,iBAAiB,EAAE;oBACjB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,KAAK;oBACd,WAAW,EACT,kEAAkE;wBAClE,2EAA2E;wBAC3E,0EAA0E;wBAC1E,4CAA4C;iBAC/C;aACF;YACD,oBAAoB,EAAE,KAAK;SAC5B,CAAC;IACJ,CAAC;IAED;;;OAGG;IAEH;;;OAGG;IACK,KAAK,CAAC,uBAAuB,CACnC,KAAa,EACb,KAA2C,EAC3C,MAA+B,EAC/B,WAAmB,EACnB,SAAkB;QAQlB,OAAO,CAAC,GAAG,CACT,uEAAuE,KAAK,EAAE,CAC/E,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;YAClD,KAAK;YACL,KAAK;YACL,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,qBAAqB;oBAC3B,WAAW,EAAE,kDAAkD;oBAC/D,UAAU,EAAE,MAAM;oBAClB,MAAM,EAAE,KAAK;iBACd;aACF;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,qBAAqB;aAC5B;YACD,WAAW;YACX,iBAAiB,EAAE,SAAS;SAC7B,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CACvC,CAAC,IAAI,EAAqD,EAAE,CAC1D,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,CACvE,CAAC;QAEF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,WAAW,CACf,IAAI,mBAAmB,CACrB,+DAA+D,EAC/D;gBACE,KAAK;gBACL,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACxC,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/C,CAAC,CAAC;aACJ,CACF,EACD,KAAK,EACL,QAAQ,CAAC,KAAK,CACf,CAAC;QACJ,CAAC;QAED,IAAI,OAAgB,CAAC;QACrB,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;QAED,OAAO;YACL,OAAO;YACP,WAAW,EAAE,YAAY,CAAC,SAAS;YACnC,KAAK;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,sEAAsE;YACtE,qDAAqD;YACrD,YAAY,EACV,QAAQ,CAAC,MAAM,KAAK,YAAY;gBAC9B,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;gBAC5D,CAAC,CAAC,MAAM;SACb,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,SAAS,CACrB,KAAa,EACb,KAAa,EACb,WAAmB;QAKnB,OAAO,CAAC,GAAG,CACT,8DAA8D,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAC5F,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;YAClD,KAAK;YACL,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,WAAoB;oBAC1B,OAAO,EACL,gDAAgD;wBAChD,kEAAkE;wBAClE,mDAAmD;iBACtD;gBACD,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,KAAK,EAAE;aAC1C;YACD,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;YACvC,WAAW;SACZ,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE;YACnC,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC;SAChC,CAAC;IACJ,CAAC;IAED,qDAAqD;IAC7C,mBAAmB,CACzB,YAAgC,EAChC,UAAkB,EAClB,KAA2B;QAE3B,MAAM,KAAK,GAAyC,EAAE,CAAC;QAEvD,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAoB,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,WAAW,GAA4C,EAAE,CAAC;QAChE,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACvB,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,aAAa;wBACnB,SAAS,EACP,CAAC,CAAC,MAAM,KAAK,QAAQ;4BACnB,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,WAAW,CAAC,CAAC,IAAI,EAAE;4BACvC,CAAC,CAAC,CAAC,CAAC,IAAI;wBACZ,MAAM,EAAE,MAAM;qBACf,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAE5D,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,kBAAkB,CAAC,OAAmB;QAClD;;;;;UAKE;QACF,IAAI,KAA2B,CAAC;QAChC,MAAM,MAAM,GAAG,CAAC,KAAe,EAAY,EAAE,CAC3C,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,MAAM;gBACrB,CAAC,CAAC,KAAK;oBACL,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;oBAC/B,CAAC,CAAC,MAAM,CAAC,KAAK;gBAChB,CAAC,CAAC,KAAK,CAAC;YACV,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,WAAW,CACf,KAAK,EACL,QAAQ,EACR,MAAM,EAAE,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CACpD,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,OAAmB,EACnB,MAAqC;QAErC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,YAAuC,CAAC;QACnE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;QAE7C,yEAAyE;QACzE,OAAO,CAAC,GAAG,CACT,wDAAwD,KAAK,EAAE,CAChE,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAExD,oEAAoE;QACpE,sDAAsD;QACtD,kFAAkF;QAClF,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;QAChD,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACzE,MAAM,QAAQ,GACZ,kBAAkB,IAAI,CAAC;YACrB,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,kBAAkB,CAAC;YAC/C,CAAC,CAAC,YAAY,CAAC;QAEnB,MAAM,kBAAkB,GACtB,QAAQ;YACR,4BAA4B,EAAE;YAC9B,2BAA2B,CAAC,YAA0B,CAAC;YACvD,0BAA0B,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,gCAAgC,kBAAkB,EAAE,CAAC,CAAC;QAElE,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAC1C,kBAAkB,EAClB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,KAAK,CACd,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACrD,KAAK,EACL,WAAW,EACX,YAAY,EACZ,WAAW,EACX,OAAO,CAAC,SAAS,CAClB,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE/C,MAAM,UAAU,GAAG,YAAY,CAAC,OAG/B,CAAC;QAEF,OAAO,CAAC,GAAG,CACT,iDAAiD,UAAU,CAAC,iBAAiB,EAAE,CAChF,CAAC;QAEF,iFAAiF;QACjF,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACzE,MAAM,YAAY,GAChB,UAAU,CAAC,iBAAiB,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC;QAE5D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,IAAI,eAAe,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;gBACpD,OAAO,CAAC,GAAG,CACT,2GAA2G,CAC5G,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CACT,oDAAoD,UAAU,CAAC,iBAAiB,wBAAwB,CACzG,CAAC;YACJ,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACzD,OAAO;gBACL,OAAO,EAAE,UAAU,CAAC,SAAS;gBAC7B,WAAW;gBACX,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,YAAY,CAAC,KAAK;gBACzB,QAAQ,EAAE,IAAI,CAAC,YAAY;gBAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACjC,YAAY,EAAE,YAAY,CAAC,YAAY;aACxC,CAAC;QACJ,CAAC;QAED,yEAAyE;QACzE,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CACvC,KAAK,EACL,OAAO,CAAC,MAAM,EACd,WAAW,CACZ,CAAC;QAEF,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CACT,6BAA6B,YAAY,CAAC,OAAO,CAAC,MAAM,QAAQ,CACjE,CAAC;QAEF,yEAAyE;QACzE,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAE/D,MAAM,qBAAqB,GACzB,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;YAC5B,oBAAoB;YACpB,kEAAkE;YAClE,oEAAoE;YACpE,qDAAqD,CAAC;QAExD,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAC7C,qBAAqB,EACrB,qBAAqB,OAAO,CAAC,MAAM,MAAM;YACvC,0BAA0B,YAAY,CAAC,OAAO,MAAM;YACpD,gEAAgE;YAChE,mCAAmC,CACtC,CAAC;QAEF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACxD,KAAK,EACL,cAAc,EACd,UAAU,EACV,WAAW,EACX,OAAO,CAAC,SAAS,CAClB,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAEjD,OAAO,CAAC,GAAG,CACT,yCAAyC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,CACpE,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,eAAe,CAAC,OAAO;YAChC,WAAW,EAAE,eAAe,CAAC,WAAW;YACxC,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,eAAe,CAAC,KAAK;YAC5B,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YACjC,YAAY,EAAE,eAAe,CAAC,YAAY;SAC3C,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,OAAmB;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC;QACjD,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAEzC,0CAA0C;QAC1C,MAAM,WAAW,GAAmC,EAAE,CAAC;QAEvD,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAC1B,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC9B,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACvB,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,WAAW;wBACjB,SAAS,EAAE;4BACT,GAAG,EACD,CAAC,CAAC,MAAM,KAAK,QAAQ;gCACnB,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,WAAW,CAAC,CAAC,IAAI,EAAE;gCACvC,CAAC,CAAC,CAAC,CAAC,IAAI;yBACb;qBACF,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACvB,MAAM,MAAM,GAAG,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAChD,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE;4BACX,IAAI,EAAE,CAAC,CAAC,IAAI;4BACZ,MAAM;yBACP;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAEzD,uBAAuB;QACvB,MAAM,QAAQ,GAAmC,EAAE,CAAC;QACpD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAEtD,6BAA6B;QAC7B,MAAM,UAAU,GAAa,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,WAAgD,CAAC;QAErD,IAAI,OAAO,CAAC,kBAAkB,EAAE,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1D,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,WAAW,GAAG;gBACZ,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,KAAK;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,KAAK;YACL,QAAQ;YACR,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,YAAY,CAAC;YACpD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC;YACrC,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS;SAC9D,CAAC;IACJ,CAAC"}
|
|
@@ -55,16 +55,60 @@ export type LLMRequest = LLMRequestWithUrlOutput | LLMRequestWithBase64Output;
|
|
|
55
55
|
* Type guard for URL output requests
|
|
56
56
|
*/
|
|
57
57
|
export declare function requiresEntityId(request: LLMRequest): request is LLMRequestWithUrlOutput;
|
|
58
|
+
/**
|
|
59
|
+
* Token accounting for one invocation, which may span several provider calls.
|
|
60
|
+
*
|
|
61
|
+
* The first three fields are what every provider reports. The rest are the
|
|
62
|
+
* parts of the bill that plain token counts misprice; an adapter sets only
|
|
63
|
+
* what its provider reports, and `estimateUsageCost` treats an absent field as
|
|
64
|
+
* zero or as "billed at the plain rate".
|
|
65
|
+
*/
|
|
66
|
+
export interface LLMUsage {
|
|
67
|
+
promptTokens: number;
|
|
68
|
+
/** Everything billed at the output rate, including thinking tokens. */
|
|
69
|
+
completionTokens: number;
|
|
70
|
+
totalTokens: number;
|
|
71
|
+
/** Part of `promptTokens` served from the provider's prompt cache. */
|
|
72
|
+
cachedInputTokens?: number;
|
|
73
|
+
/** Part of `promptTokens` written to the prompt cache, where writes cost extra. */
|
|
74
|
+
cacheWriteInputTokens?: number;
|
|
75
|
+
/** Part of `promptTokens` that was audio, not cached, for providers billing audio by the token. */
|
|
76
|
+
audioInputTokens?: number;
|
|
77
|
+
/** Part of `completionTokens` spent reasoning. Informational; already priced as output. */
|
|
78
|
+
reasoningTokens?: number;
|
|
79
|
+
/** Reasoning tokens billed apart from `completionTokens` (Perplexity). */
|
|
80
|
+
separateReasoningTokens?: number;
|
|
81
|
+
/** Citation tokens billed apart from `completionTokens` (Perplexity). */
|
|
82
|
+
citationTokens?: number;
|
|
83
|
+
/** Web search calls or search queries the provider bills per call. */
|
|
84
|
+
searchCalls?: number;
|
|
85
|
+
/** Billable provider requests. Absent means one. */
|
|
86
|
+
requests?: number;
|
|
87
|
+
/** Largest prompt sent in any single request, for long-context tiers. Absent: `promptTokens`. */
|
|
88
|
+
maxPromptTokens?: number;
|
|
89
|
+
/**
|
|
90
|
+
* The complete cost in cents, when it is known without the catalog: billed
|
|
91
|
+
* by the provider itself (xAI, Perplexity) or priced by the adapter from a
|
|
92
|
+
* per-model and per-tool breakdown (Groq Compound). Replaces the token-based
|
|
93
|
+
* estimate entirely.
|
|
94
|
+
*/
|
|
95
|
+
billedCostCents?: number;
|
|
96
|
+
}
|
|
58
97
|
/**
|
|
59
98
|
* Response from an LLM provider
|
|
60
99
|
*/
|
|
61
100
|
export interface LLMResponse {
|
|
62
101
|
content: unknown;
|
|
63
102
|
rawResponse: string;
|
|
64
|
-
usage:
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
103
|
+
usage: LLMUsage;
|
|
104
|
+
/**
|
|
105
|
+
* Audio transcribed before generation (Groq Whisper). Priced against the
|
|
106
|
+
* transcription model, which is not `model` when an extraction model
|
|
107
|
+
* produced the structured output.
|
|
108
|
+
*/
|
|
109
|
+
transcription?: {
|
|
110
|
+
model: string;
|
|
111
|
+
billedSeconds: number;
|
|
68
112
|
};
|
|
69
113
|
model: string;
|
|
70
114
|
provider: LlmProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/llm/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,YAAY,EACZ,cAAc,EACf,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;AAG1D,OAAO,EACL,YAAY,EACZ,UAAU,EACV,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAM5D;;GAEG;AACH,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,UAAU,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,+CAA+C;IAC/C,kBAAkB,CAAC,EAAE;QACnB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,UAAU,uBAAwB,SAAQ,cAAc;IACtD,iBAAiB,EAAE,KAAK,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,UAAU,0BAA2B,SAAQ,cAAc;IACzD,iBAAiB,CAAC,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,uBAAuB,GAAG,0BAA0B,CAAC;AAE9E;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,UAAU,GAClB,OAAO,IAAI,uBAAuB,CAEpC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/llm/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Usage carried on a failed invocation.
|
|
3
|
+
* @description A provider that answers with something we cannot use -- JSON
|
|
4
|
+
* that does not parse, no tool call -- still bills the tokens it generated.
|
|
5
|
+
* Adapters attach what they know to the error so the caller can record the
|
|
6
|
+
* cost of a failure instead of treating it as free.
|
|
7
|
+
*/
|
|
8
|
+
import type { LLMResponse, LLMUsage } from "./types.js";
|
|
9
|
+
export interface FailedInvocationUsage {
|
|
10
|
+
usage: LLMUsage;
|
|
11
|
+
model: string;
|
|
12
|
+
/** Audio transcribed before the failing step, which is billed regardless. */
|
|
13
|
+
transcription?: LLMResponse["transcription"];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Attach usage to an error and return it, for `throw attachUsage(...)`.
|
|
17
|
+
* Replaces any usage already attached: a multi-call flow reads the inner
|
|
18
|
+
* call's usage with `getFailedInvocationUsage`, adds its own, and re-attaches.
|
|
19
|
+
*/
|
|
20
|
+
export declare function attachUsage<E>(error: E, usage: LLMUsage, model: string, transcription?: LLMResponse["transcription"]): E;
|
|
21
|
+
/** The usage a failed invocation consumed, if its adapter could tell. */
|
|
22
|
+
export declare function getFailedInvocationUsage(error: unknown): FailedInvocationUsage | undefined;
|
|
23
|
+
//# sourceMappingURL=usage-error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage-error.d.ts","sourceRoot":"","sources":["../../../src/services/llm/usage-error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,aAAa,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;CAC9C;AAID;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,GAC3C,CAAC,CAaH;AAED,yEAAyE;AACzE,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,GACb,qBAAqB,GAAG,SAAS,CAGnC"}
|