@promptbook/remote-server 0.72.0-9 → 0.73.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 (146) hide show
  1. package/README.md +36 -252
  2. package/esm/index.es.js +76 -69
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/src/_packages/core.index.d.ts +24 -18
  5. package/esm/typings/src/_packages/node.index.d.ts +2 -0
  6. package/esm/typings/src/_packages/types.index.d.ts +18 -12
  7. package/esm/typings/src/_packages/utils.index.d.ts +2 -2
  8. package/esm/typings/src/collection/PipelineCollection.d.ts +1 -1
  9. package/esm/typings/src/collection/SimplePipelineCollection.d.ts +2 -2
  10. package/esm/typings/src/collection/collectionToJson.d.ts +1 -1
  11. package/esm/typings/src/collection/constructors/createCollectionFromJson.d.ts +1 -1
  12. package/esm/typings/src/collection/constructors/createCollectionFromPromise.d.ts +1 -1
  13. package/esm/typings/src/commands/TEMPLATE/TemplateTypes.d.ts +1 -1
  14. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +5 -5
  15. package/esm/typings/src/config.d.ts +22 -15
  16. package/esm/typings/src/conversion/prettify/renderPipelineMermaidOptions.d.ts +3 -3
  17. package/esm/typings/src/conversion/utils/stringifyPipelineJson.d.ts +1 -1
  18. package/esm/typings/src/conversion/validation/_importPipeline.d.ts +1 -1
  19. package/esm/typings/src/conversion/validation/validatePipeline.d.ts +2 -2
  20. package/esm/typings/src/executables/$provideExecutablesForNode.d.ts +12 -0
  21. package/esm/typings/src/executables/apps/locateLibreoffice.d.ts +11 -0
  22. package/esm/typings/src/executables/apps/locatePandoc.d.ts +11 -0
  23. package/esm/typings/src/executables/locateApp.d.ts +33 -0
  24. package/esm/typings/src/executables/locateApp.test.d.ts +1 -0
  25. package/esm/typings/src/executables/platforms/locateAppOnLinux.d.ts +12 -0
  26. package/esm/typings/src/executables/platforms/locateAppOnMacOs.d.ts +12 -0
  27. package/esm/typings/src/executables/platforms/locateAppOnWindows.d.ts +12 -0
  28. package/esm/typings/src/execution/EmbeddingVector.d.ts +1 -1
  29. package/esm/typings/src/execution/Executables.d.ts +18 -0
  30. package/esm/typings/src/execution/ExecutionTools.d.ts +9 -3
  31. package/esm/typings/src/execution/FilesystemTools.d.ts +1 -1
  32. package/esm/typings/src/execution/LlmExecutionTools.d.ts +2 -2
  33. package/esm/typings/src/execution/PipelineExecutorResult.d.ts +2 -2
  34. package/esm/typings/src/execution/assertsExecutionSuccessful.d.ts +3 -2
  35. package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorOptions.d.ts +29 -6
  36. package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +2 -11
  37. package/esm/typings/src/execution/createPipelineExecutor/20-executeTemplate.d.ts +4 -13
  38. package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +9 -14
  39. package/esm/typings/src/execution/createPipelineExecutor/{getSamplesForTemplate.d.ts → getExamplesForTemplate.d.ts} +1 -1
  40. package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/LindatAutomaticTranslator.d.ts +11 -3
  41. package/esm/typings/src/execution/utils/addUsage.d.ts +1 -1
  42. package/esm/typings/src/execution/utils/forEachAsync.d.ts +1 -1
  43. package/esm/typings/src/formats/_common/FormatDefinition.d.ts +4 -4
  44. package/esm/typings/src/formats/_common/FormatSubvalueDefinition.d.ts +3 -3
  45. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForCli.d.ts +2 -2
  46. package/esm/typings/src/llm-providers/_common/register/LlmToolsConfiguration.d.ts +1 -1
  47. package/esm/typings/src/llm-providers/_common/register/createLlmToolsFromConfiguration.d.ts +7 -0
  48. package/esm/typings/src/llm-providers/_common/utils/cache/CacheLlmToolsOptions.d.ts +4 -1
  49. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -1
  50. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +2 -2
  51. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
  52. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
  53. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +2 -1
  54. package/esm/typings/src/llm-providers/langtail/LangtailExecutionTools.d.ts +1 -1
  55. package/esm/typings/src/llm-providers/mocked/$fakeTextToExpectations.d.ts +1 -1
  56. package/esm/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +1 -1
  57. package/esm/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +1 -1
  58. package/esm/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +4 -5
  59. package/esm/typings/src/llm-providers/multiple/joinLlmExecutionTools.d.ts +1 -1
  60. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +0 -1
  61. package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +2 -2
  62. package/esm/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +2 -2
  63. package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -1
  64. package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +4 -4
  65. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_ListModels_Request.d.ts +15 -6
  66. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_ListModels_Response.d.ts +4 -4
  67. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Request.d.ts +6 -12
  68. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Response.d.ts +3 -3
  69. package/esm/typings/src/llm-providers/remote/interfaces/RemoteLlmExecutionToolsOptions.d.ts +9 -14
  70. package/esm/typings/src/llm-providers/remote/interfaces/RemoteServerOptions.d.ts +23 -8
  71. package/esm/typings/src/llm-providers/remote/startRemoteServer.d.ts +1 -1
  72. package/esm/typings/src/personas/preparePersona.d.ts +1 -1
  73. package/esm/typings/src/prepare/PrepareAndScrapeOptions.d.ts +4 -23
  74. package/esm/typings/src/prepare/isPipelinePrepared.d.ts +2 -2
  75. package/esm/typings/src/prepare/prepareTemplates.d.ts +2 -2
  76. package/esm/typings/src/scrapers/_common/Scraper.d.ts +2 -9
  77. package/esm/typings/src/scrapers/_common/prepareKnowledgePieces.d.ts +1 -1
  78. package/esm/typings/src/scrapers/_common/register/$provideScrapersForBrowser.d.ts +2 -2
  79. package/esm/typings/src/scrapers/_common/register/$provideScrapersForNode.d.ts +2 -2
  80. package/esm/typings/src/scrapers/_common/register/ScraperAndConverterMetadata.d.ts +2 -2
  81. package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.d.ts +2 -2
  82. package/esm/typings/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +1 -1
  83. package/esm/typings/src/scrapers/document/DocumentScraper.d.ts +2 -2
  84. package/esm/typings/src/scrapers/document/DocumentScraper.test.d.ts +1 -1
  85. package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +1 -1
  86. package/esm/typings/src/scrapers/document/register-metadata.d.ts +1 -1
  87. package/esm/typings/src/scrapers/document-legacy/LegacyDocumentScraper.d.ts +3 -3
  88. package/esm/typings/src/scrapers/document-legacy/LegacyDocumentScraper.test.d.ts +1 -1
  89. package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +1 -1
  90. package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +1 -1
  91. package/esm/typings/src/scrapers/markdown/MarkdownScraper.d.ts +1 -1
  92. package/esm/typings/src/scrapers/markdown/MarkdownScraper.test.d.ts +1 -1
  93. package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +1 -1
  94. package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +1 -1
  95. package/esm/typings/src/scrapers/pdf/PdfScraper.d.ts +2 -2
  96. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +1 -1
  97. package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +1 -1
  98. package/esm/typings/src/scrapers/website/WebsiteScraper.d.ts +6 -3
  99. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +1 -1
  100. package/esm/typings/src/scrapers/website/register-metadata.d.ts +1 -1
  101. package/esm/typings/src/scrapers/website/utils/createShowdownConverter.d.ts +7 -0
  102. package/esm/typings/src/scrapers/website/utils/createShowdownConverter.test.d.ts +1 -0
  103. package/esm/typings/src/scripting/javascript/utils/preserve.d.ts +1 -1
  104. package/esm/typings/src/storage/file-cache-storage/utils/nameToSubfolderPath.d.ts +1 -1
  105. package/esm/typings/src/types/Arrayable.d.ts +1 -1
  106. package/esm/typings/src/types/IntermediateFilesStrategy.d.ts +7 -0
  107. package/esm/typings/src/types/PipelineJson/KnowledgePieceJson.d.ts +4 -4
  108. package/esm/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +1 -1
  109. package/esm/typings/src/types/PipelineJson/ParameterJson.d.ts +2 -2
  110. package/esm/typings/src/types/PipelineJson/PersonaJson.d.ts +1 -1
  111. package/esm/typings/src/types/PipelineJson/PreparationJson.d.ts +1 -1
  112. package/esm/typings/src/types/PipelineJson/TemplateJsonCommon.d.ts +2 -2
  113. package/esm/typings/src/types/Prompt.d.ts +2 -1
  114. package/esm/typings/src/types/execution-report/ExecutionReportJson.d.ts +1 -1
  115. package/esm/typings/src/types/typeAliases.d.ts +11 -8
  116. package/esm/typings/src/utils/$Register.d.ts +1 -1
  117. package/esm/typings/src/utils/FromtoItems.d.ts +1 -1
  118. package/esm/typings/src/utils/arrayableToArray.d.ts +1 -1
  119. package/esm/typings/src/utils/emojis.d.ts +1 -1
  120. package/esm/typings/src/utils/execCommand/$execCommand.d.ts +4 -2
  121. package/esm/typings/src/utils/execCommand/$execCommandNormalizeOptions.d.ts +12 -0
  122. package/esm/typings/src/utils/execCommand/$execCommands.d.ts +1 -0
  123. package/esm/typings/src/utils/execCommand/ExecCommandOptions.d.ts +45 -0
  124. package/esm/typings/src/utils/expectation-counters/countSentences.d.ts +1 -1
  125. package/esm/typings/src/utils/files/isExecutable.d.ts +11 -0
  126. package/esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +1 -1
  127. package/esm/typings/src/utils/markdown/splitMarkdownIntoSections.d.ts +1 -1
  128. package/esm/typings/src/utils/normalization/IKeywords.d.ts +2 -2
  129. package/esm/typings/src/utils/normalization/parseKeywords.d.ts +2 -2
  130. package/esm/typings/src/utils/normalization/parseKeywordsFromString.d.ts +2 -2
  131. package/esm/typings/src/utils/normalization/searchKeywords.d.ts +2 -2
  132. package/esm/typings/src/utils/organization/TODO_USE.d.ts +1 -1
  133. package/esm/typings/src/utils/organization/keepUnused.d.ts +1 -1
  134. package/esm/typings/src/utils/random/$randomSeed.d.ts +1 -1
  135. package/esm/typings/src/utils/sets/intersection.d.ts +1 -1
  136. package/esm/typings/src/utils/sets/union.d.ts +1 -1
  137. package/esm/typings/src/utils/unwrapResult.d.ts +4 -4
  138. package/package.json +6 -4
  139. package/umd/index.umd.js +76 -69
  140. package/umd/index.umd.js.map +1 -1
  141. package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorSettings.d.ts +0 -29
  142. package/esm/typings/src/scrapers/website/utils/markdownConverter.d.ts +0 -12
  143. package/esm/typings/src/utils/execCommand/IExecCommandOptions.d.ts +0 -23
  144. package/esm/typings/src/utils/execCommand/execCommandNormalizeOptions.d.ts +0 -10
  145. /package/esm/typings/src/{scrapers/website/WebsiteScraper.test.d.ts → executables/apps/locateLibreoffice.test.d.ts} +0 -0
  146. /package/esm/typings/src/{scrapers/website/utils/markdownConverter.test.d.ts → executables/apps/locatePandoc.test.d.ts} +0 -0
