@promptbook/remote-server 0.71.0-0 → 0.71.0-13

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 (195) hide show
  1. package/README.md +10 -0
  2. package/esm/index.es.js +116 -18
  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 +36 -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 +14 -6
  11. package/esm/typings/src/_packages/pdf.index.d.ts +8 -0
  12. package/esm/typings/src/_packages/types.index.d.ts +41 -25
  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 +5 -5
  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 +20 -8
  54. package/esm/typings/src/execution/PipelineExecutor.d.ts +1 -0
  55. package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorOptions.d.ts +5 -2
  56. package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorSettings.d.ts +2 -13
  57. package/esm/typings/src/execution/createPipelineExecutor/00-createPipelineExecutor.d.ts +3 -0
  58. package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +5 -2
  59. package/esm/typings/src/execution/createPipelineExecutor/20-executeTemplate.d.ts +4 -6
  60. package/esm/typings/src/execution/createPipelineExecutor/{30-executeFormatCells.d.ts → 30-executeFormatSubvalues.d.ts} +2 -6
  61. package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +1 -6
  62. package/esm/typings/src/execution/embeddingVectorToString.d.ts +1 -1
  63. package/esm/typings/src/execution/translation/automatic-translate/translateMessages.d.ts +3 -0
  64. package/esm/typings/src/execution/utils/$provideExecutionToolsForNode.d.ts +13 -0
  65. package/esm/typings/src/execution/utils/forEachAsync.d.ts +1 -0
  66. package/esm/typings/src/formats/_common/FormatSubvalueDefinition.d.ts +2 -1
  67. package/esm/typings/src/formats/csv/CsvFormatError.d.ts +10 -0
  68. package/esm/typings/src/llm-providers/_common/{$llmToolsMetadataRegister.d.ts → register/$llmToolsMetadataRegister.d.ts} +4 -1
  69. package/esm/typings/src/llm-providers/_common/{$llmToolsRegister.d.ts → register/$llmToolsRegister.d.ts} +5 -2
  70. package/esm/typings/src/llm-providers/_common/{createLlmToolsFromConfigurationFromEnv.d.ts → register/$provideLlmToolsConfigurationFromEnv.d.ts} +3 -3
  71. package/esm/typings/src/llm-providers/_common/{getLlmToolsForCli.d.ts → register/$provideLlmToolsForCli.d.ts} +4 -3
  72. package/esm/typings/src/llm-providers/_common/{getLlmToolsForTestingAndScriptsAndPlayground.d.ts → register/$provideLlmToolsForTestingAndScriptsAndPlayground.d.ts} +4 -3
  73. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsFromEnv.d.ts +27 -0
  74. package/esm/typings/src/llm-providers/_common/{$registeredLlmToolsMessage.d.ts → register/$registeredLlmToolsMessage.d.ts} +5 -2
  75. package/esm/typings/src/llm-providers/_common/{LlmToolsConfiguration.d.ts → register/LlmToolsConfiguration.d.ts} +5 -4
  76. package/esm/typings/src/llm-providers/_common/{LlmToolsMetadata.d.ts → register/LlmToolsMetadata.d.ts} +5 -4
  77. package/esm/typings/src/llm-providers/_common/{LlmToolsOptions.d.ts → register/LlmToolsOptions.d.ts} +4 -1
  78. package/esm/typings/src/llm-providers/_common/{createLlmToolsFromConfiguration.d.ts → register/createLlmToolsFromConfiguration.d.ts} +5 -4
  79. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +2 -1
  80. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +3 -3
  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 +8 -1
  85. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +2 -2
  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/playground/playground.d.ts +3 -0
  90. package/esm/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +2 -2
  91. package/esm/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +2 -2
  92. package/esm/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +1 -0
  93. package/esm/typings/src/llm-providers/multiple/playground/playground.d.ts +3 -0
  94. package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +2 -1
  95. package/esm/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +2 -2
  96. package/esm/typings/src/llm-providers/openai/playground/playground.d.ts +2 -1
  97. package/esm/typings/src/llm-providers/openai/register-configuration.d.ts +4 -3
  98. package/esm/typings/src/llm-providers/openai/register-constructor.d.ts +4 -3
  99. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_ListModels_Request.d.ts +1 -1
  100. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Request.d.ts +1 -1
  101. package/esm/typings/src/llm-providers/remote/interfaces/RemoteLlmExecutionToolsOptions.d.ts +3 -3
  102. package/esm/typings/src/llm-providers/remote/interfaces/RemoteServerOptions.d.ts +2 -2
  103. package/esm/typings/src/llm-providers/remote/playground/playground.d.ts +3 -0
  104. package/esm/typings/src/personas/preparePersona.d.ts +3 -2
  105. package/esm/typings/src/prepare/PrepareAndScrapeOptions.d.ts +68 -0
  106. package/esm/typings/src/prepare/preparePipeline.d.ts +3 -2
  107. package/esm/typings/src/prepare/prepareTemplates.d.ts +3 -2
  108. package/esm/typings/src/scrapers/_common/Converter.d.ts +22 -0
  109. package/esm/typings/src/scrapers/_common/Scraper.d.ts +66 -0
  110. package/esm/typings/src/scrapers/_common/ScraperIntermediateSource.d.ts +11 -0
  111. package/esm/typings/src/{knowledge/prepare-knowledge → scrapers}/_common/prepareKnowledgePieces.d.ts +5 -4
  112. package/esm/typings/src/scrapers/_common/register/$provideScrapersForBrowser.d.ts +12 -0
  113. package/esm/typings/src/scrapers/_common/register/$provideScrapersForNode.d.ts +15 -0
  114. package/esm/typings/src/scrapers/_common/register/$registeredScrapersMessage.d.ts +12 -0
  115. package/esm/typings/src/scrapers/_common/register/$scrapersMetadataRegister.d.ts +13 -0
  116. package/esm/typings/src/scrapers/_common/register/$scrapersRegister.d.ts +13 -0
  117. package/esm/typings/src/scrapers/_common/register/ScraperAndConverterMetadata.d.ts +41 -0
  118. package/esm/typings/src/scrapers/_common/register/ScraperConstructor.d.ts +12 -0
  119. package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.d.ts +33 -0
  120. package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.test.d.ts +4 -0
  121. package/esm/typings/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +13 -0
  122. package/esm/typings/src/scrapers/document/DocumentScraper.d.ts +43 -0
  123. package/esm/typings/src/scrapers/document/DocumentScraper.test.d.ts +4 -0
  124. package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +20 -0
  125. package/esm/typings/src/scrapers/document/playground/document-scraper-playground.d.ts +5 -0
  126. package/esm/typings/src/scrapers/document/register-constructor.d.ts +13 -0
  127. package/esm/typings/src/scrapers/document/register-metadata.d.ts +24 -0
  128. package/esm/typings/src/scrapers/document-legacy/LegacyDocumentScraper.d.ts +43 -0
  129. package/esm/typings/src/scrapers/document-legacy/LegacyDocumentScraper.test.d.ts +4 -0
  130. package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +20 -0
  131. package/esm/typings/src/scrapers/document-legacy/playground/legacy-document-scraper-playground.d.ts +5 -0
  132. package/esm/typings/src/scrapers/document-legacy/register-constructor.d.ts +13 -0
  133. package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +24 -0
  134. package/esm/typings/src/scrapers/markdown/MarkdownScraper.d.ts +29 -0
  135. package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +20 -0
  136. package/esm/typings/src/scrapers/markdown/playground/markdown-scraper-playground.d.ts +5 -0
  137. package/esm/typings/src/scrapers/markdown/register-constructor.d.ts +13 -0
  138. package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +24 -0
  139. package/esm/typings/src/scrapers/pdf/PdfScraper.d.ts +40 -0
  140. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +20 -0
  141. package/esm/typings/src/scrapers/pdf/playground/pdf-scraper-playground.d.ts +5 -0
  142. package/esm/typings/src/scrapers/pdf/register-constructor.d.ts +13 -0
  143. package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +24 -0
  144. package/esm/typings/src/scrapers/website/WebsiteScraper.d.ts +47 -0
  145. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +20 -0
  146. package/esm/typings/src/scrapers/website/playground/website-scraper-playground.d.ts +5 -0
  147. package/esm/typings/src/scrapers/website/register-constructor.d.ts +13 -0
  148. package/esm/typings/src/scrapers/website/register-metadata.d.ts +24 -0
  149. package/esm/typings/src/scrapers/website/utils/markdownConverter.d.ts +12 -0
  150. package/esm/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +2 -2
  151. package/esm/typings/src/scripting/python/PythonExecutionTools.d.ts +2 -2
  152. package/esm/typings/src/scripting/typescript/TypescriptExecutionTools.d.ts +2 -2
  153. package/esm/typings/src/storage/{files-storage/FilesStorage.d.ts → file-cache-storage/FileCacheStorage.d.ts} +4 -4
  154. package/esm/typings/src/storage/file-cache-storage/FileCacheStorageOptions.d.ts +10 -0
  155. package/esm/typings/src/storage/{files-storage → file-cache-storage}/utils/nameToSubfolderPath.d.ts +1 -1
  156. package/esm/typings/src/storage/file-cache-storage/utils/nameToSubfolderPath.test.d.ts +1 -0
  157. package/esm/typings/src/storage/local-storage/getLocalStorage.d.ts +1 -1
  158. package/esm/typings/src/storage/local-storage/getSessionStorage.d.ts +1 -1
  159. package/esm/typings/src/storage/{utils → memory/utils}/PrefixStorage.d.ts +1 -1
  160. package/esm/typings/src/storage/{utils → memory/utils}/makePromptbookStorageFromWebStorage.d.ts +1 -1
  161. package/esm/typings/src/types/PipelineJson/ParameterJson.d.ts +1 -1
  162. package/esm/typings/src/types/PipelineJson/PipelineJson.d.ts +2 -2
  163. package/esm/typings/src/types/execution-report/ExecutionReportJson.d.ts +0 -3
  164. package/esm/typings/src/types/execution-report/executionReportJsonToString.d.ts +2 -1
  165. package/esm/typings/src/types/typeAliases.d.ts +16 -12
  166. package/esm/typings/src/utils/$Register.d.ts +19 -6
  167. package/esm/typings/src/utils/execCommand/$execCommand.d.ts +14 -0
  168. package/esm/typings/src/utils/execCommand/$execCommands.d.ts +17 -0
  169. package/esm/typings/src/utils/execCommand/IExecCommandOptions.d.ts +23 -0
  170. package/esm/typings/src/utils/execCommand/execCommand.test.d.ts +1 -0
  171. package/esm/typings/src/utils/execCommand/execCommandNormalizeOptions.d.ts +10 -0
  172. package/esm/typings/src/utils/execCommand/execCommandNormalizeOptions.test.d.ts +1 -0
  173. package/esm/typings/src/utils/files/$isDirectoryExisting.d.ts +3 -3
  174. package/esm/typings/src/utils/files/$isFileExisting.d.ts +3 -3
  175. package/esm/typings/src/utils/files/$listAllFiles.d.ts +5 -4
  176. package/esm/typings/src/utils/files/extensionToMimeType.d.ts +8 -0
  177. package/esm/typings/src/utils/files/extensionToMimeType.test.d.ts +1 -0
  178. package/esm/typings/src/utils/files/getFileExtension.d.ts +8 -0
  179. package/esm/typings/src/utils/files/getFileExtension.test.d.ts +1 -0
  180. package/esm/typings/src/utils/validators/filePath/isValidFilePath.d.ts +2 -2
  181. package/package.json +2 -2
  182. package/umd/index.umd.js +116 -18
  183. package/umd/index.umd.js.map +1 -1
  184. package/esm/typings/src/knowledge/prepare-knowledge/_common/Scraper.d.ts +0 -37
  185. package/esm/typings/src/knowledge/prepare-knowledge/markdown/playground/markdown-knowledge-playground.d.ts +0 -2
  186. package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +0 -14
  187. package/esm/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +0 -15
  188. package/esm/typings/src/llm-providers/_common/createLlmToolsFromEnv.d.ts +0 -25
  189. package/esm/typings/src/prepare/PrepareOptions.d.ts +0 -22
  190. package/esm/typings/src/storage/files-storage/FilesStorageOptions.d.ts +0 -10
  191. /package/esm/typings/src/{knowledge/dialogs → dialogs}/user-interface-execution-tools.test.d.ts +0 -0
  192. /package/esm/typings/src/{knowledge/prepare-knowledge → scrapers}/_common/prepareKnowledgePieces.test.d.ts +0 -0
  193. /package/esm/typings/src/{knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.test.d.ts → scrapers/markdown/MarkdownScraper.test.d.ts} +0 -0
  194. /package/esm/typings/src/{knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.test.d.ts → scrapers/website/WebsiteScraper.test.d.ts} +0 -0
  195. /package/esm/typings/src/{storage/files-storage/utils/nameToSubfolderPath.test.d.ts → scrapers/website/utils/markdownConverter.test.d.ts} +0 -0
