@promptbook/vercel 0.92.0-3 → 0.92.0-30

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 (171) hide show
  1. package/esm/index.es.js +20 -10
  2. package/esm/index.es.js.map +1 -1
  3. package/esm/typings/src/_packages/browser.index.d.ts +2 -0
  4. package/esm/typings/src/_packages/core.index.d.ts +22 -6
  5. package/esm/typings/src/_packages/deepseek.index.d.ts +2 -0
  6. package/esm/typings/src/_packages/google.index.d.ts +2 -0
  7. package/esm/typings/src/_packages/types.index.d.ts +4 -2
  8. package/esm/typings/src/_packages/utils.index.d.ts +2 -0
  9. package/esm/typings/src/cli/common/$provideLlmToolsForCli.d.ts +1 -1
  10. package/esm/typings/src/collection/PipelineCollection.d.ts +0 -2
  11. package/esm/typings/src/collection/SimplePipelineCollection.d.ts +1 -1
  12. package/esm/typings/src/commands/FOREACH/ForeachJson.d.ts +6 -6
  13. package/esm/typings/src/commands/FOREACH/foreachCommandParser.d.ts +0 -2
  14. package/esm/typings/src/commands/FORMFACTOR/formfactorCommandParser.d.ts +1 -1
  15. package/esm/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +1 -1
  16. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +36 -28
  17. package/esm/typings/src/config.d.ts +41 -11
  18. package/esm/typings/src/constants.d.ts +43 -2
  19. package/esm/typings/src/conversion/archive/loadArchive.d.ts +2 -2
  20. package/esm/typings/src/errors/0-BoilerplateError.d.ts +2 -2
  21. package/esm/typings/src/executables/$provideExecutablesForNode.d.ts +1 -1
  22. package/esm/typings/src/executables/apps/locateLibreoffice.d.ts +2 -1
  23. package/esm/typings/src/executables/apps/locatePandoc.d.ts +2 -1
  24. package/esm/typings/src/executables/platforms/locateAppOnLinux.d.ts +2 -1
  25. package/esm/typings/src/executables/platforms/locateAppOnMacOs.d.ts +2 -1
  26. package/esm/typings/src/executables/platforms/locateAppOnWindows.d.ts +2 -1
  27. package/esm/typings/src/execution/AbstractTaskResult.d.ts +1 -1
  28. package/esm/typings/src/execution/CommonToolsOptions.d.ts +5 -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/createPipelineExecutor/$OngoingTaskResult.d.ts +12 -9
  32. package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +12 -9
  33. package/esm/typings/src/execution/createPipelineExecutor/20-executeTask.d.ts +11 -8
  34. package/esm/typings/src/execution/createPipelineExecutor/30-executeFormatSubvalues.d.ts +15 -3
  35. package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +20 -14
  36. package/esm/typings/src/execution/createPipelineExecutor/computeCosineSimilarity.d.ts +13 -0
  37. package/esm/typings/src/execution/createPipelineExecutor/filterJustOutputParameters.d.ts +7 -6
  38. package/esm/typings/src/execution/createPipelineExecutor/getContextForTask.d.ts +5 -1
  39. package/esm/typings/src/execution/createPipelineExecutor/getExamplesForTask.d.ts +1 -1
  40. package/esm/typings/src/execution/createPipelineExecutor/getKnowledgeForTask.d.ts +21 -5
  41. package/esm/typings/src/execution/createPipelineExecutor/getReservedParametersForTask.d.ts +19 -5
  42. package/esm/typings/src/execution/createPipelineExecutor/knowledgePiecesToString.d.ts +9 -0
  43. package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/LindatAutomaticTranslator.d.ts +4 -4
  44. package/esm/typings/src/execution/utils/checkExpectations.d.ts +1 -1
  45. package/esm/typings/src/execution/utils/uncertainNumber.d.ts +3 -2
  46. package/esm/typings/src/formats/_common/{FormatDefinition.d.ts → FormatParser.d.ts} +8 -6
  47. package/esm/typings/src/formats/_common/FormatSubvalueParser.d.ts +66 -0
  48. package/esm/typings/src/formats/csv/CsvFormatParser.d.ts +17 -0
  49. package/esm/typings/src/formats/csv/CsvSettings.d.ts +2 -2
  50. package/esm/typings/src/formats/csv/utils/csvParse.d.ts +12 -0
  51. package/esm/typings/src/formats/csv/utils/isValidCsvString.d.ts +1 -1
  52. package/esm/typings/src/formats/index.d.ts +2 -2
  53. package/esm/typings/src/formats/json/{JsonFormatDefinition.d.ts → JsonFormatParser.d.ts} +6 -6
  54. package/esm/typings/src/formats/json/utils/isValidJsonString.d.ts +1 -1
  55. package/esm/typings/src/formats/json/utils/jsonParse.d.ts +8 -0
  56. package/esm/typings/src/formats/text/{TextFormatDefinition.d.ts → TextFormatParser.d.ts} +7 -7
  57. package/esm/typings/src/formats/xml/XmlFormatParser.d.ts +19 -0
  58. package/esm/typings/src/formats/xml/utils/isValidXmlString.d.ts +1 -1
  59. package/esm/typings/src/formfactors/_boilerplate/BoilerplateFormfactorDefinition.d.ts +3 -2
  60. package/esm/typings/src/formfactors/_common/AbstractFormfactorDefinition.d.ts +16 -7
  61. package/esm/typings/src/formfactors/_common/FormfactorDefinition.d.ts +3 -1
  62. package/esm/typings/src/formfactors/_common/string_formfactor_name.d.ts +2 -1
  63. package/esm/typings/src/formfactors/chatbot/ChatbotFormfactorDefinition.d.ts +2 -2
  64. package/esm/typings/src/formfactors/completion/CompletionFormfactorDefinition.d.ts +29 -0
  65. package/esm/typings/src/formfactors/generator/GeneratorFormfactorDefinition.d.ts +2 -1
  66. package/esm/typings/src/formfactors/generic/GenericFormfactorDefinition.d.ts +2 -2
  67. package/esm/typings/src/formfactors/index.d.ts +33 -8
  68. package/esm/typings/src/formfactors/matcher/MatcherFormfactorDefinition.d.ts +4 -2
  69. package/esm/typings/src/formfactors/sheets/SheetsFormfactorDefinition.d.ts +3 -2
  70. package/esm/typings/src/formfactors/translator/TranslatorFormfactorDefinition.d.ts +3 -2
  71. package/esm/typings/src/high-level-abstractions/index.d.ts +2 -2
  72. package/esm/typings/src/llm-providers/_common/register/$llmToolsMetadataRegister.d.ts +3 -3
  73. package/esm/typings/src/llm-providers/_common/register/$llmToolsRegister.d.ts +3 -3
  74. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsConfigurationFromEnv.d.ts +4 -4
  75. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForTestingAndScriptsAndPlayground.d.ts +4 -3
  76. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsFromEnv.d.ts +17 -4
  77. package/esm/typings/src/llm-providers/_common/register/LlmToolsConfiguration.d.ts +11 -4
  78. package/esm/typings/src/llm-providers/_common/register/LlmToolsMetadata.d.ts +27 -5
  79. package/esm/typings/src/llm-providers/_common/register/LlmToolsOptions.d.ts +9 -2
  80. package/esm/typings/src/llm-providers/_common/register/createLlmToolsFromConfiguration.d.ts +12 -3
  81. package/esm/typings/src/llm-providers/_common/utils/cache/CacheItem.d.ts +10 -5
  82. package/esm/typings/src/llm-providers/_common/utils/cache/CacheLlmToolsOptions.d.ts +5 -3
  83. package/esm/typings/src/llm-providers/_common/utils/cache/cacheLlmTools.d.ts +3 -3
  84. package/esm/typings/src/llm-providers/_common/utils/count-total-usage/limitTotalUsage.d.ts +5 -5
  85. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
  86. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +4 -0
  87. package/esm/typings/src/llm-providers/deepseek/deepseek-models.d.ts +23 -0
  88. package/esm/typings/src/llm-providers/google/google-models.d.ts +23 -0
  89. package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +4 -0
  90. package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -1
  91. package/esm/typings/src/llm-providers/openai/register-configuration.d.ts +2 -2
  92. package/esm/typings/src/llm-providers/openai/register-constructor.d.ts +2 -2
  93. package/esm/typings/src/migrations/migratePipeline.d.ts +9 -0
  94. package/esm/typings/src/other/templates/getBookTemplates.d.ts +2 -2
  95. package/esm/typings/src/personas/preparePersona.d.ts +1 -1
  96. package/esm/typings/src/pipeline/PipelineInterface/PipelineInterface.d.ts +3 -3
  97. package/esm/typings/src/pipeline/PipelineInterface/constants.d.ts +1 -1
  98. package/esm/typings/src/pipeline/PipelineInterface/getPipelineInterface.d.ts +1 -1
  99. package/esm/typings/src/pipeline/PipelineInterface/isPipelineImplementingInterface.d.ts +5 -4
  100. package/esm/typings/src/pipeline/PipelineInterface/isPipelineInterfacesEqual.d.ts +1 -1
  101. package/esm/typings/src/pipeline/PipelineJson/CommonTaskJson.d.ts +9 -6
  102. package/esm/typings/src/pipeline/PipelineJson/PersonaJson.d.ts +4 -2
  103. package/esm/typings/src/pipeline/PipelineJson/PipelineJson.d.ts +3 -2
  104. package/esm/typings/src/pipeline/PipelineString.d.ts +3 -1
  105. package/esm/typings/src/pipeline/book-notation.d.ts +2 -2
  106. package/esm/typings/src/postprocessing/utils/extractJsonBlock.d.ts +1 -1
  107. package/esm/typings/src/prepare/prepareTasks.d.ts +7 -4
  108. package/esm/typings/src/remote-server/openapi-types.d.ts +348 -6
  109. package/esm/typings/src/remote-server/openapi.d.ts +398 -4
  110. package/esm/typings/src/remote-server/types/RemoteServerOptions.d.ts +2 -1
  111. package/esm/typings/src/scrapers/_boilerplate/BoilerplateScraper.d.ts +3 -3
  112. package/esm/typings/src/scrapers/_boilerplate/createBoilerplateScraper.d.ts +1 -1
  113. package/esm/typings/src/scrapers/_boilerplate/register-metadata.d.ts +1 -1
  114. package/esm/typings/src/scrapers/_common/Converter.d.ts +3 -1
  115. package/esm/typings/src/scrapers/_common/Scraper.d.ts +4 -3
  116. package/esm/typings/src/scrapers/_common/ScraperIntermediateSource.d.ts +4 -2
  117. package/esm/typings/src/scrapers/_common/register/$provideFilesystemForNode.d.ts +2 -1
  118. package/esm/typings/src/scrapers/_common/register/$provideScrapersForBrowser.d.ts +6 -3
  119. package/esm/typings/src/scrapers/_common/register/$provideScrapersForNode.d.ts +3 -5
  120. package/esm/typings/src/scrapers/_common/register/$scrapersMetadataRegister.d.ts +3 -3
  121. package/esm/typings/src/scrapers/_common/register/$scrapersRegister.d.ts +3 -2
  122. package/esm/typings/src/scrapers/_common/register/ScraperAndConverterMetadata.d.ts +8 -5
  123. package/esm/typings/src/scrapers/_common/register/ScraperConstructor.d.ts +2 -1
  124. package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.d.ts +6 -5
  125. package/esm/typings/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +3 -1
  126. package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +1 -1
  127. package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +2 -1
  128. package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +4 -1
  129. package/esm/typings/src/scrapers/markitdown/MarkitdownScraper.d.ts +1 -1
  130. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +2 -1
  131. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +3 -4
  132. package/esm/typings/src/scripting/javascript/postprocessing-functions.d.ts +5 -1
  133. package/esm/typings/src/storage/file-cache-storage/FileCacheStorage.d.ts +12 -5
  134. package/esm/typings/src/storage/file-cache-storage/FileCacheStorageOptions.d.ts +4 -2
  135. package/esm/typings/src/storage/file-cache-storage/utils/nameToSubfolderPath.d.ts +2 -1
  136. package/esm/typings/src/storage/local-storage/getIndexedDbStorage.d.ts +10 -0
  137. package/esm/typings/src/storage/local-storage/utils/makePromptbookStorageFromIndexedDb.d.ts +7 -0
  138. package/esm/typings/src/storage/local-storage/utils/makePromptbookStorageFromWebStorage.d.ts +2 -1
  139. package/esm/typings/src/types/IntermediateFilesStrategy.d.ts +2 -1
  140. package/esm/typings/src/types/ModelVariant.d.ts +5 -5
  141. package/esm/typings/src/types/typeAliases.d.ts +17 -13
  142. package/esm/typings/src/utils/$Register.d.ts +8 -7
  143. package/esm/typings/src/utils/editable/edit-pipeline-string/addPipelineCommand.d.ts +2 -2
  144. package/esm/typings/src/utils/editable/edit-pipeline-string/deflatePipeline.d.ts +4 -1
  145. package/esm/typings/src/utils/editable/utils/isFlatPipeline.d.ts +2 -1
  146. package/esm/typings/src/utils/environment/$getGlobalScope.d.ts +2 -1
  147. package/esm/typings/src/utils/expectation-counters/index.d.ts +1 -1
  148. package/esm/typings/src/utils/markdown/extractAllListItemsFromMarkdown.d.ts +1 -1
  149. package/esm/typings/src/utils/normalization/nameToUriPart.d.ts +4 -4
  150. package/esm/typings/src/utils/normalization/nameToUriParts.d.ts +4 -4
  151. package/esm/typings/src/utils/normalization/normalize-to-kebab-case.d.ts +3 -3
  152. package/esm/typings/src/utils/normalization/normalizeTo_SCREAMING_CASE.d.ts +3 -3
  153. package/esm/typings/src/utils/normalization/normalizeTo_camelCase.d.ts +4 -4
  154. package/esm/typings/src/utils/normalization/normalizeTo_snake_case.d.ts +3 -3
  155. package/esm/typings/src/utils/normalization/removeDiacritics.d.ts +3 -3
  156. package/esm/typings/src/utils/normalization/searchKeywords.d.ts +4 -1
  157. package/esm/typings/src/utils/normalization/titleToName.d.ts +4 -4
  158. package/esm/typings/src/utils/organization/empty_object.d.ts +2 -2
  159. package/esm/typings/src/utils/organization/just_empty_object.d.ts +4 -4
  160. package/esm/typings/src/utils/parameters/mapAvailableToExpectedParameters.d.ts +7 -7
  161. package/esm/typings/src/utils/serialization/clonePipeline.d.ts +4 -3
  162. package/esm/typings/src/utils/serialization/deepClone.d.ts +5 -1
  163. package/esm/typings/src/utils/validators/javascriptName/isValidJavascriptName.d.ts +3 -3
  164. package/esm/typings/src/utils/validators/parameterName/validateParameterName.d.ts +5 -4
  165. package/esm/typings/src/version.d.ts +2 -1
  166. package/package.json +2 -2
  167. package/umd/index.umd.js +20 -10
  168. package/umd/index.umd.js.map +1 -1
  169. package/esm/typings/src/formats/_common/FormatSubvalueDefinition.d.ts +0 -31
  170. package/esm/typings/src/formats/csv/CsvFormatDefinition.d.ts +0 -17
  171. package/esm/typings/src/formats/xml/XmlFormatDefinition.d.ts +0 -19
