@delofarag/ai-utils 1.5.0 → 1.7.0

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 (92) 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 +22 -22
  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 +110 -0
  15. package/dist/heart/deepAgent.d.ts.map +1 -0
  16. package/dist/heart/deepAgent.js +304 -0
  17. package/dist/heart/deepAgent.js.map +1 -0
  18. package/dist/heart/tools/RAGTool.d.ts +3 -7
  19. package/dist/heart/tools/RAGTool.d.ts.map +1 -1
  20. package/dist/heart/tools/RAGTool.js +1 -1
  21. package/dist/heart/tools/RAGTool.js.map +1 -1
  22. package/dist/heart/tools/Tavily.d.ts +3 -7
  23. package/dist/heart/tools/Tavily.d.ts.map +1 -1
  24. package/dist/heart/tools/Tavily.js +1 -1
  25. package/dist/heart/tools/Tavily.js.map +1 -1
  26. package/dist/heart/tools/ToolRegistry.d.ts +14 -5
  27. package/dist/heart/tools/ToolRegistry.d.ts.map +1 -1
  28. package/dist/heart/tools/ToolRegistry.js +2 -3
  29. package/dist/heart/tools/ToolRegistry.js.map +1 -1
  30. package/dist/heart/tools/zodios/CombinedRegistry.js +1 -1
  31. package/dist/heart/tools/zodios/ZodiosToolRegistry.js +1 -1
  32. package/dist/helpers/chatbot.d.ts +12 -6
  33. package/dist/helpers/chatbot.d.ts.map +1 -1
  34. package/dist/helpers/chatbot.js +45 -7
  35. package/dist/helpers/chatbot.js.map +1 -1
  36. package/dist/helpers/deepagent/backend.d.ts +92 -0
  37. package/dist/helpers/deepagent/backend.d.ts.map +1 -0
  38. package/dist/helpers/deepagent/backend.js +93 -0
  39. package/dist/helpers/deepagent/backend.js.map +1 -0
  40. package/dist/helpers/deepagent/interruptOn.d.ts +93 -0
  41. package/dist/helpers/deepagent/interruptOn.d.ts.map +1 -0
  42. package/dist/helpers/deepagent/interruptOn.js +190 -0
  43. package/dist/helpers/deepagent/interruptOn.js.map +1 -0
  44. package/dist/helpers/deepagent/interruptTypes.d.ts +65 -0
  45. package/dist/helpers/deepagent/interruptTypes.d.ts.map +1 -0
  46. package/dist/helpers/deepagent/interruptTypes.js +2 -0
  47. package/dist/helpers/deepagent/interruptTypes.js.map +1 -0
  48. package/dist/helpers/deepagent/permissions.d.ts +58 -0
  49. package/dist/helpers/deepagent/permissions.d.ts.map +1 -0
  50. package/dist/helpers/deepagent/permissions.js +72 -0
  51. package/dist/helpers/deepagent/permissions.js.map +1 -0
  52. package/dist/helpers/deepagent/sandbox.d.ts +7 -0
  53. package/dist/helpers/deepagent/sandbox.d.ts.map +1 -0
  54. package/dist/helpers/deepagent/sandbox.js +8 -0
  55. package/dist/helpers/deepagent/sandbox.js.map +1 -0
  56. package/dist/helpers/deepagent/streamEvents.d.ts +10 -0
  57. package/dist/helpers/deepagent/streamEvents.d.ts.map +1 -0
  58. package/dist/helpers/deepagent/streamEvents.js +149 -0
  59. package/dist/helpers/deepagent/streamEvents.js.map +1 -0
  60. package/dist/helpers/helpers.d.ts +4 -3
  61. package/dist/helpers/helpers.d.ts.map +1 -1
  62. package/dist/helpers/helpers.js +25 -0
  63. package/dist/helpers/helpers.js.map +1 -1
  64. package/dist/helpers/llms.d.ts +18 -15
  65. package/dist/helpers/llms.d.ts.map +1 -1
  66. package/dist/helpers/llms.js +15 -2
  67. package/dist/helpers/llms.js.map +1 -1
  68. package/dist/helpers/memory.d.ts +18 -2
  69. package/dist/helpers/memory.d.ts.map +1 -1
  70. package/dist/helpers/memory.js +194 -48
  71. package/dist/helpers/memory.js.map +1 -1
  72. package/dist/helpers/rag.d.ts +1 -1
  73. package/dist/imports.d.ts +14 -2
  74. package/dist/imports.d.ts.map +1 -1
  75. package/dist/imports.js +15 -2
  76. package/dist/imports.js.map +1 -1
  77. package/dist/index.d.ts +8 -2
  78. package/dist/index.d.ts.map +1 -1
  79. package/dist/index.js +6 -2
  80. package/dist/index.js.map +1 -1
  81. package/dist/magic-funcs/evaluators/classify.d.ts +3 -11
  82. package/dist/magic-funcs/evaluators/classify.d.ts.map +1 -1
  83. package/dist/magic-funcs/evaluators/classify.js +1 -1
  84. package/dist/magic-funcs/evaluators/decide.d.ts +7 -11
  85. package/dist/magic-funcs/evaluators/decide.d.ts.map +1 -1
  86. package/dist/magic-funcs/evaluators/decide.js +1 -1
  87. package/dist/magic-funcs/parsers/extract.d.ts +2 -2
  88. package/dist/magic-funcs/parsers/extract.d.ts.map +1 -1
  89. package/dist/magic-funcs/parsers/extract.js.map +1 -1
  90. package/dist/magic-funcs/parsers/structure.d.ts +1 -1
  91. package/dist/magic-funcs/parsers/structure.js.map +1 -1
  92. package/package.json +28 -13
