@promptbook/remote-server 0.75.0-2 → 0.75.0-4

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 (50) hide show
  1. package/README.md +27 -17
  2. package/esm/index.es.js +1 -1
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/src/_packages/core.index.d.ts +10 -4
  5. package/esm/typings/src/_packages/types.index.d.ts +8 -6
  6. package/esm/typings/src/commands/EXPECT/ExpectCommand.d.ts +1 -1
  7. package/esm/typings/src/commands/SECTION/SectionCommand.d.ts +1 -1
  8. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +0 -2
  9. package/esm/typings/src/config.d.ts +9 -2
  10. package/esm/typings/src/conversion/pipelineJsonToString.d.ts +1 -1
  11. package/esm/typings/src/conversion/prettify/renderPipelineMermaidOptions.d.ts +2 -2
  12. package/esm/typings/src/conversion/utils/extractParameterNamesFromTask.d.ts +3 -3
  13. package/esm/typings/src/conversion/utils/renameParameter.d.ts +2 -2
  14. package/esm/typings/src/dialogs/simple-prompt/SimplePromptInterfaceTools.d.ts +1 -1
  15. package/esm/typings/src/execution/ScriptExecutionTools.d.ts +1 -1
  16. package/esm/typings/src/formfactors/_boilerplate/BoilerplateFormfactorDefinition.d.ts +2 -2
  17. package/esm/typings/src/formfactors/_common/AbstractFormfactorDefinition.d.ts +3 -0
  18. package/esm/typings/src/formfactors/chatbot/ChatbotFormfactorDefinition.d.ts +32 -2
  19. package/esm/typings/src/formfactors/generator/GeneratorFormfactorDefinition.d.ts +14 -0
  20. package/esm/typings/src/formfactors/generic/GenericFormfactorDefinition.d.ts +2 -2
  21. package/esm/typings/src/formfactors/index.d.ts +72 -10
  22. package/esm/typings/src/formfactors/matcher/MatcherFormfactorDefinition.d.ts +2 -2
  23. package/esm/typings/src/formfactors/sheets/SheetsFormfactorDefinition.d.ts +12 -2
  24. package/esm/typings/src/formfactors/translator/TranslatorFormfactorDefinition.d.ts +12 -2
  25. package/esm/typings/src/pipeline/PipelineInterface/PipelineInterface.d.ts +5 -4
  26. package/esm/typings/src/pipeline/PipelineInterface/constants.d.ts +2 -2
  27. package/esm/typings/src/pipeline/PipelineJson/{TaskJsonCommon.d.ts → CommonTaskJson.d.ts} +13 -13
  28. package/esm/typings/src/pipeline/PipelineJson/DialogTaskJson.d.ts +2 -2
  29. package/esm/typings/src/pipeline/PipelineJson/ParameterJson.d.ts +2 -0
  30. package/esm/typings/src/pipeline/PipelineJson/PersonaJson.d.ts +1 -1
  31. package/esm/typings/src/pipeline/PipelineJson/PipelineJson.d.ts +2 -2
  32. package/esm/typings/src/pipeline/PipelineJson/PromptTaskJson.d.ts +2 -2
  33. package/esm/typings/src/pipeline/PipelineJson/ScriptTaskJson.d.ts +2 -2
  34. package/esm/typings/src/pipeline/PipelineJson/SimpleTaskJson.d.ts +2 -2
  35. package/esm/typings/src/pipeline/PipelineJson/TaskJson.d.ts +1 -1
  36. package/esm/typings/src/pipeline/PipelineString.d.ts +1 -1
  37. package/esm/typings/src/prepare/isPipelinePrepared.d.ts +1 -1
  38. package/esm/typings/src/prepare/prepareTasks.d.ts +5 -5
  39. package/esm/typings/src/types/Prompt.d.ts +3 -3
  40. package/esm/typings/src/types/SectionType.d.ts +21 -0
  41. package/esm/typings/src/types/TaskProgress.d.ts +1 -1
  42. package/esm/typings/src/types/TaskType.d.ts +15 -0
  43. package/esm/typings/src/types/typeAliases.d.ts +1 -1
  44. package/esm/typings/src/utils/organization/TODO_remove_as.d.ts +6 -0
  45. package/esm/typings/src/utils/parameters/extractParameterNames.d.ts +1 -1
  46. package/package.json +2 -2
  47. package/umd/index.umd.js +1 -1
  48. package/umd/index.umd.js.map +1 -1
  49. package/esm/typings/src/commands/SECTION/SectionType.d.ts +0 -13
  50. /package/esm/typings/{promptbook-collection → books}/index.d.ts +0 -0
