@promptbook/node 0.92.0-9 → 0.93.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 (206) hide show
  1. package/README.md +140 -88
  2. package/esm/index.es.js +801 -531
  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/core.index.d.ts +26 -14
  6. package/esm/typings/src/_packages/types.index.d.ts +6 -2
  7. package/esm/typings/src/collection/PipelineCollection.d.ts +0 -2
  8. package/esm/typings/src/collection/SimplePipelineCollection.d.ts +1 -1
  9. package/esm/typings/src/commands/FOREACH/ForeachJson.d.ts +6 -6
  10. package/esm/typings/src/commands/FOREACH/foreachCommandParser.d.ts +0 -2
  11. package/esm/typings/src/commands/FORMFACTOR/formfactorCommandParser.d.ts +1 -1
  12. package/esm/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +1 -1
  13. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +36 -28
  14. package/esm/typings/src/config.d.ts +41 -11
  15. package/esm/typings/src/constants.d.ts +43 -2
  16. package/esm/typings/src/conversion/parsePipeline.d.ts +2 -2
  17. package/esm/typings/src/errors/0-BoilerplateError.d.ts +2 -2
  18. package/esm/typings/src/errors/CollectionError.d.ts +1 -1
  19. package/esm/typings/src/executables/$provideExecutablesForNode.d.ts +1 -1
  20. package/esm/typings/src/executables/apps/locateLibreoffice.d.ts +2 -1
  21. package/esm/typings/src/executables/apps/locatePandoc.d.ts +2 -1
  22. package/esm/typings/src/executables/locateApp.d.ts +2 -2
  23. package/esm/typings/src/executables/platforms/locateAppOnLinux.d.ts +2 -1
  24. package/esm/typings/src/executables/platforms/locateAppOnMacOs.d.ts +2 -1
  25. package/esm/typings/src/executables/platforms/locateAppOnWindows.d.ts +2 -1
  26. package/esm/typings/src/execution/AbstractTaskResult.d.ts +1 -1
  27. package/esm/typings/src/execution/CommonToolsOptions.d.ts +3 -3
  28. package/esm/typings/src/execution/ExecutionTask.d.ts +19 -1
  29. package/esm/typings/src/execution/LlmExecutionToolsConstructor.d.ts +2 -1
  30. package/esm/typings/src/execution/PipelineExecutorResult.d.ts +4 -2
  31. package/esm/typings/src/execution/PromptbookFetch.d.ts +1 -1
  32. package/esm/typings/src/execution/ScriptExecutionTools.d.ts +1 -1
  33. package/esm/typings/src/execution/createPipelineExecutor/$OngoingTaskResult.d.ts +12 -9
  34. package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +13 -10
  35. package/esm/typings/src/execution/createPipelineExecutor/20-executeTask.d.ts +12 -9
  36. package/esm/typings/src/execution/createPipelineExecutor/30-executeFormatSubvalues.d.ts +15 -3
  37. package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +21 -15
  38. package/esm/typings/src/execution/createPipelineExecutor/computeCosineSimilarity.d.ts +13 -0
  39. package/esm/typings/src/execution/createPipelineExecutor/filterJustOutputParameters.d.ts +7 -6
  40. package/esm/typings/src/execution/createPipelineExecutor/getContextForTask.d.ts +5 -1
  41. package/esm/typings/src/execution/createPipelineExecutor/getExamplesForTask.d.ts +1 -1
  42. package/esm/typings/src/execution/createPipelineExecutor/getKnowledgeForTask.d.ts +12 -9
  43. package/esm/typings/src/execution/createPipelineExecutor/getReservedParametersForTask.d.ts +18 -5
  44. package/esm/typings/src/execution/createPipelineExecutor/knowledgePiecesToString.d.ts +9 -0
  45. package/esm/typings/src/execution/execution-report/ExecutionReportJson.d.ts +1 -1
  46. package/esm/typings/src/execution/execution-report/ExecutionReportString.d.ts +1 -1
  47. package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/LindatAutomaticTranslator.d.ts +4 -4
  48. package/esm/typings/src/execution/utils/checkExpectations.d.ts +3 -3
  49. package/esm/typings/src/execution/utils/uncertainNumber.d.ts +3 -2
  50. package/esm/typings/src/execution/utils/usageToWorktime.d.ts +1 -1
  51. package/esm/typings/src/formats/_common/{FormatDefinition.d.ts → FormatParser.d.ts} +8 -6
  52. package/esm/typings/src/formats/_common/FormatSubvalueParser.d.ts +66 -0
  53. package/esm/typings/src/formats/csv/CsvFormatParser.d.ts +17 -0
  54. package/esm/typings/src/formats/csv/CsvSettings.d.ts +2 -2
  55. package/esm/typings/src/formats/csv/utils/csvParse.d.ts +12 -0
  56. package/esm/typings/src/formats/csv/utils/isValidCsvString.d.ts +1 -1
  57. package/esm/typings/src/formats/index.d.ts +2 -2
  58. package/esm/typings/src/formats/json/JsonFormatParser.d.ts +19 -0
  59. package/esm/typings/src/formats/json/utils/isValidJsonString.d.ts +1 -1
  60. package/esm/typings/src/formats/json/utils/jsonParse.d.ts +0 -3
  61. package/esm/typings/src/formats/text/{TextFormatDefinition.d.ts → TextFormatParser.d.ts} +7 -7
  62. package/esm/typings/src/formats/xml/XmlFormatParser.d.ts +19 -0
  63. package/esm/typings/src/formats/xml/utils/isValidXmlString.d.ts +1 -1
  64. package/esm/typings/src/formfactors/_boilerplate/BoilerplateFormfactorDefinition.d.ts +3 -2
  65. package/esm/typings/src/formfactors/_common/AbstractFormfactorDefinition.d.ts +16 -7
  66. package/esm/typings/src/formfactors/_common/FormfactorDefinition.d.ts +3 -1
  67. package/esm/typings/src/formfactors/_common/string_formfactor_name.d.ts +2 -1
  68. package/esm/typings/src/formfactors/chatbot/ChatbotFormfactorDefinition.d.ts +2 -2
  69. package/esm/typings/src/formfactors/completion/CompletionFormfactorDefinition.d.ts +29 -0
  70. package/esm/typings/src/formfactors/generator/GeneratorFormfactorDefinition.d.ts +2 -1
  71. package/esm/typings/src/formfactors/generic/GenericFormfactorDefinition.d.ts +2 -2
  72. package/esm/typings/src/formfactors/index.d.ts +33 -8
  73. package/esm/typings/src/formfactors/matcher/MatcherFormfactorDefinition.d.ts +4 -2
  74. package/esm/typings/src/formfactors/sheets/SheetsFormfactorDefinition.d.ts +3 -2
  75. package/esm/typings/src/formfactors/translator/TranslatorFormfactorDefinition.d.ts +3 -2
  76. package/esm/typings/src/high-level-abstractions/index.d.ts +2 -2
  77. package/esm/typings/src/llm-providers/_common/register/$llmToolsMetadataRegister.d.ts +3 -3
  78. package/esm/typings/src/llm-providers/_common/register/$llmToolsRegister.d.ts +3 -3
  79. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsConfigurationFromEnv.d.ts +4 -4
  80. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForTestingAndScriptsAndPlayground.d.ts +4 -3
  81. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsFromEnv.d.ts +18 -5
  82. package/esm/typings/src/llm-providers/_common/register/LlmToolsConfiguration.d.ts +11 -4
  83. package/esm/typings/src/llm-providers/_common/register/LlmToolsMetadata.d.ts +21 -42
  84. package/esm/typings/src/llm-providers/_common/register/LlmToolsOptions.d.ts +9 -2
  85. package/esm/typings/src/llm-providers/_common/register/createLlmToolsFromConfiguration.d.ts +13 -4
  86. package/esm/typings/src/llm-providers/_common/utils/cache/CacheItem.d.ts +10 -5
  87. package/esm/typings/src/llm-providers/_common/utils/cache/CacheLlmToolsOptions.d.ts +11 -3
  88. package/esm/typings/src/llm-providers/_common/utils/cache/cacheLlmTools.d.ts +3 -3
  89. package/esm/typings/src/llm-providers/_common/utils/count-total-usage/limitTotalUsage.d.ts +5 -5
  90. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +6 -0
  91. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
  92. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
  93. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +4 -4
  94. package/esm/typings/src/llm-providers/deepseek/deepseek-models.d.ts +1 -1
  95. package/esm/typings/src/llm-providers/google/google-models.d.ts +1 -1
  96. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +1 -1
  97. package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -1
  98. package/esm/typings/src/llm-providers/openai/register-configuration.d.ts +2 -2
  99. package/esm/typings/src/llm-providers/openai/register-constructor.d.ts +2 -2
  100. package/esm/typings/src/migrations/migratePipeline.d.ts +9 -0
  101. package/esm/typings/src/other/templates/getBookTemplates.d.ts +2 -2
  102. package/esm/typings/src/pipeline/PipelineInterface/PipelineInterface.d.ts +3 -3
  103. package/esm/typings/src/pipeline/PipelineInterface/constants.d.ts +1 -1
  104. package/esm/typings/src/pipeline/PipelineInterface/getPipelineInterface.d.ts +1 -1
  105. package/esm/typings/src/pipeline/PipelineInterface/isPipelineImplementingInterface.d.ts +5 -4
  106. package/esm/typings/src/pipeline/PipelineInterface/isPipelineInterfacesEqual.d.ts +1 -1
  107. package/esm/typings/src/pipeline/PipelineJson/CommonTaskJson.d.ts +10 -7
  108. package/esm/typings/src/pipeline/PipelineJson/ParameterJson.d.ts +1 -1
  109. package/esm/typings/src/pipeline/PipelineJson/PipelineJson.d.ts +3 -2
  110. package/esm/typings/src/pipeline/PipelineString.d.ts +3 -1
  111. package/esm/typings/src/pipeline/book-notation.d.ts +2 -2
  112. package/esm/typings/src/postprocessing/utils/extractBlock.d.ts +1 -1
  113. package/esm/typings/src/postprocessing/utils/extractJsonBlock.d.ts +2 -2
  114. package/esm/typings/src/prepare/prepareTasks.d.ts +8 -5
  115. package/esm/typings/src/remote-server/openapi.d.ts +1 -1
  116. package/esm/typings/src/remote-server/socket-types/listModels/PromptbookServer_ListModels_Response.d.ts +1 -1
  117. package/esm/typings/src/remote-server/startRemoteServer.d.ts +1 -1
  118. package/esm/typings/src/remote-server/types/RemoteServerOptions.d.ts +7 -6
  119. package/esm/typings/src/scrapers/_boilerplate/BoilerplateScraper.d.ts +3 -3
  120. package/esm/typings/src/scrapers/_boilerplate/createBoilerplateScraper.d.ts +1 -1
  121. package/esm/typings/src/scrapers/_boilerplate/register-metadata.d.ts +1 -1
  122. package/esm/typings/src/scrapers/_common/Converter.d.ts +3 -1
  123. package/esm/typings/src/scrapers/_common/Scraper.d.ts +4 -3
  124. package/esm/typings/src/scrapers/_common/ScraperIntermediateSource.d.ts +4 -2
  125. package/esm/typings/src/scrapers/_common/prepareKnowledgePieces.d.ts +2 -2
  126. package/esm/typings/src/scrapers/_common/register/$provideFilesystemForNode.d.ts +2 -1
  127. package/esm/typings/src/scrapers/_common/register/$provideScrapersForBrowser.d.ts +6 -3
  128. package/esm/typings/src/scrapers/_common/register/$provideScrapersForNode.d.ts +3 -5
  129. package/esm/typings/src/scrapers/_common/register/$scrapersMetadataRegister.d.ts +3 -3
  130. package/esm/typings/src/scrapers/_common/register/$scrapersRegister.d.ts +3 -2
  131. package/esm/typings/src/scrapers/_common/register/ScraperAndConverterMetadata.d.ts +8 -5
  132. package/esm/typings/src/scrapers/_common/register/ScraperConstructor.d.ts +2 -1
  133. package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.d.ts +6 -5
  134. package/esm/typings/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +3 -1
  135. package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +1 -1
  136. package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +2 -1
  137. package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +4 -1
  138. package/esm/typings/src/scrapers/markitdown/MarkitdownScraper.d.ts +1 -1
  139. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +2 -1
  140. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +3 -4
  141. package/esm/typings/src/scripting/javascript/JavascriptExecutionTools.d.ts +1 -1
  142. package/esm/typings/src/scripting/javascript/postprocessing-functions.d.ts +5 -1
  143. package/esm/typings/src/scripting/javascript/utils/preserve.d.ts +1 -1
  144. package/esm/typings/src/storage/_common/PromptbookStorage.d.ts +1 -1
  145. package/esm/typings/src/storage/file-cache-storage/FileCacheStorage.d.ts +12 -5
  146. package/esm/typings/src/storage/file-cache-storage/FileCacheStorageOptions.d.ts +4 -2
  147. package/esm/typings/src/storage/file-cache-storage/utils/nameToSubfolderPath.d.ts +2 -1
  148. package/esm/typings/src/storage/local-storage/getIndexedDbStorage.d.ts +11 -0
  149. package/esm/typings/src/storage/local-storage/utils/IndexedDbStorageOptions.d.ts +14 -0
  150. package/esm/typings/src/storage/local-storage/utils/makePromptbookStorageFromIndexedDb.d.ts +8 -0
  151. package/esm/typings/src/storage/local-storage/utils/makePromptbookStorageFromWebStorage.d.ts +2 -1
  152. package/esm/typings/src/types/IntermediateFilesStrategy.d.ts +2 -1
  153. package/esm/typings/src/types/ModelRequirements.d.ts +2 -2
  154. package/esm/typings/src/types/ModelVariant.d.ts +5 -5
  155. package/esm/typings/src/types/typeAliases.d.ts +22 -19
  156. package/esm/typings/src/utils/$Register.d.ts +8 -7
  157. package/esm/typings/src/utils/editable/edit-pipeline-string/addPipelineCommand.d.ts +2 -2
  158. package/esm/typings/src/utils/editable/edit-pipeline-string/deflatePipeline.d.ts +4 -1
  159. package/esm/typings/src/utils/editable/utils/isFlatPipeline.d.ts +2 -1
  160. package/esm/typings/src/utils/editable/utils/stringifyPipelineJson.d.ts +1 -1
  161. package/esm/typings/src/utils/environment/$getGlobalScope.d.ts +2 -1
  162. package/esm/typings/src/utils/expectation-counters/index.d.ts +1 -1
  163. package/esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +2 -2
  164. package/esm/typings/src/utils/markdown/extractAllListItemsFromMarkdown.d.ts +1 -1
  165. package/esm/typings/src/utils/markdown/extractOneBlockFromMarkdown.d.ts +2 -2
  166. package/esm/typings/src/utils/normalization/nameToUriPart.d.ts +4 -4
  167. package/esm/typings/src/utils/normalization/nameToUriParts.d.ts +4 -4
  168. package/esm/typings/src/utils/normalization/normalize-to-kebab-case.d.ts +3 -3
  169. package/esm/typings/src/utils/normalization/normalizeTo_SCREAMING_CASE.d.ts +3 -3
  170. package/esm/typings/src/utils/normalization/normalizeTo_camelCase.d.ts +4 -4
  171. package/esm/typings/src/utils/normalization/normalizeTo_snake_case.d.ts +3 -3
  172. package/esm/typings/src/utils/normalization/removeDiacritics.d.ts +3 -3
  173. package/esm/typings/src/utils/normalization/searchKeywords.d.ts +4 -1
  174. package/esm/typings/src/utils/normalization/titleToName.d.ts +4 -4
  175. package/esm/typings/src/utils/organization/TODO_USE.d.ts +1 -1
  176. package/esm/typings/src/utils/organization/empty_object.d.ts +2 -2
  177. package/esm/typings/src/utils/organization/just.d.ts +1 -1
  178. package/esm/typings/src/utils/organization/just_empty_object.d.ts +4 -4
  179. package/esm/typings/src/utils/organization/keepUnused.d.ts +1 -1
  180. package/esm/typings/src/utils/parameters/mapAvailableToExpectedParameters.d.ts +7 -7
  181. package/esm/typings/src/utils/removeQuotes.d.ts +2 -2
  182. package/esm/typings/src/utils/serialization/clonePipeline.d.ts +4 -3
  183. package/esm/typings/src/utils/serialization/deepClone.d.ts +5 -1
  184. package/esm/typings/src/utils/trimCodeBlock.d.ts +1 -1
  185. package/esm/typings/src/utils/trimEndOfCodeBlock.d.ts +1 -1
  186. package/esm/typings/src/utils/unwrapResult.d.ts +2 -2
  187. package/esm/typings/src/utils/validators/javascriptName/isValidJavascriptName.d.ts +3 -3
  188. package/esm/typings/src/utils/validators/parameterName/validateParameterName.d.ts +5 -4
  189. package/esm/typings/src/utils/validators/semanticVersion/isValidPromptbookVersion.d.ts +1 -1
  190. package/esm/typings/src/utils/validators/semanticVersion/isValidSemanticVersion.d.ts +1 -1
  191. package/esm/typings/src/utils/validators/url/isHostnameOnPrivateNetwork.d.ts +1 -1
  192. package/esm/typings/src/utils/validators/url/isUrlOnPrivateNetwork.d.ts +1 -1
  193. package/esm/typings/src/utils/validators/url/isValidPipelineUrl.d.ts +1 -1
  194. package/esm/typings/src/utils/validators/url/isValidUrl.d.ts +1 -1
  195. package/esm/typings/src/version.d.ts +2 -1
  196. package/esm/typings/src/wizzard/wizzard.d.ts +1 -1
  197. package/package.json +15 -3
  198. package/umd/index.umd.js +804 -534
  199. package/umd/index.umd.js.map +1 -1
  200. package/esm/typings/src/formats/_common/FormatSubvalueDefinition.d.ts +0 -31
  201. package/esm/typings/src/formats/csv/CsvFormatDefinition.d.ts +0 -17
  202. package/esm/typings/src/formats/json/JsonFormatDefinition.d.ts +0 -19
  203. package/esm/typings/src/formats/xml/XmlFormatDefinition.d.ts +0 -19
  204. /package/esm/typings/src/llm-providers/{multiple → _multiple}/MultipleLlmExecutionTools.d.ts +0 -0
  205. /package/esm/typings/src/llm-providers/{multiple → _multiple}/joinLlmExecutionTools.d.ts +0 -0
  206. /package/esm/typings/src/llm-providers/{multiple → _multiple}/playground/playground.d.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This error indicates @@@
