@promptbook/openai 0.61.0-1 → 0.61.0-10

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 (159) hide show
  1. package/esm/index.es.js +1 -1
  2. package/esm/typings/promptbook-collection/index.d.ts +118 -26
  3. package/esm/typings/src/_packages/core.index.d.ts +5 -1
  4. package/esm/typings/src/_packages/types.index.d.ts +5 -3
  5. package/esm/typings/src/_packages/utils.index.d.ts +1 -2
  6. package/esm/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +1 -1
  7. package/esm/typings/src/collection/constructors/createCollectionFromUrl.d.ts +2 -2
  8. package/esm/typings/src/collection/constructors/justTestFsImport.d.ts +1 -1
  9. package/esm/typings/src/commands/MODEL/ModelCommand.d.ts +1 -1
  10. package/esm/typings/src/commands/PERSONA/PersonaCommand.d.ts +4 -2
  11. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +12 -12
  12. package/esm/typings/src/config.d.ts +4 -0
  13. package/esm/typings/src/conversion/pipelineStringToJson.d.ts +8 -5
  14. package/esm/typings/src/conversion/pipelineStringToJsonSync.d.ts +3 -3
  15. package/esm/typings/src/conversion/prettify/PrettifyOptions.d.ts +2 -2
  16. package/esm/typings/src/conversion/utils/renameParameter.d.ts +3 -3
  17. package/esm/typings/src/conversion/validation/_importPipeline.d.ts +2 -2
  18. package/esm/typings/src/errors/VersionMismatch.d.ts +8 -0
  19. package/esm/typings/src/execution/PipelineExecutor.d.ts +5 -5
  20. package/esm/typings/src/execution/PromptResult.d.ts +5 -5
  21. package/esm/typings/src/execution/ScriptExecutionTools.d.ts +3 -3
  22. package/esm/typings/src/execution/UserInterfaceTools.d.ts +5 -5
  23. package/esm/typings/src/execution/createPipelineExecutor.d.ts +2 -1
  24. package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/TranslatorOptions.d.ts +2 -2
  25. package/esm/typings/src/execution/utils/forEachAsync.d.ts +1 -1
  26. package/esm/typings/src/formats/csv/ListFormatDefinition.d.ts +1 -1
  27. package/esm/typings/src/formats/json/JsonFormatDefinition.d.ts +1 -1
  28. package/esm/typings/src/formats/list/ListFormatDefinition.d.ts +1 -1
  29. package/esm/typings/src/knowledge/dialogs/callback/CallbackInterfaceToolsOptions.d.ts +1 -1
  30. package/esm/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.d.ts +18 -0
  31. package/esm/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.test.d.ts +1 -0
  32. package/esm/typings/src/knowledge/prepare-knowledge/_common/utils/getLlmToolsForTests.d.ts +7 -0
  33. package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +8 -23
  34. package/esm/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +7 -14
  35. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +1 -1
  36. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +2 -2
  37. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +5 -5
  38. package/esm/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +1 -1
  39. package/esm/typings/src/llm-providers/openai/openai-models.d.ts +2 -2
  40. package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionToolsOptions.d.ts +1 -1
  41. package/esm/typings/src/personas/preparePersona.d.ts +13 -0
  42. package/esm/typings/src/personas/preparePersona.test.d.ts +1 -0
  43. package/esm/typings/src/prepare/PrepareOptions.d.ts +22 -0
  44. package/esm/typings/src/prepare/preparePipeline.d.ts +15 -0
  45. package/esm/typings/src/prepare/unpreparePipeline.d.ts +8 -0
  46. package/esm/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +1 -1
  47. package/esm/typings/src/scripting/javascript/utils/preserve.d.ts +1 -1
  48. package/esm/typings/src/types/ModelRequirements.d.ts +2 -1
  49. package/esm/typings/src/types/Parameters.d.ts +1 -0
  50. package/esm/typings/src/types/PipelineJson/Expectations.d.ts +6 -2
  51. package/esm/typings/src/types/PipelineJson/KnowledgePieceJson.d.ts +67 -0
  52. package/esm/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +24 -0
  53. package/esm/typings/src/types/PipelineJson/LlmTemplateJson.d.ts +8 -1
  54. package/esm/typings/src/types/PipelineJson/PersonaJson.d.ts +40 -0
  55. package/esm/typings/src/types/PipelineJson/PipelineJson.d.ts +27 -2
  56. package/esm/typings/src/types/PipelineJson/PreparationJson.d.ts +25 -0
  57. package/esm/typings/src/types/PipelineJson/PromptDialogJson.d.ts +2 -0
  58. package/esm/typings/src/types/PipelineJson/PromptTemplateJson.d.ts +1 -1
  59. package/esm/typings/src/types/PipelineJson/PromptTemplateJsonCommon.d.ts +7 -1
  60. package/esm/typings/src/types/PipelineJson/ScriptJson.d.ts +2 -0
  61. package/esm/typings/src/types/PipelineJson/SimpleTemplateJson.d.ts +2 -0
  62. package/esm/typings/src/types/execution-report/ExecutionReportJson.d.ts +4 -4
  63. package/esm/typings/src/types/execution-report/ExecutionReportStringOptions.d.ts +3 -3
  64. package/esm/typings/src/types/typeAliases.d.ts +27 -13
  65. package/esm/typings/src/utils/FromtoItems.d.ts +3 -3
  66. package/esm/typings/src/utils/currentDate.d.ts +7 -0
  67. package/esm/typings/src/utils/markdown/addAutoGeneratedSection.d.ts +2 -2
  68. package/esm/typings/src/utils/markdown/createMarkdownChart.d.ts +6 -9
  69. package/esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +2 -2
  70. package/esm/typings/src/utils/markdown/parseMarkdownSection.d.ts +3 -3
  71. package/esm/typings/src/utils/organization/TODO.d.ts +4 -0
  72. package/esm/typings/src/utils/organization/TODO_USE.d.ts +11 -0
  73. package/esm/typings/src/utils/organization/___.d.ts +4 -0
  74. package/esm/typings/src/utils/organization/really_any.d.ts +4 -0
  75. package/package.json +2 -2
  76. package/umd/index.umd.js +1 -1
  77. package/umd/typings/promptbook-collection/index.d.ts +118 -26
  78. package/umd/typings/src/_packages/core.index.d.ts +5 -1
  79. package/umd/typings/src/_packages/types.index.d.ts +5 -3
  80. package/umd/typings/src/_packages/utils.index.d.ts +1 -2
  81. package/umd/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +1 -1
  82. package/umd/typings/src/collection/constructors/createCollectionFromUrl.d.ts +2 -2
  83. package/umd/typings/src/collection/constructors/justTestFsImport.d.ts +1 -1
  84. package/umd/typings/src/commands/MODEL/ModelCommand.d.ts +1 -1
  85. package/umd/typings/src/commands/PERSONA/PersonaCommand.d.ts +4 -2
  86. package/umd/typings/src/commands/_common/types/CommandParser.d.ts +12 -12
  87. package/umd/typings/src/config.d.ts +4 -0
  88. package/umd/typings/src/conversion/pipelineStringToJson.d.ts +8 -5
  89. package/umd/typings/src/conversion/pipelineStringToJsonSync.d.ts +3 -3
  90. package/umd/typings/src/conversion/prettify/PrettifyOptions.d.ts +2 -2
  91. package/umd/typings/src/conversion/utils/renameParameter.d.ts +3 -3
  92. package/umd/typings/src/conversion/validation/_importPipeline.d.ts +2 -2
  93. package/umd/typings/src/errors/VersionMismatch.d.ts +8 -0
  94. package/umd/typings/src/execution/PipelineExecutor.d.ts +5 -5
  95. package/umd/typings/src/execution/PromptResult.d.ts +5 -5
  96. package/umd/typings/src/execution/ScriptExecutionTools.d.ts +3 -3
  97. package/umd/typings/src/execution/UserInterfaceTools.d.ts +5 -5
  98. package/umd/typings/src/execution/createPipelineExecutor.d.ts +2 -1
  99. package/umd/typings/src/execution/translation/automatic-translate/automatic-translators/TranslatorOptions.d.ts +2 -2
  100. package/umd/typings/src/execution/utils/forEachAsync.d.ts +1 -1
  101. package/umd/typings/src/formats/csv/ListFormatDefinition.d.ts +1 -1
  102. package/umd/typings/src/formats/json/JsonFormatDefinition.d.ts +1 -1
  103. package/umd/typings/src/formats/list/ListFormatDefinition.d.ts +1 -1
  104. package/umd/typings/src/knowledge/dialogs/callback/CallbackInterfaceToolsOptions.d.ts +1 -1
  105. package/umd/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.d.ts +18 -0
  106. package/umd/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.test.d.ts +1 -0
  107. package/umd/typings/src/knowledge/prepare-knowledge/_common/utils/getLlmToolsForTests.d.ts +7 -0
  108. package/umd/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +8 -23
  109. package/umd/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +7 -14
  110. package/umd/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +1 -1
  111. package/umd/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +2 -2
  112. package/umd/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +5 -5
  113. package/umd/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +1 -1
  114. package/umd/typings/src/llm-providers/openai/openai-models.d.ts +2 -2
  115. package/umd/typings/src/llm-providers/remote/RemoteLlmExecutionToolsOptions.d.ts +1 -1
  116. package/umd/typings/src/personas/preparePersona.d.ts +13 -0
  117. package/umd/typings/src/personas/preparePersona.test.d.ts +1 -0
  118. package/umd/typings/src/prepare/PrepareOptions.d.ts +22 -0
  119. package/umd/typings/src/prepare/preparePipeline.d.ts +15 -0
  120. package/umd/typings/src/prepare/unpreparePipeline.d.ts +8 -0
  121. package/umd/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +1 -1
  122. package/umd/typings/src/scripting/javascript/utils/preserve.d.ts +1 -1
  123. package/umd/typings/src/types/ModelRequirements.d.ts +2 -1
  124. package/umd/typings/src/types/Parameters.d.ts +1 -0
  125. package/umd/typings/src/types/PipelineJson/Expectations.d.ts +6 -2
  126. package/umd/typings/src/types/PipelineJson/KnowledgePieceJson.d.ts +67 -0
  127. package/umd/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +24 -0
  128. package/umd/typings/src/types/PipelineJson/LlmTemplateJson.d.ts +8 -1
  129. package/umd/typings/src/types/PipelineJson/PersonaJson.d.ts +40 -0
  130. package/umd/typings/src/types/PipelineJson/PipelineJson.d.ts +27 -2
  131. package/umd/typings/src/types/PipelineJson/PreparationJson.d.ts +25 -0
  132. package/umd/typings/src/types/PipelineJson/PromptDialogJson.d.ts +2 -0
  133. package/umd/typings/src/types/PipelineJson/PromptTemplateJson.d.ts +1 -1
  134. package/umd/typings/src/types/PipelineJson/PromptTemplateJsonCommon.d.ts +7 -1
  135. package/umd/typings/src/types/PipelineJson/ScriptJson.d.ts +2 -0
  136. package/umd/typings/src/types/PipelineJson/SimpleTemplateJson.d.ts +2 -0
  137. package/umd/typings/src/types/execution-report/ExecutionReportJson.d.ts +4 -4
  138. package/umd/typings/src/types/execution-report/ExecutionReportStringOptions.d.ts +3 -3
  139. package/umd/typings/src/types/typeAliases.d.ts +27 -13
  140. package/umd/typings/src/utils/FromtoItems.d.ts +3 -3
  141. package/umd/typings/src/utils/currentDate.d.ts +7 -0
  142. package/umd/typings/src/utils/markdown/addAutoGeneratedSection.d.ts +2 -2
  143. package/umd/typings/src/utils/markdown/createMarkdownChart.d.ts +6 -9
  144. package/umd/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +2 -2
  145. package/umd/typings/src/utils/markdown/parseMarkdownSection.d.ts +3 -3
  146. package/umd/typings/src/utils/organization/TODO.d.ts +4 -0
  147. package/umd/typings/src/utils/organization/TODO_USE.d.ts +11 -0
  148. package/umd/typings/src/utils/organization/___.d.ts +4 -0
  149. package/umd/typings/src/utils/organization/really_any.d.ts +4 -0
  150. package/esm/typings/src/personas/personaToModelRequirements.d.ts +0 -6
  151. package/esm/typings/src/types/PipelineJson/KnowledgeJson.d.ts +0 -6
  152. package/esm/typings/src/types/PipelineJson/MaterialKnowledgePieceJson.d.ts +0 -28
  153. package/umd/typings/src/personas/personaToModelRequirements.d.ts +0 -6
  154. package/umd/typings/src/types/PipelineJson/KnowledgeJson.d.ts +0 -6
  155. package/umd/typings/src/types/PipelineJson/MaterialKnowledgePieceJson.d.ts +0 -28
  156. /package/esm/typings/src/_packages/{markdown-utils.d.ts → markdown-utils.index.d.ts} +0 -0
  157. /package/esm/typings/src/utils/{just.d.ts → organization/just.d.ts} +0 -0
  158. /package/umd/typings/src/_packages/{markdown-utils.d.ts → markdown-utils.index.d.ts} +0 -0
  159. /package/umd/typings/src/utils/{just.d.ts → organization/just.d.ts} +0 -0
