@pentoshi/clai 4.1.0 → 4.2.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/README.md +14 -0
- package/dist/agent/compaction-executor.d.ts +68 -0
- package/dist/agent/compaction-executor.js +343 -0
- package/dist/agent/compaction-executor.js.map +1 -0
- package/dist/agent/context-breakdown.js +2 -0
- package/dist/agent/context-breakdown.js.map +1 -1
- package/dist/agent/context-manager.d.ts +23 -9
- package/dist/agent/context-manager.js +72 -43
- package/dist/agent/context-manager.js.map +1 -1
- package/dist/agent/events.d.ts +3 -0
- package/dist/agent/loop-guard.d.ts +2 -0
- package/dist/agent/loop-guard.js +48 -3
- package/dist/agent/loop-guard.js.map +1 -1
- package/dist/agent/prompt-composer.js +6 -6
- package/dist/agent/prompt-composer.js.map +1 -1
- package/dist/agent/reliability-policy.d.ts +1 -0
- package/dist/agent/reliability-policy.js +6 -3
- package/dist/agent/reliability-policy.js.map +1 -1
- package/dist/agent/request-accounting.d.ts +97 -0
- package/dist/agent/request-accounting.js +207 -0
- package/dist/agent/request-accounting.js.map +1 -0
- package/dist/agent/request-budget.d.ts +2 -2
- package/dist/agent/request-budget.js +2 -4
- package/dist/agent/request-budget.js.map +1 -1
- package/dist/agent/runner.d.ts +8 -2
- package/dist/agent/runner.js +409 -178
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent/session-title.d.ts +0 -26
- package/dist/agent/session-title.js +0 -80
- package/dist/agent/session-title.js.map +1 -1
- package/dist/agent/tool-history.d.ts +2 -2
- package/dist/agent/tool-history.js +19 -6
- package/dist/agent/tool-history.js.map +1 -1
- package/dist/app/adapters/agent-event-adapter.js +19 -0
- package/dist/app/adapters/agent-event-adapter.js.map +1 -1
- package/dist/app/adapters/current-agent-adapter.js +4 -0
- package/dist/app/adapters/current-agent-adapter.js.map +1 -1
- package/dist/app/commands/catalog.js +24 -0
- package/dist/app/commands/catalog.js.map +1 -1
- package/dist/app/controllers/cancel-coordinator.d.ts +51 -0
- package/dist/app/controllers/cancel-coordinator.js +48 -0
- package/dist/app/controllers/cancel-coordinator.js.map +1 -0
- package/dist/app/controllers/session-compact-helper.d.ts +19 -2
- package/dist/app/controllers/session-compact-helper.js +100 -127
- package/dist/app/controllers/session-compact-helper.js.map +1 -1
- package/dist/app/controllers/session-context-usage.d.ts +32 -15
- package/dist/app/controllers/session-context-usage.js +186 -51
- package/dist/app/controllers/session-context-usage.js.map +1 -1
- package/dist/app/controllers/session-controller.d.ts +20 -11
- package/dist/app/controllers/session-controller.js +111 -90
- package/dist/app/controllers/session-controller.js.map +1 -1
- package/dist/app/controllers/session-naming.d.ts +31 -0
- package/dist/app/controllers/session-naming.js +173 -0
- package/dist/app/controllers/session-naming.js.map +1 -0
- package/dist/app/controllers/session-persistence.d.ts +2 -2
- package/dist/app/controllers/session-persistence.js +3 -6
- package/dist/app/controllers/session-persistence.js.map +1 -1
- package/dist/app/controllers/session-turn-request.d.ts +2 -1
- package/dist/app/controllers/session-turn-request.js +3 -0
- package/dist/app/controllers/session-turn-request.js.map +1 -1
- package/dist/app/controllers/turn-controller.d.ts +2 -1
- package/dist/app/controllers/turn-controller.js +1 -0
- package/dist/app/controllers/turn-controller.js.map +1 -1
- package/dist/app/events/app-event.d.ts +9 -0
- package/dist/app/events/app-event.js.map +1 -1
- package/dist/app/ports/agent-port.d.ts +8 -1
- package/dist/classic/app/ClassicApp.js +2 -1
- package/dist/classic/app/ClassicApp.js.map +1 -1
- package/dist/classic/app/app-wiring.js +1 -2
- package/dist/classic/app/app-wiring.js.map +1 -1
- package/dist/classic/app/wiring-interactions.js +2 -7
- package/dist/classic/app/wiring-interactions.js.map +1 -1
- package/dist/classic/blocks/tool-lines.js +2 -1
- package/dist/classic/blocks/tool-lines.js.map +1 -1
- package/dist/classic/input/cancel-ladder.d.ts +2 -19
- package/dist/classic/input/cancel-ladder.js +13 -20
- package/dist/classic/input/cancel-ladder.js.map +1 -1
- package/dist/commands/providers.js +2 -0
- package/dist/commands/providers.js.map +1 -1
- package/dist/llm/adapters/anthropic-tools.d.ts +31 -14
- package/dist/llm/adapters/anthropic-tools.js +124 -29
- package/dist/llm/adapters/anthropic-tools.js.map +1 -1
- package/dist/llm/adapters/gemini-tools.d.ts +16 -4
- package/dist/llm/adapters/gemini-tools.js +117 -16
- package/dist/llm/adapters/gemini-tools.js.map +1 -1
- package/dist/llm/adapters/openai-tools.d.ts +13 -2
- package/dist/llm/adapters/openai-tools.js +58 -11
- package/dist/llm/adapters/openai-tools.js.map +1 -1
- package/dist/llm/agentrouter.js +68 -45
- package/dist/llm/agentrouter.js.map +1 -1
- package/dist/llm/anthropic.js +69 -36
- package/dist/llm/anthropic.js.map +1 -1
- package/dist/llm/aws-mantle.js +70 -32
- package/dist/llm/aws-mantle.js.map +1 -1
- package/dist/llm/bynara.js +26 -69
- package/dist/llm/bynara.js.map +1 -1
- package/dist/llm/capabilities.d.ts +2 -1
- package/dist/llm/capabilities.js +47 -0
- package/dist/llm/capabilities.js.map +1 -1
- package/dist/llm/context-snapshot.d.ts +100 -0
- package/dist/llm/context-snapshot.js +277 -0
- package/dist/llm/context-snapshot.js.map +1 -0
- package/dist/llm/context-windows.d.ts +10 -0
- package/dist/llm/context-windows.js +129 -0
- package/dist/llm/context-windows.js.map +1 -0
- package/dist/llm/custom-provider-profile.d.ts +75 -0
- package/dist/llm/custom-provider-profile.js +558 -0
- package/dist/llm/custom-provider-profile.js.map +1 -0
- package/dist/llm/custom-providers.d.ts +13 -1
- package/dist/llm/custom-providers.js +77 -25
- package/dist/llm/custom-providers.js.map +1 -1
- package/dist/llm/effort-fallback.d.ts +44 -0
- package/dist/llm/effort-fallback.js +101 -0
- package/dist/llm/effort-fallback.js.map +1 -0
- package/dist/llm/fireworks.js +4 -0
- package/dist/llm/fireworks.js.map +1 -1
- package/dist/llm/free.js +4 -0
- package/dist/llm/free.js.map +1 -1
- package/dist/llm/gemini.d.ts +1 -1
- package/dist/llm/gemini.js +89 -51
- package/dist/llm/gemini.js.map +1 -1
- package/dist/llm/groq.js +4 -0
- package/dist/llm/groq.js.map +1 -1
- package/dist/llm/hetzner.js +4 -0
- package/dist/llm/hetzner.js.map +1 -1
- package/dist/llm/http.d.ts +49 -10
- package/dist/llm/http.js +417 -153
- package/dist/llm/http.js.map +1 -1
- package/dist/llm/kimchi.js +4 -0
- package/dist/llm/kimchi.js.map +1 -1
- package/dist/llm/lightning.js +4 -0
- package/dist/llm/lightning.js.map +1 -1
- package/dist/llm/meta.d.ts +2 -0
- package/dist/llm/meta.js +811 -655
- package/dist/llm/meta.js.map +1 -1
- package/dist/llm/modal.js +4 -0
- package/dist/llm/modal.js.map +1 -1
- package/dist/llm/model-families.d.ts +9 -0
- package/dist/llm/model-families.js +39 -0
- package/dist/llm/model-families.js.map +1 -0
- package/dist/llm/nvidia.js +4 -0
- package/dist/llm/nvidia.js.map +1 -1
- package/dist/llm/ollama.js +44 -40
- package/dist/llm/ollama.js.map +1 -1
- package/dist/llm/openai.js +4 -0
- package/dist/llm/openai.js.map +1 -1
- package/dist/llm/openrouter.js +4 -0
- package/dist/llm/openrouter.js.map +1 -1
- package/dist/llm/operation-ledger.d.ts +60 -0
- package/dist/llm/operation-ledger.js +136 -0
- package/dist/llm/operation-ledger.js.map +1 -0
- package/dist/llm/operation-usage.d.ts +32 -0
- package/dist/llm/operation-usage.js +172 -0
- package/dist/llm/operation-usage.js.map +1 -0
- package/dist/llm/orcarouter.d.ts +7 -0
- package/dist/llm/orcarouter.js +166 -0
- package/dist/llm/orcarouter.js.map +1 -0
- package/dist/llm/provider-profile-layers.d.ts +7 -0
- package/dist/llm/provider-profile-layers.js +961 -0
- package/dist/llm/provider-profile-layers.js.map +1 -0
- package/dist/llm/provider-profile.d.ts +181 -0
- package/dist/llm/provider-profile.js +329 -0
- package/dist/llm/provider-profile.js.map +1 -0
- package/dist/llm/provider-profiles.d.ts +13 -0
- package/dist/llm/provider-profiles.js +86 -0
- package/dist/llm/provider-profiles.js.map +1 -0
- package/dist/llm/provider.d.ts +2 -0
- package/dist/llm/provider.js +67 -0
- package/dist/llm/provider.js.map +1 -1
- package/dist/llm/qwen-cloud.js +4 -0
- package/dist/llm/qwen-cloud.js.map +1 -1
- package/dist/llm/reasoning-artifacts.d.ts +101 -0
- package/dist/llm/reasoning-artifacts.js +440 -0
- package/dist/llm/reasoning-artifacts.js.map +1 -0
- package/dist/llm/request-fingerprint.d.ts +10 -0
- package/dist/llm/request-fingerprint.js +313 -0
- package/dist/llm/request-fingerprint.js.map +1 -0
- package/dist/llm/request-plan.d.ts +119 -0
- package/dist/llm/request-plan.js +279 -0
- package/dist/llm/request-plan.js.map +1 -0
- package/dist/llm/router.d.ts +19 -1
- package/dist/llm/router.js +447 -75
- package/dist/llm/router.js.map +1 -1
- package/dist/llm/stream-events.d.ts +47 -0
- package/dist/llm/stream-events.js +55 -0
- package/dist/llm/stream-events.js.map +1 -0
- package/dist/llm/stream-terminal.d.ts +30 -0
- package/dist/llm/stream-terminal.js +51 -0
- package/dist/llm/stream-terminal.js.map +1 -0
- package/dist/llm/token-estimate-calibration.d.ts +23 -0
- package/dist/llm/token-estimate-calibration.js +140 -0
- package/dist/llm/token-estimate-calibration.js.map +1 -0
- package/dist/llm/token-usage.d.ts +35 -5
- package/dist/llm/token-usage.js +212 -162
- package/dist/llm/token-usage.js.map +1 -1
- package/dist/llm/tokenrouter.js +8 -2
- package/dist/llm/tokenrouter.js.map +1 -1
- package/dist/modes/ask.js +11 -5
- package/dist/modes/ask.js.map +1 -1
- package/dist/noninteractive/start-noninteractive.js +31 -2
- package/dist/noninteractive/start-noninteractive.js.map +1 -1
- package/dist/noninteractive/stream-blocks.js +15 -4
- package/dist/noninteractive/stream-blocks.js.map +1 -1
- package/dist/prompts/embedded.js +1 -1
- package/dist/prompts/embedded.js.map +1 -1
- package/dist/prompts/system.agent.md +6 -0
- package/dist/store/config.js +5 -1
- package/dist/store/config.js.map +1 -1
- package/dist/store/history.d.ts +2 -0
- package/dist/store/history.js +19 -10
- package/dist/store/history.js.map +1 -1
- package/dist/store/plan.js +20 -14
- package/dist/store/plan.js.map +1 -1
- package/dist/tools/elevated-shell.d.ts +1 -1
- package/dist/tools/elevated-shell.js +24 -72
- package/dist/tools/elevated-shell.js.map +1 -1
- package/dist/tools/nmap-runner.js +30 -36
- package/dist/tools/nmap-runner.js.map +1 -1
- package/dist/tools/sudo-session.d.ts +83 -0
- package/dist/tools/sudo-session.js +124 -0
- package/dist/tools/sudo-session.js.map +1 -0
- package/dist/tui-v2/app/App.js +9 -24
- package/dist/tui-v2/app/App.js.map +1 -1
- package/dist/tui-v2/components/status/context-limit-chip.js +2 -2
- package/dist/tui-v2/components/status/context-limit-chip.js.map +1 -1
- package/dist/tui-v2/components/transcript/intro-card.js +2 -1
- package/dist/tui-v2/components/transcript/intro-card.js.map +1 -1
- package/dist/tui-v2/composer/composer-editor.js +2 -1
- package/dist/tui-v2/composer/composer-editor.js.map +1 -1
- package/dist/types.d.ts +156 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/dist/ui-core/bootstrap/composition-root.d.ts +2 -0
- package/dist/ui-core/bootstrap/composition-root.js +26 -3
- package/dist/ui-core/bootstrap/composition-root.js.map +1 -1
- package/dist/ui-core/commands/picker-commands.js +11 -5
- package/dist/ui-core/commands/picker-commands.js.map +1 -1
- package/dist/ui-core/commands/session-commands.js +41 -5
- package/dist/ui-core/commands/session-commands.js.map +1 -1
- package/dist/ui-core/plan/plan-lifecycle.js +3 -2
- package/dist/ui-core/plan/plan-lifecycle.js.map +1 -1
- package/dist/ui-core/rendering/context-limit.js +4 -1
- package/dist/ui-core/rendering/context-limit.js.map +1 -1
- package/dist/ui-core/rendering/duration.d.ts +2 -1
- package/dist/ui-core/rendering/duration.js +13 -5
- package/dist/ui-core/rendering/duration.js.map +1 -1
- package/dist/ui-core/rendering/intro-header.js +2 -2
- package/dist/ui-core/rendering/intro-header.js.map +1 -1
- package/dist/ui-core/rendering/theme.d.ts +1 -0
- package/dist/ui-core/rendering/theme.js +2 -0
- package/dist/ui-core/rendering/theme.js.map +1 -1
- package/dist/ui-core/state/transcript-hydrate.js +3 -3
- package/dist/ui-core/state/transcript-hydrate.js.map +1 -1
- package/dist/ui-core/state/transcript-reducer.d.ts +5 -0
- package/dist/ui-core/state/transcript-reducer.js +76 -3
- package/dist/ui-core/state/transcript-reducer.js.map +1 -1
- package/dist/ui-core/state/transcript-store.d.ts +10 -1
- package/dist/ui-core/state/transcript-store.js +22 -1
- package/dist/ui-core/state/transcript-store.js.map +1 -1
- package/dist/ui-core/state/transcript-types.d.ts +2 -0
- package/dist/ui-core/state/transcript-types.js.map +1 -1
- package/dist/version.generated.d.ts +2 -2
- package/dist/version.generated.js +2 -2
- package/package.json +6 -1
|
@@ -8,20 +8,61 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { normalizeEndpointUrl } from "./provider.js";
|
|
10
10
|
import { openAiCompatibleComplete, openAiCompatiblePing, openAiCompatibleStream, toCompletionResult, readJson, ingestOpenAiModelCatalog, isStreamOptionsUnsupportedError, } from "./http.js";
|
|
11
|
+
import { customReasoningStyle, endpointPrivacyHash, resolveCustomHeaders, validateCustomProviderProfile, } from "./custom-provider-profile.js";
|
|
12
|
+
import { recordControlRejection } from "./provider-profile.js";
|
|
13
|
+
import { CHAT_COMPLETIONS_STREAM_TERMINAL } from "./stream-terminal.js";
|
|
14
|
+
/** Validation errors for a definition's declared profile, if any. */
|
|
15
|
+
export function customProviderProfileErrors(def) {
|
|
16
|
+
if (!def.profile)
|
|
17
|
+
return [];
|
|
18
|
+
return validateCustomProviderProfile(def.profile).errors;
|
|
19
|
+
}
|
|
20
|
+
function resolveBaseUrl(def, auth) {
|
|
21
|
+
const override = normalizeEndpointUrl(auth.baseUrl ?? "");
|
|
22
|
+
return override || def.baseUrl;
|
|
23
|
+
}
|
|
24
|
+
function authHeaders(def, apiKey) {
|
|
25
|
+
const declared = resolveCustomHeaders(def.profile?.headers);
|
|
26
|
+
if (def.profile?.authType === "none-keyless")
|
|
27
|
+
return declared;
|
|
28
|
+
if (def.profile?.authType === "custom-headers")
|
|
29
|
+
return declared;
|
|
30
|
+
if (declared && apiKey) {
|
|
31
|
+
return { authorization: `Bearer ${apiKey}`, ...declared };
|
|
32
|
+
}
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
11
35
|
/** Build an OpenAI-compatible `LlmProvider` for a custom definition. */
|
|
12
36
|
export function buildCustomProvider(def) {
|
|
13
37
|
const providerId = def.id;
|
|
14
|
-
const baseUrl = def.baseUrl;
|
|
15
38
|
const modelCache = new Map();
|
|
16
39
|
const CACHE_TTL_MS = 60 * 60 * 1000;
|
|
17
|
-
|
|
40
|
+
const keyless = def.profile?.authType === "none-keyless" ||
|
|
41
|
+
def.profile?.authType === "custom-headers";
|
|
42
|
+
// Declared stream-option capability: "supported" suppresses the adaptive
|
|
43
|
+
// retry (a rejection becomes route evidence, not a second request);
|
|
44
|
+
// "unsupported" omits the field from the first request onward.
|
|
45
|
+
const declaredStreamOptions = def.profile?.streamOptions;
|
|
46
|
+
let includeStreamUsage = declaredStreamOptions !== "unsupported";
|
|
47
|
+
const reasoningStyle = customReasoningStyle(def.profile);
|
|
48
|
+
const requireKey = (auth) => {
|
|
49
|
+
if (keyless)
|
|
50
|
+
return undefined;
|
|
51
|
+
if (!auth.apiKey)
|
|
52
|
+
throw new Error(`${def.displayName} API key is required`);
|
|
53
|
+
return auth.apiKey;
|
|
54
|
+
};
|
|
18
55
|
return {
|
|
19
56
|
id: providerId,
|
|
20
57
|
displayName: def.displayName,
|
|
21
58
|
defaultModel: def.defaultModel,
|
|
22
|
-
|
|
59
|
+
reasoningStyle,
|
|
60
|
+
...(def.keyEnv ?? def.envVar
|
|
61
|
+
? { envVar: def.keyEnv ?? def.envVar }
|
|
62
|
+
: {}),
|
|
23
63
|
validateKey: (key) => key.trim().length >= 8,
|
|
24
64
|
async listModels(auth) {
|
|
65
|
+
const baseUrl = resolveBaseUrl(def, auth);
|
|
25
66
|
const cacheKey = `${baseUrl}|${auth.apiKey ?? ""}`;
|
|
26
67
|
const now = Date.now();
|
|
27
68
|
const cached = modelCache.get(cacheKey);
|
|
@@ -43,37 +84,45 @@ export function buildCustomProvider(def) {
|
|
|
43
84
|
}
|
|
44
85
|
},
|
|
45
86
|
async ping(auth) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
await openAiCompatiblePing(baseUrl, auth.apiKey);
|
|
87
|
+
const apiKey = requireKey(auth);
|
|
88
|
+
await openAiCompatiblePing(resolveBaseUrl(def, auth), apiKey ?? "", authHeaders(def, apiKey));
|
|
49
89
|
},
|
|
50
90
|
async complete(request, auth) {
|
|
51
|
-
|
|
52
|
-
throw new Error(`${def.displayName} API key is required`);
|
|
91
|
+
const apiKey = requireKey(auth);
|
|
53
92
|
const model = request.model ?? def.defaultModel;
|
|
54
93
|
const payload = await openAiCompatibleComplete({
|
|
55
|
-
provider: def.displayName, providerId,
|
|
94
|
+
provider: def.displayName, providerId,
|
|
95
|
+
baseUrl: resolveBaseUrl(def, auth), apiKey: apiKey ?? "",
|
|
96
|
+
headers: authHeaders(def, apiKey), model,
|
|
56
97
|
messages: request.messages, maxTokens: request.maxTokens,
|
|
57
98
|
temperature: request.temperature, signal: request.signal,
|
|
58
|
-
reasoning: request.thinking, reasoningStyle
|
|
99
|
+
reasoning: request.thinking, reasoningStyle,
|
|
59
100
|
tools: request.tools, toolChoice: request.toolChoice,
|
|
60
101
|
parallelToolCalls: request.parallelToolCalls,
|
|
102
|
+
reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
|
|
103
|
+
usageAliases: def.usageAliases,
|
|
61
104
|
});
|
|
62
105
|
return toCompletionResult(providerId, model, payload);
|
|
63
106
|
},
|
|
64
107
|
async stream(request, auth, onToken) {
|
|
65
|
-
|
|
66
|
-
throw new Error(`${def.displayName} API key is required`);
|
|
67
|
-
const apiKey = auth.apiKey;
|
|
108
|
+
const apiKey = requireKey(auth);
|
|
68
109
|
const model = request.model ?? def.defaultModel;
|
|
110
|
+
const baseUrl = resolveBaseUrl(def, auth);
|
|
111
|
+
const headers = authHeaders(def, apiKey);
|
|
69
112
|
const stream = (withUsage) => openAiCompatibleStream({
|
|
70
|
-
provider: def.displayName, providerId, baseUrl,
|
|
113
|
+
provider: def.displayName, providerId, baseUrl,
|
|
114
|
+
apiKey: apiKey ?? "", headers, model,
|
|
71
115
|
messages: request.messages, maxTokens: request.maxTokens,
|
|
72
116
|
temperature: request.temperature, signal: request.signal, onToken,
|
|
73
|
-
onToolCallDelta: request.onToolCallDelta, reasoning: request.thinking,
|
|
74
|
-
reasoningStyle
|
|
117
|
+
onToolCallDelta: request.onToolCallDelta, onStreamEvent: request.onStreamEvent, reasoning: request.thinking,
|
|
118
|
+
reasoningStyle, tools: request.tools, toolChoice: request.toolChoice,
|
|
75
119
|
parallelToolCalls: request.parallelToolCalls,
|
|
120
|
+
reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
|
|
76
121
|
includeStreamUsage: withUsage,
|
|
122
|
+
usageAliases: def.usageAliases,
|
|
123
|
+
streamTerminal: def.profile?.terminal?.naturalEofAccepted === true
|
|
124
|
+
? { ...CHAT_COMPLETIONS_STREAM_TERMINAL, naturalEofAccepted: true }
|
|
125
|
+
: undefined,
|
|
77
126
|
});
|
|
78
127
|
let payload;
|
|
79
128
|
try {
|
|
@@ -82,6 +131,15 @@ export function buildCustomProvider(def) {
|
|
|
82
131
|
catch (error) {
|
|
83
132
|
if (!includeStreamUsage || !isStreamOptionsUnsupportedError(error))
|
|
84
133
|
throw error;
|
|
134
|
+
if (declaredStreamOptions === "supported") {
|
|
135
|
+
recordControlRejection({
|
|
136
|
+
provider: def.id,
|
|
137
|
+
model,
|
|
138
|
+
endpointHash: endpointPrivacyHash(baseUrl),
|
|
139
|
+
field: "stream_options",
|
|
140
|
+
});
|
|
141
|
+
throw error;
|
|
142
|
+
}
|
|
85
143
|
includeStreamUsage = false;
|
|
86
144
|
payload = await stream(false);
|
|
87
145
|
}
|
|
@@ -106,7 +164,7 @@ export function findCustomProviderDef(id, defs) {
|
|
|
106
164
|
}
|
|
107
165
|
/** In-memory cache of materialised `LlmProvider` instances keyed by id. */
|
|
108
166
|
const providerCache = new Map();
|
|
109
|
-
/** Resolve
|
|
167
|
+
/** Resolve a custom definition by id. */
|
|
110
168
|
export async function getCustomProvider(id) {
|
|
111
169
|
const cached = providerCache.get(id);
|
|
112
170
|
if (cached)
|
|
@@ -120,14 +178,8 @@ export async function getCustomProvider(id) {
|
|
|
120
178
|
return built;
|
|
121
179
|
}
|
|
122
180
|
/**
|
|
123
|
-
* Sync variant: resolve
|
|
124
|
-
*
|
|
125
|
-
* map lookup works for custom ids without an `await`.
|
|
126
|
-
*
|
|
127
|
-
* The static import of `getCustomProviders` below does NOT create a runtime
|
|
128
|
-
* cycle: `store/config.js` only imports the `CustomProviderDef` *type* from
|
|
129
|
-
* this module (erased at compile time), so there is no runtime edge from
|
|
130
|
-
* config → custom-providers to close the loop.
|
|
181
|
+
* Sync variant: resolve a custom definition by reading the config directly.
|
|
182
|
+
* This remains safe because config imports this module's type only.
|
|
131
183
|
*/
|
|
132
184
|
import { getCustomProviders } from "../store/config.js";
|
|
133
185
|
export function getCustomProviderSync(id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-providers.js","sourceRoot":"","sources":["../../src/llm/custom-providers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,oBAAoB,EAAuC,MAAM,eAAe,CAAC;AAC1F,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,QAAQ,EACR,wBAAwB,EACxB,+BAA+B,GAChC,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"custom-providers.js","sourceRoot":"","sources":["../../src/llm/custom-providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { CompletionRequest, ReasoningEffort, ReasoningPreference } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Gradual reasoning-effort fallback ladder.
|
|
4
|
+
*
|
|
5
|
+
* When a provider rejects a reasoning knob (e.g. `reasoning_effort`), we do
|
|
6
|
+
* not immediately strip reasoning. Instead we walk down the ladder to the
|
|
7
|
+
* nearest commonly-supported effort, and only strip reasoning entirely once
|
|
8
|
+
* every candidate has been rejected. This keeps reasoning quality when the
|
|
9
|
+
* model merely does not support the *highest* requested depth, while still
|
|
10
|
+
* degrading gracefully for models that reject the knob altogether.
|
|
11
|
+
*
|
|
12
|
+
* The ladder is expressed in clai's internal effort levels; the provider's
|
|
13
|
+
* `buildReasoningPayload` maps them onto the wire values it actually accepts.
|
|
14
|
+
*/
|
|
15
|
+
/** Canonical descending ladder (highest → lowest commonly-supported). */
|
|
16
|
+
export declare const EFFORT_LADDER: readonly ReasoningEffort[];
|
|
17
|
+
/**
|
|
18
|
+
* Ordered fallback efforts for a rejected `requested` effort, nearest first.
|
|
19
|
+
*
|
|
20
|
+
* Only the extended efforts above "high" have a meaningful fallback: a gateway
|
|
21
|
+
* that rejects "max"/"xhigh" usually still accepts the classic low/medium/high
|
|
22
|
+
* set. Everything else strips reasoning immediately rather than walking a long
|
|
23
|
+
* ladder — a long ladder can loop against a gateway that 503s reasoning-enabled
|
|
24
|
+
* requests (each rung re-triggers the same server error instead of progressing).
|
|
25
|
+
*/
|
|
26
|
+
export declare function fallbackEffortsFor(requested: ReasoningEffort): ReasoningEffort[];
|
|
27
|
+
/**
|
|
28
|
+
* Deduplicated candidate efforts to try, starting with the requested effort
|
|
29
|
+
* and followed by its fallback ladder.
|
|
30
|
+
*/
|
|
31
|
+
export declare function effortCandidates(thinking: ReasoningPreference | undefined): ReasoningEffort[];
|
|
32
|
+
/**
|
|
33
|
+
* Detects a provider error that means the model rejected a reasoning *effort*
|
|
34
|
+
* value (as opposed to a transient/network error). Mirrors the stricter
|
|
35
|
+
* wording providers use for "value must be one of …" rejections.
|
|
36
|
+
*/
|
|
37
|
+
export declare function isEffortRejectedError(error: unknown): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Runs `attempt` once per candidate effort, catching effort-value rejections
|
|
40
|
+
* and moving to the next candidate. Non-effort errors propagate immediately.
|
|
41
|
+
* When every candidate is rejected, the last error is rethrown (the caller's
|
|
42
|
+
* router then strips reasoning entirely).
|
|
43
|
+
*/
|
|
44
|
+
export declare function withEffortFallback<T>(request: CompletionRequest, attempt: (thinking: CompletionRequest["thinking"]) => Promise<T>, onExhausted: () => never): Promise<T>;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gradual reasoning-effort fallback ladder.
|
|
3
|
+
*
|
|
4
|
+
* When a provider rejects a reasoning knob (e.g. `reasoning_effort`), we do
|
|
5
|
+
* not immediately strip reasoning. Instead we walk down the ladder to the
|
|
6
|
+
* nearest commonly-supported effort, and only strip reasoning entirely once
|
|
7
|
+
* every candidate has been rejected. This keeps reasoning quality when the
|
|
8
|
+
* model merely does not support the *highest* requested depth, while still
|
|
9
|
+
* degrading gracefully for models that reject the knob altogether.
|
|
10
|
+
*
|
|
11
|
+
* The ladder is expressed in clai's internal effort levels; the provider's
|
|
12
|
+
* `buildReasoningPayload` maps them onto the wire values it actually accepts.
|
|
13
|
+
*/
|
|
14
|
+
/** Canonical descending ladder (highest → lowest commonly-supported). */
|
|
15
|
+
export const EFFORT_LADDER = [
|
|
16
|
+
"xhigh",
|
|
17
|
+
"high",
|
|
18
|
+
];
|
|
19
|
+
/**
|
|
20
|
+
* Ordered fallback efforts for a rejected `requested` effort, nearest first.
|
|
21
|
+
*
|
|
22
|
+
* Only the extended efforts above "high" have a meaningful fallback: a gateway
|
|
23
|
+
* that rejects "max"/"xhigh" usually still accepts the classic low/medium/high
|
|
24
|
+
* set. Everything else strips reasoning immediately rather than walking a long
|
|
25
|
+
* ladder — a long ladder can loop against a gateway that 503s reasoning-enabled
|
|
26
|
+
* requests (each rung re-triggers the same server error instead of progressing).
|
|
27
|
+
*/
|
|
28
|
+
export function fallbackEffortsFor(requested) {
|
|
29
|
+
const normalized = requested.toLowerCase();
|
|
30
|
+
const nearest = {
|
|
31
|
+
max: ["xhigh", "high"],
|
|
32
|
+
xhigh: ["high"],
|
|
33
|
+
};
|
|
34
|
+
return nearest[normalized] ?? [];
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Deduplicated candidate efforts to try, starting with the requested effort
|
|
38
|
+
* and followed by its fallback ladder.
|
|
39
|
+
*/
|
|
40
|
+
export function effortCandidates(thinking) {
|
|
41
|
+
const requested = thinking?.effort ?? "medium";
|
|
42
|
+
const seen = new Set();
|
|
43
|
+
const candidates = [];
|
|
44
|
+
for (const effort of [requested, ...fallbackEffortsFor(requested)]) {
|
|
45
|
+
const key = effort.toLowerCase();
|
|
46
|
+
if (seen.has(key))
|
|
47
|
+
continue;
|
|
48
|
+
seen.add(key);
|
|
49
|
+
candidates.push(effort);
|
|
50
|
+
}
|
|
51
|
+
return candidates;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Detects a provider error that means the model rejected a reasoning *effort*
|
|
55
|
+
* value (as opposed to a transient/network error). Mirrors the stricter
|
|
56
|
+
* wording providers use for "value must be one of …" rejections.
|
|
57
|
+
*/
|
|
58
|
+
export function isEffortRejectedError(error) {
|
|
59
|
+
const status = error && typeof error === "object" && "status" in error
|
|
60
|
+
? Number(error.status)
|
|
61
|
+
: undefined;
|
|
62
|
+
if (status !== 400 && status !== 422)
|
|
63
|
+
return false;
|
|
64
|
+
const body = error && typeof error === "object" && "body" in error
|
|
65
|
+
? String(error.body ?? "")
|
|
66
|
+
: "";
|
|
67
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
68
|
+
const hay = `${message}\n${body}`.toLowerCase();
|
|
69
|
+
if (!/reasoning_effort|\beffort\b|chat_template_kwargs|\bthinking\b/.test(hay)) {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
return /must be one of|invalid|unsupported|not support|unknown|unrecognized|not a valid|not allowed|expected one of/.test(hay);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Runs `attempt` once per candidate effort, catching effort-value rejections
|
|
76
|
+
* and moving to the next candidate. Non-effort errors propagate immediately.
|
|
77
|
+
* When every candidate is rejected, the last error is rethrown (the caller's
|
|
78
|
+
* router then strips reasoning entirely).
|
|
79
|
+
*/
|
|
80
|
+
export async function withEffortFallback(request, attempt, onExhausted) {
|
|
81
|
+
if (!request.thinking?.enabled)
|
|
82
|
+
return await attempt(request.thinking);
|
|
83
|
+
const candidates = effortCandidates(request.thinking);
|
|
84
|
+
let lastError;
|
|
85
|
+
for (let index = 0; index < candidates.length; index += 1) {
|
|
86
|
+
try {
|
|
87
|
+
return await attempt({ ...request.thinking, effort: candidates[index] });
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
if (!isEffortRejectedError(error))
|
|
91
|
+
throw error;
|
|
92
|
+
lastError = error;
|
|
93
|
+
if (index === candidates.length - 1)
|
|
94
|
+
throw error;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if (lastError)
|
|
98
|
+
throw lastError;
|
|
99
|
+
onExhausted();
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=effort-fallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effort-fallback.js","sourceRoot":"","sources":["../../src/llm/effort-fallback.ts"],"names":[],"mappings":"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"}
|
package/dist/llm/fireworks.js
CHANGED
|
@@ -15,6 +15,7 @@ let lastFetchTime = 0;
|
|
|
15
15
|
const CACHE_TTL_MS = 60 * 60 * 1000;
|
|
16
16
|
export const fireworksProvider = {
|
|
17
17
|
id: "fireworks",
|
|
18
|
+
reasoningStyle: "openai",
|
|
18
19
|
displayName: "Fireworks",
|
|
19
20
|
defaultModel: defaultModels.fireworks,
|
|
20
21
|
envVar: "FIREWORKS_API_KEY",
|
|
@@ -68,6 +69,7 @@ export const fireworksProvider = {
|
|
|
68
69
|
tools: request.tools,
|
|
69
70
|
toolChoice: request.toolChoice,
|
|
70
71
|
parallelToolCalls: request.parallelToolCalls,
|
|
72
|
+
reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
|
|
71
73
|
});
|
|
72
74
|
return toCompletionResult("fireworks", model, payload);
|
|
73
75
|
},
|
|
@@ -87,11 +89,13 @@ export const fireworksProvider = {
|
|
|
87
89
|
signal: request.signal,
|
|
88
90
|
onToken,
|
|
89
91
|
onToolCallDelta: request.onToolCallDelta,
|
|
92
|
+
onStreamEvent: request.onStreamEvent,
|
|
90
93
|
reasoning: request.thinking,
|
|
91
94
|
reasoningStyle: "openai",
|
|
92
95
|
tools: request.tools,
|
|
93
96
|
toolChoice: request.toolChoice,
|
|
94
97
|
parallelToolCalls: request.parallelToolCalls,
|
|
98
|
+
reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
|
|
95
99
|
});
|
|
96
100
|
return toCompletionResult("fireworks", model, payload);
|
|
97
101
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fireworks.js","sourceRoot":"","sources":["../../src/llm/fireworks.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"fireworks.js","sourceRoot":"","sources":["../../src/llm/fireworks.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,GAGd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,QAAQ,EACR,kBAAkB,GACnB,MAAM,WAAW,CAAC;AAEnB,MAAM,OAAO,GAAG,uCAAuC,CAAC;AAExD,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,qCAAqC;IACrC,iDAAiD;IACjD,yCAAyC;IACzC,mCAAmC;IACnC,2CAA2C;IAC3C,wCAAwC;IACxC,0DAA0D;CAC3D,CAAC;AAEF,IAAI,YAAY,GAAoB,IAAI,CAAC;AACzC,IAAI,aAAa,GAAG,CAAC,CAAC;AACtB,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEpC,MAAM,CAAC,MAAM,iBAAiB,GAAgB;IAC5C,EAAE,EAAE,WAAW;IACf,cAAc,EAAE,QAAQ;IACxB,WAAW,EAAE,WAAW;IACxB,YAAY,EAAE,aAAa,CAAC,SAAS;IACrC,MAAM,EAAE,mBAAmB;IAC3B,WAAW,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC;IACpD,KAAK,CAAC,UAAU,CAAC,IAAkB;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,uBAAuB,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,YAAY,IAAI,GAAG,GAAG,aAAa,GAAG,YAAY;YAAE,OAAO,YAAY,CAAC;QAC5E,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,SAAS,EAAE;gBAChD,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,EAAE;aACpD,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAmC,QAAQ,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,wBAAwB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC3D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,YAAY,GAAG,MAAM,CAAC;gBACtB,aAAa,GAAG,GAAG,CAAC;gBACpB,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,OAAO,uBAAuB,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,uBAAuB,CAAC;QACjC,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,IAAkB;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnE,MAAM,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IACD,KAAK,CAAC,QAAQ,CACZ,OAA0B,EAC1B,IAAkB;QAElB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,SAAS,CAAC;QACvD,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC;YAC7C,QAAQ,EAAE,WAAW;YACrB,UAAU,EAAE,WAAW;YACvB,OAAO;YACP,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK;YACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE,OAAO,CAAC,QAAQ;YAC3B,cAAc,EAAE,QAAQ;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,+BAA+B,EAAE,OAAO,CAAC,iCAAiC;SAC3E,CAAC,CAAC;QACH,OAAO,kBAAkB,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IACD,KAAK,CAAC,MAAM,CACV,OAA0B,EAC1B,IAAkB,EAClB,OAAgC;QAEhC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,SAAS,CAAC;QACvD,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC;YAC3C,QAAQ,EAAE,WAAW;YACrB,UAAU,EAAE,WAAW;YACvB,OAAO;YACP,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK;YACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO;YACP,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,SAAS,EAAE,OAAO,CAAC,QAAQ;YAC3B,cAAc,EAAE,QAAQ;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,+BAA+B,EAAE,OAAO,CAAC,iCAAiC;SAC3E,CAAC,CAAC;QACH,OAAO,kBAAkB,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;CACF,CAAC"}
|
package/dist/llm/free.js
CHANGED
|
@@ -126,6 +126,7 @@ async function listSourceModels(source, key) {
|
|
|
126
126
|
}
|
|
127
127
|
export const freeProvider = {
|
|
128
128
|
id: "free",
|
|
129
|
+
reasoningStyle: "openai",
|
|
129
130
|
displayName: "Free (zen + kilo)",
|
|
130
131
|
defaultModel: defaultModels.free,
|
|
131
132
|
envVar: "FREE_API_KEY",
|
|
@@ -168,6 +169,7 @@ export const freeProvider = {
|
|
|
168
169
|
tools: request.tools,
|
|
169
170
|
toolChoice: request.toolChoice,
|
|
170
171
|
parallelToolCalls: request.parallelToolCalls,
|
|
172
|
+
reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
|
|
171
173
|
});
|
|
172
174
|
return toCompletionResult("free", requested, payload);
|
|
173
175
|
},
|
|
@@ -189,6 +191,7 @@ export const freeProvider = {
|
|
|
189
191
|
signal: request.signal,
|
|
190
192
|
onToken,
|
|
191
193
|
onToolCallDelta: request.onToolCallDelta,
|
|
194
|
+
onStreamEvent: request.onStreamEvent,
|
|
192
195
|
reasoning: request.thinking,
|
|
193
196
|
reasoningStyle: FREE_REASONING_STYLE,
|
|
194
197
|
idleTimeoutMs: budgets.idleTimeoutMs,
|
|
@@ -199,6 +202,7 @@ export const freeProvider = {
|
|
|
199
202
|
tools: request.tools,
|
|
200
203
|
toolChoice: request.toolChoice,
|
|
201
204
|
parallelToolCalls: request.parallelToolCalls,
|
|
205
|
+
reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
|
|
202
206
|
});
|
|
203
207
|
return toCompletionResult("free", requested, payload);
|
|
204
208
|
},
|
package/dist/llm/free.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"free.js","sourceRoot":"","sources":["../../src/llm/free.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"free.js","sourceRoot":"","sources":["../../src/llm/free.ts"],"names":[],"mappings":"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"}
|
package/dist/llm/gemini.d.ts
CHANGED
|
@@ -3,5 +3,5 @@ import { type LlmProvider } from "./provider.js";
|
|
|
3
3
|
/** Throws a named error for a finish reason that means "content was blocked". */
|
|
4
4
|
export declare function assertGeminiFinishReasonAllowed(finishReason: string | undefined): void;
|
|
5
5
|
export declare function clampGeminiThinkingBudget(thinkingConfig: Record<string, unknown> | undefined, maxOutputTokens: number): Record<string, unknown> | undefined;
|
|
6
|
-
export declare function geminiBody(request: CompletionRequest): string;
|
|
6
|
+
export declare function geminiBody(request: CompletionRequest, stream?: boolean): string;
|
|
7
7
|
export declare const geminiProvider: LlmProvider;
|