@@ -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":"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"}
@@ -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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"}
@@ -44,32 +44,35 @@ type GroqLLMConfig = {
44
44
  model?: ChatGroqTTSModel;
45
45
  apikey?: string;
46
46
  };
47
- type OpenRouterLLMConfig = {
47
+ type OpenRouterLLMConfigBase = {
48
48
  provider: "openrouter";
49
+ apikey?: string;
50
+ /**
51
+ * Strengeres OpenRouter-Routing + EU-Endpunkt: `eu.openrouter.ai`, und im
52
+ * Request-Body `provider` wie in der OpenRouter-Doku (`data_collection`,
53
+ * `zdr` innerhalb von `provider` — nicht als Top-Level-Feld neben
54
+ * `provider`). LangChain `ChatOpenAI` reicht `modelKwargs` unverändert an
55
+ * die Chat-Completions-API durch (siehe `invocationParams` in
56
+ * `@langchain/openai`).
57
+ */
58
+ dataSafe?: boolean;
59
+ };
60
+ type OpenRouterLLMConfig = (OpenRouterLLMConfigBase & {
49
61
  type?: undefined;
50
62
  model?: OpenRouterModel;
51
- apikey?: string;
52
- } | {
53
- provider: "openrouter";
63
+ }) | (OpenRouterLLMConfigBase & {
54
64
  type: "vision";
55
65
  model?: OpenRouterVisionModel;
56
- apikey?: string;
57
- } | {
58
- provider: "openrouter";
66
+ }) | (OpenRouterLLMConfigBase & {
59
67
  type: "stt";
60
68
  model?: OpenRouterSTTModel;
61
- apikey?: string;
62
- } | {
63
- provider: "openrouter";
69
+ }) | (OpenRouterLLMConfigBase & {
64
70
  type: "tts";
65
71
  model?: OpenRouterTTSModel;
66
- apikey?: string;
67
- } | {
68
- provider: "openrouter";
72
+ }) | (OpenRouterLLMConfigBase & {
69
73
  type: "image-gen";
70
74
  model?: OpenRouterImageGenModel;
71
- apikey?: string;
72
- };
75
+ });
73
76
  type LocalLLMConfig = {
74
77
  provider: "local";
75
78
  type?: undefined;
@@ -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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"}
@@ -28,7 +28,9 @@ export function getLLM(config) {
28
28
  return new ChatOpenAI({
29
29
  apiKey: config.apikey ?? process.env.OPENROUTER_API_KEY,
30
30
  configuration: {
31
- baseURL: "https://openrouter.ai/api/v1",
31
+ baseURL: config.dataSafe
32
+ ? "https://eu.openrouter.ai/api/v1"
33
+ : "https://openrouter.ai/api/v1",
32
34
  },
33
35
  model: config.model ?? (type === "image-gen"
34
36
  ? "google/gemini-3.1-flash-image-preview"
@@ -36,7 +38,18 @@ export function getLLM(config) {
36
38
  ? "google/gemini-2.5-flash"
37
39
  : type === "tts"
38
40
  ? "openai/gpt-4o-mini-tts-2025-12-15"
39
- : "openai/gpt-5.4-mini")
41
+ : "openai/gpt-5.4-mini"),
42
+ ...(config.dataSafe
43
+ ? {
44
+ modelKwargs: {
45
+ provider: {
46
+ data_collection: "deny",
47
+ zdr: true,
48
+ allow_fallbacks: false,
49
+ },
50
+ },
51
+ }
52
+ : {}),
40
53
  });
41
54
  case "local":
42
55
  return new ChatOllama({
@@ -1 +1 @@
1
- {"version":3,"file":"llms.js","sourceRoot":"","sources":["../../src/helpers/llms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAyP5D;;;;;;;;;;GAUG;AACL,MAAM,UAAU,MAAM,CAAC,MAAiB;IACtC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IAExB,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,KAAK,UAAU;YACb,OAAO,IAAI,QAAQ,CAAC;gBAClB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB;gBACrD,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CACrB,IAAI,KAAK,QAAQ;oBACf,CAAC,CAAC,2CAA2C;oBAC7C,CAAC,CAAC,IAAI,KAAK,KAAK;wBACd,CAAC,CAAC,wBAAwB;wBAC1B,CAAC,CAAC,IAAI,KAAK,KAAK;4BACd,CAAC,CAAC,+BAA+B;4BACjC,CAAC,CAAC,yBAAyB,CAClC;aACF,CAAC,CAAC;QAEL,KAAK,YAAY;YACf,OAAO,IAAI,UAAU,CAAC;gBACpB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB;gBACvD,aAAa,EAAE;oBACX,OAAO,EAAE,8BAA8B;iBAC1C;gBACD,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CACrB,IAAI,KAAK,WAAW;oBAClB,CAAC,CAAC,uCAAuC;oBACzC,CAAC,CAAC,IAAI,KAAK,KAAK;wBACd,CAAC,CAAC,yBAAyB;wBAC3B,CAAC,CAAC,IAAI,KAAK,KAAK;4BACd,CAAC,CAAC,mCAAmC;4BACrC,CAAC,CAAC,qBAAqB,CAC9B;aACF,CAAC,CAAC;QAEL,KAAK,OAAO;YACV,OAAO,IAAI,UAAU,CAAC;gBACpB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,aAAa;aACrC,CAAC,CAAC;QAEL;YACE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"llms.js","sourceRoot":"","sources":["../../src/helpers/llms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAuQ5D;;;;;;;;;;GAUG;AACL,MAAM,UAAU,MAAM,CAAC,MAAiB;IACtC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IAExB,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,KAAK,UAAU;YACb,OAAO,IAAI,QAAQ,CAAC;gBAClB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB;gBACrD,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CACrB,IAAI,KAAK,QAAQ;oBACf,CAAC,CAAC,2CAA2C;oBAC7C,CAAC,CAAC,IAAI,KAAK,KAAK;wBACd,CAAC,CAAC,wBAAwB;wBAC1B,CAAC,CAAC,IAAI,KAAK,KAAK;4BACd,CAAC,CAAC,+BAA+B;4BACjC,CAAC,CAAC,yBAAyB,CAClC;aACF,CAAC,CAAC;QAEL,KAAK,YAAY;YACf,OAAO,IAAI,UAAU,CAAC;gBACpB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB;gBACvD,aAAa,EAAE;oBACb,OAAO,EAAE,MAAM,CAAC,QAAQ;wBACtB,CAAC,CAAC,iCAAiC;wBACnC,CAAC,CAAC,8BAA8B;iBACnC;gBACD,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CACrB,IAAI,KAAK,WAAW;oBAClB,CAAC,CAAC,uCAAuC;oBACzC,CAAC,CAAC,IAAI,KAAK,KAAK;wBACd,CAAC,CAAC,yBAAyB;wBAC3B,CAAC,CAAC,IAAI,KAAK,KAAK;4BACd,CAAC,CAAC,mCAAmC;4BACrC,CAAC,CAAC,qBAAqB,CAC9B;gBACD,GAAG,CAAC,MAAM,CAAC,QAAQ;oBACjB,CAAC,CAAC;wBACE,WAAW,EAAE;4BACX,QAAQ,EAAE;gCACR,eAAe,EAAE,MAAM;gCACvB,GAAG,EAAE,IAAI;gCACT,eAAe,EAAE,KAAK;6BACvB;yBACF;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAA;QAEJ,KAAK,OAAO;YACV,OAAO,IAAI,UAAU,CAAC;gBACpB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,aAAa;aACrC,CAAC,CAAC;QAEL;YACE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import { SupabaseTable } from "@delofarag/supabase-utils";
2
2
  import { BaseCheckpointSaver, BaseChatModel, type Checkpoint, type CheckpointMetadata, type LangGraphRunnableConfig, type RunnableConfig, type CheckpointTuple, type CheckpointListOptions, type PendingWrite, type ChannelVersions } from "../imports";
3
+ /** Rolle einer Chat-Message im Checkpoint (Nach Json aus der DB oft Plain-Objects). */
4
+ export type CheckpointChatRole = "human" | "ai" | "system" | "tool" | "other";
3
5
  export interface SupabaseCheckpointRow {
4
6
  thread_id: string;
5
7
  checkpoint: Checkpoint;
@@ -7,18 +9,32 @@ export interface SupabaseCheckpointRow {
7
9
  created_at?: string;
8
10
  updated_at?: string;
9
11
  }
12
+ /** Nachrichten-Channel aus einem gespeicherten Checkpoint (meist `channel_values.messages`). */
13
+ export declare function getMessagesArrayFromCheckpoint(checkpoint: Checkpoint | undefined | null): unknown[];
14
+ export declare function checkpointMessageBody(message: unknown): string;
15
+ /** Erkennung Human / AI / System / Tool — funktioniert mit LangChain-Klassen und serialisierten JSON-Objekten. */
16
+ export declare function checkpointMessageRole(message: unknown): CheckpointChatRole;
17
+ /**
18
+ * Für Prompts/System-Kontext: klare Labels, Reihenfolge wie im Checkpoint-Channel `messages`,
19
+ * ohne extra DB-Spalte `conversation`.
20
+ */
21
+ export declare function formatCheckpointMessagesForLLM(messages: unknown[]): string;
10
22
  /**
11
23
  * needs testing!!!
12
24
  */
13
25
  export declare class SupabaseCheckpointSaver extends BaseCheckpointSaver {
14
26
  private table;
15
27
  constructor(supabaseTable: SupabaseTable<SupabaseCheckpointRow>);
16
- put(config: LangGraphRunnableConfig, checkpoint: Checkpoint, metadata: CheckpointMetadata): Promise<RunnableConfig>;
28
+ /** Messages aus gespeicherter `checkpoint`-Spalte (`channel_values.messages`). */
29
+ getCheckpointMessages(threadId: string): Promise<unknown[]>;
30
+ /** Lesbarer Kontext für Prompts (aus Checkpoint, keine `conversation`-Spalte). */
31
+ getConversationAsLLMContext(threadId: string): Promise<string>;
32
+ put(config: LangGraphRunnableConfig, checkpoint: Checkpoint, metadata: CheckpointMetadata, newVersions: ChannelVersions): Promise<RunnableConfig>;
17
33
  get(config: LangGraphRunnableConfig): Promise<Checkpoint | undefined>;
18
34
  list(config: LangGraphRunnableConfig, options?: CheckpointListOptions): AsyncGenerator<CheckpointTuple>;
19
35
  delete(config: LangGraphRunnableConfig): Promise<void>;
20
36
  getTuple(config: LangGraphRunnableConfig): Promise<CheckpointTuple | undefined>;
21
- putWrites(config: RunnableConfig, writes: PendingWrite[], taskId: string): Promise<void>;
37
+ putWrites(_config: RunnableConfig, _writes: PendingWrite[], _taskId: string): Promise<void>;
22
38
  deleteThread(threadId: string): Promise<void>;
23
39
  }
24
40
  interface SmartCheckpointSaverOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/helpers/memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/helpers/memory.ts"],"names":[],"mappings":"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"}