@@ -2,20 +2,23 @@ import type { LlmExecutionTools } from '../execution/LlmExecutionTools';
2
2
  import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
3
3
  import type { PipelineString } from '../types/PipelineString';
4
4
  /**
5
- * Options for pipelineStringToJson
5
+ * Options for `pipelineStringToJson`
6
6
  */
7
7
  export type PipelineStringToJsonOptions = {
8
8
  /**
9
- * Tools for processing required for knowledge processing *(not for actual execution)*
9
+ * Tools for processing required for preparation of knowledge *(not for actual execution)*
10
+ *
11
+ * Note: If you provide `null`, the knowledge will not be prepared
10
12
  */
11
- llmTools?: LlmExecutionTools;
13
+ readonly llmTools: LlmExecutionTools | null;
12
14
  };
13
15
  /**
14
- * Compile promptbook from string (markdown) format to JSON format
16
+ * Compile pipeline from string (markdown) format to JSON format
15
17
  *
16
- * Note: There are two similar functions:
18
+ * Note: There are 3 similar functions:
17
19
  * - `pipelineStringToJson` **(preferred)** - which propperly compiles the promptbook and use embedding for external knowledge
18
20
  * - `pipelineStringToJsonSync` - use only if you need to compile promptbook synchronously and it contains NO external knowledge
21
+ * - `preparePipeline` - just one step in the compilation process
19
22
  *
20
23
  * @param pipelineString {Promptbook} in string markdown format (.ptbk.md)
21
24
  * @param options - Options and tools for the compilation
@@ -1,14 +1,14 @@
1
1
  import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
2
2
  import type { PipelineString } from '../types/PipelineString';
3
3
  /**
4
- * Compile promptbook from string (markdown) format to JSON format synchronously
4
+ * Compile pipeline from string (markdown) format to JSON format synchronously
5
5
  *
6
- * Note: There are two similar functions:
6
+ * Note: There are 3 similar functions:
7
7
  * - `pipelineStringToJson` **(preferred)** - which propperly compiles the promptbook and use embedding for external knowledge
8
8
  * - `pipelineStringToJsonSync` - use only if you need to compile promptbook synchronously and it contains NO external knowledge
9
+ * - `preparePipeline` - just one step in the compilation process
9
10
  *
10
11
  * @param pipelineString {Promptbook} in string markdown format (.ptbk.md)
11
- * @param options - Options and tools for the compilation
12
12
  * @returns {Promptbook} compiled in JSON format (.ptbk.json)
13
13
  * @throws {ParsingError} if the promptbook string is not valid
14
14
  *
@@ -5,9 +5,9 @@ export type PrettifyOptions = {
5
5
  /***
6
6
  * If true, adds Mermaid graph to the Promptbook string
7
7
  */
