@promptbook/openai 0.61.0-1 → 0.61.0-10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/esm/index.es.js +1 -1
  2. package/esm/typings/promptbook-collection/index.d.ts +118 -26
  3. package/esm/typings/src/_packages/core.index.d.ts +5 -1
  4. package/esm/typings/src/_packages/types.index.d.ts +5 -3
  5. package/esm/typings/src/_packages/utils.index.d.ts +1 -2
  6. package/esm/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +1 -1
  7. package/esm/typings/src/collection/constructors/createCollectionFromUrl.d.ts +2 -2
  8. package/esm/typings/src/collection/constructors/justTestFsImport.d.ts +1 -1
  9. package/esm/typings/src/commands/MODEL/ModelCommand.d.ts +1 -1
  10. package/esm/typings/src/commands/PERSONA/PersonaCommand.d.ts +4 -2
  11. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +12 -12
  12. package/esm/typings/src/config.d.ts +4 -0
  13. package/esm/typings/src/conversion/pipelineStringToJson.d.ts +8 -5
  14. package/esm/typings/src/conversion/pipelineStringToJsonSync.d.ts +3 -3
  15. package/esm/typings/src/conversion/prettify/PrettifyOptions.d.ts +2 -2
  16. package/esm/typings/src/conversion/utils/renameParameter.d.ts +3 -3
  17. package/esm/typings/src/conversion/validation/_importPipeline.d.ts +2 -2
  18. package/esm/typings/src/errors/VersionMismatch.d.ts +8 -0
  19. package/esm/typings/src/execution/PipelineExecutor.d.ts +5 -5
  20. package/esm/typings/src/execution/PromptResult.d.ts +5 -5
  21. package/esm/typings/src/execution/ScriptExecutionTools.d.ts +3 -3
  22. package/esm/typings/src/execution/UserInterfaceTools.d.ts +5 -5
  23. package/esm/typings/src/execution/createPipelineExecutor.d.ts +2 -1
  24. package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/TranslatorOptions.d.ts +2 -2
  25. package/esm/typings/src/execution/utils/forEachAsync.d.ts +1 -1
  26. package/esm/typings/src/formats/csv/ListFormatDefinition.d.ts +1 -1
  27. package/esm/typings/src/formats/json/JsonFormatDefinition.d.ts +1 -1
  28. package/esm/typings/src/formats/list/ListFormatDefinition.d.ts +1 -1
  29. package/esm/typings/src/knowledge/dialogs/callback/CallbackInterfaceToolsOptions.d.ts +1 -1
  30. package/esm/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.d.ts +18 -0
  31. package/esm/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.test.d.ts +1 -0
  32. package/esm/typings/src/knowledge/prepare-knowledge/_common/utils/getLlmToolsForTests.d.ts +7 -0
  33. package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +8 -23
  34. package/esm/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +7 -14
  35. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +1 -1
  36. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +2 -2
  37. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +5 -5
  38. package/esm/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +1 -1
  39. package/esm/typings/src/llm-providers/openai/openai-models.d.ts +2 -2
  40. package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionToolsOptions.d.ts +1 -1
  41. package/esm/typings/src/personas/preparePersona.d.ts +13 -0
  42. package/esm/typings/src/personas/preparePersona.test.d.ts +1 -0
  43. package/esm/typings/src/prepare/PrepareOptions.d.ts +22 -0
  44. package/esm/typings/src/prepare/preparePipeline.d.ts +15 -0
  45. package/esm/typings/src/prepare/unpreparePipeline.d.ts +8 -0
  46. package/esm/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +1 -1
  47. package/esm/typings/src/scripting/javascript/utils/preserve.d.ts +1 -1
  48. package/esm/typings/src/types/ModelRequirements.d.ts +2 -1
  49. package/esm/typings/src/types/Parameters.d.ts +1 -0
  50. package/esm/typings/src/types/PipelineJson/Expectations.d.ts +6 -2
  51. package/esm/typings/src/types/PipelineJson/KnowledgePieceJson.d.ts +67 -0
  52. package/esm/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +24 -0
  53. package/esm/typings/src/types/PipelineJson/LlmTemplateJson.d.ts +8 -1
  54. package/esm/typings/src/types/PipelineJson/PersonaJson.d.ts +40 -0
  55. package/esm/typings/src/types/PipelineJson/PipelineJson.d.ts +27 -2
  56. package/esm/typings/src/types/PipelineJson/PreparationJson.d.ts +25 -0
  57. package/esm/typings/src/types/PipelineJson/PromptDialogJson.d.ts +2 -0
  58. package/esm/typings/src/types/PipelineJson/PromptTemplateJson.d.ts +1 -1
  59. package/esm/typings/src/types/PipelineJson/PromptTemplateJsonCommon.d.ts +7 -1
  60. package/esm/typings/src/types/PipelineJson/ScriptJson.d.ts +2 -0
  61. package/esm/typings/src/types/PipelineJson/SimpleTemplateJson.d.ts +2 -0
  62. package/esm/typings/src/types/execution-report/ExecutionReportJson.d.ts +4 -4
  63. package/esm/typings/src/types/execution-report/ExecutionReportStringOptions.d.ts +3 -3
  64. package/esm/typings/src/types/typeAliases.d.ts +27 -13
  65. package/esm/typings/src/utils/FromtoItems.d.ts +3 -3
  66. package/esm/typings/src/utils/currentDate.d.ts +7 -0
  67. package/esm/typings/src/utils/markdown/addAutoGeneratedSection.d.ts +2 -2
  68. package/esm/typings/src/utils/markdown/createMarkdownChart.d.ts +6 -9
  69. package/esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +2 -2
  70. package/esm/typings/src/utils/markdown/parseMarkdownSection.d.ts +3 -3
  71. package/esm/typings/src/utils/organization/TODO.d.ts +4 -0
  72. package/esm/typings/src/utils/organization/TODO_USE.d.ts +11 -0
  73. package/esm/typings/src/utils/organization/___.d.ts +4 -0
  74. package/esm/typings/src/utils/organization/really_any.d.ts +4 -0
  75. package/package.json +2 -2
  76. package/umd/index.umd.js +1 -1
  77. package/umd/typings/promptbook-collection/index.d.ts +118 -26
  78. package/umd/typings/src/_packages/core.index.d.ts +5 -1
  79. package/umd/typings/src/_packages/types.index.d.ts +5 -3
  80. package/umd/typings/src/_packages/utils.index.d.ts +1 -2
  81. package/umd/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +1 -1
  82. package/umd/typings/src/collection/constructors/createCollectionFromUrl.d.ts +2 -2
  83. package/umd/typings/src/collection/constructors/justTestFsImport.d.ts +1 -1
  84. package/umd/typings/src/commands/MODEL/ModelCommand.d.ts +1 -1
  85. package/umd/typings/src/commands/PERSONA/PersonaCommand.d.ts +4 -2
  86. package/umd/typings/src/commands/_common/types/CommandParser.d.ts +12 -12
  87. package/umd/typings/src/config.d.ts +4 -0
  88. package/umd/typings/src/conversion/pipelineStringToJson.d.ts +8 -5
  89. package/umd/typings/src/conversion/pipelineStringToJsonSync.d.ts +3 -3
  90. package/umd/typings/src/conversion/prettify/PrettifyOptions.d.ts +2 -2
  91. package/umd/typings/src/conversion/utils/renameParameter.d.ts +3 -3
  92. package/umd/typings/src/conversion/validation/_importPipeline.d.ts +2 -2
  93. package/umd/typings/src/errors/VersionMismatch.d.ts +8 -0
  94. package/umd/typings/src/execution/PipelineExecutor.d.ts +5 -5
  95. package/umd/typings/src/execution/PromptResult.d.ts +5 -5
  96. package/umd/typings/src/execution/ScriptExecutionTools.d.ts +3 -3
  97. package/umd/typings/src/execution/UserInterfaceTools.d.ts +5 -5
  98. package/umd/typings/src/execution/createPipelineExecutor.d.ts +2 -1
  99. package/umd/typings/src/execution/translation/automatic-translate/automatic-translators/TranslatorOptions.d.ts +2 -2
  100. package/umd/typings/src/execution/utils/forEachAsync.d.ts +1 -1
  101. package/umd/typings/src/formats/csv/ListFormatDefinition.d.ts +1 -1
  102. package/umd/typings/src/formats/json/JsonFormatDefinition.d.ts +1 -1
  103. package/umd/typings/src/formats/list/ListFormatDefinition.d.ts +1 -1
  104. package/umd/typings/src/knowledge/dialogs/callback/CallbackInterfaceToolsOptions.d.ts +1 -1
  105. package/umd/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.d.ts +18 -0
  106. package/umd/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.test.d.ts +1 -0
  107. package/umd/typings/src/knowledge/prepare-knowledge/_common/utils/getLlmToolsForTests.d.ts +7 -0
  108. package/umd/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +8 -23
  109. package/umd/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +7 -14
  110. package/umd/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +1 -1
  111. package/umd/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +2 -2
  112. package/umd/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +5 -5
  113. package/umd/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +1 -1
  114. package/umd/typings/src/llm-providers/openai/openai-models.d.ts +2 -2
  115. package/umd/typings/src/llm-providers/remote/RemoteLlmExecutionToolsOptions.d.ts +1 -1
  116. package/umd/typings/src/personas/preparePersona.d.ts +13 -0
  117. package/umd/typings/src/personas/preparePersona.test.d.ts +1 -0
  118. package/umd/typings/src/prepare/PrepareOptions.d.ts +22 -0
  119. package/umd/typings/src/prepare/preparePipeline.d.ts +15 -0
  120. package/umd/typings/src/prepare/unpreparePipeline.d.ts +8 -0
  121. package/umd/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +1 -1
  122. package/umd/typings/src/scripting/javascript/utils/preserve.d.ts +1 -1
  123. package/umd/typings/src/types/ModelRequirements.d.ts +2 -1
  124. package/umd/typings/src/types/Parameters.d.ts +1 -0
  125. package/umd/typings/src/types/PipelineJson/Expectations.d.ts +6 -2
  126. package/umd/typings/src/types/PipelineJson/KnowledgePieceJson.d.ts +67 -0
  127. package/umd/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +24 -0
  128. package/umd/typings/src/types/PipelineJson/LlmTemplateJson.d.ts +8 -1
  129. package/umd/typings/src/types/PipelineJson/PersonaJson.d.ts +40 -0
  130. package/umd/typings/src/types/PipelineJson/PipelineJson.d.ts +27 -2
  131. package/umd/typings/src/types/PipelineJson/PreparationJson.d.ts +25 -0
  132. package/umd/typings/src/types/PipelineJson/PromptDialogJson.d.ts +2 -0
  133. package/umd/typings/src/types/PipelineJson/PromptTemplateJson.d.ts +1 -1
  134. package/umd/typings/src/types/PipelineJson/PromptTemplateJsonCommon.d.ts +7 -1
  135. package/umd/typings/src/types/PipelineJson/ScriptJson.d.ts +2 -0
  136. package/umd/typings/src/types/PipelineJson/SimpleTemplateJson.d.ts +2 -0
  137. package/umd/typings/src/types/execution-report/ExecutionReportJson.d.ts +4 -4
  138. package/umd/typings/src/types/execution-report/ExecutionReportStringOptions.d.ts +3 -3
  139. package/umd/typings/src/types/typeAliases.d.ts +27 -13
  140. package/umd/typings/src/utils/FromtoItems.d.ts +3 -3
  141. package/umd/typings/src/utils/currentDate.d.ts +7 -0
  142. package/umd/typings/src/utils/markdown/addAutoGeneratedSection.d.ts +2 -2
  143. package/umd/typings/src/utils/markdown/createMarkdownChart.d.ts +6 -9
  144. package/umd/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +2 -2
  145. package/umd/typings/src/utils/markdown/parseMarkdownSection.d.ts +3 -3
  146. package/umd/typings/src/utils/organization/TODO.d.ts +4 -0
  147. package/umd/typings/src/utils/organization/TODO_USE.d.ts +11 -0
  148. package/umd/typings/src/utils/organization/___.d.ts +4 -0
  149. package/umd/typings/src/utils/organization/really_any.d.ts +4 -0
  150. package/esm/typings/src/personas/personaToModelRequirements.d.ts +0 -6
  151. package/esm/typings/src/types/PipelineJson/KnowledgeJson.d.ts +0 -6
  152. package/esm/typings/src/types/PipelineJson/MaterialKnowledgePieceJson.d.ts +0 -28
  153. package/umd/typings/src/personas/personaToModelRequirements.d.ts +0 -6
  154. package/umd/typings/src/types/PipelineJson/KnowledgeJson.d.ts +0 -6
  155. package/umd/typings/src/types/PipelineJson/MaterialKnowledgePieceJson.d.ts +0 -28
  156. /package/esm/typings/src/_packages/{markdown-utils.d.ts → markdown-utils.index.d.ts} +0 -0
  157. /package/esm/typings/src/utils/{just.d.ts → organization/just.d.ts} +0 -0
  158. /package/umd/typings/src/_packages/{markdown-utils.d.ts → markdown-utils.index.d.ts} +0 -0
  159. /package/umd/typings/src/utils/{just.d.ts → organization/just.d.ts} +0 -0
