@promptbook/vercel 0.92.0-3 → 0.92.0-31

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 (172) 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/locateApp.d.ts +2 -2
  25. package/esm/typings/src/executables/platforms/locateAppOnLinux.d.ts +2 -1
  26. package/esm/typings/src/executables/platforms/locateAppOnMacOs.d.ts +2 -1
  27. package/esm/typings/src/executables/platforms/locateAppOnWindows.d.ts +2 -1
  28. package/esm/typings/src/execution/AbstractTaskResult.d.ts +1 -1
  29. package/esm/typings/src/execution/CommonToolsOptions.d.ts +5 -1
  30. package/esm/typings/src/execution/LlmExecutionToolsConstructor.d.ts +2 -1
  31. package/esm/typings/src/execution/PipelineExecutorResult.d.ts +4 -2
  32. package/esm/typings/src/execution/createPipelineExecutor/$OngoingTaskResult.d.ts +12 -9
  33. package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +13 -10
  34. package/esm/typings/src/execution/createPipelineExecutor/20-executeTask.d.ts +12 -9
  35. package/esm/typings/src/execution/createPipelineExecutor/30-executeFormatSubvalues.d.ts +15 -3
  36. package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +20 -14
  37. package/esm/typings/src/execution/createPipelineExecutor/computeCosineSimilarity.d.ts +13 -0
  38. package/esm/typings/src/execution/createPipelineExecutor/filterJustOutputParameters.d.ts +7 -6
  39. package/esm/typings/src/execution/createPipelineExecutor/getContextForTask.d.ts +5 -1
  40. package/esm/typings/src/execution/createPipelineExecutor/getExamplesForTask.d.ts +1 -1
  41. package/esm/typings/src/execution/createPipelineExecutor/getKnowledgeForTask.d.ts +21 -5
  42. package/esm/typings/src/execution/createPipelineExecutor/getReservedParametersForTask.d.ts +19 -5
  43. package/esm/typings/src/execution/createPipelineExecutor/knowledgePiecesToString.d.ts +9 -0
  44. package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/LindatAutomaticTranslator.d.ts +4 -4
  45. package/esm/typings/src/execution/utils/checkExpectations.d.ts +1 -1
  46. package/esm/typings/src/execution/utils/uncertainNumber.d.ts +3 -2
  47. package/esm/typings/src/formats/_common/{FormatDefinition.d.ts → FormatParser.d.ts} +8 -6
  48. package/esm/typings/src/formats/_common/FormatSubvalueParser.d.ts +66 -0
  49. package/esm/typings/src/formats/csv/CsvFormatParser.d.ts +17 -0
  50. package/esm/typings/src/formats/csv/CsvSettings.d.ts +2 -2
  51. package/esm/typings/src/formats/csv/utils/csvParse.d.ts +12 -0
  52. package/esm/typings/src/formats/csv/utils/isValidCsvString.d.ts +1 -1
  53. package/esm/typings/src/formats/index.d.ts +2 -2
  54. package/esm/typings/src/formats/json/{JsonFormatDefinition.d.ts → JsonFormatParser.d.ts} +6 -6
  55. package/esm/typings/src/formats/json/utils/isValidJsonString.d.ts +1 -1
  56. package/esm/typings/src/formats/json/utils/jsonParse.d.ts +8 -0
  57. package/esm/typings/src/formats/text/{TextFormatDefinition.d.ts → TextFormatParser.d.ts} +7 -7
  58. package/esm/typings/src/formats/xml/XmlFormatParser.d.ts +19 -0
  59. package/esm/typings/src/formats/xml/utils/isValidXmlString.d.ts +1 -1
  60. package/esm/typings/src/formfactors/_boilerplate/BoilerplateFormfactorDefinition.d.ts +3 -2
  61. package/esm/typings/src/formfactors/_common/AbstractFormfactorDefinition.d.ts +16 -7
  62. package/esm/typings/src/formfactors/_common/FormfactorDefinition.d.ts +3 -1
  63. package/esm/typings/src/formfactors/_common/string_formfactor_name.d.ts +2 -1
  64. package/esm/typings/src/formfactors/chatbot/ChatbotFormfactorDefinition.d.ts +2 -2
  65. package/esm/typings/src/formfactors/completion/CompletionFormfactorDefinition.d.ts +29 -0
  66. package/esm/typings/src/formfactors/generator/GeneratorFormfactorDefinition.d.ts +2 -1
  67. package/esm/typings/src/formfactors/generic/GenericFormfactorDefinition.d.ts +2 -2
  68. package/esm/typings/src/formfactors/index.d.ts +33 -8
  69. package/esm/typings/src/formfactors/matcher/MatcherFormfactorDefinition.d.ts +4 -2
  70. package/esm/typings/src/formfactors/sheets/SheetsFormfactorDefinition.d.ts +3 -2
  71. package/esm/typings/src/formfactors/translator/TranslatorFormfactorDefinition.d.ts +3 -2
  72. package/esm/typings/src/high-level-abstractions/index.d.ts +2 -2
  73. package/esm/typings/src/llm-providers/_common/register/$llmToolsMetadataRegister.d.ts +3 -3
  74. package/esm/typings/src/llm-providers/_common/register/$llmToolsRegister.d.ts +3 -3
  75. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsConfigurationFromEnv.d.ts +4 -4
  76. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForTestingAndScriptsAndPlayground.d.ts +4 -3
  77. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsFromEnv.d.ts +17 -4
  78. package/esm/typings/src/llm-providers/_common/register/LlmToolsConfiguration.d.ts +11 -4
  79. package/esm/typings/src/llm-providers/_common/register/LlmToolsMetadata.d.ts +27 -5
  80. package/esm/typings/src/llm-providers/_common/register/LlmToolsOptions.d.ts +9 -2
  81. package/esm/typings/src/llm-providers/_common/register/createLlmToolsFromConfiguration.d.ts +12 -3
  82. package/esm/typings/src/llm-providers/_common/utils/cache/CacheItem.d.ts +10 -5
  83. package/esm/typings/src/llm-providers/_common/utils/cache/CacheLlmToolsOptions.d.ts +5 -3
  84. package/esm/typings/src/llm-providers/_common/utils/cache/cacheLlmTools.d.ts +3 -3
  85. package/esm/typings/src/llm-providers/_common/utils/count-total-usage/limitTotalUsage.d.ts +5 -5
  86. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
  87. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +4 -0
  88. package/esm/typings/src/llm-providers/deepseek/deepseek-models.d.ts +23 -0
  89. package/esm/typings/src/llm-providers/google/google-models.d.ts +23 -0
  90. package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +4 -0
  91. package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -1
  92. package/esm/typings/src/llm-providers/openai/register-configuration.d.ts +2 -2
  93. package/esm/typings/src/llm-providers/openai/register-constructor.d.ts +2 -2
  94. package/esm/typings/src/migrations/migratePipeline.d.ts +9 -0
  95. package/esm/typings/src/other/templates/getBookTemplates.d.ts +2 -2
  96. package/esm/typings/src/personas/preparePersona.d.ts +1 -1
  97. package/esm/typings/src/pipeline/PipelineInterface/PipelineInterface.d.ts +3 -3
  98. package/esm/typings/src/pipeline/PipelineInterface/constants.d.ts +1 -1
  99. package/esm/typings/src/pipeline/PipelineInterface/getPipelineInterface.d.ts +1 -1
  100. package/esm/typings/src/pipeline/PipelineInterface/isPipelineImplementingInterface.d.ts +5 -4
  101. package/esm/typings/src/pipeline/PipelineInterface/isPipelineInterfacesEqual.d.ts +1 -1
  102. package/esm/typings/src/pipeline/PipelineJson/CommonTaskJson.d.ts +9 -6
  103. package/esm/typings/src/pipeline/PipelineJson/PersonaJson.d.ts +4 -2
  104. package/esm/typings/src/pipeline/PipelineJson/PipelineJson.d.ts +3 -2
  105. package/esm/typings/src/pipeline/PipelineString.d.ts +3 -1
  106. package/esm/typings/src/pipeline/book-notation.d.ts +2 -2
  107. package/esm/typings/src/postprocessing/utils/extractJsonBlock.d.ts +1 -1
  108. package/esm/typings/src/prepare/prepareTasks.d.ts +7 -4
  109. package/esm/typings/src/remote-server/openapi-types.d.ts +348 -6
  110. package/esm/typings/src/remote-server/openapi.d.ts +398 -4
  111. package/esm/typings/src/remote-server/types/RemoteServerOptions.d.ts +2 -1
  112. package/esm/typings/src/scrapers/_boilerplate/BoilerplateScraper.d.ts +3 -3
  113. package/esm/typings/src/scrapers/_boilerplate/createBoilerplateScraper.d.ts +1 -1
  114. package/esm/typings/src/scrapers/_boilerplate/register-metadata.d.ts +1 -1
  115. package/esm/typings/src/scrapers/_common/Converter.d.ts +3 -1
  116. package/esm/typings/src/scrapers/_common/Scraper.d.ts +4 -3
  117. package/esm/typings/src/scrapers/_common/ScraperIntermediateSource.d.ts +4 -2
  118. package/esm/typings/src/scrapers/_common/register/$provideFilesystemForNode.d.ts +2 -1
  119. package/esm/typings/src/scrapers/_common/register/$provideScrapersForBrowser.d.ts +6 -3
  120. package/esm/typings/src/scrapers/_common/register/$provideScrapersForNode.d.ts +3 -5
  121. package/esm/typings/src/scrapers/_common/register/$scrapersMetadataRegister.d.ts +3 -3
  122. package/esm/typings/src/scrapers/_common/register/$scrapersRegister.d.ts +3 -2
  123. package/esm/typings/src/scrapers/_common/register/ScraperAndConverterMetadata.d.ts +8 -5
  124. package/esm/typings/src/scrapers/_common/register/ScraperConstructor.d.ts +2 -1
  125. package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.d.ts +6 -5
  126. package/esm/typings/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +3 -1
  127. package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +1 -1
  128. package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +2 -1
  129. package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +4 -1
  130. package/esm/typings/src/scrapers/markitdown/MarkitdownScraper.d.ts +1 -1
  131. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +2 -1
  132. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +3 -4
  133. package/esm/typings/src/scripting/javascript/postprocessing-functions.d.ts +5 -1
  134. package/esm/typings/src/storage/file-cache-storage/FileCacheStorage.d.ts +12 -5
  135. package/esm/typings/src/storage/file-cache-storage/FileCacheStorageOptions.d.ts +4 -2
  136. package/esm/typings/src/storage/file-cache-storage/utils/nameToSubfolderPath.d.ts +2 -1
  137. package/esm/typings/src/storage/local-storage/getIndexedDbStorage.d.ts +10 -0
  138. package/esm/typings/src/storage/local-storage/utils/makePromptbookStorageFromIndexedDb.d.ts +7 -0
  139. package/esm/typings/src/storage/local-storage/utils/makePromptbookStorageFromWebStorage.d.ts +2 -1
  140. package/esm/typings/src/types/IntermediateFilesStrategy.d.ts +2 -1
  141. package/esm/typings/src/types/ModelVariant.d.ts +5 -5
  142. package/esm/typings/src/types/typeAliases.d.ts +17 -13
  143. package/esm/typings/src/utils/$Register.d.ts +8 -7
  144. package/esm/typings/src/utils/editable/edit-pipeline-string/addPipelineCommand.d.ts +2 -2
  145. package/esm/typings/src/utils/editable/edit-pipeline-string/deflatePipeline.d.ts +4 -1
  146. package/esm/typings/src/utils/editable/utils/isFlatPipeline.d.ts +2 -1
  147. package/esm/typings/src/utils/environment/$getGlobalScope.d.ts +2 -1
  148. package/esm/typings/src/utils/expectation-counters/index.d.ts +1 -1
  149. package/esm/typings/src/utils/markdown/extractAllListItemsFromMarkdown.d.ts +1 -1
  150. package/esm/typings/src/utils/normalization/nameToUriPart.d.ts +4 -4
  151. package/esm/typings/src/utils/normalization/nameToUriParts.d.ts +4 -4
  152. package/esm/typings/src/utils/normalization/normalize-to-kebab-case.d.ts +3 -3
  153. package/esm/typings/src/utils/normalization/normalizeTo_SCREAMING_CASE.d.ts +3 -3
  154. package/esm/typings/src/utils/normalization/normalizeTo_camelCase.d.ts +4 -4
  155. package/esm/typings/src/utils/normalization/normalizeTo_snake_case.d.ts +3 -3
  156. package/esm/typings/src/utils/normalization/removeDiacritics.d.ts +3 -3
  157. package/esm/typings/src/utils/normalization/searchKeywords.d.ts +4 -1
  158. package/esm/typings/src/utils/normalization/titleToName.d.ts +4 -4
  159. package/esm/typings/src/utils/organization/empty_object.d.ts +2 -2
  160. package/esm/typings/src/utils/organization/just_empty_object.d.ts +4 -4
  161. package/esm/typings/src/utils/parameters/mapAvailableToExpectedParameters.d.ts +7 -7
  162. package/esm/typings/src/utils/serialization/clonePipeline.d.ts +4 -3
  163. package/esm/typings/src/utils/serialization/deepClone.d.ts +5 -1
  164. package/esm/typings/src/utils/validators/javascriptName/isValidJavascriptName.d.ts +3 -3
  165. package/esm/typings/src/utils/validators/parameterName/validateParameterName.d.ts +5 -4
  166. package/esm/typings/src/version.d.ts +2 -1
  167. package/package.json +2 -2
  168. package/umd/index.umd.js +20 -10
  169. package/umd/index.umd.js.map +1 -1
  170. package/esm/typings/src/formats/_common/FormatSubvalueDefinition.d.ts +0 -31
  171. package/esm/typings/src/formats/csv/CsvFormatDefinition.d.ts +0 -17
  172. package/esm/typings/src/formats/xml/XmlFormatDefinition.d.ts +0 -19
