@promptbook/remote-server 0.72.0-3 → 0.72.0-31

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 (263) hide show
  1. package/README.md +11 -1
  2. package/esm/index.es.js +186 -81
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/src/_packages/browser.index.d.ts +3 -1
  5. package/esm/typings/src/_packages/cli.index.d.ts +20 -0
  6. package/esm/typings/src/_packages/core.index.d.ts +56 -28
  7. package/esm/typings/src/_packages/documents.index.d.ts +8 -0
  8. package/esm/typings/src/_packages/legacy-documents.index.d.ts +8 -0
  9. package/esm/typings/src/_packages/markdown-utils.index.d.ts +6 -0
  10. package/esm/typings/src/_packages/node.index.d.ts +18 -6
  11. package/esm/typings/src/_packages/pdf.index.d.ts +8 -0
  12. package/esm/typings/src/_packages/types.index.d.ts +57 -33
  13. package/esm/typings/src/_packages/utils.index.d.ts +2 -2
  14. package/esm/typings/src/_packages/website-crawler.index.d.ts +8 -0
  15. package/esm/typings/src/cli/cli-commands/about.d.ts +1 -1
  16. package/esm/typings/src/cli/cli-commands/hello.d.ts +2 -1
  17. package/esm/typings/src/cli/cli-commands/make.d.ts +1 -1
  18. package/esm/typings/src/cli/cli-commands/prettify.d.ts +2 -1
  19. package/esm/typings/src/cli/cli-commands/test-command.d.ts +13 -0
  20. package/esm/typings/src/cli/main.d.ts +1 -1
  21. package/esm/typings/src/cli/promptbookCli.d.ts +1 -1
  22. package/esm/typings/src/collection/PipelineCollection.d.ts +1 -1
  23. package/esm/typings/src/collection/SimplePipelineCollection.d.ts +2 -2
  24. package/esm/typings/src/collection/collectionToJson.d.ts +1 -1
  25. package/esm/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +11 -6
  26. package/esm/typings/src/collection/constructors/createCollectionFromJson.d.ts +1 -1
  27. package/esm/typings/src/collection/constructors/createCollectionFromPromise.d.ts +1 -1
  28. package/esm/typings/src/collection/constructors/createCollectionFromUrl.d.ts +1 -1
  29. package/esm/typings/src/commands/EXPECT/expectCommandParser.d.ts +1 -1
  30. package/esm/typings/src/commands/FOREACH/ForeachJson.d.ts +5 -1
  31. package/esm/typings/src/commands/FOREACH/foreachCommandParser.d.ts +1 -1
  32. package/esm/typings/src/commands/FORMAT/formatCommandParser.d.ts +1 -1
  33. package/esm/typings/src/commands/JOKER/jokerCommandParser.d.ts +1 -1
  34. package/esm/typings/src/commands/KNOWLEDGE/knowledgeCommandParser.d.ts +1 -1
  35. package/esm/typings/src/commands/KNOWLEDGE/utils/sourceContentToName.d.ts +11 -0
  36. package/esm/typings/src/commands/KNOWLEDGE/utils/sourceContentToName.test.d.ts +4 -0
  37. package/esm/typings/src/commands/MODEL/modelCommandParser.d.ts +1 -1
  38. package/esm/typings/src/commands/PARAMETER/parameterCommandParser.d.ts +1 -1
  39. package/esm/typings/src/commands/PERSONA/personaCommandParser.d.ts +1 -1
  40. package/esm/typings/src/commands/POSTPROCESS/postprocessCommandParser.d.ts +1 -1
  41. package/esm/typings/src/commands/PROMPTBOOK_VERSION/promptbookVersionCommandParser.d.ts +1 -1
  42. package/esm/typings/src/commands/TEMPLATE/templateCommandParser.d.ts +1 -1
  43. package/esm/typings/src/commands/URL/urlCommandParser.d.ts +1 -1
  44. package/esm/typings/src/commands/X_ACTION/actionCommandParser.d.ts +1 -1
  45. package/esm/typings/src/commands/X_INSTRUMENT/instrumentCommandParser.d.ts +1 -1
  46. package/esm/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +1 -1
  47. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +5 -5
  48. package/esm/typings/src/config.d.ts +35 -12
  49. package/esm/typings/src/conversion/pipelineStringToJson.d.ts +4 -15
  50. package/esm/typings/src/conversion/pipelineStringToJsonSync.d.ts +1 -1
  51. package/esm/typings/src/conversion/validation/_importPipeline.d.ts +1 -1
  52. package/esm/typings/src/conversion/validation/validatePipeline.d.ts +5 -5
  53. package/esm/typings/src/{knowledge/dialogs → dialogs}/callback/CallbackInterfaceTools.d.ts +2 -2
  54. package/esm/typings/src/{knowledge/dialogs → dialogs}/callback/CallbackInterfaceToolsOptions.d.ts +3 -3
  55. package/esm/typings/src/{knowledge/dialogs → dialogs}/simple-prompt/SimplePromptInterfaceTools.d.ts +6 -6
  56. package/esm/typings/src/errors/AbstractFormatError.d.ts +11 -0
  57. package/esm/typings/src/errors/KnowledgeScrapeError.d.ts +9 -0
  58. package/esm/typings/src/errors/MissingToolsError.d.ts +9 -0
  59. package/esm/typings/src/executables/$provideExecutablesForNode.d.ts +12 -0
  60. package/esm/typings/src/executables/apps/locateLibreoffice.d.ts +11 -0
  61. package/esm/typings/src/executables/apps/locatePandoc.d.ts +11 -0
  62. package/esm/typings/src/executables/locateApp.d.ts +33 -0
  63. package/esm/typings/src/executables/platforms/locateAppOnLinux.d.ts +12 -0
  64. package/esm/typings/src/executables/platforms/locateAppOnMacOs.d.ts +12 -0
  65. package/esm/typings/src/executables/platforms/locateAppOnWindows.d.ts +12 -0
  66. package/esm/typings/src/execution/{CommonExecutionToolsOptions.d.ts → CommonToolsOptions.d.ts} +1 -1
  67. package/esm/typings/src/execution/EmbeddingVector.d.ts +1 -1
  68. package/esm/typings/src/execution/Executables.d.ts +18 -0
  69. package/esm/typings/src/execution/ExecutionTools.d.ts +35 -9
  70. package/esm/typings/src/execution/FilesystemTools.d.ts +9 -0
  71. package/esm/typings/src/execution/LlmExecutionTools.d.ts +2 -2
  72. package/esm/typings/src/execution/PipelineExecutor.d.ts +1 -0
  73. package/esm/typings/src/execution/PipelineExecutorResult.d.ts +2 -2
  74. package/esm/typings/src/execution/assertsExecutionSuccessful.d.ts +3 -2
  75. package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorOptions.d.ts +31 -5
  76. package/esm/typings/src/execution/createPipelineExecutor/00-createPipelineExecutor.d.ts +3 -0
  77. package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +6 -12
  78. package/esm/typings/src/execution/createPipelineExecutor/20-executeTemplate.d.ts +7 -18
  79. package/esm/typings/src/execution/createPipelineExecutor/{30-executeFormatCells.d.ts → 30-executeFormatSubvalues.d.ts} +2 -6
  80. package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +9 -19
  81. package/esm/typings/src/execution/embeddingVectorToString.d.ts +1 -1
  82. package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/LindatAutomaticTranslator.d.ts +11 -3
  83. package/esm/typings/src/execution/translation/automatic-translate/translateMessages.d.ts +4 -0
  84. package/esm/typings/src/execution/utils/$provideExecutionToolsForNode.d.ts +13 -0
  85. package/esm/typings/src/execution/utils/addUsage.d.ts +1 -1
  86. package/esm/typings/src/execution/utils/forEachAsync.d.ts +2 -1
  87. package/esm/typings/src/formats/_common/FormatDefinition.d.ts +2 -2
  88. package/esm/typings/src/formats/_common/FormatSubvalueDefinition.d.ts +3 -2
  89. package/esm/typings/src/formats/csv/CsvFormatError.d.ts +10 -0
  90. package/esm/typings/src/llm-providers/_common/{$llmToolsMetadataRegister.d.ts → register/$llmToolsMetadataRegister.d.ts} +4 -1
  91. package/esm/typings/src/llm-providers/_common/{$llmToolsRegister.d.ts → register/$llmToolsRegister.d.ts} +5 -2
  92. package/esm/typings/src/llm-providers/_common/{createLlmToolsFromConfigurationFromEnv.d.ts → register/$provideLlmToolsConfigurationFromEnv.d.ts} +3 -3
  93. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForCli.d.ts +15 -0
  94. package/esm/typings/src/llm-providers/_common/{getLlmToolsForTestingAndScriptsAndPlayground.d.ts → register/$provideLlmToolsForTestingAndScriptsAndPlayground.d.ts} +4 -3
  95. package/esm/typings/src/llm-providers/_common/{createLlmToolsFromEnv.d.ts → register/$provideLlmToolsFromEnv.d.ts} +6 -5
  96. package/esm/typings/src/llm-providers/_common/{$registeredLlmToolsMessage.d.ts → register/$registeredLlmToolsMessage.d.ts} +5 -2
  97. package/esm/typings/src/llm-providers/_common/{LlmToolsConfiguration.d.ts → register/LlmToolsConfiguration.d.ts} +6 -5
  98. package/esm/typings/src/llm-providers/_common/{LlmToolsMetadata.d.ts → register/LlmToolsMetadata.d.ts} +5 -4
  99. package/esm/typings/src/llm-providers/_common/{LlmToolsOptions.d.ts → register/LlmToolsOptions.d.ts} +4 -1
  100. package/esm/typings/src/llm-providers/_common/{createLlmToolsFromConfiguration.d.ts → register/createLlmToolsFromConfiguration.d.ts} +12 -4
  101. package/esm/typings/src/llm-providers/_common/utils/cache/CacheLlmToolsOptions.d.ts +4 -1
  102. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -1
  103. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +5 -5
  104. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
  105. package/esm/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +3 -2
  106. package/esm/typings/src/llm-providers/anthropic-claude/register-configuration.d.ts +4 -3
  107. package/esm/typings/src/llm-providers/anthropic-claude/register-constructor.d.ts +4 -3
  108. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +7 -1
  109. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +4 -3
  110. package/esm/typings/src/llm-providers/azure-openai/playground/playground.d.ts +1 -0
  111. package/esm/typings/src/llm-providers/azure-openai/register-configuration.d.ts +4 -3
  112. package/esm/typings/src/llm-providers/azure-openai/register-constructor.d.ts +4 -3
  113. package/esm/typings/src/llm-providers/langtail/LangtailExecutionTools.d.ts +1 -1
  114. package/esm/typings/src/llm-providers/langtail/playground/playground.d.ts +3 -0
  115. package/esm/typings/src/llm-providers/mocked/$fakeTextToExpectations.d.ts +1 -1
  116. package/esm/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +4 -4
  117. package/esm/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +4 -4
  118. package/esm/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +4 -4
  119. package/esm/typings/src/llm-providers/multiple/joinLlmExecutionTools.d.ts +1 -1
  120. package/esm/typings/src/llm-providers/multiple/playground/playground.d.ts +3 -0
  121. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +1 -2
  122. package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +2 -2
  123. package/esm/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +4 -4
  124. package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -1
  125. package/esm/typings/src/llm-providers/openai/playground/playground.d.ts +2 -1
  126. package/esm/typings/src/llm-providers/openai/register-configuration.d.ts +5 -4
  127. package/esm/typings/src/llm-providers/openai/register-constructor.d.ts +5 -4
  128. package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +4 -4
  129. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_ListModels_Request.d.ts +16 -7
  130. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_ListModels_Response.d.ts +4 -4
  131. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Request.d.ts +7 -13
  132. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Response.d.ts +3 -3
  133. package/esm/typings/src/llm-providers/remote/interfaces/RemoteLlmExecutionToolsOptions.d.ts +11 -16
  134. package/esm/typings/src/llm-providers/remote/interfaces/RemoteServerOptions.d.ts +24 -9
  135. package/esm/typings/src/llm-providers/remote/playground/playground.d.ts +3 -0
  136. package/esm/typings/src/llm-providers/remote/startRemoteServer.d.ts +1 -1
  137. package/esm/typings/src/personas/preparePersona.d.ts +3 -2
  138. package/esm/typings/src/prepare/PrepareAndScrapeOptions.d.ts +49 -0
  139. package/esm/typings/src/prepare/preparePipeline.d.ts +3 -2
  140. package/esm/typings/src/prepare/prepareTemplates.d.ts +4 -3
  141. package/esm/typings/src/scrapers/_common/Converter.d.ts +22 -0
  142. package/esm/typings/src/scrapers/_common/Scraper.d.ts +59 -0
  143. package/esm/typings/src/scrapers/_common/ScraperIntermediateSource.d.ts +11 -0
  144. package/esm/typings/src/{knowledge/prepare-knowledge → scrapers}/_common/prepareKnowledgePieces.d.ts +5 -4
  145. package/esm/typings/src/scrapers/_common/register/$provideFilesystemForNode.d.ts +11 -0
  146. package/esm/typings/src/scrapers/_common/register/$provideScrapersForBrowser.d.ts +12 -0
  147. package/esm/typings/src/scrapers/_common/register/$provideScrapersForNode.d.ts +15 -0
  148. package/esm/typings/src/scrapers/_common/register/$registeredScrapersMessage.d.ts +12 -0
  149. package/esm/typings/src/scrapers/_common/register/$scrapersMetadataRegister.d.ts +13 -0
  150. package/esm/typings/src/scrapers/_common/register/$scrapersRegister.d.ts +13 -0
  151. package/esm/typings/src/scrapers/_common/register/ScraperAndConverterMetadata.d.ts +41 -0
  152. package/esm/typings/src/scrapers/_common/register/ScraperConstructor.d.ts +12 -0
  153. package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.d.ts +34 -0
  154. package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.test.d.ts +4 -0
  155. package/esm/typings/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +11 -0
  156. package/esm/typings/src/scrapers/document/DocumentScraper.d.ts +43 -0
  157. package/esm/typings/src/scrapers/document/DocumentScraper.test.d.ts +4 -0
  158. package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +20 -0
  159. package/esm/typings/src/scrapers/document/playground/document-scraper-playground.d.ts +5 -0
  160. package/esm/typings/src/scrapers/document/register-constructor.d.ts +13 -0
  161. package/esm/typings/src/scrapers/document/register-metadata.d.ts +24 -0
  162. package/esm/typings/src/scrapers/document-legacy/LegacyDocumentScraper.d.ts +43 -0
  163. package/esm/typings/src/scrapers/document-legacy/LegacyDocumentScraper.test.d.ts +4 -0
  164. package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +20 -0
  165. package/esm/typings/src/scrapers/document-legacy/playground/legacy-document-scraper-playground.d.ts +5 -0
  166. package/esm/typings/src/scrapers/document-legacy/register-constructor.d.ts +13 -0
  167. package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +24 -0
  168. package/esm/typings/src/scrapers/markdown/MarkdownScraper.d.ts +29 -0
  169. package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +20 -0
  170. package/esm/typings/src/scrapers/markdown/playground/markdown-scraper-playground.d.ts +5 -0
  171. package/esm/typings/src/scrapers/markdown/register-constructor.d.ts +13 -0
  172. package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +24 -0
  173. package/esm/typings/src/scrapers/pdf/PdfScraper.d.ts +40 -0
  174. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +20 -0
  175. package/esm/typings/src/scrapers/pdf/playground/pdf-scraper-playground.d.ts +5 -0
  176. package/esm/typings/src/scrapers/pdf/register-constructor.d.ts +13 -0
  177. package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +24 -0
  178. package/esm/typings/src/scrapers/website/WebsiteScraper.d.ts +50 -0
  179. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +20 -0
  180. package/esm/typings/src/scrapers/website/playground/website-scraper-playground.d.ts +5 -0
  181. package/esm/typings/src/scrapers/website/register-constructor.d.ts +13 -0
  182. package/esm/typings/src/scrapers/website/register-metadata.d.ts +24 -0
  183. package/esm/typings/src/scrapers/website/utils/createShowdownConverter.d.ts +7 -0
  184. package/esm/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +2 -2
  185. package/esm/typings/src/scripting/javascript/utils/preserve.d.ts +1 -1
  186. package/esm/typings/src/scripting/python/PythonExecutionTools.d.ts +3 -3
  187. package/esm/typings/src/scripting/typescript/TypescriptExecutionTools.d.ts +3 -3
  188. package/esm/typings/src/storage/{files-storage/FilesStorage.d.ts → file-cache-storage/FileCacheStorage.d.ts} +7 -5
  189. package/esm/typings/src/storage/file-cache-storage/FileCacheStorageOptions.d.ts +10 -0
  190. package/esm/typings/src/storage/{files-storage → file-cache-storage}/utils/nameToSubfolderPath.d.ts +2 -2
  191. package/esm/typings/src/storage/local-storage/getLocalStorage.d.ts +1 -1
  192. package/esm/typings/src/storage/local-storage/getSessionStorage.d.ts +1 -1
  193. package/esm/typings/src/storage/{utils → memory/utils}/PrefixStorage.d.ts +1 -1
  194. package/esm/typings/src/storage/{utils → memory/utils}/makePromptbookStorageFromWebStorage.d.ts +1 -1
  195. package/esm/typings/src/types/Arrayable.d.ts +1 -1
  196. package/esm/typings/src/types/IntermediateFilesStrategy.d.ts +7 -0
  197. package/esm/typings/src/types/PipelineJson/KnowledgePieceJson.d.ts +4 -4
  198. package/esm/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +10 -3
  199. package/esm/typings/src/types/PipelineJson/ParameterJson.d.ts +1 -1
  200. package/esm/typings/src/types/PipelineJson/PersonaJson.d.ts +1 -1
  201. package/esm/typings/src/types/PipelineJson/PipelineJson.d.ts +2 -2
  202. package/esm/typings/src/types/PipelineJson/TemplateJsonCommon.d.ts +2 -2
  203. package/esm/typings/src/types/Prompt.d.ts +2 -1
  204. package/esm/typings/src/types/execution-report/ExecutionReportJson.d.ts +1 -4
  205. package/esm/typings/src/types/execution-report/executionReportJsonToString.d.ts +2 -1
  206. package/esm/typings/src/types/typeAliases.d.ts +27 -20
  207. package/esm/typings/src/utils/$Register.d.ts +20 -7
  208. package/esm/typings/src/utils/FromtoItems.d.ts +1 -1
  209. package/esm/typings/src/utils/arrayableToArray.d.ts +1 -1
  210. package/esm/typings/src/utils/emojis.d.ts +1 -1
  211. package/esm/typings/src/utils/execCommand/$execCommand.d.ts +14 -0
  212. package/esm/typings/src/utils/execCommand/$execCommands.d.ts +17 -0
  213. package/esm/typings/src/utils/execCommand/ExecCommandOptions.d.ts +19 -0
  214. package/esm/typings/src/utils/execCommand/execCommand.test.d.ts +1 -0
  215. package/esm/typings/src/utils/execCommand/execCommandNormalizeOptions.d.ts +10 -0
  216. package/esm/typings/src/utils/execCommand/execCommandNormalizeOptions.test.d.ts +1 -0
  217. package/esm/typings/src/utils/expectation-counters/countSentences.d.ts +1 -1
  218. package/esm/typings/src/utils/files/extensionToMimeType.d.ts +8 -0
  219. package/esm/typings/src/utils/files/extensionToMimeType.test.d.ts +1 -0
  220. package/esm/typings/src/utils/files/getFileExtension.d.ts +8 -0
  221. package/esm/typings/src/utils/files/getFileExtension.test.d.ts +1 -0
  222. package/esm/typings/src/utils/files/isDirectoryExisting.d.ts +14 -0
  223. package/esm/typings/src/utils/files/isDirectoryExisting.test.d.ts +1 -0
  224. package/esm/typings/src/utils/files/isExecutable.d.ts +11 -0
  225. package/esm/typings/src/utils/files/isFileExisting.d.ts +13 -0
  226. package/esm/typings/src/utils/files/isFileExisting.test.d.ts +1 -0
  227. package/esm/typings/src/utils/files/listAllFiles.d.ts +17 -0
  228. package/esm/typings/src/utils/files/listAllFiles.test.d.ts +1 -0
  229. package/esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +1 -1
  230. package/esm/typings/src/utils/markdown/splitMarkdownIntoSections.d.ts +1 -1
  231. package/esm/typings/src/utils/normalization/IKeywords.d.ts +2 -2
  232. package/esm/typings/src/utils/normalization/parseKeywords.d.ts +2 -2
  233. package/esm/typings/src/utils/normalization/parseKeywordsFromString.d.ts +2 -2
  234. package/esm/typings/src/utils/normalization/searchKeywords.d.ts +2 -2
  235. package/esm/typings/src/utils/organization/TODO_USE.d.ts +1 -1
  236. package/esm/typings/src/utils/organization/keepUnused.d.ts +1 -1
  237. package/esm/typings/src/utils/random/$randomSeed.d.ts +1 -1
  238. package/esm/typings/src/utils/sets/intersection.d.ts +1 -1
  239. package/esm/typings/src/utils/sets/union.d.ts +1 -1
  240. package/esm/typings/src/utils/unwrapResult.d.ts +4 -4
  241. package/esm/typings/src/utils/validators/filePath/isValidFilePath.d.ts +2 -2
  242. package/package.json +4 -3
  243. package/umd/index.umd.js +186 -81
  244. package/umd/index.umd.js.map +1 -1
  245. package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorSettings.d.ts +0 -40
  246. package/esm/typings/src/knowledge/prepare-knowledge/_common/Scraper.d.ts +0 -37
  247. package/esm/typings/src/knowledge/prepare-knowledge/markdown/playground/markdown-knowledge-playground.d.ts +0 -2
  248. package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +0 -14
  249. package/esm/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +0 -15
  250. package/esm/typings/src/llm-providers/_common/getLlmToolsForCli.d.ts +0 -22
  251. package/esm/typings/src/prepare/PrepareOptions.d.ts +0 -22
  252. package/esm/typings/src/storage/files-storage/FilesStorageOptions.d.ts +0 -10
  253. package/esm/typings/src/utils/files/$isDirectoryExisting.d.ts +0 -15
  254. package/esm/typings/src/utils/files/$isFileExisting.d.ts +0 -14
  255. package/esm/typings/src/utils/files/$listAllFiles.d.ts +0 -17
  256. /package/esm/typings/src/{knowledge/dialogs → dialogs}/user-interface-execution-tools.test.d.ts +0 -0
  257. /package/esm/typings/src/{knowledge/prepare-knowledge/_common/prepareKnowledgePieces.test.d.ts → executables/apps/locateLibreoffice.test.d.ts} +0 -0
  258. /package/esm/typings/src/{knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.test.d.ts → executables/apps/locatePandoc.test.d.ts} +0 -0
  259. /package/esm/typings/src/{storage/files-storage/utils/nameToSubfolderPath.test.d.ts → executables/locateApp.test.d.ts} +0 -0
  260. /package/esm/typings/src/{utils/files/$isDirectoryExisting.test.d.ts → scrapers/_common/prepareKnowledgePieces.test.d.ts} +0 -0
  261. /package/esm/typings/src/{knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.test.d.ts → scrapers/markdown/MarkdownScraper.test.d.ts} +0 -0
  262. /package/esm/typings/src/{utils/files/$isFileExisting.test.d.ts → scrapers/website/utils/createShowdownConverter.test.d.ts} +0 -0
  263. /package/esm/typings/src/{utils/files/$listAllFiles.test.d.ts → storage/file-cache-storage/utils/nameToSubfolderPath.test.d.ts} +0 -0
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Promptbook logo - cube with letters P and B](./other/design/logo-h1.png) Promptbook
4
4
 
