@delofarag/ai-utils 1.4.2 → 1.5.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 (126) hide show
  1. package/README.md +354 -216
  2. package/dist/chatbot.d.ts +33 -0
  3. package/dist/chatbot.d.ts.map +1 -0
  4. package/dist/chatbot.js +72 -0
  5. package/dist/chatbot.js.map +1 -0
  6. package/dist/heart/agent.d.ts +1 -1
  7. package/dist/heart/agent.d.ts.map +1 -1
  8. package/dist/heart/agent.js +3 -8
  9. package/dist/heart/agent.js.map +1 -1
  10. package/dist/heart/chain.d.ts +1 -1
  11. package/dist/heart/chain.d.ts.map +1 -1
  12. package/dist/heart/chain.js +4 -4
  13. package/dist/heart/chain.js.map +1 -1
  14. package/dist/heart/chatbot.d.ts +1 -1
  15. package/dist/heart/memorychain.d.ts +2 -2
  16. package/dist/heart/memorychain.js +6 -6
  17. package/dist/heart/memorychain.js.map +1 -1
  18. package/dist/heart/tools/zodios/ZodiosToolRegistry.d.ts +1 -1
  19. package/dist/heart/tools/zodios/ZodiosToolRegistry.d.ts.map +1 -1
  20. package/dist/helpers/chatbot.d.ts +33 -0
  21. package/dist/helpers/chatbot.d.ts.map +1 -0
  22. package/dist/helpers/chatbot.js +72 -0
  23. package/dist/helpers/chatbot.js.map +1 -0
  24. package/dist/helpers/helpers.d.ts +25 -0
  25. package/dist/helpers/helpers.d.ts.map +1 -0
  26. package/dist/helpers/helpers.js +43 -0
  27. package/dist/helpers/helpers.js.map +1 -0
  28. package/dist/helpers/llms.d.ts +92 -0
  29. package/dist/helpers/llms.d.ts.map +1 -0
  30. package/dist/helpers/llms.js +49 -0
  31. package/dist/helpers/llms.js.map +1 -0
  32. package/dist/helpers/memory.d.ts +91 -0
  33. package/dist/helpers/memory.d.ts.map +1 -0
  34. package/dist/helpers/memory.js +351 -0
  35. package/dist/helpers/memory.js.map +1 -0
  36. package/dist/helpers/rag.d.ts +42 -0
  37. package/dist/helpers/rag.d.ts.map +1 -0
  38. package/dist/helpers/rag.js +66 -0
  39. package/dist/helpers/rag.js.map +1 -0
  40. package/dist/helpers.d.ts +3 -3
  41. package/dist/index.d.ts +10 -10
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +10 -10
  44. package/dist/index.js.map +1 -1
  45. package/dist/magic-funcs/answerers/ask.d.ts +18 -2
  46. package/dist/magic-funcs/answerers/ask.d.ts.map +1 -1
  47. package/dist/magic-funcs/answerers/ask.js +20 -9
  48. package/dist/magic-funcs/answerers/ask.js.map +1 -1
  49. package/dist/magic-funcs/answerers/websearch.d.ts +15 -0
  50. package/dist/magic-funcs/answerers/websearch.d.ts.map +1 -1
  51. package/dist/magic-funcs/answerers/websearch.js +15 -0
  52. package/dist/magic-funcs/answerers/websearch.js.map +1 -1
  53. package/dist/magic-funcs/evaluators/classify.d.ts +20 -1
  54. package/dist/magic-funcs/evaluators/classify.d.ts.map +1 -1
  55. package/dist/magic-funcs/evaluators/classify.js +22 -3
  56. package/dist/magic-funcs/evaluators/classify.js.map +1 -1
  57. package/dist/magic-funcs/evaluators/decide.d.ts +18 -0
  58. package/dist/magic-funcs/evaluators/decide.d.ts.map +1 -1
  59. package/dist/magic-funcs/evaluators/decide.js +21 -3
  60. package/dist/magic-funcs/evaluators/decide.js.map +1 -1
  61. package/dist/magic-funcs/optimizers/promptify.d.ts +18 -0
  62. package/dist/magic-funcs/optimizers/promptify.d.ts.map +1 -1
  63. package/dist/magic-funcs/optimizers/promptify.js +21 -3
  64. package/dist/magic-funcs/optimizers/promptify.js.map +1 -1
  65. package/dist/magic-funcs/optimizers/ragify.d.ts +16 -0
  66. package/dist/magic-funcs/optimizers/ragify.d.ts.map +1 -1
  67. package/dist/magic-funcs/optimizers/ragify.js +19 -3
  68. package/dist/magic-funcs/optimizers/ragify.js.map +1 -1
  69. package/dist/magic-funcs/parsers/extract.d.ts +23 -0
  70. package/dist/magic-funcs/parsers/extract.d.ts.map +1 -1
  71. package/dist/magic-funcs/parsers/extract.js +26 -3
  72. package/dist/magic-funcs/parsers/extract.js.map +1 -1
  73. package/dist/magic-funcs/parsers/rewrite.d.ts +19 -0
  74. package/dist/magic-funcs/parsers/rewrite.d.ts.map +1 -1
  75. package/dist/magic-funcs/parsers/rewrite.js +22 -2
  76. package/dist/magic-funcs/parsers/rewrite.js.map +1 -1
  77. package/dist/magic-funcs/parsers/structure.d.ts +22 -0
  78. package/dist/magic-funcs/parsers/structure.d.ts.map +1 -1
  79. package/dist/magic-funcs/parsers/structure.js +27 -4
  80. package/dist/magic-funcs/parsers/structure.js.map +1 -1
  81. package/dist/magic-funcs/parsers/summarize.d.ts +20 -0
  82. package/dist/magic-funcs/parsers/summarize.d.ts.map +1 -1
  83. package/dist/magic-funcs/parsers/summarize.js +23 -3
  84. package/dist/magic-funcs/parsers/summarize.js.map +1 -1
  85. package/dist/memory.d.ts +1 -1
  86. package/dist/modalities/image-gen/generateImages.d.ts +56 -0
  87. package/dist/modalities/image-gen/generateImages.d.ts.map +1 -0
  88. package/dist/modalities/image-gen/generateImages.js +66 -0
  89. package/dist/modalities/image-gen/generateImages.js.map +1 -0
  90. package/dist/modalities/image-gen/helpers.d.ts +15 -0
  91. package/dist/modalities/image-gen/helpers.d.ts.map +1 -0
  92. package/dist/modalities/image-gen/helpers.js +17 -0
  93. package/dist/modalities/image-gen/helpers.js.map +1 -0
  94. package/dist/modalities/openrouter.d.ts +11 -0
  95. package/dist/modalities/openrouter.d.ts.map +1 -0
  96. package/dist/modalities/openrouter.js +39 -0
  97. package/dist/modalities/openrouter.js.map +1 -0
  98. package/dist/modalities/speech/VoiceEngine.d.ts +3 -0
  99. package/dist/modalities/speech/VoiceEngine.d.ts.map +1 -0
  100. package/dist/modalities/speech/VoiceEngine.js +3 -0
  101. package/dist/modalities/speech/VoiceEngine.js.map +1 -0
  102. package/dist/modalities/speech/stt/helpers.d.ts +3 -0
  103. package/dist/modalities/speech/stt/helpers.d.ts.map +1 -0
  104. package/dist/modalities/speech/stt/helpers.js +28 -0
  105. package/dist/modalities/speech/stt/helpers.js.map +1 -0
  106. package/dist/modalities/speech/stt/stt.d.ts +113 -0
  107. package/dist/modalities/speech/stt/stt.d.ts.map +1 -0
  108. package/dist/modalities/speech/stt/stt.js +177 -0
  109. package/dist/modalities/speech/stt/stt.js.map +1 -0
  110. package/dist/modalities/speech/tts/helpers.d.ts +12 -0
  111. package/dist/modalities/speech/tts/helpers.d.ts.map +1 -0
  112. package/dist/modalities/speech/tts/helpers.js +10 -0
  113. package/dist/modalities/speech/tts/helpers.js.map +1 -0
  114. package/dist/modalities/speech/tts/tts.d.ts +115 -0
  115. package/dist/modalities/speech/tts/tts.d.ts.map +1 -0
  116. package/dist/modalities/speech/tts/tts.js +142 -0
  117. package/dist/modalities/speech/tts/tts.js.map +1 -0
  118. package/dist/modalities/vision/helpers.d.ts +3 -0
  119. package/dist/modalities/vision/helpers.d.ts.map +1 -0
  120. package/dist/modalities/vision/helpers.js +7 -0
  121. package/dist/modalities/vision/helpers.js.map +1 -0
  122. package/dist/modalities/vision/vision.d.ts +55 -0
  123. package/dist/modalities/vision/vision.d.ts.map +1 -0
  124. package/dist/modalities/vision/vision.js +71 -0
  125. package/dist/modalities/vision/vision.js.map +1 -0
  126. package/package.json +7 -7