2
+ * This error indicates @@
3
3
  *
4
4
  * @public exported from `@promptbook/core`
5
5
  */
@@ -8,5 +8,5 @@ export declare class BoilerplateError extends Error {
8
8
  constructor(message: string);
9
9
  }
10
10
  /**
11
- * TODO: @@@ Do not forget to add the error into `0-index.ts` ERRORS
11
+ * TODO: @@ Do not forget to add the error into `0-index.ts` ERRORS
12
12
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This error indicates that the pipeline collection cannot be propperly loaded
2
+ * This error indicates that the pipeline collection cannot be properly loaded
3
3
  *
4
4
  * @public exported from `@promptbook/core`
5
5
  */
@@ -1,7 +1,7 @@
1
1
  import type { Executables } from '../execution/Executables';
2
2
  import type { PrepareAndScrapeOptions } from '../prepare/PrepareAndScrapeOptions';
3
3
  /**
4
- * @@@
4
+ * Provides paths to required executables (i.e. as Pandoc and LibreOffice) for Node.js environments.
5
5
  *
6
6
  * @public exported from `@promptbook/node`
7
7
  */
@@ -1,6 +1,7 @@
1
1
  import type { string_executable_path } from '../../types/typeAliases';
2
2
  /**
3
- * @@@
3
+ * Locates the LibreOffice executable on the current system by searching platform-specific paths.
4
+ * Returns the path to the executable if found, or null otherwise.
4
5
  *
5
6
  * @private within the repository
6
7
  */
