@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.
Files changed (96) hide show
  1. package/README.md +648 -97
  2. package/dist/client/index.d.ts +5 -0
  3. package/dist/client/index.d.ts.map +1 -0
  4. package/dist/client/index.js +13 -0
  5. package/dist/client/index.js.map +1 -0
  6. package/dist/heart/agent.d.ts +6 -6
  7. package/dist/heart/agent.d.ts.map +1 -1
  8. package/dist/heart/agent.js +21 -21
  9. package/dist/heart/agent.js.map +1 -1
  10. package/dist/heart/chain.d.ts +4 -8
  11. package/dist/heart/chain.d.ts.map +1 -1
  12. package/dist/heart/chain.js +1 -1
  13. package/dist/heart/chain.js.map +1 -1
  14. package/dist/heart/deepAgent.d.ts +111 -0
  15. package/dist/heart/deepAgent.d.ts.map +1 -0
  16. package/dist/heart/deepAgent.js +305 -0
  17. package/dist/heart/deepAgent.js.map +1 -0
  18. package/dist/heart/hermesAgent.d.ts +22 -0
  19. package/dist/heart/hermesAgent.d.ts.map +1 -0
  20. package/dist/heart/hermesAgent.js +21 -0
  21. package/dist/heart/hermesAgent.js.map +1 -0
  22. package/dist/heart/routine.d.ts +15 -0
  23. package/dist/heart/routine.d.ts.map +1 -0
  24. package/dist/heart/routine.js +67 -0
  25. package/dist/heart/routine.js.map +1 -0
  26. package/dist/heart/tools/RAGTool.d.ts +3 -7
  27. package/dist/heart/tools/RAGTool.d.ts.map +1 -1
  28. package/dist/heart/tools/RAGTool.js +1 -1
  29. package/dist/heart/tools/RAGTool.js.map +1 -1
  30. package/dist/heart/tools/Tavily.d.ts +3 -7
  31. package/dist/heart/tools/Tavily.d.ts.map +1 -1
  32. package/dist/heart/tools/Tavily.js +1 -1
  33. package/dist/heart/tools/Tavily.js.map +1 -1
  34. package/dist/heart/tools/ToolRegistry.d.ts +14 -5
  35. package/dist/heart/tools/ToolRegistry.d.ts.map +1 -1
  36. package/dist/heart/tools/ToolRegistry.js +2 -3
  37. package/dist/heart/tools/ToolRegistry.js.map +1 -1
  38. package/dist/heart/tools/zodios/CombinedRegistry.js +1 -1
  39. package/dist/heart/tools/zodios/ZodiosToolRegistry.js +1 -1
  40. package/dist/helpers/chatbot.d.ts +11 -3
  41. package/dist/helpers/chatbot.d.ts.map +1 -1
  42. package/dist/helpers/chatbot.js +44 -5
  43. package/dist/helpers/chatbot.js.map +1 -1
  44. package/dist/helpers/deepagent/backend.d.ts +92 -0
  45. package/dist/helpers/deepagent/backend.d.ts.map +1 -0
  46. package/dist/helpers/deepagent/backend.js +93 -0
  47. package/dist/helpers/deepagent/backend.js.map +1 -0
  48. package/dist/helpers/deepagent/interruptOn.d.ts +93 -0
  49. package/dist/helpers/deepagent/interruptOn.d.ts.map +1 -0
  50. package/dist/helpers/deepagent/interruptOn.js +190 -0
  51. package/dist/helpers/deepagent/interruptOn.js.map +1 -0
  52. package/dist/helpers/deepagent/interruptTypes.d.ts +65 -0
  53. package/dist/helpers/deepagent/interruptTypes.d.ts.map +1 -0
  54. package/dist/helpers/deepagent/interruptTypes.js +2 -0
  55. package/dist/helpers/deepagent/interruptTypes.js.map +1 -0
  56. package/dist/helpers/deepagent/permissions.d.ts +58 -0
  57. package/dist/helpers/deepagent/permissions.d.ts.map +1 -0
  58. package/dist/helpers/deepagent/permissions.js +72 -0
  59. package/dist/helpers/deepagent/permissions.js.map +1 -0
  60. package/dist/helpers/deepagent/sandbox.d.ts +7 -0
  61. package/dist/helpers/deepagent/sandbox.d.ts.map +1 -0
  62. package/dist/helpers/deepagent/sandbox.js +8 -0
  63. package/dist/helpers/deepagent/sandbox.js.map +1 -0
  64. package/dist/helpers/deepagent/streamEvents.d.ts +10 -0
  65. package/dist/helpers/deepagent/streamEvents.d.ts.map +1 -0
  66. package/dist/helpers/deepagent/streamEvents.js +149 -0
  67. package/dist/helpers/deepagent/streamEvents.js.map +1 -0
  68. package/dist/helpers/helpers.d.ts +4 -3
  69. package/dist/helpers/helpers.d.ts.map +1 -1
  70. package/dist/helpers/helpers.js +25 -0
  71. package/dist/helpers/helpers.js.map +1 -1
  72. package/dist/helpers/llms.d.ts +14 -4
  73. package/dist/helpers/llms.d.ts.map +1 -1
  74. package/dist/helpers/llms.js +20 -9
  75. package/dist/helpers/llms.js.map +1 -1
  76. package/dist/helpers/rag.d.ts +1 -1
  77. package/dist/imports.d.ts +14 -2
  78. package/dist/imports.d.ts.map +1 -1
  79. package/dist/imports.js +15 -2
  80. package/dist/imports.js.map +1 -1
  81. package/dist/index.d.ts +8 -1
  82. package/dist/index.d.ts.map +1 -1
  83. package/dist/index.js +6 -1
  84. package/dist/index.js.map +1 -1
  85. package/dist/magic-funcs/evaluators/classify.d.ts +3 -11
  86. package/dist/magic-funcs/evaluators/classify.d.ts.map +1 -1
  87. package/dist/magic-funcs/evaluators/classify.js +1 -1
  88. package/dist/magic-funcs/evaluators/decide.d.ts +7 -11
  89. package/dist/magic-funcs/evaluators/decide.d.ts.map +1 -1
  90. package/dist/magic-funcs/evaluators/decide.js +1 -1
  91. package/dist/magic-funcs/parsers/extract.d.ts +2 -2
  92. package/dist/magic-funcs/parsers/extract.d.ts.map +1 -1
  93. package/dist/magic-funcs/parsers/extract.js.map +1 -1
  94. package/dist/magic-funcs/parsers/structure.d.ts +1 -1
  95. package/dist/magic-funcs/parsers/structure.js.map +1 -1
  96. 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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=interruptTypes.js.map
