llm-exe 0.0.6 → 1.0.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 (83) hide show
  1. package/dist/executor/_base.d.ts +9 -6
  2. package/dist/executor/_base.js +21 -7
  3. package/dist/executor/_base.js.map +1 -1
  4. package/dist/executor/_functions.js.map +1 -1
  5. package/dist/executor/core.js +1 -1
  6. package/dist/executor/core.js.map +1 -1
  7. package/dist/executor/index.d.ts +1 -0
  8. package/dist/executor/index.js +3 -1
  9. package/dist/executor/index.js.map +1 -1
  10. package/dist/executor/llm-openai-function.d.ts +16 -0
  11. package/dist/executor/llm-openai-function.js +28 -0
  12. package/dist/executor/llm-openai-function.js.map +1 -0
  13. package/dist/executor/llm.d.ts +5 -2
  14. package/dist/executor/llm.js +11 -2
  15. package/dist/executor/llm.js.map +1 -1
  16. package/dist/index.d.ts +2 -0
  17. package/dist/index.js +3 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/interfaces/chat.d.ts +52 -5
  20. package/dist/interfaces/functions.d.ts +5 -0
  21. package/dist/interfaces/openai.d.ts +14 -1
  22. package/dist/interfaces/parser.d.ts +1 -1
  23. package/dist/interfaces/utils.d.ts +3 -0
  24. package/dist/llm/_base.d.ts +7 -3
  25. package/dist/llm/_base.js +20 -5
  26. package/dist/llm/_base.js.map +1 -1
  27. package/dist/llm/openai.d.ts +4 -3
  28. package/dist/llm/openai.js +15 -15
  29. package/dist/llm/openai.js.map +1 -1
  30. package/dist/llm/output/openai.d.ts +6 -2
  31. package/dist/llm/output/openai.js +8 -1
  32. package/dist/llm/output/openai.js.map +1 -1
  33. package/dist/parser/_base.d.ts +15 -15
  34. package/dist/parser/_base.js +31 -32
  35. package/dist/parser/_base.js.map +1 -1
  36. package/dist/parser/_functions.d.ts +47 -41
  37. package/dist/parser/_functions.js +3 -3
  38. package/dist/parser/_functions.js.map +1 -1
  39. package/dist/parser/_utils.d.ts +3 -0
  40. package/dist/parser/_utils.js +24 -0
  41. package/dist/parser/_utils.js.map +1 -0
  42. package/dist/parser/index.d.ts +3 -2
  43. package/dist/parser/index.js +4 -1
  44. package/dist/parser/index.js.map +1 -1
  45. package/dist/parser/parsers/CustomParser.d.ts +2 -2
  46. package/dist/parser/parsers/CustomParser.js.map +1 -1
  47. package/dist/parser/parsers/JsonParser.d.ts +5 -5
  48. package/dist/parser/parsers/JsonParser.js +16 -4
  49. package/dist/parser/parsers/JsonParser.js.map +1 -1
  50. package/dist/parser/parsers/ListToJsonParser.d.ts +5 -5
  51. package/dist/parser/parsers/ListToJsonParser.js +11 -3
  52. package/dist/parser/parsers/ListToJsonParser.js.map +1 -1
  53. package/dist/parser/parsers/OpenAiFunctionParser.d.ts +16 -0
  54. package/dist/parser/parsers/OpenAiFunctionParser.js +32 -0
  55. package/dist/parser/parsers/OpenAiFunctionParser.js.map +1 -0
  56. package/dist/parser/parsers/StringExtractParser.js +3 -1
  57. package/dist/parser/parsers/StringExtractParser.js.map +1 -1
  58. package/dist/plugins/callable/callable.d.ts +18 -15
  59. package/dist/plugins/callable/callable.js +33 -10
  60. package/dist/plugins/callable/callable.js.map +1 -1
  61. package/dist/plugins/callable/index.d.ts +7 -16
  62. package/dist/plugins/callable/index.js +7 -6
  63. package/dist/plugins/callable/index.js.map +1 -1
  64. package/dist/prompt/_base.js +2 -2
  65. package/dist/prompt/_base.js.map +1 -1
  66. package/dist/prompt/chat.d.ts +21 -1
  67. package/dist/prompt/chat.js +97 -12
  68. package/dist/prompt/chat.js.map +1 -1
  69. package/dist/state/dialogue.d.ts +9 -3
  70. package/dist/state/dialogue.js +31 -2
  71. package/dist/state/dialogue.js.map +1 -1
  72. package/dist/state/item.d.ts +0 -1
  73. package/dist/state/item.js +0 -1
  74. package/dist/state/item.js.map +1 -1
  75. package/dist/utils/const.d.ts +13 -0
  76. package/dist/utils/const.js +14 -1
  77. package/dist/utils/const.js.map +1 -1
  78. package/dist/utils/modules/index.d.ts +7 -1
  79. package/dist/utils/modules/index.js +4 -0
  80. package/dist/utils/modules/index.js.map +1 -1
  81. package/dist/utils/modules/json-schema-filter.js +9 -1
  82. package/dist/utils/modules/json-schema-filter.js.map +1 -1
  83. package/package.json +6 -4
