@promptbook/remote-server 0.72.0-2 → 0.72.0-23

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 (255) 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 +16 -0
  6. package/esm/typings/src/_packages/core.index.d.ts +54 -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/cli/cli-commands/about.d.ts +1 -1
  15. package/esm/typings/src/cli/cli-commands/hello.d.ts +2 -1
  16. package/esm/typings/src/cli/cli-commands/make.d.ts +1 -1
  17. package/esm/typings/src/cli/cli-commands/prettify.d.ts +2 -1
  18. package/esm/typings/src/cli/cli-commands/test-command.d.ts +13 -0
  19. package/esm/typings/src/cli/main.d.ts +1 -1
  20. package/esm/typings/src/cli/promptbookCli.d.ts +1 -1
  21. package/esm/typings/src/collection/PipelineCollection.d.ts +1 -1
  22. package/esm/typings/src/collection/SimplePipelineCollection.d.ts +2 -2
  23. package/esm/typings/src/collection/collectionToJson.d.ts +1 -1
  24. package/esm/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +11 -6
  25. package/esm/typings/src/collection/constructors/createCollectionFromJson.d.ts +1 -1
  26. package/esm/typings/src/collection/constructors/createCollectionFromPromise.d.ts +1 -1
  27. package/esm/typings/src/collection/constructors/createCollectionFromUrl.d.ts +1 -1
  28. package/esm/typings/src/commands/EXPECT/expectCommandParser.d.ts +1 -1
  29. package/esm/typings/src/commands/FOREACH/ForeachJson.d.ts +5 -1
  30. package/esm/typings/src/commands/FOREACH/foreachCommandParser.d.ts +1 -1
  31. package/esm/typings/src/commands/FORMAT/formatCommandParser.d.ts +1 -1
  32. package/esm/typings/src/commands/JOKER/jokerCommandParser.d.ts +1 -1
  33. package/esm/typings/src/commands/KNOWLEDGE/knowledgeCommandParser.d.ts +1 -1
  34. package/esm/typings/src/commands/KNOWLEDGE/utils/sourceContentToName.d.ts +11 -0
  35. package/esm/typings/src/commands/KNOWLEDGE/utils/sourceContentToName.test.d.ts +4 -0
  36. package/esm/typings/src/commands/MODEL/modelCommandParser.d.ts +1 -1
  37. package/esm/typings/src/commands/PARAMETER/parameterCommandParser.d.ts +1 -1
  38. package/esm/typings/src/commands/PERSONA/personaCommandParser.d.ts +1 -1
  39. package/esm/typings/src/commands/POSTPROCESS/postprocessCommandParser.d.ts +1 -1
  40. package/esm/typings/src/commands/PROMPTBOOK_VERSION/promptbookVersionCommandParser.d.ts +1 -1
  41. package/esm/typings/src/commands/TEMPLATE/templateCommandParser.d.ts +1 -1
  42. package/esm/typings/src/commands/URL/urlCommandParser.d.ts +1 -1
  43. package/esm/typings/src/commands/X_ACTION/actionCommandParser.d.ts +1 -1
  44. package/esm/typings/src/commands/X_INSTRUMENT/instrumentCommandParser.d.ts +1 -1
  45. package/esm/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +1 -1
  46. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +5 -5
  47. package/esm/typings/src/config.d.ts +35 -12
  48. package/esm/typings/src/conversion/pipelineStringToJson.d.ts +4 -15
  49. package/esm/typings/src/conversion/pipelineStringToJsonSync.d.ts +1 -1
  50. package/esm/typings/src/conversion/validation/_importPipeline.d.ts +1 -1
  51. package/esm/typings/src/conversion/validation/validatePipeline.d.ts +5 -5
  52. package/esm/typings/src/{knowledge/dialogs → dialogs}/callback/CallbackInterfaceTools.d.ts +2 -2
  53. package/esm/typings/src/{knowledge/dialogs → dialogs}/callback/CallbackInterfaceToolsOptions.d.ts +3 -3
  54. package/esm/typings/src/{knowledge/dialogs → dialogs}/simple-prompt/SimplePromptInterfaceTools.d.ts +6 -6
  55. package/esm/typings/src/errors/AbstractFormatError.d.ts +11 -0
  56. package/esm/typings/src/errors/KnowledgeScrapeError.d.ts +9 -0
  57. package/esm/typings/src/errors/MissingToolsError.d.ts +9 -0
  58. package/esm/typings/src/executables/$provideExecutablesForNode.d.ts +12 -0
  59. package/esm/typings/src/executables/apps/locateLibreoffice.d.ts +11 -0
  60. package/esm/typings/src/executables/apps/locatePandoc.d.ts +11 -0
  61. package/esm/typings/src/executables/locateApp.d.ts +33 -0
  62. package/esm/typings/src/executables/platforms/locateAppOnLinux.d.ts +12 -0
  63. package/esm/typings/src/executables/platforms/locateAppOnMacOs.d.ts +12 -0
  64. package/esm/typings/src/executables/platforms/locateAppOnWindows.d.ts +12 -0
  65. package/esm/typings/src/execution/{CommonExecutionToolsOptions.d.ts → CommonToolsOptions.d.ts} +1 -1
  66. package/esm/typings/src/execution/EmbeddingVector.d.ts +1 -1
  67. package/esm/typings/src/execution/Executables.d.ts +18 -0
  68. package/esm/typings/src/execution/ExecutionTools.d.ts +35 -9
  69. package/esm/typings/src/execution/FilesystemTools.d.ts +9 -0
  70. package/esm/typings/src/execution/LlmExecutionTools.d.ts +2 -2
  71. package/esm/typings/src/execution/PipelineExecutor.d.ts +1 -0
  72. package/esm/typings/src/execution/PipelineExecutorResult.d.ts +2 -2
  73. package/esm/typings/src/execution/assertsExecutionSuccessful.d.ts +3 -2
  74. package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorOptions.d.ts +31 -5
  75. package/esm/typings/src/execution/createPipelineExecutor/00-createPipelineExecutor.d.ts +3 -0
  76. package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +6 -12
  77. package/esm/typings/src/execution/createPipelineExecutor/20-executeTemplate.d.ts +7 -18
  78. package/esm/typings/src/execution/createPipelineExecutor/{30-executeFormatCells.d.ts → 30-executeFormatSubvalues.d.ts} +2 -6
  79. package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +9 -19
  80. package/esm/typings/src/execution/embeddingVectorToString.d.ts +1 -1
  81. package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/LindatAutomaticTranslator.d.ts +11 -3
  82. package/esm/typings/src/execution/translation/automatic-translate/translateMessages.d.ts +4 -0
  83. package/esm/typings/src/execution/utils/$provideExecutionToolsForNode.d.ts +13 -0
  84. package/esm/typings/src/execution/utils/addUsage.d.ts +1 -1
  85. package/esm/typings/src/execution/utils/forEachAsync.d.ts +2 -1
  86. package/esm/typings/src/formats/_common/FormatDefinition.d.ts +2 -2
  87. package/esm/typings/src/formats/_common/FormatSubvalueDefinition.d.ts +3 -2
  88. package/esm/typings/src/formats/csv/CsvFormatError.d.ts +10 -0
  89. package/esm/typings/src/llm-providers/_common/{$llmToolsMetadataRegister.d.ts → register/$llmToolsMetadataRegister.d.ts} +4 -1
  90. package/esm/typings/src/llm-providers/_common/{$llmToolsRegister.d.ts → register/$llmToolsRegister.d.ts} +5 -2
  91. package/esm/typings/src/llm-providers/_common/{createLlmToolsFromConfigurationFromEnv.d.ts → register/$provideLlmToolsConfigurationFromEnv.d.ts} +3 -3
  92. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForCli.d.ts +15 -0
  93. package/esm/typings/src/llm-providers/_common/{getLlmToolsForTestingAndScriptsAndPlayground.d.ts → register/$provideLlmToolsForTestingAndScriptsAndPlayground.d.ts} +4 -3
  94. package/esm/typings/src/llm-providers/_common/{createLlmToolsFromEnv.d.ts → register/$provideLlmToolsFromEnv.d.ts} +6 -5
  95. package/esm/typings/src/llm-providers/_common/{$registeredLlmToolsMessage.d.ts → register/$registeredLlmToolsMessage.d.ts} +5 -2
  96. package/esm/typings/src/llm-providers/_common/{LlmToolsConfiguration.d.ts → register/LlmToolsConfiguration.d.ts} +6 -5
  97. package/esm/typings/src/llm-providers/_common/{LlmToolsMetadata.d.ts → register/LlmToolsMetadata.d.ts} +5 -4
  98. package/esm/typings/src/llm-providers/_common/{LlmToolsOptions.d.ts → register/LlmToolsOptions.d.ts} +4 -1
  99. package/esm/typings/src/llm-providers/_common/{createLlmToolsFromConfiguration.d.ts → register/createLlmToolsFromConfiguration.d.ts} +12 -4
  100. package/esm/typings/src/llm-providers/_common/utils/cache/CacheLlmToolsOptions.d.ts +4 -1
  101. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -1
  102. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +5 -5
  103. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
  104. package/esm/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +3 -2
  105. package/esm/typings/src/llm-providers/anthropic-claude/register-configuration.d.ts +4 -3
  106. package/esm/typings/src/llm-providers/anthropic-claude/register-constructor.d.ts +4 -3
  107. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +7 -1
  108. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +4 -3
  109. package/esm/typings/src/llm-providers/azure-openai/playground/playground.d.ts +1 -0
  110. package/esm/typings/src/llm-providers/azure-openai/register-configuration.d.ts +4 -3
  111. package/esm/typings/src/llm-providers/azure-openai/register-constructor.d.ts +4 -3
  112. package/esm/typings/src/llm-providers/langtail/LangtailExecutionTools.d.ts +1 -1
  113. package/esm/typings/src/llm-providers/langtail/playground/playground.d.ts +3 -0
  114. package/esm/typings/src/llm-providers/mocked/$fakeTextToExpectations.d.ts +1 -1
  115. package/esm/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +4 -4
  116. package/esm/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +4 -4
  117. package/esm/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +4 -4
  118. package/esm/typings/src/llm-providers/multiple/joinLlmExecutionTools.d.ts +1 -1
  119. package/esm/typings/src/llm-providers/multiple/playground/playground.d.ts +3 -0
  120. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +1 -2
  121. package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +2 -2
  122. package/esm/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +4 -4
  123. package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -1
  124. package/esm/typings/src/llm-providers/openai/playground/playground.d.ts +2 -1
  125. package/esm/typings/src/llm-providers/openai/register-configuration.d.ts +5 -4
  126. package/esm/typings/src/llm-providers/openai/register-constructor.d.ts +5 -4
  127. package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +4 -4
  128. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_ListModels_Request.d.ts +16 -7
  129. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_ListModels_Response.d.ts +4 -4
  130. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Request.d.ts +7 -13
  131. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Response.d.ts +3 -3
  132. package/esm/typings/src/llm-providers/remote/interfaces/RemoteLlmExecutionToolsOptions.d.ts +11 -16
  133. package/esm/typings/src/llm-providers/remote/interfaces/RemoteServerOptions.d.ts +24 -9
  134. package/esm/typings/src/llm-providers/remote/playground/playground.d.ts +3 -0
  135. package/esm/typings/src/llm-providers/remote/startRemoteServer.d.ts +1 -1
  136. package/esm/typings/src/personas/preparePersona.d.ts +3 -2
  137. package/esm/typings/src/prepare/PrepareAndScrapeOptions.d.ts +49 -0
  138. package/esm/typings/src/prepare/preparePipeline.d.ts +3 -2
  139. package/esm/typings/src/prepare/prepareTemplates.d.ts +4 -3
  140. package/esm/typings/src/scrapers/_common/Converter.d.ts +22 -0
  141. package/esm/typings/src/scrapers/_common/Scraper.d.ts +59 -0
  142. package/esm/typings/src/scrapers/_common/ScraperIntermediateSource.d.ts +11 -0
  143. package/esm/typings/src/{knowledge/prepare-knowledge → scrapers}/_common/prepareKnowledgePieces.d.ts +5 -4
  144. package/esm/typings/src/scrapers/_common/register/$provideFilesystemForNode.d.ts +11 -0
  145. package/esm/typings/src/scrapers/_common/register/$provideScrapersForBrowser.d.ts +12 -0
  146. package/esm/typings/src/scrapers/_common/register/$provideScrapersForNode.d.ts +15 -0
  147. package/esm/typings/src/scrapers/_common/register/$registeredScrapersMessage.d.ts +12 -0
  148. package/esm/typings/src/scrapers/_common/register/$scrapersMetadataRegister.d.ts +13 -0
  149. package/esm/typings/src/scrapers/_common/register/$scrapersRegister.d.ts +13 -0
  150. package/esm/typings/src/scrapers/_common/register/ScraperAndConverterMetadata.d.ts +41 -0
  151. package/esm/typings/src/scrapers/_common/register/ScraperConstructor.d.ts +12 -0
  152. package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.d.ts +34 -0
  153. package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.test.d.ts +4 -0
  154. package/esm/typings/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +11 -0
  155. package/esm/typings/src/scrapers/document/DocumentScraper.d.ts +43 -0
  156. package/esm/typings/src/scrapers/document/DocumentScraper.test.d.ts +4 -0
  157. package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +20 -0
  158. package/esm/typings/src/scrapers/document/playground/document-scraper-playground.d.ts +5 -0
  159. package/esm/typings/src/scrapers/document/register-constructor.d.ts +13 -0
  160. package/esm/typings/src/scrapers/document/register-metadata.d.ts +24 -0
  161. package/esm/typings/src/scrapers/document-legacy/LegacyDocumentScraper.d.ts +43 -0
  162. package/esm/typings/src/scrapers/document-legacy/LegacyDocumentScraper.test.d.ts +4 -0
  163. package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +20 -0
  164. package/esm/typings/src/scrapers/document-legacy/playground/legacy-document-scraper-playground.d.ts +5 -0
  165. package/esm/typings/src/scrapers/document-legacy/register-constructor.d.ts +13 -0
  166. package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +24 -0
  167. package/esm/typings/src/scrapers/markdown/MarkdownScraper.d.ts +29 -0
  168. package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +20 -0
  169. package/esm/typings/src/scrapers/markdown/playground/markdown-scraper-playground.d.ts +5 -0
  170. package/esm/typings/src/scrapers/markdown/register-constructor.d.ts +13 -0
  171. package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +24 -0
  172. package/esm/typings/src/scrapers/pdf/PdfScraper.d.ts +40 -0
  173. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +20 -0
  174. package/esm/typings/src/scrapers/pdf/playground/pdf-scraper-playground.d.ts +5 -0
  175. package/esm/typings/src/scrapers/pdf/register-constructor.d.ts +13 -0
  176. package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +24 -0
  177. package/esm/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +2 -2
  178. package/esm/typings/src/scripting/javascript/utils/preserve.d.ts +1 -1
  179. package/esm/typings/src/scripting/python/PythonExecutionTools.d.ts +3 -3
  180. package/esm/typings/src/scripting/typescript/TypescriptExecutionTools.d.ts +3 -3
  181. package/esm/typings/src/storage/{files-storage/FilesStorage.d.ts → file-cache-storage/FileCacheStorage.d.ts} +7 -5
  182. package/esm/typings/src/storage/file-cache-storage/FileCacheStorageOptions.d.ts +10 -0
  183. package/esm/typings/src/storage/{files-storage → file-cache-storage}/utils/nameToSubfolderPath.d.ts +2 -2
  184. package/esm/typings/src/storage/local-storage/getLocalStorage.d.ts +1 -1
  185. package/esm/typings/src/storage/local-storage/getSessionStorage.d.ts +1 -1
  186. package/esm/typings/src/storage/{utils → memory/utils}/PrefixStorage.d.ts +1 -1
  187. package/esm/typings/src/storage/{utils → memory/utils}/makePromptbookStorageFromWebStorage.d.ts +1 -1
  188. package/esm/typings/src/types/Arrayable.d.ts +1 -1
  189. package/esm/typings/src/types/IntermediateFilesStrategy.d.ts +7 -0
  190. package/esm/typings/src/types/PipelineJson/KnowledgePieceJson.d.ts +4 -4
  191. package/esm/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +10 -3
  192. package/esm/typings/src/types/PipelineJson/ParameterJson.d.ts +1 -1
  193. package/esm/typings/src/types/PipelineJson/PersonaJson.d.ts +1 -1
  194. package/esm/typings/src/types/PipelineJson/PipelineJson.d.ts +2 -2
  195. package/esm/typings/src/types/PipelineJson/TemplateJsonCommon.d.ts +2 -2
  196. package/esm/typings/src/types/Prompt.d.ts +2 -1
  197. package/esm/typings/src/types/execution-report/ExecutionReportJson.d.ts +1 -4
  198. package/esm/typings/src/types/execution-report/executionReportJsonToString.d.ts +2 -1
  199. package/esm/typings/src/types/typeAliases.d.ts +27 -20
  200. package/esm/typings/src/utils/$Register.d.ts +20 -7
  201. package/esm/typings/src/utils/FromtoItems.d.ts +1 -1
  202. package/esm/typings/src/utils/arrayableToArray.d.ts +1 -1
  203. package/esm/typings/src/utils/emojis.d.ts +1 -1
  204. package/esm/typings/src/utils/execCommand/$execCommand.d.ts +14 -0
  205. package/esm/typings/src/utils/execCommand/$execCommands.d.ts +17 -0
  206. package/esm/typings/src/utils/execCommand/ExecCommandOptions.d.ts +19 -0
  207. package/esm/typings/src/utils/execCommand/execCommandNormalizeOptions.d.ts +10 -0
  208. package/esm/typings/src/utils/execCommand/execCommandNormalizeOptions.test.d.ts +1 -0
  209. package/esm/typings/src/utils/expectation-counters/countSentences.d.ts +1 -1
  210. package/esm/typings/src/utils/files/extensionToMimeType.d.ts +8 -0
  211. package/esm/typings/src/utils/files/extensionToMimeType.test.d.ts +1 -0
  212. package/esm/typings/src/utils/files/getFileExtension.d.ts +8 -0
  213. package/esm/typings/src/utils/files/getFileExtension.test.d.ts +1 -0
  214. package/esm/typings/src/utils/files/isDirectoryExisting.d.ts +14 -0
  215. package/esm/typings/src/utils/files/isDirectoryExisting.test.d.ts +1 -0
  216. package/esm/typings/src/utils/files/isExecutable.d.ts +11 -0
  217. package/esm/typings/src/utils/files/isFileExisting.d.ts +13 -0
  218. package/esm/typings/src/utils/files/isFileExisting.test.d.ts +1 -0
  219. package/esm/typings/src/utils/files/listAllFiles.d.ts +17 -0
  220. package/esm/typings/src/utils/files/listAllFiles.test.d.ts +1 -0
  221. package/esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +1 -1
  222. package/esm/typings/src/utils/markdown/splitMarkdownIntoSections.d.ts +1 -1
  223. package/esm/typings/src/utils/normalization/IKeywords.d.ts +2 -2
  224. package/esm/typings/src/utils/normalization/parseKeywords.d.ts +2 -2
  225. package/esm/typings/src/utils/normalization/parseKeywordsFromString.d.ts +2 -2
  226. package/esm/typings/src/utils/normalization/searchKeywords.d.ts +2 -2
  227. package/esm/typings/src/utils/organization/TODO_USE.d.ts +1 -1
  228. package/esm/typings/src/utils/organization/keepUnused.d.ts +1 -1
  229. package/esm/typings/src/utils/random/$randomSeed.d.ts +1 -1
  230. package/esm/typings/src/utils/sets/intersection.d.ts +1 -1
  231. package/esm/typings/src/utils/sets/union.d.ts +1 -1
  232. package/esm/typings/src/utils/unwrapResult.d.ts +4 -4
  233. package/esm/typings/src/utils/validators/filePath/isValidFilePath.d.ts +2 -2
  234. package/package.json +4 -3
  235. package/umd/index.umd.js +186 -81
  236. package/umd/index.umd.js.map +1 -1
  237. package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorSettings.d.ts +0 -40
  238. package/esm/typings/src/knowledge/prepare-knowledge/_common/Scraper.d.ts +0 -37
  239. package/esm/typings/src/knowledge/prepare-knowledge/markdown/playground/markdown-knowledge-playground.d.ts +0 -2
  240. package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +0 -14
  241. package/esm/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +0 -15
  242. package/esm/typings/src/llm-providers/_common/getLlmToolsForCli.d.ts +0 -22
  243. package/esm/typings/src/prepare/PrepareOptions.d.ts +0 -22
  244. package/esm/typings/src/storage/files-storage/FilesStorageOptions.d.ts +0 -10
  245. package/esm/typings/src/utils/files/$isDirectoryExisting.d.ts +0 -15
  246. package/esm/typings/src/utils/files/$isFileExisting.d.ts +0 -14
  247. package/esm/typings/src/utils/files/$listAllFiles.d.ts +0 -17
  248. /package/esm/typings/src/{knowledge/dialogs → dialogs}/user-interface-execution-tools.test.d.ts +0 -0
  249. /package/esm/typings/src/{knowledge/prepare-knowledge/_common/prepareKnowledgePieces.test.d.ts → executables/apps/locateLibreoffice.test.d.ts} +0 -0
  250. /package/esm/typings/src/{knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.test.d.ts → executables/apps/locatePandoc.test.d.ts} +0 -0
  251. /package/esm/typings/src/{storage/files-storage/utils/nameToSubfolderPath.test.d.ts → executables/locateApp.test.d.ts} +0 -0
  252. /package/esm/typings/src/{utils/files/$isDirectoryExisting.test.d.ts → scrapers/_common/prepareKnowledgePieces.test.d.ts} +0 -0
  253. /package/esm/typings/src/{knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.test.d.ts → scrapers/markdown/MarkdownScraper.test.d.ts} +0 -0
  254. /package/esm/typings/src/{utils/files/$isFileExisting.test.d.ts → storage/file-cache-storage/utils/nameToSubfolderPath.test.d.ts} +0 -0
  255. /package/esm/typings/src/utils/{files/$listAllFiles.test.d.ts → execCommand/execCommand.test.d.ts} +0 -0