@@ -6,11 +6,11 @@ import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
6
6
  */
7
7
  export declare function isPipelinePrepared(pipeline: PipelineJson): boolean;
8
8
  /**
9
- * TODO: [🔃][main] !!!!! If the pipeline was prepared with different version or different set of models, prepare it once again
9
+ * TODO: [🔃][main] !! If the pipeline was prepared with different version or different set of models, prepare it once again
10
10
  * TODO: [🐠] Maybe base this on `makeValidator`
11
11
  * TODO: [🧊] Pipeline can be partially prepared, this should return true ONLY if fully prepared
12
12
  * TODO: [ðŸ§ŋ] Maybe do same process with same granularity and subfinctions as `preparePipeline`
13
13
  * - [🏍] ? Is context in each template
14
- * - [â™Ļ] Are samples prepared
14
+ * - [â™Ļ] Are examples prepared
15
15
  * - [â™Ļ] Are templates prepared
16
16
  */
@@ -12,7 +12,7 @@ type PreparedTemplates = {
12
12
  /**
13
13
  * @@@ Sequence of templates that are chained together to form a pipeline
14
14
  */
15
- readonly templatesPrepared: Array<TemplateJson>;
15
+ readonly templatesPrepared: ReadonlyArray<TemplateJson>;
16
16
  };
