@promptbook/openai 0.70.0-1 → 0.71.0-12

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 (237) hide show
  1. package/README.md +87 -121
  2. package/esm/index.es.js +203 -16
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/promptbook-collection/index.d.ts +0 -3
  5. package/esm/typings/src/_packages/browser.index.d.ts +3 -1
  6. package/esm/typings/src/_packages/cli.index.d.ts +20 -0
  7. package/esm/typings/src/_packages/core.index.d.ts +45 -15
  8. package/esm/typings/src/_packages/documents.index.d.ts +8 -0
  9. package/esm/typings/src/_packages/legacy-documents.index.d.ts +8 -0
  10. package/esm/typings/src/_packages/markdown-utils.index.d.ts +6 -0
  11. package/esm/typings/src/_packages/node.index.d.ts +14 -6
  12. package/esm/typings/src/_packages/pdf.index.d.ts +8 -0
  13. package/esm/typings/src/_packages/types.index.d.ts +53 -25
  14. package/esm/typings/src/_packages/utils.index.d.ts +4 -4
  15. package/esm/typings/src/_packages/website-crawler.index.d.ts +8 -0
  16. package/esm/typings/src/cli/cli-commands/about.d.ts +1 -1
  17. package/esm/typings/src/cli/cli-commands/hello.d.ts +2 -1
  18. package/esm/typings/src/cli/cli-commands/make.d.ts +2 -2
  19. package/esm/typings/src/cli/cli-commands/prettify.d.ts +2 -1
  20. package/esm/typings/src/cli/cli-commands/test-command.d.ts +13 -0
  21. package/esm/typings/src/cli/main.d.ts +1 -1
  22. package/esm/typings/src/cli/promptbookCli.d.ts +1 -1
  23. package/esm/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +11 -6
  24. package/esm/typings/src/collection/constructors/createCollectionFromUrl.d.ts +1 -1
  25. package/esm/typings/src/commands/EXPECT/expectCommandParser.d.ts +1 -1
  26. package/esm/typings/src/commands/FOREACH/ForeachCommand.d.ts +3 -7
  27. package/esm/typings/src/commands/FOREACH/ForeachJson.d.ts +27 -0
  28. package/esm/typings/src/commands/FOREACH/foreachCommandParser.d.ts +2 -3
  29. package/esm/typings/src/commands/FORMAT/formatCommandParser.d.ts +1 -1
  30. package/esm/typings/src/commands/JOKER/jokerCommandParser.d.ts +1 -1
  31. package/esm/typings/src/commands/KNOWLEDGE/knowledgeCommandParser.d.ts +1 -1
  32. package/esm/typings/src/commands/KNOWLEDGE/utils/sourceContentToName.d.ts +11 -0
  33. package/esm/typings/src/commands/KNOWLEDGE/utils/sourceContentToName.test.d.ts +4 -0
  34. package/esm/typings/src/commands/MODEL/modelCommandParser.d.ts +1 -1
  35. package/esm/typings/src/commands/PARAMETER/parameterCommandParser.d.ts +1 -1
  36. package/esm/typings/src/commands/PERSONA/personaCommandParser.d.ts +1 -1
  37. package/esm/typings/src/commands/POSTPROCESS/postprocessCommandParser.d.ts +1 -1
  38. package/esm/typings/src/commands/PROMPTBOOK_VERSION/promptbookVersionCommandParser.d.ts +1 -1
  39. package/esm/typings/src/commands/TEMPLATE/templateCommandParser.d.ts +1 -1
  40. package/esm/typings/src/commands/URL/urlCommandParser.d.ts +1 -1
  41. package/esm/typings/src/commands/X_ACTION/actionCommandParser.d.ts +1 -1
  42. package/esm/typings/src/commands/X_INSTRUMENT/instrumentCommandParser.d.ts +1 -1
  43. package/esm/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +1 -1
  44. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +4 -4
  45. package/esm/typings/src/config.d.ts +32 -3
  46. package/esm/typings/src/conversion/pipelineStringToJson.d.ts +4 -15
  47. package/esm/typings/src/conversion/pipelineStringToJsonSync.d.ts +1 -1
  48. package/esm/typings/src/conversion/prettify/renderPipelineMermaidOptions.d.ts +3 -0
  49. package/esm/typings/src/conversion/utils/extractParameterNamesFromTemplate.d.ts +2 -1
  50. package/esm/typings/src/conversion/validation/_importPipeline.d.ts +1 -1
  51. package/esm/typings/src/conversion/validation/validatePipeline.d.ts +10 -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 +5 -5
  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/execution/{CommonExecutionToolsOptions.d.ts → CommonToolsOptions.d.ts} +1 -1
  59. package/esm/typings/src/execution/ExecutionTools.d.ts +20 -8
  60. package/esm/typings/src/execution/PipelineExecutor.d.ts +1 -0
  61. package/esm/typings/src/execution/PipelineExecutorResult.d.ts +9 -8
  62. package/esm/typings/src/execution/createPipelineExecutor/$OngoingTemplateResult.d.ts +45 -0
  63. package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorOptions.d.ts +23 -0
  64. package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorSettings.d.ts +29 -0
  65. package/esm/typings/src/execution/createPipelineExecutor/00-createPipelineExecutor.d.ts +13 -0
  66. package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +58 -0
  67. package/esm/typings/src/execution/createPipelineExecutor/20-executeTemplate.d.ts +60 -0
  68. package/esm/typings/src/execution/createPipelineExecutor/30-executeFormatSubvalues.d.ts +15 -0
  69. package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +69 -0
  70. package/esm/typings/src/execution/createPipelineExecutor/filterJustOutputParameters.d.ts +34 -0
  71. package/esm/typings/src/execution/createPipelineExecutor/getContextForTemplate.d.ts +10 -0
  72. package/esm/typings/src/execution/createPipelineExecutor/getKnowledgeForTemplate.d.ts +27 -0
  73. package/esm/typings/src/execution/createPipelineExecutor/getReservedParametersForTemplate.d.ts +30 -0
  74. package/esm/typings/src/execution/createPipelineExecutor/getSamplesForTemplate.d.ts +10 -0
  75. package/esm/typings/src/execution/embeddingVectorToString.d.ts +1 -1
  76. package/esm/typings/src/execution/translation/automatic-translate/translateMessages.d.ts +3 -0
  77. package/esm/typings/src/execution/utils/$provideExecutionToolsForNode.d.ts +13 -0
  78. package/esm/typings/src/execution/utils/checkExpectations.d.ts +2 -0
  79. package/esm/typings/src/execution/utils/forEachAsync.d.ts +1 -0
  80. package/esm/typings/src/execution/utils/usageToHuman.d.ts +3 -4
  81. package/esm/typings/src/formats/_common/FormatDefinition.d.ts +14 -15
  82. package/esm/typings/src/formats/_common/FormatSubvalueDefinition.d.ts +31 -0
  83. package/esm/typings/src/formats/csv/{ListFormatDefinition.d.ts → CsvFormatDefinition.d.ts} +6 -3
  84. package/esm/typings/src/formats/csv/CsvFormatError.d.ts +10 -0
  85. package/esm/typings/src/formats/csv/CsvSettings.d.ts +13 -0
  86. package/esm/typings/src/formats/index.d.ts +1 -1
  87. package/esm/typings/src/formats/json/JsonFormatDefinition.d.ts +4 -3
  88. package/esm/typings/src/formats/text/TextFormatDefinition.d.ts +19 -0
  89. package/esm/typings/src/formats/xml/XmlFormatDefinition.d.ts +4 -3
  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/{getLlmToolsForCli.d.ts → register/$provideLlmToolsForCli.d.ts} +4 -3
  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/register/$provideLlmToolsFromEnv.d.ts +27 -0
  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} +5 -4
  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} +5 -4
  101. package/esm/typings/src/llm-providers/_common/utils/cache/CacheItem.d.ts +1 -1
  102. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +2 -1
  103. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +3 -3
  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/createAnthropicClaudeExecutionTools.d.ts +2 -2
  106. package/esm/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +3 -2
  107. package/esm/typings/src/llm-providers/anthropic-claude/register-configuration.d.ts +4 -3
  108. package/esm/typings/src/llm-providers/anthropic-claude/register-constructor.d.ts +4 -3
  109. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +8 -1
  110. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +2 -2
  111. package/esm/typings/src/llm-providers/azure-openai/playground/playground.d.ts +1 -0
  112. package/esm/typings/src/llm-providers/azure-openai/register-configuration.d.ts +4 -3
  113. package/esm/typings/src/llm-providers/azure-openai/register-constructor.d.ts +4 -3
  114. package/esm/typings/src/llm-providers/langtail/playground/playground.d.ts +3 -0
  115. package/esm/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +2 -2
  116. package/esm/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +2 -2
  117. package/esm/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +1 -0
  118. package/esm/typings/src/llm-providers/multiple/playground/playground.d.ts +3 -0
  119. package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +2 -1
  120. package/esm/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +2 -2
  121. package/esm/typings/src/llm-providers/openai/playground/playground.d.ts +2 -1
  122. package/esm/typings/src/llm-providers/openai/register-configuration.d.ts +4 -3
  123. package/esm/typings/src/llm-providers/openai/register-constructor.d.ts +4 -3
  124. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_ListModels_Request.d.ts +1 -1
  125. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Request.d.ts +1 -1
  126. package/esm/typings/src/llm-providers/remote/interfaces/RemoteLlmExecutionToolsOptions.d.ts +3 -3
  127. package/esm/typings/src/llm-providers/remote/interfaces/RemoteServerOptions.d.ts +2 -2
  128. package/esm/typings/src/llm-providers/remote/playground/playground.d.ts +3 -0
  129. package/esm/typings/src/personas/preparePersona.d.ts +4 -3
  130. package/esm/typings/src/prepare/PrepareAndScrapeOptions.d.ts +68 -0
  131. package/esm/typings/src/prepare/isPipelinePrepared.d.ts +1 -1
  132. package/esm/typings/src/prepare/preparePipeline.d.ts +3 -2
  133. package/esm/typings/src/prepare/prepareTemplates.d.ts +4 -3
  134. package/esm/typings/src/scrapers/_common/Converter.d.ts +22 -0
  135. package/esm/typings/src/scrapers/_common/Scraper.d.ts +66 -0
  136. package/esm/typings/src/scrapers/_common/ScraperIntermediateSource.d.ts +11 -0
  137. package/esm/typings/src/{knowledge/prepare-knowledge → scrapers}/_common/prepareKnowledgePieces.d.ts +5 -4
  138. package/esm/typings/src/scrapers/_common/register/$provideScrapersForBrowser.d.ts +12 -0
  139. package/esm/typings/src/scrapers/_common/register/$provideScrapersForNode.d.ts +15 -0
  140. package/esm/typings/src/scrapers/_common/register/$registeredScrapersMessage.d.ts +12 -0
  141. package/esm/typings/src/scrapers/_common/register/$scrapersMetadataRegister.d.ts +13 -0
  142. package/esm/typings/src/scrapers/_common/register/$scrapersRegister.d.ts +13 -0
  143. package/esm/typings/src/scrapers/_common/register/ScraperAndConverterMetadata.d.ts +41 -0
  144. package/esm/typings/src/scrapers/_common/register/ScraperConstructor.d.ts +12 -0
  145. package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.d.ts +33 -0
  146. package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.test.d.ts +4 -0
  147. package/esm/typings/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +13 -0
  148. package/esm/typings/src/scrapers/document/DocumentScraper.d.ts +43 -0
  149. package/esm/typings/src/scrapers/document/DocumentScraper.test.d.ts +4 -0
  150. package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +20 -0
  151. package/esm/typings/src/scrapers/document/playground/document-scraper-playground.d.ts +5 -0
  152. package/esm/typings/src/scrapers/document/register-constructor.d.ts +13 -0
  153. package/esm/typings/src/scrapers/document/register-metadata.d.ts +24 -0
  154. package/esm/typings/src/scrapers/document-legacy/LegacyDocumentScraper.d.ts +43 -0
  155. package/esm/typings/src/scrapers/document-legacy/LegacyDocumentScraper.test.d.ts +4 -0
  156. package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +20 -0
  157. package/esm/typings/src/scrapers/document-legacy/playground/legacy-document-scraper-playground.d.ts +5 -0
  158. package/esm/typings/src/scrapers/document-legacy/register-constructor.d.ts +13 -0
  159. package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +24 -0
  160. package/esm/typings/src/scrapers/markdown/MarkdownScraper.d.ts +29 -0
  161. package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +20 -0
  162. package/esm/typings/src/scrapers/markdown/playground/markdown-scraper-playground.d.ts +5 -0
  163. package/esm/typings/src/scrapers/markdown/register-constructor.d.ts +13 -0
  164. package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +24 -0
  165. package/esm/typings/src/scrapers/pdf/PdfScraper.d.ts +40 -0
  166. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +20 -0
  167. package/esm/typings/src/scrapers/pdf/playground/pdf-scraper-playground.d.ts +5 -0
  168. package/esm/typings/src/scrapers/pdf/register-constructor.d.ts +13 -0
  169. package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +24 -0
  170. package/esm/typings/src/scrapers/website/WebsiteScraper.d.ts +47 -0
  171. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +20 -0
  172. package/esm/typings/src/scrapers/website/playground/website-scraper-playground.d.ts +5 -0
  173. package/esm/typings/src/scrapers/website/register-constructor.d.ts +13 -0
  174. package/esm/typings/src/scrapers/website/register-metadata.d.ts +24 -0
  175. package/esm/typings/src/scrapers/website/utils/markdownConverter.d.ts +12 -0
  176. package/esm/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +2 -2
  177. package/esm/typings/src/scripting/python/PythonExecutionTools.d.ts +2 -2
  178. package/esm/typings/src/scripting/typescript/TypescriptExecutionTools.d.ts +2 -2
  179. package/esm/typings/src/storage/{files-storage/FilesStorage.d.ts → file-cache-storage/FileCacheStorage.d.ts} +4 -4
  180. package/esm/typings/src/storage/file-cache-storage/FileCacheStorageOptions.d.ts +10 -0
  181. package/esm/typings/src/storage/{files-storage → file-cache-storage}/utils/nameToSubfolderPath.d.ts +1 -1
  182. package/esm/typings/src/storage/local-storage/getLocalStorage.d.ts +1 -1
  183. package/esm/typings/src/storage/local-storage/getSessionStorage.d.ts +1 -1
  184. package/esm/typings/src/storage/{utils → memory/utils}/PrefixStorage.d.ts +1 -1
  185. package/esm/typings/src/storage/{utils → memory/utils}/makePromptbookStorageFromWebStorage.d.ts +1 -1
  186. package/esm/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +9 -2
  187. package/esm/typings/src/types/PipelineJson/ParameterJson.d.ts +1 -0
  188. package/esm/typings/src/types/PipelineJson/PipelineJson.d.ts +3 -3
  189. package/esm/typings/src/types/PipelineJson/TemplateJsonCommon.d.ts +5 -0
  190. package/esm/typings/src/types/execution-report/executionReportJsonToString.d.ts +2 -1
  191. package/esm/typings/src/types/typeAliases.d.ts +16 -12
  192. package/esm/typings/src/utils/$Register.d.ts +19 -6
  193. package/esm/typings/src/utils/execCommand/$execCommand.d.ts +14 -0
  194. package/esm/typings/src/utils/execCommand/$execCommands.d.ts +17 -0
  195. package/esm/typings/src/utils/execCommand/IExecCommandOptions.d.ts +23 -0
  196. package/esm/typings/src/utils/execCommand/execCommandNormalizeOptions.d.ts +10 -0
  197. package/esm/typings/src/utils/expectation-counters/index.d.ts +3 -0
  198. package/esm/typings/src/utils/files/$isDirectoryExisting.d.ts +3 -3
  199. package/esm/typings/src/utils/files/$isFileExisting.d.ts +3 -3
  200. package/esm/typings/src/utils/files/$listAllFiles.d.ts +5 -4
  201. package/esm/typings/src/utils/files/extensionToMimeType.d.ts +8 -0
  202. package/esm/typings/src/utils/files/getFileExtension.d.ts +8 -0
  203. package/esm/typings/src/utils/files/getFileExtension.test.d.ts +1 -0
  204. package/esm/typings/src/utils/organization/{f.d.ts → empty_object.d.ts} +5 -1
  205. package/esm/typings/src/utils/organization/just_empty_object.d.ts +12 -0
  206. package/esm/typings/src/utils/{extractParameterNames.d.ts → parameters/extractParameterNames.d.ts} +2 -2
  207. package/esm/typings/src/utils/parameters/extractParameterNames.test.d.ts +1 -0
  208. package/esm/typings/src/utils/parameters/mapAvailableToExpectedParameters.d.ts +27 -0
  209. package/esm/typings/src/utils/parameters/mapAvailableToExpectedParameters.test.d.ts +1 -0
  210. package/esm/typings/src/utils/{replaceParameters.d.ts → parameters/replaceParameters.d.ts} +2 -2
  211. package/esm/typings/src/utils/parameters/replaceParameters.test.d.ts +1 -0
  212. package/esm/typings/src/utils/serialization/checkSerializableAsJson.d.ts +1 -1
  213. package/esm/typings/src/utils/serialization/isSerializableAsJson.d.ts +1 -1
  214. package/esm/typings/src/utils/validators/filePath/isValidFilePath.d.ts +2 -2
  215. package/esm/typings/src/utils/validators/parameterName/validateParameterName.d.ts +10 -0
  216. package/esm/typings/src/utils/validators/parameterName/validateParameterName.test.d.ts +1 -0
  217. package/package.json +17 -13
  218. package/umd/index.umd.js +203 -16
  219. package/umd/index.umd.js.map +1 -1
  220. package/esm/typings/src/execution/createPipelineExecutor.d.ts +0 -72
  221. package/esm/typings/src/formats/list/ListFormatDefinition.d.ts +0 -16
  222. package/esm/typings/src/knowledge/prepare-knowledge/_common/Scraper.d.ts +0 -37
  223. package/esm/typings/src/knowledge/prepare-knowledge/markdown/playground/markdown-knowledge-playground.d.ts +0 -2
  224. package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +0 -14
  225. package/esm/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +0 -15
  226. package/esm/typings/src/llm-providers/_common/createLlmToolsFromEnv.d.ts +0 -25
  227. package/esm/typings/src/prepare/PrepareOptions.d.ts +0 -22
  228. package/esm/typings/src/storage/files-storage/FilesStorageOptions.d.ts +0 -10
  229. /package/esm/typings/src/{knowledge/dialogs → dialogs}/user-interface-execution-tools.test.d.ts +0 -0
  230. /package/esm/typings/src/{knowledge/prepare-knowledge → scrapers}/_common/prepareKnowledgePieces.test.d.ts +0 -0
  231. /package/esm/typings/src/{knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.test.d.ts → scrapers/markdown/MarkdownScraper.test.d.ts} +0 -0
  232. /package/esm/typings/src/{execution/utils/usageToHuman.test.d.ts → scrapers/website/WebsiteScraper.test.d.ts} +0 -0
  233. /package/esm/typings/src/{knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.test.d.ts → scrapers/website/utils/markdownConverter.test.d.ts} +0 -0
  234. /package/esm/typings/src/storage/{files-storage → file-cache-storage}/utils/nameToSubfolderPath.test.d.ts +0 -0
  235. /package/esm/typings/src/{personas/preparePersona.test.d.ts → utils/execCommand/execCommand.test.d.ts} +0 -0
  236. /package/esm/typings/src/utils/{extractParameterNames.test.d.ts → execCommand/execCommandNormalizeOptions.test.d.ts} +0 -0
  237. /package/esm/typings/src/utils/{replaceParameters.test.d.ts → files/extensionToMimeType.test.d.ts} +0 -0
