@delofarag/ai-utils 1.3.5 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/README.md +52 -30
  2. package/dist/heart/agent.d.ts +24 -29
  3. package/dist/heart/agent.d.ts.map +1 -1
  4. package/dist/heart/agent.js +62 -70
  5. package/dist/heart/agent.js.map +1 -1
  6. package/dist/heart/chain.d.ts +29 -15
  7. package/dist/heart/chain.d.ts.map +1 -1
  8. package/dist/heart/chain.js +33 -27
  9. package/dist/heart/chain.js.map +1 -1
  10. package/dist/heart/chatbot.d.ts +22 -18
  11. package/dist/heart/chatbot.d.ts.map +1 -1
  12. package/dist/heart/chatbot.js +30 -56
  13. package/dist/heart/chatbot.js.map +1 -1
  14. package/dist/heart/memorychain.d.ts +16 -13
  15. package/dist/heart/memorychain.d.ts.map +1 -1
  16. package/dist/heart/memorychain.js +26 -15
  17. package/dist/heart/memorychain.js.map +1 -1
  18. package/dist/heart/tools/RAGTool 2.d.ts +1 -0
  19. package/dist/heart/tools/RAGTool 2.d.ts.map +1 -0
  20. package/dist/heart/tools/RAGTool 2.js +2 -0
  21. package/dist/heart/tools/RAGTool 2.js.map +1 -0
  22. package/dist/heart/tools/RAGTool.d.ts +20 -0
  23. package/dist/heart/tools/RAGTool.d.ts.map +1 -0
  24. package/dist/heart/tools/RAGTool.js +15 -0
  25. package/dist/heart/tools/RAGTool.js.map +1 -0
  26. package/dist/heart/tools/Tavily.d.ts.map +1 -1
  27. package/dist/heart/tools/Tavily.js.map +1 -1
  28. package/dist/heart/tools/ToolRegistry.d.ts +19 -0
  29. package/dist/heart/tools/ToolRegistry.d.ts.map +1 -0
  30. package/dist/heart/tools/ToolRegistry.js +64 -0
  31. package/dist/heart/tools/ToolRegistry.js.map +1 -0
  32. package/dist/heart/tools/zodios/CombinedRegistry.d.ts +41 -0
  33. package/dist/heart/tools/zodios/CombinedRegistry.d.ts.map +1 -0
  34. package/dist/heart/tools/zodios/CombinedRegistry.js +58 -0
  35. package/dist/heart/tools/zodios/CombinedRegistry.js.map +1 -0
  36. package/dist/heart/tools/zodios/ZodiosToolRegistry.d.ts +22 -0
  37. package/dist/heart/tools/zodios/ZodiosToolRegistry.d.ts.map +1 -0
  38. package/dist/heart/tools/zodios/ZodiosToolRegistry.js +80 -0
  39. package/dist/heart/tools/zodios/ZodiosToolRegistry.js.map +1 -0
  40. package/dist/helpers.d.ts +10 -6
  41. package/dist/helpers.d.ts.map +1 -1
  42. package/dist/helpers.js +3 -3
  43. package/dist/helpers.js.map +1 -1
  44. package/dist/index.d.ts +5 -3
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +5 -3
  47. package/dist/index.js.map +1 -1
  48. package/dist/magic-funcs/decide.d.ts +1 -0
  49. package/dist/magic-funcs/decide.d.ts.map +1 -0
  50. package/dist/magic-funcs/decide.js +2 -0
  51. package/dist/magic-funcs/decide.js.map +1 -0
  52. package/dist/magic-funcs/extract.d.ts +1 -0
  53. package/dist/magic-funcs/extract.d.ts.map +1 -0
  54. package/dist/magic-funcs/extract.js +2 -0
  55. package/dist/magic-funcs/extract.js.map +1 -0
  56. package/dist/magic-funcs/parsers/structure.d.ts +2 -1
  57. package/dist/magic-funcs/parsers/structure.d.ts.map +1 -1
  58. package/dist/magic-funcs/parsers/structure.js.map +1 -1
  59. package/dist/magic-funcs/structure.d.ts +1 -0
  60. package/dist/magic-funcs/structure.d.ts.map +1 -0
  61. package/dist/magic-funcs/structure.js +2 -0
  62. package/dist/magic-funcs/structure.js.map +1 -0
  63. package/dist/magic-funcs/summarize.d.ts +1 -0
  64. package/dist/magic-funcs/summarize.d.ts.map +1 -0
  65. package/dist/magic-funcs/summarize.js +2 -0
  66. package/dist/magic-funcs/summarize.js.map +1 -0
  67. package/dist/memory.d.ts +4 -3
  68. package/dist/memory.d.ts.map +1 -1
  69. package/dist/memory.js +11 -9
  70. package/dist/memory.js.map +1 -1
  71. package/dist/rag.d.ts +7 -27
  72. package/dist/rag.d.ts.map +1 -1
  73. package/dist/rag.js +6 -18
  74. package/dist/rag.js.map +1 -1
  75. package/package.json +8 -7