17
17
  /**
18
18
  * @@@
@@ -24,7 +24,7 @@ export {};
24
24
  /**
25
25
  * TODO: [🧠] Add context to each template (if missing)
26
26
  * TODO: [🧠] What is better name `prepareTemplate` or `prepareTemplateAndParameters`
27
- * TODO: [â™Ļ][main] !!! Prepare index the samples and maybe templates
27
+ * TODO: [â™Ļ][main] !!! Prepare index the examples and maybe templates
28
28
  * TODO: Write tests for `preparePipeline`
29
29
  * TODO: [🏏] Leverage the batch API and build queues @see https://platform.openai.com/docs/guides/batch
30
30
  * TODO: [🧊] In future one preparation can take data from previous preparation and save tokens and time
@@ -17,7 +17,7 @@ export type Scraper = {
17
17
  /**
18
18
  * Scrapes the markdown file and returns the knowledge pieces or `null` if it can't scrape it
19
19
  */
20
- scrape(source: ScraperSourceHandler): Promisable<Array<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
20
+ scrape(source: ScraperSourceHandler): Promisable<ReadonlyArray<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
21
21
  };
22
22
  /**
23
23
  * @@@
@@ -51,16 +51,9 @@ export type ScraperSourceHandler = {
51
51
  * Get the content as a utf-8 string
52
52
  */
53
53
  asText(): Promisable<string>;
54
- /**
55
- * Get the content as a blob
56
- */
57
- asBlob(): Promisable<Blob>;
58
54
  };
59
55
  /**
56
+ * TODO: [ðŸĨ―] Add ` asBlob(): Promisable<Blob>;` or asFile
60
57
  * TODO: [🐝] @@@ Annotate all
61
58
  * TODO: [🔞] Export via types
62
59
  */
63
- /**
64
- * TODO: !!!!!! Test that this is catched
65
- * Note: [âšŦ] Code in this file should never be published in any package
66
- */
@@ -8,7 +8,7 @@ import type { ExecutionTools } from '../../execution/ExecutionTools';
8
8
  * @see https://github.com/webgptorg/promptbook/discussions/41
9
9
  * @public exported from `@promptbook/core`
10
10
  */
11
- export declare function prepareKnowledgePieces(knowledgeSources: Array<KnowledgeSourceJson>, tools: Pick<ExecutionTools, 'llm' | 'fs' | 'scrapers'>, options: PrepareAndScrapeOptions): Promise<Array<Omit<KnowledgePiecePreparedJson, 'preparationIds'>>>;
11
+ export declare function prepareKnowledgePieces(knowledgeSources: ReadonlyArray<KnowledgeSourceJson>, tools: Pick<ExecutionTools, 'llm' | 'fs' | 'scrapers'>, options: PrepareAndScrapeOptions): Promise<ReadonlyArray<Omit<KnowledgePiecePreparedJson, 'preparationIds'>>>;
12
12
  /**
13
13
  * TODO: [🧊] In future one preparation can take data from previous preparation and save tokens and time
14
14
  * Put `knowledgePieces` into `PrepareKnowledgeOptions`
@@ -2,11 +2,11 @@ import type { ExecutionTools } from '../../../execution/ExecutionTools';
2
2
  import type { PrepareAndScrapeOptions } from '../../../prepare/PrepareAndScrapeOptions';
3
3
  import type { Scraper } from '../Scraper';
4
4
  /**
5
- * @@@!!!!!!
5
+ * @@@
6
6
  *
7
7
  * 1) @@@
8
8
  * 2) @@@
9
9
  *
10
10
  * @public exported from `@promptbook/browser`
11
11
  */