8
- isGraphAdded?: boolean;
8
+ readonly isGraphAdded?: boolean;
9
9
  /**
10
10
  * If true, the string is prettifyed as markdown
11
11
  */
12
- isPrettifyed?: boolean;
12
+ readonly isPrettifyed?: boolean;
13
13
  };
@@ -5,15 +5,15 @@ type RenameParameterOptions = {
5
5
  * Pipeline to search and replace for parameters
6
6
  * This pipeline is returned as copy with replaced parameters
7
7
  */
8
- pipeline: PipelineJson;
8
+ readonly pipeline: PipelineJson;
9
9
  /**
10
10
  * Original parameter name that should be replaced
11
11
  */
12
- oldParameterName: string_name;
12
+ readonly oldParameterName: string_name;
13
13
  /**
14
14
  * New parameter name that should replace the original parameter name
15
15
  */
16
- newParameterName: string_name;
16
+ readonly newParameterName: string_name;
17
17
  };
18
18
  /**
19
19
  * Function renameParameter will find all usable parameters for given prompt template
@@ -9,5 +9,5 @@ import type { PipelineString } from '../../types/PipelineString';
9
9
  * @param path - The path to the file relative to samples/templates directory
10
10
  * @private
11
11
  */
12
- export declare function importPipeline(path: `${string}.ptbk.md`): PipelineString;
13
- export declare function importPipeline(path: `${string}.ptbk.json`): PipelineJson;
12
+ export declare function importPipelineWithoutPreparation(path: `${string}.ptbk.md`): PipelineString;
13
+ export declare function importPipelineWithoutPreparation(path: `${string}.ptbk.json`): PipelineJson;
@@ -0,0 +1,8 @@
1
+ import type { string_semantic_version } from '../types/typeAliases';
2
+ /**
3
+ * This error type indicates that the version of the pipeline is not matching the expected version
4
+ */
5
+ export declare class VersionMismatch extends Error {
6
+ readonly name = "UnexpectedError";
7
+ constructor(message: string, expectedVersion: string_semantic_version);
8
+ }
@@ -16,25 +16,25 @@ export type PipelineExecutor = {
16
16
  /**
17
17
  * Whether the execution was successful, details are aviable in `executionReport`
18
18
  */
19
- isSuccessful: boolean;
19
+ readonly isSuccessful: boolean;
20
20
  /**
21
21
  * Added usage of whole execution, detailed usage is aviable in `executionReport`
22
22
  */
23
- usage: PromptResultUsage;
23
+ readonly usage: PromptResultUsage;
24
24
  /**
25
25
  * Errors that occured during the execution, details are aviable in `executionReport`
26
26
  */
27
- errors: Array<Error>;
27
+ readonly errors: Array<Error>;
28
28
  /**
29
29
  * The report of the execution with all details
30
30
  */
31
- executionReport: ExecutionReportJson;
31
+ readonly executionReport: ExecutionReportJson;
32
32
  /**
33
33
  * Result parameters of the execution
34
34
  *
35
35
  * Note: If the execution was not successful, there are only some of the result parameters
36
36
  */
37
- outputParameters: Record<string_name, string>;
37
+ readonly outputParameters: Record<string_name, string>;
38
38
  }>;