@@ -40,11 +40,11 @@ export type CommonCommandParser<TCommand extends CommandBase> = {
40
40
  /**
41
41
  * @@@
42
42
  */
43
- readonly aliasNames?: Array<string_name & string_SCREAMING_CASE>;
43
+ readonly aliasNames?: ReadonlyArray<string_name & string_SCREAMING_CASE>;
44
44
  /**
45
45
  * @@@
46
46
  */
47
- readonly deprecatedNames?: Array<string_name & string_SCREAMING_CASE>;
47
+ readonly deprecatedNames?: ReadonlyArray<string_name & string_SCREAMING_CASE>;
48
48
  /**
49
49
  * @@@
50
50
  */
@@ -56,7 +56,7 @@ export type CommonCommandParser<TCommand extends CommandBase> = {
56
56
  /**
57
57
  * @@@
58
58
  */
59
- readonly examples: Array<string_markdown_text>;
59
+ readonly examples: ReadonlyArray<string_markdown_text>;
60
60
  /**
61
61
  * @throws {ParseError} if the parsing fails
62
62
  */
@@ -95,7 +95,7 @@ export type PipelineHeadCommandParser<TCommand extends CommandBase> = CommonComm
95
95
  *
96
96
  * Note: This is used in `pipelineJsonToString` utility
97
97
  */
98
- takeFromPipelineJson(pipelineJson: PipelineJson): Array<TCommand>;
98
+ takeFromPipelineJson(pipelineJson: PipelineJson): ReadonlyArray<TCommand>;
99
99
  };
100
100
  /**
101
101
  * @@@
@@ -120,7 +120,7 @@ export type PipelineTemplateCommandParser<TCommand extends CommandBase> = Common
120
120
  *
121
121
  * Note: This is used in `pipelineJsonToString` utility
122
122
  */
123
- takeFromTemplateJson($templateJson: $TemplateJson): Array<TCommand>;
123
+ takeFromTemplateJson($templateJson: $TemplateJson): ReadonlyArray<TCommand>;
124
124
  };