@@ -1,25 +1,30 @@
1
1
  import type { PromptResult } from '../../../../execution/PromptResult';
2
2
  import type { Prompt } from '../../../../types/Prompt';
3
3
  import type { string_date_iso8601 } from '../../../../types/typeAliases';
4
+ import type { string_semantic_version } from '../../../../types/typeAliases';
4
5
  import type { string_promptbook_version } from '../../../../version';
5
6
  /**
6
- * @@@
7
+ * Represents a single item stored in the LLM cache.
7
8
  */
8
9
  export type CacheItem = {
9
10
  /**
10
- * @@@
11
+ * The date and time when the cache item was created, in ISO 8601 format.
11
12
  */
12
13
  date: string_date_iso8601;
13
14
  /**
14
- * @@@
15
+ * The version of the Promptbook library used when this cache item was created.
15
16
  */
16
17
  promptbookVersion?: string_promptbook_version;
17
18
  /**
18
- * @@@
19
+ * The version of the Book language used when this cache item was created.
20
+ */
21
+ bookVersion?: string_semantic_version;
22
+ /**
23
+ * The prompt that was sent to the LLM.
19
24
  */
20
25
  prompt: Prompt;
21
26
  /**
22
- * @@@
27
+ * The response received from the LLM.
23
28
  */
24
29
  promptResult: PromptResult;
25
30
  };