12
- export declare function $provideScrapersForBrowser(tools: Pick<ExecutionTools, 'llm'>, options?: PrepareAndScrapeOptions): Promise<Array<Scraper>>;
12
+ export declare function $provideScrapersForBrowser(tools: Pick<ExecutionTools, 'llm'>, options?: PrepareAndScrapeOptions): Promise<ReadonlyArray<Scraper>>;
@@ -2,14 +2,14 @@ import type { ExecutionTools } from '../../../execution/ExecutionTools';
2
2
  import type { PrepareAndScrapeOptions } from '../../../prepare/PrepareAndScrapeOptions';
3
3
  import type { Scraper } from '../Scraper';
4
4
  /**
5
- * !!!!!!
5
+ * @@@
6
6
  *
7
7
  * 1) @@@
8
8
  * 2) @@@
9
9
  *
10
10
  * @public exported from `@promptbook/node`
11
11
  */
12
- export declare function $provideScrapersForNode(tools: Pick<ExecutionTools, 'fs' | 'llm'>, options?: PrepareAndScrapeOptions): Promise<Array<Scraper>>;
12
+ export declare function $provideScrapersForNode(tools: Pick<ExecutionTools, 'fs' | 'llm' | 'executables'>, options?: PrepareAndScrapeOptions): Promise<ReadonlyArray<Scraper>>;
13
13
  /**
14
14
  * Note: [ðŸŸĒ] Code in this file should never be never released in packages that could be imported into browser environment
15
15
  */
@@ -1,8 +1,8 @@
1
+ import type { Executables } from '../../../execution/Executables';
1
2
  import type { string_mime_type } from '../../../types/typeAliases';
2
3
  import type { string_promptbook_documentation_url } from '../../../types/typeAliases';
3
4
  import type { string_title } from '../../../types/typeAliases';
4
5
  import type { Registered } from '../../../utils/$Register';
5
- import type { TODO_any } from '../../../utils/organization/TODO_any';
6
6
  /**
7
7
  * @@@
8
8
  *
@@ -33,7 +33,7 @@ export type ScraperAndConverterMetadata = Registered & {
33
33
  /**
34
34
  * @@@
35
35
  */
36
- readonly requiredExecutables: TODO_any;
36
+ readonly requiredExecutables: ReadonlyArray<Capitalize<keyof Executables extends `${infer N}Path` ? N : never>>;
37
37
  /**
38
38
  * Link to documentation
39
39
  */
@@ -13,7 +13,7 @@ type GetScraperIntermediateSourceSource = Pick<ScraperSourceHandler, 'filename'
13
13
  *
14
14
  * @private internal utility of `getScraperIntermediateSource`
15
15
  */
