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

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 (158) hide show
  1. package/README.md +1 -0
  2. package/esm/index.es.js +9 -3
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/promptbook-collection/index.d.ts +6 -6
  5. package/esm/typings/src/_packages/core.index.d.ts +29 -19
  6. package/esm/typings/src/_packages/types.index.d.ts +58 -50
  7. package/esm/typings/src/_packages/utils.index.d.ts +4 -4
  8. package/esm/typings/src/cli/cli-commands/about.d.ts +1 -0
  9. package/esm/typings/src/cli/cli-commands/hello.d.ts +1 -0
  10. package/esm/typings/src/cli/cli-commands/make.d.ts +1 -0
  11. package/esm/typings/src/cli/cli-commands/prettify.d.ts +1 -0
  12. package/esm/typings/src/cli/cli-commands/run.d.ts +1 -0
  13. package/esm/typings/src/cli/cli-commands/test-command.d.ts +1 -0
  14. package/esm/typings/src/cli/main.d.ts +1 -0
  15. package/esm/typings/src/collection/PipelineCollection.d.ts +1 -1
  16. package/esm/typings/src/collection/SimplePipelineCollection.d.ts +1 -1
  17. package/esm/typings/src/collection/collectionToJson.d.ts +1 -1
  18. package/esm/typings/src/collection/constructors/createCollectionFromJson.d.ts +1 -1
  19. package/esm/typings/src/collection/constructors/createCollectionFromPromise.d.ts +1 -1
  20. package/esm/typings/src/commands/EXPECT/ExpectCommand.d.ts +2 -2
  21. package/esm/typings/src/commands/EXPECT/expectCommandParser.d.ts +2 -2
  22. package/esm/typings/src/commands/FOREACH/foreachCommandParser.d.ts +2 -2
  23. package/esm/typings/src/commands/FORMAT/formatCommandParser.d.ts +2 -2
  24. package/esm/typings/src/commands/JOKER/jokerCommandParser.d.ts +2 -2
  25. package/esm/typings/src/commands/POSTPROCESS/postprocessCommandParser.d.ts +2 -2
  26. package/esm/typings/src/commands/SECTION/SectionCommand.d.ts +11 -0
  27. package/esm/typings/src/commands/SECTION/SectionType.d.ts +13 -0
  28. package/esm/typings/src/commands/{TEMPLATE/templateCommandParser.d.ts → SECTION/sectionCommandParser.d.ts} +6 -6
  29. package/esm/typings/src/commands/_common/types/Command.d.ts +1 -1
  30. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +17 -17
  31. package/esm/typings/src/commands/_common/types/CommandUsagePlaces.d.ts +1 -1
  32. package/esm/typings/src/commands/index.d.ts +4 -1
  33. package/esm/typings/src/config.d.ts +3 -1
  34. package/esm/typings/src/conversion/pipelineJsonToString.d.ts +2 -2
  35. package/esm/typings/src/conversion/pipelineStringToJson.d.ts +2 -2
  36. package/esm/typings/src/conversion/pipelineStringToJsonSync.d.ts +3 -3
  37. package/esm/typings/src/conversion/prettify/prettifyPipelineString.d.ts +1 -1
  38. package/esm/typings/src/conversion/prettify/renderPipelineMermaidOptions.d.ts +3 -3
  39. package/esm/typings/src/conversion/utils/{extractParameterNamesFromTemplate.d.ts → extractParameterNamesFromTask.d.ts} +2 -2
  40. package/esm/typings/src/conversion/utils/renameParameter.d.ts +1 -1
  41. package/esm/typings/src/conversion/validation/_importPipeline.d.ts +3 -2
  42. package/esm/typings/src/conversion/validation/validatePipeline.d.ts +1 -1
  43. package/esm/typings/src/errors/index.d.ts +3 -0
  44. package/esm/typings/src/execution/PipelineExecutorResult.d.ts +2 -2
  45. package/esm/typings/src/execution/PromptResultUsage.d.ts +1 -1
  46. package/esm/typings/src/execution/createPipelineExecutor/{$OngoingTemplateResult.d.ts → $OngoingTaskResult.d.ts} +1 -1
  47. package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorOptions.d.ts +1 -1
  48. package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +1 -1
  49. package/esm/typings/src/execution/createPipelineExecutor/{20-executeTemplate.d.ts → 20-executeTask.d.ts} +7 -7
  50. package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +5 -5
  51. package/esm/typings/src/execution/createPipelineExecutor/filterJustOutputParameters.d.ts +1 -1
  52. package/esm/typings/src/execution/createPipelineExecutor/{getContextForTemplate.d.ts → getContextForTask.d.ts} +2 -2
  53. package/esm/typings/src/execution/createPipelineExecutor/{getExamplesForTemplate.d.ts → getExamplesForTask.d.ts} +2 -2
  54. package/esm/typings/src/execution/createPipelineExecutor/getKnowledgeForTask.d.ts +27 -0
  55. package/esm/typings/src/execution/createPipelineExecutor/getReservedParametersForTask.d.ts +30 -0
  56. package/esm/typings/src/{types → execution}/execution-report/ExecutionPromptReportJson.d.ts +2 -2
  57. package/esm/typings/src/{types → execution}/execution-report/ExecutionReportJson.d.ts +4 -4
  58. package/esm/typings/src/{types → execution}/execution-report/ExecutionReportStringOptions.d.ts +1 -1
  59. package/esm/typings/src/execution/utils/checkExpectations.d.ts +1 -1
  60. package/esm/typings/src/execution/utils/usage-constants.d.ts +3 -0
  61. package/esm/typings/src/formats/index.d.ts +3 -0
  62. package/esm/typings/src/formfactors/_boilerplate/BoilerplateFormfactorDefinition.d.ts +14 -0
  63. package/esm/typings/src/formfactors/_common/AbstractFormfactorDefinition.d.ts +9 -1
  64. package/esm/typings/src/formfactors/_common/FormfactorDefinition.d.ts +4 -1
  65. package/esm/typings/src/formfactors/chatbot/ChatbotFormfactorDefinition.d.ts +15 -0
  66. package/esm/typings/src/formfactors/generic/GenericFormfactorDefinition.d.ts +5 -1
  67. package/esm/typings/src/formfactors/index.d.ts +39 -3
  68. package/esm/typings/src/formfactors/matcher/MatcherFormfactorDefinition.d.ts +14 -0
  69. package/esm/typings/src/formfactors/sheets/SheetsFormfactorDefinition.d.ts +14 -0
  70. package/esm/typings/src/formfactors/translator/TranslatorFormfactorDefinition.d.ts +14 -0
  71. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -0
  72. package/esm/typings/src/llm-providers/anthropic-claude/register-configuration.d.ts +3 -0
  73. package/esm/typings/src/llm-providers/anthropic-claude/register-constructor.d.ts +1 -0
  74. package/esm/typings/src/llm-providers/azure-openai/register-configuration.d.ts +3 -0
  75. package/esm/typings/src/llm-providers/azure-openai/register-constructor.d.ts +1 -0
  76. package/esm/typings/src/llm-providers/mocked/$fakeTextToExpectations.d.ts +1 -1
  77. package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -0
  78. package/esm/typings/src/llm-providers/openai/register-configuration.d.ts +3 -0
  79. package/esm/typings/src/llm-providers/openai/register-constructor.d.ts +1 -0
  80. package/esm/typings/src/personas/preparePersona.d.ts +1 -1
  81. package/esm/typings/src/pipeline/{pipeline-interface → PipelineInterface}/PipelineInterface.d.ts +5 -2
  82. package/esm/typings/src/pipeline/PipelineInterface/constants.d.ts +14 -0
  83. package/esm/typings/src/pipeline/{pipeline-interface → PipelineInterface}/getPipelineInterface.d.ts +3 -1
  84. package/esm/typings/src/pipeline/{pipeline-interface → PipelineInterface}/isPipelineImplementingInterface.d.ts +5 -1
  85. package/esm/typings/src/pipeline/{pipeline-interface → PipelineInterface}/isPipelineInterfacesEqual.d.ts +2 -0
  86. package/esm/typings/src/pipeline/PipelineJson/DialogTaskJson.d.ts +13 -0
  87. package/esm/typings/src/{types → pipeline}/PipelineJson/Expectations.d.ts +2 -2
  88. package/esm/typings/src/{types → pipeline}/PipelineJson/KnowledgePieceJson.d.ts +7 -6
  89. package/esm/typings/src/{types → pipeline}/PipelineJson/KnowledgeSourceJson.d.ts +3 -3
  90. package/esm/typings/src/pipeline/PipelineJson/ParameterJson.d.ts +96 -0
  91. package/esm/typings/src/{types → pipeline}/PipelineJson/PersonaJson.d.ts +4 -4
  92. package/esm/typings/src/{types → pipeline}/PipelineJson/PipelineJson.d.ts +10 -10
  93. package/esm/typings/src/{types → pipeline}/PipelineJson/PreparationJson.d.ts +1 -1
  94. package/esm/typings/src/{types/PipelineJson/PromptTemplateJson.d.ts → pipeline/PipelineJson/PromptTaskJson.d.ts} +8 -8
  95. package/esm/typings/src/pipeline/PipelineJson/ScriptTaskJson.d.ts +20 -0
  96. package/esm/typings/src/pipeline/PipelineJson/SimpleTaskJson.d.ts +13 -0
  97. package/esm/typings/src/pipeline/PipelineJson/TaskJson.d.ts +11 -0
  98. package/esm/typings/src/{types/PipelineJson/TemplateJsonCommon.d.ts → pipeline/PipelineJson/TaskJsonCommon.d.ts} +13 -13
  99. package/esm/typings/src/{types → pipeline}/PipelineString.d.ts +1 -1
  100. package/esm/typings/src/prepare/isPipelinePrepared.d.ts +2 -2
  101. package/esm/typings/src/prepare/preparePipeline.d.ts +1 -1
  102. package/esm/typings/src/prepare/{prepareTemplates.d.ts → prepareTasks.d.ts} +7 -7
  103. package/esm/typings/src/prepare/unpreparePipeline.d.ts +1 -1
  104. package/esm/typings/src/scrapers/_common/Scraper.d.ts +1 -1
  105. package/esm/typings/src/scrapers/_common/prepareKnowledgePieces.d.ts +2 -2
  106. package/esm/typings/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +1 -1
  107. package/esm/typings/src/scrapers/document/DocumentScraper.d.ts +1 -1
  108. package/esm/typings/src/scrapers/document/register-constructor.d.ts +1 -0
  109. package/esm/typings/src/scrapers/document/register-metadata.d.ts +3 -0
  110. package/esm/typings/src/scrapers/document-legacy/LegacyDocumentScraper.d.ts +1 -1
  111. package/esm/typings/src/scrapers/document-legacy/register-constructor.d.ts +1 -0
  112. package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +3 -0
  113. package/esm/typings/src/scrapers/markdown/MarkdownScraper.d.ts +1 -1
  114. package/esm/typings/src/scrapers/markdown/register-constructor.d.ts +1 -0
  115. package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +3 -0
  116. package/esm/typings/src/scrapers/pdf/PdfScraper.d.ts +1 -1
  117. package/esm/typings/src/scrapers/pdf/register-constructor.d.ts +1 -0
  118. package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +3 -0
  119. package/esm/typings/src/scrapers/website/WebsiteScraper.d.ts +1 -1
  120. package/esm/typings/src/scrapers/website/register-constructor.d.ts +1 -0
  121. package/esm/typings/src/scrapers/website/register-metadata.d.ts +3 -0
  122. package/esm/typings/src/scripting/javascript/postprocessing-functions.d.ts +1 -0
  123. package/esm/typings/src/types/Prompt.d.ts +1 -1
  124. package/esm/typings/src/types/TaskProgress.d.ts +2 -2
  125. package/esm/typings/src/types/typeAliasEmoji.d.ts +3 -0
  126. package/esm/typings/src/types/typeAliases.d.ts +1 -0
  127. package/esm/typings/src/utils/emojis.d.ts +1 -0
  128. package/esm/typings/src/utils/expectation-counters/{config.d.ts → constants.d.ts} +4 -0
  129. package/esm/typings/src/utils/expectation-counters/countCharacters.d.ts +1 -1
  130. package/esm/typings/src/utils/expectation-counters/countLines.d.ts +1 -1
  131. package/esm/typings/src/utils/expectation-counters/countPages.d.ts +1 -1
  132. package/esm/typings/src/utils/expectation-counters/countParagraphs.d.ts +1 -1
  133. package/esm/typings/src/utils/expectation-counters/countSentences.d.ts +1 -1
  134. package/esm/typings/src/utils/expectation-counters/countWords.d.ts +1 -1
  135. package/esm/typings/src/utils/expectation-counters/index.d.ts +3 -2
  136. package/esm/typings/src/utils/normalization/normalize-to-kebab-case.d.ts +3 -0
  137. package/esm/typings/src/utils/parameters/extractParameterNames.d.ts +2 -2
  138. package/esm/typings/src/utils/serialization/clonePipeline.d.ts +1 -1
  139. package/esm/typings/src/version.d.ts +2 -1
  140. package/package.json +5 -4
  141. package/umd/index.umd.js +9 -3
  142. package/umd/index.umd.js.map +1 -1
  143. package/esm/typings/src/commands/TEMPLATE/TemplateCommand.d.ts +0 -11
  144. package/esm/typings/src/commands/TEMPLATE/TemplateTypes.d.ts +0 -15
  145. package/esm/typings/src/execution/createPipelineExecutor/getKnowledgeForTemplate.d.ts +0 -27
  146. package/esm/typings/src/execution/createPipelineExecutor/getReservedParametersForTemplate.d.ts +0 -30
  147. package/esm/typings/src/formfactors/chat/ChatFormfactorDefinition.d.ts +0 -10
  148. package/esm/typings/src/types/PipelineJson/DialogTemplateJson.d.ts +0 -13
  149. package/esm/typings/src/types/PipelineJson/ParameterJson.d.ts +0 -39
  150. package/esm/typings/src/types/PipelineJson/ScriptTemplateJson.d.ts +0 -20
  151. package/esm/typings/src/types/PipelineJson/SimpleTemplateJson.d.ts +0 -13
  152. package/esm/typings/src/types/PipelineJson/TemplateJson.d.ts +0 -11
  153. /package/esm/typings/src/commands/{TEMPLATE/templateCommand.test.d.ts → SECTION/sectionCommand.test.d.ts} +0 -0
  154. /package/esm/typings/src/conversion/utils/{extractParameterNamesFromTemplate.test.d.ts → extractParameterNamesFromTask.test.d.ts} +0 -0
  155. /package/esm/typings/src/{types → execution}/execution-report/ExecutionReportString.d.ts +0 -0
  156. /package/esm/typings/src/{types → execution}/execution-report/countWorkingDuration.d.ts +0 -0
  157. /package/esm/typings/src/{types → execution}/execution-report/countWorkingDuration.test.d.ts +0 -0
  158. /package/esm/typings/src/{types → execution}/execution-report/executionReportJsonToString.d.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  import type { ExecutionTools } from '../execution/ExecutionTools';