@@ -1,5 +1,5 @@
1
1
  import type { ClientOptions } from 'openai';
2
- import type { CommonExecutionToolsOptions } from '../../execution/CommonExecutionToolsOptions';
2
+ import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
3
3
  import type { string_token } from '../../types/typeAliases';
4
4
  /**
5
5
  * Options for `OpenAiExecutionTools`
@@ -9,7 +9,7 @@ import type { string_token } from '../../types/typeAliases';
9
9
  *
10
10
  * @public exported from `@promptbook/openai`
11
11
  */
12
- export type OpenAiExecutionToolsOptions = CommonExecutionToolsOptions & ClientOptions & {
12
+ export type OpenAiExecutionToolsOptions = CommonToolsOptions & ClientOptions & {
13
13
  /**
14
14
  * A unique identifier representing your end-user, which can help OpenAI to monitor
15
15
  * and detect abuse.
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env ts-node
2
2
  export {};
3
3
  /**
4
- * TODO: !!! Test here that `systemMessage`, `temperature` and `seed` are working correctly
4
+ * TODO: [main] !!! Test here that `systemMessage`, `temperature` and `seed` are working correctly
5
+ * Note: [⚫] Code in this file should never be published in any package
5
6
  */
@@ -1,9 +1,10 @@
1
+ import type { Registration } from '../../utils/$Register';
1
2
  /**
2
- * @@@ registration1 of default configuration for Open AI
3
+ * Registration of LLM provider metadata
3
4
  *
4
- * Note: [🏐] Configurations registrations are done in @@@ BUT constructor @@@
5
+ * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
5
6
  *
6
7
  * @public exported from `@promptbook/core`
7
8
  * @public exported from `@promptbook/cli`
8
9
  */
9
- export declare const _OpenAiMetadataRegistration: void;
10
+ export declare const _OpenAiMetadataRegistration: Registration;
@@ -1,12 +1,13 @@
1
+ import type { Registration } from '../../utils/$Register';
1
2
  /**
2
- * @@@ registration2
3
+ * Registration of LLM provider
3
4
  *
4
- * Note: [🏐] Configurations registrations are done in @@@ BUT constructor @@@
5
+ * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
5
6
  *
6
7
  * @public exported from `@promptbook/openai`
7
8
  * @public exported from `@promptbook/cli`
8
9
  */
9
- export declare const _OpenAiRegistration: void;
10
+ export declare const _OpenAiRegistration: Registration;
10
11
  /**
11
12
  * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
12
13
  */
@@ -1,4 +1,4 @@
1
- import type { LlmToolsConfiguration } from '../../_common/LlmToolsConfiguration';
1
+ import type { LlmToolsConfiguration } from '../../_common/register/LlmToolsConfiguration';
2
2
  /**
3
3
  * Socket.io progress for remote text generation
4
4
  *
@@ -1,6 +1,6 @@
1
1
  import type { Prompt } from '../../../types/Prompt';
2
2
  import type { string_user_id } from '../../../types/typeAliases';
3
- import type { LlmToolsConfiguration } from '../../_common/LlmToolsConfiguration';
3
+ import type { LlmToolsConfiguration } from '../../_common/register/LlmToolsConfiguration';
4
4
  /**
5
5
  * Socket.io progress for remote text generation
6
6
  *
@@ -1,14 +1,14 @@
1
- import type { CommonExecutionToolsOptions } from '../../../execution/CommonExecutionToolsOptions';
1
+ import type { CommonToolsOptions } from '../../../execution/CommonToolsOptions';
2
2
  import type { string_base_url } from '../../../types/typeAliases';
3
3
  import type { string_uri } from '../../../types/typeAliases';
4
4
  import type { string_user_id } from '../../../types/typeAliases';
5
- import type { LlmToolsConfiguration } from '../../_common/LlmToolsConfiguration';
5
+ import type { LlmToolsConfiguration } from '../../_common/register/LlmToolsConfiguration';
6
6
  /**
7
7
  * Options for `RemoteLlmExecutionTools`
8
8
  *
9
9
  * @public exported from `@promptbook/remote-client`
10
10
  */
11
- export type RemoteLlmExecutionToolsOptions = CommonExecutionToolsOptions & {
11
+ export type RemoteLlmExecutionToolsOptions = CommonToolsOptions & {
12
12
  /**
13
13
  * URL of the remote PROMPTBOOK server
14
14
  * On this server will be connected to the socket.io server
@@ -1,5 +1,5 @@
1
1
  import type { PipelineCollection } from '../../../collection/PipelineCollection';
2
- import type { CommonExecutionToolsOptions } from '../../../execution/CommonExecutionToolsOptions';
2
+ import type { CommonToolsOptions } from '../../../execution/CommonToolsOptions';
3
3
  import type { LlmExecutionTools } from '../../../execution/LlmExecutionTools';
4
4
  import type { string_uri } from '../../../types/typeAliases';
5
5
  import type { string_user_id } from '../../../types/typeAliases';
@@ -17,7 +17,7 @@ import type { string_user_id } from '../../../types/typeAliases';
17
17
  * @public exported from `@promptbook/remote-client`
18
18
  * @public exported from `@promptbook/remote-server`
19
19
  */
20
- export type RemoteServerOptions = CommonExecutionToolsOptions & {
20
+ export type RemoteServerOptions = CommonToolsOptions & {
21
21
  /**
22
22
  * Port on which the server will listen
23
23
  */
@@ -1,2 +1,5 @@
1
1
  #!/usr/bin/env ts-node
2
2
  import '../../openai/register-constructor';
3
+ /**
4
+ * Note: [⚫] Code in this file should never be published in any package
5
+ */
@@ -1,4 +1,5 @@
1
- import type { PrepareOptions } from '../prepare/PrepareOptions';
1
+ import type { ExecutionTools } from '../execution/ExecutionTools';
2
+ import type { PrepareAndScrapeOptions } from '../prepare/PrepareAndScrapeOptions';
2
3
  import type { PersonaPreparedJson } from '../types/PipelineJson/PersonaJson';
3
4
  import type { string_persona_description } from '../types/typeAliases';
4
5
  /**
@@ -7,9 +8,9 @@ import type { string_persona_description } from '../types/typeAliases';
7
8
  * @see https://github.com/webgptorg/promptbook/discussions/22
8
9
  * @public exported from `@promptbook/core`
9
10
  */
10
- export declare function preparePersona(personaDescription: string_persona_description, options: PrepareOptions): Promise<PersonaPreparedJson['modelRequirements']>;
11
+ export declare function preparePersona(personaDescription: string_persona_description, tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions): Promise<PersonaPreparedJson['modelRequirements']>;
11
12
  /**
12
- * TODO: [🔃] !!!!! If the persona was prepared with different version or different set of models, prepare it once again
13
+ * TODO: [🔃][main] !!!!! If the persona was prepared with different version or different set of models, prepare it once again
13
14
  * TODO: [🏢] !! Check validity of `modelName` in pipeline
14
15
  * TODO: [🏢] !! Check validity of `systemMessage` in pipeline
15
16
  * TODO: [🏢] !! Check validity of `temperature` in pipeline
@@ -0,0 +1,68 @@
1
+ import type { string_dirname } from '../types/typeAliases';
2
+ /**
3
+ * Options for preparation of the pipeline
4
+ */
5
+ export type PrepareAndScrapeOptions = {
6
+ /**
7
+ * Path to the root folder of the pipeline
8
+ *
9
+ * Note: When the pipeline is not created from files, it is `null`
10
+ * Note: This folder must exist (=it is not created recursively)
11
+ *
12
+ * @default process.cwd()
13
+ */
14
+ readonly rootDirname?: string_dirname | null;
15
+ /**
16
+ * Path to the cache folder
17
+ *
18
+ * Note: When the folder does not exist, it is created recursively
19
+ *
20
+ * @default SCRAPE_CACHE_DIRNAME
21
+ */
22
+ readonly cacheDirname?: string_dirname;
23
+ /**
24
+ * If true, the cache is cleaned after the scraping
25
+ *
26
+ *
27
+ * @default false // <- TODO: !!!!!! Change to `cacheStrategy`/`intermediateFiles`, Put to global config, change to `true` and explicitly set to `false` in all playgrounds
28
+ */
29
+ readonly isCacheCleaned?: boolean;
30
+ /**
31
+ * Maximum number of tasks running in parallel
32
+ *
33
+ * @default MAX_PARALLEL_COUNT
34
+ */
35
+ readonly maxParallelCount?: number;
36
+ /**
37
+ * Path to the external programs executables
38
+ *
39
+ * TODO: !!!!!! Transform to scrapers and make them Classy
40
+ */
41
+ readonly externalProgramsPaths?: {
42
+ /**
43
+ * Path to the `pandoc` executable
44
+ *
45
+ * @example 'C:/Users/me/AppData/Local/Pandoc/pandoc.exe'
46
+ */
47
+ readonly pandocPath?: string;
48
+ /**
49
+ * Path to the LibreOffice executable
50
+ *
51
+ * @example 'C:/Program Files/LibreOffice/program/swriter.exe'
52
+ */
53
+ readonly libreOfficePath?: string;
54
+ };
55
+ /**
56
+ * If true, the missing software is automatically installed
57
+ */
58
+ readonly isAutoInstalled?: boolean;
59
+ /**
60
+ * If true, the preparation logs additional information
61
+ *
62
+ * @default false
63
+ */
64
+ readonly isVerbose?: boolean;
65
+ };
66
+ /**
67
+ * TODO: [🧠] Maybe split `PrepareAndScrapeOptions` and `ScrapeOptions` (`ScrapeOptions` should be extended from `PrepareAndScrapeOptions`)
68
+ */
@@ -6,7 +6,7 @@ import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
6
6
  */
7
7
  export declare function isPipelinePrepared(pipeline: PipelineJson): boolean;
8
8
  /**
9
- * TODO: [🔃] !!!!! If the pipeline was prepared with different version or different set of models, prepare it once again
9
+ * TODO: [🔃][main] !!!!! If the pipeline was prepared with different version or different set of models, prepare it once again
10
10
  * TODO: [🐠] Maybe base this on `makeValidator`
11
11
  * TODO: [🧊] Pipeline can be partially prepared, this should return true ONLY if fully prepared
12
12
  * TODO: [🧿] Maybe do same process with same granularity and subfinctions as `preparePipeline`
@@ -1,5 +1,6 @@
1
+ import type { ExecutionTools } from '../execution/ExecutionTools';
1
2
  import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
2
- import type { PrepareOptions } from './PrepareOptions';
3
+ import type { PrepareAndScrapeOptions } from './PrepareAndScrapeOptions';
3
4
  /**
4
5
  * Prepare pipeline from string (markdown) format to JSON format
5
6
  *
@@ -8,7 +9,7 @@ import type { PrepareOptions } from './PrepareOptions';
8
9
  * Note: When the pipeline is already prepared, it returns the same pipeline
9
10
  * @public exported from `@promptbook/core`
10
11
  */
11
- export declare function preparePipeline(pipeline: PipelineJson, options: PrepareOptions): Promise<PipelineJson>;
12
+ export declare function preparePipeline(pipeline: PipelineJson, tools: Pick<ExecutionTools, 'llm' | 'scrapers'>, options: PrepareAndScrapeOptions): Promise<PipelineJson>;
12
13
  /**
13
14
  * TODO: Write tests for `preparePipeline`
14
15
  * TODO: [🏏] Leverage the batch API and build queues @see https://platform.openai.com/docs/guides/batch
@@ -1,6 +1,7 @@
1
+ import type { ExecutionTools } from '../execution/ExecutionTools';
1
2
  import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
2
3
  import type { TemplateJson } from '../types/PipelineJson/TemplateJson';
3
- import type { PrepareOptions } from './PrepareOptions';
4
+ import type { PrepareAndScrapeOptions } from './PrepareAndScrapeOptions';
4
5
  type PrepareTemplateInput = Pick<PipelineJson, 'templates' | 'parameters'> & {
5
6
  /**
6
7
  * @@@
@@ -18,12 +19,12 @@ type PreparedTemplates = {
18
19
  *
19
20
  * @public exported from `@promptbook/core`
20
21
  */
21
- export declare function prepareTemplates(pipeline: PrepareTemplateInput, options: PrepareOptions): Promise<PreparedTemplates>;
22
+ export declare function prepareTemplates(pipeline: PrepareTemplateInput, tools: Pick<ExecutionTools, 'llm' | 'scrapers'>, options: PrepareAndScrapeOptions): Promise<PreparedTemplates>;
22
23
  export {};
23
24
  /**
24
25
  * TODO: [🧠] Add context to each template (if missing)
25
26
  * TODO: [🧠] What is better name `prepareTemplate` or `prepareTemplateAndParameters`
26
- * TODO: [♨] !!! Prepare index the samples and maybe templates
27
+ * TODO: [♨][main] !!! Prepare index the samples and maybe templates
27
28
  * TODO: Write tests for `preparePipeline`
28
29
  * TODO: [🏏] Leverage the batch API and build queues @see https://platform.openai.com/docs/guides/batch
29
30
  * TODO: [🧊] In future one preparation can take data from previous preparation and save tokens and time
@@ -0,0 +1,22 @@
1
+ import type { ScraperAndConverterMetadata } from './register/ScraperAndConverterMetadata';
2
+ import type { ScraperSourceHandler } from './Scraper';
3
+ import type { ScraperIntermediateSource } from './ScraperIntermediateSource';
4
+ /**
5
+ * @@@
6
+ *
7
+ */
8
+ export type Converter = {
9
+ /**
10
+ * Metadata of the converter which includes title, mime types, etc.
11
+ */
12
+ readonly metadata: ScraperAndConverterMetadata;
13
+ /**
14
+ * Convert the the file and returns intermediate source or `null` if it can't convert it
15
+ *
16
+ * For example, convert a `.docx` to `.doc` file
17
+ * Or convert a `.pdf` to `.md` file
18
+ *
19
+ * Note: `$` is used to indicate that this function is not a pure function - it leaves files on the disk and you are responsible for cleaning them by calling `destroy` method of returned object
20
+ */
21
+ $convert(source: ScraperSourceHandler): Promise<ScraperIntermediateSource>;
22
+ };
@@ -0,0 +1,66 @@
1
+ import type { Promisable } from 'type-fest';
2
+ import type { KnowledgePiecePreparedJson } from '../../types/PipelineJson/KnowledgePieceJson';
3
+ import type { string_filename } from '../../types/typeAliases';
4
+ import type { string_knowledge_source_link } from '../../types/typeAliases';
5
+ import type { string_mime_type } from '../../types/typeAliases';
6
+ import type { string_url } from '../../types/typeAliases';
7
+ import type { ScraperAndConverterMetadata } from './register/ScraperAndConverterMetadata';
8
+ /**
9
+ * @@@
10
+ *
11
+ */
12
+ export type Scraper = {
13
+ /**
14
+ * Metadata of the scraper which includes title, mime types, etc.
15
+ */
16
+ readonly metadata: ScraperAndConverterMetadata;
17
+ /**
18
+ * Scrapes the markdown file and returns the knowledge pieces or `null` if it can't scrape it
19
+ */
20
+ scrape(source: ScraperSourceHandler): Promisable<Array<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
21
+ };
22
+ /**
23
+ * @@@
24
+ */
25
+ export type ScraperSourceHandler = {
26
+ /**
27
+ * The source of the knowledge
28
+ */
29
+ readonly source: string_knowledge_source_link;
30
+ /**
31
+ * The path to the file, if it is a file
32
+ *
33
+ * Note: Typically one of the `filename` or `url` is set and the other is `null`
34
+ */
35
+ readonly filename: string_filename | null;
36
+ /**
37
+ * The URL, if it is online
38
+ *
39
+ * Note: Typically one of the `filename` or `url` is set and the other is `null`
40
+ */
41
+ readonly url: string_url | null;
42
+ /**
43
+ * Mime type of the source
44
+ */
45
+ readonly mimeType: string_mime_type;
46
+ /**
47
+ * Get the content as parsed JSON
48
+ */
49
+ asJson(): Promisable<unknown>;
50
+ /**
51
+ * Get the content as a utf-8 string
52
+ */
53
+ asText(): Promisable<string>;
54
+ /**
55
+ * Get the content as a blob
56
+ */
57
+ asBlob(): Promisable<Blob>;
58
+ };
59
+ /**
60
+ * TODO: [🐝] @@@ Annotate all
61
+ * TODO: [🔼] Export via types
62
+ */
63
+ /**
64
+ * TODO: !!!!!! Test that this is catched
65
+ * Note: [⚫] Code in this file should never be published in any package
66
+ */
@@ -0,0 +1,11 @@
1
+ import type { IDestroyable } from 'destroyable';
2
+ import type { string_absolute_filename } from '../../types/typeAliases';
3
+ /**
4
+ * @@@
5
+ */
6
+ export type ScraperIntermediateSource = IDestroyable & {
7
+ /**
8
+ * @@@
9
+ */
10
+ readonly filename: string_absolute_filename;
11
+ };
@@ -1,13 +1,14 @@
1
- import type { PrepareOptions } from '../../../prepare/PrepareOptions';
2
- import type { KnowledgePiecePreparedJson } from '../../../types/PipelineJson/KnowledgePieceJson';
3
- import type { KnowledgeSourceJson } from '../../../types/PipelineJson/KnowledgeSourceJson';
1
+ import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
2
+ import type { KnowledgePiecePreparedJson } from '../../types/PipelineJson/KnowledgePieceJson';
3
+ import type { KnowledgeSourceJson } from '../../types/PipelineJson/KnowledgeSourceJson';
4
+ import type { ExecutionTools } from '../../execution/ExecutionTools';
4
5
  /**
5
6
  * Prepares the knowle
6
7
  *
7
8
  * @see https://github.com/webgptorg/promptbook/discussions/41
8
9
  * @public exported from `@promptbook/core`
9
10
  */
10
- export declare function prepareKnowledgePieces(knowledgeSources: Array<KnowledgeSourceJson>, options: PrepareOptions): Promise<Array<Omit<KnowledgePiecePreparedJson, 'preparationIds'>>>;
11
+ export declare function prepareKnowledgePieces(knowledgeSources: Array<KnowledgeSourceJson>, tools: Pick<ExecutionTools, 'llm' | 'scrapers'>, options: PrepareAndScrapeOptions): Promise<Array<Omit<KnowledgePiecePreparedJson, 'preparationIds'>>>;
11
12
  /**
12
13
  * TODO: [🧊] In future one preparation can take data from previous preparation and save tokens and time
13
14
  * Put `knowledgePieces` into `PrepareKnowledgeOptions`
@@ -0,0 +1,12 @@
1
+ import type { ExecutionTools } from '../../../execution/ExecutionTools';
2
+ import type { PrepareAndScrapeOptions } from '../../../prepare/PrepareAndScrapeOptions';
3
+ import type { Scraper } from '../Scraper';
4
+ /**
5
+ * @@@!!!!!!
6
+ *
7
+ * 1) @@@
8
+ * 2) @@@
9
+ *
10
+ * @public exported from `@promptbook/browser`
11
+ */
12
+ export declare function $provideScrapersForBrowser(tools: Pick<ExecutionTools, 'llm'>, options?: PrepareAndScrapeOptions): Promise<Array<Scraper>>;
@@ -0,0 +1,15 @@
1
+ import type { ExecutionTools } from '../../../execution/ExecutionTools';
2
+ import type { PrepareAndScrapeOptions } from '../../../prepare/PrepareAndScrapeOptions';
3
+ import type { Scraper } from '../Scraper';
4
+ /**
5
+ * !!!!!!
6
+ *
7
+ * 1) @@@
8
+ * 2) @@@
9
+ *
10
+ * @public exported from `@promptbook/node`
11
+ */
12
+ export declare function $provideScrapersForNode(tools: Pick<ExecutionTools, 'llm'>, options?: PrepareAndScrapeOptions): Promise<Array<Scraper>>;
13
+ /**
14
+ * Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
15
+ */
@@ -0,0 +1,12 @@
1
+ import type { string_markdown } from '../../../types/typeAliases';
2
+ /**
3
+ * Creates a message with all registered scrapers
4
+ *
5
+ * Note: This function is used to create a (error) message when there is no scraper for particular mime type
6
+ *
7
+ * @private internal function of `createScrapersFromConfiguration` and `createScrapersFromEnv`
8
+ */
9
+ export declare function $registeredScrapersMessage(): string_markdown;
10
+ /**
11
+ * TODO: [®] DRY Register logic
12
+ */
@@ -0,0 +1,13 @@
1
+ import { $Register } from '../../../utils/$Register';
2
+ import type { ScraperAndConverterMetadata } from './ScraperAndConverterMetadata';
3
+ /**
4
+ * @@@
5
+ *
6
+ * Note: `$` is used to indicate that this interacts with the global scope
7
+ * @singleton Only one instance of each register is created per build, but thare can be more @@@
8
+ * @public exported from `@promptbook/core`
9
+ */
10
+ export declare const $scrapersMetadataRegister: $Register<ScraperAndConverterMetadata>;
11
+ /**
12
+ * TODO: [®] DRY Register logic
13
+ */
@@ -0,0 +1,13 @@
1
+ import { $Register } from '../../../utils/$Register';
2
+ import type { ScraperConstructor } from './ScraperConstructor';
3
+ /**
4
+ * @@@
5
+ *
6
+ * Note: `$` is used to indicate that this interacts with the global scope
7
+ * @singleton Only one instance of each register is created per build, but thare can be more @@@
8
+ * @public exported from `@promptbook/core`
9
+ */
10
+ export declare const $scrapersRegister: $Register<ScraperConstructor>;
11
+ /**
12
+ * TODO: [®] DRY Register logic
13
+ */
@@ -0,0 +1,41 @@
1
+ import type { string_mime_type } from '../../../types/typeAliases';
2
+ import type { string_promptbook_documentation_url } from '../../../types/typeAliases';
3
+ import type { string_title } from '../../../types/typeAliases';
4
+ import type { Registered } from '../../../utils/$Register';
5
+ import type { TODO_any } from '../../../utils/organization/TODO_any';
6
+ /**
7
+ * @@@
8
+ *
9
+ * @@@
10
+ * x) `Scraper`
11
+ * x) `Converter`
12
+ * x) `ScraperConstructor`
13
+ * x) `Registered`
14
+ * x) `ExecutionTools`
15
+ * x) `ScraperAndConverterMetadata`
16
+ * x) `PrepareAndScrapeOptions`
17
+ * x) `ScraperConfiguration`
18
+ * x) `ScraperOptions`
19
+ */
20
+ export type ScraperAndConverterMetadata = Registered & {
21
+ /**
22
+ * @@@
23
+ */
24
+ readonly title: string_title;
25
+ /**
26
+ * Mime types that this scraper can handle
27
+ */
28
+ readonly mimeTypes: ReadonlyArray<string_mime_type>;
29
+ /**
30
+ * @@@
31
+ */
32
+ readonly isAvilableInBrowser: boolean;
33
+ /**
34
+ * @@@
35
+ */
36
+ readonly requiredExecutables: TODO_any;
37
+ /**
38
+ * Link to documentation
39
+ */
40
+ readonly documentationUrl: string_promptbook_documentation_url;
41
+ };
@@ -0,0 +1,12 @@
1
+ import type { ExecutionTools } from '../../../execution/ExecutionTools';
2
+ import type { PrepareAndScrapeOptions } from '../../../prepare/PrepareAndScrapeOptions';
3
+ import type { Registered } from '../../../utils/$Register';
4
+ import type { Scraper } from '../Scraper';
5
+ import type { ScraperAndConverterMetadata } from './ScraperAndConverterMetadata';
6
+ /**
7
+ * @@@
8
+ */
9
+ export type ScraperConstructor = Registered & ScraperAndConverterMetadata & ((tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions) => Scraper);
10
+ /**
11
+ * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
12
+ */
@@ -0,0 +1,33 @@
1
+ import type { PrepareAndScrapeOptions } from '../../../prepare/PrepareAndScrapeOptions';
2
+ import type { string_file_extension } from '../../../types/typeAliases';
3
+ import type { ScraperSourceHandler } from '../Scraper';
4
+ import type { ScraperIntermediateSource } from '../ScraperIntermediateSource';
5
+ /**
6
+ * @@@
7
+ *
8
+ * @private internal utility of `getScraperIntermediateSource`
9
+ */
10
+ type GetScraperIntermediateSourceSource = Pick<ScraperSourceHandler, 'filename' | 'url'>;
11
+ /**
12
+ * @@@
13
+ *
14
+ * @private internal utility of `getScraperIntermediateSource`
15
+ */
16
+ type GetScraperIntermediateSourceHandler = Required<Pick<PrepareAndScrapeOptions, 'rootDirname' | 'cacheDirname' | 'isCacheCleaned' | 'isVerbose'>> & {
17
+ readonly extension: string_file_extension;
18
+ };
19
+ /**
20
+ * Create a filename for intermediate cache for scrapers
21
+ *
22
+ * Note: It also checks if directory exists and creates it if not
23
+ *
24
+ * @private as internal utility for scrapers
25
+ */
26
+ export declare function getScraperIntermediateSource(source: GetScraperIntermediateSourceSource, options: GetScraperIntermediateSourceHandler): Promise<ScraperIntermediateSource>;
27
+ export {};
28
+ /**
29
+ * Note: Not using `FileCacheStorage` for two reasons:
30
+ * 1) Need to store more than serialized JSONs
31
+ * 2) Need to switch between a `rootDirname` and `cacheDirname` <- TODO: !!!!
32
+ * TODO: [🐱‍🐉][🧠] Make some smart crop
33
+ */
@@ -0,0 +1,4 @@
1
+ export {};
2
+ /**
3
+ * TODO: [🐱‍🐉][🧠] Make some smart crop
4
+ */
@@ -0,0 +1,13 @@
1
+ import type { SetOptional } from 'type-fest';
2
+ import type { PrepareAndScrapeOptions } from '../../../prepare/PrepareAndScrapeOptions';
3
+ import type { KnowledgeSourceJson } from '../../../types/PipelineJson/KnowledgeSourceJson';
4
+ import type { ScraperSourceHandler } from '../Scraper';
5
+ /**
6
+ * @@@
7
+ *
8
+ * @private for scraper utilities
9
+ */
10
+ export declare function makeKnowledgeSourceHandler(knowledgeSource: SetOptional<KnowledgeSourceJson, 'name'>, options?: Pick<PrepareAndScrapeOptions, 'rootDirname' | 'isVerbose'>): Promise<ScraperSourceHandler>;
11
+ /**
12
+ * TODO: !!!!!!! Maybe constrain to @promptbook/node bundle
13
+ */
@@ -0,0 +1,43 @@
1
+ import type { KnowledgePiecePreparedJson } from '../../types/PipelineJson/KnowledgePieceJson';
2
+ import type { ExecutionTools } from '../../execution/ExecutionTools';
3
+ import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
4
+ import type { Converter } from '../_common/Converter';
5
+ import type { ScraperAndConverterMetadata } from '../_common/register/ScraperAndConverterMetadata';
6
+ import type { Scraper } from '../_common/Scraper';
7
+ import type { ScraperSourceHandler } from '../_common/Scraper';
8
+ import type { ScraperIntermediateSource } from '../_common/ScraperIntermediateSource';
9
+ /**
10
+ * Scraper of .docx and .odt files
11
+ *
12
+ * @see `documentationUrl` for more details
13
+ * @public exported from `@promptbook/documents`
14
+ */
15
+ export declare class DocumentScraper implements Converter, Scraper {
16
+ private readonly tools;
17
+ private readonly options;
18
+ /**
19
+ * Metadata of the scraper which includes title, mime types, etc.
20
+ */
21
+ get metadata(): ScraperAndConverterMetadata;
22
+ /**
23
+ * Markdown scraper is used internally
24
+ */
25
+ private readonly markdownScraper;
26
+ constructor(tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions);
27
+ /**
28
+ * Convert the `.docx` or `.odt` to `.md` file and returns intermediate source
29
+ *
30
+ * Note: `$` is used to indicate that this function is not a pure function - it leaves files on the disk and you are responsible for cleaning them by calling `destroy` method of returned object
31
+ */
32
+ $convert(source: ScraperSourceHandler): Promise<ScraperIntermediateSource>;
33
+ /**
34
+ * Scrapes the docx file and returns the knowledge pieces or `null` if it can't scrape it
35
+ */
36
+ scrape(source: ScraperSourceHandler): Promise<Array<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
37
+ }
38
+ /**
39
+ * TODO: [👣] Converted documents can act as cached items - there is no need to run conversion each time
40
+ * TODO: [🪂] Do it in parallel 11:11
41
+ * Note: No need to aggregate usage here, it is done by intercepting the llmTools
42
+ * Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
43
+ */
@@ -0,0 +1,4 @@
1
+ export {};
2
+ /**
3
+ * TODO: [📓] Maybe test all file in samples (not just 10-simple.docx)
4
+ */
@@ -0,0 +1,20 @@
1
+ import type { ExecutionTools } from '../../execution/ExecutionTools';
2
+ import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
3
+ import { DocumentScraper } from './DocumentScraper';
4
+ /**
5
+ * @@@
6
+ *
7
+ * @public exported from `@promptbook/documents`
8
+ */
9
+ export declare const createDocumentScraper: ((tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions) => DocumentScraper) & import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
10
+ title: string;
11
+ packageName: string;
12
+ className: string;
13
+ mimeTypes: string[];
14
+ documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
15
+ isAvilableInBrowser: false;
16
+ requiredExecutables: string[];
17
+ }>;
18
+ /**
19
+ * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
20
+ */