125
125
  /**
126
126
  * @@@
@@ -1,4 +1,5 @@
1
1
  import type { CsvSettings } from './formats/csv/CsvSettings';
2
+ import type { IntermediateFilesStrategy } from './types/IntermediateFilesStrategy';
2
3
  /**
3
4
  * Warning message for the generated sections and files files
4
5
  *
@@ -12,7 +13,7 @@ export declare const GENERATOR_WARNING = "\u26A0\uFE0F WARNING: This code has be
12
13
  *
13
14
  * @public exported from `@promptbook/core`
14
15
  */
15
- export declare const CLAIM = "Supercharge LLM models with Promptbook";
16
+ export declare const CLAIM = "Build responsible, controlled and transparent applications on top of LLM models!";
16
17
  /**
17
18
  * Warning message for the generated sections and files files
18
19
  *
@@ -50,49 +51,65 @@ export declare const CONNECTION_RETRIES_LIMIT = 5;
50
51
  */
51
52
  export declare const IMMEDIATE_TIME = 10;
52
53
  /**
53
- * The maximum number of (LLM) tasks running in parallel
54
+ * The maximum length of the (generated) filename
54
55
  *
55
56
  * @public exported from `@promptbook/core`
56
57
  */
57
- export declare const MAX_PARALLEL_COUNT = 5;
58
+ export declare const MAX_FILENAME_LENGTH = 30;
58
59
  /**
59
- * The maximum number of attempts to execute LLM task before giving up
60
+ * Strategy for caching the intermediate results for knowledge sources
60
61
  *
61
62
  * @public exported from `@promptbook/core`
62
63
  */
