llm-exe 0.0.7 → 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 (71) hide show
  1. package/dist/executor/_base.d.ts +8 -5
  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/index.d.ts +1 -0
  6. package/dist/executor/index.js +3 -1
  7. package/dist/executor/index.js.map +1 -1
  8. package/dist/executor/llm-openai-function.d.ts +16 -0
  9. package/dist/executor/llm-openai-function.js +28 -0
  10. package/dist/executor/llm-openai-function.js.map +1 -0
  11. package/dist/executor/llm.d.ts +5 -2
  12. package/dist/executor/llm.js +11 -2
  13. package/dist/executor/llm.js.map +1 -1
  14. package/dist/index.d.ts +2 -0
  15. package/dist/index.js +3 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/interfaces/chat.d.ts +52 -5
  18. package/dist/interfaces/functions.d.ts +5 -0
  19. package/dist/interfaces/openai.d.ts +14 -1
  20. package/dist/interfaces/parser.d.ts +1 -2
  21. package/dist/interfaces/utils.d.ts +3 -0
  22. package/dist/llm/_base.d.ts +7 -3
  23. package/dist/llm/_base.js +20 -5
  24. package/dist/llm/_base.js.map +1 -1
  25. package/dist/llm/openai.d.ts +4 -3
  26. package/dist/llm/openai.js +15 -15
  27. package/dist/llm/openai.js.map +1 -1
  28. package/dist/llm/output/openai.d.ts +6 -2
  29. package/dist/llm/output/openai.js +8 -1
  30. package/dist/llm/output/openai.js.map +1 -1
  31. package/dist/parser/_base.d.ts +16 -7
  32. package/dist/parser/_base.js +32 -13
  33. package/dist/parser/_base.js.map +1 -1
  34. package/dist/parser/_functions.d.ts +46 -40
  35. package/dist/parser/_functions.js +3 -3
  36. package/dist/parser/_functions.js.map +1 -1
  37. package/dist/parser/index.d.ts +3 -2
  38. package/dist/parser/index.js +4 -1
  39. package/dist/parser/index.js.map +1 -1
  40. package/dist/parser/parsers/JsonParser.d.ts +5 -5
  41. package/dist/parser/parsers/JsonParser.js +4 -4
  42. package/dist/parser/parsers/JsonParser.js.map +1 -1
  43. package/dist/parser/parsers/ListToJsonParser.d.ts +5 -5
  44. package/dist/parser/parsers/ListToJsonParser.js +3 -3
  45. package/dist/parser/parsers/ListToJsonParser.js.map +1 -1
  46. package/dist/parser/parsers/OpenAiFunctionParser.d.ts +16 -0
  47. package/dist/parser/parsers/OpenAiFunctionParser.js +32 -0
  48. package/dist/parser/parsers/OpenAiFunctionParser.js.map +1 -0
  49. package/dist/plugins/callable/callable.d.ts +7 -6
  50. package/dist/plugins/callable/callable.js +7 -0
  51. package/dist/plugins/callable/callable.js.map +1 -1
  52. package/dist/plugins/callable/index.d.ts +7 -16
  53. package/dist/plugins/callable/index.js +7 -6
  54. package/dist/plugins/callable/index.js.map +1 -1
  55. package/dist/prompt/_base.js +2 -2
  56. package/dist/prompt/_base.js.map +1 -1
  57. package/dist/prompt/chat.d.ts +21 -1
  58. package/dist/prompt/chat.js +97 -12
  59. package/dist/prompt/chat.js.map +1 -1
  60. package/dist/state/dialogue.d.ts +9 -2
  61. package/dist/state/dialogue.js +31 -1
  62. package/dist/state/dialogue.js.map +1 -1
  63. package/dist/utils/const.d.ts +13 -0
  64. package/dist/utils/const.js +14 -1
  65. package/dist/utils/const.js.map +1 -1
  66. package/dist/utils/modules/index.d.ts +6 -0
  67. package/dist/utils/modules/index.js +4 -0
  68. package/dist/utils/modules/index.js.map +1 -1
  69. package/dist/utils/modules/json-schema-filter.js +1 -1
  70. package/dist/utils/modules/json-schema-filter.js.map +1 -1
  71. package/package.json +6 -4