16
- type GetScraperIntermediateSourceHandler = Required<Pick<PrepareAndScrapeOptions, 'rootDirname' | 'cacheDirname' | 'isCacheCleaned' | 'isVerbose'>> & {
16
+ type GetScraperIntermediateSourceHandler = Required<Pick<PrepareAndScrapeOptions, 'rootDirname' | 'cacheDirname' | 'intermediateFilesStrategy' | 'isVerbose'>> & {
17
17
  readonly extension: string_file_extension;
18
18
  };
19
19
  /**
@@ -28,7 +28,7 @@ export {};
28
28
  /**
29
29
  * Note: Not using `FileCacheStorage` for two reasons:
30
30
  * 1) Need to store more than serialized JSONs
31
- * 2) Need to switch between a `rootDirname` and `cacheDirname` <- TODO: !!!!
31
+ * 2) Need to switch between a `rootDirname` and `cacheDirname` <- TODO: [ðŸ˜Ą]
32
32
  * TODO: [ðŸąâ€ðŸ‰][🧠] Make some smart crop
33
33
  * Note: [ðŸŸĒ] Code in this file should never be never released in packages that could be imported into browser environment
34
34
  */
@@ -6,6 +6,6 @@ import type { ScraperSourceHandler } from '../Scraper';
6
6
  /**
7
7
  * @@@
8
8
  *
9
- * @private for scraper utilities
9
+ * @public exported from `@promptbook/core`
10
10
  */
11
11
  export declare function makeKnowledgeSourceHandler(knowledgeSource: SetOptional<KnowledgeSourceJson, 'name'>, tools: Pick<ExecutionTools, 'fs'>, options?: Pick<PrepareAndScrapeOptions, 'rootDirname' | 'isVerbose'>): Promise<ScraperSourceHandler>;
@@ -23,7 +23,7 @@ export declare class DocumentScraper implements Converter, Scraper {
23
23
  * Markdown scraper is used internally
24
24
  */
25
25
  private readonly markdownScraper;
26
- constructor(tools: Pick<ExecutionTools, 'fs' | 'llm'>, options: PrepareAndScrapeOptions);
26
+ constructor(tools: Pick<ExecutionTools, 'fs' | 'llm' | 'executables'>, options: PrepareAndScrapeOptions);
27
27
  /**
28
28
  * Convert the `.docx` or `.odt` to `.md` file and returns intermediate source
29
29
  *
@@ -33,7 +33,7 @@ export declare class DocumentScraper implements Converter, Scraper {
33
33
  /**
34
34
  * Scrapes the docx file and returns the knowledge pieces or `null` if it can't scrape it
35
35
  */
36
- scrape(source: ScraperSourceHandler): Promise<Array<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
36
+ scrape(source: ScraperSourceHandler): Promise<ReadonlyArray<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
37
37
  }
38
38
  /**
39
39
  * TODO: [ðŸ‘Ģ] Converted documents can act as cached items - there is no need to run conversion each time
@@ -1,4 +1,4 @@
1
1
  export {};
2
2
  /**
3
- * TODO: [📓] Maybe test all file in samples (not just 10-simple.docx)
3
+ * TODO: [📓] Maybe test all file in examples (not just 10-simple.docx)
4
4
  */
@@ -13,7 +13,7 @@ export declare const createDocumentScraper: ((tools: Pick<ExecutionTools, 'llm'>
13
13
  mimeTypes: string[];
14
14
  documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
15
15
  isAvilableInBrowser: false;
16
- requiredExecutables: string[];
16
+ requiredExecutables: "Pandoc"[];
17
17
  }>;
18
18
  /**
19
19
  * TODO: [ðŸŽķ] Naming "constructor" vs "creator" vs "factory"
@@ -11,7 +11,7 @@ export declare const documentScraperMetadata: import("type-fest/source/readonly-
11
11
  mimeTypes: string[];
12
12
  documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
13
13
  isAvilableInBrowser: false;
14
- requiredExecutables: string[];
14
+ requiredExecutables: "Pandoc"[];
15
15
  }>;
16
16
  /**
17
17
  * Registration of known scraper metadata
@@ -7,7 +7,7 @@ import type { Scraper } from '../_common/Scraper';
7
7
  import type { ScraperSourceHandler } from '../_common/Scraper';
8
8
  import type { ScraperIntermediateSource } from '../_common/ScraperIntermediateSource';
9
9
  /**
10
- * Scraper for .docx files
10
+ * Scraper for old document files (like .doc and .rtf)
11
11
  *
12
12
  * @see `documentationUrl` for more details
13
13
  * @public exported from `@promptbook/legacy-documents`
@@ -23,7 +23,7 @@ export declare class LegacyDocumentScraper implements Converter, Scraper {
23
23
  * Document scraper is used internally
24
24
  */
25
25
  private readonly documentScraper;
26
- constructor(tools: Pick<ExecutionTools, 'fs' | 'llm'>, options: PrepareAndScrapeOptions);
26
+ constructor(tools: Pick<ExecutionTools, 'fs' | 'llm' | 'executables'>, options: PrepareAndScrapeOptions);
27
27
  /**
28
28
  * Convert the `.doc` or `.rtf` to `.doc` file and returns intermediate source
29
29
  *
@@ -33,7 +33,7 @@ export declare class LegacyDocumentScraper implements Converter, Scraper {
33
33
  /**
34
34
  * Scrapes the `.doc` or `.rtf` file and returns the knowledge pieces or `null` if it can't scrape it
35
35
  */
36
- scrape(source: ScraperSourceHandler): Promise<Array<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
36
+ scrape(source: ScraperSourceHandler): Promise<ReadonlyArray<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
37
37
  }
38
38
  /**
39
39
  * TODO: [ðŸ‘Ģ] Converted documents can act as cached items - there is no need to run conversion each time
@@ -1,4 +1,4 @@
1
1
  export {};
2
2
  /**
3
- * TODO: [📓] Maybe test all file in samples (not just 10-simple.doc)
3
+ * TODO: [📓] Maybe test all file in examples (not just 10-simple.doc)
4
4
  */
@@ -13,7 +13,7 @@ export declare const createLegacyDocumentScraper: ((tools: Pick<ExecutionTools,
13
13
  mimeTypes: string[];
14
14
  documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
15
15
  isAvilableInBrowser: false;
16
- requiredExecutables: string[];
16
+ requiredExecutables: ("Pandoc" | "LibreOffice")[];
17
17
  }>;
18
18
  /**
19
19
  * TODO: [ðŸŽķ] Naming "constructor" vs "creator" vs "factory"
@@ -11,7 +11,7 @@ export declare const legacyDocumentScraperMetadata: import("type-fest/source/rea
11
11
  mimeTypes: string[];
12
12
  documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
13
13
  isAvilableInBrowser: false;
14
- requiredExecutables: string[];
14
+ requiredExecutables: ("Pandoc" | "LibreOffice")[];
15
15
  }>;
16
16
  /**
17
17
  * Registration of known scraper metadata
@@ -21,7 +21,7 @@ export declare class MarkdownScraper implements Scraper {
21
21
  /**
22
22
  * Scrapes the markdown file and returns the knowledge pieces or `null` if it can't scrape it
23
23
  */
24
- scrape(source: ScraperSourceHandler): Promise<Array<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
24
+ scrape(source: ScraperSourceHandler): Promise<ReadonlyArray<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
25
25
  }
26
26
  /**
27
27
  * TODO: [🊂] Do it in parallel 11:11
@@ -1,4 +1,4 @@
1
1
  export {};
2
2
  /**
3
- * TODO: [📓] Maybe test all file in samples (not just 10-simple.md)
3
+ * TODO: [📓] Maybe test all file in examples (not just 10-simple.md)
4
4
  */
@@ -13,7 +13,7 @@ export declare const createMarkdownScraper: ((tools: Pick<ExecutionTools, 'llm'>
13
13
  mimeTypes: string[];
14
14
  documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
15
15
  isAvilableInBrowser: true;
16
- requiredExecutables: string[];
16
+ requiredExecutables: never[];
17
17
  }>;
18
18
  /**
19
19
  * TODO: [ðŸŽķ] Naming "constructor" vs "creator" vs "factory"
@@ -11,7 +11,7 @@ export declare const markdownScraperMetadata: import("type-fest/source/readonly-
11
11
  mimeTypes: string[];
12
12
  documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
13
13
  isAvilableInBrowser: true;
14
- requiredExecutables: string[];
14
+ requiredExecutables: never[];
15
15
  }>;
16
16
  /**
17
17
  * Registration of known scraper metadata
@@ -7,7 +7,7 @@ import type { Converter } from '../_common/Converter';
7
7
  import type { ScraperAndConverterMetadata } from '../_common/register/ScraperAndConverterMetadata';
8
8
  import type { ScraperIntermediateSource } from '../_common/ScraperIntermediateSource';
9
9
  /**
10
- * Scraper for .docx files
10
+ * Scraper for .pdf files
11
11
  *
12
12
  * @see `documentationUrl` for more details
13
13
  * @public exported from `@promptbook/pdf`
@@ -31,7 +31,7 @@ export declare class PdfScraper implements Converter, Scraper {
31
31
  /**
32
32
  * Scrapes the `.pdf` file and returns the knowledge pieces or `null` if it can't scrape it
33
33
  */
34
- scrape(source: ScraperSourceHandler): Promise<Array<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
34
+ scrape(source: ScraperSourceHandler): Promise<ReadonlyArray<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
35
35
  }
36
36
  /**
37
37
  * TODO: [ðŸ‘Ģ] Converted pdf documents can act as cached items - there is no need to run conversion each time
@@ -13,7 +13,7 @@ export declare const createPdfScraper: ((tools: Pick<ExecutionTools, 'llm'>, opt
13
13
  mimeTypes: string[];
14
14
  documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
15
15
  isAvilableInBrowser: true;
16
- requiredExecutables: string[];
16
+ requiredExecutables: never[];
17
17
  }>;
18
18
  /**
19
19
  * TODO: [ðŸŽķ] Naming "constructor" vs "creator" vs "factory"
@@ -11,7 +11,7 @@ export declare const pdfScraperMetadata: import("type-fest/source/readonly-deep"
11
11
  mimeTypes: string[];
12
12
  documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
13
13
  isAvilableInBrowser: true;
14
- requiredExecutables: string[];
14
+ requiredExecutables: never[];
15
15
  }>;
16
16
  /**
17
17
  * Registration of known scraper metadata
@@ -8,7 +8,7 @@ import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOpti
8
8
  import type { ScraperAndConverterMetadata } from '../_common/register/ScraperAndConverterMetadata';
9
9
  import type { ScraperIntermediateSource } from '../_common/ScraperIntermediateSource';
10
10
  /**
11
- * Scraper for .docx files
11
+ * Scraper for websites
12
12
  *
13
13
  * @see `documentationUrl` for more details
14
14
  * @public exported from `@promptbook/website-crawler`
@@ -24,6 +24,10 @@ export declare class WebsiteScraper implements Converter, Scraper {
24
24
  * Markdown scraper is used internally
25
25
  */
26
26
  private readonly markdownScraper;
27
+ /**
28
+ * Showdown converter is used internally
29
+ */
30
+ private readonly showdownConverter;
27
31
  constructor(tools: Pick<ExecutionTools, 'fs' | 'llm'>, options: PrepareAndScrapeOptions);
28
32
  /**
29
33
  * Convert the website to `.md` file and returns intermediate source
@@ -36,10 +40,9 @@ export declare class WebsiteScraper implements Converter, Scraper {
36
40
  /**
37
41
  * Scrapes the website and returns the knowledge pieces or `null` if it can't scrape it
38
42
  */
39
- scrape(source: ScraperSourceHandler): Promise<Array<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
43
+ scrape(source: ScraperSourceHandler): Promise<ReadonlyArray<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
40
44
  }