@@ -1 +1 @@
1
- {"version":3,"file":"_base.js","sourceRoot":"src/","sources":["llm/_base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_base.js","sourceRoot":"src/","sources":["llm/_base.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { OpenAIApi } from "openai";
2
- import { IChatMessages, OpenAIModelName, OpenAIOptions } from "../types";
2
+ import { IChatMessages, OpenAIModelName, OpenAIOptions, OpenAiLlmExecutorOptions } from "../types";
3
3
  import { BaseLlm } from "./_base";
4
4
  import { OutputOpenAIChat } from "../llm/output";
5
5
  import { OutputOpenAICompletion } from "./output/openai";
@@ -59,13 +59,13 @@ export declare class OpenAI extends BaseLlm<OpenAIApi> {
59
59
  * @param input - The input for the chat/completion API.
60
60
  * @returns The chat/completion response from the API.
61
61
  */
62
- _call(input: string | IChatMessages): Promise<OutputOpenAIChat | OutputOpenAICompletion>;
62
+ _call(input: string | IChatMessages, arg2?: OpenAiLlmExecutorOptions): Promise<OutputOpenAIChat | OutputOpenAICompletion>;
63
63
  /**
64
64
  * Communicate with the OpenAI Chat API.
65
65
  * @param messages - A list of message objects for the API call.
66
66
  * @returns The chat response from the API.
67
67
  */
68
- chat(messages: IChatMessages): Promise<OutputOpenAIChat>;
68
+ chat(messages: IChatMessages, _args?: OpenAiLlmExecutorOptions): Promise<OutputOpenAIChat>;
69
69
  /**
70
70
  * Communicate with the OpenAI Completion API.
71
71
  * @param messages - A list of message objects for the API call.
@@ -73,6 +73,7 @@ export declare class OpenAI extends BaseLlm<OpenAIApi> {
73
73
  */
74
74
  completion(prompt: string): Promise<OutputOpenAICompletion>;
75
75
  getMetadata(): {
76
+ traceId: string | null;
76
77
  promptType: import("../types").PromptType;
77
78
  timeout: number;
78
79
  jitter: "none" | "full";
@@ -6,6 +6,7 @@ const _base_1 = require("./_base");
6
6
  const output_1 = require("../llm/output");
7
7
  const utils_1 = require("../utils");
8
8
  const openai_2 = require("./output/openai");
9
+ const const_1 = require("../utils/const");
9
10
  /**
10
11
  * Create a new instance of the OpenAI API wrapper.
11
12
  * @param options - Configuration options for the OpenAI API wrapper.
@@ -103,7 +104,8 @@ class OpenAI extends _base_1.BaseLlm {
103
104
  this.frequencyPenalty = frequencyPenalty;
104
105
  this.logitBias = logitBias;
105
106
  this.user = user;
106
- if (["gpt-3.5-turbo", "gpt-4"].includes(this.model)) {
107
+ if (this.model.substring(0, 13) === "gpt-3.5-turbo" ||
108
+ this.model.substring(0, 5) === "gpt-4") {
107
109
  this.promptType = "chat";
108
110
  }
109
111
  else {
@@ -141,21 +143,12 @@ class OpenAI extends _base_1.BaseLlm {
141
143
  * @returns An object for input/output tokens and cost.
142
144
  */
143
145
  calculatePrice(input_tokens, output_tokens = 0) {
144
- const cost = {
145
- "gpt-3.5-turbo": [1000, 0.002, 0.002],
146
- "gpt-4": [1000, 0.03, 0.06],
147
- davinci: [1000, 0.02, 0.02],
148
- "text-curie-001": [1000, 0.002, 0.002],
149
- "text-babbage-001": [1000, 0.0005, 0.0005],
150
- "text-ada-001": [1000, 0.0004, 0.0004],
151
- "text-embedding-ada-002": [1000, 0.0004, 0.0004],
152
- };
153
146
  const out = {
154
147
  input_cost: 0,
155
148
  output_cost: 0,
156
149
  total_cost: 0,
157
150
  };
158
- const price = cost[this.model];
151
+ const price = const_1.OpenAiPricing[this.model];
159
152
  if (price) {
160
153
  const [amount, inputAmount, outputAmount] = price;
161
154
  if (inputAmount && input_tokens) {
@@ -194,10 +187,11 @@ class OpenAI extends _base_1.BaseLlm {
194
187
  * @param input - The input for the chat/completion API.
195
188
  * @returns The chat/completion response from the API.
196
189
  */
197
- async _call(input) {
198
- if (["gpt-3.5-turbo", "gpt-4"].includes(this.model)) {
190
+ async _call(input, arg2) {
191
+ if (this.model.substring(0, 13) === "gpt-3.5-turbo" ||
192
+ this.model.substring(0, 5) === "gpt-4") {
199
193
  (0, utils_1.assert)(Array.isArray(input), "Invalid prompt.");
200
- return await this.chat(input);
194
+ return await this.chat(input, arg2);
201
195
  }
202
196
  else {
203
197
  (0, utils_1.assert)(typeof input === "string");
@@ -209,7 +203,7 @@ class OpenAI extends _base_1.BaseLlm {
209
203
  * @param messages - A list of message objects for the API call.
210
204
  * @returns The chat response from the API.
211
205
  */
212
- async chat(messages) {
206
+ async chat(messages, _args) {
213
207
  (0, utils_1.assert)(Array.isArray(messages), "Invalid prompt.");
214
208
  const options = (0, utils_1.removeEmptyFromObject)({
215
209
  messages,
@@ -225,6 +219,12 @@ class OpenAI extends _base_1.BaseLlm {
225
219
  logitBias: this.logitBias,
226
220
  user: this.user,
227
221
  });
222
+ if (_args && _args?.function_call) {
223
+ options["function_call"] = _args?.function_call;
224
+ }
225
+ if (_args && _args?.functions?.length) {
226
+ options["functions"] = _args.functions.map(f => (0, utils_1.pick)(f, ["name", "description", "parameters"]));
227
+ }
228
228
  const response = await this.client.createChatCompletion(options);
229
229
  const { data } = response;
230
230
  this.metrics.history.push(data);
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"src/","sources":["llm/openai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"src/","sources":["llm/openai.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,13 @@
1
+ import { OutputOpenAIChatChoice } from "../../types";
1
2
  import { BaseLlmOutput } from "./base";
3
+ export interface OutputOpenAIChat {
4
+ results: OutputOpenAIChatChoice[];
5
+ }
2
6
  export declare class OutputOpenAIChat extends BaseLlmOutput {
3
7
  constructor(result: any);
4
8
  setResult(result: any, _attributes?: {}): void;
5
- getResult(resultIndex?: number): any;
6
- getResultContent(resultIndex?: number): any;
9
+ getResult(resultIndex?: number): OutputOpenAIChatChoice | undefined;
10
+ getResultContent(resultIndex?: number): string | undefined;
7
11
  }
8
12
  export declare class OutputOpenAICompletion extends BaseLlmOutput {
9
13
  constructor(result: any);
@@ -18,10 +18,17 @@ class OutputOpenAIChat extends base_1.BaseLlmOutput {
18
18
  const result = this.results[resultIndex];
19
19
  return result;
20
20
  }
21
+ return;
21
22
  }
22
23
  getResultContent(resultIndex = 0) {
23
24
  const result = this.getResult(resultIndex);
24
- return result?.message?.content;
25
+ if (result?.message?.content) {
26
+ return result?.message?.content;
27
+ }
28
+ if (result?.message?.content === null || result?.message?.function_call) {
29
+ return JSON.stringify({ function_call: result?.message?.function_call });
30
+ }
31
+ return;
25
32
  }
26
33
  }
27
34
  exports.OutputOpenAIChat = OutputOpenAIChat;
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"src/","sources":["llm/output/openai.ts"],"names":[],"mappings":";;;AAAA,iCAAuC;AAEvC,MAAa,gBAAiB,SAAQ,oBAAa;IACjD,YAAY,MAAW;QACrB,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,MAAW,EAAE,WAAW,GAAG,EAAE;QACrC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,SAAS,CAAC,WAAW,GAAG,CAAC;QACvB,IAAI,WAAW,GAAG,CAAC,CAAC,IAAI,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACzC,OAAO,MAAM,CAAC;SACf;IACH,CAAC;IACD,gBAAgB,CAAC,WAAW,GAAG,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC3C,OAAO,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;IAClC,CAAC;CACF;AAvBD,4CAuBC;AAGD,MAAa,sBAAuB,SAAQ,oBAAa;IACvD,YAAY,MAAW;QACrB,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,MAAW,EAAE,WAAW,GAAG,EAAE;QACrC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,SAAS,CAAC,WAAW,GAAG,CAAC;QACvB,IAAI,WAAW,GAAG,CAAC,CAAC,IAAI,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACzC,OAAO,MAAM,CAAC;SACf;IACH,CAAC;IACD,gBAAgB,CAAC,WAAW,GAAG,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC3C,OAAO,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC;CACF;AAvBD,wDAuBC"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"src/","sources":["llm/output/openai.ts"],"names":[],"mappings":";;;AACA,iCAAuC;AAOvC,MAAa,gBAAiB,SAAQ,oBAAa;IACjD,YAAY,MAAW;QACrB,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,MAAW,EAAE,WAAW,GAAG,EAAE;QACrC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,SAAS,CAAC,WAAW,GAAG,CAAC;QACvB,IAAI,WAAW,GAAG,CAAC,CAAC,IAAI,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACzC,OAAO,MAAM,CAAC;SACf;QACD,OAAO;IACT,CAAC;IACD,gBAAgB,CAAC,WAAW,GAAG,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAG,MAAM,EAAE,OAAO,EAAE,OAAO,EAAC;YAC1B,OAAO,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;SACjC;QACD,IAAG,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,IAAI,MAAM,EAAE,OAAO,EAAE,aAAa,EAAC;YACrE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAC,CAAC,CAAA;SACvE;QACD,OAAO;IACT,CAAC;CACF;AA9BD,4CA8BC;AAED,MAAa,sBAAuB,SAAQ,oBAAa;IACvD,YAAY,MAAW;QACrB,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,MAAW,EAAE,WAAW,GAAG,EAAE;QACrC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,SAAS,CAAC,WAAW,GAAG,CAAC;QACvB,IAAI,WAAW,GAAG,CAAC,CAAC,IAAI,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACzC,OAAO,MAAM,CAAC;SACf;IACH,CAAC;IACD,gBAAgB,CAAC,WAAW,GAAG,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC3C,OAAO,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC;CACF;AAvBD,wDAuBC"}
@@ -1,33 +1,33 @@
1
- import { BaseParserOptions } from "../types";
2
- import { JSONSchema7 } from "json-schema-to-ts";
3
- export interface BaseParser<T> {
4
- onParseError?(text: string, attributes?: Record<string, any>): any;
5
- }
1
+ import { BaseParserOptions, BaseParserOptionsWithSchema } from "../types";
2
+ import { FromSchema, JSONSchema } from "json-schema-to-ts";
6
3
  /**
7
4
  * BaseParser is an abstract class for parsing text and enforcing JSON schema on the parsed data.
8
5
  */
9
6
  export declare abstract class BaseParser<T = any> {
10
7
  name: string;
11
- schema: JSONSchema7 | undefined;
12
- options: {};
8
+ options: BaseParserOptions;
13
9
  /**
14
10
  * Create a new BaseParser.
15
- * @param {string} name - The name of the parser.
11
+ * @param name - The name of the parser.
16
12
  * @param options - options
17
13
  */
18
14
  constructor(name: string, options?: BaseParserOptions);
19
15
  /**
20
16
  * Parse the given text and return the parsed data.
21
17
  * @abstract
22
- * @param {string} text - The text to parse.
23
- * @param {Record<string, any>} [attributes] - Optional attributes to use during parsing.
24
- * @returns {T} The parsed data.
18
+ * @param text - The text to parse.
19
+ * @param [attributes] - Optional attributes to use during parsing.
20
+ * @returns The parsed data.
25
21
  */
26
22
  abstract parse(text: string, attributes?: Record<string, any>): T;
23
+ }
24
+ export declare abstract class BaseParserWithJson<S extends JSONSchema | undefined = undefined, T = S extends JSONSchema ? FromSchema<S> : Record<string, any>> extends BaseParser<T> {
25
+ schema: S;
26
+ validateSchema: boolean;
27
27
  /**
28
- * Enforce the JSON schema on the given parsed data.
29
- * @param {Record<string, any>} parsed - The parsed data.
30
- * @returns The parsed data with schema enforced.
28
+ * Create a new BaseParser.
29
+ * @param name - The name of the parser.
30
+ * @param options - options
31
31
  */
32
- enforceSchema(parsed: Record<string, any>): T;
32
+ constructor(name: string, options: BaseParserOptionsWithSchema<S>);
33
33
  }
@@ -1,63 +1,62 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseParser = void 0;
4
- const utils_1 = require("../utils");
5
- const jsonschema_1 = require("jsonschema");
3
+ exports.BaseParserWithJson = exports.BaseParser = void 0;
6
4
  /**
7
5
  * BaseParser is an abstract class for parsing text and enforcing JSON schema on the parsed data.
8
6
  */
9
7
  class BaseParser {
10
8
  /**
11
9
  * Create a new BaseParser.
12
- * @param {string} name - The name of the parser.
10
+ * @param name - The name of the parser.
13
11
  * @param options - options
14
12
  */
15
- constructor(name, options) {
13
+ constructor(name, options = {}) {
16
14
  Object.defineProperty(this, "name", {
17
15
  enumerable: true,
18
16
  configurable: true,
19
17
  writable: true,
20
18
  value: void 0
21
19
  });
22
- Object.defineProperty(this, "schema", {
23
- enumerable: true,
24
- configurable: true,
25
- writable: true,
26
- value: void 0
27
- });
20
+ // public schema: JSONSchema7 | undefined;
28
21
  Object.defineProperty(this, "options", {
29
22
  enumerable: true,
30
23
  configurable: true,
31
24
  writable: true,
32
- value: {}
25
+ value: void 0
33
26
  });
34
27
  this.name = name;
35
28
  if (options) {
36
- const { schema, ...restOfOptions } = options;
37
- this.options = restOfOptions;
38
- if (schema) {
39
- this.schema = schema;
40
- }
29
+ this.options = options;
41
30
  }
42
31
  }
32
+ }
33
+ exports.BaseParser = BaseParser;
34
+ class BaseParserWithJson extends BaseParser {
43
35
  /**
44
- * Enforce the JSON schema on the given parsed data.
45
- * @param {Record<string, any>} parsed - The parsed data.
46
- * @returns The parsed data with schema enforced.
36
+ * Create a new BaseParser.
37
+ * @param name - The name of the parser.
38
+ * @param options - options
47
39
  */
48
- enforceSchema(parsed) {
49
- /* istanbul ignore next */
50
- if (!this.schema || !parsed || typeof parsed !== "object") {
51
- return parsed;
52
- }
53
- const { schema } = this;
54
- let results = (0, utils_1.filterObjectOnSchema)(schema, parsed);
55
- const validate = (0, jsonschema_1.validate)(results, this.schema);
56
- if (validate.errors.length) {
57
- throw new Error("schema error");
40
+ constructor(name, options) {
41
+ super(name);
42
+ Object.defineProperty(this, "schema", {
43
+ enumerable: true,
44
+ configurable: true,
45
+ writable: true,
46
+ value: void 0
47
+ });
48
+ Object.defineProperty(this, "validateSchema", {
49
+ enumerable: true,
50
+ configurable: true,
51
+ writable: true,
52
+ value: void 0
53
+ });
54
+ const { schema, validateSchema } = options;
55
+ this.validateSchema = !!validateSchema;
56
+ if (schema) {
57
+ this.schema = schema;
58
58
  }
59
- return results;
60
59
  }
61
60
  }
62
- exports.BaseParser = BaseParser;
61
+ exports.BaseParserWithJson = BaseParserWithJson;
63
62
  //# sourceMappingURL=_base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_base.js","sourceRoot":"src/","sources":["parser/_base.ts"],"names":[],"mappings":";;;AAEA,mCAA+C;AAC/C,2CAAuD;AAMvD;;GAEG;AACH,MAAsB,UAAU;IAI9B;;;;OAIG;IACH,YAAY,IAAY,EAAE,OAA2B;QARrD;;;;;WAAoB;QACpB;;;;;WAAuC;QACvC;;;;mBAAiB,EAAE;WAAC;QAOlB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,OAAO,EAAE;YACX,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC;YAC7C,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;YAE7B,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;aACtB;SACF;IACH,CAAC;IAWD;;;;OAIG;IAEH,aAAa,CAAC,MAA2B;QACvC,0BAA0B;QAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YACzD,OAAO,MAAW,CAAC;SACpB;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,IAAW,CAAC;QAE/B,IAAI,OAAO,GAAG,IAAA,4BAAoB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEnD,MAAM,QAAQ,GAAG,IAAA,qBAAc,EAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEtD,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;SACjC;QAED,OAAO,OAAY,CAAC;IACtB,CAAC;CACF;AAtDD,gCAsDC"}
1
+ {"version":3,"file":"_base.js","sourceRoot":"src/","sources":["parser/_base.ts"],"names":[],"mappings":";;;AAGA;;GAEG;AACH,MAAsB,UAAU;IAI9B;;;;OAIG;IACH,YAAY,IAAY,EAAE,UAA6B,EAAE;QARzD;;;;;WAAoB;QACpB,0CAA0C;QAC1C;;;;;WAAkC;QAOhC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;SACxB;IACH,CAAC;CAUF;AAxBD,gCAwBC;AAGD,MAAsB,kBAGpB,SAAQ,UAAa;IAGrB;;;;OAIG;IACH,YAAY,IAAY,EAAE,OAAuC;QAC/D,KAAK,CAAC,IAAI,CAAC,CAAC;QARd;;;;;WAAiB;QACjB;;;;;WAA+B;QAS7B,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC;QAEvC,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;SACtB;IACH,CAAC;CACF;AArBD,gDAqBC"}
@@ -1,5 +1,5 @@
1
1
  import { JSONSchema } from "json-schema-to-ts";
2
- import { BaseParserOptionsWithSchema, CreateParserType, ExecutorContext } from "../types";
2
+ import { BaseParserOptions, BaseParserOptionsWithSchema, CreateParserType, ExecutorContext } from "../types";
3
3
  import { StringParser } from "./parsers/StringParser";
4
4
  import { BooleanParser } from "./parsers/BooleanParser";
5
5
  import { NumberParser } from "./parsers/NumberParser";
@@ -12,92 +12,98 @@ import { ReplaceStringTemplateParser } from "./parsers/ReplaceStringTemplatePars
12
12
  import { MarkdownCodeBlockParser } from "./parsers/MarkdownCodeBlock";
13
13
  import { MarkdownCodeBlocksParser } from "./parsers/MarkdownCodeBlocks";
14
14
  import { StringExtractParser, StringExtractParserOptions } from "./parsers/StringExtractParser";
15
- export type ParserOptions<T extends CreateParserType, S extends JSONSchema | undefined = undefined> = T extends "json" ? BaseParserOptionsWithSchema<S> : T extends "listToJson" ? BaseParserOptionsWithSchema<S> : T extends "stringExtract" ? StringExtractParserOptions : T extends "markdownCodeBlocks" ? undefined : T extends "markdownCodeBlock" ? undefined : T extends "listToArray" ? undefined : T extends "listToKeyValue" ? undefined : T extends "replaceStringTemplate" ? undefined : T extends "number" ? undefined : T extends "boolean" ? undefined : T extends "string" ? undefined : undefined;
15
+ export type ParserOptions<T extends CreateParserType, S extends JSONSchema | undefined = undefined> = T extends "json" ? BaseParserOptionsWithSchema<S> : T extends "listToJson" ? BaseParserOptionsWithSchema<S> : T extends "stringExtract" ? StringExtractParserOptions : T extends "markdownCodeBlocks" ? BaseParserOptions : T extends "markdownCodeBlock" ? BaseParserOptions : T extends "listToArray" ? BaseParserOptions : T extends "listToKeyValue" ? BaseParserOptions : T extends "replaceStringTemplate" ? BaseParserOptions : T extends "number" ? BaseParserOptions : T extends "boolean" ? BaseParserOptions : T extends "string" ? BaseParserOptions : BaseParserOptions;
16
+ export type ParserMap<S extends JSONSchema | undefined = undefined> = {
17
+ string: StringParser;
18
+ boolean: BooleanParser;
19
+ number: NumberParser;
20
+ listToArray: ListToArrayParser;
21
+ listToKeyValue: ListToKeyValueParser;
22
+ replaceStringTemplate: ReplaceStringTemplateParser;
23
+ markdownCodeBlock: MarkdownCodeBlockParser;
24
+ markdownCodeBlocks: MarkdownCodeBlocksParser;
25
+ stringExtract: StringExtractParser;
26
+ listToJson: ListToJsonParser<S>;
27
+ json: JsonParser<S>;
28
+ };
16
29
  /**
17
30
  * Creates a parser based on the given type.
18
31
  * @template S - JSON schema type.
19
- * @param {Extract<CreateParserType, "listToKeyValue">} type - The type of parser to create.
32
+ * @param type - The type of parser to create.
20
33
  * @returns An instance of ListToKeyValueParser.
21
34
  */
22
- export declare function createParser<T extends Extract<CreateParserType, "markdownCodeBlocks">>(type: T): MarkdownCodeBlocksParser;
35
+ export declare function createParser<T extends Extract<CreateParserType, "markdownCodeBlocks">>(type: T, options?: BaseParserOptions): MarkdownCodeBlocksParser;
23
36
  /**
24
37
  * Creates a parser based on the given type.
25
38
  * @template S - JSON schema type.
26
- * @param {Extract<CreateParserType, "listToKeyValue">} type - The type of parser to create.
39
+ * @param type - The type of parser to create.
27
40
  * @returns An instance of ListToKeyValueParser.
28
41
  */
29
- export declare function createParser<T extends Extract<CreateParserType, "markdownCodeBlock">>(type: T): MarkdownCodeBlockParser;
42
+ export declare function createParser<T extends Extract<CreateParserType, "markdownCodeBlock">>(type: T, options?: BaseParserOptions): MarkdownCodeBlockParser;
30
43
  /**
31
44
  * Creates a parser based on the given type.
32
45
  * @template S - JSON schema type.
33
- * @param {Extract<CreateParserType, "listToKeyValue">} type - The type of parser to create.
46
+ * @param type - The type of parser to create.
34
47
  * @returns An instance of ListToKeyValueParser.
35
48
  */
36
- export declare function createParser<T extends Extract<CreateParserType, "listToKeyValue">>(type: T): ListToKeyValueParser;
37
- /**
38
- * Creates a parser based on the given type and schema.
39
- * @template S - JSON schema type.
40
- * @param {Extract<CreateParserType, "listToJson">} type - The type of parser to create.
41
- * @param options - The JSON schema.
42
- * @returns An instance of ListToJsonParser.
43
- */
44
- export declare function createParser<T extends Extract<CreateParserType, "listToJson">, S extends JSONSchema | undefined = undefined>(type: T, options: ParserOptions<T, S>): ListToJsonParser<S>;
49
+ export declare function createParser<T extends Extract<CreateParserType, "listToKeyValue">>(type: T, options?: BaseParserOptions): ListToKeyValueParser;
45
50
  /**
46
51
  * Creates a parser based on the given type.
47
52
  * @template S - JSON schema type.
48
- * @param {Extract<CreateParserType, "listToArray">} type - The type of parser to create.
53
+ * @param type - The type of parser to create.
49
54
  * @returns An instance of ListToArrayParser.
50
55
  */
51
- export declare function createParser<T extends Extract<CreateParserType, "listToArray">, S extends JSONSchema | undefined = undefined>(type: T): ListToArrayParser;
56
+ export declare function createParser<T extends Extract<CreateParserType, "listToArray">, S extends JSONSchema | undefined = undefined>(type: T, options?: BaseParserOptions): ListToArrayParser;
52
57
  /**
53
58
  * Creates a parser based on the given type.
54
59
  * @template S - JSON schema type.
55
- * @param {Extract<CreateParserType, "number">} type - The type of parser to create.
60
+ * @param type - The type of parser to create.
56
61
  * @returns An instance of NumberParser.
57
62
  */
58
- export declare function createParser<T extends Extract<CreateParserType, "number">, S extends JSONSchema | undefined = undefined>(type: T): NumberParser;
63
+ export declare function createParser<T extends Extract<CreateParserType, "number">, S extends JSONSchema | undefined = undefined>(type: T, options?: BaseParserOptions): NumberParser;
59
64
  /**
60
65
  * Creates a parser based on the given type.
61
66
  * @template S - JSON schema type.
62
- * @param {Extract<CreateParserType, "number">} type - The type of parser to create.
67
+ * @param type - The type of parser to create.
63
68
  * @returns An instance of NumberParser.
64
69
  */
65
- export declare function createParser<T extends Extract<CreateParserType, "boolean">, S extends JSONSchema | undefined = undefined>(type: T): BooleanParser;
70
+ export declare function createParser<T extends Extract<CreateParserType, "boolean">, S extends JSONSchema | undefined = undefined>(type: T, options?: BaseParserOptions): BooleanParser;
66
71
  /**
67
72
  * Creates a parser based on the given type.
68
73
  * @template S - JSON schema type.
69
- * @param {Extract<CreateParserType, "replaceStringTemplate">} type - The type of parser to create.
74
+ * @param type - The type of parser to create.
70
75
  * @returns An instance of ReplaceStringTemplateParser.
71
76
  */
72
- export declare function createParser<T extends Extract<CreateParserType, "replaceStringTemplate">, S extends JSONSchema | undefined = undefined>(type: T): ReplaceStringTemplateParser;
77
+ export declare function createParser<T extends Extract<CreateParserType, "replaceStringTemplate">, S extends JSONSchema | undefined = undefined>(type: T, options?: BaseParserOptions): ReplaceStringTemplateParser;
73
78
  /**
74
- * Creates a parser based on the given type and schema.
79
+ * Creates a parser based on the given type.
75
80
  * @template S - JSON schema type.
76
- * @param {Extract<CreateParserType, "json">} type - The type of parser to create.
77
- * @param [options] - The JSON schema.
78
- * @returns An instance of JsonParser.
81
+ * @param type - The type of parser to create.
82
+ * @returns An instance of StringParser.
79
83
  */
80
- export declare function createParser<T extends Extract<CreateParserType, "json">, S extends JSONSchema | undefined = undefined>(type: T, options: ParserOptions<T, S>): JsonParser<S>;
84
+ export declare function createParser<T extends Extract<CreateParserType, "string">, S extends JSONSchema | undefined = undefined>(type: T, options?: BaseParserOptions): StringParser;
81
85
  /**
82
86
  * Creates a parser based on the given type.
83
87
  * @template S - JSON schema type.
84
- * @param {Extract<CreateParserType, "string">} type - The type of parser to create.
88
+ * @param type - The type of parser to create.
85
89
  * @returns An instance of StringParser.
86
90
  */
87
- export declare function createParser<T extends Extract<CreateParserType, "string">, S extends JSONSchema | undefined = undefined>(type: T): StringParser;
91
+ export declare function createParser<T extends Extract<CreateParserType, "stringExtract">, S extends JSONSchema | undefined = undefined>(type: T, options?: StringExtractParserOptions): StringExtractParser;
88
92
  /**
89
- * Creates a parser based on the given type.
93
+ * Creates a parser based on the given type and schema.
90
94
  * @template S - JSON schema type.
91
- * @param {Extract<CreateParserType, "string">} type - The type of parser to create.
92
- * @returns An instance of StringParser.
95
+ * @param type - The type of parser to create.
96
+ * @param options - The JSON schema.
97
+ * @returns An instance of ListToJsonParser.
93
98
  */
94
- export declare function createParser<T extends Extract<CreateParserType, "stringExtract">, S extends JSONSchema | undefined = undefined>(type: T, options: ParserOptions<T>): StringExtractParser;
99
+ export declare function createParser<T extends Extract<CreateParserType, "listToJson">, S extends JSONSchema | undefined = undefined>(type: T, options?: BaseParserOptionsWithSchema<S>): ListToJsonParser<S>;
95
100
  /**
96
- * Creates a default string parser if type defined
101
+ * Creates a parser based on the given type and schema.
97
102
  * @template S - JSON schema type.
98
- * @param {Extract<CreateParserType, "string">} type - The type of parser to create.
99
- * @returns An instance of StringParser.
103
+ * @param type - The type of parser to create.
104
+ * @param [options] - The JSON schema.
105
+ * @returns An instance of JsonParser.
100
106
  */
101
- export declare function createParser<T extends CreateParserType, S extends JSONSchema | undefined = undefined>(type?: undefined): StringParser;
102
- export declare function createParser<T extends CreateParserType, S extends JSONSchema | undefined = undefined>(type: T, options?: ParserOptions<T>): JsonParser<S> | ListToJsonParser<S> | StringParser | NumberParser | BooleanParser | ListToArrayParser | ListToKeyValueParser | ReplaceStringTemplateParser | MarkdownCodeBlockParser | MarkdownCodeBlocksParser | StringExtractParser;
103
- export declare function createCustomParser<O>(name: string, parserFn: (text: string, inputValues: ExecutorContext<any, O>) => O): CustomParser<ReturnType<typeof parserFn>>;
107
+ export declare function createParser<T extends Extract<CreateParserType, "json">, S extends JSONSchema | undefined = undefined>(type: T, options?: BaseParserOptionsWithSchema<S>): JsonParser<S>;
108
+ export declare function createParser<T extends CreateParserType, S extends JSONSchema | undefined = undefined>(type: T, options?: BaseParserOptionsWithSchema<S> | BaseParserOptions): JsonParser<S> | ListToJsonParser<S> | StringParser | NumberParser | BooleanParser | ListToArrayParser | ListToKeyValueParser | ReplaceStringTemplateParser | MarkdownCodeBlockParser | MarkdownCodeBlocksParser | StringExtractParser;
109
+ export declare function createCustomParser<O>(name: string, parserFn: (text: string, inputValues: ExecutorContext<any, any>) => O): CustomParser<ReturnType<typeof parserFn>>;
@@ -20,14 +20,14 @@ const StringExtractParser_1 = require("./parsers/StringExtractParser");
20
20
  * @param options - The parser options.
21
21
  * @returns An instance of the specified parser.
22
22
  */
23
- function createParser(type, options) {
23
+ function createParser(type, options = {}) {
24
24
  switch (type) {
25
+ case "json":
26
+ return new JsonParser_1.JsonParser(options);
25
27
  case "markdownCodeBlocks":
26
28
  return new MarkdownCodeBlocks_1.MarkdownCodeBlocksParser();
27
29
  case "markdownCodeBlock":
28
30
  return new MarkdownCodeBlock_1.MarkdownCodeBlockParser();
29
- case "json":
30
- return new JsonParser_1.JsonParser(options);
31
31
  case "listToArray":
32
32
  return new ListToArrayParser_1.ListToArrayParser();
33
33
  case "listToJson":
@@ -1 +1 @@
1
- {"version":3,"file":"_functions.js","sourceRoot":"src/","sources":["parser/_functions.ts"],"names":[],"mappings":";;;AAMA,yDAAsD;AACtD,2DAAwD;AACxD,yDAAsD;AACtD,qDAAkD;AAClD,iEAA8D;AAC9D,yEAAsE;AACtE,yDAAsD;AACtD,mEAAgE;AAChE,uFAAoF;AACpF,mEAAsE;AACtE,qEAAwE;AACxE,uEAGuC;AAoLvC;;;;;;GAMG;AACH,SAAgB,YAAY,CAI1B,IAAQ,EACR,OAAa;IAab,QAAQ,IAAI,EAAE;QACZ,KAAK,oBAAoB;YACvB,OAAO,IAAI,6CAAwB,EAAE,CAAC;QACxC,KAAK,mBAAmB;YACtB,OAAO,IAAI,2CAAuB,EAAE,CAAC;QACvC,KAAK,MAAM;YACT,OAAO,IAAI,uBAAU,CAAC,OAAO,CAAC,CAAC;QACjC,KAAK,aAAa;YAChB,OAAO,IAAI,qCAAiB,EAAE,CAAC;QACjC,KAAK,YAAY;YACf,OAAO,IAAI,mCAAgB,CAAC,OAAO,CAAC,CAAC;QACvC,KAAK,gBAAgB;YACnB,OAAO,IAAI,2CAAoB,EAAE,CAAC;QACpC,KAAK,uBAAuB;YAC1B,OAAO,IAAI,yDAA2B,EAAE,CAAC;QAC3C,KAAK,SAAS;YACZ,OAAO,IAAI,6BAAa,EAAE,CAAC;QAC7B,KAAK,QAAQ;YACX,OAAO,IAAI,2BAAY,EAAE,CAAC;QAC5B,KAAK,eAAe;YAClB,OAAO,IAAI,yCAAmB,CAAC,OAAO,CAAC,CAAC;QAC1C,KAAK,QAAQ,CAAC;QACd;YACE,OAAO,IAAI,2BAAY,EAAE,CAAC;KAC7B;AACH,CAAC;AA3CD,oCA2CC;AAED,SAAgB,kBAAkB,CAChC,IAAY,EACZ,QAAmE;IAEnE,OAAO,IAAI,2BAAY,CAA8B,IAAI,EAAE,QAAQ,CAAC,CAAC;AACvE,CAAC;AALD,gDAKC"}
1
+ {"version":3,"file":"_functions.js","sourceRoot":"src/","sources":["parser/_functions.ts"],"names":[],"mappings":";;;AAOA,yDAAsD;AACtD,2DAAwD;AACxD,yDAAsD;AACtD,qDAAkD;AAClD,iEAA8D;AAC9D,yEAAsE;AACtE,yDAAsD;AACtD,mEAAgE;AAChE,uFAAoF;AACpF,mEAAsE;AACtE,qEAAwE;AACxE,uEAGuC;AAyQvC;;;;;;GAMG;AACH,SAAgB,YAAY,CAI1B,IAAO,EACP,UAAe,EAAE;IAEjB,QAAQ,IAAI,EAAE;QACZ,KAAK,MAAM;YACT,OAAO,IAAI,uBAAU,CAAI,OAAO,CAAC,CAAC;QACpC,KAAK,oBAAoB;YACvB,OAAO,IAAI,6CAAwB,EAAE,CAAC;QACxC,KAAK,mBAAmB;YACtB,OAAO,IAAI,2CAAuB,EAAE,CAAC;QACvC,KAAK,aAAa;YAChB,OAAO,IAAI,qCAAiB,EAAE,CAAC;QACjC,KAAK,YAAY;YACf,OAAO,IAAI,mCAAgB,CAAI,OAAO,CAAC,CAAC;QAC1C,KAAK,gBAAgB;YACnB,OAAO,IAAI,2CAAoB,EAAE,CAAC;QACpC,KAAK,uBAAuB;YAC1B,OAAO,IAAI,yDAA2B,EAAE,CAAC;QAC3C,KAAK,SAAS;YACZ,OAAO,IAAI,6BAAa,EAAE,CAAC;QAC7B,KAAK,QAAQ;YACX,OAAO,IAAI,2BAAY,EAAE,CAAC;QAC5B,KAAK,eAAe;YAClB,OAAO,IAAI,yCAAmB,CAAC,OAAO,CAAC,CAAC;QAC1C,KAAK,QAAQ,CAAC;QACd;YACE,OAAO,IAAI,2BAAY,EAAE,CAAC;KAC7B;AACH,CAAC;AAhCD,oCAgCC;AAED,SAAgB,kBAAkB,CAChC,IAAY,EACZ,QAAqE;IAErE,OAAO,IAAI,2BAAY,CAA8B,IAAI,EAAE,QAAQ,CAAC,CAAC;AACvE,CAAC;AALD,gDAKC"}
@@ -0,0 +1,3 @@
1
+ import { JSONSchema, JSONSchema7, FromSchema } from "json-schema-to-ts";
2
+ export declare function enforceParserSchema<S extends JSONSchema | undefined = undefined, T = S extends JSONSchema ? FromSchema<S> : Record<string, any>>(schema: S, parsed: T): T;
3
+ export declare function validateParserSchema<S extends JSONSchema7, T extends Record<string, any>>(schema: S, parsed: T): import("jsonschema").ValidationError[] | null;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateParserSchema = exports.enforceParserSchema = void 0;
4
+ const utils_1 = require("../utils");
5
+ const jsonschema_1 = require("jsonschema");
6
+ function enforceParserSchema(schema, parsed) {
7
+ if (!schema || !parsed || typeof parsed !== "object") {
8
+ return parsed;
9
+ }
10
+ return (0, utils_1.filterObjectOnSchema)(schema, parsed);
11
+ }
12
+ exports.enforceParserSchema = enforceParserSchema;
13
+ function validateParserSchema(schema, parsed) {
14
+ if (!schema || !parsed || typeof parsed !== "object") {
15
+ return null;
16
+ }
17
+ const validate = (0, jsonschema_1.validate)(parsed, schema);
18
+ if (validate.errors.length) {
19
+ return validate.errors;
20
+ }
21
+ return null;
22
+ }
23
+ exports.validateParserSchema = validateParserSchema;
24
+ //# sourceMappingURL=_utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_utils.js","sourceRoot":"src/","sources":["parser/_utils.ts"],"names":[],"mappings":";;;AACA,mCAA+C;AAC/C,2CAAwD;AAExD,SAAgB,mBAAmB,CAGjC,MAAS,EAAE,MAAS;IACpB,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QACpD,OAAO,MAAW,CAAC;KACpB;IACD,OAAO,IAAA,4BAAoB,EAAC,MAAM,EAAE,MAAM,CAAM,CAAC;AACnD,CAAC;AARD,kDAQC;AAED,SAAgB,oBAAoB,CAGlC,MAAS,EAAE,MAAS;IACpB,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QACpD,OAAO,IAAI,CAAC;KACb;IACD,MAAM,QAAQ,GAAG,IAAA,qBAAc,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhD,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QAC1B,OAAO,QAAQ,CAAC,MAAM,CAAC;KACxB;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAdD,oDAcC"}
@@ -1,4 +1,5 @@
1
- import { BaseParser } from "./_base";
1
+ import { OpenAiFunctionParser } from '../parser/parsers/OpenAiFunctionParser';
2
+ import { BaseParser, BaseParserWithJson } from "./_base";
2
3
  import { StringParser } from "./parsers/StringParser";
3
4
  import { BooleanParser } from "./parsers/BooleanParser";
4
5
  import { NumberParser } from "./parsers/NumberParser";
@@ -11,4 +12,4 @@ import { ReplaceStringTemplateParser } from "./parsers/ReplaceStringTemplatePars
11
12
  import { MarkdownCodeBlockParser } from "./parsers/MarkdownCodeBlock";
12
13
  import { MarkdownCodeBlocksParser } from "./parsers/MarkdownCodeBlocks";
13
14
  import { createCustomParser, createParser } from "./_functions";
14
- export { BaseParser, BooleanParser, StringParser, NumberParser, JsonParser, ListToJsonParser, ListToKeyValueParser, ListToArrayParser, ReplaceStringTemplateParser, MarkdownCodeBlockParser, MarkdownCodeBlocksParser, CustomParser, createParser, createCustomParser, };
15
+ export { BaseParser, BaseParserWithJson, BooleanParser, StringParser, NumberParser, JsonParser, ListToJsonParser, ListToKeyValueParser, ListToArrayParser, ReplaceStringTemplateParser, OpenAiFunctionParser, MarkdownCodeBlockParser, MarkdownCodeBlocksParser, CustomParser, createParser, createCustomParser, };
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createCustomParser = exports.createParser = exports.CustomParser = exports.MarkdownCodeBlocksParser = exports.MarkdownCodeBlockParser = exports.ReplaceStringTemplateParser = exports.ListToArrayParser = exports.ListToKeyValueParser = exports.ListToJsonParser = exports.JsonParser = exports.NumberParser = exports.StringParser = exports.BooleanParser = exports.BaseParser = void 0;
3
+ exports.createCustomParser = exports.createParser = exports.CustomParser = exports.MarkdownCodeBlocksParser = exports.MarkdownCodeBlockParser = exports.OpenAiFunctionParser = exports.ReplaceStringTemplateParser = exports.ListToArrayParser = exports.ListToKeyValueParser = exports.ListToJsonParser = exports.JsonParser = exports.NumberParser = exports.StringParser = exports.BooleanParser = exports.BaseParserWithJson = exports.BaseParser = void 0;
4
+ const OpenAiFunctionParser_1 = require("../parser/parsers/OpenAiFunctionParser");
5
+ Object.defineProperty(exports, "OpenAiFunctionParser", { enumerable: true, get: function () { return OpenAiFunctionParser_1.OpenAiFunctionParser; } });
4
6
  const _base_1 = require("./_base");
5
7
  Object.defineProperty(exports, "BaseParser", { enumerable: true, get: function () { return _base_1.BaseParser; } });
8
+ Object.defineProperty(exports, "BaseParserWithJson", { enumerable: true, get: function () { return _base_1.BaseParserWithJson; } });
6
9
  const StringParser_1 = require("./parsers/StringParser");
7
10
  Object.defineProperty(exports, "StringParser", { enumerable: true, get: function () { return StringParser_1.StringParser; } });
8
11
  const BooleanParser_1 = require("./parsers/BooleanParser");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"src/","sources":["parser/index.ts"],"names":[],"mappings":";;;AAAA,mCAAqC;AAenC,2FAfO,kBAAU,OAeP;AAdZ,yDAAsD;AAgBpD,6FAhBO,2BAAY,OAgBP;AAfd,2DAAwD;AActD,8FAdO,6BAAa,OAcP;AAbf,yDAAsD;AAepD,6FAfO,2BAAY,OAeP;AAdd,qDAAkD;AAehD,2FAfO,uBAAU,OAeP;AAdZ,iEAA8D;AAe5D,iGAfO,mCAAgB,OAeP;AAdlB,yEAAsE;AAepE,qGAfO,2CAAoB,OAeP;AAdtB,yDAAsD;AAmBpD,6FAnBO,2BAAY,OAmBP;AAlBd,mEAAgE;AAc9D,kGAdO,qCAAiB,OAcP;AAbnB,uFAAoF;AAclF,4GAdO,yDAA2B,OAcP;AAb7B,mEAAsE;AAcpE,wGAdO,2CAAuB,OAcP;AAbzB,qEAAwE;AActE,yGAdO,6CAAwB,OAcP;AAb1B,6CAAgE;AAgB9D,mGAhBO,+BAAkB,OAgBP;AADlB,6FAf2B,yBAAY,OAe3B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"src/","sources":["parser/index.ts"],"names":[],"mappings":";;;AAAA,gFAA6E;AA0B3E,qGA1BO,2CAAoB,OA0BP;AAzBtB,mCAAyD;AAevD,2FAfO,kBAAU,OAeP;AACV,mGAhBmB,0BAAkB,OAgBnB;AAfpB,yDAAsD;AAiBpD,6FAjBO,2BAAY,OAiBP;AAhBd,2DAAwD;AAetD,8FAfO,6BAAa,OAeP;AAdf,yDAAsD;AAgBpD,6FAhBO,2BAAY,OAgBP;AAfd,qDAAkD;AAgBhD,2FAhBO,uBAAU,OAgBP;AAfZ,iEAA8D;AAgB5D,iGAhBO,mCAAgB,OAgBP;AAflB,yEAAsE;AAgBpE,qGAhBO,2CAAoB,OAgBP;AAftB,yDAAsD;AAqBpD,6FArBO,2BAAY,OAqBP;AApBd,mEAAgE;AAe9D,kGAfO,qCAAiB,OAeP;AAdnB,uFAAoF;AAelF,4GAfO,yDAA2B,OAeP;AAd7B,mEAAsE;AAgBpE,wGAhBO,2CAAuB,OAgBP;AAfzB,qEAAwE;AAgBtE,yGAhBO,6CAAwB,OAgBP;AAf1B,6CAAgE;AAkB9D,mGAlBO,+BAAkB,OAkBP;AADlB,6FAjB2B,yBAAY,OAiB3B"}