@@ -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":"AACA,OAAO,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAA;AAEhE,SAAS,eAAe,CAAC,KAAc;IACnC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;AAClD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACtC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACtD,CAAC;AAED,SAAS,cAAc,CAAC,YAAiB;IACrC,IAAI,OAAO,YAAY,EAAE,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC/C,OAAO,YAAY,CAAC,QAAQ,EAAE,CAAA;IAClC,CAAC;IACD,OAAO,YAAY,EAAE,QAAQ,CAAA;AACjC,CAAC;AAED,SAAS,aAAa,CAAC,IAAa;IAChC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IACzD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,IAA+B,CAAA;IAC1C,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC/B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1E,OAAO,MAAiC,CAAA;YAC5C,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,SAAS,CAAA;QACpB,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC7C,KAAc,EACd,OAAoB;IAEpB,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,MAAM,GAAyB,EAAE,CAAA;IAEvC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC;QAChD,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,IAAI,CAAA;QACjC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAQ;QACnD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,MAAM,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;SACjC,CAAC,CAAA;IACN,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,gBAAgB,IAAI,EAAE,EAAE,CAAC;QACtD,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,IAAI,GAAG,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,MAAM,EAAE,CAAA;QACpE,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAQ;QAC5C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,MAAM,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;SACjC,CAAC,CAAA;IACN,CAAC;IAED,OAAO,MAAM,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAc;IACzD,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAC1C,MAAM,IAAI,GAAG,QAAQ,EAAE,cAAc,CAAA;IACrC,MAAM,WAAW,GAAG,cAAc,CAAC,YAAY,CAAC,CAAA;IAEhD,IAAI,WAAW,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,EAAE,IAAI,CAAA;IACnC,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,MAAM,GAAG,GAAG,YAAY,EAAE,OAAO,CAAA;IACjC,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ;QAClC,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,GAAG,KAAK,SAAS;YACf,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YACrB,CAAC,CAAC,SAAS,CAAA;IAEnB,OAAO;QACH,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,KAAK;QACZ,QAAQ;QACR,MAAM;KACT,CAAA;AACL,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,KAAc;IAC5D,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAC1C,MAAM,IAAI,GAAG,QAAQ,EAAE,cAAc,CAAA;IACrC,MAAM,WAAW,GAAG,cAAc,CAAC,YAAY,CAAC,CAAA;IAEhD,IAAI,IAAI,KAAK,OAAO,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,MAAM,GAAG,GAAG,YAAY,EAAE,OAAO,CAAA;IACjC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3C,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC9D,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IAC7C,CAAC;IACD,OAAO,SAAS,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAChC,KAAc,EACd,IAIC;IAED,MAAM,GAAG,GAA4D,EAAE,CAAA;IAEvE,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;WACjC,KAAK,CAAC,MAAM,KAAK,CAAC;WAClB,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAA;IAEnC,IAAI,WAAW,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,KAA0B,CAAA;QAC/C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,MAAM,SAAS,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAA;gBACxD,IAAI,SAAS;oBAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACtC,CAAC;YACD,OAAO,GAAG,CAAA;QACd,CAAC;QACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,KAAK,MAAM,SAAS,IAAI,iCAAiC,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;oBACnF,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACvB,CAAC;gBACD,MAAM,OAAO,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAA;gBACpD,IAAI,OAAO;oBAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAClC,CAAC;YACD,MAAM,IAAI,GAAG,iCAAiC,CAAC,IAAI,CAAC,CAAA;YACpD,IAAI,IAAI;gBAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACxB,OAAO,GAAG,CAAA;QACd,CAAC;QACD,OAAO,GAAG,CAAA;IACd,CAAC;IAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,KAAK,MAAM,SAAS,IAAI,iCAAiC,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACpF,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACvB,CAAC;QACD,MAAM,OAAO,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAA;QACrD,IAAI,OAAO;YAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAClC,CAAC;IAED,MAAM,IAAI,GAAG,iCAAiC,CAAC,KAAK,CAAC,CAAA;IACrD,IAAI,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxB,OAAO,GAAG,CAAA;AACd,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { BaseChatModel, BaseOutputParser, ChatPromptTemplate, StructuredOutputParser } from "../imports";
2
- import { z } from "zod/v3";
3
- export declare function logChunk(chunk: string): void;
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<any>): {
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;AAE3B,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,QAQrC;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,CAAC,GAAG,CAAC,GAAG;IACzD,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAA;CACpC,CAIA"}
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"}
@@ -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,KAAa;IACpC,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,SAA2B;IAItD,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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers/helpers.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,16 @@
1
- import { ChatGroq, ChatOllama, ChatOpenAI } from "../imports";
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
- export type LocalModel = AutoComplete<"llama3.2:3b">;
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: "llama3.2:3b"
101
+ * default llm for local: "nvidia/nemotron-3-nano-4b"
92
102
  */
93
- export declare function getLLM(config: LLMConfig): ChatGroq | ChatOpenAI<import("@langchain/openai").ChatOpenAICallOptions> | ChatOllama;
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":"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"}
1
+ {"version":3,"file":"llms.d.ts","sourceRoot":"","sources":["../../src/helpers/llms.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ChatGroq, ChatOllama, ChatOpenAI } from "../imports";
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: "llama3.2:3b"
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
- return new ChatGroq({
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
- case "openrouter":
28
- return new ChatOpenAI({
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
- case "local":
55
- return new ChatOllama({
56
- model: config.model ?? "llama3.2:3b"
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
  }