@@ -1,17 +1,19 @@
1
1
  import type { PromptbookStorage } from '../../../../storage/_common/PromptbookStorage';
2
2
  import type { CacheItem } from './CacheItem';
3
3
  /**
4
- * @@@
4
+ * Options for configuring caching behavior for LlmExecutionTools.
5
5
  */
6
6
  export type CacheLlmToolsOptions = {
7
7
  /**
8
- * @@@
8
+ * The cache provider instance to use for storing and retrieving cached data.
9
9
  *
10
10
  * @default MemoryStorage
11
11
  */
12
12
  storage: PromptbookStorage<CacheItem>;
13
13
  /**
14
- * @@@
14
+ * When set to `true`, the cache will be reloaded regardless of whether the data is already present in the cache.
15
+ * This can be useful for debugging or when you want to ensure that the latest data is always fetched.
16
+ * Data will ne still saved to the cache.
15
17
  *
16
18
  * @default false
17
19
  */
@@ -13,7 +13,7 @@ export declare function cacheLlmTools<TLlmTools extends LlmExecutionTools>(llmTo
13
13
  /**
14
14
  * TODO: [🧠][💸] Maybe make some common abstraction `interceptLlmTools` and use here (or use javascript Proxy?)
15
15
  * TODO: [🧠] Is there some meaningfull way how to test this util
16
- * TODO: [👷‍♂️] @@@ Manual about construction of llmTools
17
- * @@@ write discussion about this and storages
18
- * @@@ write how to combine multiple interceptors
16
+ * TODO: [👷‍♂️] Comprehensive manual about construction of llmTools
17
+ * Detailed explanation about caching strategies and appropriate storage selection for different use cases
18
+ * Examples of how to combine multiple interceptors for advanced caching, logging, and usage tracking
19
19
  */
@@ -4,24 +4,24 @@ import type { PromptbookStorage } from '../../../../storage/_common/PromptbookSt
4
4
  import type { TODO_any } from '../../../../utils/organization/TODO_any';
5
5
  import type { LlmExecutionToolsWithTotalUsage } from './LlmExecutionToolsWithTotalUsage';
6
6
  /**
7
- * Options for `limitTotalUsage`
7
+ * Options for the `limitTotalUsage` function.
8
8
  */
9
9
  type LimitTotalUsageOptions = {
10
10
  /**
11
- * @@@
11
+ * The usage limits to apply.
12
12
  *
13
13
  * @default ZERO_USAGE
14
14
  */
15
15
  maxTotalUsage: Usage;
16
16
  /**
17
- * @@@
17
+ * The storage mechanism to use for tracking usage across multiple executions or instances.
18
18
  *
19
- * @default MemoryStorage
19
+ * @default MemoryStorage which will not persist when the process ends
20
20
  */
21
21
  storage: PromptbookStorage<TODO_any>;
22
22
  };
23
23
  /**
24
- * @@@
24
+ * Wraps LlmExecutionTools to limit the total usage based on provided limits.
25
25
  *
26
26
  * @public exported from `@promptbook/core`
27
27
  */
@@ -3,7 +3,7 @@ import type { number_usd } from '../../types/typeAliases';
3
3
  /**
4
4
  * List of available Anthropic Claude models with pricing
5
5
  *
6
- * Note: Done at 2024-08-16
6
+ * Note: Done at 2025-05-06
7
7
  *
8
8
  * @see https://docs.anthropic.com/en/docs/models-overview
9
9
  * @public exported from `@promptbook/anthropic-claude`
@@ -19,6 +19,10 @@ export declare class AzureOpenAiExecutionTools implements LlmExecutionTools {
19
19
  * OpenAI Azure API client.
20
20
  */
21
21
  private client;
22
+ /**
23
+ * Rate limiter instance
24
+ */
25
+ private limiter;
22
26
  /**
23
27
  * Creates OpenAI Execution Tools.
24
28
  *
@@ -0,0 +1,23 @@
1
+ import type { AvailableModel } from '../../execution/AvailableModel';
2
+ import type { number_usd } from '../../types/typeAliases';
3
+ /**
4
+ * List of available Deepseek models with descriptions
5
+ *
6
+ * Note: Done at 2025-05-06
7
+ *
8
+ * @see https://www.deepseek.com/models
9
+ * @public exported from `@promptbook/deepseek`
10
+ */
11
+ export declare const DEEPSEEK_MODELS: ReadonlyArray<AvailableModel & {
12
+ modelDescription?: string;
13
+ pricing?: {
14
+ readonly prompt: number_usd;
15
+ readonly output: number_usd;
16
+ };
17
+ }>;
18
+ /**
19
+ * TODO: [🧠] Add information about context window sizes, capabilities, and relative performance characteristics
20
+ * TODO: [🎰] Some mechanism to auto-update available models
21
+ * TODO: [🧠] Verify pricing information is current with Deepseek's official documentation
22
+ * Note: [💞] Ignore a discrepancy between file name and entity name
23
+ */
@@ -0,0 +1,23 @@
1
+ import type { AvailableModel } from '../../execution/AvailableModel';
2
+ import type { number_usd } from '../../types/typeAliases';
3
+ /**
4
+ * List of available Google models with descriptions
5
+ *
6
+ * Note: Done at 2025-05-06
7
+ *
8
+ * @see https://ai.google.dev/models/gemini
9
+ * @public exported from `@promptbook/google`
10
+ */
11
+ export declare const GOOGLE_MODELS: ReadonlyArray<AvailableModel & {
12
+ modelDescription?: string;
13
+ pricing?: {
14
+ readonly prompt: number_usd;
15
+ readonly output: number_usd;
16
+ };
17
+ }>;
18
+ /**
19
+ * TODO: [🧠] Add information about context window sizes, capabilities, and relative performance characteristics
20
+ * TODO: [🎰] Some mechanism to auto-update available models
21
+ * TODO: [🧠] Verify pricing information is current with Google's official documentation
22
+ * Note: [💞] Ignore a discrepancy between file name and entity name
23
+ */
@@ -20,6 +20,10 @@ export declare class OpenAiExecutionTools implements LlmExecutionTools {
20
20
  * OpenAI API client.
21
21
  */
22
22
  private client;
23
+ /**
24
+ * Rate limiter instance
25
+ */
26
+ private limiter;
23
27
  /**
24
28
  * Creates OpenAI Execution Tools.
25
29
  *
@@ -3,7 +3,7 @@ import type { number_usd } from '../../types/typeAliases';
3
3
  /**
4
4
  * List of available OpenAI models with pricing
5
5
  *
6
- * Note: Done at 2024-05-20
6
+ * Note: Done at 2025-05-06
7
7
  *
8
8
  * @see https://platform.openai.com/docs/models/
9
9
  * @see https://openai.com/api/pricing/
@@ -10,9 +10,9 @@ import type { Registration } from '../../utils/$Register';
10
10
  */
11
11
  export declare const _OpenAiMetadataRegistration: Registration;
12
12
  /**
13
- * @@@ registration1 of default configuration for Open AI
13
+ * Registration of the OpenAI Assistant metadata
14
14
  *
15
- * Note: [🏐] Configurations registrations are done in @@@ BUT constructor @@@
15
+ * Note: [🏐] Configurations registrations are done in the metadata registration section, but the constructor registration is handled separately.
16
16
  *
17
17
  * @public exported from `@promptbook/core`
18
18
  * @public exported from `@promptbook/wizzard`
@@ -10,9 +10,9 @@ import type { Registration } from '../../utils/$Register';
10
10
  */
11
11
  export declare const _OpenAiRegistration: Registration;
12
12
  /**
13
- * @@@ registration2
13
+ * Registration of the OpenAI Assistant provider
14
14
  *
15
- * Note: [🏐] Configurations registrations are done in @@@ BUT constructor @@@
15
+ * Note: [🏐] Configurations registrations are done in register-constructor.ts BUT constructor register-constructor.ts
16
16
  *
17
17
  * @public exported from `@promptbook/openai`
18
18
  * @public exported from `@promptbook/wizzard`
@@ -0,0 +1,9 @@
1
+ import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson';
2
+ /**
3
+ * Migrates the pipeline to the latest version
4
+ *
5
+ * Note: Migration does not do heavy lifting like calling the LLMs, just lightweight changes of the structure
6
+ *
7
+ * @public exported from `@promptbook/core`
8
+ */
9
+ export declare function migratePipeline(deprecatedPipeline: PipelineJson): PipelineJson;
@@ -3,14 +3,14 @@ import type { string_formfactor_name } from '../../formfactors/_common/string_fo
3
3
  import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
4
4
  import type { NonEmptyReadonlyArray } from '../../types/NonEmptyArray';
5
5
  /**
6
- * @@@
6
+ * Internal cache for the `getBookTemplates` function, storing retrieved pipelines.
7
7
  *
8
8
  * @singleton
9
9
  * @private internal cache of `getBookTemplate`
10
10
  */
11
11
  export declare let pipelines: Array<SetRequired<PipelineJson, 'pipelineUrl'>> | null;
12
12
  /**
13
- * Get template for new book
13
+ * Retrieves a collection of Promptbook templates.
14
14
  *
15
15
  * @param formfactorName - optional filter for FORMFACTOR - get only pipelines for this formfactor
16
16
  * @returns list of pipelines
@@ -8,7 +8,7 @@ import type { string_persona_description } from '../types/typeAliases';
8
8
  * @see https://github.com/webgptorg/promptbook/discussions/22
9
9
  * @public exported from `@promptbook/core`
10
10
  */
11
- export declare function preparePersona(personaDescription: string_persona_description, tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions): Promise<PersonaPreparedJson['modelRequirements']>;
11
+ export declare function preparePersona(personaDescription: string_persona_description, tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions): Promise<Pick<PersonaPreparedJson, 'modelsRequirements'>>;
12
12
  /**
13
13
  * TODO: [🔃][main] If the persona was prepared with different version or different set of models, prepare it once again
14
14
  * TODO: [🏢] Check validity of `modelName` in pipeline
@@ -1,20 +1,20 @@
1
1
  import type { InputParameterJson } from '../PipelineJson/ParameterJson';
2
2
  import type { OutputParameterJson } from '../PipelineJson/ParameterJson';
3
3
  /**
4
- * @@@
4
+ * Defines the interface of a Promptbook pipeline, specifying its input and output parameters.
5
5
  *
6
6
  * Note: [🚉] This is fully serializable as JSON
7
7
  * @see https://github.com/webgptorg/promptbook/discussions/171
8
8
  */
9
9
  export type PipelineInterface = {
10
10
  /**
11
- * @@@
11
+ * Input parameters required by the pipeline.
12
12
  *
13
13
  * Note: Sorted alphabetically
14
14
  */
15
15
  readonly inputParameters: ReadonlyArray<InputParameterJson>;
16
16
  /**
17
- * @@@
17
+ * Output parameters produced by the pipeline.
18
18
  *
19
19
  * Note: Sorted alphabetically
20
20
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @@@
2
+ * Pipeline interface which is equivalent to `any`
3
3
  *
4
4
  * @see https://github.com/webgptorg/promptbook/discussions/171
5
5
  *
@@ -1,7 +1,7 @@
1
1
  import type { PipelineJson } from '../PipelineJson/PipelineJson';
2
2
  import type { PipelineInterface } from './PipelineInterface';
3
3
  /**
4
- * @@@
4
+ * Extracts the interface (input and output parameters) from a pipeline.
5
5
  *
6
6
  * @deprecated https://github.com/webgptorg/promptbook/pull/186
7
7
  * @see https://github.com/webgptorg/promptbook/discussions/171
@@ -1,25 +1,26 @@
1
1
  import type { PipelineJson } from '../PipelineJson/PipelineJson';
2
2
  import type { PipelineInterface } from './PipelineInterface';
3
3
  /**
4
- * @@@
4
+ * Options for the `isPipelineImplementingInterface` function.
5
5
  *
6
6
  * @see https://github.com/webgptorg/promptbook/discussions/171
7
7
  */
8
8
  export type IsPipelineImplementingInterfaceOptions = {
9
9
  /**
10
- * @@@
10
+ * @param pipeline The pipeline to check.
11
11
  */
12
12
  pipeline: PipelineJson;
13
13
  /**
14
- * @@@
14
+ * @param pipelineInterface The interface to check against.
15
15
  */
16
16
  pipelineInterface: PipelineInterface;
17
17
  };
18
18
  /**
19
- * @@@
19
+ * Checks if a given pipeline satisfies the requirements of a specified pipeline interface.
20
20
  *
21
21
  * @deprecated https://github.com/webgptorg/promptbook/pull/186
22
22
  * @see https://github.com/webgptorg/promptbook/discussions/171
23
+ * @returns `true` if the pipeline implements the interface, `false` otherwise.
23
24
  *
24
25
  * @public exported from `@promptbook/core`
25
26
  */
@@ -1,6 +1,6 @@
1
1
  import type { PipelineInterface } from './PipelineInterface';
2
2
  /**
3
- * @@@
3
+ * Checks if two pipeline interfaces are structurally identical.
4
4
  *
5
5
  * @deprecated https://github.com/webgptorg/promptbook/pull/186
6
6
  * @see https://github.com/webgptorg/promptbook/discussions/171
@@ -38,13 +38,15 @@ export type CommonTaskJson = {
38
38
  */
39
39
  readonly dependentParameterNames: Array<string_parameter_name>;
40
40
  /**
41
- * If theese parameters meet the expectations requirements, they are used instead of executing this task
41
+ * List of parameter names that act as jokers.
42
+ * If a joker parameter meets the expectations, its value is used instead of executing the task.
42
43
  *
43
44
  * @see https://github.com/webgptorg/promptbook/discussions/66
44
45
  */
45
46
  readonly jokerParameterNames?: Array<string_parameter_name>;
46
47
  /**
47
- * @@@
48
+ * Configuration for the FOREACH command, if used.
49
+ * Allows iterating over a list parameter.
48
50
  */
49
51
  readonly foreach?: ForeachJson;
50
52
  /**
@@ -53,15 +55,16 @@ export type CommonTaskJson = {
53
55
  */
54
56
  readonly taskType: SectionType;
55
57
  /**
56
- * Content of the task with {placeholders} for parameters
58
+ * Raw content of the task with {placeholders} for parameters before any preparation.
57
59
  *
58
- * @@@ content vs preparedContent
60
+ * @see preparedContent
59
61
  */
60
62
  readonly content: (string_prompt | string_javascript | string_markdown) & string_template;
61
63
  /**
62
- * @@@ Content of the task with {placeholders} for parameters
64
+ * Content of the task after preparation, with {placeholders} for parameters.
65
+ * This is the content used during execution.
63
66
  *
64
- * @@@ content vs preparedContent
67
+ * @see content
65
68
  *
66
69
  * @default "{content}"
67
70
  */
@@ -30,11 +30,13 @@ export type PersonaJson = {
30
30
  */
31
31
  export type PersonaPreparedJson = PersonaJson & {
32
32
  /**
33
- * Model requirements for the persona
33
+ * Models requirements for the persona
34
+ *
35
+ * Sorted by relevance, best-fitting models is first
34
36
  *
35
37
  * Note: The model must be CHAT variant to be usable through persona
36
38
  */
37
- readonly modelRequirements: ChatModelRequirements;
39
+ readonly modelsRequirements: Array<ChatModelRequirements>;
38
40
  /**
39
41
  * List of preparation ids that were used to prepare this persona
40
42
  */
@@ -15,12 +15,12 @@ import type { PersonaPreparedJson } from './PersonaJson';
15
15
  import type { PreparationJson } from './PreparationJson';
16
16
  import type { TaskJson } from './TaskJson';
17
17
  /**
18
- * Promptbook is the **core concept of this package**.
18
+ * Represents a Promptbook pipeline defined in JSON format.
19
19
  * It represents a series of tasks chained together to form a pipeline / one big task with input and result parameters.
20
20
  *
21
21
  * Note: [🚉] This is fully serializable as JSON
22
22
  *
23
- * @see @@@ https://github.com/webgptorg/promptbook#promptbook
23
+ * @see The main Promptbook documentation for more details: https://github.com/webgptorg/promptbook#promptbook
24
24
  */
25
25
  export type PipelineJson = {
26
26
  /**
@@ -103,6 +103,7 @@ export type PipelineJson = {
103
103
  }>;
104
104
  };
105
105
  /**
106
+ * TODO: [🌪] Make type for deprecated pipelines
106
107
  * TODO: [🛳] Default PERSONA for the pipeline `defaultPersonaName` (same as `defaultModelRequirements`)
107
108
  * TODO: [🍙] Make some standard order of json properties
108
109
  * TODO: [🧠] Maybe wrap all {parameterNames} in brackets for example { "resultingParameterName": "{foo}" }
@@ -2,7 +2,9 @@
2
2
  * Promptbook is the **core concept of this package**.
3
3
  * It represents a series of tasks chained together to form a pipeline / one big task with input and result parameters.
4
4
  *
5
- * @see @@@ https://github.com/webgptorg/promptbook#promptbook
5
+ * Represents a Promptbook pipeline defined as a string.
6
+ *
7
+ * @see The main Promptbook documentation for more details: https://github.com/webgptorg/promptbook#promptbook
6
8
  */
7
9
  export type PipelineString = string & {
8
10
  readonly _type: 'Promptbook';
@@ -7,8 +7,8 @@ import type { PipelineString } from './PipelineString';
7
7
  * 2) `promptTemplate` alias for `prompt`
8
8
  * 3) `book` for notating and validating entire books exported from `@promptbook/utils`
9
9
  *
10
- * @param strings @@@
11
- * @param values @@@
10
+ * @param strings The static string parts of the template literal
11
+ * @param values The dynamic values embedded within the template literal used as data
12
12
  * @returns the pipeline string
13
13
  * @public exported from `@promptbook/core`
14
14
  */
@@ -21,5 +21,5 @@ import type { really_unknown } from '../../utils/organization/really_unknown';
21
21
  export declare function extractJsonBlock(markdown: string_markdown): string_json<really_unknown>;
22
22
  /**
23
23
  * TODO: Add some auto-healing logic + extract YAML, JSON5, TOML, etc.
24
- * TODO: [🏢] Make this logic part of `JsonFormatDefinition` or `isValidJsonString`
24
+ * TODO: [🏢] Make this logic part of `JsonFormatParser` or `isValidJsonString`
25
25
  */
@@ -4,20 +4,23 @@ import type { TaskJson } from '../pipeline/PipelineJson/TaskJson';
4
4
  import type { PrepareAndScrapeOptions } from './PrepareAndScrapeOptions';
5
5
  type PrepareTaskInput = Pick<PipelineJson, 'tasks' | 'parameters'> & {
6
6
  /**
7
- * @@@
7
+ * The number of knowledge pieces available for the pipeline.
8
8
  */
9
9
  readonly knowledgePiecesCount: number;
10
10
  };
11
11
  type PreparedTasks = {
12
12
  /**
13
- * @@@ Sequence of tasks that are chained together to form a pipeline
13
+ * The sequence of tasks after preparation.
14
14
  */
15
15
  readonly tasksPrepared: ReadonlyArray<TaskJson>;
16
16
  };
17
17
  /**
18
- * @@@
18
+ * Prepares tasks by adding knowledge to the prompt and ensuring all necessary parameters are included.
19
19
  *
20
- * @public exported from `@promptbook/core`
20
+ * @param tasks Sequence of tasks that are chained together to form a pipeline
21
+ * @returns A promise that resolves to the prepared tasks.
22
+ *
23
+ * @private internal utility of `preparePipeline`
21
24
  */
22
25
  export declare function prepareTasks(pipeline: PrepareTaskInput, tools: Pick<ExecutionTools, 'llm' | 'fs' | 'scrapers'>, options: PrepareAndScrapeOptions): Promise<PreparedTasks>;
23
26
  export {};