41
45
  /**
42
- * TODO: !!!!!! Put into separate package
43
46
  * TODO: [ðŸ‘Ģ] Scraped website in .md can act as cache item - there is no need to run conversion each time
44
47
  * TODO: [🊂] Do it in parallel 11:11
45
48
  * Note: No need to aggregate usage here, it is done by intercepting the llmTools
@@ -13,7 +13,7 @@ export declare const createWebsiteScraper: ((tools: Pick<ExecutionTools, 'llm'>,
13
13
  mimeTypes: string[];
14
14
  documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
15
15
  isAvilableInBrowser: false;
16
- requiredExecutables: string[];
16
+ requiredExecutables: never[];
17
17
  }>;
18
18
  /**
19
19
  * TODO: [ðŸŽķ] Naming "constructor" vs "creator" vs "factory"
@@ -11,7 +11,7 @@ export declare const websiteScraperMetadata: import("type-fest/source/readonly-d
11
11
  mimeTypes: string[];
12
12
  documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
13
13
  isAvilableInBrowser: false;
14
- requiredExecutables: string[];
14
+ requiredExecutables: never[];
15
15
  }>;
16
16
  /**
17
17
  * Registration of known scraper metadata
@@ -0,0 +1,7 @@
1
+ import { Converter as ShowdownConverter } from 'showdown';
2
+ /**
3
+ * Create a new showdown converter instance
4
+ *
5
+ * @private utility of `WebsiteScraper`
6
+ */
7
+ export declare function createShowdownConverter(): ShowdownConverter;
@@ -7,7 +7,7 @@ import type { really_any } from '../../../utils/organization/really_any';
7
7
  * @returns nothing