@@ -0,0 +1,20 @@
1
+ import { DynamicStructuredTool } from "@langchain/core/tools";
2
+ import { VectorStore } from "@langchain/core/vectorstores";
3
+ import z from "zod/v3";
4
+ export interface RAGProps {
5
+ vectorStore: VectorStore;
6
+ name: string;
7
+ description: string;
8
+ }
9
+ export declare function createRAGTool({ vectorStore, name, description }: RAGProps): DynamicStructuredTool<z.ZodObject<{
10
+ query: z.ZodString;
11
+ }, "strip", z.ZodTypeAny, {
12
+ query: string;
13
+ }, {
14
+ query: string;
15
+ }>, {
16
+ query: string;
17
+ }, {
18
+ query: string;
19
+ }, string>;
20
+ //# sourceMappingURL=RAGTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RAGTool.d.ts","sourceRoot":"","sources":["../../../src/heart/tools/RAGTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,MAAM,WAAW,QAAQ;IACrB,WAAW,EAAE,WAAW,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,aAAa,CAAC,EAAC,WAAW,EAAC,IAAI,EAAC,WAAW,EAAC,EAAC,QAAQ;;;;;;;;;;WAWpE"}
@@ -0,0 +1,15 @@
1
+ import { DynamicStructuredTool } from "@langchain/core/tools";
2
+ import z from "zod/v3";
3
+ export function createRAGTool({ vectorStore, name, description }) {
4
+ return new DynamicStructuredTool({ name, description,
5
+ schema: z.object({
6
+ query: z.string().describe("der query womit du im Vector Store suchst")
7
+ }),
8
+ func: async ({ query }) => {
9
+ const results = await vectorStore.similaritySearch(query);
10
+ const text = results.map(r => r.pageContent).join("\n\n");
11
+ return text || "Keine relevanten Ergebnisse gefunden.";
12
+ }
13
+ });
14
+ }
15
+ //# sourceMappingURL=RAGTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RAGTool.js","sourceRoot":"","sources":["../../../src/heart/tools/RAGTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,CAAC,MAAM,QAAQ,CAAA;AAQtB,MAAM,UAAU,aAAa,CAAC,EAAC,WAAW,EAAC,IAAI,EAAC,WAAW,EAAU;IACjE,OAAO,IAAI,qBAAqB,CAAC,EAAE,IAAI,EAAC,WAAW;QAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACb,KAAK,EAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;SACzE,CAAC;QACF,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YACtB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;YACzD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACzD,OAAO,IAAI,IAAI,uCAAuC,CAAA;QAC1D,CAAC;KACJ,CAAC,CAAA;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tavily.d.ts","sourceRoot":"","sources":["../../../src/heart/tools/Tavily.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tavily.d.ts","sourceRoot":"","sources":["../../../src/heart/tools/Tavily.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,KAAK,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAClD,KAAK,iBAAiB,GAAG,OAAO,GAAG,UAAU,CAAC;AAC9C,KAAK,eAAe,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzD;;;;;GAKG;AACH,KAAK,mBAAmB,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;AAE1D,KAAK,oBAAoB,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAE1D,KAAK,iBAAiB,GAClB,MAAM,GACN;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1C,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC7B,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,iBAAiB,CAAC,EAAE,oBAAoB,CAAC;IACzC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IAGd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IAGzB,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,iBAAiB,CAAC,EAAE,oBAAoB,CAAC;IAEzC;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,qBAAa,YAAY;IACvB,SAAgB,IAAI,mBAAmB;IACvC,SAAgB,WAAW,8EACkD;IAE7E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAGjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwD;gBAErE,MAAM,GAAE,gBAAqB;IAanC,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAoGvE;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;wBAgB3B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tavily.js","sourceRoot":"","sources":["../../../src/heart/tools/Tavily.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tavily.js","sourceRoot":"","sources":["../../../src/heart/tools/Tavily.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { DynamicStructuredTool } from "@langchain/core/tools";
2
+ import type { ExtractToolNames } from "./zodios/CombinedRegistry";
3
+ import { z } from "zod/v3";
4
+ export interface Tool {
5
+ name: string;
6
+ description: string;
7
+ schema: z.ZodObject<any, any>;
8
+ func: (input: any) => any;
9
+ }
10
+ export declare class ToolRegistry<const T extends Tool[]> {
11
+ private tools;
12
+ constructor(tools: T);
13
+ getTool(name: ExtractToolNames<T>): DynamicStructuredTool | undefined;
14
+ getTools(...names: ExtractToolNames<T>[]): (DynamicStructuredTool<import("@langchain/core/tools").ToolSchemaBase, any, any, any> | undefined)[];
15
+ private turnToTool;
16
+ private checkDuplicatedTools;
17
+ get allTools(): DynamicStructuredTool[];
18
+ }
19
+ //# sourceMappingURL=ToolRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolRegistry.d.ts","sourceRoot":"","sources":["../../../src/heart/tools/ToolRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,MAAM,WAAW,IAAI;IACjB,IAAI,EAAC,MAAM,CAAA;IACX,WAAW,EAAC,MAAM,CAAA;IAClB,MAAM,EAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAC,GAAG,CAAC,CAAA;IAC3B,IAAI,EAAC,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;CAC3B;AAED,qBAAa,YAAY,CAAC,KAAK,CAAC,CAAC,SAAS,IAAI,EAAE;IAC5C,OAAO,CAAC,KAAK,CAAwB;gBACzB,KAAK,EAAC,CAAC;IAOZ,OAAO,CAAC,IAAI,EAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,qBAAqB,GAAG,SAAS;IAYpE,QAAQ,CAAC,GAAG,KAAK,EAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;IAI9C,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,oBAAoB;IAO5B,IAAW,QAAQ,IAAG,qBAAqB,EAAE,CAE5C;CACJ"}
@@ -0,0 +1,64 @@
1
+ import { DynamicStructuredTool } from "@langchain/core/tools";
2
+ import { z } from "zod/v3";
3
+ export class ToolRegistry {
4
+ tools;
5
+ constructor(tools) {
6
+ this.tools = tools.map(tool => tool instanceof DynamicStructuredTool ? tool : this.turnToTool(tool));
7
+ if (this.checkDuplicatedTools()) {
8
+ throw new Error(`Error! mehrere tools wurden unter den gleichen Namen registriert!`);
9
+ }
10
+ }
11
+ getTool(name) {
12
+ const tools = this.tools.filter(tool => tool.name.toLowerCase() === name.toLowerCase());
13
+ if (tools.length > 1) {
14
+ throw new Error(`Error! mehrere tools wurden unter den gleichen Namen ${name} registriert!`);
15
+ }
16
+ if (tools.length !== 1) {
17
+ console.error(`unter ${name} wurde kein Tool gefunden`);
18
+ return;
19
+ }
20
+ return tools[0];
21
+ }
22
+ getTools(...names) {
23
+ return names.map(name => this.getTool(name));
24
+ }
25
+ turnToTool(tool) {
26
+ return new DynamicStructuredTool({
27
+ name: tool.name,
28
+ description: tool.description,
29
+ schema: tool.schema,
30
+ func: tool.func
31
+ });
32
+ }
33
+ checkDuplicatedTools() {
34
+ const dublikaes = this.tools.filter((tool, index) => {
35
+ return this.tools.indexOf(tool) !== index;
36
+ });
37
+ return dublikaes.length > 0 ? true : false;
38
+ }
39
+ get allTools() {
40
+ return this.tools;
41
+ }
42
+ }
43
+ const t = new ToolRegistry([
44
+ {
45
+ name: "get_weather",
46
+ description: "get the weather of a city",
47
+ schema: z.object({
48
+ city: z.string()
49
+ }),
50
+ func: async ({ city }) => {
51
+ return `the weather of ${city} is sunny`;
52
+ }
53
+ },
54
+ {
55
+ name: "get_time",
56
+ description: "get the time",
57
+ schema: z.object({}),
58
+ func: async () => {
59
+ return `the time is ${new Date().toLocaleTimeString()}`;
60
+ }
61
+ }
62
+ ]);
63
+ t.getTool("get_weather");
64
+ //# sourceMappingURL=ToolRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolRegistry.js","sourceRoot":"","sources":["../../../src/heart/tools/ToolRegistry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { type Tool } from "../ToolRegistry";
2
+ import { DynamicStructuredTool } from "@langchain/core/tools";
3
+ import { Zodios, type ApiOf } from "zodios";
4
+ export type ExtractToolNames<T extends readonly {
5
+ name: string;
6
+ }[]> = {
7
+ [K in keyof T]: T[K] extends {
8
+ name: string;
9
+ } ? T[K]['name'] : never;
10
+ }[number];
11
+ type ExtractToolNamesFromZodiosApi<Api extends readonly any[]> = {
12
+ [K in keyof Api]: Api[K] extends {
13
+ name: infer N;
14
+ } ? N extends string ? N : Api[K] extends {
15
+ method: infer M;
16
+ path: infer P;
17
+ } ? `call api ${M & string} ${P & string}` : never : Api[K] extends {
18
+ method: infer M;
19
+ path: infer P;
20
+ } ? `call api ${M & string} ${P & string}` : never;
21
+ }[number];
22
+ type ExtractToolNamesFromInput<T extends readonly (Tool | Zodios<any>)[]> = {
23
+ [K in keyof T]: T[K] extends Tool ? T[K]['name'] : T[K] extends Zodios<infer Api> ? ExtractToolNamesFromZodiosApi<ApiOf<T[K]>> : never;
24
+ }[number];
25
+ /**
26
+ * needs testing!!!
27
+ */
28
+ /**
29
+ * vergiss nicht 'as const' am ende des input-arrays zu verwenden für perekten autocomplete!!!
30
+ */
31
+ export declare class CombinedToolRegistry<T extends readonly (Tool | Zodios<any>)[]> {
32
+ private BaseToolRegistry;
33
+ private ZodiosToolRegistry;
34
+ private tools;
35
+ constructor(input: T);
36
+ getTool(name: ExtractToolNamesFromInput<T>): DynamicStructuredTool | undefined;
37
+ getTools(...names: ExtractToolNamesFromInput<T>[]): DynamicStructuredTool[];
38
+ get allTools(): DynamicStructuredTool[];
39
+ }
40
+ export {};
41
+ //# sourceMappingURL=CombinedRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CombinedRegistry.d.ts","sourceRoot":"","sources":["../../../../src/heart/tools/zodios/CombinedRegistry.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAA;AAa3C,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,SAAS;IAAC,IAAI,EAAC,MAAM,CAAA;CAAC,EAAE,IAAI;KAC9D,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QAAC,IAAI,EAAC,MAAM,CAAA;KAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK;CACpE,CAAC,MAAM,CAAC,CAAA;AAET,KAAK,6BAA6B,CAAC,GAAG,SAAS,SAAS,GAAG,EAAE,IAAI;KAC5D,CAAC,IAAI,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS;QAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAC,GAC1C,CAAC,SAAS,MAAM,GACZ,CAAC,GACD,GAAG,CAAC,CAAC,CAAC,SAAS;QAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAC,GAC/C,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,MAAM,EAAE,GACtC,KAAK,GACT,GAAG,CAAC,CAAC,CAAC,SAAS;QAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAC,GAC/C,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,MAAM,EAAE,GACtC,KAAK;CACd,CAAC,MAAM,CAAC,CAAA;AAET,KAAK,yBAAyB,CAAC,CAAC,SAAS,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI;KACvE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GACZ,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,CAAC,GAC9B,6BAA6B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC1C,KAAK;CACd,CAAC,MAAM,CAAC,CAAA;AAET;;GAEG;AACH;;GAEG;AACH,qBAAa,oBAAoB,CAAC,CAAC,SAAS,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;IACvE,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,kBAAkB,CAA4C;IACtE,OAAO,CAAC,KAAK,CAAwB;gBAEzB,KAAK,EAAE,CAAC;IAyBpB,OAAO,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC,CAAC,GAAG,qBAAqB,GAAG,SAAS;IAI9E,QAAQ,CAAC,GAAG,KAAK,EAAE,yBAAyB,CAAC,CAAC,CAAC,EAAE,GAAG,qBAAqB,EAAE;IAI3E,IAAI,QAAQ,IAAI,qBAAqB,EAAE,CAEtC;CACJ"}
@@ -0,0 +1,58 @@
1
+ import { z } from "zod/v3";
2
+ import { ToolRegistry } from "../ToolRegistry";
3
+ import { ZodiosToolRegistry } from "./ZodiosToolRegistry";
4
+ import { DynamicStructuredTool } from "@langchain/core/tools";
5
+ import { Zodios } from "zodios";
6
+ const t = new DynamicStructuredTool({
7
+ name: "get_weather_tool",
8
+ description: "get the weather of a city",
9
+ schema: z.object({
10
+ city: z.string()
11
+ }),
12
+ func: async ({ city }) => {
13
+ return `the weather of ${city} is sunny`;
14
+ }
15
+ });
16
+ /**
17
+ * needs testing!!!
18
+ */
19
+ /**
20
+ * vergiss nicht 'as const' am ende des input-arrays zu verwenden für perekten autocomplete!!!
21
+ */
22
+ export class CombinedToolRegistry {
23
+ BaseToolRegistry;
24
+ ZodiosToolRegistry;
25
+ tools;
26
+ constructor(input) {
27
+ //getting and checking the tools
28
+ const baseTools = input.filter((tool) => {
29
+ return typeof tool === "object" && tool !== null && "name" in tool && "description" in tool && "schema" in tool && "func" in tool;
30
+ });
31
+ if (baseTools.length > 0) {
32
+ this.BaseToolRegistry = new ToolRegistry(baseTools);
33
+ }
34
+ //getting and checking the zodios clients
35
+ const zodiosClients = input.filter((item) => {
36
+ return item instanceof Zodios;
37
+ });
38
+ if (zodiosClients.length > 1) {
39
+ throw new Error("Only one Zodios client can be registered");
40
+ }
41
+ const zodiosClient = zodiosClients[0];
42
+ if (zodiosClient) {
43
+ this.ZodiosToolRegistry = new ZodiosToolRegistry(zodiosClient);
44
+ }
45
+ //combining the tools
46
+ this.tools = [...(this.BaseToolRegistry?.allTools || []), ...(this.ZodiosToolRegistry?.allTools || [])];
47
+ }
48
+ getTool(name) {
49
+ return this.tools.find((tool) => tool.name === name);
50
+ }
51
+ getTools(...names) {
52
+ return names.map((name) => this.getTool(name)).filter((tool) => tool !== undefined);
53
+ }
54
+ get allTools() {
55
+ return this.tools;
56
+ }
57
+ }
58
+ //# sourceMappingURL=CombinedRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CombinedRegistry.js","sourceRoot":"","sources":["../../../../src/heart/tools/zodios/CombinedRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAC1B,OAAO,EAAE,YAAY,EAAa,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAc,MAAM,QAAQ,CAAA;AAE3C,MAAM,CAAC,GAAG,IAAI,qBAAqB,CAAC;IAChC,IAAI,EAAC,kBAAkB;IACvB,WAAW,EAAC,2BAA2B;IACvC,MAAM,EAAC,CAAC,CAAC,MAAM,CAAC;QACZ,IAAI,EAAC,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC;IACF,IAAI,EAAC,KAAK,EAAC,EAAC,IAAI,EAAC,EAAC,EAAE;QAChB,OAAO,kBAAkB,IAAI,WAAW,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA;AA0BF;;GAEG;AACH;;GAEG;AACH,MAAM,OAAO,oBAAoB;IACrB,gBAAgB,CAAiC;IACjD,kBAAkB,CAA4C;IAC9D,KAAK,CAAwB;IAErC,YAAY,KAAQ;QAChB,gCAAgC;QAChC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAC,EAAE;YACnC,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,aAAa,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,CAAA;QACrI,CAAC,CAAC,CAAA;QACF,IAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAC,CAAC;YACrB,IAAI,CAAC,gBAAgB,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,CAAA;QACvD,CAAC;QAED,yCAAyC;QACzC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACxC,OAAO,IAAI,YAAY,MAAM,CAAA;QACjC,CAAC,CAAC,CAAA;QACF,IAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAC,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QAC/D,CAAC;QACD,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;QACrC,IAAI,YAAY,EAAE,CAAC;YACf,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,YAAY,CAAC,CAAA;QAClE,CAAC;QAED,qBAAqB;QACrB,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAA;IAC3G,CAAC;IAED,OAAO,CAAC,IAAkC;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IACxD,CAAC;IAED,QAAQ,CAAC,GAAG,KAAqC;QAC7C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAiC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;IACtH,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;CACJ"}
@@ -0,0 +1,22 @@
1
+ import type { Zodios, ZodiosEndpointDescription, ApiOf } from "zodios";
2
+ import { DynamicStructuredTool } from "../../../imports";
3
+ import { Prettify } from "../../../helpers";
4
+ import type { ExtractToolNames } from "./CombinedRegistry";
5
+ export type ZodiosEndpointWithAlias<R> = Prettify<ZodiosEndpointDescription<R> & {
6
+ name?: string;
7
+ }>;
8
+ /**
9
+ * needs testing!!!
10
+ */
11
+ export declare class ZodiosToolRegistry<Z extends Zodios<any>> {
12
+ private apiSchema;
13
+ private tools;
14
+ private zodiosClient;
15
+ constructor(zodiosClient: Z);
16
+ getTool(name: ExtractToolNames<ApiOf<Z>>): DynamicStructuredTool | undefined;
17
+ getTools(...names: ExtractToolNames<ApiOf<Z>>[]): (DynamicStructuredTool | undefined)[];
18
+ get allTools(): DynamicStructuredTool[];
19
+ private turnApiIntoTools;
20
+ private buildToolSchema;
21
+ }
22
+ //# sourceMappingURL=ZodiosToolRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZodiosToolRegistry.d.ts","sourceRoot":"","sources":["../../../../src/heart/tools/zodios/ZodiosToolRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAE1D,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB,CAAC,CAAA;AAEF;;GAEG;AACH,qBAAa,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC;IACjD,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,YAAY,CAAG;gBACX,YAAY,EAAE,CAAC;IAMpB,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,qBAAqB,GAAG,SAAS;IAa5E,QAAQ,CAAC,GAAG,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,qBAAqB,GAAG,SAAS,CAAC,EAAE;IAI9F,IAAI,QAAQ,IAAI,qBAAqB,EAAE,CAEtC;IAED,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,eAAe;CAkC1B"}
@@ -0,0 +1,80 @@
1
+ import { DynamicStructuredTool } from "../../../imports";
2
+ import { z } from 'zod/v3';
3
+ /**
4
+ * needs testing!!!
5
+ */
6
+ export class ZodiosToolRegistry {
7
+ apiSchema;
8
+ tools;
9
+ zodiosClient;
10
+ constructor(zodiosClient) {
11
+ this.zodiosClient = zodiosClient;
12
+ this.apiSchema = zodiosClient.api;
13
+ this.tools = this.turnApiIntoTools();
14
+ }
15
+ getTool(name) {
16
+ const tools = this.tools.filter((tool) => tool.name?.toLowerCase() === name.toLowerCase());
17
+ if (tools.length > 1) {
18
+ throw new Error(`Error! es wurden unter dem gleichen namen ${name} mehrere tools registriert!`);
19
+ }
20
+ const tool = tools[0];
21
+ if (!tool) {
22
+ console.error(`Tool ${name} not found`);
23
+ return undefined;
24
+ }
25
+ return tool;
26
+ }
27
+ getTools(...names) {
28
+ return names.map(name => this.getTool(name));
29
+ }
30
+ get allTools() {
31
+ return this.tools;
32
+ }
33
+ turnApiIntoTools() {
34
+ return this.apiSchema.map((endpoint) => {
35
+ return new DynamicStructuredTool({
36
+ name: endpoint.name || `call api ${endpoint.method} ${endpoint.path}`,
37
+ description: endpoint.description || `calls the api ${endpoint.method} ${endpoint.path}`,
38
+ schema: this.buildToolSchema(endpoint),
39
+ func: async (input) => {
40
+ return this.zodiosClient.request({
41
+ method: endpoint.method,
42
+ url: endpoint.path,
43
+ params: input?.params,
44
+ queries: input?.queries,
45
+ headers: input?.headers,
46
+ data: input?.body,
47
+ });
48
+ },
49
+ });
50
+ });
51
+ }
52
+ buildToolSchema(endpoint) {
53
+ const queries = {};
54
+ const headers = {};
55
+ let body;
56
+ for (const param of endpoint.parameters ?? []) {
57
+ if (param.type === "Query") {
58
+ queries[param.name] = param.schema;
59
+ }
60
+ if (param.type === "Header") {
61
+ headers[param.name] = param.schema;
62
+ }
63
+ if (param.type === "Body") {
64
+ body = param.schema;
65
+ }
66
+ }
67
+ const schemaShape = {};
68
+ if (Object.keys(queries).length > 0) {
69
+ schemaShape.queries = z.object(queries).optional();
70
+ }
71
+ if (Object.keys(headers).length > 0) {
72
+ schemaShape.headers = z.object(headers).optional();
73
+ }
74
+ if (body) {
75
+ schemaShape.body = body.optional();
76
+ }
77
+ return z.object(schemaShape);
78
+ }
79
+ }
80
+ //# sourceMappingURL=ZodiosToolRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZodiosToolRegistry.js","sourceRoot":"","sources":["../../../../src/heart/tools/zodios/ZodiosToolRegistry.ts"],"names":[],"mappings":"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"}
package/dist/helpers.d.ts CHANGED
@@ -3,18 +3,23 @@ import { z } from "zod/v3";
3
3
  export type Prettify<T> = {
4
4
  [K in keyof T]: T[K];
5
5
  } & {};