@@ -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
+ * Maximum number of attempts allowed for this task, including retries and joker attempts.
26
27
  * 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.
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,27 +1,43 @@
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';
7
+ import type { ExecutionTools } from '../ExecutionTools';
6
8
  /**
7
- * @@@
9
+ * Options for retrieving relevant knowledge for a specific task during pipeline execution.
8
10
  *
9
- * @private internal type of `getKnowledgeFoTask`
11
+ * @private internal type of `getKnowledgeForTask`
10
12
  */
11
13
  type GetKnowledgeForTaskOptions = {
12
14
  /**
13
- * @@@
15
+ * The execution tools to be used during the execution of the pipeline.
16
+ */
17
+ readonly tools: ExecutionTools;
18
+ /**
19
+ * The fully prepared pipeline containing all tasks and knowledge pieces.
14
20
  */
15
21
  readonly preparedPipeline: ReadonlyDeep<PipelineJson>;
16
22
  /**
17
- * @@@
23
+ * The current task for which knowledge is being retrieved.
18
24
  */
19
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>;
20
30
  };
21
31
  /**
22
- * @@@
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.
23
34
  *
24
35
  * @private internal utility of `createPipelineExecutor`
25
36
  */
26
37
  export declare function getKnowledgeForTask(options: GetKnowledgeForTaskOptions): Promise<string_parameter_value & string_markdown>;