8
8
  * @private internal function of `JavascriptExecutionTools` and `JavascriptEvalExecutionTools`
9
9
  */
10
- export declare function preserve(func: (...params: Array<really_any>) => unknown): void;
10
+ export declare function preserve(func: (...params: ReadonlyArray<really_any>) => unknown): void;
11
11
  /**
12
12
  * TODO: !! [1] This maybe does memory leak
13
13
  */
@@ -4,4 +4,4 @@ import type { string_name } from '../../../types/typeAliases';
4
4
  *
5
5
  * @private for `FileCacheStorage`
6
6
  */
7
- export declare function nameToSubfolderPath(name: string_name): Array<string>;
7
+ export declare function nameToSubfolderPath(name: string_name): ReadonlyArray<string>;
@@ -7,4 +7,4 @@
7
7
  *
8
8
  * @private internal type
9
9
  */
10
- export type Arrayable<TItem> = TItem | Array<TItem> | undefined;
10
+ export type Arrayable<TItem> = TItem | ReadonlyArray<TItem> | undefined;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @@@
3
+ */
4
+ export type IntermediateFilesStrategy = 'HIDE_AND_CLEAN' | 'HIDE_AND_KEEP';
5
+ /**
6
+ * TODO: [🎅] Maube add options for all kinds of cache, unite with `isCacheReloaded` and make `cacheStrategy` (which is not specific only for intermediate files)
7
+ */
@@ -31,7 +31,7 @@ export type KnowledgePiecePreparedJson = {
31
31
  /**
32
32
  * List of sources where the information comes from
33
33
  */
34
- readonly sources: Array<{
34
+ readonly sources: ReadonlyArray<{
35
35
  /**
36
36
  * Identifier of the source
37
37
  */
@@ -48,11 +48,11 @@ export type KnowledgePiecePreparedJson = {
48
48
  /**
49
49
  * List of keywords that are associated with the knowledge piece
50
50
  */
51
- readonly keywords: Array<string_keyword>;
51
+ readonly keywords: ReadonlyArray<string_keyword>;
52
52
  /**
53
53
  * List of models embeddings that are associated with the knowledge piece
54
54
  */
55
- readonly index: Array<{
55
+ readonly index: ReadonlyArray<{
56
56
  /**
57
57
  * Model name which generated the embedding
58
58
  */
@@ -65,7 +65,7 @@ export type KnowledgePiecePreparedJson = {
65
65
  /**
66
66
  * List of preparation ids that were used to prepare this knowledge piece
67
67
  */
68
- readonly preparationIds: Array<number_id>;
68
+ readonly preparationIds: ReadonlyArray<number_id>;
69
69
  };
70
70
  /**
71
71
  * TODO: [🍙] Make some standard order of json properties
@@ -37,7 +37,7 @@ export type KnowledgeSourcePreparedJson = KnowledgeSourceJson & {
37
37
  /**
38
38
  * List of preparation ids that were used to prepare this knowledge source to knowledge pieces
39
39
  */
40
- readonly preparationIds: Array<number_id>;
40
+ readonly preparationIds: ReadonlyArray<number_id>;
41
41
  };
42
42
  /**
43
43
  * TODO: [🍙] Make some standard order of json properties
@@ -27,10 +27,10 @@ export type ParameterJson = {
27
27
  */
28
28
  readonly description?: string_markdown_text;
29
29
  /**
30
- * Sample values of the parameter
30
+ * Example values of the parameter
31
31
  * Note: This values won't be actually used as some default values, but they are just for better understanding of the parameter
32
32
  */
33
- readonly sampleValues?: Array<string_parameter_value>;
33
+ readonly exampleValues?: Array<string_parameter_value>;
34
34
  };
35
35
  /**
36
36
  * TODO: [🧠] Should be here registered subparameters from foreach or not?
@@ -38,7 +38,7 @@ export type PersonaPreparedJson = PersonaJson & {
38
38
  /**
39
39
  * List of preparation ids that were used to prepare this persona
40
40
  */
41
- readonly preparationIds: Array<number_id>;
41
+ readonly preparationIds: ReadonlyArray<number_id>;
42
42
  };
43
43
  /**
44
44
  * TODO: [🍙] Make some standard order of json properties
@@ -18,5 +18,5 @@ export type PreparationJson = {
18
18
  /**
19
19
  * TODO: [🍙] Make some standard order of json properties
20
20
  * TODO: Maybe put here used `modelName`
21
- * TODO: [ðŸĨ] When using `date` it changes all samples .ptbk.json files each time so until some more elegant solution omit the time from prepared pipeline
21
+ * TODO: [ðŸĨ] When using `date` it changes all examples .ptbk.json files each time so until some more elegant solution omit the time from prepared pipeline
22
22
  */
@@ -13,7 +13,7 @@ import type { Expectations } from './Expectations';
13
13
  /**
14
14
  * Common properties of all templates
15
15
  */
16
- export interface TemplateJsonCommon {
16
+ export type TemplateJsonCommon = {
17
17
  /**
18
18
  * Name of the template
19
19
  * - It must be unique across the pipeline
@@ -93,7 +93,7 @@ export interface TemplateJsonCommon {
93
93
  * Name of the parameter that is the result of the template
94
94
  */
95
95
  readonly resultingParameterName: string_name;
96
- }
96
+ };
97
97
  /**
98
98
  * TODO: use one helper type> (string_prompt | string_javascript | string_markdown) & string_template
99
99
  * TODO: [♈] Probbably move expectations from templates to parameters
@@ -77,7 +77,7 @@ export type CommonPrompt = {
77
77
  /**
78
78
  * List of postprocessing steps that are executed after the prompt
79
79
  */
80
- readonly postprocessingFunctionNames?: Array<string_postprocessing_function_name>;
80
+ readonly postprocessingFunctionNames?: ReadonlyArray<string_postprocessing_function_name>;
81
81
  /**
82
82
  * Expectations for the answer
83
83
  *
@@ -107,4 +107,5 @@ export type CommonPrompt = {
107
107
  * TODO: [🧄] Replace all "github.com/webgptorg/promptbook#xxx" with "ptbk.io/xxx"
108
108
  * TODO: [✔] Check ModelRequirements in runtime
109
109
  * TODO: [ðŸģ] Add options for translation - maybe create `TranslationPrompt`
110
+ * TODO: [🧠][ðŸĪš] Maybe allow overriding of `userId` for each prompt
110
111
  */
@@ -37,5 +37,5 @@ export type ExecutionReportJson = {
37
37
  /**
38
38
  * Sequence of templates in order which were executed
39
39
  */
40
- readonly promptExecutions: Array<ExecutionPromptReportJson>;
40
+ readonly promptExecutions: ReadonlyArray<ExecutionPromptReportJson>;
41
41
  };
@@ -350,12 +350,6 @@ export type string_uri = string;
350
350
  * For example `"9SeSQTupmQHwuSrLi"`
351
351
  */
352
352
  export type string_uri_part = string;
353
- /**
354
- * Semantic helper, ID of the board used in URL and API
355
- *
356
- * For example `"9SeSQTupmQHwuSrLi"` <- TODO: !! Update
357
- */
358
- export type string_uriid = string_uri_part;
359
353
  /**
360
354
  * Semantic helper
361
355
  *
@@ -399,9 +393,17 @@ export type string_uuid = string & {
399
393
  readonly _type: 'uuid';
400
394
  };
401
395
  /**
402
- * End user identifier;
396
+ * Application identifier
397
+ *
398
+ * @@@
399
+ */
400
+ export type string_app_id = id;
401
+ /**
402
+ * End user identifier
403
+ *
404
+ * @@@
403
405
  */
404
- export type string_user_id = string;
406
+ export type string_user_id = id;
405
407
  /**
406
408
  * Semantic helper
407
409
  *
@@ -523,6 +525,7 @@ export type string_javascript_name = string;
523
525
  * Semantic helper; For example "unwrapResult" or "spaceTrim"
524
526
  */
525
527
  export type string_postprocessing_function_name = string;
528
+ export type id = string | number;
526
529
  export type string_token = string;
527
530
  export type string_license_token = string_token;
528
531
  export type string_password = string;
@@ -34,6 +34,6 @@ export declare class $Register<TRegistered extends Registered> {
34
34
  private readonly registerName;
35
35
  private readonly storage;
36
36
  constructor(registerName: string_name);
37
- list(): Array<TRegistered>;
37
+ list(): ReadonlyArray<TRegistered>;
38
38
  register(registered: TRegistered): Registration;
39
39
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Represents items which are compared to each other
3
3
  */
4
- export type FromtoItems = Array<{
4
+ export type FromtoItems = ReadonlyArray<{
5
5
  /**
6
6
  * The title of the item
7
7
  */
@@ -8,4 +8,4 @@ import type { Arrayable } from '../types/Arrayable';
8
8
  *
9
9
  * @private internal utility
10
10
  */
11
- export declare function arrayableToArray<TItem>(input?: Arrayable<TItem>): Array<TItem>;
11
+ export declare function arrayableToArray<TItem>(input?: Arrayable<TItem>): ReadonlyArray<TItem>;
@@ -8,7 +8,7 @@ import type { string_char_emoji } from '../types/typeAliasEmoji';
8
8
  * @private within the repository
9
9
  * @deprecated Use /\p{Extended_Pictographic}/ instead
10
10
  */
11
- export declare const EMOJIS_IN_CATEGORIES: Record<string, Array<string_char_emoji>>;
11
+ export declare const EMOJIS_IN_CATEGORIES: Record<string, ReadonlyArray<string_char_emoji>>;
12
12
  /**
13
13
  *
14
14
  * All possible emoji chars like "🍆", "ðŸĄ", "ðŸĪ"...