@promptbook/node 0.72.0-8 → 0.72.0

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 (196) hide show
  1. package/README.md +8 -8
  2. package/esm/index.es.js +6132 -5818
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/src/_packages/browser.index.d.ts +2 -0
  5. package/esm/typings/src/_packages/cli.index.d.ts +20 -0
  6. package/esm/typings/src/_packages/core.index.d.ts +42 -30
  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 +12 -4
  11. package/esm/typings/src/_packages/pdf.index.d.ts +8 -0
  12. package/esm/typings/src/_packages/types.index.d.ts +33 -17
  13. package/esm/typings/src/_packages/utils.index.d.ts +2 -2
  14. package/esm/typings/src/_packages/website-crawler.index.d.ts +8 -0
  15. package/esm/typings/src/collection/PipelineCollection.d.ts +1 -1
  16. package/esm/typings/src/collection/SimplePipelineCollection.d.ts +2 -2
  17. package/esm/typings/src/collection/collectionToJson.d.ts +1 -1
  18. package/esm/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +5 -3
  19. package/esm/typings/src/collection/constructors/createCollectionFromJson.d.ts +1 -1
  20. package/esm/typings/src/collection/constructors/createCollectionFromPromise.d.ts +1 -1
  21. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +5 -5
  22. package/esm/typings/src/config.d.ts +26 -13
  23. package/esm/typings/src/conversion/pipelineStringToJson.d.ts +3 -1
  24. package/esm/typings/src/dialogs/callback/CallbackInterfaceToolsOptions.d.ts +2 -2
  25. package/esm/typings/src/dialogs/simple-prompt/SimplePromptInterfaceTools.d.ts +3 -3
  26. package/esm/typings/src/executables/$provideExecutablesForNode.d.ts +12 -0
  27. package/esm/typings/src/executables/apps/locateLibreoffice.d.ts +11 -0
  28. package/esm/typings/src/executables/apps/locatePandoc.d.ts +11 -0
  29. package/esm/typings/src/executables/locateApp.d.ts +33 -0
  30. package/esm/typings/src/executables/platforms/locateAppOnLinux.d.ts +12 -0
  31. package/esm/typings/src/executables/platforms/locateAppOnMacOs.d.ts +12 -0
  32. package/esm/typings/src/executables/platforms/locateAppOnWindows.d.ts +12 -0
  33. package/esm/typings/src/execution/{CommonExecutionToolsOptions.d.ts → CommonToolsOptions.d.ts} +1 -1
  34. package/esm/typings/src/execution/EmbeddingVector.d.ts +1 -1
  35. package/esm/typings/src/execution/Executables.d.ts +18 -0
  36. package/esm/typings/src/execution/ExecutionTools.d.ts +32 -6
  37. package/esm/typings/src/execution/FilesystemTools.d.ts +9 -0
  38. package/esm/typings/src/execution/LlmExecutionTools.d.ts +2 -2
  39. package/esm/typings/src/execution/PipelineExecutorResult.d.ts +2 -2
  40. package/esm/typings/src/execution/assertsExecutionSuccessful.d.ts +3 -2
  41. package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorOptions.d.ts +29 -6
  42. package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +3 -12
  43. package/esm/typings/src/execution/createPipelineExecutor/20-executeTemplate.d.ts +4 -18
  44. package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +9 -19
  45. package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/LindatAutomaticTranslator.d.ts +11 -3
  46. package/esm/typings/src/execution/translation/automatic-translate/translateMessages.d.ts +1 -0
  47. package/esm/typings/src/execution/utils/$provideExecutionToolsForNode.d.ts +13 -0
  48. package/esm/typings/src/execution/utils/addUsage.d.ts +1 -1
  49. package/esm/typings/src/execution/utils/forEachAsync.d.ts +1 -1
  50. package/esm/typings/src/formats/_common/FormatDefinition.d.ts +2 -2
  51. package/esm/typings/src/formats/_common/FormatSubvalueDefinition.d.ts +2 -2
  52. package/esm/typings/src/llm-providers/_common/{$llmToolsMetadataRegister.d.ts → register/$llmToolsMetadataRegister.d.ts} +4 -1
  53. package/esm/typings/src/llm-providers/_common/{$llmToolsRegister.d.ts → register/$llmToolsRegister.d.ts} +5 -2
  54. package/esm/typings/src/llm-providers/_common/{createLlmToolsFromConfigurationFromEnv.d.ts → register/$provideLlmToolsConfigurationFromEnv.d.ts} +3 -3
  55. package/esm/typings/src/llm-providers/_common/{getLlmToolsForCli.d.ts → register/$provideLlmToolsForCli.d.ts} +4 -11
  56. package/esm/typings/src/llm-providers/_common/{getLlmToolsForTestingAndScriptsAndPlayground.d.ts → register/$provideLlmToolsForTestingAndScriptsAndPlayground.d.ts} +4 -3
  57. package/esm/typings/src/llm-providers/_common/{createLlmToolsFromEnv.d.ts → register/$provideLlmToolsFromEnv.d.ts} +6 -5
  58. package/esm/typings/src/llm-providers/_common/{$registeredLlmToolsMessage.d.ts → register/$registeredLlmToolsMessage.d.ts} +5 -2
  59. package/esm/typings/src/llm-providers/_common/{LlmToolsConfiguration.d.ts → register/LlmToolsConfiguration.d.ts} +6 -5
  60. package/esm/typings/src/llm-providers/_common/{LlmToolsMetadata.d.ts → register/LlmToolsMetadata.d.ts} +5 -4
  61. package/esm/typings/src/llm-providers/_common/{LlmToolsOptions.d.ts → register/LlmToolsOptions.d.ts} +4 -1
  62. package/esm/typings/src/llm-providers/_common/{createLlmToolsFromConfiguration.d.ts → register/createLlmToolsFromConfiguration.d.ts} +12 -4
  63. package/esm/typings/src/llm-providers/_common/utils/cache/CacheLlmToolsOptions.d.ts +4 -1
  64. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -1
  65. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +5 -5
  66. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
  67. package/esm/typings/src/llm-providers/anthropic-claude/register-configuration.d.ts +4 -3
  68. package/esm/typings/src/llm-providers/anthropic-claude/register-constructor.d.ts +4 -3
  69. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
  70. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +4 -3
  71. package/esm/typings/src/llm-providers/azure-openai/register-configuration.d.ts +4 -3
  72. package/esm/typings/src/llm-providers/azure-openai/register-constructor.d.ts +4 -3
  73. package/esm/typings/src/llm-providers/langtail/LangtailExecutionTools.d.ts +1 -1
  74. package/esm/typings/src/llm-providers/mocked/$fakeTextToExpectations.d.ts +1 -1
  75. package/esm/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +4 -4
  76. package/esm/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +4 -4
  77. package/esm/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +4 -4
  78. package/esm/typings/src/llm-providers/multiple/joinLlmExecutionTools.d.ts +1 -1
  79. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +0 -1
  80. package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +2 -2
  81. package/esm/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +4 -4
  82. package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -1
  83. package/esm/typings/src/llm-providers/openai/register-configuration.d.ts +5 -4
  84. package/esm/typings/src/llm-providers/openai/register-constructor.d.ts +5 -4
  85. package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +4 -4
  86. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_ListModels_Request.d.ts +16 -7
  87. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_ListModels_Response.d.ts +4 -4
  88. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Request.d.ts +7 -13
  89. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Response.d.ts +3 -3
  90. package/esm/typings/src/llm-providers/remote/interfaces/RemoteLlmExecutionToolsOptions.d.ts +11 -16
  91. package/esm/typings/src/llm-providers/remote/interfaces/RemoteServerOptions.d.ts +24 -9
  92. package/esm/typings/src/llm-providers/remote/startRemoteServer.d.ts +1 -1
  93. package/esm/typings/src/personas/preparePersona.d.ts +2 -1
  94. package/esm/typings/src/prepare/PrepareAndScrapeOptions.d.ts +10 -28
  95. package/esm/typings/src/prepare/preparePipeline.d.ts +2 -1
  96. package/esm/typings/src/prepare/prepareTemplates.d.ts +3 -2
  97. package/esm/typings/src/scrapers/_common/Converter.d.ts +4 -10
  98. package/esm/typings/src/scrapers/_common/Scraper.d.ts +5 -17
  99. package/esm/typings/src/scrapers/_common/prepareKnowledgePieces.d.ts +2 -1
  100. package/esm/typings/src/scrapers/_common/register/$provideFilesystemForNode.d.ts +11 -0
  101. package/esm/typings/src/scrapers/_common/register/$provideScrapersForBrowser.d.ts +12 -0
  102. package/esm/typings/src/scrapers/_common/register/$provideScrapersForNode.d.ts +15 -0
  103. package/esm/typings/src/scrapers/_common/register/$registeredScrapersMessage.d.ts +12 -0
  104. package/esm/typings/src/scrapers/_common/register/$scrapersMetadataRegister.d.ts +13 -0
  105. package/esm/typings/src/scrapers/_common/register/$scrapersRegister.d.ts +13 -0
  106. package/esm/typings/src/scrapers/_common/register/ScraperAndConverterMetadata.d.ts +41 -0
  107. package/esm/typings/src/scrapers/_common/register/ScraperConstructor.d.ts +12 -0
  108. package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.d.ts +3 -2
  109. package/esm/typings/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +3 -2
  110. package/esm/typings/src/scrapers/document/{documentScraper.d.ts → DocumentScraper.d.ts} +18 -12
  111. package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +20 -0
  112. package/esm/typings/src/scrapers/document/register-constructor.d.ts +13 -0
  113. package/esm/typings/src/scrapers/document/register-metadata.d.ts +24 -0
  114. package/esm/typings/src/scrapers/document-legacy/LegacyDocumentScraper.d.ts +43 -0
  115. package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +20 -0
  116. package/esm/typings/src/scrapers/document-legacy/register-constructor.d.ts +13 -0
  117. package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +24 -0
  118. package/esm/typings/src/scrapers/markdown/MarkdownScraper.d.ts +29 -0
  119. package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +20 -0
  120. package/esm/typings/src/scrapers/markdown/register-constructor.d.ts +13 -0
  121. package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +24 -0
  122. package/esm/typings/src/scrapers/pdf/PdfScraper.d.ts +40 -0
  123. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +20 -0
  124. package/esm/typings/src/scrapers/pdf/register-constructor.d.ts +13 -0
  125. package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +24 -0
  126. package/esm/typings/src/scrapers/website/WebsiteScraper.d.ts +50 -0
  127. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +20 -0
  128. package/esm/typings/src/scrapers/website/register-constructor.d.ts +13 -0
  129. package/esm/typings/src/scrapers/website/register-metadata.d.ts +24 -0
  130. package/esm/typings/src/scrapers/website/utils/createShowdownConverter.d.ts +7 -0
  131. package/esm/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +2 -2
  132. package/esm/typings/src/scripting/javascript/utils/preserve.d.ts +1 -1
  133. package/esm/typings/src/scripting/python/PythonExecutionTools.d.ts +3 -3
  134. package/esm/typings/src/scripting/typescript/TypescriptExecutionTools.d.ts +3 -3
  135. package/esm/typings/src/storage/file-cache-storage/FileCacheStorage.d.ts +5 -3
  136. package/esm/typings/src/storage/file-cache-storage/utils/nameToSubfolderPath.d.ts +1 -1
  137. package/esm/typings/src/storage/{utils → memory/utils}/PrefixStorage.d.ts +1 -1
  138. package/esm/typings/src/storage/{utils → memory/utils}/makePromptbookStorageFromWebStorage.d.ts +1 -1
  139. package/esm/typings/src/types/Arrayable.d.ts +1 -1
  140. package/esm/typings/src/types/IntermediateFilesStrategy.d.ts +7 -0
  141. package/esm/typings/src/types/PipelineJson/KnowledgePieceJson.d.ts +4 -4
  142. package/esm/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +1 -1
  143. package/esm/typings/src/types/PipelineJson/PersonaJson.d.ts +1 -1
  144. package/esm/typings/src/types/PipelineJson/TemplateJsonCommon.d.ts +2 -2
  145. package/esm/typings/src/types/Prompt.d.ts +2 -1
  146. package/esm/typings/src/types/execution-report/ExecutionReportJson.d.ts +1 -1
  147. package/esm/typings/src/types/typeAliases.d.ts +18 -8
  148. package/esm/typings/src/utils/$Register.d.ts +20 -7
  149. package/esm/typings/src/utils/FromtoItems.d.ts +1 -1
  150. package/esm/typings/src/utils/arrayableToArray.d.ts +1 -1
  151. package/esm/typings/src/utils/emojis.d.ts +1 -1
  152. package/esm/typings/src/utils/execCommand/$execCommand.d.ts +5 -3
  153. package/esm/typings/src/utils/execCommand/$execCommandNormalizeOptions.d.ts +12 -0
  154. package/esm/typings/src/utils/execCommand/$execCommands.d.ts +2 -1
  155. package/esm/typings/src/utils/execCommand/ExecCommandOptions.d.ts +45 -0
  156. package/esm/typings/src/utils/expectation-counters/countSentences.d.ts +1 -1
  157. package/esm/typings/src/utils/files/isDirectoryExisting.d.ts +14 -0
  158. package/esm/typings/src/utils/files/isExecutable.d.ts +11 -0
  159. package/esm/typings/src/utils/files/isFileExisting.d.ts +13 -0
  160. package/esm/typings/src/utils/files/isFileExisting.test.d.ts +1 -0
  161. package/esm/typings/src/utils/files/{$listAllFiles.d.ts → listAllFiles.d.ts} +3 -4
  162. package/esm/typings/src/utils/files/listAllFiles.test.d.ts +1 -0
  163. package/esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +1 -1
  164. package/esm/typings/src/utils/markdown/splitMarkdownIntoSections.d.ts +1 -1
  165. package/esm/typings/src/utils/normalization/IKeywords.d.ts +2 -2
  166. package/esm/typings/src/utils/normalization/parseKeywords.d.ts +2 -2
  167. package/esm/typings/src/utils/normalization/parseKeywordsFromString.d.ts +2 -2
  168. package/esm/typings/src/utils/normalization/searchKeywords.d.ts +2 -2
  169. package/esm/typings/src/utils/organization/TODO_USE.d.ts +1 -1
  170. package/esm/typings/src/utils/organization/keepUnused.d.ts +1 -1
  171. package/esm/typings/src/utils/random/$randomSeed.d.ts +1 -1
  172. package/esm/typings/src/utils/sets/intersection.d.ts +1 -1
  173. package/esm/typings/src/utils/sets/union.d.ts +1 -1
  174. package/esm/typings/src/utils/unwrapResult.d.ts +4 -4
  175. package/package.json +4 -6
  176. package/umd/index.umd.js +6133 -5813
  177. package/umd/index.umd.js.map +1 -1
  178. package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorSettings.d.ts +0 -29
  179. package/esm/typings/src/scrapers/document-legacy/legacyDocumentScraper.d.ts +0 -37
  180. package/esm/typings/src/scrapers/index.d.ts +0 -8
  181. package/esm/typings/src/scrapers/markdown/markdownScraper.d.ts +0 -29
  182. package/esm/typings/src/scrapers/pdf/pdfScraper.d.ts +0 -35
  183. package/esm/typings/src/scrapers/website/utils/markdownConverter.d.ts +0 -12
  184. package/esm/typings/src/scrapers/website/websiteScraper.d.ts +0 -43
  185. package/esm/typings/src/utils/execCommand/IExecCommandOptions.d.ts +0 -23
  186. package/esm/typings/src/utils/execCommand/execCommandNormalizeOptions.d.ts +0 -10
  187. package/esm/typings/src/utils/files/$isDirectoryExisting.d.ts +0 -15
  188. package/esm/typings/src/utils/files/$isFileExisting.d.ts +0 -14
  189. /package/esm/typings/src/{scrapers/website/utils/markdownConverter.test.d.ts → executables/apps/locateLibreoffice.test.d.ts} +0 -0
  190. /package/esm/typings/src/{scrapers/website/websiteScraper.test.d.ts → executables/apps/locatePandoc.test.d.ts} +0 -0
  191. /package/esm/typings/src/{utils/files/$isDirectoryExisting.test.d.ts → executables/locateApp.test.d.ts} +0 -0
  192. /package/esm/typings/src/scrapers/document/{documentScraper.test.d.ts → DocumentScraper.test.d.ts} +0 -0
  193. /package/esm/typings/src/scrapers/document-legacy/{legacyDocumentScraper.test.d.ts → LegacyDocumentScraper.test.d.ts} +0 -0
  194. /package/esm/typings/src/scrapers/markdown/{markdownScraper.test.d.ts → MarkdownScraper.test.d.ts} +0 -0
  195. /package/esm/typings/src/{utils/files/$isFileExisting.test.d.ts → scrapers/website/utils/createShowdownConverter.test.d.ts} +0 -0
  196. /package/esm/typings/src/utils/files/{$listAllFiles.test.d.ts → isDirectoryExisting.test.d.ts} +0 -0