@@ -0,0 +1,67 @@
1
+ import type { EmbeddingVector } from '../../execution/EmbeddingVector';
2
+ 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
+ /**
10
+ * Defines one piece of knowledge in the pipeline
11
+ *
12
+ * Note: Knowledge piece is by definition prepared
13
+ *
14
+ * @see https://github.com/webgptorg/promptbook/discussions/41
15
+ */
16
+ export type KnowledgePiecePreparedJson = {
17
+ /**
18
+ * Unique name of the knowledge piece based on the title
19
+ */
20
+ readonly name?: string_name;
21
+ /**
22
+ * Short title for the information
23
+ */
24
+ readonly title?: string_markdown_text;
25
+ /**
26
+ * The information in markdown format
27
+ */
28
+ readonly content?: string_markdown;
29
+ /**
30
+ * List of sources where the information comes from
31
+ */
32
+ readonly sources: Array<{
33
+ /**
34
+ * Identifier of the source
35
+ */
36
+ readonly name: string_name;
37
+ /**
38
+ * Line number
39
+ */
40
+ readonly line?: number_linecol_number;
41
+ /**
42
+ * Column number
43
+ */
44
+ readonly column?: number_linecol_number;
45
+ }>;
46
+ /**
47
+ * List of keywords that are associated with the knowledge piece
48
+ */
49
+ readonly keywords: Array<string_keyword>;
50
+ /**
51
+ * List of models embeddings that are associated with the knowledge piece
52
+ */
53
+ readonly index: Array<{
54
+ /**
55
+ * Model name which generated the embedding
56
+ */
57
+ readonly modelName: string_model_name;
58
+ /**
59
+ * Embedding vector of the knowledge piece
60
+ */
61
+ readonly position: EmbeddingVector;
62
+ }>;
63
+ /**
64
+ * List of preparation ids that were used to prepare this knowledge piece
65
+ */
66
+ readonly preparationIds: Array<number_id>;
67
+ };
@@ -0,0 +1,24 @@
1
+ import type { number_id } from '../typeAliases';
2
+ import type { string_knowledge_source } from '../typeAliases';
3
+ import type { string_name } from '../typeAliases';
4
+ /**
5
+ * Defines one source of knowledge in the pipeline
6
+ * For example, a source of information, a fact, a quote, a definition, website, etc.
7
+ *
8
+ * @see https://github.com/webgptorg/promptbook/discussions/41
9
+ */
10
+ export type KnowledgeSourceJson = {
11
+ readonly name: string_name;
12
+ readonly source: string_knowledge_source;
13
+ };
14
+ /**
15
+ * Defines one source of knowledge in the pipeline after it has been prepared
16
+ *
17
+ * @see https://github.com/webgptorg/promptbook/discussions/41
18
+ */
19
+ export type KnowledgeSourcePreparedJson = KnowledgeSourceJson & {
20
+ /**
21
+ * List of preparation ids that were used to prepare this knowledge source to knowledge pieces
22
+ */
23
+ readonly preparationIds: Array<number_id>;
24
+ };
@@ -1,10 +1,15 @@
1
1
  import type { ModelRequirements } from '../ModelRequirements';