39
39
  };
40
40
  /**
@@ -47,15 +47,15 @@ export type PromptCommonResult = {
47
47
  /**
48
48
  * Start of the execution
49
49
  */
50
- start: string_date_iso8601;
50
+ readonly start: string_date_iso8601;
51
51
  /**
52
52
  * First token generated
53
53
  */
54
- firstToken?: string_date_iso8601;
54
+ readonly firstToken?: string_date_iso8601;
55
55
  /**
56
56
  * End of the execution
57
57
  */
58
- complete: string_date_iso8601;
58
+ readonly complete: string_date_iso8601;
59
59
  };
60
60
  /**
61
61
  * Usage of the prompt execution
@@ -99,11 +99,11 @@ export type UncertainNumber = {
99
99
  /**
100
100
  * The numeric value
101
101
  */
102
- value: number_usd & (number_positive | 0);
102
+ readonly value: number_usd & (number_positive | 0);
103
103
  /**
104
104
  * Is the value uncertain
105
105
  */
106
- isUncertain?: true;
106
+ readonly isUncertain?: true;
107
107
  };
108
108
  /**
109
109
  * TODO: [🧠] Maybe timing more accurate then seconds?
@@ -16,13 +16,13 @@ export type ScriptExecutionToolsExecuteOptions = {
16
16
  /**
17
17
  * Language of the script
18
18
  */