@@ -1,9 +1,17 @@
1
1
  import type { AutomaticTranslator } from './AutomaticTranslator';
2
2
  import type { TranslatorOptions } from './TranslatorOptions';
3
- interface LindatAutomaticTranslatorOptions extends TranslatorOptions {
4
- apiUrl?: URL;
5
- }
6
3
  /**
4
+ * @@@
5
+ */
6
+ type LindatAutomaticTranslatorOptions = TranslatorOptions & {
7
+ /**
8
+ * @@@
9
+ */
10
+ readonly apiUrl?: URL;
11
+ };
12
+ /**
13
+ * @@@
14
+ *
7
15
  * @private still in development [🏳]
8
16
  */
9
17
  export declare class LindatAutomaticTranslator implements AutomaticTranslator {
@@ -8,4 +8,5 @@ export declare function translateMessages({ automaticTranslator, from, to, }: {
8
8
  } & TranslatorOptions): Promise<void>;
9
9
  /**
10
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
11
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
+ */
@@ -6,4 +6,4 @@ import type { PromptResultUsage } from '../PromptResultUsage';
6
6
  *
7
7
  * @public exported from `@promptbook/core`
8
8
  */
9
- export declare function addUsage(...usageItems: Array<PromptResultUsage>): PromptResultUsage;
9
+ export declare function addUsage(...usageItems: ReadonlyArray<PromptResultUsage>): PromptResultUsage;
@@ -16,5 +16,5 @@ type ForEachAsyncOptions = {
16
16
  * @public exported from `@promptbook/utils`
17
17
  * @deprecated [🪂] Use queues instead
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
+ export declare function forEachAsync<TItem>(array: ReadonlyArray<TItem>, options: ForEachAsyncOptions, callbackfunction: (value: TItem, index: number, array: ReadonlyArray<TItem>) => Promisable<void>): Promise<void>;
20
20
  export {};
@@ -21,7 +21,7 @@ export type FormatDefinition<TValue extends TPartialValue, TPartialValue extends
21
21
  /**
22
22
  * Aliases for the `formatName`
23
23
  */
24
- readonly aliases?: Array<string_name & string_SCREAMING_CASE>;
24
+ readonly aliases?: ReadonlyArray<string_name & string_SCREAMING_CASE>;
25
25
  /**
26
26
  * The mime type of the format (if any)
27
27
  *
@@ -58,7 +58,7 @@ export type FormatDefinition<TValue extends TPartialValue, TPartialValue extends
58
58
  /**
59
59
  * @@@
60
60
  */
61
- readonly subvalueDefinitions: Array<FormatSubvalueDefinition<TValue, TSettings>>;
61
+ readonly subvalueDefinitions: ReadonlyArray<FormatSubvalueDefinition<TValue, TSettings>>;
62
62
  };
63
63
  /**
64
64
  * TODO: [♏] Add some prepare hook to modify prompt according to the format
@@ -1,7 +1,7 @@
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';
4
3
  import type { string_name } from '../../types/typeAliases';
4
+ import type { string_parameter_name } from '../../types/typeAliases';
5
5
  import type { string_SCREAMING_CASE } from '../../utils/normalization/normalizeTo_SCREAMING_CASE';
6
6
  import type { empty_object } from '../../utils/organization/empty_object';
7
7
  /**
@@ -17,7 +17,7 @@ export type FormatSubvalueDefinition<TValue extends string, TSettings extends em
17
17
  /**
18
18
  * Aliases for the `subvalueName`
19
19
  */
20
- readonly aliases?: Array<string_name & string_SCREAMING_CASE>;
20
+ readonly aliases?: ReadonlyArray<string_name & string_SCREAMING_CASE>;
21
21
  /**
22
22
  * Maps values
23
23
  *
@@ -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: [🟢] Code in this file should never be published outside of `@promptbook/node` 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,22 +1,15 @@
1
- import type { LlmExecutionToolsWithTotalUsage } from './utils/count-total-usage/LlmExecutionToolsWithTotalUsage';
2
- type GetLlmToolsForCliOptions = {
3
- /**
4
- * @@@
5
- *
6
- * @default false
7
- */
8
- isCacheReloaded?: boolean;
9
- };
1
+ import type { CacheLlmToolsOptions } from '../utils/cache/CacheLlmToolsOptions';
2
+ import type { LlmExecutionToolsWithTotalUsage } from '../utils/count-total-usage/LlmExecutionToolsWithTotalUsage';
10
3
  /**
11
4
  * Returns LLM tools for CLI
12
5
  *
13
6
  * @private within the repository - for CLI utils
14
7
  */
