llm-exe 0.0.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 (185) hide show
  1. package/dist/embedding/base.d.ts +8 -0
  2. package/dist/embedding/base.js +43 -0
  3. package/dist/embedding/base.js.map +1 -0
  4. package/dist/embedding/openai.d.ts +11 -0
  5. package/dist/embedding/openai.js +72 -0
  6. package/dist/embedding/openai.js.map +1 -0
  7. package/dist/executor/_base.d.ts +54 -0
  8. package/dist/executor/_base.js +173 -0
  9. package/dist/executor/_base.js.map +1 -0
  10. package/dist/executor/_functions.d.ts +25 -0
  11. package/dist/executor/_functions.js +30 -0
  12. package/dist/executor/_functions.js.map +1 -0
  13. package/dist/executor/_metadata.d.ts +8 -0
  14. package/dist/executor/_metadata.js +69 -0
  15. package/dist/executor/_metadata.js.map +1 -0
  16. package/dist/executor/core.d.ts +10 -0
  17. package/dist/executor/core.js +28 -0
  18. package/dist/executor/core.js.map +1 -0
  19. package/dist/executor/index.d.ts +4 -0
  20. package/dist/executor/index.js +13 -0
  21. package/dist/executor/index.js.map +1 -0
  22. package/dist/executor/llm.d.ts +29 -0
  23. package/dist/executor/llm.js +73 -0
  24. package/dist/executor/llm.js.map +1 -0
  25. package/dist/index.d.ts +61 -0
  26. package/dist/index.js +88 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/interfaces/chat.d.ts +19 -0
  29. package/dist/interfaces/chat.js +3 -0
  30. package/dist/interfaces/chat.js.map +1 -0
  31. package/dist/interfaces/functions.d.ts +72 -0
  32. package/dist/interfaces/functions.js +3 -0
  33. package/dist/interfaces/functions.js.map +1 -0
  34. package/dist/interfaces/index.d.ts +6 -0
  35. package/dist/interfaces/index.js +23 -0
  36. package/dist/interfaces/index.js.map +1 -0
  37. package/dist/interfaces/openai.d.ts +33 -0
  38. package/dist/interfaces/openai.js +3 -0
  39. package/dist/interfaces/openai.js.map +1 -0
  40. package/dist/interfaces/parser.d.ts +11 -0
  41. package/dist/interfaces/parser.js +3 -0
  42. package/dist/interfaces/parser.js.map +1 -0
  43. package/dist/interfaces/prompt.d.ts +20 -0
  44. package/dist/interfaces/prompt.js +3 -0
  45. package/dist/interfaces/prompt.js.map +1 -0
  46. package/dist/interfaces/utils.d.ts +15 -0
  47. package/dist/interfaces/utils.js +3 -0
  48. package/dist/interfaces/utils.js.map +1 -0
  49. package/dist/llm/_base.d.ts +78 -0
  50. package/dist/llm/_base.js +164 -0
  51. package/dist/llm/_base.js.map +1 -0
  52. package/dist/llm/index.d.ts +2 -0
  53. package/dist/llm/index.js +9 -0
  54. package/dist/llm/index.js.map +1 -0
  55. package/dist/llm/openai.d.ts +95 -0
  56. package/dist/llm/openai.js +274 -0
  57. package/dist/llm/openai.js.map +1 -0
  58. package/dist/llm/output/base.d.ts +12 -0
  59. package/dist/llm/output/base.js +45 -0
  60. package/dist/llm/output/base.js.map +1 -0
  61. package/dist/llm/output/index.d.ts +9 -0
  62. package/dist/llm/output/index.js +29 -0
  63. package/dist/llm/output/index.js.map +1 -0
  64. package/dist/llm/output/openai-chat.d.ts +13 -0
  65. package/dist/llm/output/openai-chat.js +51 -0
  66. package/dist/llm/output/openai-chat.js.map +1 -0
  67. package/dist/parser/_base.d.ts +33 -0
  68. package/dist/parser/_base.js +64 -0
  69. package/dist/parser/_base.js.map +1 -0
  70. package/dist/parser/_functions.d.ts +94 -0
  71. package/dist/parser/_functions.js +52 -0
  72. package/dist/parser/_functions.js.map +1 -0
  73. package/dist/parser/index.d.ts +14 -0
  74. package/dist/parser/index.js +31 -0
  75. package/dist/parser/index.js.map +1 -0
  76. package/dist/parser/parsers/BooleanParser.d.ts +8 -0
  77. package/dist/parser/parsers/BooleanParser.js +20 -0
  78. package/dist/parser/parsers/BooleanParser.js.map +1 -0
  79. package/dist/parser/parsers/CustomParser.d.ts +27 -0
  80. package/dist/parser/parsers/CustomParser.js +41 -0
  81. package/dist/parser/parsers/CustomParser.js.map +1 -0
  82. package/dist/parser/parsers/JsonParser.d.ts +7 -0
  83. package/dist/parser/parsers/JsonParser.js +15 -0
  84. package/dist/parser/parsers/JsonParser.js.map +1 -0
  85. package/dist/parser/parsers/ListToArrayParser.d.ts +5 -0
  86. package/dist/parser/parsers/ListToArrayParser.js +17 -0
  87. package/dist/parser/parsers/ListToArrayParser.js.map +1 -0
  88. package/dist/parser/parsers/ListToJsonParser.d.ts +7 -0
  89. package/dist/parser/parsers/ListToJsonParser.js +25 -0
  90. package/dist/parser/parsers/ListToJsonParser.js.map +1 -0
  91. package/dist/parser/parsers/ListToKeyValueParser.d.ts +14 -0
  92. package/dist/parser/parsers/ListToKeyValueParser.js +24 -0
  93. package/dist/parser/parsers/ListToKeyValueParser.js.map +1 -0
  94. package/dist/parser/parsers/MarkdownCodeBlock.d.ts +14 -0
  95. package/dist/parser/parsers/MarkdownCodeBlock.js +16 -0
  96. package/dist/parser/parsers/MarkdownCodeBlock.js.map +1 -0
  97. package/dist/parser/parsers/MarkdownCodeBlocks.d.ts +14 -0
  98. package/dist/parser/parsers/MarkdownCodeBlocks.js +25 -0
  99. package/dist/parser/parsers/MarkdownCodeBlocks.js.map +1 -0
  100. package/dist/parser/parsers/NumberParser.d.ts +8 -0
  101. package/dist/parser/parsers/NumberParser.js +16 -0
  102. package/dist/parser/parsers/NumberParser.js.map +1 -0
  103. package/dist/parser/parsers/ReplaceStringTemplateParser.d.ts +8 -0
  104. package/dist/parser/parsers/ReplaceStringTemplateParser.js +15 -0
  105. package/dist/parser/parsers/ReplaceStringTemplateParser.js.map +1 -0
  106. package/dist/parser/parsers/StringParser.d.ts +8 -0
  107. package/dist/parser/parsers/StringParser.js +17 -0
  108. package/dist/parser/parsers/StringParser.js.map +1 -0
  109. package/dist/plugins/callable/callable.d.ts +72 -0
  110. package/dist/plugins/callable/callable.js +107 -0
  111. package/dist/plugins/callable/callable.js.map +1 -0
  112. package/dist/plugins/callable/index.d.ts +26 -0
  113. package/dist/plugins/callable/index.js +28 -0
  114. package/dist/plugins/callable/index.js.map +1 -0
  115. package/dist/prompt/_base.d.ts +56 -0
  116. package/dist/prompt/_base.js +139 -0
  117. package/dist/prompt/_base.js.map +1 -0
  118. package/dist/prompt/_functions.d.ts +19 -0
  119. package/dist/prompt/_functions.js +24 -0
  120. package/dist/prompt/_functions.js.map +1 -0
  121. package/dist/prompt/chat.d.ts +68 -0
  122. package/dist/prompt/chat.js +136 -0
  123. package/dist/prompt/chat.js.map +1 -0
  124. package/dist/prompt/index.d.ts +4 -0
  125. package/dist/prompt/index.js +13 -0
  126. package/dist/prompt/index.js.map +1 -0
  127. package/dist/prompt/text.d.ts +9 -0
  128. package/dist/prompt/text.js +16 -0
  129. package/dist/prompt/text.js.map +1 -0
  130. package/dist/state/_base.d.ts +29 -0
  131. package/dist/state/_base.js +92 -0
  132. package/dist/state/_base.js.map +1 -0
  133. package/dist/state/_functions.d.ts +6 -0
  134. package/dist/state/_functions.js +19 -0
  135. package/dist/state/_functions.js.map +1 -0
  136. package/dist/state/dialogue.d.ts +17 -0
  137. package/dist/state/dialogue.js +66 -0
  138. package/dist/state/dialogue.js.map +1 -0
  139. package/dist/state/index.d.ts +4 -0
  140. package/dist/state/index.js +16 -0
  141. package/dist/state/index.js.map +1 -0
  142. package/dist/state/item.d.ts +23 -0
  143. package/dist/state/item.js +64 -0
  144. package/dist/state/item.js.map +1 -0
  145. package/dist/types/index.d.ts +1 -0
  146. package/dist/types/index.js +18 -0
  147. package/dist/types/index.js.map +1 -0
  148. package/dist/utils/index.d.ts +1 -0
  149. package/dist/utils/index.js +18 -0
  150. package/dist/utils/index.js.map +1 -0
  151. package/dist/utils/modules/asyncCallWithTimeout.d.ts +1 -0
  152. package/dist/utils/modules/asyncCallWithTimeout.js +17 -0
  153. package/dist/utils/modules/asyncCallWithTimeout.js.map +1 -0
  154. package/dist/utils/modules/handlebars/helpers/index.d.ts +7 -0
  155. package/dist/utils/modules/handlebars/helpers/index.js +71 -0
  156. package/dist/utils/modules/handlebars/helpers/index.js.map +1 -0
  157. package/dist/utils/modules/handlebars/index.d.ts +2 -0
  158. package/dist/utils/modules/handlebars/index.js +105 -0
  159. package/dist/utils/modules/handlebars/index.js.map +1 -0
  160. package/dist/utils/modules/handlebars/templates/index.d.ts +9 -0
  161. package/dist/utils/modules/handlebars/templates/index.js +34 -0
  162. package/dist/utils/modules/handlebars/templates/index.js.map +1 -0
  163. package/dist/utils/modules/index.d.ts +42 -0
  164. package/dist/utils/modules/index.js +133 -0
  165. package/dist/utils/modules/index.js.map +1 -0
  166. package/dist/utils/modules/json-schema-filter.d.ts +1 -0
  167. package/dist/utils/modules/json-schema-filter.js +69 -0
  168. package/dist/utils/modules/json-schema-filter.js.map +1 -0
  169. package/dist/utils/modules/json.d.ts +3 -0
  170. package/dist/utils/modules/json.js +57 -0
  171. package/dist/utils/modules/json.js.map +1 -0
  172. package/dist/utils/modules/replaceTemplateString.d.ts +2 -0
  173. package/dist/utils/modules/replaceTemplateString.js +21 -0
  174. package/dist/utils/modules/replaceTemplateString.js.map +1 -0
  175. package/dist/vector/base.d.ts +11 -0
  176. package/dist/vector/base.js +23 -0
  177. package/dist/vector/base.js.map +1 -0
  178. package/dist/vector/index.d.ts +2 -0
  179. package/dist/vector/index.js +8 -0
  180. package/dist/vector/index.js.map +1 -0
  181. package/dist/vector/pinecone.d.ts +6 -0
  182. package/dist/vector/pinecone.js +22 -0
  183. package/dist/vector/pinecone.js.map +1 -0
  184. package/package.json +67 -0
  185. package/readme.md +12 -0
