@promptbook/browser 0.72.0-1 → 0.72.0-11

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 (210) hide show
  1. package/README.md +10 -0
  2. package/esm/index.es.js +50 -6
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/src/_packages/browser.index.d.ts +3 -1
  5. package/esm/typings/src/_packages/cli.index.d.ts +20 -0
  6. package/esm/typings/src/_packages/core.index.d.ts +38 -14
  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 +16 -6
  11. package/esm/typings/src/_packages/pdf.index.d.ts +8 -0
  12. package/esm/typings/src/_packages/types.index.d.ts +49 -27
  13. package/esm/typings/src/_packages/website-crawler.index.d.ts +8 -0
  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/constructors/createCollectionFromDirectory.d.ts +11 -6
  22. package/esm/typings/src/collection/constructors/createCollectionFromUrl.d.ts +1 -1
  23. package/esm/typings/src/commands/EXPECT/expectCommandParser.d.ts +1 -1
  24. package/esm/typings/src/commands/FOREACH/ForeachJson.d.ts +5 -1
  25. package/esm/typings/src/commands/FOREACH/foreachCommandParser.d.ts +1 -1
  26. package/esm/typings/src/commands/FORMAT/formatCommandParser.d.ts +1 -1
  27. package/esm/typings/src/commands/JOKER/jokerCommandParser.d.ts +1 -1
  28. package/esm/typings/src/commands/KNOWLEDGE/knowledgeCommandParser.d.ts +1 -1
  29. package/esm/typings/src/commands/KNOWLEDGE/utils/sourceContentToName.d.ts +11 -0
  30. package/esm/typings/src/commands/KNOWLEDGE/utils/sourceContentToName.test.d.ts +4 -0
  31. package/esm/typings/src/commands/MODEL/modelCommandParser.d.ts +1 -1
  32. package/esm/typings/src/commands/PARAMETER/parameterCommandParser.d.ts +1 -1
  33. package/esm/typings/src/commands/PERSONA/personaCommandParser.d.ts +1 -1
  34. package/esm/typings/src/commands/POSTPROCESS/postprocessCommandParser.d.ts +1 -1
  35. package/esm/typings/src/commands/PROMPTBOOK_VERSION/promptbookVersionCommandParser.d.ts +1 -1
  36. package/esm/typings/src/commands/TEMPLATE/templateCommandParser.d.ts +1 -1
  37. package/esm/typings/src/commands/URL/urlCommandParser.d.ts +1 -1
  38. package/esm/typings/src/commands/X_ACTION/actionCommandParser.d.ts +1 -1
  39. package/esm/typings/src/commands/X_INSTRUMENT/instrumentCommandParser.d.ts +1 -1
  40. package/esm/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +1 -1
  41. package/esm/typings/src/config.d.ts +16 -0
  42. package/esm/typings/src/conversion/pipelineStringToJson.d.ts +4 -15
  43. package/esm/typings/src/conversion/pipelineStringToJsonSync.d.ts +1 -1
  44. package/esm/typings/src/conversion/validation/_importPipeline.d.ts +1 -1
  45. package/esm/typings/src/conversion/validation/validatePipeline.d.ts +5 -5
  46. package/esm/typings/src/{knowledge/dialogs → dialogs}/callback/CallbackInterfaceTools.d.ts +2 -2
  47. package/esm/typings/src/{knowledge/dialogs → dialogs}/callback/CallbackInterfaceToolsOptions.d.ts +3 -3
  48. package/esm/typings/src/{knowledge/dialogs → dialogs}/simple-prompt/SimplePromptInterfaceTools.d.ts +6 -6
  49. package/esm/typings/src/errors/AbstractFormatError.d.ts +11 -0
  50. package/esm/typings/src/errors/KnowledgeScrapeError.d.ts +9 -0
  51. package/esm/typings/src/errors/MissingToolsError.d.ts +9 -0
  52. package/esm/typings/src/execution/{CommonExecutionToolsOptions.d.ts → CommonToolsOptions.d.ts} +1 -1
  53. package/esm/typings/src/execution/ExecutionTools.d.ts +29 -9
  54. package/esm/typings/src/execution/FilesystemTools.d.ts +9 -0
  55. package/esm/typings/src/execution/PipelineExecutor.d.ts +1 -0
  56. package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorOptions.d.ts +5 -2
  57. package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorSettings.d.ts +2 -13
  58. package/esm/typings/src/execution/createPipelineExecutor/00-createPipelineExecutor.d.ts +3 -0
  59. package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +4 -1
  60. package/esm/typings/src/execution/createPipelineExecutor/20-executeTemplate.d.ts +4 -6
  61. package/esm/typings/src/execution/createPipelineExecutor/{30-executeFormatCells.d.ts → 30-executeFormatSubvalues.d.ts} +2 -6
  62. package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +1 -6
  63. package/esm/typings/src/execution/embeddingVectorToString.d.ts +1 -1
  64. package/esm/typings/src/execution/translation/automatic-translate/translateMessages.d.ts +4 -0
  65. package/esm/typings/src/execution/utils/$provideExecutionToolsForNode.d.ts +13 -0
  66. package/esm/typings/src/execution/utils/forEachAsync.d.ts +1 -0
  67. package/esm/typings/src/formats/_common/FormatSubvalueDefinition.d.ts +2 -1
  68. package/esm/typings/src/formats/csv/CsvFormatError.d.ts +10 -0
  69. package/esm/typings/src/llm-providers/_common/{$llmToolsMetadataRegister.d.ts → register/$llmToolsMetadataRegister.d.ts} +4 -1
  70. package/esm/typings/src/llm-providers/_common/{$llmToolsRegister.d.ts → register/$llmToolsRegister.d.ts} +5 -2
  71. package/esm/typings/src/llm-providers/_common/{createLlmToolsFromConfigurationFromEnv.d.ts → register/$provideLlmToolsConfigurationFromEnv.d.ts} +3 -3
  72. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForCli.d.ts +15 -0
  73. package/esm/typings/src/llm-providers/_common/{getLlmToolsForTestingAndScriptsAndPlayground.d.ts → register/$provideLlmToolsForTestingAndScriptsAndPlayground.d.ts} +4 -3
  74. package/esm/typings/src/llm-providers/_common/{createLlmToolsFromEnv.d.ts → register/$provideLlmToolsFromEnv.d.ts} +6 -5
  75. package/esm/typings/src/llm-providers/_common/{$registeredLlmToolsMessage.d.ts → register/$registeredLlmToolsMessage.d.ts} +5 -2
  76. package/esm/typings/src/llm-providers/_common/{LlmToolsConfiguration.d.ts → register/LlmToolsConfiguration.d.ts} +5 -4
  77. package/esm/typings/src/llm-providers/_common/{LlmToolsMetadata.d.ts → register/LlmToolsMetadata.d.ts} +5 -4
  78. package/esm/typings/src/llm-providers/_common/{LlmToolsOptions.d.ts → register/LlmToolsOptions.d.ts} +4 -1
  79. package/esm/typings/src/llm-providers/_common/{createLlmToolsFromConfiguration.d.ts → register/createLlmToolsFromConfiguration.d.ts} +5 -4
  80. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +5 -5
  81. package/esm/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +3 -2
  82. package/esm/typings/src/llm-providers/anthropic-claude/register-configuration.d.ts +4 -3
  83. package/esm/typings/src/llm-providers/anthropic-claude/register-constructor.d.ts +4 -3
  84. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +6 -0
  85. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +4 -3
  86. package/esm/typings/src/llm-providers/azure-openai/playground/playground.d.ts +1 -0
  87. package/esm/typings/src/llm-providers/azure-openai/register-configuration.d.ts +4 -3
  88. package/esm/typings/src/llm-providers/azure-openai/register-constructor.d.ts +4 -3
  89. package/esm/typings/src/llm-providers/langtail/LangtailExecutionTools.d.ts +1 -1
  90. package/esm/typings/src/llm-providers/langtail/playground/playground.d.ts +3 -0
  91. package/esm/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +3 -3
  92. package/esm/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +3 -3
  93. package/esm/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +1 -0
  94. package/esm/typings/src/llm-providers/multiple/playground/playground.d.ts +3 -0
  95. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +1 -1
  96. package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +1 -1
  97. package/esm/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +4 -4
  98. package/esm/typings/src/llm-providers/openai/playground/playground.d.ts +2 -1
  99. package/esm/typings/src/llm-providers/openai/register-configuration.d.ts +5 -4
  100. package/esm/typings/src/llm-providers/openai/register-constructor.d.ts +5 -4
  101. package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +3 -3
  102. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_ListModels_Request.d.ts +16 -7
  103. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_ListModels_Response.d.ts +2 -2
  104. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Request.d.ts +7 -13
  105. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Response.d.ts +1 -1
  106. package/esm/typings/src/llm-providers/remote/interfaces/RemoteLlmExecutionToolsOptions.d.ts +11 -16
  107. package/esm/typings/src/llm-providers/remote/interfaces/RemoteServerOptions.d.ts +23 -9
  108. package/esm/typings/src/llm-providers/remote/playground/playground.d.ts +3 -0
  109. package/esm/typings/src/llm-providers/remote/startRemoteServer.d.ts +1 -1
  110. package/esm/typings/src/personas/preparePersona.d.ts +3 -2
  111. package/esm/typings/src/prepare/PrepareAndScrapeOptions.d.ts +68 -0
  112. package/esm/typings/src/prepare/preparePipeline.d.ts +3 -2
  113. package/esm/typings/src/prepare/prepareTemplates.d.ts +3 -2
  114. package/esm/typings/src/scrapers/_common/Converter.d.ts +22 -0
  115. package/esm/typings/src/scrapers/_common/Scraper.d.ts +66 -0
  116. package/esm/typings/src/scrapers/_common/ScraperIntermediateSource.d.ts +11 -0
  117. package/esm/typings/src/{knowledge/prepare-knowledge → scrapers}/_common/prepareKnowledgePieces.d.ts +5 -4
  118. package/esm/typings/src/scrapers/_common/register/$provideFilesystemForNode.d.ts +11 -0
  119. package/esm/typings/src/scrapers/_common/register/$provideScrapersForBrowser.d.ts +12 -0
  120. package/esm/typings/src/scrapers/_common/register/$provideScrapersForNode.d.ts +15 -0
  121. package/esm/typings/src/scrapers/_common/register/$registeredScrapersMessage.d.ts +12 -0
  122. package/esm/typings/src/scrapers/_common/register/$scrapersMetadataRegister.d.ts +13 -0
  123. package/esm/typings/src/scrapers/_common/register/$scrapersRegister.d.ts +13 -0
  124. package/esm/typings/src/scrapers/_common/register/ScraperAndConverterMetadata.d.ts +41 -0
  125. package/esm/typings/src/scrapers/_common/register/ScraperConstructor.d.ts +12 -0
  126. package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.d.ts +34 -0
  127. package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.test.d.ts +4 -0
  128. package/esm/typings/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +11 -0
  129. package/esm/typings/src/scrapers/document/DocumentScraper.d.ts +43 -0
  130. package/esm/typings/src/scrapers/document/DocumentScraper.test.d.ts +4 -0
  131. package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +20 -0
  132. package/esm/typings/src/scrapers/document/playground/document-scraper-playground.d.ts +5 -0
  133. package/esm/typings/src/scrapers/document/register-constructor.d.ts +13 -0
  134. package/esm/typings/src/scrapers/document/register-metadata.d.ts +24 -0
  135. package/esm/typings/src/scrapers/document-legacy/LegacyDocumentScraper.d.ts +43 -0
  136. package/esm/typings/src/scrapers/document-legacy/LegacyDocumentScraper.test.d.ts +4 -0
  137. package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +20 -0
  138. package/esm/typings/src/scrapers/document-legacy/playground/legacy-document-scraper-playground.d.ts +5 -0
  139. package/esm/typings/src/scrapers/document-legacy/register-constructor.d.ts +13 -0
  140. package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +24 -0
  141. package/esm/typings/src/scrapers/markdown/MarkdownScraper.d.ts +29 -0
  142. package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +20 -0
  143. package/esm/typings/src/scrapers/markdown/playground/markdown-scraper-playground.d.ts +5 -0
  144. package/esm/typings/src/scrapers/markdown/register-constructor.d.ts +13 -0
  145. package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +24 -0
  146. package/esm/typings/src/scrapers/pdf/PdfScraper.d.ts +40 -0
  147. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +20 -0
  148. package/esm/typings/src/scrapers/pdf/playground/pdf-scraper-playground.d.ts +5 -0
  149. package/esm/typings/src/scrapers/pdf/register-constructor.d.ts +13 -0
  150. package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +24 -0
  151. package/esm/typings/src/scrapers/website/WebsiteScraper.d.ts +47 -0
  152. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +20 -0
  153. package/esm/typings/src/scrapers/website/playground/website-scraper-playground.d.ts +5 -0
  154. package/esm/typings/src/scrapers/website/register-constructor.d.ts +13 -0
  155. package/esm/typings/src/scrapers/website/register-metadata.d.ts +24 -0
  156. package/esm/typings/src/scrapers/website/utils/markdownConverter.d.ts +12 -0
  157. package/esm/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +2 -2
  158. package/esm/typings/src/scripting/python/PythonExecutionTools.d.ts +3 -3
  159. package/esm/typings/src/scripting/typescript/TypescriptExecutionTools.d.ts +3 -3
  160. package/esm/typings/src/storage/{files-storage/FilesStorage.d.ts → file-cache-storage/FileCacheStorage.d.ts} +7 -5
  161. package/esm/typings/src/storage/file-cache-storage/FileCacheStorageOptions.d.ts +10 -0
  162. package/esm/typings/src/storage/{files-storage → file-cache-storage}/utils/nameToSubfolderPath.d.ts +1 -1
  163. package/esm/typings/src/storage/local-storage/getLocalStorage.d.ts +1 -1
  164. package/esm/typings/src/storage/local-storage/getSessionStorage.d.ts +1 -1
  165. package/esm/typings/src/storage/{utils → memory/utils}/PrefixStorage.d.ts +1 -1
  166. package/esm/typings/src/storage/{utils → memory/utils}/makePromptbookStorageFromWebStorage.d.ts +1 -1
  167. package/esm/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +9 -2
  168. package/esm/typings/src/types/PipelineJson/ParameterJson.d.ts +1 -1
  169. package/esm/typings/src/types/PipelineJson/PipelineJson.d.ts +2 -2
  170. package/esm/typings/src/types/Prompt.d.ts +1 -0
  171. package/esm/typings/src/types/execution-report/ExecutionReportJson.d.ts +0 -3
  172. package/esm/typings/src/types/execution-report/executionReportJsonToString.d.ts +2 -1
  173. package/esm/typings/src/types/typeAliases.d.ts +27 -20
  174. package/esm/typings/src/utils/$Register.d.ts +19 -6
  175. package/esm/typings/src/utils/execCommand/$execCommand.d.ts +14 -0
  176. package/esm/typings/src/utils/execCommand/$execCommands.d.ts +17 -0
  177. package/esm/typings/src/utils/execCommand/IExecCommandOptions.d.ts +23 -0
  178. package/esm/typings/src/utils/execCommand/execCommandNormalizeOptions.d.ts +10 -0
  179. package/esm/typings/src/utils/files/extensionToMimeType.d.ts +8 -0
  180. package/esm/typings/src/utils/files/extensionToMimeType.test.d.ts +1 -0
  181. package/esm/typings/src/utils/files/getFileExtension.d.ts +8 -0
  182. package/esm/typings/src/utils/files/getFileExtension.test.d.ts +1 -0
  183. package/esm/typings/src/utils/files/isDirectoryExisting.d.ts +14 -0
  184. package/esm/typings/src/utils/files/isDirectoryExisting.test.d.ts +1 -0
  185. package/esm/typings/src/utils/files/isFileExisting.d.ts +13 -0
  186. package/esm/typings/src/utils/files/isFileExisting.test.d.ts +1 -0
  187. package/esm/typings/src/utils/files/listAllFiles.d.ts +17 -0
  188. package/esm/typings/src/utils/files/listAllFiles.test.d.ts +1 -0
  189. package/esm/typings/src/utils/validators/filePath/isValidFilePath.d.ts +2 -2
  190. package/package.json +2 -2
  191. package/umd/index.umd.js +50 -5
  192. package/umd/index.umd.js.map +1 -1
  193. package/esm/typings/src/knowledge/prepare-knowledge/_common/Scraper.d.ts +0 -37
  194. package/esm/typings/src/knowledge/prepare-knowledge/markdown/playground/markdown-knowledge-playground.d.ts +0 -2
  195. package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +0 -14
  196. package/esm/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +0 -15
  197. package/esm/typings/src/llm-providers/_common/getLlmToolsForCli.d.ts +0 -22
  198. package/esm/typings/src/prepare/PrepareOptions.d.ts +0 -22
  199. package/esm/typings/src/storage/files-storage/FilesStorageOptions.d.ts +0 -10
  200. package/esm/typings/src/utils/files/$isDirectoryExisting.d.ts +0 -15
  201. package/esm/typings/src/utils/files/$isFileExisting.d.ts +0 -14
  202. package/esm/typings/src/utils/files/$listAllFiles.d.ts +0 -17
  203. /package/esm/typings/src/{knowledge/dialogs → dialogs}/user-interface-execution-tools.test.d.ts +0 -0
  204. /package/esm/typings/src/{knowledge/prepare-knowledge → scrapers}/_common/prepareKnowledgePieces.test.d.ts +0 -0
  205. /package/esm/typings/src/{knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.test.d.ts → scrapers/markdown/MarkdownScraper.test.d.ts} +0 -0
  206. /package/esm/typings/src/{knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.test.d.ts → scrapers/website/WebsiteScraper.test.d.ts} +0 -0
  207. /package/esm/typings/src/{storage/files-storage/utils/nameToSubfolderPath.test.d.ts → scrapers/website/utils/markdownConverter.test.d.ts} +0 -0
  208. /package/esm/typings/src/{utils/files/$isDirectoryExisting.test.d.ts → storage/file-cache-storage/utils/nameToSubfolderPath.test.d.ts} +0 -0
  209. /package/esm/typings/src/utils/{files/$isFileExisting.test.d.ts → execCommand/execCommand.test.d.ts} +0 -0
  210. /package/esm/typings/src/utils/{files/$listAllFiles.test.d.ts → execCommand/execCommandNormalizeOptions.test.d.ts} +0 -0
