@delofarag/ai-utils 1.8.2 → 1.8.3

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.
@@ -20,7 +20,9 @@ export declare const OPENROUTER_DATA_SAFE_KWARGS: {
20
20
  * `sort=intelligence-high-to-low`); es gewinnt das intelligenteste :free-Model.
21
21
  * Kein Test-Request — tote Kandidaten fängt das Self-Healing der Instanz ab.
22
22
  */
23
- export declare function fetchBestFreeModel(baseURL?: string): Promise<string>;
23
+ export declare function fetchBestFreeModel(baseURL?: string,
24
+ /** Zusätzlich zu überspringende Model-ids (z.B. temporär, für transiente Heals). */
25
+ extraExcluded?: Set<string>): Promise<string>;
24
26
  /**
25
27
  * OpenRouter-Limits für :free-Models (Stand 2026-07, docs/api/reference/limits):
26
28
  * 20 Requests/Minute; 50 Requests/Tag (unter 10 lifetime gekauften Credits)
@@ -77,9 +79,18 @@ export declare class FreeOpenRouterLLM extends ChatOpenAI {
77
79
  baseURL: string;
78
80
  modelKwargs?: Record<string, unknown>;
79
81
  });
82
+ /** Permanent: Model ist weg/nicht mehr gratis → dauerhaft ausschließen und nächstbestes holen. */
80
83
  private heal;
84
+ /**
85
+ * Transient: Provider gerade überlastet → NUR für diesen Call auf ein anderes
86
+ * Free-Model (anderer Provider) wechseln, ohne das gute Model dauerhaft
87
+ * auszuschließen. Das beste Model wird nach dem Call wiederhergestellt.
88
+ */
89
+ private healTransient;
81
90
  _generate(messages: BaseMessage[], options: this["ParsedCallOptions"], runManager?: CallbackManagerForLLMRun): Promise<ChatResult>;
82
91
  _streamResponseChunks(messages: BaseMessage[], options: this["ParsedCallOptions"], runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;
92
+ /** Nach transientem Temp-Wechsel das ursprüngliche (beste) Model wiederherstellen — außer es wurde dauerhaft ausgeschlossen. */
93
+ private restoreModel;
83
94
  }
84
95
  /** Async-Pfad von `getLLM({ provider: "openrouter", free: true })`. */