@@ -0,0 +1,27 @@
1
+ import { MultipleLlmExecutionTools } from '../../multiple/MultipleLlmExecutionTools';
2
+ import type { CreateLlmToolsFromConfigurationOptions } from './createLlmToolsFromConfiguration';
3
+ /**
4
+ * @@@
5
+ *
6
+ * Note: This function is not cached, every call creates new instance of `MultipleLlmExecutionTools`
7
+ *
8
+ * @@@ .env
9
+ *
10
+ * It looks for environment variables:
11
+ * - `process.env.OPENAI_API_KEY`
12
+ * - `process.env.ANTHROPIC_CLAUDE_API_KEY`
13
+ *
14
+ * @returns @@@
15
+ * @public exported from `@promptbook/node`
16
+ */
17
+ export declare function $provideLlmToolsFromEnv(options?: CreateLlmToolsFromConfigurationOptions): MultipleLlmExecutionTools;
18
+ /**
19
+ * TODO: @@@ write `$provideLlmToolsFromEnv` vs `$provideLlmToolsConfigurationFromEnv` vs `createLlmToolsFromConfiguration`
20
+ * TODO: [🧠][🍛] Which name is better `$provideLlmToolsFromEnv` or `$provideLlmToolsFromEnvironment`?
21
+ * TODO: [🧠] Is there some meaningfull way how to test this util
22
+ * Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
23
+ * TODO: [🥃] Allow `ptbk make` without llm tools
24
+ * TODO: This should be maybe not under `_common` but under `utils`
25
+ * TODO: [®] DRY Register logic
26
+ * TODO: [🍂] Maybe make llm = $provideLlmToolsFromEnv() without problem with bundle contaminated by only `@promptbook/node` and `@promptbook/cli` stuff
27
+ */
@@ -1,9 +1,12 @@
1
- import type { string_markdown } from '../../types/typeAliases';
1
+ import type { string_markdown } from '../../../types/typeAliases';
2
2
  /**
3
3
  * Creates a message with all registered LLM tools
4
4
  *
5
5
  * Note: This function is used to create a (error) message when there is no constructor for some LLM provider
6
6
  *
7
- * @private internal function of `createLlmToolsFromConfiguration` and `createLlmToolsFromEnv`
7
+ * @private internal function of `createLlmToolsFromConfiguration` and `$provideLlmToolsFromEnv`
8
8
  */
