@delofarag/ai-utils 1.6.0 → 1.7.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 +648 -97
- package/dist/client/index.d.ts +5 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +13 -0
- package/dist/client/index.js.map +1 -0
- package/dist/heart/agent.d.ts +6 -6
- package/dist/heart/agent.d.ts.map +1 -1
- package/dist/heart/agent.js +21 -21
- package/dist/heart/agent.js.map +1 -1
- package/dist/heart/chain.d.ts +4 -8
- package/dist/heart/chain.d.ts.map +1 -1
- package/dist/heart/chain.js +1 -1
- package/dist/heart/chain.js.map +1 -1
- package/dist/heart/deepAgent.d.ts +111 -0
- package/dist/heart/deepAgent.d.ts.map +1 -0
- package/dist/heart/deepAgent.js +305 -0
- package/dist/heart/deepAgent.js.map +1 -0
- package/dist/heart/hermesAgent.d.ts +22 -0
- package/dist/heart/hermesAgent.d.ts.map +1 -0
- package/dist/heart/hermesAgent.js +21 -0
- package/dist/heart/hermesAgent.js.map +1 -0
- package/dist/heart/routine.d.ts +15 -0
- package/dist/heart/routine.d.ts.map +1 -0
- package/dist/heart/routine.js +67 -0
- package/dist/heart/routine.js.map +1 -0
- package/dist/heart/tools/RAGTool.d.ts +3 -7
- package/dist/heart/tools/RAGTool.d.ts.map +1 -1
- package/dist/heart/tools/RAGTool.js +1 -1
- package/dist/heart/tools/RAGTool.js.map +1 -1
- package/dist/heart/tools/Tavily.d.ts +3 -7
- package/dist/heart/tools/Tavily.d.ts.map +1 -1
- package/dist/heart/tools/Tavily.js +1 -1
- package/dist/heart/tools/Tavily.js.map +1 -1
- package/dist/heart/tools/ToolRegistry.d.ts +14 -5
- package/dist/heart/tools/ToolRegistry.d.ts.map +1 -1
- package/dist/heart/tools/ToolRegistry.js +2 -3
- package/dist/heart/tools/ToolRegistry.js.map +1 -1
- package/dist/heart/tools/zodios/CombinedRegistry.js +1 -1
- package/dist/heart/tools/zodios/ZodiosToolRegistry.js +1 -1
- package/dist/helpers/chatbot.d.ts +11 -3
- package/dist/helpers/chatbot.d.ts.map +1 -1
- package/dist/helpers/chatbot.js +44 -5
- package/dist/helpers/chatbot.js.map +1 -1
- package/dist/helpers/deepagent/backend.d.ts +92 -0
- package/dist/helpers/deepagent/backend.d.ts.map +1 -0
- package/dist/helpers/deepagent/backend.js +93 -0
- package/dist/helpers/deepagent/backend.js.map +1 -0
- package/dist/helpers/deepagent/interruptOn.d.ts +93 -0
- package/dist/helpers/deepagent/interruptOn.d.ts.map +1 -0
- package/dist/helpers/deepagent/interruptOn.js +190 -0
- package/dist/helpers/deepagent/interruptOn.js.map +1 -0
- package/dist/helpers/deepagent/interruptTypes.d.ts +65 -0
- package/dist/helpers/deepagent/interruptTypes.d.ts.map +1 -0
- package/dist/helpers/deepagent/interruptTypes.js +2 -0
- package/dist/helpers/deepagent/interruptTypes.js.map +1 -0
- package/dist/helpers/deepagent/permissions.d.ts +58 -0
- package/dist/helpers/deepagent/permissions.d.ts.map +1 -0
- package/dist/helpers/deepagent/permissions.js +72 -0
- package/dist/helpers/deepagent/permissions.js.map +1 -0
- package/dist/helpers/deepagent/sandbox.d.ts +7 -0
- package/dist/helpers/deepagent/sandbox.d.ts.map +1 -0
- package/dist/helpers/deepagent/sandbox.js +8 -0
- package/dist/helpers/deepagent/sandbox.js.map +1 -0
- package/dist/helpers/deepagent/streamEvents.d.ts +10 -0
- package/dist/helpers/deepagent/streamEvents.d.ts.map +1 -0
- package/dist/helpers/deepagent/streamEvents.js +149 -0
- package/dist/helpers/deepagent/streamEvents.js.map +1 -0
- package/dist/helpers/helpers.d.ts +4 -3
- package/dist/helpers/helpers.d.ts.map +1 -1
- package/dist/helpers/helpers.js +25 -0
- package/dist/helpers/helpers.js.map +1 -1
- package/dist/helpers/llms.d.ts +14 -4
- package/dist/helpers/llms.d.ts.map +1 -1
- package/dist/helpers/llms.js +20 -9
- package/dist/helpers/llms.js.map +1 -1
- package/dist/helpers/rag.d.ts +1 -1
- package/dist/imports.d.ts +14 -2
- package/dist/imports.d.ts.map +1 -1
- package/dist/imports.js +15 -2
- package/dist/imports.js.map +1 -1
- package/dist/index.d.ts +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/magic-funcs/evaluators/classify.d.ts +3 -11
- package/dist/magic-funcs/evaluators/classify.d.ts.map +1 -1
- package/dist/magic-funcs/evaluators/classify.js +1 -1
- package/dist/magic-funcs/evaluators/decide.d.ts +7 -11
- package/dist/magic-funcs/evaluators/decide.d.ts.map +1 -1
- package/dist/magic-funcs/evaluators/decide.js +1 -1
- package/dist/magic-funcs/parsers/extract.d.ts +2 -2
- package/dist/magic-funcs/parsers/extract.d.ts.map +1 -1
- package/dist/magic-funcs/parsers/extract.js.map +1 -1
- package/dist/magic-funcs/parsers/structure.d.ts +1 -1
- package/dist/magic-funcs/parsers/structure.js.map +1 -1
- package/package.json +33 -18
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interruptOn.js","sourceRoot":"","sources":["../../../src/helpers/deepagent/interruptOn.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { InvokeInputBase } from "../../heart/chain";
|
|
2
|
+
export type DeepAgentAllowedDecision = "approve" | "edit" | "reject";
|
|
3
|
+
export type DeepAgentInterruptSingle = {
|
|
4
|
+
kind: "interrupt";
|
|
5
|
+
question: string;
|
|
6
|
+
decisions: DeepAgentAllowedDecision[];
|
|
7
|
+
toolName?: string;
|
|
8
|
+
args?: Record<string, unknown>;
|
|
9
|
+
};
|
|
10
|
+
export type DeepAgentInterruptBatch = {
|
|
11
|
+
kind: "interrupt";
|
|
12
|
+
items: Array<{
|
|
13
|
+
question: string;
|
|
14
|
+
decisions: DeepAgentAllowedDecision[];
|
|
15
|
+
toolName: string;
|
|
16
|
+
args: Record<string, unknown>;
|
|
17
|
+
}>;
|
|
18
|
+
};
|
|
19
|
+
export type DeepAgentInterrupt = DeepAgentInterruptSingle | DeepAgentInterruptBatch;
|
|
20
|
+
export type DeepAgentToolEvent = {
|
|
21
|
+
kind: "tool";
|
|
22
|
+
phase: "start";
|
|
23
|
+
toolName: string;
|
|
24
|
+
args?: Record<string, unknown>;
|
|
25
|
+
} | {
|
|
26
|
+
kind: "tool";
|
|
27
|
+
phase: "end";
|
|
28
|
+
toolName: string;
|
|
29
|
+
output?: string;
|
|
30
|
+
};
|
|
31
|
+
export type DeepAgentStreamChunk = string | DeepAgentInterrupt;
|
|
32
|
+
export type DeepAgentStreamChunkWithTools = DeepAgentStreamChunk | DeepAgentToolEvent;
|
|
33
|
+
export type DeepAgentUserDecision = "approve" | "reject" | {
|
|
34
|
+
type: "reject";
|
|
35
|
+
message: string;
|
|
36
|
+
} | {
|
|
37
|
+
type: "edit";
|
|
38
|
+
args: Record<string, unknown>;
|
|
39
|
+
};
|
|
40
|
+
/** Basis-Input für invoke/stream — immer (mit/ohne interruptOn). */
|
|
41
|
+
export type DeepAgentRunInputBase = InvokeInputBase & {
|
|
42
|
+
thread_id?: string;
|
|
43
|
+
context?: Record<string, unknown>;
|
|
44
|
+
};
|
|
45
|
+
/** HITL-Felder — nur im Typ wenn interruptOn konfiguriert. */
|
|
46
|
+
export type DeepAgentHitlFields = {
|
|
47
|
+
decision?: DeepAgentUserDecision;
|
|
48
|
+
decisions?: DeepAgentUserDecision[];
|
|
49
|
+
};
|
|
50
|
+
/** stream()-only — Return-Typ enthält dann DeepAgentToolEvent. */
|
|
51
|
+
export type DeepAgentShowToolCallsField = {
|
|
52
|
+
showToolCalls: true;
|
|
53
|
+
};
|
|
54
|
+
/** Tool-Call der an `question`-Functions übergeben wird (vor der Pause). */
|
|
55
|
+
export type DeepAgentInterruptToolCall = {
|
|
56
|
+
name: string;
|
|
57
|
+
args: Record<string, unknown>;
|
|
58
|
+
};
|
|
59
|
+
export type DeepAgentInterruptQuestion = string | ((toolCall: DeepAgentInterruptToolCall) => string | Promise<string>);
|
|
60
|
+
/** User-Config pro Tool für `interruptOn` auf DeepAgent. */
|
|
61
|
+
export type DeepAgentInterruptConfig = {
|
|
62
|
+
decisions: DeepAgentAllowedDecision[];
|
|
63
|
+
question: DeepAgentInterruptQuestion;
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=interruptTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interruptTypes.d.ts","sourceRoot":"","sources":["../../../src/helpers/deepagent/interruptTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAExD,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAA;AAEpE,MAAM,MAAM,wBAAwB,GAAG;IACnC,IAAI,EAAE,WAAW,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,wBAAwB,EAAE,CAAA;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IAClC,IAAI,EAAE,WAAW,CAAA;IACjB,KAAK,EAAE,KAAK,CAAC;QACT,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,wBAAwB,EAAE,CAAA;QACrC,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAChC,CAAC,CAAA;CACL,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,wBAAwB,GAAG,uBAAuB,CAAA;AAEnF,MAAM,MAAM,kBAAkB,GACxB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAClF;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvE,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,kBAAkB,CAAA;AAE9D,MAAM,MAAM,6BAA6B,GAAG,oBAAoB,GAAG,kBAAkB,CAAA;AAErF,MAAM,MAAM,qBAAqB,GAC3B,SAAS,GACT,QAAQ,GACR;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAA;AAErD,oEAAoE;AACpE,MAAM,MAAM,qBAAqB,GAAG,eAAe,GAAG;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC,CAAA;AAED,8DAA8D;AAC9D,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IAChC,SAAS,CAAC,EAAE,qBAAqB,EAAE,CAAA;CACtC,CAAA;AAED,kEAAkE;AAClE,MAAM,MAAM,2BAA2B,GAAG;IACtC,aAAa,EAAE,IAAI,CAAA;CACtB,CAAA;AAED,4EAA4E;AAC5E,MAAM,MAAM,0BAA0B,GAAG;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,0BAA0B,GAChC,MAAM,GACN,CAAC,CAAC,QAAQ,EAAE,0BAA0B,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;AAE1E,4DAA4D;AAC5D,MAAM,MAAM,wBAAwB,GAAG;IACnC,SAAS,EAAE,wBAAwB,EAAE,CAAA;IACrC,QAAQ,EAAE,0BAA0B,CAAA;CACvC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interruptTypes.js","sourceRoot":"","sources":["../../../src/helpers/deepagent/interruptTypes.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { FilesystemPermission } from "../../imports";
|
|
2
|
+
/**
|
|
3
|
+
* Statische Filesystem-Regeln für DeepAgent (`permissions`-Prop).
|
|
4
|
+
*
|
|
5
|
+
* Das ist **kein** `interruptOn` — kein User-Dialog, keine Pause.
|
|
6
|
+
* Regeln gelten nur für Filesystem-Tools: `ls`, `read_file`, `write_file`,
|
|
7
|
+
* `edit_file`, `glob`, `grep`. Custom-Tools (z.B. `getCandidates`) sind nicht betroffen.
|
|
8
|
+
*
|
|
9
|
+
* Auswertung: Regeln in Reihenfolge, erste passende Regel gewinnt.
|
|
10
|
+
* Kein Match → Zugriff erlaubt (permissive default).
|
|
11
|
+
*
|
|
12
|
+
* Pfade: absolute Globs ab `/` (z.B. `/workspace/**`, `/**`).
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Erlaubt Lesen (`read`) auf den angegebenen Pfad-Globs.
|
|
16
|
+
* Betrifft: `ls`, `read_file`, `glob`, `grep`.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* allowRead(["/candidates/**", "/workspace/**"])
|
|
20
|
+
*/
|
|
21
|
+
export declare function allowRead(paths: string[]): FilesystemPermission;
|
|
22
|
+
/**
|
|
23
|
+
* Blockiert Lesen (`read`) auf den angegebenen Pfad-Globs.
|
|
24
|
+
* Betrifft: `ls`, `read_file`, `glob`, `grep`.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* denyRead(["/secrets/**", "/**"])
|
|
28
|
+
*/
|
|
29
|
+
export declare function denyRead(paths: string[]): FilesystemPermission;
|
|
30
|
+
/**
|
|
31
|
+
* Erlaubt Schreiben (`write`) auf den angegebenen Pfad-Globs.
|
|
32
|
+
* Betrifft: `write_file`, `edit_file`.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* allowWrite(["/workspace/**"])
|
|
36
|
+
*/
|
|
37
|
+
export declare function allowWrite(paths: string[]): FilesystemPermission;
|
|
38
|
+
/**
|
|
39
|
+
* Blockiert Schreiben (`write`) auf den angegebenen Pfad-Globs.
|
|
40
|
+
* Betrifft: `write_file`, `edit_file`.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* denyWrite(["/**"])
|
|
44
|
+
*/
|
|
45
|
+
export declare function denyWrite(paths: string[]): FilesystemPermission;
|
|
46
|
+
/**
|
|
47
|
+
* Standard-Preset: lesen + schreiben nur unter `route` (default `/workspace/`),
|
|
48
|
+
* überall sonst lesen und schreiben verboten.
|
|
49
|
+
*
|
|
50
|
+
* Sinnvoll zusammen mit `createWorkspaceBackend()` — Agent darf nur
|
|
51
|
+
* im Workspace arbeiten, interne State-Pfade bleiben unberührt.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* permissions: workspacePermissions()
|
|
55
|
+
* permissions: workspacePermissions("/projects/my-app/")
|
|
56
|
+
*/
|
|
57
|
+
export declare function workspacePermissions(route?: string): FilesystemPermission[];
|
|
58
|
+
//# sourceMappingURL=permissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../src/helpers/deepagent/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAEzD;;;;;;;;;;;GAWG;AAEH;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAE/D;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAE9D;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAEhE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAE/D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,SAAgB,GAAG,oBAAoB,EAAE,CAOlF"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Statische Filesystem-Regeln für DeepAgent (`permissions`-Prop).
|
|
3
|
+
*
|
|
4
|
+
* Das ist **kein** `interruptOn` — kein User-Dialog, keine Pause.
|
|
5
|
+
* Regeln gelten nur für Filesystem-Tools: `ls`, `read_file`, `write_file`,
|
|
6
|
+
* `edit_file`, `glob`, `grep`. Custom-Tools (z.B. `getCandidates`) sind nicht betroffen.
|
|
7
|
+
*
|
|
8
|
+
* Auswertung: Regeln in Reihenfolge, erste passende Regel gewinnt.
|
|
9
|
+
* Kein Match → Zugriff erlaubt (permissive default).
|
|
10
|
+
*
|
|
11
|
+
* Pfade: absolute Globs ab `/` (z.B. `/workspace/**`, `/**`).
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Erlaubt Lesen (`read`) auf den angegebenen Pfad-Globs.
|
|
15
|
+
* Betrifft: `ls`, `read_file`, `glob`, `grep`.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* allowRead(["/candidates/**", "/workspace/**"])
|
|
19
|
+
*/
|
|
20
|
+
export function allowRead(paths) {
|
|
21
|
+
return { operations: ["read"], paths, mode: "allow" };
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Blockiert Lesen (`read`) auf den angegebenen Pfad-Globs.
|
|
25
|
+
* Betrifft: `ls`, `read_file`, `glob`, `grep`.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* denyRead(["/secrets/**", "/**"])
|
|
29
|
+
*/
|
|
30
|
+
export function denyRead(paths) {
|
|
31
|
+
return { operations: ["read"], paths, mode: "deny" };
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Erlaubt Schreiben (`write`) auf den angegebenen Pfad-Globs.
|
|
35
|
+
* Betrifft: `write_file`, `edit_file`.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* allowWrite(["/workspace/**"])
|
|
39
|
+
*/
|
|
40
|
+
export function allowWrite(paths) {
|
|
41
|
+
return { operations: ["write"], paths, mode: "allow" };
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Blockiert Schreiben (`write`) auf den angegebenen Pfad-Globs.
|
|
45
|
+
* Betrifft: `write_file`, `edit_file`.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* denyWrite(["/**"])
|
|
49
|
+
*/
|
|
50
|
+
export function denyWrite(paths) {
|
|
51
|
+
return { operations: ["write"], paths, mode: "deny" };
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Standard-Preset: lesen + schreiben nur unter `route` (default `/workspace/`),
|
|
55
|
+
* überall sonst lesen und schreiben verboten.
|
|
56
|
+
*
|
|
57
|
+
* Sinnvoll zusammen mit `createWorkspaceBackend()` — Agent darf nur
|
|
58
|
+
* im Workspace arbeiten, interne State-Pfade bleiben unberührt.
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* permissions: workspacePermissions()
|
|
62
|
+
* permissions: workspacePermissions("/projects/my-app/")
|
|
63
|
+
*/
|
|
64
|
+
export function workspacePermissions(route = "/workspace/") {
|
|
65
|
+
const normalizedRoute = route.endsWith("/") ? route : `${route}/`;
|
|
66
|
+
return [
|
|
67
|
+
{ operations: ["read", "write"], paths: [`${normalizedRoute}**`], mode: "allow" },
|
|
68
|
+
{ operations: ["read"], paths: ["/**"], mode: "deny" },
|
|
69
|
+
{ operations: ["write"], paths: ["/**"], mode: "deny" },
|
|
70
|
+
];
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../src/helpers/deepagent/permissions.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,KAAe;IACrC,OAAO,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AACzD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAe;IACpC,OAAO,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;AACxD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,KAAe;IACtC,OAAO,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAC1D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,KAAe;IACrC,OAAO,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;AACzD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAK,GAAG,aAAa;IACtD,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAA;IACjE,OAAO;QACH,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,eAAe,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;QACjF,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;QACtD,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;KAC1D,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DenoSandbox, DaytonaSandbox } from "../../imports";
|
|
2
|
+
type DenoSandboxOptions = NonNullable<Parameters<typeof DenoSandbox.create>[0]>;
|
|
3
|
+
type DaytonaSandboxOptions = NonNullable<Parameters<typeof DaytonaSandbox.create>[0]>;
|
|
4
|
+
export declare function createDenoSandbox(options?: DenoSandboxOptions): Promise<DenoSandbox>;
|
|
5
|
+
export declare function createDaytonaSandbox(options?: DaytonaSandboxOptions): Promise<DaytonaSandbox>;
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=sandbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../src/helpers/deepagent/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE3D,KAAK,kBAAkB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/E,KAAK,qBAAqB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAErF,wBAAsB,iBAAiB,CAAC,OAAO,CAAC,EAAE,kBAAkB,wBAEnE;AAED,wBAAsB,oBAAoB,CAAC,OAAO,CAAC,EAAE,qBAAqB,2BAEzE"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DenoSandbox, DaytonaSandbox } from "../../imports";
|
|
2
|
+
export async function createDenoSandbox(options) {
|
|
3
|
+
return DenoSandbox.create(options);
|
|
4
|
+
}
|
|
5
|
+
export async function createDaytonaSandbox(options) {
|
|
6
|
+
return DaytonaSandbox.create(options);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=sandbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../src/helpers/deepagent/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAK3D,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAA4B;IAChE,OAAO,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAA+B;IACtE,OAAO,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AACzC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { DeepAgentInterrupt, DeepAgentToolEvent } from "./interruptTypes";
|
|
2
|
+
export declare function extractToolStartsFromMessageChunk(chunk: unknown, seenIds: Set<string>): DeepAgentToolEvent[];
|
|
3
|
+
export declare function extractToolEndFromMessageChunk(chunk: unknown): DeepAgentToolEvent | undefined;
|
|
4
|
+
export declare function extractTextFromStreamMessageChunk(chunk: unknown): string | undefined;
|
|
5
|
+
export declare function mapNativeStreamChunk(chunk: unknown, opts: {
|
|
6
|
+
interruptOn: boolean;
|
|
7
|
+
showToolCalls: boolean;
|
|
8
|
+
seenToolStarts: Set<string>;
|
|
9
|
+
}): Array<string | DeepAgentInterrupt | DeepAgentToolEvent>;
|
|
10
|
+
//# sourceMappingURL=streamEvents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamEvents.d.ts","sourceRoot":"","sources":["../../../src/helpers/deepagent/streamEvents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAoC9E,wBAAgB,iCAAiC,CAC7C,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,GACrB,kBAAkB,EAAE,CA6BtB;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,SAAS,CA4B7F;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAmBpF;AAED,wBAAgB,oBAAoB,CAChC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE;IACF,WAAW,EAAE,OAAO,CAAA;IACpB,aAAa,EAAE,OAAO,CAAA;IACtB,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC9B,GACF,KAAK,CAAC,MAAM,GAAG,kBAAkB,GAAG,kBAAkB,CAAC,CA0CzD"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { extractInterruptFromStreamUpdate } from "./interruptOn";
|
|
2
|
+
function getMessageChunk(chunk) {
|
|
3
|
+
return Array.isArray(chunk) ? chunk[0] : chunk;
|
|
4
|
+
}
|
|
5
|
+
function getMessageMetadata(chunk) {
|
|
6
|
+
return Array.isArray(chunk) ? chunk[1] : undefined;
|
|
7
|
+
}
|
|
8
|
+
function getMessageType(messageChunk) {
|
|
9
|
+
if (typeof messageChunk?._getType === "function") {
|
|
10
|
+
return messageChunk._getType();
|
|
11
|
+
}
|
|
12
|
+
return messageChunk?._getType;
|
|
13
|
+
}
|
|
14
|
+
function parseToolArgs(args) {
|
|
15
|
+
if (args === undefined || args === null)
|
|
16
|
+
return undefined;
|
|
17
|
+
if (typeof args === "object" && !Array.isArray(args)) {
|
|
18
|
+
return args;
|
|
19
|
+
}
|
|
20
|
+
if (typeof args === "string" && args.length > 0) {
|
|
21
|
+
try {
|
|
22
|
+
const parsed = JSON.parse(args);
|
|
23
|
+
if (typeof parsed === "object" && parsed !== null && !Array.isArray(parsed)) {
|
|
24
|
+
return parsed;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
export function extractToolStartsFromMessageChunk(chunk, seenIds) {
|
|
34
|
+
const messageChunk = getMessageChunk(chunk);
|
|
35
|
+
const events = [];
|
|
36
|
+
for (const call of messageChunk?.tool_calls ?? []) {
|
|
37
|
+
const id = call?.id ?? call?.name;
|
|
38
|
+
if (!id || !call?.name || seenIds.has(id))
|
|
39
|
+
continue;
|
|
40
|
+
seenIds.add(id);
|
|
41
|
+
events.push({
|
|
42
|
+
kind: "tool",
|
|
43
|
+
phase: "start",
|
|
44
|
+
toolName: call.name,
|
|
45
|
+
args: parseToolArgs(call.args),
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
for (const call of messageChunk?.tool_call_chunks ?? []) {
|
|
49
|
+
const id = call?.id ?? `${call?.index ?? 0}-${call?.name ?? "tool"}`;
|
|
50
|
+
if (!call?.name || seenIds.has(id))
|
|
51
|
+
continue;
|
|
52
|
+
seenIds.add(id);
|
|
53
|
+
events.push({
|
|
54
|
+
kind: "tool",
|
|
55
|
+
phase: "start",
|
|
56
|
+
toolName: call.name,
|
|
57
|
+
args: parseToolArgs(call.args),
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
return events;
|
|
61
|
+
}
|
|
62
|
+
export function extractToolEndFromMessageChunk(chunk) {
|
|
63
|
+
const messageChunk = getMessageChunk(chunk);
|
|
64
|
+
const metadata = getMessageMetadata(chunk);
|
|
65
|
+
const node = metadata?.langgraph_node;
|
|
66
|
+
const messageType = getMessageType(messageChunk);
|
|
67
|
+
if (messageType !== "tool" && node !== "tools") {
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
const toolName = messageChunk?.name;
|
|
71
|
+
if (!toolName || typeof toolName !== "string") {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
const raw = messageChunk?.content;
|
|
75
|
+
const output = typeof raw === "string"
|
|
76
|
+
? raw
|
|
77
|
+
: raw !== undefined
|
|
78
|
+
? JSON.stringify(raw)
|
|
79
|
+
: undefined;
|
|
80
|
+
return {
|
|
81
|
+
kind: "tool",
|
|
82
|
+
phase: "end",
|
|
83
|
+
toolName,
|
|
84
|
+
output,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
export function extractTextFromStreamMessageChunk(chunk) {
|
|
88
|
+
const messageChunk = getMessageChunk(chunk);
|
|
89
|
+
const metadata = getMessageMetadata(chunk);
|
|
90
|
+
const node = metadata?.langgraph_node;
|
|
91
|
+
const messageType = getMessageType(messageChunk);
|
|
92
|
+
if (node === "tools" || messageType === "tool") {
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
const raw = messageChunk?.content;
|
|
96
|
+
if (typeof raw === "string") {
|
|
97
|
+
return raw.length > 0 ? raw : undefined;
|
|
98
|
+
}
|
|
99
|
+
if (Array.isArray(raw)) {
|
|
100
|
+
const text = raw.map((part) => part?.text ?? "").join("");
|
|
101
|
+
return text.length > 0 ? text : undefined;
|
|
102
|
+
}
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
export function mapNativeStreamChunk(chunk, opts) {
|
|
106
|
+
const out = [];
|
|
107
|
+
const isMultimode = Array.isArray(chunk)
|
|
108
|
+
&& chunk.length === 2
|
|
109
|
+
&& typeof chunk[0] === "string";
|
|
110
|
+
if (isMultimode) {
|
|
111
|
+
const [mode, data] = chunk;
|
|
112
|
+
if (mode === "updates") {
|
|
113
|
+
if (opts.interruptOn) {
|
|
114
|
+
const interrupt = extractInterruptFromStreamUpdate(data);
|
|
115
|
+
if (interrupt)
|
|
116
|
+
out.push(interrupt);
|
|
117
|
+
}
|
|
118
|
+
return out;
|
|
119
|
+
}
|
|
120
|
+
if (mode === "messages") {
|
|
121
|
+
if (opts.showToolCalls) {
|
|
122
|
+
for (const toolStart of extractToolStartsFromMessageChunk(data, opts.seenToolStarts)) {
|
|
123
|
+
out.push(toolStart);
|
|
124
|
+
}
|
|
125
|
+
const toolEnd = extractToolEndFromMessageChunk(data);
|
|
126
|
+
if (toolEnd)
|
|
127
|
+
out.push(toolEnd);
|
|
128
|
+
}
|
|
129
|
+
const text = extractTextFromStreamMessageChunk(data);
|
|
130
|
+
if (text)
|
|
131
|
+
out.push(text);
|
|
132
|
+
return out;
|
|
133
|
+
}
|
|
134
|
+
return out;
|
|
135
|
+
}
|
|
136
|
+
if (opts.showToolCalls) {
|
|
137
|
+
for (const toolStart of extractToolStartsFromMessageChunk(chunk, opts.seenToolStarts)) {
|
|
138
|
+
out.push(toolStart);
|
|
139
|
+
}
|
|
140
|
+
const toolEnd = extractToolEndFromMessageChunk(chunk);
|
|
141
|
+
if (toolEnd)
|
|
142
|
+
out.push(toolEnd);
|
|
143
|
+
}
|
|
144
|
+
const text = extractTextFromStreamMessageChunk(chunk);
|
|
145
|
+
if (text)
|
|
146
|
+
out.push(text);
|
|
147
|
+
return out;
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=streamEvents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamEvents.js","sourceRoot":"","sources":["../../../src/helpers/deepagent/streamEvents.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BaseChatModel, BaseOutputParser, ChatPromptTemplate, StructuredOutputParser } from "../imports";
|
|
2
|
-
import { z } from "zod/
|
|
3
|
-
|
|
2
|
+
import { z } from "zod/v4";
|
|
3
|
+
import type { DeepAgentStreamChunk, DeepAgentStreamChunkWithTools } from "./deepagent/interruptTypes";
|
|
4
|
+
export declare function logChunk(chunk: DeepAgentStreamChunk | DeepAgentStreamChunkWithTools): void;
|
|
4
5
|
export declare function createSimpleChain(prompt: ChatPromptTemplate, llm: BaseChatModel, parser?: BaseOutputParser | null): import("@langchain/core/runnables").Runnable<any, unknown, import("@langchain/core/runnables").RunnableConfig<Record<string, any>>>;
|
|
5
6
|
export declare function wait(ms: number): Promise<unknown>;
|
|
6
7
|
export declare function stream(text: string | Array<any>, wait_in_between?: number): AsyncGenerator<string, void, unknown>;
|
|
@@ -18,7 +19,7 @@ export declare function stream(text: string | Array<any>, wait_in_between?: numb
|
|
|
18
19
|
* @param zodschema - The Zod schema to parse the output
|
|
19
20
|
* @returns An object containing the prompt and parser
|
|
20
21
|
*/
|
|
21
|
-
export declare function outputschema(zodschema: z.ZodObject
|
|
22
|
+
export declare function outputschema(zodschema: z.ZodObject): {
|
|
22
23
|
prompt: string;
|
|
23
24
|
parser: StructuredOutputParser<any>;
|
|
24
25
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACzG,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACzG,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,KAAK,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAGtG,wBAAgB,QAAQ,CAAC,KAAK,EAAE,oBAAoB,GAAG,6BAA6B,QAgCnF;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,GAAE,gBAAgB,GAAG,IAAW,uIAEvH;AAED,wBAAsB,IAAI,CAAC,EAAE,EAAC,MAAM,oBAEnC;AAED,wBAAuB,MAAM,CAAC,IAAI,EAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,EAAC,eAAe,GAAC,MAAY,yCAKlF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,GAAG;IACpD,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAA;CACpC,CAIA"}
|
package/dist/helpers/helpers.js
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
import { StructuredOutputParser } from "../imports";
|
|
2
|
+
import { isInterrupt, isToolEvent } from "../client/index";
|
|
2
3
|
export function logChunk(chunk) {
|
|
4
|
+
if (isToolEvent(chunk)) {
|
|
5
|
+
if (chunk.phase === "start") {
|
|
6
|
+
const args = chunk.args ? ` ${JSON.stringify(chunk.args)}` : "";
|
|
7
|
+
console.log(`\n[tool:start] ${chunk.toolName}${args}`);
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
console.log(`\n[tool:end] ${chunk.toolName}`);
|
|
11
|
+
}
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
if (isInterrupt(chunk)) {
|
|
15
|
+
if ("items" in chunk) {
|
|
16
|
+
console.log("\n[interrupt] Multiple tools require approval:");
|
|
17
|
+
for (const item of chunk.items) {
|
|
18
|
+
console.log(` - ${item.toolName}: ${item.question}`);
|
|
19
|
+
console.log(` decisions: ${item.decisions.join(", ")}`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
console.log(`\n[interrupt] ${chunk.question}`);
|
|
24
|
+
console.log(`decisions: ${chunk.decisions.join(", ")}`);
|
|
25
|
+
}
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
3
28
|
const flushed = process.stdout.write(chunk);
|
|
4
29
|
if (!flushed) {
|
|
5
30
|
process.stdout.once('drain', () => { });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGzG,MAAM,UAAU,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGzG,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE3D,MAAM,UAAU,QAAQ,CAAC,KAA2D;IAClF,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAC/D,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAA;QACxD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC/C,CAAC;QACD,OAAM;IACR,CAAC;IAED,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAA;YAC7D,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACrD,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC5D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC9C,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACzD,CAAC;QACD,OAAM;IACR,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACxC,CAAC;SAAM,CAAC;QACN,qDAAqD;QACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACpC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAA0B,EAAE,GAAkB,EAAE,SAAkC,IAAI;IACtH,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAClE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,EAAS;IAClC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,SAAU,CAAC,CAAA,MAAM,CAAC,IAAwB,EAAC,kBAAyB,GAAG;IACjF,KAAK,MAAM,KAAK,IAAI,IAAI,EAAC,CAAC;QACxB,MAAM,KAAK,GAAG,GAAG,CAAA;QACjB,MAAM,IAAI,CAAC,eAAe,CAAC,CAAA;IAC7B,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAAC,SAAsB;IAIjD,MAAM,MAAM,GAAG,sBAAsB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;IAC9D,MAAM,MAAM,GAAG,sEAAsE,MAAM,CAAC,qBAAqB,EAAE,oOAAoO,CAAA;IACvV,OAAO,EAAE,MAAM,EAAC,MAAM,EAAE,CAAA;AAC1B,CAAC"}
|
package/dist/helpers/llms.d.ts
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
|
-
import { ChatGroq,
|
|
1
|
+
import { ChatGroq, ChatOpenAI } from "../imports";
|
|
2
2
|
export type Prettify<T> = {
|
|
3
3
|
[K in keyof T]: T[K];
|
|
4
4
|
} & {};
|
|
5
|
+
type ExtraGroq = ChatGroq & {
|
|
6
|
+
provider?: "chatgroq";
|
|
7
|
+
};
|
|
8
|
+
type ExtraLocal = ChatOpenAI & {
|
|
9
|
+
provider?: "local";
|
|
10
|
+
};
|
|
11
|
+
type ExtraOpenAI = ChatOpenAI & {
|
|
12
|
+
provider?: "openrouter";
|
|
13
|
+
};
|
|
5
14
|
export type AutoComplete<T extends string> = T | (string & {});
|
|
6
15
|
/** Groq Cloud Chat-Completions (https://console.groq.com/docs/models): Production, Compound, Preview. */
|
|
7
16
|
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">;
|
|
@@ -21,7 +30,8 @@ export type OpenRouterTTSModel = AutoComplete<"canopylabs/orpheus-3b-0.1-ft" | "
|
|
|
21
30
|
export type OpenRouterSTTModel = AutoComplete<"google/gemini-2.0-flash-001" | "google/gemini-2.0-flash-lite-001" | "google/gemini-2.5-flash" | "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.1-flash-lite-preview" | "google/gemini-3.1-pro-preview" | "google/gemini-3.1-pro-preview-customtools" | "mistralai/voxtral-small-24b-2507" | "openai/gpt-4o-audio-preview" | "openai/gpt-audio" | "openai/gpt-audio-mini" | "openrouter/auto" | "xiaomi/mimo-v2-omni" | "xiaomi/mimo-v2.5">;
|
|
22
31
|
/** OpenRouter image-generation models via `output_modalities=image` (2026-04). */
|
|
23
32
|
export type OpenRouterImageGenModel = AutoComplete<"black-forest-labs/flux.2-flex" | "black-forest-labs/flux.2-klein-4b" | "black-forest-labs/flux.2-max" | "black-forest-labs/flux.2-pro" | "bytedance-seed/seedream-4.5" | "google/gemini-2.5-flash-image" | "google/gemini-3-pro-image-preview" | "google/gemini-3.1-flash-image-preview" | "openai/gpt-5-image" | "openai/gpt-5-image-mini" | "openai/gpt-5.4-image-2" | "openrouter/auto" | "sourceful/riverflow-v2-fast" | "sourceful/riverflow-v2-fast-preview" | "sourceful/riverflow-v2-max-preview" | "sourceful/riverflow-v2-pro" | "sourceful/riverflow-v2-standard-preview">;
|
|
24
|
-
|
|
33
|
+
/** LM Studio Model-IDs (kurze Hub-Bezeichner, siehe GET /v1/models). */
|
|
34
|
+
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">;
|
|
25
35
|
export type LLMModelSpecification = "vision" | "image-gen" | "stt" | "tts";
|
|
26
36
|
type GroqLLMConfig = {
|
|
27
37
|
provider: "chatgroq";
|
|
@@ -88,8 +98,8 @@ export type LLMConfig = GroqLLMConfig | OpenRouterLLMConfig | LocalLLMConfig;
|
|
|
88
98
|
*
|
|
89
99
|
* default llm for openrouter: "openai/gpt-5.4-mini"
|
|
90
100
|
*
|
|
91
|
-
* default llm for local: "
|
|
101
|
+
* default llm for local: "nvidia/nemotron-3-nano-4b"
|
|
92
102
|
*/
|
|
93
|
-
export declare function getLLM(config: LLMConfig):
|
|
103
|
+
export declare function getLLM(config: LLMConfig): ExtraGroq | ExtraLocal | ExtraOpenAI;
|
|
94
104
|
export {};
|
|
95
105
|
//# sourceMappingURL=llms.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llms.d.ts","sourceRoot":"","sources":["../../src/helpers/llms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"llms.d.ts","sourceRoot":"","sources":["../../src/helpers/llms.ts"],"names":[],"mappings":"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"}
|
package/dist/helpers/llms.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChatGroq,
|
|
1
|
+
import { ChatGroq, ChatOpenAI } from "../imports";
|
|
2
2
|
/**
|
|
3
3
|
* env-var for openrouter: process.env.OPENROUTER_API_KEY
|
|
4
4
|
*
|
|
@@ -8,13 +8,13 @@ import { ChatGroq, ChatOllama, ChatOpenAI } from "../imports";
|
|
|
8
8
|
*
|
|
9
9
|
* default llm for openrouter: "openai/gpt-5.4-mini"
|
|
10
10
|
*
|
|
11
|
-
* default llm for local: "
|
|
11
|
+
* default llm for local: "nvidia/nemotron-3-nano-4b"
|
|
12
12
|
*/
|
|
13
13
|
export function getLLM(config) {
|
|
14
14
|
const type = config.type;
|
|
15
15
|
switch (config.provider) {
|
|
16
|
-
case "chatgroq":
|
|
17
|
-
|
|
16
|
+
case "chatgroq": {
|
|
17
|
+
const llm = new ChatGroq({
|
|
18
18
|
apiKey: config.apikey ?? process.env.CHATGROQ_API_KEY,
|
|
19
19
|
model: config.model ?? (type === "vision"
|
|
20
20
|
? "meta-llama/llama-4-scout-17b-16e-instruct"
|
|
@@ -24,8 +24,11 @@ export function getLLM(config) {
|
|
|
24
24
|
? "canopylabs/orpheus-v1-english"
|
|
25
25
|
: "llama-3.3-70b-versatile")
|
|
26
26
|
});
|
|
27
|
-
|
|
28
|
-
return
|
|
27
|
+
llm.provider = "chatgroq";
|
|
28
|
+
return llm;
|
|
29
|
+
}
|
|
30
|
+
case "openrouter": {
|
|
31
|
+
const llm = new ChatOpenAI({
|
|
29
32
|
apiKey: config.apikey ?? process.env.OPENROUTER_API_KEY,
|
|
30
33
|
configuration: {
|
|
31
34
|
baseURL: config.dataSafe
|
|
@@ -51,10 +54,18 @@ export function getLLM(config) {
|
|
|
51
54
|
}
|
|
52
55
|
: {}),
|
|
53
56
|
});
|
|
54
|
-
|
|
55
|
-
return
|
|
56
|
-
|
|
57
|
+
llm.provider = "openrouter";
|
|
58
|
+
return llm;
|
|
59
|
+
}
|
|
60
|
+
case "local": {
|
|
61
|
+
const llm = new ChatOpenAI({
|
|
62
|
+
model: config.model ?? "nvidia/nemotron-3-nano-4b",
|
|
63
|
+
apiKey: "lm-studio",
|
|
64
|
+
configuration: { baseURL: "http://localhost:1234/v1" },
|
|
57
65
|
});
|
|
66
|
+
llm.provider = "local";
|
|
67
|
+
return llm;
|
|
68
|
+
}
|
|
58
69
|
default:
|
|
59
70
|
throw new Error("Unknown LLM provider");
|
|
60
71
|
}
|