2
+ import type { PersonaPreparedJson } from '../pipeline/PipelineJson/PersonaJson';
2
3
  import type { PrepareAndScrapeOptions } from '../prepare/PrepareAndScrapeOptions';
3
- import type { PersonaPreparedJson } from '../types/PipelineJson/PersonaJson';
4
4
  import type { string_persona_description } from '../types/typeAliases';
5
5
  /**
6
6
  * Prepares the persona for the pipeline
@@ -1,6 +1,9 @@
1
1
  import type { string_parameter_name } from '../../types/typeAliases';
2
2
  /**
3
3
  * @@@
4
+ *
5
+ * Note: [🚉] This is fully serializable as JSON
6
+ * @see https://github.com/webgptorg/promptbook/discussions/171
4
7
  */
5
8
  export type PipelineInterface = {
6
9
  /**
@@ -8,13 +11,13 @@ export type PipelineInterface = {
8
11
  *
9
12
  * Note: Sorted alphabetically
10
13
  */
11
- inputParameterNames: Array<string_parameter_name>;
14
+ readonly inputParameterNames: ReadonlyArray<string_parameter_name>;
12
15
  /**
13
16
  * @@@
14
17
  *
15
18
  * Note: Sorted alphabetically
16
19
  */
17
- outputParameterNames: Array<string_parameter_name>;
20
+ readonly outputParameterNames: ReadonlyArray<string_parameter_name>;
18
21
  };