85
96
  export declare function getFreeOpenRouterLLM(config: {
@@ -1 +1 @@
1
- {"version":3,"file":"free-llm.d.ts","sourceRoot":"","sources":["../../../src/helpers/llm/free-llm.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,KAAK,UAAU,EACf,KAAK,wBAAwB,EAC9B,MAAM,eAAe,CAAA;AAEtB,eAAO,MAAM,mBAAmB,iCAAiC,CAAA;AACjE,eAAO,MAAM,sBAAsB,oCAAoC,CAAA;AAEvE;;;;GAIG;AACH,eAAO,MAAM,2BAA2B;;;;;;CAM9B,CAAA;AAuBV;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,MAA4B,GAAG,OAAO,CAAC,MAAM,CAAC,CAS/F;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,yGAAyG;IACzG,QAAQ,CAAC,IAAI,yBAAwB;IACrC,kHAAkH;IAClH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAA;IAC5C,4FAA4F;IAC5F,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IACnC,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;gBAEV,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE;CAStH;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CA6BrF;AAmBD;;;;;;;GAOG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C,QAAQ,EAAE,YAAY,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;gBAExB,MAAM,EAAE;QAClB,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,MAAM,CAAA;QACf,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACtC;YAUa,IAAI;IAKZ,SAAS,CACb,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAClC,UAAU,CAAC,EAAE,wBAAwB,GACpC,OAAO,CAAC,UAAU,CAAC;IAef,qBAAqB,CAC1B,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAClC,UAAU,CAAC,EAAE,wBAAwB,GACpC,cAAc,CAAC,mBAAmB,CAAC;CAqBvC;AAED,uEAAuE;AACvE,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IACjD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAU7B"}
1
+ {"version":3,"file":"free-llm.d.ts","sourceRoot":"","sources":["../../../src/helpers/llm/free-llm.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,KAAK,UAAU,EACf,KAAK,wBAAwB,EAC9B,MAAM,eAAe,CAAA;AAEtB,eAAO,MAAM,mBAAmB,iCAAiC,CAAA;AACjE,eAAO,MAAM,sBAAsB,oCAAoC,CAAA;AAEvE;;;;GAIG;AACH,eAAO,MAAM,2BAA2B;;;;;;CAM9B,CAAA;AAuBV;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,GAAE,MAA4B;AACrC,oFAAoF;AACpF,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,MAAM,CAAC,CAYjB;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,yGAAyG;IACzG,QAAQ,CAAC,IAAI,yBAAwB;IACrC,kHAAkH;IAClH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAA;IAC5C,4FAA4F;IAC5F,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IACnC,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;gBAEV,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE;CAStH;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CA6BrF;AA4ED;;;;;;;GAOG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C,QAAQ,EAAE,YAAY,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;gBAExB,MAAM,EAAE;QAClB,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,MAAM,CAAA;QACf,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACtC;IAUD,kGAAkG;YACpF,IAAI;IAKlB;;;;OAIG;YACW,aAAa;IAKrB,SAAS,CACb,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAClC,UAAU,CAAC,EAAE,wBAAwB,GACpC,OAAO,CAAC,UAAU,CAAC;IA6Bf,qBAAqB,CAC1B,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAClC,UAAU,CAAC,EAAE,wBAAwB,GACpC,cAAc,CAAC,mBAAmB,CAAC;IAqCtC,gIAAgI;IAChI,OAAO,CAAC,YAAY;CAKrB;AAED,uEAAuE;AACvE,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IACjD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAU7B"}
@@ -38,10 +38,14 @@ async function fetchFreeRanking(baseURL, sort) {
38
38
  * `sort=intelligence-high-to-low`); es gewinnt das intelligenteste :free-Model.
39
39
  * Kein Test-Request — tote Kandidaten fängt das Self-Healing der Instanz ab.
40
40
  */
41
- export async function fetchBestFreeModel(baseURL = OPENROUTER_BASE_URL) {
41
+ export async function fetchBestFreeModel(baseURL = OPENROUTER_BASE_URL,
42
+ /** Zusätzlich zu überspringende Model-ids (z.B. temporär, für transiente Heals). */
43
+ extraExcluded) {
42
44
  const byIntelligence = await fetchFreeRanking(baseURL, "intelligence-high-to-low");
43
45
  // Sind alle Kandidaten ausgeschlossen, lieber den besten erneut versuchen als hart failen.
44
- const pick = byIntelligence.find((id) => !excludedFreeModels.has(id)) ?? byIntelligence[0];
46
+ const pick = byIntelligence.find((id) => !excludedFreeModels.has(id) && !extraExcluded?.has(id)) ??
47
+ byIntelligence.find((id) => !excludedFreeModels.has(id)) ??
48
+ byIntelligence[0];
45
49
  if (!pick) {
46
50
  throw new Error("No :free model with tool support available on OpenRouter right now");
47
51
  }
@@ -123,7 +127,58 @@ function isModelGoneError(error) {
123
127
  return true;
124
128
  return /not a valid model id|no endpoints found/i.test(message);
125
129
  }
130
+ /**
131
+ * Erkennt TRANSIENTE Upstream-/Kapazitätsfehler eines konkreten :free-Providers
132
+ * (z.B. Nvidia "ResourceExhausted: Worker local total request limit reached (32/32)",
133
+ * OpenRouter "temporarily rate-limited upstream", 502/503/504 vom Provider,
134
+ * Netzwerk-Timeouts). Kurzlebig — ein Retry auf einem anderen Free-Model (=anderer
135
+ * Provider) klappt i.d.R. sofort. Bewusst NICHT: echte Account-429 (free-per-day/min),
136
+ * Auth- oder Model-weg-Fehler.
137
+ */
138
+ function isTransientUpstreamError(error) {
139
+ const err = error;
140
+ const status = typeof err?.status === "number" ? err.status : typeof err?.code === "number" ? err.code : undefined;
141
+ if (status === 500 || status === 502 || status === 503 || status === 504 || status === 529)
142
+ return true;
143
+ // Fehlertext kann je nach LangChain/OpenRouter/SDK unterschiedlich verschachtelt sein
144
+ // (message, error.message, error.metadata.raw, cause.message …) — alles einsammeln.
145
+ const e = err;
146
+ const haystack = [
147
+ e?.message,
148
+ e?.error?.message,
149
+ e?.error?.metadata?.raw,
150
+ e?.metadata?.raw,
151
+ e?.cause?.message,
152
+ (() => {
153
+ try {
154
+ return JSON.stringify(error);
155
+ }
156
+ catch {
157
+ return "";
158
+ }
159
+ })(),
160
+ ]
161
+ .filter((s) => typeof s === "string")
162
+ .join(" ");
163
+ return /ResourceExhausted|Worker local total request limit|resource[_ ]?exhausted|no instances? available|temporarily (rate.?limited|unavailable)|overloaded|at capacity|Upstream error|ECONNRESET|ETIMEDOUT|ECONNREFUSED|network error|fetch failed|socket hang ?up/i.test(haystack);
164
+ }
165
+ /** Hat ein Stream-Chunk sichtbaren Textinhalt? (leere Rollen-/Start-Chunks → false) */
166
+ function chunkHasText(chunk) {
167
+ const text = chunk?.text;
168
+ if (typeof text === "string" && text.trim().length > 0)
169
+ return true;
170
+ const content = chunk?.message?.content;
171
+ if (typeof content === "string" && content.trim().length > 0)
172
+ return true;
173
+ if (Array.isArray(content)) {
174
+ return content.some((p) => typeof p?.text === "string" && p.text.trim().length > 0);
175
+ }
176
+ return false;
177
+ }
178
+ const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
126
179
  const MAX_HEALS_PER_CALL = 3;
180
+ const MAX_TRANSIENT_HEALS_PER_CALL = 3;
181
+ const TRANSIENT_RETRY_BASE_MS = 400;
127
182
  /**
128
183
  * ChatOpenAI gegen OpenRouter, festgenagelt auf das beste :free-Model.
129
184
  *
@@ -144,50 +199,98 @@ export class FreeOpenRouterLLM extends ChatOpenAI {
144
199
  });
145
200
  this.freeBaseURL = fields.baseURL;
146
201
  }
202
+ /** Permanent: Model ist weg/nicht mehr gratis → dauerhaft ausschließen und nächstbestes holen. */
147
203
  async heal() {
148
204
  excludedFreeModels.add(this.model);
149
205
  this.model = await fetchBestFreeModel(this.freeBaseURL);
150
206
  }
207
+ /**
208
+ * Transient: Provider gerade überlastet → NUR für diesen Call auf ein anderes
209
+ * Free-Model (anderer Provider) wechseln, ohne das gute Model dauerhaft
210
+ * auszuschließen. Das beste Model wird nach dem Call wiederhergestellt.
211
+ */
212
+ async healTransient(localExcluded) {
213
+ localExcluded.add(this.model);
214
+ this.model = await fetchBestFreeModel(this.freeBaseURL, localExcluded);
215
+ }
151
216
  async _generate(messages, options, runManager) {
152
217
  let heals = 0;
153
- while (true) {
154
- try {
155
- return await super._generate(messages, options, runManager);
156
- }
157
- catch (error) {
158
- const limitError = toFreeLimitError(error, this.model);
159
- if (limitError)
160
- throw limitError;
161
- if (!isModelGoneError(error) || heals >= MAX_HEALS_PER_CALL)
162
- throw error;
163
- heals++;
164
- await this.heal();
218
+ let transientHeals = 0;
219
+ const originalModel = this.model;
220
+ const localExcluded = new Set();
221
+ try {
222
+ while (true) {
223
+ try {
224
+ return await super._generate(messages, options, runManager);
225
+ }
226
+ catch (error) {
227
+ // Transient zuerst: kann als 429 ODER 5xx kommen — kurz warten, Provider wechseln, erneut.
228
+ if (isTransientUpstreamError(error) && transientHeals < MAX_TRANSIENT_HEALS_PER_CALL) {
229
+ transientHeals++;
230
+ await delay(TRANSIENT_RETRY_BASE_MS * transientHeals);
231
+ await this.healTransient(localExcluded);
232
+ continue;
233
+ }
234
+ const limitError = toFreeLimitError(error, this.model);
235
+ if (limitError)
236
+ throw limitError;
237
+ if (!isModelGoneError(error) || heals >= MAX_HEALS_PER_CALL)
238
+ throw error;
239
+ heals++;
240
+ await this.heal();
241
+ }
165
242
  }
166
243
  }
244
+ finally {
245
+ this.restoreModel(originalModel);
246
+ }
167
247
  }
168
248
  async *_streamResponseChunks(messages, options, runManager) {
169
249
  let heals = 0;
170
- while (true) {
171
- // Nur heilen, solange noch kein Chunk beim Aufrufer ist — danach wäre ein
172
- // Neustart des Streams eine stille Duplizierung von Output.
173
- let yielded = false;
174
- try {
175
- for await (const chunk of super._streamResponseChunks(messages, options, runManager)) {
176
- yielded = true;
177
- yield chunk;
250
+ let transientHeals = 0;
251
+ const originalModel = this.model;
252
+ const localExcluded = new Set();
253
+ try {
254
+ while (true) {
255
+ // Nur heilen, solange noch kein SICHTBARER Text beim Aufrufer ist. Provider
256
+ // schicken oft leere Rollen-/Start-Chunks, bevor der Upstream-Fehler kommt —
257
+ // die dürfen das Heilen NICHT blockieren (sonst rutscht der Fehler durch).
258
+ // Ein Neustart nach nur leeren Chunks dupliziert keinen sichtbaren Output.
259
+ let emittedText = false;
260
+ try {
261
+ for await (const chunk of super._streamResponseChunks(messages, options, runManager)) {
262
+ if (!emittedText && chunkHasText(chunk))
263
+ emittedText = true;
264
+ yield chunk;
265
+ }
266
+ return;
267
+ }
268
+ catch (error) {
269
+ if (!emittedText && isTransientUpstreamError(error) && transientHeals < MAX_TRANSIENT_HEALS_PER_CALL) {
270
+ transientHeals++;
271
+ await delay(TRANSIENT_RETRY_BASE_MS * transientHeals);
272
+ await this.healTransient(localExcluded);
273
+ continue;
274
+ }
275
+ const limitError = toFreeLimitError(error, this.model);
276
+ if (limitError)
277
+ throw limitError;
278
+ if (emittedText || !isModelGoneError(error) || heals >= MAX_HEALS_PER_CALL)
279
+ throw error;
280
+ heals++;
281
+ await this.heal();
178
282
  }
179
- return;
180
- }
181
- catch (error) {
182
- const limitError = toFreeLimitError(error, this.model);
183
- if (limitError)
184
- throw limitError;
185
- if (yielded || !isModelGoneError(error) || heals >= MAX_HEALS_PER_CALL)
186
- throw error;
187
- heals++;
188
- await this.heal();
189
283
  }
190
284
  }
285
+ finally {
286
+ this.restoreModel(originalModel);
287
+ }
288
+ }
289
+ /** Nach transientem Temp-Wechsel das ursprüngliche (beste) Model wiederherstellen — außer es wurde dauerhaft ausgeschlossen. */
290
+ restoreModel(originalModel) {
291
+ if (this.model !== originalModel && !excludedFreeModels.has(originalModel)) {
292
+ this.model = originalModel;
293
+ }
191
294
  }
192
295
  }
193
296
  /** Async-Pfad von `getLLM({ provider: "openrouter", free: true })`. */
@@ -1 +1 @@
1
- {"version":3,"file":"free-llm.js","sourceRoot":"","sources":["../../../src/helpers/llm/free-llm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"free-llm.js","sourceRoot":"","sources":["../../../src/helpers/llm/free-llm.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@delofarag/ai-utils",
3
- "version": "1.8.2",
3
+ "version": "1.8.3",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",