@@ -0,0 +1,8 @@
1
+ export declare class BaseEmbedding {
2
+ protected client: any;
3
+ protected timeout: number;
4
+ protected maxDelay: number;
5
+ protected numOfAttempts: number;
6
+ protected jitter: "none" | "full";
7
+ constructor(options: any);
8
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseEmbedding = void 0;
4
+ class BaseEmbedding {
5
+ constructor(options) {
6
+ Object.defineProperty(this, "client", {
7
+ enumerable: true,
8
+ configurable: true,
9
+ writable: true,
10
+ value: void 0
11
+ });
12
+ Object.defineProperty(this, "timeout", {
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true,
16
+ value: void 0
17
+ });
18
+ Object.defineProperty(this, "maxDelay", {
19
+ enumerable: true,
20
+ configurable: true,
21
+ writable: true,
22
+ value: void 0
23
+ });
24
+ Object.defineProperty(this, "numOfAttempts", {
25
+ enumerable: true,
26
+ configurable: true,
27
+ writable: true,
28
+ value: void 0
29
+ });
30
+ Object.defineProperty(this, "jitter", {
31
+ enumerable: true,
32
+ configurable: true,
33
+ writable: true,
34
+ value: void 0
35
+ });
36
+ this.timeout = options.timeout || 10000;
37
+ this.jitter = options.jitter || "none";
38
+ this.maxDelay = options.maxDelay || 4000;
39
+ this.numOfAttempts = options.numOfAttempts || 3;
40
+ }
41
+ }
42
+ exports.BaseEmbedding = BaseEmbedding;
43
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"src/","sources":["embedding/base.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAa;IAOxB,YAAY,OAAY;QANxB;;;;;WAAsB;QACtB;;;;;WAA0B;QAE1B;;;;;WAA2B;QAC3B;;;;;WAAgC;QAChC;;;;;WAAkC;QAEhC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;QAExC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;IAClD,CAAC;CACF;AAdD,sCAcC"}
@@ -0,0 +1,11 @@
1
+ import { BaseEmbedding } from "./base";
2
+ import { EmbedOpenAIOptions } from "../types";
3
+ export declare class EmbeddingOpenAI extends BaseEmbedding {
4
+ private model;
5
+ batchSize: number;
6
+ stripNewLines: boolean;
7
+ constructor(options: EmbedOpenAIOptions);
8
+ embedDocuments(texts: string[]): Promise<any[]>;
9
+ embedQuery(text: string): Promise<any>;
10
+ embeddingWithRetry(input: string): Promise<any>;
11
+ }
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmbeddingOpenAI = void 0;
4
+ const openai_1 = require("openai");
5
+ const utils_1 = require("../utils");
6
+ const base_1 = require("./base");
7
+ const exponential_backoff_1 = require("exponential-backoff");
8
+ class EmbeddingOpenAI extends base_1.BaseEmbedding {
9
+ constructor(options) {
10
+ super(options);
11
+ Object.defineProperty(this, "model", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: void 0
16
+ });
17
+ Object.defineProperty(this, "batchSize", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: void 0
22
+ });
23
+ Object.defineProperty(this, "stripNewLines", {
24
+ enumerable: true,
25
+ configurable: true,
26
+ writable: true,
27
+ value: void 0
28
+ });
29
+ this.model = options.modelName || "text-embedding-ada-002";
30
+ this.batchSize = options.temperature || 0;
31
+ this.stripNewLines = !!options.stripNewLines;
32
+ this.client = new openai_1.OpenAIApi(new openai_1.Configuration({
33
+ apiKey: options.openAIApiKey,
34
+ }));
35
+ }
36
+ async embedDocuments(texts) {
37
+ const subPrompts = (0, utils_1.chunkArray)(this.stripNewLines ? texts.map((t) => t.replace(/\n/g, " ")) : texts, this.batchSize);
38
+ const embeddings = [];
39
+ for (let i = 0; i < subPrompts.length; i += 1) {
40
+ const input = subPrompts[i];
41
+ const { data } = await this.embeddingWithRetry(input);
42
+ for (let j = 0; j < input.length; j += 1) {
43
+ embeddings.push(data[j].embedding);
44
+ }
45
+ }
46
+ return embeddings;
47
+ }
48
+ async embedQuery(text) {
49
+ const { data } = await this.embeddingWithRetry(this.stripNewLines ? text.replace(/\n/g, " ") : text);
50
+ return data[0].embedding;
51
+ }
52
+ async embeddingWithRetry(input) {
53
+ const response = await (0, exponential_backoff_1.backOff)(() => (0, utils_1.asyncCallWithTimeout)(this.client.createEmbedding({
54
+ model: this.model,
55
+ input: input,
56
+ user: "",
57
+ }), this.timeout), {
58
+ startingDelay: 0,
59
+ maxDelay: this.maxDelay,
60
+ numOfAttempts: this.numOfAttempts,
61
+ jitter: this.jitter,
62
+ retry: () => {
63
+ console.log(`OpenAI timeout after ${this.timeout}. Retrying...`);
64
+ return true;
65
+ },
66
+ });
67
+ const { data } = response;
68
+ return data;
69
+ }
70
+ }
71
+ exports.EmbeddingOpenAI = EmbeddingOpenAI;
72
+ //# sourceMappingURL=openai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.js","sourceRoot":"src/","sources":["embedding/openai.ts"],"names":[],"mappings":";;;AAAA,mCAAkD;AAClD,mCAA2D;AAC3D,iCAAuC;AACvC,6DAA8C;AAG9C,MAAa,eAAgB,SAAQ,oBAAa;IAKhD,YAAY,OAA2B;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC;QALjB;;;;;WAAsB;QAEtB;;;;;WAAyB;QACzB;;;;;WAA8B;QAI5B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,IAAI,wBAAwB,CAAC;QAC3D,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAE7C,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAS,CACzB,IAAI,sBAAa,CAAC;YAChB,MAAM,EAAE,OAAO,CAAC,YAAY;SAC7B,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAe;QAClC,MAAM,UAAU,GAAG,IAAA,kBAAU,EAC3B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EACpE,IAAI,CAAC,SAAS,CACf,CAAC;QACF,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;gBACxC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;aACpC;SACF;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC5C,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CACrD,CAAC;QACF,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3B,CAAC;IACD,KAAK,CAAC,kBAAkB,CAAC,KAAa;QACpC,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAO,EAC5B,GAAG,EAAE,CACH,IAAA,4BAAoB,EAClB,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,EAAE;SACT,CAAC,EACF,IAAI,CAAC,OAAO,CACb,EACH;YACE,aAAa,EAAE,CAAC;YAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,GAAG,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,OAAO,eAAe,CAAC,CAAC;gBACjE,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CACF,CAAC;QAEF,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAlED,0CAkEC"}
@@ -0,0 +1,54 @@
1
+ import { PlainObject, ExecutorMetadata, CoreExecutorHooks, CoreExecutorHookInput, ExecutorExecutionMetadata, CoreExecutorExecuteOptions } from "../types";
2
+ export declare abstract class BaseExecutor<I extends PlainObject, O = any> {
3
+ /**
4
+ * @property id - internal id of the executor
5
+ */
6
+ readonly id: string;
7
+ /**
8
+ * @property type - type of executor
9
+ */
10
+ type: string;
11
+ /**
12
+ * @property created - timestamp date created
13
+ */
14
+ readonly created: number;
15
+ /**
16
+ * @property name - name of executor
17
+ */
18
+ name: string;
19
+ /**
20
+ * @property executions - Prompt type (chat)
21
+ */
22
+ executions: number;
23
+ /**
24
+ * @property hooks - hooks to be ran during execution
25
+ */
26
+ hooks: CoreExecutorHooks;
27
+ constructor(name: string, type: string, options?: CoreExecutorExecuteOptions);
28
+ abstract handler(input: I): Promise<any>;
29
+ /**
30
+ *
31
+ * Used to filter the input of the handler
32
+ * @param _input
33
+ * @returns original input formatted for handler
34
+ */
35
+ getHandlerInput(_input: I, _metadata: ExecutorExecutionMetadata<I, any>): any;
36
+ /**
37
+ *
38
+ * Used to filter the output of the handler
39
+ * @param _input
40
+ * @returns output O
41
+ */
42
+ getHandlerOutput(out: any, _metadata: ExecutorExecutionMetadata<any, O>): O;
43
+ /**
44
+ *
45
+ * execute - Runs the executor
46
+ * @param _input
47
+ * @returns handler output
48
+ */
49
+ execute(_input: I): Promise<O>;
50
+ metadata(): Record<string, any>;
51
+ getMetadata(metadata?: Record<string, any>): ExecutorMetadata;
52
+ runHook(hook: keyof CoreExecutorHooks, _metadata: ExecutorExecutionMetadata): void;
53
+ setHooks(hooks?: CoreExecutorHookInput): void;
54
+ }
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseExecutor = void 0;
4
+ const utils_1 = require("../utils");
5
+ const _metadata_1 = require("./_metadata");
6
+ const hookNames = [
7
+ "onComplete",
8
+ "onError",
9
+ "filterResult",
10
+ ];
11
+ class BaseExecutor {
12
+ constructor(name, type, options) {
13
+ /**
14
+ * @property id - internal id of the executor
15
+ */
16
+ Object.defineProperty(this, "id", {
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true,
20
+ value: void 0
21
+ });
22
+ /**
23
+ * @property type - type of executor
24
+ */
25
+ Object.defineProperty(this, "type", {
26
+ enumerable: true,
27
+ configurable: true,
28
+ writable: true,
29
+ value: void 0
30
+ });
31
+ /**
32
+ * @property created - timestamp date created
33
+ */
34
+ Object.defineProperty(this, "created", {
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true,
38
+ value: void 0
39
+ });
40
+ /**
41
+ * @property name - name of executor
42
+ */
43
+ Object.defineProperty(this, "name", {
44
+ enumerable: true,
45
+ configurable: true,
46
+ writable: true,
47
+ value: void 0
48
+ });
49
+ /**
50
+ * @property executions - Prompt type (chat)
51
+ */
52
+ Object.defineProperty(this, "executions", {
53
+ enumerable: true,
54
+ configurable: true,
55
+ writable: true,
56
+ value: void 0
57
+ });
58
+ /**
59
+ * @property hooks - hooks to be ran during execution
60
+ */
61
+ Object.defineProperty(this, "hooks", {
62
+ enumerable: true,
63
+ configurable: true,
64
+ writable: true,
65
+ value: void 0
66
+ });
67
+ this.id = (0, utils_1.uuid)();
68
+ this.type = type;
69
+ this.name = name;
70
+ this.created = new Date().getTime();
71
+ this.executions = 0;
72
+ this.hooks = {};
73
+ if (options?.hooks) {
74
+ this.setHooks(options.hooks);
75
+ }
76
+ }
77
+ /**
78
+ *
79
+ * Used to filter the input of the handler
80
+ * @param _input
81
+ * @returns original input formatted for handler
82
+ */
83
+ getHandlerInput(_input, _metadata) {
84
+ return (0, utils_1.ensureInputIsObject)(_input);
85
+ }
86
+ /**
87
+ *
88
+ * Used to filter the output of the handler
89
+ * @param _input
90
+ * @returns output O
91
+ */
92
+ getHandlerOutput(out, _metadata) {
93
+ return out;
94
+ }
95
+ /**
96
+ *
97
+ * execute - Runs the executor
98
+ * @param _input
99
+ * @returns handler output
100
+ */
101
+ async execute(_input) {
102
+ this.executions++;
103
+ const _metadata = (0, _metadata_1.createMetadataState)({
104
+ start: new Date().getTime(),
105
+ input: _input,
106
+ });
107
+ try {
108
+ const input = this.getHandlerInput(_input, _metadata.asPlainObject());
109
+ _metadata.setItem({ handlerInput: input });
110
+ let result = await this.handler(input);
111
+ _metadata.setItem({ handlerOutput: result });
112
+ if (this.hooks.filterResult) {
113
+ for (const filter of this.hooks.filterResult) {
114
+ if (filter) {
115
+ const filterResult = filter(result, _metadata.asPlainObject(), this.getMetadata());
116
+ result = filterResult;
117
+ _metadata.setItem({ handlerOutput: filterResult });
118
+ }
119
+ }
120
+ }
121
+ const output = this.getHandlerOutput(result, _metadata.asPlainObject());
122
+ _metadata.setItem({ output });
123
+ return output;
124
+ }
125
+ catch (error) {
126
+ _metadata.setItem({ error, errorMessage: error.message });
127
+ this.runHook("onError", _metadata.asPlainObject());
128
+ throw error;
129
+ }
130
+ finally {
131
+ _metadata.setItem({ end: new Date().getTime() });
132
+ this.runHook("onComplete", _metadata.asPlainObject());
133
+ }
134
+ }
135
+ metadata() {
136
+ return {};
137
+ }
138
+ getMetadata(metadata) {
139
+ return Object.assign({}, this.metadata(), {
140
+ id: this.id,
141
+ type: this.type,
142
+ name: this.name,
143
+ created: this.created,
144
+ executions: this.executions,
145
+ metadata,
146
+ });
147
+ }
148
+ runHook(hook, _metadata) {
149
+ const { [hook]: hooks = [] } = this.hooks;
150
+ for (const hookFn of hooks) {
151
+ /* istanbul ignore next */
152
+ if (typeof hookFn === "function") {
153
+ hookFn(_metadata, this.getMetadata());
154
+ }
155
+ }
156
+ }
157
+ setHooks(hooks = {}) {
158
+ const hookKeys = Object.keys(hooks);
159
+ for (const hookKey of hookKeys.filter((k) => hookNames.includes(k))) {
160
+ const hookInput = hooks[hookKey];
161
+ if (hookInput) {
162
+ const hook = Array.isArray(hookInput) ? hookInput : [hookInput];
163
+ const cleanHooks = hook.filter((h) => h && typeof h === "function");
164
+ if (!this.hooks[hookKey])
165
+ this.hooks[hookKey] = [];
166
+ /* istanbul ignore next */
167
+ this.hooks[hookKey]?.push(...cleanHooks);
168
+ }
169
+ }
170
+ }
171
+ }
172
+ exports.BaseExecutor = BaseExecutor;
173
+ //# sourceMappingURL=_base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_base.js","sourceRoot":"src/","sources":["executor/_base.ts"],"names":[],"mappings":";;;AASA,mCAAoD;AACpD,2CAAkD;AAElD,MAAM,SAAS,GAAoC;IACjD,YAAY;IACZ,SAAS;IACT,cAAc;CACf,CAAC;AAEF,MAAsB,YAAY;IA+BhC,YACE,IAAY,EACZ,IAAY,EACZ,OAAoC;QAjCtC;;WAEG;QACH;;;;;WAAY;QAEZ;;WAEG;QACH;;;;;WAAY;QAEZ;;WAEG;QACH;;;;;WAAiB;QAEjB;;WAEG;QACH;;;;;WAAY;QAEZ;;WAEG;QACH;;;;;WAAkB;QAElB;;WAEG;QACH;;;;;WAAgC;QAO9B,IAAI,CAAC,EAAE,GAAG,IAAA,YAAI,GAAE,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhB,IAAI,OAAO,EAAE,KAAK,EAAE;YAClB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC9B;IACH,CAAC;IAID;;;;;OAKG;IACH,eAAe,CACb,MAAS,EACT,SAA4C;QAE5C,OAAO,IAAA,2BAAmB,EAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,GAAQ,EAAE,SAA4C;QACrE,OAAO,GAAQ,CAAC;IAClB,CAAC;IACD;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,MAAS;QACrB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,IAAA,+BAAmB,EAAC;YACpC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;YAC3B,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;QAEH,IAAI;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;YAEtE,SAAS,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;YAE3C,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEvC,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;YAE7C,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;gBAC3B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;oBAC5C,IAAI,MAAM,EAAE;wBACV,MAAM,YAAY,GAAG,MAAM,CACzB,MAAM,EACN,SAAS,CAAC,aAAa,EAAE,EACzB,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;wBACF,MAAM,GAAG,YAAY,CAAC;wBACtB,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC;qBACpD;iBACF;aACF;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;YACxE,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9B,OAAO,MAAM,CAAC;SACf;QAAC,OAAO,KAAU,EAAE;YACnB,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;YACnD,MAAM,KAAK,CAAC;SACb;gBAAS;YACR,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;SACvD;IACH,CAAC;IAED,QAAQ;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,WAAW,CAAC,QAA8B;QACxC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE;YACxC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,IAA6B,EAAE,SAAoC;QACzE,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1C,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE;YAC1B,0BAA0B;YAC1B,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;gBAChC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;aACvC;SACF;IACH,CAAC;IACD,QAAQ,CAAC,QAA+B,EAAE;QACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAA2B,CAAC;QAC9D,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;YACnE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,SAAS,EAAE;gBACb,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAChE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,UAAU,CAAC,CAAC;gBACpE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;oBAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACnD,0BAA0B;gBAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;aAC1C;SACF;IACH,CAAC;CACF;AA9JD,oCA8JC"}
@@ -0,0 +1,25 @@
1
+ import { PlainObject, ExecutorWithLlmOptions, CoreExecutorExecuteOptions } from "../types";
2
+ import { BaseLlm } from "../llm";
3
+ import { BaseParser } from "../parser";
4
+ import { BasePrompt } from "../prompt";
5
+ import { BaseState } from "../state";
6
+ import { CoreExecutor } from "./core";
7
+ import { LlmExecutor } from "./llm";
8
+ /**
9
+ * Function to create a core executor.
10
+ * @template I - Input type.
11
+ * @template O - Output type.
12
+ * @param handler - The handler function.
13
+ * @returns - A new CoreExecutor instance.
14
+ */
15
+ export declare function createCoreExecutor<I extends PlainObject, O>(handler: (input: I) => Promise<O> | O, options?: CoreExecutorExecuteOptions): CoreExecutor<I, O>;
16
+ /**
17
+ * Function to create a core executor with Llm.
18
+ * @template Llm - Llm type.
19
+ * @template Prompt - Prompt type.
20
+ * @template Parser - Parser type.
21
+ * @template State - State type.
22
+ * @param options - Options for BaseExecutorV3.
23
+ * @returns - A new LlmExecutor instance.
24
+ */
25
+ export declare function createLlmExecutor<Llm extends BaseLlm<any>, Prompt extends BasePrompt<any>, Parser extends BaseParser, State extends BaseState>(llmConfiguration: ExecutorWithLlmOptions<Llm, Prompt, Parser, State>, options?: CoreExecutorExecuteOptions): LlmExecutor<Llm, Prompt, Parser, State>;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createLlmExecutor = exports.createCoreExecutor = void 0;
4
+ const core_1 = require("./core");
5
+ const llm_1 = require("./llm");
6
+ /**
7
+ * Function to create a core executor.
8
+ * @template I - Input type.
9
+ * @template O - Output type.
10
+ * @param handler - The handler function.
11
+ * @returns - A new CoreExecutor instance.
12
+ */
13
+ function createCoreExecutor(handler, options) {
14
+ return new core_1.CoreExecutor({ handler }, options);
15
+ }
16
+ exports.createCoreExecutor = createCoreExecutor;
17
+ /**
18
+ * Function to create a core executor with Llm.
19
+ * @template Llm - Llm type.
20
+ * @template Prompt - Prompt type.
21
+ * @template Parser - Parser type.
22
+ * @template State - State type.
23
+ * @param options - Options for BaseExecutorV3.
24
+ * @returns - A new LlmExecutor instance.
25
+ */
26
+ function createLlmExecutor(llmConfiguration, options) {
27
+ return new llm_1.LlmExecutor(llmConfiguration, options);
28
+ }
29
+ exports.createLlmExecutor = createLlmExecutor;
30
+ //# sourceMappingURL=_functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_functions.js","sourceRoot":"src/","sources":["executor/_functions.ts"],"names":[],"mappings":";;;AASA,iCAAsC;AACtC,+BAAoC;AAEpC;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAChC,OAAqC,EACrC,OAAoC;IAEpC,OAAO,IAAI,mBAAY,CAAO,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AALD,gDAKC;AAED;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAM/B,gBAAoE,EACpE,OAAoC;IAEpC,OAAO,IAAI,iBAAW,CAA6B,gBAAgB,EAAE,OAAO,CAAC,CAAC;AAChF,CAAC;AAVD,8CAUC"}
@@ -0,0 +1,8 @@
1
+ import { ExecutorExecutionMetadata, ExecutorExecutionMetadataProperties } from "../interfaces";
2
+ export declare class ExecutorExecutionMetadataState<I, O> {
3
+ #private;
4
+ constructor(items?: Pick<ExecutorExecutionMetadataProperties, "start"> & Partial<ExecutorExecutionMetadataProperties>);
5
+ setItem(items: Partial<ExecutorExecutionMetadataProperties>): this;
6
+ asPlainObject(): Readonly<ExecutorExecutionMetadata<I, O>>;
7
+ }
8
+ export declare function createMetadataState(items?: Pick<ExecutorExecutionMetadataProperties, "start"> & Partial<ExecutorExecutionMetadataProperties>): ExecutorExecutionMetadataState<any, any>;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
+ };
7
+ var _ExecutorExecutionMetadataState_state;
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.createMetadataState = exports.ExecutorExecutionMetadataState = void 0;
10
+ class ExecutorExecutionMetadataState {
11
+ constructor(items) {
12
+ _ExecutorExecutionMetadataState_state.set(this, {
13
+ start: null,
14
+ end: null,
15
+ input: undefined,
16
+ handlerInput: undefined,
17
+ handlerOutput: undefined,
18
+ output: undefined,
19
+ _handlerOutput: [],
20
+ _output: [],
21
+ errorMessage: undefined,
22
+ error: undefined,
23
+ metadata: null,
24
+ });
25
+ if (items) {
26
+ this.setItem(items);
27
+ }
28
+ }
29
+ setItem(items) {
30
+ // if invalid, do nothing
31
+ if (!items || typeof items !== "object" || Array.isArray(items)) {
32
+ return this;
33
+ }
34
+ const keys = Object.keys(items);
35
+ for (const key of keys) {
36
+ const value = items[key];
37
+ if (Array.isArray(__classPrivateFieldGet(this, _ExecutorExecutionMetadataState_state, "f")[key])) {
38
+ const asArr = Array.isArray(value) ? value : [value];
39
+ __classPrivateFieldGet(this, _ExecutorExecutionMetadataState_state, "f")[key].push(...asArr);
40
+ }
41
+ else {
42
+ __classPrivateFieldGet(this, _ExecutorExecutionMetadataState_state, "f")[key] = value;
43
+ }
44
+ }
45
+ return this;
46
+ }
47
+ asPlainObject() {
48
+ return Object.freeze({
49
+ start: __classPrivateFieldGet(this, _ExecutorExecutionMetadataState_state, "f").start,
50
+ end: __classPrivateFieldGet(this, _ExecutorExecutionMetadataState_state, "f").end,
51
+ input: __classPrivateFieldGet(this, _ExecutorExecutionMetadataState_state, "f").input,
52
+ handlerInput: __classPrivateFieldGet(this, _ExecutorExecutionMetadataState_state, "f").handlerInput,
53
+ handlerOutput: __classPrivateFieldGet(this, _ExecutorExecutionMetadataState_state, "f").handlerOutput,
54
+ output: __classPrivateFieldGet(this, _ExecutorExecutionMetadataState_state, "f").output,
55
+ _handlerOutput: __classPrivateFieldGet(this, _ExecutorExecutionMetadataState_state, "f")._handlerOutput,
56
+ _output: __classPrivateFieldGet(this, _ExecutorExecutionMetadataState_state, "f")._output,
57
+ errorMessage: __classPrivateFieldGet(this, _ExecutorExecutionMetadataState_state, "f").errorMessage,
58
+ error: __classPrivateFieldGet(this, _ExecutorExecutionMetadataState_state, "f").error,
59
+ metadata: __classPrivateFieldGet(this, _ExecutorExecutionMetadataState_state, "f").metadata,
60
+ });
61
+ }
62
+ }
63
+ exports.ExecutorExecutionMetadataState = ExecutorExecutionMetadataState;
64
+ _ExecutorExecutionMetadataState_state = new WeakMap();
65
+ function createMetadataState(items) {
66
+ return new ExecutorExecutionMetadataState(items);
67
+ }
68
+ exports.createMetadataState = createMetadataState;
69
+ //# sourceMappingURL=_metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_metadata.js","sourceRoot":"src/","sources":["executor/_metadata.ts"],"names":[],"mappings":";;;;;;;;;AAKA,MAAa,8BAA8B;IAezC,YACE,KAC8C;QAhBhD,gDAAoC;YAClC,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,IAAI;YACT,KAAK,EAAE,SAAS;YAChB,YAAY,EAAE,SAAS;YACvB,aAAa,EAAE,SAAS;YACxB,MAAM,EAAE,SAAS;YACjB,cAAc,EAAE,EAAE;YAClB,OAAO,EAAE,EAAE;YACX,YAAY,EAAE,SAAS;YACvB,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,IAAI;SACf,EAAC;QAMA,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACrB;IACH,CAAC;IAED,OAAO,CAAC,KAAmD;QACzD,yBAAyB;QACzB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/D,OAAO,IAAI,CAAC;SACb;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAA2B,CAAC;QAC1D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,KAAK,CAAC,OAAO,CAAC,uBAAA,IAAI,6CAAO,CAAC,GAAG,CAAC,CAAC,EAAE;gBACnC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACrD,uBAAA,IAAI,6CAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;aACjC;iBAAM;gBACL,uBAAA,IAAI,6CAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC1B;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,aAAa;QACX,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,KAAK,EAAE,uBAAA,IAAI,6CAAO,CAAC,KAAK;YACxB,GAAG,EAAE,uBAAA,IAAI,6CAAO,CAAC,GAAG;YACpB,KAAK,EAAE,uBAAA,IAAI,6CAAO,CAAC,KAAK;YACxB,YAAY,EAAE,uBAAA,IAAI,6CAAO,CAAC,YAAY;YACtC,aAAa,EAAE,uBAAA,IAAI,6CAAO,CAAC,aAAa;YACxC,MAAM,EAAE,uBAAA,IAAI,6CAAO,CAAC,MAAM;YAC1B,cAAc,EAAE,uBAAA,IAAI,6CAAO,CAAC,cAAc;YAC1C,OAAO,EAAE,uBAAA,IAAI,6CAAO,CAAC,OAAO;YAC5B,YAAY,EAAE,uBAAA,IAAI,6CAAO,CAAC,YAAY;YACtC,KAAK,EAAE,uBAAA,IAAI,6CAAO,CAAC,KAAK;YACxB,QAAQ,EAAE,uBAAA,IAAI,6CAAO,CAAC,QAAQ;SAC/B,CAAC,CAAC;IACL,CAAC;CACF;AAzDD,wEAyDC;;AAED,SAAgB,mBAAmB,CACjC,KAC8C;IAE9C,OAAO,IAAI,8BAA8B,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC;AALD,kDAKC"}
@@ -0,0 +1,10 @@
1
+ import { PlainObject, CoreExecutorInput, CoreExecutorExecuteOptions } from "../types";
2
+ import { BaseExecutor } from "./_base";
3
+ /**
4
+ * Core Function Executor
5
+ */
6
+ export declare class CoreExecutor<I extends PlainObject, O> extends BaseExecutor<I, O> {
7
+ _handler: (input: I) => Promise<any> | any;
8
+ constructor(fn: CoreExecutorInput<I, O>, options?: CoreExecutorExecuteOptions);
9
+ handler(_input: I): Promise<O>;
10
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CoreExecutor = void 0;
4
+ const _base_1 = require("./_base");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Core Function Executor
8
+ */
9
+ class CoreExecutor extends _base_1.BaseExecutor {
10
+ constructor(fn, options) {
11
+ const name = fn?.name
12
+ ? fn.name
13
+ : (0, utils_1.inferFunctionName)(fn.handler, "anonymous-core-executor");
14
+ super(name, "function-executor", options);
15
+ Object.defineProperty(this, "_handler", {
16
+ enumerable: true,
17
+ configurable: true,
18
+ writable: true,
19
+ value: void 0
20
+ });
21
+ this._handler = fn.handler;
22
+ }
23
+ async handler(_input) {
24
+ return this._handler.call(null, _input);
25
+ }
26
+ }
27
+ exports.CoreExecutor = CoreExecutor;
28
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"src/","sources":["executor/core.ts"],"names":[],"mappings":";;;AAKA,mCAAuC;AACvC,mCAA4C;AAE5C;;GAEG;AACH,MAAa,YAAuC,SAAQ,oBAAkB;IAG5E,YACE,EAA2B,EAC3B,OAAoC;QAEpC,MAAM,IAAI,GAAG,EAAE,EAAE,IAAI;YACnB,CAAC,CAAC,EAAE,CAAC,IAAI;YACT,CAAC,CAAC,IAAA,yBAAiB,EAAC,EAAE,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;QAE7D,KAAK,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAV5C;;;;;WAAkD;QAWhD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAS;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;CACF;AAlBD,oCAkBC"}
@@ -0,0 +1,4 @@
1
+ export { BaseExecutor } from "./_base";
2
+ export { CoreExecutor } from "./core";
3
+ export { LlmExecutor } from "./llm";
4
+ export { createCoreExecutor, createLlmExecutor } from "./_functions";
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createLlmExecutor = exports.createCoreExecutor = exports.LlmExecutor = exports.CoreExecutor = exports.BaseExecutor = void 0;
4
+ var _base_1 = require("./_base");
5
+ Object.defineProperty(exports, "BaseExecutor", { enumerable: true, get: function () { return _base_1.BaseExecutor; } });
6
+ var core_1 = require("./core");
7
+ Object.defineProperty(exports, "CoreExecutor", { enumerable: true, get: function () { return core_1.CoreExecutor; } });
8
+ var llm_1 = require("./llm");
9
+ Object.defineProperty(exports, "LlmExecutor", { enumerable: true, get: function () { return llm_1.LlmExecutor; } });
10
+ var _functions_1 = require("./_functions");
11
+ Object.defineProperty(exports, "createCoreExecutor", { enumerable: true, get: function () { return _functions_1.createCoreExecutor; } });
12
+ Object.defineProperty(exports, "createLlmExecutor", { enumerable: true, get: function () { return _functions_1.createLlmExecutor; } });
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"src/","sources":["executor/index.ts"],"names":[],"mappings":";;;AAAA,iCAAuC;AAA9B,qGAAA,YAAY,OAAA;AACrB,+BAAsC;AAA7B,oGAAA,YAAY,OAAA;AACrB,6BAAoC;AAA3B,kGAAA,WAAW,OAAA;AACpB,2CAAqE;AAA5D,gHAAA,kBAAkB,OAAA;AAAE,+GAAA,iBAAiB,OAAA"}
@@ -0,0 +1,29 @@
1
+ import { PromptInput, ParserOutput, CoreExecutorExecuteOptions, ExecutorWithLlmOptions, ExecutorExecutionMetadata } from "../types";
2
+ import { BaseLlm } from "../llm";
3
+ import { BaseParser, StringParser } from "../parser";
4
+ import { BasePrompt } from "../prompt";
5
+ import { BaseState } from "../state";
6
+ import { BaseExecutor } from "./_base";
7
+ /**
8
+ * Core Executor With LLM
9
+ */
10
+ export declare class LlmExecutor<Llm extends BaseLlm<any>, Prompt extends BasePrompt<Record<string, any>>, Parser extends BaseParser, State extends BaseState> extends BaseExecutor<PromptInput<Prompt>, ParserOutput<Parser>> {
11
+ llm: Llm;
12
+ prompt: Prompt | undefined;
13
+ promptFn: any;
14
+ parser: StringParser | Parser;
15
+ constructor(llmConfiguration: ExecutorWithLlmOptions<Llm, Prompt, Parser, State>, options?: CoreExecutorExecuteOptions);
16
+ handler(_input: PromptInput<Prompt>): Promise<any>;
17
+ getHandlerInput(_input: PromptInput<Prompt>): any;
18
+ getHandlerOutput(out: any, _metadata: ExecutorExecutionMetadata<PromptInput<Prompt>, ParserOutput<Parser>>): ParserOutput<Parser>;
19
+ metadata(): {
20
+ llm: {
21
+ promptType: import("../types").PromptType;
22
+ timeout: number;
23
+ jitter: "none" | "full";
24
+ maxDelay: number;
25
+ numOfAttempts: number;
26
+ metrics: any;
27
+ };
28
+ };
29
+ }