63
- export declare const MAX_EXECUTION_ATTEMPTS = 3;
64
+ export declare const DEFAULT_INTERMEDIATE_FILES_STRATEGY: IntermediateFilesStrategy;
64
65
  /**
65
- * The maximum length of the (generated) filename
66
+ * The maximum number of (LLM) tasks running in parallel
66
67
  *
67
68
  * @public exported from `@promptbook/core`
68
69
  */
69
- export declare const MAX_FILENAME_LENGTH = 30;
70
+ export declare const DEFAULT_MAX_PARALLEL_COUNT = 5;
71
+ /**
72
+ * The maximum number of attempts to execute LLM task before giving up
73
+ *
74
+ * @public exported from `@promptbook/core`
75
+ */
76
+ export declare const DEFAULT_MAX_EXECUTION_ATTEMPTS = 3;
70
77
  /**
71
78
  * @@@
72
79
  * TODO: [🐝][main] !!! Use
73
80
  *
74
81
  * @public exported from `@promptbook/core`
75
82
  */
76
- export declare const MAX_KNOWLEDGE_SOURCES_SCRAPING_DEPTH = 3;
83
+ export declare const DEFAULT_MAX_KNOWLEDGE_SOURCES_SCRAPING_DEPTH = 3;
77
84
  /**
78
85
  * @@@
79
86
  * TODO: [🐝][main] !!! Use
80
87
  *
81
88
  * @public exported from `@promptbook/core`
82
89
  */
