llm-exe 1.0.0 → 1.0.2

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 (43) hide show
  1. package/dist/executor/llm-openai-function.d.ts +1 -4
  2. package/dist/executor/llm-openai-function.js +1 -6
  3. package/dist/executor/llm-openai-function.js.map +1 -1
  4. package/dist/interfaces/openai.d.ts +2 -2
  5. package/dist/interfaces/prompt.d.ts +2 -0
  6. package/dist/llm/_base.d.ts +3 -1
  7. package/dist/llm/_base.js +10 -5
  8. package/dist/llm/_base.js.map +1 -1
  9. package/dist/llm/openai.js +5 -22
  10. package/dist/llm/openai.js.map +1 -1
  11. package/dist/parser/parsers/OpenAiFunctionParser.d.ts +2 -2
  12. package/dist/parser/parsers/OpenAiFunctionParser.js.map +1 -1
  13. package/dist/prompt/_base.d.ts +5 -0
  14. package/dist/prompt/_base.js +30 -5
  15. package/dist/prompt/_base.js.map +1 -1
  16. package/dist/prompt/chat.js +10 -5
  17. package/dist/prompt/chat.js.map +1 -1
  18. package/dist/prompt/text.d.ts +2 -1
  19. package/dist/prompt/text.js +2 -2
  20. package/dist/prompt/text.js.map +1 -1
  21. package/dist/state/_base.js +5 -1
  22. package/dist/state/_base.js.map +1 -1
  23. package/dist/state/_functions.d.ts +1 -0
  24. package/dist/state/_functions.js +16 -1
  25. package/dist/state/_functions.js.map +1 -1
  26. package/dist/utils/modules/handlebars/hbs.d.ts +11 -0
  27. package/dist/utils/modules/handlebars/hbs.js +65 -0
  28. package/dist/utils/modules/handlebars/hbs.js.map +1 -0
  29. package/dist/utils/modules/handlebars/helpers/index.d.ts +3 -2
  30. package/dist/utils/modules/handlebars/helpers/index.js +23 -5
  31. package/dist/utils/modules/handlebars/helpers/index.js.map +1 -1
  32. package/dist/utils/modules/handlebars/index.js +11 -38
  33. package/dist/utils/modules/handlebars/index.js.map +1 -1
  34. package/dist/utils/modules/handlebars/templates/index.js +6 -7
  35. package/dist/utils/modules/handlebars/templates/index.js.map +1 -1
  36. package/dist/utils/modules/index.d.ts +2 -0
  37. package/dist/utils/modules/index.js +14 -6
  38. package/dist/utils/modules/index.js.map +1 -1
  39. package/dist/utils/modules/openai.d.ts +12 -0
  40. package/dist/utils/modules/openai.js +31 -0
  41. package/dist/utils/modules/openai.js.map +1 -0
  42. package/package.json +4 -3
  43. package/readme.md +1 -1
@@ -2,7 +2,6 @@ import { PromptInput, ParserOutput, CoreExecutorExecuteOptions, ExecutorWithLlmO
2
2
  import { OpenAI } from "../llm";
3
3
  import { BasePrompt } from "../prompt";
4
4
  import { BaseState } from "../state";
5
- import { OpenAiFunctionParser } from "../parser/parsers/OpenAiFunctionParser";
6
5
  import { BaseParser } from "../parser";
7
6
  import { LlmExecutor } from "./llm";
8
7
  /**
@@ -10,7 +9,5 @@ import { LlmExecutor } from "./llm";
10
9
  */
11
10
  export declare class LlmExecutorOpenAiFunctions<Llm extends OpenAI, Prompt extends BasePrompt<Record<string, any>>, Parser extends BaseParser, State extends BaseState> extends LlmExecutor<Llm, Prompt, Parser, State> {
12
11
  constructor(llmConfiguration: ExecutorWithLlmOptions<Llm, Prompt, Parser, State>, options?: CoreExecutorExecuteOptions<LlmExecutorHooks>);
13
- execute<T extends Extract<OpenAiFunctionCall, "none">>(_input: PromptInput<Prompt>, _options: OpenAiLlmExecutorOptions<T>): Promise<ParserOutput<Parser>>;
14
- execute<T extends Exclude<OpenAiFunctionCall, "none">>(_input: PromptInput<Prompt>, _options: OpenAiLlmExecutorOptions<T>): Promise<ParserOutput<OpenAiFunctionParser<Parser>>>;
15
- execute<T extends OpenAiFunctionCall>(_input: PromptInput<Prompt>, _options: OpenAiLlmExecutorOptions<T>): Promise<ParserOutput<OpenAiFunctionParser<Parser>> | ParserOutput<Parser>>;
12
+ execute<T extends OpenAiFunctionCall>(_input: PromptInput<Prompt>, _options: OpenAiLlmExecutorOptions<T>): Promise<ParserOutput<Parser>>;
16
13
  }
@@ -16,12 +16,7 @@ class LlmExecutorOpenAiFunctions extends llm_1.LlmExecutor {
16
16
  }), options);
17
17
  }
18
18
  async execute(_input, _options) {
19
- if (_options.function_call === "none") {
20
- return super.execute(_input, _options);
21
- }
22
- else {
23
- return super.execute(_input, _options);
24
- }
19
+ return super.execute(_input, _options);
25
20
  }
26
21
  }
27
22
  exports.LlmExecutorOpenAiFunctions = LlmExecutorOpenAiFunctions;
@@ -1 +1 @@
1
- {"version":3,"file":"llm-openai-function.js","sourceRoot":"src/","sources":["executor/llm-openai-function.ts"],"names":[],"mappings":";;;AAYA,gFAA6E;AAC7E,qCAAoD;AACpD,+BAAoC;AAEpC;;GAEG;AACH,MAAa,0BAKX,SAAQ,iBAAuC;IAC/C,YACE,gBAAoE,EACpE,OAAsD;QAEtD,KAAK,CACH,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,gBAAgB,EAAE;YAClC,MAAM,EAAE,IAAI,2CAAoB,CAAC;gBAC/B,MAAM,EAAE,gBAAgB,CAAC,MAAM,IAAI,IAAI,qBAAY,EAAE;aACtD,CAAC;SACH,CAAC,EACF,OAAO,CACR,CAAC;IACJ,CAAC;IAiBD,KAAK,CAAC,OAAO,CACX,MAA2B,EAC3B,QAAqC;QAIrC,IAAI,QAAQ,CAAC,aAAa,KAAK,MAAM,EAAE;YACrC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAyB,CAAC;SAChE;aAAM;YACL,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAEpC,CAAC;SACH;IACH,CAAC;CACF;AAjDD,gEAiDC"}
1
+ {"version":3,"file":"llm-openai-function.js","sourceRoot":"src/","sources":["executor/llm-openai-function.ts"],"names":[],"mappings":";;;AAYA,gFAA6E;AAC7E,qCAAoD;AACpD,+BAAoC;AAEpC;;GAEG;AACH,MAAa,0BAKX,SAAQ,iBAAuC;IAC/C,YACE,gBAAoE,EACpE,OAAsD;QAEtD,KAAK,CACH,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,gBAAgB,EAAE;YAClC,MAAM,EAAE,IAAI,2CAAoB,CAAC;gBAC/B,MAAM,EAAE,gBAAgB,CAAC,MAAM,IAAI,IAAI,qBAAY,EAAE;aACtD,CAAC;SACH,CAAC,EACF,OAAO,CACR,CAAC;IACJ,CAAC;IAKD,KAAK,CAAC,OAAO,CACX,MAA2B,EAC3B,QAAqC;QAErC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACxC,CAAC;CACF;AA7BD,gEA6BC"}
@@ -13,7 +13,7 @@ export type OpenAIConversationModelName = "davinci" | "text-curie-001" | "text-b
13
13
  export type OpenAIEmbeddingModelName = "text-embedding-ada-002";
14
14
  export type OpenAIModelName = OpenAIChatModelName | OpenAIConversationModelName | OpenAIEmbeddingModelName;