@@ -16,8 +16,8 @@ type RenameParameterOptions = {
16
16
  readonly newParameterName: string_name;
17
17
  };
18
18
  /**
19
- * Function `renameParameter` will find all usable parameters for given template
20
- * In other words, it will find all parameters that are not used in the template itseld and all its dependencies
19
+ * Function `renameParameter` will find all usable parameters for given task
20
+ * In other words, it will find all parameters that are not used in the task itseld and all its dependencies
21
21
  *
22
22
  * @throws {PipelineLogicError} If the new parameter name is already used in the pipeline
23
23
  * @public exported from `@promptbook/utils`
@@ -13,7 +13,7 @@ export declare class SimplePromptInterfaceTools implements UserInterfaceTools {
13
13
  protected readonly options: CommonToolsOptions;
14
14
  constructor(options?: CommonToolsOptions);
15
15
  /**
16
- * Trigger window.DIALOG TEMPLATE
16
+ * Trigger window.prompt dialog
17
17
  */
18
18
  promptDialog(options: UserInterfaceToolsPromptDialogOptions): Promise<string>;
19
19
  }
@@ -2,7 +2,7 @@ import type { ScriptLanguage } from '../types/ScriptLanguage';
2
2
  import type { Parameters } from '../types/typeAliases';
3
3
  import type { string_script } from '../types/typeAliases';
4
4
  /**
5
- * Represents all the tools needed to execute SCRIPT TEMPLATE
5
+ * Represents all the tools needed to execute `SCRIPT` tasks
6
6
  *
7
7
  * @see https://github.com/webgptorg/promptbook#script-execution-tools
8
8
  */
@@ -8,7 +8,7 @@ export declare const BoilerplateFormfactorDefinition: {
8
8
  readonly description: "@@@";
9
9
  readonly documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
10
10
  readonly pipelineInterface: {
11
- readonly inputParameterNames: readonly [];
12
- readonly outputParameterNames: readonly [];
11
+ readonly inputParameters: readonly [];
12
+ readonly outputParameters: readonly [];
13
13
  };
14
14
  };
@@ -35,3 +35,6 @@ export type AbstractFormfactorDefinition = {
35
35
  */
36
36
  readonly pipelineInterface: PipelineInterface;
37
37
  };
38
+ /**
39
+ * TODO: [🧠][🤓] How to pass optional parameters - for example summary in FORMFACTOR Translator
40
+ */
@@ -9,7 +9,37 @@ export declare const ChatbotFormfactorDefinition: {
9
9
  readonly description: "@@@";
10
10
  readonly documentationUrl: "https://github.com/webgptorg/promptbook/discussions/174";
11
11
  readonly pipelineInterface: {
12
- readonly inputParameterNames: readonly ["previousTitle", "previousConversationSummary", "userMessage"];
13
- readonly outputParameterNames: readonly ["title", "conversationSummary", "chatbotResponse"];
12
+ readonly inputParameters: readonly [{
13
+ readonly name: "previousTitle";
14
+ readonly description: "Previous title of the conversation";
15
+ readonly isInput: true;
16
+ readonly isOutput: false;
17
+ }, {
18
+ readonly name: "previousConversationSummary";
19
+ readonly description: "Previous conversation summary";
20
+ readonly isInput: true;
21
+ readonly isOutput: false;
22
+ }, {
23
+ readonly name: "userMessage";
24
+ readonly description: "User message";
25
+ readonly isInput: true;
26
+ readonly isOutput: false;
27
+ }];
28
+ readonly outputParameters: readonly [{
29
+ readonly name: "title";
30
+ readonly description: "Title of the conversation";
31
+ readonly isInput: false;
32
+ readonly isOutput: true;
33
+ }, {
34
+ readonly name: "conversationSummary";
35
+ readonly description: "Summary of the conversation";
36
+ readonly isInput: false;
37
+ readonly isOutput: true;
38
+ }, {
39
+ readonly name: "chatbotResponse";
40
+ readonly description: "Chatbot response";
41
+ readonly isInput: false;
42
+ readonly isOutput: true;
43
+ }];
14
44
  };
15
45
  };
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Generator is form of app that @@@
3
+ *
4
+ * @public exported from `@promptbook/core`
5
+ */
6
+ export declare const GeneratorFormfactorDefinition: {
7
+ readonly name: "GENERATOR";
8
+ readonly description: "@@@";
9
+ readonly documentationUrl: "https://github.com/webgptorg/promptbook/discussions/184";
10
+ readonly pipelineInterface: {
11
+ readonly inputParameters: readonly [];
12
+ readonly outputParameters: readonly [];
13
+ };
14
+ };
@@ -8,7 +8,7 @@ export declare const GenericFormfactorDefinition: {
8
8
  readonly description: "@@@";
9
9
  readonly documentationUrl: "https://github.com/webgptorg/promptbook/discussions/173";
10
10
  readonly pipelineInterface: {
11
- readonly inputParameterNames: readonly [];
12
- readonly outputParameterNames: readonly [];
11
+ readonly inputParameters: readonly [];
12
+ readonly outputParameters: readonly [];
13
13
  };
14
14
  };
