@promptbook/core 0.57.2 → 0.58.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 (153) hide show
  1. package/esm/index.es.js +133 -133
  2. package/esm/index.es.js.map +1 -1
  3. package/esm/typings/_packages/anthropic-claude.index.d.ts +2 -2
  4. package/esm/typings/_packages/azure-openai.index.d.ts +3 -4
  5. package/esm/typings/_packages/core.index.d.ts +8 -6
  6. package/esm/typings/_packages/execute-javascript.index.d.ts +2 -2
  7. package/esm/typings/_packages/fake-llm.index.d.ts +2 -2
  8. package/esm/typings/_packages/langtail.index.d.ts +3 -4
  9. package/esm/typings/_packages/openai.index.d.ts +4 -5
  10. package/esm/typings/_packages/remote-client.index.d.ts +4 -5
  11. package/esm/typings/_packages/remote-server.index.d.ts +3 -4
  12. package/esm/typings/_packages/types.index.d.ts +69 -8
  13. package/esm/typings/_packages/utils.index.d.ts +6 -4
  14. package/esm/typings/execution/ScriptExecutionTools.d.ts +1 -1
  15. package/esm/typings/formats/_common/FormatDefinition.d.ts +53 -0
  16. package/esm/typings/formats/index.d.ts +4 -0
  17. package/esm/typings/formats/json/JsonFormatDefinition.d.ts +11 -0
  18. package/esm/typings/formats/xml/XmlFormatDefinition.d.ts +11 -0
  19. package/{umd/typings/execution/plugins/user-interface-execution-tools → esm/typings/knowledgebase/dialogs}/callback/CallbackInterfaceTools.d.ts +2 -2
  20. package/esm/typings/{execution/plugins/user-interface-execution-tools → knowledgebase/dialogs}/callback/CallbackInterfaceToolsOptions.d.ts +2 -2
  21. package/esm/typings/{execution/plugins/user-interface-execution-tools → knowledgebase/dialogs}/simple-prompt/SimplePromptInterfaceTools.d.ts +3 -3
  22. package/esm/typings/{execution/plugins/llm-execution-tools → llm-providers}/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +5 -5
  23. package/{umd/typings/execution/plugins/llm-execution-tools → esm/typings/llm-providers}/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +1 -1
  24. package/{umd/typings/execution/plugins/llm-execution-tools → esm/typings/llm-providers}/anthropic-claude/anthropic-claude-models.d.ts +2 -2
  25. package/{umd/typings/execution/plugins/llm-execution-tools → esm/typings/llm-providers}/azure-openai/AzureOpenAiExecutionTools.d.ts +5 -5
  26. package/{umd/typings/execution/plugins/llm-execution-tools → esm/typings/llm-providers}/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +3 -3
  27. package/esm/typings/{execution/plugins/llm-execution-tools → llm-providers}/langtail/LangtailExecutionTools.d.ts +1 -1
  28. package/{umd/typings/execution/plugins/llm-execution-tools → esm/typings/llm-providers}/mocked/MockedEchoLlmExecutionTools.d.ts +6 -6
  29. package/{umd/typings/execution/plugins/llm-execution-tools → esm/typings/llm-providers}/mocked/MockedFackedLlmExecutionTools.d.ts +6 -6
  30. package/esm/typings/{execution/plugins/llm-execution-tools → llm-providers}/mocked/fakeTextToExpectations.d.ts +2 -2
  31. package/{umd/typings/execution/plugins/llm-execution-tools → esm/typings/llm-providers}/multiple/MultipleLlmExecutionTools.d.ts +5 -5
  32. package/{umd/typings/execution/plugins/llm-execution-tools → esm/typings/llm-providers}/multiple/MultipleLlmExecutionToolsOptions.d.ts +3 -3
  33. package/{umd/typings/execution/plugins/llm-execution-tools → esm/typings/llm-providers}/openai/OpenAiExecutionTools.d.ts +5 -5
  34. package/{umd/typings/execution/plugins/llm-execution-tools → esm/typings/llm-providers}/openai/OpenAiExecutionToolsOptions.d.ts +2 -2
  35. package/esm/typings/{execution/plugins/llm-execution-tools → llm-providers}/openai/computeOpenaiUsage.d.ts +3 -3
  36. package/{umd/typings/execution/plugins/llm-execution-tools → esm/typings/llm-providers}/openai/openai-models.d.ts +2 -2
  37. package/esm/typings/{execution/plugins/llm-execution-tools → llm-providers}/remote/RemoteLlmExecutionTools.d.ts +5 -5
  38. package/{umd/typings/execution/plugins/llm-execution-tools → esm/typings/llm-providers}/remote/RemoteLlmExecutionToolsOptions.d.ts +3 -3
  39. package/esm/typings/{execution/plugins/llm-execution-tools → llm-providers}/remote/interfaces/Promptbook_Server_Progress.d.ts +1 -1
  40. package/{umd/typings/execution/plugins/llm-execution-tools → esm/typings/llm-providers}/remote/interfaces/Promptbook_Server_Request.d.ts +2 -2
  41. package/esm/typings/{execution/plugins/llm-execution-tools → llm-providers}/remote/interfaces/Promptbook_Server_Response.d.ts +1 -1
  42. package/{umd/typings/execution/plugins/llm-execution-tools → esm/typings/llm-providers}/remote/interfaces/RemoteServerOptions.d.ts +5 -5
  43. package/esm/typings/scripting/_test/script-execution-errors.test.d.ts +1 -0
  44. package/esm/typings/scripting/_test/script-execution-tools.test.d.ts +1 -0
  45. package/esm/typings/{execution/plugins/script-execution-tools → scripting}/javascript/JavascriptEvalExecutionTools.d.ts +2 -2
  46. package/esm/typings/{execution/plugins/script-execution-tools → scripting}/javascript/JavascriptExecutionToolsOptions.d.ts +2 -2
  47. package/{umd/typings/execution/plugins/script-execution-tools → esm/typings/scripting}/python/PythonExecutionTools.d.ts +3 -3
  48. package/esm/typings/{execution/plugins/script-execution-tools → scripting}/typescript/TypescriptExecutionTools.d.ts +3 -3
  49. package/esm/typings/types/Prompt.d.ts +1 -1
  50. package/package.json +1 -1
  51. package/umd/index.umd.js +133 -133
  52. package/umd/index.umd.js.map +1 -1
  53. package/umd/typings/_packages/anthropic-claude.index.d.ts +2 -2
  54. package/umd/typings/_packages/azure-openai.index.d.ts +3 -4
  55. package/umd/typings/_packages/core.index.d.ts +8 -6
  56. package/umd/typings/_packages/execute-javascript.index.d.ts +2 -2
  57. package/umd/typings/_packages/fake-llm.index.d.ts +2 -2
  58. package/umd/typings/_packages/langtail.index.d.ts +3 -4
  59. package/umd/typings/_packages/openai.index.d.ts +4 -5
  60. package/umd/typings/_packages/remote-client.index.d.ts +4 -5
  61. package/umd/typings/_packages/remote-server.index.d.ts +3 -4
  62. package/umd/typings/_packages/types.index.d.ts +69 -8
  63. package/umd/typings/_packages/utils.index.d.ts +6 -4
  64. package/umd/typings/execution/ScriptExecutionTools.d.ts +1 -1
  65. package/umd/typings/formats/_common/FormatDefinition.d.ts +53 -0
  66. package/umd/typings/formats/index.d.ts +4 -0
  67. package/umd/typings/formats/json/JsonFormatDefinition.d.ts +11 -0
  68. package/umd/typings/formats/json/utils/isValidJsonString.test.d.ts +1 -0
  69. package/umd/typings/formats/xml/XmlFormatDefinition.d.ts +11 -0
  70. package/{esm/typings/execution/plugins/user-interface-execution-tools → umd/typings/knowledgebase/dialogs}/callback/CallbackInterfaceTools.d.ts +2 -2
  71. package/umd/typings/{execution/plugins/user-interface-execution-tools → knowledgebase/dialogs}/callback/CallbackInterfaceToolsOptions.d.ts +2 -2
  72. package/umd/typings/{execution/plugins/user-interface-execution-tools → knowledgebase/dialogs}/simple-prompt/SimplePromptInterfaceTools.d.ts +3 -3
  73. package/umd/typings/knowledgebase/dialogs/user-interface-execution-tools.test.d.ts +1 -0
  74. package/umd/typings/{execution/plugins/llm-execution-tools → llm-providers}/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +5 -5
  75. package/{esm/typings/execution/plugins/llm-execution-tools → umd/typings/llm-providers}/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +1 -1
  76. package/{esm/typings/execution/plugins/llm-execution-tools → umd/typings/llm-providers}/anthropic-claude/anthropic-claude-models.d.ts +2 -2
  77. package/{esm/typings/execution/plugins/llm-execution-tools → umd/typings/llm-providers}/azure-openai/AzureOpenAiExecutionTools.d.ts +5 -5
  78. package/{esm/typings/execution/plugins/llm-execution-tools → umd/typings/llm-providers}/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +3 -3
  79. package/umd/typings/{execution/plugins/llm-execution-tools → llm-providers}/langtail/LangtailExecutionTools.d.ts +1 -1
  80. package/{esm/typings/execution/plugins/llm-execution-tools → umd/typings/llm-providers}/mocked/MockedEchoLlmExecutionTools.d.ts +6 -6
  81. package/{esm/typings/execution/plugins/llm-execution-tools → umd/typings/llm-providers}/mocked/MockedFackedLlmExecutionTools.d.ts +6 -6
  82. package/umd/typings/{execution/plugins/llm-execution-tools → llm-providers}/mocked/fakeTextToExpectations.d.ts +2 -2
  83. package/umd/typings/llm-providers/mocked/fakeTextToExpectations.test.d.ts +1 -0
  84. package/umd/typings/llm-providers/mocked/faked-completion.test.d.ts +1 -0
  85. package/{esm/typings/execution/plugins/llm-execution-tools → umd/typings/llm-providers}/multiple/MultipleLlmExecutionTools.d.ts +5 -5
  86. package/{esm/typings/execution/plugins/llm-execution-tools → umd/typings/llm-providers}/multiple/MultipleLlmExecutionToolsOptions.d.ts +3 -3
  87. package/{esm/typings/execution/plugins/llm-execution-tools → umd/typings/llm-providers}/openai/OpenAiExecutionTools.d.ts +5 -5
  88. package/{esm/typings/execution/plugins/llm-execution-tools → umd/typings/llm-providers}/openai/OpenAiExecutionToolsOptions.d.ts +2 -2
  89. package/umd/typings/{execution/plugins/llm-execution-tools → llm-providers}/openai/computeOpenaiUsage.d.ts +3 -3
  90. package/umd/typings/llm-providers/openai/computeUsage.test.d.ts +1 -0
  91. package/{esm/typings/execution/plugins/llm-execution-tools → umd/typings/llm-providers}/openai/openai-models.d.ts +2 -2
  92. package/umd/typings/{execution/plugins/llm-execution-tools → llm-providers}/remote/RemoteLlmExecutionTools.d.ts +5 -5
  93. package/{esm/typings/execution/plugins/llm-execution-tools → umd/typings/llm-providers}/remote/RemoteLlmExecutionToolsOptions.d.ts +3 -3
  94. package/umd/typings/{execution/plugins/llm-execution-tools → llm-providers}/remote/interfaces/Promptbook_Server_Progress.d.ts +1 -1
  95. package/{esm/typings/execution/plugins/llm-execution-tools → umd/typings/llm-providers}/remote/interfaces/Promptbook_Server_Request.d.ts +2 -2
  96. package/umd/typings/{execution/plugins/llm-execution-tools → llm-providers}/remote/interfaces/Promptbook_Server_Response.d.ts +1 -1
  97. package/{esm/typings/execution/plugins/llm-execution-tools → umd/typings/llm-providers}/remote/interfaces/RemoteServerOptions.d.ts +5 -5
  98. package/umd/typings/scripting/_test/custom-function-async.test.ts.test.d.ts +1 -0
  99. package/umd/typings/scripting/_test/custom-function-missing.test.d.ts +1 -0
  100. package/umd/typings/scripting/_test/custom-function-with-dependencies.test.d.ts +1 -0
  101. package/umd/typings/scripting/_test/custom-function.test.d.ts +1 -0
  102. package/umd/typings/scripting/_test/postprocessing.test.d.ts +1 -0
  103. package/umd/typings/scripting/_test/script-execution-errors.test.d.ts +1 -0
  104. package/umd/typings/scripting/_test/script-execution-tools.test.d.ts +1 -0
  105. package/umd/typings/{execution/plugins/script-execution-tools → scripting}/javascript/JavascriptEvalExecutionTools.d.ts +2 -2
  106. package/umd/typings/{execution/plugins/script-execution-tools → scripting}/javascript/JavascriptExecutionToolsOptions.d.ts +2 -2
  107. package/{esm/typings/execution/plugins/script-execution-tools → umd/typings/scripting}/python/PythonExecutionTools.d.ts +3 -3
  108. package/umd/typings/{execution/plugins/script-execution-tools → scripting}/typescript/TypescriptExecutionTools.d.ts +3 -3
  109. package/umd/typings/types/Prompt.d.ts +1 -1
  110. /package/esm/typings/{utils → formats/json/utils}/isValidJsonString.d.ts +0 -0
  111. /package/esm/typings/{utils → formats/json/utils}/isValidJsonString.test.d.ts +0 -0
  112. /package/esm/typings/{execution/plugins/user-interface-execution-tools → knowledgebase/dialogs}/user-interface-execution-tools.test.d.ts +0 -0
  113. /package/esm/typings/{execution/plugins/llm-execution-tools → llm-providers}/anthropic-claude/playground/playground.d.ts +0 -0
  114. /package/esm/typings/{execution/plugins/llm-execution-tools → llm-providers}/azure-openai/playground/playground.d.ts +0 -0
  115. /package/esm/typings/{execution/plugins/llm-execution-tools → llm-providers}/langtail/LangtailExecutionToolsOptions.d.ts +0 -0
  116. /package/esm/typings/{execution/plugins/llm-execution-tools → llm-providers}/langtail/playground/playground.d.ts +0 -0
  117. /package/esm/typings/{execution/plugins/llm-execution-tools → llm-providers}/mocked/fakeTextToExpectations.test.d.ts +0 -0
  118. /package/esm/typings/{execution/plugins/llm-execution-tools → llm-providers}/mocked/faked-completion.test.d.ts +0 -0
  119. /package/esm/typings/{execution/plugins/llm-execution-tools → llm-providers}/mocked/joker.test.d.ts +0 -0
  120. /package/esm/typings/{execution/plugins/llm-execution-tools → llm-providers}/mocked/mocked-chat.test.d.ts +0 -0
  121. /package/esm/typings/{execution/plugins/llm-execution-tools → llm-providers}/mocked/mocked-completion.test.d.ts +0 -0
  122. /package/esm/typings/{execution/plugins/llm-execution-tools → llm-providers}/multiple/playground/playground.d.ts +0 -0
  123. /package/esm/typings/{execution/plugins/llm-execution-tools → llm-providers}/openai/computeUsage.d.ts +0 -0
  124. /package/esm/typings/{execution/plugins/llm-execution-tools → llm-providers}/openai/computeUsage.test.d.ts +0 -0
  125. /package/esm/typings/{execution/plugins/llm-execution-tools → llm-providers}/openai/playground/playground.d.ts +0 -0
  126. /package/esm/typings/{execution/plugins/llm-execution-tools → llm-providers}/remote/interfaces/Promptbook_Server_Error.d.ts +0 -0
  127. /package/esm/typings/{execution/plugins/llm-execution-tools → llm-providers}/remote/startRemoteServer.d.ts +0 -0
  128. /package/{umd/typings/execution/plugins/llm-execution-tools/mocked/fakeTextToExpectations.test.d.ts → esm/typings/scripting/_test/custom-function-async.test.ts.test.d.ts} +0 -0
  129. /package/{umd/typings/execution/plugins/llm-execution-tools/mocked/faked-completion.test.d.ts → esm/typings/scripting/_test/custom-function-missing.test.d.ts} +0 -0
  130. /package/{umd/typings/execution/plugins/llm-execution-tools/openai/computeUsage.test.d.ts → esm/typings/scripting/_test/custom-function-with-dependencies.test.d.ts} +0 -0
  131. /package/{umd/typings/execution/plugins/user-interface-execution-tools/user-interface-execution-tools.test.d.ts → esm/typings/scripting/_test/custom-function.test.d.ts} +0 -0
  132. /package/{umd/typings/utils/isValidJsonString.test.d.ts → esm/typings/scripting/_test/postprocessing.test.d.ts} +0 -0
  133. /package/esm/typings/{execution/plugins/script-execution-tools → scripting}/javascript/JavascriptEvalExecutionTools.test.d.ts +0 -0
  134. /package/esm/typings/{execution/plugins/script-execution-tools → scripting}/javascript/JavascriptExecutionTools.d.ts +0 -0
  135. /package/esm/typings/{execution/plugins/script-execution-tools → scripting}/javascript/utils/preserve.d.ts +0 -0
  136. /package/esm/typings/{execution/plugins/script-execution-tools → scripting}/javascript/utils/unknownToString.d.ts +0 -0
  137. /package/umd/typings/{utils → formats/json/utils}/isValidJsonString.d.ts +0 -0
  138. /package/umd/typings/{execution/plugins/llm-execution-tools → llm-providers}/anthropic-claude/playground/playground.d.ts +0 -0
  139. /package/umd/typings/{execution/plugins/llm-execution-tools → llm-providers}/azure-openai/playground/playground.d.ts +0 -0
  140. /package/umd/typings/{execution/plugins/llm-execution-tools → llm-providers}/langtail/LangtailExecutionToolsOptions.d.ts +0 -0
  141. /package/umd/typings/{execution/plugins/llm-execution-tools → llm-providers}/langtail/playground/playground.d.ts +0 -0
  142. /package/umd/typings/{execution/plugins/llm-execution-tools → llm-providers}/mocked/joker.test.d.ts +0 -0
  143. /package/umd/typings/{execution/plugins/llm-execution-tools → llm-providers}/mocked/mocked-chat.test.d.ts +0 -0
  144. /package/umd/typings/{execution/plugins/llm-execution-tools → llm-providers}/mocked/mocked-completion.test.d.ts +0 -0
  145. /package/umd/typings/{execution/plugins/llm-execution-tools → llm-providers}/multiple/playground/playground.d.ts +0 -0
  146. /package/umd/typings/{execution/plugins/llm-execution-tools → llm-providers}/openai/computeUsage.d.ts +0 -0
  147. /package/umd/typings/{execution/plugins/llm-execution-tools → llm-providers}/openai/playground/playground.d.ts +0 -0
  148. /package/umd/typings/{execution/plugins/llm-execution-tools → llm-providers}/remote/interfaces/Promptbook_Server_Error.d.ts +0 -0
  149. /package/umd/typings/{execution/plugins/llm-execution-tools → llm-providers}/remote/startRemoteServer.d.ts +0 -0
  150. /package/umd/typings/{execution/plugins/script-execution-tools → scripting}/javascript/JavascriptEvalExecutionTools.test.d.ts +0 -0
  151. /package/umd/typings/{execution/plugins/script-execution-tools → scripting}/javascript/JavascriptExecutionTools.d.ts +0 -0
  152. /package/umd/typings/{execution/plugins/script-execution-tools → scripting}/javascript/utils/preserve.d.ts +0 -0
  153. /package/umd/typings/{execution/plugins/script-execution-tools → scripting}/javascript/utils/unknownToString.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- import type { PostprocessingFunction } from '../execution/plugins/script-execution-tools/javascript/JavascriptExecutionToolsOptions';