@@ -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"}
@@ -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,10 +13,11 @@ 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
22
  attributes?: Record<string, any>;
22
23
  visibilityHandler?(input: I, context: any, attributes?: Record<string, any>): boolean;
@@ -33,11 +34,10 @@ export interface CallableExecutorInput<I extends PlainObject | {
33
34
  * @property visibilityHandler - The visibility handler for the callable core function.
34
35
  * @property - The handler for the callable core function.
35
36
  */
36
- export interface CallableExecutor<I, O> {
37
- name: string;
37
+ export interface CallableExecutor<I, O> extends CallableExecutorCore {
38
38
  key: string;
39
- description: string;
40
39
  attributes: Record<string, any>;
40
+ parameters: Record<string, any>;
41
41
  input: string;
42
42
  _handler: BaseExecutor<I, O>;
43
43
  visibilityHandler(input: any, attributes?: Record<string, any>): boolean;
@@ -57,6 +57,7 @@ export declare class CallableExecutor<I extends PlainObject | {
57
57
  description: string;
58
58
  input: string;
59
59
  attributes: Record<string, any>;
60
+ parameters: Record<string, any>;
60
61
  _handler: BaseExecutor<I, O>;
61
62
  _validateInput?(input: I, context: any): ReturnType<typeof enforceResultAttributes<boolean>> | Promise<ReturnType<typeof enforceResultAttributes<boolean>>>;
62
63
  _visibilityHandler?(input: any, context: any, attributes?: Record<string, any>): boolean;
@@ -40,6 +40,12 @@ class CallableExecutor {
40
40
  writable: true,
41
41
  value: void 0
42
42
  });
43
+ Object.defineProperty(this, "parameters", {
44
+ enumerable: true,
45
+ configurable: true,
46
+ writable: true,
47
+ value: void 0
48
+ });
43
49
  Object.defineProperty(this, "_handler", {
44
50
  enumerable: true,
45
51
  configurable: true,
@@ -53,6 +59,7 @@ class CallableExecutor {
53
59
  this.key = options?.key || defaults.key;
54
60
  this.description = options.description;
55
61
  this.input = options.input;
62
+ this.parameters = options.parameters || {};
56
63
  this.attributes = options?.attributes || {};
57
64
  this._validateInput = options.validateInput;
58
65
  this._visibilityHandler = options?.visibilityHandler;
@@ -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
@@ -52,6 +52,14 @@ class ChatPrompt extends _base_1.BasePrompt {
52
52
  case "assistant":
53
53
  this.addAssistantMessage(content);
54
54
  break;
55
+ case "function":
56
+ (0, utils_1.assert)(name, "Function message requires name");
57
+ this.addFunctionMessage(content, name);
58
+ break;
59
+ case "function_call":
60
+ (0, utils_1.assert)(name, "Function message requires name");
61
+ this.addFunctionCallMessage({ name: name, arguments: content });
62
+ break;
55
63
  }
56
64
  }
57
65
  return this;
@@ -85,6 +93,37 @@ class ChatPrompt extends _base_1.BasePrompt {
85
93
  });
86
94
  return this;
87
95
  }
96
+ /**
97
+ * addFunctionMessage Helper to add an assistant message to the prompt.
98
+ * @param content The message content.
99
+ * @return ChatPrompt so it can be chained.
100
+ */
101
+ addFunctionMessage(content, name) {
102
+ this.messages.push({
103
+ role: "function",
104
+ name,
105
+ content,
106
+ });
107
+ return this;
108
+ }
109
+ /**
110
+ * addFunctionCallMessage Helper to add an assistant message to the prompt.
111
+ * @param content The message content.
112
+ * @return ChatPrompt so it can be chained.
113
+ */
114
+ addFunctionCallMessage(function_call) {
115
+ if (function_call) {
116
+ this.messages.push({
117
+ role: "assistant",
118
+ function_call: {
119
+ name: function_call.name,
120
+ arguments: (0, utils_1.maybeStringifyJSON)(function_call.arguments),
121
+ },
122
+ content: null,
123
+ });
124
+ }
125
+ return this;
126
+ }
88
127
  /**
89
128
  * addFromHistory Adds multiple messages at one time.
90
129
  * @param history History of chat messages.
@@ -98,11 +137,19 @@ class ChatPrompt extends _base_1.BasePrompt {
98
137
  this.addUserMessage(message.content, message?.name);
99
138
  break;
100
139
  case "assistant":
101
- this.addAssistantMessage(message.content);
140
+ if (message.function_call) {
141
+ this.addFunctionCallMessage(message.function_call);
142
+ }
143
+ else if (message?.content) {
144
+ this.addAssistantMessage(message?.content);
145
+ }
102
146
  break;
103
147
  case "system":
104
148
  this.addSystemMessage(message.content);
105
149
  break;
150
+ case "function":
151
+ this.addFunctionMessage(message.content, message.name);
152
+ break;
106
153
  }
107
154
  }
108
155
  }
@@ -113,10 +160,16 @@ class ChatPrompt extends _base_1.BasePrompt {
113
160
  * @param content The message content
114
161
  * @return returns ChatPrompt so it can be chained.
115
162
  */
116
- addChatHistoryPlaceholder(key) {
163
+ addChatHistoryPlaceholder(key, options) {
117
164
  const start = `{{> DialogueHistory `;
118
165
  const params = [`key='${String(key)}'`];
119
166
  const end = `}}`;
167
+ if (options?.assistant) {
168
+ params.push(`assistant='${options.assistant}'`);
169
+ }
170
+ if (options?.user) {
171
+ params.push(`user='${options.user}'`);
172
+ }
120
173
  this.messages.push({
121
174
  role: "placeholder",
122
175
  content: `${start}${params.join(" ")}${end}`,
@@ -163,17 +216,39 @@ class ChatPrompt extends _base_1.BasePrompt {
163
216
  switch (token) {
164
217
  case ">DialogueHistory": {
165
218
  /* istanbul ignore next */
166
- const { key = "" } = data;
219
+ const { key = "", user } = data;
167
220
  const history = (0, utils_1.get)(replacements, key, []);
168
221
  if (history && Array.isArray(history)) {
169
222
  for (const message of history) {
170
223
  switch (message.role) {
171
- case "user":
172
- messagesOut.push((0, utils_1.pick)(message, ["role", "content", "name"]));
224
+ case "user": {
225
+ const m = (0, utils_1.pick)(message, ["role", "content", "name"]);
226
+ if (user) {
227
+ m["name"] = user;
228
+ }
229
+ messagesOut.push(m);
230
+ break;
231
+ }
232
+ case "assistant": {
233
+ if (message.function_call) {
234
+ messagesOut.push({
235
+ role: "assistant",
236
+ content: null,
237
+ function_call: message.function_call
238
+ });
239
+ }
240
+ else if (message?.content) {
241
+ messagesOut.push({
242
+ role: "assistant",
243
+ content: message.content,
244
+ });
245
+ }
173
246
  break;
174
- case "assistant":
247
+ }
248
+ case "function":
175
249
  messagesOut.push({
176
- role: "assistant",
250
+ role: "function",
251
+ name: message.name,
177
252
  content: message.content,
178
253
  });
179
254
  break;
@@ -197,7 +272,7 @@ class ChatPrompt extends _base_1.BasePrompt {
197
272
  content: (0, utils_1.replaceTemplateString)(content, replacements, {
198
273
  partials: this.partials,
199
274
  helpers: this.helpers,
200
- })
275
+ }),
201
276
  };
202
277
  if (!name || role !== "user") {
203
278
  delete message.name;
@@ -208,13 +283,23 @@ class ChatPrompt extends _base_1.BasePrompt {
208
283
  }
209
284
  }
210
285
  }
286
+ else if (message.role === "function") {
287
+ messagesOut.push(Object.assign({}, message, {
288
+ content: (0, utils_1.replaceTemplateString)(message.content, replacements, {
289
+ partials: this.partials,
290
+ helpers: this.helpers,
291
+ }),
292
+ }));
293
+ }
211
294
  else {
212
295
  if (safeToParseTemplate.includes(message.role)) {
213
296
  messagesOut.push(Object.assign({}, message, {
214
- content: (0, utils_1.replaceTemplateString)(message.content, replacements, {
215
- partials: this.partials,
216
- helpers: this.helpers,
217
- }),
297
+ content: message.content
298
+ ? (0, utils_1.replaceTemplateString)(message.content, replacements, {
299
+ partials: this.partials,
300
+ helpers: this.helpers,
301
+ })
302
+ : null,
218
303
  }));
219
304
  }
220
305
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"src/","sources":["prompt/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"src/","sources":["prompt/chat.ts"],"names":[],"mappings":";;;AAAA,mCAQiB;AACjB,mCAAqC;AAgBrC;;;;GAIG;AACH,MAAa,UAA0C,SAAQ,kBAAa;IAa1E;;;;OAIG;IACH,YACE,0BAAmC,EACnC,OAA2B;QAE3B,KAAK,CAAC,0BAA0B,CAAC,CAAC;QArBpC;;WAEG;QACH;;;;mBAAgC,MAAM;WAAC;QAEvC;;;;WAIG;QACH;;;;mBAA6B,KAAK;WAAC;QAYjC,IAAI,OAAO,EAAE,uBAAuB,EAAE;YACpC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAChC;IACH,CAAC;IAkCD,WAAW,CACT,OAAe,EACf,IAAsB,EACtB,IAAa;QAEb,IAAI,OAAO,EAAE;YACX,QAAQ,IAAI,EAAE;gBACZ,KAAK,QAAQ;oBACX,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBAC/B,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBACnC,MAAM;gBACR,KAAK,WAAW;oBACd,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;oBAClC,MAAM;gBACR,KAAK,UAAU;oBACb,IAAA,cAAM,EAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;oBAC/C,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBACvC,MAAM;gBACR,KAAK,eAAe;oBAClB,IAAA,cAAM,EAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;oBAC/C,IAAI,CAAC,sBAAsB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;oBAChE,MAAM;aACT;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,OAAe,EAAE,IAAa;QAC3C,MAAM,OAAO,GAAqB;YAChC,IAAI,EAAE,MAAM;YACZ,OAAO;SACR,CAAC;QACF,IAAI,IAAI,EAAE;YACR,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;SACrB;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,OAAe;QACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,WAAW;YACjB,OAAO;SACR,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,OAAe,EAAE,IAAY;QAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,UAAU;YAChB,IAAI;YACJ,OAAO;SACR,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IACD;;;;OAIG;IAEH,sBAAsB,CAAC,aAAmD;QACxE,IAAI,aAAa,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,WAAW;gBACjB,aAAa,EAAE;oBACb,IAAI,EAAE,aAAa,CAAC,IAAI;oBACxB,SAAS,EAAE,IAAA,0BAAkB,EAAC,aAAa,CAAC,SAAS,CAAC;iBACvD;gBACD,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IACD;;;;OAIG;IACH,cAAc,CAAC,OAAsB;QACnC,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACrC,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE;gBAC7B,QAAQ,OAAO,CAAC,IAAI,EAAE;oBACpB,KAAK,MAAM;wBACT,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;wBACpD,MAAM;oBACR,KAAK,WAAW;wBACd,IAAI,OAAO,CAAC,aAAa,EAAE;4BACzB,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;yBACpD;6BAAM,IAAI,OAAO,EAAE,OAAO,EAAE;4BAC3B,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;yBAC5C;wBACD,MAAM;oBACR,KAAK,QAAQ;wBACX,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBACvC,MAAM;oBACR,KAAK,UAAU;wBACb,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;wBACvD,MAAM;iBACT;aACF;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,yBAAyB,CACvB,GAAY,EACZ,OAA+C;QAE/C,MAAM,KAAK,GAAG,sBAAsB,CAAC;QACrC,MAAM,MAAM,GAAG,CAAC,QAAQ,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC;QAEjB,IAAI,OAAO,EAAE,SAAS,EAAE;YACtB,MAAM,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;SACjD;QACD,IAAI,OAAO,EAAE,IAAI,EAAE;YACjB,MAAM,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;SACvC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,GAAG,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE;SAC7C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,qBAAqB,CACnB,OAAe,EACf,OAAyB,MAAM,EAC/B,IAAa;QAEb,IAAI,OAAO,EAAE;YACX,MAAM,KAAK,GAAG,wBAAwB,CAAC;YACvC,MAAM,MAAM,GAAG,CAAC,SAAS,IAAI,GAAG,EAAE,YAAY,IAAA,cAAM,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAClE,MAAM,GAAG,GAAG,IAAI,CAAC;YACjB,IAAI,IAAI,EAAE;gBACR,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC;aAC/B;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,GAAG,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE;aAC7C,CAAC,CAAC;SACJ;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,MAAS;QACd,MAAM,WAAW,GAAkB,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,mBAAmB,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEpD,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAClC;QAED,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;YACnC,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE;gBAClC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,IAAA,qCAA6B,EACtD,OAAO,CAAC,OAAO,CAChB,CAAC;gBACF,QAAQ,KAAK,EAAE;oBACb,KAAK,kBAAkB,CAAC,CAAC;wBACvB,0BAA0B;wBAC1B,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;wBAChC,MAAM,OAAO,GAAkB,IAAA,WAAG,EAAC,YAAY,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;wBAC1D,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;4BACrC,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE;gCAC7B,QAAQ,OAAO,CAAC,IAAI,EAAE;oCACpB,KAAK,MAAM,CAAC,CAAC;wCACX,MAAM,CAAC,GAAG,IAAA,YAAI,EAAC,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;wCACrD,IAAI,IAAI,EAAE;4CACR,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;yCAClB;wCACD,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wCACpB,MAAM;qCACP;oCAED,KAAK,WAAW,CAAC,CAAA;wCACf,IAAG,OAAO,CAAC,aAAa,EAAC;4CACvB,WAAW,CAAC,IAAI,CAAC;gDACf,IAAI,EAAE,WAAW;gDACjB,OAAO,EAAE,IAAI;gDACb,aAAa,EAAE,OAAO,CAAC,aAAa;6CACrC,CAAC,CAAC;yCACJ;6CAAK,IAAG,OAAO,EAAE,OAAO,EAAC;4CACxB,WAAW,CAAC,IAAI,CAAC;gDACf,IAAI,EAAE,WAAW;gDACjB,OAAO,EAAE,OAAO,CAAC,OAAO;6CACzB,CAAC,CAAC;yCACJ;wCACD,MAAM;qCACP;oCACD,KAAK,UAAU;wCACb,WAAW,CAAC,IAAI,CAAC;4CACf,IAAI,EAAE,UAAU;4CAChB,IAAI,EAAE,OAAO,CAAC,IAAI;4CAClB,OAAO,EAAE,OAAO,CAAC,OAAO;yCACzB,CAAC,CAAC;wCACH,MAAM;oCACR,KAAK,QAAQ;wCACX,WAAW,CAAC,IAAI,CAAC;4CACf,IAAI,EAAE,QAAQ;4CACd,OAAO,EAAE,OAAO,CAAC,OAAO;yCACzB,CAAC,CAAC;wCACH,MAAM;iCACT;6BACF;yBACF;wBACD,MAAM;qBACP;oBACD,KAAK,oBAAoB,CAAC,CAAC;wBACzB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;wBACrC,IAAI,IAAI,IAAI,OAAO,EAAE;4BACnB,MAAM,OAAO,GAAG;gCACd,IAAI;gCACJ,IAAI;gCACJ,OAAO,EAAE,IAAA,6BAAqB,EAAC,OAAO,EAAE,YAAY,EAAE;oCACpD,QAAQ,EAAE,IAAI,CAAC,QAAQ;oCACvB,OAAO,EAAE,IAAI,CAAC,OAAO;iCACtB,CAAC;6BACH,CAAC;4BAEF,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,MAAM,EAAE;gCAC5B,OAAO,OAAO,CAAC,IAAI,CAAC;6BACrB;4BACD,WAAW,CAAC,IAAI,CAAC,OAAuB,CAAC,CAAC;yBAC3C;wBACD,MAAM;qBACP;iBACF;aACF;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE;gBACtC,WAAW,CAAC,IAAI,CACd,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;oBACzB,OAAO,EAAE,IAAA,6BAAqB,EAAC,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE;wBAC5D,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;qBACtB,CAAC;iBACH,CAAC,CACH,CAAC;aACH;iBAAM;gBACL,IAAI,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC9C,WAAW,CAAC,IAAI,CACd,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;wBACzB,OAAO,EAAE,OAAO,CAAC,OAAO;4BACtB,CAAC,CAAC,IAAA,6BAAqB,EAAC,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE;gCACnD,QAAQ,EAAE,IAAI,CAAC,QAAQ;gCACvB,OAAO,EAAE,IAAI,CAAC,OAAO;6BACtB,CAAC;4BACJ,CAAC,CAAC,IAAI;qBACT,CAAC,CACH,CAAC;iBACH;qBAAM;oBACL,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC3B;aACF;SACF;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,0CAA0C;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA5WD,gCA4WC"}
@@ -1,4 +1,4 @@
1
- import { IChatMessages, IChatUserMessage } from "../types";
1
+ import { IChatMessages } from "../types";
2
2
  import { BaseStateItem } from "./item";
3
3
  export declare class Dialogue extends BaseStateItem<IChatMessages> {
4
4
  name: string;
@@ -6,12 +6,19 @@ export declare class Dialogue extends BaseStateItem<IChatMessages> {
6
6
  setUserMessage(content: string, name?: string): this;
7
7
  setAssistantMessage(content: string): this;
8
8
  setSystemMessage(content: string): this;
9
+ setFunctionMessage(content: string, name: string): this;
10
+ setFunctionCallMessage(input: {
11
+ function_call: {
12
+ name: string;
13
+ arguments: string;
14
+ };
15
+ }): this;
9
16
  setMessageTurn(userMessage: string, assistantMessage: string, systemMessage?: string): this;
10
17
  setHistory(messages: IChatMessages): this;
11
18
  getHistory(): IChatMessages;
12
19
  serialize(): {
13
20
  class: string;
14
21
  name: string;
15
- value: (IChatUserMessage | import("../types").IChatAssistantMessage | import("../types").IChatSystemMessage)[];
22
+ value: import("../types").IChatMessage[];
16
23
  };
17
24
  }
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Dialogue = void 0;
4
4
  const item_1 = require("./item");
5
+ const utils_1 = require("../utils");
5
6
  class Dialogue extends item_1.BaseStateItem {
6
7
  constructor(name) {
7
8
  super(name, []);
@@ -44,6 +45,27 @@ class Dialogue extends item_1.BaseStateItem {
44
45
  }
45
46
  return this;
46
47
  }
48
+ setFunctionMessage(content, name) {
49
+ if (content) {
50
+ this.value.push({
51
+ role: "function",
52
+ name,
53
+ content,
54
+ });
55
+ }
56
+ return this;
57
+ }
58
+ setFunctionCallMessage(input) {
59
+ this.value.push({
60
+ role: "assistant",
61
+ function_call: {
62
+ name: input?.function_call.name,
63
+ arguments: (0, utils_1.maybeStringifyJSON)(input?.function_call.arguments),
64
+ },
65
+ content: null,
66
+ });
67
+ return this;
68
+ }
47
69
  setMessageTurn(userMessage, assistantMessage, systemMessage = "") {
48
70
  this.setUserMessage(userMessage);
49
71
  this.setAssistantMessage(assistantMessage);
@@ -57,11 +79,19 @@ class Dialogue extends item_1.BaseStateItem {
57
79
  this.setUserMessage(message?.content, message?.name);
58
80
  break;
59
81
  case "assistant":
60
- this.setAssistantMessage(message?.content);
82
+ if (message.function_call) {
83
+ this.setFunctionCallMessage({ function_call: message.function_call });
84
+ }
85
+ else if (message?.content) {
86
+ this.setAssistantMessage(message?.content);
87
+ }
61
88
  break;
62
89
  case "system":
63
90
  this.setSystemMessage(message?.content);
64
91
  break;
92
+ case "function":
93
+ this.setFunctionMessage(message?.content, message.name);
94
+ break;
65
95
  }
66
96
  }
67
97
  return this;
@@ -1 +1 @@
1
- {"version":3,"file":"dialogue.js","sourceRoot":"src/","sources":["state/dialogue.ts"],"names":[],"mappings":";;;AACA,iCAAuC;AAEvC,MAAa,QAAS,SAAQ,oBAA4B;IAGxD,YAAY,IAAY;QACtB,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAHlB;;;;;WAAoB;QAIlB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,cAAc,CAAC,OAAe,EAAE,IAAa;QAC3C,IAAI,OAAO,EAAE;YACX,MAAM,GAAG,GAAqB;gBAC5B,IAAI,EAAE,MAAM;gBACZ,OAAO;aACR,CAAC;YACF,IAAI,IAAI,EAAE;gBACR,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;aACjB;YACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACtB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB,CAAC,OAAe;QACjC,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,WAAW;gBACjB,OAAO;aACR,CAAC,CAAC;SACJ;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,OAAe;QAC9B,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,QAAQ;gBACd,OAAO;aACR,CAAC,CAAC;SACJ;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc,CACZ,WAAmB,EACnB,gBAAwB,EACxB,gBAAwB,EAAE;QAE1B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACjC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,QAAuB;QAChC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,QAAQ,OAAO,EAAE,IAAI,EAAE;gBACrB,KAAK,MAAM;oBACT,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,WAAW;oBACd,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAC3C,MAAM;gBACR,KAAK,QAAQ;oBACX,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACxC,MAAM;aACT;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,SAAS;QACP,OAAO;YACL,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;SACvB,CAAC;IACJ,CAAC;CAEF;AAlFD,4BAkFC"}
1
+ {"version":3,"file":"dialogue.js","sourceRoot":"src/","sources":["state/dialogue.ts"],"names":[],"mappings":";;;AACA,iCAAuC;AACvC,mCAA6C;AAE7C,MAAa,QAAS,SAAQ,oBAA4B;IAGxD,YAAY,IAAY;QACtB,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAHlB;;;;;WAAoB;QAIlB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,cAAc,CAAC,OAAe,EAAE,IAAa;QAC3C,IAAI,OAAO,EAAE;YACX,MAAM,GAAG,GAAqB;gBAC5B,IAAI,EAAE,MAAM;gBACZ,OAAO;aACR,CAAC;YACF,IAAI,IAAI,EAAE;gBACR,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;aACjB;YACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACtB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB,CAAC,OAAe;QACjC,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,WAAW;gBACjB,OAAO;aACR,CAAC,CAAC;SACJ;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,OAAe;QAC9B,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,QAAQ;gBACd,OAAO;aACR,CAAC,CAAC;SACJ;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB,CAAC,OAAe,EAAE,IAAY;QAC9C,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,UAAU;gBAChB,IAAI;gBACJ,OAAO;aACR,CAAC,CAAC;SACJ;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,sBAAsB,CAAC,KAA2D;QAChF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,WAAW;YACjB,aAAa,EAAE;gBACb,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI;gBAC/B,SAAS,EAAE,IAAA,0BAAkB,EAAC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC;aAC9D;YACD,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IACD,cAAc,CACZ,WAAmB,EACnB,gBAAwB,EACxB,gBAAwB,EAAE;QAE1B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACjC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,QAAuB;QAChC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,QAAQ,OAAO,EAAE,IAAI,EAAE;gBACrB,KAAK,MAAM;oBACT,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,WAAW;oBACd,IAAG,OAAO,CAAC,aAAa,EAAC;wBACvB,IAAI,CAAC,sBAAsB,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;qBACvE;yBAAK,IAAG,OAAO,EAAE,OAAO,EAAC;wBACxB,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;qBAC5C;oBACD,MAAM;gBACR,KAAK,QAAQ;oBACX,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACxC,MAAM;gBACR,KAAK,UAAU;oBACb,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;oBACxD,MAAM;aACT;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAA;IACxB,CAAC;IAED,SAAS;QACP,OAAO;YACL,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;SACvB,CAAC;IACJ,CAAC;CAEF;AA9GD,4BA8GC"}
@@ -1,3 +1,16 @@
1
1
  export declare const hookOnComplete = "onComplete";
2
2
  export declare const hookOnError = "onError";
3
3
  export declare const hookOnSuccess = "onSuccess";
4
+ export declare const OpenAiPricing: {
5
+ "gpt-3.5-turbo": number[];
6
+ "gpt-3.5-turbo-0613": number[];
7
+ "gpt-3.5-turbo-16k": number[];
8
+ "gpt-4": number[];
9
+ "gpt-4-0613": number[];
10
+ "gpt-4-32k-0613": number[];
11
+ davinci: number[];
12
+ "text-curie-001": number[];
13
+ "text-babbage-001": number[];
14
+ "text-ada-001": number[];
15
+ "text-embedding-ada-002": number[];
16
+ };
@@ -1,7 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hookOnSuccess = exports.hookOnError = exports.hookOnComplete = void 0;
3
+ exports.OpenAiPricing = exports.hookOnSuccess = exports.hookOnError = exports.hookOnComplete = void 0;
4
4
  exports.hookOnComplete = `onComplete`;
5
5
  exports.hookOnError = `onError`;
6
6
  exports.hookOnSuccess = `onSuccess`;
7
+ exports.OpenAiPricing = {
8
+ "gpt-3.5-turbo": [1000, 0.0015, 0.002],
9
+ "gpt-3.5-turbo-0613": [1000, 0.0015, 0.002],
10
+ "gpt-3.5-turbo-16k": [1000, 0.003, 0.004],
11
+ "gpt-4": [1000, 0.03, 0.06],
12
+ "gpt-4-0613": [1000, 0.03, 0.06],
13
+ "gpt-4-32k-0613": [1000, 0.03, 0.06],
14
+ davinci: [1000, 0.02, 0.02],
15
+ "text-curie-001": [1000, 0.002, 0.002],
16
+ "text-babbage-001": [1000, 0.0005, 0.0005],
17
+ "text-ada-001": [1000, 0.0004, 0.0004],
18
+ "text-embedding-ada-002": [1000, 0.0004, 0.0004],
19
+ };
7
20
  //# sourceMappingURL=const.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"src/","sources":["utils/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,YAAY,CAAC;AAC9B,QAAA,WAAW,GAAG,SAAS,CAAC;AACxB,QAAA,aAAa,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"const.js","sourceRoot":"src/","sources":["utils/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,YAAY,CAAC;AAC9B,QAAA,WAAW,GAAG,SAAS,CAAC;AACxB,QAAA,aAAa,GAAG,WAAW,CAAC;AAG5B,QAAA,aAAa,GAAG;IACzB,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC;IACtC,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC;IAC3C,mBAAmB,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IACzC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IAC3B,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IAChC,gBAAgB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACpC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IAC3B,gBAAgB,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IACtC,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;IAC1C,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;IACtC,wBAAwB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;CACjD,CAAC"}
@@ -46,12 +46,16 @@ export declare function toNumber(value: any): number;
46
46
  export declare function extractPromptPlaceholderToken(tok: string): {
47
47
  token: string;
48
48
  key?: undefined;
49
+ assistant?: undefined;
50
+ user?: undefined;
49
51
  name?: undefined;
50
52
  content?: undefined;
51
53
  role?: undefined;
52
54
  } | {
53
55
  token: string;
54
56
  key: string;
57
+ assistant: string;
58
+ user: string;
55
59
  name?: undefined;
56
60
  content?: undefined;
57
61
  role?: undefined;
@@ -61,5 +65,7 @@ export declare function extractPromptPlaceholderToken(tok: string): {
61
65
  content: string;
62
66
  role: string;
63
67
  key?: undefined;
68
+ assistant?: undefined;
69
+ user?: undefined;
64
70
  };
65
71
  export declare function getEnvironmentVariable(name: string): string | undefined;