27
38
  export {};
39
+ /**
40
+ * TODO: !!!! Verify if this is working
41
+ * TODO: [♨] Implement Better - use keyword search
42
+ * TODO: [♨] Examples of values
43
+ */
@@ -1,28 +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 { ReservedParameters } from '../../types/typeAliases';
6
+ import type { ExecutionTools } from '../ExecutionTools';
5
7
  /**
6
- * @@@
8
+ * Options for retrieving reserved parameters for a pipeline task, including context, pipeline, and identification.
7
9
  *
8
10
  * @private internal type of `getReservedParametersForTask`
9
11
  */
10
12
  type GetReservedParametersForTaskOptions = {
11
13
  /**
12
- * @@@
14
+ * The execution tools to be used during the execution of the pipeline
15
+ */
16
+ readonly tools: ExecutionTools;
17
+ /**
18
+ * The prepared and validated pipeline in which the task resides.
13
19
  */
14
20
  readonly preparedPipeline: ReadonlyDeep<PipelineJson>;
15
21
  /**
16
- * @@@
22
+ * The task for which reserved parameters are being retrieved.
17
23
  */
18
24
  readonly task: ReadonlyDeep<TaskJson>;
19
25
  /**
20
- * @@@
26
+ * Parameters to complete the content of the task for embedding and context.
27
+ */
28
+ readonly parameters: Readonly<Parameters>;
29
+ /**
30
+ * String identifier for the pipeline, used in error messages and reporting.
21
31
  */
22
32
  readonly pipelineIdentification: string;
23
33
  };
