@adriangalilea/utils 10.3.1 → 10.5.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 +1 -1
- package/dist/llm/index.d.ts +42 -2
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +77 -18
- package/dist/llm/index.js.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -795,7 +795,7 @@ Telegram's [Threaded Mode](https://telegram.org/blog/threaded-conversations) for
|
|
|
795
795
|
| `@adriangalilea/utils/bot/updates` | The pending-update queue of a webhook-less bot token, treated as the destroy-on-read resource it is (`getUpdates` with an offset CONFIRMS — destroys — everything below it). `updateQueue({ token, fetch?, apiRoot? })` → `peek({ limit? })` (webhook state + pending count + the queue head, verbatim; sends NO offset so nothing is ever confirmed — repeatable, zero risk), `count()`, `webhookInfo()`, and `drain({ onBatch, limit?, timeoutS?, quietPolls? })` — the one-chance-safe sweep: each raw batch is handed to `onBatch` (persist it somewhere durable) and AWAITED before the offset advances, because the next call is the confirmation; a crash re-delivers the unconfirmed tail on re-run, and the drain ends only after several consecutive silent long-polls, never on the first empty response. A 409 (webhook registered / competing poller) is a typed `SourcedError`, never a silent retry. Plain `fetch`, injectable for tests; no framework. |
|
|
796
796
|
| `@adriangalilea/utils/bot/inline-feedback` | Behavioral tripwire for BotFather's inline feedback probability (gates `chosen_inline_result`; defaults 0%, silently resets on bot transfer and inline-mode toggling, invisible to `getMe`): served-but-never-chosen crosses a threshold → throttled admin DM naming the exact BotFather switch. Storage injected as three ops; never throws into the answer path. |
|
|
797
797
|
| `@adriangalilea/utils/bot/coalesce` | Joins client-split inbound messages back into one. When a user pastes >4096 chars, Telegram clients fragment it into separate `message` updates with no marker. Middleware detects the burst and emits one combined event. |
|
|
798
|
-
| `@adriangalilea/utils/llm` | Multi-provider LLM caller on the Vercel AI SDK — the policy layer the SDK doesn't ship. `createLlm({ providers, health? })` → `.stream(req)` (typed events: `delta` / `reasoning` / `reset` / `tool-call` / `end`) and `.complete(req)`. **Failover:** priority-ordered across OpenAI-compatible, Anthropic-compatible, and OpenRouter endpoints; multiple keys per provider (health tracked per key fingerprint); per-key circuit breaker with exponential cool-down persisted in any KV-shaped `HealthStore`; an attempt that dies after emitting yields `reset` (discard, next candidate regenerates); empty completions count as failures. **Accounting:** tokens summed across billed attempts; `costUsd` is the ACTUAL charge (OpenRouter usage accounting via `providerMetadata`, or a `cost` field on the raw usage frame) — never a price-table estimate. **Knobs:** per-model temperature, maxTokens caps, `disableThinking` mapped to each dialect. **Tools:** AI SDK `tool()` + `toolChoice` pass through (re-exported). **Trace:** each call is a `chat` span (kind `inference`) under `log` (a logger or span you pass; the root logger otherwise), and each provider tried is an `attempt` span inside it with OpenTelemetry's gen_ai fields (provider, model, `server.address`, input, cached and output tokens), `cost_usd` when the gateway reports one, `ttft_ms` and `decode_ms`. Worker-safe; peers: `ai`, `@ai-sdk/openai-compatible`, `@ai-sdk/anthropic`, `@openrouter/ai-sdk-provider`. |
|
|
798
|
+
| `@adriangalilea/utils/llm` | Multi-provider LLM caller on the Vercel AI SDK — the policy layer the SDK doesn't ship. `createLlm({ providers, health? })` → `.stream(req)` (typed events: `delta` / `reasoning` / `reset` / `tool-call` / `end`) and `.complete(req)`. **Failover:** priority-ordered across OpenAI-compatible, Anthropic-compatible, and OpenRouter endpoints; multiple keys per provider (health tracked per key fingerprint); per-key circuit breaker with exponential cool-down persisted in any KV-shaped `HealthStore`; an attempt that dies after emitting yields `reset` (discard, next candidate regenerates); empty completions count as failures. **Accounting:** tokens summed across billed attempts; `costUsd` is the ACTUAL charge (OpenRouter usage accounting via `providerMetadata`, or a `cost` field on the raw usage frame) — never a price-table estimate. **Knobs:** per-model temperature, maxTokens caps, `disableThinking` mapped to each dialect. **Tools:** AI SDK `tool()` + `toolChoice` pass through (re-exported). **Trace:** each call is a `chat` span (kind `inference`) under `log` (a logger or span you pass; the root logger otherwise), and each provider tried is an `attempt` span inside it with OpenTelemetry's gen_ai fields (provider, model, `server.address`, input, cached and output tokens), `cost_usd` when the gateway reports one, `ttft_ms` and `decode_ms`. **Structured output:** `schema` (zod, or `jsonSchema(…, { validate })`) returns the answer parsed and validated as `object`; an answer that fails it fails its provider and the next is tried. A provider with `structuredOutputs: true` enforces the schema while decoding; otherwise the schema is stated in the instructions. **Failures:** an `LlmError` carries `failures`, one per provider tried, typed: `off-schema` (the model answered, not in the schema's shape: its `text`, and `cut` when its token cap stopped it), `empty`, or `failed` (the call itself: its message and HTTP `status`), so a caller tells an answer it can send back to the model from a server that is down. Worker-safe; peers: `ai`, `@ai-sdk/openai-compatible`, `@ai-sdk/anthropic`, `@openrouter/ai-sdk-provider`. |
|
|
799
799
|
| `@adriangalilea/utils/bot/llm` | The Telegram side of an LLM chatbot; the model side is `@adriangalilea/utils/llm`. **Output:** `streamChatReply(ctx, events, opts?)` consumes an `AsyncIterable<LlmStreamEvent>` and paints it with Telegram's native message-draft streaming (`sendMessageDraft` full-frame repaints, throttled ~1/s, keepalive under the ~30s draft TTL), then persists the finished markdown via `ctx.send`, entity-split across 4096 by `@gramio/split`. Reasoning models get a thinking phase — streams into the ephemeral draft and evaporates (`reasoning: 'preview'`, default), persists as an expandable blockquote (`'message'`), or never renders at all (`'hidden'`). Upstream `reset` (provider failover) repaints the draft from scratch. Drafts are private-chat-only (+ BotFather forum-topic mode); elsewhere the preview phase is skipped and only the final send happens. Returns `{ content, reasoning, toolCalls, usage, messages }`. The painter underneath is `@adriangalilea/utils/bot/draft` (`createDraftPreview(ctx, { render, throttleMs? })`): dependency-light (no markdown machinery), for producers that push deltas or own their per-frame rendering (plain or rich-message frames) and persist path, with `streamForensics` (render-regression + reset warnings) built in and exported standalone. **History:** `llmHistory({...})` returns `.plugin` (decorates `ctx.llm` with `.add() / .get() / .clear() / .all() / .clearAll()`, per-(user, thread) OpenAI `ChatMessage` shape, persisted in the shared session record so the menu's 🗑 Forget wipes it automatically) AND `.menuItem` (drop-in "🗑 Delete this thread" for `botMenu` — wipes the LLM history AND calls `deleteForumTopic` so the Telegram thread + all its messages disappear from the chat; falls back to history-only clear when no `threadId` is present). |
|
|
800
800
|
| `@adriangalilea/utils/metrics` | Declared counters and timings, bounded dimensions, optional actor IDs, and a schema for generic reporting. Inject a store (`store: metricsStore(driver, project)`); measurement failures are reported without rejecting calls. See Product metrics below. |
|
|
801
801
|
| `@adriangalilea/utils/metrics/sqlite` | Atomic SQLite driver, explicit provisioning schema, and inclusive UTC daily reports; libSQL is its own module (`metrics/libsql`) over the same driver shape. Connections and credentials belong to the application. |
|
package/dist/llm/index.d.ts
CHANGED
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
* else if (e.kind === 'tool-call') handle(e.toolName, e.input)
|
|
59
59
|
* }
|
|
60
60
|
*/
|
|
61
|
-
import { type ModelMessage, type ToolChoice, type ToolSet } from "ai";
|
|
61
|
+
import { type FlexibleSchema, type ModelMessage, type ToolChoice, type ToolSet } from "ai";
|
|
62
62
|
import { type Logger } from "../universal/log.js";
|
|
63
63
|
export { jsonSchema, type ModelMessage, type Tool, type ToolSet, tool, } from "ai";
|
|
64
64
|
/**
|
|
@@ -103,6 +103,12 @@ export interface ProviderConfig {
|
|
|
103
103
|
* plain OpenAI ignores unknown fields).
|
|
104
104
|
*/
|
|
105
105
|
disableThinking?: boolean;
|
|
106
|
+
/**
|
|
107
|
+
* The server enforces a JSON schema while it decodes (`response_format` of type
|
|
108
|
+
* `json_schema`), so a request's `schema` is sent to it. Without it the answer is
|
|
109
|
+
* asked for as JSON and validated after. `openai` dialect only.
|
|
110
|
+
*/
|
|
111
|
+
structuredOutputs?: boolean;
|
|
106
112
|
/**
|
|
107
113
|
* Transport override for this provider: every request to it goes through
|
|
108
114
|
* this function instead of the global fetch. How a Worker reaches an
|
|
@@ -171,6 +177,7 @@ export type LlmStreamEvent = {
|
|
|
171
177
|
} | {
|
|
172
178
|
kind: "end";
|
|
173
179
|
usage: LlmUsage | null;
|
|
180
|
+
object?: unknown;
|
|
174
181
|
};
|
|
175
182
|
export interface LlmToolCall {
|
|
176
183
|
/** The provider's id for this call: what a later turn must echo back to replay it (ds4 keys its exact-DSML replay on it). */
|
|
@@ -183,10 +190,35 @@ export interface LlmResult {
|
|
|
183
190
|
reasoning: string;
|
|
184
191
|
toolCalls: LlmToolCall[];
|
|
185
192
|
usage: LlmUsage | null;
|
|
193
|
+
/** The answer parsed and validated against `schema`, when the request gave one. */
|
|
194
|
+
object?: unknown;
|
|
186
195
|
}
|
|
196
|
+
/**
|
|
197
|
+
* Why one provider's attempt failed, typed for a caller to act on:
|
|
198
|
+
* `off-schema`, the model answered and its answer is not the schema's shape
|
|
199
|
+
* (`text` what it wrote, `cut` when its token cap stopped it before the end);
|
|
200
|
+
* `empty`, it answered nothing; `failed`, the call itself failed (the
|
|
201
|
+
* provider's words, its HTTP status when it gave one).
|
|
202
|
+
*/
|
|
203
|
+
export type LlmFailure = {
|
|
204
|
+
kind: "off-schema";
|
|
205
|
+
provider: string;
|
|
206
|
+
text: string;
|
|
207
|
+
cut: boolean;
|
|
208
|
+
} | {
|
|
209
|
+
kind: "empty";
|
|
210
|
+
provider: string;
|
|
211
|
+
} | {
|
|
212
|
+
kind: "failed";
|
|
213
|
+
provider: string;
|
|
214
|
+
message: string;
|
|
215
|
+
status?: number;
|
|
216
|
+
};
|
|
187
217
|
export declare class LlmError extends Error {
|
|
188
218
|
readonly status?: number | undefined;
|
|
189
|
-
|
|
219
|
+
/** Each provider's failure in the order tried: empty for an error before any attempt. */
|
|
220
|
+
readonly failures: LlmFailure[];
|
|
221
|
+
constructor(message: string, status?: number | undefined, failures?: LlmFailure[]);
|
|
190
222
|
}
|
|
191
223
|
export interface ChatRequest {
|
|
192
224
|
/** Single user message. Exactly one of `prompt` / `messages`. */
|
|
@@ -208,6 +240,14 @@ export interface ChatRequest {
|
|
|
208
240
|
* its body — no arbitrary fields).
|
|
209
241
|
*/
|
|
210
242
|
extraBody?: Record<string, unknown>;
|
|
243
|
+
/**
|
|
244
|
+
* The shape the answer must have: a zod schema, or `jsonSchema(schema, { validate })`.
|
|
245
|
+
* The result's `object` is the answer parsed and checked by the schema's own
|
|
246
|
+
* validation (zod's, or `validate`; a `jsonSchema` without one only parses); an answer
|
|
247
|
+
* that fails it fails that attempt, and the next provider is tried. A provider
|
|
248
|
+
* declaring `structuredOutputs` gets the schema to enforce while it decodes.
|
|
249
|
+
*/
|
|
250
|
+
schema?: FlexibleSchema<unknown>;
|
|
211
251
|
/**
|
|
212
252
|
* The logger or span this call belongs under. The call is a `chat` span there
|
|
213
253
|
* (kind `inference`), each provider tried an `attempt` span inside it, named
|
package/dist/llm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AAKH,OAAO,EAGN,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"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"}
|
package/dist/llm/index.js
CHANGED
|
@@ -61,19 +61,48 @@
|
|
|
61
61
|
import { createAnthropic } from "@ai-sdk/anthropic";
|
|
62
62
|
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
|
|
63
63
|
import { createOpenRouter } from "@openrouter/ai-sdk-provider";
|
|
64
|
-
import { APICallError, streamText, } from "ai";
|
|
64
|
+
import { APICallError, asSchema, NoObjectGeneratedError, Output, streamText, } from "ai";
|
|
65
65
|
import { log as root } from "../universal/log.js";
|
|
66
66
|
const log = root.scope("llm").scope("health");
|
|
67
67
|
// One import surface for consumers: the tool helper and its types ride along.
|
|
68
68
|
export { jsonSchema, tool, } from "ai";
|
|
69
69
|
export class LlmError extends Error {
|
|
70
70
|
status;
|
|
71
|
-
|
|
71
|
+
/** Each provider's failure in the order tried: empty for an error before any attempt. */
|
|
72
|
+
failures;
|
|
73
|
+
constructor(message, status, failures = []) {
|
|
72
74
|
super(message);
|
|
73
75
|
this.status = status;
|
|
74
76
|
this.name = "LlmError";
|
|
77
|
+
this.failures = failures;
|
|
75
78
|
}
|
|
76
79
|
}
|
|
80
|
+
/** An attempt's error as an `LlmFailure`: the AI SDK's own error for an answer
|
|
81
|
+
* that is not the schema's, which carries the text and why it stopped. */
|
|
82
|
+
function failureOf(provider, error) {
|
|
83
|
+
if (NoObjectGeneratedError.isInstance(error))
|
|
84
|
+
return {
|
|
85
|
+
kind: "off-schema",
|
|
86
|
+
provider,
|
|
87
|
+
text: error.text ?? "",
|
|
88
|
+
cut: error.finishReason === "length",
|
|
89
|
+
};
|
|
90
|
+
if (error instanceof LlmError && error.message === EMPTY)
|
|
91
|
+
return { kind: "empty", provider };
|
|
92
|
+
const status = APICallError.isInstance(error)
|
|
93
|
+
? error.statusCode
|
|
94
|
+
: error instanceof LlmError
|
|
95
|
+
? error.status
|
|
96
|
+
: undefined;
|
|
97
|
+
return {
|
|
98
|
+
kind: "failed",
|
|
99
|
+
provider,
|
|
100
|
+
message: error instanceof Error ? error.message : String(error),
|
|
101
|
+
...(status !== undefined ? { status } : {}),
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
/** An attempt that streamed no content at all. */
|
|
105
|
+
const EMPTY = "llm: empty completion";
|
|
77
106
|
const DEFAULT_MAX_TOKENS = 4096;
|
|
78
107
|
const DEFAULT_TEMPERATURE = 0.7;
|
|
79
108
|
const REQUEST_TIMEOUT_MS = 120_000;
|
|
@@ -133,6 +162,7 @@ export class Llm {
|
|
|
133
162
|
let reasoning = "";
|
|
134
163
|
const toolCalls = [];
|
|
135
164
|
let usage = null;
|
|
165
|
+
let object;
|
|
136
166
|
for await (const event of this.stream(req)) {
|
|
137
167
|
if (event.kind === "delta")
|
|
138
168
|
text += event.text;
|
|
@@ -149,10 +179,18 @@ export class Llm {
|
|
|
149
179
|
toolName: event.toolName,
|
|
150
180
|
input: event.input,
|
|
151
181
|
});
|
|
152
|
-
else if (event.kind === "end")
|
|
182
|
+
else if (event.kind === "end") {
|
|
153
183
|
usage = event.usage;
|
|
184
|
+
object = event.object;
|
|
185
|
+
}
|
|
154
186
|
}
|
|
155
|
-
return {
|
|
187
|
+
return {
|
|
188
|
+
text: text.trim(),
|
|
189
|
+
reasoning: reasoning.trim(),
|
|
190
|
+
toolCalls,
|
|
191
|
+
usage,
|
|
192
|
+
...(req.schema ? { object } : {}),
|
|
193
|
+
};
|
|
156
194
|
}
|
|
157
195
|
/**
|
|
158
196
|
* Stream one response with failover. Attempts candidates in priority order
|
|
@@ -194,6 +232,7 @@ export class Llm {
|
|
|
194
232
|
}
|
|
195
233
|
async *failover(req, span) {
|
|
196
234
|
const errors = [];
|
|
235
|
+
const failures = [];
|
|
197
236
|
const queue = await this.buildQueue(errors);
|
|
198
237
|
let preferId;
|
|
199
238
|
let totalPrompt = 0;
|
|
@@ -235,6 +274,7 @@ export class Llm {
|
|
|
235
274
|
model: provider.defaultModel,
|
|
236
275
|
}
|
|
237
276
|
: null,
|
|
277
|
+
...(req.schema ? { object: attempt.object } : {}),
|
|
238
278
|
};
|
|
239
279
|
return;
|
|
240
280
|
}
|
|
@@ -247,6 +287,7 @@ export class Llm {
|
|
|
247
287
|
? attempt.error.message
|
|
248
288
|
: String(attempt.error);
|
|
249
289
|
errors.push(`${provider.id}: ${msg}`);
|
|
290
|
+
failures.push(failureOf(provider.id, attempt.error));
|
|
250
291
|
await this.recordFailure(keyId(provider), provider.id, health, classifyError(attempt.error), attempt.error);
|
|
251
292
|
// Whatever this attempt painted is now stale; order a repaint before
|
|
252
293
|
// the next attempt streams a fresh response.
|
|
@@ -256,7 +297,7 @@ export class Llm {
|
|
|
256
297
|
}
|
|
257
298
|
if (errors.length === 0)
|
|
258
299
|
throw new LlmError("llm: all providers unavailable (disabled or cooling down after failures)");
|
|
259
|
-
throw new LlmError(`llm: all providers failed: ${errors.join("; ")}
|
|
300
|
+
throw new LlmError(`llm: all providers failed: ${errors.join("; ")}`, undefined, failures);
|
|
260
301
|
}
|
|
261
302
|
// One provider attempt as a span: where it went, how long until its first token
|
|
262
303
|
// (the prompt's processing, network included), how long it decoded after it, and
|
|
@@ -303,24 +344,30 @@ export class Llm {
|
|
|
303
344
|
let emitted = false;
|
|
304
345
|
let sawContent = false;
|
|
305
346
|
let usage = null;
|
|
347
|
+
/** The answer parsed against the request's schema, settled once the stream ends. */
|
|
348
|
+
let parsed;
|
|
306
349
|
try {
|
|
307
|
-
// A
|
|
308
|
-
//
|
|
309
|
-
const
|
|
310
|
-
|
|
311
|
-
req.
|
|
312
|
-
|
|
313
|
-
]
|
|
314
|
-
.filter((
|
|
350
|
+
// A server that enforces no schema is only asked for JSON (the provider drops
|
|
351
|
+
// the schema with a warning): the shape is stated in the instructions instead
|
|
352
|
+
const stated = req.schema &&
|
|
353
|
+
!(dialectOf(provider) === "openai" && provider.structuredOutputs)
|
|
354
|
+
? `Answer with one JSON object only, matching this JSON Schema:\n${JSON.stringify(await asSchema(req.schema).jsonSchema)}`
|
|
355
|
+
: "";
|
|
356
|
+
const instructions = [req.instructions, stated]
|
|
357
|
+
.filter((t) => t)
|
|
315
358
|
.join("\n\n");
|
|
316
359
|
const result = streamText({
|
|
317
360
|
model: this.modelFor(provider, req),
|
|
318
361
|
...(req.prompt !== undefined
|
|
319
362
|
? { prompt: req.prompt }
|
|
320
|
-
: {
|
|
321
|
-
|
|
322
|
-
|
|
363
|
+
: { messages: req.messages }),
|
|
364
|
+
// A conversation in the OpenAI shape carries its system text as messages,
|
|
365
|
+
// sometimes after the first turn: kept where it is
|
|
366
|
+
allowSystemInMessages: true,
|
|
323
367
|
...(instructions ? { instructions } : {}),
|
|
368
|
+
...(req.schema
|
|
369
|
+
? { output: Output.object({ schema: req.schema }) }
|
|
370
|
+
: {}),
|
|
324
371
|
temperature: resolveTemperature(provider),
|
|
325
372
|
maxOutputTokens: resolveMaxTokens(provider, req.maxTokens),
|
|
326
373
|
maxRetries: 0, // retry policy lives in the failover loop, not the transport
|
|
@@ -385,6 +432,8 @@ export class Llm {
|
|
|
385
432
|
};
|
|
386
433
|
}
|
|
387
434
|
}
|
|
435
|
+
if (req.schema)
|
|
436
|
+
parsed = result.output;
|
|
388
437
|
}
|
|
389
438
|
catch (e) {
|
|
390
439
|
return { ok: false, emitted, error: e, usage };
|
|
@@ -393,10 +442,19 @@ export class Llm {
|
|
|
393
442
|
return {
|
|
394
443
|
ok: false,
|
|
395
444
|
emitted,
|
|
396
|
-
error: new LlmError(
|
|
445
|
+
error: new LlmError(EMPTY),
|
|
397
446
|
usage,
|
|
398
447
|
};
|
|
399
|
-
|
|
448
|
+
if (!req.schema)
|
|
449
|
+
return { ok: true, emitted, usage };
|
|
450
|
+
// The answer parsed and checked against the schema; one that does not match
|
|
451
|
+
// fails the attempt like any provider failure, and the next one is tried
|
|
452
|
+
try {
|
|
453
|
+
return { ok: true, emitted, usage, object: await parsed };
|
|
454
|
+
}
|
|
455
|
+
catch (e) {
|
|
456
|
+
return { ok: false, emitted, error: e, usage };
|
|
457
|
+
}
|
|
400
458
|
}
|
|
401
459
|
// One AI SDK model instance per attempt, by wire dialect. An `openai`
|
|
402
460
|
// entry pointed at openrouter.ai resolves to the openrouter provider,
|
|
@@ -442,6 +500,7 @@ export class Llm {
|
|
|
442
500
|
...(provider.apiKey ? { apiKey: provider.apiKey } : {}),
|
|
443
501
|
...(provider.fetch ? { fetch: provider.fetch } : {}),
|
|
444
502
|
includeUsage: true, // stream_options usage frame
|
|
503
|
+
supportsStructuredOutputs: provider.structuredOutputs === true,
|
|
445
504
|
...(Object.keys(body).length > 0
|
|
446
505
|
? {
|
|
447
506
|
transformRequestBody: (args) => ({
|
package/dist/llm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adriangalilea/utils",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.5.0",
|
|
4
4
|
"description": "TypeScript utilities - logger, currency, formatter, GramIO bot plugins, and more",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -234,16 +234,16 @@
|
|
|
234
234
|
"author": "Adrian Galilea <adriangalilea@gmail.com>",
|
|
235
235
|
"license": "MIT",
|
|
236
236
|
"devDependencies": {
|
|
237
|
-
"@ai-sdk/anthropic": "^4.0.
|
|
238
|
-
"@ai-sdk/openai-compatible": "^3.0.
|
|
237
|
+
"@ai-sdk/anthropic": "^4.0.72",
|
|
238
|
+
"@ai-sdk/openai-compatible": "^3.0.63",
|
|
239
239
|
"@biomejs/biome": "2.4.15",
|
|
240
240
|
"@gramio/format": "^0.12.1",
|
|
241
241
|
"@gramio/session": "^0.2.0",
|
|
242
242
|
"@gramio/split": "^0.0.1",
|
|
243
243
|
"@gramio/storage": "^2.0.1",
|
|
244
|
-
"@openrouter/ai-sdk-provider": "^3.
|
|
244
|
+
"@openrouter/ai-sdk-provider": "^3.1.0",
|
|
245
245
|
"@types/node": "^24.3.0",
|
|
246
|
-
"ai": "^7.0.
|
|
246
|
+
"ai": "^7.0.128",
|
|
247
247
|
"gramio": "^0.15.1",
|
|
248
248
|
"next": "^16.3.8",
|
|
249
249
|
"react": "^19.3.0",
|