@promptbook/browser 0.72.0-1 → 0.72.0-11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/README.md +10 -0
  2. package/esm/index.es.js +50 -6
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/src/_packages/browser.index.d.ts +3 -1
  5. package/esm/typings/src/_packages/cli.index.d.ts +20 -0
  6. package/esm/typings/src/_packages/core.index.d.ts +38 -14
  7. package/esm/typings/src/_packages/documents.index.d.ts +8 -0
  8. package/esm/typings/src/_packages/legacy-documents.index.d.ts +8 -0
  9. package/esm/typings/src/_packages/markdown-utils.index.d.ts +6 -0
  10. package/esm/typings/src/_packages/node.index.d.ts +16 -6
  11. package/esm/typings/src/_packages/pdf.index.d.ts +8 -0
  12. package/esm/typings/src/_packages/types.index.d.ts +49 -27
  13. package/esm/typings/src/_packages/website-crawler.index.d.ts +8 -0
  14. package/esm/typings/src/cli/cli-commands/about.d.ts +1 -1
  15. package/esm/typings/src/cli/cli-commands/hello.d.ts +2 -1
  16. package/esm/typings/src/cli/cli-commands/make.d.ts +1 -1
  17. package/esm/typings/src/cli/cli-commands/prettify.d.ts +2 -1
  18. package/esm/typings/src/cli/cli-commands/test-command.d.ts +13 -0
  19. package/esm/typings/src/cli/main.d.ts +1 -1
  20. package/esm/typings/src/cli/promptbookCli.d.ts +1 -1
  21. package/esm/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +11 -6
  22. package/esm/typings/src/collection/constructors/createCollectionFromUrl.d.ts +1 -1
  23. package/esm/typings/src/commands/EXPECT/expectCommandParser.d.ts +1 -1
  24. package/esm/typings/src/commands/FOREACH/ForeachJson.d.ts +5 -1
  25. package/esm/typings/src/commands/FOREACH/foreachCommandParser.d.ts +1 -1
  26. package/esm/typings/src/commands/FORMAT/formatCommandParser.d.ts +1 -1
  27. package/esm/typings/src/commands/JOKER/jokerCommandParser.d.ts +1 -1
  28. package/esm/typings/src/commands/KNOWLEDGE/knowledgeCommandParser.d.ts +1 -1
  29. package/esm/typings/src/commands/KNOWLEDGE/utils/sourceContentToName.d.ts +11 -0
  30. package/esm/typings/src/commands/KNOWLEDGE/utils/sourceContentToName.test.d.ts +4 -0
  31. package/esm/typings/src/commands/MODEL/modelCommandParser.d.ts +1 -1
  32. package/esm/typings/src/commands/PARAMETER/parameterCommandParser.d.ts +1 -1
  33. package/esm/typings/src/commands/PERSONA/personaCommandParser.d.ts +1 -1
  34. package/esm/typings/src/commands/POSTPROCESS/postprocessCommandParser.d.ts +1 -1
  35. package/esm/typings/src/commands/PROMPTBOOK_VERSION/promptbookVersionCommandParser.d.ts +1 -1
  36. package/esm/typings/src/commands/TEMPLATE/templateCommandParser.d.ts +1 -1
  37. package/esm/typings/src/commands/URL/urlCommandParser.d.ts +1 -1
  38. package/esm/typings/src/commands/X_ACTION/actionCommandParser.d.ts +1 -1
  39. package/esm/typings/src/commands/X_INSTRUMENT/instrumentCommandParser.d.ts +1 -1
  40. package/esm/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +1 -1
  41. package/esm/typings/src/config.d.ts +16 -0
  42. package/esm/typings/src/conversion/pipelineStringToJson.d.ts +4 -15
  43. package/esm/typings/src/conversion/pipelineStringToJsonSync.d.ts +1 -1
  44. package/esm/typings/src/conversion/validation/_importPipeline.d.ts +1 -1
  45. package/esm/typings/src/conversion/validation/validatePipeline.d.ts +5 -5
  46. package/esm/typings/src/{knowledge/dialogs → dialogs}/callback/CallbackInterfaceTools.d.ts +2 -2
  47. package/esm/typings/src/{knowledge/dialogs → dialogs}/callback/CallbackInterfaceToolsOptions.d.ts +3 -3
  48. package/esm/typings/src/{knowledge/dialogs → dialogs}/simple-prompt/SimplePromptInterfaceTools.d.ts +6 -6
  49. package/esm/typings/src/errors/AbstractFormatError.d.ts +11 -0
  50. package/esm/typings/src/errors/KnowledgeScrapeError.d.ts +9 -0
  51. package/esm/typings/src/errors/MissingToolsError.d.ts +9 -0
  52. package/esm/typings/src/execution/{CommonExecutionToolsOptions.d.ts → CommonToolsOptions.d.ts} +1 -1
  53. package/esm/typings/src/execution/ExecutionTools.d.ts +29 -9
  54. package/esm/typings/src/execution/FilesystemTools.d.ts +9 -0
  55. package/esm/typings/src/execution/PipelineExecutor.d.ts +1 -0
  56. package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorOptions.d.ts +5 -2
  57. package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorSettings.d.ts +2 -13
  58. package/esm/typings/src/execution/createPipelineExecutor/00-createPipelineExecutor.d.ts +3 -0
  59. package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +4 -1
  60. package/esm/typings/src/execution/createPipelineExecutor/20-executeTemplate.d.ts +4 -6
  61. package/esm/typings/src/execution/createPipelineExecutor/{30-executeFormatCells.d.ts → 30-executeFormatSubvalues.d.ts} +2 -6
  62. package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +1 -6
  63. package/esm/typings/src/execution/embeddingVectorToString.d.ts +1 -1
  64. package/esm/typings/src/execution/translation/automatic-translate/translateMessages.d.ts +4 -0
  65. package/esm/typings/src/execution/utils/$provideExecutionToolsForNode.d.ts +13 -0
  66. package/esm/typings/src/execution/utils/forEachAsync.d.ts +1 -0
  67. package/esm/typings/src/formats/_common/FormatSubvalueDefinition.d.ts +2 -1
  68. package/esm/typings/src/formats/csv/CsvFormatError.d.ts +10 -0
  69. package/esm/typings/src/llm-providers/_common/{$llmToolsMetadataRegister.d.ts → register/$llmToolsMetadataRegister.d.ts} +4 -1
  70. package/esm/typings/src/llm-providers/_common/{$llmToolsRegister.d.ts → register/$llmToolsRegister.d.ts} +5 -2
  71. package/esm/typings/src/llm-providers/_common/{createLlmToolsFromConfigurationFromEnv.d.ts → register/$provideLlmToolsConfigurationFromEnv.d.ts} +3 -3
  72. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForCli.d.ts +15 -0
  73. package/esm/typings/src/llm-providers/_common/{getLlmToolsForTestingAndScriptsAndPlayground.d.ts → register/$provideLlmToolsForTestingAndScriptsAndPlayground.d.ts} +4 -3
  74. package/esm/typings/src/llm-providers/_common/{createLlmToolsFromEnv.d.ts → register/$provideLlmToolsFromEnv.d.ts} +6 -5
  75. package/esm/typings/src/llm-providers/_common/{$registeredLlmToolsMessage.d.ts → register/$registeredLlmToolsMessage.d.ts} +5 -2
  76. package/esm/typings/src/llm-providers/_common/{LlmToolsConfiguration.d.ts → register/LlmToolsConfiguration.d.ts} +5 -4
  77. package/esm/typings/src/llm-providers/_common/{LlmToolsMetadata.d.ts → register/LlmToolsMetadata.d.ts} +5 -4
  78. package/esm/typings/src/llm-providers/_common/{LlmToolsOptions.d.ts → register/LlmToolsOptions.d.ts} +4 -1
  79. package/esm/typings/src/llm-providers/_common/{createLlmToolsFromConfiguration.d.ts → register/createLlmToolsFromConfiguration.d.ts} +5 -4
  80. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +5 -5
  81. package/esm/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +3 -2
  82. package/esm/typings/src/llm-providers/anthropic-claude/register-configuration.d.ts +4 -3
  83. package/esm/typings/src/llm-providers/anthropic-claude/register-constructor.d.ts +4 -3
  84. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +6 -0
  85. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +4 -3
  86. package/esm/typings/src/llm-providers/azure-openai/playground/playground.d.ts +1 -0
  87. package/esm/typings/src/llm-providers/azure-openai/register-configuration.d.ts +4 -3
  88. package/esm/typings/src/llm-providers/azure-openai/register-constructor.d.ts +4 -3
  89. package/esm/typings/src/llm-providers/langtail/LangtailExecutionTools.d.ts +1 -1
  90. package/esm/typings/src/llm-providers/langtail/playground/playground.d.ts +3 -0
  91. package/esm/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +3 -3
  92. package/esm/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +3 -3
  93. package/esm/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +1 -0
  94. package/esm/typings/src/llm-providers/multiple/playground/playground.d.ts +3 -0
  95. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +1 -1
  96. package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +1 -1
  97. package/esm/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +4 -4
  98. package/esm/typings/src/llm-providers/openai/playground/playground.d.ts +2 -1
  99. package/esm/typings/src/llm-providers/openai/register-configuration.d.ts +5 -4
  100. package/esm/typings/src/llm-providers/openai/register-constructor.d.ts +5 -4
  101. package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +3 -3
  102. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_ListModels_Request.d.ts +16 -7
  103. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_ListModels_Response.d.ts +2 -2
  104. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Request.d.ts +7 -13
  105. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Response.d.ts +1 -1
  106. package/esm/typings/src/llm-providers/remote/interfaces/RemoteLlmExecutionToolsOptions.d.ts +11 -16
  107. package/esm/typings/src/llm-providers/remote/interfaces/RemoteServerOptions.d.ts +23 -9
  108. package/esm/typings/src/llm-providers/remote/playground/playground.d.ts +3 -0
  109. package/esm/typings/src/llm-providers/remote/startRemoteServer.d.ts +1 -1
  110. package/esm/typings/src/personas/preparePersona.d.ts +3 -2
  111. package/esm/typings/src/prepare/PrepareAndScrapeOptions.d.ts +68 -0
  112. package/esm/typings/src/prepare/preparePipeline.d.ts +3 -2
  113. package/esm/typings/src/prepare/prepareTemplates.d.ts +3 -2
  114. package/esm/typings/src/scrapers/_common/Converter.d.ts +22 -0
  115. package/esm/typings/src/scrapers/_common/Scraper.d.ts +66 -0
  116. package/esm/typings/src/scrapers/_common/ScraperIntermediateSource.d.ts +11 -0
  117. package/esm/typings/src/{knowledge/prepare-knowledge → scrapers}/_common/prepareKnowledgePieces.d.ts +5 -4
  118. package/esm/typings/src/scrapers/_common/register/$provideFilesystemForNode.d.ts +11 -0
  119. package/esm/typings/src/scrapers/_common/register/$provideScrapersForBrowser.d.ts +12 -0
  120. package/esm/typings/src/scrapers/_common/register/$provideScrapersForNode.d.ts +15 -0
  121. package/esm/typings/src/scrapers/_common/register/$registeredScrapersMessage.d.ts +12 -0
  122. package/esm/typings/src/scrapers/_common/register/$scrapersMetadataRegister.d.ts +13 -0
  123. package/esm/typings/src/scrapers/_common/register/$scrapersRegister.d.ts +13 -0
  124. package/esm/typings/src/scrapers/_common/register/ScraperAndConverterMetadata.d.ts +41 -0
  125. package/esm/typings/src/scrapers/_common/register/ScraperConstructor.d.ts +12 -0
  126. package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.d.ts +34 -0
  127. package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.test.d.ts +4 -0
  128. package/esm/typings/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +11 -0
  129. package/esm/typings/src/scrapers/document/DocumentScraper.d.ts +43 -0
  130. package/esm/typings/src/scrapers/document/DocumentScraper.test.d.ts +4 -0
  131. package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +20 -0
  132. package/esm/typings/src/scrapers/document/playground/document-scraper-playground.d.ts +5 -0
  133. package/esm/typings/src/scrapers/document/register-constructor.d.ts +13 -0
  134. package/esm/typings/src/scrapers/document/register-metadata.d.ts +24 -0
  135. package/esm/typings/src/scrapers/document-legacy/LegacyDocumentScraper.d.ts +43 -0
  136. package/esm/typings/src/scrapers/document-legacy/LegacyDocumentScraper.test.d.ts +4 -0
  137. package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +20 -0
  138. package/esm/typings/src/scrapers/document-legacy/playground/legacy-document-scraper-playground.d.ts +5 -0
  139. package/esm/typings/src/scrapers/document-legacy/register-constructor.d.ts +13 -0
  140. package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +24 -0
  141. package/esm/typings/src/scrapers/markdown/MarkdownScraper.d.ts +29 -0
  142. package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +20 -0
  143. package/esm/typings/src/scrapers/markdown/playground/markdown-scraper-playground.d.ts +5 -0
  144. package/esm/typings/src/scrapers/markdown/register-constructor.d.ts +13 -0
  145. package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +24 -0
  146. package/esm/typings/src/scrapers/pdf/PdfScraper.d.ts +40 -0
  147. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +20 -0
  148. package/esm/typings/src/scrapers/pdf/playground/pdf-scraper-playground.d.ts +5 -0
  149. package/esm/typings/src/scrapers/pdf/register-constructor.d.ts +13 -0
  150. package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +24 -0
  151. package/esm/typings/src/scrapers/website/WebsiteScraper.d.ts +47 -0
  152. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +20 -0
  153. package/esm/typings/src/scrapers/website/playground/website-scraper-playground.d.ts +5 -0
  154. package/esm/typings/src/scrapers/website/register-constructor.d.ts +13 -0
  155. package/esm/typings/src/scrapers/website/register-metadata.d.ts +24 -0
  156. package/esm/typings/src/scrapers/website/utils/markdownConverter.d.ts +12 -0
  157. package/esm/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +2 -2
  158. package/esm/typings/src/scripting/python/PythonExecutionTools.d.ts +3 -3
  159. package/esm/typings/src/scripting/typescript/TypescriptExecutionTools.d.ts +3 -3
  160. package/esm/typings/src/storage/{files-storage/FilesStorage.d.ts → file-cache-storage/FileCacheStorage.d.ts} +7 -5
  161. package/esm/typings/src/storage/file-cache-storage/FileCacheStorageOptions.d.ts +10 -0
  162. package/esm/typings/src/storage/{files-storage → file-cache-storage}/utils/nameToSubfolderPath.d.ts +1 -1
  163. package/esm/typings/src/storage/local-storage/getLocalStorage.d.ts +1 -1
  164. package/esm/typings/src/storage/local-storage/getSessionStorage.d.ts +1 -1
  165. package/esm/typings/src/storage/{utils → memory/utils}/PrefixStorage.d.ts +1 -1
  166. package/esm/typings/src/storage/{utils → memory/utils}/makePromptbookStorageFromWebStorage.d.ts +1 -1
  167. package/esm/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +9 -2
  168. package/esm/typings/src/types/PipelineJson/ParameterJson.d.ts +1 -1
  169. package/esm/typings/src/types/PipelineJson/PipelineJson.d.ts +2 -2
  170. package/esm/typings/src/types/Prompt.d.ts +1 -0
  171. package/esm/typings/src/types/execution-report/ExecutionReportJson.d.ts +0 -3
  172. package/esm/typings/src/types/execution-report/executionReportJsonToString.d.ts +2 -1
  173. package/esm/typings/src/types/typeAliases.d.ts +27 -20
  174. package/esm/typings/src/utils/$Register.d.ts +19 -6
  175. package/esm/typings/src/utils/execCommand/$execCommand.d.ts +14 -0
  176. package/esm/typings/src/utils/execCommand/$execCommands.d.ts +17 -0
  177. package/esm/typings/src/utils/execCommand/IExecCommandOptions.d.ts +23 -0
  178. package/esm/typings/src/utils/execCommand/execCommandNormalizeOptions.d.ts +10 -0
  179. package/esm/typings/src/utils/files/extensionToMimeType.d.ts +8 -0
  180. package/esm/typings/src/utils/files/extensionToMimeType.test.d.ts +1 -0
  181. package/esm/typings/src/utils/files/getFileExtension.d.ts +8 -0
  182. package/esm/typings/src/utils/files/getFileExtension.test.d.ts +1 -0
  183. package/esm/typings/src/utils/files/isDirectoryExisting.d.ts +14 -0
  184. package/esm/typings/src/utils/files/isDirectoryExisting.test.d.ts +1 -0
  185. package/esm/typings/src/utils/files/isFileExisting.d.ts +13 -0
  186. package/esm/typings/src/utils/files/isFileExisting.test.d.ts +1 -0
  187. package/esm/typings/src/utils/files/listAllFiles.d.ts +17 -0
  188. package/esm/typings/src/utils/files/listAllFiles.test.d.ts +1 -0
  189. package/esm/typings/src/utils/validators/filePath/isValidFilePath.d.ts +2 -2
  190. package/package.json +2 -2
  191. package/umd/index.umd.js +50 -5
  192. package/umd/index.umd.js.map +1 -1
  193. package/esm/typings/src/knowledge/prepare-knowledge/_common/Scraper.d.ts +0 -37
  194. package/esm/typings/src/knowledge/prepare-knowledge/markdown/playground/markdown-knowledge-playground.d.ts +0 -2
  195. package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +0 -14
  196. package/esm/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +0 -15
  197. package/esm/typings/src/llm-providers/_common/getLlmToolsForCli.d.ts +0 -22
  198. package/esm/typings/src/prepare/PrepareOptions.d.ts +0 -22
  199. package/esm/typings/src/storage/files-storage/FilesStorageOptions.d.ts +0 -10
  200. package/esm/typings/src/utils/files/$isDirectoryExisting.d.ts +0 -15
  201. package/esm/typings/src/utils/files/$isFileExisting.d.ts +0 -14
  202. package/esm/typings/src/utils/files/$listAllFiles.d.ts +0 -17
  203. /package/esm/typings/src/{knowledge/dialogs → dialogs}/user-interface-execution-tools.test.d.ts +0 -0
  204. /package/esm/typings/src/{knowledge/prepare-knowledge → scrapers}/_common/prepareKnowledgePieces.test.d.ts +0 -0
  205. /package/esm/typings/src/{knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.test.d.ts → scrapers/markdown/MarkdownScraper.test.d.ts} +0 -0
  206. /package/esm/typings/src/{knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.test.d.ts → scrapers/website/WebsiteScraper.test.d.ts} +0 -0
  207. /package/esm/typings/src/{storage/files-storage/utils/nameToSubfolderPath.test.d.ts → scrapers/website/utils/markdownConverter.test.d.ts} +0 -0
  208. /package/esm/typings/src/{utils/files/$isDirectoryExisting.test.d.ts → storage/file-cache-storage/utils/nameToSubfolderPath.test.d.ts} +0 -0
  209. /package/esm/typings/src/utils/{files/$isFileExisting.test.d.ts → execCommand/execCommand.test.d.ts} +0 -0
  210. /package/esm/typings/src/utils/{files/$listAllFiles.test.d.ts → execCommand/execCommandNormalizeOptions.test.d.ts} +0 -0
