@delofarag/ai-utils 1.7.2 → 1.8.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 +32 -44
- package/dist/heart/agent.d.ts +17 -2
- package/dist/heart/agent.d.ts.map +1 -1
- package/dist/heart/agent.js +49 -24
- package/dist/heart/agent.js.map +1 -1
- package/dist/heart/chain.d.ts +15 -0
- package/dist/heart/chain.d.ts.map +1 -1
- package/dist/heart/chain.js +28 -1
- package/dist/heart/chain.js.map +1 -1
- package/dist/heart/deepAgent.d.ts +20 -4
- package/dist/heart/deepAgent.d.ts.map +1 -1
- package/dist/heart/deepAgent.js +84 -50
- package/dist/heart/deepAgent.js.map +1 -1
- package/dist/heart/tools/MCP.d.ts +45 -0
- package/dist/heart/tools/MCP.d.ts.map +1 -0
- package/dist/heart/tools/MCP.js +51 -0
- package/dist/heart/tools/MCP.js.map +1 -0
- package/dist/helpers/deepagent/backend.d.ts +1 -4
- package/dist/helpers/deepagent/backend.d.ts.map +1 -1
- package/dist/helpers/deepagent/backend.js.map +1 -1
- package/dist/helpers/deepagent/interruptTypes.d.ts +7 -1
- package/dist/helpers/deepagent/interruptTypes.d.ts.map +1 -1
- package/dist/helpers/deepagent/streamEvents.d.ts +4 -2
- package/dist/helpers/deepagent/streamEvents.d.ts.map +1 -1
- package/dist/helpers/deepagent/streamEvents.js +15 -0
- package/dist/helpers/deepagent/streamEvents.js.map +1 -1
- package/dist/helpers/{cli-llms.d.ts → llm/cli-llms.d.ts} +2 -2
- package/dist/helpers/llm/cli-llms.d.ts.map +1 -0
- package/dist/helpers/{cli-llms.js → llm/cli-llms.js} +1 -1
- package/dist/helpers/llm/cli-llms.js.map +1 -0
- package/dist/helpers/llm/free-llm.d.ts +92 -0
- package/dist/helpers/llm/free-llm.d.ts.map +1 -0
- package/dist/helpers/llm/free-llm.js +219 -0
- package/dist/helpers/llm/free-llm.js.map +1 -0
- package/dist/helpers/llm/llms.d.ts +28 -0
- package/dist/helpers/llm/llms.d.ts.map +1 -0
- package/dist/helpers/{llms.js → llm/llms.js} +11 -45
- package/dist/helpers/llm/llms.js.map +1 -0
- package/dist/helpers/llm/types.d.ts +82 -0
- package/dist/helpers/llm/types.d.ts.map +1 -0
- package/dist/helpers/llm/types.js +2 -0
- package/dist/helpers/llm/types.js.map +1 -0
- package/dist/helpers/memory.js +1 -1
- package/dist/helpers/memory.js.map +1 -1
- package/dist/imports.d.ts +1 -1
- package/dist/imports.d.ts.map +1 -1
- package/dist/imports.js +1 -1
- package/dist/imports.js.map +1 -1
- package/dist/index.d.ts +4 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -4
- package/dist/index.js.map +1 -1
- package/dist/magic-funcs/answerers/ask.js +1 -1
- package/dist/magic-funcs/answerers/ask.js.map +1 -1
- package/dist/magic-funcs/evaluators/classify.js +1 -1
- package/dist/magic-funcs/evaluators/classify.js.map +1 -1
- package/dist/magic-funcs/evaluators/decide.js +1 -1
- package/dist/magic-funcs/evaluators/decide.js.map +1 -1
- package/dist/magic-funcs/optimizers/promptify.js +1 -1
- package/dist/magic-funcs/optimizers/promptify.js.map +1 -1
- package/dist/magic-funcs/optimizers/ragify.js +1 -1
- package/dist/magic-funcs/optimizers/ragify.js.map +1 -1
- package/dist/magic-funcs/parsers/extract.js +1 -1
- package/dist/magic-funcs/parsers/extract.js.map +1 -1
- package/dist/magic-funcs/parsers/rewrite.js +1 -1
- package/dist/magic-funcs/parsers/rewrite.js.map +1 -1
- package/dist/magic-funcs/parsers/structure.js +1 -1
- package/dist/magic-funcs/parsers/structure.js.map +1 -1
- package/dist/magic-funcs/parsers/summarize.js +1 -1
- package/dist/magic-funcs/parsers/summarize.js.map +1 -1
- package/dist/modalities/image-gen/generateImages.d.ts +5 -3
- package/dist/modalities/image-gen/generateImages.d.ts.map +1 -1
- package/dist/modalities/image-gen/generateImages.js +5 -5
- package/dist/modalities/image-gen/generateImages.js.map +1 -1
- package/dist/modalities/image-gen/helpers.d.ts +1 -1
- package/dist/modalities/image-gen/helpers.d.ts.map +1 -1
- package/dist/modalities/openrouter.d.ts +1 -1
- package/dist/modalities/openrouter.d.ts.map +1 -1
- package/dist/modalities/vision/vision.d.ts +5 -3
- package/dist/modalities/vision/vision.d.ts.map +1 -1
- package/dist/modalities/vision/vision.js +4 -5
- package/dist/modalities/vision/vision.js.map +1 -1
- package/package.json +1 -1
- package/dist/helpers/cli-llms.d.ts.map +0 -1
- package/dist/helpers/cli-llms.js.map +0 -1
- package/dist/helpers/llms.d.ts +0 -135
- package/dist/helpers/llms.d.ts.map +0 -1
- package/dist/helpers/llms.js.map +0 -1
- package/dist/modalities/speech/VoiceEngine.d.ts +0 -3
- package/dist/modalities/speech/VoiceEngine.d.ts.map +0 -1
- package/dist/modalities/speech/VoiceEngine.js +0 -3
- package/dist/modalities/speech/VoiceEngine.js.map +0 -1
- package/dist/modalities/speech/stt/helpers.d.ts +0 -3
- package/dist/modalities/speech/stt/helpers.d.ts.map +0 -1
- package/dist/modalities/speech/stt/helpers.js +0 -28
- package/dist/modalities/speech/stt/helpers.js.map +0 -1
- package/dist/modalities/speech/stt/stt.d.ts +0 -113
- package/dist/modalities/speech/stt/stt.d.ts.map +0 -1
- package/dist/modalities/speech/stt/stt.js +0 -177
- package/dist/modalities/speech/stt/stt.js.map +0 -1
- package/dist/modalities/speech/tts/helpers.d.ts +0 -12
- package/dist/modalities/speech/tts/helpers.d.ts.map +0 -1
- package/dist/modalities/speech/tts/helpers.js +0 -10
- package/dist/modalities/speech/tts/helpers.js.map +0 -1
- package/dist/modalities/speech/tts/tts.d.ts +0 -115
- package/dist/modalities/speech/tts/tts.d.ts.map +0 -1
- package/dist/modalities/speech/tts/tts.js +0 -142
- package/dist/modalities/speech/tts/tts.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-llms.js","sourceRoot":"","sources":["../../../src/helpers/llm/cli-llms.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { ChatOpenAI, BaseMessage, ChatGenerationChunk, type ChatResult, type CallbackManagerForLLMRun } from "../../imports";
|
|
2
|
+
export declare const OPENROUTER_BASE_URL = "https://openrouter.ai/api/v1";
|
|
3
|
+
export declare const OPENROUTER_EU_BASE_URL = "https://eu.openrouter.ai/api/v1";
|
|
4
|
+
/**
|
|
5
|
+
* dataSafe-Routing im Request-Body (`provider` wie in der OpenRouter-Doku:
|
|
6
|
+
* `data_collection`/`zdr` INNERHALB von `provider`). LangChain `ChatOpenAI`
|
|
7
|
+
* reicht `modelKwargs` unverändert an die Chat-Completions-API durch.
|
|
8
|
+
*/
|
|
9
|
+
export declare const OPENROUTER_DATA_SAFE_KWARGS: {
|
|
10
|
+
readonly provider: {
|
|
11
|
+
readonly data_collection: "deny";
|
|
12
|
+
readonly zdr: true;
|
|
13
|
+
readonly allow_fallbacks: false;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Holt das beste kostenlose Model von OpenRouter — Doppel-Ranking aus
|
|
18
|
+
* Intelligenz UND Latenz.
|
|
19
|
+
*
|
|
20
|
+
* Zwei parallele Queries (`max_price=0` + `supported_parameters=tools`, einmal
|
|
21
|
+
* `sort=intelligence-high-to-low`, einmal `sort=latency-low-to-high`), dann
|
|
22
|
+
* gewinnt die kleinste Rang-Summe: so schlau wie möglich, ohne bei einem
|
|
23
|
+
* lahmen 550B-Reasoning-Brocken zu landen, der pro Antwort ewig "nachdenkt".
|
|
24
|
+
* Kein Test-Request — tote Kandidaten fängt das Self-Healing der Instanz ab.
|
|
25
|
+
*/
|
|
26
|
+
export declare function fetchBestFreeModel(baseURL?: string): Promise<string>;
|
|
27
|
+
/**
|
|
28
|
+
* OpenRouter-Limits für :free-Models (Stand 2026-07, docs/api/reference/limits):
|
|
29
|
+
* 20 Requests/Minute; 50 Requests/Tag (unter 10 lifetime gekauften Credits)
|
|
30
|
+
* bzw. 1000 Requests/Tag (ab 10 Credits). Beide Limits gelten ACCOUNT-WEIT über
|
|
31
|
+
* alle :free-Models hinweg — ein Model-Wechsel hilft also nicht, deshalb wird
|
|
32
|
+
* bei diesem Fehler bewusst NICHT geheilt, sondern gezielt filterbar geworfen:
|
|
33
|
+
*
|
|
34
|
+
* ```ts
|
|
35
|
+
* try { await llm.invoke(msgs) }
|
|
36
|
+
* catch (e) {
|
|
37
|
+
* if (e instanceof FreeLimitError && e.scope === "day") {
|
|
38
|
+
* show("Sie haben Ihre Free-Requests für heute verbraucht.")
|
|
39
|
+
* }
|
|
40
|
+
* }
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare class FreeLimitError extends Error {
|
|
44
|
+
/** Stabil filterbar — überlebt im Gegensatz zu instanceof auch JSON-Serialisierung Richtung Frontend. */
|
|
45
|
+
readonly code = "FREE_LIMIT_EXCEEDED";
|
|
46
|
+
/** "day" = Tageskontingent verbraucht, "minute" = 20-Requests/min-Limit, "unknown" = 429 ohne klare Zuordnung. */
|
|
47
|
+
readonly scope: "day" | "minute" | "unknown";
|
|
48
|
+
/** Sekunden bis zum Retry (aus dem Retry-After-Header, falls der Server ihn mitschickt). */
|
|
49
|
+
readonly retryAfterSeconds?: number;
|
|
50
|
+
/** Das :free-Model, mit dem der Request lief. */
|
|
51
|
+
readonly model: string;
|
|
52
|
+
constructor(message: string, opts: {
|
|
53
|
+
scope: "day" | "minute" | "unknown";
|
|
54
|
+
model: string;
|
|
55
|
+
retryAfterSeconds?: number;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Übersetzt ein 429-Rate-Limit von OpenRouter in einen FreeLimitError; alles
|
|
60
|
+
* andere → null. Die scope-Erkennung hängt an OpenRouters Fehlertext
|
|
61
|
+
* ("free-models-per-day" / "free-models-per-min") und fällt sonst auf
|
|
62
|
+
* "unknown" zurück. Exportiert, damit man auch anderweitig gefangene
|
|
63
|
+
* Roh-Fehler nachklassifizieren kann.
|
|
64
|
+
*/
|
|
65
|
+
export declare function toFreeLimitError(error: unknown, model: string): FreeLimitError | null;
|
|
66
|
+
/**
|
|
67
|
+
* ChatOpenAI gegen OpenRouter, festgenagelt auf das beste :free-Model.
|
|
68
|
+
*
|
|
69
|
+
* Self-Healing: Verschwindet das Model oder ist es nicht mehr gratis, wird es
|
|
70
|
+
* ausgeschlossen, das nächstbeste :free-Model geholt, `this.model` getauscht
|
|
71
|
+
* und der Request transparent wiederholt (max. 3-mal, dann fliegt der Error).
|
|
72
|
+
* Das aktive Model ist jederzeit über `.model` ablesbar.
|
|
73
|
+
*/
|
|
74
|
+
export declare class FreeOpenRouterLLM extends ChatOpenAI {
|
|
75
|
+
provider: "openrouter";
|
|
76
|
+
private readonly freeBaseURL;
|
|
77
|
+
constructor(fields: {
|
|
78
|
+
model: string;
|
|
79
|
+
apiKey?: string;
|
|
80
|
+
baseURL: string;
|
|
81
|
+
modelKwargs?: Record<string, unknown>;
|
|
82
|
+
});
|
|
83
|
+
private heal;
|
|
84
|
+
_generate(messages: BaseMessage[], options: this["ParsedCallOptions"], runManager?: CallbackManagerForLLMRun): Promise<ChatResult>;
|
|
85
|
+
_streamResponseChunks(messages: BaseMessage[], options: this["ParsedCallOptions"], runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;
|
|
86
|
+
}
|
|
87
|
+
/** Async-Pfad von `getLLM({ provider: "openrouter", free: true })`. */
|
|
88
|
+
export declare function getFreeOpenRouterLLM(config: {
|
|
89
|
+
apikey?: string;
|
|
90
|
+
dataSafe?: boolean;
|
|
91
|
+
}): Promise<FreeOpenRouterLLM>;
|
|
92
|
+
//# sourceMappingURL=free-llm.d.ts.map
|
|
@@ -0,0 +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;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,MAA4B,GAAG,OAAO,CAAC,MAAM,CAAC,CAuB/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"}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import { ChatOpenAI, } from "../../imports";
|
|
2
|
+
export const OPENROUTER_BASE_URL = "https://openrouter.ai/api/v1";
|
|
3
|
+
export const OPENROUTER_EU_BASE_URL = "https://eu.openrouter.ai/api/v1";
|
|
4
|
+
/**
|
|
5
|
+
* dataSafe-Routing im Request-Body (`provider` wie in der OpenRouter-Doku:
|
|
6
|
+
* `data_collection`/`zdr` INNERHALB von `provider`). LangChain `ChatOpenAI`
|
|
7
|
+
* reicht `modelKwargs` unverändert an die Chat-Completions-API durch.
|
|
8
|
+
*/
|
|
9
|
+
export const OPENROUTER_DATA_SAFE_KWARGS = {
|
|
10
|
+
provider: {
|
|
11
|
+
data_collection: "deny",
|
|
12
|
+
zdr: true,
|
|
13
|
+
allow_fallbacks: false,
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Models, die zur Laufzeit mit einem "gibt es nicht mehr / nicht mehr gratis"-Error
|
|
18
|
+
* gescheitert sind. Werden bei der Neuauswahl übersprungen (Lebensdauer: Prozess).
|
|
19
|
+
*/
|
|
20
|
+
const excludedFreeModels = new Set();
|
|
21
|
+
/** Ein Ranking der :free-Models mit Tool-Support, sortiert nach `sort`. */
|
|
22
|
+
async function fetchFreeRanking(baseURL, sort) {
|
|
23
|
+
const res = await fetch(`${baseURL}/models?max_price=0&supported_parameters=tools&sort=${sort}`);
|
|
24
|
+
if (!res.ok) {
|
|
25
|
+
throw new Error(`OpenRouter models request failed: ${res.status} ${res.statusText}`);
|
|
26
|
+
}
|
|
27
|
+
const body = (await res.json());
|
|
28
|
+
// Client-seitig aufs :free-Suffix gefiltert, weil max_price=0 vereinzelt
|
|
29
|
+
// auch Promo-Modelle ohne Suffix listet.
|
|
30
|
+
return (body.data ?? [])
|
|
31
|
+
.map((model) => model.id ?? "")
|
|
32
|
+
.filter((id) => id.endsWith(":free"));
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Holt das beste kostenlose Model von OpenRouter — Doppel-Ranking aus
|
|
36
|
+
* Intelligenz UND Latenz.
|
|
37
|
+
*
|
|
38
|
+
* Zwei parallele Queries (`max_price=0` + `supported_parameters=tools`, einmal
|
|
39
|
+
* `sort=intelligence-high-to-low`, einmal `sort=latency-low-to-high`), dann
|
|
40
|
+
* gewinnt die kleinste Rang-Summe: so schlau wie möglich, ohne bei einem
|
|
41
|
+
* lahmen 550B-Reasoning-Brocken zu landen, der pro Antwort ewig "nachdenkt".
|
|
42
|
+
* Kein Test-Request — tote Kandidaten fängt das Self-Healing der Instanz ab.
|
|
43
|
+
*/
|
|
44
|
+
export async function fetchBestFreeModel(baseURL = OPENROUTER_BASE_URL) {
|
|
45
|
+
const [byIntelligence, byLatency] = await Promise.all([
|
|
46
|
+
fetchFreeRanking(baseURL, "intelligence-high-to-low"),
|
|
47
|
+
fetchFreeRanking(baseURL, "latency-low-to-high"),
|
|
48
|
+
]);
|
|
49
|
+
// Fehlt ein Model in einem der Rankings, bekommt es dort den schlechtesten Rang.
|
|
50
|
+
const worstRank = Math.max(byIntelligence.length, byLatency.length);
|
|
51
|
+
const latencyRank = new Map(byLatency.map((id, rank) => [id, rank]));
|
|
52
|
+
const ranked = byIntelligence
|
|
53
|
+
.map((id, intelligenceRank) => ({
|
|
54
|
+
id,
|
|
55
|
+
score: intelligenceRank + (latencyRank.get(id) ?? worstRank),
|
|
56
|
+
}))
|
|
57
|
+
.sort((a, b) => a.score - b.score);
|
|
58
|
+
// Sind alle Kandidaten ausgeschlossen, lieber den besten erneut versuchen als hart failen.
|
|
59
|
+
const pick = ranked.find((candidate) => !excludedFreeModels.has(candidate.id))?.id ?? ranked[0]?.id;
|
|
60
|
+
if (!pick) {
|
|
61
|
+
throw new Error("No :free model with tool support available on OpenRouter right now");
|
|
62
|
+
}
|
|
63
|
+
return pick;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* OpenRouter-Limits für :free-Models (Stand 2026-07, docs/api/reference/limits):
|
|
67
|
+
* 20 Requests/Minute; 50 Requests/Tag (unter 10 lifetime gekauften Credits)
|
|
68
|
+
* bzw. 1000 Requests/Tag (ab 10 Credits). Beide Limits gelten ACCOUNT-WEIT über
|
|
69
|
+
* alle :free-Models hinweg — ein Model-Wechsel hilft also nicht, deshalb wird
|
|
70
|
+
* bei diesem Fehler bewusst NICHT geheilt, sondern gezielt filterbar geworfen:
|
|
71
|
+
*
|
|
72
|
+
* ```ts
|
|
73
|
+
* try { await llm.invoke(msgs) }
|
|
74
|
+
* catch (e) {
|
|
75
|
+
* if (e instanceof FreeLimitError && e.scope === "day") {
|
|
76
|
+
* show("Sie haben Ihre Free-Requests für heute verbraucht.")
|
|
77
|
+
* }
|
|
78
|
+
* }
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export class FreeLimitError extends Error {
|
|
82
|
+
/** Stabil filterbar — überlebt im Gegensatz zu instanceof auch JSON-Serialisierung Richtung Frontend. */
|
|
83
|
+
code = "FREE_LIMIT_EXCEEDED";
|
|
84
|
+
/** "day" = Tageskontingent verbraucht, "minute" = 20-Requests/min-Limit, "unknown" = 429 ohne klare Zuordnung. */
|
|
85
|
+
scope;
|
|
86
|
+
/** Sekunden bis zum Retry (aus dem Retry-After-Header, falls der Server ihn mitschickt). */
|
|
87
|
+
retryAfterSeconds;
|
|
88
|
+
/** Das :free-Model, mit dem der Request lief. */
|
|
89
|
+
model;
|
|
90
|
+
constructor(message, opts) {
|
|
91
|
+
super(message);
|
|
92
|
+
this.name = "FreeLimitError";
|
|
93
|
+
this.scope = opts.scope;
|
|
94
|
+
this.model = opts.model;
|
|
95
|
+
this.retryAfterSeconds = opts.retryAfterSeconds;
|
|
96
|
+
// instanceof bleibt auch nach Transpilation/Bundling korrekt:
|
|
97
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Übersetzt ein 429-Rate-Limit von OpenRouter in einen FreeLimitError; alles
|
|
102
|
+
* andere → null. Die scope-Erkennung hängt an OpenRouters Fehlertext
|
|
103
|
+
* ("free-models-per-day" / "free-models-per-min") und fällt sonst auf
|
|
104
|
+
* "unknown" zurück. Exportiert, damit man auch anderweitig gefangene
|
|
105
|
+
* Roh-Fehler nachklassifizieren kann.
|
|
106
|
+
*/
|
|
107
|
+
export function toFreeLimitError(error, model) {
|
|
108
|
+
const err = error;
|
|
109
|
+
const status = err?.status ?? err?.code;
|
|
110
|
+
if (status !== 429)
|
|
111
|
+
return null;
|
|
112
|
+
const message = String(err?.error?.message ?? err?.message ?? "Rate limit exceeded");
|
|
113
|
+
const scope = /per.?day|daily/i.test(message)
|
|
114
|
+
? "day"
|
|
115
|
+
: /per.?min|minute/i.test(message)
|
|
116
|
+
? "minute"
|
|
117
|
+
: "unknown";
|
|
118
|
+
// OpenAI-SDK-Errors tragen die Response-Header mal als Headers-Objekt, mal als Record.
|
|
119
|
+
const rawRetryAfter = typeof err?.headers?.get === "function"
|
|
120
|
+
? err.headers.get("retry-after")
|
|
121
|
+
: err?.headers?.["retry-after"];
|
|
122
|
+
const parsedRetryAfter = Number(rawRetryAfter);
|
|
123
|
+
const retryAfterSeconds = Number.isFinite(parsedRetryAfter) && parsedRetryAfter > 0 ? parsedRetryAfter : undefined;
|
|
124
|
+
return new FreeLimitError(message, { scope, model, retryAfterSeconds });
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Erkennt "Model ist weg oder nicht mehr gratis"-Errors (400 invalid model id,
|
|
128
|
+
* 402 credits nötig, 403/404 kein Zugriff/keine Endpoints). Bewusst NICHT dabei:
|
|
129
|
+
* 429 Rate-Limit (→ FreeLimitError, Model-Wechsel hilft da nicht) und Auth-Fehler.
|
|
130
|
+
*/
|
|
131
|
+
function isModelGoneError(error) {
|
|
132
|
+
const err = error;
|
|
133
|
+
const status = err?.status ?? err?.code;
|
|
134
|
+
const message = String(err?.message ?? "");
|
|
135
|
+
if (status === 402 || status === 404)
|
|
136
|
+
return true;
|
|
137
|
+
if ((status === 400 || status === 403) && /model/i.test(message))
|
|
138
|
+
return true;
|
|
139
|
+
return /not a valid model id|no endpoints found/i.test(message);
|
|
140
|
+
}
|
|
141
|
+
const MAX_HEALS_PER_CALL = 3;
|
|
142
|
+
/**
|
|
143
|
+
* ChatOpenAI gegen OpenRouter, festgenagelt auf das beste :free-Model.
|
|
144
|
+
*
|
|
145
|
+
* Self-Healing: Verschwindet das Model oder ist es nicht mehr gratis, wird es
|
|
146
|
+
* ausgeschlossen, das nächstbeste :free-Model geholt, `this.model` getauscht
|
|
147
|
+
* und der Request transparent wiederholt (max. 3-mal, dann fliegt der Error).
|
|
148
|
+
* Das aktive Model ist jederzeit über `.model` ablesbar.
|
|
149
|
+
*/
|
|
150
|
+
export class FreeOpenRouterLLM extends ChatOpenAI {
|
|
151
|
+
provider = "openrouter";
|
|
152
|
+
freeBaseURL;
|
|
153
|
+
constructor(fields) {
|
|
154
|
+
super({
|
|
155
|
+
model: fields.model,
|
|
156
|
+
apiKey: fields.apiKey,
|
|
157
|
+
configuration: { baseURL: fields.baseURL },
|
|
158
|
+
...(fields.modelKwargs ? { modelKwargs: fields.modelKwargs } : {}),
|
|
159
|
+
});
|
|
160
|
+
this.freeBaseURL = fields.baseURL;
|
|
161
|
+
}
|
|
162
|
+
async heal() {
|
|
163
|
+
excludedFreeModels.add(this.model);
|
|
164
|
+
this.model = await fetchBestFreeModel(this.freeBaseURL);
|
|
165
|
+
}
|
|
166
|
+
async _generate(messages, options, runManager) {
|
|
167
|
+
let heals = 0;
|
|
168
|
+
while (true) {
|
|
169
|
+
try {
|
|
170
|
+
return await super._generate(messages, options, runManager);
|
|
171
|
+
}
|
|
172
|
+
catch (error) {
|
|
173
|
+
const limitError = toFreeLimitError(error, this.model);
|
|
174
|
+
if (limitError)
|
|
175
|
+
throw limitError;
|
|
176
|
+
if (!isModelGoneError(error) || heals >= MAX_HEALS_PER_CALL)
|
|
177
|
+
throw error;
|
|
178
|
+
heals++;
|
|
179
|
+
await this.heal();
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
async *_streamResponseChunks(messages, options, runManager) {
|
|
184
|
+
let heals = 0;
|
|
185
|
+
while (true) {
|
|
186
|
+
// Nur heilen, solange noch kein Chunk beim Aufrufer ist — danach wäre ein
|
|
187
|
+
// Neustart des Streams eine stille Duplizierung von Output.
|
|
188
|
+
let yielded = false;
|
|
189
|
+
try {
|
|
190
|
+
for await (const chunk of super._streamResponseChunks(messages, options, runManager)) {
|
|
191
|
+
yielded = true;
|
|
192
|
+
yield chunk;
|
|
193
|
+
}
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
catch (error) {
|
|
197
|
+
const limitError = toFreeLimitError(error, this.model);
|
|
198
|
+
if (limitError)
|
|
199
|
+
throw limitError;
|
|
200
|
+
if (yielded || !isModelGoneError(error) || heals >= MAX_HEALS_PER_CALL)
|
|
201
|
+
throw error;
|
|
202
|
+
heals++;
|
|
203
|
+
await this.heal();
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
/** Async-Pfad von `getLLM({ provider: "openrouter", free: true })`. */
|
|
209
|
+
export async function getFreeOpenRouterLLM(config) {
|
|
210
|
+
const baseURL = config.dataSafe ? OPENROUTER_EU_BASE_URL : OPENROUTER_BASE_URL;
|
|
211
|
+
const model = await fetchBestFreeModel(baseURL);
|
|
212
|
+
return new FreeOpenRouterLLM({
|
|
213
|
+
model,
|
|
214
|
+
apiKey: config.apikey ?? process.env.OPENROUTER_API_KEY,
|
|
215
|
+
baseURL,
|
|
216
|
+
...(config.dataSafe ? { modelKwargs: OPENROUTER_DATA_SAFE_KWARGS } : {}),
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=free-llm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"free-llm.js","sourceRoot":"","sources":["../../../src/helpers/llm/free-llm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ClaudeCLI_LLM, OpenAICLI_LLM } from "./cli-llms";
|
|
2
|
+
import { FreeOpenRouterLLM } from "./free-llm";
|
|
3
|
+
import type { GroqLLMConfig, OpenRouterLLMConfig, OpenRouterFreeLLMConfig, LocalLLMConfig, ClaudeCLILLMConfig, OpenAICLILLMConfig, GroqLLM, OpenRouterLLM, LocalLLM } from "./types";
|
|
4
|
+
export * from "./types";
|
|
5
|
+
export { FreeOpenRouterLLM, fetchBestFreeModel, FreeLimitError, toFreeLimitError } from "./free-llm";
|
|
6
|
+
/**
|
|
7
|
+
* `free: true` (nur openrouter): holt live das beste kostenlose `:free`-Model
|
|
8
|
+
* mit Tool-Support (Doppel-Ranking: Intelligenz + Latenz) und gibt deshalb ein
|
|
9
|
+
* Promise zurück — `await getLLM(...)`. Das gewählte Model ist über `.model` ablesbar.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getLLM(config: OpenRouterFreeLLMConfig): Promise<FreeOpenRouterLLM>;
|
|
12
|
+
/**
|
|
13
|
+
* env-var for openrouter: process.env.OPENROUTER_API_KEY
|
|
14
|
+
*
|
|
15
|
+
* env-var for chatgroq: process.env.CHATGROQ_API_KEY
|
|
16
|
+
*
|
|
17
|
+
* default llm for chatgroq: "llama-3.3-70b-versatile"
|
|
18
|
+
*
|
|
19
|
+
* default llm for openrouter: "openai/gpt-5.4-mini"
|
|
20
|
+
*
|
|
21
|
+
* default llm for local: "nvidia/nemotron-3-nano-4b"
|
|
22
|
+
*
|
|
23
|
+
* provider "claude-cli": nutzt die eingeloggte `claude -p` CLI als reines LLM (Default-Model "claude-opus-4-8")
|
|
24
|
+
*
|
|
25
|
+
* provider "openai-cli": nutzt `codex exec` als reines LLM (Default-Model "gpt-5.5"; CLI muss installiert sein)
|
|
26
|
+
*/
|
|
27
|
+
export declare function getLLM(config: GroqLLMConfig | OpenRouterLLMConfig | LocalLLMConfig | ClaudeCLILLMConfig | OpenAICLILLMConfig): GroqLLM | OpenRouterLLM | LocalLLM | ClaudeCLI_LLM | OpenAICLI_LLM;
|
|
28
|
+
//# sourceMappingURL=llms.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llms.d.ts","sourceRoot":"","sources":["../../../src/helpers/llm/llms.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EACL,iBAAiB,EAKlB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAEV,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,OAAO,EACP,aAAa,EACb,QAAQ,EACT,MAAM,SAAS,CAAC;AAEjB,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAErG;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;AACnF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,MAAM,CACpB,MAAM,EAAE,aAAa,GAAG,mBAAmB,GAAG,cAAc,GAAG,kBAAkB,GAAG,kBAAkB,GACrG,OAAO,GAAG,aAAa,GAAG,QAAQ,GAAG,aAAa,GAAG,aAAa,CAAA"}
|
|
@@ -1,63 +1,29 @@
|
|
|
1
|
-
import { ChatGroq, ChatOpenAI } from "
|
|
1
|
+
import { ChatGroq, ChatOpenAI } from "../../imports";
|
|
2
2
|
import { ClaudeCLI_LLM, OpenAICLI_LLM } from "./cli-llms";
|
|
3
|
-
|
|
4
|
-
*
|
|
5
|
-
|
|
6
|
-
* env-var for chatgroq: process.env.CHATGROQ_API_KEY
|
|
7
|
-
*
|
|
8
|
-
* default llm for chatgroq: "llama-3.3-70b-versatile"
|
|
9
|
-
*
|
|
10
|
-
* default llm for openrouter: "openai/gpt-5.4-mini"
|
|
11
|
-
*
|
|
12
|
-
* default llm for local: "nvidia/nemotron-3-nano-4b"
|
|
13
|
-
*
|
|
14
|
-
* provider "claude-cli": nutzt die eingeloggte `claude -p` CLI als reines LLM (Default-Model "claude-opus-4-8")
|
|
15
|
-
*
|
|
16
|
-
* provider "openai-cli": nutzt `codex exec` als reines LLM (Default-Model "gpt-5.5"; CLI muss installiert sein)
|
|
17
|
-
*/
|
|
3
|
+
import { getFreeOpenRouterLLM, OPENROUTER_BASE_URL, OPENROUTER_EU_BASE_URL, OPENROUTER_DATA_SAFE_KWARGS, } from "./free-llm";
|
|
4
|
+
export * from "./types";
|
|
5
|
+
export { FreeOpenRouterLLM, fetchBestFreeModel, FreeLimitError, toFreeLimitError } from "./free-llm";
|
|
18
6
|
export function getLLM(config) {
|
|
19
|
-
const type = config.type;
|
|
20
7
|
switch (config.provider) {
|
|
21
8
|
case "chatgroq": {
|
|
22
9
|
const llm = new ChatGroq({
|
|
23
10
|
apiKey: config.apikey ?? process.env.CHATGROQ_API_KEY,
|
|
24
|
-
model: config.model ??
|
|
25
|
-
? "meta-llama/llama-4-scout-17b-16e-instruct"
|
|
26
|
-
: type === "stt"
|
|
27
|
-
? "whisper-large-v3-turbo"
|
|
28
|
-
: type === "tts"
|
|
29
|
-
? "canopylabs/orpheus-v1-english"
|
|
30
|
-
: "llama-3.3-70b-versatile")
|
|
11
|
+
model: config.model ?? "llama-3.3-70b-versatile",
|
|
31
12
|
});
|
|
32
13
|
llm.provider = "chatgroq";
|
|
33
14
|
return llm;
|
|
34
15
|
}
|
|
35
16
|
case "openrouter": {
|
|
17
|
+
if (config.free) {
|
|
18
|
+
return getFreeOpenRouterLLM(config);
|
|
19
|
+
}
|
|
36
20
|
const llm = new ChatOpenAI({
|
|
37
21
|
apiKey: config.apikey ?? process.env.OPENROUTER_API_KEY,
|
|
38
22
|
configuration: {
|
|
39
|
-
baseURL: config.dataSafe
|
|
40
|
-
? "https://eu.openrouter.ai/api/v1"
|
|
41
|
-
: "https://openrouter.ai/api/v1",
|
|
23
|
+
baseURL: config.dataSafe ? OPENROUTER_EU_BASE_URL : OPENROUTER_BASE_URL,
|
|
42
24
|
},
|
|
43
|
-
model: config.model ??
|
|
44
|
-
|
|
45
|
-
: type === "stt"
|
|
46
|
-
? "google/gemini-2.5-flash"
|
|
47
|
-
: type === "tts"
|
|
48
|
-
? "openai/gpt-4o-mini-tts-2025-12-15"
|
|
49
|
-
: "openai/gpt-5.4-mini"),
|
|
50
|
-
...(config.dataSafe
|
|
51
|
-
? {
|
|
52
|
-
modelKwargs: {
|
|
53
|
-
provider: {
|
|
54
|
-
data_collection: "deny",
|
|
55
|
-
zdr: true,
|
|
56
|
-
allow_fallbacks: false,
|
|
57
|
-
},
|
|
58
|
-
},
|
|
59
|
-
}
|
|
60
|
-
: {}),
|
|
25
|
+
model: config.model ?? "openai/gpt-5.4-mini",
|
|
26
|
+
...(config.dataSafe ? { modelKwargs: OPENROUTER_DATA_SAFE_KWARGS } : {}),
|
|
61
27
|
});
|
|
62
28
|
llm.provider = "openrouter";
|
|
63
29
|
return llm;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llms.js","sourceRoot":"","sources":["../../../src/helpers/llm/llms.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { ChatGroq, ChatOpenAI } from "../../imports";
|
|
2
|
+
import type { ClaudeCLIModel, OpenAICLIModel } from "./cli-llms";
|
|
3
|
+
export type Prettify<T> = {
|
|
4
|
+
[K in keyof T]: T[K];
|
|
5
|
+
} & {};
|
|
6
|
+
export type AutoComplete<T extends string> = T | (string & {});
|
|
7
|
+
/** Groq Cloud Chat-Completions (https://console.groq.com/docs/models): Production, Compound, Preview. */
|
|
8
|
+
export type ChatGroqModel = AutoComplete<"groq/compound" | "groq/compound-mini" | "llama-3.1-8b-instant" | "llama-3.3-70b-versatile" | "meta-llama/llama-4-scout-17b-16e-instruct" | "openai/gpt-oss-120b" | "openai/gpt-oss-20b" | "openai/gpt-oss-safeguard-20b" | "qwen/qwen3-32b">;
|
|
9
|
+
/**
|
|
10
|
+
* OpenRouter öffentliche /api/v1/models (2026-07). Ohne `:free`-Varianten —
|
|
11
|
+
* für kostenlose Modelle gibt es `free: true`, das dynamisch das beste wählt.
|
|
12
|
+
*/
|
|
13
|
+
export type OpenRouterModel = AutoComplete<"anthropic/claude-haiku-4.5" | "anthropic/claude-opus-4" | "anthropic/claude-opus-4.1" | "anthropic/claude-opus-4.5" | "anthropic/claude-opus-4.6" | "anthropic/claude-opus-4.6-fast" | "anthropic/claude-opus-4.7" | "anthropic/claude-sonnet-4" | "anthropic/claude-sonnet-4.5" | "anthropic/claude-sonnet-4.6" | "arcee-ai/trinity-large-thinking" | "arcee-ai/trinity-mini" | "bytedance-seed/seed-2.0-lite" | "bytedance-seed/seed-2.0-mini" | "deepseek/deepseek-r1" | "deepseek/deepseek-r1-0528" | "deepseek/deepseek-r1-distill-llama-70b" | "deepseek/deepseek-r1-distill-qwen-32b" | "deepseek/deepseek-v3.1-terminus" | "deepseek/deepseek-v3.2" | "deepseek/deepseek-v3.2-exp" | "deepseek/deepseek-v3.2-speciale" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-image" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-lite-preview-09-2025" | "google/gemini-2.5-pro" | "google/gemini-2.5-pro-preview" | "google/gemini-2.5-pro-preview-05-06" | "google/gemini-3-flash-preview" | "google/gemini-3-pro-image-preview" | "google/gemini-3.1-flash-image-preview" | "google/gemini-3.1-flash-lite-preview" | "google/gemini-3.1-pro-preview" | "google/gemini-3.1-pro-preview-customtools" | "google/gemma-4-26b-a4b-it" | "google/gemma-4-31b-it" | "inception/mercury-2" | "liquid/lfm-2-24b-a2b" | "meta-llama/llama-3.3-70b-instruct" | "meta-llama/llama-4-maverick" | "meta-llama/llama-4-scout" | "meta-llama/llama-guard-4-12b" | "minimax/minimax-m2" | "minimax/minimax-m2-her" | "minimax/minimax-m2.1" | "minimax/minimax-m2.5" | "minimax/minimax-m2.7" | "mistralai/devstral-2512" | "mistralai/devstral-medium" | "mistralai/devstral-small" | "mistralai/mistral-large-2512" | "mistralai/mistral-small-2603" | "moonshotai/kimi-k2" | "moonshotai/kimi-k2-0905" | "moonshotai/kimi-k2-thinking" | "moonshotai/kimi-k2.5" | "nvidia/nemotron-3-nano-30b-a3b" | "nvidia/nemotron-3-super-120b-a12b" | "openai/gpt-4.1" | "openai/gpt-4.1-mini" | "openai/gpt-4.1-nano" | "openai/gpt-5" | "openai/gpt-5-chat" | "openai/gpt-5-codex" | "openai/gpt-5-image" | "openai/gpt-5-image-mini" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | "openai/gpt-5-pro" | "openai/gpt-5.1" | "openai/gpt-5.1-chat" | "openai/gpt-5.1-codex" | "openai/gpt-5.1-codex-max" | "openai/gpt-5.1-codex-mini" | "openai/gpt-5.2" | "openai/gpt-5.2-chat" | "openai/gpt-5.2-codex" | "openai/gpt-5.2-pro" | "openai/gpt-5.3-chat" | "openai/gpt-5.3-codex" | "openai/gpt-5.4" | "openai/gpt-5.4-mini" | "openai/gpt-5.4-nano" | "openai/gpt-5.4-pro" | "openai/gpt-oss-120b" | "openai/gpt-oss-20b" | "openai/gpt-oss-safeguard-20b" | "qwen/qwen3-coder" | "qwen/qwen3-coder-30b-a3b-instruct" | "qwen/qwen3-coder-flash" | "qwen/qwen3-coder-next" | "qwen/qwen3-coder-plus" | "qwen/qwen3-max" | "qwen/qwen3-max-thinking" | "qwen/qwen3.5-122b-a10b" | "qwen/qwen3.5-27b" | "qwen/qwen3.5-35b-a3b" | "qwen/qwen3.5-397b-a17b" | "qwen/qwen3.5-9b" | "qwen/qwen3.5-flash-02-23" | "qwen/qwen3.5-plus-02-15" | "qwen/qwen3.6-plus" | "rekaai/reka-edge" | "xiaomi/mimo-v2-flash" | "xiaomi/mimo-v2-omni" | "xiaomi/mimo-v2-pro" | "z-ai/glm-5" | "z-ai/glm-5-turbo" | "z-ai/glm-5.1" | "z-ai/glm-5.2" | "z-ai/glm-5v-turbo">;
|
|
14
|
+
/** LM Studio Model-IDs (kurze Hub-Bezeichner, siehe GET /v1/models). */
|
|
15
|
+
export type LocalModel = AutoComplete<"google/gemma-4-12b-qat" | "nvidia/nemotron-3-nano-4b" | "google/gemma-4-e4b" | "igorls/gemma-4-12b-it-qat-unquantized-heretic">;
|
|
16
|
+
export type GroqLLMConfig = {
|
|
17
|
+
provider: "chatgroq";
|
|
18
|
+
model?: ChatGroqModel;
|
|
19
|
+
apikey?: string;
|
|
20
|
+
};
|
|
21
|
+
type OpenRouterConfigBase = {
|
|
22
|
+
provider: "openrouter";
|
|
23
|
+
apikey?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Strengeres OpenRouter-Routing + EU-Endpunkt (`eu.openrouter.ai`) mit
|
|
26
|
+
* `data_collection: "deny"`, `zdr: true` und ohne Fallbacks.
|
|
27
|
+
*/
|
|
28
|
+
dataSafe?: boolean;
|
|
29
|
+
};
|
|
30
|
+
export type OpenRouterLLMConfig = OpenRouterConfigBase & {
|
|
31
|
+
model?: OpenRouterModel;
|
|
32
|
+
free?: false;
|
|
33
|
+
};
|
|
34
|
+
export type OpenRouterFreeLLMConfig = OpenRouterConfigBase & {
|
|
35
|
+
/**
|
|
36
|
+
* `free: true` wählt dynamisch das beste aktuell kostenlose Model (`:free`)
|
|
37
|
+
* mit Tool-Support — getLLM wird dadurch async. Das gewählte Model steht auf
|
|
38
|
+
* `.model`; stirbt es, heilt sich die Instanz selbst (siehe free-llm.ts).
|
|
39
|
+
*/
|
|
40
|
+
free: true;
|
|
41
|
+
model?: never;
|
|
42
|
+
};
|
|
43
|
+
export type LocalLLMConfig = {
|
|
44
|
+
provider: "local";
|
|
45
|
+
model?: LocalModel;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Headless-CLI-Provider: nutzen die eingeloggte CLI (`claude -p` / `codex exec`)
|
|
49
|
+
* als reines LangChain-Chat-Model (Abo-Auth, kein API-Key). Siehe `cli-llms.ts`.
|
|
50
|
+
*/
|
|
51
|
+
type CLILLMConfigBase = {
|
|
52
|
+
/** System-Prompt; Default `""` (ersetzt den Coder-Default der CLI). */
|
|
53
|
+
systemPrompt?: string;
|
|
54
|
+
/** Arbeitsverzeichnis des Subprozesses; Default: neutrales Temp-Verzeichnis. */
|
|
55
|
+
cwd?: string;
|
|
56
|
+
/** Pfad/Name des CLI-Binaries (Default je Provider). */
|
|
57
|
+
cliPath?: string;
|
|
58
|
+
/** Zusätzliche CLI-Flags (Escape-Hatch). */
|
|
59
|
+
extraArgs?: string[];
|
|
60
|
+
/** Timeout in ms. */
|
|
61
|
+
timeoutMs?: number;
|
|
62
|
+
};
|
|
63
|
+
export type ClaudeCLILLMConfig = CLILLMConfigBase & {
|
|
64
|
+
provider: "claude-cli";
|
|
65
|
+
model?: ClaudeCLIModel;
|
|
66
|
+
};
|
|
67
|
+
export type OpenAICLILLMConfig = CLILLMConfigBase & {
|
|
68
|
+
provider: "openai-cli";
|
|
69
|
+
model?: OpenAICLIModel;
|
|
70
|
+
};
|
|
71
|
+
export type LLMConfig = GroqLLMConfig | OpenRouterLLMConfig | OpenRouterFreeLLMConfig | LocalLLMConfig | ClaudeCLILLMConfig | OpenAICLILLMConfig;
|
|
72
|
+
export type GroqLLM = ChatGroq & {
|
|
73
|
+
provider?: "chatgroq";
|
|
74
|
+
};
|
|
75
|
+
export type OpenRouterLLM = ChatOpenAI & {
|
|
76
|
+
provider?: "openrouter";
|
|
77
|
+
};
|
|
78
|
+
export type LocalLLM = ChatOpenAI & {
|
|
79
|
+
provider?: "local";
|
|
80
|
+
};
|
|
81
|
+
export {};
|
|
82
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/helpers/llm/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/helpers/llm/types.ts"],"names":[],"mappings":""}
|
package/dist/helpers/memory.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createSimpleChain } from "./helpers";
|
|
2
|
-
import { getLLM } from "./llms";
|
|
2
|
+
import { getLLM } from "./llm/llms";
|
|
3
3
|
import { BaseCheckpointSaver, HumanMessage, AIMessage, SystemMessage, StringOutputParser, ChatPromptTemplate } from "../imports";
|
|
4
4
|
import { ToolMessage, } from "@langchain/core/messages";
|
|
5
5
|
/** Nachrichten-Channel aus einem gespeicherten Checkpoint (meist `channel_values.messages`). */
|