llm-exe 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/embedding/base.d.ts +8 -0
- package/dist/embedding/base.js +43 -0
- package/dist/embedding/base.js.map +1 -0
- package/dist/embedding/openai.d.ts +11 -0
- package/dist/embedding/openai.js +72 -0
- package/dist/embedding/openai.js.map +1 -0
- package/dist/executor/_base.d.ts +54 -0
- package/dist/executor/_base.js +173 -0
- package/dist/executor/_base.js.map +1 -0
- package/dist/executor/_functions.d.ts +25 -0
- package/dist/executor/_functions.js +30 -0
- package/dist/executor/_functions.js.map +1 -0
- package/dist/executor/_metadata.d.ts +8 -0
- package/dist/executor/_metadata.js +69 -0
- package/dist/executor/_metadata.js.map +1 -0
- package/dist/executor/core.d.ts +10 -0
- package/dist/executor/core.js +28 -0
- package/dist/executor/core.js.map +1 -0
- package/dist/executor/index.d.ts +4 -0
- package/dist/executor/index.js +13 -0
- package/dist/executor/index.js.map +1 -0
- package/dist/executor/llm.d.ts +29 -0
- package/dist/executor/llm.js +73 -0
- package/dist/executor/llm.js.map +1 -0
- package/dist/index.d.ts +61 -0
- package/dist/index.js +88 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/chat.d.ts +19 -0
- package/dist/interfaces/chat.js +3 -0
- package/dist/interfaces/chat.js.map +1 -0
- package/dist/interfaces/functions.d.ts +72 -0
- package/dist/interfaces/functions.js +3 -0
- package/dist/interfaces/functions.js.map +1 -0
- package/dist/interfaces/index.d.ts +6 -0
- package/dist/interfaces/index.js +23 -0
- package/dist/interfaces/index.js.map +1 -0
- package/dist/interfaces/openai.d.ts +33 -0
- package/dist/interfaces/openai.js +3 -0
- package/dist/interfaces/openai.js.map +1 -0
- package/dist/interfaces/parser.d.ts +11 -0
- package/dist/interfaces/parser.js +3 -0
- package/dist/interfaces/parser.js.map +1 -0
- package/dist/interfaces/prompt.d.ts +20 -0
- package/dist/interfaces/prompt.js +3 -0
- package/dist/interfaces/prompt.js.map +1 -0
- package/dist/interfaces/utils.d.ts +15 -0
- package/dist/interfaces/utils.js +3 -0
- package/dist/interfaces/utils.js.map +1 -0
- package/dist/llm/_base.d.ts +78 -0
- package/dist/llm/_base.js +164 -0
- package/dist/llm/_base.js.map +1 -0
- package/dist/llm/index.d.ts +2 -0
- package/dist/llm/index.js +9 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/llm/openai.d.ts +95 -0
- package/dist/llm/openai.js +274 -0
- package/dist/llm/openai.js.map +1 -0
- package/dist/llm/output/base.d.ts +12 -0
- package/dist/llm/output/base.js +45 -0
- package/dist/llm/output/base.js.map +1 -0
- package/dist/llm/output/index.d.ts +9 -0
- package/dist/llm/output/index.js +29 -0
- package/dist/llm/output/index.js.map +1 -0
- package/dist/llm/output/openai-chat.d.ts +13 -0
- package/dist/llm/output/openai-chat.js +51 -0
- package/dist/llm/output/openai-chat.js.map +1 -0
- package/dist/parser/_base.d.ts +33 -0
- package/dist/parser/_base.js +64 -0
- package/dist/parser/_base.js.map +1 -0
- package/dist/parser/_functions.d.ts +94 -0
- package/dist/parser/_functions.js +52 -0
- package/dist/parser/_functions.js.map +1 -0
- package/dist/parser/index.d.ts +14 -0
- package/dist/parser/index.js +31 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/parsers/BooleanParser.d.ts +8 -0
- package/dist/parser/parsers/BooleanParser.js +20 -0
- package/dist/parser/parsers/BooleanParser.js.map +1 -0
- package/dist/parser/parsers/CustomParser.d.ts +27 -0
- package/dist/parser/parsers/CustomParser.js +41 -0
- package/dist/parser/parsers/CustomParser.js.map +1 -0
- package/dist/parser/parsers/JsonParser.d.ts +7 -0
- package/dist/parser/parsers/JsonParser.js +15 -0
- package/dist/parser/parsers/JsonParser.js.map +1 -0
- package/dist/parser/parsers/ListToArrayParser.d.ts +5 -0
- package/dist/parser/parsers/ListToArrayParser.js +17 -0
- package/dist/parser/parsers/ListToArrayParser.js.map +1 -0
- package/dist/parser/parsers/ListToJsonParser.d.ts +7 -0
- package/dist/parser/parsers/ListToJsonParser.js +25 -0
- package/dist/parser/parsers/ListToJsonParser.js.map +1 -0
- package/dist/parser/parsers/ListToKeyValueParser.d.ts +14 -0
- package/dist/parser/parsers/ListToKeyValueParser.js +24 -0
- package/dist/parser/parsers/ListToKeyValueParser.js.map +1 -0
- package/dist/parser/parsers/MarkdownCodeBlock.d.ts +14 -0
- package/dist/parser/parsers/MarkdownCodeBlock.js +16 -0
- package/dist/parser/parsers/MarkdownCodeBlock.js.map +1 -0
- package/dist/parser/parsers/MarkdownCodeBlocks.d.ts +14 -0
- package/dist/parser/parsers/MarkdownCodeBlocks.js +25 -0
- package/dist/parser/parsers/MarkdownCodeBlocks.js.map +1 -0
- package/dist/parser/parsers/NumberParser.d.ts +8 -0
- package/dist/parser/parsers/NumberParser.js +16 -0
- package/dist/parser/parsers/NumberParser.js.map +1 -0
- package/dist/parser/parsers/ReplaceStringTemplateParser.d.ts +8 -0
- package/dist/parser/parsers/ReplaceStringTemplateParser.js +15 -0
- package/dist/parser/parsers/ReplaceStringTemplateParser.js.map +1 -0
- package/dist/parser/parsers/StringParser.d.ts +8 -0
- package/dist/parser/parsers/StringParser.js +17 -0
- package/dist/parser/parsers/StringParser.js.map +1 -0
- package/dist/plugins/callable/callable.d.ts +72 -0
- package/dist/plugins/callable/callable.js +107 -0
- package/dist/plugins/callable/callable.js.map +1 -0
- package/dist/plugins/callable/index.d.ts +26 -0
- package/dist/plugins/callable/index.js +28 -0
- package/dist/plugins/callable/index.js.map +1 -0
- package/dist/prompt/_base.d.ts +56 -0
- package/dist/prompt/_base.js +139 -0
- package/dist/prompt/_base.js.map +1 -0
- package/dist/prompt/_functions.d.ts +19 -0
- package/dist/prompt/_functions.js +24 -0
- package/dist/prompt/_functions.js.map +1 -0
- package/dist/prompt/chat.d.ts +68 -0
- package/dist/prompt/chat.js +136 -0
- package/dist/prompt/chat.js.map +1 -0
- package/dist/prompt/index.d.ts +4 -0
- package/dist/prompt/index.js +13 -0
- package/dist/prompt/index.js.map +1 -0
- package/dist/prompt/text.d.ts +9 -0
- package/dist/prompt/text.js +16 -0
- package/dist/prompt/text.js.map +1 -0
- package/dist/state/_base.d.ts +29 -0
- package/dist/state/_base.js +92 -0
- package/dist/state/_base.js.map +1 -0
- package/dist/state/_functions.d.ts +6 -0
- package/dist/state/_functions.js +19 -0
- package/dist/state/_functions.js.map +1 -0
- package/dist/state/dialogue.d.ts +17 -0
- package/dist/state/dialogue.js +66 -0
- package/dist/state/dialogue.js.map +1 -0
- package/dist/state/index.d.ts +4 -0
- package/dist/state/index.js +16 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/item.d.ts +23 -0
- package/dist/state/item.js +64 -0
- package/dist/state/item.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.js +18 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +18 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/modules/asyncCallWithTimeout.d.ts +1 -0
- package/dist/utils/modules/asyncCallWithTimeout.js +17 -0
- package/dist/utils/modules/asyncCallWithTimeout.js.map +1 -0
- package/dist/utils/modules/handlebars/helpers/index.d.ts +7 -0
- package/dist/utils/modules/handlebars/helpers/index.js +71 -0
- package/dist/utils/modules/handlebars/helpers/index.js.map +1 -0
- package/dist/utils/modules/handlebars/index.d.ts +2 -0
- package/dist/utils/modules/handlebars/index.js +105 -0
- package/dist/utils/modules/handlebars/index.js.map +1 -0
- package/dist/utils/modules/handlebars/templates/index.d.ts +9 -0
- package/dist/utils/modules/handlebars/templates/index.js +34 -0
- package/dist/utils/modules/handlebars/templates/index.js.map +1 -0
- package/dist/utils/modules/index.d.ts +42 -0
- package/dist/utils/modules/index.js +133 -0
- package/dist/utils/modules/index.js.map +1 -0
- package/dist/utils/modules/json-schema-filter.d.ts +1 -0
- package/dist/utils/modules/json-schema-filter.js +69 -0
- package/dist/utils/modules/json-schema-filter.js.map +1 -0
- package/dist/utils/modules/json.d.ts +3 -0
- package/dist/utils/modules/json.js +57 -0
- package/dist/utils/modules/json.js.map +1 -0
- package/dist/utils/modules/replaceTemplateString.d.ts +2 -0
- package/dist/utils/modules/replaceTemplateString.js +21 -0
- package/dist/utils/modules/replaceTemplateString.js.map +1 -0
- package/dist/vector/base.d.ts +11 -0
- package/dist/vector/base.js +23 -0
- package/dist/vector/base.js.map +1 -0
- package/dist/vector/index.d.ts +2 -0
- package/dist/vector/index.js +8 -0
- package/dist/vector/index.js.map +1 -0
- package/dist/vector/pinecone.d.ts +6 -0
- package/dist/vector/pinecone.js +22 -0
- package/dist/vector/pinecone.js.map +1 -0
- package/package.json +67 -0
- package/readme.md +12 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item.js","sourceRoot":"src/","sources":["state/item.ts"],"names":[],"mappings":";;;AACA,mCAAiC;AAEjC,MAAsB,aAAa;IAKjC,YAAY,GAAW,EAAE,YAAe;QAJxC;;;;;WAAsB;QACtB;;;;;WAAmB;QACnB;;;;;WAA0B;QAGxB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IACD,QAAQ,CAAC,KAAQ;QACf,IAAA,cAAM,EACJ,OAAO,KAAK,KAAK,OAAO,IAAI,CAAC,KAAK,EAClC,gCAAgC,OAAO,IAAI;aACxC,KAAK,cAAc,OAAO,KAAK,EAAE,CACrC,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IACD,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IACD,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,UAAU;QACR,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;IACjC,CAAC;IACD,cAAc;QACZ,OAAO;YACL,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE;SACjC,CAAC;IACJ,CAAC;IACD,SAAS;QACP,OAAO;YACL,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;YACnB,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE;SAC7B,CAAC;IACJ,CAAC;IACD,WAAW,KAAI,CAAC;CACjB;AAxCD,sCAwCC;AAED,MAAa,gBAAiB,SAAQ,aAAkB;IACtD,YAAY,IAAY,EAAE,YAAiB;QACzC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC5B,CAAC;CAGF;AAND,4CAMC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../interfaces";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("../interfaces"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"src/","sources":["types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./modules";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./modules"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"src/","sources":["utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const asyncCallWithTimeout: <T = any>(asyncPromise: Promise<T>, timeLimit?: number) => Promise<T>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.asyncCallWithTimeout = void 0;
|
|
4
|
+
const asyncCallWithTimeout = async (asyncPromise, timeLimit = 10000) => {
|
|
5
|
+
let timeoutHandle;
|
|
6
|
+
const timeoutPromise = new Promise((_resolve, reject) => {
|
|
7
|
+
timeoutHandle = setTimeout(() => {
|
|
8
|
+
return reject(new Error("Unable to perform action. Try again, or use another action."));
|
|
9
|
+
}, timeLimit);
|
|
10
|
+
});
|
|
11
|
+
return Promise.race([asyncPromise, timeoutPromise]).then((result) => {
|
|
12
|
+
clearTimeout(timeoutHandle);
|
|
13
|
+
return result;
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
exports.asyncCallWithTimeout = asyncCallWithTimeout;
|
|
17
|
+
//# sourceMappingURL=asyncCallWithTimeout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asyncCallWithTimeout.js","sourceRoot":"src/","sources":["utils/modules/asyncCallWithTimeout.ts"],"names":[],"mappings":";;;AAAO,MAAM,oBAAoB,GAAG,KAAK,EACvC,YAAwB,EACxB,SAAS,GAAG,KAAK,EACL,EAAE;IACd,IAAI,aAA6B,CAAC;IAElC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;QACtD,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,OAAO,MAAM,CACX,IAAI,KAAK,CAAC,6DAA6D,CAAC,CACzE,CAAC;QACJ,CAAC,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QAClE,YAAY,CAAC,aAAa,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC,CAAe,CAAC;AACnB,CAAC,CAAC;AAlBW,QAAA,oBAAoB,wBAkB/B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function __getDialogueHistory(this: any, key?: string): any;
|
|
2
|
+
export declare function pluralize(this: any, arg1: `${string}|${string}`, arg2: number): string;
|
|
3
|
+
export declare function eq(this: any, arg1: string | undefined, arg2: string | undefined, options: any): any;
|
|
4
|
+
export declare function neq(this: any, arg1: string | undefined, arg2: string | undefined, options: any): any;
|
|
5
|
+
export declare function ifCond(this: any, v1: string, operator: string, v2: string, options: any): any;
|
|
6
|
+
export declare function objectToList(this: Record<string, string>, arg?: Record<string, string>): string;
|
|
7
|
+
export declare function join(array: string[]): string;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.join = exports.objectToList = exports.ifCond = exports.neq = exports.eq = exports.pluralize = exports.__getDialogueHistory = void 0;
|
|
4
|
+
const utils_1 = require("../../../../utils");
|
|
5
|
+
function __getDialogueHistory(key = "defaultDialogue") {
|
|
6
|
+
return (0, utils_1.get)(this, key, []);
|
|
7
|
+
}
|
|
8
|
+
exports.__getDialogueHistory = __getDialogueHistory;
|
|
9
|
+
function pluralize(arg1, arg2) {
|
|
10
|
+
const [singular, plural] = arg1.split("|");
|
|
11
|
+
return arg2 > 1 ? plural : singular;
|
|
12
|
+
}
|
|
13
|
+
exports.pluralize = pluralize;
|
|
14
|
+
function eq(arg1 = "", arg2 = "", options) {
|
|
15
|
+
const isArr = arg2
|
|
16
|
+
.toString()
|
|
17
|
+
.split(",")
|
|
18
|
+
.map((a) => a.trim());
|
|
19
|
+
return isArr.includes(arg1) ? options.fn(this) : options.inverse(this);
|
|
20
|
+
}
|
|
21
|
+
exports.eq = eq;
|
|
22
|
+
function neq(arg1 = "", arg2 = "", options) {
|
|
23
|
+
const isArr = arg2
|
|
24
|
+
.toString()
|
|
25
|
+
.split(",")
|
|
26
|
+
.map((a) => a.trim());
|
|
27
|
+
return !isArr.includes(arg1) ? options.fn(this) : options.inverse(this);
|
|
28
|
+
}
|
|
29
|
+
exports.neq = neq;
|
|
30
|
+
function ifCond(v1, operator, v2, options) {
|
|
31
|
+
switch (operator) {
|
|
32
|
+
case "==":
|
|
33
|
+
return v1 == v2 ? options.fn(this) : options.inverse(this);
|
|
34
|
+
case "===":
|
|
35
|
+
return v1 === v2 ? options.fn(this) : options.inverse(this);
|
|
36
|
+
case "!=":
|
|
37
|
+
return v1 != v2 ? options.fn(this) : options.inverse(this);
|
|
38
|
+
case "!==":
|
|
39
|
+
return v1 !== v2 ? options.fn(this) : options.inverse(this);
|
|
40
|
+
case "<":
|
|
41
|
+
return v1 < v2 ? options.fn(this) : options.inverse(this);
|
|
42
|
+
case "<=":
|
|
43
|
+
return v1 <= v2 ? options.fn(this) : options.inverse(this);
|
|
44
|
+
case ">":
|
|
45
|
+
return v1 > v2 ? options.fn(this) : options.inverse(this);
|
|
46
|
+
case ">=":
|
|
47
|
+
return v1 >= v2 ? options.fn(this) : options.inverse(this);
|
|
48
|
+
case "&&":
|
|
49
|
+
return v1 && v2 ? options.fn(this) : options.inverse(this);
|
|
50
|
+
case "||":
|
|
51
|
+
return v1 || v2 ? options.fn(this) : options.inverse(this);
|
|
52
|
+
default:
|
|
53
|
+
return options.inverse(this);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.ifCond = ifCond;
|
|
57
|
+
function objectToList(arg = {}) {
|
|
58
|
+
return Object.keys(arg)
|
|
59
|
+
.map((key) => `- ${key}: ${arg[key]}`)
|
|
60
|
+
.join("\n");
|
|
61
|
+
}
|
|
62
|
+
exports.objectToList = objectToList;
|
|
63
|
+
function join(array) {
|
|
64
|
+
if (typeof array === "string")
|
|
65
|
+
return array;
|
|
66
|
+
if (!Array.isArray(array))
|
|
67
|
+
return "";
|
|
68
|
+
return array.join(", ");
|
|
69
|
+
}
|
|
70
|
+
exports.join = join;
|
|
71
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"src/","sources":["utils/modules/handlebars/helpers/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.useHandlebars = void 0;
|
|
27
|
+
const handlebars_1 = require("handlebars");
|
|
28
|
+
const helpers = __importStar(require("./helpers"));
|
|
29
|
+
const contextPartials = __importStar(require("./templates"));
|
|
30
|
+
function useHandlebars(configuration = {
|
|
31
|
+
helpers: [],
|
|
32
|
+
partials: [],
|
|
33
|
+
}) {
|
|
34
|
+
var hbs = (0, handlebars_1.create)();
|
|
35
|
+
const helperKeys = Object.keys(helpers);
|
|
36
|
+
for (const helperKey of helperKeys) {
|
|
37
|
+
hbs.registerHelper(helperKey, helpers[helperKey]);
|
|
38
|
+
}
|
|
39
|
+
if (configuration?.helpers && Array.isArray(configuration.helpers)) {
|
|
40
|
+
for (const externalHelper of configuration.helpers) {
|
|
41
|
+
if (externalHelper.name &&
|
|
42
|
+
typeof externalHelper.name === "string" &&
|
|
43
|
+
typeof externalHelper.handler === "function") {
|
|
44
|
+
hbs.registerHelper(externalHelper.name, externalHelper.handler);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (process.env.CUSTOM_PROMPT_TEMPLATE_HELPERS_PATH) {
|
|
49
|
+
const externalHelpers = require(process.env
|
|
50
|
+
.CUSTOM_PROMPT_TEMPLATE_HELPERS_PATH);
|
|
51
|
+
if (externalHelpers) {
|
|
52
|
+
const externalHelperKeys = Object.keys(externalHelpers);
|
|
53
|
+
for (const externalHelperKey of externalHelperKeys) {
|
|
54
|
+
if (typeof externalHelperKey === "string") {
|
|
55
|
+
hbs.registerHelper(externalHelperKey, externalHelpers[externalHelperKey]);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const contextPartialKeys = Object.keys(contextPartials.partials);
|
|
61
|
+
for (const contextPartialKey of contextPartialKeys) {
|
|
62
|
+
hbs.registerPartial(contextPartialKey, contextPartials.partials[contextPartialKey]);
|
|
63
|
+
}
|
|
64
|
+
if (configuration?.partials && Array.isArray(configuration.partials)) {
|
|
65
|
+
for (const externalPartial of configuration.partials) {
|
|
66
|
+
if (externalPartial.name &&
|
|
67
|
+
typeof externalPartial.name === "string" &&
|
|
68
|
+
typeof externalPartial.template === "string") {
|
|
69
|
+
hbs.registerPartial(externalPartial.name, externalPartial.template);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (process.env.CUSTOM_PROMPT_TEMPLATE_PARTIALS_PATH) {
|
|
74
|
+
const externalPartials = require(process.env
|
|
75
|
+
.CUSTOM_PROMPT_TEMPLATE_PARTIALS_PATH);
|
|
76
|
+
if (externalPartials) {
|
|
77
|
+
const externalPartialKeys = Object.keys(externalPartials);
|
|
78
|
+
for (const externalPartialKey of externalPartialKeys) {
|
|
79
|
+
if (typeof externalPartialKey === "string") {
|
|
80
|
+
hbs.registerPartial(externalPartialKey, externalPartials[externalPartialKey]);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/* istanbul ignore next */
|
|
86
|
+
hbs.registerHelper("with", function (context, options) {
|
|
87
|
+
return options.fn(context);
|
|
88
|
+
});
|
|
89
|
+
/* istanbul ignore next */
|
|
90
|
+
hbs.registerHelper("cut", function (str, arg2) {
|
|
91
|
+
return str.toString().replace(new RegExp(arg2, "g"), "");
|
|
92
|
+
});
|
|
93
|
+
/* istanbul ignore next */
|
|
94
|
+
hbs.registerHelper("substring", function (str, start, end) {
|
|
95
|
+
if (str.length > end) {
|
|
96
|
+
return str.substring(start, end);
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
return str;
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
return hbs;
|
|
103
|
+
}
|
|
104
|
+
exports.useHandlebars = useHandlebars;
|
|
105
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"src/","sources":["utils/modules/handlebars/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const COMPLETION_END_TOKEN = "<--END";
|
|
2
|
+
export declare const PROMPT_END_TOKEN = "-->";
|
|
3
|
+
export declare const partials: {
|
|
4
|
+
MarkdownCode: string;
|
|
5
|
+
DialogueHistory: string;
|
|
6
|
+
ChatConversationHistory: string;
|
|
7
|
+
ThoughtsAndObservations: string;
|
|
8
|
+
ThoughtActionResult: string;
|
|
9
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.partials = exports.PROMPT_END_TOKEN = exports.COMPLETION_END_TOKEN = void 0;
|
|
4
|
+
exports.COMPLETION_END_TOKEN = "<--END";
|
|
5
|
+
exports.PROMPT_END_TOKEN = "-->";
|
|
6
|
+
const MarkdownCode = `{{#if code}}\`\`\`{{#if language}}{{language}}{{/if}}
|
|
7
|
+
{{{code}}}
|
|
8
|
+
\`\`\`{{/if}}`;
|
|
9
|
+
const ThoughtActionResult = `
|
|
10
|
+
{{#if title}}{{#if attributes.stepsTaken.length}}{{title}}\n{{/if}}{{/if}}
|
|
11
|
+
{{#each attributes.stepsTaken as | step |}}
|
|
12
|
+
{{#if step.thought}}Thought: {{step.result}}{{/if}}
|
|
13
|
+
{{#if step.result}}Action: {{step.action}}{{/if}}
|
|
14
|
+
{{#if step.result}}Result: {{step.result}}{{/if}}
|
|
15
|
+
{{/each}}`;
|
|
16
|
+
const ChatConversationHistory = `
|
|
17
|
+
{{~#if title}}{{~#if chat_history.length}}{{title}}\n{{~/if}}{{~/if}}
|
|
18
|
+
{{~#eq item.role 'user'}}User: {{{item.content}}}\n{{/eq}}
|
|
19
|
+
{{~#eq item.role 'assistant'}}Assistant: {{{item.content}}}\n{{/eq}}
|
|
20
|
+
{{~#eq item.role 'system'}}{{{item.content}}}\n{{/eq}}
|
|
21
|
+
{{~/each}}`;
|
|
22
|
+
const DialogueHistory = `{{>ChatConversationHistory title=title chat_history=(__getDialogueHistory key)}}`;
|
|
23
|
+
const ThoughtsAndObservations = `{{~#each thoughts as | step |}}
|
|
24
|
+
{{~#if step.thought}}Thought: {{{step.thought}}}\n{{/if}}
|
|
25
|
+
{{~#if step.observation}}Observation: {{{step.observation}}}\n{{/if}}
|
|
26
|
+
{{~/each}}`;
|
|
27
|
+
exports.partials = {
|
|
28
|
+
MarkdownCode,
|
|
29
|
+
DialogueHistory,
|
|
30
|
+
ChatConversationHistory,
|
|
31
|
+
ThoughtsAndObservations,
|
|
32
|
+
ThoughtActionResult,
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"src/","sources":["utils/modules/handlebars/templates/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,QAAQ,CAAC;AAChC,QAAA,gBAAgB,GAAG,KAAK,CAAC;AAEtC,MAAM,YAAY,GAAG;;cAEP,CAAC;AAEf,MAAM,mBAAmB,GAAG;;;;;;UAMlB,CAAC;AAEX,MAAM,uBAAuB,GAAG;;;;;WAKrB,CAAC;AAEZ,MAAM,eAAe,GAAG,kFAAkF,CAAC;AAE3G,MAAM,uBAAuB,GAAG;;;WAGrB,CAAC;AAEC,QAAA,QAAQ,GAAG;IACtB,YAAY;IACZ,eAAe;IACf,uBAAuB;IACvB,uBAAuB;IACvB,mBAAmB;CACpB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ObjectArray, PlainObject } from "../../interfaces";
|
|
2
|
+
import { Narrow } from "json-schema-to-ts/lib/types/type-utils";
|
|
3
|
+
import get from "lodash.get";
|
|
4
|
+
import set from "lodash.set";
|
|
5
|
+
import pick from "lodash.pick";
|
|
6
|
+
import { v4 as uuidv4 } from "uuid";
|
|
7
|
+
export { uuidv4 as uuid };
|
|
8
|
+
export { get, set, pick };
|
|
9
|
+
export { filterObjectOnSchema } from "./json-schema-filter";
|
|
10
|
+
export { replaceTemplateString } from "./replaceTemplateString";
|
|
11
|
+
export { asyncCallWithTimeout } from "./asyncCallWithTimeout";
|
|
12
|
+
export { maybeStringifyJSON, maybeParseJSON, isObjectStringified, } from "./json";
|
|
13
|
+
export declare function assert(condition: any, message?: string | Error | undefined): asserts condition;
|
|
14
|
+
export declare const chunkArray: (arr: any[], chunkSize: number) => any;
|
|
15
|
+
export declare function defineSchema<T>(obj: Narrow<T>): Narrow<T>;
|
|
16
|
+
export declare function enforceResultAttributes<O>(input: any): {
|
|
17
|
+
result: O;
|
|
18
|
+
attributes: {};
|
|
19
|
+
};
|
|
20
|
+
export declare function ensureInputIsObject<T extends ObjectArray>(input: T): {
|
|
21
|
+
input: T;
|
|
22
|
+
};
|
|
23
|
+
export declare function ensureInputIsObject<T>(input: number[]): {
|
|
24
|
+
input: number[];
|
|
25
|
+
};
|
|
26
|
+
export declare function ensureInputIsObject<T>(input: string[]): {
|
|
27
|
+
input: string[];
|
|
28
|
+
};
|
|
29
|
+
export declare function ensureInputIsObject<T>(input: string): {
|
|
30
|
+
input: string;
|
|
31
|
+
};
|
|
32
|
+
export declare function ensureInputIsObject<T>(input: number): {
|
|
33
|
+
input: number;
|
|
34
|
+
};
|
|
35
|
+
export declare function ensureInputIsObject<T extends PlainObject>(input: T): T;
|
|
36
|
+
export declare function inferFunctionName(func: any, defaultName: string): string;
|
|
37
|
+
export declare function removeEmptyFromObject<T extends Record<string, any>>(obj: T): T;
|
|
38
|
+
export declare function generateUniqueNameId(prefix?: string, suffix?: string): string;
|
|
39
|
+
export declare function isNull(value: any): boolean;
|
|
40
|
+
export declare function isUndefined(value: any): boolean;
|
|
41
|
+
export declare function isFinite(value: any): boolean;
|
|
42
|
+
export declare function toNumber(value: any): number;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.toNumber = exports.isFinite = exports.isUndefined = exports.isNull = exports.generateUniqueNameId = exports.removeEmptyFromObject = exports.inferFunctionName = exports.ensureInputIsObject = exports.enforceResultAttributes = exports.defineSchema = exports.chunkArray = exports.assert = exports.isObjectStringified = exports.maybeParseJSON = exports.maybeStringifyJSON = exports.asyncCallWithTimeout = exports.replaceTemplateString = exports.filterObjectOnSchema = exports.pick = exports.set = exports.get = exports.uuid = void 0;
|
|
7
|
+
const json_schema_to_ts_1 = require("json-schema-to-ts");
|
|
8
|
+
const lodash_get_1 = __importDefault(require("lodash.get"));
|
|
9
|
+
exports.get = lodash_get_1.default;
|
|
10
|
+
const lodash_set_1 = __importDefault(require("lodash.set"));
|
|
11
|
+
exports.set = lodash_set_1.default;
|
|
12
|
+
const lodash_pick_1 = __importDefault(require("lodash.pick"));
|
|
13
|
+
exports.pick = lodash_pick_1.default;
|
|
14
|
+
const uuid_1 = require("uuid");
|
|
15
|
+
Object.defineProperty(exports, "uuid", { enumerable: true, get: function () { return uuid_1.v4; } });
|
|
16
|
+
var json_schema_filter_1 = require("./json-schema-filter");
|
|
17
|
+
Object.defineProperty(exports, "filterObjectOnSchema", { enumerable: true, get: function () { return json_schema_filter_1.filterObjectOnSchema; } });
|
|
18
|
+
var replaceTemplateString_1 = require("./replaceTemplateString");
|
|
19
|
+
Object.defineProperty(exports, "replaceTemplateString", { enumerable: true, get: function () { return replaceTemplateString_1.replaceTemplateString; } });
|
|
20
|
+
var asyncCallWithTimeout_1 = require("./asyncCallWithTimeout");
|
|
21
|
+
Object.defineProperty(exports, "asyncCallWithTimeout", { enumerable: true, get: function () { return asyncCallWithTimeout_1.asyncCallWithTimeout; } });
|
|
22
|
+
var json_1 = require("./json");
|
|
23
|
+
Object.defineProperty(exports, "maybeStringifyJSON", { enumerable: true, get: function () { return json_1.maybeStringifyJSON; } });
|
|
24
|
+
Object.defineProperty(exports, "maybeParseJSON", { enumerable: true, get: function () { return json_1.maybeParseJSON; } });
|
|
25
|
+
Object.defineProperty(exports, "isObjectStringified", { enumerable: true, get: function () { return json_1.isObjectStringified; } });
|
|
26
|
+
function assert(condition, message) {
|
|
27
|
+
if (condition === undefined || condition === null || condition === false) {
|
|
28
|
+
if (typeof message === "string") {
|
|
29
|
+
throw new Error(message);
|
|
30
|
+
}
|
|
31
|
+
else if (message instanceof Error) {
|
|
32
|
+
throw message;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
throw new Error(`Assertion error`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.assert = assert;
|
|
40
|
+
const chunkArray = (arr, chunkSize) => arr.reduce((chunks, elem, index) => {
|
|
41
|
+
const chunkIndex = Math.floor(index / chunkSize);
|
|
42
|
+
const chunk = chunks[chunkIndex] || [];
|
|
43
|
+
chunks[chunkIndex] = chunk.concat([elem]);
|
|
44
|
+
return chunks;
|
|
45
|
+
}, []);
|
|
46
|
+
exports.chunkArray = chunkArray;
|
|
47
|
+
function defineSchema(obj) {
|
|
48
|
+
obj.additionalProperties = false;
|
|
49
|
+
return (0, json_schema_to_ts_1.asConst)(obj);
|
|
50
|
+
}
|
|
51
|
+
exports.defineSchema = defineSchema;
|
|
52
|
+
function enforceResultAttributes(input) {
|
|
53
|
+
if (!input) {
|
|
54
|
+
return { result: input, attributes: {} };
|
|
55
|
+
}
|
|
56
|
+
if (typeof input === "object" &&
|
|
57
|
+
((Object.keys(input).length === 2 &&
|
|
58
|
+
"result" in input &&
|
|
59
|
+
"attributes" in input) ||
|
|
60
|
+
(Object.keys(input).length === 1 &&
|
|
61
|
+
("result" in input || "attributes" in input)))) {
|
|
62
|
+
return input;
|
|
63
|
+
}
|
|
64
|
+
return { result: input, attributes: {} };
|
|
65
|
+
}
|
|
66
|
+
exports.enforceResultAttributes = enforceResultAttributes;
|
|
67
|
+
function ensureInputIsObject(input) {
|
|
68
|
+
if (input === null || typeof input === "undefined") {
|
|
69
|
+
return { input: input };
|
|
70
|
+
}
|
|
71
|
+
switch (typeof input) {
|
|
72
|
+
case "object": {
|
|
73
|
+
if (Array.isArray(input)) {
|
|
74
|
+
return { input: input };
|
|
75
|
+
}
|
|
76
|
+
return input;
|
|
77
|
+
}
|
|
78
|
+
default:
|
|
79
|
+
return { input: input };
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.ensureInputIsObject = ensureInputIsObject;
|
|
83
|
+
function inferFunctionName(func, defaultName) {
|
|
84
|
+
const name = func?.name;
|
|
85
|
+
if (name && typeof name === "string") {
|
|
86
|
+
if (name.substring(0, 6) === "bound ") {
|
|
87
|
+
return name.replace("bound ", "");
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
return name;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
var result = /^function\s+([\w\$]+)\s*\(/.exec(func.toString());
|
|
94
|
+
return result ? result[1] : defaultName;
|
|
95
|
+
}
|
|
96
|
+
exports.inferFunctionName = inferFunctionName;
|
|
97
|
+
function removeEmptyFromObject(obj) {
|
|
98
|
+
assert(typeof obj === "object", "invalid object");
|
|
99
|
+
return Object.fromEntries(Object.entries(obj).filter(([_, v]) => !isNull(v) && !isUndefined(v)));
|
|
100
|
+
}
|
|
101
|
+
exports.removeEmptyFromObject = removeEmptyFromObject;
|
|
102
|
+
function generateUniqueNameId(prefix = "", suffix = "") {
|
|
103
|
+
//https://stackoverflow.com/questions/6248666/how-to-generate-short-uid-like-ax4j9z-in-js
|
|
104
|
+
const _firstPart = (Math.random() * 46656) | 0;
|
|
105
|
+
const _secondPart = (Math.random() * 46656) | 0;
|
|
106
|
+
const firstPart = ("000" + _firstPart.toString(36)).slice(-3);
|
|
107
|
+
const secondPart = ("000" + _secondPart.toString(36)).slice(-3);
|
|
108
|
+
return `${prefix}${firstPart}${secondPart}${suffix}`;
|
|
109
|
+
}
|
|
110
|
+
exports.generateUniqueNameId = generateUniqueNameId;
|
|
111
|
+
function isNull(value) {
|
|
112
|
+
return Object.is(value, null);
|
|
113
|
+
}
|
|
114
|
+
exports.isNull = isNull;
|
|
115
|
+
function isUndefined(value) {
|
|
116
|
+
return value === undefined || typeof value === undefined;
|
|
117
|
+
}
|
|
118
|
+
exports.isUndefined = isUndefined;
|
|
119
|
+
function isFinite(value) {
|
|
120
|
+
return typeof value === "number" && Number.isFinite(value);
|
|
121
|
+
}
|
|
122
|
+
exports.isFinite = isFinite;
|
|
123
|
+
function toNumber(value) {
|
|
124
|
+
if (typeof value === "number") {
|
|
125
|
+
return value;
|
|
126
|
+
}
|
|
127
|
+
if (typeof value === "string" && value.trim() !== "") {
|
|
128
|
+
return Number(value);
|
|
129
|
+
}
|
|
130
|
+
return NaN;
|
|
131
|
+
}
|
|
132
|
+
exports.toNumber = toNumber;
|
|
133
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"src/","sources":["utils/modules/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function filterObjectOnSchema(schema: any, doc: any, detach?: any): any;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.filterObjectOnSchema = void 0;
|
|
4
|
+
function isObject(obj) {
|
|
5
|
+
return obj === Object(obj);
|
|
6
|
+
}
|
|
7
|
+
function getType(schemaType) {
|
|
8
|
+
if (!Array.isArray(schemaType)) {
|
|
9
|
+
return schemaType;
|
|
10
|
+
}
|
|
11
|
+
// the type is an array of types instead
|
|
12
|
+
// grab the first non-null type as validator (e.g. ['object', 'null'])
|
|
13
|
+
var typeArray = schemaType;
|
|
14
|
+
for (var i = 0; i < typeArray.length; i++) {
|
|
15
|
+
var type = typeArray[i];
|
|
16
|
+
if (type !== "null") {
|
|
17
|
+
return type;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function filterObjectOnSchema(schema, doc, detach) {
|
|
22
|
+
let result; // returns the resulting filtered thing from this level; can be object, array, literal, ...
|
|
23
|
+
// if the document is null/undefined, short-circuit and return it
|
|
24
|
+
if (doc === null || doc === undefined) {
|
|
25
|
+
return doc;
|
|
26
|
+
}
|
|
27
|
+
// otherwise, let's build the result based on casework
|
|
28
|
+
var type = getType(schema.type);
|
|
29
|
+
if (type === "object" && isObject(doc) && schema.properties) {
|
|
30
|
+
result = {}; // holds filtered set of object key/values from this level
|
|
31
|
+
// process properties recursively
|
|
32
|
+
Object.keys(schema.properties).forEach(function (key) {
|
|
33
|
+
var child = doc[key];
|
|
34
|
+
var sp = schema.properties[key];
|
|
35
|
+
var filteredChild = filterObjectOnSchema(sp, child, detach);
|
|
36
|
+
if (filteredChild === undefined) {
|
|
37
|
+
if (typeof sp?.default !== "undefined") {
|
|
38
|
+
// add default value if undefined and has default
|
|
39
|
+
result[key] = sp.default;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
// filter out if the child is undefined and no default
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
// keep the child if it's defined properly or null
|
|
48
|
+
result[key] = filteredChild;
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
else if (type === "object" && isObject(doc) && detach) {
|
|
53
|
+
return {};
|
|
54
|
+
}
|
|
55
|
+
else if (type === "array" && Array.isArray(doc) && schema.items) {
|
|
56
|
+
// check that the doc is also an array
|
|
57
|
+
result = [];
|
|
58
|
+
doc.forEach(function (item) {
|
|
59
|
+
result.push(filterObjectOnSchema(schema.items, item, detach));
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
// literals, or if object/array schema def. vs real thing doesn't match
|
|
64
|
+
result = doc;
|
|
65
|
+
}
|
|
66
|
+
return result;
|
|
67
|
+
}
|
|
68
|
+
exports.filterObjectOnSchema = filterObjectOnSchema;
|
|
69
|
+
//# sourceMappingURL=json-schema-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-schema-filter.js","sourceRoot":"src/","sources":["utils/modules/json-schema-filter.ts"],"names":[],"mappings":";;;AAAA,SAAS,QAAQ,CAAC,GAAQ;IACxB,OAAO,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,OAAO,CAAC,UAAe;IAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QAC9B,OAAO,UAAU,CAAC;KACnB;IAED,wCAAwC;IACxC,sEAAsE;IACtE,IAAI,SAAS,GAAG,UAAU,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACzC,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,IAAI,KAAK,MAAM,EAAE;YACnB,OAAO,IAAI,CAAC;SACb;KACF;AACH,CAAC;AAED,SAAgB,oBAAoB,CAAC,MAAW,EAAE,GAAQ,EAAE,MAAY;IACtE,IAAI,MAAW,CAAC,CAAC,2FAA2F;IAE5G,iEAAiE;IACjE,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE;QACrC,OAAO,GAAG,CAAC;KACZ;IAED,sDAAsD;IACtD,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE;QAC3D,MAAM,GAAG,EAAE,CAAC,CAAC,0DAA0D;QAEvE,iCAAiC;QACjC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG;YAClD,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACrB,IAAI,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAEhC,IAAI,aAAa,GAAG,oBAAoB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAE5D,IAAI,aAAa,KAAK,SAAS,EAAE;gBAC/B,IAAI,OAAO,EAAE,EAAE,OAAO,KAAK,WAAW,EAAE;oBACtC,iDAAiD;oBACjD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;iBAC1B;qBAAM;oBACL,sDAAsD;oBACtD,OAAO;iBACR;aACF;iBAAM;gBACL,kDAAkD;gBAClD,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC;aAC7B;QACH,CAAC,CAAC,CAAC;KACJ;SAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE;QACvD,OAAO,EAAE,CAAC;KACX;SAAM,IAAI,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE;QACjE,sCAAsC;QACtC,MAAM,GAAG,EAAE,CAAC;QACZ,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI;YACxB,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,uEAAuE;QACvE,MAAM,GAAG,GAAG,CAAC;KACd;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AA/CD,oDA+CC"}
|