15
15
  export interface OpenAIOptions extends BaseLlmOptions {
16
- openAIApiKey: string;
16
+ openAIApiKey?: string;
17
17
  modelName: OpenAIModelName;
18
18
  maxTokens?: number;
19
19
  temperature?: number;
@@ -40,7 +40,7 @@ export type OpenAiFunctionCall = "auto" | "none" | {
40
40
  };
41
41
  export interface LlmExecutorExecuteOptions {
42
42
  }
43
- export interface OpenAiLlmExecutorOptions<T extends OpenAiFunctionCall = OpenAiFunctionCall> extends LlmExecutorExecuteOptions {
43
+ export interface OpenAiLlmExecutorOptions<T extends OpenAiFunctionCall = "auto"> extends LlmExecutorExecuteOptions {
44
44
  functions: CallableExecutorCore[];
45
45
  function_call: T;
46
46
  }
@@ -14,6 +14,8 @@ export interface PromptTemplateOptions {
14
14
  helpers?: PromptHelper[];
15
15
  }
16
16
  export interface PromptOptions extends PromptTemplateOptions {
17
+ preFilters?: ((prompt: string) => string)[];
18
+ postFilters?: ((prompt: string) => string)[];
17
19
  }
18
20
  export interface ChatPromptOptions extends PromptOptions {
19
21
  allowUnsafeUserTemplate?: boolean;
@@ -40,6 +40,8 @@ export declare abstract class BaseLlm<C = any> {
40
40
  * @param {BaseLlmOptions} options - The options object for LLM configuration.
41
41
  */
42
42
  constructor(options: BaseLlmOptions);
43
+ shouldRetry(_error: any, _stepNumber: number): boolean;
44
+ handleError(_error: any): void;
43
45
  getPromptType(): PromptType;
44
46
  /**
45
47
  * getMetrics returns the metrics object for the LLM.
@@ -72,7 +74,7 @@ export declare abstract class BaseLlm<C = any> {
72
74
  */
73
75
  _callWithRetry(_input: any, ...args: any[]): Promise<any>;
74
76
  /**
75
- * _call is an abstract method that must be implemented by subclasses to make the actual LLM call.
77
+ * _call is an method that must be implemented by subclasses to make the actual LLM call.
76
78
  * @param {any} _input - The input to the LLM.
77
79
  * @return The output from the LLM.
78
80
  */
package/dist/llm/_base.js CHANGED
@@ -98,6 +98,12 @@ class BaseLlm {
98
98
  this.maxDelay = options.maxDelay || 5000;
99
99
  this.numOfAttempts = options.numOfAttempts || 5;
100
100
  }
101
+ shouldRetry(_error, _stepNumber) {
102
+ return true;
103
+ }
104
+ handleError(_error) {
105
+ throw _error;
106
+ }
101
107
  getPromptType() {
102
108
  return this.promptType;
103
109
  }
@@ -128,8 +134,7 @@ class BaseLlm {
128
134
  * @return The output from the LLM.
129
135
  */
130
136
  async call(_input, ...args) {
131
- const called = await this._callWithRetry(_input, ...args);
132
- return called;
137
+ return this._callWithRetry(_input, ...args);
133
138
  }
134
139
  /**
135
140
  * _callWithRetry is a private method that handles retries and timeouts for the LLM call.
@@ -145,7 +150,7 @@ class BaseLlm {
145
150
  maxDelay: this.maxDelay,
146
151
  numOfAttempts: this.numOfAttempts,
147
152
  jitter: this.jitter,
148
- retry: () => {
153
+ retry: (_error, _stepNumber) => {
149
154
  this.metrics.total_call_retry++;
150
155
  console.log(`Handler timeout after ${this.timeout}. Retrying...`);
151
156
  return true;
@@ -156,11 +161,11 @@ class BaseLlm {
156
161
  }
157
162
  catch (error) {
158
163
  this.metrics.total_call_error++;
159
- throw error;
164
+ this.handleError(error);
160
165
  }
161
166
  }
162
167
  /**
163
- * _call is an abstract method that must be implemented by subclasses to make the actual LLM call.
168
+ * _call is an method that must be implemented by subclasses to make the actual LLM call.
164
169
  * @param {any} _input - The input to the LLM.
165
170
  * @return The output from the LLM.
166
171
  */
@@ -1 +1 @@
1
- {"version":3,"file":"_base.js","sourceRoot":"src/","sources":["llm/_base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_base.js","sourceRoot":"src/","sources":["llm/_base.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,6 @@ const _base_1 = require("./_base");
6
6
  const output_1 = require("../llm/output");
7
7
  const utils_1 = require("../utils");
8
8
  const openai_2 = require("./output/openai");
9
- const const_1 = require("../utils/const");
10
9
  /**
11
10
  * Create a new instance of the OpenAI API wrapper.
12
11
  * @param options - Configuration options for the OpenAI API wrapper.
@@ -25,7 +24,7 @@ class OpenAI extends _base_1.BaseLlm {
25
24
  * @param {OpenAIOptions} options - Configuration options for the OpenAI API wrapper.
26
25
  */
27
26
  constructor(options) {
28
- const { openAIApiKey, modelName, temperature, maxTokens, topP = null, n = null, stream = null, stop, presencePenalty = null, frequencyPenalty = null, logitBias = null, user = "", ...restOfOptions } = options;
27
+ const { openAIApiKey = (0, utils_1.getEnvironmentVariable)("OPEN_AI_API_KEY"), modelName, temperature, maxTokens, topP = null, n = null, stream = null, stop, presencePenalty = null, frequencyPenalty = null, logitBias = null, user = "", ...restOfOptions } = options;
29
28
  super(restOfOptions);
30
29
  Object.defineProperty(this, "model", {
31
30
  enumerable: true,
@@ -143,23 +142,7 @@ class OpenAI extends _base_1.BaseLlm {
143
142
  * @returns An object for input/output tokens and cost.
144
143
  */
145
144
  calculatePrice(input_tokens, output_tokens = 0) {
146
- const out = {
147
- input_cost: 0,
148
- output_cost: 0,
149
- total_cost: 0,
150
- };
151
- const price = const_1.OpenAiPricing[this.model];
152
- if (price) {
153
- const [amount, inputAmount, outputAmount] = price;
154
- if (inputAmount && input_tokens) {
155
- out["input_cost"] = (input_tokens / amount) * inputAmount;
156
- }
157
- if (outputAmount && output_tokens) {
158
- out["output_cost"] = (output_tokens / amount) * outputAmount;
159
- }
160
- out["total_cost"] = out["input_cost"] + out["output_cost"];
161
- }
162
- return out;
145
+ return (0, utils_1.calculateOpenAiPrice)(this.model, input_tokens, output_tokens);
163
146
  }
164
147
  /**
165
148
  * Log a table containing usage metrics for the OpenAI API.
@@ -173,11 +156,11 @@ class OpenAI extends _base_1.BaseLlm {
173
156
  {
174
157
  ["Total Calls"]: this.metrics.total_call_success,
175
158
  ["Total Completion Tokens"]: total_completionTokens,
176
- ["Total Completion Cost"]: cost.output_cost,
159
+ ["Total Completion Cost"]: parseFloat(cost.output_cost.toFixed(3)),
177
160
  ["Total Prompt Tokens"]: total_promptTokens,
178
- ["Total Prompt Cost"]: cost.input_cost,
161
+ ["Total Prompt Cost"]: parseFloat(cost.input_cost.toFixed(3)),
179
162
  ["Total Tokens"]: total_totalTokens,
180
- ["Total Cost"]: cost.total_cost,
163
+ ["Total Cost"]: parseFloat(cost.total_cost.toFixed(3)),
181
164
  },
182
165
  ]);
183
166
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"src/","sources":["llm/openai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"src/","sources":["llm/openai.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ export interface OpenAiFunctionParserOptions<T extends BaseParser<any>> extends
4
4
  parser: T;
5
5
  }
6
6
  export declare class OpenAiFunctionParser<T extends BaseParser<any>> extends BaseParser<ParserOutput<T> | {
7
- name: string;
8
- arguments: string;
7
+ name: any;
8
+ arguments: any;
9
9
  }> {
10
10
  parser: T;
11
11
  constructor(options: OpenAiFunctionParserOptions<T>);
@@ -1 +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
+ {"version":3,"file":"OpenAiFunctionParser.js","sourceRoot":"src/","sources":["parser/parsers/OpenAiFunctionParser.ts"],"names":[],"mappings":";;;AACA,oCAAsC;AACtC,mCAAyC;AAOzC,MAAa,oBAAgD,SAAQ,kBAEpE;IAGC,YAAY,OAAuC;QACjD,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAHnC;;;;;WAAiB;QAIf,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/B,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;AAzBD,oDAyBC"}
@@ -7,6 +7,10 @@ export declare abstract class BasePrompt<I extends Record<string, any>> {
7
7
  messages: IPromptMessages | IPromptChatMessages;
8
8
  partials: PromptPartial[];
9
9
  helpers: PromptHelper[];
10
+ filters: {
11
+ pre: ((prompt: string) => string)[];
12
+ post: ((prompt: string) => string)[];
13
+ };
10
14
  /**
11
15
  * constructor description
12
16
  * @param initialPromptMessage An initial message to add to the prompt.
@@ -44,6 +48,7 @@ export declare abstract class BasePrompt<I extends Record<string, any>> {
44
48
  * @return returns messages formatted with template replacement
45
49
  */
46
50
  format(values: I, separator?: string): string | IChatMessages;
51
+ runPromptFilter(prompt: string, filters: ((prompt: string, values: I) => string)[], values: I): string;
47
52
  getReplacements(values: I): Omit<I, "input"> & {
48
53
  input: any;
49
54
  _input: any;
@@ -35,6 +35,15 @@ class BasePrompt {
35
35
  writable: true,
36
36
  value: []
37
37
  });
38
+ Object.defineProperty(this, "filters", {
39
+ enumerable: true,
40
+ configurable: true,
41
+ writable: true,
42
+ value: {
43
+ pre: [],
44
+ post: [],
45
+ }
46
+ });
38
47
  if (initialPromptMessage) {
39
48
  this.addToPrompt(initialPromptMessage, "system");
40
49
  }
@@ -45,6 +54,12 @@ class BasePrompt {
45
54
  if (options.helpers) {
46
55
  this.registerHelpers(options.helpers);
47
56
  }
57
+ if (options.preFilters && Array.isArray(options.preFilters)) {
58
+ this.filters.pre.push(...options.preFilters);
59
+ }
60
+ if (options.postFilters && Array.isArray(options.postFilters)) {
61
+ this.filters.post.push(...options.postFilters);
62
+ }
48
63
  }
49
64
  }
50
65
  /**
@@ -109,14 +124,24 @@ class BasePrompt {
109
124
  format(values, separator = "\n\n") {
110
125
  const replacements = this.getReplacements(values);
111
126
  /* istanbul ignore next */
112
- return this.messages
127
+ const messages = this.messages
113
128
  .map((message) => {
114
- return message.content ? (0, utils_1.replaceTemplateString)(message.content, replacements, {
115
- partials: this.partials,
116
- helpers: this.helpers,
117
- }) : "";
129
+ return message.content
130
+ ? (0, utils_1.replaceTemplateString)(this.runPromptFilter(message.content, this.filters.pre, values), replacements, {
131
+ partials: this.partials,
132
+ helpers: this.helpers,
133
+ })
134
+ : "";
118
135
  })
119
136
  .join(separator);
137
+ return this.runPromptFilter(messages, this.filters.post, values);
138
+ }
139
+ runPromptFilter(prompt, filters, values) {
140
+ let promptValue = prompt;
141
+ for (const filter of filters) {
142
+ promptValue = filter(promptValue, values);
143
+ }
144
+ return promptValue;
120
145
  }
121
146
  getReplacements(values) {
122
147
  const { input = "", ...restOfValues } = values;
@@ -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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"}
@@ -15,7 +15,7 @@ class ChatPrompt extends _base_1.BasePrompt {
15
15
  * @param options (optional) Options to pass in when creating the prompt.
16
16
  */
17
17
  constructor(initialSystemPromptMessage, options) {
18
- super(initialSystemPromptMessage);
18
+ super(initialSystemPromptMessage, options);
19
19
  /**
20
20
  * @property type - Prompt type (chat)
21
21
  */
@@ -234,7 +234,7 @@ class ChatPrompt extends _base_1.BasePrompt {
234
234
  messagesOut.push({
235
235
  role: "assistant",
236
236
  content: null,
237
- function_call: message.function_call
237
+ function_call: message.function_call,
238
238
  });
239
239
  }
240
240
  else if (message?.content) {
@@ -295,15 +295,20 @@ class ChatPrompt extends _base_1.BasePrompt {
295
295
  if (safeToParseTemplate.includes(message.role)) {
296
296
  messagesOut.push(Object.assign({}, message, {
297
297
  content: message.content
298
- ? (0, utils_1.replaceTemplateString)(message.content, replacements, {
298
+ ? this.runPromptFilter((0, utils_1.replaceTemplateString)(this.runPromptFilter(message.content, this.filters.pre, values), replacements, {
299
299
  partials: this.partials,
300
300
  helpers: this.helpers,
301
- })
301
+ }), this.filters.post, values)
302
302
  : null,
303
303
  }));
304
304
  }
305
305
  else {
306
- messagesOut.push(message);
306
+ /* istanbul ignore next */
307
+ messagesOut.push(Object.assign({}, message, {
308
+ content: message.content
309
+ ? this.runPromptFilter(this.runPromptFilter(message.content, this.filters.pre, values), this.filters.post, values)
310
+ : null,
311
+ }));
307
312
  }
308
313
  }
309
314
  }
@@ -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":"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"}
@@ -1,3 +1,4 @@
1
+ import { PromptOptions } from "../types";
1
2
  import { BasePrompt } from "./_base";
2
3
  /**
3
4
  * `TextPrompt` provides a standard text-based prompt.
@@ -5,5 +6,5 @@ import { BasePrompt } from "./_base";
5
6
  * @extends BasePrompt
6
7
  */
7
8
  export declare class TextPrompt<I extends Record<string, any>> extends BasePrompt<I> {
8
- constructor(base?: string);
9
+ constructor(base?: string, options?: PromptOptions);
9
10
  }
@@ -8,8 +8,8 @@ const _base_1 = require("./_base");
8
8
  * @extends BasePrompt
9
9
  */
10
10
  class TextPrompt extends _base_1.BasePrompt {
11
- constructor(base) {
12
- super(base);
11
+ constructor(base, options) {
12
+ super(base, options);
13
13
  }
14
14
  }
15
15
  exports.TextPrompt = TextPrompt;
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"src/","sources":["prompt/text.ts"],"names":[],"mappings":";;;AAAA,mCAAqC;AAErC;;;;GAIG;AACH,MAAa,UAA0C,SAAQ,kBAAa;IAC1E,YAAY,IAAa;QACvB,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;CACF;AAJD,gCAIC"}
1
+ {"version":3,"file":"text.js","sourceRoot":"src/","sources":["prompt/text.ts"],"names":[],"mappings":";;;AACA,mCAAqC;AAErC;;;;GAIG;AACH,MAAa,UAA0C,SAAQ,kBAAa;IAC1E,YAAY,IAAa,EAAE,OAAuB;QAChD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvB,CAAC;CACF;AAJD,gCAIC"}
@@ -66,12 +66,16 @@ class BaseState {
66
66
  }
67
67
  serialize() {
68
68
  const dialogues = {};
69
- const context = { ...this.context };
69
+ const context = {};
70
70
  const attributes = { ...this.attributes };
71
71
  const dialogueKeys = Object.keys(this.dialogues);
72
72
  for (const dialogueKey of dialogueKeys) {
73
73
  dialogues[dialogueKey] = this.dialogues[dialogueKey].serialize();
74
74
  }
75
+ const contextKeys = Object.keys(this.context);
76
+ for (const contextKey of contextKeys) {
77
+ context[contextKey] = this.context[contextKey].serialize();
78
+ }
75
79
  return {
76
80
  dialogues,
77
81
  context,
@@ -1 +1 @@
1
- {"version":3,"file":"_base.js","sourceRoot":"src/","sources":["state/_base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_base.js","sourceRoot":"src/","sources":["state/_base.ts"],"names":[],"mappings":"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"}
@@ -4,3 +4,4 @@ import { DefaultStateItem } from "./item";
4
4
  export declare function createState(): DefaultState;
5
5
  export declare function createDialogue(name: string): Dialogue;
6
6
  export declare function createStateItem<T>(name: string, defaultValue: T): DefaultStateItem;
7
+ export declare function createStateFrom(savedState?: any): DefaultState;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createStateItem = exports.createDialogue = exports.createState = void 0;
3
+ exports.createStateFrom = exports.createStateItem = exports.createDialogue = exports.createState = void 0;
4
4
  const _1 = require(".");
5
5
  const dialogue_1 = require("./dialogue");
6
6
  const item_1 = require("./item");
@@ -16,4 +16,19 @@ function createStateItem(name, defaultValue) {
16
16
  return new item_1.DefaultStateItem(name, defaultValue);
17
17
  }
18
18
  exports.createStateItem = createStateItem;
19
+ function createStateFrom(savedState) {
20
+ const state = createState();
21
+ const dialogues = savedState?.dialogues || {};
22
+ // const context = savedState?.context;
23
+ const attributes = savedState?.attributes || {};
24
+ for (const dialogue of Object.keys(dialogues)) {
25
+ const value = dialogues[dialogue].value;
26
+ state.createDialogue(dialogue).setHistory(value);
27
+ }
28
+ for (const attribute of Object.keys(attributes)) {
29
+ state.setAttribute(attribute, attributes[attribute]);
30
+ }
31
+ return state;
32
+ }
33
+ exports.createStateFrom = createStateFrom;
19
34
  //# sourceMappingURL=_functions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_functions.js","sourceRoot":"src/","sources":["state/_functions.ts"],"names":[],"mappings":";;;AAAA,wBAAiC;AACjC,yCAAsC;AACtC,iCAA0C;AAE1C,SAAgB,WAAW;IACzB,OAAO,IAAI,eAAY,EAAE,CAAC;AAC5B,CAAC;AAFD,kCAEC;AACD,SAAgB,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,mBAAQ,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAFD,wCAEC;AAED,SAAgB,eAAe,CAAI,IAAY,EAAE,YAAe;IAC9D,OAAO,IAAI,uBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAClD,CAAC;AAFD,0CAEC"}
1
+ {"version":3,"file":"_functions.js","sourceRoot":"src/","sources":["state/_functions.ts"],"names":[],"mappings":";;;AAAA,wBAAiC;AACjC,yCAAsC;AACtC,iCAA0C;AAE1C,SAAgB,WAAW;IACzB,OAAO,IAAI,eAAY,EAAE,CAAC;AAC5B,CAAC;AAFD,kCAEC;AACD,SAAgB,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,mBAAQ,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAFD,wCAEC;AAED,SAAgB,eAAe,CAAI,IAAY,EAAE,YAAe;IAC9D,OAAO,IAAI,uBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAClD,CAAC;AAFD,0CAEC;AAED,SAAgB,eAAe,CAAC,UAAgB;IAC9C,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,UAAU,EAAE,SAAS,IAAI,EAAE,CAAC;IAC9C,uCAAuC;IACvC,MAAM,UAAU,GAAG,UAAU,EAAE,UAAU,IAAI,EAAE,CAAC;IAEhD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;QAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;QACxC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;KACjD;IAED,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QAC/C,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;KACrD;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAfD,0CAeC"}
@@ -0,0 +1,11 @@
1
+ import { PromptPartial, PromptHelper } from "../../../types";
2
+ import Handlebars from "handlebars";
3
+ export declare const hbs: typeof Handlebars;
4
+ export declare function importPartials(_partials: {
5
+ [key in string]: string;
6
+ }): PromptPartial[];
7
+ export declare function importHelpers(_helpers: {
8
+ [key in string]: (...args: any[]) => any;
9
+ }): PromptHelper[];
10
+ export declare function registerPartials(partials: any[]): void;
11
+ export declare function registerHelpers(helpers: any[]): void;
@@ -0,0 +1,65 @@
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.registerHelpers = exports.registerPartials = exports.importHelpers = exports.importPartials = exports.hbs = void 0;
7
+ const handlebars_1 = __importDefault(require("handlebars"));
8
+ exports.hbs = handlebars_1.default;
9
+ function importPartials(_partials) {
10
+ let partials = [];
11
+ if (_partials) {
12
+ const externalPartialKeys = Object.keys(_partials);
13
+ for (const externalPartialKey of externalPartialKeys) {
14
+ if (typeof externalPartialKey === "string") {
15
+ partials.push({
16
+ name: externalPartialKey,
17
+ template: _partials[externalPartialKey],
18
+ });
19
+ }
20
+ }
21
+ }
22
+ return partials;
23
+ }
24
+ exports.importPartials = importPartials;
25
+ function importHelpers(_helpers) {
26
+ let helpers = [];
27
+ if (_helpers) {
28
+ const externalHelperKeys = Object.keys(_helpers);
29
+ for (const externalHelperKey of externalHelperKeys) {
30
+ if (typeof externalHelperKey === "string") {
31
+ helpers.push({
32
+ name: externalHelperKey,
33
+ handler: _helpers[externalHelperKey],
34
+ });
35
+ }
36
+ }
37
+ }
38
+ return helpers;
39
+ }
40
+ exports.importHelpers = importHelpers;
41
+ function registerPartials(partials) {
42
+ if (partials && Array.isArray(partials)) {
43
+ for (const partial of partials) {
44
+ if (partial.name &&
45
+ typeof partial.name === "string" &&
46
+ typeof partial.template === "string") {
47
+ exports.hbs.registerPartial(partial.name, partial.template);
48
+ }
49
+ }
50
+ }
51
+ }
52
+ exports.registerPartials = registerPartials;
53
+ function registerHelpers(helpers) {
54
+ if (helpers && Array.isArray(helpers)) {
55
+ for (const helper of helpers) {
56
+ if (helper.name &&
57
+ typeof helper.name === "string" &&
58
+ typeof helper.handler === "function") {
59
+ exports.hbs.registerHelper(helper.name, helper.handler);
60
+ }
61
+ }
62
+ }
63
+ }
64
+ exports.registerHelpers = registerHelpers;
65
+ //# sourceMappingURL=hbs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hbs.js","sourceRoot":"src/","sources":["utils/modules/handlebars/hbs.ts"],"names":[],"mappings":";;;;;;AACA,4DAAoC;AAEvB,QAAA,GAAG,GAAG,oBAAU,CAAC;AAE9B,SAAgB,cAAc,CAAC,SAAsC;IACnE,IAAI,QAAQ,GAAoB,EAAE,CAAC;IACnC,IAAI,SAAS,EAAE;QACb,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CACrC,SAAS,CACoB,CAAC;QAChC,KAAK,MAAM,kBAAkB,IAAI,mBAAmB,EAAE;YACpD,IAAI,OAAO,kBAAkB,KAAK,QAAQ,EAAE;gBAC1C,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,kBAAkB;oBACxB,QAAQ,EAAE,SAAS,CAAC,kBAAkB,CAAC;iBACxC,CAAC,CAAC;aACJ;SACF;KACF;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAhBD,wCAgBC;AAED,SAAgB,aAAa,CAAC,QAAsD;IAClF,IAAI,OAAO,GAAmB,EAAE,CAAC;IACjC,IAAI,QAAQ,EAAE;QACZ,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CACpC,QAAQ,CACoB,CAAC;QAC/B,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE;YAClD,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE;gBACzC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,iBAAiB;oBACvB,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC;iBACrC,CAAC,CAAC;aACJ;SACF;KACF;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAhBD,sCAgBC;AAED,SAAgB,gBAAgB,CAAC,QAAe;IAC9C,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QACvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,IACE,OAAO,CAAC,IAAI;gBACZ,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAChC,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EACpC;gBACA,WAAG,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;aACrD;SACF;KACF;AACH,CAAC;AAZD,4CAYC;AAED,SAAgB,eAAe,CAAC,OAAc;IAC5C,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACrC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,IACE,MAAM,CAAC,IAAI;gBACX,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;gBAC/B,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EACpC;gBACA,WAAG,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;aACjD;SACF;KACF;AACH,CAAC;AAZD,0CAYC"}
@@ -1,7 +1,8 @@
1
+ export declare function hbsInTemplate(this: any, arg1: string): string;
1
2
  export declare function getKeyOr(this: any, key: string, arg2: any): any;
2
3
  export declare function getOr(this: any, arg1: string, arg2: string): string;
3
- export declare function indentJson(this: any, arg1: Record<string, any>): string;
4
- export declare function jsonSchemaExample(this: any, key: string, prop: string): string;
4
+ export declare function indentJson(this: any, arg1: Record<string, any>, collapse?: string): string;
5
+ export declare function jsonSchemaExample(this: any, key: string, prop: string, collapse: string): string;
5
6
  export declare function pluralize(this: any, arg1: `${string}|${string}`, arg2: number): string;
6
7
  export declare function eq(this: any, arg1: string | undefined, arg2: string | undefined, options: any): any;
7
8
  export declare function neq(this: any, arg1: string | undefined, arg2: string | undefined, options: any): any;
@@ -1,8 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.join = exports.objectToList = exports.ifCond = exports.neq = exports.eq = exports.pluralize = exports.jsonSchemaExample = exports.indentJson = exports.getOr = exports.getKeyOr = void 0;
3
+ exports.join = exports.objectToList = exports.ifCond = exports.neq = exports.eq = exports.pluralize = exports.jsonSchemaExample = exports.indentJson = exports.getOr = exports.getKeyOr = exports.hbsInTemplate = void 0;
4
4
  const utils_1 = require("../../../../utils");
5
5
  const json_schema_filter_1 = require("../../json-schema-filter");
6
+ function hbsInTemplate(arg1) {
7
+ const data = this;
8
+ const replace = (0, utils_1.replaceTemplateString)(arg1, data);
9
+ return replace;
10
+ }
11
+ exports.hbsInTemplate = hbsInTemplate;
6
12
  function getKeyOr(key, arg2) {
7
13
  const res = (0, utils_1.get)(this, key);
8
14
  return typeof res !== "undefined" && res !== "" ? res : arg2;
@@ -12,15 +18,27 @@ function getOr(arg1, arg2) {
12
18
  return typeof arg1 !== "undefined" && arg1 !== "" ? arg1 : arg2;
13
19
  }
14
20
  exports.getOr = getOr;
15
- function indentJson(arg1) {
16
- return typeof arg1 === "object" ? JSON.stringify(arg1, null, 2) : arg1;
21
+ function indentJson(arg1, collapse = 'false') {
22
+ if (typeof arg1 !== "object") {
23
+ return arg1;
24
+ }
25
+ if (collapse == 'true') {
26
+ return JSON.stringify(arg1);
27
+ }
28
+ return JSON.stringify(arg1, null, 2);
17
29
  }
18
30
  exports.indentJson = indentJson;
19
- function jsonSchemaExample(key, prop) {
31
+ function jsonSchemaExample(key, prop, collapse) {
20
32
  const schema = (0, utils_1.get)(this, key);
21
33
  if (schema && schema.type) {
22
34
  const result = (0, json_schema_filter_1.schemaExampleWith)(schema, prop);
23
- return typeof result === "object" ? JSON.stringify(result, null, 2) : "";
35
+ if (typeof result !== "object") {
36
+ return "";
37
+ }
38
+ if (collapse == 'true') {
39
+ return JSON.stringify(result);
40
+ }
41
+ return JSON.stringify(result, null, 2);
24
42
  }
25
43
  return "";
26
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"src/","sources":["utils/modules/handlebars/helpers/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"src/","sources":["utils/modules/handlebars/helpers/index.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.useHandlebars = void 0;
27
- const handlebars_1 = require("handlebars");
27
+ const hbs_1 = require("./hbs");
28
28
  const helpers = __importStar(require("./helpers"));
29
29
  const contextPartials = __importStar(require("./templates"));
30
30
  const utils_1 = require("../../../utils");
@@ -32,67 +32,40 @@ function useHandlebars(configuration = {
32
32
  helpers: [],
33
33
  partials: [],
34
34
  }) {
35
- var hbs = (0, handlebars_1.create)();
36
35
  const helperKeys = Object.keys(helpers);
37
36
  for (const helperKey of helperKeys) {
38
- hbs.registerHelper(helperKey, helpers[helperKey]);
37
+ hbs_1.hbs.registerHelper(helperKey, helpers[helperKey]);
39
38
  }
40
39
  if (configuration?.helpers && Array.isArray(configuration.helpers)) {
41
- for (const externalHelper of configuration.helpers) {
42
- if (externalHelper.name &&
43
- typeof externalHelper.name === "string" &&
44
- typeof externalHelper.handler === "function") {
45
- hbs.registerHelper(externalHelper.name, externalHelper.handler);
46
- }
47
- }
40
+ (0, hbs_1.registerHelpers)(configuration.helpers);
48
41
  }
49
42
  const helperPath = (0, utils_1.getEnvironmentVariable)('CUSTOM_PROMPT_TEMPLATE_HELPERS_PATH');
50
43
  if (helperPath) {
51
44
  const externalHelpers = require(helperPath);
52
- if (externalHelpers) {
53
- const externalHelperKeys = Object.keys(externalHelpers);
54
- for (const externalHelperKey of externalHelperKeys) {
55
- if (typeof externalHelperKey === "string") {
56
- hbs.registerHelper(externalHelperKey, externalHelpers[externalHelperKey]);
57
- }
58
- }
59
- }
45
+ (0, hbs_1.registerHelpers)((0, hbs_1.importHelpers)(externalHelpers));
60
46
  }
61
47
  const contextPartialKeys = Object.keys(contextPartials.partials);
62
48
  for (const contextPartialKey of contextPartialKeys) {
63
- hbs.registerPartial(contextPartialKey, contextPartials.partials[contextPartialKey]);
49
+ hbs_1.hbs.registerPartial(contextPartialKey, contextPartials.partials[contextPartialKey]);
64
50
  }
65
51
  if (configuration?.partials && Array.isArray(configuration.partials)) {
66
- for (const externalPartial of configuration.partials) {
67
- if (externalPartial.name &&
68
- typeof externalPartial.name === "string" &&
69
- typeof externalPartial.template === "string") {
70
- hbs.registerPartial(externalPartial.name, externalPartial.template);
71
- }
72
- }
52
+ (0, hbs_1.registerPartials)(configuration.partials);
73
53
  }
74
54
  const partialsPath = (0, utils_1.getEnvironmentVariable)('CUSTOM_PROMPT_TEMPLATE_PARTIALS_PATH');
75
55
  if (typeof process === "object" && partialsPath) {
76
56
  const externalPartials = require(partialsPath);
77
- if (externalPartials) {
78
- const externalPartialKeys = Object.keys(externalPartials);
79
- for (const externalPartialKey of externalPartialKeys) {
80
- if (typeof externalPartialKey === "string") {
81
- hbs.registerPartial(externalPartialKey, externalPartials[externalPartialKey]);
82
- }
83
- }
84
- }
57
+ (0, hbs_1.registerPartials)((0, hbs_1.importPartials)(externalPartials));
85
58
  }
86
59
  /* istanbul ignore next */
87
- hbs.registerHelper("with", function (context, options) {
60
+ hbs_1.hbs.registerHelper("with", function (context, options) {
88
61
  return options.fn(context);
89
62
  });
90
63
  /* istanbul ignore next */
91
- hbs.registerHelper("cut", function (str, arg2) {
64
+ hbs_1.hbs.registerHelper("cut", function (str, arg2) {
92
65
  return str.toString().replace(new RegExp(arg2, "g"), "");
93
66
  });
94
67
  /* istanbul ignore next */
95
- hbs.registerHelper("substring", function (str, start, end) {
68
+ hbs_1.hbs.registerHelper("substring", function (str, start, end) {
96
69
  if (str.length > end) {
97
70
  return str.substring(start, end);
98
71
  }
@@ -100,7 +73,7 @@ function useHandlebars(configuration = {
100
73
  return str;
101
74
  }
102
75
  });
103
- return hbs;
76
+ return hbs_1.hbs;
104
77
  }
105
78
  exports.useHandlebars = useHandlebars;
106
79
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"src/","sources":["utils/modules/handlebars/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"src/","sources":["utils/modules/handlebars/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BACiC;AACjC,mDAAqC;AACrC,6DAA+C;AAE/C,mCAAiD;AAEjD,SAAgB,aAAa,CAC3B,gBAAuC;IACrC,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,EAAE;CACb;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAA6B,CAAC;IACpE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;QAClC,SAAG,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;KACnD;IAED,IAAI,aAAa,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;QAClE,IAAA,qBAAe,EAAC,aAAa,CAAC,OAAO,CAAC,CAAA;KACvC;IAED,MAAM,UAAU,GAAG,IAAA,8BAAsB,EAAC,qCAAqC,CAAC,CAAC;IACjF,IAAI,UAAU,EAAE;QACd,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAA,qBAAe,EAAC,IAAA,mBAAa,EAAC,eAAe,CAAC,CAAC,CAAA;KAChD;IAED,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CACpC,eAAe,CAAC,QAAQ,CACoB,CAAC;IAC/C,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE;QAClD,SAAG,CAAC,eAAe,CACjB,iBAAiB,EACjB,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAC5C,CAAC;KACH;IAED,IAAI,aAAa,EAAE,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;QACpE,IAAA,sBAAgB,EAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;KACzC;IAED,MAAM,YAAY,GAAG,IAAA,8BAAsB,EAAC,sCAAsC,CAAC,CAAC;IACpF,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,YAAY,EAAE;QAC/C,MAAM,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAC/C,IAAA,sBAAgB,EAAC,IAAA,oBAAc,EAAC,gBAAgB,CAAC,CAAC,CAAC;KACpD;IAED,0BAA0B;IAC1B,SAAG,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,OAAY,EAAE,OAAY;QAC7D,OAAO,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,0BAA0B;IAC1B,SAAG,CAAC,cAAc,CAAC,KAAK,EAAE,UAAU,GAAW,EAAE,IAAqB;QACpE,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,0BAA0B;IAC1B,SAAG,CAAC,cAAc,CAChB,WAAW,EACX,UAAU,GAAW,EAAE,KAAa,EAAE,GAAW;QAC/C,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;YACpB,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;SAClC;aAAM;YACL,OAAO,GAAG,CAAC;SACZ;IACH,CAAC,CACF,CAAC;IAEF,OAAO,SAAG,CAAC;AACb,CAAC;AAhED,sCAgEC"}
@@ -13,14 +13,13 @@ const ThoughtActionResult = `
13
13
  {{#if step.result}}Action: {{step.action}}{{/if}}
14
14
  {{#if step.result}}Result: {{step.result}}{{/if}}
15
15
  {{/each}}`;
16
- const ChatConversationHistory = `
17
- {{~#if title}}{{~#if chat_history.length}}{{title}}\n{{~/if}}{{~/if}}
16
+ const ChatConversationHistory = `{{~#if title}}{{~#if chat_history.length}}{{title}}\n{{~/if}}{{~/if}}
18
17
  {{#each chat_history as | item |}}
19
- {{~#eq item.role 'user'}}{{../userName}}: {{{item.content}}}\n{{/eq}}
20
- {{~#eq item.role 'assistant'}}{{../assistantName}}: {{{item.content}}}\n{{/eq}}
18
+ {{~#eq item.role 'user'}}{{#if @last}}{{../mostRecentRolePrefix}}{{../userName}}{{../mostRecentRoleSuffix}}{{else}}{{../userName}}{{/if}}: {{#if @last}}{{../mostRecentMessagePrefix}}{{/if}}{{{item.content}}}{{#if @last}}{{../mostRecentMessageSuffix}}{{/if}}\n{{/eq}}
19
+ {{~#eq item.role 'assistant'}}{{#if @last}}{{../mostRecentRolePrefix}}{{../assistantName}}{{../mostRecentRoleSuffix}}{{else}}{{../assistantName}}{{/if}}: {{#if @last}}{{../mostRecentMessagePrefix}}{{/if}}{{{item.content}}}{{#if @last}}{{../mostRecentMessageSuffix}}{{/if}}\n{{/eq}}
21
20
  {{~#eq item.role 'system'}}{{../systemName}}: {{{item.content}}}\n{{/eq}}
22
21
  {{~/each}}`;
23
- const DialogueHistory = `{{>ChatConversationHistory title=title chat_history=(getKeyOr key []) assistantName=(getOr assistant 'Assistant') userName=(getOr user 'User') systemName=(getOr system 'System')}}`;
22
+ const DialogueHistory = `{{>ChatConversationHistory title=title chat_history=(getKeyOr key []) assistantName=(getOr assistant 'Assistant') userName=(getOr user 'User') systemName=(getOr system 'System') mostRecentRolePrefix=mostRecentRolePrefix mostRecentRoleSuffix=mostRecentRoleSuffix mostRecentMessagePrefix=mostRecentMessagePrefix mostRecentMessageSuffix=mostRecentMessageSuffix}}`;
24
23
  const SingleChatMessage = `{{~#eq role 'user'}}{{getOr name 'User'}}: {{{content}}}{{~/eq}}
25
24
  {{~#eq role 'assistant'}}{{getOr assistant 'Assistant'}}: {{{content}}}{{~/eq}}
26
25
  {{~#eq role 'system'}}{{getOr system 'System'}}: {{{content}}}{{~/eq}}`;
@@ -29,10 +28,10 @@ const ThoughtsAndObservations = `{{~#each thoughts as | step |}}
29
28
  {{~#if step.observation}}Observation: {{{step.observation}}}\n{{/if}}
30
29
  {{~/each}}`;
31
30
  const JsonSchema = `{{#if (getKeyOr key false)}}
32
- {{{indentJson (getKeyOr key)}}}
31
+ {{{indentJson (getKeyOr key) collapse}}}
33
32
  {{~/if}}`;
34
33
  const JsonSchemaExampleJson = `{{#if (getOr key false)}}
35
- {{{jsonSchemaExample key (getOr property '')}}}
34
+ {{{jsonSchemaExample key (getOr property '') collapse}}}
36
35
  {{~/if}}`;
37
36
  exports.partials = {
38
37
  JsonSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"src/","sources":["utils/modules/handlebars/templates/index.ts"],"names":[],"mappings":";;;AACa,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;;;;;;WAMrB,CAAC;AAEZ,MAAM,eAAe,GAAG,qLAAqL,CAAC;AAE9M,MAAM,iBAAiB,GAAG;;uEAE6C,CAAC;AAExE,MAAM,uBAAuB,GAAG;;;WAGrB,CAAC;AAEZ,MAAM,UAAU,GAAG;;SAEV,CAAC;AAEV,MAAM,qBAAqB,GAAG;;SAErB,CAAA;AAEI,QAAA,QAAQ,GAAG;IACtB,UAAU;IACV,qBAAqB;IACrB,YAAY;IACZ,eAAe;IACf,iBAAiB;IACjB,uBAAuB;IACvB,uBAAuB;IACvB,mBAAmB;CACpB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"src/","sources":["utils/modules/handlebars/templates/index.ts"],"names":[],"mappings":";;;AACa,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,yWAAyW,CAAC;AAElY,MAAM,iBAAiB,GAAG;;uEAE6C,CAAC;AAExE,MAAM,uBAAuB,GAAG;;;WAGrB,CAAC;AAEZ,MAAM,UAAU,GAAG;;SAEV,CAAC;AAEV,MAAM,qBAAqB,GAAG;;SAErB,CAAA;AAEI,QAAA,QAAQ,GAAG;IACtB,UAAU;IACV,qBAAqB;IACrB,YAAY;IACZ,eAAe;IACf,iBAAiB;IACjB,uBAAuB;IACvB,uBAAuB;IACvB,mBAAmB;CACpB,CAAC"}
@@ -9,6 +9,8 @@ import escape from "lodash.escape";
9
9
  import { v4 as uuidv4 } from "uuid";
10
10
  export { uuidv4 as uuid };
11
11
  export { get, set, pick, camelCase, unEscape, escape };
12
+ export { calculateOpenAiPrice } from "./openai";
13
+ export { hbs, importPartials, importHelpers, registerPartials, registerHelpers, } from "./handlebars/hbs";
12
14
  export { filterObjectOnSchema } from "./json-schema-filter";
13
15
  export { replaceTemplateString } from "./replaceTemplateString";
14
16
  export { asyncCallWithTimeout } from "./asyncCallWithTimeout";
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getEnvironmentVariable = exports.extractPromptPlaceholderToken = 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.escape = exports.unEscape = exports.camelCase = exports.pick = exports.set = exports.get = exports.uuid = void 0;
6
+ exports.getEnvironmentVariable = exports.extractPromptPlaceholderToken = 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.registerHelpers = exports.registerPartials = exports.importHelpers = exports.importPartials = exports.hbs = exports.calculateOpenAiPrice = exports.escape = exports.unEscape = exports.camelCase = exports.pick = exports.set = exports.get = exports.uuid = void 0;
7
7
  const json_schema_to_ts_1 = require("json-schema-to-ts");
8
8
  const lodash_get_1 = __importDefault(require("lodash.get"));
9
9
  exports.get = lodash_get_1.default;
@@ -19,6 +19,14 @@ const lodash_escape_1 = __importDefault(require("lodash.escape"));
19
19
  exports.escape = lodash_escape_1.default;
20
20
  const uuid_1 = require("uuid");
21
21
  Object.defineProperty(exports, "uuid", { enumerable: true, get: function () { return uuid_1.v4; } });
22
+ var openai_1 = require("./openai");
23
+ Object.defineProperty(exports, "calculateOpenAiPrice", { enumerable: true, get: function () { return openai_1.calculateOpenAiPrice; } });
24
+ var hbs_1 = require("./handlebars/hbs");
25
+ Object.defineProperty(exports, "hbs", { enumerable: true, get: function () { return hbs_1.hbs; } });
26
+ Object.defineProperty(exports, "importPartials", { enumerable: true, get: function () { return hbs_1.importPartials; } });
27
+ Object.defineProperty(exports, "importHelpers", { enumerable: true, get: function () { return hbs_1.importHelpers; } });
28
+ Object.defineProperty(exports, "registerPartials", { enumerable: true, get: function () { return hbs_1.registerPartials; } });
29
+ Object.defineProperty(exports, "registerHelpers", { enumerable: true, get: function () { return hbs_1.registerHelpers; } });
22
30
  var json_schema_filter_1 = require("./json-schema-filter");
23
31
  Object.defineProperty(exports, "filterObjectOnSchema", { enumerable: true, get: function () { return json_schema_filter_1.filterObjectOnSchema; } });
24
32
  var replaceTemplateString_1 = require("./replaceTemplateString");
@@ -149,8 +157,8 @@ function extractPromptPlaceholderToken(tok) {
149
157
  return {
150
158
  token: ">DialogueHistory",
151
159
  key: matchKey[2],
152
- assistant: (0, lodash_get_1.default)(matchAssistant, '[2]', ""),
153
- user: (0, lodash_get_1.default)(matchUser, '[2]', ""),
160
+ assistant: (0, lodash_get_1.default)(matchAssistant, "[2]", ""),
161
+ user: (0, lodash_get_1.default)(matchUser, "[2]", ""),
154
162
  };
155
163
  }
156
164
  }
@@ -161,9 +169,9 @@ function extractPromptPlaceholderToken(tok) {
161
169
  if (matchRole) {
162
170
  return {
163
171
  token: ">SingleChatMessage",
164
- name: (0, lodash_get_1.default)(matchName, '[2]'),
165
- content: (0, lodash_unescape_1.default)((0, lodash_get_1.default)(matchContent, '[2]', "")),
166
- role: (0, lodash_get_1.default)(matchRole, '[2]', "")
172
+ name: (0, lodash_get_1.default)(matchName, "[2]"),
173
+ content: (0, lodash_unescape_1.default)((0, lodash_get_1.default)(matchContent, "[2]", "")),
174
+ role: (0, lodash_get_1.default)(matchRole, "[2]", ""),
167
175
  };
168
176
  }
169
177
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"src/","sources":["utils/modules/index.ts"],"names":[],"mappings":";;;;;;AACA,yDAA4C;AAG5C,4DAA6B;AASpB,cATF,oBAAG,CASE;AARZ,4DAA6B;AAQf,cARP,oBAAG,CAQO;AAPjB,8DAA+B;AAOZ,eAPZ,qBAAI,CAOY;AANvB,wEAAyC;AAMhB,oBANlB,0BAAS,CAMkB;AALlC,sEAAuC;AAKH,mBAL7B,yBAAQ,CAK6B;AAJ5C,kEAAmC;AAIW,iBAJvC,uBAAM,CAIuC;AAFpD,+BAAoC;AACjB,qFADJ,SAAM,OACE;AAGvB,2DAA4D;AAAnD,0HAAA,oBAAoB,OAAA;AAC7B,iEAAgE;AAAvD,8HAAA,qBAAqB,OAAA;AAC9B,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,+BAIgB;AAHd,0GAAA,kBAAkB,OAAA;AAClB,sGAAA,cAAc,OAAA;AACd,2GAAA,mBAAmB,OAAA;AAGrB,SAAgB,MAAM,CACpB,SAAc,EACd,OAAoC;IAEpC,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,KAAK,EAAE;QACxE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;SAC1B;aAAM,IAAI,OAAO,YAAY,KAAK,EAAE;YACnC,MAAM,OAAO,CAAC;SACf;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;SACpC;KACF;AACH,CAAC;AAbD,wBAaC;AAEM,MAAM,UAAU,GAAG,CAAC,GAAU,EAAE,SAAiB,EAAE,EAAE,CAC1D,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACvC,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC;AAChB,CAAC,EAAE,EAAE,CAAC,CAAC;AANI,QAAA,UAAU,cAMd;AAET,SAAgB,YAAY,CAAI,GAAc;IAC3C,GAAW,CAAC,oBAAoB,GAAG,KAAK,CAAC;IAC1C,OAAO,IAAA,2BAAO,EAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAHD,oCAGC;AAED,SAAgB,uBAAuB,CAAI,KAAU;IAInD,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;KAC1C;IACD,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;YAC/B,QAAQ,IAAI,KAAK;YACjB,YAAY,IAAI,KAAK,CAAC;YACtB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;gBAC9B,CAAC,QAAQ,IAAI,KAAK,IAAI,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,EAClD;QACA,OAAO,KAAK,CAAC;KACd;IACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;AAC3C,CAAC;AAlBD,0DAkBC;AAUD,SAAgB,mBAAmB,CAAI,KAAU;IAC/C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;QAClD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;KACzB;IACD,QAAQ,OAAO,KAAK,EAAE;QACpB,KAAK,QAAQ,CAAC,CAAC;YACb,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACxB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;aACzB;YACD,OAAO,KAAK,CAAC;SACd;QACD;YACE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;KAC3B;AACH,CAAC;AAdD,kDAcC;AACD,SAAgB,iBAAiB,CAAC,IAAS,EAAE,WAAmB;IAC9D,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC;IACxB,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QACpC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,EAAE;YACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;SACnC;aAAM;YACL,OAAO,IAAI,CAAC;SACb;KACF;IACD,IAAI,MAAM,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChE,0BAA0B;IAC1B,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;AAC1C,CAAC;AAZD,8CAYC;AAED,SAAgB,qBAAqB,CACnC,GAAM;IAEN,MAAM,CAAC,OAAO,GAAG,KAAK,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAClD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CACjE,CAAC;AACT,CAAC;AAPD,sDAOC;AAED,SAAgB,oBAAoB,CAAC,MAAM,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE;IAC3D,yFAAyF;IACzF,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,EAAE,CAAC;AACvD,CAAC;AAPD,oDAOC;AAED,SAAgB,MAAM,CAAC,KAAU;IAC/B,OAAO,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAFD,wBAEC;AAED,SAAgB,WAAW,CAAC,KAAU;IACpC,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,SAAS,CAAC;AAC3D,CAAC;AAFD,kCAEC;AAED,SAAgB,QAAQ,CAAC,KAAU;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAFD,4BAEC;AAED,SAAgB,QAAQ,CAAC,KAAU;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,KAAK,CAAC;KACd;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACpD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;KACtB;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AARD,4BAQC;AAED,SAAgB,6BAA6B,CAAC,GAAW;IACvD,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,kBAAkB,EAAE;QACjD,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC1D,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC5D,IAAI,QAAQ,EAAE;YACZ,OAAO;gBACL,KAAK,EAAE,kBAAkB;gBACzB,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAChB,SAAS,EAAE,IAAA,oBAAG,EAAC,cAAc,EAAE,KAAK,EAAE,EAAE,CAAC;gBACzC,IAAI,EAAC,IAAA,oBAAG,EAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC;aAC/B,CAAC;SACH;KACF;SACI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,oBAAoB,EAAE;QACxD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC5D,IAAI,SAAS,EAAE;YACb,OAAO;gBACL,KAAK,EAAE,oBAAoB;gBAC3B,IAAI,EAAE,IAAA,oBAAG,EAAC,SAAS,EAAE,KAAK,CAAC;gBAC3B,OAAO,EAAC,IAAA,yBAAQ,EAAC,IAAA,oBAAG,EAAC,YAAY,EAAE,KAAK,EAAE,EAAE,CAAC,CAAE;gBAC/C,IAAI,EAAE,IAAA,oBAAG,EAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC;aAChC,CAAC;SACH;KACF;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACvB,CAAC;AA9BD,sEA8BC;AAED,SAAgB,sBAAsB,CAAC,IAAY;IACjD,IAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,EAAE,GAAG,EAAC;QAC7C,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;KACzB;SAAI;QACH,OAAO,SAAS,CAAA;KACjB;AACH,CAAC;AAND,wDAMC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"src/","sources":["utils/modules/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { OpenAIModelName } from "../../types";
2
+ /**
3
+ * Calculate the API call cost based on input and output tokens.
4
+ * @param input_tokens - The number of input tokens.
5
+ * @param output_tokens=0 - The number of output tokens (defaults to 0).
6
+ * @returns An object for input/output tokens and cost.
7
+ */
8
+ export declare function calculateOpenAiPrice(model: OpenAIModelName, input_tokens: number, output_tokens: number): {
9
+ input_cost: number;
10
+ output_cost: number;
11
+ total_cost: number;
12
+ };
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.calculateOpenAiPrice = void 0;
4
+ const const_1 = require("../const");
5
+ /**
6
+ * Calculate the API call cost based on input and output tokens.
7
+ * @param input_tokens - The number of input tokens.
8
+ * @param output_tokens=0 - The number of output tokens (defaults to 0).
9
+ * @returns An object for input/output tokens and cost.
10
+ */
11
+ function calculateOpenAiPrice(model, input_tokens, output_tokens) {
12
+ const out = {
13
+ input_cost: 0,
14
+ output_cost: 0,
15
+ total_cost: 0,
16
+ };
17
+ const price = const_1.OpenAiPricing[model];
18
+ if (price) {
19
+ const [amount, inputAmount, outputAmount] = price;
20
+ if (inputAmount && input_tokens) {
21
+ out["input_cost"] = (input_tokens / amount) * inputAmount;
22
+ }
23
+ if (outputAmount && output_tokens) {
24
+ out["output_cost"] = (output_tokens / amount) * outputAmount;
25
+ }
26
+ out["total_cost"] = out["input_cost"] + out["output_cost"];
27
+ }
28
+ return out;
29
+ }
30
+ exports.calculateOpenAiPrice = calculateOpenAiPrice;
31
+ //# sourceMappingURL=openai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.js","sourceRoot":"src/","sources":["utils/modules/openai.ts"],"names":[],"mappings":";;;AACA,oCAAyC;AAEzC;;;;;GAKG;AACH,SAAgB,oBAAoB,CAClC,KAAsB,EACtB,YAAoB,EACpB,aAAqB;IAErB,MAAM,GAAG,GAAG;QACV,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;QACd,UAAU,EAAE,CAAC;KACd,CAAC;IAEF,MAAM,KAAK,GAAG,qBAAa,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,KAAK,EAAE;QACT,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC;QAClD,IAAI,WAAW,IAAI,YAAY,EAAE;YAC/B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,GAAG,MAAM,CAAC,GAAG,WAAW,CAAC;SAC3D;QACD,IAAI,YAAY,IAAI,aAAa,EAAE;YACjC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,GAAG,MAAM,CAAC,GAAG,YAAY,CAAC;SAC9D;QAED,GAAG,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC;KAC5D;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAzBD,oDAyBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "llm-exe",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Simplify building LLM-powered apps with easy-to-use base components, supporting text and chat-based prompts with handlebars template engine, output parsers, and flexible function calling capabilities.",
5
5
  "keywords": [
6
6
  "ai",
@@ -23,7 +23,7 @@
23
23
  "scripts": {
24
24
  "tsc": "tsc --project ./tsconfig.json && tsc-alias -p ./tsconfig.json -w",
25
25
  "tsc-ci": "tsc --project ./tsconfig.json && tsc-alias -p ./tsconfig.json",
26
- "tsc-build": "tsc --project ./tsconfig-build.json && tsc-alias -p tsconfig-build.json -w",
26
+ "tsc-build": "tsc --project ./tsconfig-build.json && tsc-alias -p tsconfig-build.json",
27
27
  "test": "NODE_OPTIONS=--experimental-vm-modules jest --detectOpenHandles --coverage --forceExit",
28
28
  "docs:dev": "vuepress dev docs --clean-temp --clean-cache",
29
29
  "docs:build": "vuepress build docs --clean-temp --clean-cache",
@@ -54,14 +54,15 @@
54
54
  "@types/json-schema": "^7.0.11",
55
55
  "@types/lodash.camelcase": "^4.3.7",
56
56
  "@types/lodash.escape": "^4.0.7",
57
- "@types/lodash.unescape": "^4.0.7",
58
57
  "@types/lodash.get": "^4.4.7",
59
58
  "@types/lodash.pick": "^4.4.7",
60
59
  "@types/lodash.set": "^4.3.7",
60
+ "@types/lodash.unescape": "^4.0.7",
61
61
  "@types/node": "17.0.23",
62
62
  "@types/prettier": "2.6.0",
63
63
  "@types/uuid": "^9.0.1",
64
64
  "@vuepress/plugin-google-analytics": "^2.0.0-beta.62",
65
+ "@vuepress/plugin-register-components": "^2.0.0-beta.63",
65
66
  "eslint": "^8.41.0",
66
67
  "eslint-config-airbnb-base": "^15.0.0",
67
68
  "eslint-config-prettier": "^8.8.0",
package/readme.md CHANGED
@@ -6,9 +6,9 @@ A package that provides simplified base components to make building and maintain
6
6
 
7
7
  - Write functions powered by LLM's with easy to use building blocks.
8
8
  - Pure Javascript and Typescript. Allows you to pass and infer types.
9
- - Not very opinionated. You have control on how you use it.
10
9
  - Support for text-based and chat-based prompts (gpt-3.5-turbo and gpt-4).
11
10
  - Supercharge your prompts by using handlebars within prompt template.
12
11
  - Allow LLM's to call functions (or call other LLM executors).
12
+ - Not very opinionated. You have control on how you use it.
13
13
 
14
14
  See full docs [here](https://llm-exe.com)