@@ -1,4 +1,20 @@
1
1
  import { BaseChatModel } from "../../imports";
2
+ /**
3
+ * Optimiert Input zu einem dichten, RAG-freundlichen Kontexttext.
4
+ *
5
+ * Sinnvoll vor Embedding/Indexing, um Redundanz zu reduzieren und Fakten klar zu strukturieren.
6
+ *
7
+ * @param params.llm Optionales Chat-LLM.
8
+ * @param params.data Rohtext, der fuer RAG optimiert werden soll.
9
+ * @returns Strukturierter Kontext als String.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const context = await ragify({
14
+ * data: "Langer Meeting- und Projektext mit vielen Wiederholungen..."
15
+ * })
16
+ * ```
17
+ */
2
18
  export declare function ragify({ llm, data, }: {
3
19
  llm?: BaseChatModel;
4
20
  data: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ragify.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/optimizers/ragify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAK7C,wBAAsB,MAAM,CAAC,EACzB,GAAuE,EACvE,IAAI,GACL,EAAE;IACD,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAqClB"}
1
+ {"version":3,"file":"ragify.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/optimizers/ragify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAK7C;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,MAAM,CAAC,EACzB,GAAkF,EAClF,IAAI,GACL,EAAE;IACD,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAqClB"}
@@ -1,8 +1,24 @@
1
- import { getLLM } from "../../helpers";
1
+ import { getLLM } from "../../helpers/llms";
2
2
  import { ChatPromptTemplate } from "../../imports";
3
- import { createSimpleChain } from "../../helpers";
3
+ import { createSimpleChain } from "../../helpers/helpers";
4
4
  import { StringOutputParser } from "../../imports";
5
- export async function ragify({ llm = getLLM({ type: "groq", apikey: process.env.CHATGROQ_API_KEY ?? "" }), data, }) {
5
+ /**
6
+ * Optimiert Input zu einem dichten, RAG-freundlichen Kontexttext.
7
+ *
8
+ * Sinnvoll vor Embedding/Indexing, um Redundanz zu reduzieren und Fakten klar zu strukturieren.
9
+ *
10
+ * @param params.llm Optionales Chat-LLM.
11
+ * @param params.data Rohtext, der fuer RAG optimiert werden soll.
12
+ * @returns Strukturierter Kontext als String.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * const context = await ragify({
17
+ * data: "Langer Meeting- und Projektext mit vielen Wiederholungen..."
18
+ * })
19
+ * ```
20
+ */
21
+ export async function ragify({ llm = getLLM({ provider: "chatgroq", apikey: process.env.CHATGROQ_API_KEY ?? "" }), data, }) {
6
22
  const prompt = ChatPromptTemplate.fromMessages([
7
23
  ["system", `
8
24
  Du bist ein RAG-Kontext-Optimierer.
@@ -1 +1 @@
1
- {"version":3,"file":"ragify.js","sourceRoot":"","sources":["../../../src/magic-funcs/optimizers/ragify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,EACzB,GAAG,GAAG,MAAM,CAAC,EAAC,IAAI,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,EAAC,CAAC,EACvE,IAAI,GAIL;IAEC,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC;QAC7C,CAAC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;aA0BJ,CAAC;QACR,CAAC,OAAO,EAAE,SAAS,CAAC;KACrB,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,kBAAkB,EAAE,CAAC,CAAA;IACtE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAElD,OAAO,MAAgB,CAAA;AACzB,CAAC"}
1
+ {"version":3,"file":"ragify.js","sourceRoot":"","sources":["../../../src/magic-funcs/optimizers/ragify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,EACzB,GAAG,GAAG,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,EAAE,CAAC,EAClF,IAAI,GAIL;IAEC,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC;QAC7C,CAAC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;aA0BJ,CAAC;QACR,CAAC,OAAO,EAAE,SAAS,CAAC;KACrB,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,kBAAkB,EAAE,CAAC,CAAA;IACtE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAElD,OAAO,MAAgB,CAAA;AACzB,CAAC"}
@@ -1,5 +1,28 @@
1
1
  import { BaseChatModel } from "../../imports";
2
2
  import { z } from "zod/v3";
3
+ /**
4
+ * Extrahiert strukturierte Daten aus unstrukturiertem Input anhand eines Zod-Schemas.
5
+ *
6
+ * Sinnvoll fuer Information Extraction aus Texten, Notizen, Tickets oder Logs.
7
+ *
8
+ * @param params.llm Optionales Chat-LLM.
9
+ * @param params.data Eingabedaten (String oder Objekt).
10
+ * @param params.goal Optionales Extraktionsziel zur Fokussierung.
11
+ * @param params.schema Zod-Schema der gewuenschten Ausgabe.
12
+ * @returns Geparstes Ergebnis als `z.infer<T>`.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * const result = await extract({
17
+ * data: "Max Mustermann, 32, Berlin",
18
+ * schema: z.object({
19
+ * name: z.string(),
20
+ * age: z.number(),
21
+ * city: z.string()
22
+ * })
23
+ * })
24
+ * ```
25
+ */
3
26
  export declare function extract<T extends z.ZodObject<any>>({ llm, data, goal, schema }: {
4
27
  llm?: BaseChatModel;
5
28
  data: any;
@@ -1 +1 @@
1
- {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/parsers/extract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE7C,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAI1B,wBAAsB,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EACtD,GAAuE,EACvE,IAAI,EACJ,IAAI,EACJ,MAAM,EACP,EAAE;IACD,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,IAAI,EAAE,GAAG,CAAA;IACT,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,CAAC,CAAA;CACV,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAiCtB"}
1
+ {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/parsers/extract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE7C,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAK1B;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EACtD,GAAiH,EACjH,IAAI,EACJ,IAAI,EACJ,MAAM,EACP,EAAE;IACD,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,IAAI,EAAE,GAAG,CAAA;IACT,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,CAAC,CAAA;CACV,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAiCtB"}
@@ -1,8 +1,31 @@
1
- import { createSimpleChain } from "../../helpers";
1
+ import { createSimpleChain } from "../../helpers/helpers";
2
2
  import { ChatPromptTemplate } from "../../imports";
3
- import { getLLM } from "../../helpers";
4
3
  import { StructuredOutputParser } from "../../imports";
5
- export async function extract({ llm = getLLM({ type: "groq", apikey: process.env.CHATGROQ_API_KEY ?? "" }), data, goal, schema }) {
4
+ import { getLLM } from "../../helpers/llms";
5
+ /**
6
+ * Extrahiert strukturierte Daten aus unstrukturiertem Input anhand eines Zod-Schemas.
7
+ *
8
+ * Sinnvoll fuer Information Extraction aus Texten, Notizen, Tickets oder Logs.
9
+ *
10
+ * @param params.llm Optionales Chat-LLM.
11
+ * @param params.data Eingabedaten (String oder Objekt).
12
+ * @param params.goal Optionales Extraktionsziel zur Fokussierung.
13
+ * @param params.schema Zod-Schema der gewuenschten Ausgabe.
14
+ * @returns Geparstes Ergebnis als `z.infer<T>`.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * const result = await extract({
19
+ * data: "Max Mustermann, 32, Berlin",
20
+ * schema: z.object({
21
+ * name: z.string(),
22
+ * age: z.number(),
23
+ * city: z.string()
24
+ * })
25
+ * })
26
+ * ```
27
+ */
28
+ export async function extract({ llm = getLLM({ provider: "openrouter", apikey: process.env.OPENROUTER_API_KEY ?? "", model: "openai/gpt-5.4-mini" }), data, goal, schema }) {
6
29
  const inputString = typeof data === "string"
7
30
  ? data
8
31
  : JSON.stringify(data, null, 2);
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../src/magic-funcs/parsers/extract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAEtD,MAAM,CAAC,KAAK,UAAU,OAAO,CAA6B,EACtD,GAAG,GAAG,MAAM,CAAC,EAAC,IAAI,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,EAAC,CAAC,EACvE,IAAI,EACJ,IAAI,EACJ,MAAM,EAMP;IAEC,MAAM,WAAW,GAAG,OAAO,IAAI,KAAK,QAAQ;QAC1C,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAEjC,MAAM,MAAM,GAAG,sBAAsB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC;QACnD,CAAC,QAAQ,EAAE;;;;YAIL,IAAI,CAAC,CAAC,CAAC;;;aAGN,IAAI,GAAG;gBACZ,CAAC;oBACA,mFAAmF;;;;;;;;;;aAU/E,CAAC;QACR,CAAC,OAAO,EAAE,SAAS,CAAC;KACrB,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAA;IACnE,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IACpD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;IACzD,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AAC7B,CAAC"}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../src/magic-funcs/parsers/extract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAGlD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAA6B,EACtD,GAAG,GAAG,MAAM,CAAC,EAAC,QAAQ,EAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAC,CAAC,EACjH,IAAI,EACJ,IAAI,EACJ,MAAM,EAMP;IAEC,MAAM,WAAW,GAAG,OAAO,IAAI,KAAK,QAAQ;QAC1C,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAEjC,MAAM,MAAM,GAAG,sBAAsB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC;QACnD,CAAC,QAAQ,EAAE;;;;YAIL,IAAI,CAAC,CAAC,CAAC;;;aAGN,IAAI,GAAG;gBACZ,CAAC;oBACA,mFAAmF;;;;;;;;;;aAU/E,CAAC;QACR,CAAC,OAAO,EAAE,SAAS,CAAC;KACrB,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAA;IACnE,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IACpD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;IACzD,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AAC7B,CAAC"}
@@ -1,4 +1,23 @@
1
1
  import { BaseChatModel } from "../../imports";
2
+ /**
3
+ * Schreibt Input nach einer konkreten Anweisung um.
4
+ *
5
+ * Sinnvoll fuer Stiltransformation, Formatumwandlung, Tonalitaetswechsel oder Reduktion.
6
+ *
7
+ * @param params.data Eingabedaten (String oder Objekt).
8
+ * @param params.instruction Konkrete Transformationsanweisung.
9
+ * @param params.llm Optionales Chat-LLM.
10
+ * @param params.retries Anzahl der Wiederholungen bei Fehlern.
11
+ * @returns Transformierter Output als String.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const result = await rewrite({
16
+ * data: "Bitte sehr freundlich schreiben.",
17
+ * instruction: "Formuliere als kurze, professionelle E-Mail."
18
+ * })
19
+ * ```
20
+ */
2
21
  export declare function rewrite({ data, instruction, llm, retries }: {
3
22
  data: any;
4
23
  instruction: string;
@@ -1 +1 @@
1
- {"version":3,"file":"rewrite.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/parsers/rewrite.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAG7C,wBAAsB,OAAO,CAAC,EAC5B,IAAI,EACJ,WAAW,EACX,GAA0E,EAC1E,OAAW,EACZ,EAAE;IACD,IAAI,EAAE,GAAG,CAAA;IACT,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkClB"}
1
+ {"version":3,"file":"rewrite.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/parsers/rewrite.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAI7C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,OAAO,CAAC,EAC5B,IAAI,EACJ,WAAW,EACX,GAAmH,EACnH,OAAW,EACZ,EAAE;IACD,IAAI,EAAE,GAAG,CAAA;IACT,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkClB"}
@@ -1,7 +1,27 @@
1
1
  import { StringOutputParser } from "@langchain/core/output_parsers";
2
- import { createSimpleChain, getLLM } from "../../helpers";
2
+ import { createSimpleChain } from "../../helpers/helpers";
3
3
  import { ChatPromptTemplate } from "../../imports";
4
- export async function rewrite({ data, instruction, llm = getLLM({ type: "groq", apikey: process.env.CHATGROQ_API_KEY ?? "" }), retries = 2 }) {
4
+ import { getLLM } from "../../helpers/llms";
5
+ /**
6
+ * Schreibt Input nach einer konkreten Anweisung um.
7
+ *
8
+ * Sinnvoll fuer Stiltransformation, Formatumwandlung, Tonalitaetswechsel oder Reduktion.
9
+ *
10
+ * @param params.data Eingabedaten (String oder Objekt).
11
+ * @param params.instruction Konkrete Transformationsanweisung.
12
+ * @param params.llm Optionales Chat-LLM.
13
+ * @param params.retries Anzahl der Wiederholungen bei Fehlern.
14
+ * @returns Transformierter Output als String.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * const result = await rewrite({
19
+ * data: "Bitte sehr freundlich schreiben.",
20
+ * instruction: "Formuliere als kurze, professionelle E-Mail."
21
+ * })
22
+ * ```
23
+ */
24
+ export async function rewrite({ data, instruction, llm = getLLM({ provider: "openrouter", apikey: process.env.OPENROUTER_API_KEY ?? "", model: "openai/gpt-5.4-mini" }), retries = 2 }) {
5
25
  const inputString = typeof data === "string" ? data : JSON.stringify(data, null, 2);
6
26
  const prompt = ChatPromptTemplate.fromMessages([
7
27
  [
@@ -1 +1 @@
1
- {"version":3,"file":"rewrite.js","sourceRoot":"","sources":["../../../src/magic-funcs/parsers/rewrite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,EAC5B,IAAI,EACJ,WAAW,EACX,GAAG,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,EAAE,CAAC,EAC1E,OAAO,GAAG,CAAC,EAMZ;IACC,MAAM,WAAW,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAEnF,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC;QAC7C;YACE,QAAQ;YACR;;;;;;;;yFAQmF;SACpF;QACD,CAAC,OAAO,EAAE,SAAS,CAAC;KACrB,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,kBAAkB,EAAE,CAAC,CAAA;IAEtE,IAAI,SAAS,GAAiB,IAAI,CAAA;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAA;YACtE,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAc,CAAA;YAC1B,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,GAAG,CAAC,0BAA0B,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;AACtG,CAAC"}
1
+ {"version":3,"file":"rewrite.js","sourceRoot":"","sources":["../../../src/magic-funcs/parsers/rewrite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,EAC5B,IAAI,EACJ,WAAW,EACX,GAAG,GAAG,MAAM,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAC,CAAC,EACnH,OAAO,GAAG,CAAC,EAMZ;IACC,MAAM,WAAW,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAEnF,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC;QAC7C;YACE,QAAQ;YACR;;;;;;;;yFAQmF;SACpF;QACD,CAAC,OAAO,EAAE,SAAS,CAAC;KACrB,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,kBAAkB,EAAE,CAAC,CAAA;IAEtE,IAAI,SAAS,GAAiB,IAAI,CAAA;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAA;YACtE,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAc,CAAA;YAC1B,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,GAAG,CAAC,0BAA0B,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;AACtG,CAAC"}
@@ -1,6 +1,28 @@
1
1
  import { BaseChatModel } from "../../imports";
2
2
  import type { OutputSchema } from "../../heart/chain";
3
3
  import { z } from "zod/v3";
4
+ /**
5
+ * Bringt beliebigen Input in ein vorgegebenes Zod-Schema.
6
+ *
7
+ * Sinnvoll wenn Modelloutput robust als JSON-Struktur benoetigt wird.
8
+ *
9
+ * @param params.data Rohdaten, die strukturiert werden sollen.
10
+ * @param params.into Ziel-Schema (`z.object(...)` oder `z.record(...)`).
11
+ * @param params.llm Optionales Chat-LLM.
12
+ * @param params.retries Anzahl der Wiederholungsversuche bei Parsing-Fehlern.
13
+ * @returns Valider, schema-konformer Output als `z.infer<T>`.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * const result = await structure({
18
+ * data: "Titel: Demo, Prioritaet: hoch",
19
+ * into: z.object({
20
+ * title: z.string(),
21
+ * priority: z.enum(["niedrig", "mittel", "hoch"])
22
+ * })
23
+ * })
24
+ * ```
25
+ */
4
26
  export declare function structure<T extends OutputSchema>({ data, into, llm, retries }: {
5
27
  data: any;
6
28
  into: T;
@@ -1 +1 @@
1
- {"version":3,"file":"structure.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/parsers/structure.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAA0B,MAAM,eAAe,CAAA;AAErE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,wBAAsB,SAAS,CAAC,CAAC,SAAS,YAAY,EAAE,EACpD,IAAI,EACJ,IAAI,EACJ,GAAuE,EACvE,OAAW,EACd,EAAC;IACE,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CA8BtB"}
1
+ {"version":3,"file":"structure.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/parsers/structure.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAA0B,MAAM,eAAe,CAAA;AAErE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAG1B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,SAAS,CAAC,CAAC,SAAS,YAAY,EAAE,EACpD,IAAI,EACJ,IAAI,EACJ,GAAiH,EACjH,OAAW,EACd,EAAC;IACE,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CA8BtB"}
@@ -1,9 +1,32 @@
1
- import { createSimpleChain, getLLM } from "../../helpers";
1
+ import { createSimpleChain } from "../../helpers/helpers";
2
2
  import { StructuredOutputParser } from "../../imports";
3
3
  import { ChatPromptTemplate } from "../../imports";
4
- export async function structure({ data, into, llm = getLLM({ type: "groq", apikey: process.env.CHATGROQ_API_KEY ?? "" }), retries = 2 }) {
5
- if (!process.env.CHATGROQ_API_KEY)
6
- throw new Error("CHATGROQ_API_KEY is not set for structure() call");
4
+ import { getLLM } from "../../helpers/llms";
5
+ /**
6
+ * Bringt beliebigen Input in ein vorgegebenes Zod-Schema.
7
+ *
8
+ * Sinnvoll wenn Modelloutput robust als JSON-Struktur benoetigt wird.
9
+ *
10
+ * @param params.data Rohdaten, die strukturiert werden sollen.
11
+ * @param params.into Ziel-Schema (`z.object(...)` oder `z.record(...)`).
12
+ * @param params.llm Optionales Chat-LLM.
13
+ * @param params.retries Anzahl der Wiederholungsversuche bei Parsing-Fehlern.
14
+ * @returns Valider, schema-konformer Output als `z.infer<T>`.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * const result = await structure({
19
+ * data: "Titel: Demo, Prioritaet: hoch",
20
+ * into: z.object({
21
+ * title: z.string(),
22
+ * priority: z.enum(["niedrig", "mittel", "hoch"])
23
+ * })
24
+ * })
25
+ * ```
26
+ */
27
+ export async function structure({ data, into, llm = getLLM({ provider: "openrouter", apikey: process.env.OPENROUTER_API_KEY ?? "", model: "openai/gpt-5.4-mini" }), retries = 2 }) {
28
+ if (!process.env.OPENROUTER_API_KEY)
29
+ throw new Error("OPENROUTER_API_KEY is not set for structure() call");
7
30
  const inputString = typeof data === "string" ? data : JSON.stringify(data, null, 2);
8
31
  const jsonParser = StructuredOutputParser.fromZodSchema(into);
9
32
  const prompt = await ChatPromptTemplate.fromMessages([
@@ -1 +1 @@
1
- {"version":3,"file":"structure.js","sourceRoot":"","sources":["../../../src/magic-funcs/parsers/structure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAiB,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAIlD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAyB,EACpD,IAAI,EACJ,IAAI,EACJ,GAAG,GAAG,MAAM,CAAC,EAAC,IAAI,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,EAAC,CAAC,EACvE,OAAO,GAAG,CAAC,EAMd;IACG,IAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB;QAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IACrG,MAAM,WAAW,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACnF,MAAM,UAAU,GAAG,sBAAsB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAC7D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC;QACjD,CAAC,QAAQ,EAAE;;;;;;;kCAOe,CAAC;QAC3B,CAAC,OAAO,EAAE,SAAS,CAAC;KACvB,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,EAAE,UAAU,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAA;IACvE,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAA;IAExD,IAAI,SAAS,GAAiB,IAAI,CAAA;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;YACzD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,SAAS,GAAG,KAAc,CAAA;YAC1B,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;YACzE,CAAC;QACL,CAAC;IACL,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,GAAG,CAAC,qBAAqB,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;AACrG,CAAC"}
1
+ {"version":3,"file":"structure.js","sourceRoot":"","sources":["../../../src/magic-funcs/parsers/structure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAiB,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAGlD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAyB,EACpD,IAAI,EACJ,IAAI,EACJ,GAAG,GAAG,MAAM,CAAC,EAAC,QAAQ,EAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAC,CAAC,EACjH,OAAO,GAAG,CAAC,EAMd;IACG,IAAG,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;IACzG,MAAM,WAAW,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACnF,MAAM,UAAU,GAAG,sBAAsB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAC7D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC;QACjD,CAAC,QAAQ,EAAE;;;;;;;kCAOe,CAAC;QAC3B,CAAC,OAAO,EAAE,SAAS,CAAC;KACvB,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,EAAE,UAAU,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAA;IACvE,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAA;IAExD,IAAI,SAAS,GAAiB,IAAI,CAAA;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;YACzD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,SAAS,GAAG,KAAc,CAAA;YAC1B,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;YACzE,CAAC;QACL,CAAC;IACL,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,GAAG,CAAC,qBAAqB,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;AACrG,CAAC"}
@@ -1,4 +1,24 @@
1
1
  import { BaseChatModel } from "../../imports";
2
+ /**
3
+ * Fasst Input kompakt und faktengetreu zusammen.
4
+ *
5
+ * Sinnvoll fuer Report-Kuerzung, Ticket-Digests, Meeting-Recaps oder Vorverarbeitung.
6
+ *
7
+ * @param params.llm Optionales Chat-LLM.
8
+ * @param params.data Zu zusammenfassender Input.
9
+ * @param params.fokuss Optionaler Fokusbereich fuer die Zusammenfassung.
10
+ * @param params.maxWords Maximal erlaubte Wortanzahl.
11
+ * @returns Zusammenfassung als String.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const summary = await summarize({
16
+ * data: longText,
17
+ * fokuss: "Risiken und naechste Schritte",
18
+ * maxWords: 80
19
+ * })
20
+ * ```
21
+ */
2
22
  export declare function summarize({ llm, data, fokuss, maxWords }: {
3
23
  llm?: BaseChatModel;
4
24
  data: any;
@@ -1 +1 @@
1
- {"version":3,"file":"summarize.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/parsers/summarize.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAI7C,wBAAsB,SAAS,CAAC,EAC5B,GAAuE,EACvE,IAAI,EACJ,MAAM,EACN,QAAc,EACf,EAAC;IACA,GAAG,CAAC,EAAC,aAAa,CAAC;IACnB,IAAI,EAAC,GAAG,CAAC;IACT,MAAM,CAAC,EAAC,MAAM,CAAC;IACf,QAAQ,CAAC,EAAC,MAAM,CAAA;CACjB,GAAE,OAAO,CAAC,MAAM,CAAC,CAwCjB"}
1
+ {"version":3,"file":"summarize.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/parsers/summarize.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAI7C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,SAAS,CAAC,EAC5B,GAAiH,EACjH,IAAI,EACJ,MAAM,EACN,QAAc,EACf,EAAC;IACA,GAAG,CAAC,EAAC,aAAa,CAAC;IACnB,IAAI,EAAC,GAAG,CAAC;IACT,MAAM,CAAC,EAAC,MAAM,CAAC;IACf,QAAQ,CAAC,EAAC,MAAM,CAAA;CACjB,GAAE,OAAO,CAAC,MAAM,CAAC,CAwCjB"}
@@ -1,8 +1,28 @@
1
1
  import { StringOutputParser } from "@langchain/core/output_parsers";
2
- import { createSimpleChain } from "../../helpers";
2
+ import { createSimpleChain } from "../../helpers/helpers";
3
3
  import { ChatPromptTemplate } from "../../imports";
4
- import { getLLM } from "../../helpers";
5
- export async function summarize({ llm = getLLM({ type: "groq", apikey: process.env.CHATGROQ_API_KEY ?? "" }), data, fokuss, maxWords = 150 }) {
4
+ import { getLLM } from "../../helpers/llms";
5
+ /**
6
+ * Fasst Input kompakt und faktengetreu zusammen.
7
+ *
8
+ * Sinnvoll fuer Report-Kuerzung, Ticket-Digests, Meeting-Recaps oder Vorverarbeitung.
9
+ *
10
+ * @param params.llm Optionales Chat-LLM.
11
+ * @param params.data Zu zusammenfassender Input.
12
+ * @param params.fokuss Optionaler Fokusbereich fuer die Zusammenfassung.
13
+ * @param params.maxWords Maximal erlaubte Wortanzahl.
14
+ * @returns Zusammenfassung als String.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * const summary = await summarize({
19
+ * data: longText,
20
+ * fokuss: "Risiken und naechste Schritte",
21
+ * maxWords: 80
22
+ * })
23
+ * ```
24
+ */
25
+ export async function summarize({ llm = getLLM({ provider: "openrouter", apikey: process.env.OPENROUTER_API_KEY ?? "", model: "openai/gpt-5.4-mini" }), data, fokuss, maxWords = 150 }) {
6
26
  const inputString = typeof data === "string" ? data : JSON.stringify(data, null, 2);
7
27
  const prompt = ChatPromptTemplate.fromMessages([
8
28
  ["system", `
@@ -1 +1 @@
1
- {"version":3,"file":"summarize.js","sourceRoot":"","sources":["../../../src/magic-funcs/parsers/summarize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,EAC5B,GAAG,GAAG,MAAM,CAAC,EAAC,IAAI,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,EAAC,CAAC,EACvE,IAAI,EACJ,MAAM,EACN,QAAQ,GAAG,GAAG,EAMf;IACG,MAAM,WAAW,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACnF,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC;QAC7C,CAAC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;sBAqBG,QAAQ;;;YAGlB,MAAM,CAAC,CAAC,CAAC;;cAEP,MAAM;;WAET,CAAC,CAAC,CAAC,EAAE;;;WAGL,CAAC;QACF,CAAC,OAAO,EAAC,SAAS,CAAC;KACtB,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAC,GAAG,EAAC,IAAI,kBAAkB,EAAE,CAAC,CAAA;IACpE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAC,WAAW,EAAE,CAAC,CAAA;IACxD,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAC/D,CAAC"}
1
+ {"version":3,"file":"summarize.js","sourceRoot":"","sources":["../../../src/magic-funcs/parsers/summarize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,EAC5B,GAAG,GAAG,MAAM,CAAC,EAAC,QAAQ,EAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAC,CAAC,EACjH,IAAI,EACJ,MAAM,EACN,QAAQ,GAAG,GAAG,EAMf;IACG,MAAM,WAAW,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACnF,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC;QAC7C,CAAC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;sBAqBG,QAAQ;;;YAGlB,MAAM,CAAC,CAAC,CAAC;;cAEP,MAAM;;WAET,CAAC,CAAC,CAAC,EAAE;;;WAGL,CAAC;QACF,CAAC,OAAO,EAAC,SAAS,CAAC;KACtB,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAC,GAAG,EAAC,IAAI,kBAAkB,EAAE,CAAC,CAAA;IACpE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAC,WAAW,EAAE,CAAC,CAAA;IACxD,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAC/D,CAAC"}
package/dist/memory.d.ts CHANGED
@@ -35,7 +35,7 @@ interface SmartCheckpointSaverOptions {
35
35
  {
36
36
  messagesBeforeSummary = 12,
37
37
  maxSummaries = 7,
38
- llm = getLLM({ type:"groq" }),
38
+ llm = getLLM({ provider:"chatgroq" }),
39
39
  debug = false
40
40
  }: SmartCheckpointSaverOptions = {}
41
41
  ) {
@@ -0,0 +1,56 @@
1
+ import { OpenRouterImageGenModel } from "../../helpers/llms";
2
+ import { LLMInstance } from "../openrouter";
3
+ import { ImageConfig, ImageGenModalities } from "./helpers";
4
+ type ImageGenOptions = {
5
+ llm?: LLMInstance;
6
+ prompt: string;
7
+ modalities?: ImageGenModalities;
8
+ imageConfig?: ImageConfig;
9
+ model?: OpenRouterImageGenModel;
10
+ };
11
+ /**
12
+ * Generates images from a text prompt using OpenRouter image-generation models.
13
+ *
14
+ * Internally this function calls OpenRouter through the chat-completions-compatible
15
+ * interface with `modalities` and optional `image_config`. If no `llm` is provided,
16
+ * it creates one with `getLLM({ provider: "openrouter", type: "image-gen" })` and
17
+ * reads `process.env.OPENROUTER_API_KEY`.
18
+ *
19
+ * Make sure `OPENROUTER_API_KEY` is set in your `.env`.
20
+ *
21
+ * @param params.llm Optional LLM instance from `getLLM(...)`.
22
+ * @param params.prompt Image generation prompt (for example: "create a cat in watercolor style").
23
+ * @param params.modalities Output modalities for the model call.
24
+ * @param params.imageConfig Optional image generation settings (for example aspect ratio/size).
25
+ * @param params.model Optional model override for this call.
26
+ * @returns Promise containing extracted image URLs/data URLs, optional text, and raw response.
27
+ *
28
+ * @example
29
+ * CONFIG:
30
+ * ```ts
31
+ * generateImages({
32
+ * llm = getLLM({ provider: "openrouter", type: "image-gen" }),
33
+ * modalities = ["image", "text"],
34
+ * imageConfig = { aspect_ratio: "1:1", image_size: "2K" },
35
+ * model,
36
+ * prompt
37
+ * })
38
+ * ```
39
+ *
40
+ * @example
41
+ * ```ts
42
+ * const result = await generateImages({
43
+ * prompt: "Generate a cozy cat illustration",
44
+ * imageConfig: { aspect_ratio: "1:1", image_size: "2K" }
45
+ * });
46
+ *
47
+ * console.log(result.images[0]);
48
+ * ```
49
+ */
50
+ export declare function generateImages({ llm, modalities, imageConfig, model, prompt }: ImageGenOptions): Promise<{
51
+ images: string[];
52
+ text?: string;
53
+ raw: unknown;
54
+ }>;
55
+ export {};
56
+ //# sourceMappingURL=generateImages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateImages.d.ts","sourceRoot":"","sources":["../../../src/modalities/image-gen/generateImages.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AACpE,OAAO,EAAE,WAAW,EAAwB,MAAM,eAAe,CAAA;AACjE,OAAO,EAAoB,WAAW,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE7E,KAAK,eAAe,GAAG;IACnB,GAAG,CAAC,EAAE,WAAW,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,kBAAkB,CAAA;IAC/B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,KAAK,CAAC,EAAE,uBAAuB,CAAA;CAClC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAsB,cAAc,CAAC,EACjC,GAA2D,EAC3D,UAA8B,EAC9B,WAAuD,EACvD,KAAK,EACL,MAAM,EACT,EAAE,eAAe,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC,CAyB9E"}
@@ -0,0 +1,66 @@
1
+ import { HumanMessage } from "../../imports";
2
+ import { getLLM } from "../../helpers/llms";
3
+ import { getOpenRouterRuntime } from "../openrouter";
4
+ import { extractImageUrls } from "./helpers";
5
+ /**
6
+ * Generates images from a text prompt using OpenRouter image-generation models.
7
+ *
8
+ * Internally this function calls OpenRouter through the chat-completions-compatible
9
+ * interface with `modalities` and optional `image_config`. If no `llm` is provided,
10
+ * it creates one with `getLLM({ provider: "openrouter", type: "image-gen" })` and
11
+ * reads `process.env.OPENROUTER_API_KEY`.
12
+ *
13
+ * Make sure `OPENROUTER_API_KEY` is set in your `.env`.
14
+ *
15
+ * @param params.llm Optional LLM instance from `getLLM(...)`.
16
+ * @param params.prompt Image generation prompt (for example: "create a cat in watercolor style").
17
+ * @param params.modalities Output modalities for the model call.
18
+ * @param params.imageConfig Optional image generation settings (for example aspect ratio/size).
19
+ * @param params.model Optional model override for this call.
20
+ * @returns Promise containing extracted image URLs/data URLs, optional text, and raw response.
21
+ *
22
+ * @example
23
+ * CONFIG:
24
+ * ```ts
25
+ * generateImages({
26
+ * llm = getLLM({ provider: "openrouter", type: "image-gen" }),
27
+ * modalities = ["image", "text"],
28
+ * imageConfig = { aspect_ratio: "1:1", image_size: "2K" },
29
+ * model,
30
+ * prompt
31
+ * })
32
+ * ```
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * const result = await generateImages({
37
+ * prompt: "Generate a cozy cat illustration",
38
+ * imageConfig: { aspect_ratio: "1:1", image_size: "2K" }
39
+ * });
40
+ *
41
+ * console.log(result.images[0]);
42
+ * ```
43
+ */
44
+ export async function generateImages({ llm = getLLM({ provider: "openrouter", type: "image-gen" }), modalities = ["image", "text"], imageConfig = { aspect_ratio: "1:1", image_size: "2K" }, model, prompt }) {
45
+ const runtime = getOpenRouterRuntime(llm);
46
+ const runtimeLLM = model && model !== runtime.model
47
+ ? getLLM({
48
+ provider: "openrouter",
49
+ type: "image-gen",
50
+ model,
51
+ apikey: runtime.apiKey
52
+ })
53
+ : llm;
54
+ const response = await runtimeLLM.invoke([new HumanMessage(prompt)], {
55
+ modalities,
56
+ image_config: imageConfig
57
+ });
58
+ const images = extractImageUrls(response);
59
+ const text = typeof response.content === "string" ? response.content : undefined;
60
+ return {
61
+ images,
62
+ text,
63
+ raw: response
64
+ };
65
+ }
66
+ //# sourceMappingURL=generateImages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateImages.js","sourceRoot":"","sources":["../../../src/modalities/image-gen/generateImages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,MAAM,EAA2B,MAAM,oBAAoB,CAAA;AACpE,OAAO,EAAe,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAmC,MAAM,WAAW,CAAA;AAU7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EACjC,GAAG,GAAG,MAAM,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAC3D,UAAU,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,EAC9B,WAAW,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EACvD,KAAK,EACL,MAAM,EACQ;IACd,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAA;IACzC,MAAM,UAAU,GACZ,KAAK,IAAI,KAAK,KAAK,OAAO,CAAC,KAAK;QAC5B,CAAC,CAAC,MAAM,CAAC;YACH,QAAQ,EAAE,YAAY;YACtB,IAAI,EAAE,WAAW;YACjB,KAAK;YACL,MAAM,EAAE,OAAO,CAAC,MAAM;SACzB,CAAC;QACJ,CAAC,CAAC,GAAG,CAAA;IAEb,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE;QACjE,UAAU;QACV,YAAY,EAAE,WAAW;KACrB,CAAC,CAAA;IAET,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IACzC,MAAM,IAAI,GAAG,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;IAEhF,OAAO;QACH,MAAM;QACN,IAAI;QACJ,GAAG,EAAE,QAAQ;KAChB,CAAA;AACL,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { AutoComplete } from "../../helpers/llms";
2
+ export type ImageGenModalities = ["image"] | ["image", "text"] | ["text", "image"];
3
+ export type ImageAspectRatio = AutoComplete<"1:1" | "2:3" | "3:2" | "3:4" | "4:3" | "4:5" | "5:4" | "9:16" | "16:9" | "21:9" | "1:4" | "4:1" | "1:8" | "8:1">;
4
+ export type ImageSize = AutoComplete<"0.5K" | "1K" | "2K" | "4K">;
5
+ export type ImageConfig = {
6
+ aspect_ratio?: ImageAspectRatio;
7
+ image_size?: ImageSize;
8
+ font_inputs?: {
9
+ font_url: string;
10
+ text: string;
11
+ }[];
12
+ super_resolution_references?: string[];
13
+ };
14
+ export declare function extractImageUrls(raw: unknown): string[];
15
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/modalities/image-gen/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAElF,MAAM,MAAM,gBAAgB,GAAG,YAAY,CACrC,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,MAAM,GACN,MAAM,GACN,MAAM,GACN,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,CACV,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAA;AAEjE,MAAM,MAAM,WAAW,GAAG;IACtB,YAAY,CAAC,EAAE,gBAAgB,CAAA;IAC/B,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,WAAW,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAClD,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAA;CACzC,CAAA;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,EAAE,CAkBvD"}
@@ -0,0 +1,17 @@
1
+ export function extractImageUrls(raw) {
2
+ const maybeRaw = raw;
3
+ const images = maybeRaw?.additional_kwargs?.images ?? maybeRaw?.response_metadata?.images ?? maybeRaw?.images;
4
+ if (Array.isArray(images)) {
5
+ return images
6
+ .map((entry) => entry?.image_url?.url)
7
+ .filter((url) => typeof url === "string");
8
+ }
9
+ const content = maybeRaw?.content;
10
+ if (Array.isArray(content)) {
11
+ return content
12
+ .map((entry) => entry?.image_url?.url)
13
+ .filter((url) => typeof url === "string");
14
+ }
15
+ return [];
16
+ }
17
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/modalities/image-gen/helpers.ts"],"names":[],"mappings":"AA8BA,MAAM,UAAU,gBAAgB,CAAC,GAAY;IACzC,MAAM,QAAQ,GAAG,GAAU,CAAA;IAC3B,MAAM,MAAM,GAAG,QAAQ,EAAE,iBAAiB,EAAE,MAAM,IAAI,QAAQ,EAAE,iBAAiB,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,CAAA;IAE7G,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM;aACR,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC;aAC1C,MAAM,CAAC,CAAC,GAAY,EAAiB,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAA;IACzE,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,CAAA;IACjC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,OAAO;aACT,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC;aAC1C,MAAM,CAAC,CAAC,GAAY,EAAiB,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAA;IACzE,CAAC;IAED,OAAO,EAAE,CAAA;AACb,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { getLLM } from "../helpers/llms";
2
+ export type LLMInstance = ReturnType<typeof getLLM>;
3
+ type OpenRouterRuntime = {
4
+ apiKey: string;
5
+ baseURL: string;
6
+ model: string;
7
+ };
8
+ export declare function isOpenRouterLLM(llm: LLMInstance): boolean;
9
+ export declare function getOpenRouterRuntime(llm: LLMInstance): OpenRouterRuntime;
10
+ export {};
11
+ //# sourceMappingURL=openrouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../src/modalities/openrouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAExC,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAA;AAEnD,KAAK,iBAAiB,GAAG;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CAChB,CAAA;AAMD,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAYzD;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,iBAAiB,CAiCxE"}
@@ -0,0 +1,39 @@
1
+ function readMaybeString(value) {
2
+ return typeof value === "string" && value.length > 0 ? value : undefined;
3
+ }
4
+ export function isOpenRouterLLM(llm) {
5
+ const maybeLLM = llm;
6
+ const baseURL = readMaybeString(maybeLLM?.clientConfig?.baseURL) ??
7
+ readMaybeString(maybeLLM?.configuration?.baseURL) ??
8
+ readMaybeString(maybeLLM?.fields?.configuration?.baseURL);
9
+ if (!baseURL) {
10
+ return false;
11
+ }
12
+ return baseURL.includes("openrouter.ai/api/v1");
13
+ }
14
+ export function getOpenRouterRuntime(llm) {
15
+ const maybeLLM = llm;
16
+ const baseURL = readMaybeString(maybeLLM?.clientConfig?.baseURL) ??
17
+ readMaybeString(maybeLLM?.configuration?.baseURL) ??
18
+ readMaybeString(maybeLLM?.fields?.configuration?.baseURL) ??
19
+ "https://openrouter.ai/api/v1";
20
+ const apiKey = readMaybeString(maybeLLM?.apiKey) ??
21
+ readMaybeString(maybeLLM?.clientConfig?.apiKey) ??
22
+ readMaybeString(maybeLLM?.fields?.apiKey) ??
23
+ process.env.OPENROUTER_API_KEY;
24
+ const model = readMaybeString(maybeLLM?.model) ??
25
+ readMaybeString(maybeLLM?.modelName) ??
26
+ "openrouter/auto";
27
+ if (!baseURL.includes("openrouter.ai/api/v1")) {
28
+ throw new Error("Provided llm is not configured for OpenRouter baseURL");
29
+ }
30
+ if (!apiKey) {
31
+ throw new Error("OpenRouter apiKey is missing on llm instance and env");
32
+ }
33
+ return {
34
+ apiKey,
35
+ baseURL,
36
+ model
37
+ };
38
+ }
39
+ //# sourceMappingURL=openrouter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../src/modalities/openrouter.ts"],"names":[],"mappings":"AAUA,SAAS,eAAe,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AAC5E,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAgB;IAC5C,MAAM,QAAQ,GAAG,GAAU,CAAA;IAC3B,MAAM,OAAO,GACT,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC;QAChD,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC;QACjD,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;IAE7D,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,OAAO,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAA;AACnD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAgB;IACjD,MAAM,QAAQ,GAAG,GAAU,CAAA;IAE3B,MAAM,OAAO,GACT,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC;QAChD,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC;QACjD,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC;QACzD,8BAA8B,CAAA;IAElC,MAAM,MAAM,GACR,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC;QACjC,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC;QAC/C,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAA;IAElC,MAAM,KAAK,GACP,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC;QAChC,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC;QACpC,iBAAiB,CAAA;IAErB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IAC5E,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;IAC3E,CAAC;IAED,OAAO;QACH,MAAM;QACN,OAAO;QACP,KAAK;KACR,CAAA;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare class VoiceEngine {
2
+ }
3
+ //# sourceMappingURL=VoiceEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VoiceEngine.d.ts","sourceRoot":"","sources":["../../../src/modalities/speech/VoiceEngine.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAW;CAEvB"}