@@ -1,6 +1,7 @@
1
1
  import type { string_executable_path } from '../../types/typeAliases';
2
2
  /**
3
- * @@@
3
+ * Locates the Pandoc executable on the current system by searching platform-specific paths.
4
+ * Returns the path to the executable if found, or null otherwise.
4
5
  *
5
6
  * @private within the repository
6
7
  */
@@ -3,7 +3,7 @@ import type { string_executable_path } from '../types/typeAliases';
3
3
  /**
4
4
  * Options for locating any application
5
5
  */
6
- export interface LocateAppOptions {
6
+ export type LocateAppOptions = {
7
7
  /**
8
8
  * Name of the application
9
9
  */
@@ -20,7 +20,7 @@ export interface LocateAppOptions {
20
20
  * Name of the application on macOS
21
21
  */
22
22
  macOsName?: string;
23
- }
23
+ };
24
24
  /**
25
25
  * Locates an application on the system
26
26
  *
@@ -1,7 +1,8 @@
1
1
  import type { string_executable_path } from '../../types/typeAliases';
2
2
  import type { LocateAppOptions } from '../locateApp';
3
3
  /**
4
- * @@@
4
+ * Attempts to locate the specified application on a Linux system using the 'which' command.
5
+ * Returns the path to the executable if found, or null otherwise.
5
6
  *
6
7
  * @private within the repository
7
8
  */
@@ -1,7 +1,8 @@
1
1
  import type { string_executable_path } from '../../types/typeAliases';
2
2
  import type { LocateAppOptions } from '../locateApp';
3
3
  /**
4
- * @@@
4
+ * Attempts to locate the specified application on a macOS system by checking standard application paths and using mdfind.
5
+ * Returns the path to the executable if found, or null otherwise.
5
6
  *
6
7
  * @private within the repository
7
8
  */
@@ -1,7 +1,8 @@
1
1
  import type { string_executable_path } from '../../types/typeAliases';
2
2
  import type { LocateAppOptions } from '../locateApp';
3
3
  /**
4
- * @@@
4
+ * Attempts to locate the specified application on a Windows system by searching common installation directories.
5
+ * Returns the path to the executable if found, or null otherwise.
5
6
  *
6
7
  * @private within the repository
7
8
  */
@@ -1,7 +1,7 @@
1
1
  import { ReadonlyDeep } from 'type-fest';
2
2
  import type { ErrorJson } from '../errors/utils/ErrorJson';
3
3
  /**
4
- * @@@
4
+ * Represents the result of execution of a task in a pipeline
5
5
  *
6
6
  * Note: [🚉] This is fully serializable as JSON
7
7
  */
@@ -1,6 +1,6 @@
1
1
  import type { string_user_id } from '../types/typeAliases';
2
2
  /**
3
- * @@@
3
+ * Common options shared across various execution tools.
4
4
  *
5
5
  * Note: Keep it public to allow people to make their own execution tools
6
6
  */
@@ -17,8 +17,8 @@ export type CommonToolsOptions = {
17
17
  */
18
18
  readonly isVerbose?: boolean;
19
19
  /**
20
- * Maximum number of requests per minute
21
- */
20
+ * Maximum number of requests per minute
21
+ */
22
22
  readonly maxRequestsPerMinute?: number;
23
23
  };
24
24
  /**
@@ -2,6 +2,7 @@ import type { Observable } from 'rxjs';
2
2
  import { PartialDeep } from 'type-fest';
3
3
  import type { task_id } from '../types/typeAliases';
4
4
  import type { string_SCREAMING_CASE } from '../utils/normalization/normalizeTo_SCREAMING_CASE';
5
+ import type { string_promptbook_version } from '../version';
5
6
  import type { AbstractTaskResult } from './AbstractTaskResult';
6
7
  import type { PipelineExecutorResult } from './PipelineExecutorResult';
7
8
  /**
@@ -12,12 +13,21 @@ type CreateTaskOptions<TTaskResult extends AbstractTaskResult> = {
12
13
  * The type of task to create
13
14
  */
14
15
  readonly taskType: AbstractTask<TTaskResult>['taskType'];
16
+ /**
17
+ * Human-readable title of the task - used for displaying in the UI
18
+ */
19
+ readonly title: AbstractTask<TTaskResult>['title'];
15
20
  /**
16
21
  * Callback that processes the task and updates the ongoing result
17
22
  * @param ongoingResult The partial result of the task processing
18
23
  * @returns The final task result
19
24
  */
20
- taskProcessCallback(updateOngoingResult: (newOngoingResult: PartialDeep<TTaskResult>) => void): Promise<TTaskResult>;
25
+ taskProcessCallback(updateOngoingResult: (newOngoingResult: PartialDeep<TTaskResult> & {
26
+ /**
27
+ * Optional update of the task title
28
+ */
29
+ readonly title?: AbstractTask<TTaskResult>['title'];
30
+ }) => void): Promise<TTaskResult>;
21
31
  };
