@promptbook/types 0.70.0-0 → 0.71.0-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -58
- package/esm/typings/promptbook-collection/index.d.ts +0 -3
- package/esm/typings/src/_packages/core.index.d.ts +9 -1
- 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/cli/cli-commands/make.d.ts +1 -1
- package/esm/typings/src/collection/constructors/createCollectionFromUrl.d.ts +1 -1
- package/esm/typings/src/commands/FOREACH/ForeachCommand.d.ts +3 -7
- package/esm/typings/src/commands/FOREACH/ForeachJson.d.ts +23 -0
- package/esm/typings/src/commands/FOREACH/foreachCommandParser.d.ts +1 -2
- package/esm/typings/src/commands/_common/types/CommandParser.d.ts +4 -4
- package/esm/typings/src/config.d.ts +16 -3
- package/esm/typings/src/conversion/pipelineStringToJsonSync.d.ts +1 -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 +10 -5
- 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/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +1 -1
- package/esm/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +1 -1
- package/esm/typings/src/llm-providers/_common/utils/cache/CacheItem.d.ts +1 -1
- package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
- package/esm/typings/src/llm-providers/anthropic-claude/createAnthropicClaudeExecutionTools.d.ts +2 -2
- package/esm/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +2 -2
- package/esm/typings/src/llm-providers/openai/playground/playground.d.ts +1 -1
- package/esm/typings/src/personas/preparePersona.d.ts +1 -1
- package/esm/typings/src/prepare/isPipelinePrepared.d.ts +1 -1
- package/esm/typings/src/prepare/prepareTemplates.d.ts +1 -1
- package/esm/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +9 -2
- package/esm/typings/src/types/PipelineJson/ParameterJson.d.ts +1 -0
- package/esm/typings/src/types/PipelineJson/PipelineJson.d.ts +1 -1
- 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/types/typeAliases.d.ts +1 -1
- 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/serialization/checkSerializableAsJson.d.ts +1 -1
- package/esm/typings/src/utils/serialization/isSerializableAsJson.d.ts +1 -1
- package/esm/typings/src/utils/validators/parameterName/validateParameterName.d.ts +10 -0
- package/package.json +17 -13
- 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
- /package/esm/typings/src/{personas/preparePersona.test.d.ts → utils/validators/parameterName/validateParameterName.test.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -16,6 +16,10 @@ Supercharge your use of large language models
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
19
|
+
## ✨ New Features
|
|
20
|
+
|
|
21
|
+
- ✨ **Support of [OpenAI o1 model](https://openai.com/o1/)**
|
|
22
|
+
|
|
19
23
|
## 📦 Package `@promptbook/types`
|
|
20
24
|
|
|
21
25
|
- Promptbooks are [divided into several](#-packages) packages, all are published from [single monorepo](https://github.com/webgptorg/promptbook).
|
|
@@ -65,13 +69,15 @@ Rest of the documentation is common for **entire promptbook ecosystem**:
|
|
|
65
69
|
|
|
66
70
|
## 🤍 The Promptbook Whitepaper
|
|
67
71
|
|
|
72
|
+
|
|
73
|
+
|
|
68
74
|
If you have a simple, single prompt for ChatGPT, GPT-4, Anthropic Claude, Google Gemini, Llama 2, or whatever, it doesn't matter how you integrate it. Whether it's calling a REST API directly, using the SDK, hardcoding the prompt into the source code, or importing a text file, the process remains the same.
|
|
69
75
|
|
|
70
76
|
But often you will struggle with the limitations of LLMs, such as hallucinations, off-topic responses, poor quality output, language drift, word repetition repetition repetition repetition or misuse, lack of context, or just plain w𝒆𝐢rd responses. When this happens, you generally have three options:
|
|
71
77
|
|
|
72
78
|
1. **Fine-tune** the model to your specifications or even train your own.
|
|
73
79
|
2. **Prompt-engineer** the prompt to the best shape you can achieve.
|
|
74
|
-
3.
|
|
80
|
+
3. Orchestrate **multiple prompts** in a [pipeline](https://github.com/webgptorg/promptbook/discussions/64) to get the best result.
|
|
75
81
|
|
|
76
82
|
In all of these situations, but especially in 3., the Promptbook library can make your life easier.
|
|
77
83
|
|
|
@@ -83,7 +89,9 @@ In all of these situations, but especially in 3., the Promptbook library can mak
|
|
|
83
89
|
- Promptbook has built in versioning. You can test multiple **A/B versions** of pipelines and see which one works best.
|
|
84
90
|
- Promptbook is designed to do [**RAG** (Retrieval-Augmented Generation)](https://github.com/webgptorg/promptbook/discussions/41) and other advanced techniques. You can use **knowledge** to improve the quality of the output.
|
|
85
91
|
|
|
86
|
-
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
## 🧔 Pipeline _(for prompt-engeneers)_
|
|
87
95
|
|
|
88
96
|
**P**romp**t** **b**oo**k** markdown file (or `.ptbk.md` file) is document that describes a **pipeline** - a series of prompts that are chained together to form somewhat reciepe for transforming natural language input.
|
|
89
97
|
|
|
@@ -105,7 +113,6 @@ File `write-website-content.ptbk.md`:
|
|
|
105
113
|
> Instructions for creating web page content.
|
|
106
114
|
>
|
|
107
115
|
> - PIPELINE URL https://promptbook.studio/webgpt/write-website-content.ptbk.md
|
|
108
|
-
> - PROMPTBOOK VERSION 0.0.1
|
|
109
116
|
> - INPUT PARAM `{rawTitle}` Automatically suggested a site name or empty text
|
|
110
117
|
> - INPUT PARAM `{rawAssigment}` Automatically generated site entry from image recognition
|
|
111
118
|
> - OUTPUT PARAM `{websiteContent}` Web content
|
|
@@ -400,6 +407,8 @@ The following glossary is used to clarify certain concepts:
|
|
|
400
407
|
- When you want to **version** your prompts and **test multiple versions**
|
|
401
408
|
- When you want to **log** the execution of prompts and backtrace the issues
|
|
402
409
|
|
|
410
|
+
[See more](https://github.com/webgptorg/promptbook/discussions/111)
|
|
411
|
+
|
|
403
412
|
### ➖ When not to use
|
|
404
413
|
|
|
405
414
|
- When you have already implemented single simple prompt and it works fine for your job
|
|
@@ -409,6 +418,8 @@ The following glossary is used to clarify certain concepts:
|
|
|
409
418
|
- When your main focus is on something other than text - like images, audio, video, spreadsheets _(other media types may be added in the future, [see discussion](https://github.com/webgptorg/promptbook/discussions/103))_
|
|
410
419
|
- When you need to use recursion _([see the discussion](https://github.com/webgptorg/promptbook/discussions/38))_
|
|
411
420
|
|
|
421
|
+
[See more](https://github.com/webgptorg/promptbook/discussions/112)
|
|
422
|
+
|
|
412
423
|
## 🐜 Known issues
|
|
413
424
|
|
|
414
425
|
- [🤸♂️ Iterations not working yet](https://github.com/webgptorg/promptbook/discussions/55)
|
|
@@ -421,63 +432,15 @@ The following glossary is used to clarify certain concepts:
|
|
|
421
432
|
|
|
422
433
|
## ❔ FAQ
|
|
423
434
|
|
|
424
|
-
|
|
425
|
-
|
|
426
435
|
If you have a question [start a discussion](https://github.com/webgptorg/promptbook/discussions/), [open an issue](https://github.com/webgptorg/promptbook/issues) or [write me an email](https://www.pavolhejny.com/contact).
|
|
427
436
|
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
We are considering creating a bridge/converter between these two libraries.
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
### Promptbooks vs. OpenAI`s GPTs
|
|
441
|
-
|
|
442
|
-
GPTs are chat assistants that can be assigned to specific tasks and materials. But they are still chat assistants. Promptbooks are a way to orchestrate many more predefined tasks to have much tighter control over the process. Promptbooks are not a good technology for creating human-like chatbots, GPTs are not a good technology for creating outputs with specific requirements.
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
### Where should I store my promptbooks?
|
|
459
|
-
|
|
460
|
-
If you use raw SDKs, you just put prompts in the sourcecode, mixed in with typescript, javascript, python or whatever programming language you use.
|
|
461
|
-
|
|
462
|
-
If you use promptbooks, you can store them in several places, each with its own advantages and disadvantages:
|
|
463
|
-
|
|
464
|
-
1. As **source code**, typically git-committed. In this case you can use the versioning system and the promptbooks will be tightly coupled with the version of the application. You still get the power of promptbooks, as you separate the concerns of the prompt-engineer and the programmer.
|
|
465
|
-
|
|
466
|
-
2. As data in a **database** In this case, promptbooks are like posts / articles on the blog. They can be modified independently of the application. You don't need to redeploy the application to change the promptbooks. You can have multiple versions of promptbooks for each user. You can have a web interface for non-programmers to create and modify promptbooks. But you lose the versioning system and you still have to consider the interface between the promptbooks and the application _(= input and output parameters)_.
|
|
467
|
-
|
|
468
|
-
3. In a **configuration** in environment variables. This is a good way to store promptbooks if you have an application with multiple deployments and you want to have different but simple promptbooks for each deployment and you don't need to change them often.
|
|
469
|
-
|
|
470
|
-
### What should I do when I need same promptbook in multiple human languages?
|
|
471
|
-
|
|
472
|
-
A single promptbook can be written for several _(human)_ languages at once. However, we recommend that you have separate promptbooks for each language.
|
|
473
|
-
|
|
474
|
-
In large language models, you will get better results if you have prompts in the same language as the user input.
|
|
475
|
-
|
|
476
|
-
The best way to manage this is to have suffixed promptbooks like `write-website-content.en.ptbk.md` and `write-website-content.cs.ptbk.md` for each supported language.
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
437
|
+
- [❔ Why not just use the OpenAI SDK / Anthropic Claude SDK / ...?](https://github.com/webgptorg/promptbook/discussions/114)
|
|
438
|
+
- [❔ How is it different from the OpenAI`s GPTs?](https://github.com/webgptorg/promptbook/discussions/118)
|
|
439
|
+
- [❔ How is it different from the Langchain?](https://github.com/webgptorg/promptbook/discussions/115)
|
|
440
|
+
- [❔ How is it different from the DSPy?](https://github.com/webgptorg/promptbook/discussions/117)
|
|
441
|
+
- [❔ How is it different from _anything_?](https://github.com/webgptorg/promptbook/discussions?discussions_q=is%3Aopen+label%3A%22Promptbook+vs%22)
|
|
442
|
+
- [❔ Is Promptbook using RAG _(Retrieval-Augmented Generation)_?](https://github.com/webgptorg/promptbook/discussions/123)
|
|
443
|
+
- [❔ Is Promptbook using function calling?](https://github.com/webgptorg/promptbook/discussions/124)
|
|
481
444
|
|
|
482
445
|
## ⌚ Changelog
|
|
483
446
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
declare const _default: ({
|
|
2
2
|
title: string;
|
|
3
3
|
pipelineUrl: string;
|
|
4
|
-
promptbookVersion: string;
|
|
5
4
|
parameters: {
|
|
6
5
|
name: string;
|
|
7
6
|
description: string;
|
|
@@ -24,7 +23,6 @@ declare const _default: ({
|
|
|
24
23
|
} | {
|
|
25
24
|
title: string;
|
|
26
25
|
pipelineUrl: string;
|
|
27
|
-
promptbookVersion: string;
|
|
28
26
|
parameters: {
|
|
29
27
|
name: string;
|
|
30
28
|
description: string;
|
|
@@ -53,7 +51,6 @@ declare const _default: ({
|
|
|
53
51
|
} | {
|
|
54
52
|
title: string;
|
|
55
53
|
pipelineUrl: string;
|
|
56
|
-
promptbookVersion: string;
|
|
57
54
|
parameters: {
|
|
58
55
|
name: string;
|
|
59
56
|
description: string;
|
|
@@ -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,13 +39,16 @@ 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 { ZERO_USAGE } from '../execution/utils/addUsage';
|
|
44
45
|
import { addUsage } from '../execution/utils/addUsage';
|
|
45
46
|
import { isPassingExpectations } from '../execution/utils/checkExpectations';
|
|
46
47
|
import { usageToHuman } from '../execution/utils/usageToHuman';
|
|
47
48
|
import { usageToWorktime } from '../execution/utils/usageToWorktime';
|
|
49
|
+
import { CsvFormatDefinition } from '../formats/csv/CsvFormatDefinition';
|
|
50
|
+
import { MANDATORY_CSV_SETTINGS } from '../formats/csv/CsvSettings';
|
|
51
|
+
import { TextFormatDefinition } from '../formats/text/TextFormatDefinition';
|
|
48
52
|
import { CallbackInterfaceTools } from '../knowledge/dialogs/callback/CallbackInterfaceTools';
|
|
49
53
|
import type { CallbackInterfaceToolsOptions } from '../knowledge/dialogs/callback/CallbackInterfaceToolsOptions';
|
|
50
54
|
import { prepareKnowledgePieces } from '../knowledge/prepare-knowledge/_common/prepareKnowledgePieces';
|
|
@@ -90,6 +94,7 @@ export { PIPELINE_COLLECTION_BASE_FILENAME };
|
|
|
90
94
|
export { RESERVED_PARAMETER_NAMES };
|
|
91
95
|
export { DEFAULT_REMOTE_URL };
|
|
92
96
|
export { DEFAULT_REMOTE_URL_PATH };
|
|
97
|
+
export { DEFAULT_CSV_SETTINGS };
|
|
93
98
|
export { IS_VERBOSE };
|
|
94
99
|
export { pipelineJsonToString };
|
|
95
100
|
export type { PipelineStringToJsonOptions };
|
|
@@ -118,6 +123,9 @@ export { addUsage };
|
|
|
118
123
|
export { isPassingExpectations };
|
|
119
124
|
export { usageToHuman };
|
|
120
125
|
export { usageToWorktime };
|
|
126
|
+
export { CsvFormatDefinition };
|
|
127
|
+
export { MANDATORY_CSV_SETTINGS };
|
|
128
|
+
export { TextFormatDefinition };
|
|
121
129
|
export { CallbackInterfaceTools };
|
|
122
130
|
export type { CallbackInterfaceToolsOptions };
|
|
123
131
|
export { prepareKnowledgePieces };
|
|
@@ -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';
|
|
@@ -220,6 +225,7 @@ import type { string_camelCase } from '../utils/normalization/normalizeTo_camelC
|
|
|
220
225
|
import type { string_PascalCase } from '../utils/normalization/normalizeTo_PascalCase';
|
|
221
226
|
import type { string_SCREAMING_CASE } from '../utils/normalization/normalizeTo_SCREAMING_CASE';
|
|
222
227
|
import type { string_snake_case } from '../utils/normalization/normalizeTo_snake_case';
|
|
228
|
+
import type { empty_object } from '../utils/organization/empty_object';
|
|
223
229
|
import type { really_any } from '../utils/organization/really_any';
|
|
224
230
|
import type { TODO_any } from '../utils/organization/TODO_any';
|
|
225
231
|
import type { string_promptbook_version } from '../version';
|
|
@@ -232,6 +238,7 @@ export type { PipelineTemplateCommandParser };
|
|
|
232
238
|
export type { CommandParserInput };
|
|
233
239
|
export type { CommandUsagePlace };
|
|
234
240
|
export type { ExpectCommand };
|
|
241
|
+
export type { ForeachJson };
|
|
235
242
|
export type { FormatCommand };
|
|
236
243
|
export type { TemplateType };
|
|
237
244
|
export type { PipelineStringToJsonOptions };
|
|
@@ -240,6 +247,8 @@ export type { renderPipelineMermaidOptions };
|
|
|
240
247
|
export type { ErrorJson };
|
|
241
248
|
export type { AvailableModel };
|
|
242
249
|
export type { CommonExecutionToolsOptions };
|
|
250
|
+
export type { CreatePipelineExecutorOptions };
|
|
251
|
+
export type { CreatePipelineExecutorSettings };
|
|
243
252
|
export type { EmbeddingVector };
|
|
244
253
|
export type { ExecutionTools };
|
|
245
254
|
export type { LlmExecutionTools };
|
|
@@ -257,6 +266,8 @@ export type { ScriptExecutionToolsExecuteOptions };
|
|
|
257
266
|
export type { UncertainNumber };
|
|
258
267
|
export type { UserInterfaceTools };
|
|
259
268
|
export type { UserInterfaceToolsPromptDialogOptions };
|
|
269
|
+
export type { FormatSubvalueDefinition };
|
|
270
|
+
export type { CsvSettings };
|
|
260
271
|
export type { CallbackInterfaceToolsOptions };
|
|
261
272
|
export type { LlmToolsConfiguration };
|
|
262
273
|
export type { LlmToolsMetadata };
|
|
@@ -445,6 +456,7 @@ export type { string_camelCase };
|
|
|
445
456
|
export type { string_PascalCase };
|
|
446
457
|
export type { string_SCREAMING_CASE };
|
|
447
458
|
export type { string_snake_case };
|
|
459
|
+
export type { empty_object };
|
|
448
460
|
export type { really_any };
|
|
449
461
|
export type { TODO_any };
|
|
450
462
|
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 };
|
|
@@ -6,7 +6,7 @@ import type { Command as Program } from 'commander';
|
|
|
6
6
|
*/
|
|
7
7
|
export declare function initializeMakeCommand(program: Program): void;
|
|
8
8
|
/**
|
|
9
|
-
* TODO: [🥃] !!! Allow `ptbk make` without configuring any llm tools
|
|
9
|
+
* TODO: [🥃][main] !!! Allow `ptbk make` without configuring any llm tools
|
|
10
10
|
* TODO: Maybe remove this command - "about" command should be enough?
|
|
11
11
|
* TODO: [0] DRY Javascript and typescript - Maybe make ONLY typescript and for javascript just remove types
|
|
12
12
|
* Note: [🟡] This code should never be published outside of `@promptbook/cli`
|
|
@@ -25,5 +25,5 @@ type CreatePipelineCollectionFromUrlyOptions = {
|
|
|
25
25
|
export declare function createCollectionFromUrl(url: string_url | URL, options: CreatePipelineCollectionFromUrlyOptions): Promise<PipelineCollection>;
|
|
26
26
|
export {};
|
|
27
27
|
/**
|
|
28
|
-
* TODO: !!!! [🧠] Library precompilation and do not mix markdown and json promptbooks
|
|
28
|
+
* TODO:[main] !!!! [🧠] Library precompilation and do not mix markdown and json promptbooks
|
|
29
29
|
*/
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { TODO_string } from '../../utils/organization/TODO_string';
|
|
1
|
+
import type { ForeachJson } from './ForeachJson';
|
|
3
2
|
/**
|
|
4
|
-
* Parsed FOREACH command
|
|
3
|
+
* Parsed FOREACH command which is used to iterate over a table of values
|
|
5
4
|
*
|
|
6
5
|
* @see ./foreachCommandParser.ts for more details
|
|
7
6
|
* @private within the commands folder
|
|
8
7
|
*/
|
|
9
8
|
export type ForeachCommand = {
|
|
10
9
|
readonly type: 'FOREACH';
|
|
11
|
-
|
|
12
|
-
cellName: TODO_string;
|
|
13
|
-
parameterName: string_parameter_name;
|
|
14
|
-
};
|
|
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,6 +10,5 @@ import type { ForeachCommand } from './ForeachCommand';
|
|
|
10
10
|
*/
|
|
11
11
|
export declare const foreachCommandParser: PipelineTemplateCommandParser<ForeachCommand>;
|
|
12
12
|
/**
|
|
13
|
-
* TODO:
|
|
14
|
-
* TODO: [🍭] !!!!!! Make .ptbk.md file with examples of the FOREACH command and also with wrong parsing and logic
|
|
13
|
+
* TODO: [🍭] Make .ptbk.md file with examples of the FOREACH with wrong parsing and logic
|
|
15
14
|
*/
|
|
@@ -156,28 +156,28 @@ export type CommandParserInput = {
|
|
|
156
156
|
* @@@
|
|
157
157
|
*
|
|
158
158
|
* @example 'promptbook version 0.62.0'
|
|
159
|
-
* @example 'FOREACH
|
|
159
|
+
* @example 'FOREACH Text Line `{customers}` -> `{customer}`'
|
|
160
160
|
*/
|
|
161
161
|
readonly raw: string_markdown_text;
|
|
162
162
|
/**
|
|
163
163
|
* @@@
|
|
164
164
|
*
|
|
165
165
|
* @example '0.62.0'
|
|
166
|
-
* @example 'List Line -> `{customer}`'
|
|
166
|
+
* @example 'List Line `{customers}` -> `{customer}`'
|
|
167
167
|
*/
|
|
168
168
|
readonly rawArgs: string_markdown_text;
|
|
169
169
|
/**
|
|
170
170
|
* @@@
|
|
171
171
|
*
|
|
172
172
|
* @example 'PROMPTBOOK_VERSION_0_62_0'
|
|
173
|
-
* @example '
|
|
173
|
+
* @example 'FOREACH_LIST_LINE_CUSTOMERS_CUSTOMER'
|
|
174
174
|
*/
|
|
175
175
|
readonly normalized: string_name & string_SCREAMING_CASE;
|
|
176
176
|
/**
|
|
177
177
|
* @@@
|
|
178
178
|
*
|
|
179
179
|
* @example [ '0.62.0' ]
|
|
180
|
-
* @example [ 'List', 'Line', '', '{customer}' ]
|
|
180
|
+
* @example [ 'List', 'Line', '{customers}', '', '{customer}' ]
|
|
181
181
|
*/
|
|
182
182
|
readonly args: Array<string_name>;
|
|
183
183
|
};
|
|
@@ -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
|
*
|
|
@@ -68,14 +69,14 @@ export declare const MAX_EXECUTION_ATTEMPTS = 3;
|
|
|
68
69
|
export declare const MAX_FILENAME_LENGTH = 30;
|
|
69
70
|
/**
|
|
70
71
|
* @@@
|
|
71
|
-
* TODO: [🐝] !!! Use
|
|
72
|
+
* TODO: [🐝][main] !!! Use
|
|
72
73
|
*
|
|
73
74
|
* @public exported from `@promptbook/core`
|
|
74
75
|
*/
|
|
75
76
|
export declare const MAX_KNOWLEDGE_SOURCES_SCRAPING_DEPTH = 3;
|
|
76
77
|
/**
|
|
77
78
|
* @@@
|
|
78
|
-
* TODO: [🐝] !!! Use
|
|
79
|
+
* TODO: [🐝][main] !!! Use
|
|
79
80
|
*
|
|
80
81
|
* @public exported from `@promptbook/core`
|
|
81
82
|
*/
|
|
@@ -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
|
*/
|
|
@@ -18,7 +18,7 @@ import type { PipelineString } from '../types/PipelineString';
|
|
|
18
18
|
*/
|
|
19
19
|
export declare function pipelineStringToJsonSync(pipelineString: PipelineString): PipelineJson;
|
|
20
20
|
/**
|
|
21
|
-
* TODO: !!!! Warn if used only sync version
|
|
21
|
+
* TODO:[main] !!!! Warn if used only sync version
|
|
22
22
|
* TODO: [🚞] Report here line/column of error
|
|
23
23
|
* TODO: Use spaceTrim more effectively
|
|
24
24
|
* TODO: [🧠] Parameter flags - isInput, isOutput, isInternal
|
|
@@ -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
|
* > /**
|
|
@@ -27,11 +32,11 @@ export declare function validatePipeline(pipeline: PipelineJson): PipelineJson;
|
|
|
27
32
|
* > ex port function validatePipeline(promptbook: really_unknown): asserts promptbook is PipelineJson {
|
|
28
33
|
*/
|
|
29
34
|
/**
|
|
30
|
-
* TODO: [🐣] !!!! Validate that all samples match expectations
|
|
31
|
-
* TODO: [🐣][🐝] !!!! Validate that knowledge is valid (non-void)
|
|
32
|
-
* TODO: [🐣] !!!! Validate that persona can be used only with CHAT variant
|
|
33
|
-
* TODO: [🐣] !!!! Validate that parameter with reserved name not used RESERVED_PARAMETER_NAMES
|
|
34
|
-
* TODO: [🐣] !!!! Validate that reserved parameter is not used as joker
|
|
35
|
+
* TODO: [🐣][main] !!!! Validate that all samples match expectations
|
|
36
|
+
* TODO: [🐣][🐝][main] !!!! Validate that knowledge is valid (non-void)
|
|
37
|
+
* TODO: [🐣][main] !!!! Validate that persona can be used only with CHAT variant
|
|
38
|
+
* TODO: [🐣][main] !!!! Validate that parameter with reserved name not used RESERVED_PARAMETER_NAMES
|
|
39
|
+
* TODO: [🐣][main] !!!! Validate that reserved parameter is not used as joker
|
|
35
40
|
* TODO: [🧠] Validation not only logic itself but imports around - files and websites and rerefenced pipelines exists
|
|
36
41
|
* TODO: [🛠] Actions, instruments (and maybe knowledge) => Functions and tools
|
|
37
42
|
*/
|
|
@@ -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
|
+
}
|