@promptbook/cli 0.72.0-0 → 0.72.0-1
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.
- package/README.md +6 -7
- package/esm/index.es.js +2462 -1407
- package/esm/index.es.js.map +1 -1
- package/esm/typings/src/_packages/cli.index.d.ts +4 -0
- package/esm/typings/src/_packages/core.index.d.ts +11 -1
- package/esm/typings/src/_packages/openai.index.d.ts +4 -0
- package/esm/typings/src/_packages/types.index.d.ts +12 -0
- package/esm/typings/src/_packages/utils.index.d.ts +4 -4
- package/esm/typings/src/commands/FOREACH/ForeachCommand.d.ts +3 -2
- package/esm/typings/src/commands/FOREACH/ForeachJson.d.ts +23 -0
- package/esm/typings/src/commands/FOREACH/foreachCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/_common/types/CommandParser.d.ts +16 -1
- package/esm/typings/src/config.d.ts +14 -1
- package/esm/typings/src/conversion/prettify/renderPipelineMermaidOptions.d.ts +3 -0
- package/esm/typings/src/conversion/utils/extractParameterNamesFromTemplate.d.ts +2 -1
- package/esm/typings/src/conversion/validation/validatePipeline.d.ts +5 -0
- package/esm/typings/src/execution/PipelineExecutorResult.d.ts +9 -8
- package/esm/typings/src/execution/createPipelineExecutor/$OngoingTemplateResult.d.ts +45 -0
- package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorOptions.d.ts +20 -0
- package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorSettings.d.ts +40 -0
- package/esm/typings/src/execution/createPipelineExecutor/00-createPipelineExecutor.d.ts +10 -0
- package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +55 -0
- package/esm/typings/src/execution/createPipelineExecutor/20-executeTemplate.d.ts +62 -0
- package/esm/typings/src/execution/createPipelineExecutor/30-executeFormatCells.d.ts +19 -0
- package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +74 -0
- package/esm/typings/src/execution/createPipelineExecutor/filterJustOutputParameters.d.ts +34 -0
- package/esm/typings/src/execution/createPipelineExecutor/getContextForTemplate.d.ts +10 -0
- package/esm/typings/src/execution/createPipelineExecutor/getKnowledgeForTemplate.d.ts +27 -0
- package/esm/typings/src/execution/createPipelineExecutor/getReservedParametersForTemplate.d.ts +30 -0
- package/esm/typings/src/execution/createPipelineExecutor/getSamplesForTemplate.d.ts +10 -0
- package/esm/typings/src/execution/utils/checkExpectations.d.ts +2 -0
- package/esm/typings/src/execution/utils/usageToHuman.d.ts +3 -4
- package/esm/typings/src/formats/_common/FormatDefinition.d.ts +14 -15
- package/esm/typings/src/formats/_common/FormatSubvalueDefinition.d.ts +30 -0
- package/esm/typings/src/formats/csv/{ListFormatDefinition.d.ts → CsvFormatDefinition.d.ts} +6 -3
- package/esm/typings/src/formats/csv/CsvSettings.d.ts +13 -0
- package/esm/typings/src/formats/index.d.ts +1 -1
- package/esm/typings/src/formats/json/JsonFormatDefinition.d.ts +4 -3
- package/esm/typings/src/formats/text/TextFormatDefinition.d.ts +19 -0
- package/esm/typings/src/formats/xml/XmlFormatDefinition.d.ts +4 -3
- package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +1 -1
- package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionToolsOptions.d.ts +1 -1
- package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +9 -0
- package/esm/typings/src/llm-providers/openai/createOpenAiAssistantExecutionTools.d.ts +15 -0
- package/esm/typings/src/llm-providers/openai/register-configuration.d.ts +9 -0
- package/esm/typings/src/llm-providers/openai/register-constructor.d.ts +9 -0
- package/esm/typings/src/types/PipelineJson/ParameterJson.d.ts +1 -0
- package/esm/typings/src/types/PipelineJson/TemplateJsonCommon.d.ts +5 -0
- package/esm/typings/src/types/execution-report/ExecutionReportJson.d.ts +3 -0
- package/esm/typings/src/utils/expectation-counters/index.d.ts +3 -0
- package/esm/typings/src/utils/organization/{f.d.ts → empty_object.d.ts} +5 -1
- package/esm/typings/src/utils/organization/just_empty_object.d.ts +12 -0
- package/esm/typings/src/utils/{extractParameterNames.d.ts → parameters/extractParameterNames.d.ts} +2 -2
- package/esm/typings/src/utils/parameters/mapAvailableToExpectedParameters.d.ts +27 -0
- package/esm/typings/src/utils/{replaceParameters.d.ts → parameters/replaceParameters.d.ts} +2 -2
- package/esm/typings/src/utils/validators/parameterName/validateParameterName.d.ts +10 -0
- package/esm/typings/src/utils/validators/parameterName/validateParameterName.test.d.ts +1 -0
- package/package.json +17 -12
- package/umd/index.umd.js +2466 -1410
- package/umd/index.umd.js.map +1 -1
- package/esm/typings/src/execution/createPipelineExecutor.d.ts +0 -72
- package/esm/typings/src/formats/list/ListFormatDefinition.d.ts +0 -16
- /package/esm/typings/src/utils/{extractParameterNames.test.d.ts → parameters/extractParameterNames.test.d.ts} +0 -0
- /package/esm/typings/src/{execution/utils/usageToHuman.test.d.ts → utils/parameters/mapAvailableToExpectedParameters.test.d.ts} +0 -0
- /package/esm/typings/src/utils/{replaceParameters.test.d.ts → parameters/replaceParameters.test.d.ts} +0 -0
|
@@ -5,7 +5,9 @@ import { _AnthropicClaudeRegistration } from '../llm-providers/anthropic-claude/
|
|
|
5
5
|
import { _AzureOpenAiMetadataRegistration } from '../llm-providers/azure-openai/register-configuration';
|
|
6
6
|
import { _AzureOpenAiRegistration } from '../llm-providers/azure-openai/register-constructor';
|
|
7
7
|
import { _OpenAiMetadataRegistration } from '../llm-providers/openai/register-configuration';
|
|
8
|
+
import { _OpenAiAssistantMetadataRegistration } from '../llm-providers/openai/register-configuration';
|
|
8
9
|
import { _OpenAiRegistration } from '../llm-providers/openai/register-constructor';
|
|
10
|
+
import { _OpenAiAssistantRegistration } from '../llm-providers/openai/register-constructor';
|
|
9
11
|
export { PROMPTBOOK_VERSION };
|
|
10
12
|
export { _CLI };
|
|
11
13
|
export { _AnthropicClaudeMetadataRegistration };
|
|
@@ -13,4 +15,6 @@ export { _AnthropicClaudeRegistration };
|
|
|
13
15
|
export { _AzureOpenAiMetadataRegistration };
|
|
14
16
|
export { _AzureOpenAiRegistration };
|
|
15
17
|
export { _OpenAiMetadataRegistration };
|
|
18
|
+
export { _OpenAiAssistantMetadataRegistration };
|
|
16
19
|
export { _OpenAiRegistration };
|
|
20
|
+
export { _OpenAiAssistantRegistration };
|
|
@@ -17,6 +17,7 @@ import { PIPELINE_COLLECTION_BASE_FILENAME } from '../config';
|
|
|
17
17
|
import { RESERVED_PARAMETER_NAMES } from '../config';
|
|
18
18
|
import { DEFAULT_REMOTE_URL } from '../config';
|
|
19
19
|
import { DEFAULT_REMOTE_URL_PATH } from '../config';
|
|
20
|
+
import { DEFAULT_CSV_SETTINGS } from '../config';
|
|
20
21
|
import { IS_VERBOSE } from '../config';
|
|
21
22
|
import { pipelineJsonToString } from '../conversion/pipelineJsonToString';
|
|
22
23
|
import type { PipelineStringToJsonOptions } from '../conversion/pipelineStringToJson';
|
|
@@ -38,7 +39,7 @@ import { PipelineLogicError } from '../errors/PipelineLogicError';
|
|
|
38
39
|
import { PipelineUrlError } from '../errors/PipelineUrlError';
|
|
39
40
|
import { UnexpectedError } from '../errors/UnexpectedError';
|
|
40
41
|
import { assertsExecutionSuccessful } from '../execution/assertsExecutionSuccessful';
|
|
41
|
-
import { createPipelineExecutor } from '../execution/createPipelineExecutor';
|
|
42
|
+
import { createPipelineExecutor } from '../execution/createPipelineExecutor/00-createPipelineExecutor';
|
|
42
43
|
import { embeddingVectorToString } from '../execution/embeddingVectorToString';
|
|
43
44
|
import { addUsage } from '../execution/utils/addUsage';
|
|
44
45
|
import { isPassingExpectations } from '../execution/utils/checkExpectations';
|
|
@@ -46,6 +47,9 @@ import { ZERO_USAGE } from '../execution/utils/usage-constants';
|
|
|
46
47
|
import { UNCERTAIN_USAGE } from '../execution/utils/usage-constants';
|
|
47
48
|
import { usageToHuman } from '../execution/utils/usageToHuman';
|
|
48
49
|
import { usageToWorktime } from '../execution/utils/usageToWorktime';
|
|
50
|
+
import { CsvFormatDefinition } from '../formats/csv/CsvFormatDefinition';
|
|
51
|
+
import { MANDATORY_CSV_SETTINGS } from '../formats/csv/CsvSettings';
|
|
52
|
+
import { TextFormatDefinition } from '../formats/text/TextFormatDefinition';
|
|
49
53
|
import { CallbackInterfaceTools } from '../knowledge/dialogs/callback/CallbackInterfaceTools';
|
|
50
54
|
import type { CallbackInterfaceToolsOptions } from '../knowledge/dialogs/callback/CallbackInterfaceToolsOptions';
|
|
51
55
|
import { prepareKnowledgePieces } from '../knowledge/prepare-knowledge/_common/prepareKnowledgePieces';
|
|
@@ -60,6 +64,7 @@ import { _AnthropicClaudeMetadataRegistration } from '../llm-providers/anthropic
|
|
|
60
64
|
import { _AzureOpenAiMetadataRegistration } from '../llm-providers/azure-openai/register-configuration';
|
|
61
65
|
import { joinLlmExecutionTools } from '../llm-providers/multiple/joinLlmExecutionTools';
|
|
62
66
|
import { _OpenAiMetadataRegistration } from '../llm-providers/openai/register-configuration';
|
|
67
|
+
import { _OpenAiAssistantMetadataRegistration } from '../llm-providers/openai/register-configuration';
|
|
63
68
|
import { preparePersona } from '../personas/preparePersona';
|
|
64
69
|
import { isPipelinePrepared } from '../prepare/isPipelinePrepared';
|
|
65
70
|
import { preparePipeline } from '../prepare/preparePipeline';
|
|
@@ -91,6 +96,7 @@ export { PIPELINE_COLLECTION_BASE_FILENAME };
|
|
|
91
96
|
export { RESERVED_PARAMETER_NAMES };
|
|
92
97
|
export { DEFAULT_REMOTE_URL };
|
|
93
98
|
export { DEFAULT_REMOTE_URL_PATH };
|
|
99
|
+
export { DEFAULT_CSV_SETTINGS };
|
|
94
100
|
export { IS_VERBOSE };
|
|
95
101
|
export { pipelineJsonToString };
|
|
96
102
|
export type { PipelineStringToJsonOptions };
|
|
@@ -120,6 +126,9 @@ export { ZERO_USAGE };
|
|
|
120
126
|
export { UNCERTAIN_USAGE };
|
|
121
127
|
export { usageToHuman };
|
|
122
128
|
export { usageToWorktime };
|
|
129
|
+
export { CsvFormatDefinition };
|
|
130
|
+
export { MANDATORY_CSV_SETTINGS };
|
|
131
|
+
export { TextFormatDefinition };
|
|
123
132
|
export { CallbackInterfaceTools };
|
|
124
133
|
export type { CallbackInterfaceToolsOptions };
|
|
125
134
|
export { prepareKnowledgePieces };
|
|
@@ -134,6 +143,7 @@ export { _AnthropicClaudeMetadataRegistration };
|
|
|
134
143
|
export { _AzureOpenAiMetadataRegistration };
|
|
135
144
|
export { joinLlmExecutionTools };
|
|
136
145
|
export { _OpenAiMetadataRegistration };
|
|
146
|
+
export { _OpenAiAssistantMetadataRegistration };
|
|
137
147
|
export { preparePersona };
|
|
138
148
|
export { isPipelinePrepared };
|
|
139
149
|
export { preparePipeline };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { PROMPTBOOK_VERSION } from '../version';
|
|
2
|
+
import { createOpenAiAssistantExecutionTools } from '../llm-providers/openai/createOpenAiAssistantExecutionTools';
|
|
2
3
|
import { createOpenAiExecutionTools } from '../llm-providers/openai/createOpenAiExecutionTools';
|
|
3
4
|
import { OPENAI_MODELS } from '../llm-providers/openai/openai-models';
|
|
4
5
|
import { OpenAiAssistantExecutionTools } from '../llm-providers/openai/OpenAiAssistantExecutionTools';
|
|
@@ -6,7 +7,9 @@ import type { OpenAiAssistantExecutionToolsOptions } from '../llm-providers/open
|
|
|
6
7
|
import { OpenAiExecutionTools } from '../llm-providers/openai/OpenAiExecutionTools';
|
|
7
8
|
import type { OpenAiExecutionToolsOptions } from '../llm-providers/openai/OpenAiExecutionToolsOptions';
|
|
8
9
|
import { _OpenAiRegistration } from '../llm-providers/openai/register-constructor';
|
|
10
|
+
import { _OpenAiAssistantRegistration } from '../llm-providers/openai/register-constructor';
|
|
9
11
|
export { PROMPTBOOK_VERSION };
|
|
12
|
+
export { createOpenAiAssistantExecutionTools };
|
|
10
13
|
export { createOpenAiExecutionTools };
|
|
11
14
|
export { OPENAI_MODELS };
|
|
12
15
|
export { OpenAiAssistantExecutionTools };
|
|
@@ -14,3 +17,4 @@ export type { OpenAiAssistantExecutionToolsOptions };
|
|
|
14
17
|
export { OpenAiExecutionTools };
|
|
15
18
|
export type { OpenAiExecutionToolsOptions };
|
|
16
19
|
export { _OpenAiRegistration };
|
|
20
|
+
export { _OpenAiAssistantRegistration };
|
|
@@ -7,6 +7,7 @@ import type { PipelineTemplateCommandParser } from '../commands/_common/types/Co
|
|
|
7
7
|
import type { CommandParserInput } from '../commands/_common/types/CommandParser';
|
|
8
8
|
import type { CommandUsagePlace } from '../commands/_common/types/CommandUsagePlaces';
|
|
9
9
|
import type { ExpectCommand } from '../commands/EXPECT/ExpectCommand';
|
|
10
|
+
import type { ForeachJson } from '../commands/FOREACH/ForeachJson';
|
|
10
11
|
import type { FormatCommand } from '../commands/FORMAT/FormatCommand';
|
|
11
12
|
import type { TemplateType } from '../commands/TEMPLATE/TemplateTypes';
|
|
12
13
|
import type { PipelineStringToJsonOptions } from '../conversion/pipelineStringToJson';
|
|
@@ -15,6 +16,8 @@ import type { renderPipelineMermaidOptions } from '../conversion/prettify/render
|
|
|
15
16
|
import type { ErrorJson } from '../errors/utils/ErrorJson';
|
|
16
17
|
import type { AvailableModel } from '../execution/AvailableModel';
|
|
17
18
|
import type { CommonExecutionToolsOptions } from '../execution/CommonExecutionToolsOptions';
|
|
19
|
+
import type { CreatePipelineExecutorOptions } from '../execution/createPipelineExecutor/00-CreatePipelineExecutorOptions';
|
|
20
|
+
import type { CreatePipelineExecutorSettings } from '../execution/createPipelineExecutor/00-CreatePipelineExecutorSettings';
|
|
18
21
|
import type { EmbeddingVector } from '../execution/EmbeddingVector';
|
|
19
22
|
import type { ExecutionTools } from '../execution/ExecutionTools';
|
|
20
23
|
import type { LlmExecutionTools } from '../execution/LlmExecutionTools';
|
|
@@ -32,6 +35,8 @@ import type { ScriptExecutionToolsExecuteOptions } from '../execution/ScriptExec
|
|
|
32
35
|
import type { UncertainNumber } from '../execution/UncertainNumber';
|
|
33
36
|
import type { UserInterfaceTools } from '../execution/UserInterfaceTools';
|
|
34
37
|
import type { UserInterfaceToolsPromptDialogOptions } from '../execution/UserInterfaceTools';
|
|
38
|
+
import type { FormatSubvalueDefinition } from '../formats/_common/FormatSubvalueDefinition';
|
|
39
|
+
import type { CsvSettings } from '../formats/csv/CsvSettings';
|
|
35
40
|
import type { CallbackInterfaceToolsOptions } from '../knowledge/dialogs/callback/CallbackInterfaceToolsOptions';
|
|
36
41
|
import type { LlmToolsConfiguration } from '../llm-providers/_common/LlmToolsConfiguration';
|
|
37
42
|
import type { LlmToolsMetadata } from '../llm-providers/_common/LlmToolsMetadata';
|
|
@@ -221,6 +226,7 @@ import type { string_camelCase } from '../utils/normalization/normalizeTo_camelC
|
|
|
221
226
|
import type { string_PascalCase } from '../utils/normalization/normalizeTo_PascalCase';
|
|
222
227
|
import type { string_SCREAMING_CASE } from '../utils/normalization/normalizeTo_SCREAMING_CASE';
|
|
223
228
|
import type { string_snake_case } from '../utils/normalization/normalizeTo_snake_case';
|
|
229
|
+
import type { empty_object } from '../utils/organization/empty_object';
|
|
224
230
|
import type { really_any } from '../utils/organization/really_any';
|
|
225
231
|
import type { TODO_any } from '../utils/organization/TODO_any';
|
|
226
232
|
import type { string_promptbook_version } from '../version';
|
|
@@ -233,6 +239,7 @@ export type { PipelineTemplateCommandParser };
|
|
|
233
239
|
export type { CommandParserInput };
|
|
234
240
|
export type { CommandUsagePlace };
|
|
235
241
|
export type { ExpectCommand };
|
|
242
|
+
export type { ForeachJson };
|
|
236
243
|
export type { FormatCommand };
|
|
237
244
|
export type { TemplateType };
|
|
238
245
|
export type { PipelineStringToJsonOptions };
|
|
@@ -241,6 +248,8 @@ export type { renderPipelineMermaidOptions };
|
|
|
241
248
|
export type { ErrorJson };
|
|
242
249
|
export type { AvailableModel };
|
|
243
250
|
export type { CommonExecutionToolsOptions };
|
|
251
|
+
export type { CreatePipelineExecutorOptions };
|
|
252
|
+
export type { CreatePipelineExecutorSettings };
|
|
244
253
|
export type { EmbeddingVector };
|
|
245
254
|
export type { ExecutionTools };
|
|
246
255
|
export type { LlmExecutionTools };
|
|
@@ -258,6 +267,8 @@ export type { ScriptExecutionToolsExecuteOptions };
|
|
|
258
267
|
export type { UncertainNumber };
|
|
259
268
|
export type { UserInterfaceTools };
|
|
260
269
|
export type { UserInterfaceToolsPromptDialogOptions };
|
|
270
|
+
export type { FormatSubvalueDefinition };
|
|
271
|
+
export type { CsvSettings };
|
|
261
272
|
export type { CallbackInterfaceToolsOptions };
|
|
262
273
|
export type { LlmToolsConfiguration };
|
|
263
274
|
export type { LlmToolsMetadata };
|
|
@@ -447,6 +458,7 @@ export type { string_camelCase };
|
|
|
447
458
|
export type { string_PascalCase };
|
|
448
459
|
export type { string_SCREAMING_CASE };
|
|
449
460
|
export type { string_snake_case };
|
|
461
|
+
export type { empty_object };
|
|
450
462
|
export type { really_any };
|
|
451
463
|
export type { TODO_any };
|
|
452
464
|
export type { string_promptbook_version };
|
|
@@ -20,7 +20,6 @@ import { splitIntoSentences } from '../utils/expectation-counters/countSentences
|
|
|
20
20
|
import { countSentences } from '../utils/expectation-counters/countSentences';
|
|
21
21
|
import { countWords } from '../utils/expectation-counters/countWords';
|
|
22
22
|
import { CountUtils } from '../utils/expectation-counters/index';
|
|
23
|
-
import { extractParameterNames } from '../utils/extractParameterNames';
|
|
24
23
|
import { capitalize } from '../utils/normalization/capitalize';
|
|
25
24
|
import { decapitalize } from '../utils/normalization/decapitalize';
|
|
26
25
|
import { DIACRITIC_VARIANTS_LETTERS } from '../utils/normalization/DIACRITIC_VARIANTS_LETTERS';
|
|
@@ -43,11 +42,12 @@ import { parseKeywords } from '../utils/normalization/parseKeywords';
|
|
|
43
42
|
import { parseKeywordsFromString } from '../utils/normalization/parseKeywordsFromString';
|
|
44
43
|
import { removeDiacritics } from '../utils/normalization/removeDiacritics';
|
|
45
44
|
import { searchKeywords } from '../utils/normalization/searchKeywords';
|
|
45
|
+
import { extractParameterNames } from '../utils/parameters/extractParameterNames';
|
|
46
|
+
import { replaceParameters } from '../utils/parameters/replaceParameters';
|
|
46
47
|
import { parseNumber } from '../utils/parseNumber';
|
|
47
48
|
import { $randomSeed } from '../utils/random/$randomSeed';
|
|
48
49
|
import { removeEmojis } from '../utils/removeEmojis';
|
|
49
50
|
import { removeQuotes } from '../utils/removeQuotes';
|
|
50
|
-
import { replaceParameters } from '../utils/replaceParameters';
|
|
51
51
|
import { $deepFreeze } from '../utils/serialization/$deepFreeze';
|
|
52
52
|
import { checkSerializableAsJson } from '../utils/serialization/checkSerializableAsJson';
|
|
53
53
|
import { clonePipeline } from '../utils/serialization/clonePipeline';
|
|
@@ -91,7 +91,6 @@ export { splitIntoSentences };
|
|
|
91
91
|
export { countSentences };
|
|
92
92
|
export { countWords };
|
|
93
93
|
export { CountUtils };
|
|
94
|
-
export { extractParameterNames };
|
|
95
94
|
export { capitalize };
|
|
96
95
|
export { decapitalize };
|
|
97
96
|
export { DIACRITIC_VARIANTS_LETTERS };
|
|
@@ -114,11 +113,12 @@ export { parseKeywords };
|
|
|
114
113
|
export { parseKeywordsFromString };
|
|
115
114
|
export { removeDiacritics };
|
|
116
115
|
export { searchKeywords };
|
|
116
|
+
export { extractParameterNames };
|
|
117
|
+
export { replaceParameters };
|
|
117
118
|
export { parseNumber };
|
|
118
119
|
export { $randomSeed };
|
|
119
120
|
export { removeEmojis };
|
|
120
121
|
export { removeQuotes };
|
|
121
|
-
export { replaceParameters };
|
|
122
122
|
export { $deepFreeze };
|
|
123
123
|
export { checkSerializableAsJson };
|
|
124
124
|
export { clonePipeline };
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import type { ForeachJson } from './ForeachJson';
|
|
1
2
|
/**
|
|
2
|
-
* Parsed FOREACH command
|
|
3
|
+
* Parsed FOREACH command which is used to iterate over a table of values
|
|
3
4
|
*
|
|
4
5
|
* @see ./foreachCommandParser.ts for more details
|
|
5
6
|
* @private within the commands folder
|
|
6
7
|
*/
|
|
7
8
|
export type ForeachCommand = {
|
|
8
9
|
readonly type: 'FOREACH';
|
|
9
|
-
};
|
|
10
|
+
} & ForeachJson;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { string_parameter_name } from '../../types/typeAliases';
|
|
2
|
+
import type { TODO_string } from '../../utils/organization/TODO_string';
|
|
3
|
+
/**
|
|
4
|
+
* @@@
|
|
5
|
+
*/
|
|
6
|
+
export type ForeachJson = {
|
|
7
|
+
/**
|
|
8
|
+
* @@@
|
|
9
|
+
*/
|
|
10
|
+
readonly formatName: TODO_string;
|
|
11
|
+
/**
|
|
12
|
+
* @@@
|
|
13
|
+
*/
|
|
14
|
+
readonly subformatName: TODO_string;
|
|
15
|
+
/**
|
|
16
|
+
* @@@
|
|
17
|
+
*/
|
|
18
|
+
readonly parameterName: string_parameter_name;
|
|
19
|
+
/**
|
|
20
|
+
* @@@
|
|
21
|
+
*/
|
|
22
|
+
readonly subparameterNames: Array<string_parameter_name>;
|
|
23
|
+
};
|
|
@@ -10,5 +10,5 @@ import type { ForeachCommand } from './ForeachCommand';
|
|
|
10
10
|
*/
|
|
11
11
|
export declare const foreachCommandParser: PipelineTemplateCommandParser<ForeachCommand>;
|
|
12
12
|
/**
|
|
13
|
-
* TODO: [🍭] Make .ptbk.md file with examples of the FOREACH
|
|
13
|
+
* TODO: [🍭] Make .ptbk.md file with examples of the FOREACH with wrong parsing and logic
|
|
14
14
|
*/
|
|
@@ -147,24 +147,39 @@ export type $PipelineJson = WritableDeep<PipelineJson>;
|
|
|
147
147
|
export type CommandParserInput = {
|
|
148
148
|
/**
|
|
149
149
|
* @@@
|
|
150
|
+
*
|
|
151
|
+
* @example 'PIPELINE_HEAD'
|
|
152
|
+
* @example 'PIPELINE_TEMPLATE'
|
|
150
153
|
*/
|
|
151
154
|
readonly usagePlace: CommandUsagePlace;
|
|
152
155
|
/**
|
|
153
156
|
* @@@
|
|
157
|
+
*
|
|
158
|
+
* @example 'promptbook version 0.62.0'
|
|
159
|
+
* @example 'FOREACH Text Line `{customers}` -> `{customer}`'
|
|
154
160
|
*/
|
|
155
161
|
readonly raw: string_markdown_text;
|
|
156
162
|
/**
|
|
157
163
|
* @@@
|
|
164
|
+
*
|
|
165
|
+
* @example '0.62.0'
|
|
166
|
+
* @example 'List Line `{customers}` -> `{customer}`'
|
|
158
167
|
*/
|
|
159
168
|
readonly rawArgs: string_markdown_text;
|
|
160
169
|
/**
|
|
161
170
|
* @@@
|
|
171
|
+
*
|
|
172
|
+
* @example 'PROMPTBOOK_VERSION_0_62_0'
|
|
173
|
+
* @example 'FOREACH_LIST_LINE_CUSTOMERS_CUSTOMER'
|
|
162
174
|
*/
|
|
163
175
|
readonly normalized: string_name & string_SCREAMING_CASE;
|
|
164
176
|
/**
|
|
165
177
|
* @@@
|
|
178
|
+
*
|
|
179
|
+
* @example [ '0.62.0' ]
|
|
180
|
+
* @example [ 'List', 'Line', '{customers}', '', '{customer}' ]
|
|
166
181
|
*/
|
|
167
|
-
readonly args: Array<string_name
|
|
182
|
+
readonly args: Array<string_name>;
|
|
168
183
|
};
|
|
169
184
|
/**
|
|
170
185
|
* TODO: [♓️] Add order here
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { CsvSettings } from './formats/csv/CsvSettings';
|
|
1
2
|
/**
|
|
2
3
|
* Warning message for the generated sections and files files
|
|
3
4
|
*
|
|
@@ -137,6 +138,12 @@ export declare const DEFAULT_REMOTE_URL = "https://api.pavolhejny.com/";
|
|
|
137
138
|
* @public exported from `@promptbook/core`
|
|
138
139
|
*/
|
|
139
140
|
export declare const DEFAULT_REMOTE_URL_PATH = "/promptbook/socket.io";
|
|
141
|
+
/**
|
|
142
|
+
* @@@
|
|
143
|
+
*
|
|
144
|
+
* @public exported from `@promptbook/core`
|
|
145
|
+
*/
|
|
146
|
+
export declare const DEFAULT_CSV_SETTINGS: CsvSettings;
|
|
140
147
|
/**
|
|
141
148
|
* @@@
|
|
142
149
|
*
|
|
@@ -148,7 +155,13 @@ export declare const IS_VERBOSE = false;
|
|
|
148
155
|
*
|
|
149
156
|
* @private within the repository
|
|
150
157
|
*/
|
|
151
|
-
export declare const
|
|
158
|
+
export declare const IS_PIPELINE_LOGIC_VALIDATED: boolean;
|
|
159
|
+
/**
|
|
160
|
+
* @@@
|
|
161
|
+
*
|
|
162
|
+
* @private within the repository
|
|
163
|
+
*/
|
|
164
|
+
export declare const IS_COST_PREVENTED: boolean;
|
|
152
165
|
/**
|
|
153
166
|
* TODO: [🧠][🧜♂️] Maybe join remoteUrl and path into single value
|
|
154
167
|
*/
|
|
@@ -22,6 +22,9 @@ export type renderPipelineMermaidOptions = {
|
|
|
22
22
|
*/
|
|
23
23
|
export declare function renderPromptbookMermaid(pipelineJson: PipelineJson, options?: renderPipelineMermaidOptions): string;
|
|
24
24
|
/**
|
|
25
|
+
* TODO: !!!!! FOREACH in mermaid graph
|
|
26
|
+
* TODO: !!!!! Knowledge in mermaid graph
|
|
27
|
+
* TODO: !!!!! Personas in mermaid graph
|
|
25
28
|
* TODO: Maybe use some Mermaid package instead of string templating
|
|
26
29
|
* TODO: [🕌] When more than 2 functionalities, split into separate functions
|
|
27
30
|
*/
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ReadonlyDeep } from 'type-fest';
|
|
1
2
|
import type { TemplateJson } from '../../types/PipelineJson/TemplateJson';
|
|
2
3
|
import type { string_parameter_name } from '../../types/typeAliases';
|
|
3
4
|
/**
|
|
@@ -8,7 +9,7 @@ import type { string_parameter_name } from '../../types/typeAliases';
|
|
|
8
9
|
* @throws {ParseError} if the script is invalid
|
|
9
10
|
* @public exported from `@promptbook/utils`
|
|
10
11
|
*/
|
|
11
|
-
export declare function extractParameterNamesFromTemplate(template: Pick<TemplateJson, 'title' | 'description' | 'templateType' | 'content' | 'preparedContent' | 'jokerParameterNames'
|
|
12
|
+
export declare function extractParameterNamesFromTemplate(template: ReadonlyDeep<Pick<TemplateJson, 'title' | 'description' | 'templateType' | 'content' | 'preparedContent' | 'jokerParameterNames' | 'foreach'>>): Set<string_parameter_name>;
|
|
12
13
|
/**
|
|
13
14
|
* TODO: [🔣] If script require contentLanguage
|
|
14
15
|
*/
|
|
@@ -16,6 +16,11 @@ import type { PipelineJson } from '../../types/PipelineJson/PipelineJson';
|
|
|
16
16
|
*/
|
|
17
17
|
export declare function validatePipeline(pipeline: PipelineJson): PipelineJson;
|
|
18
18
|
/**
|
|
19
|
+
* @private internal function for `validatePipeline`
|
|
20
|
+
*/
|
|
21
|
+
export declare function validatePipelineCore(pipeline: PipelineJson): void;
|
|
22
|
+
/**
|
|
23
|
+
* TODO: !!!!! [🧞♀️] Do not allow joker + foreach
|
|
19
24
|
* TODO: [🧠] Work with promptbookVersion
|
|
20
25
|
* TODO: Use here some json-schema, Zod or something similar and change it to:
|
|
21
26
|
* > /**
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { ReadonlyDeep } from 'type-fest';
|
|
2
|
+
import type { ErrorJson } from '../errors/utils/ErrorJson';
|
|
1
3
|
import type { ExecutionReportJson } from '../types/execution-report/ExecutionReportJson';
|
|
2
|
-
import type { Parameters } from '../types/typeAliases';
|
|
3
4
|
import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
|
|
4
|
-
import type {
|
|
5
|
+
import type { Parameters } from '../types/typeAliases';
|
|
5
6
|
import type { PromptResultUsage } from './PromptResultUsage';
|
|
6
7
|
/**
|
|
7
8
|
* @@@
|
|
@@ -14,7 +15,7 @@ export type PipelineExecutorResult = {
|
|
|
14
15
|
*
|
|
15
16
|
* Note: If the execution was not successful, there are only some of the result parameters
|
|
16
17
|
*/
|
|
17
|
-
readonly outputParameters: Parameters
|
|
18
|
+
readonly outputParameters: Readonly<Parameters>;
|
|
18
19
|
/**
|
|
19
20
|
* Whether the execution was successful, details are aviable in `executionReport`
|
|
20
21
|
*/
|
|
@@ -22,26 +23,26 @@ export type PipelineExecutorResult = {
|
|
|
22
23
|
/**
|
|
23
24
|
* Added usage of whole execution, detailed usage is aviable in `executionReport`
|
|
24
25
|
*/
|
|
25
|
-
readonly usage: PromptResultUsage
|
|
26
|
+
readonly usage: ReadonlyDeep<PromptResultUsage>;
|
|
26
27
|
/**
|
|
27
28
|
* Errors that occured during the execution, details are aviable in `executionReport`
|
|
28
29
|
*/
|
|
29
|
-
readonly errors: Array<ErrorJson
|
|
30
|
+
readonly errors: ReadonlyDeep<Array<ErrorJson>>;
|
|
30
31
|
/**
|
|
31
32
|
* Warnings that occured during the execution, details are aviable in `executionReport`
|
|
32
33
|
*/
|
|
33
|
-
readonly warnings: Array<ErrorJson
|
|
34
|
+
readonly warnings: ReadonlyDeep<Array<ErrorJson>>;
|
|
34
35
|
/**
|
|
35
36
|
* The report of the execution with all details
|
|
36
37
|
*/
|
|
37
|
-
readonly executionReport: ExecutionReportJson
|
|
38
|
+
readonly executionReport: ReadonlyDeep<ExecutionReportJson>;
|
|
38
39
|
/**
|
|
39
40
|
* The prepared pipeline that was used for the execution
|
|
40
41
|
*
|
|
41
42
|
* Note: If you called `createPipelineExecutor` with fully prepared pipeline, this is the same object as this pipeline
|
|
42
43
|
* If you passed not fully prepared pipeline, this is same pipeline but fully prepared
|
|
43
44
|
*/
|
|
44
|
-
readonly preparedPipeline: PipelineJson
|
|
45
|
+
readonly preparedPipeline: ReadonlyDeep<PipelineJson>;
|
|
45
46
|
};
|
|
46
47
|
/**
|
|
47
48
|
* TODO: [🧠] Should this file be in /execution or /types folder?
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ExpectError } from '../../errors/ExpectError';
|
|
2
|
+
import type { Prompt } from '../../types/Prompt';
|
|
3
|
+
import type { ChatPromptResult } from '../PromptResult';
|
|
4
|
+
import type { CompletionPromptResult } from '../PromptResult';
|
|
5
|
+
import type { EmbeddingPromptResult } from '../PromptResult';
|
|
6
|
+
import type { PromptResult } from '../PromptResult';
|
|
7
|
+
/**
|
|
8
|
+
* @@@
|
|
9
|
+
*
|
|
10
|
+
* @private internal utility of `createPipelineExecutor`
|
|
11
|
+
*/
|
|
12
|
+
export type $OngoingTemplateResult = {
|
|
13
|
+
/**
|
|
14
|
+
* @@@
|
|
15
|
+
*/
|
|
16
|
+
$prompt?: Prompt;
|
|
17
|
+
/**
|
|
18
|
+
* @@@
|
|
19
|
+
*/
|
|
20
|
+
$chatResult?: ChatPromptResult;
|
|
21
|
+
/**
|
|
22
|
+
* @@@
|
|
23
|
+
*/
|
|
24
|
+
$completionResult?: CompletionPromptResult;
|
|
25
|
+
/**
|
|
26
|
+
* @@@
|
|
27
|
+
*/
|
|
28
|
+
$embeddingResult?: EmbeddingPromptResult;
|
|
29
|
+
/**
|
|
30
|
+
* @@@
|
|
31
|
+
*/
|
|
32
|
+
$result: PromptResult | null;
|
|
33
|
+
/**
|
|
34
|
+
* @@@
|
|
35
|
+
*/
|
|
36
|
+
$resultString: string | null;
|
|
37
|
+
/**
|
|
38
|
+
* @@@
|
|
39
|
+
*/
|
|
40
|
+
$expectError: ExpectError | null;
|
|
41
|
+
/**
|
|
42
|
+
* @@@
|
|
43
|
+
*/
|
|
44
|
+
$scriptPipelineExecutionErrors: Array<Error>;
|
|
45
|
+
};
|
package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorOptions.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { PipelineJson } from '../../types/PipelineJson/PipelineJson';
|
|
2
|
+
import type { ExecutionTools } from '../ExecutionTools';
|
|
3
|
+
import type { CreatePipelineExecutorSettings } from './00-CreatePipelineExecutorSettings';
|
|
4
|
+
/**
|
|
5
|
+
* Options for `createPipelineExecutor`
|
|
6
|
+
*/
|
|
7
|
+
export interface CreatePipelineExecutorOptions {
|
|
8
|
+
/**
|
|
9
|
+
* The pipeline to be executed
|
|
10
|
+
*/
|
|
11
|
+
readonly pipeline: PipelineJson;
|
|
12
|
+
/**
|
|
13
|
+
* The execution tools to be used during the execution of the pipeline
|
|
14
|
+
*/
|
|
15
|
+
readonly tools: ExecutionTools;
|
|
16
|
+
/**
|
|
17
|
+
* Optional settings for the pipeline executor
|
|
18
|
+
*/
|
|
19
|
+
readonly settings?: Partial<CreatePipelineExecutorSettings>;
|
|
20
|
+
}
|
package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorSettings.d.ts
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { CsvSettings } from '../../formats/csv/CsvSettings';
|
|
2
|
+
export type CreatePipelineExecutorSettings = {
|
|
3
|
+
/**
|
|
4
|
+
* When executor does not satisfy expectations it will be retried this amount of times
|
|
5
|
+
*
|
|
6
|
+
* @default MAX_EXECUTION_ATTEMPTS
|
|
7
|
+
*/
|
|
8
|
+
readonly maxExecutionAttempts: number;
|
|
9
|
+
/**
|
|
10
|
+
* Maximum number of tasks running in parallel
|
|
11
|
+
*
|
|
12
|
+
* @default MAX_PARALLEL_COUNT
|
|
13
|
+
*/
|
|
14
|
+
readonly maxParallelCount: number;
|
|
15
|
+
/**
|
|
16
|
+
* If true, the preparation logs additional information
|
|
17
|
+
*
|
|
18
|
+
* @default false
|
|
19
|
+
*/
|
|
20
|
+
readonly isVerbose: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Settings for CSV format
|
|
23
|
+
*
|
|
24
|
+
* @default DEFAULT_CSV_SETTINGS
|
|
25
|
+
*/
|
|
26
|
+
readonly csvSettings: CsvSettings;
|
|
27
|
+
/**
|
|
28
|
+
* If you pass fully prepared pipeline, this does not matter
|
|
29
|
+
*
|
|
30
|
+
* Otherwise:
|
|
31
|
+
* If false or not set, warning is shown when pipeline is not prepared
|
|
32
|
+
* If true, warning is suppressed
|
|
33
|
+
*
|
|
34
|
+
* @default false
|
|
35
|
+
*/
|
|
36
|
+
readonly isNotPreparedWarningSupressed: boolean;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* TODO: [🤹♂️] More granular setting for limits of execution + better waiting for queue
|
|
40
|
+
*/
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { PipelineExecutor } from '../PipelineExecutor';
|
|
2
|
+
import type { CreatePipelineExecutorOptions } from './00-CreatePipelineExecutorOptions';
|
|
3
|
+
/**
|
|
4
|
+
* Creates executor function from pipeline and execution tools.
|
|
5
|
+
*
|
|
6
|
+
* @returns The executor function
|
|
7
|
+
* @throws {PipelineLogicError} on logical error in the pipeline
|
|
8
|
+
* @public exported from `@promptbook/core`
|
|
9
|
+
*/
|
|
10
|
+
export declare function createPipelineExecutor(options: CreatePipelineExecutorOptions): PipelineExecutor;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { Promisable, ReadonlyDeep } from 'type-fest';
|
|
2
|
+
import type { PipelineJson } from '../../types/PipelineJson/PipelineJson';
|
|
3
|
+
import type { TaskProgress } from '../../types/TaskProgress';
|
|
4
|
+
import type { Parameters } from '../../types/typeAliases';
|
|
5
|
+
import type { ExecutionTools } from '../ExecutionTools';
|
|
6
|
+
import type { PipelineExecutorResult } from '../PipelineExecutorResult';
|
|
7
|
+
import type { CreatePipelineExecutorSettings } from './00-CreatePipelineExecutorSettings';
|
|
8
|
+
/**
|
|
9
|
+
* @@@
|
|
10
|
+
*
|
|
11
|
+
* @private internal type of `executePipelinex`
|
|
12
|
+
*/
|
|
13
|
+
type ExecutePipelineOptions = {
|
|
14
|
+
/**
|
|
15
|
+
* @@@
|
|
16
|
+
*/
|
|
17
|
+
readonly inputParameters: Readonly<Parameters>;
|
|
18
|
+
/**
|
|
19
|
+
* @@@
|
|
20
|
+
*/
|
|
21
|
+
readonly tools: ExecutionTools;
|
|
22
|
+
/**
|
|
23
|
+
* @@@
|
|
24
|
+
*/
|
|
25
|
+
onProgress?(taskProgress: TaskProgress): Promisable<void>;
|
|
26
|
+
/**
|
|
27
|
+
* @@@
|
|
28
|
+
*/
|
|
29
|
+
readonly pipeline: PipelineJson;
|
|
30
|
+
/**
|
|
31
|
+
* @@@
|
|
32
|
+
*/
|
|
33
|
+
readonly preparedPipeline: ReadonlyDeep<PipelineJson>;
|
|
34
|
+
/**
|
|
35
|
+
* @@@
|
|
36
|
+
*/
|
|
37
|
+
readonly setPreparedPipeline: (preparedPipeline: ReadonlyDeep<PipelineJson>) => void;
|
|
38
|
+
/**
|
|
39
|
+
* @@@
|
|
40
|
+
*/
|
|
41
|
+
readonly pipelineIdentification: string;
|
|
42
|
+
/**
|
|
43
|
+
* Settings for the pipeline executor
|
|
44
|
+
*/
|
|
45
|
+
readonly settings: CreatePipelineExecutorSettings;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* @@@
|
|
49
|
+
*
|
|
50
|
+
* Note: This is not a `PipelineExecutor` (which is binded with one exact pipeline), but a utility function of `createPipelineExecutor` which creates `PipelineExecutor`
|
|
51
|
+
*
|
|
52
|
+
* @private internal utility of `createPipelineExecutor`
|
|
53
|
+
*/
|
|
54
|
+
export declare function executePipeline(options: ExecutePipelineOptions): Promise<PipelineExecutorResult>;
|
|
55
|
+
export {};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Promisable, ReadonlyDeep } from 'type-fest';
|
|
2
|
+
import { MultipleLlmExecutionTools } from '../../llm-providers/multiple/MultipleLlmExecutionTools';
|
|
3
|
+
import type { ExecutionReportJson } from '../../types/execution-report/ExecutionReportJson';
|
|
4
|
+
import type { PipelineJson } from '../../types/PipelineJson/PipelineJson';
|
|
5
|
+
import type { TemplateJson } from '../../types/PipelineJson/TemplateJson';
|
|
6
|
+
import type { TaskProgress } from '../../types/TaskProgress';
|
|
7
|
+
import type { Parameters } from '../../types/typeAliases';
|
|
8
|
+
import type { ExecutionTools } from '../ExecutionTools';
|
|
9
|
+
import type { CreatePipelineExecutorSettings } from './00-CreatePipelineExecutorSettings';
|
|
10
|
+
/**
|
|
11
|
+
* @@@
|
|
12
|
+
*
|
|
13
|
+
* @private internal type of `executeTemplate`
|
|
14
|
+
*/
|
|
15
|
+
type executeSingleTemplateOptions = {
|
|
16
|
+
/**
|
|
17
|
+
* @@@
|
|
18
|
+
*/
|
|
19
|
+
readonly currentTemplate: ReadonlyDeep<TemplateJson>;
|
|
20
|
+
/**
|
|
21
|
+
* @@@
|
|
22
|
+
*/
|
|
23
|
+
readonly preparedPipeline: ReadonlyDeep<PipelineJson>;
|
|
24
|
+
/**
|
|
25
|
+
* @@@
|
|
26
|
+
*/
|
|
27
|
+
readonly parametersToPass: Readonly<Parameters>;
|
|
28
|
+
/**
|
|
29
|
+
* @@@
|
|
30
|
+
*/
|
|
31
|
+
readonly tools: Omit<ExecutionTools, 'llm'>;
|
|
32
|
+
/**
|
|
33
|
+
* @@@
|
|
34
|
+
*/
|
|
35
|
+
readonly llmTools: MultipleLlmExecutionTools;
|
|
36
|
+
/**
|
|
37
|
+
* @@@
|
|
38
|
+
*/
|
|
39
|
+
readonly onProgress: (taskProgress: TaskProgress) => Promisable<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Settings for the pipeline executor
|
|
42
|
+
*/
|
|
43
|
+
readonly settings: CreatePipelineExecutorSettings;
|
|
44
|
+
/**
|
|
45
|
+
* @@@
|
|
46
|
+
*/
|
|
47
|
+
readonly $executionReport: ExecutionReportJson;
|
|
48
|
+
/**
|
|
49
|
+
* @@@
|
|
50
|
+
*/
|
|
51
|
+
readonly pipelineIdentification: string;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* @@@
|
|
55
|
+
*
|
|
56
|
+
* @private internal utility of `createPipelineExecutor`
|
|
57
|
+
*/
|
|
58
|
+
export declare function executeTemplate(options: executeSingleTemplateOptions): Promise<Readonly<Parameters>>;
|
|
59
|
+
export {};
|
|
60
|
+
/**
|
|
61
|
+
* TODO: [🤹♂️]
|
|
62
|
+
*/
|