@@ -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
  */
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env ts-node
2
2
  export {};
3
3
  /**
4
- * TODO:[main] !!! Playground with WebGPT / Promptbook.studio anonymous server
5
- * TODO:[main] !!! Test here that `systemMessage`, `temperature` and `seed` are working correctly
4
+ * TODO: [main] !!! Playground with WebGPT / Promptbook.studio anonymous server
5
+ * TODO: [main] !!! Test here that `systemMessage`, `temperature` and `seed` are working correctly
6
+ * Note: [⚫] Code in this file should never be published in any package
6
7
  */
@@ -1,9 +1,10 @@
1
+ import type { Registration } from '../../utils/$Register';
1
2
  /**
2
- * @@@ registration1 of default configuration for Anthropic Claude
3
+ * Registration of LLM provider metadata
3
4
  *
4
- * Note: [🏐] Configurations registrations are done in @@@ BUT constructor @@@
5
+ * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
5
6
  *
6
7
  * @public exported from `@promptbook/core`
7
8
  * @public exported from `@promptbook/cli`
8
9
  */
9
- export declare const _AnthropicClaudeMetadataRegistration: void;
10
+ export declare const _AnthropicClaudeMetadataRegistration: Registration;
@@ -1,12 +1,13 @@
1
+ import type { Registration } from '../../utils/$Register';
1
2
  /**
2
- * @@@ registration2
3
+ * Registration of LLM provider
3
4
  *
4
- * Note: [🏐] Configurations registrations are done in @@@ BUT constructor @@@
5
+ * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
5
6
  *
6
7
  * @public exported from `@promptbook/anthropic-claude`
7
8
  * @public exported from `@promptbook/cli`
8
9
  */