6
+ export type AutoComplete<T extends string> = T | (string & {});
6
7
  export declare function logChunk(chunk: string): void;
7
8
  export declare function createSimpleChain(prompt: ChatPromptTemplate, llm: BaseChatModel, parser?: BaseOutputParser | null): import("@langchain/core/runnables").Runnable<any, unknown, import("@langchain/core/runnables").RunnableConfig<Record<string, any>>>;
8
9
  export declare function wait(ms: number): Promise<unknown>;
9
10
  export declare function stream(text: string | Array<any>, wait_in_between?: number): AsyncGenerator<string, void, unknown>;
10
- type LLMConfig = {
11
+ /** Groq Cloud Chat-Completions (https://console.groq.com/docs/models): Production, Compound, Preview. */
12
+ export type ChatGroqModel = AutoComplete<"groq/compound" | "groq/compound-mini" | "llama-3.1-8b-instant" | "llama-3.3-70b-versatile" | "meta-llama/llama-4-scout-17b-16e-instruct" | "openai/gpt-oss-120b" | "openai/gpt-oss-20b" | "openai/gpt-oss-safeguard-20b" | "qwen/qwen3-32b">;
13
+ /** OpenRouter öffentliche /api/v1/models (2026-04): GPT ≥4.1, Claude 4.x, Gemini ≥2.5, gängige Open-Weight-IDs. */
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
+ export type LLMConfig = {
11
16
  type: "groq";
12
- model?: string;
13
- apikey: string;
17
+ model?: ChatGroqModel;
18
+ apikey?: string;
14
19
  } | {
15
20
  type: "openrouter";
16
- model?: string;
17
- apikey: string;
21
+ model?: OpenRouterModel;
22
+ apikey?: string;
18
23
  } | {
19
24
  type: "localOllama";
20
25
  model?: string;
@@ -38,5 +43,4 @@ export declare function outputschema(zodschema: z.ZodObject<any>): {
38
43
  prompt: string;
39
44
  parser: StructuredOutputParser<any>;
40
45
  };
41
- export {};
42
46
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAsB,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAE9J,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GAAG,EAAE,CAAC;AAEP,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,QAQrC;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,GAAE,gBAAgB,GAAG,IAAW,uIAEvH;AAED,wBAAsB,IAAI,CAAC,EAAE,EAAC,MAAM,oBAEnC;AAED,wBAAuB,MAAM,CAAC,IAAI,EAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,EAAC,eAAe,GAAC,MAAY,yCAKlF;AAED,KAAK,SAAS,GACV;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAE3C,wBAAgB,MAAM,CAAC,MAAM,EAAE,SAAS,yFAyBvC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG;IACzD,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAA;CACpC,CAIA"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
package/dist/helpers.js CHANGED
@@ -25,16 +25,16 @@ export function getLLM(config) {
25
25
  switch (config.type) {
26
26
  case "groq":
27
27
  return new ChatGroq({
28
- apiKey: config.apikey,
28
+ apiKey: config.apikey ?? process.env.CHATGROQ_API_KEY,
29
29
  model: config.model ?? "llama-3.3-70b-versatile"
30
30
  });
31
31
  case "openrouter":
32
32
  return new ChatOpenAI({
33
- apiKey: config.apikey,
33
+ apiKey: config.apikey ?? process.env.OPENROUTER_API_KEY,
34
34
  configuration: {
35
35
  baseURL: "https://openrouter.ai/api/v1",
36
36
  },
37
- model: config.model ?? "openai/gpt-4o-mini"
37
+ model: config.model ?? "openai/gpt-4.1-mini"
38
38
  });
39
39
  case "localOllama":
40
40
  return new ChatOllama({
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAA0C,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAQ9J,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACxC,CAAC;SAAM,CAAC;QACN,qDAAqD;QACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACpC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAA0B,EAAE,GAAkB,EAAE,SAAkC,IAAI;IACtH,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAClE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,EAAS;IAClC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,SAAU,CAAC,CAAA,MAAM,CAAC,IAAwB,EAAC,kBAAyB,GAAG;IACjF,KAAK,MAAM,KAAK,IAAI,IAAI,EAAC,CAAC;QACxB,MAAM,KAAK,GAAG,GAAG,CAAA;QACjB,MAAM,IAAI,CAAC,eAAe,CAAC,CAAA;IAC7B,CAAC;AACH,CAAC;AAOD,MAAM,UAAU,MAAM,CAAC,MAAiB;IACtC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,MAAM;YACT,OAAO,IAAI,QAAQ,CAAC;gBAClB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,yBAAyB;aACjD,CAAC,CAAC;QAEL,KAAK,YAAY;YACf,OAAO,IAAI,UAAU,CAAC;gBACpB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,aAAa,EAAE;oBACX,OAAO,EAAE,8BAA8B;iBAC1C;gBACD,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,oBAAoB;aAC5C,CAAC,CAAC;QAEL,KAAK,aAAa;YAChB,OAAO,IAAI,UAAU,CAAC;gBACpB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,aAAa;aACrC,CAAC,CAAC;QAEL;YACE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAAC,SAA2B;IAItD,MAAM,MAAM,GAAG,sBAAsB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;IAC9D,MAAM,MAAM,GAAG,sEAAsE,MAAM,CAAC,qBAAqB,EAAE,oOAAoO,CAAA;IACvV,OAAO,EAAE,MAAM,EAAC,MAAM,EAAE,CAAA;AAC1B,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAA0C,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAS9J,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACxC,CAAC;SAAM,CAAC;QACN,qDAAqD;QACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACpC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAA0B,EAAE,GAAkB,EAAE,SAAkC,IAAI;IACtH,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAClE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,EAAS;IAClC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,SAAU,CAAC,CAAA,MAAM,CAAC,IAAwB,EAAC,kBAAyB,GAAG;IACjF,KAAK,MAAM,KAAK,IAAI,IAAI,EAAC,CAAC;QACxB,MAAM,KAAK,GAAG,GAAG,CAAA;QACjB,MAAM,IAAI,CAAC,eAAe,CAAC,CAAA;IAC7B,CAAC;AACH,CAAC;AAmJD,MAAM,UAAU,MAAM,CAAC,MAAiB;IACtC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,MAAM;YACT,OAAO,IAAI,QAAQ,CAAC;gBAClB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB;gBACrD,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,yBAAyB;aACjD,CAAC,CAAC;QAEL,KAAK,YAAY;YACf,OAAO,IAAI,UAAU,CAAC;gBACpB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB;gBACvD,aAAa,EAAE;oBACX,OAAO,EAAE,8BAA8B;iBAC1C;gBACD,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,qBAAqB;aAC7C,CAAC,CAAC;QAEL,KAAK,aAAa;YAChB,OAAO,IAAI,UAAU,CAAC;gBACpB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,aAAa;aACrC,CAAC,CAAC;QAEL;YACE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAAC,SAA2B;IAItD,MAAM,MAAM,GAAG,sBAAsB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;IAC9D,MAAM,MAAM,GAAG,sEAAsE,MAAM,CAAC,qBAAqB,EAAE,oOAAoO,CAAA;IACvV,OAAO,EAAE,MAAM,EAAC,MAAM,EAAE,CAAA;AAC1B,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,14 +1,16 @@
1
1
  export * from "./helpers";
2
2
  export * from "./memory";
3
3
  export * from "./rag";
4
+ export { DynamicStructuredTool } from "./imports";
4
5
  export * from "./heart/agent";
5
6
  export * from "./heart/chain";
6
7
  export * from "./heart/chatbot";
7
8
  export * from "./heart/memorychain";
8
- export * from "./heart/tools/BasicToolRegistry";
9
+ export * from "./heart/tools/ToolRegistry";
9
10
  export { tavilySearchTool, TavilySearch } from "./heart/tools/Tavily";
10
- export * from "./heart/tools/CombinedRegistry";
11
- export * from "./heart/tools/ZodiosToolRegistry";
11
+ export * from "./heart/tools/RAGTool";
12
+ export * from "./heart/tools/zodios/CombinedRegistry";
13
+ export * from "./heart/tools/zodios/ZodiosToolRegistry";
12
14
  export * from "./magic-funcs/answerers/ask";
13
15
  export * from "./magic-funcs/answerers/websearch";
14
16
  export * from "./magic-funcs/evaluators/classify";
@@ -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,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,iCAAiC,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACrE,cAAc,gCAAgC,CAAA;AAC9C,cAAc,kCAAkC,CAAA;AAChD,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"}
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,iBAAiB,CAAA;AAC/B,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"}
package/dist/index.js CHANGED
@@ -1,14 +1,16 @@
1
1
  export * from "./helpers";
2
2
  export * from "./memory";
3
3
  export * from "./rag";
4
+ export { DynamicStructuredTool } from "./imports";
4
5
  export * from "./heart/agent";
5
6
  export * from "./heart/chain";
6
7
  export * from "./heart/chatbot";
7
8
  export * from "./heart/memorychain";
8
- export * from "./heart/tools/BasicToolRegistry";
9
+ export * from "./heart/tools/ToolRegistry";
9
10
  export { tavilySearchTool, TavilySearch } from "./heart/tools/Tavily";
10
- export * from "./heart/tools/CombinedRegistry";
11
- export * from "./heart/tools/ZodiosToolRegistry";
11
+ export * from "./heart/tools/RAGTool";
12
+ export * from "./heart/tools/zodios/CombinedRegistry";
13
+ export * from "./heart/tools/zodios/ZodiosToolRegistry";
12
14
  export * from "./magic-funcs/answerers/ask";
13
15
  export * from "./magic-funcs/answerers/websearch";
14
16
  export * from "./magic-funcs/evaluators/classify";
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,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,iCAAiC,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACrE,cAAc,gCAAgC,CAAA;AAC9C,cAAc,kCAAkC,CAAA;AAChD,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"}
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,iBAAiB,CAAA;AAC/B,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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=decide.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decide.d.ts","sourceRoot":"","sources":["../../src/magic-funcs/decide.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=decide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decide.js","sourceRoot":"","sources":["../../src/magic-funcs/decide.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=extract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/magic-funcs/extract.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=extract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/magic-funcs/extract.ts"],"names":[],"mappings":""}
@@ -1,6 +1,7 @@
1
1
  import { BaseChatModel } from "../../imports";
2
+ import type { OutputSchema } from "../../heart/chain";
2
3
  import { z } from "zod/v3";
3
- export declare function structure<T extends z.ZodObject<any, any>>({ data, into, llm, retries }: {
4
+ export declare function structure<T extends OutputSchema>({ data, into, llm, retries }: {
4
5
  data: any;
5
6
  into: T;
6
7
  llm?: BaseChatModel;
@@ -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,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,wBAAsB,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAC7D,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;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 +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;AAGlD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAkC,EAC7D,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,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"}