@@ -0,0 +1,24 @@
1
+ import type { Registration } from '../../utils/$Register';
2
+ /**
3
+ * Metadata of the scraper
4
+ *
5
+ * @private within the scraper directory
6
+ */
7
+ export declare const legacyDocumentScraperMetadata: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
8
+ title: string;
9
+ packageName: string;
10
+ className: string;
11
+ mimeTypes: string[];
12
+ documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
13
+ isAvilableInBrowser: false;
14
+ requiredExecutables: string[];
15
+ }>;
16
+ /**
17
+ * Registration of known scraper metadata
18
+ *
19
+ * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available known scrapers
20
+ *
21
+ * @public exported from `@promptbook/core`
22
+ * @public exported from `@promptbook/cli`
23
+ */
24
+ export declare const _LegacyDocumentScraperMetadataRegistration: Registration;
@@ -0,0 +1,29 @@
1
+ import type { KnowledgePiecePreparedJson } from '../../types/PipelineJson/KnowledgePieceJson';
2
+ import type { Scraper } from '../_common/Scraper';
3
+ import type { ScraperSourceHandler } from '../_common/Scraper';
4
+ import type { ExecutionTools } from '../../execution/ExecutionTools';
5
+ import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
6
+ import type { ScraperAndConverterMetadata } from '../_common/register/ScraperAndConverterMetadata';
7
+ /**
8
+ * Scraper for markdown files
9
+ *
10
+ * @see `documentationUrl` for more details
11
+ * @public exported from `@promptbook/markdown-utils`
12
+ */
13
+ export declare class MarkdownScraper implements Scraper {
14
+ private readonly tools;
15
+ private readonly options;
16
+ /**
17
+ * Metadata of the scraper which includes title, mime types, etc.
18
+ */
19
+ get metadata(): ScraperAndConverterMetadata;
20
+ constructor(tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions);
21
+ /**
22
+ * Scrapes the markdown file and returns the knowledge pieces or `null` if it can't scrape it
23
+ */
24
+ scrape(source: ScraperSourceHandler): Promise<Array<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
25
+ }
26
+ /**
27
+ * TODO: [🪂] Do it in parallel 11:11
28
+ * Note: No need to aggregate usage here, it is done by intercepting the llmTools
29
+ */
@@ -0,0 +1,20 @@
1
+ import type { ExecutionTools } from '../../execution/ExecutionTools';
2
+ import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
3
+ import { MarkdownScraper } from './MarkdownScraper';
4
+ /**
5
+ * @@@
6
+ *
7
+ * @public exported from `@promptbook/markdown-utils`
8
+ */
9
+ export declare const createMarkdownScraper: ((tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions) => MarkdownScraper) & 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: true;
16
+ requiredExecutables: string[];
17
+ }>;
18
+ /**
19
+ * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
20
+ */
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ts-node
2
+ export {};
3
+ /**
4
+ * Note: [⚫] Code in this file should never be published in any package
5
+ */
@@ -0,0 +1,13 @@
1
+ import type { Registration } from '../../utils/$Register';
2
+ /**
3
+ * Registration of known scraper
4
+ *
5
+ * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available known scrapers
6
+ *
7
+ * @public exported from `@promptbook/markdown-utils`
8
+ * @public exported from `@promptbook/cli`
9
+ */
10
+ export declare const _MarkdownScraperRegistration: Registration;
11
+ /**
12
+ * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
13
+ */
@@ -0,0 +1,24 @@
1
+ import type { Registration } from '../../utils/$Register';
2
+ /**
3
+ * Metadata of the scraper
4
+ *
5
+ * @private within the scraper directory
6
+ */
7
+ export declare const markdownScraperMetadata: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
8
+ title: string;
9
+ packageName: string;
10
+ className: string;
11
+ mimeTypes: string[];
12
+ documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
13
+ isAvilableInBrowser: true;
14
+ requiredExecutables: string[];
15
+ }>;
16
+ /**
17
+ * Registration of known scraper metadata
18
+ *
19
+ * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available known scrapers
20
+ *
21
+ * @public exported from `@promptbook/core`
22
+ * @public exported from `@promptbook/cli`
23
+ */
24
+ export declare const _MarkdownScraperMetadataRegistration: Registration;
@@ -0,0 +1,40 @@
1
+ import type { KnowledgePiecePreparedJson } from '../../types/PipelineJson/KnowledgePieceJson';
2
+ import type { Scraper } from '../_common/Scraper';
3
+ import type { ScraperSourceHandler } from '../_common/Scraper';
4
+ import type { ExecutionTools } from '../../execution/ExecutionTools';
5
+ import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
6
+ import type { Converter } from '../_common/Converter';
7
+ import type { ScraperAndConverterMetadata } from '../_common/register/ScraperAndConverterMetadata';
8
+ import type { ScraperIntermediateSource } from '../_common/ScraperIntermediateSource';
9
+ /**
10
+ * Scraper for .docx files
11
+ *
12
+ * @see `documentationUrl` for more details
13
+ * @public exported from `@promptbook/pdf`
14
+ */
15
+ export declare class PdfScraper 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
+ * Converts the `.pdf` file to `.md` file and returns intermediate source
29
+ */
30
+ $convert(source: ScraperSourceHandler): Promise<ScraperIntermediateSource>;
31
+ /**
32
+ * Scrapes the `.pdf` file and returns the knowledge pieces or `null` if it can't scrape it
33
+ */
34
+ scrape(source: ScraperSourceHandler): Promise<Array<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
35
+ }
36
+ /**
37
+ * TODO: [👣] Converted pdf documents can act as cached items - there is no need to run conversion each time
38
+ * TODO: [🪂] Do it in parallel 11:11
39
+ * Note: No need to aggregate usage here, it is done by intercepting the llmTools
40
+ */
@@ -0,0 +1,20 @@
1
+ import type { ExecutionTools } from '../../execution/ExecutionTools';
2
+ import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
3
+ import { PdfScraper } from './PdfScraper';
4
+ /**
5
+ * @@@
6
+ *
7
+ * @public exported from `@promptbook/pdf`
8
+ */
9
+ export declare const createPdfScraper: ((tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions) => PdfScraper) & 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: true;
16
+ requiredExecutables: string[];
17
+ }>;
18
+ /**
19
+ * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
20
+ */
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ts-node
2
+ export {};
3
+ /**
4
+ * Note: [⚫] Code in this file should never be published in any package
5
+ */
@@ -0,0 +1,13 @@
1
+ import type { Registration } from '../../utils/$Register';
2
+ /**
3
+ * Registration of known scraper
4
+ *
5
+ * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available known scrapers
6
+ *
7
+ * @public exported from `@promptbook/pdf`
8
+ * @public exported from `@promptbook/cli`
9
+ */
10
+ export declare const _PdfScraperRegistration: Registration;
11
+ /**
12
+ * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
13
+ */
@@ -0,0 +1,24 @@
1
+ import type { Registration } from '../../utils/$Register';
2
+ /**
3
+ * Metadata of the scraper
4
+ *
5
+ * @private within the scraper directory
6
+ */
7
+ export declare const pdfScraperMetadata: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
8
+ title: string;
9
+ packageName: string;
10
+ className: string;
11
+ mimeTypes: string[];
12
+ documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
13
+ isAvilableInBrowser: true;
14
+ requiredExecutables: string[];
15
+ }>;
16
+ /**
17
+ * Registration of known scraper metadata
18
+ *
19
+ * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available known scrapers
20
+ *
21
+ * @public exported from `@promptbook/core`
22
+ * @public exported from `@promptbook/cli`
23
+ */
24
+ export declare const _PdfScraperMetadataRegistration: Registration;
@@ -0,0 +1,47 @@
1
+ import type { KnowledgePiecePreparedJson } from '../../types/PipelineJson/KnowledgePieceJson';
2
+ import type { string_markdown } from '../../types/typeAliases';
3
+ import type { Converter } from '../_common/Converter';
4
+ import type { Scraper } from '../_common/Scraper';
5
+ import type { ScraperSourceHandler } from '../_common/Scraper';
6
+ import type { ExecutionTools } from '../../execution/ExecutionTools';
7
+ import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
8
+ import type { ScraperAndConverterMetadata } from '../_common/register/ScraperAndConverterMetadata';
9
+ import type { ScraperIntermediateSource } from '../_common/ScraperIntermediateSource';
10
+ /**
11
+ * Scraper for .docx files
12
+ *
13
+ * @see `documentationUrl` for more details
14
+ * @public exported from `@promptbook/website-crawler`
15
+ */
16
+ export declare class WebsiteScraper implements Converter, Scraper {
17
+ private readonly tools;
18
+ private readonly options;
19
+ /**
20
+ * Metadata of the scraper which includes title, mime types, etc.
21
+ */
22
+ get metadata(): ScraperAndConverterMetadata;
23
+ /**
24
+ * Markdown scraper is used internally
25
+ */
26
+ private readonly markdownScraper;
27
+ constructor(tools: Pick<ExecutionTools, 'fs' | 'llm'>, options: PrepareAndScrapeOptions);
28
+ /**
29
+ * Convert the website to `.md` file and returns intermediate source
30
+ *
31
+ * 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
32
+ */
33
+ $convert(source: ScraperSourceHandler): Promise<ScraperIntermediateSource & {
34
+ markdown: string_markdown;
35
+ }>;
36
+ /**
37
+ * Scrapes the website and returns the knowledge pieces or `null` if it can't scrape it
38
+ */
39
+ scrape(source: ScraperSourceHandler): Promise<Array<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
40
+ }
41
+ /**
42
+ * TODO: !!!!!! Put into separate package
43
+ * TODO: [👣] Scraped website in .md can act as cache item - there is no need to run conversion each time
44
+ * TODO: [🪂] Do it in parallel 11:11
45
+ * Note: No need to aggregate usage here, it is done by intercepting the llmTools
46
+ * Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
47
+ */
@@ -0,0 +1,20 @@
1
+ import type { ExecutionTools } from '../../execution/ExecutionTools';
2
+ import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
3
+ import { WebsiteScraper } from './WebsiteScraper';
4
+ /**
5
+ * @@@
6
+ *
7
+ * @public exported from `@promptbook/website-crawler`
8
+ */
9
+ export declare const createWebsiteScraper: ((tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions) => WebsiteScraper) & 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
+ */
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ts-node
2
+ export {};
3
+ /**
4
+ * Note: [⚫] Code in this file should never be published in any package
5
+ */
@@ -0,0 +1,13 @@
1
+ import type { Registration } from '../../utils/$Register';
2
+ /**
3
+ * Registration of known scraper
4
+ *
5
+ * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available known scrapers
6
+ *
7
+ * @public exported from `@promptbook/website-crawler`
8
+ * @public exported from `@promptbook/cli`
9
+ */
10
+ export declare const _WebsiteScraperRegistration: Registration;
11
+ /**
12
+ * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
13
+ */
@@ -0,0 +1,24 @@
1
+ import type { Registration } from '../../utils/$Register';
2
+ /**
3
+ * Metadata of the scraper
4
+ *
5
+ * @private within the scraper directory
6
+ */
7
+ export declare const websiteScraperMetadata: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
8
+ title: string;
9
+ packageName: string;
10
+ className: string;
11
+ mimeTypes: string[];
12
+ documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
13
+ isAvilableInBrowser: false;
14
+ requiredExecutables: string[];
15
+ }>;
16
+ /**
17
+ * Registration of known scraper metadata
18
+ *
19
+ * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available known scrapers
20
+ *
21
+ * @public exported from `@promptbook/core`
22
+ * @public exported from `@promptbook/cli`
23
+ */
24
+ export declare const _WebsiteScraperMetadataRegistration: Registration;
@@ -0,0 +1,12 @@
1
+ import { Converter } from 'showdown';
2
+ /**
3
+ * A converter instance that uses showdown and highlight extensions
4
+ *
5
+ * @type {Converter}
6
+ * @private for markdown and html knowledge scrapers
7
+ */
8
+ export declare const markdownConverter: Converter;
9
+ /**
10
+ * TODO: !!!!!! Figure out better name not to confuse with `Converter`
11
+ * TODO: !!!!!! Lazy-make converter
12
+ */
@@ -1,10 +1,10 @@
1
1
  import type { Promisable } from 'type-fest';
