@absolutejs/ai 0.0.50 → 0.0.52
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 +84 -15
- package/dist/ai/client/index.js +30 -1
- package/dist/ai/client/index.js.map +5 -5
- package/dist/ai/index.js +753 -62
- package/dist/ai/index.js.map +15 -15
- package/dist/ai/providers/anthropic.js +100 -25
- package/dist/ai/providers/anthropic.js.map +5 -5
- package/dist/ai/providers/gemini.js +5 -2
- package/dist/ai/providers/gemini.js.map +4 -4
- package/dist/ai/providers/ollama.js +5 -2
- package/dist/ai/providers/ollama.js.map +4 -4
- package/dist/ai/providers/openai.js +56 -10
- package/dist/ai/providers/openai.js.map +5 -5
- package/dist/ai/providers/openaiCompatible.js +56 -10
- package/dist/ai/providers/openaiCompatible.js.map +5 -5
- package/dist/ai/providers/openaiResponses.js +100 -16
- package/dist/ai/providers/openaiResponses.js.map +5 -5
- package/dist/ai/providers/openrouter.js +1111 -45
- package/dist/ai/providers/openrouter.js.map +10 -9
- package/dist/angular/ai/index.js +30 -1
- package/dist/angular/ai/index.js.map +5 -5
- package/dist/react/ai/index.js +30 -1
- package/dist/react/ai/index.js.map +5 -5
- package/dist/src/ai/client/actions.d.ts +53 -0
- package/dist/src/ai/errors/providerError.d.ts +3 -0
- package/dist/src/ai/index.d.ts +2 -2
- package/dist/src/ai/providers/openrouter.d.ts +56 -3
- package/dist/src/ai/providers/openrouterClient.d.ts +495 -9
- package/dist/src/ai/streamAIWithTools.d.ts +6 -0
- package/dist/svelte/ai/index.js +30 -1
- package/dist/svelte/ai/index.js.map +5 -5
- package/dist/types/ai.d.ts +54 -3
- package/dist/types/anthropic.d.ts +13 -5
- package/dist/vue/ai/index.js +30 -1
- package/dist/vue/ai/index.js.map +5 -5
- package/package.json +1 -1
|
@@ -13,6 +13,8 @@ export declare const serverMessageToAction: (message: AIServerMessage) => {
|
|
|
13
13
|
imageId?: undefined;
|
|
14
14
|
isPartial?: undefined;
|
|
15
15
|
revisedPrompt?: undefined;
|
|
16
|
+
audioId?: undefined;
|
|
17
|
+
transcript?: undefined;
|
|
16
18
|
durationMs?: undefined;
|
|
17
19
|
model?: undefined;
|
|
18
20
|
sources?: undefined;
|
|
@@ -42,6 +44,8 @@ export declare const serverMessageToAction: (message: AIServerMessage) => {
|
|
|
42
44
|
imageId?: undefined;
|
|
43
45
|
isPartial?: undefined;
|
|
44
46
|
revisedPrompt?: undefined;
|
|
47
|
+
audioId?: undefined;
|
|
48
|
+
transcript?: undefined;
|
|
45
49
|
durationMs?: undefined;
|
|
46
50
|
model?: undefined;
|
|
47
51
|
sources?: undefined;
|
|
@@ -71,6 +75,8 @@ export declare const serverMessageToAction: (message: AIServerMessage) => {
|
|
|
71
75
|
imageId?: undefined;
|
|
72
76
|
isPartial?: undefined;
|
|
73
77
|
revisedPrompt?: undefined;
|
|
78
|
+
audioId?: undefined;
|
|
79
|
+
transcript?: undefined;
|
|
74
80
|
durationMs?: undefined;
|
|
75
81
|
model?: undefined;
|
|
76
82
|
sources?: undefined;
|
|
@@ -100,6 +106,39 @@ export declare const serverMessageToAction: (message: AIServerMessage) => {
|
|
|
100
106
|
name?: undefined;
|
|
101
107
|
result?: undefined;
|
|
102
108
|
status?: undefined;
|
|
109
|
+
audioId?: undefined;
|
|
110
|
+
transcript?: undefined;
|
|
111
|
+
durationMs?: undefined;
|
|
112
|
+
model?: undefined;
|
|
113
|
+
sources?: undefined;
|
|
114
|
+
usage?: undefined;
|
|
115
|
+
position?: undefined;
|
|
116
|
+
attachments?: undefined;
|
|
117
|
+
fromMessageId?: undefined;
|
|
118
|
+
mode?: undefined;
|
|
119
|
+
newConversationId?: undefined;
|
|
120
|
+
oldConversationId?: undefined;
|
|
121
|
+
retrievalStartedAt?: undefined;
|
|
122
|
+
retrievalDurationMs?: undefined;
|
|
123
|
+
retrievedAt?: undefined;
|
|
124
|
+
trace?: undefined;
|
|
125
|
+
message?: undefined;
|
|
126
|
+
} | {
|
|
127
|
+
audioId: string | undefined;
|
|
128
|
+
conversationId: string;
|
|
129
|
+
data: string;
|
|
130
|
+
format: string;
|
|
131
|
+
messageId: string;
|
|
132
|
+
transcript: string | undefined;
|
|
133
|
+
type: "audio";
|
|
134
|
+
content?: undefined;
|
|
135
|
+
input?: undefined;
|
|
136
|
+
name?: undefined;
|
|
137
|
+
result?: undefined;
|
|
138
|
+
status?: undefined;
|
|
139
|
+
imageId?: undefined;
|
|
140
|
+
isPartial?: undefined;
|
|
141
|
+
revisedPrompt?: undefined;
|
|
103
142
|
durationMs?: undefined;
|
|
104
143
|
model?: undefined;
|
|
105
144
|
sources?: undefined;
|
|
@@ -133,6 +172,8 @@ export declare const serverMessageToAction: (message: AIServerMessage) => {
|
|
|
133
172
|
imageId?: undefined;
|
|
134
173
|
isPartial?: undefined;
|
|
135
174
|
revisedPrompt?: undefined;
|
|
175
|
+
audioId?: undefined;
|
|
176
|
+
transcript?: undefined;
|
|
136
177
|
position?: undefined;
|
|
137
178
|
attachments?: undefined;
|
|
138
179
|
fromMessageId?: undefined;
|
|
@@ -159,6 +200,8 @@ export declare const serverMessageToAction: (message: AIServerMessage) => {
|
|
|
159
200
|
imageId?: undefined;
|
|
160
201
|
isPartial?: undefined;
|
|
161
202
|
revisedPrompt?: undefined;
|
|
203
|
+
audioId?: undefined;
|
|
204
|
+
transcript?: undefined;
|
|
162
205
|
durationMs?: undefined;
|
|
163
206
|
model?: undefined;
|
|
164
207
|
sources?: undefined;
|
|
@@ -187,6 +230,8 @@ export declare const serverMessageToAction: (message: AIServerMessage) => {
|
|
|
187
230
|
imageId?: undefined;
|
|
188
231
|
isPartial?: undefined;
|
|
189
232
|
revisedPrompt?: undefined;
|
|
233
|
+
audioId?: undefined;
|
|
234
|
+
transcript?: undefined;
|
|
190
235
|
durationMs?: undefined;
|
|
191
236
|
model?: undefined;
|
|
192
237
|
sources?: undefined;
|
|
@@ -221,6 +266,8 @@ export declare const serverMessageToAction: (message: AIServerMessage) => {
|
|
|
221
266
|
imageId?: undefined;
|
|
222
267
|
isPartial?: undefined;
|
|
223
268
|
revisedPrompt?: undefined;
|
|
269
|
+
audioId?: undefined;
|
|
270
|
+
transcript?: undefined;
|
|
224
271
|
durationMs?: undefined;
|
|
225
272
|
model?: undefined;
|
|
226
273
|
sources?: undefined;
|
|
@@ -246,6 +293,8 @@ export declare const serverMessageToAction: (message: AIServerMessage) => {
|
|
|
246
293
|
imageId?: undefined;
|
|
247
294
|
isPartial?: undefined;
|
|
248
295
|
revisedPrompt?: undefined;
|
|
296
|
+
audioId?: undefined;
|
|
297
|
+
transcript?: undefined;
|
|
249
298
|
durationMs?: undefined;
|
|
250
299
|
model?: undefined;
|
|
251
300
|
sources?: undefined;
|
|
@@ -279,6 +328,8 @@ export declare const serverMessageToAction: (message: AIServerMessage) => {
|
|
|
279
328
|
imageId?: undefined;
|
|
280
329
|
isPartial?: undefined;
|
|
281
330
|
revisedPrompt?: undefined;
|
|
331
|
+
audioId?: undefined;
|
|
332
|
+
transcript?: undefined;
|
|
282
333
|
durationMs?: undefined;
|
|
283
334
|
model?: undefined;
|
|
284
335
|
usage?: undefined;
|
|
@@ -304,6 +355,8 @@ export declare const serverMessageToAction: (message: AIServerMessage) => {
|
|
|
304
355
|
imageId?: undefined;
|
|
305
356
|
isPartial?: undefined;
|
|
306
357
|
revisedPrompt?: undefined;
|
|
358
|
+
audioId?: undefined;
|
|
359
|
+
transcript?: undefined;
|
|
307
360
|
durationMs?: undefined;
|
|
308
361
|
model?: undefined;
|
|
309
362
|
sources?: undefined;
|
|
@@ -9,6 +9,8 @@ export type ProviderErrorInit = {
|
|
|
9
9
|
type?: string | null;
|
|
10
10
|
retryable: boolean;
|
|
11
11
|
cause?: unknown;
|
|
12
|
+
/** Provider-native structured details, when the response exposes them. */
|
|
13
|
+
metadata?: Record<string, unknown>;
|
|
12
14
|
};
|
|
13
15
|
export declare class ProviderError extends Error {
|
|
14
16
|
readonly provider: string;
|
|
@@ -17,6 +19,7 @@ export declare class ProviderError extends Error {
|
|
|
17
19
|
readonly type: string | null;
|
|
18
20
|
/** Whether retrying the same request later could plausibly succeed. */
|
|
19
21
|
readonly retryable: boolean;
|
|
22
|
+
readonly metadata: Record<string, unknown> | undefined;
|
|
20
23
|
/** Provider status page, when known — for surfacing "is it them?" to users. */
|
|
21
24
|
readonly statusPageUrl: string | null;
|
|
22
25
|
constructor(init: ProviderErrorInit);
|
package/dist/src/ai/index.d.ts
CHANGED
|
@@ -24,8 +24,8 @@ export { gemini } from "./providers/gemini";
|
|
|
24
24
|
export { anthropic } from "./providers/anthropic";
|
|
25
25
|
export { ollama } from "./providers/ollama";
|
|
26
26
|
export { openai } from "./providers/openai";
|
|
27
|
-
export { createOpenRouterClient, openrouter, openrouterResponses, openRouterModelMatchesRule, } from "./providers/openrouter";
|
|
28
|
-
export type { OpenRouterClient, OpenRouterClientConfig, OpenRouterConfig, OpenRouterDataCollection, OpenRouterEmbeddingRequest, OpenRouterEmbeddingResponse, OpenRouterHttpRequestOptions, OpenRouterImageRequest, OpenRouterImageResponse, OpenRouterMaxPrice, OpenRouterModel, OpenRouterModelList, OpenRouterPerformancePreference, OpenRouterPlugin, OpenRouterProviderRouting, OpenRouterQuantization, OpenRouterRequestOptions, OpenRouterRerankRequest, OpenRouterRerankResponse, OpenRouterResponseCache, OpenRouterResponsesRequest, OpenRouterServerTool, OpenRouterServiceTier, OpenRouterSpeechRequest, OpenRouterSort, OpenRouterSortStrategy, OpenRouterTranscriptionRequest, OpenRouterVideoRequest, } from "./providers/openrouter";
|
|
27
|
+
export { createOpenRouterAuthorizationUrl, createOpenRouterClient, createOpenRouterKeyLinks, estimateOpenRouterCost, estimateOpenRouterModelCost, exchangeOpenRouterAuthCode, generateOpenRouterPKCE, openrouter, openrouterMessages, openrouterResponses, openRouterModelMatchesRule, verifyOpenRouterWebhookSignature, } from "./providers/openrouter";
|
|
28
|
+
export type { OpenRouterActivityItem, OpenRouterActivityQuery, OpenRouterAnalyticsMeta, OpenRouterAnalyticsQuery, OpenRouterAnalyticsResponse, OpenRouterAuthCodeExchangeRequest, OpenRouterAuthCodeExchangeResponse, OpenRouterAutoRouterCostTier, OpenRouterAutoRouterPlugin, OpenRouterAuthorizationUrlOptions, OpenRouterBatch, OpenRouterBatchEndpoint, OpenRouterBatchRequest, OpenRouterBatchResult, OpenRouterBatchStatus, OpenRouterClient, OpenRouterClientConfig, OpenRouterConfig, OpenRouterCostEstimate, OpenRouterCostUnits, OpenRouterCreateAuthCodeRequest, OpenRouterCreateAuthCodeResponse, OpenRouterCreateBatchRequest, OpenRouterCreateWorkspaceRequest, OpenRouterDataCollection, OpenRouterEmbeddingRequest, OpenRouterEmbeddingResponse, OpenRouterFile, OpenRouterFileList, OpenRouterHttpRequestOptions, OpenRouterImageModelEndpoint, OpenRouterImageModelEndpoints, OpenRouterImageRequest, OpenRouterImageResponse, OpenRouterImageStreamEvent, OpenRouterMaxPrice, OpenRouterModel, OpenRouterModelList, OpenRouterModelQuery, OpenRouterPerformancePreference, OpenRouterPlugin, OpenRouterPKCE, OpenRouterPreset, OpenRouterPresetInferenceRequest, OpenRouterPresetResponse, OpenRouterPresetVersion, OpenRouterPresetVersionResponse, OpenRouterPricing, OpenRouterPricingKey, OpenRouterProviderRouting, OpenRouterQuantization, OpenRouterRequestOptions, OpenRouterRerankRequest, OpenRouterRerankResponse, OpenRouterResponseCache, OpenRouterResponsesRequest, OpenRouterServerTool, OpenRouterServiceTier, OpenRouterSpeechRequest, OpenRouterSort, OpenRouterSortStrategy, OpenRouterTrace, OpenRouterTaskClassifications, OpenRouterTranscriptionRequest, OpenRouterTranscriptionResponse, OpenRouterVideoJob, OpenRouterVideoRequest, OpenRouterVideoWebhookEvent, OpenRouterWorkspace, OpenRouterWorkspaceBudget, OpenRouterWorkspaceBudgetInterval, OpenRouterWorkspaceMember, OpenRouterWorkspaceOptions, OpenRouterZdrEndpoint, } from "./providers/openrouter";
|
|
29
29
|
export { createOAuth2ClientCredentialsTokenSource } from "./providers/oauth2TokenSource";
|
|
30
30
|
export type { OAuth2ClientCredentialsConfig } from "./providers/oauth2TokenSource";
|
|
31
31
|
export { ProviderError, PROVIDER_STATUS_PAGES, providerStatusPage, } from "./errors/providerError";
|
|
@@ -44,7 +44,44 @@ export type OpenRouterResponseCache = {
|
|
|
44
44
|
/** OpenRouter response-cache TTL in seconds (1-86400). */
|
|
45
45
|
ttlSeconds?: number;
|
|
46
46
|
};
|
|
47
|
-
export type
|
|
47
|
+
export type OpenRouterCacheControl = {
|
|
48
|
+
type: "ephemeral";
|
|
49
|
+
ttl?: "5m" | "1h";
|
|
50
|
+
};
|
|
51
|
+
export type OpenRouterPromptCacheOptions = {
|
|
52
|
+
mode: "explicit";
|
|
53
|
+
ttl?: string;
|
|
54
|
+
};
|
|
55
|
+
export type OpenRouterReasoning = {
|
|
56
|
+
context?: "all_turns" | "auto" | "current_turn";
|
|
57
|
+
effort?: "minimal" | "low" | "medium" | "high" | "max" | "xhigh";
|
|
58
|
+
enabled?: boolean;
|
|
59
|
+
exclude?: boolean;
|
|
60
|
+
maxTokens?: number;
|
|
61
|
+
mode?: "pro";
|
|
62
|
+
summary?: "auto" | "concise" | "detailed";
|
|
63
|
+
};
|
|
64
|
+
export type OpenRouterTrace = Record<string, unknown> & {
|
|
65
|
+
generation_name?: string;
|
|
66
|
+
parent_span_id?: string;
|
|
67
|
+
span_name?: string;
|
|
68
|
+
trace_id?: string;
|
|
69
|
+
trace_name?: string;
|
|
70
|
+
};
|
|
71
|
+
export type OpenRouterAudioOutput = {
|
|
72
|
+
format: "wav" | "mp3" | "flac" | "opus" | "pcm16";
|
|
73
|
+
voice: string;
|
|
74
|
+
};
|
|
75
|
+
export type OpenRouterAutoRouterCostTier = "low" | "medium" | "high" | "xhigh" | "max";
|
|
76
|
+
export type OpenRouterAutoRouterPlugin = {
|
|
77
|
+
id: "auto-router";
|
|
78
|
+
/** Restrict Auto Router candidates; omitted means the full catalog. */
|
|
79
|
+
allowed_models?: readonly string[];
|
|
80
|
+
cost_tier?: OpenRouterAutoRouterCostTier;
|
|
81
|
+
/** Legacy numeric control. When present, OpenRouter prioritizes it over cost_tier. */
|
|
82
|
+
cost_quality_tradeoff?: number;
|
|
83
|
+
};
|
|
84
|
+
export type OpenRouterPlugin = OpenRouterAutoRouterPlugin | {
|
|
48
85
|
id: string;
|
|
49
86
|
[option: string]: unknown;
|
|
50
87
|
};
|
|
@@ -53,20 +90,34 @@ export type OpenRouterServerTool = {
|
|
|
53
90
|
parameters?: Record<string, unknown>;
|
|
54
91
|
};
|
|
55
92
|
export type OpenRouterRequestOptions = {
|
|
93
|
+
/** Stream text and synthesized audio from an audio-output chat model. */
|
|
94
|
+
audioOutput?: OpenRouterAudioOutput;
|
|
95
|
+
/** Automatic top-level prompt caching, including optional Anthropic TTL. */
|
|
96
|
+
cacheControl?: OpenRouterCacheControl;
|
|
56
97
|
/** Future OpenRouter fields. Security-sensitive routing fields are rejected. */
|
|
57
98
|
extraBody?: Record<string, unknown>;
|
|
58
99
|
fallbackModels?: readonly string[];
|
|
59
100
|
includeReasoning?: boolean;
|
|
60
101
|
maxToolCalls?: number;
|
|
102
|
+
/** Native `/messages` server-tool definitions and replayable tool shapes. */
|
|
103
|
+
messagesTools?: readonly Record<string, unknown>[];
|
|
61
104
|
plugins?: readonly OpenRouterPlugin[];
|
|
105
|
+
/** Stable cache identity used by compatible OpenAI-family models. */
|
|
106
|
+
promptCacheKey?: string;
|
|
107
|
+
/** OpenAI explicit-cache mode and TTL. */
|
|
108
|
+
promptCacheOptions?: OpenRouterPromptCacheOptions;
|
|
62
109
|
preset?: string;
|
|
63
110
|
responseCache?: OpenRouterResponseCache;
|
|
111
|
+
/** OpenRouter-native reasoning controls beyond the portable effort knob. */
|
|
112
|
+
reasoning?: OpenRouterReasoning;
|
|
64
113
|
routerMetadata?: boolean;
|
|
65
114
|
routing?: OpenRouterProviderRouting;
|
|
66
115
|
serverTools?: readonly OpenRouterServerTool[];
|
|
67
116
|
serviceTier?: OpenRouterServiceTier;
|
|
68
117
|
sessionId?: string;
|
|
69
118
|
stopServerToolsWhen?: readonly Record<string, unknown>[];
|
|
119
|
+
/** Metadata forwarded to configured OpenRouter Broadcast destinations. */
|
|
120
|
+
trace?: OpenRouterTrace;
|
|
70
121
|
transforms?: readonly string[];
|
|
71
122
|
user?: string;
|
|
72
123
|
verbosity?: "low" | "medium" | "high";
|
|
@@ -109,5 +160,7 @@ export type OpenRouterConfig = {
|
|
|
109
160
|
export declare const openrouter: (config: OpenRouterConfig) => AIProviderConfig;
|
|
110
161
|
/** OpenRouter's stateless OpenAI-compatible Responses API provider skin. */
|
|
111
162
|
export declare const openrouterResponses: (config: OpenRouterConfig) => AIProviderConfig;
|
|
112
|
-
|
|
113
|
-
export
|
|
163
|
+
/** OpenRouter provider using the native Anthropic Messages protocol skin. */
|
|
164
|
+
export declare const openrouterMessages: (config: OpenRouterConfig) => AIProviderConfig;
|
|
165
|
+
export { createOpenRouterAuthorizationUrl, createOpenRouterClient, createOpenRouterKeyLinks, estimateOpenRouterCost, estimateOpenRouterModelCost, exchangeOpenRouterAuthCode, generateOpenRouterPKCE, openRouterModelMatchesRule, verifyOpenRouterWebhookSignature, } from "./openrouterClient";
|
|
166
|
+
export type { OpenRouterActivityItem, OpenRouterActivityQuery, OpenRouterAnalyticsMeta, OpenRouterAnalyticsQuery, OpenRouterAnalyticsResponse, OpenRouterAuthCodeExchangeRequest, OpenRouterAuthCodeExchangeResponse, OpenRouterAuthorizationUrlOptions, OpenRouterBatch, OpenRouterBatchEndpoint, OpenRouterBatchRequest, OpenRouterBatchResult, OpenRouterBatchStatus, OpenRouterClient, OpenRouterClientConfig, OpenRouterCostEstimate, OpenRouterCostUnits, OpenRouterCreateAuthCodeRequest, OpenRouterCreateAuthCodeResponse, OpenRouterCreateBatchRequest, OpenRouterCreateWorkspaceRequest, OpenRouterEmbeddingRequest, OpenRouterEmbeddingResponse, OpenRouterFile, OpenRouterFileList, OpenRouterHttpRequestOptions, OpenRouterImageModelEndpoint, OpenRouterImageModelEndpoints, OpenRouterImageRequest, OpenRouterImageResponse, OpenRouterImageStreamEvent, OpenRouterModel, OpenRouterModelList, OpenRouterModelQuery, OpenRouterPreset, OpenRouterPresetInferenceRequest, OpenRouterPresetResponse, OpenRouterPresetVersion, OpenRouterPresetVersionResponse, OpenRouterPricing, OpenRouterPricingKey, OpenRouterPKCE, OpenRouterRerankRequest, OpenRouterRerankResponse, OpenRouterResponsesRequest, OpenRouterSpeechRequest, OpenRouterTranscriptionRequest, OpenRouterTranscriptionResponse, OpenRouterTaskClassifications, OpenRouterVideoJob, OpenRouterVideoRequest, OpenRouterVideoWebhookEvent, OpenRouterWorkspace, OpenRouterWorkspaceBudget, OpenRouterWorkspaceBudgetInterval, OpenRouterWorkspaceMember, OpenRouterWorkspaceOptions, OpenRouterZdrEndpoint, } from "./openrouterClient";
|