15
- export declare function getLlmToolsForCli(options?: GetLlmToolsForCliOptions): LlmExecutionToolsWithTotalUsage;
16
- export {};
8
+ export declare function $provideLlmToolsForCli(options?: Pick<CacheLlmToolsOptions, 'isCacheReloaded'>): LlmExecutionToolsWithTotalUsage;
17
9
  /**
18
10
  * Note: [🟡] Code in this file should never be published outside of `@promptbook/cli`
19
11
  * TODO: [👷‍♂️] @@@ Manual about construction of llmTools
20
12
  * TODO: [🥃] Allow `ptbk make` without llm tools
21
13
  * TODO: This should be maybe not under `_common` but under `utils-internal` / `utils/internal`
14
+ * TODO: [®] DRY Register logic
22
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: [🟢] Code in this file should never be published outside of `@promptbook/node` 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,22 +1,23 @@
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
  * @@@
6
6
  *
7
7
  * @@@ `LlmToolsMetadata` vs `LlmToolsConfiguration` vs `LlmToolsOptions` (vs `Registered`)
8
8
  */
9
- export type LlmToolsConfiguration = Array<Registered & {
9
+ export type LlmToolsConfiguration = ReadonlyArray<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,10 @@
1
- import { MultipleLlmExecutionTools } from '../multiple/MultipleLlmExecutionTools';
1
+ import type { string_user_id } from '../../../types/typeAliases';
2
+ import { MultipleLlmExecutionTools } from '../../multiple/MultipleLlmExecutionTools';
2
3
  import type { LlmToolsConfiguration } from './LlmToolsConfiguration';
3
4
  /**
4
- * Options for `createLlmToolsFromEnv`
5
+ * Options for `$provideLlmToolsFromEnv`
5
6
  *
6
- * @private internal type for `createLlmToolsFromEnv` and `getLlmToolsForTestingAndScriptsAndPlayground`
7
+ * @private internal type for `$provideLlmToolsFromEnv` and `$provideLlmToolsForTestingAndScriptsAndPlayground`
7
8
  */
8
9
  export type CreateLlmToolsFromConfigurationOptions = {
9
10
  /**
@@ -12,6 +13,12 @@ export type CreateLlmToolsFromConfigurationOptions = {
12
13
  * @default false
13
14
  */
14
15
  isVerbose?: boolean;
16
+ /**
17
+ * Identifier of the end user
18
+ *
19
+ * Note: This is passed to the LLM tools providers to identify misuse
20
+ */
21
+ readonly userId?: string_user_id | null;
15
22
  };
16
23
  /**
17
24
  * @@@
@@ -23,10 +30,11 @@ export type CreateLlmToolsFromConfigurationOptions = {
23
30
  */
24
31
  export declare function createLlmToolsFromConfiguration(configuration: LlmToolsConfiguration, options?: CreateLlmToolsFromConfigurationOptions): MultipleLlmExecutionTools;
25
32
  /**
26
- * TODO: [🎌] Togethere with `createLlmToolsFromConfiguration` + 'EXECUTION_TOOLS_CLASSES' gets to `@promptbook/core` ALL model providers, make this more efficient
33
+ * TODO: [🎌] Together with `createLlmToolsFromConfiguration` + 'EXECUTION_TOOLS_CLASSES' gets to `@promptbook/core` ALL model providers, make this more efficient
27
34
  * TODO: [🧠][🎌] Dynamically install required providers
28
35
  * TODO: @@@ write discussion about this - wizzard
29
36
  * TODO: [🧠][🍛] Which name is better `createLlmToolsFromConfig` or `createLlmToolsFromConfiguration`?
30
37
  * TODO: [🧠] Is there some meaningfull way how to test this util
31
38
  * TODO: This should be maybe not under `_common` but under `utils`
39
+ * TODO: [®] DRY Register logic
32
40
  */
@@ -1,5 +1,8 @@
1
1
  import type { PromptbookStorage } from '../../../../storage/_common/PromptbookStorage';
2
2
  import type { CacheItem } from './CacheItem';
3
+ /**
4
+ * @@@
5
+ */
3
6
  export type CacheLlmToolsOptions = {
4
7
  /**
5
8
  * @@@
@@ -12,5 +15,5 @@ export type CacheLlmToolsOptions = {
12
15
  *
13
16
  * @default false
14
17
  */
15
- isReloaded?: boolean;
18
+ isCacheReloaded?: boolean;
16
19
  };
@@ -35,7 +35,7 @@ export declare class AnthropicClaudeExecutionTools implements LlmExecutionTools
35
35
  /**
36
36
  * List all available Anthropic Claude models that can be used
37
37
  */
38
- listModels(): Array<AvailableModel>;
38
+ listModels(): ReadonlyArray<AvailableModel>;
39
39
  /**
40
40
  * Calls Anthropic Claude API to use a chat model.
41
41
  */
@@ -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,9 +23,9 @@ 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
- } & Pick<RemoteLlmExecutionToolsOptions, 'remoteUrl' | 'path'>;
28
+ } & Pick<RemoteLlmExecutionToolsOptions<undefined>, 'remoteUrl' | 'path'>;
29
29
  /**
30
- * TODO: [🧠][🤺] Detecting `user`
30
+ * TODO: [🧠][🤺] Pass `userId`
31
31
  */
