@delofarag/ai-utils 1.5.0 → 1.6.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.
@@ -65,7 +65,7 @@ export class Agent {
65
65
  return p; // weil wenn es kein string ist muss es ein MessagePlaceholder sein
66
66
  }
67
67
  }) : [];
68
- this.prompt.push(["system", `WICHTIG:
68
+ this.prompt.push(["system", `WICHTIG:
69
69
  - Nutze Tools NUR wenn nötig
70
70
  - Nach jedem Tool-Call: Prüfe ob du die vollständige Antwort hast oder ob du noch weitere Tools brauchst
71
71
  - Wenn du die vollständige Antwort hast, gib sie direkt zurück und rufe keine weiteren Tools auf
@@ -1,6 +1,5 @@
1
1
  import type { Agent } from "../heart/agent";
2
- import type { MemoryChain } from "../heart/memorychain";
3
- type SessionStreamable = Agent<any> | MemoryChain<any>;
2
+ type SessionStreamable = Agent<any>;
4
3
  type SessionProps = {
5
4
  streamable: SessionStreamable;
6
5
  breakword?: string;
@@ -8,8 +7,7 @@ type SessionProps = {
8
7
  id?: string;
9
8
  };
10
9
  /**
11
- * die session funktion für ein streamable, wird hauptsächlich für testing eines agenten/memorychains verwendet
12
- * (diese 2 sind die einzigen Streamables die es gibt)
10
+ * die session funktion für ein streamable, wird hauptsächlich für testing eines agenten verwendet
13
11
  * @param streamable das streamable welches die session führt
14
12
  * @param breakword das wort welches die session beendet
15
13
  * @param numberOfMessages die maximale anzahl von messages welche die session senden kann
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot.d.ts","sourceRoot":"","sources":["../../src/helpers/chatbot.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvD,KAAK,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;AAEtD,KAAK,YAAY,GAAG;IAChB,UAAU,EAAE,iBAAiB,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,EAAE,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;;;;GAQG;AACH,wBAAsB,OAAO,CAAC,EAC1B,UAAU,EACV,SAAkB,EAClB,gBAA2C,EAC3C,EAAoB,EACvB,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B9B;AAED,KAAK,kBAAkB,GAAG,YAAY,GAAG;IACrC,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAEJ;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC5B,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,IAAI,GAAE,kBAAuB,GAC5B,QAAQ,CA4BV"}
1
+ {"version":3,"file":"chatbot.d.ts","sourceRoot":"","sources":["../../src/helpers/chatbot.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAE3C,KAAK,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;AAEnC,KAAK,YAAY,GAAG;IAChB,UAAU,EAAE,iBAAiB,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,EAAE,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;;;GAOG;AACH,wBAAsB,OAAO,CAAC,EAC1B,UAAU,EACV,SAAkB,EAClB,gBAA2C,EAC3C,EAAoB,EACvB,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B9B;AAED,KAAK,kBAAkB,GAAG,YAAY,GAAG;IACrC,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAEJ;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC5B,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,IAAI,GAAE,kBAAuB,GAC5B,QAAQ,CA4BV"}
@@ -1,8 +1,7 @@
1
1
  import { input } from "@delofarag/base-utils/server";
2
2
  import { logChunk } from "./helpers";
3
3
  /**
4
- * die session funktion für ein streamable, wird hauptsächlich für testing eines agenten/memorychains verwendet
5
- * (diese 2 sind die einzigen Streamables die es gibt)
4
+ * die session funktion für ein streamable, wird hauptsächlich für testing eines agenten verwendet
6
5
  * @param streamable das streamable welches die session führt
7
6
  * @param breakword das wort welches die session beendet
8
7
  * @param numberOfMessages die maximale anzahl von messages welche die session senden kann
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot.js","sourceRoot":"","sources":["../../src/helpers/chatbot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAapC;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,EAC1B,UAAU,EACV,SAAS,GAAG,MAAM,EAClB,gBAAgB,GAAG,MAAM,CAAC,iBAAiB,EAC3C,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,EACT;IACX,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,OAAO,IAAI,EAAE,CAAC;QACV,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAA;YACpC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAK;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC/B,KAAK,EAAE,OAAO;gBACd,SAAS,EAAE,EAAE;aAChB,CAAC,CAAA;YACF,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;YAC1B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBACjC,QAAQ,CAAC,KAAK,CAAC,CAAA;YACnB,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACnB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;QAC/B,CAAC;QAED,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAA;QACvB,IAAI,QAAQ,GAAG,gBAAgB,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,oBAAoB,gBAAgB,4BAA4B,CAAC,CAAA;YAC7E,MAAK;QACT,CAAC;IACL,CAAC;AACL,CAAC;AAMD;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC1B,QAA0B,EAC1B,OAA2B,EAAE;IAE7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,WAAW,EAAE,CAAC;IAElD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC;IAE7D,MAAM,MAAM,GAAG,IAAI,cAAc,CAAa;QAC5C,KAAK,CAAC,KAAK,CAAC,UAAU;YACpB,IAAI,CAAC;gBACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;oBACnC,UAAU,CAAC,OAAO,CAChB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAC7C,CAAC;gBACJ,CAAC;gBAED,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE;QAC1B,GAAG,YAAY;QACf,OAAO,EAAE;YACP,cAAc,EAAE,sBAAsB;YACtC,GAAG,OAAO;SACX;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"chatbot.js","sourceRoot":"","sources":["../../src/helpers/chatbot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAYpC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,EAC1B,UAAU,EACV,SAAS,GAAG,MAAM,EAClB,gBAAgB,GAAG,MAAM,CAAC,iBAAiB,EAC3C,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,EACT;IACX,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,OAAO,IAAI,EAAE,CAAC;QACV,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAA;YACpC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAK;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC/B,KAAK,EAAE,OAAO;gBACd,SAAS,EAAE,EAAE;aAChB,CAAC,CAAA;YACF,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;YAC1B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBACjC,QAAQ,CAAC,KAAK,CAAC,CAAA;YACnB,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACnB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;QAC/B,CAAC;QAED,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAA;QACvB,IAAI,QAAQ,GAAG,gBAAgB,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,oBAAoB,gBAAgB,4BAA4B,CAAC,CAAA;YAC7E,MAAK;QACT,CAAC;IACL,CAAC;AACL,CAAC;AAMD;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC1B,QAA0B,EAC1B,OAA2B,EAAE;IAE7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,WAAW,EAAE,CAAC;IAElD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC;IAE7D,MAAM,MAAM,GAAG,IAAI,cAAc,CAAa;QAC5C,KAAK,CAAC,KAAK,CAAC,UAAU;YACpB,IAAI,CAAC;gBACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;oBACnC,UAAU,CAAC,OAAO,CAChB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAC7C,CAAC;gBACJ,CAAC;gBAED,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE;QAC1B,GAAG,YAAY;QACf,OAAO,EAAE;YACP,cAAc,EAAE,sBAAsB;YACtC,GAAG,OAAO;SACX;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -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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"}
@@ -1,6 +1,126 @@
1
1
  import { createSimpleChain } from "./helpers";
2
2
  import { getLLM } from "./llms";
3
3
  import { BaseCheckpointSaver, HumanMessage, AIMessage, SystemMessage, StringOutputParser, ChatPromptTemplate } from "../imports";
4
+ import { ToolMessage, } from "@langchain/core/messages";
5
+ /** Nachrichten-Channel aus einem gespeicherten Checkpoint (meist `channel_values.messages`). */
6
+ export function getMessagesArrayFromCheckpoint(checkpoint) {
7
+ if (!checkpoint?.channel_values)
8
+ return [];
9
+ const msgs = checkpoint.channel_values.messages;
10
+ return Array.isArray(msgs) ? msgs : [];
11
+ }
12
+ export function checkpointMessageBody(message) {
13
+ if (message === null || message === undefined)
14
+ return "";
15
+ const m = message;
16
+ const rawContent = m.content ??
17
+ (m.kwargs && typeof m.kwargs === "object"
18
+ ? m.kwargs.content
19
+ : undefined) ??
20
+ "";
21
+ if (typeof rawContent === "string")
22
+ return rawContent;
23
+ if (Array.isArray(rawContent))
24
+ return rawContent
25
+ .map((part) => typeof part === "object" && part !== null && "text" in part
26
+ ? String(part.text ?? "")
27
+ : JSON.stringify(part))
28
+ .join("");
29
+ return JSON.stringify(rawContent);
30
+ }
31
+ /** Erkennung Human / AI / System / Tool — funktioniert mit LangChain-Klassen und serialisierten JSON-Objekten. */
32
+ export function checkpointMessageRole(message) {
33
+ if (message === null || message === undefined || typeof message !== "object")
34
+ return "other";
35
+ const m = message;
36
+ if (m instanceof HumanMessage)
37
+ return "human";
38
+ if (m instanceof AIMessage)
39
+ return "ai";
40
+ if (m instanceof SystemMessage)
41
+ return "system";
42
+ if (m instanceof ToolMessage)
43
+ return "tool";
44
+ const raw = message;
45
+ const kw = raw.kwargs && typeof raw.kwargs === "object" ? raw.kwargs : {};
46
+ const t = typeof raw._getType === "function"
47
+ ? raw._getType()
48
+ : typeof raw.type === "string"
49
+ ? raw.type
50
+ : undefined;
51
+ if (t === "human" || t === "user")
52
+ return "human";
53
+ if (t === "ai" || t === "assistant")
54
+ return "ai";
55
+ if (t === "system")
56
+ return "system";
57
+ if (t === "tool")
58
+ return "tool";
59
+ const idArr = raw.id;
60
+ const idLast = Array.isArray(idArr) ? idArr[idArr.length - 1] : undefined;
61
+ if (idLast === "HumanMessage")
62
+ return "human";
63
+ if (idLast === "AIMessage" || idLast === "AIMessageChunk")
64
+ return "ai";
65
+ if (idLast === "SystemMessage")
66
+ return "system";
67
+ if (idLast === "ToolMessage")
68
+ return "tool";
69
+ const role = (kw.role ?? raw.role);
70
+ if (role === "human" || role === "user")
71
+ return "human";
72
+ if (role === "ai" || role === "assistant")
73
+ return "ai";
74
+ if (role === "system")
75
+ return "system";
76
+ if (role === "tool")
77
+ return "tool";
78
+ return "other";
79
+ }
80
+ function checkpointToolDisplayName(message) {
81
+ if (message === null || message === undefined || typeof message !== "object")
82
+ return undefined;
83
+ if (message instanceof ToolMessage)
84
+ return message.name ?? undefined;
85
+ const raw = message;
86
+ const kw = raw.kwargs && typeof raw.kwargs === "object" ? raw.kwargs : {};
87
+ const name = typeof raw.name === "string"
88
+ ? raw.name
89
+ : typeof kw.name === "string"
90
+ ? kw.name
91
+ : undefined;
92
+ return name || undefined;
93
+ }
94
+ /**
95
+ * Für Prompts/System-Kontext: klare Labels, Reihenfolge wie im Checkpoint-Channel `messages`,
96
+ * ohne extra DB-Spalte `conversation`.
97
+ */
98
+ export function formatCheckpointMessagesForLLM(messages) {
99
+ if (!messages.length)
100
+ return "";
101
+ const blocks = [];
102
+ for (const msg of messages) {
103
+ const role = checkpointMessageRole(msg);
104
+ const body = checkpointMessageBody(msg).trim();
105
+ let heading;
106
+ if (role === "human")
107
+ heading = "**User** (human message)";
108
+ else if (role === "ai")
109
+ heading = "**Assistant** (AI message)";
110
+ else if (role === "system")
111
+ heading = "**System**";
112
+ else if (role === "tool") {
113
+ const toolName = checkpointToolDisplayName(msg);
114
+ heading = toolName ? `**Tool**: \`${toolName}\`` : "**Tool result**";
115
+ }
116
+ else
117
+ heading = "**Other / unknown role**";
118
+ if (!body)
119
+ continue;
120
+ blocks.push(`${heading}\n\n${body}`);
121
+ }
122
+ return blocks.join("\n\n---\n\n");
123
+ }
4
124
  /**
5
125
  * needs testing!!!
6
126
  */
@@ -10,17 +130,32 @@ export class SupabaseCheckpointSaver extends BaseCheckpointSaver {
10
130
  super();
11
131
  this.table = supabaseTable;
12
132
  }
13
- async put(config, checkpoint, metadata) {
133
+ /** Messages aus gespeicherter `checkpoint`-Spalte (`channel_values.messages`). */
134
+ async getCheckpointMessages(threadId) {
135
+ const rows = await this.table.select({
136
+ columns: ["checkpoint"],
137
+ where: [{ column: "thread_id", is: threadId }],
138
+ limited_to: 1,
139
+ });
140
+ const ck = rows[0]?.checkpoint;
141
+ return getMessagesArrayFromCheckpoint(ck);
142
+ }
143
+ /** Lesbarer Kontext für Prompts (aus Checkpoint, keine `conversation`-Spalte). */
144
+ async getConversationAsLLMContext(threadId) {
145
+ const messages = await this.getCheckpointMessages(threadId);
146
+ return formatCheckpointMessagesForLLM(messages);
147
+ }
148
+ async put(config, checkpoint, metadata, newVersions) {
149
+ if (!checkpoint)
150
+ return config;
14
151
  const threadId = config.configurable?.thread_id || "default";
15
152
  const now = new Date().toISOString();
16
- // Prüfe ob Checkpoint bereits existiert um created_at zu behalten
17
153
  const existingRows = await this.table.select({
18
154
  columns: ["created_at"],
19
155
  where: [{ column: "thread_id", is: threadId }],
20
156
  limited_to: 1,
21
157
  });
22
158
  const existing = existingRows[0];
23
- // Behalte created_at wenn bereits vorhanden, sonst setze jetzt
24
159
  const createdAt = existing?.created_at || now;
25
160
  await this.table.upsert({
26
161
  where: [{ column: "thread_id", is: threadId }],
@@ -28,11 +163,18 @@ export class SupabaseCheckpointSaver extends BaseCheckpointSaver {
28
163
  checkpoint: checkpoint,
29
164
  metadata: metadata,
30
165
  created_at: createdAt,
31
- updated_at: now
166
+ updated_at: now,
32
167
  },
33
- onConflict: "thread_id"
168
+ onConflict: "thread_id",
34
169
  });
35
- return config;
170
+ const checkpoint_ns = config.configurable?.checkpoint_ns ?? "";
171
+ return {
172
+ configurable: {
173
+ thread_id: threadId,
174
+ checkpoint_ns,
175
+ checkpoint_id: checkpoint.id,
176
+ },
177
+ };
36
178
  }
37
179
  async get(config) {
38
180
  const threadId = config.configurable?.thread_id || "default";
@@ -48,11 +190,25 @@ export class SupabaseCheckpointSaver extends BaseCheckpointSaver {
48
190
  if (!threadId)
49
191
  return;
50
192
  const data = await this.table.select({
51
- columns: ["checkpoint"],
52
- where: [{ column: "thread_id", is: threadId }]
193
+ columns: ["checkpoint", "metadata"],
194
+ where: [{ column: "thread_id", is: threadId }],
53
195
  });
196
+ const checkpoint_ns = config.configurable?.checkpoint_ns ?? "";
54
197
  for (const row of data || []) {
55
- yield [config, row.checkpoint];
198
+ const ckpt = row.checkpoint;
199
+ if (!ckpt)
200
+ continue;
201
+ yield {
202
+ config: {
203
+ configurable: {
204
+ thread_id: threadId,
205
+ checkpoint_ns,
206
+ checkpoint_id: ckpt.id,
207
+ },
208
+ },
209
+ checkpoint: ckpt,
210
+ metadata: (row.metadata ?? {}),
211
+ };
56
212
  }
57
213
  }
58
214
  async delete(config) {
@@ -62,17 +218,33 @@ export class SupabaseCheckpointSaver extends BaseCheckpointSaver {
62
218
  });
63
219
  }
64
220
  async getTuple(config) {
65
- const checkpoint = await this.get(config);
221
+ const threadId = config.configurable?.thread_id || "default";
222
+ const checkpoint_ns = config.configurable?.checkpoint_ns ?? "";
223
+ const rows = await this.table.select({
224
+ columns: ["checkpoint", "metadata"],
225
+ where: [{ column: "thread_id", is: threadId }],
226
+ limited_to: 1,
227
+ });
228
+ const row = rows[0];
229
+ const checkpoint = row?.checkpoint;
66
230
  if (!checkpoint)
67
231
  return undefined;
68
- return [config, checkpoint];
232
+ return {
233
+ config: {
234
+ configurable: {
235
+ thread_id: threadId,
236
+ checkpoint_ns,
237
+ checkpoint_id: checkpoint.id,
238
+ },
239
+ },
240
+ checkpoint,
241
+ metadata: (row.metadata ?? {}),
242
+ };
69
243
  }
70
- async putWrites(config, writes, taskId) {
71
- for (const write of writes) {
72
- const checkpoint = write.checkpoint;
73
- const metadata = write.metadata;
74
- await this.put(config, checkpoint, metadata);
75
- }
244
+ async putWrites(_config, _writes, _taskId) {
245
+ // pending writes brauchen wir nicht separat zu persistieren -
246
+ // der finale Checkpoint kommt sowieso über put() rein
247
+ return;
76
248
  }
77
249
  async deleteThread(threadId) {
78
250
  await this.table.delete({
@@ -116,39 +288,13 @@ export class SmartCheckpointSaver extends BaseCheckpointSaver {
116
288
  this.debug = debug;
117
289
  }
118
290
  getMessageRole(message) {
119
- if (message instanceof HumanMessage)
120
- return "human";
121
- if (message instanceof AIMessage)
122
- return "ai";
123
- if (message instanceof SystemMessage)
124
- return "system";
125
- const rawMessage = message;
126
- const type = typeof rawMessage._getType === "function" ? rawMessage._getType() : rawMessage._getType;
127
- if (type === "human" || type === "user")
128
- return "human";
129
- if (type === "ai" || type === "assistant")
130
- return "ai";
131
- if (type === "system")
132
- return "system";
133
- const id = rawMessage.id?.[rawMessage.id.length - 1];
134
- if (id === "HumanMessage")
135
- return "human";
136
- if (id === "AIMessage" || id === "AIMessageChunk")
137
- return "ai";
138
- if (id === "SystemMessage")
139
- return "system";
140
- const role = rawMessage.role ?? rawMessage.kwargs?.role;
141
- if (role === "human" || role === "user")
142
- return "human";
143
- if (role === "ai" || role === "assistant")
144
- return "ai";
145
- if (role === "system")
146
- return "system";
147
- return "other";
291
+ const r = checkpointMessageRole(message);
292
+ if (r === "tool" || r === "other")
293
+ return "other";
294
+ return r;
148
295
  }
149
296
  getMessageContent(message) {
150
- const rawContent = message.content ?? message.kwargs?.content ?? "";
151
- return typeof rawContent === "string" ? rawContent : JSON.stringify(rawContent);
297
+ return checkpointMessageBody(message);
152
298
  }
153
299
  /**
154
300
  * Zählt User/AI Messages (ignoriert System-Messages)
@@ -1 +1 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/helpers/memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/helpers/memory.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,7 +4,6 @@ export * from "./helpers/rag";
4
4
  export { DynamicStructuredTool, MemorySaver } from "./imports";
5
5
  export * from "./heart/agent";
6
6
  export * from "./heart/chain";
7
- export * from "./heart/memorychain";
8
7
  export * from "./heart/tools/ToolRegistry";
9
8
  export { tavilySearchTool, TavilySearch } from "./heart/tools/Tavily";
10
9
  export * from "./heart/tools/RAGTool";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC9D,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACrE,cAAc,uBAAuB,CAAA;AACrC,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uCAAuC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC9D,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,4BAA4B,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACrE,cAAc,uBAAuB,CAAA;AACrC,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uCAAuC,CAAA"}
package/dist/index.js CHANGED
@@ -4,7 +4,6 @@ export * from "./helpers/rag";
4
4
  export { DynamicStructuredTool, MemorySaver } from "./imports";
5
5
  export * from "./heart/agent";
6
6
  export * from "./heart/chain";
7
- export * from "./heart/memorychain";
8
7
  export * from "./heart/tools/ToolRegistry";
9
8
  export { tavilySearchTool, TavilySearch } from "./heart/tools/Tavily";
10
9
  export * from "./heart/tools/RAGTool";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC9D,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACrE,cAAc,uBAAuB,CAAA;AACrC,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uCAAuC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC9D,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,4BAA4B,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACrE,cAAc,uBAAuB,CAAA;AACrC,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uCAAuC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@delofarag/ai-utils",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -8,6 +8,11 @@
8
8
  "dist",
9
9
  "README.md"
10
10
  ],
11
+ "scripts": {
12
+ "build": "tsc",
13
+ "dev": "tsx",
14
+ "start": "tsx"
15
+ },
11
16
  "dependencies": {
12
17
  "@supabase/supabase-js": "^2.39.0",
13
18
  "@delofarag/base-utils": "^1.3.1",
@@ -29,16 +34,11 @@
29
34
  "zodios": "^5.1.0"
30
35
  },
31
36
  "peerDependencies": {
32
- "@delofarag/supabase-utils": "^1.0.1"
37
+ "@delofarag/supabase-utils": "^1.3.10"
33
38
  },
34
39
  "devDependencies": {
35
40
  "@types/node": "^20.0.0",
36
41
  "tsx": "^4.0.0",
37
42
  "typescript": "^5.9.3"
38
- },
39
- "scripts": {
40
- "build": "tsc",
41
- "dev": "tsx",
42
- "start": "tsx"
43
43
  }
44
- }
44
+ }