9
- export declare const _AnthropicClaudeRegistration: void;
10
+ export declare const _AnthropicClaudeRegistration: Registration;
10
11
  /**
11
12
  * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
12
13
  */
@@ -44,6 +44,12 @@ export declare class AzureOpenAiExecutionTools implements LlmExecutionTools {
44
44
  * Calls Azure OpenAI API to use a complete model.
45
45
  */
46
46
  callCompletionModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements'>): Promise<CompletionPromptResult>;
47
+ /**
48
+ * Library `@azure/openai` has bug/weird behavior that it does not throw error but hangs forever
49
+ *
50
+ * This method wraps the promise with timeout
51
+ */
52
+ private withTimeout;
47
53
  /**
48
54
  * Changes Azure error (which is not propper Error but object) to propper Error
49
55
  */
@@ -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
  };
@@ -2,4 +2,5 @@
2
2
  export {};
3
3
  /**
4
4
  * TODO: Test here that `systemMessage`, `temperature` and `seed` are working correctly
5
+ * Note: [⚫] Code in this file should never be published in any package
5
6
  */
@@ -1,9 +1,10 @@
1
+ import type { Registration } from '../../utils/$Register';
1
2
  /**
2
- * @@@ registration1 of default configuration for Azure Open AI
3
+ * Registration of LLM provider metadata
3
4
  *
4
- * Note: [🏐] Configurations registrations are done in @@@ BUT constructor @@@
5
+ * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
5
6
  *
6
7
  * @public exported from `@promptbook/core`
7
8
  * @public exported from `@promptbook/cli`
8
9
  */
