@openclaw/ai 2026.10.1 → 2026.10.5-beta.1
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 +6 -0
- package/dist/{anthropic-BDfXKgF1.mjs → anthropic-BAHKgWam.mjs} +30 -59
- package/dist/{anthropic-payload-policy-BZUAchqb.d.mts → anthropic-payload-policy-DGblkHL5.d.mts} +19 -16
- package/dist/{anthropic-stream-reducer-DHt9uFWX.mjs → anthropic-stream-reducer-g6w1YVii.mjs} +195 -283
- package/dist/{api-registry-DcEP_o4h.d.mts → api-registry-BhXXYdRA.d.mts} +2 -2
- package/dist/assistant-message-events-CHMJgbhs.mjs +18 -0
- package/dist/{assistant-output-mJ9cL4Qg.mjs → assistant-output-CUEeSotf.mjs} +2 -2
- package/dist/{assistant-text-phase-DAv1BdTm.mjs → assistant-text-phase-BrV8KdFO.mjs} +7 -6
- package/dist/{azure-openai-responses-gn9hMf8x.mjs → azure-openai-responses-C7qBuR23.mjs} +8 -9
- package/dist/{credential-redaction-BKv49aiv.d.mts → credential-redaction-BHxruEH6.d.mts} +3 -1
- package/dist/{diagnostics-Caj-4RBA.mjs → diagnostics-tQasYct1.mjs} +10 -3
- package/dist/diagnostics.d.mts +7 -7
- package/dist/diagnostics.mjs +3 -3
- package/dist/{env-api-keys-CyX4VKGO.mjs → env-api-keys-CrxwdylR.mjs} +24 -35
- package/dist/event-stream-6UNs-AhN.d.mts +1 -0
- package/dist/{event-stream-DrRM_90c.d.mts → event-stream-BcqWLo_u.d.mts} +1 -1
- package/dist/{event-stream-C5AbCAaZ.mjs → event-stream-X2gmsUWv.mjs} +5 -8
- package/dist/event-stream.d.mts +2 -2
- package/dist/event-stream.mjs +1 -1
- package/dist/google-Boz2QcpK.mjs +20 -0
- package/dist/{google-interactions-DXu4IYGb.mjs → google-interactions-tjAb1mc5.mjs} +52 -84
- package/dist/{google-messages-Bmheetdg.mjs → google-messages-C-RZzloH.mjs} +25 -35
- package/dist/google-provider-stream-CMImyxbX.mjs +58 -0
- package/dist/{google-shared-DE_ddfsC.mjs → google-shared-OyAtMTZv.mjs} +6 -15
- package/dist/google-vertex-hCxTJea7.mjs +40 -0
- package/dist/{host-BjIYEjwT.d.mts → host-CTDz7LXD.d.mts} +6 -3
- package/dist/{host-JpNulOOs.mjs → host-JWXZWa-c.mjs} +3 -2
- package/dist/{host-policy-CC5H0iRZ.mjs → host-policy-q4Azym9F.mjs} +1 -1
- package/dist/{index-DJrNQnKw.d.mts → index-BYDvopUB.d.mts} +8 -5
- package/dist/index.d.mts +7 -7
- package/dist/index.mjs +7 -6
- package/dist/internal/anthropic.d.mts +5 -5
- package/dist/internal/anthropic.mjs +4 -4
- package/dist/internal/openai-completions-compat.d.mts +1 -1
- package/dist/internal/openai-completions-compat.mjs +1 -1
- package/dist/internal/openai-responses-payload-policy.d.mts +8 -1
- package/dist/internal/openai-responses-payload-policy.mjs +3 -3
- package/dist/internal/openai.d.mts +9 -9
- package/dist/internal/openai.mjs +9 -11
- package/dist/internal/runtime.d.mts +31 -13
- package/dist/internal/runtime.mjs +10 -13
- package/dist/internal/shared.d.mts +5 -5
- package/dist/internal/shared.mjs +6 -7
- package/dist/internal/tool-schema.mjs +2 -2
- package/dist/{llm-request-activity-D8f_oxHj.mjs → llm-request-activity-CfMuh5cC.mjs} +2 -2
- package/dist/{mistral-1Bnbneg1.mjs → mistral-DUveP4hF.mjs} +71 -146
- package/dist/{model-transport-url-C5f59L3Y.d.mts → model-transport-url-BrsjjdjR.d.mts} +5 -1
- package/dist/{number-coercion-V8-BhME4.mjs → number-coercion-C3hztWoY.mjs} +5 -4
- package/dist/{openai-chatgpt-responses-CB1JwNFF.mjs → openai-chatgpt-responses-OCwckGhY.mjs} +164 -234
- package/dist/{openai-completions-BPadHHKe.mjs → openai-completions-DOltBUe9.mjs} +7 -6
- package/dist/{openai-completions-compat-CJ0ktmGy.d.mts → openai-completions-compat-i-nLZxFy.d.mts} +10 -11
- package/dist/{openai-completions-compat-D7hWYB0G.mjs → openai-completions-compat-pg1q4uNG.mjs} +10 -6
- package/dist/{openai-completions-transport-DITBEALX.mjs → openai-completions-transport-OMrn7gnZ.mjs} +1429 -294
- package/dist/{openai-prompt-cache-Dj8qeOHT.mjs → openai-prompt-cache-Cr2xKVrS.mjs} +1 -1
- package/dist/{openai-prompt-cache-C-Q1Ksfs.d.mts → openai-prompt-cache-DIPMrMFy.d.mts} +2 -2
- package/dist/{openai-responses-1_TvcWI3.mjs → openai-responses-BSBJUA19.mjs} +9 -10
- package/dist/{openai-responses-compaction-replay-BB2SWdsx.d.mts → openai-responses-compaction-replay-B2FE4Nw8.d.mts} +4 -4
- package/dist/{openai-responses-contracts-sAvdqNjS.d.mts → openai-responses-contracts-DKqMJ1Ct.d.mts} +9 -4
- package/dist/{openai-responses-contracts-BKu8O7l4.mjs → openai-responses-contracts-DlKMMTxK.mjs} +26 -6
- package/dist/{openai-responses-compaction-window-m878aVpU.mjs → openai-responses-endpoint-CinGh4VZ.mjs} +14 -4
- package/dist/{openai-responses-prompt-observer-internal-CbH84xIS.mjs → openai-responses-request-lifecycle-D2IFiI0-.mjs} +39 -4
- package/dist/{openai-responses-shared-TCJRAoMW.mjs → openai-responses-shared-DVGhq5xF.mjs} +1036 -327
- package/dist/{openai-responses-terminal-usage-BVvyXZ8u.d.mts → openai-responses-terminal-usage-BygjiAdi.d.mts} +2 -2
- package/dist/{openai-tool-schema-DYNePiF8.mjs → openai-tool-schema-DDPXsvJP.mjs} +236 -399
- package/dist/{positive-integer-CwLi8LUL.mjs → positive-integer-CqWjqSi9.mjs} +1 -1
- package/dist/{provider-error-DQBE1bUQ.mjs → provider-error-CF9GWCs2.mjs} +5 -3
- package/dist/{provider-options-Dk4PeQV3.d.mts → provider-options-CVrXZBtA.d.mts} +3 -2
- package/dist/{provider-transport-turn-state-8c_Nj2NS.mjs → provider-transport-turn-state-LuCaTsSO.mjs} +2 -2
- package/dist/{provider-types-De8PRdR0.d.mts → provider-types-CHtRx0dI.d.mts} +3 -3
- package/dist/provider-types.d.mts +6 -6
- package/dist/providers.d.mts +2 -2
- package/dist/providers.mjs +12 -12
- package/dist/{reasoning-tag-text-partitioner-Ju9VpUGl.mjs → reasoning-tag-text-partitioner-0-Rsezog.mjs} +13 -12
- package/dist/{required-api-key-D4kn3252.mjs → required-api-key-CFJvcFy_.mjs} +1 -1
- package/dist/{simple-options-wW3117Fu.mjs → simple-options-BARFAzk9.mjs} +9 -11
- package/dist/{src-DWJq14pn.mjs → src-C_wfIUmV.mjs} +19 -4
- package/dist/{stream-CElngO8h.mjs → stream-DwrETW0_.mjs} +12 -21
- package/dist/{stream-first-event-timeout-D9ZmL_s9.mjs → stream-first-event-timeout-Dc42hKv6.mjs} +8 -21
- package/dist/{streaming-byte-guard-CC-HMn_u.mjs → streaming-byte-guard-DBXr1XYn.mjs} +16 -1
- package/dist/{string-normalization-PN10hf6d.mjs → string-normalization-I3ux50s9.mjs} +1 -1
- package/dist/{text-signature-rOn31nxc.mjs → text-signature-B_MB6U_9.mjs} +32 -5
- package/dist/{tool-schema-json-projection-Ct8SeBeJ.mjs → tool-schema-json-projection-B8sG1I9v.mjs} +29 -23
- package/dist/{transport-stream-shared-CAxkgOSj.d.mts → transport-stream-shared-BmpzDtdQ.d.mts} +4 -4
- package/dist/{transport-stream-shared-C5TAc3U_.mjs → transport-stream-shared-DH08b7Il.mjs} +8 -16
- package/dist/transports.d.mts +33 -22
- package/dist/transports.mjs +73 -1234
- package/dist/{types-DvzmWW8J.d.mts → types-Bd2T86VJ.d.mts} +5 -23
- package/dist/types-Kdfw_04V.d.mts +1 -0
- package/dist/types.d.mts +6 -6
- package/dist/types.mjs +5 -4
- package/dist/{validation-B3lQt_VE.d.mts → validation-DdGB1yy3.d.mts} +1 -1
- package/dist/{validation-DbqlIfDn.mjs → validation-opC2pjk9.mjs} +2 -3
- package/dist/validation.d.mts +1 -1
- package/dist/validation.mjs +1 -1
- package/package.json +4 -9
- package/dist/env-api-keys-BR0MUYYD.d.mts +0 -17
- package/dist/event-stream-DqDQWqiy.d.mts +0 -1
- package/dist/google-CyMz2jF_.mjs +0 -54
- package/dist/google-vertex-BEW0OQIA.mjs +0 -88
- package/dist/internal/env-api-keys.d.mts +0 -2
- package/dist/internal/env-api-keys.mjs +0 -2
- package/dist/openai-responses-request-lifecycle-Fsag-IGZ.mjs +0 -36
- package/dist/openai-transport-params-ildrm49s.mjs +0 -735
- package/dist/openai-web-search-tools-Cfu0uLyN.mjs +0 -14
- package/dist/provider-replay-context-ywPKKLjL.mjs +0 -25
- package/dist/types-Dlz-8qcy.d.mts +0 -1
|
@@ -119,14 +119,11 @@ interface ThinkingBudgets {
|
|
|
119
119
|
type CacheRetention = "none" | "short" | "long";
|
|
120
120
|
/** Streaming transport preference for providers that support multiple transports. */
|
|
121
121
|
type Transport = "sse" | "websocket" | "websocket-cached" | "auto";
|
|
122
|
-
/** Helper for hooks that may be synchronous or asynchronous. */
|
|
123
122
|
type MaybePromise<T> = T | Promise<T>;
|
|
124
|
-
/** Minimal HTTP response metadata surfaced through provider hooks. */
|
|
125
123
|
interface ProviderResponse {
|
|
126
124
|
status: number;
|
|
127
125
|
headers: Record<string, string>;
|
|
128
126
|
}
|
|
129
|
-
/** Request options shared by text streaming providers. */
|
|
130
127
|
interface StreamOptions {
|
|
131
128
|
temperature?: number;
|
|
132
129
|
maxTokens?: number;
|
|
@@ -225,7 +222,6 @@ interface StreamOptions {
|
|
|
225
222
|
metadata?: Record<string, unknown>;
|
|
226
223
|
}
|
|
227
224
|
type ProviderStreamOptions = StreamOptions & Record<string, unknown>;
|
|
228
|
-
/** Request options shared by image-generation providers. */
|
|
229
225
|
interface ImagesOptions {
|
|
230
226
|
signal?: AbortSignal;
|
|
231
227
|
apiKey?: string;
|
|
@@ -234,9 +230,6 @@ interface ImagesOptions {
|
|
|
234
230
|
* Return undefined to keep the payload unchanged.
|
|
235
231
|
*/
|
|
236
232
|
onPayload?: (payload: unknown, model: ImagesModel) => MaybePromise<unknown>;
|
|
237
|
-
/**
|
|
238
|
-
* Optional callback invoked after an HTTP response is received.
|
|
239
|
-
*/
|
|
240
233
|
onResponse?: (response: ProviderResponse, model: ImagesModel) => void | Promise<void>;
|
|
241
234
|
/**
|
|
242
235
|
* Optional custom HTTP headers to include in API requests.
|
|
@@ -281,13 +274,11 @@ interface TextSignatureV1 {
|
|
|
281
274
|
id: string;
|
|
282
275
|
phase?: "commentary" | "final_answer";
|
|
283
276
|
}
|
|
284
|
-
/** Plain assistant/user text content block. */
|
|
285
277
|
interface TextContent {
|
|
286
278
|
type: "text";
|
|
287
279
|
text: string;
|
|
288
280
|
textSignature?: string;
|
|
289
281
|
}
|
|
290
|
-
/** Provider reasoning/thinking content block, including opaque replay signatures. */
|
|
291
282
|
interface ThinkingContent {
|
|
292
283
|
type: "thinking";
|
|
293
284
|
thinking: string;
|
|
@@ -328,7 +319,6 @@ interface ToolCall {
|
|
|
328
319
|
thoughtSignature?: string;
|
|
329
320
|
executionMode?: "sequential" | "parallel";
|
|
330
321
|
}
|
|
331
|
-
/** Normalized token and cost accounting for a provider response. */
|
|
332
322
|
interface Usage {
|
|
333
323
|
input: number;
|
|
334
324
|
output: number;
|
|
@@ -374,7 +364,6 @@ type ModelCostConfig = ModelCostRates & {
|
|
|
374
364
|
type RawModelCostConfig = ModelCostRates & {
|
|
375
365
|
tieredPricing?: RawPricingTier[];
|
|
376
366
|
};
|
|
377
|
-
/** Normalized assistant stop reasons across text providers. */
|
|
378
367
|
type StopReason = "stop" | "length" | "toolUse" | "error" | "aborted";
|
|
379
368
|
/** Stable error codes for provider outcomes that cannot be replayed safely. */
|
|
380
369
|
declare const PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE = "PROVIDER_POST_DISPATCH_AMBIGUITY";
|
|
@@ -382,7 +371,6 @@ declare const PROVIDER_FAILURE_WITH_OUTPUT_ERROR_CODE = "PROVIDER_FAILURE_WITH_O
|
|
|
382
371
|
/** Pre-dispatch argument rejection; callers still enforce output and effect guards. */
|
|
383
372
|
declare const MALFORMED_TOOL_CALL_ARGUMENTS_ERROR_CODE = "malformed_tool_call_arguments";
|
|
384
373
|
declare const DEFAULT_MISSING_TOOL_RESULT_TEXT = "Tool call interrupted before a result was recorded; its outcome is unknown. Retry only if the operation is read-only or idempotent. If it may have had side effects, verify the current state first instead of repeating it.";
|
|
385
|
-
/** User turn in a text-model conversation. */
|
|
386
374
|
interface UserMessage {
|
|
387
375
|
role: "user";
|
|
388
376
|
content: string | (TextContent | ImageContent)[];
|
|
@@ -447,7 +435,6 @@ declare function isRuntimeContextMessage(message: {
|
|
|
447
435
|
declare function readRuntimeContextMetadata(message: RuntimeContextMessage): NonNullable<UserMessage["runtimeContext"]>;
|
|
448
436
|
/** Updates canonical retention and its shipped compatibility projection together. */
|
|
449
437
|
declare function setRuntimeContextRetention(message: RuntimeContextMessage, retained: boolean | undefined): void;
|
|
450
|
-
/** Assistant turn, including provider identity and final stop state. */
|
|
451
438
|
type AssistantDeliveryTtsFacts = {
|
|
452
439
|
tagged: true;
|
|
453
440
|
text?: string;
|
|
@@ -488,7 +475,6 @@ interface AssistantMessage {
|
|
|
488
475
|
errorBody?: string;
|
|
489
476
|
timestamp: number;
|
|
490
477
|
}
|
|
491
|
-
/** Tool result turn that answers a prior assistant tool call. */
|
|
492
478
|
interface ToolResultMessage<TDetails = unknown> {
|
|
493
479
|
role: "toolResult";
|
|
494
480
|
toolCallId: string;
|
|
@@ -498,19 +484,13 @@ interface ToolResultMessage<TDetails = unknown> {
|
|
|
498
484
|
isError: boolean;
|
|
499
485
|
timestamp: number;
|
|
500
486
|
}
|
|
501
|
-
/** Any text-model conversation message supported by LLM core. */
|
|
502
487
|
type Message = UserMessage | AssistantMessage | ToolResultMessage;
|
|
503
|
-
/** Image request input content accepted by image providers. */
|
|
504
488
|
type ImagesInputContent = TextContent | ImageContent;
|
|
505
|
-
/** Image response output content returned by image providers. */
|
|
506
489
|
type ImagesOutputContent = TextContent | ImageContent;
|
|
507
|
-
/** Image-generation request context. */
|
|
508
490
|
interface ImagesContext {
|
|
509
491
|
input: ImagesInputContent[];
|
|
510
492
|
}
|
|
511
|
-
/** Normalized image-generation stop reasons. */
|
|
512
493
|
type ImagesStopReason = "stop" | "error" | "aborted";
|
|
513
|
-
/** Final image-generation response shape. */
|
|
514
494
|
interface AssistantImages {
|
|
515
495
|
api: ImagesApi;
|
|
516
496
|
provider: ImagesProvider;
|
|
@@ -522,13 +502,16 @@ interface AssistantImages {
|
|
|
522
502
|
errorMessage?: string;
|
|
523
503
|
timestamp: number;
|
|
524
504
|
}
|
|
525
|
-
/** Provider tool declaration with a TypeBox/JSON-schema parameter object. */
|
|
526
505
|
interface Tool<TParameters extends TSchema = TSchema> {
|
|
527
506
|
name: string;
|
|
528
507
|
description: string;
|
|
529
508
|
parameters: TParameters;
|
|
509
|
+
/**
|
|
510
|
+
* `false` keeps calls synchronous where the provider can keep generating after a call
|
|
511
|
+
* (OpenAI async tools): the response pauses until earlier results are delivered.
|
|
512
|
+
*/
|
|
513
|
+
async?: false;
|
|
530
514
|
}
|
|
531
|
-
/** Text-model request context shared by provider adapters. */
|
|
532
515
|
interface Context {
|
|
533
516
|
systemPrompt?: string;
|
|
534
517
|
messages: Message[];
|
|
@@ -603,7 +586,6 @@ type AssistantMessageEvent = {
|
|
|
603
586
|
error: AssistantMessage;
|
|
604
587
|
};
|
|
605
588
|
interface AssistantMessageEventStreamContract extends AsyncIterable<AssistantMessageEvent> {
|
|
606
|
-
/** Queue one stream event for consumers. */
|
|
607
589
|
push(event: AssistantMessageEvent): void;
|
|
608
590
|
/** Complete the stream and optionally resolve the final message. */
|
|
609
591
|
end(result?: AssistantMessage): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./index-BYDvopUB.mjs";
|
package/dist/types.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { A as
|
|
2
|
-
import { $ as StopReason, A as ModelCostConfig, At as extractDiagnosticError, B as ProviderImagesOptions, C as KnownApi, Ct as readRuntimeContextMetadata, D as MaybePromise, Dt as DiagnosticErrorInfo, E as MALFORMED_TOOL_CALL_ARGUMENTS_ERROR_CODE, Et as AssistantMessageDiagnostic, F as OpenRouterRouting, G as RUNTIME_CONTEXT_CUSTOM_TYPE, H as ProviderResponse, I as PROVIDER_FAILURE_WITH_OUTPUT_ERROR_CODE, J as RUNTIME_CONTEXT_HEADER, K as RUNTIME_CONTEXT_END_MARKER, L as PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE, M as ModelThinkingLevel, Mt as isProviderRefusalAssistantError, N as OpenAICompletionsCompat, O as Message, Ot as appendAssistantMessageDiagnostic, P as OpenAIResponsesCompat, Q as SimpleStreamOptions, R as PricingTier, S as ImagesStopReason, St as labelRuntimeContextText, T as KnownImagesProvider, Tt as setRuntimeContextRetention, U as ProviderStreamOptions, V as ProviderReplayState, W as RUNTIME_CONTEXT_BEGIN_MARKER, X as RawPricingTier, Y as RawModelCostConfig, Z as RuntimeContextMessage, _ as ImagesInputContent, _t as escapeRuntimeContextFooter, a as AssistantMessage, at as ThinkingBudgets, b as ImagesOutputContent, bt as isRuntimeContextMessage, c as AssistantMessageEventStreamLike, ct as ThinkingLevelMap, d as Context, dt as ToolResultMessage, et as StreamFn, f as DEFAULT_MISSING_TOOL_RESULT_TEXT, ft as Transport, g as ImagesFunction, gt as VercelGatewayRouting, h as ImagesContext, ht as ValidateToolArgumentsFn, i as AssistantImages, it as TextSignatureV1, j as ModelCostRates, jt as formatThrownValue, k as Model, kt as createAssistantMessageDiagnostic, l as CacheRetention, lt as Tool, m as ImagesApi, mt as UserMessage, n as Api, nt as StreamOptions, o as AssistantMessageEvent, ot as ThinkingContent, p as ImageContent, pt as Usage, q as RUNTIME_CONTEXT_FOOTER, r as AssistantDeliveryTtsFacts, rt as TextContent, s as AssistantMessageEventStreamContract, st as ThinkingLevel, t as AnthropicMessagesCompat, tt as StreamFunction, u as CompleteSimpleFn, ut as ToolCall, v as ImagesModel, vt as hasLegacyRuntimeContextEnvelope, w as KnownImagesApi, wt as runtimeContextContentToText, x as ImagesProvider, xt as labelRuntimeContextContent, y as ImagesOptions, yt as hasRuntimeContextMarker, z as Provider } from "./types-
|
|
3
|
-
import { n as EventStream, r as createAssistantMessageEventStream, t as AssistantMessageEventStream } from "./event-stream-
|
|
4
|
-
import { n as validateToolCall, t as validateToolArguments } from "./validation-
|
|
5
|
-
import "./types-
|
|
6
|
-
export { AnthropicMessagesCompat, Api, AssistantDeliveryTtsFacts, AssistantImages, AssistantMessage, AssistantMessageDiagnostic, AssistantMessageEvent, AssistantMessageEventStream, AssistantMessageEventStreamContract, AssistantMessageEventStreamLike, CLAUDE_FABLE_5_THINKING_PROFILE, CLAUDE_HAIKU_55_THINKING_PROFILE, CLAUDE_OPUS_55_THINKING_PROFILE, CLAUDE_OPUS_5_THINKING_PROFILE, CLAUDE_SONNET_55_THINKING_PROFILE, CLAUDE_SONNET_5_THINKING_PROFILE, CacheRetention, CompleteSimpleFn, Context, DEFAULT_MISSING_TOOL_RESULT_TEXT, DiagnosticErrorInfo, EventStream, ImageContent, ImagesApi, ImagesContext, ImagesFunction, ImagesInputContent, ImagesModel, ImagesOptions, ImagesOutputContent, ImagesProvider, ImagesStopReason, KnownApi, KnownImagesApi, KnownImagesProvider, MALFORMED_TOOL_CALL_ARGUMENTS_ERROR_CODE, MaybePromise, Message, Model, ModelCostConfig, ModelCostRates, ModelThinkingLevel, OpenAICompletionsCompat, OpenAIResponsesCompat, OpenRouterRouting, PROVIDER_FAILURE_WITH_OUTPUT_ERROR_CODE, PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE, PricingTier, Provider, ProviderImagesOptions, type ProviderRefusalReview, ProviderReplayState, ProviderResponse, ProviderStreamOptions, RUNTIME_CONTEXT_BEGIN_MARKER, RUNTIME_CONTEXT_CUSTOM_TYPE, RUNTIME_CONTEXT_END_MARKER, RUNTIME_CONTEXT_FOOTER, RUNTIME_CONTEXT_HEADER, RawModelCostConfig, RawPricingTier, RuntimeContextMessage, SimpleStreamOptions, StopReason, StreamFn, StreamFunction, StreamOptions, TextContent, TextSignatureV1, ThinkingBudgets, ThinkingContent, ThinkingLevel, ThinkingLevelMap, Tool, ToolCall, ToolResultMessage, Transport, Usage, UserMessage, ValidateToolArgumentsFn, VercelGatewayRouting, appendAssistantMessageDiagnostic, bindsClaudeThinkingPrefix, calculateUsageCost, createAssistantMessageDiagnostic, createAssistantMessageEventStream, escapeRuntimeContextFooter, extractDiagnosticError, formatThrownValue, hasLegacyRuntimeContextEnvelope, hasRuntimeContextMarker, isProviderRefusalAssistantError, isRuntimeContextMessage, labelRuntimeContextContent, labelRuntimeContextText, normalizeModelCostConfig, normalizeResolvedPricing, readProviderRefusalReview, readRuntimeContextMetadata, requiresClaudeBetweenToolsThinking, requiresClaudeDefaultSampling, requiresClaudeMandatoryAdaptiveThinking, resolveClaudeFable5ModelIdentity, resolveClaudeHaiku55ModelIdentity, resolveClaudeModelIdentity, resolveClaudeMythos5ModelIdentity, resolveClaudeNativeThinkingLevelMap, resolveClaudeOpus55ModelIdentity, resolveClaudeOpus5ModelIdentity, resolveClaudeSonnet55ModelIdentity, resolveClaudeSonnet5ModelIdentity, runtimeContextContentToText, setRuntimeContextRetention, supportsClaude1MContext, supportsClaudeAdaptiveThinking, supportsClaudeFastMode, supportsClaudeInHistorySystemMessages, supportsClaudeNativeMaxEffort, supportsClaudeNativeXhighEffort, validateToolArguments, validateToolCall };
|
|
1
|
+
import { A as supportsClaudeInHistorySystemMessages, C as resolveClaudeOpus55ModelIdentity, D as supportsClaude1MContext, E as resolveClaudeSonnet5ModelIdentity, M as supportsClaudeNativeXhighEffort, O as supportsClaudeAdaptiveThinking, S as resolveClaudeNativeThinkingLevelMap, T as resolveClaudeSonnet55ModelIdentity, _ as requiresClaudeMandatoryAdaptiveThinking, a as normalizeResolvedPricing, b as resolveClaudeModelIdentity, c as CLAUDE_FABLE_5_THINKING_PROFILE, d as CLAUDE_OPUS_5_THINKING_PROFILE, f as CLAUDE_SONNET_55_THINKING_PROFILE, g as requiresClaudeDefaultSampling, h as requiresClaudeBetweenToolsThinking, i as normalizeModelCostConfig, j as supportsClaudeNativeMaxEffort, k as supportsClaudeFastMode, l as CLAUDE_HAIKU_55_THINKING_PROFILE, m as bindsClaudeThinkingPrefix, n as appendTextDeltaToAssistantMessage, o as ProviderRefusalReview, p as CLAUDE_SONNET_5_THINKING_PROFILE, r as calculateUsageCost, s as readProviderRefusalReview, u as CLAUDE_OPUS_55_THINKING_PROFILE, v as resolveClaudeFable5ModelIdentity, w as resolveClaudeOpus5ModelIdentity, x as resolveClaudeMythos5ModelIdentity, y as resolveClaudeHaiku55ModelIdentity } from "./index-BYDvopUB.mjs";
|
|
2
|
+
import { $ as StopReason, A as ModelCostConfig, At as extractDiagnosticError, B as ProviderImagesOptions, C as KnownApi, Ct as readRuntimeContextMetadata, D as MaybePromise, Dt as DiagnosticErrorInfo, E as MALFORMED_TOOL_CALL_ARGUMENTS_ERROR_CODE, Et as AssistantMessageDiagnostic, F as OpenRouterRouting, G as RUNTIME_CONTEXT_CUSTOM_TYPE, H as ProviderResponse, I as PROVIDER_FAILURE_WITH_OUTPUT_ERROR_CODE, J as RUNTIME_CONTEXT_HEADER, K as RUNTIME_CONTEXT_END_MARKER, L as PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE, M as ModelThinkingLevel, Mt as isProviderRefusalAssistantError, N as OpenAICompletionsCompat, O as Message, Ot as appendAssistantMessageDiagnostic, P as OpenAIResponsesCompat, Q as SimpleStreamOptions, R as PricingTier, S as ImagesStopReason, St as labelRuntimeContextText, T as KnownImagesProvider, Tt as setRuntimeContextRetention, U as ProviderStreamOptions, V as ProviderReplayState, W as RUNTIME_CONTEXT_BEGIN_MARKER, X as RawPricingTier, Y as RawModelCostConfig, Z as RuntimeContextMessage, _ as ImagesInputContent, _t as escapeRuntimeContextFooter, a as AssistantMessage, at as ThinkingBudgets, b as ImagesOutputContent, bt as isRuntimeContextMessage, c as AssistantMessageEventStreamLike, ct as ThinkingLevelMap, d as Context, dt as ToolResultMessage, et as StreamFn, f as DEFAULT_MISSING_TOOL_RESULT_TEXT, ft as Transport, g as ImagesFunction, gt as VercelGatewayRouting, h as ImagesContext, ht as ValidateToolArgumentsFn, i as AssistantImages, it as TextSignatureV1, j as ModelCostRates, jt as formatThrownValue, k as Model, kt as createAssistantMessageDiagnostic, l as CacheRetention, lt as Tool, m as ImagesApi, mt as UserMessage, n as Api, nt as StreamOptions, o as AssistantMessageEvent, ot as ThinkingContent, p as ImageContent, pt as Usage, q as RUNTIME_CONTEXT_FOOTER, r as AssistantDeliveryTtsFacts, rt as TextContent, s as AssistantMessageEventStreamContract, st as ThinkingLevel, t as AnthropicMessagesCompat, tt as StreamFunction, u as CompleteSimpleFn, ut as ToolCall, v as ImagesModel, vt as hasLegacyRuntimeContextEnvelope, w as KnownImagesApi, wt as runtimeContextContentToText, x as ImagesProvider, xt as labelRuntimeContextContent, y as ImagesOptions, yt as hasRuntimeContextMarker, z as Provider } from "./types-Bd2T86VJ.mjs";
|
|
3
|
+
import { n as EventStream, r as createAssistantMessageEventStream, t as AssistantMessageEventStream } from "./event-stream-BcqWLo_u.mjs";
|
|
4
|
+
import { n as validateToolCall, t as validateToolArguments } from "./validation-DdGB1yy3.mjs";
|
|
5
|
+
import "./types-Kdfw_04V.mjs";
|
|
6
|
+
export { AnthropicMessagesCompat, Api, AssistantDeliveryTtsFacts, AssistantImages, AssistantMessage, AssistantMessageDiagnostic, AssistantMessageEvent, AssistantMessageEventStream, AssistantMessageEventStreamContract, AssistantMessageEventStreamLike, CLAUDE_FABLE_5_THINKING_PROFILE, CLAUDE_HAIKU_55_THINKING_PROFILE, CLAUDE_OPUS_55_THINKING_PROFILE, CLAUDE_OPUS_5_THINKING_PROFILE, CLAUDE_SONNET_55_THINKING_PROFILE, CLAUDE_SONNET_5_THINKING_PROFILE, CacheRetention, CompleteSimpleFn, Context, DEFAULT_MISSING_TOOL_RESULT_TEXT, DiagnosticErrorInfo, EventStream, ImageContent, ImagesApi, ImagesContext, ImagesFunction, ImagesInputContent, ImagesModel, ImagesOptions, ImagesOutputContent, ImagesProvider, ImagesStopReason, KnownApi, KnownImagesApi, KnownImagesProvider, MALFORMED_TOOL_CALL_ARGUMENTS_ERROR_CODE, MaybePromise, Message, Model, ModelCostConfig, ModelCostRates, ModelThinkingLevel, OpenAICompletionsCompat, OpenAIResponsesCompat, OpenRouterRouting, PROVIDER_FAILURE_WITH_OUTPUT_ERROR_CODE, PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE, PricingTier, Provider, ProviderImagesOptions, type ProviderRefusalReview, ProviderReplayState, ProviderResponse, ProviderStreamOptions, RUNTIME_CONTEXT_BEGIN_MARKER, RUNTIME_CONTEXT_CUSTOM_TYPE, RUNTIME_CONTEXT_END_MARKER, RUNTIME_CONTEXT_FOOTER, RUNTIME_CONTEXT_HEADER, RawModelCostConfig, RawPricingTier, RuntimeContextMessage, SimpleStreamOptions, StopReason, StreamFn, StreamFunction, StreamOptions, TextContent, TextSignatureV1, ThinkingBudgets, ThinkingContent, ThinkingLevel, ThinkingLevelMap, Tool, ToolCall, ToolResultMessage, Transport, Usage, UserMessage, ValidateToolArgumentsFn, VercelGatewayRouting, appendAssistantMessageDiagnostic, appendTextDeltaToAssistantMessage, bindsClaudeThinkingPrefix, calculateUsageCost, createAssistantMessageDiagnostic, createAssistantMessageEventStream, escapeRuntimeContextFooter, extractDiagnosticError, formatThrownValue, hasLegacyRuntimeContextEnvelope, hasRuntimeContextMarker, isProviderRefusalAssistantError, isRuntimeContextMessage, labelRuntimeContextContent, labelRuntimeContextText, normalizeModelCostConfig, normalizeResolvedPricing, readProviderRefusalReview, readRuntimeContextMetadata, requiresClaudeBetweenToolsThinking, requiresClaudeDefaultSampling, requiresClaudeMandatoryAdaptiveThinking, resolveClaudeFable5ModelIdentity, resolveClaudeHaiku55ModelIdentity, resolveClaudeModelIdentity, resolveClaudeMythos5ModelIdentity, resolveClaudeNativeThinkingLevelMap, resolveClaudeOpus55ModelIdentity, resolveClaudeOpus5ModelIdentity, resolveClaudeSonnet55ModelIdentity, resolveClaudeSonnet5ModelIdentity, runtimeContextContentToText, setRuntimeContextRetention, supportsClaude1MContext, supportsClaudeAdaptiveThinking, supportsClaudeFastMode, supportsClaudeInHistorySystemMessages, supportsClaudeNativeMaxEffort, supportsClaudeNativeXhighEffort, validateToolArguments, validateToolCall };
|
package/dist/types.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { C as supportsClaude1MContext, D as supportsClaudeNativeMaxEffort, E as supportsClaudeInHistorySystemMessages, O as supportsClaudeNativeXhighEffort, S as resolveClaudeSonnet5ModelIdentity, T as supportsClaudeFastMode, _ as resolveClaudeMythos5ModelIdentity, a as CLAUDE_HAIKU_55_THINKING_PROFILE, b as resolveClaudeOpus5ModelIdentity, c as CLAUDE_SONNET_55_THINKING_PROFILE, d as requiresClaudeBetweenToolsThinking, f as requiresClaudeDefaultSampling, g as resolveClaudeModelIdentity, h as resolveClaudeHaiku55ModelIdentity, i as CLAUDE_FABLE_5_THINKING_PROFILE, l as CLAUDE_SONNET_5_THINKING_PROFILE, m as resolveClaudeFable5ModelIdentity, n as normalizeModelCostConfig, o as CLAUDE_OPUS_55_THINKING_PROFILE, p as requiresClaudeMandatoryAdaptiveThinking, r as normalizeResolvedPricing, s as CLAUDE_OPUS_5_THINKING_PROFILE, t as calculateUsageCost, u as bindsClaudeThinkingPrefix, v as resolveClaudeNativeThinkingLevelMap, w as supportsClaudeAdaptiveThinking, x as resolveClaudeSonnet55ModelIdentity, y as resolveClaudeOpus55ModelIdentity } from "./src-
|
|
1
|
+
import { C as supportsClaude1MContext, D as supportsClaudeNativeMaxEffort, E as supportsClaudeInHistorySystemMessages, O as supportsClaudeNativeXhighEffort, S as resolveClaudeSonnet5ModelIdentity, T as supportsClaudeFastMode, _ as resolveClaudeMythos5ModelIdentity, a as CLAUDE_HAIKU_55_THINKING_PROFILE, b as resolveClaudeOpus5ModelIdentity, c as CLAUDE_SONNET_55_THINKING_PROFILE, d as requiresClaudeBetweenToolsThinking, f as requiresClaudeDefaultSampling, g as resolveClaudeModelIdentity, h as resolveClaudeHaiku55ModelIdentity, i as CLAUDE_FABLE_5_THINKING_PROFILE, l as CLAUDE_SONNET_5_THINKING_PROFILE, m as resolveClaudeFable5ModelIdentity, n as normalizeModelCostConfig, o as CLAUDE_OPUS_55_THINKING_PROFILE, p as requiresClaudeMandatoryAdaptiveThinking, r as normalizeResolvedPricing, s as CLAUDE_OPUS_5_THINKING_PROFILE, t as calculateUsageCost, u as bindsClaudeThinkingPrefix, v as resolveClaudeNativeThinkingLevelMap, w as supportsClaudeAdaptiveThinking, x as resolveClaudeSonnet55ModelIdentity, y as resolveClaudeOpus55ModelIdentity } from "./src-C_wfIUmV.mjs";
|
|
2
2
|
import { _ as runtimeContextContentToText, a as RUNTIME_CONTEXT_BEGIN_MARKER, c as RUNTIME_CONTEXT_FOOTER, d as hasLegacyRuntimeContextEnvelope, f as hasRuntimeContextMarker, g as readRuntimeContextMetadata, h as labelRuntimeContextText, i as PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE, l as RUNTIME_CONTEXT_HEADER, m as labelRuntimeContextContent, n as MALFORMED_TOOL_CALL_ARGUMENTS_ERROR_CODE, o as RUNTIME_CONTEXT_CUSTOM_TYPE, p as isRuntimeContextMessage, r as PROVIDER_FAILURE_WITH_OUTPUT_ERROR_CODE, s as RUNTIME_CONTEXT_END_MARKER, t as DEFAULT_MISSING_TOOL_RESULT_TEXT, u as escapeRuntimeContextFooter, v as setRuntimeContextRetention } from "./types-CQc6JNG4.mjs";
|
|
3
|
+
import { t as appendTextDeltaToAssistantMessage } from "./assistant-message-events-CHMJgbhs.mjs";
|
|
3
4
|
import { a as isProviderRefusalAssistantError, i as formatThrownValue, n as createAssistantMessageDiagnostic, o as readProviderRefusalReview, r as extractDiagnosticError, t as appendAssistantMessageDiagnostic } from "./diagnostics-DzrF1h4J.mjs";
|
|
4
|
-
import { a as createAssistantMessageEventStream, n as EventStream, t as AssistantMessageEventStream } from "./event-stream-
|
|
5
|
-
import { n as validateToolCall, t as validateToolArguments } from "./validation-
|
|
6
|
-
export { AssistantMessageEventStream, CLAUDE_FABLE_5_THINKING_PROFILE, CLAUDE_HAIKU_55_THINKING_PROFILE, CLAUDE_OPUS_55_THINKING_PROFILE, CLAUDE_OPUS_5_THINKING_PROFILE, CLAUDE_SONNET_55_THINKING_PROFILE, CLAUDE_SONNET_5_THINKING_PROFILE, DEFAULT_MISSING_TOOL_RESULT_TEXT, EventStream, MALFORMED_TOOL_CALL_ARGUMENTS_ERROR_CODE, PROVIDER_FAILURE_WITH_OUTPUT_ERROR_CODE, PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE, RUNTIME_CONTEXT_BEGIN_MARKER, RUNTIME_CONTEXT_CUSTOM_TYPE, RUNTIME_CONTEXT_END_MARKER, RUNTIME_CONTEXT_FOOTER, RUNTIME_CONTEXT_HEADER, appendAssistantMessageDiagnostic, bindsClaudeThinkingPrefix, calculateUsageCost, createAssistantMessageDiagnostic, createAssistantMessageEventStream, escapeRuntimeContextFooter, extractDiagnosticError, formatThrownValue, hasLegacyRuntimeContextEnvelope, hasRuntimeContextMarker, isProviderRefusalAssistantError, isRuntimeContextMessage, labelRuntimeContextContent, labelRuntimeContextText, normalizeModelCostConfig, normalizeResolvedPricing, readProviderRefusalReview, readRuntimeContextMetadata, requiresClaudeBetweenToolsThinking, requiresClaudeDefaultSampling, requiresClaudeMandatoryAdaptiveThinking, resolveClaudeFable5ModelIdentity, resolveClaudeHaiku55ModelIdentity, resolveClaudeModelIdentity, resolveClaudeMythos5ModelIdentity, resolveClaudeNativeThinkingLevelMap, resolveClaudeOpus55ModelIdentity, resolveClaudeOpus5ModelIdentity, resolveClaudeSonnet55ModelIdentity, resolveClaudeSonnet5ModelIdentity, runtimeContextContentToText, setRuntimeContextRetention, supportsClaude1MContext, supportsClaudeAdaptiveThinking, supportsClaudeFastMode, supportsClaudeInHistorySystemMessages, supportsClaudeNativeMaxEffort, supportsClaudeNativeXhighEffort, validateToolArguments, validateToolCall };
|
|
5
|
+
import { a as createAssistantMessageEventStream, n as EventStream, t as AssistantMessageEventStream } from "./event-stream-X2gmsUWv.mjs";
|
|
6
|
+
import { n as validateToolCall, t as validateToolArguments } from "./validation-opC2pjk9.mjs";
|
|
7
|
+
export { AssistantMessageEventStream, CLAUDE_FABLE_5_THINKING_PROFILE, CLAUDE_HAIKU_55_THINKING_PROFILE, CLAUDE_OPUS_55_THINKING_PROFILE, CLAUDE_OPUS_5_THINKING_PROFILE, CLAUDE_SONNET_55_THINKING_PROFILE, CLAUDE_SONNET_5_THINKING_PROFILE, DEFAULT_MISSING_TOOL_RESULT_TEXT, EventStream, MALFORMED_TOOL_CALL_ARGUMENTS_ERROR_CODE, PROVIDER_FAILURE_WITH_OUTPUT_ERROR_CODE, PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE, RUNTIME_CONTEXT_BEGIN_MARKER, RUNTIME_CONTEXT_CUSTOM_TYPE, RUNTIME_CONTEXT_END_MARKER, RUNTIME_CONTEXT_FOOTER, RUNTIME_CONTEXT_HEADER, appendAssistantMessageDiagnostic, appendTextDeltaToAssistantMessage, bindsClaudeThinkingPrefix, calculateUsageCost, createAssistantMessageDiagnostic, createAssistantMessageEventStream, escapeRuntimeContextFooter, extractDiagnosticError, formatThrownValue, hasLegacyRuntimeContextEnvelope, hasRuntimeContextMarker, isProviderRefusalAssistantError, isRuntimeContextMessage, labelRuntimeContextContent, labelRuntimeContextText, normalizeModelCostConfig, normalizeResolvedPricing, readProviderRefusalReview, readRuntimeContextMetadata, requiresClaudeBetweenToolsThinking, requiresClaudeDefaultSampling, requiresClaudeMandatoryAdaptiveThinking, resolveClaudeFable5ModelIdentity, resolveClaudeHaiku55ModelIdentity, resolveClaudeModelIdentity, resolveClaudeMythos5ModelIdentity, resolveClaudeNativeThinkingLevelMap, resolveClaudeOpus55ModelIdentity, resolveClaudeOpus5ModelIdentity, resolveClaudeSonnet55ModelIdentity, resolveClaudeSonnet5ModelIdentity, runtimeContextContentToText, setRuntimeContextRetention, supportsClaude1MContext, supportsClaudeAdaptiveThinking, supportsClaudeFastMode, supportsClaudeInHistorySystemMessages, supportsClaudeNativeMaxEffort, supportsClaudeNativeXhighEffort, validateToolArguments, validateToolCall };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { lt as Tool, ut as ToolCall } from "./types-
|
|
1
|
+
import { lt as Tool, ut as ToolCall } from "./types-Bd2T86VJ.mjs";
|
|
2
2
|
//#region packages/llm-core/src/validation.d.ts
|
|
3
3
|
/** Finds the target tool and validates/coerces a model-emitted tool call. */
|
|
4
4
|
declare function validateToolCall(tools: Tool[], toolCall: ToolCall): unknown;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as parseLocalSchemaRefPointer } from "./json-schema-Bp07Qui3.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { o as parseStrictFiniteNumber } from "./number-coercion-C3hztWoY.mjs";
|
|
3
3
|
import { Pointer } from "typebox/schema";
|
|
4
4
|
import { Compile } from "typebox/compile";
|
|
5
5
|
//#region packages/llm-core/src/validation.ts
|
|
@@ -141,8 +141,7 @@ function coerceWithJsonSchema(value, schema, contextRoot, refs) {
|
|
|
141
141
|
nextValue = coerceWithJsonSchema(nextValue, target, root, nextRefs);
|
|
142
142
|
}
|
|
143
143
|
if (Array.isArray(schema.allOf)) for (const nested of schema.allOf) nextValue = coerceWithJsonSchema(nextValue, nested, root, refs);
|
|
144
|
-
if (Array.isArray(schema
|
|
145
|
-
if (Array.isArray(schema.oneOf)) nextValue = coerceWithUnionSchema(nextValue, schema.oneOf, root, refs);
|
|
144
|
+
for (const keyword of ["anyOf", "oneOf"]) if (Array.isArray(schema[keyword])) nextValue = coerceWithUnionSchema(nextValue, schema[keyword], root, refs);
|
|
146
145
|
const schemaTypes = getSchemaTypes(schema, root);
|
|
147
146
|
const matchesUnionMember = schemaTypes.length > 1 && schemaTypes.some((schemaType) => matchesJsonType(nextValue, schemaType));
|
|
148
147
|
if (schemaTypes.length > 0 && !matchesUnionMember) for (const schemaType of schemaTypes) {
|
package/dist/validation.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as validateToolCall, t as validateToolArguments } from "./validation-
|
|
1
|
+
import { n as validateToolCall, t as validateToolArguments } from "./validation-DdGB1yy3.mjs";
|
|
2
2
|
export { validateToolArguments, validateToolCall };
|
package/dist/validation.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as validateToolCall, t as validateToolArguments } from "./validation-
|
|
1
|
+
import { n as validateToolCall, t as validateToolArguments } from "./validation-opC2pjk9.mjs";
|
|
2
2
|
export { validateToolArguments, validateToolCall };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/ai",
|
|
3
|
-
"version": "2026.10.1",
|
|
3
|
+
"version": "2026.10.5-beta.1",
|
|
4
4
|
"description": "Reusable model provider adapters and streaming runtime from OpenClaw",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai",
|
|
@@ -101,11 +101,6 @@
|
|
|
101
101
|
"import": "./dist/internal/retry-after.mjs",
|
|
102
102
|
"default": "./dist/internal/retry-after.mjs"
|
|
103
103
|
},
|
|
104
|
-
"./internal/env-api-keys": {
|
|
105
|
-
"types": "./dist/internal/env-api-keys.d.mts",
|
|
106
|
-
"import": "./dist/internal/env-api-keys.mjs",
|
|
107
|
-
"default": "./dist/internal/env-api-keys.mjs"
|
|
108
|
-
},
|
|
109
104
|
"./internal/runtime": {
|
|
110
105
|
"types": "./dist/internal/runtime.d.mts",
|
|
111
106
|
"import": "./dist/internal/runtime.mjs",
|
|
@@ -123,10 +118,10 @@
|
|
|
123
118
|
}
|
|
124
119
|
},
|
|
125
120
|
"dependencies": {
|
|
126
|
-
"@anthropic-ai/sdk": "0.
|
|
127
|
-
"@google/genai": "2.
|
|
121
|
+
"@anthropic-ai/sdk": "0.131.0",
|
|
122
|
+
"@google/genai": "2.25.0",
|
|
128
123
|
"@mistralai/mistralai": "2.7.0",
|
|
129
|
-
"openai": "7.
|
|
124
|
+
"openai": "7.25.0",
|
|
130
125
|
"partial-json": "0.1.7",
|
|
131
126
|
"typebox": "1.3.34"
|
|
132
127
|
},
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
//#region packages/ai/src/env-api-keys.d.ts
|
|
2
|
-
/**
|
|
3
|
-
* Find configured environment variables that can provide an API key for a provider.
|
|
4
|
-
*
|
|
5
|
-
* This only reports actual API key variables. It intentionally excludes ambient
|
|
6
|
-
* credential sources such as AWS profiles, AWS IAM credentials, and Google
|
|
7
|
-
* Application Default Credentials.
|
|
8
|
-
*/
|
|
9
|
-
declare function findEnvKeys(provider: string): string[] | undefined;
|
|
10
|
-
/**
|
|
11
|
-
* Get API key for provider from known environment variables, e.g. OPENAI_API_KEY.
|
|
12
|
-
*
|
|
13
|
-
* Will not return API keys for providers that require OAuth tokens.
|
|
14
|
-
*/
|
|
15
|
-
declare function getEnvApiKey(provider: string): string | undefined;
|
|
16
|
-
//#endregion
|
|
17
|
-
export { getEnvApiKey as n, findEnvKeys as t };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "./event-stream-DrRM_90c.mjs";
|
package/dist/google-CyMz2jF_.mjs
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { t as AssistantMessageEventStream } from "./event-stream-C5AbCAaZ.mjs";
|
|
2
|
-
import { a as resolveAiTransportHeaderSentinels, r as getAiTransportHost } from "./host-JpNulOOs.mjs";
|
|
3
|
-
import { n as buildManagedModelFetch } from "./host-policy-CC5H0iRZ.mjs";
|
|
4
|
-
import { f as mergeTransportHeaders } from "./transport-stream-shared-C5TAc3U_.mjs";
|
|
5
|
-
import { n as buildBaseOptions } from "./simple-options-wW3117Fu.mjs";
|
|
6
|
-
import { n as getEnvApiKey } from "./env-api-keys-CyX4VKGO.mjs";
|
|
7
|
-
import { t as createAssistantOutput } from "./assistant-output-mJ9cL4Qg.mjs";
|
|
8
|
-
import { n as resolveOpencodeSessionHeaders } from "./session-affinity-DA4WHv1h.mjs";
|
|
9
|
-
import { t as requireApiKey } from "./required-api-key-D4kn3252.mjs";
|
|
10
|
-
import { i as runGoogleGenerateContentLifecycle, r as buildGoogleSimpleThinking, t as buildGoogleGenerateContentParams } from "./google-shared-DE_ddfsC.mjs";
|
|
11
|
-
import { GoogleGenAI } from "@google/genai";
|
|
12
|
-
//#region packages/ai/src/providers/google.ts
|
|
13
|
-
let toolCallCounter = 0;
|
|
14
|
-
const streamGoogle = (model, context, options) => {
|
|
15
|
-
const stream = new AssistantMessageEventStream();
|
|
16
|
-
const output = createAssistantOutput(model, "google-generative-ai");
|
|
17
|
-
runGoogleGenerateContentLifecycle({
|
|
18
|
-
stream,
|
|
19
|
-
model,
|
|
20
|
-
output,
|
|
21
|
-
options,
|
|
22
|
-
createClient: () => {
|
|
23
|
-
return createClient(model, options?.apiKey || getEnvApiKey(model.provider) || "", resolveOpencodeSessionHeaders(model, options));
|
|
24
|
-
},
|
|
25
|
-
buildParams: () => buildGoogleGenerateContentParams(model, context, options),
|
|
26
|
-
nextToolCallId: (name) => `${name}_${Date.now()}_${++toolCallCounter}`
|
|
27
|
-
});
|
|
28
|
-
return stream;
|
|
29
|
-
};
|
|
30
|
-
const streamSimpleGoogle = (model, context, options) => {
|
|
31
|
-
const apiKey = requireApiKey(model.provider, options?.apiKey);
|
|
32
|
-
const base = buildBaseOptions(model, options, apiKey);
|
|
33
|
-
return streamGoogle(model, context, {
|
|
34
|
-
...base,
|
|
35
|
-
thinking: buildGoogleSimpleThinking(model, options)
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
function createClient(model, apiKey, optionsHeaders) {
|
|
39
|
-
const httpOptions = {};
|
|
40
|
-
const fetcher = buildManagedModelFetch(model);
|
|
41
|
-
if (fetcher) httpOptions.fetch = fetcher;
|
|
42
|
-
if (model.baseUrl) {
|
|
43
|
-
httpOptions.baseUrl = model.baseUrl;
|
|
44
|
-
httpOptions.apiVersion = "";
|
|
45
|
-
}
|
|
46
|
-
if (model.headers || optionsHeaders) httpOptions.headers = resolveAiTransportHeaderSentinels(mergeTransportHeaders(model.headers, optionsHeaders));
|
|
47
|
-
const resolvedApiKey = apiKey ? getAiTransportHost().resolveSecretSentinel(apiKey) : void 0;
|
|
48
|
-
return new GoogleGenAI({
|
|
49
|
-
apiKey: resolvedApiKey,
|
|
50
|
-
httpOptions: Object.keys(httpOptions).length > 0 ? httpOptions : void 0
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
//#endregion
|
|
54
|
-
export { streamGoogle, streamSimpleGoogle };
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { t as AssistantMessageEventStream } from "./event-stream-C5AbCAaZ.mjs";
|
|
2
|
-
import { a as normalizeOptionalString } from "./string-coerce-CtgOVOSv.mjs";
|
|
3
|
-
import { a as resolveAiTransportHeaderSentinels, r as getAiTransportHost } from "./host-JpNulOOs.mjs";
|
|
4
|
-
import { n as buildManagedModelFetch } from "./host-policy-CC5H0iRZ.mjs";
|
|
5
|
-
import { n as buildBaseOptions } from "./simple-options-wW3117Fu.mjs";
|
|
6
|
-
import { t as createAssistantOutput } from "./assistant-output-mJ9cL4Qg.mjs";
|
|
7
|
-
import { i as runGoogleGenerateContentLifecycle, r as buildGoogleSimpleThinking, t as buildGoogleGenerateContentParams } from "./google-shared-DE_ddfsC.mjs";
|
|
8
|
-
import { GoogleGenAI, ResourceScope } from "@google/genai";
|
|
9
|
-
//#region packages/ai/src/providers/google-vertex.ts
|
|
10
|
-
const API_VERSION = "v1";
|
|
11
|
-
const GCP_VERTEX_CREDENTIALS_MARKER = "gcp-vertex-credentials";
|
|
12
|
-
let toolCallCounter = 0;
|
|
13
|
-
const streamGoogleVertex = (model, context, options) => {
|
|
14
|
-
const stream = new AssistantMessageEventStream();
|
|
15
|
-
const output = createAssistantOutput(model, "google-vertex");
|
|
16
|
-
runGoogleGenerateContentLifecycle({
|
|
17
|
-
stream,
|
|
18
|
-
model,
|
|
19
|
-
output,
|
|
20
|
-
options,
|
|
21
|
-
createClient: () => createClient(model, options),
|
|
22
|
-
buildParams: () => buildGoogleGenerateContentParams(model, context, options),
|
|
23
|
-
nextToolCallId: (name) => `${name}_${Date.now()}_${++toolCallCounter}`
|
|
24
|
-
});
|
|
25
|
-
return stream;
|
|
26
|
-
};
|
|
27
|
-
const streamSimpleGoogleVertex = (model, context, options) => {
|
|
28
|
-
const base = buildBaseOptions(model, options, void 0);
|
|
29
|
-
return streamGoogleVertex(model, context, {
|
|
30
|
-
...base,
|
|
31
|
-
thinking: buildGoogleSimpleThinking(model, options)
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
function createClient(model, options) {
|
|
35
|
-
const apiKey = resolveApiKey(options);
|
|
36
|
-
const credentials = apiKey ? { apiKey: getAiTransportHost().resolveSecretSentinel(apiKey) } : {
|
|
37
|
-
project: resolveProject(options),
|
|
38
|
-
location: resolveLocation(options)
|
|
39
|
-
};
|
|
40
|
-
return new GoogleGenAI({
|
|
41
|
-
vertexai: true,
|
|
42
|
-
...credentials,
|
|
43
|
-
apiVersion: API_VERSION,
|
|
44
|
-
httpOptions: buildHttpOptions(model, options?.headers)
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
function buildHttpOptions(model, optionsHeaders) {
|
|
48
|
-
const httpOptions = {};
|
|
49
|
-
const fetcher = buildManagedModelFetch(model);
|
|
50
|
-
if (fetcher) httpOptions.fetch = fetcher;
|
|
51
|
-
const baseUrl = resolveCustomBaseUrl(model.baseUrl);
|
|
52
|
-
if (baseUrl) {
|
|
53
|
-
httpOptions.baseUrl = baseUrl;
|
|
54
|
-
httpOptions.baseUrlResourceScope = ResourceScope.COLLECTION;
|
|
55
|
-
if (baseUrlIncludesApiVersion(baseUrl)) httpOptions.apiVersion = "";
|
|
56
|
-
}
|
|
57
|
-
if (model.headers || optionsHeaders) httpOptions.headers = resolveAiTransportHeaderSentinels({
|
|
58
|
-
...model.headers,
|
|
59
|
-
...optionsHeaders
|
|
60
|
-
});
|
|
61
|
-
return Object.keys(httpOptions).length > 0 ? httpOptions : void 0;
|
|
62
|
-
}
|
|
63
|
-
function resolveCustomBaseUrl(baseUrl) {
|
|
64
|
-
const trimmed = baseUrl.trim();
|
|
65
|
-
if (!trimmed || trimmed.includes("{location}")) return;
|
|
66
|
-
return trimmed;
|
|
67
|
-
}
|
|
68
|
-
function baseUrlIncludesApiVersion(baseUrl) {
|
|
69
|
-
const url = URL.parse(baseUrl);
|
|
70
|
-
return url ? url.pathname.split("/").some((part) => /^v\d+(?:beta\d*)?$/.test(part)) : /(?:^|\/)v\d+(?:beta\d*)?(?:\/|$)/.test(baseUrl);
|
|
71
|
-
}
|
|
72
|
-
function resolveApiKey(options) {
|
|
73
|
-
const apiKey = options?.apiKey?.trim() || process.env.GOOGLE_CLOUD_API_KEY?.trim();
|
|
74
|
-
if (!apiKey || apiKey === GCP_VERTEX_CREDENTIALS_MARKER || /^<[^>]+>$/.test(apiKey)) return;
|
|
75
|
-
return apiKey;
|
|
76
|
-
}
|
|
77
|
-
function resolveProject(options) {
|
|
78
|
-
const project = normalizeOptionalString(options?.project) || normalizeOptionalString(process.env.GOOGLE_CLOUD_PROJECT) || normalizeOptionalString(process.env.GCLOUD_PROJECT);
|
|
79
|
-
if (!project) throw new Error("Vertex AI requires a project ID. Set GOOGLE_CLOUD_PROJECT/GCLOUD_PROJECT or pass project in options.");
|
|
80
|
-
return project;
|
|
81
|
-
}
|
|
82
|
-
function resolveLocation(options) {
|
|
83
|
-
const location = normalizeOptionalString(options?.location) || normalizeOptionalString(process.env.GOOGLE_CLOUD_LOCATION);
|
|
84
|
-
if (!location) throw new Error("Vertex AI requires a location. Set GOOGLE_CLOUD_LOCATION or pass location in options.");
|
|
85
|
-
return location;
|
|
86
|
-
}
|
|
87
|
-
//#endregion
|
|
88
|
-
export { streamGoogleVertex, streamSimpleGoogleVertex };
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { o as isRecord } from "./record-coerce-CNDovvft.mjs";
|
|
2
|
-
//#region packages/ai/src/transports/openai-responses-request-lifecycle.ts
|
|
3
|
-
const lifecycleKey = Symbol("openclaw.responsesRequestLifecycle");
|
|
4
|
-
/** Private transport carrier: serialized options cannot mint host authority. */
|
|
5
|
-
const responsesRequestLifecycle = {
|
|
6
|
-
set(options, lifecycle) {
|
|
7
|
-
Object.defineProperty(options, lifecycleKey, {
|
|
8
|
-
value: lifecycle,
|
|
9
|
-
enumerable: true
|
|
10
|
-
});
|
|
11
|
-
},
|
|
12
|
-
get(options) {
|
|
13
|
-
if (!options) return;
|
|
14
|
-
return Reflect.get(options, lifecycleKey);
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
/** A transport receipt must settle before model output can authorize later work. */
|
|
18
|
-
function withResponsesRequestAcceptance(events, lifecycle, signal) {
|
|
19
|
-
if (!lifecycle) return events;
|
|
20
|
-
return { async *[Symbol.asyncIterator]() {
|
|
21
|
-
for await (const event of events) {
|
|
22
|
-
if (isRecord(event) && event.type === "response.created") {
|
|
23
|
-
const response = isRecord(event.response) ? event.response : void 0;
|
|
24
|
-
if (typeof response?.id !== "string" || !response.id.trim()) throw new Error("Provider continuation response has no identity");
|
|
25
|
-
signal?.throwIfAborted();
|
|
26
|
-
lifecycle.assertCurrent();
|
|
27
|
-
await lifecycle.accepted(response.id, signal);
|
|
28
|
-
signal?.throwIfAborted();
|
|
29
|
-
lifecycle.assertCurrent();
|
|
30
|
-
}
|
|
31
|
-
yield event;
|
|
32
|
-
}
|
|
33
|
-
} };
|
|
34
|
-
}
|
|
35
|
-
//#endregion
|
|
36
|
-
export { withResponsesRequestAcceptance as n, responsesRequestLifecycle as t };
|