1
+ import type { PostprocessingFunction } from '../scripting/javascript/JavascriptExecutionToolsOptions';
2
2
  import type { ExpectFormatCommand } from './Command';
3
3
  import type { ModelRequirements } from './ModelRequirements';
4
4
  import type { Expectations } from './PromptbookJson/PromptTemplateJson';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/core",
3
- "version": "0.57.2",
3
+ "version": "0.58.0",
4
4
  "description": "Library to supercharge your use of large language models",
5
5
  "private": false,
6
6
  "sideEffects": false,
package/umd/index.umd.js CHANGED
@@ -454,7 +454,7 @@
454
454
  /**
455
455
  * The version of the Promptbook library
456
456
  */
457
- var PROMPTBOOK_VERSION = '0.57.1';
457
+ var PROMPTBOOK_VERSION = '0.57.2';
458
458
 
459
459
  /**
460
460
  * Parses the template and returns the list of all parameter names
@@ -2312,7 +2312,7 @@
2312
2312
  /**
2313
2313
  * Function isValidJsonString will tell you if the string is valid JSON or not
2314
2314
  */
2315
- function isValidJsonString(value) {
2315
+ function isValidJsonString(value /* <-[👨‍⚖️] */) {
2316
2316
  try {
2317
2317
  JSON.parse(value);
2318
2318
  return true;
@@ -3141,137 +3141,6 @@
3141
3141
  * TODO: [🧠][3] transparent = (report intermediate parameters) / opaque execution = (report only output parameters) progress reporting mode
3142
3142
  */
3143
3143
 
3144
- /**
3145
- * Multiple LLM Execution Tools is a proxy server that uses multiple execution tools internally and exposes the executor interface externally.
3146
- *
3147
- * @see https://github.com/webgptorg/promptbook#multiple-server
3148
- */
3149
- var MultipleLlmExecutionTools = /** @class */ (function () {
3150
- /**
3151
- * Gets array of execution tools in order of priority
3152
- */
3153
- function MultipleLlmExecutionTools() {
3154
- var llmExecutionTools = [];
3155
- for (var _i = 0; _i < arguments.length; _i++) {
3156
- llmExecutionTools[_i] = arguments[_i];
3157
- }
3158
- this.llmExecutionTools = llmExecutionTools;
3159
- }
3160
- /**
3161
- * Calls the best available chat model
3162
- */
3163
- MultipleLlmExecutionTools.prototype.gptChat = function (prompt) {
3164
- return this.gptCommon(prompt);
3165
- };
3166
- /**
3167
- * Calls the best available completion model
3168
- */
3169
- MultipleLlmExecutionTools.prototype.gptComplete = function (prompt) {
3170
- return this.gptCommon(prompt);
3171
- };
3172
- /**
3173
- * Calls the best available model
3174
- */
3175
- MultipleLlmExecutionTools.prototype.gptCommon = function (prompt) {
3176
- return __awaiter(this, void 0, void 0, function () {
3177
- var errors, _a, _b, llmExecutionTools, error_1, e_1_1;
3178
- var e_1, _c;
3179
- return __generator(this, function (_d) {
3180
- switch (_d.label) {
3181
- case 0:
3182
- errors = [];
3183
- _d.label = 1;
3184
- case 1:
3185
- _d.trys.push([1, 11, 12, 13]);
3186
- _a = __values(this.llmExecutionTools), _b = _a.next();
3187
- _d.label = 2;
3188
- case 2:
3189
- if (!!_b.done) return [3 /*break*/, 10];
3190
- llmExecutionTools = _b.value;
3191
- _d.label = 3;
3192
- case 3:
3193
- _d.trys.push([3, 8, , 9]);
3194
- if (!(prompt.modelRequirements.modelVariant === 'CHAT')) return [3 /*break*/, 5];
3195
- return [4 /*yield*/, llmExecutionTools.gptChat(prompt)];
3196
- case 4: return [2 /*return*/, _d.sent()];
3197
- case 5:
3198
- if (!(prompt.modelRequirements.modelVariant === 'COMPLETION')) return [3 /*break*/, 7];
3199
- return [4 /*yield*/, llmExecutionTools.gptComplete(prompt)];
3200
- case 6: return [2 /*return*/, _d.sent()];
3201
- case 7: return [3 /*break*/, 9];
3202
- case 8:
3203
- error_1 = _d.sent();
3204
- if (!(error_1 instanceof Error)) {
3205
- throw error_1;
3206
- }
3207
- errors.push(error_1);
3208
- return [3 /*break*/, 9];
3209
- case 9:
3210
- _b = _a.next();
3211
- return [3 /*break*/, 2];
3212
- case 10: return [3 /*break*/, 13];
3213
- case 11:
3214
- e_1_1 = _d.sent();
3215
- e_1 = { error: e_1_1 };
3216
- return [3 /*break*/, 13];
3217
- case 12:
3218
- try {
3219
- if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
3220
- }
3221
- finally { if (e_1) throw e_1.error; }
3222
- return [7 /*endfinally*/];
3223
- case 13: throw new Error(spaceTrim__default["default"](function (block) { return "\n All execution tools failed:\n \n ".concat(block(errors.map(function (error) { return "- ".concat(error.name || 'Error', ": ").concat(error.message); }).join('\n')), "\n \n "); }));
3224
- }
3225
- });
3226
- });
3227
- };
3228
- /**
3229
- * List all available models that can be used
3230
- * This liost is a combination of all available models from all execution tools
3231
- */
3232
- MultipleLlmExecutionTools.prototype.listModels = function () {
3233
- return __awaiter(this, void 0, void 0, function () {
3234
- var availableModels, _a, _b, llmExecutionTools, models, e_2_1;
3235
- var e_2, _c;
3236
- return __generator(this, function (_d) {
3237
- switch (_d.label) {
3238
- case 0:
3239
- availableModels = [];
3240
- _d.label = 1;
3241
- case 1:
3242
- _d.trys.push([1, 6, 7, 8]);
3243
- _a = __values(this.llmExecutionTools), _b = _a.next();
3244
- _d.label = 2;
3245
- case 2:
3246
- if (!!_b.done) return [3 /*break*/, 5];
3247
- llmExecutionTools = _b.value;
3248
- return [4 /*yield*/, llmExecutionTools.listModels()];
3249
- case 3:
3250
- models = _d.sent();
3251
- availableModels.push.apply(availableModels, __spreadArray([], __read(models), false));
3252
- _d.label = 4;
3253
- case 4:
3254
- _b = _a.next();
3255
- return [3 /*break*/, 2];
3256
- case 5: return [3 /*break*/, 8];
3257
- case 6:
3258
- e_2_1 = _d.sent();
3259
- e_2 = { error: e_2_1 };
3260
- return [3 /*break*/, 8];
3261
- case 7:
3262
- try {
3263
- if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
3264
- }
3265
- finally { if (e_2) throw e_2.error; }
3266
- return [7 /*endfinally*/];
3267
- case 8: return [2 /*return*/, availableModels];
3268
- }
3269
- });
3270
- });
3271
- };
3272
- return MultipleLlmExecutionTools;
3273
- }());
3274
-
3275
3144
  /**
3276
3145
  * Delagates the user interaction to a async callback function
3277
3146
  * You need to provide your own implementation of this callback function and its bind to UI.
@@ -3665,6 +3534,137 @@
3665
3534
  };
3666
3535
  }
3667
3536
 
3537
+ /**
3538
+ * Multiple LLM Execution Tools is a proxy server that uses multiple execution tools internally and exposes the executor interface externally.
3539
+ *
3540
+ * @see https://github.com/webgptorg/promptbook#multiple-server
3541
+ */
3542
+ var MultipleLlmExecutionTools = /** @class */ (function () {
3543
+ /**
3544
+ * Gets array of execution tools in order of priority
3545
+ */
3546
+ function MultipleLlmExecutionTools() {
3547
+ var llmExecutionTools = [];
3548
+ for (var _i = 0; _i < arguments.length; _i++) {
3549
+ llmExecutionTools[_i] = arguments[_i];
3550
+ }
3551
+ this.llmExecutionTools = llmExecutionTools;
3552
+ }
3553
+ /**
3554
+ * Calls the best available chat model
3555
+ */
3556
+ MultipleLlmExecutionTools.prototype.gptChat = function (prompt) {
3557
+ return this.gptCommon(prompt);
3558
+ };
3559
+ /**
3560
+ * Calls the best available completion model
3561
+ */
3562
+ MultipleLlmExecutionTools.prototype.gptComplete = function (prompt) {
3563
+ return this.gptCommon(prompt);
3564
+ };
3565
+ /**
3566
+ * Calls the best available model
3567
+ */
3568
+ MultipleLlmExecutionTools.prototype.gptCommon = function (prompt) {
3569
+ return __awaiter(this, void 0, void 0, function () {
3570
+ var errors, _a, _b, llmExecutionTools, error_1, e_1_1;
3571
+ var e_1, _c;
3572
+ return __generator(this, function (_d) {
3573
+ switch (_d.label) {
3574
+ case 0:
3575
+ errors = [];
3576
+ _d.label = 1;
3577
+ case 1:
3578
+ _d.trys.push([1, 11, 12, 13]);
3579
+ _a = __values(this.llmExecutionTools), _b = _a.next();
3580
+ _d.label = 2;
3581
+ case 2:
3582
+ if (!!_b.done) return [3 /*break*/, 10];
3583
+ llmExecutionTools = _b.value;
3584
+ _d.label = 3;
3585
+ case 3:
3586
+ _d.trys.push([3, 8, , 9]);
3587
+ if (!(prompt.modelRequirements.modelVariant === 'CHAT')) return [3 /*break*/, 5];
3588
+ return [4 /*yield*/, llmExecutionTools.gptChat(prompt)];
3589
+ case 4: return [2 /*return*/, _d.sent()];
3590
+ case 5:
3591
+ if (!(prompt.modelRequirements.modelVariant === 'COMPLETION')) return [3 /*break*/, 7];
3592
+ return [4 /*yield*/, llmExecutionTools.gptComplete(prompt)];
3593
+ case 6: return [2 /*return*/, _d.sent()];
3594
+ case 7: return [3 /*break*/, 9];
3595
+ case 8:
3596
+ error_1 = _d.sent();
3597
+ if (!(error_1 instanceof Error)) {
3598
+ throw error_1;
3599
+ }
3600
+ errors.push(error_1);
3601
+ return [3 /*break*/, 9];
3602
+ case 9:
3603
+ _b = _a.next();
3604
+ return [3 /*break*/, 2];
3605
+ case 10: return [3 /*break*/, 13];
3606
+ case 11:
3607
+ e_1_1 = _d.sent();
3608
+ e_1 = { error: e_1_1 };
3609
+ return [3 /*break*/, 13];
3610
+ case 12:
3611
+ try {
3612
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
3613
+ }
3614
+ finally { if (e_1) throw e_1.error; }
3615
+ return [7 /*endfinally*/];
3616
+ case 13: throw new Error(spaceTrim__default["default"](function (block) { return "\n All execution tools failed:\n \n ".concat(block(errors.map(function (error) { return "- ".concat(error.name || 'Error', ": ").concat(error.message); }).join('\n')), "\n \n "); }));
3617
+ }
3618
+ });
3619
+ });
3620
+ };
3621
+ /**
3622
+ * List all available models that can be used
3623
+ * This liost is a combination of all available models from all execution tools
3624
+ */
3625
+ MultipleLlmExecutionTools.prototype.listModels = function () {
3626
+ return __awaiter(this, void 0, void 0, function () {
3627
+ var availableModels, _a, _b, llmExecutionTools, models, e_2_1;
3628
+ var e_2, _c;
3629
+ return __generator(this, function (_d) {
3630
+ switch (_d.label) {
3631
+ case 0:
3632
+ availableModels = [];
3633
+ _d.label = 1;
3634
+ case 1:
3635
+ _d.trys.push([1, 6, 7, 8]);
3636
+ _a = __values(this.llmExecutionTools), _b = _a.next();
3637
+ _d.label = 2;
3638
+ case 2:
3639
+ if (!!_b.done) return [3 /*break*/, 5];
3640
+ llmExecutionTools = _b.value;
3641
+ return [4 /*yield*/, llmExecutionTools.listModels()];
3642
+ case 3:
3643
+ models = _d.sent();
3644
+ availableModels.push.apply(availableModels, __spreadArray([], __read(models), false));
3645
+ _d.label = 4;
3646
+ case 4:
3647
+ _b = _a.next();
3648
+ return [3 /*break*/, 2];
3649
+ case 5: return [3 /*break*/, 8];
3650
+ case 6:
3651
+ e_2_1 = _d.sent();
3652
+ e_2 = { error: e_2_1 };
3653
+ return [3 /*break*/, 8];
3654
+ case 7:
3655
+ try {
3656
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
3657
+ }
3658
+ finally { if (e_2) throw e_2.error; }
3659
+ return [7 /*endfinally*/];
3660
+ case 8: return [2 /*return*/, availableModels];
3661
+ }
3662
+ });
3663
+ });
3664
+ };
3665
+ return MultipleLlmExecutionTools;
3666
+ }());
3667
+
3668
3668
  /**
3669
3669
  * Format either small or big number
3670
3670
  *