9
- export declare const _AzureOpenAiMetadataRegistration: void;
10
+ export declare const _AzureOpenAiMetadataRegistration: Registration;
@@ -1,12 +1,13 @@
1
+ import type { Registration } from '../../utils/$Register';
1
2
  /**
2
- * @@@ registration2
3
+ * Registration of LLM provider
3
4
  *
4
- * Note: [🏐] Configurations registrations are done in @@@ BUT constructor @@@
5
+ * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
5
6
  *
6
7
  * @public exported from `@promptbook/azure-openai`
7
8
  * @public exported from `@promptbook/cli`
8
9
  */
9
- export declare const _AzureOpenAiRegistration: void;
10
+ export declare const _AzureOpenAiRegistration: Registration;
10
11
  /**
11
12
  * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
12
13
  */
@@ -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
+ */
@@ -1,2 +1,5 @@
1
1
  #!/usr/bin/env ts-node
2
2
  export {};
3
+ /**
4
+ * Note: [⚫] Code in this file should never be published in any package
5
+ */
@@ -1,5 +1,5 @@
1
1
  import type { AvailableModel } from '../../execution/AvailableModel';
2
- import type { CommonExecutionToolsOptions } from '../../execution/CommonExecutionToolsOptions';
2
+ import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
3
3
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
4
4
  import type { ChatPromptResult } from '../../execution/PromptResult';