83
- export declare const MAX_KNOWLEDGE_SOURCES_SCRAPING_TOTAL = 200;
90
+ export declare const DEFAULT_MAX_KNOWLEDGE_SOURCES_SCRAPING_TOTAL = 200;
84
91
  /**
85
92
  * Where to store the cache of executions for promptbook CLI
86
93
  *
94
+ * Note: When the folder does not exist, it is created recursively
95
+ *
96
+ * @public exported from `@promptbook/core`
97
+ */
98
+ export declare const DEFAULT_EXECUTIONS_CACHE_DIRNAME = "/.promptbook/executions-cache";
99
+ /**
100
+ * Where to store the scrape cache
101
+ *
102
+ * Note: When the folder does not exist, it is created recursively
103
+ *
87
104
  * @public exported from `@promptbook/core`
88
105
  */
89
- export declare const EXECUTIONS_CACHE_DIRNAME = "/.promptbook/executions-cache";
106
+ export declare const DEFAULT_SCRAPE_CACHE_DIRNAME = "/.promptbook/scrape-cache";
90
107
  /**
91
108
  * The name of the builded pipeline collection made by CLI `ptbk make` and for lookup in `createCollectionFromDirectory`
92
109
  *
93
110
  * @public exported from `@promptbook/core`
94
111
  */
95
- export declare const PIPELINE_COLLECTION_BASE_FILENAME = "index";
112
+ export declare const DEFAULT_PIPELINE_COLLECTION_BASE_FILENAME = "index";
96
113
  /**
97
114
  * Nonce which is used for replacing things in strings
98
115
  *
@@ -149,7 +166,13 @@ export declare const DEFAULT_CSV_SETTINGS: CsvSettings;
149
166
  *
150
167
  * @public exported from `@promptbook/core`
151
168
  */
152
- export declare const IS_VERBOSE = false;
169
+ export declare const DEFAULT_IS_VERBOSE = false;
170
+ /**
171
+ * @@@
172
+ *
173
+ * @public exported from `@promptbook/core`
174
+ */
175
+ export declare const DEFAULT_IS_AUTO_INSTALLED = false;
153
176
  /**
154
177
  * @@@
155
178
  *
@@ -1,19 +1,7 @@
1
- import type { LlmExecutionTools } from '../execution/LlmExecutionTools';
1
+ import type { ExecutionTools } from '../execution/ExecutionTools';
2
+ import type { PrepareAndScrapeOptions } from '../prepare/PrepareAndScrapeOptions';
2
3
  import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
3
4
  import type { PipelineString } from '../types/PipelineString';
4
- /**
5
- * Options for `pipelineStringToJson`
6
- *
7
- * @public exported from `@promptbook/core`
8
- */
9
- export type PipelineStringToJsonOptions = {
10
- /**
11
- * Tools for processing required for preparation of knowledge *(not for actual execution)*
12
- *
13
- * Note: If you provide `null`, the knowledge will not be prepared
14
- */
15
- readonly llmTools: LlmExecutionTools | null;
16
- };
17
5
  /**
18
6
  * Compile pipeline from string (markdown) format to JSON format
19
7
  *
@@ -26,12 +14,13 @@ export type PipelineStringToJsonOptions = {
26
14
  * Note: This function acts as compilation process
27
15
  *
28
16
  * @param pipelineString {Promptbook} in string markdown format (.ptbk.md)
17
+ * @param tools - Tools for the preparation and scraping - if not provided together with `llm`, the preparation will be skipped
29
18
  * @param options - Options and tools for the compilation
30
19
  * @returns {Promptbook} compiled in JSON format (.ptbk.json)
31
20
  * @throws {ParseError} if the promptbook string is not valid
32
21
  * @public exported from `@promptbook/core`
33
22
  */
34
- export declare function pipelineStringToJson(pipelineString: PipelineString, options?: PipelineStringToJsonOptions): Promise<PipelineJson>;
23
+ export declare function pipelineStringToJson(pipelineString: PipelineString, tools?: Pick<ExecutionTools, 'llm' | 'fs' | 'scrapers'>, options?: PrepareAndScrapeOptions): Promise<PipelineJson>;
35
24
  /**
36
25
  * TODO: [🏏] Leverage the batch API and build queues @see https://platform.openai.com/docs/guides/batch
37
26
  * TODO: [🛠] Actions, instruments (and maybe knowledge) => Functions and tools
@@ -18,7 +18,7 @@ import type { PipelineString } from '../types/PipelineString';
18
18
  */
19
19
  export declare function pipelineStringToJsonSync(pipelineString: PipelineString): PipelineJson;