5
- Supercharge your use of large language models
5
+ Build responsible, controlled and transparent applications on top of LLM models!
6
6
 
7
7
 
8
8
 
@@ -20,6 +20,12 @@ Supercharge your use of large language models
20
20
 
21
21
  - ✨ **Support of [OpenAI o1 model](https://openai.com/o1/)**
22
22
 
23
+
24
+
25
+ <blockquote style="color: #ff8811">
26
+ <b>⚠ Warning:</b> This is a pre-release version of the library. It is not yet ready for production use. Please look at <a href="https://www.npmjs.com/package/@promptbook/core?activeTab=versions">latest stable release</a>.
27
+ </blockquote>
28
+
23
29
  ## 📦 Package `@promptbook/remote-server`
24
30
 
25
31
  - Promptbooks are [divided into several](#-packages) packages, all are published from [single monorepo](https://github.com/webgptorg/promptbook).
@@ -326,6 +332,10 @@ Or you can install them separately:
326
332
  - **[@promptbook/fake-llm](https://www.npmjs.com/package/@promptbook/fake-llm)** - Mocked execution tools for testing the library and saving the tokens
327
333
  - **[@promptbook/remote-client](https://www.npmjs.com/package/@promptbook/remote-client)** - Remote client for remote execution of promptbooks
328
334
  - **[@promptbook/remote-server](https://www.npmjs.com/package/@promptbook/remote-server)** - Remote server for remote execution of promptbooks
335
+ - **[@promptbook/pdf](https://www.npmjs.com/package/@promptbook/pdf)** - Read knowledge from `.pdf` documents
336
+ - **[@promptbook/documents](https://www.npmjs.com/package/@promptbook/documents)** - Read knowledge from documents like `.docx`, `.odt`,…
337
+ - **[@promptbook/legacy-documents](https://www.npmjs.com/package/@promptbook/legacy-documents)** - Read knowledge from legacy documents like `.doc`, `.rtf`,…
338
+ - **[@promptbook/website-crawler](https://www.npmjs.com/package/@promptbook/website-crawler)** - Crawl knowledge from the web
329
339
  - **[@promptbook/types](https://www.npmjs.com/package/@promptbook/types)** - Just typescript types used in the library
330
340
  - **[@promptbook/cli](https://www.npmjs.com/package/@promptbook/cli)** - Command line interface utilities for promptbooks
331
341
 
package/esm/index.es.js CHANGED
@@ -7,8 +7,8 @@ import spaceTrim$1, { spaceTrim } from 'spacetrim';
7
7
  /**
8
8
  * The version of the Promptbook library
9
9
  */
10
- var PROMPTBOOK_VERSION = '0.72.0-2';
11
- // TODO:[main] !!!! List here all the versions and annotate + put into script
10
+ var PROMPTBOOK_VERSION = '0.72.0-30';
11
+ // TODO: [main] !!!! List here all the versions and annotate + put into script
12
12
 
13
13
  /*! *****************************************************************************
14
14
  Copyright (c) Microsoft Corporation.
@@ -375,7 +375,7 @@ Object.freeze({
375
375
  *
376
376
  * @public exported from `@promptbook/core`
377
377
  */
378
- var IS_VERBOSE = false;
378
+ var DEFAULT_IS_VERBOSE = false;
379
379
  /**
380
380
  * TODO: [🧠][🧜‍♂️] Maybe join remoteUrl and path into single value
381
381
  */
@@ -587,7 +587,7 @@ function serializeError(error) {
587
587
  * Multiple LLM Execution Tools is a proxy server that uses multiple execution tools internally and exposes the executor interface externally.
588
588
  *
589
589
  * Note: Internal utility of `joinLlmExecutionTools` but exposed type
590
- * @public exported from `@promptbook/types`
590
+ * @public exported from `@promptbook/core`
591
591
  */
592
592
  var MultipleLlmExecutionTools = /** @class */ (function () {
593
593
  /**
@@ -886,6 +886,85 @@ function $getGlobalScope() {
886
886
  return Function('return this')();
887
887
  }
888
888
 
889
+ /**
890
+ * @@@
891
+ *
892
+ * @param text @@@
893
+ * @returns @@@
894
+ * @example 'HELLO_WORLD'
895
+ * @example 'I_LOVE_PROMPTBOOK'
896
+ * @public exported from `@promptbook/utils`
897
+ */
898
+ function normalizeTo_SCREAMING_CASE(text) {
899
+ var e_1, _a;
900
+ var charType;
901
+ var lastCharType = 'OTHER';
902
+ var normalizedName = '';
903
+ try {
904
+ for (var text_1 = __values(text), text_1_1 = text_1.next(); !text_1_1.done; text_1_1 = text_1.next()) {
905
+ var char = text_1_1.value;
906
+ var normalizedChar = void 0;
907
+ if (/^[a-z]$/.test(char)) {
908
+ charType = 'LOWERCASE';
909
+ normalizedChar = char.toUpperCase();
910
+ }
911
+ else if (/^[A-Z]$/.test(char)) {
912
+ charType = 'UPPERCASE';
913
+ normalizedChar = char;
914
+ }
915
+ else if (/^[0-9]$/.test(char)) {
916
+ charType = 'NUMBER';
917
+ normalizedChar = char;
918
+ }
919
+ else {
920
+ charType = 'OTHER';
921
+ normalizedChar = '_';
922
+ }
923
+ if (charType !== lastCharType &&
924
+ !(lastCharType === 'UPPERCASE' && charType === 'LOWERCASE') &&
925
+ !(lastCharType === 'NUMBER') &&
926
+ !(charType === 'NUMBER')) {
927
+ normalizedName += '_';
928
+ }
929
+ normalizedName += normalizedChar;
930
+ lastCharType = charType;
931
+ }
932
+ }
933
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
934
+ finally {
935
+ try {
936
+ if (text_1_1 && !text_1_1.done && (_a = text_1.return)) _a.call(text_1);
937
+ }
938
+ finally { if (e_1) throw e_1.error; }
939
+ }
940
+ normalizedName = normalizedName.replace(/_+/g, '_');
941
+ normalizedName = normalizedName.replace(/_?\/_?/g, '/');
942
+ normalizedName = normalizedName.replace(/^_/, '');
943
+ normalizedName = normalizedName.replace(/_$/, '');
944
+ return normalizedName;
945
+ }
946
+ /**
947
+ * TODO: Tests
948
+ * > expect(encodeRoutePath({ uriId: 'VtG7sR9rRJqwNEdM2', name: 'Moje tabule' })).toEqual('/VtG7sR9rRJqwNEdM2/Moje tabule');
949
+ * > expect(encodeRoutePath({ uriId: 'VtG7sR9rRJqwNEdM2', name: 'ěščřžžýáíúů' })).toEqual('/VtG7sR9rRJqwNEdM2/escrzyaieuu');
950
+ * > expect(encodeRoutePath({ uriId: 'VtG7sR9rRJqwNEdM2', name: ' ahoj ' })).toEqual('/VtG7sR9rRJqwNEdM2/ahoj');
951
+ * > expect(encodeRoutePath({ uriId: 'VtG7sR9rRJqwNEdM2', name: ' ahoj_ahojAhoj ahoj ' })).toEqual('/VtG7sR9rRJqwNEdM2/ahoj-ahoj-ahoj-ahoj');
952
+ * TODO: [🌺] Use some intermediate util splitWords
953
+ */
954
+
955
+ /**
956
+ * @@@
957
+ *
958
+ * @param text @@@
959
+ * @returns @@@
960
+ * @example 'hello_world'
961
+ * @example 'i_love_promptbook'
962
+ * @public exported from `@promptbook/utils`
963
+ */
964
+ function normalizeTo_snake_case(text) {
965
+ return normalizeTo_SCREAMING_CASE(text).toLowerCase();
966
+ }
967
+
889
968
  /**
890
969
  * Register is @@@
891
970
  *
@@ -894,9 +973,9 @@ function $getGlobalScope() {
894
973
  * @private internal utility, exported are only signleton instances of this class
895
974
  */
896
975
  var $Register = /** @class */ (function () {
897
- function $Register(storageName) {
898
- this.storageName = storageName;
899
- storageName = "_promptbook_".concat(storageName);
976
+ function $Register(registerName) {
977
+ this.registerName = registerName;
978
+ var storageName = "_promptbook_".concat(normalizeTo_snake_case(registerName));
900
979
  var globalScope = $getGlobalScope();
901
980
  if (globalScope[storageName] === undefined) {
902
981
  globalScope[storageName] = [];
@@ -907,11 +986,10 @@ var $Register = /** @class */ (function () {
907
986
  this.storage = globalScope[storageName];
908
987
  }
909
988
  $Register.prototype.list = function () {
910
- // <- TODO: ReadonlyDeep<Array<TRegistered>>
989
+ // <- TODO: ReadonlyDeep<ReadonlyArray<TRegistered>>
911
990
  return this.storage;
912
991
  };
913
992
  $Register.prototype.register = function (registered) {
914
- // <- TODO: What to return here
915
993
  var packageName = registered.packageName, className = registered.className;
916
994
  var existingRegistrationIndex = this.storage.findIndex(function (item) { return item.packageName === packageName && item.className === className; });
917
995
  var existingRegistration = this.storage[existingRegistrationIndex];
@@ -921,6 +999,17 @@ var $Register = /** @class */ (function () {
921
999
  else {
922
1000
  this.storage[existingRegistrationIndex] = registered;
923
1001
  }
1002
+ return {
1003
+ registerName: this.registerName,
1004
+ packageName: packageName,
1005
+ className: className,
1006
+ get isDestroyed() {
1007
+ return false;
1008
+ },
1009
+ destroy: function () {
1010
+ throw new NotYetImplementedError("Registration to ".concat(this.registerName, " is permanent in this version of Promptbook"));
1011
+ },
1012
+ };
924
1013
  };
925
1014
  return $Register;
926
1015
  }());
@@ -933,6 +1022,9 @@ var $Register = /** @class */ (function () {
933
1022
  * @public exported from `@promptbook/core`
934
1023
  */
935
1024
  var $llmToolsRegister = new $Register('llm_execution_tools_constructors');
1025
+ /**
1026
+ * TODO: [®] DRY Register logic
1027
+ */
936
1028
 
937
1029
  /**
938
1030
  * @@@
@@ -942,13 +1034,16 @@ var $llmToolsRegister = new $Register('llm_execution_tools_constructors');
942
1034
  * @public exported from `@promptbook/core`
943
1035
  */
944
1036
  var $llmToolsMetadataRegister = new $Register('llm_tools_metadata');
1037
+ /**
1038
+ * TODO: [®] DRY Register logic
1039
+ */
945
1040
 
946
1041
  /**
947
1042
  * Creates a message with all registered LLM tools
948
1043
  *
949
1044
  * Note: This function is used to create a (error) message when there is no constructor for some LLM provider
950
1045
  *
951
- * @private internal function of `createLlmToolsFromConfiguration` and `createLlmToolsFromEnv`
1046
+ * @private internal function of `createLlmToolsFromConfiguration` and `$provideLlmToolsFromEnv`
952
1047
  */
953
1048
  function $registeredLlmToolsMessage() {
954
1049
  var e_1, _a, e_2, _b;
@@ -1040,6 +1135,9 @@ function $registeredLlmToolsMessage() {
1040
1135
  })
1041
1136
  .join('\n')), "\n "); });
1042
1137
  }
1138
+ /**
1139
+ * TODO: [®] DRY Register logic
1140
+ */
1043
1141
 
1044
1142
  /**
1045
1143
  * @@@
@@ -1051,7 +1149,7 @@ function $registeredLlmToolsMessage() {
1051
1149
  */
1052
1150
  function createLlmToolsFromConfiguration(configuration, options) {
1053
1151
  if (options === void 0) { options = {}; }
1054
- var _a = options.isVerbose, isVerbose = _a === void 0 ? IS_VERBOSE : _a;
1152
+ var _a = options.isVerbose, isVerbose = _a === void 0 ? DEFAULT_IS_VERBOSE : _a, userId = options.userId;
1055
1153
  var llmTools = configuration.map(function (llmConfiguration) {
1056
1154
  var registeredItem = $llmToolsRegister
1057
1155
  .list()
@@ -1062,17 +1160,18 @@ function createLlmToolsFromConfiguration(configuration, options) {
1062
1160
  if (registeredItem === undefined) {
1063
1161
  throw new Error(spaceTrim$1(function (block) { return "\n There is no constructor for LLM provider `".concat(llmConfiguration.className, "` from `").concat(llmConfiguration.packageName, "`\n\n You have probably forgotten install and import the provider package.\n To fix this issue, you can:\n\n Install:\n\n > npm install ").concat(llmConfiguration.packageName, "\n\n And import:\n\n > import '").concat(llmConfiguration.packageName, "';\n\n\n ").concat(block($registeredLlmToolsMessage()), "\n "); }));
1064
1162
  }
1065
- return registeredItem(__assign({ isVerbose: isVerbose }, llmConfiguration.options));
1163
+ return registeredItem(__assign({ isVerbose: isVerbose, userId: userId }, llmConfiguration.options));
1066
1164
  });
1067
1165
  return joinLlmExecutionTools.apply(void 0, __spreadArray([], __read(llmTools), false));
1068
1166
  }
1069
1167
  /**
1070
- * TODO: [🎌] Togethere with `createLlmToolsFromConfiguration` + 'EXECUTION_TOOLS_CLASSES' gets to `@promptbook/core` ALL model providers, make this more efficient
1168
+ * TODO: [🎌] Together with `createLlmToolsFromConfiguration` + 'EXECUTION_TOOLS_CLASSES' gets to `@promptbook/core` ALL model providers, make this more efficient
1071
1169
  * TODO: [🧠][🎌] Dynamically install required providers
1072
1170
  * TODO: @@@ write discussion about this - wizzard
1073
1171
  * TODO: [🧠][🍛] Which name is better `createLlmToolsFromConfig` or `createLlmToolsFromConfiguration`?
1074
1172
  * TODO: [🧠] Is there some meaningfull way how to test this util
1075
1173
  * TODO: This should be maybe not under `_common` but under `utils`
1174
+ * TODO: [®] DRY Register logic
1076
1175
  */
1077
1176
 
1078
1177
  /**
@@ -1086,9 +1185,7 @@ function createLlmToolsFromConfiguration(configuration, options) {
1086
1185
  */
1087
1186
  function startRemoteServer(options) {
1088
1187
  var _this = this;
1089
- var _a = __assign({ isAnonymousModeAllowed: false, isCollectionModeAllowed: false, collection: null, createLlmExecutionTools: null }, options), port = _a.port, path = _a.path, collection = _a.collection, createLlmExecutionTools = _a.createLlmExecutionTools,
1090
- // <- TODO: [🧠][🤺] Remove `createLlmExecutionTools`, pass just `llmExecutionTools`
1091
- isAnonymousModeAllowed = _a.isAnonymousModeAllowed, isCollectionModeAllowed = _a.isCollectionModeAllowed, _b = _a.isVerbose, isVerbose = _b === void 0 ? IS_VERBOSE : _b;
1188
+ var _a = __assign({ isAnonymousModeAllowed: false, isApplicationModeAllowed: false, collection: null, createLlmExecutionTools: null }, options), port = _a.port, path = _a.path, collection = _a.collection, createLlmExecutionTools = _a.createLlmExecutionTools, isAnonymousModeAllowed = _a.isAnonymousModeAllowed, isApplicationModeAllowed = _a.isApplicationModeAllowed, _b = _a.isVerbose, isVerbose = _b === void 0 ? DEFAULT_IS_VERBOSE : _b;
1092
1189
  // <- TODO: [🦪] Some helper type to be able to use discriminant union types with destructuring
1093
1190
  var httpServer = http.createServer({}, function (request, response) { return __awaiter(_this, void 0, void 0, function () {
1094
1191
  var _a, _b;
@@ -1106,9 +1203,9 @@ function startRemoteServer(options) {
1106
1203
  return __generator(this, function (_f) {
1107
1204
  switch (_f.label) {
1108
1205
  case 0:
1109
- _b = (_a = "\n Server for processing promptbook remote requests is running.\n\n Version: ".concat(PROMPTBOOK_VERSION, "\n Socket.io path: ").concat(path, "/socket.io\n Anonymouse mode: ").concat(isAnonymousModeAllowed ? 'enabled' : 'disabled', "\n Collection mode: ").concat(isCollectionModeAllowed ? 'enabled' : 'disabled', "\n ")).concat;
1206
+ _b = (_a = "\n Server for processing promptbook remote requests is running.\n\n Version: ".concat(PROMPTBOOK_VERSION, "\n Socket.io path: ").concat(path, "/socket.io\n Anonymouse mode: ").concat(isAnonymousModeAllowed ? 'enabled' : 'disabled', "\n Application mode: ").concat(isApplicationModeAllowed ? 'enabled' : 'disabled', "\n ")).concat;
1110
1207
  _c = block;
1111
- if (!!isCollectionModeAllowed) return [3 /*break*/, 1];
1208
+ if (!!isApplicationModeAllowed) return [3 /*break*/, 1];
1112
1209
  _d = '';
1113
1210
  return [3 /*break*/, 3];
1114
1211
  case 1:
@@ -1131,9 +1228,7 @@ function startRemoteServer(options) {
1131
1228
  }
1132
1229
  });
1133
1230
  }); });
1134
- var server = new Server(
1135
- // <- TODO: [🧱] Implement in a functional (not new Class) way
1136
- httpServer, {
1231
+ var server = new Server(httpServer, {
1137
1232
  path: path,
1138
1233
  transports: [/*'websocket', <- TODO: [🌬] Make websocket transport work */ 'polling'],
1139
1234
  cors: {
@@ -1146,145 +1241,155 @@ function startRemoteServer(options) {
1146
1241
  console.info(colors.gray("Client connected"), socket.id);
1147
1242
  }
1148
1243
  socket.on('prompt-request', function (request) { return __awaiter(_this, void 0, void 0, function () {
1149
- var _a, isAnonymous, prompt, userId, llmToolsConfiguration, llmExecutionTools, promptResult, _b, error_1;
1244
+ var _a, isAnonymous, prompt, appId, userId, customOptions, llmToolsConfiguration, llmExecutionTools, promptResult, _b, error_1;
1150
1245
  return __generator(this, function (_c) {
1151
1246
  switch (_c.label) {
1152
1247
  case 0:
1153
- _a = __assign({ userId: null, llmToolsConfiguration: null }, request), isAnonymous = _a.isAnonymous, prompt = _a.prompt, userId = _a.userId, llmToolsConfiguration = _a.llmToolsConfiguration;
1248
+ _a = __assign({ appId: null, customOptions: undefined, llmToolsConfiguration: null }, request), isAnonymous = _a.isAnonymous, prompt = _a.prompt, appId = _a.appId, userId = _a.userId, customOptions = _a.customOptions, llmToolsConfiguration = _a.llmToolsConfiguration;
1154
1249
  // <- TODO: [🦪] Some helper type to be able to use discriminant union types with destructuring
1155
1250
  if (isVerbose) {
1156
1251
  console.info(colors.bgWhite("Prompt:"), colors.gray(JSON.stringify(request, null, 4)));
1157
1252
  }
1158
1253
  _c.label = 1;
1159
1254
  case 1:
1160
- _c.trys.push([1, 14, 15, 16]);
1255
+ _c.trys.push([1, 15, 16, 17]);
1161
1256
  if (isAnonymous === true && !isAnonymousModeAllowed) {
1162
- throw new PipelineExecutionError("Anonymous mode is not allowed"); // <- TODO:[main] !!! Test
1257
+ throw new PipelineExecutionError("Anonymous mode is not allowed"); // <- TODO: [main] !!! Test
1163
1258
  }
1164
- if (isAnonymous === false && !isCollectionModeAllowed) {
1165
- throw new PipelineExecutionError("Collection mode is not allowed"); // <- TODO:[main] !!! Test
1259
+ if (isAnonymous === false && !isApplicationModeAllowed) {
1260
+ throw new PipelineExecutionError("Application mode is not allowed"); // <- TODO: [main] !!! Test
1166
1261
  }
1167
1262
  llmExecutionTools = void 0;
1168
1263
  if (!(isAnonymous === true && llmToolsConfiguration !== null)) return [3 /*break*/, 2];
1169
1264
  // Note: Anonymouse mode
1170
1265
  // TODO: Maybe check that configuration is not empty
1171
1266
  llmExecutionTools = createLlmToolsFromConfiguration(llmToolsConfiguration, { isVerbose: isVerbose });
1172
- return [3 /*break*/, 5];
1267
+ return [3 /*break*/, 6];
1173
1268
  case 2:
1174
- if (!(isAnonymous === false && createLlmExecutionTools !== null)) return [3 /*break*/, 4];
1175
- // Note: Collection mode
1176
- llmExecutionTools = createLlmExecutionTools(userId);
1177
- return [4 /*yield*/, collection.isResponsibleForPrompt(prompt)];
1269
+ if (!(isAnonymous === false && createLlmExecutionTools !== null)) return [3 /*break*/, 5];
1270
+ return [4 /*yield*/, createLlmExecutionTools({
1271
+ appId: appId,
1272
+ userId: userId,
1273
+ customOptions: customOptions,
1274
+ })];
1178
1275
  case 3:
1276
+ // Note: Application mode
1277
+ llmExecutionTools = _c.sent();
1278
+ return [4 /*yield*/, collection.isResponsibleForPrompt(prompt)];
1279
+ case 4:
1179
1280
  if (!(_c.sent())) {
1180
1281
  throw new PipelineExecutionError("Pipeline is not in the collection of this server");
1181
1282
  }
1182
- return [3 /*break*/, 5];
1183
- case 4: throw new PipelineExecutionError("You must provide either llmToolsConfiguration or non-anonymous mode must be propperly configured");
1184
- case 5:
1283
+ return [3 /*break*/, 6];
1284
+ case 5: throw new PipelineExecutionError("You must provide either llmToolsConfiguration or non-anonymous mode must be propperly configured");
1285
+ case 6:
1185
1286
  promptResult = void 0;
1186
1287
  _b = prompt.modelRequirements.modelVariant;
1187
1288
  switch (_b) {
1188
- case 'CHAT': return [3 /*break*/, 6];
1189
- case 'COMPLETION': return [3 /*break*/, 8];
1190
- case 'EMBEDDING': return [3 /*break*/, 10];
1289
+ case 'CHAT': return [3 /*break*/, 7];
1290
+ case 'COMPLETION': return [3 /*break*/, 9];
1291
+ case 'EMBEDDING': return [3 /*break*/, 11];
1191
1292
  }
1192
- return [3 /*break*/, 12];
1193
- case 6:
1293
+ return [3 /*break*/, 13];
1294
+ case 7:
1194
1295
  if (llmExecutionTools.callChatModel === undefined) {
1195
1296
  // Note: [0] This check should not be a thing
1196
1297
  throw new PipelineExecutionError("Chat model is not available");
1197
1298
  }
1198
1299
  return [4 /*yield*/, llmExecutionTools.callChatModel(prompt)];
1199
- case 7:
1200
- promptResult = _c.sent();
1201
- return [3 /*break*/, 13];
1202
1300
  case 8:
1301
+ promptResult = _c.sent();
1302
+ return [3 /*break*/, 14];
1303
+ case 9:
1203
1304
  if (llmExecutionTools.callCompletionModel === undefined) {
1204
1305
  // Note: [0] This check should not be a thing
1205
1306
  throw new PipelineExecutionError("Completion model is not available");
1206
1307
  }
1207
1308
  return [4 /*yield*/, llmExecutionTools.callCompletionModel(prompt)];
1208
- case 9:
1209
- promptResult = _c.sent();
1210
- return [3 /*break*/, 13];
1211
1309
  case 10:
1310
+ promptResult = _c.sent();
1311
+ return [3 /*break*/, 14];
1312
+ case 11:
1212
1313
  if (llmExecutionTools.callEmbeddingModel === undefined) {
1213
1314
  // Note: [0] This check should not be a thing
1214
1315
  throw new PipelineExecutionError("Embedding model is not available");
1215
1316
  }
1216
1317
  return [4 /*yield*/, llmExecutionTools.callEmbeddingModel(prompt)];
1217
- case 11:
1318
+ case 12:
1218
1319
  promptResult = _c.sent();
1219
- return [3 /*break*/, 13];
1220
- case 12: throw new PipelineExecutionError("Unknown model variant \"".concat(prompt.modelRequirements.modelVariant, "\""));
1221
- case 13:
1320
+ return [3 /*break*/, 14];
1321
+ case 13: throw new PipelineExecutionError("Unknown model variant \"".concat(prompt.modelRequirements.modelVariant, "\""));
1322
+ case 14:
1222
1323
  if (isVerbose) {
1223
1324
  console.info(colors.bgGreen("PromptResult:"), colors.green(JSON.stringify(promptResult, null, 4)));
1224
1325
  }
1225
- socket.emit('prompt-response', { promptResult: promptResult });
1226
- return [3 /*break*/, 16];
1227
- case 14:
1326
+ socket.emit('prompt-response', { promptResult: promptResult } /* <- TODO: [🤛] */);
1327
+ return [3 /*break*/, 17];
1328
+ case 15:
1228
1329
  error_1 = _c.sent();
1229
1330
  if (!(error_1 instanceof Error)) {
1230
1331
  throw error_1;
1231
1332
  }
1232
- socket.emit('error', serializeError(error_1));
1233
- return [3 /*break*/, 16];
1234
- case 15:
1333
+ socket.emit('error', serializeError(error_1) /* <- TODO: [🤛] */);
1334
+ return [3 /*break*/, 17];
1335
+ case 16:
1235
1336
  socket.disconnect();
1236
1337
  return [7 /*endfinally*/];
1237
- case 16: return [2 /*return*/];
1338
+ case 17: return [2 /*return*/];
1238
1339
  }
1239
1340
  });
1240
1341
  }); });
1241
1342
  // TODO: [👒] Listing models (and checking configuration) probbably should go through REST API not Socket.io
1242
1343
  socket.on('listModels-request', function (request) { return __awaiter(_this, void 0, void 0, function () {
1243
- var _a, isAnonymous, llmToolsConfiguration, llmExecutionTools, models, error_2;
1344
+ var _a, isAnonymous, appId, userId, customOptions, llmToolsConfiguration, llmExecutionTools, models, error_2;
1244
1345
  return __generator(this, function (_b) {
1245
1346
  switch (_b.label) {
1246
1347
  case 0:
1247
- _a = __assign({ llmToolsConfiguration: null }, request), isAnonymous = _a.isAnonymous, llmToolsConfiguration = _a.llmToolsConfiguration;
1348
+ _a = __assign({ appId: null, customOptions: undefined, llmToolsConfiguration: null }, request), isAnonymous = _a.isAnonymous, appId = _a.appId, userId = _a.userId, customOptions = _a.customOptions, llmToolsConfiguration = _a.llmToolsConfiguration;
1248
1349
  // <- TODO: [🦪] Some helper type to be able to use discriminant union types with destructuring
1249
1350
  if (isVerbose) {
1250
1351
  console.info(colors.bgWhite("Listing models"));
1251
1352
  }
1252
1353
  _b.label = 1;
1253
1354
  case 1:
1254
- _b.trys.push([1, 3, 4, 5]);
1355
+ _b.trys.push([1, 6, 7, 8]);
1255
1356
  if (isAnonymous === true && !isAnonymousModeAllowed) {
1256
- throw new PipelineExecutionError("Anonymous mode is not allowed"); // <- TODO:[main] !!! Test
1357
+ throw new PipelineExecutionError("Anonymous mode is not allowed"); // <- TODO: [main] !!! Test
1257
1358
  }
1258
- if (isAnonymous === false && !isCollectionModeAllowed) {
1259
- throw new PipelineExecutionError("Collection mode is not allowed"); // <- TODO:[main] !!! Test
1359
+ if (isAnonymous === false && !isApplicationModeAllowed) {
1360
+ throw new PipelineExecutionError("Application mode is not allowed"); // <- TODO: [main] !!! Test
1260
1361
  }
1261
1362
  llmExecutionTools = void 0;
1262
- if (isAnonymous === true) {
1263
- // Note: Anonymouse mode
1264
- // TODO: Maybe check that configuration is not empty
1265
- llmExecutionTools = createLlmToolsFromConfiguration(llmToolsConfiguration, { isVerbose: isVerbose });
1266
- }
1267
- else {
1268
- // Note: Collection mode
1269
- llmExecutionTools = createLlmExecutionTools(
1270
- /* userId: */ undefined);
1271
- }
1272
- return [4 /*yield*/, llmExecutionTools.listModels()];
1273
- case 2:
1274
- models = _b.sent();
1275
- socket.emit('listModels-response', { models: models });
1276
- return [3 /*break*/, 5];
1363
+ if (!(isAnonymous === true)) return [3 /*break*/, 2];
1364
+ // Note: Anonymouse mode
1365
+ // TODO: Maybe check that configuration is not empty
1366
+ llmExecutionTools = createLlmToolsFromConfiguration(llmToolsConfiguration, { isVerbose: isVerbose });
1367
+ return [3 /*break*/, 4];
1368
+ case 2: return [4 /*yield*/, createLlmExecutionTools({
1369
+ appId: appId,
1370
+ userId: userId,
1371
+ customOptions: customOptions,
1372
+ })];
1277
1373
  case 3:
1374
+ // Note: Application mode
1375
+ llmExecutionTools = _b.sent();
1376
+ _b.label = 4;
1377
+ case 4: return [4 /*yield*/, llmExecutionTools.listModels()];
1378
+ case 5:
1379
+ models = _b.sent();
1380
+ socket.emit('listModels-response', { models: models } /* <- TODO: [🤛] */);
1381
+ return [3 /*break*/, 8];
1382
+ case 6:
1278
1383
  error_2 = _b.sent();
1279
1384
  if (!(error_2 instanceof Error)) {
1280
1385
  throw error_2;
1281
1386
  }
1282
1387
  socket.emit('error', serializeError(error_2));
1283
- return [3 /*break*/, 5];
1284
- case 4:
1388
+ return [3 /*break*/, 8];
1389
+ case 7:
1285
1390
  socket.disconnect();
1286
1391
  return [7 /*endfinally*/];
1287
- case 5: return [2 /*return*/];
1392
+ case 8: return [2 /*return*/];
1288
1393
  }
1289
1394
  });
1290
1395
  }); });