@delofarag/ai-utils 1.7.1 → 1.7.2
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/dist/heart/tools/ToolRegistry.d.ts +7 -1
- package/dist/heart/tools/ToolRegistry.d.ts.map +1 -1
- package/dist/heart/tools/ToolRegistry.js.map +1 -1
- package/dist/helpers/cli-llms.d.ts +192 -0
- package/dist/helpers/cli-llms.d.ts.map +1 -0
- package/dist/helpers/cli-llms.js +737 -0
- package/dist/helpers/cli-llms.js.map +1 -0
- package/dist/helpers/llms.d.ts +32 -2
- package/dist/helpers/llms.d.ts.map +1 -1
- package/dist/helpers/llms.js +27 -0
- package/dist/helpers/llms.js.map +1 -1
- package/dist/imports.d.ts +10 -4
- package/dist/imports.d.ts.map +1 -1
- package/dist/imports.js +6 -3
- package/dist/imports.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/package.json +4 -2
- package/dist/chatbot.d.ts +0 -33
- package/dist/chatbot.d.ts.map +0 -1
- package/dist/chatbot.js +0 -72
- package/dist/chatbot.js.map +0 -1
- package/dist/functions/answerers/ask.d.ts +0 -6
- package/dist/functions/answerers/ask.d.ts.map +0 -1
- package/dist/functions/answerers/ask.js +0 -14
- package/dist/functions/answerers/ask.js.map +0 -1
- package/dist/functions/answerers/websearch.d.ts +0 -2
- package/dist/functions/answerers/websearch.d.ts.map +0 -1
- package/dist/functions/answerers/websearch.js +0 -19
- package/dist/functions/answerers/websearch.js.map +0 -1
- package/dist/functions/evaluators/classify.d.ts +0 -23
- package/dist/functions/evaluators/classify.d.ts.map +0 -1
- package/dist/functions/evaluators/classify.js +0 -61
- package/dist/functions/evaluators/classify.js.map +0 -1
- package/dist/functions/evaluators/decide.d.ts +0 -22
- package/dist/functions/evaluators/decide.d.ts.map +0 -1
- package/dist/functions/evaluators/decide.js +0 -52
- package/dist/functions/evaluators/decide.js.map +0 -1
- package/dist/functions/optimizers/promptify.d.ts +0 -8
- package/dist/functions/optimizers/promptify.d.ts.map +0 -1
- package/dist/functions/optimizers/promptify.js +0 -48
- package/dist/functions/optimizers/promptify.js.map +0 -1
- package/dist/functions/optimizers/ragify.d.ts +0 -6
- package/dist/functions/optimizers/ragify.d.ts.map +0 -1
- package/dist/functions/optimizers/ragify.js +0 -40
- package/dist/functions/optimizers/ragify.js.map +0 -1
- package/dist/functions/parsers/extract.d.ts +0 -9
- package/dist/functions/parsers/extract.d.ts.map +0 -1
- package/dist/functions/parsers/extract.js +0 -37
- package/dist/functions/parsers/extract.js.map +0 -1
- package/dist/functions/parsers/normalize.d.ts +0 -9
- package/dist/functions/parsers/normalize.d.ts.map +0 -1
- package/dist/functions/parsers/normalize.js +0 -63
- package/dist/functions/parsers/normalize.js.map +0 -1
- package/dist/functions/parsers/structure.d.ts +0 -9
- package/dist/functions/parsers/structure.d.ts.map +0 -1
- package/dist/functions/parsers/structure.js +0 -36
- package/dist/functions/parsers/structure.js.map +0 -1
- package/dist/functions/parsers/summarize.d.ts +0 -8
- package/dist/functions/parsers/summarize.d.ts.map +0 -1
- package/dist/functions/parsers/summarize.js +0 -46
- package/dist/functions/parsers/summarize.js.map +0 -1
- package/dist/heart/chatbot.d.ts +0 -55
- package/dist/heart/chatbot.d.ts.map +0 -1
- package/dist/heart/chatbot.js +0 -99
- package/dist/heart/chatbot.js.map +0 -1
- package/dist/heart/memorychain.d.ts +0 -60
- package/dist/heart/memorychain.d.ts.map +0 -1
- package/dist/heart/memorychain.js +0 -190
- package/dist/heart/memorychain.js.map +0 -1
- package/dist/heart/tools/BasicToolRegistry.d.ts +0 -22
- package/dist/heart/tools/BasicToolRegistry.d.ts.map +0 -1
- package/dist/heart/tools/BasicToolRegistry.js +0 -45
- package/dist/heart/tools/BasicToolRegistry.js.map +0 -1
- package/dist/heart/tools/CombinedRegistry.d.ts +0 -41
- package/dist/heart/tools/CombinedRegistry.d.ts.map +0 -1
- package/dist/heart/tools/CombinedRegistry.js +0 -46
- package/dist/heart/tools/CombinedRegistry.js.map +0 -1
- package/dist/heart/tools/RAGTool 2.d.ts +0 -1
- package/dist/heart/tools/RAGTool 2.d.ts.map +0 -1
- package/dist/heart/tools/RAGTool 2.js +0 -2
- package/dist/heart/tools/RAGTool 2.js.map +0 -1
- package/dist/heart/tools/ZodiosToolRegistry.d.ts +0 -22
- package/dist/heart/tools/ZodiosToolRegistry.d.ts.map +0 -1
- package/dist/heart/tools/ZodiosToolRegistry.js +0 -80
- package/dist/heart/tools/ZodiosToolRegistry.js.map +0 -1
- package/dist/heart/tools/zodios/CombinedRegistry.d.ts +0 -41
- package/dist/heart/tools/zodios/CombinedRegistry.d.ts.map +0 -1
- package/dist/heart/tools/zodios/CombinedRegistry.js +0 -58
- package/dist/heart/tools/zodios/CombinedRegistry.js.map +0 -1
- package/dist/heart/tools/zodios/ZodiosToolRegistry.d.ts +0 -22
- package/dist/heart/tools/zodios/ZodiosToolRegistry.d.ts.map +0 -1
- package/dist/heart/tools/zodios/ZodiosToolRegistry.js +0 -80
- package/dist/heart/tools/zodios/ZodiosToolRegistry.js.map +0 -1
- package/dist/helpers.d.ts +0 -51
- package/dist/helpers.d.ts.map +0 -1
- package/dist/helpers.js +0 -70
- package/dist/helpers.js.map +0 -1
- package/dist/magic-funcs/decide.d.ts +0 -1
- package/dist/magic-funcs/decide.d.ts.map +0 -1
- package/dist/magic-funcs/decide.js +0 -2
- package/dist/magic-funcs/decide.js.map +0 -1
- package/dist/magic-funcs/extract.d.ts +0 -1
- package/dist/magic-funcs/extract.d.ts.map +0 -1
- package/dist/magic-funcs/extract.js +0 -2
- package/dist/magic-funcs/extract.js.map +0 -1
- package/dist/magic-funcs/structure.d.ts +0 -1
- package/dist/magic-funcs/structure.d.ts.map +0 -1
- package/dist/magic-funcs/structure.js +0 -2
- package/dist/magic-funcs/structure.js.map +0 -1
- package/dist/magic-funcs/summarize.d.ts +0 -1
- package/dist/magic-funcs/summarize.d.ts.map +0 -1
- package/dist/magic-funcs/summarize.js +0 -2
- package/dist/magic-funcs/summarize.js.map +0 -1
- package/dist/memory.d.ts +0 -91
- package/dist/memory.d.ts.map +0 -1
- package/dist/memory.js +0 -350
- package/dist/memory.js.map +0 -1
- package/dist/rag.d.ts +0 -42
- package/dist/rag.d.ts.map +0 -1
- package/dist/rag.js +0 -66
- package/dist/rag.js.map +0 -1
- package/dist/session.d.ts +0 -12
- package/dist/session.d.ts.map +0 -1
- package/dist/session.js +0 -31
- package/dist/session.js.map +0 -1
- package/dist/src/heart/agent.d.ts +0 -68
- package/dist/src/heart/agent.d.ts.map +0 -1
- package/dist/src/heart/agent.js +0 -140
- package/dist/src/heart/agent.js.map +0 -1
- package/dist/src/heart/chain.d.ts +0 -42
- package/dist/src/heart/chain.d.ts.map +0 -1
- package/dist/src/heart/chain.js +0 -152
- package/dist/src/heart/chain.js.map +0 -1
- package/dist/src/heart/chatbot.d.ts +0 -27
- package/dist/src/heart/chatbot.d.ts.map +0 -1
- package/dist/src/heart/chatbot.js +0 -100
- package/dist/src/heart/chatbot.js.map +0 -1
- package/dist/src/heart/memorychain.d.ts +0 -59
- package/dist/src/heart/memorychain.d.ts.map +0 -1
- package/dist/src/heart/memorychain.js +0 -165
- package/dist/src/heart/memorychain.js.map +0 -1
- package/dist/src/heart/tools/BasicToolRegistry.d.ts +0 -22
- package/dist/src/heart/tools/BasicToolRegistry.d.ts.map +0 -1
- package/dist/src/heart/tools/BasicToolRegistry.js +0 -45
- package/dist/src/heart/tools/BasicToolRegistry.js.map +0 -1
- package/dist/src/heart/tools/CombinedRegistry.d.ts +0 -41
- package/dist/src/heart/tools/CombinedRegistry.d.ts.map +0 -1
- package/dist/src/heart/tools/CombinedRegistry.js +0 -46
- package/dist/src/heart/tools/CombinedRegistry.js.map +0 -1
- package/dist/src/heart/tools/ZodiosToolRegistry.d.ts +0 -22
- package/dist/src/heart/tools/ZodiosToolRegistry.d.ts.map +0 -1
- package/dist/src/heart/tools/ZodiosToolRegistry.js +0 -80
- package/dist/src/heart/tools/ZodiosToolRegistry.js.map +0 -1
- package/dist/src/helpers.d.ts +0 -31
- package/dist/src/helpers.d.ts.map +0 -1
- package/dist/src/helpers.js +0 -105
- package/dist/src/helpers.js.map +0 -1
- package/dist/src/imports.d.ts +0 -44
- package/dist/src/imports.d.ts.map +0 -1
- package/dist/src/imports.js +0 -56
- package/dist/src/imports.js.map +0 -1
- package/dist/src/memory.d.ts +0 -78
- package/dist/src/memory.d.ts.map +0 -1
- package/dist/src/memory.js +0 -282
- package/dist/src/memory.js.map +0 -1
- package/dist/src/rag.d.ts +0 -58
- package/dist/src/rag.d.ts.map +0 -1
- package/dist/src/rag.js +0 -72
- package/dist/src/rag.js.map +0 -1
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { DynamicStructuredTool } from "@langchain/core/tools";
|
|
2
|
-
import type { ExtractToolNames } from "./zodios/CombinedRegistry";
|
|
3
2
|
import { z } from "zod/v4";
|
|
3
|
+
export type ExtractToolNames<T extends readonly {
|
|
4
|
+
name: string;
|
|
5
|
+
}[]> = {
|
|
6
|
+
[K in keyof T]: T[K] extends {
|
|
7
|
+
name: string;
|
|
8
|
+
} ? T[K]['name'] : never;
|
|
9
|
+
}[number];
|
|
4
10
|
export interface Tool {
|
|
5
11
|
name: string;
|
|
6
12
|
description: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolRegistry.d.ts","sourceRoot":"","sources":["../../../src/heart/tools/ToolRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,
|
|
1
|
+
{"version":3,"file":"ToolRegistry.d.ts","sourceRoot":"","sources":["../../../src/heart/tools/ToolRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,SAAS;IAAC,IAAI,EAAC,MAAM,CAAA;CAAC,EAAE,IAAI;KAC9D,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QAAC,IAAI,EAAC,MAAM,CAAA;KAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK;CACpE,CAAC,MAAM,CAAC,CAAA;AAET,MAAM,WAAW,IAAI;IACjB,IAAI,EAAC,MAAM,CAAA;IACX,WAAW,EAAC,MAAM,CAAA;IAClB,MAAM,EAAC,CAAC,CAAC,SAAS,CAAA;IAClB,IAAI,EAAC,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;CAC3B;AAED,KAAK,0BAA0B,CAAC,KAAK,SAAS,MAAM,IAAI,qBAAqB,GAAG;IAC5E,IAAI,EAAE,KAAK,CAAA;CACd,CAAA;AAED,KAAK,aAAa,CAAC,CAAC,SAAS,SAAS,IAAI,EAAE,IAAI;KAC3C,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,IAAI,EAAE,MAAM,KAAK,SAAS,MAAM,CAAA;KAAE,GAC3D,0BAA0B,CAAC,KAAK,CAAC,GACjC,KAAK;CACd,CAAA;AAED,qBAAa,YAAY,CAAC,KAAK,CAAC,CAAC,SAAS,IAAI,EAAE;IAC5C,OAAO,CAAC,KAAK,CAAiB;gBAClB,KAAK,EAAC,CAAC;IAOZ,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAW5D,QAAQ,CAAC,GAAG,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;IAI5E,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,oBAAoB;IAO5B,IAAW,QAAQ,IAAG,aAAa,CAAC,CAAC,CAAC,CAErC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolRegistry.js","sourceRoot":"","sources":["../../../src/heart/tools/ToolRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"ToolRegistry.js","sourceRoot":"","sources":["../../../src/heart/tools/ToolRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAuB1B,MAAM,OAAO,YAAY;IACb,KAAK,CAAiB;IAC9B,YAAY,KAAO;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAqB,CAAA;QACxH,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAC,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;QACxF,CAAC;IACL,CAAC;IAEM,OAAO,CAAC,IAAyB;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;QACvF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,wDAAwD,IAAI,eAAe,CAAC,CAAA;QAChG,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,2BAA2B,CAAC,CAAA;QAC7D,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,CAA6B,CAAA;IAC/C,CAAC;IAEM,QAAQ,CAAC,GAAG,KAA4B;QAC3C,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IAChD,CAAC;IAEO,UAAU,CAAC,IAAS;QACxB,OAAO,IAAI,qBAAqB,CAAC;YAC7B,IAAI,EAAC,IAAI,CAAC,IAAI;YACd,WAAW,EAAC,IAAI,CAAC,WAAW;YAC5B,MAAM,EAAC,IAAI,CAAC,MAAM;YAClB,IAAI,EAAC,IAAI,CAAC,IAAI;SACjB,CAAC,CAAA;IAEN,CAAC;IAEO,oBAAoB;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAC,KAAK,EAAC,EAAE;YAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,CAAA;QAC7C,CAAC,CAAC,CAAA;QACF,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;IAC9C,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;CACJ;AAED,MAAM,CAAC,GAAG,IAAI,YAAY,CAAC;IACvB;QACI,IAAI,EAAC,aAAa;QAClB,WAAW,EAAC,2BAA2B;QACvC,MAAM,EAAC,CAAC,CAAC,MAAM,CAAC;YACZ,IAAI,EAAC,CAAC,CAAC,MAAM,EAAE;SAClB,CAAC;QACF,IAAI,EAAC,KAAK,EAAC,EAAC,IAAI,EAAe,EAAC,EAAE;YAC9B,OAAO,kBAAkB,IAAI,WAAW,CAAA;QAC5C,CAAC;KACJ;IACD;QACI,IAAI,EAAC,UAAU;QACf,WAAW,EAAC,cAAc;QAC1B,MAAM,EAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACnB,IAAI,EAAC,KAAK,IAAE,EAAE;YACV,OAAO,eAAe,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAA;QAC3D,CAAC;KACJ;CACJ,CAAC,CAAA;AAEF,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { BaseChatModel, type BaseChatModelParams, type BaseChatModelCallOptions, type BindToolsInput, type BaseLanguageModelInput, Runnable, BaseMessage, AIMessageChunk, ChatGenerationChunk, type ChatResult, type CallbackManagerForLLMRun } from "../imports";
|
|
2
|
+
import type { AutoComplete } from "./llms";
|
|
3
|
+
export interface CLIErrorOptions {
|
|
4
|
+
provider: string;
|
|
5
|
+
/** Exit-Code des Subprozesses (falls vorhanden). */
|
|
6
|
+
exitCode?: number | null;
|
|
7
|
+
/** HTTP-Status, den die CLI gemeldet hat (z.B. 429). */
|
|
8
|
+
status?: number;
|
|
9
|
+
/** Roh-Ausgabe/JSON, das den Fehler ausgelöst hat. */
|
|
10
|
+
raw?: unknown;
|
|
11
|
+
}
|
|
12
|
+
/** Basis-Fehler für jeden Fehlschlag eines CLI-Aufrufs (`claude`, `codex`). */
|
|
13
|
+
export declare class CLIError extends Error {
|
|
14
|
+
readonly provider: string;
|
|
15
|
+
readonly exitCode?: number | null;
|
|
16
|
+
readonly status?: number;
|
|
17
|
+
readonly raw?: unknown;
|
|
18
|
+
constructor(message: string, opts: CLIErrorOptions);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Wird geworfen, wenn die CLI ein Usage-/Rate-Limit gemeldet hat (Abo-Limit,
|
|
22
|
+
* HTTP 429, Token-Quota oder Billing). So kann man im try/catch gezielt prüfen,
|
|
23
|
+
* WARUM der Aufruf fehlschlug:
|
|
24
|
+
*
|
|
25
|
+
* ```ts
|
|
26
|
+
* try { await llm.invoke(msgs) }
|
|
27
|
+
* catch (e) {
|
|
28
|
+
* if (e instanceof CLIUsageLimitError) {
|
|
29
|
+
* console.log(`Limit erreicht (${e.limitType}); reset:`, e.resetsAt)
|
|
30
|
+
* }
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare class CLIUsageLimitError extends CLIError {
|
|
35
|
+
/** Art des Limits, z.B. "five_hour" | "weekly" | "rate_limit" | "quota" | "billing" | "usage_limit". */
|
|
36
|
+
readonly limitType?: string;
|
|
37
|
+
/** Zeitpunkt, zu dem das Limit laut CLI zurückgesetzt wird (falls bekannt). */
|
|
38
|
+
readonly resetsAt?: Date;
|
|
39
|
+
constructor(message: string, opts: CLIErrorOptions & {
|
|
40
|
+
limitType?: string;
|
|
41
|
+
resetsAt?: Date;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/** Normalisierte Tool-Definition (Name + Beschreibung + JSON-Schema der Argumente). */
|
|
45
|
+
export interface CLIToolSpec {
|
|
46
|
+
name: string;
|
|
47
|
+
description: string;
|
|
48
|
+
parameters: Record<string, unknown>;
|
|
49
|
+
}
|
|
50
|
+
/** Call-Optionen inkl. der via `bindTools` gebundenen Tools. */
|
|
51
|
+
export interface CLILLMCallOptions extends BaseChatModelCallOptions {
|
|
52
|
+
tools?: CLIToolSpec[];
|
|
53
|
+
}
|
|
54
|
+
export interface CliUsage {
|
|
55
|
+
input_tokens: number;
|
|
56
|
+
output_tokens: number;
|
|
57
|
+
total_tokens: number;
|
|
58
|
+
}
|
|
59
|
+
/** Ergebnis von `parseFinal` (non-streaming, ein kompletter stdout). */
|
|
60
|
+
export interface ParsedCliFinal {
|
|
61
|
+
text: string;
|
|
62
|
+
usage?: CliUsage;
|
|
63
|
+
responseMetadata?: Record<string, unknown>;
|
|
64
|
+
raw?: unknown;
|
|
65
|
+
}
|
|
66
|
+
/** Ergebnis von `parseStreamLine` (eine NDJSON-Zeile). */
|
|
67
|
+
export interface ParsedCliStreamLine {
|
|
68
|
+
text?: string;
|
|
69
|
+
usage?: CliUsage;
|
|
70
|
+
responseMetadata?: Record<string, unknown>;
|
|
71
|
+
done?: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Fehlersignal (z.B. Claude `result` mit `is_error`, Codex `turn.failed`).
|
|
74
|
+
* Der Generator baut daraus via `buildCliError` den passenden (ggf. Usage-Limit-)Fehler und wirft ihn.
|
|
75
|
+
*/
|
|
76
|
+
error?: {
|
|
77
|
+
message: string;
|
|
78
|
+
status?: number;
|
|
79
|
+
limitType?: string;
|
|
80
|
+
resetsAt?: Date;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Rate-Limit-Metadaten (z.B. Claude `rate_limit_event` / `api_retry`) zur Anreicherung
|
|
84
|
+
* eines späteren Fehlers — kein Fehler an sich.
|
|
85
|
+
*/
|
|
86
|
+
rateLimit?: {
|
|
87
|
+
limitType?: string;
|
|
88
|
+
resetsAt?: Date;
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/** Provider-spezifische Defaults, die die Subklasse an `super()` reicht. */
|
|
92
|
+
interface CLIDefaults {
|
|
93
|
+
model: string;
|
|
94
|
+
cliPath: string;
|
|
95
|
+
provider: string;
|
|
96
|
+
}
|
|
97
|
+
export interface CLILLMParams extends BaseChatModelParams {
|
|
98
|
+
/** Model-Name, der per `--model`/`-m` an die CLI gereicht wird. */
|
|
99
|
+
model?: string;
|
|
100
|
+
/** System-Prompt. Default `""` → ersetzt den Default-(Coding-)Systemprompt der CLI. */
|
|
101
|
+
systemPrompt?: string;
|
|
102
|
+
/** Arbeitsverzeichnis des Subprozesses. Default: neutrales Temp-Verzeichnis. */
|
|
103
|
+
cwd?: string;
|
|
104
|
+
/** Pfad/Name des CLI-Binaries (Default je Subklasse). */
|
|
105
|
+
cliPath?: string;
|
|
106
|
+
/** Zusätzliche CLI-Flags (Escape-Hatch). */
|
|
107
|
+
extraArgs?: string[];
|
|
108
|
+
/** Timeout in ms; danach wird der Subprozess gekillt. */
|
|
109
|
+
timeoutMs?: number;
|
|
110
|
+
/** Zusätzliche Env-Variablen für den Subprozess. */
|
|
111
|
+
env?: Record<string, string>;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Abstrakte Basisklasse. Subklassen (`ClaudeCLI_LLM`, `OpenAICLI_LLM`) definieren
|
|
115
|
+
* nur das CLI-spezifische: Binary, Args, und das Parsen von Output/Stream.
|
|
116
|
+
*/
|
|
117
|
+
export declare abstract class CLI_LLM extends BaseChatModel<CLILLMCallOptions> {
|
|
118
|
+
model: string;
|
|
119
|
+
systemPrompt: string;
|
|
120
|
+
cwd: string;
|
|
121
|
+
cliPath: string;
|
|
122
|
+
extraArgs: string[];
|
|
123
|
+
timeoutMs?: number;
|
|
124
|
+
env?: Record<string, string>;
|
|
125
|
+
/** Provider-Tag, analog zu `getLLM()`-Rückgaben (`"claude-cli"`, `"openai-cli"`). */
|
|
126
|
+
provider: string;
|
|
127
|
+
/** Baut die CLI-Argumente. `systemPrompt` ist der effektive (ggf. aus Messages stammende). */
|
|
128
|
+
protected abstract buildArgs(stream: boolean, systemPrompt: string): string[];
|
|
129
|
+
/** Parst den kompletten stdout eines non-streaming Laufs. */
|
|
130
|
+
protected abstract parseFinal(stdout: string): ParsedCliFinal;
|
|
131
|
+
/** Parst eine einzelne NDJSON-Zeile eines Streams (undefined = ignorieren). */
|
|
132
|
+
protected abstract parseStreamLine(line: string): ParsedCliStreamLine | undefined;
|
|
133
|
+
/**
|
|
134
|
+
* Wie der Prompt an stdin übergeben wird. Default: nur der User-Prompt.
|
|
135
|
+
* Codex hat z.B. kein `--system-prompt`-Flag → überschreibt das, um den
|
|
136
|
+
* System-Prompt als Präambel voranzustellen.
|
|
137
|
+
*/
|
|
138
|
+
protected composeStdin(_systemPrompt: string, userPrompt: string): string;
|
|
139
|
+
constructor(fields: CLILLMParams, defaults: CLIDefaults);
|
|
140
|
+
_llmType(): string;
|
|
141
|
+
/**
|
|
142
|
+
* Macht das Model in LangGraph-React-Agents nutzbar. Da die CLI keine nativen
|
|
143
|
+
* `tool_calls` liefert, werden die Tools als Spezifikationen gebunden und in
|
|
144
|
+
* `_generate` per Prompt-Protokoll emuliert (siehe `parseToolDecision`).
|
|
145
|
+
*/
|
|
146
|
+
bindTools(tools: BindToolsInput[], kwargs?: Partial<CLILLMCallOptions>): Runnable<BaseLanguageModelInput, AIMessageChunk, CLILLMCallOptions>;
|
|
147
|
+
/** Baut die Tool-Anweisung, die dem System-Prompt angehängt wird. */
|
|
148
|
+
protected buildToolInstruction(tools: CLIToolSpec[]): string;
|
|
149
|
+
/** Messages → `{ systemPrompt, userPrompt }`. SystemMessages überschreiben `this.systemPrompt`. */
|
|
150
|
+
protected messagesToCliInput(messages: BaseMessage[]): {
|
|
151
|
+
systemPrompt: string;
|
|
152
|
+
userPrompt: string;
|
|
153
|
+
};
|
|
154
|
+
_generate(messages: BaseMessage[], options: this["ParsedCallOptions"], _runManager?: CallbackManagerForLLMRun): Promise<ChatResult>;
|
|
155
|
+
_streamResponseChunks(messages: BaseMessage[], options: this["ParsedCallOptions"], runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;
|
|
156
|
+
/** Startet die CLI, schreibt stdin, sammelt stdout. Wirft bei Exit≠0, Timeout oder Abort. */
|
|
157
|
+
protected runCli(args: string[], stdin: string, signal?: AbortSignal): Promise<string>;
|
|
158
|
+
/** Wie `runCli`, liefert stdout aber zeilenweise als Async-Iterator (für Streaming). */
|
|
159
|
+
protected runCliStreaming(args: string[], stdin: string, signal?: AbortSignal): AsyncGenerator<string>;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Volle, versionierte Model-IDs, die `claude --model` akzeptiert (aktuelle Modelle, Stand 2026-06).
|
|
163
|
+
* Aliasse wie "opus"/"sonnet"/"haiku"/"fable" funktionieren via `AutoComplete` ebenfalls,
|
|
164
|
+
* zeigen aber immer auf das jeweils neueste Modell — daher hier bewusst die genauen IDs.
|
|
165
|
+
*/
|
|
166
|
+
export type ClaudeCLIModel = AutoComplete<"claude-fable-5" | "claude-opus-4-8" | "claude-opus-4-7" | "claude-opus-4-6" | "claude-opus-4-5" | "claude-sonnet-4-6" | "claude-haiku-4-5">;
|
|
167
|
+
export interface ClaudeCLILLMParams extends CLILLMParams {
|
|
168
|
+
model?: ClaudeCLIModel;
|
|
169
|
+
}
|
|
170
|
+
export declare class ClaudeCLI_LLM extends CLI_LLM {
|
|
171
|
+
static lc_name(): string;
|
|
172
|
+
constructor(fields?: ClaudeCLILLMParams);
|
|
173
|
+
protected buildArgs(stream: boolean, systemPrompt: string): string[];
|
|
174
|
+
protected parseFinal(stdout: string): ParsedCliFinal;
|
|
175
|
+
protected parseStreamLine(line: string): ParsedCliStreamLine | undefined;
|
|
176
|
+
}
|
|
177
|
+
/** Von `codex -m/--model` akzeptiert (siehe developers.openai.com/codex/models). */
|
|
178
|
+
export type OpenAICLIModel = AutoComplete<"gpt-5.5" | "gpt-5.4" | "gpt-5.4-mini" | "gpt-5.3-codex-spark">;
|
|
179
|
+
export interface OpenAICLILLMParams extends CLILLMParams {
|
|
180
|
+
model?: OpenAICLIModel;
|
|
181
|
+
}
|
|
182
|
+
export declare class OpenAICLI_LLM extends CLI_LLM {
|
|
183
|
+
static lc_name(): string;
|
|
184
|
+
constructor(fields?: OpenAICLILLMParams);
|
|
185
|
+
protected buildArgs(_stream: boolean, _systemPrompt: string): string[];
|
|
186
|
+
/** Codex hat kein `--system-prompt` → als Präambel voranstellen. */
|
|
187
|
+
protected composeStdin(systemPrompt: string, userPrompt: string): string;
|
|
188
|
+
protected parseFinal(stdout: string): ParsedCliFinal;
|
|
189
|
+
protected parseStreamLine(line: string): ParsedCliStreamLine | undefined;
|
|
190
|
+
}
|
|
191
|
+
export {};
|
|
192
|
+
//# sourceMappingURL=cli-llms.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-llms.d.ts","sourceRoot":"","sources":["../../src/helpers/cli-llms.ts"],"names":[],"mappings":"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"}
|