24
34
  /**
25
- * @@@
35
+ * Retrieves all reserved parameters for a given pipeline task, including context, knowledge, examples, and metadata.
36
+ * Ensures all reserved parameters are defined and throws if any are missing.
37
+ *
38
+ * @param options - Options including tools, pipeline, task, and context.
39
+ * @returns An object containing all reserved parameters for the task.
26
40
  *
27
41
  * @private internal utility of `createPipelineExecutor`
28
42
  */
@@ -0,0 +1,9 @@
1
+ import type { KnowledgePiecePreparedJson } from '../../pipeline/PipelineJson/KnowledgePieceJson';
2
+ /**
3
+ *
4
+ * @param knowledgePieces
5
+ * @returns
6
+ *
7
+ * @private internal utility of `createPipelineExecutor`
8
+ */
9
+ export declare function knowledgePiecesToString(knowledgePieces: ReadonlyArray<Pick<KnowledgePiecePreparedJson, 'content'>>): string;
@@ -1,18 +1,18 @@
1
1
  import type { AutomaticTranslator } from './AutomaticTranslator';
2
2
  import type { TranslatorOptions } from './TranslatorOptions';
3
3
  /**
4
- * @@@
4
+ * Options for configuring the Lindat automatic translator, including API URL and language settings.
5
5
  */