2
+ import type { string_name } from '../typeAliases';
2
3
  import type { PromptTemplateJsonCommon } from './PromptTemplateJsonCommon';
3
4
  /**
4
5
  * Template for prompt to LLM
5
6
  */
6
7
  export type LlmTemplateJson = PromptTemplateJsonCommon & {
7
8
  readonly blockType: 'PROMPT_TEMPLATE';
9
+ /**
10
+ * Name of the persona who will be responding to this prompt
11
+ */
12
+ readonly personaName: string_name | null;
8
13
  /**
9
14
  * Requirements for the model
10
15
  * - This is required only for blockType PROMPT_TEMPLATE
@@ -12,5 +17,7 @@ export type LlmTemplateJson = PromptTemplateJsonCommon & {
12
17
  readonly modelRequirements: ModelRequirements;
13
18
  };
14
19
  /**
15
- * TODO: [👙][🧠] Just selecting gpt3 or gpt4 level of modelT
20
+ * TODO: [👙][🧠] Maybe add `knowledge`, `actions` and `instruments` to be available granularly for each template
21
+ * @see https://github.com/webgptorg/promptbook/discussions/79
22
+ * TODO: [💕][🧠] Just selecting gpt3 or gpt4 level of model
16
23
  */
@@ -0,0 +1,40 @@
1
+ import type { ModelRequirements } from '../ModelRequirements';
2
+ import type { number_id } from '../typeAliases';
3
+ import type { string_name } from '../typeAliases';
4
+ import type { string_persona_description } from '../typeAliases';
5
+ /**
6
+ * Defines a persona in the pipeline
7
+ *
8
+ * @see https://github.com/webgptorg/promptbook/discussions/22
9
+ */
10
+ export type PersonaJson = {
11
+ /**
12
+ * Name of the template
13
+ * - It must be unique across the pipeline
14
+ * - It should start uppercase and can contain letters and numbers
15
+ */
16
+ readonly name: string_name;
17
+ /**
18
+ * Description of persona
19
+ */
20
+ readonly description: string_persona_description;
21
+ };
22
+ /**
23
+ * Defines a persona in the pipeline after it has been prepared
24
+ *
25
+ * @see https://github.com/webgptorg/promptbook/discussions/22
26
+ */
27
+ export type PersonaPreparedJson = PersonaJson & {
28
+ /**
29
+ * Model requirements for the persona
30
+ *
31
+ * Note: The model must be CHAT variant to be usable through persona
32
+ */
33
+ readonly modelRequirements: ModelRequirements & {
34
+ readonly modelVariant: 'CHAT';
35
+ };
36
+ /**
37
+ * List of preparation ids that were used to prepare this persona
38
+ */
39
+ readonly preparationIds: Array<number_id>;
40
+ };
@@ -2,7 +2,12 @@ import type { string_file_path } from '../typeAliases';
2
2
  import type { string_markdown_text } from '../typeAliases';
3
3
  import type { string_pipeline_url } from '../typeAliases';
4
4
  import type { string_semantic_version } from '../typeAliases';
5
- import type { KnowledgeJson } from './KnowledgeJson';
5
+ import type { KnowledgePiecePreparedJson } from './KnowledgePieceJson';
6
+ import type { KnowledgeSourceJson } from './KnowledgeSourceJson';
7
+ import type { KnowledgeSourcePreparedJson } from './KnowledgeSourceJson';
8
+ import type { PersonaJson } from './PersonaJson';
9
+ import type { PersonaPreparedJson } from './PersonaJson';
10
+ import type { PreparationJson } from './PreparationJson';
6
11
  import type { PromptTemplateJson } from './PromptTemplateJson';
7
12
  import type { PromptTemplateParameterJson } from './PromptTemplateParameterJson';
8
13
  /**
@@ -50,8 +55,28 @@ export type PipelineJson = {
50
55
  readonly promptTemplates: Array<PromptTemplateJson>;
51
56
  /**
52
57
  * Set of information that are used as external knowledge in the pipeline
58
+ *
59
+ * @see https://github.com/webgptorg/promptbook/discussions/41
60
+ */
61
+ readonly knowledgeSources: Array<KnowledgeSourceJson | KnowledgeSourcePreparedJson>;
62
+ /**
63
+ * Set of information that are used as external knowledge in the pipeline
64
+ *
65
+ * @see https://github.com/webgptorg/promptbook/discussions/41
66
+ */
67
+ readonly knowledgePieces: Array<KnowledgePiecePreparedJson>;
68
+ /**
69
+ * List of prepared virtual personas that are used in the pipeline
70
+ *
71
+ * @see https://github.com/webgptorg/promptbook/discussions/22
72
+ */
73
+ readonly personas: Array<PersonaJson | PersonaPreparedJson>;
74
+ /**
75
+ * List of prepared virtual personas that are used in the pipeline
76
+ *
77
+ * @see https://github.com/webgptorg/promptbook/discussions/78
53
78
  */
54
- readonly knowledge: KnowledgeJson;
79
+ readonly preparations: Array<PreparationJson>;
55
80
  };