@@ -8,7 +8,7 @@ import type { number_usd } from '../../types/typeAliases';
8
8
  * @see https://docs.anthropic.com/en/docs/models-overview
9
9
  * @public exported from `@promptbook/anthropic-claude`
10
10
  */
11
- export declare const ANTHROPIC_CLAUDE_MODELS: Array<AvailableModel & {
11
+ export declare const ANTHROPIC_CLAUDE_MODELS: ReadonlyArray<AvailableModel & {
12
12
  pricing?: {
13
13
  readonly prompt: number_usd;
14
14
  readonly output: number_usd;
@@ -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
  */
@@ -35,7 +35,7 @@ export declare class AzureOpenAiExecutionTools implements LlmExecutionTools {
35
35
  /**
36
36
  * List all available Azure OpenAI models that can be used
37
37
  */
38
- listModels(): Promise<Array<AvailableModel>>;
38
+ listModels(): Promise<ReadonlyArray<AvailableModel>>;
39
39
  /**
40
40
  * Calls OpenAI API to use a chat model.
41
41
  */
@@ -1,13 +1,14 @@
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
+ import type { string_user_id } from '../../types/typeAliases';
4
5
  /**
5
6
  * Options for `AzureOpenAiExecutionTools`
6
7
  *
7
8
  * @see https://oai.azure.com/portal/
8
9
  * @public exported from `@promptbook/azure-openai`
9
10
  */
10
- export type AzureOpenAiExecutionToolsOptions = CommonExecutionToolsOptions & {
11
+ export type AzureOpenAiExecutionToolsOptions = CommonToolsOptions & {
11
12
  /**
12
13
  * The resource name of the Azure OpenAI resource
13
14
  *
@@ -32,5 +33,5 @@ export type AzureOpenAiExecutionToolsOptions = CommonExecutionToolsOptions & {
32
33
  *
33
34
  * @see https://platform.openai.com/docs/guides/safety-best-practices/end-user-ids (document from OpenAI not Azure, but same concept)
34
35
  */
35
- readonly user?: string_token;
36
+ readonly userId: string_user_id | null;
36
37
  };
@@ -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
  */
@@ -14,4 +14,4 @@ export declare class LangtailExecutionTools extends OpenAiExecutionTools impleme
14
14
  }
15
15
  /**
16
16
  * TODO: [🧠][🈁] Maybe use `isDeterministic` from options
17
- */
17
+ */
@@ -9,7 +9,7 @@ import type { string_postprocessing_function_name } from '../../types/typeAliase
9
9
  *
10
10
  * @private internal utility for MockedFackedLlmExecutionTools
11
11
  */
12
- export declare function $fakeTextToExpectations(expectations: Expectations, postprocessingFunctionNames?: Array<string_postprocessing_function_name>): Promise<string>;
12
+ export declare function $fakeTextToExpectations(expectations: Expectations, postprocessingFunctionNames?: ReadonlyArray<string_postprocessing_function_name>): Promise<string>;
13
13
  /**
14
14
  * TODO: [💝] Unite object for expecting amount and format - use here also a format
15
15
  */
@@ -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';
@@ -13,8 +13,8 @@ import type { string_title } from '../../types/typeAliases';
13
13
  * @public exported from `@promptbook/fake-llm`
14
14
  */
15
15
  export declare class MockedEchoLlmExecutionTools implements LlmExecutionTools {
16
- protected readonly options: CommonExecutionToolsOptions;
17
- constructor(options?: CommonExecutionToolsOptions);
16
+ protected readonly options: CommonToolsOptions;
17
+ constructor(options?: CommonToolsOptions);
18
18
  get title(): string_title & string_markdown_text;
19
19
  get description(): string_markdown;
20
20
  /**
@@ -24,7 +24,7 @@ export declare class MockedEchoLlmExecutionTools implements LlmExecutionTools {
24
24
  /**
25
25
  * List all available mocked-models that can be used
26
26
  */
27
- listModels(): Array<AvailableModel>;
27
+ listModels(): ReadonlyArray<AvailableModel>;
28
28
  /**
29
29
  * Mocks chat model
30
30
  */
@@ -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,8 +14,8 @@ import type { string_title } from '../../types/typeAliases';
14
14
  * @public exported from `@promptbook/fake-llm`
15
15
  */
16
16
  export declare class MockedFackedLlmExecutionTools implements LlmExecutionTools {
17
- protected readonly options: CommonExecutionToolsOptions;
18
- constructor(options?: CommonExecutionToolsOptions);
17
+ protected readonly options: CommonToolsOptions;
18
+ constructor(options?: CommonToolsOptions);
19
19
  get title(): string_title & string_markdown_text;
20
20
  get description(): string_markdown;
21
21
  /**
@@ -25,7 +25,7 @@ export declare class MockedFackedLlmExecutionTools implements LlmExecutionTools
25
25
  /**
26
26
  * List all available fake-models that can be used
27
27
  */
28
- listModels(): Array<AvailableModel>;
28
+ listModels(): ReadonlyArray<AvailableModel>;
29
29
  /**
30
30
  * Fakes chat model
31
31
  */
@@ -15,17 +15,17 @@ import type { string_title } from '../../types/typeAliases';
15
15
  * Multiple LLM Execution Tools is a proxy server that uses multiple execution tools internally and exposes the executor interface externally.
16
16
  *
17
17
  * Note: Internal utility of `joinLlmExecutionTools` but exposed type
18
- * @public exported from `@promptbook/types`
18
+ * @public exported from `@promptbook/core`
19
19
  */
20
20
  export declare class MultipleLlmExecutionTools implements LlmExecutionTools {
21
21
  /**
22
22
  * Array of execution tools in order of priority
23
23
  */
24
- readonly llmExecutionTools: Array<LlmExecutionTools>;
24
+ readonly llmExecutionTools: ReadonlyArray<LlmExecutionTools>;
25
25
  /**
26
26
  * Gets array of execution tools in order of priority
27
27
  */
28
- constructor(...llmExecutionTools: Array<LlmExecutionTools>);
28
+ constructor(...llmExecutionTools: ReadonlyArray<LlmExecutionTools>);
29
29
  get title(): string_title & string_markdown_text;
30
30
  get description(): string_markdown;
31
31
  /**
@@ -36,7 +36,7 @@ export declare class MultipleLlmExecutionTools implements LlmExecutionTools {
36
36
  * List all available models that can be used
37
37
  * This lists is a combination of all available models from all execution tools
38
38
  */
39
- listModels(): Promise<Array<AvailableModel>>;
39
+ listModels(): Promise<ReadonlyArray<AvailableModel>>;
40
40
  /**
41
41
  * Calls the best available chat model
42
42
  */
@@ -15,7 +15,7 @@ import { MultipleLlmExecutionTools } from './MultipleLlmExecutionTools';
15
15
  *
16
16
  * @public exported from `@promptbook/core`
17
17
  */
18
- export declare function joinLlmExecutionTools(...llmExecutionTools: Array<LlmExecutionTools>): MultipleLlmExecutionTools;
18
+ export declare function joinLlmExecutionTools(...llmExecutionTools: ReadonlyArray<LlmExecutionTools>): MultipleLlmExecutionTools;
19
19
  /**
20
20
  * TODO: [👷‍♂️] @@@ Manual about construction of llmTools
21
21
  */