20
20
  /**
21
- * TODO:[main] !!!! Warn if used only sync version
21
+ * TODO: [main] !!!! Warn if used only sync version
22
22
  * TODO: [🚞] Report here line/column of error
23
23
  * TODO: Use spaceTrim more effectively
24
24
  * TODO: [🧠] Parameter flags - isInput, isOutput, isInternal
@@ -25,5 +25,5 @@ export declare function importPipelineJson(path: `${string}.ptbk.json`): Pipelin
25
25
  */
26
26
  export declare function importPipelineJsonAsString(path: `${string}.ptbk.json`): string_json<PipelineJson>;
27
27
  /**
28
- * TODO: [🥯] This should be part of scripting + testing utilities set which are not builded into packages
28
+ * Note: [] Code in this file should never be published in any package
29
29
  */
@@ -32,11 +32,11 @@ export declare function validatePipelineCore(pipeline: PipelineJson): void;
32
32
  * > ex port function validatePipeline(promptbook: really_unknown): asserts promptbook is PipelineJson {
33
33
  */
34
34
  /**
35
- * TODO: [🐣][main] !!!! Validate that all samples match expectations
36
- * TODO: [🐣][🐝][main] !!!! Validate that knowledge is valid (non-void)
37
- * TODO: [🐣][main] !!!! Validate that persona can be used only with CHAT variant
38
- * TODO: [🐣][main] !!!! Validate that parameter with reserved name not used RESERVED_PARAMETER_NAMES
39
- * TODO: [🐣][main] !!!! Validate that reserved parameter is not used as joker
35
+ * TODO: [🧳][main] !!!! Validate that all samples match expectations
36
+ * TODO: [🧳][🐝][main] !!!! Validate that knowledge is valid (non-void)
37
+ * TODO: [🧳][main] !!!! Validate that persona can be used only with CHAT variant
38
+ * TODO: [🧳][main] !!!! Validate that parameter with reserved name not used RESERVED_PARAMETER_NAMES
39
+ * TODO: [🧳][main] !!!! Validate that reserved parameter is not used as joker
40
40
  * TODO: [🧠] Validation not only logic itself but imports around - files and websites and rerefenced pipelines exists
41
41
  * TODO: [🛠] Actions, instruments (and maybe knowledge) => Functions and tools
42
42
  */
@@ -1,5 +1,5 @@
1
- import type { UserInterfaceTools } from '../../../execution/UserInterfaceTools';
2
- import type { UserInterfaceToolsPromptDialogOptions } from '../../../execution/UserInterfaceTools';
1
+ import type { UserInterfaceTools } from '../../execution/UserInterfaceTools';
2
+ import type { UserInterfaceToolsPromptDialogOptions } from '../../execution/UserInterfaceTools';
3
3
  import type { CallbackInterfaceToolsOptions } from './CallbackInterfaceToolsOptions';
4
4
  /**
5
5
  * Delagates the user interaction to a async callback function
@@ -1,12 +1,12 @@
1
1
  import type { Promisable } from 'type-fest';
2
- import type { CommonExecutionToolsOptions } from '../../../execution/CommonExecutionToolsOptions';
3
- import type { UserInterfaceToolsPromptDialogOptions } from '../../../execution/UserInterfaceTools';
2
+ import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
3
+ import type { UserInterfaceToolsPromptDialogOptions } from '../../execution/UserInterfaceTools';
4
4
  /**
5
5
  * Options for `CallbackInterfaceTools`
6
6
  *
7
7
  * @public exported from `@promptbook/core`
8
8
  */
9
- export type CallbackInterfaceToolsOptions = CommonExecutionToolsOptions & {
9
+ export type CallbackInterfaceToolsOptions = CommonToolsOptions & {
10
10
  /**
11
11
  * The callback function to be called when promptDialog is called
12
12
  */
@@ -1,6 +1,6 @@
1
- import type { CommonExecutionToolsOptions } from '../../../execution/CommonExecutionToolsOptions';
2
- import type { UserInterfaceTools } from '../../../execution/UserInterfaceTools';
3
- import type { UserInterfaceToolsPromptDialogOptions } from '../../../execution/UserInterfaceTools';
1
+ import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
2
+ import type { UserInterfaceTools } from '../../execution/UserInterfaceTools';
3
+ import type { UserInterfaceToolsPromptDialogOptions } from '../../execution/UserInterfaceTools';
4
4
  /**
5
5
  * Wrapper around `window.prompt` synchronous function that interacts with the user via browser prompt
6
6
  *
@@ -10,13 +10,13 @@ import type { UserInterfaceToolsPromptDialogOptions } from '../../../execution/U
10
10
  * @public exported from `@promptbook/browser`
11
11
  */
12
12
  export declare class SimplePromptInterfaceTools implements UserInterfaceTools {
13
- protected readonly options: CommonExecutionToolsOptions;
14
- constructor(options?: CommonExecutionToolsOptions);
13
+ protected readonly options: CommonToolsOptions;
14
+ constructor(options?: CommonToolsOptions);
15
15
  /**
16
16
  * Trigger window.DIALOG TEMPLATE
17
17
  */
18
18
  promptDialog(options: UserInterfaceToolsPromptDialogOptions): Promise<string>;
19
19
  }
20
20
  /**
21
- * Note: [🔵] This code should never be published outside of `@promptbook/browser`
21
+ * Note: [🔵] Code in this file should never be published outside of `@promptbook/browser`
22
22
  */
@@ -0,0 +1,11 @@
1
+ /**
2
+ * This error indicates problems parsing the format value
3
+ *
4
+ * For example, when the format value is not a valid JSON or CSV
5
+ * This is not thrown directly but in extended classes
6
+ *
7
+ * @public exported from `@promptbook/core`
8
+ */
9
+ export declare class AbstractFormatError extends Error {
10
+ constructor(message: string);
11
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * This error indicates that the promptbook can not retrieve knowledge from external sources
3
+ *
4
+ * @public exported from `@promptbook/core`
5
+ */
6
+ export declare class KnowledgeScrapeError extends Error {
7
+ readonly name = "KnowledgeScrapeError";
8
+ constructor(message: string);
9
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * This error type indicates that some tools are missing for pipeline execution or preparation
3
+ *
4
+ * @public exported from `@promptbook/core`
5
+ */
6
+ export declare class MissingToolsError extends Error {
7
+ readonly name = "MissingToolsError";
8
+ constructor(message: string);
9
+ }
@@ -0,0 +1,12 @@
1
+ import type { Executables } from '../execution/Executables';
2
+ import type { PrepareAndScrapeOptions } from '../prepare/PrepareAndScrapeOptions';
3
+ /**
4
+ * @@@
5
+ *
6
+ * @public exported from `@promptbook/node`
7
+ */
8
+ export declare function $provideExecutablesForNode(options?: PrepareAndScrapeOptions): Promise<Executables>;
9
+ /**
10
+ * TODO: [🧠] Allow to override the executables without need to call `locatePandoc` / `locateLibreoffice` in case of provided
11
+ * Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
12
+ */
@@ -0,0 +1,11 @@
1
+ import type { string_executable_path } from '../../types/typeAliases';
2
+ /**
3
+ * @@@
4
+ *
5
+ * @private within the repository
6
+ */
7
+ export declare function locateLibreoffice(): Promise<string_executable_path>;
8
+ /**
9
+ * TODO: [🧠][♿] Maybe export through `@promptbook/node` OR `@promptbook/legacy-documents`
10
+ * Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
11
+ */
@@ -0,0 +1,11 @@
1
+ import type { string_executable_path } from '../../types/typeAliases';
2
+ /**
3
+ * @@@
4
+ *
5
+ * @private within the repository
6
+ */
7
+ export declare function locatePandoc(): Promise<string_executable_path>;
8
+ /**
9
+ * TODO: [🧠][♿] Maybe export through `@promptbook/node` OR `@promptbook/documents`
10
+ * Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
11
+ */
@@ -0,0 +1,33 @@
1
+ import type { RequireAtLeastOne } from 'type-fest';
2
+ import type { string_executable_path } from '../types/typeAliases';
3
+ /**
4
+ * Options for locating any application
5
+ */
6
+ export interface LocateAppOptions {
7
+ /**
8
+ * Name of the application
9
+ */
10
+ appName: string;
11
+ /**
12
+ * Name of the executable on Linux
13
+ */
14
+ linuxWhich?: string;
15
+ /**
16
+ * Path suffix on Windows
17
+ */
18
+ windowsSuffix?: string;
19
+ /**
20
+ * Name of the application on macOS
21
+ */
22
+ macOsName?: string;
23
+ }
24
+ /**
25
+ * Locates an application on the system
26
+ *
27
+ * @private within the repository
28
+ */
29
+ export declare function locateApp(options: RequireAtLeastOne<LocateAppOptions, 'linuxWhich' | 'windowsSuffix' | 'macOsName'>): Promise<string_executable_path>;
30
+ /**
31
+ * TODO: [🧠][♿] Maybe export through `@promptbook/node`
32
+ * Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
33
+ */
@@ -0,0 +1,12 @@
1
+ import type { LocateAppOptions } from '../locateApp';
2
+ import type { string_executable_path } from '../../types/typeAliases';
3
+ /**
4
+ * @@@
5
+ *
6
+ * @private within the repository
7
+ */
8
+ export declare function locateAppOnLinux({ appName, linuxWhich, }: Pick<Required<LocateAppOptions>, 'appName' | 'linuxWhich'>): Promise<string_executable_path>;
9
+ /**
10
+ * TODO: [🧠][♿] Maybe export through `@promptbook/node`
11
+ * Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
12
+ */
@@ -0,0 +1,12 @@
1
+ import type { string_executable_path } from '../../types/typeAliases';
2
+ import type { LocateAppOptions } from '../locateApp';
3
+ /**
4
+ * @@@
5
+ *
6
+ * @private within the repository
7
+ */
8
+ export declare function locateAppOnMacOs({ appName, macOsName, }: Pick<Required<LocateAppOptions>, 'appName' | 'macOsName'>): Promise<string_executable_path>;
9
+ /**
10
+ * TODO: [🧠][♿] Maybe export through `@promptbook/node`
11
+ * Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
12
+ */
@@ -0,0 +1,12 @@
1
+ import type { string_executable_path } from '../../types/typeAliases';
2
+ import type { LocateAppOptions } from '../locateApp';
3
+ /**
4
+ * @@@
5
+ *
6
+ * @private within the repository
7
+ */
8
+ export declare function locateAppOnWindows({ appName, windowsSuffix, }: Pick<Required<LocateAppOptions>, 'appName' | 'windowsSuffix'>): Promise<string_executable_path>;
9
+ /**
10
+ * TODO: [🧠][♿] Maybe export through `@promptbook/node`
11
+ * Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
12
+ */
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Note: Keep it public to allow people to make their own execution tools
5
5
  */
6
- export type CommonExecutionToolsOptions = {
6
+ export type CommonToolsOptions = {
7
7
  /**
8
8
  * If true, the internal executions will be logged
9
9
  */
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Represents a vector in an latent space of the embedding model
3
3
  */
4
- export type EmbeddingVector = Array<number>;
4
+ export type EmbeddingVector = ReadonlyArray<number>;
5
5
  /**
6
6
  * TODO: Figure out how to use NPM package xyzt
7
7
  * Not using IVectorData due to HUGE dimensionality
@@ -0,0 +1,18 @@
1
+ import type { string_executable_path } from '../types/typeAliases';
2
+ /**
3
+ * Paths to the external programs executables
4
+ */
5
+ export type Executables = {
6
+ /**
7
+ * Path to the `pandoc` executable
8
+ *
9
+ * @example 'C:/Users/me/AppData/Local/Pandoc/pandoc.exe'
10
+ */
11
+ pandocPath?: string_executable_path;
12
+ /**
13
+ * Path to the LibreOffice executable
14
+ *
15
+ * @example 'C:/Program Files/LibreOffice/program/swriter.exe'
16
+ */
17
+ libreOfficePath?: string_executable_path;
18
+ };
@@ -1,4 +1,7 @@
1
+ import type { Scraper } from '../scrapers/_common/Scraper';
1
2
  import type { Arrayable } from '../types/Arrayable';
3
+ import type { Executables } from './Executables';
4
+ import type { FilesystemTools } from './FilesystemTools';
2
5
  import type { LlmExecutionTools } from './LlmExecutionTools';
3
6
  import type { ScriptExecutionTools } from './ScriptExecutionTools';
4
7
  import type { UserInterfaceTools } from './UserInterfaceTools';
@@ -9,28 +12,51 @@ import type { UserInterfaceTools } from './UserInterfaceTools';
9
12
  */
10
13
  export type ExecutionTools = {
11
14
  /**
12
- * Tools for executing prompts to large language models like GPT-4
15
+ * Tools for executing prompts in large language models
13
16
  *
14
- * Tip: Use `createLlmToolsFromEnv()` to use all available LLM providers you configured
15
- * @see https://github.com/webgptorg/promptbook/?tab=readme-ov-file#llm-execution-tools
17
+ * Tip: Use `$provideLlmToolsFromEnv` to use all available LLM providers you configured
18
+ *
19
+ * @default [] - If not provided, no LLM execution will be possible - it does not make sense in most cases
20
+ */
21
+ readonly llm?: Arrayable<LlmExecutionTools>;
22
+ /**
23
+ * Tools for filesystem operations
24
+ *
25
+ * Tip: Use `$provideFilesystemForNode` to use filesystem in Node.js
26
+ *
27
+ * @default undefined - If not provided, no filesystem operations will be possible
28
+ */
29
+ readonly fs?: FilesystemTools;
30
+ /**
31
+ * Scrapers for extracting knowledge from external sources
32
+ *
33
+ * Tip: Use `$provideExecutablesForNode`
34
+ *
35
+ * @default [] - If not provided, no external knowledge extraction will be possible
36
+ */
37
+ readonly executables?: Executables;
38
+ /**
39
+ * Scrapers for extracting knowledge from external sources
40
+ *
41
+ * Tip: Use `$provideScrapersForNode` OR `$provideScrapersForBrowser` to use all available scrapers
42
+ *
43
+ * @default [] - If not provided, no external knowledge extraction will be possible
16
44
  */
17
- llm?: Arrayable<LlmExecutionTools>;
45
+ readonly scrapers?: Arrayable<Scraper>;
18
46
  /**
19
47
  * Tools for executing scripts
20
48
  *
21
49
  * Note: You can pass multiple ScriptExecutionTools, they will be tried one by one until one of them supports the script
22
50
  * If none of them supports the script, an error is thrown
23
- * Tip: Use here `new JavascriptExecutionTools()`
51
+ * Tip: Use here `new JavascriptExecutionTools`
24
52
  *
25
- * @see https://github.com/webgptorg/promptbook/?tab=readme-ov-file#script-execution-tools
26
53
  * @default [] - If not provided, no script execution will be possible
27
54
  */
28
- script?: Arrayable<ScriptExecutionTools>;
55
+ readonly script?: Arrayable<ScriptExecutionTools>;
29
56
  /**
30
57
  * Tools for interacting with the user
31
58
  *
32
59
  * Note: When undefined, the user interface is disabled and promptbook which requires user interaction will fail
33
- * @see https://github.com/webgptorg/promptbook/?tab=readme-ov-file#user-interface-tools
34
60
  */
35
- userInterface?: UserInterfaceTools;
61
+ readonly userInterface?: UserInterfaceTools;
36
62
  };
@@ -0,0 +1,9 @@
1
+ /// <reference types="node" />
2
+ import type fs from 'fs/promises';
3
+ /**
4
+ * Container for all the tools needed to manipulate with filesystem
5
+ */
6
+ export type FilesystemTools = Pick<typeof fs, 'access' | 'constants' | 'readFile' | 'stat' | 'readdir'>;
7
+ /**
8
+ * TODO: Implement destroyable pattern to free resources
9
+ */
@@ -37,7 +37,7 @@ export type LlmExecutionTools = {
37
37
  /**
38
38
  * List all available models that can be used
39
39
  */
40
- listModels(): Promisable<Array<AvailableModel>>;
40
+ listModels(): Promisable<ReadonlyArray<AvailableModel>>;
41
41
  /**
42
42
  * Calls a chat model
43
43
  */
@@ -52,7 +52,7 @@ export type LlmExecutionTools = {
52
52
  callEmbeddingModel?(prompt: Prompt): Promise<EmbeddingPromptResult>;
53
53
  };
54
54
  /**
55
- * TODO: Implement destroyable pattern to free resources
55
+ * TODO: [🍚] Implement destroyable pattern to free resources
56
56
  * TODO: [🏳] Add `callTranslationModel`
57
57
  * TODO: [🧠] Emulation of one type of model with another one - emuate chat with completion; emulate translation with chat
58
58
  * TODO: [🍓][♐] Some heuristic to pick the best model in listed models
@@ -14,5 +14,6 @@ export type PipelineExecutor = {
14
14
  (inputParameters: Parameters, onProgress?: (taskProgress: TaskProgress) => Promisable<void>): Promise<PipelineExecutorResult>;
15
15
  };
16
16
  /**
17
+ * TODO: [🐚] Change onProgress to object that represents the running execution, can be subscribed via RxJS to and also awaited
17
18
  * TODO: [🧠] Should this file be in /execution or /types folder?
18
19
  */
@@ -27,11 +27,11 @@ export type PipelineExecutorResult = {
27
27
  /**
28
28
  * Errors that occured during the execution, details are aviable in `executionReport`
29
29
  */
30
- readonly errors: ReadonlyDeep<Array<ErrorJson>>;
30
+ readonly errors: ReadonlyDeep<ReadonlyArray<ErrorJson>>;
31
31
  /**
32
32
  * Warnings that occured during the execution, details are aviable in `executionReport`
33
33
  */
34
- readonly warnings: ReadonlyDeep<Array<ErrorJson>>;
34
+ readonly warnings: ReadonlyDeep<ReadonlyArray<ErrorJson>>;
35
35
  /**
36
36
  * The report of the execution with all details
37
37
  */
@@ -1,4 +1,4 @@
1
- import type { PipelineExecutor } from './PipelineExecutor';
1
+ import type { PipelineExecutorResult } from './PipelineExecutorResult';
2
2
  /**
3
3
  * Asserts that the execution of a Promptbook is successful
4
4
  *
@@ -6,7 +6,8 @@ import type { PipelineExecutor } from './PipelineExecutor';
6
6
  * @throws {PipelineExecutionError} If the execution is not successful or if multiple errors occurred
7
7
  * @public exported from `@promptbook/core`
8
8
  */
9
- export declare function assertsExecutionSuccessful(executionResult: Pick<Awaited<ReturnType<PipelineExecutor>>, 'isSuccessful' | 'errors'>): void;
9
+ export declare function assertsExecutionSuccessful(executionResult: Pick<PipelineExecutorResult, 'isSuccessful' | 'errors'>): void;
10
10
  /**
11
+ * TODO: [🐚] This function should be removed OR changed OR be completely rewritten
11
12
  * TODO: [🧠] Can this return type be better typed than void
12
13
  */