22
32
  /**
23
33
  * Helper to create a new task
@@ -52,10 +62,18 @@ export type AbstractTask<TTaskResult extends AbstractTaskResult> = {
52
62
  * Type of the task
53
63
  */
54
64
  readonly taskType: string_SCREAMING_CASE;
65
+ /**
66
+ * Version of the promptbook used to run the task
67
+ */
68
+ readonly promptbookVersion: string_promptbook_version;
55
69
  /**
56
70
  * Unique identifier for the task
57
71
  */
58
72
  readonly taskId: task_id;
73
+ /**
74
+ * Human-readable title of the task - used for displaying in the UI
75
+ */
76
+ readonly title: string;
59
77
  /**
60
78
  * Status of the task
61
79
  */
@@ -2,7 +2,8 @@ import type { Registered } from '../utils/$Register';
2
2
  import type { TODO_any } from '../utils/organization/TODO_any';
3
3
  import type { LlmExecutionTools } from './LlmExecutionTools';
4
4
  /**
5
- * @@@
5
+ * Type representing a constructor for LLM execution tools, which are used to interact with language models.
6
+ * Combines registration metadata with a factory function for creating LLM tool instances.
6
7
  */
7
8
  export type LlmExecutionToolsConstructor = Registered & ((options: TODO_any) => LlmExecutionTools);
