@delofarag/ai-utils 1.4.3 → 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 (122) hide show
  1. package/README.md +354 -216
  2. package/dist/heart/agent.d.ts +1 -1
  3. package/dist/heart/agent.d.ts.map +1 -1
  4. package/dist/heart/agent.js +3 -8
  5. package/dist/heart/agent.js.map +1 -1
  6. package/dist/heart/chain.d.ts +1 -1
  7. package/dist/heart/chain.d.ts.map +1 -1
  8. package/dist/heart/chain.js +4 -4
  9. package/dist/heart/chain.js.map +1 -1
  10. package/dist/heart/chatbot.d.ts +1 -1
  11. package/dist/heart/memorychain.d.ts +2 -2
  12. package/dist/heart/memorychain.js +6 -6
  13. package/dist/heart/memorychain.js.map +1 -1
  14. package/dist/heart/tools/zodios/ZodiosToolRegistry.d.ts +1 -1
  15. package/dist/heart/tools/zodios/ZodiosToolRegistry.d.ts.map +1 -1
  16. package/dist/helpers/chatbot.d.ts +33 -0
  17. package/dist/helpers/chatbot.d.ts.map +1 -0
  18. package/dist/helpers/chatbot.js +72 -0
  19. package/dist/helpers/chatbot.js.map +1 -0
  20. package/dist/helpers/helpers.d.ts +25 -0
  21. package/dist/helpers/helpers.d.ts.map +1 -0
  22. package/dist/helpers/helpers.js +43 -0
  23. package/dist/helpers/helpers.js.map +1 -0
  24. package/dist/helpers/llms.d.ts +92 -0
  25. package/dist/helpers/llms.d.ts.map +1 -0
  26. package/dist/helpers/llms.js +49 -0
  27. package/dist/helpers/llms.js.map +1 -0
  28. package/dist/helpers/memory.d.ts +91 -0
  29. package/dist/helpers/memory.d.ts.map +1 -0
  30. package/dist/helpers/memory.js +351 -0
  31. package/dist/helpers/memory.js.map +1 -0
  32. package/dist/helpers/rag.d.ts +42 -0
  33. package/dist/helpers/rag.d.ts.map +1 -0
  34. package/dist/helpers/rag.js +66 -0
  35. package/dist/helpers/rag.js.map +1 -0
  36. package/dist/helpers.d.ts +3 -3
  37. package/dist/index.d.ts +10 -9
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +10 -9
  40. package/dist/index.js.map +1 -1
  41. package/dist/magic-funcs/answerers/ask.d.ts +18 -2
  42. package/dist/magic-funcs/answerers/ask.d.ts.map +1 -1
  43. package/dist/magic-funcs/answerers/ask.js +20 -9
  44. package/dist/magic-funcs/answerers/ask.js.map +1 -1
  45. package/dist/magic-funcs/answerers/websearch.d.ts +15 -0
  46. package/dist/magic-funcs/answerers/websearch.d.ts.map +1 -1
  47. package/dist/magic-funcs/answerers/websearch.js +15 -0
  48. package/dist/magic-funcs/answerers/websearch.js.map +1 -1
  49. package/dist/magic-funcs/evaluators/classify.d.ts +20 -1
  50. package/dist/magic-funcs/evaluators/classify.d.ts.map +1 -1
  51. package/dist/magic-funcs/evaluators/classify.js +22 -3
  52. package/dist/magic-funcs/evaluators/classify.js.map +1 -1
  53. package/dist/magic-funcs/evaluators/decide.d.ts +18 -0
  54. package/dist/magic-funcs/evaluators/decide.d.ts.map +1 -1
  55. package/dist/magic-funcs/evaluators/decide.js +21 -3
  56. package/dist/magic-funcs/evaluators/decide.js.map +1 -1
  57. package/dist/magic-funcs/optimizers/promptify.d.ts +18 -0
  58. package/dist/magic-funcs/optimizers/promptify.d.ts.map +1 -1
  59. package/dist/magic-funcs/optimizers/promptify.js +21 -3
  60. package/dist/magic-funcs/optimizers/promptify.js.map +1 -1
  61. package/dist/magic-funcs/optimizers/ragify.d.ts +16 -0
  62. package/dist/magic-funcs/optimizers/ragify.d.ts.map +1 -1
  63. package/dist/magic-funcs/optimizers/ragify.js +19 -3
  64. package/dist/magic-funcs/optimizers/ragify.js.map +1 -1
  65. package/dist/magic-funcs/parsers/extract.d.ts +23 -0
  66. package/dist/magic-funcs/parsers/extract.d.ts.map +1 -1
  67. package/dist/magic-funcs/parsers/extract.js +26 -3
  68. package/dist/magic-funcs/parsers/extract.js.map +1 -1
  69. package/dist/magic-funcs/parsers/rewrite.d.ts +19 -0
  70. package/dist/magic-funcs/parsers/rewrite.d.ts.map +1 -1
  71. package/dist/magic-funcs/parsers/rewrite.js +22 -2
  72. package/dist/magic-funcs/parsers/rewrite.js.map +1 -1
  73. package/dist/magic-funcs/parsers/structure.d.ts +22 -0
  74. package/dist/magic-funcs/parsers/structure.d.ts.map +1 -1
  75. package/dist/magic-funcs/parsers/structure.js +27 -4
  76. package/dist/magic-funcs/parsers/structure.js.map +1 -1
  77. package/dist/magic-funcs/parsers/summarize.d.ts +20 -0
  78. package/dist/magic-funcs/parsers/summarize.d.ts.map +1 -1
  79. package/dist/magic-funcs/parsers/summarize.js +23 -3
  80. package/dist/magic-funcs/parsers/summarize.js.map +1 -1
  81. package/dist/memory.d.ts +1 -1
  82. package/dist/modalities/image-gen/generateImages.d.ts +56 -0
  83. package/dist/modalities/image-gen/generateImages.d.ts.map +1 -0
  84. package/dist/modalities/image-gen/generateImages.js +66 -0
  85. package/dist/modalities/image-gen/generateImages.js.map +1 -0
  86. package/dist/modalities/image-gen/helpers.d.ts +15 -0
  87. package/dist/modalities/image-gen/helpers.d.ts.map +1 -0
  88. package/dist/modalities/image-gen/helpers.js +17 -0
  89. package/dist/modalities/image-gen/helpers.js.map +1 -0
  90. package/dist/modalities/openrouter.d.ts +11 -0
  91. package/dist/modalities/openrouter.d.ts.map +1 -0
  92. package/dist/modalities/openrouter.js +39 -0
  93. package/dist/modalities/openrouter.js.map +1 -0
  94. package/dist/modalities/speech/VoiceEngine.d.ts +3 -0
  95. package/dist/modalities/speech/VoiceEngine.d.ts.map +1 -0
  96. package/dist/modalities/speech/VoiceEngine.js +3 -0
  97. package/dist/modalities/speech/VoiceEngine.js.map +1 -0
  98. package/dist/modalities/speech/stt/helpers.d.ts +3 -0
  99. package/dist/modalities/speech/stt/helpers.d.ts.map +1 -0
  100. package/dist/modalities/speech/stt/helpers.js +28 -0
  101. package/dist/modalities/speech/stt/helpers.js.map +1 -0
  102. package/dist/modalities/speech/stt/stt.d.ts +113 -0
  103. package/dist/modalities/speech/stt/stt.d.ts.map +1 -0
  104. package/dist/modalities/speech/stt/stt.js +177 -0
  105. package/dist/modalities/speech/stt/stt.js.map +1 -0
  106. package/dist/modalities/speech/tts/helpers.d.ts +12 -0
  107. package/dist/modalities/speech/tts/helpers.d.ts.map +1 -0
  108. package/dist/modalities/speech/tts/helpers.js +10 -0
  109. package/dist/modalities/speech/tts/helpers.js.map +1 -0
  110. package/dist/modalities/speech/tts/tts.d.ts +115 -0
  111. package/dist/modalities/speech/tts/tts.d.ts.map +1 -0
  112. package/dist/modalities/speech/tts/tts.js +142 -0
  113. package/dist/modalities/speech/tts/tts.js.map +1 -0
  114. package/dist/modalities/vision/helpers.d.ts +3 -0
  115. package/dist/modalities/vision/helpers.d.ts.map +1 -0
  116. package/dist/modalities/vision/helpers.js +7 -0
  117. package/dist/modalities/vision/helpers.js.map +1 -0
  118. package/dist/modalities/vision/vision.d.ts +55 -0
  119. package/dist/modalities/vision/vision.d.ts.map +1 -0
  120. package/dist/modalities/vision/vision.js +71 -0
  121. package/dist/modalities/vision/vision.js.map +1 -0
  122. package/package.json +7 -7
