@promptbook/browser 0.72.0-1 → 0.72.0-10

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 +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 +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
@@ -1,5 +1,5 @@
1
- import type { UserInterfaceTools } from '../../../execution/UserInterfaceTools';
2
- import type { UserInterfaceToolsPromptDialogOptions } from '../../../execution/UserInterfaceTools';
1
+ import type { UserInterfaceTools } from '../../execution/UserInterfaceTools';
2
+ import type { UserInterfaceToolsPromptDialogOptions } from '../../execution/UserInterfaceTools';
3
3
  import type { CallbackInterfaceToolsOptions } from './CallbackInterfaceToolsOptions';
4
4
  /**
5
5
  * Delagates the user interaction to a async callback function
@@ -1,12 +1,12 @@
1
1
  import type { Promisable } from 'type-fest';
2
- import type { CommonExecutionToolsOptions } from '../../../execution/CommonExecutionToolsOptions';
3
- import type { UserInterfaceToolsPromptDialogOptions } from '../../../execution/UserInterfaceTools';
2
+ import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
3
+ import type { UserInterfaceToolsPromptDialogOptions } from '../../execution/UserInterfaceTools';
4
4
  /**
5
5
  * Options for `CallbackInterfaceTools`
6
6
  *
7
7
  * @public exported from `@promptbook/core`
8
8
  */
