llm-exe 0.0.6 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/dist/executor/_base.d.ts +9 -6
  2. package/dist/executor/_base.js +21 -7
  3. package/dist/executor/_base.js.map +1 -1
  4. package/dist/executor/_functions.js.map +1 -1
  5. package/dist/executor/core.js +1 -1
  6. package/dist/executor/core.js.map +1 -1
  7. package/dist/executor/index.d.ts +1 -0
  8. package/dist/executor/index.js +3 -1
  9. package/dist/executor/index.js.map +1 -1
  10. package/dist/executor/llm-openai-function.d.ts +16 -0
  11. package/dist/executor/llm-openai-function.js +28 -0
  12. package/dist/executor/llm-openai-function.js.map +1 -0
  13. package/dist/executor/llm.d.ts +5 -2
  14. package/dist/executor/llm.js +11 -2
  15. package/dist/executor/llm.js.map +1 -1
  16. package/dist/index.d.ts +2 -0
  17. package/dist/index.js +3 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/interfaces/chat.d.ts +52 -5
  20. package/dist/interfaces/functions.d.ts +5 -0
  21. package/dist/interfaces/openai.d.ts +14 -1
  22. package/dist/interfaces/parser.d.ts +1 -1
  23. package/dist/interfaces/utils.d.ts +3 -0
  24. package/dist/llm/_base.d.ts +7 -3
  25. package/dist/llm/_base.js +20 -5
  26. package/dist/llm/_base.js.map +1 -1
  27. package/dist/llm/openai.d.ts +4 -3
  28. package/dist/llm/openai.js +15 -15
  29. package/dist/llm/openai.js.map +1 -1
  30. package/dist/llm/output/openai.d.ts +6 -2
  31. package/dist/llm/output/openai.js +8 -1
  32. package/dist/llm/output/openai.js.map +1 -1
  33. package/dist/parser/_base.d.ts +15 -15
  34. package/dist/parser/_base.js +31 -32
  35. package/dist/parser/_base.js.map +1 -1
  36. package/dist/parser/_functions.d.ts +47 -41
  37. package/dist/parser/_functions.js +3 -3
  38. package/dist/parser/_functions.js.map +1 -1
  39. package/dist/parser/_utils.d.ts +3 -0
  40. package/dist/parser/_utils.js +24 -0
  41. package/dist/parser/_utils.js.map +1 -0
  42. package/dist/parser/index.d.ts +3 -2
  43. package/dist/parser/index.js +4 -1
  44. package/dist/parser/index.js.map +1 -1
  45. package/dist/parser/parsers/CustomParser.d.ts +2 -2
  46. package/dist/parser/parsers/CustomParser.js.map +1 -1
  47. package/dist/parser/parsers/JsonParser.d.ts +5 -5
  48. package/dist/parser/parsers/JsonParser.js +16 -4
  49. package/dist/parser/parsers/JsonParser.js.map +1 -1
  50. package/dist/parser/parsers/ListToJsonParser.d.ts +5 -5
  51. package/dist/parser/parsers/ListToJsonParser.js +11 -3
  52. package/dist/parser/parsers/ListToJsonParser.js.map +1 -1
  53. package/dist/parser/parsers/OpenAiFunctionParser.d.ts +16 -0
  54. package/dist/parser/parsers/OpenAiFunctionParser.js +32 -0
  55. package/dist/parser/parsers/OpenAiFunctionParser.js.map +1 -0
  56. package/dist/parser/parsers/StringExtractParser.js +3 -1
  57. package/dist/parser/parsers/StringExtractParser.js.map +1 -1
  58. package/dist/plugins/callable/callable.d.ts +18 -15
  59. package/dist/plugins/callable/callable.js +33 -10
  60. package/dist/plugins/callable/callable.js.map +1 -1
  61. package/dist/plugins/callable/index.d.ts +7 -16
  62. package/dist/plugins/callable/index.js +7 -6
  63. package/dist/plugins/callable/index.js.map +1 -1
  64. package/dist/prompt/_base.js +2 -2
  65. package/dist/prompt/_base.js.map +1 -1
  66. package/dist/prompt/chat.d.ts +21 -1
  67. package/dist/prompt/chat.js +97 -12
  68. package/dist/prompt/chat.js.map +1 -1
  69. package/dist/state/dialogue.d.ts +9 -3
  70. package/dist/state/dialogue.js +31 -2
  71. package/dist/state/dialogue.js.map +1 -1
  72. package/dist/state/item.d.ts +0 -1
  73. package/dist/state/item.js +0 -1
  74. package/dist/state/item.js.map +1 -1
  75. package/dist/utils/const.d.ts +13 -0
  76. package/dist/utils/const.js +14 -1
  77. package/dist/utils/const.js.map +1 -1
  78. package/dist/utils/modules/index.d.ts +7 -1
  79. package/dist/utils/modules/index.js +4 -0
  80. package/dist/utils/modules/index.js.map +1 -1
  81. package/dist/utils/modules/json-schema-filter.js +9 -1
  82. package/dist/utils/modules/json-schema-filter.js.map +1 -1
  83. package/package.json +6 -4