package/dist/helpers.d.ts CHANGED
@@ -14,15 +14,15 @@ export type ChatGroqModel = AutoComplete<"groq/compound" | "groq/compound-mini"
14
14
  export type OpenRouterModel = AutoComplete<"anthropic/claude-haiku-4.5" | "anthropic/claude-opus-4" | "anthropic/claude-opus-4.1" | "anthropic/claude-opus-4.5" | "anthropic/claude-opus-4.6" | "anthropic/claude-opus-4.6-fast" | "anthropic/claude-opus-4.7" | "anthropic/claude-sonnet-4" | "anthropic/claude-sonnet-4.5" | "anthropic/claude-sonnet-4.6" | "arcee-ai/trinity-large-preview:free" | "arcee-ai/trinity-large-thinking" | "arcee-ai/trinity-mini" | "bytedance-seed/seed-2.0-lite" | "bytedance-seed/seed-2.0-mini" | "deepseek/deepseek-r1" | "deepseek/deepseek-r1-0528" | "deepseek/deepseek-r1-distill-llama-70b" | "deepseek/deepseek-r1-distill-qwen-32b" | "deepseek/deepseek-v3.1-terminus" | "deepseek/deepseek-v3.2" | "deepseek/deepseek-v3.2-exp" | "deepseek/deepseek-v3.2-speciale" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-image" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-lite-preview-09-2025" | "google/gemini-2.5-pro" | "google/gemini-2.5-pro-preview" | "google/gemini-2.5-pro-preview-05-06" | "google/gemini-3-flash-preview" | "google/gemini-3-pro-image-preview" | "google/gemini-3.1-flash-image-preview" | "google/gemini-3.1-flash-lite-preview" | "google/gemini-3.1-pro-preview" | "google/gemini-3.1-pro-preview-customtools" | "google/gemma-4-26b-a4b-it" | "google/gemma-4-26b-a4b-it:free" | "google/gemma-4-31b-it" | "google/gemma-4-31b-it:free" | "inception/mercury-2" | "liquid/lfm-2-24b-a2b" | "liquid/lfm-2.5-1.2b-instruct:free" | "liquid/lfm-2.5-1.2b-thinking:free" | "meta-llama/llama-3.3-70b-instruct" | "meta-llama/llama-3.3-70b-instruct:free" | "meta-llama/llama-4-maverick" | "meta-llama/llama-4-scout" | "meta-llama/llama-guard-4-12b" | "minimax/minimax-m2" | "minimax/minimax-m2-her" | "minimax/minimax-m2.1" | "minimax/minimax-m2.5" | "minimax/minimax-m2.5:free" | "minimax/minimax-m2.7" | "mistralai/devstral-2512" | "mistralai/devstral-medium" | "mistralai/devstral-small" | "mistralai/mistral-large-2512" | "mistralai/mistral-small-2603" | "moonshotai/kimi-k2" | "moonshotai/kimi-k2-0905" | "moonshotai/kimi-k2-thinking" | "moonshotai/kimi-k2.5" | "nvidia/nemotron-3-nano-30b-a3b" | "nvidia/nemotron-3-nano-30b-a3b:free" | "nvidia/nemotron-3-super-120b-a12b" | "nvidia/nemotron-3-super-120b-a12b:free" | "openai/gpt-4.1" | "openai/gpt-4.1-mini" | "openai/gpt-4.1-nano" | "openai/gpt-5" | "openai/gpt-5-chat" | "openai/gpt-5-codex" | "openai/gpt-5-image" | "openai/gpt-5-image-mini" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | "openai/gpt-5-pro" | "openai/gpt-5.1" | "openai/gpt-5.1-chat" | "openai/gpt-5.1-codex" | "openai/gpt-5.1-codex-max" | "openai/gpt-5.1-codex-mini" | "openai/gpt-5.2" | "openai/gpt-5.2-chat" | "openai/gpt-5.2-codex" | "openai/gpt-5.2-pro" | "openai/gpt-5.3-chat" | "openai/gpt-5.3-codex" | "openai/gpt-5.4" | "openai/gpt-5.4-mini" | "openai/gpt-5.4-nano" | "openai/gpt-5.4-pro" | "openai/gpt-oss-120b" | "openai/gpt-oss-120b:free" | "openai/gpt-oss-20b" | "openai/gpt-oss-20b:free" | "openai/gpt-oss-safeguard-20b" | "qwen/qwen3-coder" | "qwen/qwen3-coder-30b-a3b-instruct" | "qwen/qwen3-coder-flash" | "qwen/qwen3-coder-next" | "qwen/qwen3-coder-plus" | "qwen/qwen3-coder:free" | "qwen/qwen3-max" | "qwen/qwen3-max-thinking" | "qwen/qwen3.5-122b-a10b" | "qwen/qwen3.5-27b" | "qwen/qwen3.5-35b-a3b" | "qwen/qwen3.5-397b-a17b" | "qwen/qwen3.5-9b" | "qwen/qwen3.5-flash-02-23" | "qwen/qwen3.5-plus-02-15" | "qwen/qwen3.6-plus" | "rekaai/reka-edge" | "xiaomi/mimo-v2-flash" | "xiaomi/mimo-v2-omni" | "xiaomi/mimo-v2-pro" | "z-ai/glm-5" | "z-ai/glm-5-turbo" | "z-ai/glm-5.1" | "z-ai/glm-5v-turbo">;