56
81
  /**
57
82
  * TODO: !!!!! Implement new commands
@@ -0,0 +1,25 @@
1
+ import type { PromptResultUsage } from '../../execution/PromptResult';
2
+ import type { string_promptbook_version } from '../../version';
3
+ import type { number_id } from '../typeAliases';
4
+ import type { string_date_iso8601 } from '../typeAliases';
5
+ export type PreparationJson = {
6
+ /**
7
+ * Incremental ID of the preparation
8
+ */
9
+ readonly id: number_id;
10
+ /**
11
+ * Date and time of the preparation
12
+ */
13
+ readonly date: string_date_iso8601;
14
+ /**
15
+ * Version of the promptbook used for the preparation
16
+ */
17
+ readonly promptbookVersion: string_promptbook_version;
18
+ /**
19
+ * Usage of the prompt execution
20
+ */
21
+ readonly modelUsage: PromptResultUsage;
22
+ };
23
+ /**
24
+ * TODO: Maybe put here used `modelName`
25
+ */
@@ -1,6 +1,8 @@
1
1
  import type { PromptTemplateJsonCommon } from './PromptTemplateJsonCommon';
2
2
  /**
3
3
  * Template for prompt to user
4
+ *
5
+ * @see https://github.com/webgptorg/promptbook/discussions/76
4
6
  */