6
6
  type LindatAutomaticTranslatorOptions = TranslatorOptions & {
7
7
  /**
8
- * @@@
8
+ * Optional URL of the Lindat translation API endpoint.
9
9
  */
10
10
  readonly apiUrl?: URL;
11
11
  };
12
12
  /**
13
- * @@@
13
+ * Automatic translator implementation using the Lindat translation API.
14
14
  *
15
- * @private still in development [🏳]
15
+ * @private still in development [🏳️]
16
16
  */
17
17
  export declare class LindatAutomaticTranslator implements AutomaticTranslator {
18
18
  protected readonly options: LindatAutomaticTranslatorOptions;
@@ -24,6 +24,6 @@ export declare function checkExpectations(expectations: Expectations, value: str
24
24
  export declare function isPassingExpectations(expectations: Expectations, value: string): boolean;
25
25
  /**
26
26
  * TODO: [💝] Unite object for expecting amount and format
27
- * TODO: [🧠][🤠] This should be part of `TextFormatDefinition`
27
+ * TODO: [🧠][🤠] This should be part of `TextFormatParser`
28
28
  * Note: [💝] and [🤠] are interconnected together
29
29
  */
@@ -2,8 +2,9 @@ import type { UncertainNumber } from '../UncertainNumber';
2
2
  /**
3
3
  * Make UncertainNumber
4
4
  *
5
- * @param value
5
+ * @param value value of the uncertain number, if `NaN` or `undefined`, it will be set to 0 and `isUncertain=true`
6
+ * @param isUncertain if `true`, the value is uncertain, otherwise depends on the value
6
7
  *
7
8
  * @private utility for initializating UncertainNumber
8
9
  */
9
- export declare function uncertainNumber(value?: number | typeof NaN | undefined | null): UncertainNumber;
10
+ export declare function uncertainNumber(value?: number | typeof NaN | undefined | null, isUncertain?: boolean): UncertainNumber;
@@ -2,16 +2,18 @@ import type { string_mime_type } from '../../types/typeAliases';
2
2
  import type { string_name } from '../../types/typeAliases';
3
3
  import type { string_SCREAMING_CASE } from '../../utils/normalization/normalizeTo_SCREAMING_CASE';
4
4
  import type { empty_object } from '../../utils/organization/empty_object';
5
- import type { FormatSubvalueDefinition } from './FormatSubvalueDefinition';
5
+ import type { FormatSubvalueParser } from './FormatSubvalueParser';
6
6
  /**
7
- * A format definition is a set of functions that define how to validate, heal and convert response from LLM
7
+ * A format definition is a set of functions that define how to validate, heal and convert response from LLM.
8
8
  *
9
- * @@@ Describe setting vs schema
9
+ * @remarks
10
+ * - "settings" are runtime options that affect parsing (e.g., delimiter for CSV).
11
+ * - "schema" is a structural definition or contract for the data (e.g., expected fields in JSON).
10
12
  *
11
13
  * @see https://github.com/webgptorg/promptbook/discussions/36
12
14
  * @private still in development [🏢]
13
15
  */
14
- export type FormatDefinition<TValue extends TPartialValue, TPartialValue extends string, TSettings extends empty_object, TSchema extends empty_object> = {
16
+ export type FormatParser<TValue extends TPartialValue, TPartialValue extends string, TSettings extends empty_object, TSchema extends empty_object> = {
15
17
  /**
16
18
  * The name of the format used in .book.md files
17
19
  *
@@ -56,9 +58,9 @@ export type FormatDefinition<TValue extends TPartialValue, TPartialValue extends
56
58
  */
57
59
  heal(value: string, settings?: TSettings, scheme?: TSchema): TValue;
58
60
  /**
59
- * @@@
61
+ * Parsers for extracting or mapping subvalues from the main value (e.g., rows from CSV, items from JSON array).
60
62
  */
61
- readonly subvalueDefinitions: ReadonlyArray<FormatSubvalueDefinition<TValue, TSettings>>;
63
+ readonly subvalueParsers: ReadonlyArray<FormatSubvalueParser<TValue, TSettings>>;
62
64
  };
63
65
  /**
64
66
  * TODO: [♏] Add some prepare hook to modify prompt according to the format
@@ -0,0 +1,66 @@
1
+ import type { Promisable } from 'type-fest';
2
+ import type { Parameters } from '../../types/typeAliases';
3
+ import type { string_name } from '../../types/typeAliases';
4
+ import type { string_parameter_name } from '../../types/typeAliases';
5
+ import type { string_SCREAMING_CASE } from '../../utils/normalization/normalizeTo_SCREAMING_CASE';
6
+ import type { empty_object } from '../../utils/organization/empty_object';
7
+ /**
8
+ * Defines how to extract or map subvalues from a main value in a specific format (e.g., cells from CSV, items from JSON array).
9
+ * Used for iterating or transforming structured data in pipeline tasks.
10
+ */
11
+ export type FormatSubvalueParser<TValue extends string, TSettings extends empty_object> = {
12
+ /**
13
+ * The name of the format used in .book.md files
14
+ *
15
+ * @example "CELL"
16
+ */
17
+ readonly subvalueName: string_name & string_SCREAMING_CASE;
18
+ /**
19
+ * Aliases for the `subvalueName`
20
+ */
21
+ readonly aliases?: ReadonlyArray<string_name & string_SCREAMING_CASE>;
22
+ /**
23
+ * Maps or transforms subvalues from the main value. For example, iterates over all CSV cells or JSON array items.
24
+ *
25
+ * @param options - Options for mapping, including callbacks for progress and value transformation.
26
+ * @returns The final mapped string result.
27
+ */
28
+ mapValues(options: FormatSubvalueParserMapValuesOptions<TValue, TSettings>): Promise<string>;
29
+ };
30
+ /**
31
+ * Options for mapping or extracting subvalues from a main value using a FormatSubvalueParser.
32
+ */
33
+ export type FormatSubvalueParserMapValuesOptions<TValue extends string, TSettings extends empty_object> = {
34
+ /**
35
+ * The input string value to parse for subvalues
36
+ */
37
+ readonly value: TValue;
38
+ /**
39
+ * The name of the output parameter where the processed value will be stored
40
+ */
41
+ readonly outputParameterName: string_parameter_name;
42
+ /**
43
+ * Format-specific settings that control how subvalues are parsed or processed
44
+ */
45
+ readonly settings: TSettings;
46
+ /**
47
+ * Callback function that processes each subvalue and returns the transformed value
48
+ *
49
+ * @param subvalues Object containing the extracted subvalues
50
+ * @param index Current index of the subvalue which is being mapped
51
+ * @param length Full length of the subvalues
52
+ * @param number Total number of subvalues to process
53
+ * @returns Transformed value after processing
54
+ */
55
+ mapCallback(subvalues: Parameters, index: number, length: number): Promisable<TValue>;
56
+ /**
57
+ * Progress callback that receives partial results during processing
58
+ *
59
+ * @param partialResultString The current partial result as processing progresses
60
+ * @returns Promise or void to continue execution
61
+ */
62
+ onProgress(partialResultString: TValue): Promisable<void>;
63
+ };
64
+ /**
65
+ * Note: [👩🏾‍🤝‍🧑🏽]
66
+ */
@@ -0,0 +1,17 @@
1
+ import type { TODO_any } from '../../utils/organization/TODO_any';
2
+ import type { FormatParser } from '../_common/FormatParser';
3
+ import type { CsvSettings } from './CsvSettings';
4
+ /**
5
+ * Definition for CSV spreadsheet
6
+ *
7
+ * @public exported from `@promptbook/core`
8
+ * <- TODO: [🏢] Export from package `@promptbook/csv`
9
+ */
10
+ export declare const CsvFormatParser: FormatParser<string, string, CsvSettings, TODO_any>;
11
+ /**
12
+ * TODO: [🍓] In `CsvFormatParser` implement simple `isValid`
13
+ * TODO: [🍓] In `CsvFormatParser` implement partial `canBeValid`
14
+ * TODO: [🍓] In `CsvFormatParser` implement `heal
15
+ * TODO: [🍓] In `CsvFormatParser` implement `subvalueParsers`
16
+ * TODO: [🏢] Allow to expect something inside CSV objects and other formats
17
+ */
@@ -1,10 +1,10 @@
1
1
  import type { ParseConfig, UnparseConfig } from 'papaparse';
2
2
  /**
3
- * @@@
3
+ * Settings and configuration options for CSV format handling within the application.
4
4
  */
5
5
  export type CsvSettings = Pick<ParseConfig & UnparseConfig, 'delimiter' | 'quoteChar' | 'newline' | 'skipEmptyLines'>;
6
6
  /**
7
- * @@@
7
+ * Contains configuration options for parsing and generating CSV files, such as delimiters and quoting rules.
8
8
  *
9
9
  * @public exported from `@promptbook/core`
10
10
  */
@@ -0,0 +1,12 @@
1
+ import type { ParseResult } from 'papaparse';
2
+ import type { TODO_any } from '../../../utils/organization/TODO_any';
3
+ import type { Parameters } from '../../../types/typeAliases';
4
+ import type { CsvSettings } from '../CsvSettings';
5
+ /**
6
+ * Converts a CSV string into an object
7
+ *
8
+ * Note: This is wrapper around `papaparse.parse()` with better autohealing
9
+ *
10
+ * @private - for now until `@promptbook/csv` is released
11
+ */
12
+ export declare function csvParse(value: string, settings?: CsvSettings, schema?: TODO_any): ParseResult<Parameters>;
@@ -2,7 +2,7 @@
2
2
  * Function to check if a string is valid CSV
3
3
  *
4
4
  * @param value The string to check
5
- * @returns True if the string is a valid CSV string, false otherwise
5
+ * @returns `true` if the string is a valid CSV string, false otherwise
6
6
  *
7
7
  * @public exported from `@promptbook/utils`
8
8
  */
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @private internal index of `...` <- TODO [🏢]
5
5
  */
6
- export declare const FORMAT_DEFINITIONS: readonly [import("./_common/FormatDefinition").FormatDefinition<string, string, any, any>, import("./_common/FormatDefinition").FormatDefinition<string, string, any, any>, import("./_common/FormatDefinition").FormatDefinition<string, string, any, any>, import("./_common/FormatDefinition").FormatDefinition<string, string, import("./csv/CsvSettings").CsvSettings, any>];
6
+ export declare const FORMAT_DEFINITIONS: readonly [import("./_common/FormatParser").FormatParser<string, string, any, any>, import("./_common/FormatParser").FormatParser<string, string, any, any>, import("./_common/FormatParser").FormatParser<string, string, any, any>, import("./_common/FormatParser").FormatParser<string, string, import("./csv/CsvSettings").CsvSettings, any>];
7
7
  /**
8
8
  * Note: [💞] Ignore a discrepancy between file name and entity name
9
- */
9
+ */
@@ -1,19 +1,19 @@
1
1
  import type { TODO_any } from '../../utils/organization/TODO_any';
2
- import type { FormatDefinition } from '../_common/FormatDefinition';
2
+ import type { FormatParser } from '../_common/FormatParser';
3
3
  /**
4
4
  * Definition for JSON format
5
5
  *
6
6
  * @private still in development [🏢]
7
7
  */
8
- export declare const JsonFormatDefinition: FormatDefinition<string, string, TODO_any, TODO_any>;
8
+ export declare const JsonFormatParser: FormatParser<string, string, TODO_any, TODO_any>;
9
9
  /**
10
10
  * TODO: [🧠] Maybe propper instance of object
11
11
  * TODO: [0] Make string_serialized_json
12
12
  * TODO: [1] Make type for JSON Settings and Schema
13
13
  * TODO: [🧠] What to use for validating JSONs - JSON Schema, ZoD, typescript types/interfaces,...?
14
- * TODO: [🍓] In `JsonFormatDefinition` implement simple `isValid`
15
- * TODO: [🍓] In `JsonFormatDefinition` implement partial `canBeValid`
16
- * TODO: [🍓] In `JsonFormatDefinition` implement `heal
17
- * TODO: [🍓] In `JsonFormatDefinition` implement `subvalueDefinitions`
14
+ * TODO: [🍓] In `JsonFormatParser` implement simple `isValid`
15
+ * TODO: [🍓] In `JsonFormatParser` implement partial `canBeValid`
16
+ * TODO: [🍓] In `JsonFormatParser` implement `heal
17
+ * TODO: [🍓] In `JsonFormatParser` implement `subvalueParsers`
18
18
  * TODO: [🏢] Allow to expect something inside JSON objects and other formats
19
19
  */
@@ -2,7 +2,7 @@
2
2
  * Function isValidJsonString will tell you if the string is valid JSON or not
3
3
  *
4
4
  * @param value The string to check
5
- * @returns True if the string is a valid JSON string, false otherwise
5
+ * @returns `true` if the string is a valid JSON string, false otherwise
6
6
  *
7
7
  * @public exported from `@promptbook/utils`
8
8
  */
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Converts a JavaScript Object Notation (JSON) string into an object.
3
+ *
4
+ * Note: This is wrapper around `JSON.parse()` with better error and type handling
5
+ *
6
+ * @public exported from `@promptbook/utils`
7
+ */
8
+ export declare function jsonParse<T>(value: string): T;
@@ -1,19 +1,19 @@
1
1
  import type { TODO_any } from '../../utils/organization/TODO_any';
2
- import type { FormatDefinition } from '../_common/FormatDefinition';
2
+ import type { FormatParser } from '../_common/FormatParser';
3
3
  /**
4
4
  * Definition for any text - this will be always valid
5
5
  *
6
- * Note: This is not useful for validation, but for splitting and mapping with `subvalueDefinitions`
6
+ * Note: This is not useful for validation, but for splitting and mapping with `subvalueParsers`
7
7
  *
8
8
  * @public exported from `@promptbook/core`
9
9
  */
10
- export declare const TextFormatDefinition: FormatDefinition<string, string, TODO_any, TODO_any>;
10
+ export declare const TextFormatParser: FormatParser<string, string, TODO_any, TODO_any>;
11
11
  /**
12
12
  * TODO: [1] Make type for XML Text and Schema
13
13
  * TODO: [🧠][🤠] Here should be all words, characters, lines, paragraphs, pages available as subvalues
14
- * TODO: [🍓] In `TextFormatDefinition` implement simple `isValid`
15
- * TODO: [🍓] In `TextFormatDefinition` implement partial `canBeValid`
16
- * TODO: [🍓] In `TextFormatDefinition` implement `heal
17
- * TODO: [🍓] In `TextFormatDefinition` implement `subvalueDefinitions`
14
+ * TODO: [🍓] In `TextFormatParser` implement simple `isValid`
15
+ * TODO: [🍓] In `TextFormatParser` implement partial `canBeValid`
16
+ * TODO: [🍓] In `TextFormatParser` implement `heal
17
+ * TODO: [🍓] In `TextFormatParser` implement `subvalueParsers`
18
18
  * TODO: [🏢] Allow to expect something inside each item of list and other formats
19
19
  */