15
15
  export type LocalModel = AutoComplete<"llama3.2:3b">;
16
16
  export type LLMConfig = {
17
- type: "groq";
17
+ provider: "chatgroq";
18
18
  model?: ChatGroqModel;
19
19
  apikey?: string;
20
20
  } | {
21
- type: "openrouter";
21
+ provider: "openrouter";
22
22
  model?: OpenRouterModel;
23
23
  apikey?: string;
24
24
  } | {
25
- type: "local";
25
+ provider: "local";
26
26
  model?: string;
27
27
  };
28
28
  /**
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- export * from "./helpers";
2
- export * from "./memory";
3
- export * from "./rag";
4
- export { DynamicStructuredTool } from "./imports";
1
+ export * from "./helpers/helpers";
2
+ export * from "./helpers/memory";
3
+ export * from "./helpers/rag";
4
+ export { DynamicStructuredTool, MemorySaver } from "./imports";
5
5
  export * from "./heart/agent";
6
6
  export * from "./heart/chain";
7
7
  export * from "./heart/memorychain";
@@ -10,16 +10,17 @@ export { tavilySearchTool, TavilySearch } from "./heart/tools/Tavily";
10
10
  export * from "./heart/tools/RAGTool";
11
11
  export * from "./heart/tools/zodios/CombinedRegistry";
12
12
  export * from "./heart/tools/zodios/ZodiosToolRegistry";
13
- export * from "./magic-funcs/answerers/ask";
14
- export * from "./magic-funcs/answerers/websearch";
15
13
  export * from "./magic-funcs/evaluators/classify";
16
14
  export * from "./magic-funcs/evaluators/decide";
17
- export * from "./magic-funcs/optimizers/promptify";
18
- export * from "./magic-funcs/optimizers/ragify";
19
15
  export * from "./magic-funcs/parsers/extract";
20
16
  export * from "./magic-funcs/parsers/rewrite";
21
17
  export * from "./magic-funcs/parsers/structure";
22
18
  export * from "./magic-funcs/parsers/summarize";
23
19
  export * from "./heart/tools/Tavily";
24
- export * from "./chatbot";
20
+ export * from "./helpers/chatbot";
21
+ export * from "./helpers/llms";
22
+ export * from "./modalities/speech/stt/stt";
23
+ export * from "./modalities/speech/tts/tts";
24
+ export * from "./modalities/vision/vision";
25
+ export * from "./modalities/image-gen/generateImages";
25
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACjD,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,6BAA6B,CAAA;AAC3C,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,oCAAoC,CAAA;AAClD,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,WAAW,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,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"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
- export * from "./helpers";
2
- export * from "./memory";
3
- export * from "./rag";
4
- export { DynamicStructuredTool } from "./imports";
1
+ export * from "./helpers/helpers";
2
+ export * from "./helpers/memory";
3
+ export * from "./helpers/rag";
4
+ export { DynamicStructuredTool, MemorySaver } from "./imports";
5
5
  export * from "./heart/agent";
6
6
  export * from "./heart/chain";
7
7
  export * from "./heart/memorychain";
@@ -10,16 +10,17 @@ export { tavilySearchTool, TavilySearch } from "./heart/tools/Tavily";
10
10
  export * from "./heart/tools/RAGTool";
11
11
  export * from "./heart/tools/zodios/CombinedRegistry";
12
12
  export * from "./heart/tools/zodios/ZodiosToolRegistry";
13
- export * from "./magic-funcs/answerers/ask";
14
- export * from "./magic-funcs/answerers/websearch";
15
13
  export * from "./magic-funcs/evaluators/classify";
16
14
  export * from "./magic-funcs/evaluators/decide";
17
- export * from "./magic-funcs/optimizers/promptify";
18
- export * from "./magic-funcs/optimizers/ragify";
19
15
  export * from "./magic-funcs/parsers/extract";
20
16
  export * from "./magic-funcs/parsers/rewrite";
21
17
  export * from "./magic-funcs/parsers/structure";
22
18
  export * from "./magic-funcs/parsers/summarize";
23
19
  export * from "./heart/tools/Tavily";
24
- export * from "./chatbot";
20
+ export * from "./helpers/chatbot";
21
+ export * from "./helpers/llms";
22
+ export * from "./modalities/speech/stt/stt";
23
+ export * from "./modalities/speech/tts/tts";
24
+ export * from "./modalities/vision/vision";
25
+ export * from "./modalities/image-gen/generateImages";
25
26
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACjD,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,6BAA6B,CAAA;AAC3C,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,oCAAoC,CAAA;AAClD,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,WAAW,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,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,6 +1,22 @@
1
1
  import { BaseChatModel } from "../../imports";
2
- export declare function ask(input: string | {
3
- llm: BaseChatModel;
2
+ /**
3
+ * Stellt eine einfache Frage an ein LLM und gibt eine Textantwort zurueck.
4
+ *
5
+ * Sinnvoll fuer schnelle Q&A-Use-Cases ohne zusaetzliche Struktur oder Tools.
6
+ *
7
+ * @param params.llm Optionales Chat-LLM. Default: `getLLM({ provider: "openrouter" })`.
8
+ * @param params.question Die Frage, die beantwortet werden soll.
9
+ * @returns Die Modellantwort als String.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const answer = await ask({
14
+ * question: "Was ist der Unterschied zwischen RAM und ROM?"
15
+ * })
16
+ * ```
17
+ */
18
+ export declare function ask({ llm, question }: {
19
+ llm?: BaseChatModel;
4
20
  question: string;
5
21
  }): Promise<unknown>;