5
7
  export interface PromptDialogJson extends PromptTemplateJsonCommon {
6
8
  readonly blockType: 'PROMPT_DIALOG';
@@ -1,4 +1,4 @@
1
- import type { ___ } from '../typeAliases';
1
+ import type { ___ } from '../../utils/organization/___';
2
2
  import type { LlmTemplateJson } from './LlmTemplateJson';
3
3
  import type { PromptDialogJson } from './PromptDialogJson';
4
4
  import type { ScriptJson } from './ScriptJson';
@@ -15,7 +15,7 @@ export interface PromptTemplateJsonCommon {
15
15
  /**
16
16
  * Name of the template
17
17
  * - It must be unique across the pipeline
18
- * - It should start uppercase and contain letters and numbers
18
+ * - It should start uppercase and can contain letters and numbers
19
19
  * - The pipelineUrl together with hash and name are used to identify the prompt template in the pipeline
20
20
  */
21
21
  readonly name: string_name;
@@ -37,6 +37,8 @@ export interface PromptTemplateJsonCommon {
37
37
  readonly dependentParameterNames: Array<string_name>;
38
38
  /**
39
39
  * If theese parameters meet the expectations requirements, they are used instead of executing this prompt template
40
+ *
41
+ * @see https://github.com/webgptorg/promptbook/discussions/66
40
42
  */
41
43
  readonly jokers?: Array<string>;
42
44
  /**
@@ -50,6 +52,8 @@ export interface PromptTemplateJsonCommon {
50
52
  readonly content: (string_prompt | string_javascript | string_markdown) & string_template;
51
53
  /**
52
54
  * List of postprocessing steps that are executed after the prompt template
55
+ *
56
+ * @see https://github.com/webgptorg/promptbook/discussions/31
53
57
  */
54
58
  readonly postprocessing?: Array<string_javascript_name>;
55
59
  /**
@@ -58,12 +62,14 @@ export interface PromptTemplateJsonCommon {
58
62
  * For example 5 words, 3 sentences, 2 paragraphs, ...
59
63
  *
60
64
  * Note: Expectations are performed after all postprocessing steps
65
+ * @see https://github.com/webgptorg/promptbook/discussions/30
61
66
  */
62
67
  readonly expectations?: Expectations;
63
68
  /**
64
69
  * Expect this format of the answer
65
70
  *
66
71
  * Note: Expectations are performed after all postprocessing steps
72
+ * @see https://github.com/webgptorg/promptbook/discussions/30
67
73
  * @deprecated [💝]
68
74
  */
69
75
  readonly expectFormat?: ExpectFormatCommand['format'];
@@ -2,6 +2,8 @@ import type { ScriptLanguage } from '../ScriptLanguage';
2
2
  import type { PromptTemplateJsonCommon } from './PromptTemplateJsonCommon';
3
3
  /**
4
4
  * Template for script execution
5
+ *
6
+ * @see https://github.com/webgptorg/promptbook/discussions/77
5
7
  */
6
8
  export interface ScriptJson extends PromptTemplateJsonCommon {
7
9
  readonly blockType: 'SCRIPT';
@@ -1,6 +1,8 @@
1
1
  import type { PromptTemplateJsonCommon } from './PromptTemplateJsonCommon';
2
2
  /**
3
3
  * Template for simple concatenation of strings
4
+ *
5
+ * @see https://github.com/webgptorg/promptbook/discussions/17
4
6
  */
5
7
  export interface SimpleTemplateJson extends PromptTemplateJsonCommon {
6
8
  readonly blockType: 'SIMPLE_TEMPLATE';
@@ -41,18 +41,18 @@ export type ExecutionReportJson = {
41
41
  /**
42
42
  * The prompt wich was executed
43
43
  */
44
- prompt: Omit<Prompt, 'pipelineUrl' | 'parameters'>;
44
+ readonly prompt: Omit<Prompt, 'pipelineUrl' | 'parameters'>;
45
45
  /**
46
46
  * Result of the prompt execution (if not failed during LLM execution)
47
47
  */
48
- result?: PromptResult;
48
+ readonly result?: PromptResult;
49
49
  /**
50
50
  * The error which occured during LLM execution or during postprocessing or expectation checking
51
51
  *
52
52
  * Note: It makes sense to have both error and result defined, for example when the result not pass expectations
53
53
  */
54
- error?: {
55
- message: string;
54
+ readonly error?: {
55
+ readonly message: string;
56
56
  };
57
57
  }>;
58
58
  };
@@ -1,16 +1,16 @@
1
1
  import type { number_percent } from '../typeAliases';
2
2
  /**
3
- * Options for generating an execution report string
3
+ * Options for `executionReportJsonToString`
4
4
  */
5
5
  export type ExecutionReportStringOptions = {
6
6
  /**
7
7
  * The tax rate to be applied, expressed as a percentage from 0 to 1 (=100%) or even more
8
8
  */
9
- taxRate: number_percent;
9
+ readonly taxRate: number_percent;
10
10
  /**
11
11
  * The width of the charts in the report
12
12
  */
13
- chartsWidth: number;
13
+ readonly chartsWidth: number;
14
14
  };
15
15
  /**
16
16
  * Default options for generating an execution report string
@@ -80,6 +80,23 @@ export type string_name = string;
80
80
  * For example `"Ai*nautes"`
81
81
  */
82
82
  export type string_title = string;
83
+ /**
84
+ * Description of persona
85
+ *
86
+ * For example `"Skilled copywriter"`
87
+ */
88
+ export type string_persona_description = string;
89
+ /**
90
+ * Source of one knowledge
91
+ *
92
+ * It can be a link, a relative path to file or direct text
93
+ *
94
+ * For example `"https://pavolhejny.com/"`
95
+ * For example `"./pavol-hejny-cv.pdf"`
96
+ * For example `"Pavol Hejný has web https://pavolhejny.com/"`
97
+ * For example `"Pavol Hejný is web developer and creator of Promptbook and Collboard"`
98
+ */
99
+ export type string_knowledge_source = string_url | string_file_path | string;
83
100
  /**
84
101
  * Semantic helper
85
102
  *
@@ -428,6 +445,14 @@ export type string_date_iso8601 = `${number}-${number}-${number}${string}${numbe
428
445
  * Semantic helper for US Dollars
429
446
  */
430
447
  export type number_usd = number;
448
+ /**
449
+ * Semantic helper for incremental IDs
450
+ */
451
+ export type number_id = number_integer & (number_positive | 0);
452
+ /**
453
+ * Semantic helper for number of rows and columns
454
+ */
455
+ export type number_linecol_number = number_integer & number_positive;
431
456
  /**
432
457
  * Semantic helper for number of tokens
433
458
  */
@@ -462,19 +487,8 @@ export type number_kilobytes = number_positive;
462
487
  export type number_megabytes = number_positive;
463
488
  export type number_gigabytes = number_positive;
464
489
  export type number_terabytes = number_positive;
465
- /**
466
- * Formatting helper to put void to keep longer version of prettier
467
- */
468
- export type ___ = never;
469
- /**
470
- * Organizational helper to better mark the place where the type is missing
471
- */
472
- export type TODO = any;
473
- /**
474
- * Organizational helper to mark a place where to really use any
475
- */
476
- export type really_any = any;
477
- /**
490
+ /**.
491
+ * TODO: !!! Change "For example" to @example
478
492
  * TODO: !! Cleanup
479
493
  * TODO: !! Change to branded types
480
494
  */
@@ -5,15 +5,15 @@ export type FromtoItems = Array<{
5
5
  /**
6
6
  * The title of the item
7
7
  */
8
- title: string;
8
+ readonly title: string;
9
9
  /**
10
10
  * The start of the item
11
11
  *
12
12
  * This can mean anything, like seconds, milliseconds, dollars, etc.
13
13
  */
14
- from: number;
14
+ readonly from: number;
15
15
  /**
16
16
  * The end of the item
17
17
  */
18
- to: number;
18
+ readonly to: number;
19
19
  }>;
@@ -0,0 +1,7 @@
1
+ import type { string_date_iso8601 } from '../types/typeAliases';
2
+ /**
3
+ * Simple wrapper `new Date().toISOString()`
4
+ *
5
+ * @returns string_date branded type
6
+ */
7
+ export declare function $currentDate(): string_date_iso8601;
@@ -6,6 +6,6 @@ import type { string_name } from '../../types/typeAliases';
6
6
  * @private within the package
7
7
  */
8
8
  export declare function addAutoGeneratedSection(content: string_markdown, options: {
9
- sectionName: string_name;
10
- sectionContent: string_markdown;
9
+ readonly sectionName: string_name;
10
+ readonly sectionContent: string_markdown;
11
11
  }): string_markdown;
@@ -1,32 +1,29 @@
1
1
  import type { string_markdown } from '../../types/typeAliases';
2
2
  import type { FromtoItems } from '../FromtoItems';
3
3
  /**
4
- * Options for creating a markdown chart
5
- */
6
- /**
7
- * Options for creating a markdown chart.
4
+ * Options for `CreateMarkdownChartOptions`
8
5
  */
9
6
  type CreateMarkdownChartOptions = {
10
7
  /**
11
8
  * The header for the first column - the name of the item
12
9
  */
13
- nameHeader: string;
10
+ readonly nameHeader: string;
14
11
  /**
15
12
  * The header for the second column - the value of the item
16
13
  */
17
- valueHeader: string;
14
+ readonly valueHeader: string;
18
15
  /**
19
16
  * The items to be charted
20
17
  */
21
- items: FromtoItems;
18
+ readonly items: FromtoItems;
22
19
  /**
23
20
  * The width of the chart in squares
24
21
  */
25
- width: number;
22
+ readonly width: number;
26
23
  /**
27
24
  * The name of the unit shown in the chart
28
25
  */
29
- unitName: string;
26
+ readonly unitName: string;
30
27
  };
31
28
  /**
32
29
  * Function createMarkdownChart will draw a chart in markdown from ⬛+🟦 tiles
@@ -6,11 +6,11 @@ export type CodeBlock = {
6
6
  /**
7
7
  * Language of the code block OR null if the language is not specified in opening ```
8
8
  */
9
- language: string | null;
9
+ readonly language: string | null;
10
10
  /**
11
11
  * Content of the code block (unescaped)
12
12
  */
13
- content: string;
13
+ readonly content: string;
14
14
  };
15
15
  /**
16
16
  * Extracts all code blocks from markdown.
@@ -8,15 +8,15 @@ export type MarkdownSection = {
8
8
  /**
9
9
  * Title of the section
10
10
  */
11
- title: string_markdown_text;
11
+ readonly title: string_markdown_text;
12
12
  /**
13
13
  * Level of the section like h1, h2, h3, h4, h5, h6
14
14
  */
15
- level: 1 | 2 | 3 | 4 | 5 | 6;
15
+ readonly level: 1 | 2 | 3 | 4 | 5 | 6;
16
16
  /**
17
17
  * Content of the section with markdown formatting, blocks, lists, etc.
18
18
  */
19
- content: string_markdown_section_content;
19
+ readonly content: string_markdown_section_content;
20
20
  };
21
21
  /**
22
22
  * Parses markdown section to title its level and content
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Organizational helper to better mark the place where the type is missing
3
+ */
4
+ export type TODO = any;
@@ -0,0 +1,11 @@
1
+ import type { really_any } from './really_any';
2
+ /**
3
+ * Just marks a place of place where should be something implemented
4
+ * No side effects.
5
+ *
6
+ * Note: It can be usefull suppressing eslint errors of unused variables
7
+ *
8
+ * @param value any values
9
+ * @returns void
10
+ */
11
+ export declare function TODO_USE(...value: Array<really_any>): void;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Formatting helper to put void to keep longer version of prettier
3
+ */
4
+ export type ___ = never;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Organizational helper to mark a place where to really use any
3
+ */
4
+ export type really_any = any;
@@ -1,6 +0,0 @@
1
- /**
2
- * Function personaToModelRequirements will @@@
3
- *
4
- * @private within the package
5
- */
6
- export declare function personaToModelRequirements(value: string): boolean;
@@ -1,6 +0,0 @@
1
- import type { MaterialKnowledgePieceJson } from './MaterialKnowledgePieceJson';
2
- export type KnowledgeJson = Array<MaterialKnowledgePieceJson>;
3
- /**
4
- * !!!! Annotate
5
- * TODO: [🦪] Internal links between (Material)KnowledgePieces withing the KnowledgeJson
6
- */
@@ -1,28 +0,0 @@
1
- import type { EmbeddingVector } from '../../execution/EmbeddingVector';
2
- import type { string_keyword } from '../../utils/normalization/IKeywords';
3
- import type { string_href } from '../typeAliases';
4
- import type { string_markdown } from '../typeAliases';
5
- import type { string_markdown_text } from '../typeAliases';
6
- import type { string_model_name } from '../typeAliases';
7
- import type { string_name } from '../typeAliases';
8
- export type MaterialKnowledgePieceJson = {
9
- readonly name: string_name;
10
- readonly title: string_markdown_text;
11
- readonly content: string_markdown;
12
- readonly keywords: Array<string_keyword>;
13
- readonly index: Array<{
14
- modelName: string_model_name;
15
- position: EmbeddingVector;
16
- }>;
17
- readonly sources: Array<{
18
- title: string_markdown_text;
19
- href: string_href;
20
- }>;
21
- };
22
- /**
23
- * TODO: !!! Use or uninstall xyzt
24
- * !!!! Annotate
25
- * TODO: [🧠][🦪] Maybe allow internal links between (Material)KnowledgePieces withing the KnowledgeJson and maybe require to explicitelly reference the source of the knowledge
26
- * TODO: [🧠] Make some non-material sources like external search engine or dialog to user
27
- * TODO: [🧠] Make some non-material (and maybe non-knowledge-like but tool-like) sources like calculator, code interpreter
28
- */
@@ -1,6 +0,0 @@
1
- /**
2
- * Function personaToModelRequirements will @@@
3
- *
4
- * @private within the package
5
- */
6
- export declare function personaToModelRequirements(value: string): boolean;
@@ -1,6 +0,0 @@
1
- import type { MaterialKnowledgePieceJson } from './MaterialKnowledgePieceJson';
2
- export type KnowledgeJson = Array<MaterialKnowledgePieceJson>;
3
- /**
4
- * !!!! Annotate
5
- * TODO: [🦪] Internal links between (Material)KnowledgePieces withing the KnowledgeJson
6
- */
@@ -1,28 +0,0 @@
1
- import type { EmbeddingVector } from '../../execution/EmbeddingVector';
2
- import type { string_keyword } from '../../utils/normalization/IKeywords';
3
- import type { string_href } from '../typeAliases';
4
- import type { string_markdown } from '../typeAliases';
5
- import type { string_markdown_text } from '../typeAliases';
6
- import type { string_model_name } from '../typeAliases';
7
- import type { string_name } from '../typeAliases';
8
- export type MaterialKnowledgePieceJson = {
9
- readonly name: string_name;
10
- readonly title: string_markdown_text;
11
- readonly content: string_markdown;
12
- readonly keywords: Array<string_keyword>;
13
- readonly index: Array<{
14
- modelName: string_model_name;
15
- position: EmbeddingVector;
16
- }>;
17
- readonly sources: Array<{
18
- title: string_markdown_text;
19
- href: string_href;
20
- }>;
21
- };
22
- /**
23
- * TODO: !!! Use or uninstall xyzt
24
- * !!!! Annotate
25
- * TODO: [🧠][🦪] Maybe allow internal links between (Material)KnowledgePieces withing the KnowledgeJson and maybe require to explicitelly reference the source of the knowledge
26
- * TODO: [🧠] Make some non-material sources like external search engine or dialog to user
27
- * TODO: [🧠] Make some non-material (and maybe non-knowledge-like but tool-like) sources like calculator, code interpreter
28
- */