@promptbook/openai 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 +65 -62
  2. package/esm/index.es.js +139 -13
  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 +139 -13
  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
@@ -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
  *
@@ -11,12 +11,12 @@ import type { UserInterfaceToolsPromptDialogOptions } from '../../../execution/U
11
11
  */
12
12
  export declare class SimplePromptInterfaceTools implements UserInterfaceTools {
13
13
  private readonly options;
14
- constructor(options?: CommonExecutionToolsOptions);
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,3 +1,4 @@
1
+ import type { Scraper } from '../scrapers/_common/Scraper';
1
2
  import type { Arrayable } from '../types/Arrayable';
2
3
  import type { LlmExecutionTools } from './LlmExecutionTools';
3
4
  import type { ScriptExecutionTools } from './ScriptExecutionTools';
@@ -9,12 +10,21 @@ import type { UserInterfaceTools } from './UserInterfaceTools';
9
10
  */
10
11
  export type ExecutionTools = {
11
12
  /**
12
- * Tools for executing prompts to large language models like GPT-4
13
+ * Tools for executing prompts in large language models
13
14
  *
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
15
+ * Tip: Use `$provideLlmToolsFromEnv()` to use all available LLM providers you configured
16
+ *
17
+ * @default [] - If not provided, no LLM execution will be possible - it does not make sense in most cases
16
18
  */
17
- llm?: Arrayable<LlmExecutionTools>;
19
+ readonly llm?: Arrayable<LlmExecutionTools>;
20
+ /**
21
+ * Scrapers for extracting knowledge from external sources
22
+ *
23
+ * Tip: Use `$provideScrapersForNode` OR `$provideScrapersForBrowser` to use all available scrapers
24
+ *
25
+ * @default [] - If not provided, no external knowledge extraction will be possible
26
+ */
27
+ readonly scrapers?: Arrayable<Scraper>;
18
28
  /**
19
29
  * Tools for executing scripts
20
30
  *
@@ -22,15 +32,17 @@ export type ExecutionTools = {
22
32
  * If none of them supports the script, an error is thrown
23
33
  * Tip: Use here `new JavascriptExecutionTools()`
24
34
  *
25
- * @see https://github.com/webgptorg/promptbook/?tab=readme-ov-file#script-execution-tools
26
35
  * @default [] - If not provided, no script execution will be possible
27
36
  */
28
- script?: Arrayable<ScriptExecutionTools>;
37
+ readonly script?: Arrayable<ScriptExecutionTools>;
29
38
  /**
30
39
  * Tools for interacting with the user
31
40
  *
32
41
  * 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
42
  */
35
- userInterface?: UserInterfaceTools;
43
+ readonly userInterface?: UserInterfaceTools;
36
44
  };
45
+ /**
46
+ * TODO: [🍂] Maybe make llm = $provideLlmToolsFromEnv() without problem with bundle contaminated by only `@promptbook/node` and `@promptbook/cli` stuff
47
+ * TODO: [🍂] Same with scrapers
48
+ */
@@ -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
  /**
@@ -22,7 +22,7 @@ type ExecutePipelineOptions = {
22
22
  /**
23
23
  * @@@
24
24
  */
25
- readonly onProgress?: (taskProgress: TaskProgress) => Promisable<void>;
25
+ onProgress?(taskProgress: TaskProgress): Promisable<void>;
26
26
  /**
27
27
  * @@@
28
28
  */
@@ -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,6 @@ 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
+ */
@@ -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 */
@@ -1,4 +1,4 @@
1
- import type { LlmExecutionToolsWithTotalUsage } from './utils/count-total-usage/LlmExecutionToolsWithTotalUsage';
1
+ import type { LlmExecutionToolsWithTotalUsage } from '../utils/count-total-usage/LlmExecutionToolsWithTotalUsage';
2
2
  type GetLlmToolsForCliOptions = {
3
3
  /**
4
4
  * @@@
@@ -12,11 +12,12 @@ type GetLlmToolsForCliOptions = {
12
12
  *
13
13
  * @private within the repository - for CLI utils
14
14
  */
15
- export declare function getLlmToolsForCli(options?: GetLlmToolsForCliOptions): LlmExecutionToolsWithTotalUsage;
15
+ export declare function $provideLlmToolsForCli(options?: GetLlmToolsForCliOptions): LlmExecutionToolsWithTotalUsage;
16
16
  export {};
17
17
  /**
18
- * Note: [🟡] This code should never be published outside of `@promptbook/cli`
18
+ * Note: [🟡] Code in this file should never be published outside of `@promptbook/cli`
19
19
  * TODO: [👷‍♂️] @@@ Manual about construction of llmTools
20
20
  * TODO: [🥃] Allow `ptbk make` without llm tools
21
21
  * TODO: This should be maybe not under `_common` but under `utils-internal` / `utils/internal`
22
+ * TODO: [®] DRY Register logic
22
23
  */
@@ -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
  */
@@ -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
  */