6
22
  //# sourceMappingURL=ask.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/answerers/ask.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAA0C,MAAM,eAAe,CAAA;AAErF,wBAAsB,GAAG,CAAC,KAAK,EAAC,MAAM,GAAG;IAAC,GAAG,EAAC,aAAa,CAAC;IAAC,QAAQ,EAAC,MAAM,CAAA;CAAC,oBAY1E"}
1
+ {"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/answerers/ask.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAA0C,MAAM,eAAe,CAAA;AAErF;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,GAAG,CAAC,EACtB,GAAwC,EACxC,QAAQ,EACX,EAAE;IACC,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACnB,oBAOE"}
@@ -1,17 +1,28 @@
1
- import { createSimpleChain, getLLM } from "../../helpers";
1
+ import { createSimpleChain } from "../../helpers/helpers";
2
+ import { getLLM } from "../../helpers/llms";
2
3
  import { ChatPromptTemplate, StringOutputParser } from "../../imports";
3
- export async function ask(input) {
4
- const llm = typeof input === "string" ? getLLM({ type: "groq", apikey: process.env.CHATGROQ_API_KEY ?? "" }) : input.llm;
4
+ /**
5
+ * Stellt eine einfache Frage an ein LLM und gibt eine Textantwort zurueck.
6
+ *
7
+ * Sinnvoll fuer schnelle Q&A-Use-Cases ohne zusaetzliche Struktur oder Tools.
8
+ *
9
+ * @param params.llm Optionales Chat-LLM. Default: `getLLM({ provider: "openrouter" })`.
10
+ * @param params.question Die Frage, die beantwortet werden soll.
11
+ * @returns Die Modellantwort als String.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const answer = await ask({
16
+ * question: "Was ist der Unterschied zwischen RAM und ROM?"
17
+ * })
18
+ * ```
19
+ */
20
+ export async function ask({ llm = getLLM({ provider: "openrouter" }), question }) {
5
21
  const prompt = ChatPromptTemplate.fromMessages([
6
22
  ["system", `Du bist ein hilfreicher Assistent.`],
7
23
  ["human", "{input}"]
8
24
  ]);
9
25
  const chain = createSimpleChain(prompt, llm, new StringOutputParser());
10
- if (typeof input === "string") {
11
- return await chain.invoke({ input });
12
- }
13
- else {
14
- return await chain.invoke({ input: input.question });
15
- }
26
+ return await chain.invoke({ input: question });
16
27
  }
17
28
  //# sourceMappingURL=ask.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ask.js","sourceRoot":"","sources":["../../../src/magic-funcs/answerers/ask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAiB,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAErF,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,KAAmD;IACzE,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAC,IAAI,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,EAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAA;IACrH,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC;QAC7C,CAAC,QAAQ,EAAE,oCAAoC,CAAC;QAChD,CAAC,OAAO,EAAE,SAAS,CAAC;KACrB,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,kBAAkB,EAAE,CAAC,CAAA;IACtE,IAAG,OAAO,KAAK,KAAK,QAAQ,EAAC,CAAC;QAC5B,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAC,CAAC,CAAA;IACrD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"ask.js","sourceRoot":"","sources":["../../../src/magic-funcs/answerers/ask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAiB,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAErF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,EACtB,GAAG,GAAG,MAAM,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EACxC,QAAQ,EAIX;IACG,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC;QAC7C,CAAC,QAAQ,EAAE,oCAAoC,CAAC;QAChD,CAAC,OAAO,EAAE,SAAS,CAAC;KACrB,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,kBAAkB,EAAE,CAAC,CAAA;IACtE,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;AAChD,CAAC"}
@@ -1,2 +1,17 @@
1
+ /**
2
+ * Fuehrt eine Websuche via Tavily aus und gibt die zusammengefasste Antwort zurueck.
3
+ *
4
+ * Die Query wird vorher in ein Tavily-Topic klassifiziert (`general`, `news`, `finance`),
5
+ * damit passend gesucht wird.
6
+ *
7
+ * @param query Suchanfrage als Freitext.
8
+ * @returns Tavily-Antworttext (falls vorhanden).
9
+ * @throws Wenn `TAVILY_API_KEY` nicht gesetzt ist.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const answer = await websearch("Aktuelle Nachrichten zu OpenAI in der EU")
14
+ * ```
15
+ */
1
16
  export declare function websearch(query: string): Promise<string | undefined>;
2
17
  //# sourceMappingURL=websearch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"websearch.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/answerers/websearch.ts"],"names":[],"mappings":"AAGA,wBAAsB,SAAS,CAAC,KAAK,EAAC,MAAM,+BAczC"}
1
+ {"version":3,"file":"websearch.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/answerers/websearch.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAC,MAAM,+BAczC"}
@@ -1,5 +1,20 @@
1
1
  import { classify } from "../evaluators/classify";
2
2
  import { TavilySearch } from "../../heart/tools/Tavily";
3
+ /**
4
+ * Fuehrt eine Websuche via Tavily aus und gibt die zusammengefasste Antwort zurueck.
5
+ *
6
+ * Die Query wird vorher in ein Tavily-Topic klassifiziert (`general`, `news`, `finance`),
7
+ * damit passend gesucht wird.
8
+ *
9
+ * @param query Suchanfrage als Freitext.
10
+ * @returns Tavily-Antworttext (falls vorhanden).
11
+ * @throws Wenn `TAVILY_API_KEY` nicht gesetzt ist.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const answer = await websearch("Aktuelle Nachrichten zu OpenAI in der EU")
16
+ * ```
17
+ */
3
18
  export async function websearch(query) {
4
19
  if (!process.env.TAVILY_API_KEY)
5
20
  throw new Error("TAVILY_API_KEY is not set for websearch() call");
@@ -1 +1 @@
1
- {"version":3,"file":"websearch.js","sourceRoot":"","sources":["../../../src/magic-funcs/answerers/websearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAY;IACxC,IAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc;QAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IACjG,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC;QAC3B,IAAI,EAAC,KAAK;QACV,OAAO,EAAC,CAAC,SAAS,EAAC,MAAM,EAAC,SAAS,CAAU;QAC7C,OAAO,EAAC,yIAAyI;KAClJ,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;QAC9B,UAAU,EAAC,EAAE;QACb,YAAY,EAAC,OAAO,CAAC,GAAG,CAAC,cAAe;QACxC,aAAa,EAAC,IAAI;QAClB,KAAK,EAAC,KAAK,CAAC,KAAK;KAClB,CAAC,CAAA;IACF,OAAO,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;AAChD,CAAC"}
1
+ {"version":3,"file":"websearch.js","sourceRoot":"","sources":["../../../src/magic-funcs/answerers/websearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAY;IACxC,IAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc;QAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IACjG,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC;QAC3B,IAAI,EAAC,KAAK;QACV,OAAO,EAAC,CAAC,SAAS,EAAC,MAAM,EAAC,SAAS,CAAU;QAC7C,OAAO,EAAC,yIAAyI;KAClJ,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;QAC9B,UAAU,EAAC,EAAE;QACb,YAAY,EAAC,OAAO,CAAC,GAAG,CAAC,cAAe;QACxC,aAAa,EAAC,IAAI;QAClB,KAAK,EAAC,KAAK,CAAC,KAAK;KAClB,CAAC,CAAA;IACF,OAAO,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;AAChD,CAAC"}
@@ -13,7 +13,26 @@ declare function createClassificationSchema<T extends readonly [string, ...strin
13
13
  confidence: z.ZodNumber;
14
14
  reasoning: z.ZodString;
15
15
  }> extends infer T_2 ? { [k_1 in keyof T_2]: T_2[k_1]; } : never>;
16
- export declare function classify<T extends readonly [string, ...string[]]>({ llm, data, classes, context }: {
16
+ /**
17
+ * Klassifiziert Input in genau eine vordefinierte Klasse und liefert Confidence + Begruendung.
18
+ *
19
+ * Sinnvoll fuer Routing, Labeling, Topic-Erkennung oder Vorentscheidungen in Flows.
20
+ *
21
+ * @param params.llm Optionales Chat-LLM.
22
+ * @param params.data Zu klassifizierender Input (String oder Objekt).
23
+ * @param params.classes Erlaubte Klassen als konstantes Tuple.
24
+ * @param params.context Optionaler Zusatzkontext fuer die Entscheidung.
25
+ * @returns Objekt mit `class`, `confidence` (0-100) und `reasoning`.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * const result = await classify({
30
+ * data: "Der Kunde moechte kuendigen und ist unzufrieden.",
31
+ * classes: ["support", "sales", "churn"] as const
32
+ * })
33
+ * ```
34
+ */
35
+ export declare function classify<const T extends readonly [string, ...string[]]>({ llm, data, classes, context }: {
17
36
  llm?: BaseChatModel;
18
37
  data: any;
19
38
  classes: T;
@@ -1 +1 @@
1
- {"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/evaluators/classify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE7C,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAI1B,iBAAS,0BAA0B,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;;;;;;;;;;;;kEAUrF;AAED,wBAAsB,QAAQ,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,EACvE,GAAuE,EACvE,IAAI,EACJ,OAAO,EACP,OAAO,EACR,EAAE;IACD,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAiDrE"}
1
+ {"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/evaluators/classify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE7C,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAK1B,iBAAS,0BAA0B,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;;;;;;;;;;;;kEAUrF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,EAC7E,GAAiH,EACjH,IAAI,EACJ,OAAO,EACP,OAAO,EACR,EAAE;IACD,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAiDrE"}
@@ -1,8 +1,8 @@
1
- import { createSimpleChain } from "../../helpers";
1
+ import { createSimpleChain } from "../../helpers/helpers";
2
2
  import { ChatPromptTemplate } from "../../imports";
3
3
  import { z } from "zod/v3";
4
- import { getLLM } from "../../helpers";
5
4
  import { StructuredOutputParser } from "../../imports";
5
+ import { getLLM } from "../../helpers/llms";
6
6
  function createClassificationSchema(classes) {
7
7
  return z.object({
8
8
  class: z.enum(classes),
@@ -14,7 +14,26 @@ function createClassificationSchema(classes) {
14
14
  .describe("Kurze Begründung basierend auf dem Input")
15
15
  });
16
16
  }
17
- export async function classify({ llm = getLLM({ type: "groq", apikey: process.env.CHATGROQ_API_KEY ?? "" }), data, classes, context }) {
17
+ /**
18
+ * Klassifiziert Input in genau eine vordefinierte Klasse und liefert Confidence + Begruendung.
19
+ *
20
+ * Sinnvoll fuer Routing, Labeling, Topic-Erkennung oder Vorentscheidungen in Flows.
21
+ *
22
+ * @param params.llm Optionales Chat-LLM.
23
+ * @param params.data Zu klassifizierender Input (String oder Objekt).
24
+ * @param params.classes Erlaubte Klassen als konstantes Tuple.
25
+ * @param params.context Optionaler Zusatzkontext fuer die Entscheidung.
26
+ * @returns Objekt mit `class`, `confidence` (0-100) und `reasoning`.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * const result = await classify({
31
+ * data: "Der Kunde moechte kuendigen und ist unzufrieden.",
32
+ * classes: ["support", "sales", "churn"] as const
33
+ * })
34
+ * ```
35
+ */
36
+ export async function classify({ llm = getLLM({ provider: "openrouter", apikey: process.env.OPENROUTER_API_KEY ?? "", model: "openai/gpt-5.4-mini" }), data, classes, context }) {
18
37
  const inputString = typeof data === "string"
19
38
  ? data
20
39
  : JSON.stringify(data, null, 2);
@@ -1 +1 @@
1
- {"version":3,"file":"classify.js","sourceRoot":"","sources":["../../../src/magic-funcs/evaluators/classify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAEtD,SAAS,0BAA0B,CAA2C,OAAU;IACpF,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;aACnB,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,CAAC,+BAA+B,CAAC;QAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;aAClB,QAAQ,CAAC,0CAA0C,CAAC;KACxD,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAA2C,EACvE,GAAG,GAAG,MAAM,CAAC,EAAC,IAAI,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,EAAC,CAAC,EACvE,IAAI,EACJ,OAAO,EACP,OAAO,EAMR;IAEC,MAAM,WAAW,GACf,OAAO,IAAI,KAAK,QAAQ;QACtB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAEnC,MAAM,MAAM,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAA;IAClD,MAAM,MAAM,GAAG,sBAAsB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAE3D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC;QACnD,CAAC,QAAQ,EAAE;;;;;UAKP,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;UAgBrC,OAAO,CAAC,CAAC,CAAC;;UAEV,OAAO;SACR,CAAC,CAAC,CAAC,EAAE;;;;SAIL,CAAC;QACJ,CAAC,OAAO,EAAE,SAAS,CAAC;KACrB,CAAC,CAAC,OAAO,CAAC;QACT,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,EAAE;KACpD,CAAC,CAAA;IAEF,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;IAEzD,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AAC7B,CAAC"}
1
+ {"version":3,"file":"classify.js","sourceRoot":"","sources":["../../../src/magic-funcs/evaluators/classify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C,SAAS,0BAA0B,CAA2C,OAAU;IACpF,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;aACnB,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,CAAC,+BAA+B,CAAC;QAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;aAClB,QAAQ,CAAC,0CAA0C,CAAC;KACxD,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAiD,EAC7E,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,OAAO,EACP,OAAO,EAMR;IAEC,MAAM,WAAW,GACf,OAAO,IAAI,KAAK,QAAQ;QACtB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAEnC,MAAM,MAAM,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAA;IAClD,MAAM,MAAM,GAAG,sBAAsB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAE3D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC;QACnD,CAAC,QAAQ,EAAE;;;;;UAKP,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;UAgBrC,OAAO,CAAC,CAAC,CAAC;;UAEV,OAAO;SACR,CAAC,CAAC,CAAC,EAAE;;;;SAIL,CAAC;QACJ,CAAC,OAAO,EAAE,SAAS,CAAC;KACrB,CAAC,CAAC,OAAO,CAAC;QACT,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,EAAE;KACpD,CAAC,CAAA;IAEF,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;IAEzD,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AAC7B,CAAC"}
@@ -13,6 +13,24 @@ declare const decideSchema: z.ZodObject<{
13
13
  decision: "yes" | "no" | "unclear";
14
14
  reason: string;
15
15
  }>;
16
+ /**
17
+ * Trifft eine strukturierte Ja/Nein/Unklar-Entscheidung fuer ein gegebenes Kriterium.
18
+ *
19
+ * Sinnvoll fuer Gate-Checks, Policy-Validierung oder automatische Freigabeentscheidungen.
20
+ *
21
+ * @param params.llm Optionales Chat-LLM.
22
+ * @param params.material Material/Datengrundlage fuer die Entscheidung.
23
+ * @param params.kriteria_to_decide Kriterium, nach dem entschieden werden soll.
24
+ * @returns Objekt mit `decision`, `reason` und `confidence`.
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * const result = await decide({
29
+ * material: "Der User hat AGB akzeptiert und Email bestaetigt.",
30
+ * kriteria_to_decide: "Ist der User onboarding-ready?"
31
+ * })
32
+ * ```
33
+ */
16
34
  export declare function decide({ llm, material, kriteria_to_decide }: {
17
35
  llm?: BaseChatModel;
18
36
  material: any;
@@ -1 +1 @@
1
- {"version":3,"file":"decide.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/evaluators/decide.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAM7C,QAAA,MAAM,YAAY;;;;;;;;;;;;EAad,CAAA;AAEF,wBAAsB,MAAM,CAAC,EAC3B,GAAuE,EACvE,QAAQ,EACR,kBAAkB,EACnB,EAAE;IACD,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,QAAQ,EAAE,GAAG,CAAA;IACb,kBAAkB,EAAE,MAAM,CAAA;CAC3B,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC,CAoCxC"}
1
+ {"version":3,"file":"decide.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/evaluators/decide.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAO7C,QAAA,MAAM,YAAY;;;;;;;;;;;;EAad,CAAA;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,MAAM,CAAC,EAC3B,GAAiH,EACjH,QAAQ,EACR,kBAAkB,EACnB,EAAE;IACD,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,QAAQ,EAAE,GAAG,CAAA;IACb,kBAAkB,EAAE,MAAM,CAAA;CAC3B,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC,CAoCxC"}
@@ -1,8 +1,8 @@
1
1
  import { z } from "zod/v3";
2
2
  import { ChatPromptTemplate } from "../../imports";
3
- import { getLLM } from "../../helpers";
4
3
  import { StructuredOutputParser } from "../../imports";
5
- import { createSimpleChain } from "../../helpers";
4
+ import { createSimpleChain } from "../../helpers/helpers";
5
+ import { getLLM } from "../../helpers/llms";
6
6
  const decideSchema = z.object({
7
7
  decision: z.enum(["yes", "no", "unclear"])
8
8
  .describe("Ergebnis der Entscheidung basierend auf dem Kriterium"),
@@ -15,7 +15,25 @@ const decideSchema = z.object({
15
15
  "decision='unclear' → confidence=0. " +
16
16
  "decision='yes' oder 'no' → confidence > 0")
17
17
  });
18
- export async function decide({ llm = getLLM({ type: "groq", apikey: process.env.CHATGROQ_API_KEY ?? "" }), material, kriteria_to_decide }) {
18
+ /**
19
+ * Trifft eine strukturierte Ja/Nein/Unklar-Entscheidung fuer ein gegebenes Kriterium.
20
+ *
21
+ * Sinnvoll fuer Gate-Checks, Policy-Validierung oder automatische Freigabeentscheidungen.
22
+ *
23
+ * @param params.llm Optionales Chat-LLM.
24
+ * @param params.material Material/Datengrundlage fuer die Entscheidung.
25
+ * @param params.kriteria_to_decide Kriterium, nach dem entschieden werden soll.
26
+ * @returns Objekt mit `decision`, `reason` und `confidence`.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * const result = await decide({
31
+ * material: "Der User hat AGB akzeptiert und Email bestaetigt.",
32
+ * kriteria_to_decide: "Ist der User onboarding-ready?"
33
+ * })
34
+ * ```
35
+ */
36
+ export async function decide({ llm = getLLM({ provider: "openrouter", apikey: process.env.OPENROUTER_API_KEY ?? "", model: "openai/gpt-5.4-mini" }), material, kriteria_to_decide }) {
19
37
  const inputString = typeof material === "string"
20
38
  ? material
21
39
  : JSON.stringify(material, null, 2);
@@ -1 +1 @@
1
- {"version":3,"file":"decide.js","sourceRoot":"","sources":["../../../src/magic-funcs/evaluators/decide.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;SACvC,QAAQ,CAAC,uDAAuD,CAAC;IACpE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;SACf,QAAQ,CAAC,iFAAiF,CAAC;IAC9F,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;SACnB,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CACP,uCAAuC;QACvC,qCAAqC;QACrC,2CAA2C,CAC5C;CACJ,CAAC,CAAA;AAEF,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,EAC3B,GAAG,GAAG,MAAM,CAAC,EAAC,IAAI,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,EAAC,CAAC,EACvE,QAAQ,EACR,kBAAkB,EAKnB;IAEC,MAAM,WAAW,GACf,OAAO,QAAQ,KAAK,QAAQ;QAC1B,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAEvC,MAAM,UAAU,GAAG,sBAAsB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;IACrE,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC;QACnD,CAAC,QAAQ,EAAE;;;;;;;;;;;;;;;UAeP,kBAAkB;;;;SAInB,CAAC;QACJ,CAAC,OAAO,EAAE,SAAS,CAAC;KACrB,CAAC,CAAC,OAAO,CAAC;QACT,mBAAmB,EAAE,UAAU,CAAC,qBAAqB,EAAE;KACxD,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAA;IACxD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;IACzD,OAAO,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AACnC,CAAC"}
1
+ {"version":3,"file":"decide.js","sourceRoot":"","sources":["../../../src/magic-funcs/evaluators/decide.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;SACvC,QAAQ,CAAC,uDAAuD,CAAC;IACpE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;SACf,QAAQ,CAAC,iFAAiF,CAAC;IAC9F,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;SACnB,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CACP,uCAAuC;QACvC,qCAAqC;QACrC,2CAA2C,CAC5C;CACJ,CAAC,CAAA;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,EAC3B,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,QAAQ,EACR,kBAAkB,EAKnB;IAEC,MAAM,WAAW,GACf,OAAO,QAAQ,KAAK,QAAQ;QAC1B,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAEvC,MAAM,UAAU,GAAG,sBAAsB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;IACrE,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC;QACnD,CAAC,QAAQ,EAAE;;;;;;;;;;;;;;;UAeP,kBAAkB;;;;SAInB,CAAC;QACJ,CAAC,OAAO,EAAE,SAAS,CAAC;KACrB,CAAC,CAAC,OAAO,CAAC;QACT,mBAAmB,EAAE,UAAU,CAAC,qBAAqB,EAAE;KACxD,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAA;IACxD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;IACzD,OAAO,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AACnC,CAAC"}
@@ -1,4 +1,22 @@
1
1
  import { BaseChatModel } from "../../imports";
2
+ /**
3
+ * Erzeugt aus einer Nutzeranforderung einen robusten System-Prompt fuer Agents.
4
+ *
5
+ * Sinnvoll wenn aus vagen Anforderungen ein klarer, wiederverwendbarer Prompt entstehen soll.
6
+ *
7
+ * @param params.llm Optionales Chat-LLM.
8
+ * @param params.request Urspruengliche Nutzeranfrage.
9
+ * @param params.agentRole Optionaler Rollen-Kontext fuer den Ziel-Agenten.
10
+ * @returns Finaler System-Prompt als String.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const systemPrompt = await promptify({
15
+ * request: "Baue einen Assistenten fuer technische Kundentickets.",
16
+ * agentRole: "Senior Support Engineer"
17
+ * })
18
+ * ```
19
+ */
2
20
  export declare function promptify({ llm, request, agentRole, }: {
3
21
  llm?: BaseChatModel;
4
22
  request: string;
@@ -1 +1 @@
1
- {"version":3,"file":"promptify.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/optimizers/promptify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAK7C,wBAAsB,SAAS,CAAC,EAC5B,GAAuE,EACvE,OAAO,EACP,SAAS,GACV,EAAE;IACD,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,GAAG,OAAO,CAAC,MAAM,CAAC,CA6ClB"}
1
+ {"version":3,"file":"promptify.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/optimizers/promptify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAK7C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,SAAS,CAAC,EAC5B,GAAkF,EAClF,OAAO,EACP,SAAS,GACV,EAAE;IACD,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,GAAG,OAAO,CAAC,MAAM,CAAC,CA6ClB"}
@@ -1,8 +1,26 @@
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 promptify({ llm = getLLM({ type: "groq", apikey: process.env.CHATGROQ_API_KEY ?? "" }), request, agentRole, }) {
5
+ /**
6
+ * Erzeugt aus einer Nutzeranforderung einen robusten System-Prompt fuer Agents.
7
+ *
8
+ * Sinnvoll wenn aus vagen Anforderungen ein klarer, wiederverwendbarer Prompt entstehen soll.
9
+ *
10
+ * @param params.llm Optionales Chat-LLM.
11
+ * @param params.request Urspruengliche Nutzeranfrage.
12
+ * @param params.agentRole Optionaler Rollen-Kontext fuer den Ziel-Agenten.
13
+ * @returns Finaler System-Prompt als String.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * const systemPrompt = await promptify({
18
+ * request: "Baue einen Assistenten fuer technische Kundentickets.",
19
+ * agentRole: "Senior Support Engineer"
20
+ * })
21
+ * ```
22
+ */
23
+ export async function promptify({ llm = getLLM({ provider: "chatgroq", apikey: process.env.CHATGROQ_API_KEY ?? "" }), request, agentRole, }) {
6
24
  const prompt = ChatPromptTemplate.fromMessages([
7
25
  ["system", `
8
26
  Du bist ein Prompt-Engineering-Experte für KI-Agenten.
@@ -1 +1 @@
1
- {"version":3,"file":"promptify.js","sourceRoot":"","sources":["../../../src/magic-funcs/optimizers/promptify.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,SAAS,CAAC,EAC5B,GAAG,GAAG,MAAM,CAAC,EAAC,IAAI,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,EAAC,CAAC,EACvE,OAAO,EACP,SAAS,GAMV;IAEC,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC;QAC7C,CAAC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;UA0BP,SAAS,CAAC,CAAC,CAAC;;YAEV,SAAS;SACZ,CAAC,CAAC,CAAC,EAAE;;;;;SAKL,CAAC;QACJ,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,OAAO,EAAE,CAAC,CAAA;IAErD,OAAO,MAAgB,CAAA;AACzB,CAAC"}
1
+ {"version":3,"file":"promptify.js","sourceRoot":"","sources":["../../../src/magic-funcs/optimizers/promptify.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;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,EAC5B,GAAG,GAAG,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,EAAE,CAAC,EAClF,OAAO,EACP,SAAS,GAMV;IAEC,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC;QAC7C,CAAC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;UA0BP,SAAS,CAAC,CAAC,CAAC;;YAEV,SAAS;SACZ,CAAC,CAAC,CAAC,EAAE;;;;;SAKL,CAAC;QACJ,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,OAAO,EAAE,CAAC,CAAA;IAErD,OAAO,MAAgB,CAAA;AACzB,CAAC"}
@@ -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);