llm-exe 0.0.3 → 0.0.4
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/embedding/base.js +1 -5
- package/dist/embedding/base.js.map +1 -1
- package/dist/embedding/openai.js +10 -13
- package/dist/embedding/openai.js.map +1 -1
- package/dist/executor/_base.d.ts +17 -6
- package/dist/executor/_base.js +74 -36
- package/dist/executor/_base.js.map +1 -1
- package/dist/executor/_functions.d.ts +2 -2
- package/dist/executor/_functions.js +6 -11
- package/dist/executor/_functions.js.map +1 -1
- package/dist/executor/_metadata.js +3 -18
- package/dist/executor/_metadata.js.map +1 -1
- package/dist/executor/core.js +4 -8
- package/dist/executor/core.js.map +1 -1
- package/dist/executor/index.js +4 -12
- package/dist/executor/index.js.map +1 -1
- package/dist/executor/llm.d.ts +3 -3
- package/dist/executor/llm.js +4 -8
- package/dist/executor/llm.js.map +1 -1
- package/dist/index.js +35 -61
- package/dist/index.js.map +1 -1
- package/dist/interfaces/chat.d.ts +7 -0
- package/dist/interfaces/chat.js +1 -2
- package/dist/interfaces/functions.d.ts +14 -24
- package/dist/interfaces/functions.js +1 -2
- package/dist/interfaces/functions.js.map +1 -1
- package/dist/interfaces/index.js +6 -22
- package/dist/interfaces/index.js.map +1 -1
- package/dist/interfaces/openai.js +1 -2
- package/dist/interfaces/parser.d.ts +1 -4
- package/dist/interfaces/parser.js +1 -2
- package/dist/interfaces/prompt.js +1 -2
- package/dist/interfaces/utils.js +1 -2
- package/dist/llm/_base.js +6 -10
- package/dist/llm/_base.js.map +1 -1
- package/dist/llm/index.js +2 -8
- package/dist/llm/index.js.map +1 -1
- package/dist/llm/openai.d.ts +3 -3
- package/dist/llm/openai.js +17 -20
- package/dist/llm/openai.js.map +1 -1
- package/dist/llm/output/base.js +3 -7
- package/dist/llm/output/base.js.map +1 -1
- package/dist/llm/output/index.js +6 -12
- package/dist/llm/output/index.js.map +1 -1
- package/dist/llm/output/openai.js +3 -8
- package/dist/llm/output/openai.js.map +1 -1
- package/dist/parser/_base.js +5 -10
- package/dist/parser/_base.js.map +1 -1
- package/dist/parser/_functions.d.ts +24 -15
- package/dist/parser/_functions.js +27 -29
- package/dist/parser/_functions.js.map +1 -1
- package/dist/parser/index.js +14 -30
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/parsers/BooleanParser.js +4 -8
- package/dist/parser/parsers/BooleanParser.js.map +1 -1
- package/dist/parser/parsers/CustomParser.d.ts +7 -6
- package/dist/parser/parsers/CustomParser.js +5 -8
- package/dist/parser/parsers/CustomParser.js.map +1 -1
- package/dist/parser/parsers/JsonParser.js +4 -8
- package/dist/parser/parsers/JsonParser.js.map +1 -1
- package/dist/parser/parsers/ListToArrayParser.js +2 -6
- package/dist/parser/parsers/ListToArrayParser.js.map +1 -1
- package/dist/parser/parsers/ListToJsonParser.js +4 -7
- package/dist/parser/parsers/ListToJsonParser.js.map +1 -1
- package/dist/parser/parsers/ListToKeyValueParser.js +2 -6
- package/dist/parser/parsers/ListToKeyValueParser.js.map +1 -1
- package/dist/parser/parsers/MarkdownCodeBlock.js +4 -8
- package/dist/parser/parsers/MarkdownCodeBlock.js.map +1 -1
- package/dist/parser/parsers/MarkdownCodeBlocks.js +2 -6
- package/dist/parser/parsers/MarkdownCodeBlocks.js.map +1 -1
- package/dist/parser/parsers/NumberParser.js +4 -8
- package/dist/parser/parsers/NumberParser.js.map +1 -1
- package/dist/parser/parsers/ReplaceStringTemplateParser.js +4 -8
- package/dist/parser/parsers/ReplaceStringTemplateParser.js.map +1 -1
- package/dist/parser/parsers/StringExtractParser.d.ts +12 -0
- package/dist/parser/parsers/StringExtractParser.js +36 -0
- package/dist/parser/parsers/StringExtractParser.js.map +1 -0
- package/dist/parser/parsers/StringParser.js +4 -8
- package/dist/parser/parsers/StringParser.js.map +1 -1
- package/dist/plugins/callable/callable.d.ts +12 -0
- package/dist/plugins/callable/callable.js +30 -16
- package/dist/plugins/callable/callable.js.map +1 -1
- package/dist/plugins/callable/index.d.ts +4 -0
- package/dist/plugins/callable/index.js +6 -11
- package/dist/plugins/callable/index.js.map +1 -1
- package/dist/prompt/_base.d.ts +2 -2
- package/dist/prompt/_base.js +3 -7
- package/dist/prompt/_base.js.map +1 -1
- package/dist/prompt/_functions.js +7 -12
- package/dist/prompt/_functions.js.map +1 -1
- package/dist/prompt/chat.d.ts +10 -1
- package/dist/prompt/chat.js +80 -20
- package/dist/prompt/chat.js.map +1 -1
- package/dist/prompt/index.js +4 -12
- package/dist/prompt/index.js.map +1 -1
- package/dist/prompt/text.js +2 -6
- package/dist/prompt/text.js.map +1 -1
- package/dist/state/_base.js +11 -16
- package/dist/state/_base.js.map +1 -1
- package/dist/state/_functions.js +9 -15
- package/dist/state/_functions.js.map +1 -1
- package/dist/state/dialogue.d.ts +1 -0
- package/dist/state/dialogue.js +18 -6
- package/dist/state/dialogue.js.map +1 -1
- package/dist/state/index.js +4 -15
- package/dist/state/index.js.map +1 -1
- package/dist/state/item.js +4 -9
- package/dist/state/item.js.map +1 -1
- package/dist/types/index.js +1 -17
- package/dist/types/index.js.map +1 -1
- package/dist/utils/const.d.ts +3 -0
- package/dist/utils/const.js +4 -0
- package/dist/utils/const.js.map +1 -0
- package/dist/utils/index.js +1 -17
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/modules/asyncCallWithTimeout.js +1 -5
- package/dist/utils/modules/asyncCallWithTimeout.js.map +1 -1
- package/dist/utils/modules/handlebars/helpers/index.d.ts +1 -0
- package/dist/utils/modules/handlebars/helpers/index.js +12 -19
- package/dist/utils/modules/handlebars/helpers/index.js.map +1 -1
- package/dist/utils/modules/handlebars/index.js +12 -38
- package/dist/utils/modules/handlebars/index.js.map +1 -1
- package/dist/utils/modules/handlebars/templates/index.js +7 -10
- package/dist/utils/modules/handlebars/templates/index.js.map +1 -1
- package/dist/utils/modules/index.d.ts +10 -1
- package/dist/utils/modules/index.js +48 -50
- package/dist/utils/modules/index.js.map +1 -1
- package/dist/utils/modules/json-schema-filter.js +1 -5
- package/dist/utils/modules/json-schema-filter.js.map +1 -1
- package/dist/utils/modules/json.js +3 -9
- package/dist/utils/modules/json.js.map +1 -1
- package/dist/utils/modules/replaceTemplateString.js +3 -7
- package/dist/utils/modules/replaceTemplateString.js.map +1 -1
- package/dist/vector/base.js +1 -5
- package/dist/vector/base.js.map +1 -1
- package/dist/vector/index.js +2 -7
- package/dist/vector/index.js.map +1 -1
- package/dist/vector/pinecone.js +5 -8
- package/dist/vector/pinecone.js.map +1 -1
- package/package.json +22 -12
- package/readme.md +2 -0
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const _base_1 = require("../_base");
|
|
5
|
-
const utils_1 = require("../../utils");
|
|
6
|
-
class NumberParser extends _base_1.BaseParser {
|
|
1
|
+
import { BaseParser } from "../_base";
|
|
2
|
+
import { isFinite, toNumber } from "../../utils";
|
|
3
|
+
export class NumberParser extends BaseParser {
|
|
7
4
|
constructor(options) {
|
|
8
5
|
super("number", options);
|
|
9
6
|
}
|
|
10
7
|
parse(text) {
|
|
11
8
|
const match = text.match(/\d/g);
|
|
12
|
-
return match &&
|
|
9
|
+
return match && isFinite(toNumber(match[0])) ? toNumber(match[0]) : -1;
|
|
13
10
|
}
|
|
14
11
|
}
|
|
15
|
-
exports.NumberParser = NumberParser;
|
|
16
12
|
//# sourceMappingURL=NumberParser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberParser.js","sourceRoot":"src/","sources":["parser/parsers/NumberParser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NumberParser.js","sourceRoot":"src/","sources":["parser/parsers/NumberParser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI7C,MAAM,OAAO,YAAa,SAAQ,UAAkB;IAClD,YAAY,OAA6B;QACvC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3B,CAAC;IACD,KAAK,CAAC,IAAY;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;CACF"}
|
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const utils_1 = require("../../utils");
|
|
5
|
-
const _base_1 = require("../_base");
|
|
6
|
-
class ReplaceStringTemplateParser extends _base_1.BaseParser {
|
|
1
|
+
import { replaceTemplateString } from "../../utils";
|
|
2
|
+
import { BaseParser } from "../_base";
|
|
3
|
+
export class ReplaceStringTemplateParser extends BaseParser {
|
|
7
4
|
constructor(options) {
|
|
8
5
|
super("replaceStringTemplate", options);
|
|
9
6
|
}
|
|
10
7
|
parse(text, attributes) {
|
|
11
|
-
return
|
|
8
|
+
return replaceTemplateString(text, attributes);
|
|
12
9
|
}
|
|
13
10
|
}
|
|
14
|
-
exports.ReplaceStringTemplateParser = ReplaceStringTemplateParser;
|
|
15
11
|
//# sourceMappingURL=ReplaceStringTemplateParser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReplaceStringTemplateParser.js","sourceRoot":"src/","sources":["parser/parsers/ReplaceStringTemplateParser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ReplaceStringTemplateParser.js","sourceRoot":"src/","sources":["parser/parsers/ReplaceStringTemplateParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAItC,MAAM,OAAO,2BAA4B,SAAQ,UAAkB;IACjE,YAAY,OAA4C;QACtD,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IACD,KAAK,CAAC,IAAY,EAAE,UAAgC;QAClD,OAAO,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseParser } from "../_base";
|
|
2
|
+
import { BaseParserOptions } from "../../types";
|
|
3
|
+
export interface StringExtractParserOptions extends BaseParserOptions {
|
|
4
|
+
enum: string[];
|
|
5
|
+
ignoreCase?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare class StringExtractParser extends BaseParser<string> {
|
|
8
|
+
private enum;
|
|
9
|
+
private ignoreCase;
|
|
10
|
+
constructor(options?: StringExtractParserOptions);
|
|
11
|
+
parse(text: string): string;
|
|
12
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { assert } from "../../utils";
|
|
2
|
+
import { BaseParser } from "../_base";
|
|
3
|
+
export class StringExtractParser extends BaseParser {
|
|
4
|
+
constructor(options) {
|
|
5
|
+
super("stringExtract", options);
|
|
6
|
+
Object.defineProperty(this, "enum", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
configurable: true,
|
|
9
|
+
writable: true,
|
|
10
|
+
value: []
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(this, "ignoreCase", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
configurable: true,
|
|
15
|
+
writable: true,
|
|
16
|
+
value: void 0
|
|
17
|
+
});
|
|
18
|
+
if (options?.enum) {
|
|
19
|
+
this.enum.push(...options.enum);
|
|
20
|
+
}
|
|
21
|
+
if (options?.ignoreCase) {
|
|
22
|
+
this.ignoreCase = true;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
parse(text) {
|
|
26
|
+
assert(typeof text === "string", `Invalid input. Expected string. Received ${typeof text}.`);
|
|
27
|
+
for (const option of this.enum) {
|
|
28
|
+
const regex = this.ignoreCase ? new RegExp(option.toLowerCase(), 'i') : new RegExp(option);
|
|
29
|
+
if (regex.test(text)) {
|
|
30
|
+
return option;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return "";
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=StringExtractParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringExtractParser.js","sourceRoot":"src/","sources":["parser/parsers/StringExtractParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAQtC,MAAM,OAAO,mBAAoB,SAAQ,UAAkB;IAIzD,YAAY,OAAoC;QAC9C,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAJlC;;;;mBAAyB,EAAE;WAAC;QAC5B;;;;;WAA4B;QAI1B,IAAI,OAAO,EAAE,IAAI,EAAE;YACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;SACjC;QACD,IAAG,OAAO,EAAE,UAAU,EAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;SACvB;IACH,CAAC;IACD,KAAK,CAAC,IAAY;QAChB,MAAM,CACJ,OAAO,IAAI,KAAK,QAAQ,EACxB,4CAA4C,OAAO,IAAI,GAAG,CAC3D,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAA;YACzF,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACpB,OAAO,MAAM,CAAC;aACf;SACF;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
|
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const utils_1 = require("../../utils");
|
|
5
|
-
const _base_1 = require("../_base");
|
|
6
|
-
class StringParser extends _base_1.BaseParser {
|
|
1
|
+
import { assert } from "../../utils";
|
|
2
|
+
import { BaseParser } from "../_base";
|
|
3
|
+
export class StringParser extends BaseParser {
|
|
7
4
|
constructor(options) {
|
|
8
5
|
super("string", options);
|
|
9
6
|
}
|
|
10
7
|
parse(text) {
|
|
11
|
-
|
|
8
|
+
assert(typeof text === "string", `Invalid input. Expected string. Received ${typeof text}.`);
|
|
12
9
|
const parsed = text.toString();
|
|
13
10
|
return parsed;
|
|
14
11
|
}
|
|
15
12
|
}
|
|
16
|
-
exports.StringParser = StringParser;
|
|
17
13
|
//# sourceMappingURL=StringParser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StringParser.js","sourceRoot":"src/","sources":["parser/parsers/StringParser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StringParser.js","sourceRoot":"src/","sources":["parser/parsers/StringParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAKtC,MAAM,OAAO,YAAa,SAAQ,UAAkB;IAClD,YAAY,OAA6B;QACvC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3B,CAAC;IACD,KAAK,CAAC,IAAY;QAChB,MAAM,CACJ,OAAO,IAAI,KAAK,QAAQ,EACxB,4CAA4C,OAAO,IAAI,GAAG,CAC3D,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { FunctionOrExecutor, PlainObject } from "../../types";
|
|
2
|
+
import { enforceResultAttributes } from "../../utils";
|
|
2
3
|
import { BaseExecutor } from "../../executor";
|
|
3
4
|
/**
|
|
4
5
|
* Represents the input for a CallableExecutor.
|
|
@@ -19,6 +20,7 @@ export interface CallableExecutorInput<I extends PlainObject | {
|
|
|
19
20
|
input: string;
|
|
20
21
|
visibilityHandler?(input: any, attributes: any, state: any): boolean;
|
|
21
22
|
handler?: FunctionOrExecutor<I, O>;
|
|
23
|
+
validateInput?(input: I): Promise<ReturnType<typeof enforceResultAttributes<boolean>>>;
|
|
22
24
|
}
|
|
23
25
|
/**
|
|
24
26
|
* Represents a CallableExecutor.
|
|
@@ -37,6 +39,7 @@ export interface CallableExecutor<I, O> {
|
|
|
37
39
|
input: string;
|
|
38
40
|
visibilityHandler(input: any, attributes: any, state: any): boolean;
|
|
39
41
|
_handler: BaseExecutor<I, O>;
|
|
42
|
+
_validateInput?(input: I): Promise<ReturnType<typeof enforceResultAttributes<boolean>>>;
|
|
40
43
|
}
|
|
41
44
|
/**
|
|
42
45
|
* A class representing a CallableExecutor.
|
|
@@ -50,11 +53,16 @@ export declare class CallableExecutor<I extends PlainObject | {
|
|
|
50
53
|
description: string;
|
|
51
54
|
input: string;
|
|
52
55
|
_handler: BaseExecutor<I, O>;
|
|
56
|
+
_validateInput?(input: I): Promise<ReturnType<typeof enforceResultAttributes<boolean>>>;
|
|
53
57
|
constructor(options: CallableExecutorInput<I, O>);
|
|
54
58
|
execute(input: I): Promise<{
|
|
55
59
|
result: O;
|
|
56
60
|
attributes: any;
|
|
57
61
|
}>;
|
|
62
|
+
validateInput(input: I): Promise<{
|
|
63
|
+
result: boolean;
|
|
64
|
+
attributes: any;
|
|
65
|
+
}>;
|
|
58
66
|
}
|
|
59
67
|
export declare abstract class UseExecutorsBase<I extends PlainObject | {
|
|
60
68
|
input: string;
|
|
@@ -69,4 +77,8 @@ export declare abstract class UseExecutorsBase<I extends PlainObject | {
|
|
|
69
77
|
result: any;
|
|
70
78
|
attributes: any;
|
|
71
79
|
}>;
|
|
80
|
+
validateFunctionInput(name: string, input: string): Promise<{
|
|
81
|
+
result: boolean;
|
|
82
|
+
attributes: any;
|
|
83
|
+
}>;
|
|
72
84
|
}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const _functions_1 = require("../../executor/_functions");
|
|
5
|
-
const utils_1 = require("../../utils");
|
|
6
|
-
const executor_1 = require("../../executor");
|
|
1
|
+
import { createCoreExecutor } from "../../executor/_functions";
|
|
2
|
+
import { ensureInputIsObject, assert, enforceResultAttributes } from "../../utils";
|
|
3
|
+
import { BaseExecutor } from "../../executor";
|
|
7
4
|
/**
|
|
8
5
|
* A class representing a CallableExecutor.
|
|
9
6
|
* @class CallableExecutor
|
|
10
7
|
*/
|
|
11
|
-
class CallableExecutor {
|
|
8
|
+
export class CallableExecutor {
|
|
12
9
|
constructor(options) {
|
|
13
10
|
Object.defineProperty(this, "name", {
|
|
14
11
|
enumerable: true,
|
|
@@ -50,23 +47,30 @@ class CallableExecutor {
|
|
|
50
47
|
this.input = options.input;
|
|
51
48
|
this.visibilityHandler =
|
|
52
49
|
options?.visibilityHandler || defaults.visibilityHandler;
|
|
53
|
-
|
|
50
|
+
this._validateInput = options.validateInput;
|
|
51
|
+
if (options.handler instanceof BaseExecutor) {
|
|
54
52
|
this._handler = options.handler;
|
|
55
53
|
}
|
|
56
54
|
else if (typeof options.handler === "function") {
|
|
57
|
-
this._handler =
|
|
55
|
+
this._handler = createCoreExecutor(options.handler);
|
|
58
56
|
}
|
|
59
57
|
else {
|
|
60
58
|
throw new Error("Invalid handler");
|
|
61
59
|
}
|
|
62
60
|
}
|
|
63
61
|
async execute(input) {
|
|
64
|
-
const response = await this._handler.execute(
|
|
65
|
-
return
|
|
62
|
+
const response = await this._handler.execute(ensureInputIsObject(input));
|
|
63
|
+
return enforceResultAttributes(response);
|
|
64
|
+
}
|
|
65
|
+
async validateInput(input) {
|
|
66
|
+
if (typeof this._validateInput === "function") {
|
|
67
|
+
const response = await this._validateInput(ensureInputIsObject(input));
|
|
68
|
+
return enforceResultAttributes(response);
|
|
69
|
+
}
|
|
70
|
+
return { result: true, attributes: {} };
|
|
66
71
|
}
|
|
67
72
|
}
|
|
68
|
-
|
|
69
|
-
class UseExecutorsBase {
|
|
73
|
+
export class UseExecutorsBase {
|
|
70
74
|
constructor(handlers) {
|
|
71
75
|
Object.defineProperty(this, "handlers", {
|
|
72
76
|
enumerable: true,
|
|
@@ -94,14 +98,24 @@ class UseExecutorsBase {
|
|
|
94
98
|
async callFunction(name, input) {
|
|
95
99
|
try {
|
|
96
100
|
const handler = this.getFunction(name);
|
|
97
|
-
|
|
98
|
-
const result = await handler.execute(
|
|
101
|
+
assert(handler, `[invalid handler] The handler (${name}) does not exist.`);
|
|
102
|
+
const result = await handler.execute(ensureInputIsObject(input));
|
|
99
103
|
return result;
|
|
100
104
|
}
|
|
101
105
|
catch (error) {
|
|
102
106
|
return error.message;
|
|
103
107
|
}
|
|
104
108
|
}
|
|
109
|
+
async validateFunctionInput(name, input) {
|
|
110
|
+
try {
|
|
111
|
+
const handler = this.getFunction(name);
|
|
112
|
+
assert(handler, `[invalid handler] The handler (${name}) does not exist.`);
|
|
113
|
+
const result = await handler.validateInput(ensureInputIsObject(input));
|
|
114
|
+
return result;
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
return { result: false, attributes: { error: error.message } };
|
|
118
|
+
}
|
|
119
|
+
}
|
|
105
120
|
}
|
|
106
|
-
exports.UseExecutorsBase = UseExecutorsBase;
|
|
107
121
|
//# sourceMappingURL=callable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callable.js","sourceRoot":"src/","sources":["plugins/callable/callable.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"callable.js","sourceRoot":"src/","sources":["plugins/callable/callable.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useExecutors = exports.createCallableExecutor = void 0;
|
|
4
|
-
const callable_1 = require("./callable");
|
|
1
|
+
import { UseExecutorsBase, CallableExecutor, } from "./callable";
|
|
5
2
|
/**
|
|
6
3
|
* Creates a new CallableExecutor instance.
|
|
7
4
|
* @function createCallableExecutor
|
|
8
5
|
* @param options - The input options for the callable core function.
|
|
9
6
|
* @returns A new CallableExecutor instance.
|
|
10
7
|
*/
|
|
11
|
-
function createCallableExecutor(options) {
|
|
12
|
-
return new
|
|
8
|
+
export function createCallableExecutor(options) {
|
|
9
|
+
return new CallableExecutor(options);
|
|
13
10
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
class UseExecutors extends callable_1.UseExecutorsBase {
|
|
11
|
+
export function useExecutors(executors) {
|
|
12
|
+
class UseExecutors extends UseExecutorsBase {
|
|
17
13
|
constructor(handlers) {
|
|
18
14
|
super(handlers);
|
|
19
15
|
}
|
|
20
16
|
}
|
|
21
17
|
return new UseExecutors(executors.map((e) => {
|
|
22
|
-
if (e instanceof
|
|
18
|
+
if (e instanceof CallableExecutor)
|
|
23
19
|
return e;
|
|
24
20
|
return createCallableExecutor(e);
|
|
25
21
|
}));
|
|
26
22
|
}
|
|
27
|
-
exports.useExecutors = useExecutors;
|
|
28
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"src/","sources":["plugins/callable/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"src/","sources":["plugins/callable/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GAEjB,MAAM,YAAY,CAAC;AAEpB;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAGpC,OAAoC;IACpC,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,YAAY,CAI1B,SAEC;IAED,MAAM,YAAa,SAAQ,gBAAsB;QAC/C,YAAY,QAAkC;YAC5C,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClB,CAAC;KACF;IACD,OAAO,IAAI,YAAY,CACrB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAClB,IAAI,CAAC,YAAY,gBAAgB;YAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
|
package/dist/prompt/_base.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { IChatMessages, PromptOptions, PromptType, PromptPartial, PromptHelper } from "../types";
|
|
1
|
+
import { IChatMessages, PromptOptions, PromptType, PromptPartial, PromptHelper, IPromptMessages, IPromptChatMessages } from "../types";
|
|
2
2
|
/**
|
|
3
3
|
* BasePrompt should be extended.
|
|
4
4
|
*/
|
|
5
5
|
export declare abstract class BasePrompt<I extends Record<string, any>> {
|
|
6
6
|
readonly type: PromptType;
|
|
7
|
-
messages:
|
|
7
|
+
messages: IPromptMessages | IPromptChatMessages;
|
|
8
8
|
partials: PromptPartial[];
|
|
9
9
|
helpers: PromptHelper[];
|
|
10
10
|
/**
|
package/dist/prompt/_base.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BasePrompt = void 0;
|
|
4
|
-
const utils_1 = require("../utils");
|
|
1
|
+
import { replaceTemplateString } from "../utils";
|
|
5
2
|
/**
|
|
6
3
|
* BasePrompt should be extended.
|
|
7
4
|
*/
|
|
8
|
-
class BasePrompt {
|
|
5
|
+
export class BasePrompt {
|
|
9
6
|
/**
|
|
10
7
|
* constructor description
|
|
11
8
|
* @param initialPromptMessage An initial message to add to the prompt.
|
|
@@ -111,7 +108,7 @@ class BasePrompt {
|
|
|
111
108
|
/* istanbul ignore next */
|
|
112
109
|
return this.messages
|
|
113
110
|
.map((message) => {
|
|
114
|
-
return
|
|
111
|
+
return replaceTemplateString(message.content, replacements, {
|
|
115
112
|
partials: this.partials,
|
|
116
113
|
helpers: this.helpers,
|
|
117
114
|
});
|
|
@@ -135,5 +132,4 @@ class BasePrompt {
|
|
|
135
132
|
return true;
|
|
136
133
|
}
|
|
137
134
|
}
|
|
138
|
-
exports.BasePrompt = BasePrompt;
|
|
139
135
|
//# sourceMappingURL=_base.js.map
|
package/dist/prompt/_base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_base.js","sourceRoot":"src/","sources":["prompt/_base.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_base.js","sourceRoot":"src/","sources":["prompt/_base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const text_1 = require("./text");
|
|
5
|
-
const chat_1 = require("./chat");
|
|
6
|
-
function createPrompt(type, initialPromptMessage, options) {
|
|
1
|
+
import { TextPrompt } from "./text";
|
|
2
|
+
import { ChatPrompt } from "./chat";
|
|
3
|
+
export function createPrompt(type, initialPromptMessage, options) {
|
|
7
4
|
switch (type) {
|
|
8
5
|
case "chat":
|
|
9
|
-
return new
|
|
6
|
+
return new ChatPrompt(initialPromptMessage, options);
|
|
10
7
|
default:
|
|
11
|
-
return new
|
|
8
|
+
return new TextPrompt(initialPromptMessage);
|
|
12
9
|
}
|
|
13
10
|
}
|
|
14
|
-
exports.createPrompt = createPrompt;
|
|
15
11
|
/**
|
|
16
12
|
* `createChatPrompt` Creates a new instance of a chat prompt.
|
|
17
13
|
*
|
|
18
14
|
* @param initialSystemPromptMessage (optional) A message to use for an initial system message.
|
|
19
15
|
*/
|
|
20
|
-
function createChatPrompt(initialSystemPromptMessage, options) {
|
|
21
|
-
return new
|
|
16
|
+
export function createChatPrompt(initialSystemPromptMessage, options) {
|
|
17
|
+
return new ChatPrompt(initialSystemPromptMessage, options);
|
|
22
18
|
}
|
|
23
|
-
exports.createChatPrompt = createChatPrompt;
|
|
24
19
|
//# sourceMappingURL=_functions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_functions.js","sourceRoot":"src/","sources":["prompt/_functions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_functions.js","sourceRoot":"src/","sources":["prompt/_functions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAwBpC,MAAM,UAAU,YAAY,CAC1B,IAAiB,EACjB,oBAA6B,EAC7B,OAA2C;IAE3C,QAAQ,IAAI,EAAE;QACZ,KAAK,MAAM;YACT,OAAO,IAAI,UAAU,CAAI,oBAAoB,EAAE,OAAO,CAAC,CAAC;QAC1D;YACE,OAAO,IAAI,UAAU,CAAI,oBAAoB,CAAC,CAAC;KAClD;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,0BAAmC,EACnC,OAA2B;IAE3B,OAAO,IAAI,UAAU,CAAI,0BAA0B,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC"}
|
package/dist/prompt/chat.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { BasePrompt } from "./_base";
|
|
2
|
-
import { IChatMessages, IChatMessageRole, ChatPromptType, ChatPromptOptions } from "../types";
|
|
2
|
+
import { IChatMessages, IChatMessageRole, ChatPromptType, ChatPromptOptions, IPromptChatMessages } from "../types";
|
|
3
|
+
export interface ChatPrompt<I extends Record<string, any>> extends BasePrompt<I> {
|
|
4
|
+
messages: IPromptChatMessages;
|
|
5
|
+
}
|
|
3
6
|
/**
|
|
4
7
|
* `ChatPrompt` provides a conversation-style prompt enabling various roles.
|
|
5
8
|
* The chat prompt can be used with models such as gpt-3.5.turbo and gpt-4.
|
|
@@ -51,6 +54,12 @@ export declare class ChatPrompt<I extends Record<string, any>> extends BasePromp
|
|
|
51
54
|
* @return ChatPrompt so it can be chained.
|
|
52
55
|
*/
|
|
53
56
|
addFromHistory(history: IChatMessages): ChatPrompt<I>;
|
|
57
|
+
/**
|
|
58
|
+
* addPlaceholder description
|
|
59
|
+
* @param content The message content
|
|
60
|
+
* @return returns ChatPrompt so it can be chained.
|
|
61
|
+
*/
|
|
62
|
+
addChatHistoryPlaceholder(key: keyof I): ChatPrompt<I>;
|
|
54
63
|
/**
|
|
55
64
|
* format formats the stored prompt based on input values.
|
|
56
65
|
* Uses template engine.
|
package/dist/prompt/chat.js
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.ChatPrompt = void 0;
|
|
4
|
-
const utils_1 = require("../utils");
|
|
5
|
-
const _base_1 = require("./_base");
|
|
1
|
+
import { extractPromptPlaceholderToken, get, pick, replaceTemplateString, } from "../utils";
|
|
2
|
+
import { BasePrompt } from "./_base";
|
|
6
3
|
/**
|
|
7
4
|
* `ChatPrompt` provides a conversation-style prompt enabling various roles.
|
|
8
5
|
* The chat prompt can be used with models such as gpt-3.5.turbo and gpt-4.
|
|
9
6
|
* @extends BasePrompt
|
|
10
7
|
*/
|
|
11
|
-
class ChatPrompt extends
|
|
8
|
+
export class ChatPrompt extends BasePrompt {
|
|
12
9
|
/**
|
|
13
10
|
* new `ChatPrompt`
|
|
14
11
|
* @param initialSystemPromptMessage (optional) An initial system message to add to the new prompt.
|
|
@@ -91,11 +88,38 @@ class ChatPrompt extends _base_1.BasePrompt {
|
|
|
91
88
|
* @return ChatPrompt so it can be chained.
|
|
92
89
|
*/
|
|
93
90
|
addFromHistory(history) {
|
|
94
|
-
if (history) {
|
|
95
|
-
|
|
91
|
+
if (history && Array.isArray(history)) {
|
|
92
|
+
for (const message of history) {
|
|
93
|
+
switch (message.role) {
|
|
94
|
+
case "user":
|
|
95
|
+
this.addUserMessage(message.content, message?.name);
|
|
96
|
+
break;
|
|
97
|
+
case "assistant":
|
|
98
|
+
this.addAssistantMessage(message.content);
|
|
99
|
+
break;
|
|
100
|
+
case "system":
|
|
101
|
+
this.addSystemMessage(message.content);
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
96
105
|
}
|
|
97
106
|
return this;
|
|
98
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* addPlaceholder description
|
|
110
|
+
* @param content The message content
|
|
111
|
+
* @return returns ChatPrompt so it can be chained.
|
|
112
|
+
*/
|
|
113
|
+
addChatHistoryPlaceholder(key) {
|
|
114
|
+
const start = `{{> DialogueHistory `;
|
|
115
|
+
const params = [`key='${String(key)}'`];
|
|
116
|
+
const end = `}}`;
|
|
117
|
+
this.messages.push({
|
|
118
|
+
role: "placeholder",
|
|
119
|
+
content: `${start}${params.join(" ")}${end}`,
|
|
120
|
+
});
|
|
121
|
+
return this;
|
|
122
|
+
}
|
|
99
123
|
/**
|
|
100
124
|
* format formats the stored prompt based on input values.
|
|
101
125
|
* Uses template engine.
|
|
@@ -104,23 +128,60 @@ class ChatPrompt extends _base_1.BasePrompt {
|
|
|
104
128
|
* @return formatted prompt.
|
|
105
129
|
*/
|
|
106
130
|
format(values) {
|
|
131
|
+
const messagesOut = [];
|
|
107
132
|
const replacements = this.getReplacements(values);
|
|
108
133
|
const safeToParseTemplate = ["assistant", "system"];
|
|
109
134
|
if (this.parseUserTemplates) {
|
|
110
135
|
safeToParseTemplate.push("user");
|
|
111
136
|
}
|
|
112
|
-
|
|
113
|
-
if (
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
137
|
+
for (const message of this.messages) {
|
|
138
|
+
if (message.role === "placeholder") {
|
|
139
|
+
const { token, ...data } = extractPromptPlaceholderToken(message.content);
|
|
140
|
+
switch (token) {
|
|
141
|
+
case ">DialogueHistory": {
|
|
142
|
+
/* istanbul ignore next */
|
|
143
|
+
const { key = "" } = data;
|
|
144
|
+
const history = get(replacements, key, []);
|
|
145
|
+
if (history && Array.isArray(history)) {
|
|
146
|
+
for (const message of history) {
|
|
147
|
+
switch (message.role) {
|
|
148
|
+
case "user":
|
|
149
|
+
messagesOut.push(pick(message, ["role", "content", "name"]));
|
|
150
|
+
break;
|
|
151
|
+
case "assistant":
|
|
152
|
+
messagesOut.push({
|
|
153
|
+
role: "assistant",
|
|
154
|
+
content: message.content,
|
|
155
|
+
});
|
|
156
|
+
break;
|
|
157
|
+
case "system":
|
|
158
|
+
messagesOut.push({
|
|
159
|
+
role: "system",
|
|
160
|
+
content: message.content,
|
|
161
|
+
});
|
|
162
|
+
break;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
break;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
121
169
|
}
|
|
122
|
-
|
|
123
|
-
|
|
170
|
+
else {
|
|
171
|
+
if (safeToParseTemplate.includes(message.role)) {
|
|
172
|
+
messagesOut.push(Object.assign({}, message, {
|
|
173
|
+
content: replaceTemplateString(message.content, replacements, {
|
|
174
|
+
partials: this.partials,
|
|
175
|
+
helpers: this.helpers,
|
|
176
|
+
}),
|
|
177
|
+
}));
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
messagesOut.push(message);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return messagesOut;
|
|
124
185
|
}
|
|
125
186
|
/**
|
|
126
187
|
* validate Ensures there are not unresolved tokens in prompt.
|
|
@@ -132,5 +193,4 @@ class ChatPrompt extends _base_1.BasePrompt {
|
|
|
132
193
|
return true;
|
|
133
194
|
}
|
|
134
195
|
}
|
|
135
|
-
exports.ChatPrompt = ChatPrompt;
|
|
136
196
|
//# sourceMappingURL=chat.js.map
|
package/dist/prompt/chat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"src/","sources":["prompt/chat.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"src/","sources":["prompt/chat.ts"],"names":[],"mappings":"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"}
|
package/dist/prompt/index.js
CHANGED
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "BasePrompt", { enumerable: true, get: function () { return _base_1.BasePrompt; } });
|
|
6
|
-
var text_1 = require("./text");
|
|
7
|
-
Object.defineProperty(exports, "TextPrompt", { enumerable: true, get: function () { return text_1.TextPrompt; } });
|
|
8
|
-
var chat_1 = require("./chat");
|
|
9
|
-
Object.defineProperty(exports, "ChatPrompt", { enumerable: true, get: function () { return chat_1.ChatPrompt; } });
|
|
10
|
-
var _functions_1 = require("./_functions");
|
|
11
|
-
Object.defineProperty(exports, "createPrompt", { enumerable: true, get: function () { return _functions_1.createPrompt; } });
|
|
12
|
-
Object.defineProperty(exports, "createChatPrompt", { enumerable: true, get: function () { return _functions_1.createChatPrompt; } });
|
|
1
|
+
export { BasePrompt } from "./_base";
|
|
2
|
+
export { TextPrompt } from "./text";
|
|
3
|
+
export { ChatPrompt } from "./chat";
|
|
4
|
+
export { createPrompt, createChatPrompt } from "./_functions";
|
|
13
5
|
//# sourceMappingURL=index.js.map
|