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.
- package/dist/executor/_base.d.ts +9 -6
- package/dist/executor/_base.js +21 -7
- package/dist/executor/_base.js.map +1 -1
- package/dist/executor/_functions.js.map +1 -1
- package/dist/executor/core.js +1 -1
- package/dist/executor/core.js.map +1 -1
- package/dist/executor/index.d.ts +1 -0
- package/dist/executor/index.js +3 -1
- package/dist/executor/index.js.map +1 -1
- package/dist/executor/llm-openai-function.d.ts +16 -0
- package/dist/executor/llm-openai-function.js +28 -0
- package/dist/executor/llm-openai-function.js.map +1 -0
- package/dist/executor/llm.d.ts +5 -2
- package/dist/executor/llm.js +11 -2
- package/dist/executor/llm.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/chat.d.ts +52 -5
- package/dist/interfaces/functions.d.ts +5 -0
- package/dist/interfaces/openai.d.ts +14 -1
- package/dist/interfaces/parser.d.ts +1 -1
- package/dist/interfaces/utils.d.ts +3 -0
- package/dist/llm/_base.d.ts +7 -3
- package/dist/llm/_base.js +20 -5
- package/dist/llm/_base.js.map +1 -1
- package/dist/llm/openai.d.ts +4 -3
- package/dist/llm/openai.js +15 -15
- package/dist/llm/openai.js.map +1 -1
- package/dist/llm/output/openai.d.ts +6 -2
- package/dist/llm/output/openai.js +8 -1
- package/dist/llm/output/openai.js.map +1 -1
- package/dist/parser/_base.d.ts +15 -15
- package/dist/parser/_base.js +31 -32
- package/dist/parser/_base.js.map +1 -1
- package/dist/parser/_functions.d.ts +47 -41
- package/dist/parser/_functions.js +3 -3
- package/dist/parser/_functions.js.map +1 -1
- package/dist/parser/_utils.d.ts +3 -0
- package/dist/parser/_utils.js +24 -0
- package/dist/parser/_utils.js.map +1 -0
- package/dist/parser/index.d.ts +3 -2
- package/dist/parser/index.js +4 -1
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/parsers/CustomParser.d.ts +2 -2
- package/dist/parser/parsers/CustomParser.js.map +1 -1
- package/dist/parser/parsers/JsonParser.d.ts +5 -5
- package/dist/parser/parsers/JsonParser.js +16 -4
- package/dist/parser/parsers/JsonParser.js.map +1 -1
- package/dist/parser/parsers/ListToJsonParser.d.ts +5 -5
- package/dist/parser/parsers/ListToJsonParser.js +11 -3
- package/dist/parser/parsers/ListToJsonParser.js.map +1 -1
- package/dist/parser/parsers/OpenAiFunctionParser.d.ts +16 -0
- package/dist/parser/parsers/OpenAiFunctionParser.js +32 -0
- package/dist/parser/parsers/OpenAiFunctionParser.js.map +1 -0
- package/dist/parser/parsers/StringExtractParser.js +3 -1
- package/dist/parser/parsers/StringExtractParser.js.map +1 -1
- package/dist/plugins/callable/callable.d.ts +18 -15
- package/dist/plugins/callable/callable.js +33 -10
- package/dist/plugins/callable/callable.js.map +1 -1
- package/dist/plugins/callable/index.d.ts +7 -16
- package/dist/plugins/callable/index.js +7 -6
- package/dist/plugins/callable/index.js.map +1 -1
- package/dist/prompt/_base.js +2 -2
- package/dist/prompt/_base.js.map +1 -1
- package/dist/prompt/chat.d.ts +21 -1
- package/dist/prompt/chat.js +97 -12
- package/dist/prompt/chat.js.map +1 -1
- package/dist/state/dialogue.d.ts +9 -3
- package/dist/state/dialogue.js +31 -2
- package/dist/state/dialogue.js.map +1 -1
- package/dist/state/item.d.ts +0 -1
- package/dist/state/item.js +0 -1
- package/dist/state/item.js.map +1 -1
- package/dist/utils/const.d.ts +13 -0
- package/dist/utils/const.js +14 -1
- package/dist/utils/const.js.map +1 -1
- package/dist/utils/modules/index.d.ts +7 -1
- package/dist/utils/modules/index.js +4 -0
- package/dist/utils/modules/index.js.map +1 -1
- package/dist/utils/modules/json-schema-filter.js +9 -1
- package/dist/utils/modules/json-schema-filter.js.map +1 -1
- package/package.json +6 -4
package/dist/llm/_base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_base.js","sourceRoot":"src/","sources":["llm/_base.ts"],"names":[],"mappings":";;;AAAA,6DAA8C;AAE9C,mCAA+C;AAC/C,yCAA4D;AAE5D;;;;GAIG;AACH,MAAsB,OAAO;
|
|
1
|
+
{"version":3,"file":"_base.js","sourceRoot":"src/","sources":["llm/_base.ts"],"names":[],"mappings":"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"}
|
package/dist/llm/openai.d.ts
CHANGED
|
@@ -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";
|
package/dist/llm/openai.js
CHANGED
|
@@ -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 (
|
|
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 =
|
|
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 (
|
|
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);
|
package/dist/llm/openai.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"src/","sources":["llm/openai.ts"],"names":[],"mappings":";;;AAAA,mCAAkD;
|
|
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):
|
|
6
|
-
getResultContent(resultIndex?: number):
|
|
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
|
-
|
|
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":";;;
|
|
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"}
|
package/dist/parser/_base.d.ts
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import { BaseParserOptions } from "../types";
|
|
2
|
-
import {
|
|
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
|
-
|
|
12
|
-
options: {};
|
|
8
|
+
options: BaseParserOptions;
|
|
13
9
|
/**
|
|
14
10
|
* Create a new BaseParser.
|
|
15
|
-
* @param
|
|
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
|
|
23
|
-
* @param
|
|
24
|
-
* @returns
|
|
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
|
-
*
|
|
29
|
-
* @param
|
|
30
|
-
* @
|
|
28
|
+
* Create a new BaseParser.
|
|
29
|
+
* @param name - The name of the parser.
|
|
30
|
+
* @param options - options
|
|
31
31
|
*/
|
|
32
|
-
|
|
32
|
+
constructor(name: string, options: BaseParserOptionsWithSchema<S>);
|
|
33
33
|
}
|
package/dist/parser/_base.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
*
|
|
45
|
-
* @param
|
|
46
|
-
* @
|
|
36
|
+
* Create a new BaseParser.
|
|
37
|
+
* @param name - The name of the parser.
|
|
38
|
+
* @param options - options
|
|
47
39
|
*/
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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.
|
|
61
|
+
exports.BaseParserWithJson = BaseParserWithJson;
|
|
63
62
|
//# sourceMappingURL=_base.js.map
|
package/dist/parser/_base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_base.js","sourceRoot":"src/","sources":["parser/_base.ts"],"names":[],"mappings":";;;
|
|
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" ?
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
79
|
+
* Creates a parser based on the given type.
|
|
75
80
|
* @template S - JSON schema type.
|
|
76
|
-
* @param
|
|
77
|
-
* @
|
|
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, "
|
|
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
|
|
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, "
|
|
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
|
|
92
|
-
* @
|
|
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, "
|
|
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
|
|
101
|
+
* Creates a parser based on the given type and schema.
|
|
97
102
|
* @template S - JSON schema type.
|
|
98
|
-
* @param
|
|
99
|
-
* @
|
|
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?:
|
|
102
|
-
export declare function createParser<T extends CreateParserType, S extends JSONSchema | undefined = undefined>(type: T, options?:
|
|
103
|
-
export declare function createCustomParser<O>(name: string, parserFn: (text: string, inputValues: ExecutorContext<any,
|
|
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":";;;
|
|
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"}
|
package/dist/parser/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
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, };
|
package/dist/parser/index.js
CHANGED
|
@@ -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");
|
package/dist/parser/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"src/","sources":["parser/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
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"}
|