@@ -11,13 +11,13 @@ export declare class CustomParser<O = any> extends BaseParser<O> {
11
11
  * Custom parsing function.
12
12
  * @type {any}
13
13
  */
14
- parserFn: (text: string, inputValues: ExecutorContext<any, O>) => O;
14
+ parserFn: (text: string, inputValues: ExecutorContext<any, any>) => O;
15
15
  /**
16
16
  * Creates a new CustomParser instance.
17
17
  * @param {string} name The name of the parser.
18
18
  * @param {any} parserFn The custom parsing function.
19
19
  */
20
- constructor(name: string, parserFn: (text: string, inputValues: ExecutorContext<any, O>) => O);
20
+ constructor(name: string, parserFn: (text: string, inputValues: ExecutorContext<any, any>) => O);
21
21
  /**
22
22
  * Parses the text using the custom parsing function.
23
23
  * @param {string} text The text to be parsed.
@@ -1 +1 @@
1
- {"version":3,"file":"CustomParser.js","sourceRoot":"src/","sources":["parser/parsers/CustomParser.ts"],"names":[],"mappings":";;;AACA,oCAAsC;AAEtC;;;;;GAKG;AACH,MAAa,YAAsB,SAAQ,kBAAa;IAMtD;;;;OAIG;IACH,YACE,IAAY,EACZ,QAAmE;QAEnE,KAAK,CAAC,IAAI,CAAC,CAAC;QAdd;;;WAGG;QACH;;;;;WAA2E;QAWzE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IACD;;;;;OAKG;IACH,KAAK,CAAC,IAAY,EAAE,WAAoC;QACtD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;CACF;AA3BD,oCA2BC"}
1
+ {"version":3,"file":"CustomParser.js","sourceRoot":"src/","sources":["parser/parsers/CustomParser.ts"],"names":[],"mappings":";;;AACA,oCAAsC;AAEtC;;;;;GAKG;AACH,MAAa,YAAsB,SAAQ,kBAAa;IAMtD;;;;OAIG;IACH,YACE,IAAY,EACZ,QAAqE;QAErE,KAAK,CAAC,IAAI,CAAC,CAAC;QAdd;;;WAGG;QACH;;;;;WAA6E;QAW3E,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IACD;;;;;OAKG;IACH,KAAK,CAAC,IAAY,EAAE,WAAoC;QACtD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;CACF;AA3BD,oCA2BC"}
@@ -1,7 +1,7 @@
1
- import { BaseParser } from "../_base";
2
- import { FromSchema, JSONSchema } from "json-schema-to-ts";
3
- import { BaseParserOptionsWithSchema } from "../../types";
4
- export declare class JsonParser<S extends JSONSchema | undefined = undefined, T = S extends JSONSchema ? FromSchema<S> : Record<string, any>> extends BaseParser<T> {
1
+ import { BaseParserWithJson } from "../_base";
2
+ import { JSONSchema } from "json-schema-to-ts";
3
+ import { BaseParserOptionsWithSchema, ParserOutput } from "../../types";
4
+ export declare class JsonParser<S extends JSONSchema | undefined = undefined> extends BaseParserWithJson<S> {
5
5
  constructor(options?: BaseParserOptionsWithSchema<S>);
6
- parse(text: string): T;
6
+ parse(text: string, _attributes?: Record<string, any>): ParserOutput<BaseParserWithJson<S>>;
7
7
  }
@@ -3,12 +3,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.JsonParser = void 0;
4
4
  const utils_1 = require("../../utils");
5
5
  const _base_1 = require("../_base");
6
- class JsonParser extends _base_1.BaseParser {
7
- constructor(options) {
6
+ const _utils_1 = require("../_utils");
7
+ class JsonParser extends _base_1.BaseParserWithJson {
8
+ constructor(options = {}) {
8
9
  super("json", options);
9
10
  }
10
- parse(text) {
11
- return (0, utils_1.maybeParseJSON)(text);
11
+ parse(text, _attributes) {
12
+ const parsed = (0, utils_1.maybeParseJSON)(text);
13
+ if (this.schema) {
14
+ const enforce = (0, _utils_1.enforceParserSchema)(this.schema, parsed);
15
+ if (this.validateSchema) {
16
+ const valid = (0, _utils_1.validateParserSchema)(this.schema, enforce);
17
+ if (valid && valid.length) {
18
+ throw new Error(valid[0].message);
19
+ }
20
+ }
21
+ return enforce;
22
+ }
23
+ return parsed;
12
24
  }
13
25
  }
14
26
  exports.JsonParser = JsonParser;
@@ -1 +1 @@
1
- {"version":3,"file":"JsonParser.js","sourceRoot":"src/","sources":["parser/parsers/JsonParser.ts"],"names":[],"mappings":";;;AAAA,mCAAyC;AACzC,oCAAsC;AAItC,MAAa,UAGX,SAAQ,kBAAa;IACrB,YAAY,OAAwC;QAClD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAY;QAChB,OAAO,IAAA,sBAAc,EAAI,IAAI,CAAC,CAAC;IACjC,CAAC;CACF;AAXD,gCAWC"}
1
+ {"version":3,"file":"JsonParser.js","sourceRoot":"src/","sources":["parser/parsers/JsonParser.ts"],"names":[],"mappings":";;;AAAA,mCAAyC;AACzC,oCAA8C;AAG9C,sCAAsE;AAEtE,MAAa,UAEX,SAAQ,0BAAqB;IAC7B,YAAY,UAA0C,EAAE;QACtD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CACH,IAAY,EACZ,WAAiC;QAEjC,MAAM,MAAM,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,MAAM,OAAO,GAAG,IAAA,4BAAmB,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,MAAM,KAAK,GAAG,IAAA,6BAAoB,EAAC,IAAI,CAAC,MAAM,EAAE,OAAc,CAAC,CAAC;gBAChE,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;oBACzB,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;iBACnC;aACF;YACD,OAAO,OAAO,CAAC;SAChB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAxBD,gCAwBC"}
@@ -1,7 +1,7 @@
1
- import { BaseParserOptionsWithSchema } from "../../types";
2
- import { BaseParser } from "../_base";
3
- import { FromSchema, JSONSchema } from "json-schema-to-ts";
4
- export declare class ListToJsonParser<S extends JSONSchema | undefined = undefined, T = S extends JSONSchema ? FromSchema<S> : Record<string, any>> extends BaseParser<T> {
1
+ import { BaseParserOptionsWithSchema, ParserOutput } from "../../types";
2
+ import { BaseParserWithJson } from "../_base";
3
+ import { JSONSchema } from "json-schema-to-ts";
4
+ export declare class ListToJsonParser<S extends JSONSchema | undefined = undefined> extends BaseParserWithJson<S> {
5
5
  constructor(options?: BaseParserOptionsWithSchema<S>);
6
- parse(text: string): T;
6
+ parse(text: string): ParserOutput<BaseParserWithJson<S>>;
7
7
  }
@@ -3,8 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ListToJsonParser = void 0;
4
4
  const utils_1 = require("../../utils");
5
5
  const _base_1 = require("../_base");
6
- class ListToJsonParser extends _base_1.BaseParser {
7
- constructor(options) {
6
+ const _utils_1 = require("../_utils");
7
+ class ListToJsonParser extends _base_1.BaseParserWithJson {
8
+ constructor(options = {}) {
8
9
  super("listToJson", options);
9
10
  }
10
11
  parse(text) {
@@ -17,7 +18,14 @@ class ListToJsonParser extends _base_1.BaseParser {
17
18
  }
18
19
  });
19
20
  if (this.schema) {
20
- return this.enforceSchema(output);
21
+ const parsed = (0, _utils_1.enforceParserSchema)(this.schema, output);
22
+ if (this?.validateSchema) {
23
+ const valid = (0, _utils_1.validateParserSchema)(this.schema, parsed);
24
+ if (valid && valid.length) {
25
+ throw new Error(valid[0].message);
26
+ }
27
+ }
28
+ return parsed;
21
29
  }
22
30
  return output;
23
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ListToJsonParser.js","sourceRoot":"src/","sources":["parser/parsers/ListToJsonParser.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AAEpC,oCAAsC;AAGtC,MAAa,gBAGX,SAAQ,kBAAa;IACrB,YAAY,OAAwC;QAClD,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,KAAK,CAAC,IAAY;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,KAAK,EAAE;gBACT,MAAM,CAAC,IAAA,iBAAS,EAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SACnC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AArBD,4CAqBC"}
1
+ {"version":3,"file":"ListToJsonParser.js","sourceRoot":"src/","sources":["parser/parsers/ListToJsonParser.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AAEpC,oCAA8C;AAE9C,sCAAsE;AAEtE,MAAa,gBAEX,SAAQ,0BAAqB;IAC7B,YAAY,UAA0C,EAAE;QACtD,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,KAAK,CAAC,IAAY;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,KAAK,EAAE;gBACT,MAAM,CAAC,IAAA,iBAAS,EAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,MAAM,MAAM,GAAG,IAAA,4BAAmB,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACxD,IAAG,IAAI,EAAE,cAAc,EAAC;gBACtB,MAAM,KAAK,GAAG,IAAA,6BAAoB,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACxD,IAAG,KAAK,IAAI,KAAK,CAAC,MAAM,EAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;iBAClC;aACF;YACD,OAAO,MAAM,CAAA;SACd;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA3BD,4CA2BC"}
@@ -0,0 +1,16 @@
1
+ import { BaseParserOptions, ParserOutput } from "../../types";
2
+ import { BaseParser } from "../_base";
3
+ export interface OpenAiFunctionParserOptions<T extends BaseParser<any>> extends BaseParserOptions {
4
+ parser: T;
5
+ }
6
+ export declare class OpenAiFunctionParser<T extends BaseParser<any>> extends BaseParser<ParserOutput<T> | {
7
+ name: string;
8
+ arguments: string;
9
+ }> {
10
+ parser: T;
11
+ constructor(options: OpenAiFunctionParserOptions<T>);
12
+ parse(text: string): ParserOutput<T> | {
13
+ name: any;
14
+ arguments: any;
15
+ };
16
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OpenAiFunctionParser = void 0;
4
+ const _base_1 = require("../_base");
5
+ const utils_1 = require("../../utils");
6
+ class OpenAiFunctionParser extends _base_1.BaseParser {
7
+ constructor(options) {
8
+ super("openAiFunction", options);
9
+ Object.defineProperty(this, "parser", {
10
+ enumerable: true,
11
+ configurable: true,
12
+ writable: true,
13
+ value: void 0
14
+ });
15
+ this.parser = options.parser;
16
+ }
17
+ parse(text) {
18
+ const isFunctionCall = (0, utils_1.maybeParseJSON)(text);
19
+ if (typeof isFunctionCall === "object" &&
20
+ isFunctionCall?.function_call &&
21
+ "name" in isFunctionCall.function_call &&
22
+ "arguments" in isFunctionCall.function_call) {
23
+ return {
24
+ name: isFunctionCall.function_call.name,
25
+ arguments: (0, utils_1.maybeParseJSON)(isFunctionCall.function_call.arguments),
26
+ };
27
+ }
28
+ return this.parser.parse(text);
29
+ }
30
+ }
31
+ exports.OpenAiFunctionParser = OpenAiFunctionParser;
32
+ //# sourceMappingURL=OpenAiFunctionParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAiFunctionParser.js","sourceRoot":"src/","sources":["parser/parsers/OpenAiFunctionParser.ts"],"names":[],"mappings":";;;AACA,oCAAsC;AACtC,mCAAyC;AAQzC,MAAa,oBAEX,SAAQ,kBAMT;IAGC,YAAY,OAAuC;QACjD,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAHnC;;;;;WAAgB;QAId,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC9B,CAAC;IACD,KAAK,CAAC,IAAY;QAChB,MAAM,cAAc,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAC;QAC5C,IACE,OAAO,cAAc,KAAK,QAAQ;YAClC,cAAc,EAAE,aAAa;YAC7B,MAAM,IAAI,cAAc,CAAC,aAAa;YACtC,WAAW,IAAI,cAAc,CAAC,aAAa,EAC3C;YACA,OAAO;gBACL,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC,IAAI;gBACvC,SAAS,EAAE,IAAA,sBAAc,EAAC,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC;aAClE,CAAC;SACH;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAoB,CAAC;IACpD,CAAC;CACF;AA/BD,oDA+BC"}
@@ -28,7 +28,9 @@ class StringExtractParser extends _base_1.BaseParser {
28
28
  parse(text) {
29
29
  (0, utils_1.assert)(typeof text === "string", `Invalid input. Expected string. Received ${typeof text}.`);
30
30
  for (const option of this.enum) {
31
- const regex = this.ignoreCase ? new RegExp(option.toLowerCase(), 'i') : new RegExp(option);
31
+ const regex = this.ignoreCase
32
+ ? new RegExp(option.toLowerCase(), "i")
33
+ : new RegExp(option);
32
34
  if (regex.test(text)) {
33
35
  return option;
34
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StringExtractParser.js","sourceRoot":"src/","sources":["parser/parsers/StringExtractParser.ts"],"names":[],"mappings":";;;AAAA,mCAAiC;AACjC,oCAAsC;AAQtC,MAAa,mBAAoB,SAAQ,kBAAkB;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,IAAA,cAAM,EACJ,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;AA1BD,kDA0BC"}
1
+ {"version":3,"file":"StringExtractParser.js","sourceRoot":"src/","sources":["parser/parsers/StringExtractParser.ts"],"names":[],"mappings":";;;AAAA,mCAAiC;AACjC,oCAAsC;AAQtC,MAAa,mBAAoB,SAAQ,kBAAkB;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,IAAI,OAAO,EAAE,UAAU,EAAE;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB;IACH,CAAC;IACD,KAAK,CAAC,IAAY;QAChB,IAAA,cAAM,EACJ,OAAO,IAAI,KAAK,QAAQ,EACxB,4CAA4C,OAAO,IAAI,GAAG,CAC3D,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU;gBAC3B,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC;gBACvC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;YACvB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACpB,OAAO,MAAM,CAAC;aACf;SACF;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AA5BD,kDA4BC"}
@@ -1,4 +1,4 @@
1
- import { FunctionOrExecutor, PlainObject } from "../../types";
1
+ import { CallableExecutorCore, FunctionOrExecutor, PlainObject } from "../../types";
2
2
  import { enforceResultAttributes } from "../../utils";
3
3
  import { BaseExecutor } from "../../executor";
4
4
  /**
@@ -13,14 +13,16 @@ import { BaseExecutor } from "../../executor";
13
13
  */
14
14
  export interface CallableExecutorInput<I extends PlainObject | {
15
15
  input: string;
16
- }, O> {
16
+ }, O> extends CallableExecutorCore {
17
17
  name: string;
18
- key?: string;
19
18
  description: string;
19
+ key?: string;
20
+ parameters?: Record<string, any>;
20
21
  input: string;
21
- visibilityHandler?(input: any, attributes: any, state: any): boolean;
22
+ attributes?: Record<string, any>;
23
+ visibilityHandler?(input: I, context: any, attributes?: Record<string, any>): boolean;
22
24
  handler?: FunctionOrExecutor<I, O>;
23
- validateInput?(input: I): Promise<ReturnType<typeof enforceResultAttributes<boolean>>>;
25
+ validateInput?(input: I, ...args: any[]): ReturnType<typeof enforceResultAttributes<boolean>> | Promise<ReturnType<typeof enforceResultAttributes<boolean>>>;
24
26
  }
25
27
  /**
26
28
  * Represents a CallableExecutor.
@@ -32,14 +34,16 @@ export interface CallableExecutorInput<I extends PlainObject | {
32
34
  * @property visibilityHandler - The visibility handler for the callable core function.
33
35
  * @property - The handler for the callable core function.
34
36
  */
35
- export interface CallableExecutor<I, O> {
36
- name: string;
37
+ export interface CallableExecutor<I, O> extends CallableExecutorCore {
37
38
  key: string;
38
- description: string;
39
+ attributes: Record<string, any>;
40
+ parameters: Record<string, any>;
39
41
  input: string;
40
- visibilityHandler(input: any, attributes: any, state: any): boolean;
41
42
  _handler: BaseExecutor<I, O>;
42
- _validateInput?(input: I): Promise<ReturnType<typeof enforceResultAttributes<boolean>>>;
43
+ visibilityHandler(input: any, attributes?: Record<string, any>): boolean;
44
+ _visibilityHandler?(input: any, context: any, attributes?: Record<string, any>): boolean;
45
+ validateInput(input: I): Promise<ReturnType<typeof enforceResultAttributes<boolean>>>;
46
+ _validateInput?(input: I, context: any): ReturnType<typeof enforceResultAttributes<boolean>> | Promise<ReturnType<typeof enforceResultAttributes<boolean>>>;
43
47
  }
44
48
  /**
45
49
  * A class representing a CallableExecutor.
@@ -52,17 +56,16 @@ export declare class CallableExecutor<I extends PlainObject | {
52
56
  key: string;
53
57
  description: string;
54
58
  input: string;
59
+ attributes: Record<string, any>;
60
+ parameters: Record<string, any>;
55
61
  _handler: BaseExecutor<I, O>;
56
- _validateInput?(input: I): Promise<ReturnType<typeof enforceResultAttributes<boolean>>>;
62
+ _validateInput?(input: I, context: any): ReturnType<typeof enforceResultAttributes<boolean>> | Promise<ReturnType<typeof enforceResultAttributes<boolean>>>;
63
+ _visibilityHandler?(input: any, context: any, attributes?: Record<string, any>): boolean;
57
64
  constructor(options: CallableExecutorInput<I, O>);
58
65
  execute(input: I): Promise<{
59
66
  result: O;
60
67
  attributes: any;
61
68
  }>;
62
- validateInput(input: I): Promise<{
63
- result: boolean;
64
- attributes: any;
65
- }>;
66
69
  }
67
70
  export declare abstract class UseExecutorsBase<I extends PlainObject | {
68
71
  input: string;
@@ -34,6 +34,18 @@ class CallableExecutor {
34
34
  writable: true,
35
35
  value: void 0
36
36
  });
37
+ Object.defineProperty(this, "attributes", {
38
+ enumerable: true,
39
+ configurable: true,
40
+ writable: true,
41
+ value: void 0
42
+ });
43
+ Object.defineProperty(this, "parameters", {
44
+ enumerable: true,
45
+ configurable: true,
46
+ writable: true,
47
+ value: void 0
48
+ });
37
49
  Object.defineProperty(this, "_handler", {
38
50
  enumerable: true,
39
51
  configurable: true,
@@ -41,16 +53,16 @@ class CallableExecutor {
41
53
  value: void 0
42
54
  });
43
55
  const defaults = {
44
- key: options.name,
45
- visibilityHandler: (_input, _attributes, _state) => true,
56
+ key: options.name
46
57
  };
47
58
  this.name = options.name;
48
59
  this.key = options?.key || defaults.key;
49
60
  this.description = options.description;
50
61
  this.input = options.input;
51
- this.visibilityHandler =
52
- options?.visibilityHandler || defaults.visibilityHandler;
62
+ this.parameters = options.parameters || {};
63
+ this.attributes = options?.attributes || {};
53
64
  this._validateInput = options.validateInput;
65
+ this._visibilityHandler = options?.visibilityHandler;
54
66
  if (options.handler instanceof executor_1.BaseExecutor) {
55
67
  this._handler = options.handler;
56
68
  }
@@ -66,11 +78,22 @@ class CallableExecutor {
66
78
  return (0, utils_1.enforceResultAttributes)(response);
67
79
  }
68
80
  async validateInput(input) {
69
- if (typeof this._validateInput === "function") {
70
- const response = await this._validateInput((0, utils_1.ensureInputIsObject)(input));
71
- return (0, utils_1.enforceResultAttributes)(response);
81
+ try {
82
+ if (typeof this._validateInput === "function") {
83
+ const response = await this._validateInput((0, utils_1.ensureInputIsObject)(input), this._handler.getMetadata());
84
+ return (0, utils_1.enforceResultAttributes)(response);
85
+ }
86
+ return { result: true, attributes: {} };
87
+ }
88
+ catch (error) {
89
+ return { result: false, attributes: { error: error.message } };
90
+ }
91
+ }
92
+ visibilityHandler(input, attributes) {
93
+ if (typeof this._visibilityHandler === "function") {
94
+ return this._visibilityHandler(input, this._handler.getMetadata(), attributes);
72
95
  }
73
- return { result: true, attributes: {} };
96
+ return true;
74
97
  }
75
98
  }
76
99
  exports.CallableExecutor = CallableExecutor;
@@ -93,11 +116,11 @@ class UseExecutorsBase {
93
116
  getFunctions() {
94
117
  return [...this.handlers];
95
118
  }
96
- getVisibleFunctions(_input, _attributes) {
119
+ getVisibleFunctions(_input, _attributes = {}) {
97
120
  const handlers = this.getFunctions();
98
121
  return handlers.filter((a) => typeof a.visibilityHandler === "undefined" ||
99
122
  (typeof a.visibilityHandler === "function" &&
100
- a.visibilityHandler(_input, _attributes, {})));
123
+ a.visibilityHandler(_input, _attributes)));
101
124
  }
102
125
  async callFunction(name, input) {
103
126
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"callable.js","sourceRoot":"src/","sources":["plugins/callable/callable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"callable.js","sourceRoot":"src/","sources":["plugins/callable/callable.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { PlainObject } from "../../types";
2
- import { CallableExecutor, CallableExecutorInput } from "./callable";
2
+ import { UseExecutorsBase, CallableExecutor, CallableExecutorInput } from "./callable";
3
3
  /**
4
4
  * Creates a new CallableExecutor instance.
5
5
  * @function createCallableExecutor
@@ -9,22 +9,13 @@ import { CallableExecutor, CallableExecutorInput } from "./callable";
9
9
  export declare function createCallableExecutor<I extends PlainObject | {
10
10
  input: string;
11
11
  }, O>(options: CallableExecutorInput<I, O>): CallableExecutor<I, O>;
12
+ export declare class UseExecutors<I extends PlainObject | {
13
+ input: string;
14
+ }, O extends any> extends UseExecutorsBase<I, O> {
15
+ constructor(handlers: CallableExecutor<I, O>[]);
16
+ }
12
17
  export declare function useExecutors<I extends PlainObject | {
13
18
  input: string;
14
19
  }, O extends any>(executors: [
15
20
  ...(CallableExecutor<any, any> | CallableExecutorInput<any, any>)[]
16
- ]): {
17
- handlers: CallableExecutor<I, O>[];
18
- hasFunction(name: string): boolean;
19
- getFunction(name: string): CallableExecutor<I, O> | undefined;
20
- getFunctions(): CallableExecutor<I, O>[];
21
- getVisibleFunctions(_input: any, _attributes?: any): CallableExecutor<I, O>[];
22
- callFunction(name: string, input: string): Promise<{
23
- result: any;
24
- attributes: any;
25
- }>;
26
- validateFunctionInput(name: string, input: string): Promise<{
27
- result: boolean;
28
- attributes: any;
29
- }>;
30
- };
21
+ ]): UseExecutors<I, O>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useExecutors = exports.createCallableExecutor = void 0;
3
+ exports.useExecutors = exports.UseExecutors = exports.createCallableExecutor = void 0;
4
4
  const callable_1 = require("./callable");
5
5
  /**
6
6
  * Creates a new CallableExecutor instance.
@@ -12,12 +12,13 @@ function createCallableExecutor(options) {
12
12
  return new callable_1.CallableExecutor(options);
13
13
  }
14
14
  exports.createCallableExecutor = createCallableExecutor;
15
- function useExecutors(executors) {
16
- class UseExecutors extends callable_1.UseExecutorsBase {
17
- constructor(handlers) {
18
- super(handlers);
19
- }
15
+ class UseExecutors extends callable_1.UseExecutorsBase {
16
+ constructor(handlers) {
17
+ super(handlers);
20
18
  }
19
+ }
20
+ exports.UseExecutors = UseExecutors;
21
+ function useExecutors(executors) {
21
22
  return new UseExecutors(executors.map((e) => {
22
23
  if (e instanceof callable_1.CallableExecutor)
23
24
  return e;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"src/","sources":["plugins/callable/index.ts"],"names":[],"mappings":";;;AACA,yCAIoB;AAEpB;;;;;GAKG;AACH,SAAgB,sBAAsB,CAGpC,OAAoC;IACpC,OAAO,IAAI,2BAAgB,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AALD,wDAKC;AAED,SAAgB,YAAY,CAI1B,SAEC;IAED,MAAM,YAAa,SAAQ,2BAAsB;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,2BAAgB;YAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAnBD,oCAmBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"src/","sources":["plugins/callable/index.ts"],"names":[],"mappings":";;;AACA,yCAIoB;AAEpB;;;;;GAKG;AACH,SAAgB,sBAAsB,CAGpC,OAAoC;IACpC,OAAO,IAAI,2BAAgB,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AALD,wDAKC;AAED,MAAa,YAGX,SAAQ,2BAAsB;IAC9B,YAAY,QAAkC;QAC5C,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClB,CAAC;CACF;AAPD,oCAOC;AAED,SAAgB,YAAY,CAI1B,SAEC;IAED,OAAO,IAAI,YAAY,CACrB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAClB,IAAI,CAAC,YAAY,2BAAgB;YAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAdD,oCAcC"}
@@ -111,10 +111,10 @@ class BasePrompt {
111
111
  /* istanbul ignore next */
112
112
  return this.messages
113
113
  .map((message) => {
114
- return (0, utils_1.replaceTemplateString)(message.content, replacements, {
114
+ return message.content ? (0, utils_1.replaceTemplateString)(message.content, replacements, {
115
115
  partials: this.partials,
116
116
  helpers: this.helpers,
117
- });
117
+ }) : "";
118
118
  })
119
119
  .join(separator);
120
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"_base.js","sourceRoot":"src/","sources":["prompt/_base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_base.js","sourceRoot":"src/","sources":["prompt/_base.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,8 @@ export declare class ChatPrompt<I extends Record<string, any>> extends BasePromp
35
35
  addToPrompt(content: string, role: Extract<IChatMessageRole, "assistant">, name?: undefined): ChatPrompt<I>;
36
36
  addToPrompt(content: string, role: Extract<IChatMessageRole, "system">, name?: undefined): ChatPrompt<I>;
37
37
  addToPrompt(content: string, role: Extract<IChatMessageRole, "user">, name?: string): ChatPrompt<I>;
38
+ addToPrompt(content: string, role: Extract<IChatMessageRole, "function">, name: string): ChatPrompt<I>;
39
+ addToPrompt(content: string, role: Extract<IChatMessageRole, "function_call">, name: string): ChatPrompt<I>;
38
40
  /**
39
41
  * addUserMessage Helper to add a user message to the prompt.
40
42
  * @param content The message content.
@@ -48,6 +50,21 @@ export declare class ChatPrompt<I extends Record<string, any>> extends BasePromp
48
50
  * @return ChatPrompt so it can be chained.
49
51
  */
50
52
  addAssistantMessage(content: string): ChatPrompt<I>;
53
+ /**
54
+ * addFunctionMessage Helper to add an assistant message to the prompt.
55
+ * @param content The message content.
56
+ * @return ChatPrompt so it can be chained.
57
+ */
58
+ addFunctionMessage(content: string, name: string): ChatPrompt<I>;
59
+ /**
60
+ * addFunctionCallMessage Helper to add an assistant message to the prompt.
61
+ * @param content The message content.
62
+ * @return ChatPrompt so it can be chained.
63
+ */
64
+ addFunctionCallMessage(function_call?: {
65
+ name: string;
66
+ arguments: string;
67
+ }): this;
51
68
  /**
52
69
  * addFromHistory Adds multiple messages at one time.
53
70
  * @param history History of chat messages.
@@ -59,7 +76,10 @@ export declare class ChatPrompt<I extends Record<string, any>> extends BasePromp
59
76
  * @param content The message content
60
77
  * @return returns ChatPrompt so it can be chained.
61
78
  */
62
- addChatHistoryPlaceholder(key: keyof I): ChatPrompt<I>;
79
+ addChatHistoryPlaceholder(key: keyof I, options?: {
80
+ assistant?: string;
81
+ user?: string;
82
+ }): ChatPrompt<I>;
63
83
  /**
64
84
  * addTokenPlaceholder description
65
85
  * @param content The message content