@promptbook/core 0.57.1 → 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
package/esm/index.es.js CHANGED
@@ -447,7 +447,7 @@ function union() {
447
447
  /**
448
448
  * The version of the Promptbook library
449
449
  */
450
- var PROMPTBOOK_VERSION = '0.57.0';
450
+ var PROMPTBOOK_VERSION = '0.57.2';
451
451
 
452
452
  /**
453
453
  * Parses the template and returns the list of all parameter names
@@ -2305,7 +2305,7 @@ function assertsExecutionSuccessful(executionResult) {
2305
2305
  /**
2306
2306
  * Function isValidJsonString will tell you if the string is valid JSON or not
2307
2307
  */
2308
- function isValidJsonString(value) {
2308
+ function isValidJsonString(value /* <-[👨‍⚖️] */) {
2309
2309
  try {
2310
2310
  JSON.parse(value);
2311
2311
  return true;
@@ -3134,137 +3134,6 @@ function createPromptbookExecutor(options) {
3134
3134
  * TODO: [🧠][3] transparent = (report intermediate parameters) / opaque execution = (report only output parameters) progress reporting mode
3135
3135
  */
3136
3136
 
3137
- /**
3138
- * Multiple LLM Execution Tools is a proxy server that uses multiple execution tools internally and exposes the executor interface externally.
3139
- *
3140
- * @see https://github.com/webgptorg/promptbook#multiple-server
3141
- */
3142
- var MultipleLlmExecutionTools = /** @class */ (function () {
3143
- /**
3144
- * Gets array of execution tools in order of priority
3145
- */
3146
- function MultipleLlmExecutionTools() {
3147
- var llmExecutionTools = [];
3148
- for (var _i = 0; _i < arguments.length; _i++) {
3149
- llmExecutionTools[_i] = arguments[_i];
3150
- }
3151
- this.llmExecutionTools = llmExecutionTools;
3152
- }
3153
- /**
3154
- * Calls the best available chat model
3155
- */
3156
- MultipleLlmExecutionTools.prototype.gptChat = function (prompt) {
3157
- return this.gptCommon(prompt);
3158
- };
3159
- /**
3160
- * Calls the best available completion model
3161
- */
3162
- MultipleLlmExecutionTools.prototype.gptComplete = function (prompt) {
3163
- return this.gptCommon(prompt);
3164
- };
3165
- /**
3166
- * Calls the best available model
3167
- */
3168
- MultipleLlmExecutionTools.prototype.gptCommon = function (prompt) {
3169
- return __awaiter(this, void 0, void 0, function () {
3170
- var errors, _a, _b, llmExecutionTools, error_1, e_1_1;
3171
- var e_1, _c;
3172
- return __generator(this, function (_d) {
3173
- switch (_d.label) {
3174
- case 0:
3175
- errors = [];
3176
- _d.label = 1;
3177
- case 1:
3178
- _d.trys.push([1, 11, 12, 13]);
3179
- _a = __values(this.llmExecutionTools), _b = _a.next();
3180
- _d.label = 2;
3181
- case 2:
3182
- if (!!_b.done) return [3 /*break*/, 10];
3183
- llmExecutionTools = _b.value;
3184
- _d.label = 3;
3185
- case 3:
3186
- _d.trys.push([3, 8, , 9]);
3187
- if (!(prompt.modelRequirements.modelVariant === 'CHAT')) return [3 /*break*/, 5];
3188
- return [4 /*yield*/, llmExecutionTools.gptChat(prompt)];
3189
- case 4: return [2 /*return*/, _d.sent()];
3190
- case 5:
3191
- if (!(prompt.modelRequirements.modelVariant === 'COMPLETION')) return [3 /*break*/, 7];
3192
- return [4 /*yield*/, llmExecutionTools.gptComplete(prompt)];
3193
- case 6: return [2 /*return*/, _d.sent()];
3194
- case 7: return [3 /*break*/, 9];
3195
- case 8:
3196
- error_1 = _d.sent();
3197
- if (!(error_1 instanceof Error)) {
3198
- throw error_1;
3199
- }
3200
- errors.push(error_1);
3201
- return [3 /*break*/, 9];
3202
- case 9:
3203
- _b = _a.next();
3204
- return [3 /*break*/, 2];
3205
- case 10: return [3 /*break*/, 13];
3206
- case 11:
3207
- e_1_1 = _d.sent();
3208
- e_1 = { error: e_1_1 };
3209
- return [3 /*break*/, 13];
3210
- case 12:
3211
- try {
3212
- if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
3213
- }
3214
- finally { if (e_1) throw e_1.error; }
3215
- return [7 /*endfinally*/];
3216
- case 13: throw new Error(spaceTrim$1(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 "); }));
3217
- }
3218
- });
3219
- });
3220
- };
3221
- /**
3222
- * List all available models that can be used
3223
- * This liost is a combination of all available models from all execution tools
3224
- */
3225
- MultipleLlmExecutionTools.prototype.listModels = function () {
3226
- return __awaiter(this, void 0, void 0, function () {
3227
- var availableModels, _a, _b, llmExecutionTools, models, e_2_1;
3228
- var e_2, _c;
3229
- return __generator(this, function (_d) {
3230
- switch (_d.label) {
3231
- case 0:
3232
- availableModels = [];
3233
- _d.label = 1;
3234
- case 1:
3235
- _d.trys.push([1, 6, 7, 8]);
3236
- _a = __values(this.llmExecutionTools), _b = _a.next();
3237
- _d.label = 2;
3238
- case 2:
3239
- if (!!_b.done) return [3 /*break*/, 5];
3240
- llmExecutionTools = _b.value;
3241
- return [4 /*yield*/, llmExecutionTools.listModels()];
3242
- case 3:
3243
- models = _d.sent();
3244
- availableModels.push.apply(availableModels, __spreadArray([], __read(models), false));
3245
- _d.label = 4;
3246
- case 4:
3247
- _b = _a.next();
3248
- return [3 /*break*/, 2];
3249
- case 5: return [3 /*break*/, 8];
3250
- case 6:
3251
- e_2_1 = _d.sent();
3252
- e_2 = { error: e_2_1 };
3253
- return [3 /*break*/, 8];
3254
- case 7:
3255
- try {
3256
- if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
3257
- }
3258
- finally { if (e_2) throw e_2.error; }
3259
- return [7 /*endfinally*/];
3260
- case 8: return [2 /*return*/, availableModels];
3261
- }
3262
- });
3263
- });
3264
- };
3265
- return MultipleLlmExecutionTools;
3266
- }());
3267
-
3268
3137
  /**
3269
3138
  * Delagates the user interaction to a async callback function
3270
3139
  * You need to provide your own implementation of this callback function and its bind to UI.
@@ -3658,6 +3527,137 @@ function createPromptbookSublibrary(library, predicate) {
3658
3527
  };
3659
3528
  }
3660
3529
 
3530
+ /**
3531
+ * Multiple LLM Execution Tools is a proxy server that uses multiple execution tools internally and exposes the executor interface externally.
3532
+ *
3533
+ * @see https://github.com/webgptorg/promptbook#multiple-server
3534
+ */
3535
+ var MultipleLlmExecutionTools = /** @class */ (function () {
3536
+ /**
3537
+ * Gets array of execution tools in order of priority
3538
+ */
3539
+ function MultipleLlmExecutionTools() {
3540
+ var llmExecutionTools = [];
3541
+ for (var _i = 0; _i < arguments.length; _i++) {
3542
+ llmExecutionTools[_i] = arguments[_i];
3543
+ }
3544
+ this.llmExecutionTools = llmExecutionTools;
3545
+ }
3546
+ /**
3547
+ * Calls the best available chat model
3548
+ */
3549
+ MultipleLlmExecutionTools.prototype.gptChat = function (prompt) {
3550
+ return this.gptCommon(prompt);
3551
+ };
3552
+ /**
3553
+ * Calls the best available completion model
3554
+ */
3555
+ MultipleLlmExecutionTools.prototype.gptComplete = function (prompt) {
3556
+ return this.gptCommon(prompt);
3557
+ };
3558
+ /**
3559
+ * Calls the best available model
3560
+ */
3561
+ MultipleLlmExecutionTools.prototype.gptCommon = function (prompt) {
3562
+ return __awaiter(this, void 0, void 0, function () {
3563
+ var errors, _a, _b, llmExecutionTools, error_1, e_1_1;
3564
+ var e_1, _c;
3565
+ return __generator(this, function (_d) {
3566
+ switch (_d.label) {
3567
+ case 0:
3568
+ errors = [];
3569
+ _d.label = 1;
3570
+ case 1:
3571
+ _d.trys.push([1, 11, 12, 13]);
3572
+ _a = __values(this.llmExecutionTools), _b = _a.next();
3573
+ _d.label = 2;
3574
+ case 2:
3575
+ if (!!_b.done) return [3 /*break*/, 10];
3576
+ llmExecutionTools = _b.value;
3577
+ _d.label = 3;
3578
+ case 3:
3579
+ _d.trys.push([3, 8, , 9]);
3580
+ if (!(prompt.modelRequirements.modelVariant === 'CHAT')) return [3 /*break*/, 5];
3581
+ return [4 /*yield*/, llmExecutionTools.gptChat(prompt)];
3582
+ case 4: return [2 /*return*/, _d.sent()];
3583
+ case 5:
3584
+ if (!(prompt.modelRequirements.modelVariant === 'COMPLETION')) return [3 /*break*/, 7];
3585
+ return [4 /*yield*/, llmExecutionTools.gptComplete(prompt)];
3586
+ case 6: return [2 /*return*/, _d.sent()];
3587
+ case 7: return [3 /*break*/, 9];
3588
+ case 8:
3589
+ error_1 = _d.sent();
3590
+ if (!(error_1 instanceof Error)) {
3591
+ throw error_1;
3592
+ }
3593
+ errors.push(error_1);
3594
+ return [3 /*break*/, 9];
3595
+ case 9:
3596
+ _b = _a.next();
3597
+ return [3 /*break*/, 2];
3598
+ case 10: return [3 /*break*/, 13];
3599
+ case 11:
3600
+ e_1_1 = _d.sent();
3601
+ e_1 = { error: e_1_1 };
3602
+ return [3 /*break*/, 13];
3603
+ case 12:
3604
+ try {
3605
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
3606
+ }
3607
+ finally { if (e_1) throw e_1.error; }
3608
+ return [7 /*endfinally*/];
3609
+ case 13: throw new Error(spaceTrim$1(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 "); }));
3610
+ }
3611
+ });
3612
+ });
3613
+ };
3614
+ /**
3615
+ * List all available models that can be used
3616
+ * This liost is a combination of all available models from all execution tools
3617
+ */
3618
+ MultipleLlmExecutionTools.prototype.listModels = function () {
3619
+ return __awaiter(this, void 0, void 0, function () {
3620
+ var availableModels, _a, _b, llmExecutionTools, models, e_2_1;
3621
+ var e_2, _c;
3622
+ return __generator(this, function (_d) {
3623
+ switch (_d.label) {
3624
+ case 0:
3625
+ availableModels = [];
3626
+ _d.label = 1;
3627
+ case 1:
3628
+ _d.trys.push([1, 6, 7, 8]);
3629
+ _a = __values(this.llmExecutionTools), _b = _a.next();
3630
+ _d.label = 2;
3631
+ case 2:
3632
+ if (!!_b.done) return [3 /*break*/, 5];
3633
+ llmExecutionTools = _b.value;
3634
+ return [4 /*yield*/, llmExecutionTools.listModels()];
3635
+ case 3:
3636
+ models = _d.sent();
3637
+ availableModels.push.apply(availableModels, __spreadArray([], __read(models), false));
3638
+ _d.label = 4;
3639
+ case 4:
3640
+ _b = _a.next();
3641
+ return [3 /*break*/, 2];
3642
+ case 5: return [3 /*break*/, 8];
3643
+ case 6:
3644
+ e_2_1 = _d.sent();
3645
+ e_2 = { error: e_2_1 };
3646
+ return [3 /*break*/, 8];
3647
+ case 7:
3648
+ try {
3649
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
3650
+ }
3651
+ finally { if (e_2) throw e_2.error; }
3652
+ return [7 /*endfinally*/];
3653
+ case 8: return [2 /*return*/, availableModels];
3654
+ }
3655
+ });
3656
+ });
3657
+ };
3658
+ return MultipleLlmExecutionTools;
3659
+ }());
3660
+
3661
3661
  /**
3662
3662
  * Format either small or big number
3663
3663
  *