8
9
  /**
@@ -5,7 +5,7 @@ import type { AbstractTaskResult } from './AbstractTaskResult';
5
5
  import type { ExecutionReportJson } from './execution-report/ExecutionReportJson';
6
6
  import type { Usage } from './Usage';
7
7
  /**
8
- * @@@
8
+ * The result of executing a pipeline
9
9
  *
10
10
  * Note: [🚉] This is fully serializable as JSON
11
11
  */
@@ -22,8 +22,10 @@ export type PipelineExecutorResult = AbstractTaskResult & {
22
22
  readonly usage: ReadonlyDeep<Usage>;
23
23
  /**
24
24
  * The report of the execution with all details
25
+ *
26
+ * Note: If the execution fails unexpectedly, this will be `null`
25
27
  */
26
- readonly executionReport: ReadonlyDeep<ExecutionReportJson>;
28
+ readonly executionReport: ReadonlyDeep<ExecutionReportJson> | null;
27
29
  /**
28
30
  * The prepared pipeline that was used for the execution
29
31
  *
@@ -5,7 +5,7 @@ import type { string_url } from '../types/typeAliases';
5
5
  * In most cases it is just native `fetch` function with a lightweight error handling wrapper
6
6
  * But it can be replaced with any other fetch function, polyfill, custom implementation, security layer, etc.
7
7
  *
8
- * It is used in theese places:
8
+ * It is used in these places:
9
9
  * - Fetching knowledge sources
10
10
  * - Callbacks from remote server
11
11
  */
@@ -19,7 +19,7 @@ export type ScriptExecutionToolsExecuteOptions = {
19
19
  readonly scriptLanguage: ScriptLanguage;
20
20
  /**
21
21
  * Parameters for the script
22
- * Theese parameters are passed to the script as variables
22
+ * These parameters are passed to the script as variables
23
23
  * For example: { "name": "John" } => const name = "John";
24
24
  */
25
25
  readonly parameters: Parameters;
@@ -5,41 +5,44 @@ import type { CompletionPromptResult } from '../PromptResult';
5
5
  import type { EmbeddingPromptResult } from '../PromptResult';
6
6
  import type { PromptResult } from '../PromptResult';
7
7
  /**
8
- * @@@
8
+ * Represents the ongoing result of a pipeline task execution
9
+ *
10
+ * Used internally by the pipeline executor to track state during execution attempts
9
11
  *
10
12
  * @private internal utility of `createPipelineExecutor`
11
13
  */
12
14
  export type $OngoingTaskResult = {
13
15
  /**
14
- * @@@
16
+ * The prompt object used for the current execution attempt, if applicable.
15
17
  */
16
18
  $prompt?: Prompt;
17
19
  /**
18
- * @@@
20
+ * The result of a chat model execution, if applicable.
19
21
  */
20
22
  $chatResult?: ChatPromptResult;
21
23
  /**
22
- * @@@
24
+ * The result of a completion model execution, if applicable.
23
25
  */
24
26
  $completionResult?: CompletionPromptResult;
25
27
  /**
26
- * @@@
28
+ * The result of an embedding model execution, if applicable.
29
+ * Note: [🤖] Embedding results are less common in standard pipelines.
27
30
  */
28
31
  $embeddingResult?: EmbeddingPromptResult;
29
32
  /**
30
- * @@@
33
+ * The final result object for the task, or null if not yet available.
31
34
  */
32
35
  $result: PromptResult | null;
33
36
  /**
34
- * @@@
37
+ * The result string produced by the task, or null if not yet available.
35
38
  */
36
39
  $resultString: string | null;
37
40
  /**
38
- * @@@
41
+ * The last expectation error encountered, or null if none.
39
42
  */
40
43
  $expectError: ExpectError | null;
41
44
  /**
42
- * @@@
45
+ * List of errors encountered during script postprocessing or execution.
43
46
  */
44
47
  $scriptPipelineExecutionErrors: Array<Error>;
45
48
  };
@@ -4,40 +4,43 @@ import type { InputParameters } from '../../types/typeAliases';
4
4
  import type { PipelineExecutorResult } from '../PipelineExecutorResult';
5
5
  import type { CreatePipelineExecutorOptions } from './00-CreatePipelineExecutorOptions';
6
6
  /**
7
- * @@@
7
+ * Options for executing an entire pipeline, including input parameters, pipeline context, and progress callbacks.
8
8
  *
9
9
  * @private internal type of `executePipeline`
10
10
  */
11
11
  type ExecutePipelineOptions = Required<CreatePipelineExecutorOptions> & {
12
12
  /**
13
- * @@@
13
+ * The input parameters provided by the user for pipeline execution.
14
14
  */
15
15
  readonly inputParameters: Readonly<InputParameters>;
16
16
  /**
17
- * @@@
17
+ * Optional callback invoked with partial results as the pipeline execution progresses.
18
18
  */
19
19
  onProgress?(newOngoingResult: PartialDeep<PipelineExecutorResult>): Promisable<void>;
20
20
  /**
21
- * @@@
21
+ * The pipeline definition to execute.
22
22
  */
23
23
  readonly pipeline: PipelineJson;
24
24
  /**
25
- * @@@
25
+ * The prepared and validated pipeline, ready for execution.
26
26
  */
27
27
  readonly preparedPipeline: ReadonlyDeep<PipelineJson>;
28
28
  /**
29
- * @@@
29
+ * Callback to update the prepared pipeline reference after preparation.
30
30
  */
31
- readonly setPreparedPipeline: (preparedPipeline: ReadonlyDeep<PipelineJson>) => void;
31
+ setPreparedPipeline(preparedPipeline: ReadonlyDeep<PipelineJson>): void;
32
32
  /**
33
- * @@@
33
+ * String identifier for the pipeline, used in error messages and reporting.
34
34
  */
35
35
  readonly pipelineIdentification: string;
36
36
  };
37
37
  /**
38
- * @@@
38
+ * Executes an entire pipeline, resolving tasks in dependency order, handling errors, and reporting progress.
39
39
  *
40
- * Note: This is not a `PipelineExecutor` (which is binded with one exact pipeline), but a utility function of `createPipelineExecutor` which creates `PipelineExecutor`
40
+ * Note: This is not a `PipelineExecutor` (which is bound to a single pipeline), but a utility function used by `createPipelineExecutor` to create a `PipelineExecutor`.
41
+ *
42
+ * @param options - Options for execution, including input parameters, pipeline, and callbacks.
43
+ * @returns The result of the pipeline execution, including output parameters, errors, and usage statistics.
41
44
  *
42
45
  * @private internal utility of `createPipelineExecutor`
43
46
  */
@@ -6,38 +6,41 @@ import type { ExecutionReportJson } from '../execution-report/ExecutionReportJso
6
6
  import type { PipelineExecutorResult } from '../PipelineExecutorResult';
7
7
  import type { CreatePipelineExecutorOptions } from './00-CreatePipelineExecutorOptions';
8
8
  /**
9
- * @@@
9
+ * Options for executing a single pipeline task, including task details, pipeline context, parameters, and callbacks.
10
10
  *
11
11
  * @private internal type of `executeTask`
12
12
  */
13
13
  type executeSingleTaskOptions = Required<CreatePipelineExecutorOptions> & {
14
14
  /**
15
- * @@@
15
+ * The task to be executed.
16
16
  */
17
17
  readonly currentTask: ReadonlyDeep<TaskJson>;
18
18
  /**
19
- * @@@
19
+ * The pipeline in which the task resides, fully prepared and validated.
20
20
  */
21
21
  readonly preparedPipeline: ReadonlyDeep<PipelineJson>;
22
22
  /**
23
- * @@@
23
+ * The parameters to pass to the task execution.
24
24
  */
25
25
  readonly parametersToPass: Readonly<Parameters>;
26
26
  /**
27
- * @@@
27
+ * Callback invoked with partial results as the execution progresses.
28
28
  */
29
- readonly onProgress: (newOngoingResult: PartialDeep<PipelineExecutorResult>) => Promisable<void>;
29
+ onProgress(newOngoingResult: PartialDeep<PipelineExecutorResult>): Promisable<void>;
30
30
  /**
31
- * @@@
31
+ * Mutable execution report object for tracking execution details.
32
32
  */
33
33
  readonly $executionReport: WritableDeep<ExecutionReportJson>;
34
34
  /**
35
- * @@@
35
+ * String identifier for the pipeline, used in error messages and reporting.
36
36
  */
37
37
  readonly pipelineIdentification: string;
38
38
  };
39
39
  /**
40
- * @@@
40
+ * Executes a single task within a pipeline, handling parameter validation, error checking, and progress reporting.
41
+ *
42
+ * @param options - Options for execution, including the task, pipeline, parameters, and callbacks.
43
+ * @returns The output parameters produced by the task.
41
44
  *
42
45
  * @private internal utility of `createPipelineExecutor`
43
46
  */
@@ -1,13 +1,25 @@
1
+ import type { PartialDeep, Promisable } from 'type-fest';
1
2
  import type { TODO_any } from '../../utils/organization/TODO_any';
3
+ import type { PipelineExecutorResult } from '../PipelineExecutorResult';
2
4
  import type { ExecuteAttemptsOptions } from './40-executeAttempts';
3
5
  /**
4
- * @@@
6
+ * Options for executing a pipeline task that involves formatting subvalues (e.g., iterating over CSV rows).
7
+ * Extends ExecuteAttemptsOptions with a progress callback.
5
8
  *
6
9
  * @private internal type of `executeFormatSubvalues`
7
10
  */
8
- type ExecuteFormatCellsOptions = ExecuteAttemptsOptions;
11
+ type ExecuteFormatCellsOptions = ExecuteAttemptsOptions & {
12
+ /**
13
+ * Callback invoked with partial results as the execution progresses.
14
+ */
15
+ onProgress(newOngoingResult: PartialDeep<PipelineExecutorResult>): Promisable<void>;
16
+ };
9
17
  /**
10
- * @@@
18
+ * Executes a pipeline task that requires mapping or iterating over subvalues of a parameter (such as rows in a CSV).
19
+ * Handles format and subformat resolution, error handling, and progress reporting.
20
+ *
21
+ * @param options - Options for execution, including task details and progress callback.
22
+ * @returns The result of the subvalue mapping or execution attempts.
11
23
  *
12
24
  * @private internal utility of `createPipelineExecutor`
13
25
  */
@@ -7,55 +7,61 @@ import type { TODO_string } from '../../utils/organization/TODO_string';
7
7
  import type { ExecutionReportJson } from '../execution-report/ExecutionReportJson';
8
8
  import type { CreatePipelineExecutorOptions } from './00-CreatePipelineExecutorOptions';
9
9
  /**
10
- * @@@
10
+ * Options for executing attempts of a pipeline task, including configuration for jokers, priority,
11
+ * maximum attempts, prepared content, parameters, the task itself, the prepared pipeline, execution report,
12
+ * and pipeline identification. Used internally by the pipeline executor.
11
13
  *
12
14
  * @private internal type of `executeAttempts`
13
15
  */
14
16
  export type ExecuteAttemptsOptions = Required<Omit<CreatePipelineExecutorOptions, 'pipeline'>> & {
15
17
  /**
16
- * @@@
18
+ * Names of parameters that act as jokers, which can be used to bypass normal execution if their value meets requirements.
17
19
  */
18
20
  readonly jokerParameterNames: Readonly<ReadonlyArray<string_parameter_name>>;
19
21
  /**
20
- * @@@
22
+ * Priority of the current execution attempt, used to influence UI or execution order.
21
23
  */
22
24
  readonly priority: number;
23
25
  /**
24
- * @@@
25
- *
26
- * Note: [💂] There are two distinct variabiles
27
- * 1) `maxExecutionAttempts` - the amount of attempts LLM model
28
- * 2) `maxAttempts` - the amount of attempts for any task - LLM, SCRIPT, DIALOG, etc.
26
+ * Maximum number of attempts allowed for this task, including retries and joker attempts.
27
+ * Note: [💂] There are two distinct variables
28
+ * 1) `maxExecutionAttempts` - attempts for LLM model
29
+ * 2) `maxAttempts` - attempts for any task (LLM, SCRIPT, DIALOG, etc.)
29
30
  */
30
31
  readonly maxAttempts: number;
31
32
  /**
32
- * @@@
33
+ * The content prepared for execution, with parameters already substituted.
33
34
  */
34
35
  readonly preparedContent: TODO_string;
35
36
  /**
36
- * @@@
37
+ * The parameters provided for this execution attempt.
37
38
  */
38
39
  readonly parameters: Readonly<Parameters>;
39
40
  /**
40
- * @@@
41
+ * The task being executed, as a deeply immutable TaskJson object.
42
+ * Note: Naming should be unified between `task` and `currentTask`.
41
43
  */
42
44
  readonly task: ReadonlyDeep<TaskJson>;
43
45
  /**
44
- * @@@
46
+ * The pipeline structure prepared for execution, as a deeply immutable PipelineJson object.
45
47
  */
46
48
  readonly preparedPipeline: ReadonlyDeep<PipelineJson>;
47
49
  /**
48
- * @@@
50
+ * The execution report object, which is updated during execution.
49
51
  */
50
52
  readonly $executionReport: WritableDeep<ExecutionReportJson>;
51
53
  /**
52
- * @@@
54
+ * String identifier for the pipeline, used for logging and error reporting.
53
55
  */
54
56
  readonly pipelineIdentification: string;
55
57
  };
56
58
  /**
57
- * @@@
59
+ * Executes a pipeline task with multiple attempts, including joker and retry logic. Handles different task types
60
+ * (prompt, script, dialog, etc.), applies postprocessing, checks expectations, and updates the execution report.
61
+ * Throws errors if execution fails after all attempts.
58
62
  *
63
+ * @param options - The options for execution, including task, parameters, pipeline, and configuration.
64
+ * @returns The result string of the executed task.
59
65
  * @private internal utility of `createPipelineExecutor`
60
66
  */
61
67
  export declare function executeAttempts(options: ExecuteAttemptsOptions): Promise<TODO_string>;
@@ -0,0 +1,13 @@
1
+ import type { EmbeddingVector } from '../EmbeddingVector';
2
+ /**
3
+ * Computes the cosine similarity between two embedding vectors
4
+ *
5
+ * Note: This is helping function for RAG (retrieval-augmented generation)
6
+ *
7
+ * @param embeddingVector1
8
+ * @param embeddingVector2
9
+ * @returns Cosine similarity between the two vectors
10
+ *
11
+ * @public exported from `@promptbook/core`
12
+ */
13
+ export declare function computeCosineSimilarity(embeddingVector1: EmbeddingVector, embeddingVector2: EmbeddingVector): number;
@@ -3,30 +3,31 @@ import { PipelineExecutionError } from '../../errors/PipelineExecutionError';
3
3
  import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
4
4
  import type { Parameters } from '../../types/typeAliases';
5
5
  /**
6
- * @@@
6
+ * Options for filtering and extracting only output parameters from a pipeline execution.
7
7
  *
8
8
  * @private internal type of `createPipelineExecutor`
9
9
  */
10
10
  type FilterJustOutputParametersOptions = {
11
11
  /**
12
- * @@@
12
+ * The fully prepared pipeline containing parameter definitions.
13
13
  */
14
14
  readonly preparedPipeline: ReadonlyDeep<PipelineJson>;
15
15
  /**
16
- * @@@
16
+ * The parameters passed to the pipeline, including both input and output values.
17
17
  */
18
18
  readonly parametersToPass: Readonly<Parameters>;
19
19
  /**
20
- * @@@
20
+ * Array to collect warnings encountered during parameter extraction.
21
21
  */
22
22
  readonly $warnings: PipelineExecutionError[];
23
23
  /**
24
- * @@@
24
+ * String identifier for the pipeline, used in warning messages.
25
25
  */
26
26
  readonly pipelineIdentification: string;
27
27
  };
28
28
  /**
29
- * @@@
29
+ * Filters and returns only the output parameters from the provided pipeline execution options.
30
+ * Adds warnings for any expected output parameters that are missing.
30
31
  *
31
32
  * @private internal utility of `createPipelineExecutor`
32
33
  */
@@ -3,8 +3,12 @@ import type { TaskJson } from '../../pipeline/PipelineJson/TaskJson';
3
3
  import type { string_markdown } from '../../types/typeAliases';
4
4
  import type { string_parameter_value } from '../../types/typeAliases';
5
5
  /**
6
- * @@@
6
+ * Returns the context for a given task, typically used to provide additional information or variables
7
+ * required for the execution of the task within a pipeline. The context is returned as a string value
8
+ * that may include markdown formatting.
7
9
  *
10
+ * @param task - The task for which the context is being generated. This should be a deeply immutable TaskJson object.
11
+ * @returns The context as a string, formatted as markdown and parameter value.
8
12
  * @private internal utility of `createPipelineExecutor`
9
13
  */
10
14
  export declare function getContextForTask(task: ReadonlyDeep<TaskJson>): Promise<string_parameter_value & string_markdown>;
@@ -3,7 +3,7 @@ import type { TaskJson } from '../../pipeline/PipelineJson/TaskJson';
3
3
  import type { string_markdown } from '../../types/typeAliases';
4
4
  import type { string_parameter_value } from '../../types/typeAliases';
5
5
  /**
6
- * @@@
6
+ * Retrieves example values or templates for a given task, used to guide or validate pipeline execution.
7
7
  *
8
8
  * @private internal utility of `createPipelineExecutor`
9
9
  */
@@ -1,39 +1,42 @@
1
1
  import type { ReadonlyDeep } from 'type-fest';
2
2
  import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
3
3
  import type { TaskJson } from '../../pipeline/PipelineJson/TaskJson';
4
+ import type { Parameters } from '../../types/typeAliases';
4
5
  import type { string_markdown } from '../../types/typeAliases';
5
6
  import type { string_parameter_value } from '../../types/typeAliases';
6
7
  import type { ExecutionTools } from '../ExecutionTools';
7
8
  /**
8
- * @@@
9
+ * Options for retrieving relevant knowledge for a specific task during pipeline execution.
9
10
  *
10
- * @private internal type of `getKnowledgeFoTask`
11
+ * @private internal type of `getKnowledgeForTask`
11
12
  */
12
13
  type GetKnowledgeForTaskOptions = {
13
14
  /**
14
- * The execution tools to be used during the execution of the pipeline
15
+ * The execution tools to be used during the execution of the pipeline.
15
16
  */
16
17
  readonly tools: ExecutionTools;
17
18
  /**
18
- * @@@
19
+ * The fully prepared pipeline containing all tasks and knowledge pieces.
19
20
  */
20
21
  readonly preparedPipeline: ReadonlyDeep<PipelineJson>;
21
22
  /**
22
- * @@@
23
+ * The current task for which knowledge is being retrieved.
23
24
  */
24
25
  readonly task: ReadonlyDeep<TaskJson>;
26
+ /**
27
+ * Parameters used to complete the content of the task for embedding and knowledge retrieval.
28
+ */
29
+ readonly parameters: Readonly<Parameters>;
25
30
  };
26
31
  /**
27
- * @@@
28
- *
29
- * Here is the place where RAG (retrieval-augmented generation) happens
32
+ * Retrieves the most relevant knowledge pieces for a given task using embedding-based similarity search.
33
+ * This is where retrieval-augmented generation (RAG) is performed to enhance the task with external knowledge.
30
34
  *
31
35
  * @private internal utility of `createPipelineExecutor`
32
36
  */
33
37
  export declare function getKnowledgeForTask(options: GetKnowledgeForTaskOptions): Promise<string_parameter_value & string_markdown>;
34
38
  export {};
35
39
  /**
36
- * TODO: !!!! Verify if this is working
37
40
  * TODO: [♨] Implement Better - use keyword search
38
41
  * TODO: [♨] Examples of values
39
42
  */