9
9
  export declare function $registeredLlmToolsMessage(): string_markdown;
10
+ /**
11
+ * TODO: [®] DRY Register logic
12
+ */
@@ -1,5 +1,5 @@
1
- import type { string_title } from '../../types/typeAliases';
2
- import type { Registered } from '../../utils/$Register';
1
+ import type { string_title } from '../../../types/typeAliases';
2
+ import type { Registered } from '../../../utils/$Register';
3
3
  import type { LlmToolsOptions } from './LlmToolsOptions';
4
4
  /**
5
5
  * @@@
@@ -10,13 +10,14 @@ export type LlmToolsConfiguration = Array<Registered & {
10
10
  /**
11
11
  * @@@
12
12
  */
13
- title: string_title;
13
+ readonly title: string_title;
14
14
  /**
15
15
  * @@@
16
16
  */
17
- options: LlmToolsOptions;
17
+ readonly options: LlmToolsOptions;
18
18
  }>;
19
19
  /**
20
20
  * TODO: [🧠][🌰] `title` is redundant BUT maybe allow each provider pass it's own title for tracking purposes
21
21
  * TODO: Maybe instead of `LlmToolsConfiguration[number]` make `LlmToolsConfigurationItem`
22
+ * TODO: [®] DRY Register logic
22
23
  */