@@ -8,8 +8,8 @@ export declare const FORMFACTOR_DEFINITIONS: readonly [{
8
8
  readonly description: "@@@";
9
9
  readonly documentationUrl: "https://github.com/webgptorg/promptbook/discussions/173";
10
10
  readonly pipelineInterface: {
11
- readonly inputParameterNames: readonly [];
12
- readonly outputParameterNames: readonly [];
11
+ readonly inputParameters: readonly [];
12
+ readonly outputParameters: readonly [];
13
13
  };
14
14
  }, {
15
15
  readonly name: "CHATBOT";
@@ -17,32 +17,94 @@ export declare const FORMFACTOR_DEFINITIONS: readonly [{
17
17
  readonly description: "@@@";
18
18
  readonly documentationUrl: "https://github.com/webgptorg/promptbook/discussions/174";
19
19
  readonly pipelineInterface: {
20
- readonly inputParameterNames: readonly ["previousTitle", "previousConversationSummary", "userMessage"];
21
- readonly outputParameterNames: readonly ["title", "conversationSummary", "chatbotResponse"];
20
+ readonly inputParameters: readonly [{
21
+ readonly name: "previousTitle";
22
+ readonly description: "Previous title of the conversation"; /**
23
+ * All available formfactor definitions
24
+ *
25
+ * @public exported from `@promptbook/core`
26
+ */
27
+ readonly isInput: true;
28
+ readonly isOutput: false;
29
+ }, {
30
+ readonly name: "previousConversationSummary";
31
+ readonly description: "Previous conversation summary";
32
+ readonly isInput: true;
33
+ readonly isOutput: false;
34
+ }, {
35
+ readonly name: "userMessage";
36
+ readonly description: "User message";
37
+ readonly isInput: true;
38
+ readonly isOutput: false;
39
+ }];
40
+ readonly outputParameters: readonly [{
41
+ readonly name: "title";
42
+ readonly description: "Title of the conversation";
43
+ readonly isInput: false;
44
+ readonly isOutput: true;
45
+ }, {
46
+ readonly name: "conversationSummary";
47
+ readonly description: "Summary of the conversation";
48
+ readonly isInput: false;
49
+ readonly isOutput: true;
50
+ }, {
51
+ readonly name: "chatbotResponse";
52
+ readonly description: "Chatbot response";
53
+ readonly isInput: false;
54
+ readonly isOutput: true;
55
+ }];
22
56
  };
23
57
  }, {
24
58
  readonly name: "TRANSLATOR";
25
59
  readonly description: "@@@";
26
60
  readonly documentationUrl: "https://github.com/webgptorg/promptbook/discussions/175";
27
61
  readonly pipelineInterface: {
28
- readonly inputParameterNames: readonly ["inputMessage"];
29
- readonly outputParameterNames: readonly ["outputMessage"];
62
+ readonly inputParameters: readonly [{
63
+ readonly name: "inputMessage";
64
+ readonly description: "Input message to be translated";
65
+ readonly isInput: true;
66
+ readonly isOutput: false;
67
+ }];
68
+ readonly outputParameters: readonly [{
69
+ readonly name: "outputMessage";
70
+ readonly description: "Translated output message";
71
+ readonly isInput: false;
72
+ readonly isOutput: true;
73
+ }];
30
74
  };
31
75
  }, {
32
76
  readonly name: "SHEETS";
33
77
  readonly description: "@@@";
34
78
  readonly documentationUrl: "https://github.com/webgptorg/promptbook/discussions/176";
35
79
  readonly pipelineInterface: {
36
- readonly inputParameterNames: readonly ["inputSheet"];
37
- readonly outputParameterNames: readonly ["outputSheet"];
80
+ readonly inputParameters: readonly [{
81
+ readonly name: "inputSheet";
82
+ readonly description: "Input sheet to be processed as csv";
83
+ readonly isInput: true;
84
+ readonly isOutput: false;
85
+ }];
86
+ readonly outputParameters: readonly [{
87
+ readonly name: "outputSheet";
88
+ readonly description: "Output sheet as csv";
89
+ readonly isInput: false;
90
+ readonly isOutput: true;
91
+ }];
38
92
  };
39
93
  }, {
40
94
  readonly name: "EXPERIMENTAL_MATCHER";
41
95
  readonly description: "@@@";
42
96
  readonly documentationUrl: "https://github.com/webgptorg/promptbook/discussions/177";
43
97
  readonly pipelineInterface: {
44
- readonly inputParameterNames: readonly [];
45
- readonly outputParameterNames: readonly [];
98
+ readonly inputParameters: readonly [];
99
+ readonly outputParameters: readonly [];
100
+ };
101
+ }, {
102
+ readonly name: "GENERATOR";
103
+ readonly description: "@@@";
104
+ readonly documentationUrl: "https://github.com/webgptorg/promptbook/discussions/184";
105
+ readonly pipelineInterface: {
106
+ readonly inputParameters: readonly [];
107
+ readonly outputParameters: readonly [];
46
108
  };
47
109
  }];
48
110
  /**
@@ -8,7 +8,7 @@ export declare const MatcherFormfactorDefinition: {
8
8
  readonly description: "@@@";
9
9
  readonly documentationUrl: "https://github.com/webgptorg/promptbook/discussions/177";
10
10
  readonly pipelineInterface: {
11
- readonly inputParameterNames: readonly [];
12
- readonly outputParameterNames: readonly [];
11
+ readonly inputParameters: readonly [];
12
+ readonly outputParameters: readonly [];
13
13
  };
14
14
  };
@@ -8,7 +8,17 @@ export declare const SheetsFormfactorDefinition: {
8
8
  readonly description: "@@@";
9
9
  readonly documentationUrl: "https://github.com/webgptorg/promptbook/discussions/176";
10
10
  readonly pipelineInterface: {
11
- readonly inputParameterNames: readonly ["inputSheet"];
12
- readonly outputParameterNames: readonly ["outputSheet"];
11
+ readonly inputParameters: readonly [{
12
+ readonly name: "inputSheet";
13
+ readonly description: "Input sheet to be processed as csv";
14
+ readonly isInput: true;
15
+ readonly isOutput: false;
16
+ }];
17
+ readonly outputParameters: readonly [{
18
+ readonly name: "outputSheet";
19
+ readonly description: "Output sheet as csv";
20
+ readonly isInput: false;
21
+ readonly isOutput: true;
22
+ }];
13
23
  };
14
24
  };
@@ -8,7 +8,17 @@ export declare const TranslatorFormfactorDefinition: {
8
8
  readonly description: "@@@";
9
9
  readonly documentationUrl: "https://github.com/webgptorg/promptbook/discussions/175";
10
10
  readonly pipelineInterface: {
11
- readonly inputParameterNames: readonly ["inputMessage"];
12
- readonly outputParameterNames: readonly ["outputMessage"];
11
+ readonly inputParameters: readonly [{
12
+ readonly name: "inputMessage";
13
+ readonly description: "Input message to be translated";
14
+ readonly isInput: true;
15
+ readonly isOutput: false;
16
+ }];
17
+ readonly outputParameters: readonly [{
18
+ readonly name: "outputMessage";
19
+ readonly description: "Translated output message";
20
+ readonly isInput: false;
21
+ readonly isOutput: true;
22
+ }];
13
23
  };
14
24
  };
@@ -1,4 +1,5 @@
1
- import type { string_parameter_name } from '../../types/typeAliases';
1
+ import type { InputParameterJson } from '../PipelineJson/ParameterJson';
2
+ import type { OutputParameterJson } from '../PipelineJson/ParameterJson';
2
3
  /**
3
4
  * @@@
4
5
  *
@@ -11,15 +12,15 @@ export type PipelineInterface = {
11
12
  *
12
13
  * Note: Sorted alphabetically
13
14
  */
14
- readonly inputParameterNames: ReadonlyArray<string_parameter_name>;
15
+ readonly inputParameters: ReadonlyArray<InputParameterJson>;
15
16
  /**
16
17
  * @@@
17
18
  *
18
19
  * Note: Sorted alphabetically
19
20
  */
20
- readonly outputParameterNames: ReadonlyArray<string_parameter_name>;
21
+ readonly outputParameters: ReadonlyArray<OutputParameterJson>;
21
22
  };
22
23
  /**
23
- * TODO: !!!!!! Change inputParameterNames to inputParameters<InputParameter>
24
+ * TODO: [🧠][🤓] How to pass optional parameters - for example summary in FORMFACTOR Translator
24
25
  * TODO: [🧠] Better name than `PipelineInterface` to avoid confusion with typescript `interface`
25
26
  */
@@ -6,8 +6,8 @@
6
6
  * @public exported from `@promptbook/core`
7
7
  */
8
8
  export declare const GENERIC_PIPELINE_INTERFACE: {
9
- readonly inputParameterNames: readonly [];
10
- readonly outputParameterNames: readonly [];
9
+ readonly inputParameters: readonly [];
10
+ readonly outputParameters: readonly [];
11
11
  };
12
12
  /**
13
13
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -1,6 +1,6 @@
1
1
  import type { ForeachJson } from '../../commands/FOREACH/ForeachJson';
2
2
  import type { FormatCommand } from '../../commands/FORMAT/FormatCommand';
3
- import type { SectionType } from '../../commands/SECTION/SectionType';
3
+ import type { SectionType } from '../../types/SectionType';
4
4
  import type { string_javascript } from '../../types/typeAliases';
5
5
  import type { string_markdown } from '../../types/typeAliases';
6
6
  import type { string_markdown_text } from '../../types/typeAliases';
@@ -13,32 +13,32 @@ import type { Expectations } from './Expectations';
13
13
  /**
14
14
  * Common properties of all tasks
15
15
  */
16
- export type TaskJsonCommon = {
16
+ export type CommonTaskJson = {
17
17
  /**
18
- * Name of the template
18
+ * Name of the task
19
19
  * - It must be unique across the pipeline
20
20
  * - It should start uppercase and can contain letters and numbers
21
- * - The pipelineUrl together with hash and name are used to identify the template in the pipeline
21
+ * - The pipelineUrl together with hash and name are used to identify the task in the pipeline
22
22
  */
23
23
  readonly name: string_name;
24
24
  /**
25
- * Title of the template
25
+ * Title of the task
26
26
  * It can use simple markdown formatting like **bold**, *italic*, [link](https://example.com), ... BUT not code blocks and structure
27
27
  */
28
28
  readonly title: string;
29
29
  /**
30
- * Description of the template
30
+ * Description of the task
31
31
  * It can use multiple paragraphs of simple markdown formatting like **bold**, *italic*, [link](https://example.com), ... BUT not code blocks and structure
32
32
  */
33
33
  readonly description?: string_markdown_text;
34
34
  /**
35
- * List of parameter names that are used in the template and must be defined before the template is executed
35
+ * List of parameter names that are used in the task and must be defined before the task is executed
36
36
  *
37
37
  * Note: Joker is one of the dependent parameters
38
38
  */
39
39
  readonly dependentParameterNames: Array<string_parameter_name>;
40
40
  /**
41
- * If theese parameters meet the expectations requirements, they are used instead of executing this template
41
+ * If theese parameters meet the expectations requirements, they are used instead of executing this task
42
42
  *
43
43
  * @see https://github.com/webgptorg/promptbook/discussions/66
44
44
  */
@@ -49,17 +49,17 @@ export type TaskJsonCommon = {
49
49
  readonly foreach?: ForeachJson;
50
50
  /**
51
51
  * Type of the execution
52
- * This determines if the template is send to LLM, user or some scripting evaluation
52
+ * This determines if the task is send to LLM, user or some scripting evaluation
53
53
  */
54
54
  readonly taskType: SectionType;
55
55
  /**
56
- * Content of the template with {placeholders} for parameters
56
+ * Content of the task with {placeholders} for parameters
57
57
  *
58
58
  * @@@ content vs preparedContent
59
59
  */
60
60
  readonly content: (string_prompt | string_javascript | string_markdown) & string_template;
61
61
  /**
62
- * @@@ Content of the template with {placeholders} for parameters
62
+ * @@@ Content of the task with {placeholders} for parameters
63
63
  *
64
64
  * @@@ content vs preparedContent
65
65
  *
@@ -67,7 +67,7 @@ export type TaskJsonCommon = {
67
67
  */
68
68
  readonly preparedContent?: (string_prompt | string_javascript | string_markdown) & string_template;
69
69
  /**
70
- * List of postprocessing steps that are executed after the template
70
+ * List of postprocessing steps that are executed after the task
71
71
  *
72
72
  * @see https://github.com/webgptorg/promptbook/discussions/31
73
73
  */
@@ -90,7 +90,7 @@ export type TaskJsonCommon = {
90
90
  */
91
91
  readonly format?: FormatCommand['format'];
92
92
  /**
93
- * Name of the parameter that is the result of the template
93
+ * Name of the parameter that is the result of the task
94
94
  */
95
95
  readonly resultingParameterName: string_name;
96
96
  };
@@ -1,11 +1,11 @@
1
- import type { TaskJsonCommon } from './TaskJsonCommon';
1
+ import type { CommonTaskJson } from './CommonTaskJson';
2
2
  /**
3
3
  * Task for prompt to user
4
4
  *
5
5
  * Note: [🚉] This is fully serializable as JSON
6
6
  * @see https://github.com/webgptorg/promptbook/discussions/76
7
7
  */
8
- export type DialogTaskJson = TaskJsonCommon & {
8
+ export type DialogTaskJson = CommonTaskJson & {
9
9
  readonly taskType: 'DIALOG_TASK';
10
10
  };
11
11
  /**
@@ -90,6 +90,8 @@ export type CommonParameterJson = {
90
90
  readonly exampleValues?: Array<string_parameter_value>;
91
91
  };
92
92
  /**
93
+ * TODO: [🧠][🛴][♈] Maybe add type + expectations into the intefrace, like "a person name"
94
+ * [🛴] @see https://github.com/webgptorg/promptbook/discussions/53
93
95
  * TODO: [🧠] Should be here registered subparameters from foreach or not?
94
96
  * TODO: [♈] Probbably move expectations from tasks to parameters
95
97
  * TODO: [🍙] Make some standard order of json properties
@@ -11,7 +11,7 @@ import type { string_persona_description } from '../../types/typeAliases';
11
11
  */
12
12
  export type PersonaJson = {
13
13
  /**
14
- * Name of the template
14
+ * Name of the persona
15
15
  * - It must be unique across the pipeline
16
16
  * - It should start uppercase and can contain letters and numbers
17
17
  */
@@ -14,7 +14,7 @@ import type { PreparationJson } from './PreparationJson';
14
14
  import type { TaskJson } from './TaskJson';
15
15
  /**
16
16
  * Promptbook is the **core concept of this package**.
17
- * It represents a series of tasks chained together to form a pipeline / one big template with input and result parameters.
17
+ * It represents a series of tasks chained together to form a pipeline / one big task with input and result parameters.
18
18
  *
19
19
  * Note: [🚉] This is fully serializable as JSON
20
20
  *
@@ -28,7 +28,7 @@ export type PipelineJson = {
28
28
  * Note: It must use HTTPs URL
29
29
  * Tip: You can do versioning in the URL
30
30
  * For example: https://promptbook.studio/webgpt/write-website-content-cs.book.md@1.0.0
31
- * Warning: Do not hash part of the URL, hash part is used for identification of the template in the pipeline
31
+ * Warning: Do not hash part of the URL, hash part is used for identification of the task in the pipeline
32
32
  */
33
33
  readonly pipelineUrl?: string_pipeline_url;
34
34
  /**
@@ -1,12 +1,12 @@
1
1
  import type { ModelRequirements } from '../../types/ModelRequirements';
2
2
  import type { string_name } from '../../types/typeAliases';
3
- import type { TaskJsonCommon } from './TaskJsonCommon';
3
+ import type { CommonTaskJson } from './CommonTaskJson';
4
4
  /**
5
5
  * Task for prompt to LLM
6
6
  *
7
7
  * Note: [🚉] This is fully serializable as JSON
8
8
  */
9
- export type PromptTaskJson = TaskJsonCommon & {
9
+ export type PromptTaskJson = CommonTaskJson & {
10
10
  readonly taskType: 'PROMPT_TASK';
11
11
  /**
12
12
  * Name of the persona who will be responding to this prompt
@@ -1,12 +1,12 @@
1
1
  import type { ScriptLanguage } from '../../types/ScriptLanguage';
2
- import type { TaskJsonCommon } from './TaskJsonCommon';
2
+ import type { CommonTaskJson } from './CommonTaskJson';
3
3
  /**
4
4
  * Task for script execution
5
5
  *
6
6
  * Note: [🚉] This is fully serializable as JSON
7
7
  * @see https://github.com/webgptorg/promptbook/discussions/77
8
8
  */
9
- export type ScriptTaskJson = TaskJsonCommon & {
9
+ export type ScriptTaskJson = CommonTaskJson & {
10
10
  readonly taskType: 'SCRIPT_TASK';
11
11
  /**
12
12
  * Language of the script
@@ -1,11 +1,11 @@
1
- import type { TaskJsonCommon } from './TaskJsonCommon';
1
+ import type { CommonTaskJson } from './CommonTaskJson';
2
2
  /**
3
3
  * Task for simple concatenation of strings
4
4
  *
5
5
  * Note: [🚉] This is fully serializable as JSON
6
6
  * @see https://github.com/webgptorg/promptbook/discussions/17
7
7
  */
8
- export type SimpleTaskJson = TaskJsonCommon & {
8
+ export type SimpleTaskJson = CommonTaskJson & {
9
9
  readonly taskType: 'SIMPLE_TASK';
10
10
  };
11
11
  /**
@@ -4,7 +4,7 @@ import type { PromptTaskJson } from './PromptTaskJson';
4
4
  import type { ScriptTaskJson } from './ScriptTaskJson';
5
5
  import type { SimpleTaskJson } from './SimpleTaskJson';
6
6
  /**
7
- * Describes one (prompt) template in the promptbook
7
+ * Describes one (prompt) task in the pipeline
8
8
  *
9
9
  * Note: [🚉] This is fully serializable as JSON
10
10
  */
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Promptbook is the **core concept of this package**.
3
- * It represents a series of tasks chained together to form a pipeline / one big template with input and result parameters.
3
+ * It represents a series of tasks chained together to form a pipeline / one big task with input and result parameters.
4
4
  *
5
5
  * @see @@@ https://github.com/webgptorg/promptbook#promptbook
6
6
  */
@@ -10,7 +10,7 @@ export declare function isPipelinePrepared(pipeline: PipelineJson): boolean;
10
10
  * TODO: [🐠] Maybe base this on `makeValidator`
11
11
  * TODO: [🧊] Pipeline can be partially prepared, this should return true ONLY if fully prepared
12
12
  * TODO: [🧿] Maybe do same process with same granularity and subfinctions as `preparePipeline`
13
- * - [🏍] ? Is context in each template
13
+ * - [🏍] ? Is context in each task
14
14
  * - [♨] Are examples prepared
15
15
  * - [♨] Are tasks prepared
16
16
  */
@@ -2,13 +2,13 @@ import type { ExecutionTools } from '../execution/ExecutionTools';
2
2
  import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson';
3
3
  import type { TaskJson } from '../pipeline/PipelineJson/TaskJson';
4
4
  import type { PrepareAndScrapeOptions } from './PrepareAndScrapeOptions';
5
- type PrepareTemplateInput = Pick<PipelineJson, 'tasks' | 'parameters'> & {
5
+ type PrepareTaskInput = Pick<PipelineJson, 'tasks' | 'parameters'> & {
6
6
  /**
7
7
  * @@@
8
8
  */
9
9
  readonly knowledgePiecesCount: number;
10
10
  };
11
- type PreparedTemplates = {
11
+ type PreparedTasks = {
12
12
  /**
13
13
  * @@@ Sequence of tasks that are chained together to form a pipeline
14
14
  */
@@ -19,11 +19,11 @@ type PreparedTemplates = {
19
19
  *
20
20
  * @public exported from `@promptbook/core`
21
21
  */
22
- export declare function prepareTasks(pipeline: PrepareTemplateInput, tools: Pick<ExecutionTools, 'llm' | 'fs' | 'scrapers'>, options: PrepareAndScrapeOptions): Promise<PreparedTemplates>;
22
+ export declare function prepareTasks(pipeline: PrepareTaskInput, tools: Pick<ExecutionTools, 'llm' | 'fs' | 'scrapers'>, options: PrepareAndScrapeOptions): Promise<PreparedTasks>;
23
23
  export {};
24
24
  /**
25
- * TODO: [🧠] Add context to each template (if missing)
26
- * TODO: [🧠] What is better name `prepareTemplate` or `prepareTemplateAndParameters`
25
+ * TODO: [🧠] Add context to each task (if missing)
26
+ * TODO: [🧠] What is better name `prepareTask` or `prepareTaskAndParameters`
27
27
  * TODO: [♨][main] !!! Prepare index the examples and maybe tasks
28
28
  * TODO: Write tests for `preparePipeline`
29
29
  * TODO: [🏏] Leverage the batch API and build queues @see https://platform.openai.com/docs/guides/batch
@@ -5,7 +5,7 @@ import type { CompletionModelRequirements } from './ModelRequirements';
5
5
  import type { EmbeddingModelRequirements } from './ModelRequirements';
6
6
  import type { ModelRequirements } from './ModelRequirements';
7
7
  import type { Parameters } from './typeAliases';
8
- import type { string_pipeline_url_with_hashtemplate } from './typeAliases';
8
+ import type { string_pipeline_url_with_task_hash } from './typeAliases';
9
9
  import type { string_postprocessing_function_name } from './typeAliases';
10
10
  import type { string_prompt } from './typeAliases';
11
11
  import type { string_template } from './typeAliases';
@@ -93,11 +93,11 @@ export type CommonPrompt = {
93
93
  */
94
94
  readonly format?: FormatCommand['format'];
95
95
  /**
96
- * Unique identifier of the pipeline with specific template name as hash
96
+ * Unique identifier of the pipeline with specific task name as hash
97
97
  *
98
98
  * @example https://promptbook.studio/webgpt/write-website-content-cs.book.md#keywords
99
99
  */
100
- readonly pipelineUrl?: string_pipeline_url_with_hashtemplate;
100
+ readonly pipelineUrl?: string_pipeline_url_with_task_hash;
101
101
  /**
102
102
  * Parameters used in the `content`
103
103
  */
@@ -0,0 +1,21 @@
1
+ import type { TupleToUnion } from 'type-fest';
2
+ /**
3
+ * Type of the section
4
+ */
5
+ export type SectionType = TupleToUnion<typeof SectionTypes>;
6
+ /**
7
+ * All available sections which are not tasks
8
+ *
9
+ * @public exported from `@promptbook/core`
10
+ */
11
+ export declare const NonTaskSectionTypes: readonly ["EXAMPLE", "KNOWLEDGE", "INSTRUMENT", "ACTION"];
12
+ /**
13
+ * All available section types
14
+ *
15
+ * There is is distinction between task types and section types
16
+ * - Every section in markdown has its SectionType
17
+ * - Some sections are tasks but other can be non-task sections
18
+ *
19
+ * @public exported from `@promptbook/core`
20
+ */
21
+ export declare const SectionTypes: readonly [...("PROMPT_TASK" | "SIMPLE_TASK" | "SCRIPT_TASK" | "DIALOG_TASK")[], "EXAMPLE", "KNOWLEDGE", "INSTRUMENT", "ACTION"];
@@ -1,4 +1,4 @@
1
- import type { SectionType } from '../commands/SECTION/SectionType';
1
+ import type { SectionType } from './SectionType';
2
2
  import type { string_markdown_text } from './typeAliases';
3
3
  import type { string_name } from './typeAliases';
4
4
  /**
@@ -0,0 +1,15 @@
1
+ import type { TupleToUnion } from 'type-fest';
2
+ /**
3
+ * Type of the task
4
+ */
5
+ export type TaskType = TupleToUnion<typeof TaskTypes>;
6
+ /**
7
+ * All available task types
8
+ *
9
+ * There is is distinction between task types and section types
10
+ * - Every section in markdown has its SectionType
11
+ * - Some sections are tasks but other can be non-task sections
12
+ *
13
+ * @public exported from `@promptbook/core`
14
+ */
15
+ export declare const TaskTypes: readonly ["PROMPT", "SIMPLE", "SCRIPT", "DIALOG"];