19
- scriptLanguage: ScriptLanguage;
19
+ readonly scriptLanguage: ScriptLanguage;
20
20
  /**
21
21
  * Parameters for the script
22
22
  * Theese parameters are passed to the script as variables
23
23
  * For example: { "name": "John" } => const name = "John";
24
24
  */
25
- parameters: Record<string_name, string>;
25
+ readonly parameters: Record<string_name, string>;
26
26
  /**
27
27
  * The content of the script to execute
28
28
  * - It can be a single statement
@@ -31,7 +31,7 @@ export type ScriptExecutionToolsExecuteOptions = {
31
31
  * - It can be IIFE (immediately invoked function expression)
32
32
  * - It can use the parameters as variables and functions from global scope
33
33
  */
34
- script: string_script;
34
+ readonly script: string_script;
35
35
  };
36
36
  /**
37
37
  * TODO: [🧠][💙] Distinct between options passed into ExecutionTools and to ExecutionTools.execute
@@ -21,26 +21,26 @@ export type UserInterfaceToolsPromptDialogOptions = {
21
21
  * Note: This is not a prompt to language model but a prompt to the user
22
22
  * @example "Your name"
23
23
  */
24
- promptTitle: string;
24
+ readonly promptTitle: string;
25
25
  /**
26
26
  * Prompt message
27
27
  *
28
28
  * Note: This is not a prompt to language model but a prompt to the user
29
29
  * @example "Please enter your name, including your last name, title, etc."
30
30
  */
31
- promptMessage: string;
31
+ readonly promptMessage: string;
32
32
  /**
33
33
  * Default value for the input/textarea
34
34
  */
35
- defaultValue: string | null;
35
+ readonly defaultValue: string | null;
36
36
  /**
37
37
  * Placeholder for the input/textarea
38
38
  */
39
- placeholder?: string;
39
+ readonly placeholder?: string;
40
40
  /**
41
41
  * Priority of the prompt
42
42
  *
43
43
  * Note: This would be reflected for example into the UI z-index of the prompt modal
44
44
  */
45
- priority: number_integer & number_positive;
45
+ readonly priority: number_integer & number_positive;
46
46
  };
@@ -10,7 +10,7 @@ type CreatePipelineExecutorSettings = {
10
10
  readonly maxExecutionAttempts: number;
11
11
  };
12
12
  /**
13
- * Options for creating a pipeline executor
13
+ * Options for `createPipelineExecutor`
14
14
  */
15
15
  interface CreatePipelineExecutorOptions {
16
16
  /**
@@ -35,6 +35,7 @@ interface CreatePipelineExecutorOptions {
35
35
  export declare function createPipelineExecutor(options: CreatePipelineExecutorOptions): PipelineExecutor;
36
36
  export {};
37
37
  /**
38
+ * TODO: [🪂] Pass maxParallelCount here
38
39
  * TODO: [🧠] When not meet expectations in PROMPT_DIALOG, make some way to tell the user
39
40
  * TODO: [👧] Strongly type the executors to avoid need of remove nullables whtn noUncheckedIndexedAccess in tsconfig.json
40
41
  * Note: CreatePipelineExecutorOptions are just connected to PipelineExecutor so do not extract to types folder
@@ -1,4 +1,4 @@
1
1
  export type TranslatorOptions = {
2
- from?: string;
3
- to: string;
2
+ readonly from?: string;
3
+ readonly to: string;
4
4
  };
@@ -5,7 +5,7 @@ type ForEachAsyncOptions = {
5
5
  *
6
6
  * @default Infinity
7
7
  */
8
- inParallelCount?: number;
8
+ readonly maxParallelCount?: number;
9
9
  };
10
10
  /**
11
11
  * Async version of Array.forEach
@@ -8,4 +8,4 @@ export declare const CsvFormatDefinition: FormatDefinition<string, string, objec
8
8
  * TODO: [🍓] In `CsvFormatDefinition` implement partial `canBeValid`
9
9
  * TODO: [🍓] In `CsvFormatDefinition` implement `heal
10
10
  * TODO: [🍓] In `CsvFormatDefinition` implement `extractValues`
11
- */
11
+ */
@@ -12,4 +12,4 @@ export declare const JsonFormatDefinition: FormatDefinition<string, string, obje
12
12
  * TODO: [🍓] In `JsonFormatDefinition` implement partial `canBeValid`
13
13
  * TODO: [🍓] In `JsonFormatDefinition` implement `heal
14
14
  * TODO: [🍓] In `JsonFormatDefinition` implement `extractValues`
15
- */
15
+ */
@@ -10,4 +10,4 @@ export declare const ListFormatDefinition: FormatDefinition<string, string, obje
10
10
  * TODO: [🍓] In `ListFormatDefinition` implement partial `canBeValid`
11
11
  * TODO: [🍓] In `ListFormatDefinition` implement `heal
12
12
  * TODO: [🍓] In `ListFormatDefinition` implement `extractValues`
13
- */
13
+ */
@@ -2,7 +2,7 @@ import type { Promisable } from 'type-fest';
2
2
  import type { CommonExecutionToolsOptions } from '../../../execution/CommonExecutionToolsOptions';