@@ -1,6 +1,6 @@
1
- import type { string_name } from '../../types/typeAliases';
2
- import type { string_title } from '../../types/typeAliases';
3
- import type { Registered } from '../../utils/$Register';
1
+ import type { string_name } from '../../../types/typeAliases';
2
+ import type { string_title } from '../../../types/typeAliases';
3
+ import type { Registered } from '../../../utils/$Register';
4
4
  import type { LlmToolsConfiguration } from './LlmToolsConfiguration';
5
5
  /**
6
6
  * @@@
@@ -11,7 +11,7 @@ export type LlmToolsMetadata = Registered & {
11
11
  /**
12
12
  * @@@
13
13
  */
14
- title: string_title;
14
+ readonly title: string_title;
15
15
  /**
16
16
  * @@@
17
17
  */
@@ -24,4 +24,5 @@ export type LlmToolsMetadata = Registered & {
24
24
  /**
25
25
  * TODO: Add configuration schema and maybe some documentation link
26
26
  * TODO: Maybe constrain LlmToolsConfiguration[number] by generic to ensure that `createConfigurationFromEnv` and `getBoilerplateConfiguration` always create same `packageName` and `className`
27
+ * TODO: [®] DRY Register logic
27
28
  */
@@ -1,7 +1,10 @@
1
- import type { TODO_object } from '../../utils/organization/TODO_object';
1
+ import type { TODO_object } from '../../../utils/organization/TODO_object';
2
2
  /**
3
3
  * @@@
4
4
  *
5
5
  * @@@ `LlmToolsMetadata` vs `LlmToolsConfiguration` vs `LlmToolsOptions` (vs `Registered`)
6
6
  */
7
7
  export type LlmToolsOptions = TODO_object;
8
+ /**
9
+ * TODO: [®] DRY Register logic
10
+ */
@@ -1,9 +1,9 @@
1
- import { MultipleLlmExecutionTools } from '../multiple/MultipleLlmExecutionTools';
1
+ import { MultipleLlmExecutionTools } from '../../multiple/MultipleLlmExecutionTools';
2
2
  import type { LlmToolsConfiguration } from './LlmToolsConfiguration';
3
3
  /**
4
- * Options for `createLlmToolsFromEnv`
4
+ * Options for `$provideLlmToolsFromEnv`
5
5
  *
6
- * @private internal type for `createLlmToolsFromEnv` and `getLlmToolsForTestingAndScriptsAndPlayground`
6
+ * @private internal type for `$provideLlmToolsFromEnv` and `$provideLlmToolsForTestingAndScriptsAndPlayground`
7
7
  */
8
8
  export type CreateLlmToolsFromConfigurationOptions = {
9
9
  /**
@@ -23,10 +23,11 @@ export type CreateLlmToolsFromConfigurationOptions = {
23
23
  */
24
24
  export declare function createLlmToolsFromConfiguration(configuration: LlmToolsConfiguration, options?: CreateLlmToolsFromConfigurationOptions): MultipleLlmExecutionTools;
25
25
  /**
26
- * TODO: [🎌] Togethere with `createLlmToolsFromConfiguration` + 'EXECUTION_TOOLS_CLASSES' gets to `@promptbook/core` ALL model providers, make this more efficient
26
+ * TODO: [🎌] Together with `createLlmToolsFromConfiguration` + 'EXECUTION_TOOLS_CLASSES' gets to `@promptbook/core` ALL model providers, make this more efficient
27
27
  * TODO: [🧠][🎌] Dynamically install required providers
28
28
  * TODO: @@@ write discussion about this - wizzard
29
29
  * TODO: [🧠][🍛] Which name is better `createLlmToolsFromConfig` or `createLlmToolsFromConfiguration`?
30
30
  * TODO: [🧠] Is there some meaningfull way how to test this util
31
31
  * TODO: This should be maybe not under `_common` but under `utils`
32
+ * TODO: [®] DRY Register logic
32
33
  */
@@ -1,3 +1,4 @@
1
+ import Anthropic from '@anthropic-ai/sdk';
1
2
  import type { AvailableModel } from '../../execution/AvailableModel';
2
3
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
3
4
  import type { ChatPromptResult } from '../../execution/PromptResult';
@@ -26,7 +27,7 @@ export declare class AnthropicClaudeExecutionTools implements LlmExecutionTools
26
27
  constructor(options?: AnthropicClaudeExecutionToolsDirectOptions);
27
28
  get title(): string_title & string_markdown_text;
28
29
  get description(): string_markdown;
29
- private getClient;
30
+ getClient(): Promise<Anthropic>;
30
31
  /**
31
32
  * Check the `options` passed to `constructor`
32
33
  */
@@ -1,5 +1,5 @@
1
1
  import type { ClientOptions } from '@anthropic-ai/sdk';
2
- import type { CommonExecutionToolsOptions } from '../../execution/CommonExecutionToolsOptions';
2
+ import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
3
3
  import type { RemoteLlmExecutionToolsOptions } from '../remote/interfaces/RemoteLlmExecutionToolsOptions';
4
4
  /**
5
5
  * Options for `AnthropicClaudeExecutionTools`
@@ -14,7 +14,7 @@ export type AnthropicClaudeExecutionToolsOptions = AnthropicClaudeExecutionTools
14
14
  * This extends Anthropic's `ClientOptions` with are directly passed to the Anthropic client.
15
15
  * @public exported from `@promptbook/anthropic-claude`
16
16
  */
17
- export type AnthropicClaudeExecutionToolsDirectOptions = CommonExecutionToolsOptions & ClientOptions & {
17
+ export type AnthropicClaudeExecutionToolsDirectOptions = CommonToolsOptions & ClientOptions & {
18
18
  isProxied?: false;
19
19
  };
20
20
  /**
@@ -23,7 +23,7 @@ export type AnthropicClaudeExecutionToolsDirectOptions = CommonExecutionToolsOpt
23
23
  * This extends Anthropic's `ClientOptions` with are directly passed to the Anthropic client.
24
24
  * @public exported from `@promptbook/anthropic-claude`
25
25
  */
26
- export type AnthropicClaudeExecutionToolsProxiedOptions = CommonExecutionToolsOptions & ClientOptions & {
26
+ export type AnthropicClaudeExecutionToolsProxiedOptions = CommonToolsOptions & ClientOptions & {
27
27
  isProxied: true;
28
28
  } & Pick<RemoteLlmExecutionToolsOptions, 'remoteUrl' | 'path'>;
29
29
  /**
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env ts-node
2
2
  export {};
3
3
  /**
4
- * TODO:[main] !!! Playground with WebGPT / Promptbook.studio anonymous server
5
- * TODO:[main] !!! Test here that `systemMessage`, `temperature` and `seed` are working correctly
4
+ * TODO: [main] !!! Playground with WebGPT / Promptbook.studio anonymous server
5
+ * TODO: [main] !!! Test here that `systemMessage`, `temperature` and `seed` are working correctly
6
+ * Note: [⚫] Code in this file should never be published in any package
6
7
  */
@@ -1,9 +1,10 @@
1
+ import type { Registration } from '../../utils/$Register';
1
2
  /**
2
- * @@@ registration1 of default configuration for Anthropic Claude
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 _AnthropicClaudeMetadataRegistration: void;
10
+ export declare const _AnthropicClaudeMetadataRegistration: 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/anthropic-claude`
7
8
  * @public exported from `@promptbook/cli`
8
9
  */
9
- export declare const _AnthropicClaudeRegistration: void;
10
+ export declare const _AnthropicClaudeRegistration: Registration;
10
11
  /**
11
12
  * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
12
13
  */
@@ -1,3 +1,4 @@
1
+ import { OpenAIClient } from '@azure/openai';
1
2
  import type { AvailableModel } from '../../execution/AvailableModel';
2
3
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
3
4
  import type { ChatPromptResult } from '../../execution/PromptResult';
@@ -26,7 +27,7 @@ export declare class AzureOpenAiExecutionTools implements LlmExecutionTools {
26
27
  constructor(options: AzureOpenAiExecutionToolsOptions);
27
28
  get title(): string_title & string_markdown_text;
28
29
  get description(): string_markdown;
29
- private getClient;
30
+ getClient(): Promise<OpenAIClient>;
30
31
  /**
31
32
  * Check the `options` passed to `constructor`
32
33
  */
@@ -43,6 +44,12 @@ export declare class AzureOpenAiExecutionTools implements LlmExecutionTools {
43
44
  * Calls Azure OpenAI API to use a complete model.
44
45
  */
45
46
  callCompletionModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements'>): Promise<CompletionPromptResult>;
47
+ /**
48
+ * Library `@azure/openai` has bug/weird behavior that it does not throw error but hangs forever
49
+ *
50
+ * This method wraps the promise with timeout
51
+ */
52
+ private withTimeout;
46
53
  /**
47
54
  * Changes Azure error (which is not propper Error but object) to propper Error
48
55
  */
@@ -1,4 +1,4 @@
1
- import type { CommonExecutionToolsOptions } from '../../execution/CommonExecutionToolsOptions';
1
+ import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
2
2
  import type { string_name } from '../../types/typeAliases';
3
3
  import type { string_token } from '../../types/typeAliases';
4
4
  /**
@@ -7,7 +7,7 @@ import type { string_token } from '../../types/typeAliases';
7
7
  * @see https://oai.azure.com/portal/
8
8
  * @public exported from `@promptbook/azure-openai`
9
9
  */
10
- export type AzureOpenAiExecutionToolsOptions = CommonExecutionToolsOptions & {
10
+ export type AzureOpenAiExecutionToolsOptions = CommonToolsOptions & {
11
11
  /**
12
12
  * The resource name of the Azure OpenAI resource
13
13
  *
@@ -2,4 +2,5 @@
2
2
  export {};
3
3
  /**
4
4
  * TODO: 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 Azure 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 _AzureOpenAiMetadataRegistration: void;
10
+ export declare const _AzureOpenAiMetadataRegistration: 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/azure-openai`
7
8
  * @public exported from `@promptbook/cli`
8
9
  */
9
- export declare const _AzureOpenAiRegistration: void;
10
+ export declare const _AzureOpenAiRegistration: Registration;
10
11
  /**
11
12
  * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
12
13
  */
@@ -1,2 +1,5 @@
1
1
  #!/usr/bin/env ts-node
2
2
  export {};
3
+ /**
4
+ * Note: [⚫] Code in this file should never be published in any package
5
+ */
@@ -1,5 +1,5 @@
1
1
  import type { AvailableModel } from '../../execution/AvailableModel';
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 { ChatPromptResult } from '../../execution/PromptResult';
5
5
  import type { CompletionPromptResult } from '../../execution/PromptResult';
@@ -14,7 +14,7 @@ import type { string_title } from '../../types/typeAliases';
14
14
  */
15
15
  export declare class MockedEchoLlmExecutionTools implements LlmExecutionTools {
16
16
  private readonly options;
17
- constructor(options?: CommonExecutionToolsOptions);
17
+ constructor(options?: CommonToolsOptions);
18
18
  get title(): string_title & string_markdown_text;
19
19
  get description(): string_markdown;
20
20
  /**
@@ -1,5 +1,5 @@
1
1
  import type { AvailableModel } from '../../execution/AvailableModel';
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 { ChatPromptResult } from '../../execution/PromptResult';
5
5
  import type { CompletionPromptResult } from '../../execution/PromptResult';
@@ -15,7 +15,7 @@ import type { string_title } from '../../types/typeAliases';
15
15
  */
16
16
  export declare class MockedFackedLlmExecutionTools implements LlmExecutionTools {
17
17
  private readonly options;
18
- constructor(options?: CommonExecutionToolsOptions);
18
+ constructor(options?: CommonToolsOptions);
19
19
  get title(): string_title & string_markdown_text;
20
20
  get description(): string_markdown;
21
21
  /**
@@ -16,6 +16,7 @@ import type { string_title } from '../../types/typeAliases';
16
16
  *
17
17
  * Note: Internal utility of `joinLlmExecutionTools` but exposed type
18
18
  * @public exported from `@promptbook/types`
19
+ * TODO: !!!!!! Export as runtime class not just type
19
20
  */
20
21
  export declare class MultipleLlmExecutionTools implements LlmExecutionTools {
21
22
  /**
@@ -1,2 +1,5 @@
1
1
  #!/usr/bin/env ts-node
2
2
  export {};
3
+ /**
4
+ * Note: [⚫] Code in this file should never be published in any package
5
+ */
@@ -1,3 +1,4 @@
1
+ import OpenAI from 'openai';
1
2
  import type { AvailableModel } from '../../execution/AvailableModel';
2
3
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
3
4
  import type { ChatPromptResult } from '../../execution/PromptResult';
@@ -27,7 +28,7 @@ export declare class OpenAiExecutionTools implements LlmExecutionTools {
27
28
  constructor(options?: OpenAiExecutionToolsOptions);
28
29
  get title(): string_title & string_markdown_text;
29
30
  get description(): string_markdown;
30
- private getClient;
31
+ getClient(): Promise<OpenAI>;
31
32
  /**
32
33
  * Check the `options` passed to `constructor`
33
34
  */
@@ -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:[main] !!! 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,7 +8,7 @@ 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
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
@@ -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
+ */
@@ -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,7 +19,7 @@ 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)