19
22
  /**
20
23
  * TODO: !!!!!! Change inputParameterNames to inputParameters<InputParameter>
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @@@
3
+ *
4
+ * @see https://github.com/webgptorg/promptbook/discussions/171
5
+ *
6
+ * @public exported from `@promptbook/core`
7
+ */
8
+ export declare const GENERIC_PIPELINE_INTERFACE: {
9
+ readonly inputParameterNames: readonly [];
10
+ readonly outputParameterNames: readonly [];
11
+ };
12
+ /**
13
+ * Note: [💞] Ignore a discrepancy between file name and entity name
14
+ */
@@ -1,8 +1,10 @@
1
- import type { PipelineJson } from '../../types/PipelineJson/PipelineJson';
1
+ import type { PipelineJson } from '../PipelineJson/PipelineJson';
2
2
  import type { PipelineInterface } from './PipelineInterface';
3
3
  /**
4
4
  * @@@
5
5
  *
6
+ * @see https://github.com/webgptorg/promptbook/discussions/171
7
+ *
6
8
  * @public exported from `@promptbook/core`
7
9
  */
8
10
  export declare function getPipelineInterface(pipeline: PipelineJson): PipelineInterface;
@@ -1,7 +1,9 @@
1
- import type { PipelineJson } from '../../types/PipelineJson/PipelineJson';
1
+ import type { PipelineJson } from '../PipelineJson/PipelineJson';
2
2
  import type { PipelineInterface } from './PipelineInterface';