2
- import type { CommonExecutionToolsOptions } from '../../execution/CommonExecutionToolsOptions';
2
+ import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
3
3
  import type { string_postprocessing_function_name } from '../../types/typeAliases';
4
4
  /**
5
5
  * Options for `JavascriptExecutionTools`
6
6
  */
7
- export type JavascriptExecutionToolsOptions = CommonExecutionToolsOptions & {
7
+ export type JavascriptExecutionToolsOptions = CommonToolsOptions & {
8
8
  /**
9
9
  * Functions to be executed in the JavaScript evaluation.
10
10
  *
@@ -1,4 +1,4 @@
1
- import type { CommonExecutionToolsOptions } from '../../execution/CommonExecutionToolsOptions';
1
+ import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
2
2
  import type { ScriptExecutionTools } from '../../execution/ScriptExecutionTools';
3
3
  import type { ScriptExecutionToolsExecuteOptions } from '../../execution/ScriptExecutionTools';
4
4
  /**
@@ -9,8 +9,8 @@ import type { ScriptExecutionToolsExecuteOptions } from '../../execution/ScriptE
9
9
  * @private still in development
10
10
  */
11
11
  export declare class PythonExecutionTools implements ScriptExecutionTools {
12
- protected readonly options: CommonExecutionToolsOptions;
13
- constructor(options?: CommonExecutionToolsOptions);
12
+ protected readonly options: CommonToolsOptions;
13
+ constructor(options?: CommonToolsOptions);
14
14
  /**
15
15
  * Executes a Python
16
16
  */
@@ -1,4 +1,4 @@
1
- import type { CommonExecutionToolsOptions } from '../../execution/CommonExecutionToolsOptions';
1
+ import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
2
2
  import type { ScriptExecutionTools } from '../../execution/ScriptExecutionTools';
3
3
  import type { ScriptExecutionToolsExecuteOptions } from '../../execution/ScriptExecutionTools';
4
4
  /**
@@ -9,8 +9,8 @@ import type { ScriptExecutionToolsExecuteOptions } from '../../execution/ScriptE
9
9
  * @private still in development
10
10
  */
11
11
  export declare class TypescriptExecutionTools implements ScriptExecutionTools {
12
- protected readonly options: CommonExecutionToolsOptions;
13
- constructor(options?: CommonExecutionToolsOptions);
12
+ protected readonly options: CommonToolsOptions;
13
+ constructor(options?: CommonToolsOptions);
14
14
  /**
15
15
  * Executes a TypeScript
16
16
  */
@@ -1,13 +1,15 @@
1
+ import type { ExecutionTools } from '../../execution/ExecutionTools';
1
2
  import type { PromptbookStorage } from '../_common/PromptbookStorage';
2
- import type { FilesStorageOptions } from './FilesStorageOptions';
3
+ import type { FileCacheStorageOptions } from './FileCacheStorageOptions';
3
4
  /**
4
5
  * @@@
5
6
  *
6
7
  * @public exported from `@promptbook/node`
7
8
  */
8
- export declare class FilesStorage<TItem> implements PromptbookStorage<TItem> {
9
- protected readonly options: FilesStorageOptions;
10
- constructor(options: FilesStorageOptions);
9
+ export declare class FileCacheStorage<TItem> implements PromptbookStorage<TItem> {
10
+ protected readonly tools: Required<Pick<ExecutionTools, 'fs'>>;
11
+ private readonly options;
12
+ constructor(tools: Required<Pick<ExecutionTools, 'fs'>>, options: FileCacheStorageOptions);
11
13
  /**
12
14
  * @@@
13
15
  */
@@ -27,5 +29,5 @@ export declare class FilesStorage<TItem> implements PromptbookStorage<TItem> {
27
29
  }
28
30
  /**
29
31
  * TODO: [🌗] Maybe some checkers, not all valid JSONs are desired and valid values
30
- * Note: [🟢] This code should never be published outside of `@promptbook/node` and `@promptbook/cli` and `@promptbook/cli`
32
+ * Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
31
33
  */
@@ -0,0 +1,10 @@
1
+ import type { string_dirname } from '../../types/typeAliases';
2
+ /**
3
+ * @@@
4
+ */
5
+ export type FileCacheStorageOptions = {
6
+ /**
7
+ * @@@
8
+ */
9
+ rootFolderPath: string_dirname;
10
+ };
@@ -2,6 +2,6 @@ import type { string_name } from '../../../types/typeAliases';
2
2
  /**
3
3
  * @@@
4
4
  *
5
- * @private for `FilesStorage`
5
+ * @private for `FileCacheStorage`
6
6
  */
7
7
  export declare function nameToSubfolderPath(name: string_name): Array<string>;
@@ -6,5 +6,5 @@ import type { PromptbookStorage } from '../_common/PromptbookStorage';
6
6
  */
7
7
  export declare function getLocalStorage<TItem>(): PromptbookStorage<TItem>;
8
8
  /**
9
- * Note: [🔵] This code should never be published outside of `@promptbook/browser`
9
+ * Note: [🔵] Code in this file should never be published outside of `@promptbook/browser`
10
10
  */
@@ -6,5 +6,5 @@ import type { PromptbookStorage } from '../_common/PromptbookStorage';
6
6
  */
7
7
  export declare function getSessionStorage<TItem>(): PromptbookStorage<TItem>;
8
8
  /**
9
- * Note: [🔵] This code should never be published outside of `@promptbook/browser`
9
+ * Note: [🔵] Code in this file should never be published outside of `@promptbook/browser`
10
10
  */
@@ -1,5 +1,5 @@
1
1
  import type { Promisable } from 'type-fest';
2
- import type { PromptbookStorage } from '../_common/PromptbookStorage';
2
+ import type { PromptbookStorage } from '../../_common/PromptbookStorage';
3
3
  /**
4
4
  * This class behaves like LocalStorage but separates keys by prefix
5
5
  *
@@ -1,4 +1,4 @@
1
- import type { PromptbookStorage } from '../_common/PromptbookStorage';
1
+ import type { PromptbookStorage } from '../../_common/PromptbookStorage';
2
2
  /**
3
3
  * @@@
4
4
  *
@@ -11,11 +11,18 @@ import type { string_name } from '../typeAliases';
11
11
  */
12
12
  export type KnowledgeSourceJson = {
13
13
  /**
14
- * @@@
14
+ * Unique identifier of the knowledge source
15
15
  */
16
16
  readonly name: string_name;
17
17
  /**
18
- * @@@
18
+ * Source of one knowledge
19
+ *
20
+ * It can be a link, a relative path to file or direct text or combination of those
21
+ *
22
+ * For example `"https://pavolhejny.com/"`
23
+ * For example `"./pavol-hejny-cv.pdf"`
24
+ * For example `"Pavol Hejný has web https://pavolhejny.com/"`
25
+ * For example `"Pavol Hejný is web developer and creator of Promptbook and Collboard"`
19
26
  */
20
27
  readonly sourceContent: string_knowledge_source_content;
21
28
  };
@@ -33,7 +33,7 @@ export type ParameterJson = {
33
33
  readonly sampleValues?: Array<string_parameter_value>;
34
34
  };
35
35
  /**
36
- * TODO: [🧠] !!!!!! Should be here registered subparameter from foreach or not?
36
+ * TODO: [🧠] Should be here registered subparameters from foreach or not?
37
37
  * TODO: [♈] Probbably move expectations from templates to parameters
38
38
  * TODO: [🍙] Make some standard order of json properties
39
39
  */
@@ -1,5 +1,5 @@
1
1
  import type { ModelRequirements } from '../ModelRequirements';
2
- import type { string_file_path } from '../typeAliases';
2
+ import type { string_filename } from '../typeAliases';
3
3
  import type { string_markdown_text } from '../typeAliases';
4
4
  import type { string_pipeline_url } from '../typeAliases';
5
5
  import type { string_semantic_version } from '../typeAliases';
@@ -33,7 +33,7 @@ export type PipelineJson = {
33
33
  /**
34
34
  * Internal helper for tracking the source `.ptbk.md` file of the pipeline
35
35
  */
36
- readonly sourceFile?: string_file_path;
36
+ readonly sourceFile?: string_filename;
37
37
  /**
38
38
  * Title of the promptbook
39
39
  * -It can use simple markdown formatting like **bold**, *italic*, [link](https://example.com), ... BUT not code blocks and structure
@@ -107,4 +107,5 @@ export type CommonPrompt = {
107
107
  * TODO: [🧄] Replace all "github.com/webgptorg/promptbook#xxx" with "ptbk.io/xxx"
108
108
  * TODO: [✔] Check ModelRequirements in runtime
109
109
  * TODO: [🏳] Add options for translation - maybe create `TranslationPrompt`
110
+ * TODO: [🧠][🤺] Maybe allow overriding of `userId` for each prompt
110
111
  */
@@ -39,6 +39,3 @@ export type ExecutionReportJson = {
39
39
  */
40
40
  readonly promptExecutions: Array<ExecutionPromptReportJson>;
41
41
  };
42
- /**
43
- * TODO: !!!!!! FOREACH in report
44
- */
@@ -1,3 +1,4 @@
1
+ import type { ReadonlyDeep } from 'type-fest';
1
2
  import type { ExecutionReportJson } from './ExecutionReportJson';
2
3
  import type { ExecutionReportString } from './ExecutionReportString';
3
4
  import type { ExecutionReportStringOptions } from './ExecutionReportStringOptions';
@@ -6,7 +7,7 @@ import type { ExecutionReportStringOptions } from './ExecutionReportStringOption
6
7
  *
7
8
  * @public exported from `@promptbook/core`
8
9
  */
9
- export declare function executionReportJsonToString(executionReportJson: ExecutionReportJson, options?: Partial<ExecutionReportStringOptions>): ExecutionReportString;
10
+ export declare function executionReportJsonToString(executionReportJson: ReadonlyDeep<ExecutionReportJson>, options?: Partial<ExecutionReportStringOptions>): ExecutionReportString;
10
11
  /**
11
12
  * TODO: Add mermaid chart for every report
12
13
  * TODO: [🧠] Allow to filter out some parts of the report by options