5
5
  import type { CompletionPromptResult } from '../../execution/PromptResult';
@@ -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
  /**
@@ -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
  /**
@@ -16,6 +16,7 @@ import type { string_title } from '../../types/typeAliases';
16
16
  *
17
17
  * Note: Internal utility of `joinLlmExecutionTools` but exposed type
18
18
  * @public exported from `@promptbook/types`
19
+ * TODO: !!!!!! Export as runtime class not just type
19
20
  */
20
21
  export declare class MultipleLlmExecutionTools implements LlmExecutionTools {
21
22
  /**
@@ -1,2 +1,5 @@
1
1
  #!/usr/bin/env ts-node
2
2
  export {};
3
+ /**
4
+ * Note: [⚫] Code in this file should never be published in any package
5
+ */
@@ -14,7 +14,7 @@ import { OpenAiExecutionTools } from './OpenAiExecutionTools';
14
14
  * @public exported from `@promptbook/openai`
15
15
  */
16
16
  export declare class OpenAiAssistantExecutionTools extends OpenAiExecutionTools implements LlmExecutionTools {
17
- private readonly assistantId?;
17
+ private readonly assistantId;
18
18
  /**
19
19
  * Creates OpenAI Execution Tools.
20
20
  *
@@ -27,7 +27,7 @@ export declare class OpenAiExecutionTools implements LlmExecutionTools {
27
27
  *
28
28
  * @param options which are relevant are directly passed to the OpenAI client
29
29
  */
30
- constructor(options?: OpenAiExecutionToolsOptions);
30
+ constructor(options: OpenAiExecutionToolsOptions);
31
31
  get title(): string_title & string_markdown_text;
32
32
  get description(): string_markdown;
33
33
  getClient(): Promise<OpenAI>;
@@ -1,6 +1,6 @@
1
1
  import type { ClientOptions } from 'openai';
2
- import type { CommonExecutionToolsOptions } from '../../execution/CommonExecutionToolsOptions';
3
- import type { string_token } from '../../types/typeAliases';
2
+ import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
3
+ import type { string_user_id } from '../../types/typeAliases';
4
4
  /**
5
5
  * Options for `OpenAiExecutionTools`
6
6
  *
@@ -9,12 +9,12 @@ import type { string_token } from '../../types/typeAliases';
9
9
  *
10
10
  * @public exported from `@promptbook/openai`
11
11
  */
12
- export type OpenAiExecutionToolsOptions = CommonExecutionToolsOptions & ClientOptions & {
12
+ export type OpenAiExecutionToolsOptions = CommonToolsOptions & ClientOptions & {
13
13
  /**
14
14
  * A unique identifier representing your end-user, which can help OpenAI to monitor
15
15
  * and detect abuse.
16
16
  *
17
17
  * @see https://platform.openai.com/docs/guides/safety-best-practices/end-user-ids
18
18
  */
19
- user?: string_token;
19
+ userId: string_user_id | null;
20
20
  };
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env ts-node
2
2
  export {};
3
3
  /**
4
- * TODO:[main] !!! Test here that `systemMessage`, `temperature` and `seed` are working correctly
4
+ * TODO: [main] !!! Test here that `systemMessage`, `temperature` and `seed` are working correctly
5
+ * Note: [⚫] Code in this file should never be published in any package
5
6
  */
@@ -1,12 +1,13 @@
1
+ import type { Registration } from '../../utils/$Register';
1
2
  /**
2
- * @@@ registration1 of default configuration for Open AI
3
+ * Registration of LLM provider metadata
3
4
  *
4
- * Note: [🏐] Configurations registrations are done in @@@ BUT constructor @@@
5
+ * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
5
6
  *
6
7
  * @public exported from `@promptbook/core`
7
8
  * @public exported from `@promptbook/cli`
8
9
  */
9
- export declare const _OpenAiMetadataRegistration: void;
10
+ export declare const _OpenAiMetadataRegistration: Registration;
10
11
  /**
11
12
  * @@@ registration1 of default configuration for Open AI
12
13
  *
@@ -15,4 +16,4 @@ export declare const _OpenAiMetadataRegistration: void;
15
16
  * @public exported from `@promptbook/core`
16
17
  * @public exported from `@promptbook/cli`
17
18
  */
18
- export declare const _OpenAiAssistantMetadataRegistration: void;
19
+ export declare const _OpenAiAssistantMetadataRegistration: Registration;
@@ -1,12 +1,13 @@
1
+ import type { Registration } from '../../utils/$Register';
1
2
  /**
2
- * @@@ registration2
3
+ * Registration of LLM provider
3
4
  *
4
- * Note: [🏐] Configurations registrations are done in @@@ BUT constructor @@@
5
+ * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
5
6
  *
6
7
  * @public exported from `@promptbook/openai`
7
8
  * @public exported from `@promptbook/cli`
8
9
  */
9
- export declare const _OpenAiRegistration: void;
10
+ export declare const _OpenAiRegistration: Registration;
10
11
  /**
11
12
  * @@@ registration2
12
13
  *
@@ -15,7 +16,7 @@ export declare const _OpenAiRegistration: void;
15
16
  * @public exported from `@promptbook/openai`
16
17
  * @public exported from `@promptbook/cli`
17
18
  */
18
- export declare const _OpenAiAssistantRegistration: void;
19
+ export declare const _OpenAiAssistantRegistration: Registration;
19
20
  /**
20
21
  * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
21
22
  */
@@ -19,9 +19,9 @@ import type { RemoteLlmExecutionToolsOptions } from './interfaces/RemoteLlmExecu
19
19
  * @see https://github.com/webgptorg/promptbook#remote-server
20
20
  * @public exported from `@promptbook/remote-client`
21
21
  */
22
- export declare class RemoteLlmExecutionTools implements LlmExecutionTools {
23
- protected readonly options: RemoteLlmExecutionToolsOptions;
24
- constructor(options: RemoteLlmExecutionToolsOptions);
22
+ export declare class RemoteLlmExecutionTools<TCustomOptions = undefined> implements LlmExecutionTools {
23
+ protected readonly options: RemoteLlmExecutionToolsOptions<TCustomOptions>;
24
+ constructor(options: RemoteLlmExecutionToolsOptions<TCustomOptions>);
25
25
  get title(): string_title & string_markdown_text;
26
26
  get description(): string_markdown;
27
27
  /**
@@ -1,21 +1,30 @@
1
- import type { LlmToolsConfiguration } from '../../_common/LlmToolsConfiguration';
1
+ import type { string_user_id } from '../../../types/typeAliases';
2
+ import type { LlmToolsConfiguration } from '../../_common/register/LlmToolsConfiguration';
3
+ import type { CollectionRemoteServerClientOptions } from './RemoteServerOptions';
2
4
  /**
3
5
  * Socket.io progress for remote text generation
4
6
  *
5
7
  * This is a request from client to server
6
8
  */
7
- export type PromptbookServer_ListModels_Request = PromptbookServer_ListModels_CollectionRequest | PromptbookServer_ListModels_AnonymousRequest;
8
- export type PromptbookServer_ListModels_CollectionRequest = {
9
+ export type PromptbookServer_ListModels_Request<TCustomOptions> = PromptbookServer_ListModels_CollectionRequest<TCustomOptions> | PromptbookServer_ListModels_AnonymousRequest;
10
+ export type PromptbookServer_ListModels_CollectionRequest<TCustomOptions> = CollectionRemoteServerClientOptions<TCustomOptions> & {
9
11
  /**
10
- * Collection mode
12
+ * Application mode
11
13
  */
12
- isAnonymous: false;
14
+ readonly isAnonymous: false;
13
15
  };
14
16
  export type PromptbookServer_ListModels_AnonymousRequest = {
15
17
  /**
16
18
  * Anonymous mode
17
19
  */
18
- isAnonymous: true;
20
+ readonly isAnonymous: true;
21
+ /**
22
+ * Identifier of the end user
23
+ *
24
+ * Note: this is passed to the certain model providers to identify misuse
25
+ * Note: In anonymous mode, there is no need to identify yourself, nor does it change the actual configuration of LLM Tools (unlike in application mode)
26
+ */
27
+ readonly userId: string_user_id | null;
19
28
  /**
20
29
  * Configuration for the LLM tools
21
30
  */
@@ -24,6 +33,6 @@ export type PromptbookServer_ListModels_AnonymousRequest = {
24
33
  /**
25
34
  * TODO: [👡] DRY `PromptbookServer_Prompt_Request` and `PromptbookServer_ListModels_Request`
26
35
  * TODO: [🧠][🛍] Maybe not `isAnonymous: boolean` BUT `mode: 'ANONYMOUS'|'COLLECTION'`
27
- * TODO: [🧠][🤺] Pass `userId` in `PromptbookServer_ListModels_Request`
36
+ * TODO: [🧠][🤺] Maybe allow overriding of `userId` for each prompt - Pass `userId` in `PromptbookServer_ListModels_Request`
28
37
  * TODO: [👒] Listing models (and checking configuration) probbably should go through REST API not Socket.io
29
38
  */
@@ -8,8 +8,8 @@ export interface PromptbookServer_ListModels_Response {
8
8
  /**
9
9
  * Available models that can be used
10
10
  */
11
- models: Array<AvailableModel>;
11
+ readonly models: Array<AvailableModel>;
12
12
  }
13
13
  /**
14
14
  * TODO: [👒] Listing models (and checking configuration) probbably should go through REST API not Socket.io
15
- */
15
+ */
@@ -1,24 +1,18 @@
1
1
  import type { Prompt } from '../../../types/Prompt';
2
2
  import type { string_user_id } from '../../../types/typeAliases';
3
- import type { LlmToolsConfiguration } from '../../_common/LlmToolsConfiguration';
3
+ import type { LlmToolsConfiguration } from '../../_common/register/LlmToolsConfiguration';
4
+ import type { CollectionRemoteServerClientOptions } from './RemoteServerOptions';
4
5
  /**
5
6
  * Socket.io progress for remote text generation
6
7
  *
7
8
  * This is a request from client to server
8
9
  */
9
- export type PromptbookServer_Prompt_Request = PromptbookServer_Prompt_CollectionRequest | PromptbookServer_Prompt_AnonymousRequest;
10
- export type PromptbookServer_Prompt_CollectionRequest = {
10
+ export type PromptbookServer_Prompt_Request<TCustomOptions> = PromptbookServer_Prompt_CollectionRequest<TCustomOptions> | PromptbookServer_Prompt_AnonymousRequest;
11
+ export type PromptbookServer_Prompt_CollectionRequest<TCustomOptions> = CollectionRemoteServerClientOptions<TCustomOptions> & {
11
12
  /**
12
- * Collection mode
13
+ * Application mode
13
14
  */
14
15
  readonly isAnonymous: false;
15
- /**
16
- * Identifier of the end user
17
- *
18
- * Note: this is passed to the certain model providers to identify misuse
19
- * Note: In anonymous mode it is not required to identify
20
- */
21
- readonly userId: string_user_id;
22
16
  /**
23
17
  * The Prompt to execute
24
18
  */
@@ -33,9 +27,9 @@ export type PromptbookServer_Prompt_AnonymousRequest = {
33
27
  * Identifier of the end user
34
28
  *
35
29
  * Note: this is passed to the certain model providers to identify misuse
36
- * Note: In anonymous mode it is not required to identify
30
+ * Note: In anonymous mode, there is no need to identify yourself, nor does it change the actual configuration of LLM Tools (unlike in application mode)
37
31
  */
38
- readonly userId?: string_user_id;
32
+ readonly userId: string_user_id | null;
39
33
  /**
40
34
  * Configuration for the LLM tools
41
35
  */
@@ -8,5 +8,5 @@ export interface PromptbookServer_Prompt_Response {
8
8
  /**
9
9
  * The result of the prompt
10
10
  */
11
- promptResult: PromptResult;
11
+ readonly promptResult: PromptResult;
12
12
  }
@@ -1,14 +1,15 @@
1
- import type { CommonExecutionToolsOptions } from '../../../execution/CommonExecutionToolsOptions';
1
+ import type { CommonToolsOptions } from '../../../execution/CommonToolsOptions';
2
2
  import type { string_base_url } from '../../../types/typeAliases';
3
3
  import type { string_uri } from '../../../types/typeAliases';
4
4
  import type { string_user_id } from '../../../types/typeAliases';
5
- import type { LlmToolsConfiguration } from '../../_common/LlmToolsConfiguration';
5
+ import type { LlmToolsConfiguration } from '../../_common/register/LlmToolsConfiguration';
6
+ import type { CollectionRemoteServerClientOptions } from './RemoteServerOptions';
6
7
  /**
7
8
  * Options for `RemoteLlmExecutionTools`
8
9
  *
9
10
  * @public exported from `@promptbook/remote-client`
10
11
  */
11
- export type RemoteLlmExecutionToolsOptions = CommonExecutionToolsOptions & {
12
+ export type RemoteLlmExecutionToolsOptions<TCustomOptions> = CommonToolsOptions & {
12
13
  /**
13
14
  * URL of the remote PROMPTBOOK server
14
15
  * On this server will be connected to the socket.io server
@@ -29,7 +30,7 @@ export type RemoteLlmExecutionToolsOptions = CommonExecutionToolsOptions & {
29
30
  /**
30
31
  * Use anonymous server with anonymous mode
31
32
  */
32
- isAnonymous: true;
33
+ readonly isAnonymous: true;
33
34
  /**
34
35
  * Configuration for the LLM tools
35
36
  */
@@ -37,22 +38,16 @@ export type RemoteLlmExecutionToolsOptions = CommonExecutionToolsOptions & {
37
38
  /**
38
39
  * Identifier of the end user
39
40
  *
40
- * Note: this is passed to the certain model providers to identify misuse
41
- * Note: In anonymous mode it is not required to identify
41
+ * Note: This is passed to the certain model providers to identify misuse
42
+ * Note: In anonymous mode, there is no need to identify yourself, nor does it change the actual configuration of LLM Tools (unlike in application mode).
42
43
  */
43
- readonly userId?: string_user_id;
44
- } | {
44
+ readonly userId: string_user_id | null;
45
+ } | ({
45
46
  /**
46
47
  * Use anonymous server with client identification and fixed collection
47
48
  */
48
- isAnonymous: false;
49
- /**
50
- * Identifier of the end user
51
- *
52
- * Note: this is passed to the certain model providers to identify misuse
53
- */
54
- readonly userId: string_user_id;
55
- });
49
+ readonly isAnonymous: false;
50
+ } & CollectionRemoteServerClientOptions<TCustomOptions>));
56
51
  /**
57
52
  * TODO: [🧠][🛍] Maybe not `isAnonymous: boolean` BUT `mode: 'ANONYMOUS'|'COLLECTION'`
58
53
  * TODO: [🧠][🧜‍♂️] Maybe join remoteUrl and path into single value
@@ -1,6 +1,7 @@
1
1
  import type { PipelineCollection } from '../../../collection/PipelineCollection';
2
- import type { CommonExecutionToolsOptions } from '../../../execution/CommonExecutionToolsOptions';
2
+ import type { CommonToolsOptions } from '../../../execution/CommonToolsOptions';
3
3
  import type { LlmExecutionTools } from '../../../execution/LlmExecutionTools';
4
+ import type { string_app_id } from '../../../types/typeAliases';
4
5
  import type { string_uri } from '../../../types/typeAliases';
5
6
  import type { string_user_id } from '../../../types/typeAliases';
6
7
  /**
@@ -8,7 +9,7 @@ import type { string_user_id } from '../../../types/typeAliases';
8
9
  *
9
10
  * There are two modes of remote server:
10
11
  *
11
- * 1) **Collection mode** Server will recieve `collection` and execute prompts only from this collection
12
+ * 1) **Application mode** Server will recieve `collection` and execute prompts only from this collection
12
13
  * 2) **Anonymous mode** Server will recieve full `LlmToolsConfiguration` (with api keys) and just acts as a proxy
13
14
  * In anonymous mode, `collection` will be ignored and any prompt will be executed
14
15
  *
@@ -17,7 +18,7 @@ import type { string_user_id } from '../../../types/typeAliases';
17
18
  * @public exported from `@promptbook/remote-client`
18
19
  * @public exported from `@promptbook/remote-server`
19
20
  */
20
- export type RemoteServerOptions = CommonExecutionToolsOptions & {
21
+ export type RemoteServerOptions<TCustomOptions> = CommonToolsOptions & {
21
22
  /**
22
23
  * Port on which the server will listen
23
24
  */
@@ -29,18 +30,18 @@ export type RemoteServerOptions = CommonExecutionToolsOptions & {
29
30
  * @example '/promptbook/socket.io'
30
31
  */
31
32
  readonly path: string_uri;
32
- } & (AnonymousRemoteServerOptions | CollectionRemoteServerOptions | (AnonymousRemoteServerOptions & CollectionRemoteServerOptions));
33
+ } & (AnonymousRemoteServerOptions | CollectionRemoteServerOptions<TCustomOptions> | (AnonymousRemoteServerOptions & CollectionRemoteServerOptions<TCustomOptions>));
33
34
  export type AnonymousRemoteServerOptions = {
34
35
  /**
35
36
  * Enable anonymous mode
36
37
  */
37
38
  readonly isAnonymousModeAllowed: true;
38
39
  };
39
- export type CollectionRemoteServerOptions = {
40
+ export type CollectionRemoteServerOptions<TCustomOptions> = {
40
41
  /**
41
- * Enable collection mode
42
+ * Enable application mode
42
43
  */
43
- readonly isCollectionModeAllowed: true;
44
+ readonly isApplicationModeAllowed: true;
44
45
  /**
45
46
  * Promptbook collection to use
46
47
  *
@@ -50,9 +51,22 @@ export type CollectionRemoteServerOptions = {
50
51
  /**
51
52
  * Creates llm execution tools for each client
52
53
  */
53
- createLlmExecutionTools(userId: string_user_id | undefined): LlmExecutionTools;
54
+ createLlmExecutionTools(options: CollectionRemoteServerClientOptions<TCustomOptions>): LlmExecutionTools;
55
+ };
56
+ export type CollectionRemoteServerClientOptions<TCustomOptions> = {
57
+ /**
58
+ * @@@
59
+ */
60
+ readonly appId: string_app_id | null;
61
+ /**
62
+ * @@@
63
+ */
64
+ readonly userId: string_user_id | null;
65
+ /**
66
+ * @@@
67
+ */
68
+ readonly customOptions?: TCustomOptions;
54
69
  };
55
70
  /**
56
71
  * TODO: Constrain anonymous mode for specific models / providers
57
- * TODO: [🧠][🤺] Remove `createLlmExecutionTools`, pass just `llmExecutionTools`
58
72
  */
@@ -1,2 +1,5 @@
1
1
  #!/usr/bin/env ts-node
2
2
  import '../../openai/register-constructor';
3
+ /**
4
+ * Note: [⚫] Code in this file should never be published in any package
5
+ */
@@ -9,7 +9,7 @@ import type { RemoteServerOptions } from './interfaces/RemoteServerOptions';
9
9
  * @see https://github.com/webgptorg/promptbook#remote-server
10
10
  * @public exported from `@promptbook/remote-server`
11
11
  */
12
- export declare function startRemoteServer(options: RemoteServerOptions): IDestroyable;
12
+ export declare function startRemoteServer<TCustomOptions = undefined>(options: RemoteServerOptions<TCustomOptions>): IDestroyable;
13
13
  /**
14
14
  * TODO: Maybe use `$asDeeplyFrozenSerializableJson`
15
15
  * TODO: [🧠][🛍] Maybe not `isAnonymous: boolean` BUT `mode: 'ANONYMOUS'|'COLLECTION'`
@@ -1,4 +1,5 @@
1
- import type { PrepareOptions } from '../prepare/PrepareOptions';
1
+ import type { ExecutionTools } from '../execution/ExecutionTools';
2
+ import type { PrepareAndScrapeOptions } from '../prepare/PrepareAndScrapeOptions';
2
3
  import type { PersonaPreparedJson } from '../types/PipelineJson/PersonaJson';
3
4
  import type { string_persona_description } from '../types/typeAliases';
4
5
  /**
@@ -7,7 +8,7 @@ import type { string_persona_description } from '../types/typeAliases';
7
8
  * @see https://github.com/webgptorg/promptbook/discussions/22
8
9
  * @public exported from `@promptbook/core`
9
10
  */
10
- export declare function preparePersona(personaDescription: string_persona_description, options: PrepareOptions): Promise<PersonaPreparedJson['modelRequirements']>;
11
+ export declare function preparePersona(personaDescription: string_persona_description, tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions): Promise<PersonaPreparedJson['modelRequirements']>;
11
12
  /**
12
13
  * TODO: [🔃][main] !!!!! If the persona was prepared with different version or different set of models, prepare it once again
13
14
  * TODO: [🏢] !! Check validity of `modelName` in pipeline