3
3
  import type { UserInterfaceToolsPromptDialogOptions } from '../../../execution/UserInterfaceTools';
4
4
  /**
5
- * Options for CallbackInterfaceTools
5
+ * Options for `CallbackInterfaceTools`
6
6
  */
7
7
  export type CallbackInterfaceToolsOptions = CommonExecutionToolsOptions & {
8
8
  /**
@@ -0,0 +1,18 @@
1
+ import type { PrepareOptions } from '../../../prepare/PrepareOptions';
2
+ import type { KnowledgePiecePreparedJson } from '../../../types/PipelineJson/KnowledgePieceJson';
3
+ import type { KnowledgeSourceJson } from '../../../types/PipelineJson/KnowledgeSourceJson';
4
+ /**
5
+ * Prepares the knowle
6
+ *
7
+ * @see https://github.com/webgptorg/promptbook/discussions/41
8
+ * @private within the package
9
+ */
10
+ export declare function prepareKnowledgePieces(knowledgeSources: Array<KnowledgeSourceJson>, options: PrepareOptions): Promise<Array<Omit<KnowledgePiecePreparedJson, 'preparationIds'>>>;
11
+ /**
12
+ * TODO: [🧊] In future one preparation can take data from previous preparation and save tokens and time
13
+ * Put `knowledgePieces` into `PrepareKnowledgeOptions`
14
+ * TODO: [🪂] More than max things can run in parallel by acident [1,[2a,2b,_],[3a,3b,_]]
15
+ * TODO: [🧠][❎] Do here propper M:N mapping
16
+ * [x] One source can make multiple pieces
17
+ * [ ] One piece can have multiple sources
18
+ */
@@ -0,0 +1,7 @@
1
+ import type { LlmExecutionTools } from '../../../../execution/LlmExecutionTools';
2
+ /**
3
+ * Returns LLM tools for testing purposes
4
+ *
5
+ * @private within the package - JUST FOR TESTS
6
+ */
7
+ export declare function getLlmToolsForTests(): LlmExecutionTools;
@@ -1,26 +1,11 @@
1
- import type { LlmExecutionTools } from '../../../execution/LlmExecutionTools';
2
- import type { KnowledgeJson } from '../../../types/PipelineJson/KnowledgeJson';
1
+ import type { PrepareOptions } from '../../../prepare/PrepareOptions';
2
+ import type { KnowledgePiecePreparedJson } from '../../../types/PipelineJson/KnowledgePieceJson';
3
3
  import type { string_markdown } from '../../../types/typeAliases';
4
- type PrepareKnowledgeFromMarkdownOptions = {
5
- /**
6
- * The source of the knowledge in markdown format
7
- */
8
- content: string_markdown;
9
- /**
10
- * The LLM tools to use for the conversion and extraction of knowledge
11
- *
12
- * Note: If you want to use multiple LLMs, you can use `joinLlmExecutionTools` to join them first
13
- */
14
- llmTools: LlmExecutionTools;
15
- /**
16
- * If true, the preaparation of knowledge logs additional information
17
- *
18
- * @default false
19
- */
20
- isVerbose?: boolean;
21
- };
22
- export declare function prepareKnowledgeFromMarkdown(options: PrepareKnowledgeFromMarkdownOptions): Promise<KnowledgeJson>;
23
- export {};
24
4
  /**
25
- * 11:11
5
+ * @@@
6
+ */
7
+ export declare function prepareKnowledgeFromMarkdown(content: string_markdown, options: PrepareOptions): Promise<Array<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>>>;
8
+ /**
9
+ * TODO: [🪂] Do it in parallel 11:11
10
+ * Note: No need to aggregate usage here, it is done by intercepting the llmTools
26
11
  */
@@ -1,19 +1,12 @@
1
- import type { LlmExecutionTools } from '../../../execution/LlmExecutionTools';
2
- import type { KnowledgeJson } from '../../../types/PipelineJson/KnowledgeJson';
1
+ import type { PrepareOptions } from '../../../prepare/PrepareOptions';
2
+ import type { KnowledgePiecePreparedJson } from '../../../types/PipelineJson/KnowledgePieceJson';
3
3
  import type { string_base64 } from '../../../types/typeAliases';
4
- type PrepareKnowledgeFromPdfOptions = {
5
- /**
6
- * The source of the knowledge in PDF format
7
- */
8
- content: string_base64;
9
- /**
10
- * The LLM tools to use for the conversion and extraction of knowledge
11
- */
12
- llmTools: LlmExecutionTools;
13
- };
14
- export declare function prepareKnowledgeFromPdf(options: PrepareKnowledgeFromPdfOptions): Promise<KnowledgeJson>;
15
- export {};
4
+ /**
5
+ * @@@
6
+ */
7
+ export declare function prepareKnowledgeFromPdf(content: string_base64, options: PrepareOptions): Promise<Array<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>>>;
16
8
  /**
17
9
  * TODO: [🧺] In future, content can be alse File or Blob BUT for now for wider compatibility its only base64
18
10
  * @see https://stackoverflow.com/questions/14653349/node-js-cant-create-blobs
11
+ * TODO: [🪂] Do it in parallel
19
12
  */
@@ -1,7 +1,7 @@
1
1
  import type { ClientOptions } from '@anthropic-ai/sdk';
2
2
  import type { CommonExecutionToolsOptions } from '../../execution/CommonExecutionToolsOptions';
3
3
  /**
4
- * Options for AnthropicClaudeExecutionTools
4
+ * Options for `AnthropicClaudeExecutionTools`
5
5
  *
6
6
  * This extends Anthropic's `ClientOptions` with are directly passed to the Anthropic client.
7
7
  */
@@ -9,8 +9,8 @@ import type { number_usd } from '../../types/typeAliases';
9
9
  */
10
10
  export declare const ANTHROPIC_CLAUDE_MODELS: Array<AvailableModel & {
11
11
  pricing?: {
12
- prompt: number_usd;
13
- output: number_usd;
12
+ readonly prompt: number_usd;
13
+ readonly output: number_usd;
14
14
  };
15
15
  }>;
16
16
  /**
@@ -2,7 +2,7 @@ import type { CommonExecutionToolsOptions } from '../../execution/CommonExecutio
2
2
  import type { string_name } from '../../types/typeAliases';
3
3
  import type { string_token } from '../../types/typeAliases';
4
4
  /**
5
- * Options for AzureOpenAiExecutionTools
5
+ * Options for `AzureOpenAiExecutionTools`
6
6
  *
7
7
  * @see https://oai.azure.com/portal/
8
8
  */
@@ -12,7 +12,7 @@ export type AzureOpenAiExecutionToolsOptions = CommonExecutionToolsOptions & {
12
12
  *
13
13
  * Note: Typically you have one resource and multiple deployments.
14
14
  */
15
- resourceName: string_name;
15
+ readonly resourceName: string_name;
16
16
  /**
17
17
  * The deployment name
18
18
  *
@@ -20,16 +20,16 @@ export type AzureOpenAiExecutionToolsOptions = CommonExecutionToolsOptions & {
20
20
  * Note: This is kind of a modelName in OpenAI terms
21
21
  * Note: Typically you have one resource and multiple deployments.
22
22
  */
23
- deploymentName: string_name;
23
+ readonly deploymentName: string_name;
24
24
  /**
25
25
  * The API key of the Azure OpenAI resource
26
26
  */
27
- apiKey: string_token;
27
+ readonly apiKey: string_token;
28
28
  /**
29
29
  * A unique identifier representing your end-user, which can help Azure OpenAI to monitor
30
30
  * and detect abuse.
31
31
  *
32
32
  * @see https://platform.openai.com/docs/guides/safety-best-practices/end-user-ids (document from OpenAI not Azure, but same concept)
33
33
  */
34
- user?: string_token;
34
+ readonly user?: string_token;
35
35
  };
@@ -2,7 +2,7 @@ import type { ClientOptions } from 'openai';
2
2
  import type { CommonExecutionToolsOptions } from '../../execution/CommonExecutionToolsOptions';
3
3
  import type { string_token } from '../../types/typeAliases';
4
4
  /**
5
- * Options for OpenAiExecutionTools
5
+ * Options for `OpenAiExecutionTools`
6
6
  *
7
7
  * This extends OpenAI's `ClientOptions` with are directly passed to the OpenAI client.
8
8
  * Rest is used by the `OpenAiExecutionTools`.
@@ -10,8 +10,8 @@ import type { number_usd } from '../../types/typeAliases';
10
10
  */
11
11
  export declare const OPENAI_MODELS: Array<AvailableModel & {
12
12
  pricing?: {
13
- prompt: number_usd;
14
- output: number_usd;
13
+ readonly prompt: number_usd;
14
+ readonly output: number_usd;
15
15
  };
16
16
  }>;
17
17
  /**
@@ -2,7 +2,7 @@ import type { CommonExecutionToolsOptions } from '../../execution/CommonExecutio
2
2
  import type { client_id } from '../../types/typeAliases';
3
3
  import type { string_uri } from '../../types/typeAliases';
4
4
  /**
5
- * Options for RemoteLlmExecutionTools
5
+ * Options for `RemoteLlmExecutionTools`
6
6
  */
7
7
  export type RemoteLlmExecutionToolsOptions = CommonExecutionToolsOptions & {
8
8
  /**
@@ -0,0 +1,13 @@
1
+ import type { PrepareOptions } from '../prepare/PrepareOptions';
2
+ import type { PersonaPreparedJson } from '../types/PipelineJson/PersonaJson';
3
+ import type { string_persona_description } from '../types/typeAliases';
4
+ /**
5
+ * Prepares the persona for the pipeline
6
+ *
7
+ * @see https://github.com/webgptorg/promptbook/discussions/22
8
+ * @private within the package
9
+ */
10
+ export declare function preparePersona(personaDescription: string_persona_description, options: PrepareOptions): Promise<PersonaPreparedJson['modelRequirements']>;
11
+ /**
12
+ * TODO: [🪂] Do it in parallel
13
+ */
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ import type { LlmExecutionTools } from '../execution/LlmExecutionTools';
2
+ /**
3
+ * Options for preparation of the pipeline
4
+ */
5
+ export type PrepareOptions = {
6
+ /**
7
+ * LLM tools
8
+ */
9
+ readonly llmTools: LlmExecutionTools;
10
+ /**
11
+ * Maximum number of tasks running in parallel
12
+ *
13
+ * @default MAX_PARALLEL_COUNT
14
+ */
15
+ readonly maxParallelCount?: number;
16
+ /**
17
+ * If true, the preparation logs additional information
18
+ *
19
+ * @default false
20
+ */
21
+ readonly isVerbose?: boolean;
22
+ };
@@ -0,0 +1,15 @@
1
+ import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
2
+ import type { PrepareOptions } from './PrepareOptions';
3
+ /**
4
+ * Prepare pipeline from string (markdown) format to JSON format
5
+ *
6
+ * Note: This function does not validate logic of the pipeline
7
+ * Note: This function acts as part of compilation process
8
+ */
9
+ export declare function preparePipeline(pipeline: PipelineJson, options: PrepareOptions): Promise<PipelineJson>;
10
+ /**
11
+ * TODO: Write tests for `preparePipeline`
12
+ * TODO: [🏏] Leverage the batch API and build queues @see https://platform.openai.com/docs/guides/batch
13
+ * TODO: [🧊] In future one preparation can take data from previous preparation and save tokens and time
14
+ * TODO: [💸] Make utilities `interceptLlmTools` and `costLlmTools` to compute cost and DO put this counting logic in `prepareKnowledge` or `preparePersona`
15
+ */
@@ -0,0 +1,8 @@
1
+ import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
2
+ /**
3
+ * Unprepare just strips the preparation data of the pipeline
4
+ */
5
+ export declare function unpreparePipeline(pipeline: PipelineJson): PipelineJson;
6
+ /**
7
+ * TODO: Write tests for `preparePipeline`
8
+ */
@@ -2,7 +2,7 @@ import type { Promisable } from 'type-fest';
2
2
  import type { CommonExecutionToolsOptions } from '../../execution/CommonExecutionToolsOptions';
3
3
  import type { string_javascript_name } from '../../types/typeAliases';
4
4
  /**
5
- * Options for javascript execution
5
+ * Options for `JavascriptExecutionTools`
6
6
  */
7
7
  export type JavascriptExecutionToolsOptions = CommonExecutionToolsOptions & {
8
8
  /**
@@ -1,4 +1,4 @@
1
- import type { really_any } from '../../../types/typeAliases';
1
+ import type { really_any } from '../../../utils/organization/really_any';
2
2
  /**
3
3
  * Does nothing, but preserves the function in the bundle
4
4
  * Compiler is tricked into thinking the function is used
@@ -37,7 +37,8 @@ export type ModelRequirements = {
37
37
  readonly maxTokens?: number;
38
38
  };
39
39
  /**
40
+ * TODO: !!!!! Add and use systemMessage, temprerature, top_k, top_p, presencePenalty, frequencyPenalty, bestOf, n, logitBias, logitBiasType, stop, ... to ModelRequirements
40
41
  * TODO: Maybe figure out better word than "variant"
41
42
  * TODO: Add here more requirement options like max context size, max tokens, etc.
42
- * TODO: [👙][🧠] Just selecting gpt3 or gpt4 level of model
43
+ * TODO: [💕][🧠] Just selecting gpt3 or gpt4 level of model
43
44
  */
@@ -10,5 +10,6 @@
10
10
  */
11
11
  export type Parameters = object;
12
12
  /**
13
+ * TODO: !!!!! Implement samples into parameters
13
14
  * TODO: Constrain type to Simple key-value object, only string keys and string values and no index signature + only camelCase keys and spaceTrimmed values
14
15
  */
@@ -6,21 +6,25 @@ import type { number_positive } from '../typeAliases';
6
6
  * For example 5 words, 3 sentences, 2 paragraphs, ...
7
7
  *
8
8
  * Note: Expectations are performed after all postprocessing steps
9
+ * @see https://github.com/webgptorg/promptbook/discussions/30
9
10
  */
10
11
  export type Expectations = Partial<Record<Lowercase<ExpectationUnit>, {
11
- min?: ExpectationAmount;
12
- max?: ExpectationAmount;
12
+ readonly min?: ExpectationAmount;
13
+ readonly max?: ExpectationAmount;
13
14
  }>>;
14
15
  /**
15
16
  * Units of text measurement
17
+ * @see https://github.com/webgptorg/promptbook/discussions/30
16
18
  */
17
19
  export declare const EXPECTATION_UNITS: readonly ["CHARACTERS", "WORDS", "SENTENCES", "LINES", "PARAGRAPHS", "PAGES"];
18
20
  /**
19
21
  * Unit of text measurement
22
+ * @see https://github.com/webgptorg/promptbook/discussions/30
20
23
  */
21
24
  export type ExpectationUnit = typeof EXPECTATION_UNITS[number];
22
25
  /**
23
26
  * Amount of text measurement
27
+ * @see https://github.com/webgptorg/promptbook/discussions/30
24
28
  */
25
29
  export type ExpectationAmount = number_integer & (number_positive | 0);
26
30
  /**