9
- export type CallbackInterfaceToolsOptions = CommonExecutionToolsOptions & {
9
+ export type CallbackInterfaceToolsOptions = CommonToolsOptions & {
10
10
  /**
11
11
  * The callback function to be called when promptDialog is called
12
12
  */
@@ -1,6 +1,6 @@
1
- import type { CommonExecutionToolsOptions } from '../../../execution/CommonExecutionToolsOptions';
2
- import type { UserInterfaceTools } from '../../../execution/UserInterfaceTools';
3
- import type { UserInterfaceToolsPromptDialogOptions } from '../../../execution/UserInterfaceTools';
1
+ import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
2
+ import type { UserInterfaceTools } from '../../execution/UserInterfaceTools';
3
+ import type { UserInterfaceToolsPromptDialogOptions } from '../../execution/UserInterfaceTools';
4
4
  /**
5
5
  * Wrapper around `window.prompt` synchronous function that interacts with the user via browser prompt
6
6
  *
@@ -10,13 +10,13 @@ import type { UserInterfaceToolsPromptDialogOptions } from '../../../execution/U
10
10
  * @public exported from `@promptbook/browser`
11
11
  */
12
12
  export declare class SimplePromptInterfaceTools implements UserInterfaceTools {
13
- protected readonly options: CommonExecutionToolsOptions;
14
- constructor(options?: CommonExecutionToolsOptions);
13
+ protected readonly options: CommonToolsOptions;
14
+ constructor(options?: CommonToolsOptions);
15
15
  /**
16
16
  * Trigger window.DIALOG TEMPLATE
17
17
  */
18
18
  promptDialog(options: UserInterfaceToolsPromptDialogOptions): Promise<string>;
19
19
  }
20
20
  /**
21
- * Note: [🔵] This code should never be published outside of `@promptbook/browser`
21
+ * Note: [🔵] Code in this file should never be published outside of `@promptbook/browser`
22
22
  */
@@ -0,0 +1,11 @@
1
+ /**
2
+ * This error indicates problems parsing the format value
3
+ *
4
+ * For example, when the format value is not a valid JSON or CSV
5
+ * This is not thrown directly but in extended classes
6
+ *
7
+ * @public exported from `@promptbook/core`
8
+ */
9
+ export declare class AbstractFormatError extends Error {
10
+ constructor(message: string);
11
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * This error indicates that the promptbook can not retrieve knowledge from external sources
3
+ *
4
+ * @public exported from `@promptbook/core`
5
+ */
6
+ export declare class KnowledgeScrapeError extends Error {
7
+ readonly name = "KnowledgeScrapeError";
8
+ constructor(message: string);
9
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * This error type indicates that some tools are missing for pipeline execution or preparation
3
+ *
4
+ * @public exported from `@promptbook/core`
5
+ */
6
+ export declare class MissingToolsError extends Error {
7
+ readonly name = "MissingToolsError";
8
+ constructor(message: string);
9
+ }
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Note: Keep it public to allow people to make their own execution tools
5
5
  */
6
- export type CommonExecutionToolsOptions = {
6
+ export type CommonToolsOptions = {
7
7
  /**
8
8
  * If true, the internal executions will be logged
9
9
  */
@@ -1,4 +1,6 @@
1
+ import type { Scraper } from '../scrapers/_common/Scraper';
1
2
  import type { Arrayable } from '../types/Arrayable';
3
+ import type { FilesystemTools } from './FilesystemTools';
2
4
  import type { LlmExecutionTools } from './LlmExecutionTools';
3
5
  import type { ScriptExecutionTools } from './ScriptExecutionTools';
4
6
  import type { UserInterfaceTools } from './UserInterfaceTools';
@@ -9,28 +11,46 @@ import type { UserInterfaceTools } from './UserInterfaceTools';
9
11
  */
10
12
  export type ExecutionTools = {
11
13
  /**
12
- * Tools for executing prompts to large language models like GPT-4
14
+ * Tools for executing prompts in large language models
13
15
  *
14
- * Tip: Use `createLlmToolsFromEnv()` to use all available LLM providers you configured
15
- * @see https://github.com/webgptorg/promptbook/?tab=readme-ov-file#llm-execution-tools
16
+ * Tip: Use `$provideLlmToolsFromEnv` to use all available LLM providers you configured
17
+ *
18
+ * @default [] - If not provided, no LLM execution will be possible - it does not make sense in most cases
19
+ */
20
+ readonly llm?: Arrayable<LlmExecutionTools>;
21
+ /**
22
+ * Tools for filesystem operations
23
+ *
24
+ * Tip: Use `$provideFilesystemForNode` to use filesystem in Node.js
25
+ *
26
+ * @default undefined - If not provided, no filesystem operations will be possible
16
27
  */
17
- llm?: Arrayable<LlmExecutionTools>;
28
+ readonly fs?: FilesystemTools;
29
+ /**
30
+ * Scrapers for extracting knowledge from external sources
31
+ *
32
+ * Tip: Use `$provideScrapersForNode` OR `$provideScrapersForBrowser` to use all available scrapers
33
+ *
34
+ * @default [] - If not provided, no external knowledge extraction will be possible
35
+ */
36
+ readonly scrapers?: Arrayable<Scraper>;
18
37
  /**
19
38
  * Tools for executing scripts
20
39
  *
21
40
  * Note: You can pass multiple ScriptExecutionTools, they will be tried one by one until one of them supports the script
22
41
  * If none of them supports the script, an error is thrown
23
- * Tip: Use here `new JavascriptExecutionTools()`
42
+ * Tip: Use here `new JavascriptExecutionTools`
24
43
  *
25
- * @see https://github.com/webgptorg/promptbook/?tab=readme-ov-file#script-execution-tools
26
44
  * @default [] - If not provided, no script execution will be possible
27
45
  */
28
- script?: Arrayable<ScriptExecutionTools>;
46
+ readonly script?: Arrayable<ScriptExecutionTools>;
29
47
  /**
30
48
  * Tools for interacting with the user
31
49
  *
32
50
  * Note: When undefined, the user interface is disabled and promptbook which requires user interaction will fail
33
- * @see https://github.com/webgptorg/promptbook/?tab=readme-ov-file#user-interface-tools
34
51
  */
35
- userInterface?: UserInterfaceTools;
52
+ readonly userInterface?: UserInterfaceTools;
36
53
  };
54
+ /**
55
+ * TODO: !!!!!! Move here also the executables and make $provideXxxxForNode
56
+ */
@@ -0,0 +1,9 @@
1
+ /// <reference types="node" />
2
+ import type fs from 'fs/promises';
3
+ /**
4
+ * Container for all the tools needed to manipulate with filesystem
5
+ */
6
+ export type FilesystemTools = Pick<typeof fs, 'access' | 'constants' | 'readFile' | 'stat' | 'readdir'>;
7
+ /**
8
+ * TODO: Implement destroyable pattern to free resources
9
+ */
@@ -14,5 +14,6 @@ export type PipelineExecutor = {
14
14
  (inputParameters: Parameters, onProgress?: (taskProgress: TaskProgress) => Promisable<void>): Promise<PipelineExecutorResult>;
15
15
  };
16
16
  /**
17
+ * TODO: [🐚] Change onProgress to object that represents the running execution, can be subscribed via RxJS to and also awaited
17
18
  * TODO: [🧠] Should this file be in /execution or /types folder?
18
19
  */
@@ -4,7 +4,7 @@ import type { CreatePipelineExecutorSettings } from './00-CreatePipelineExecutor
4
4
  /**
5
5
  * Options for `createPipelineExecutor`
6
6
  */
7
- export interface CreatePipelineExecutorOptions {
7
+ export type CreatePipelineExecutorOptions = {
8
8
  /**
9
9
  * The pipeline to be executed
10
10
  */
@@ -17,4 +17,7 @@ export interface CreatePipelineExecutorOptions {
17
17
  * Optional settings for the pipeline executor
18
18
  */
19
19
  readonly settings?: Partial<CreatePipelineExecutorSettings>;
20
- }
20
+ };
21
+ /**
22
+ * TODO: !!!!!! Unite `CreatePipelineExecutorOptions` and `CreatePipelineExecutorSettings` OR describe the difference
23
+ */
@@ -1,23 +1,12 @@
1
1
  import type { CsvSettings } from '../../formats/csv/CsvSettings';
2
- export type CreatePipelineExecutorSettings = {
2
+ import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
3
+ export type CreatePipelineExecutorSettings = Omit<PrepareAndScrapeOptions, 'llmTools'> & {
3
4
  /**
4
5
  * When executor does not satisfy expectations it will be retried this amount of times
5
6
  *
6
7
  * @default MAX_EXECUTION_ATTEMPTS
7
8
  */
8
9
  readonly maxExecutionAttempts: number;
9
- /**
10
- * Maximum number of tasks running in parallel
11
- *
12
- * @default MAX_PARALLEL_COUNT
13
- */
14
- readonly maxParallelCount: number;
15
- /**
16
- * If true, the preparation logs additional information
17
- *
18
- * @default false
19
- */
20
- readonly isVerbose: boolean;
21
10
  /**
22
11
  * Settings for CSV format
23
12
  *
@@ -8,3 +8,6 @@ import type { CreatePipelineExecutorOptions } from './00-CreatePipelineExecutorO
8
8
  * @public exported from `@promptbook/core`
9
9
  */
10
10
  export declare function createPipelineExecutor(options: CreatePipelineExecutorOptions): PipelineExecutor;
11
+ /**
12
+ * TODO: [🐚] Change onProgress to object that represents the running execution, can be subscribed via RxJS to and also awaited
13
+ */
@@ -8,7 +8,7 @@ import type { CreatePipelineExecutorSettings } from './00-CreatePipelineExecutor
8
8
  /**
9
9
  * @@@
10
10
  *
11
- * @private internal type of `executePipelinex`
11
+ * @private internal type of `executePipeline`
12
12
  */
13
13
  type ExecutePipelineOptions = {
14
14
  /**
@@ -53,3 +53,6 @@ type ExecutePipelineOptions = {
53
53
  */
54
54
  export declare function executePipeline(options: ExecutePipelineOptions): Promise<PipelineExecutorResult>;
55
55
  export {};
56
+ /**
57
+ * TODO: [🐚] Change onProgress to object that represents the running execution, can be subscribed via RxJS to and also awaited
58
+ */
@@ -1,5 +1,4 @@
1
1
  import { Promisable, ReadonlyDeep } from 'type-fest';
2
- import { MultipleLlmExecutionTools } from '../../llm-providers/multiple/MultipleLlmExecutionTools';
3
2
  import type { ExecutionReportJson } from '../../types/execution-report/ExecutionReportJson';
4
3
  import type { PipelineJson } from '../../types/PipelineJson/PipelineJson';
5
4
  import type { TemplateJson } from '../../types/PipelineJson/TemplateJson';
@@ -28,11 +27,7 @@ type executeSingleTemplateOptions = {
28
27
  /**
29
28
  * @@@
30
29
  */
31
- readonly tools: Omit<ExecutionTools, 'llm'>;
32
- /**
33
- * @@@
34
- */
35
- readonly llmTools: MultipleLlmExecutionTools;
30
+ readonly tools: ExecutionTools;
36
31
  /**
37
32
  * @@@
38
33
  */
@@ -60,3 +55,6 @@ export {};
60
55
  /**
61
56
  * TODO: [🤹‍♂️]
62
57
  */
58
+ /**
59
+ * TODO: [🐚] Change onProgress to object that represents the running execution, can be subscribed via RxJS to and also awaited
60
+ */
@@ -3,7 +3,7 @@ import type { ExecuteAttemptsOptions } from './40-executeAttempts';
3
3
  /**
4
4
  * @@@
5
5
  *
6
- * @private internal type of `executeFormatCells`
6
+ * @private internal type of `executeFormatSubvalues`
7
7
  */
8
8
  type ExecuteFormatCellsOptions = ExecuteAttemptsOptions;
9
9
  /**
@@ -11,9 +11,5 @@ type ExecuteFormatCellsOptions = ExecuteAttemptsOptions;
11
11
  *
12
12
  * @private internal utility of `createPipelineExecutor`
13
13
  */
14
- export declare function executeFormatCells(options: ExecuteFormatCellsOptions): Promise<TODO_any>;
14
+ export declare function executeFormatSubvalues(options: ExecuteFormatCellsOptions): Promise<TODO_any>;
15
15
  export {};
16
- /**
17
- * TODO: !!!!!! Make pipelineIdentification more precise
18
- * TODO: !!!!!! How FOREACH execution looks in the report
19
- */
@@ -1,5 +1,4 @@
1
1
  import type { ReadonlyDeep } from 'type-fest';
2
- import { MultipleLlmExecutionTools } from '../../llm-providers/multiple/MultipleLlmExecutionTools';
3
2
  import type { ExecutionReportJson } from '../../types/execution-report/ExecutionReportJson';
4
3
  import type { PipelineJson } from '../../types/PipelineJson/PipelineJson';
5
4
  import type { TemplateJson } from '../../types/PipelineJson/TemplateJson';
@@ -45,11 +44,7 @@ export type ExecuteAttemptsOptions = {
45
44
  /**
46
45
  * @@@
47
46
  */
48
- readonly tools: Omit<ExecutionTools, 'llm'>;
49
- /**
50
- * @@@
51
- */
52
- readonly llmTools: MultipleLlmExecutionTools;
47
+ readonly tools: ExecutionTools;
53
48
  /**
54
49
  * Settings for the pipeline executor
55
50
  */
@@ -4,4 +4,4 @@ import type { EmbeddingVector } from './EmbeddingVector';
4
4
  *
5
5
  * @public exported from `@promptbook/core`
6
6
  */
7
- export declare function embeddingVectorToString(embeddingVector: EmbeddingVector): string;
7
+ export declare function embeddingVectorToString(embeddingVector: Readonly<EmbeddingVector>): string;
@@ -6,3 +6,7 @@ import type { TranslatorOptions } from './automatic-translators/TranslatorOption
6
6
  export declare function translateMessages({ automaticTranslator, from, to, }: {
7
7
  automaticTranslator: AutomaticTranslator;
8
8
  } & TranslatorOptions): Promise<void>;
9
+ /**
10
+ * TODO: [😶] Unite floder listing
11
+ * Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
12
+ */
@@ -0,0 +1,13 @@
1
+ import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
2
+ import type { ExecutionTools } from '../ExecutionTools';
3
+ /**
4
+ * Note: There is unfortunately no equivalent for this function in the browser environment
5
+ * because it is not possible automatically detect configured LLM providers
6
+ * you need to provide them manually BUT you can help by utilities like `$provideScrapersForBrowser`
7
+ *
8
+ * @public exported from `@promptbook/node`
9
+ */
10
+ export declare function $provideExecutionToolsForNode(options?: PrepareAndScrapeOptions): Promise<ExecutionTools>;
11
+ /**
12
+ * Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
13
+ */
@@ -14,6 +14,7 @@ type ForEachAsyncOptions = {
14
14
  * @param options - Options for the function
15
15
  * @param callbackfunction - Function to call for each item
16
16
  * @public exported from `@promptbook/utils`
17
+ * @deprecated [🪂] Use queues instead
17
18
  */
18
19
  export declare function forEachAsync<TItem>(array: Array<TItem>, options: ForEachAsyncOptions, callbackfunction: (value: TItem, index: number, array: Array<TItem>) => Promisable<void>): Promise<void>;
19
20
  export {};
@@ -1,5 +1,6 @@
1
1
  import type { Promisable } from 'type-fest';
2
2
  import type { Parameters } from '../../types/typeAliases';
3
+ import type { string_parameter_name } from '../../types/typeAliases';
3
4
  import type { string_name } from '../../types/typeAliases';
4
5
  import type { string_SCREAMING_CASE } from '../../utils/normalization/normalizeTo_SCREAMING_CASE';
5
6
  import type { empty_object } from '../../utils/organization/empty_object';
@@ -23,7 +24,7 @@ export type FormatSubvalueDefinition<TValue extends string, TSettings extends em
23
24
  * For example, if you have a JSON object and you want to map all values to uppercase
24
25
  * Or iterate over all CSV cells @@@
25
26
  */
26
- mapValues(value: TValue, settings: TSettings, mapCallback: (subvalues: Parameters, index: number) => Promisable<string>): Promise<string>;
27
+ mapValues(value: TValue, outputParameterName: string_parameter_name, settings: TSettings, mapCallback: (subvalues: Parameters, index: number) => Promisable<string>): Promise<string>;
27
28
  };
28
29
  /**
29
30
  * Note: [👩🏾‍🤝‍🧑🏽]
@@ -0,0 +1,10 @@
1
+ import { AbstractFormatError } from "../../errors/AbstractFormatError";
2
+ /**
3
+ * This error indicates problem with parsing of CSV
4
+ *
5
+ * @public exported from `@promptbook/core`
6
+ */
7
+ export declare class CsvFormatError extends AbstractFormatError {
8
+ readonly name = "CsvFormatError";
9
+ constructor(message: string);
10
+ }
@@ -1,4 +1,4 @@
1
- import { $Register } from '../../utils/$Register';
1
+ import { $Register } from '../../../utils/$Register';
2
2
  import type { LlmToolsMetadata } from './LlmToolsMetadata';
3
3
  /**
4
4
  * @@@
@@ -8,3 +8,6 @@ import type { LlmToolsMetadata } from './LlmToolsMetadata';
8
8
  * @public exported from `@promptbook/core`
9
9
  */
10
10
  export declare const $llmToolsMetadataRegister: $Register<LlmToolsMetadata>;
11
+ /**
12
+ * TODO: [®] DRY Register logic
13
+ */
@@ -1,5 +1,5 @@
1
- import type { LlmExecutionToolsConstructor } from '../../execution/LlmExecutionToolsConstructor';
2
- import { $Register } from '../../utils/$Register';
1
+ import type { LlmExecutionToolsConstructor } from '../../../execution/LlmExecutionToolsConstructor';
2
+ import { $Register } from '../../../utils/$Register';
3
3
  /**
4
4
  * @@@
5
5
  *
@@ -8,3 +8,6 @@ import { $Register } from '../../utils/$Register';
8
8
  * @public exported from `@promptbook/core`
9
9
  */
10
10
  export declare const $llmToolsRegister: $Register<LlmExecutionToolsConstructor>;
11
+ /**
12
+ * TODO: [®] DRY Register logic
13
+ */
@@ -11,14 +11,14 @@ import type { LlmToolsConfiguration } from './LlmToolsConfiguration';
11
11
  * @returns @@@
12
12
  * @public exported from `@promptbook/node`
13
13
  */
14
- export declare function createLlmToolsFromConfigurationFromEnv(): LlmToolsConfiguration;
14
+ export declare function $provideLlmToolsConfigurationFromEnv(): LlmToolsConfiguration;
15
15
  /**
16
16
  * TODO: [🧠][🪁] Maybe do allow to do auto-install if package not registered and not found
17
17
  * TODO: Add Azure OpenAI
18
18
  * TODO: [🧠][🍛]
19
19
  * TODO: [🧠] Is there some meaningfull way how to test this util
20
- * Note: [🟢] This code should never be published outside of `@promptbook/node` and `@promptbook/cli` and `@promptbook/cli`
20
+ * Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
21
21
  * TODO: [👷‍♂️] @@@ Manual about construction of llmTools
22
22
  * TODO: This should be maybe not under `_common` but under `utils`
23
23
  * TODO: [🧠] Maybe pass env as argument
24
- */
24
+ * TODO: [®] DRY Register logic */
@@ -0,0 +1,15 @@
1
+ import type { PrepareAndScrapeOptions } from '../../../prepare/PrepareAndScrapeOptions';
2
+ import type { LlmExecutionToolsWithTotalUsage } from '../utils/count-total-usage/LlmExecutionToolsWithTotalUsage';
3
+ /**
4
+ * Returns LLM tools for CLI
5
+ *
6
+ * @private within the repository - for CLI utils
7
+ */
8
+ export declare function $provideLlmToolsForCli(options?: Pick<PrepareAndScrapeOptions, 'isCacheCleaned'>): LlmExecutionToolsWithTotalUsage;
9
+ /**
10
+ * Note: [🟡] Code in this file should never be published outside of `@promptbook/cli`
11
+ * TODO: [👷‍♂️] @@@ Manual about construction of llmTools
12
+ * TODO: [🥃] Allow `ptbk make` without llm tools
13
+ * TODO: This should be maybe not under `_common` but under `utils-internal` / `utils/internal`
14
+ * TODO: [®] DRY Register logic
15
+ */
@@ -1,6 +1,6 @@
1
- import '../../_packages/cli.index';
1
+ import '../../../_packages/cli.index';
2
+ import type { LlmExecutionToolsWithTotalUsage } from '../utils/count-total-usage/LlmExecutionToolsWithTotalUsage';
2
3
  import type { CreateLlmToolsFromConfigurationOptions } from './createLlmToolsFromConfiguration';
3
- import type { LlmExecutionToolsWithTotalUsage } from './utils/count-total-usage/LlmExecutionToolsWithTotalUsage';
4
4
  type GetLlmToolsForTestingAndScriptsAndPlaygroundOptions = CreateLlmToolsFromConfigurationOptions & {
5
5
  /**
6
6
  * @@@
@@ -14,10 +14,11 @@ type GetLlmToolsForTestingAndScriptsAndPlaygroundOptions = CreateLlmToolsFromCon
14
14
  *
15
15
  * @private within the repository - JUST FOR TESTS, SCRIPTS AND PLAYGROUND
16
16
  */
17
- export declare function getLlmToolsForTestingAndScriptsAndPlayground(options?: GetLlmToolsForTestingAndScriptsAndPlaygroundOptions): LlmExecutionToolsWithTotalUsage;
17
+ export declare function $provideLlmToolsForTestingAndScriptsAndPlayground(options?: GetLlmToolsForTestingAndScriptsAndPlaygroundOptions): LlmExecutionToolsWithTotalUsage;
18
18
  export {};
19
19
  /**
20
20
  * Note: [⚪] This should never be in any released package
21
21
  * TODO: [👷‍♂️] @@@ Manual about construction of llmTools
22
22
  * TODO: This should be maybe not under `_common` but under `utils-internal` / `utils/internal`
23
+ * TODO: [®] DRY Register logic
23
24
  */
@@ -1,4 +1,4 @@
1
- import { MultipleLlmExecutionTools } from '../multiple/MultipleLlmExecutionTools';
1
+ import { MultipleLlmExecutionTools } from '../../multiple/MultipleLlmExecutionTools';
2
2
  import type { CreateLlmToolsFromConfigurationOptions } from './createLlmToolsFromConfiguration';
3
3
  /**
4
4
  * @@@
@@ -14,12 +14,13 @@ import type { CreateLlmToolsFromConfigurationOptions } from './createLlmToolsFro
14
14
  * @returns @@@
15
15
  * @public exported from `@promptbook/node`
16
16
  */
17
- export declare function createLlmToolsFromEnv(options?: CreateLlmToolsFromConfigurationOptions): MultipleLlmExecutionTools;
17
+ export declare function $provideLlmToolsFromEnv(options?: CreateLlmToolsFromConfigurationOptions): MultipleLlmExecutionTools;
18
18
  /**
19
- * TODO: @@@ write `createLlmToolsFromEnv` vs `createLlmToolsFromConfigurationFromEnv` vs `createLlmToolsFromConfiguration`
20
- * TODO: [🧠][🍛] Which name is better `createLlmToolsFromEnv` or `createLlmToolsFromEnvironment`?
19
+ * TODO: @@@ write `$provideLlmToolsFromEnv` vs `$provideLlmToolsConfigurationFromEnv` vs `createLlmToolsFromConfiguration`
20
+ * TODO: [🧠][🍛] Which name is better `$provideLlmToolsFromEnv` or `$provideLlmToolsFromEnvironment`?
21
21
  * TODO: [🧠] Is there some meaningfull way how to test this util
22
- * Note: [🟢] This code should never be published outside of `@promptbook/node` and `@promptbook/cli` and `@promptbook/cli`
22
+ * Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
23
23
  * TODO: [🥃] Allow `ptbk make` without llm tools
24
24
  * TODO: This should be maybe not under `_common` but under `utils`
25
+ * TODO: [®] DRY Register logic
25
26
  */
@@ -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
  */