3
3
  /**
4
4
  * @@@
5
+ *
6
+ * @see https://github.com/webgptorg/promptbook/discussions/171
5
7
  */
6
8
  export type IsPipelineImplementingInterfaceOptions = {
7
9
  /**
@@ -16,6 +18,8 @@ export type IsPipelineImplementingInterfaceOptions = {
16
18
  /**
17
19
  * @@@
18
20
  *
21
+ * @see https://github.com/webgptorg/promptbook/discussions/171
22
+ *
19
23
  * @public exported from `@promptbook/core`
20
24
  */
21
25
  export declare function isPipelineImplementingInterface(options: IsPipelineImplementingInterfaceOptions): boolean;
@@ -2,6 +2,8 @@ import type { PipelineInterface } from './PipelineInterface';
2
2
  /**
3
3
  * @@@
4
4
  *
5
+ * @see https://github.com/webgptorg/promptbook/discussions/171
6
+ *
5
7
  * @public exported from `@promptbook/core`
6
8
  */
7
9
  export declare function isPipelineInterfacesEqual(pipelineInterface1: PipelineInterface, pipelineInterface2: PipelineInterface): boolean;
@@ -0,0 +1,13 @@
1
+ import type { TaskJsonCommon } from './TaskJsonCommon';
2
+ /**
3
+ * Task for prompt to user
4
+ *
5
+ * Note: [🚉] This is fully serializable as JSON
6
+ * @see https://github.com/webgptorg/promptbook/discussions/76
7
+ */
8
+ export type DialogTaskJson = TaskJsonCommon & {
9
+ readonly taskType: 'DIALOG_TASK';
10
+ };
11
+ /**
12
+ * TODO: [🍙] Make some standard order of json properties
13
+ */
@@ -1,6 +1,6 @@
1
1
  import type { TupleToUnion } from 'type-fest';
2
- import type { number_integer } from '../typeAliases';
3
- import type { number_positive } from '../typeAliases';
2
+ import type { number_integer } from '../../types/typeAliases';
3
+ import type { number_positive } from '../../types/typeAliases';
4
4
  /**
5
5
  * Expect this amount of each unit in the answer
6
6
  *
@@ -1,11 +1,11 @@
1
1
  import type { EmbeddingVector } from '../../execution/EmbeddingVector';
2
+ import type { number_id } from '../../types/typeAliases';
3
+ import type { number_linecol_number } from '../../types/typeAliases';
4
+ import type { string_markdown } from '../../types/typeAliases';
5
+ import type { string_markdown_text } from '../../types/typeAliases';
6
+ import type { string_model_name } from '../../types/typeAliases';
7
+ import type { string_name } from '../../types/typeAliases';
2
8
  import type { string_keyword } from '../../utils/normalization/IKeywords';
3
- import type { number_id } from '../typeAliases';
4
- import type { number_linecol_number } from '../typeAliases';
5
- import type { string_markdown } from '../typeAliases';
6
- import type { string_markdown_text } from '../typeAliases';
7
- import type { string_model_name } from '../typeAliases';
8
- import type { string_name } from '../typeAliases';
9
9
  /**
10
10
  * Defines one piece of knowledge in the pipeline
11
11
  *
@@ -69,4 +69,5 @@ export type KnowledgePiecePreparedJson = {
69
69
  };
70
70
  /**
71
71
  * TODO: [🍙] Make some standard order of json properties
72
+ * Note: [💞] Ignore a discrepancy between file name and entity name
72
73
  */
@@ -1,6 +1,6 @@
1
- import type { number_id } from '../typeAliases';
2
- import type { string_knowledge_source_content } from '../typeAliases';
3
- import type { string_name } from '../typeAliases';
1
+ import type { number_id } from '../../types/typeAliases';
2
+ import type { string_knowledge_source_content } from '../../types/typeAliases';
3
+ import type { string_name } from '../../types/typeAliases';
4
4
  /**
5
5
  * Defines one source of knowledge in the pipeline
6
6
  * For example, a source of information, a fact, a quote, a definition, website, etc.
@@ -0,0 +1,96 @@
1
+ import type { string_markdown_text } from '../../types/typeAliases';
2
+ import type { string_parameter_name } from '../../types/typeAliases';
3
+ import type { string_parameter_value } from '../../types/typeAliases';
4
+ /**
5
+ * Describes one parameter of the pipeline
6
+ *
7
+ * Note: [🚉] This is fully serializable as JSON
8
+ */
9
+ export type ParameterJson = InputParameterJson | IntermediateParameterJson | OutputParameterJson;
10
+ /**
11
+ * Describes input parameter of the pipeline
12
+ *
13
+ * 🔴 -> ⚪ -> ⚪
14
+ *
15
+ * Note: [🚉] This is fully serializable as JSON
16
+ */
17
+ export type InputParameterJson = CommonParameterJson & {
18
+ /**
19
+ * The parameter is input of the pipeline
20
+ */
21
+ readonly isInput: true;
22
+ /**
23
+ * The parameter is NOT output of the pipeline
24
+ */
25
+ readonly isOutput: false;
26
+ };
27
+ /**
28
+ * Describes intermediate parameter of the pipeline
29
+ *
30
+ * ⚪ -> 🔴 -> ⚪
31
+ *
32
+ * Note: [🚉] This is fully serializable as JSON
33
+ */
34
+ export type IntermediateParameterJson = CommonParameterJson & {
35
+ /**
36
+ * The parameter is NOT input of the pipeline
37
+ */
38
+ readonly isInput: false;
39
+ /**
40
+ * The parameter is NOT output of the pipeline
41
+ */
42
+ readonly isOutput: false;
43
+ };
44
+ /**
45
+ * Describes output parameter of the pipeline
46
+ *
47
+ * ⚪ -> ⚪ -> 🔴
48
+ *
49
+ * Note: [🚉] This is fully serializable as JSON
50
+ */
51
+ export type OutputParameterJson = CommonParameterJson & {
52
+ /**
53
+ * The parameter is NOT input of the pipeline
54
+ */
55
+ readonly isInput: false;
56
+ /**
57
+ * The parameter is output of the pipeline
58
+ */
59
+ readonly isOutput: true;
60
+ };
61
+ /**
62
+ * Describes commons of one parameter of the pipeline
63
+ *
64
+ * Note: [🚉] This is fully serializable as JSON
65
+ */
66
+ export type CommonParameterJson = {
67
+ /**
68
+ * Name of the parameter
69
+ * - It must be unique across the pipeline
70
+ * - It should start lowercase and contain letters and numbers
71
+ */
72
+ readonly name: string_parameter_name;
73
+ /**
74
+ * The parameter is input of the pipeline
75
+ */
76
+ readonly isInput: boolean;
77
+ /**
78
+ * The parameter is output of the pipeline
79
+ */
80
+ readonly isOutput: boolean;
81
+ /**
82
+ * Description of the parameter
83
+ * - It can use simple markdown formatting like **bold**, *italic*, [link](https://example.com), ... BUT not code blocks and structure
84
+ */
85
+ readonly description?: string_markdown_text;
86
+ /**
87
+ * Example values of the parameter
88
+ * Note: This values won't be actually used as some default values, but they are just for better understanding of the parameter
89
+ */
90
+ readonly exampleValues?: Array<string_parameter_value>;
91
+ };
92
+ /**
93
+ * TODO: [🧠] Should be here registered subparameters from foreach or not?
94
+ * TODO: [♈] Probbably move expectations from tasks to parameters
95
+ * TODO: [🍙] Make some standard order of json properties
96
+ */
@@ -1,7 +1,7 @@
1
- import type { ChatModelRequirements } from '../ModelRequirements';
2
- import type { number_id } from '../typeAliases';
3
- import type { string_name } from '../typeAliases';
4
- import type { string_persona_description } from '../typeAliases';
1
+ import type { ChatModelRequirements } from '../../types/ModelRequirements';
2
+ import type { number_id } from '../../types/typeAliases';
3
+ import type { string_name } from '../../types/typeAliases';
4
+ import type { string_persona_description } from '../../types/typeAliases';
5
5
  /**
6
6
  * Defines a persona in the pipeline
7
7
  *
@@ -1,9 +1,9 @@
1
1
  import type { string_formfactor_name } from '../../formfactors/_common/string_formfactor_name';
2
- import type { ModelRequirements } from '../ModelRequirements';
3
- import type { string_filename } from '../typeAliases';
4
- import type { string_markdown_text } from '../typeAliases';
5
- import type { string_pipeline_url } from '../typeAliases';
6
- import type { string_semantic_version } from '../typeAliases';
2
+ import type { ModelRequirements } from '../../types/ModelRequirements';
3
+ import type { string_filename } from '../../types/typeAliases';
4
+ import type { string_markdown_text } from '../../types/typeAliases';
5
+ import type { string_pipeline_url } from '../../types/typeAliases';
6
+ import type { string_semantic_version } from '../../types/typeAliases';
7
7
  import type { KnowledgePiecePreparedJson } from './KnowledgePieceJson';
8
8
  import type { KnowledgeSourceJson } from './KnowledgeSourceJson';
9
9
  import type { KnowledgeSourcePreparedJson } from './KnowledgeSourceJson';
@@ -11,10 +11,10 @@ import type { ParameterJson } from './ParameterJson';
11
11
  import type { PersonaJson } from './PersonaJson';
12
12
  import type { PersonaPreparedJson } from './PersonaJson';
13
13
  import type { PreparationJson } from './PreparationJson';
14
- import type { TemplateJson } from './TemplateJson';
14
+ import type { TaskJson } from './TaskJson';
15
15
  /**
16
16
  * Promptbook is the **core concept of this package**.
17
- * It represents a series of templates 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 template with input and result parameters.
18
18
  *
19
19
  * Note: [🚉] This is fully serializable as JSON
20
20
  *
@@ -60,13 +60,13 @@ export type PipelineJson = {
60
60
  */
61
61
  readonly parameters: Array<ParameterJson>;
62
62
  /**
63
- * Default model requirements for the model for all `templates`
63
+ * Default model requirements for the model for all `tasks`
64
64
  */
65
65
  readonly defaultModelRequirements?: Partial<ModelRequirements>;
66
66
  /**
67
- * Sequence of templates that are chained together to form a pipeline
67
+ * Sequence of tasks that are chained together to form a pipeline
68
68
  */
69
- readonly templates: Array<TemplateJson>;
69
+ readonly tasks: Array<TaskJson>;
70
70
  /**
71
71
  * Set of information that are used as external knowledge in the pipeline
72
72
  *
@@ -1,6 +1,6 @@
1
1
  import type { PromptResultUsage } from '../../execution/PromptResultUsage';
2
+ import type { number_id } from '../../types/typeAliases';
2
3
  import type { string_promptbook_version } from '../../version';
3
- import type { number_id } from '../typeAliases';
4
4
  export type PreparationJson = {
5
5
  /**
6
6
  * Incremental ID of the preparation
@@ -1,25 +1,25 @@
1
- import type { ModelRequirements } from '../ModelRequirements';
2
- import type { string_name } from '../typeAliases';
3
- import type { TemplateJsonCommon } from './TemplateJsonCommon';
1
+ import type { ModelRequirements } from '../../types/ModelRequirements';
2
+ import type { string_name } from '../../types/typeAliases';
3
+ import type { TaskJsonCommon } from './TaskJsonCommon';
4
4
  /**
5
- * Template for prompt to LLM
5
+ * Task for prompt to LLM
6
6
  *
7
7
  * Note: [🚉] This is fully serializable as JSON
8
8
  */
9
- export type PromptTemplateJson = TemplateJsonCommon & {
10
- readonly templateType: 'PROMPT_TEMPLATE';
9
+ export type PromptTaskJson = TaskJsonCommon & {
10
+ readonly taskType: 'PROMPT_TASK';
11
11
  /**
12
12
  * Name of the persona who will be responding to this prompt
13
13
  */
14
14
  readonly personaName?: string_name;
15
15
  /**
16
16
  * Requirements for the model
17
- * - This is required only for templateType PROMPT_TEMPLATE
17
+ * - This is required only for taskType PROMPT_TASK
18
18
  */
19
19
  readonly modelRequirements?: Partial<ModelRequirements>;
20
20
  };
21
21
  /**
22
- * TODO: [👙][🧠] Maybe add `knowledge`, `actions` and `instruments` to be available granularly for each template
22
+ * TODO: [👙][🧠] Maybe add `knowledge`, `actions` and `instruments` to be available granularly for each task
23
23
  * @see https://github.com/webgptorg/promptbook/discussions/79
24
24
  * TODO: [💕][🧠] Just selecting gpt3 or gpt4 level of model
25
25
  * TODO: [🍙] Make some standard order of json properties
@@ -0,0 +1,20 @@
1
+ import type { ScriptLanguage } from '../../types/ScriptLanguage';
2
+ import type { TaskJsonCommon } from './TaskJsonCommon';
3
+ /**
4
+ * Task for script execution
5
+ *
6
+ * Note: [🚉] This is fully serializable as JSON
7
+ * @see https://github.com/webgptorg/promptbook/discussions/77
8
+ */
9
+ export type ScriptTaskJson = TaskJsonCommon & {
10
+ readonly taskType: 'SCRIPT_TASK';
11
+ /**
12
+ * Language of the script
13
+ * - This is required only for taskType SCRIPT
14
+ *
15
+ */
16
+ readonly contentLanguage?: ScriptLanguage;
17
+ };
18
+ /**
19
+ * TODO: [🍙] Make some standard order of json properties
20
+ */
@@ -0,0 +1,13 @@
1
+ import type { TaskJsonCommon } from './TaskJsonCommon';
2
+ /**
3
+ * Task for simple concatenation of strings
4
+ *
5
+ * Note: [🚉] This is fully serializable as JSON
6
+ * @see https://github.com/webgptorg/promptbook/discussions/17
7
+ */
8
+ export type SimpleTaskJson = TaskJsonCommon & {
9
+ readonly taskType: 'SIMPLE_TASK';
10
+ };
11
+ /**
12
+ * TODO: [🍙] Make some standard order of json properties
13
+ */
@@ -0,0 +1,11 @@
1
+ import type { ___or___ } from '../../utils/organization/___or___';
2
+ import type { DialogTaskJson } from './DialogTaskJson';
3
+ import type { PromptTaskJson } from './PromptTaskJson';
4
+ import type { ScriptTaskJson } from './ScriptTaskJson';
5
+ import type { SimpleTaskJson } from './SimpleTaskJson';
6
+ /**
7
+ * Describes one (prompt) template in the promptbook
8
+ *
9
+ * Note: [🚉] This is fully serializable as JSON
10
+ */
11
+ export type TaskJson = PromptTaskJson | SimpleTaskJson | ScriptTaskJson | DialogTaskJson | ___or___ | ___or___;
@@ -1,19 +1,19 @@
1
1
  import type { ForeachJson } from '../../commands/FOREACH/ForeachJson';
2
2
  import type { FormatCommand } from '../../commands/FORMAT/FormatCommand';
3
- import type { TemplateType } from '../../commands/TEMPLATE/TemplateTypes';
4
- import type { string_javascript } from '../typeAliases';
5
- import type { string_markdown } from '../typeAliases';
6
- import type { string_markdown_text } from '../typeAliases';
7
- import type { string_name } from '../typeAliases';
8
- import type { string_parameter_name } from '../typeAliases';
9
- import type { string_postprocessing_function_name } from '../typeAliases';
10
- import type { string_prompt } from '../typeAliases';
11
- import type { string_template } from '../typeAliases';
3
+ import type { SectionType } from '../../commands/SECTION/SectionType';
4
+ import type { string_javascript } from '../../types/typeAliases';
5
+ import type { string_markdown } from '../../types/typeAliases';
6
+ import type { string_markdown_text } from '../../types/typeAliases';
7
+ import type { string_name } from '../../types/typeAliases';
8
+ import type { string_parameter_name } from '../../types/typeAliases';
9
+ import type { string_postprocessing_function_name } from '../../types/typeAliases';
10
+ import type { string_prompt } from '../../types/typeAliases';
11
+ import type { string_template } from '../../types/typeAliases';
12
12
  import type { Expectations } from './Expectations';
13
13
  /**
14
- * Common properties of all templates
14
+ * Common properties of all tasks
15
15
  */
16
- export type TemplateJsonCommon = {
16
+ export type TaskJsonCommon = {
17
17
  /**
18
18
  * Name of the template
19
19
  * - It must be unique across the pipeline
@@ -51,7 +51,7 @@ export type TemplateJsonCommon = {
51
51
  * Type of the execution
52
52
  * This determines if the template is send to LLM, user or some scripting evaluation
53
53
  */
54
- readonly templateType: TemplateType;
54
+ readonly taskType: SectionType;
55
55
  /**
56
56
  * Content of the template with {placeholders} for parameters
57
57
  *
@@ -96,5 +96,5 @@ export type TemplateJsonCommon = {
96
96
  };
97
97
  /**
98
98
  * TODO: use one helper type> (string_prompt | string_javascript | string_markdown) & string_template
99
- * TODO: [♈] Probbably move expectations from templates to parameters
99
+ * TODO: [♈] Probbably move expectations from tasks to parameters
100
100
  */
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Promptbook is the **core concept of this package**.
3
- * It represents a series of templates 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 template with input and result parameters.
4
4
  *
5
5
  * @see @@@ https://github.com/webgptorg/promptbook#promptbook
6
6
  */
@@ -1,4 +1,4 @@
1
- import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
1
+ import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson';
2
2
  /**
3
3
  * Determine if the pipeline is fully prepared
4
4
  *
@@ -12,5 +12,5 @@ export declare function isPipelinePrepared(pipeline: PipelineJson): boolean;
12
12
  * TODO: [🧿] Maybe do same process with same granularity and subfinctions as `preparePipeline`
13
13
  * - [🏍] ? Is context in each template
14
14
  * - [♨] Are examples prepared
15
- * - [♨] Are templates prepared
15
+ * - [♨] Are tasks prepared
16
16
  */
@@ -1,5 +1,5 @@
1
1
  import type { ExecutionTools } from '../execution/ExecutionTools';
2
- import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
2
+ import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson';
3
3
  import type { PrepareAndScrapeOptions } from './PrepareAndScrapeOptions';
4
4
  /**
5
5
  * Prepare pipeline from string (markdown) format to JSON format
@@ -1,8 +1,8 @@
1
1
  import type { ExecutionTools } from '../execution/ExecutionTools';
2
- import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
3
- import type { TemplateJson } from '../types/PipelineJson/TemplateJson';
2
+ import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson';
3
+ import type { TaskJson } from '../pipeline/PipelineJson/TaskJson';
4
4
  import type { PrepareAndScrapeOptions } from './PrepareAndScrapeOptions';
5
- type PrepareTemplateInput = Pick<PipelineJson, 'templates' | 'parameters'> & {
5
+ type PrepareTemplateInput = Pick<PipelineJson, 'tasks' | 'parameters'> & {
6
6
  /**
7
7
  * @@@
8
8
  */
@@ -10,21 +10,21 @@ type PrepareTemplateInput = Pick<PipelineJson, 'templates' | 'parameters'> & {
10
10
  };
11
11
  type PreparedTemplates = {
12
12
  /**
13
- * @@@ Sequence of templates that are chained together to form a pipeline
13
+ * @@@ Sequence of tasks that are chained together to form a pipeline
14
14
  */
15
- readonly templatesPrepared: ReadonlyArray<TemplateJson>;
15
+ readonly tasksPrepared: ReadonlyArray<TaskJson>;
16
16
  };
17
17
  /**
18
18
  * @@@
19
19
  *
20
20
  * @public exported from `@promptbook/core`
21
21
  */
22
- export declare function prepareTemplates(pipeline: PrepareTemplateInput, tools: Pick<ExecutionTools, 'llm' | 'fs' | 'scrapers'>, options: PrepareAndScrapeOptions): Promise<PreparedTemplates>;
22
+ export declare function prepareTasks(pipeline: PrepareTemplateInput, tools: Pick<ExecutionTools, 'llm' | 'fs' | 'scrapers'>, options: PrepareAndScrapeOptions): Promise<PreparedTemplates>;
23
23
  export {};
24
24
  /**
25
25
  * TODO: [🧠] Add context to each template (if missing)
26
26
  * TODO: [🧠] What is better name `prepareTemplate` or `prepareTemplateAndParameters`
27
- * TODO: [♨][main] !!! Prepare index the examples and maybe templates
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
30
30
  * TODO: [🧊] In future one preparation can take data from previous preparation and save tokens and time
@@ -1,4 +1,4 @@
1
- import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
1
+ import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson';
2
2
  /**
3
3
  * Unprepare just strips the preparation data of the pipeline
4
4
  *
@@ -1,5 +1,5 @@
1
1
  import type { Promisable } from 'type-fest';
2
- import type { KnowledgePiecePreparedJson } from '../../types/PipelineJson/KnowledgePieceJson';
2
+ import type { KnowledgePiecePreparedJson } from '../../pipeline/PipelineJson/KnowledgePieceJson';
3
3
  import type { string_filename } from '../../types/typeAliases';
4
4
  import type { string_knowledge_source_link } from '../../types/typeAliases';
5
5
  import type { string_mime_type } from '../../types/typeAliases';
@@ -1,6 +1,6 @@
1
+ import type { KnowledgePiecePreparedJson } from '../../pipeline/PipelineJson/KnowledgePieceJson';
2
+ import type { KnowledgeSourceJson } from '../../pipeline/PipelineJson/KnowledgeSourceJson';
1
3
  import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
2
- import type { KnowledgePiecePreparedJson } from '../../types/PipelineJson/KnowledgePieceJson';
3
- import type { KnowledgeSourceJson } from '../../types/PipelineJson/KnowledgeSourceJson';
4
4
  import type { ExecutionTools } from '../../execution/ExecutionTools';
5
5
  /**
6
6
  * Prepares the knowle
@@ -1,7 +1,7 @@
1
1
  import type { SetOptional } from 'type-fest';
2
2
  import type { ExecutionTools } from '../../../execution/ExecutionTools';
3
+ import type { KnowledgeSourceJson } from '../../../pipeline/PipelineJson/KnowledgeSourceJson';
3
4
  import type { PrepareAndScrapeOptions } from '../../../prepare/PrepareAndScrapeOptions';
4
- import type { KnowledgeSourceJson } from '../../../types/PipelineJson/KnowledgeSourceJson';
5
5
  import type { ScraperSourceHandler } from '../Scraper';
6
6
  /**
7
7
  * @@@
@@ -1,4 +1,4 @@
1
- import type { KnowledgePiecePreparedJson } from '../../types/PipelineJson/KnowledgePieceJson';
1
+ import type { KnowledgePiecePreparedJson } from '../../pipeline/PipelineJson/KnowledgePieceJson';
2
2
  import type { ExecutionTools } from '../../execution/ExecutionTools';
3
3
  import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
4
4
  import type { Converter } from '../_common/Converter';
@@ -10,4 +10,5 @@ import type { Registration } from '../../utils/$Register';
10
10
  export declare const _DocumentScraperRegistration: Registration;
11
11
  /**
12
12
  * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
13
+ * Note: [💞] Ignore a discrepancy between file name and entity name
13
14
  */
@@ -22,3 +22,6 @@ export declare const documentScraperMetadata: import("type-fest/source/readonly-
22
22
  * @public exported from `@promptbook/cli`
23
23
  */
24
24
  export declare const _DocumentScraperMetadataRegistration: Registration;
25
+ /**
26
+ * Note: [💞] Ignore a discrepancy between file name and entity name
27
+ */
@@ -1,4 +1,4 @@
1
- import type { KnowledgePiecePreparedJson } from '../../types/PipelineJson/KnowledgePieceJson';
1
+ import type { KnowledgePiecePreparedJson } from '../../pipeline/PipelineJson/KnowledgePieceJson';
2
2
  import type { ExecutionTools } from '../../execution/ExecutionTools';
3
3
  import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
4
4
  import type { Converter } from '../_common/Converter';
@@ -10,4 +10,5 @@ import type { Registration } from '../../utils/$Register';
10
10
  export declare const _LegacyDocumentScraperRegistration: Registration;
11
11
  /**
12
12
  * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
13
+ * Note: [💞] Ignore a discrepancy between file name and entity name
13
14
  */
@@ -22,3 +22,6 @@ export declare const legacyDocumentScraperMetadata: import("type-fest/source/rea
22
22
  * @public exported from `@promptbook/cli`
23
23
  */
24
24
  export declare const _LegacyDocumentScraperMetadataRegistration: Registration;
25
+ /**
26
+ * Note: [💞] Ignore a discrepancy between file name and entity name
27
+ */
@@ -1,4 +1,4 @@
1
- import type { KnowledgePiecePreparedJson } from '../../types/PipelineJson/KnowledgePieceJson';
1
+ import type { KnowledgePiecePreparedJson } from '../../pipeline/PipelineJson/KnowledgePieceJson';
2
2
  import type { Scraper } from '../_common/Scraper';
3
3
  import type { ScraperSourceHandler } from '../_common/Scraper';
4
4
  import type { ExecutionTools } from '../../execution/ExecutionTools';
@@ -10,4 +10,5 @@ import type { Registration } from '../../utils/$Register';
10
10
  export declare const _MarkdownScraperRegistration: Registration;
11
11
  /**
12
12
  * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
13
+ * Note: [💞] Ignore a discrepancy between file name and entity name
13
14
  */
@@ -22,3 +22,6 @@ export declare const markdownScraperMetadata: import("type-fest/source/readonly-
22
22
  * @public exported from `@promptbook/cli`
23
23
  */
24
24
  export declare const _MarkdownScraperMetadataRegistration: Registration;
25
+ /**
26
+ * Note: [💞] Ignore a discrepancy between file name and entity name
27
+ */
@@ -1,4 +1,4 @@
1
- import type { KnowledgePiecePreparedJson } from '../../types/PipelineJson/KnowledgePieceJson';
1
+ import type { KnowledgePiecePreparedJson } from '../../pipeline/PipelineJson/KnowledgePieceJson';
2
2
  import type { Scraper } from '../_common/Scraper';
3
3
  import type { ScraperSourceHandler } from '../_common/Scraper';
4
4
  import type { ExecutionTools } from '../../execution/ExecutionTools';