@promptbook/types 0.61.0-1 → 0.61.0-11

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 (225) hide show
  1. package/esm/index.es.js +2 -1
  2. package/esm/index.es.js.map +1 -1
  3. package/esm/typings/promptbook-collection/index.d.ts +196 -23
  4. package/esm/typings/src/_packages/core.index.d.ts +5 -1
  5. package/esm/typings/src/_packages/types.index.d.ts +6 -4
  6. package/esm/typings/src/_packages/utils.index.d.ts +4 -3
  7. package/esm/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +1 -1
  8. package/esm/typings/src/collection/constructors/createCollectionFromUrl.d.ts +2 -2
  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 +15 -12
  12. package/esm/typings/src/config.d.ts +8 -0
  13. package/esm/typings/src/conversion/pipelineStringToJson.d.ts +9 -5
  14. package/esm/typings/src/conversion/pipelineStringToJsonSync.d.ts +5 -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/conversion/validation/validatePipeline.d.ts +4 -0
  19. package/esm/typings/src/errors/EnvironmentMismatchError.d.ts +7 -0
  20. package/esm/typings/src/errors/VersionMismatchError.d.ts +8 -0
  21. package/esm/typings/src/execution/LlmExecutionTools.d.ts +3 -1
  22. package/esm/typings/src/execution/PipelineExecutor.d.ts +8 -7
  23. package/esm/typings/src/execution/PromptResult.d.ts +17 -5
  24. package/esm/typings/src/execution/ScriptExecutionTools.d.ts +6 -4
  25. package/esm/typings/src/execution/UserInterfaceTools.d.ts +5 -5
  26. package/esm/typings/src/execution/createPipelineExecutor.d.ts +4 -1
  27. package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/TranslatorOptions.d.ts +2 -2
  28. package/esm/typings/src/execution/utils/forEachAsync.d.ts +1 -1
  29. package/esm/typings/src/formats/csv/ListFormatDefinition.d.ts +1 -1
  30. package/esm/typings/src/formats/json/JsonFormatDefinition.d.ts +1 -1
  31. package/esm/typings/src/formats/list/ListFormatDefinition.d.ts +1 -1
  32. package/esm/typings/src/knowledge/dialogs/callback/CallbackInterfaceToolsOptions.d.ts +1 -1
  33. package/esm/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.d.ts +18 -0
  34. package/esm/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.test.d.ts +1 -0
  35. package/esm/typings/src/knowledge/prepare-knowledge/_common/utils/getLlmToolsForTestingAndScriptsAndPlayground.d.ts +10 -0
  36. package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +8 -23
  37. package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.test.d.ts +3 -0
  38. package/esm/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +7 -14
  39. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +1 -1
  40. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +2 -2
  41. package/esm/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +3 -0
  42. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +5 -5
  43. package/esm/typings/src/llm-providers/azure-openai/playground/playground.d.ts +3 -0
  44. package/esm/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +1 -1
  45. package/esm/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +1 -1
  46. package/esm/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +3 -1
  47. package/esm/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +1 -1
  48. package/esm/typings/src/llm-providers/openai/openai-models.d.ts +3 -2
  49. package/esm/typings/src/llm-providers/openai/playground/playground.d.ts +3 -0
  50. package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionToolsOptions.d.ts +1 -1
  51. package/esm/typings/src/llm-providers/utils/cache/CacheItem.d.ts +29 -0
  52. package/esm/typings/src/llm-providers/utils/cache/CacheLlmToolsOptions.d.ts +10 -0
  53. package/esm/typings/src/llm-providers/utils/cache/cacheLlmTools.d.ts +17 -0
  54. package/esm/typings/src/llm-providers/utils/count-total-cost/LlmExecutionToolsWithTotalCost.d.ts +11 -0
  55. package/esm/typings/src/llm-providers/utils/count-total-cost/countTotalCost.d.ts +14 -0
  56. package/esm/typings/src/llm-providers/utils/createLlmToolsFromEnv.d.ts +21 -0
  57. package/esm/typings/src/personas/preparePersona.d.ts +10 -0
  58. package/esm/typings/src/personas/preparePersona.test.d.ts +1 -0
  59. package/esm/typings/src/prepare/PrepareOptions.d.ts +22 -0
  60. package/esm/typings/src/prepare/preparePipeline.d.ts +16 -0
  61. package/esm/typings/src/prepare/unpreparePipeline.d.ts +8 -0
  62. package/esm/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +1 -1
  63. package/esm/typings/src/scripting/javascript/utils/preserve.d.ts +1 -1
  64. package/esm/typings/src/storage/_common/PromptbookStorage.d.ts +24 -0
  65. package/esm/typings/src/storage/_common/PromptbookStorage.test-type.d.ts +5 -0
  66. package/esm/typings/src/storage/files-storage/FilesStorage.d.ts +28 -0
  67. package/esm/typings/src/storage/files-storage/FilesStorageOptions.d.ts +10 -0
  68. package/esm/typings/src/storage/files-storage/utils/nameToSubfolderPath.d.ts +7 -0
  69. package/esm/typings/src/storage/files-storage/utils/nameToSubfolderPath.test.d.ts +1 -0
  70. package/esm/typings/src/storage/local-storage/getLocalStorage.d.ts +8 -0
  71. package/esm/typings/src/storage/local-storage/getSessionStorage.d.ts +8 -0
  72. package/esm/typings/src/storage/memory/MemoryStorage.d.ts +31 -0
  73. package/esm/typings/src/storage/utils/PrefixStorage.d.ts +23 -0
  74. package/esm/typings/src/storage/utils/makePromptbookStorageFromWebStorage.d.ts +12 -0
  75. package/esm/typings/src/types/ModelRequirements.d.ts +22 -1
  76. package/esm/typings/src/types/PipelineJson/Expectations.d.ts +6 -2
  77. package/esm/typings/src/types/PipelineJson/KnowledgePieceJson.d.ts +67 -0
  78. package/esm/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +24 -0
  79. package/esm/typings/src/types/PipelineJson/LlmTemplateJson.d.ts +8 -1
  80. package/esm/typings/src/types/PipelineJson/PersonaJson.d.ts +40 -0
  81. package/esm/typings/src/types/PipelineJson/PipelineJson.d.ts +27 -3
  82. package/esm/typings/src/types/PipelineJson/PreparationJson.d.ts +21 -0
  83. package/esm/typings/src/types/PipelineJson/PromptDialogJson.d.ts +2 -0
  84. package/esm/typings/src/types/PipelineJson/PromptTemplateJson.d.ts +1 -1
  85. package/esm/typings/src/types/PipelineJson/PromptTemplateJsonCommon.d.ts +8 -1
  86. package/esm/typings/src/types/PipelineJson/PromptTemplateParameterJson.d.ts +11 -2
  87. package/esm/typings/src/types/PipelineJson/ScriptJson.d.ts +2 -0
  88. package/esm/typings/src/types/PipelineJson/SimpleTemplateJson.d.ts +2 -0
  89. package/esm/typings/src/types/Prompt.d.ts +5 -2
  90. package/esm/typings/src/types/execution-report/ExecutionReportJson.d.ts +4 -4
  91. package/esm/typings/src/types/execution-report/ExecutionReportStringOptions.d.ts +3 -3
  92. package/esm/typings/src/types/typeAliases.d.ts +62 -14
  93. package/esm/typings/src/utils/FromtoItems.d.ts +3 -3
  94. package/esm/typings/src/utils/currentDate.d.ts +7 -0
  95. package/esm/typings/src/utils/markdown/addAutoGeneratedSection.d.ts +2 -2
  96. package/esm/typings/src/utils/markdown/createMarkdownChart.d.ts +6 -9
  97. package/esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown-real.test.d.ts +1 -0
  98. package/esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +9 -2
  99. package/esm/typings/src/utils/markdown/extractOneBlockFromMarkdown.d.ts +1 -1
  100. package/esm/typings/src/utils/markdown/parseMarkdownSection.d.ts +3 -3
  101. package/esm/typings/src/utils/organization/TODO.d.ts +4 -0
  102. package/esm/typings/src/utils/organization/TODO_USE.d.ts +11 -0
  103. package/esm/typings/src/utils/organization/___.d.ts +4 -0
  104. package/esm/typings/src/utils/organization/notUsing.d.ts +11 -0
  105. package/esm/typings/src/utils/organization/really_any.d.ts +4 -0
  106. package/esm/typings/src/utils/random/randomSeed.d.ts +7 -0
  107. package/package.json +2 -2
  108. package/umd/index.umd.js +2 -1
  109. package/umd/index.umd.js.map +1 -1
  110. package/umd/typings/promptbook-collection/index.d.ts +196 -23
  111. package/umd/typings/src/_packages/core.index.d.ts +5 -1
  112. package/umd/typings/src/_packages/types.index.d.ts +6 -4
  113. package/umd/typings/src/_packages/utils.index.d.ts +4 -3
  114. package/umd/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +1 -1
  115. package/umd/typings/src/collection/constructors/createCollectionFromUrl.d.ts +2 -2
  116. package/umd/typings/src/commands/MODEL/ModelCommand.d.ts +1 -1
  117. package/umd/typings/src/commands/PERSONA/PersonaCommand.d.ts +4 -2
  118. package/umd/typings/src/commands/_common/types/CommandParser.d.ts +15 -12
  119. package/umd/typings/src/config.d.ts +8 -0
  120. package/umd/typings/src/conversion/pipelineStringToJson.d.ts +9 -5
  121. package/umd/typings/src/conversion/pipelineStringToJsonSync.d.ts +5 -3
  122. package/umd/typings/src/conversion/prettify/PrettifyOptions.d.ts +2 -2
  123. package/umd/typings/src/conversion/utils/renameParameter.d.ts +3 -3
  124. package/umd/typings/src/conversion/validation/_importPipeline.d.ts +2 -2
  125. package/umd/typings/src/conversion/validation/validatePipeline.d.ts +4 -0
  126. package/umd/typings/src/errors/EnvironmentMismatchError.d.ts +7 -0
  127. package/umd/typings/src/errors/VersionMismatchError.d.ts +8 -0
  128. package/umd/typings/src/execution/LlmExecutionTools.d.ts +3 -1
  129. package/umd/typings/src/execution/PipelineExecutor.d.ts +8 -7
  130. package/umd/typings/src/execution/PromptResult.d.ts +17 -5
  131. package/umd/typings/src/execution/ScriptExecutionTools.d.ts +6 -4
  132. package/umd/typings/src/execution/UserInterfaceTools.d.ts +5 -5
  133. package/umd/typings/src/execution/createPipelineExecutor.d.ts +4 -1
  134. package/umd/typings/src/execution/translation/automatic-translate/automatic-translators/TranslatorOptions.d.ts +2 -2
  135. package/umd/typings/src/execution/utils/forEachAsync.d.ts +1 -1
  136. package/umd/typings/src/formats/csv/ListFormatDefinition.d.ts +1 -1
  137. package/umd/typings/src/formats/json/JsonFormatDefinition.d.ts +1 -1
  138. package/umd/typings/src/formats/list/ListFormatDefinition.d.ts +1 -1
  139. package/umd/typings/src/knowledge/dialogs/callback/CallbackInterfaceToolsOptions.d.ts +1 -1
  140. package/umd/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.d.ts +18 -0
  141. package/umd/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.test.d.ts +1 -0
  142. package/umd/typings/src/knowledge/prepare-knowledge/_common/utils/getLlmToolsForTestingAndScriptsAndPlayground.d.ts +10 -0
  143. package/umd/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +8 -23
  144. package/umd/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.test.d.ts +3 -0
  145. package/umd/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +7 -14
  146. package/umd/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +1 -1
  147. package/umd/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +2 -2
  148. package/umd/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +3 -0
  149. package/umd/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +5 -5
  150. package/umd/typings/src/llm-providers/azure-openai/playground/playground.d.ts +3 -0
  151. package/umd/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +1 -1
  152. package/umd/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +1 -1
  153. package/umd/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +3 -1
  154. package/umd/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +1 -1
  155. package/umd/typings/src/llm-providers/openai/openai-models.d.ts +3 -2
  156. package/umd/typings/src/llm-providers/openai/playground/playground.d.ts +3 -0
  157. package/umd/typings/src/llm-providers/remote/RemoteLlmExecutionToolsOptions.d.ts +1 -1
  158. package/umd/typings/src/llm-providers/utils/cache/CacheItem.d.ts +29 -0
  159. package/umd/typings/src/llm-providers/utils/cache/CacheLlmToolsOptions.d.ts +10 -0
  160. package/umd/typings/src/llm-providers/utils/cache/cacheLlmTools.d.ts +17 -0
  161. package/umd/typings/src/llm-providers/utils/count-total-cost/LlmExecutionToolsWithTotalCost.d.ts +11 -0
  162. package/umd/typings/src/llm-providers/utils/count-total-cost/countTotalCost.d.ts +14 -0
  163. package/umd/typings/src/llm-providers/utils/createLlmToolsFromEnv.d.ts +21 -0
  164. package/umd/typings/src/personas/preparePersona.d.ts +10 -0
  165. package/umd/typings/src/personas/preparePersona.test.d.ts +1 -0
  166. package/umd/typings/src/prepare/PrepareOptions.d.ts +22 -0
  167. package/umd/typings/src/prepare/preparePipeline.d.ts +16 -0
  168. package/umd/typings/src/prepare/unpreparePipeline.d.ts +8 -0
  169. package/umd/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +1 -1
  170. package/umd/typings/src/scripting/javascript/utils/preserve.d.ts +1 -1
  171. package/umd/typings/src/storage/_common/PromptbookStorage.d.ts +24 -0
  172. package/umd/typings/src/storage/_common/PromptbookStorage.test-type.d.ts +5 -0
  173. package/umd/typings/src/storage/files-storage/FilesStorage.d.ts +28 -0
  174. package/umd/typings/src/storage/files-storage/FilesStorageOptions.d.ts +10 -0
  175. package/umd/typings/src/storage/files-storage/utils/nameToSubfolderPath.d.ts +7 -0
  176. package/umd/typings/src/storage/files-storage/utils/nameToSubfolderPath.test.d.ts +1 -0
  177. package/umd/typings/src/storage/local-storage/getLocalStorage.d.ts +8 -0
  178. package/umd/typings/src/storage/local-storage/getSessionStorage.d.ts +8 -0
  179. package/umd/typings/src/storage/memory/MemoryStorage.d.ts +31 -0
  180. package/umd/typings/src/storage/utils/PrefixStorage.d.ts +23 -0
  181. package/umd/typings/src/storage/utils/makePromptbookStorageFromWebStorage.d.ts +12 -0
  182. package/umd/typings/src/types/ModelRequirements.d.ts +22 -1
  183. package/umd/typings/src/types/PipelineJson/Expectations.d.ts +6 -2
  184. package/umd/typings/src/types/PipelineJson/KnowledgePieceJson.d.ts +67 -0
  185. package/umd/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +24 -0
  186. package/umd/typings/src/types/PipelineJson/LlmTemplateJson.d.ts +8 -1
  187. package/umd/typings/src/types/PipelineJson/PersonaJson.d.ts +40 -0
  188. package/umd/typings/src/types/PipelineJson/PipelineJson.d.ts +27 -3
  189. package/umd/typings/src/types/PipelineJson/PreparationJson.d.ts +21 -0
  190. package/umd/typings/src/types/PipelineJson/PromptDialogJson.d.ts +2 -0
  191. package/umd/typings/src/types/PipelineJson/PromptTemplateJson.d.ts +1 -1
  192. package/umd/typings/src/types/PipelineJson/PromptTemplateJsonCommon.d.ts +8 -1
  193. package/umd/typings/src/types/PipelineJson/PromptTemplateParameterJson.d.ts +11 -2
  194. package/umd/typings/src/types/PipelineJson/ScriptJson.d.ts +2 -0
  195. package/umd/typings/src/types/PipelineJson/SimpleTemplateJson.d.ts +2 -0
  196. package/umd/typings/src/types/Prompt.d.ts +5 -2
  197. package/umd/typings/src/types/execution-report/ExecutionReportJson.d.ts +4 -4
  198. package/umd/typings/src/types/execution-report/ExecutionReportStringOptions.d.ts +3 -3
  199. package/umd/typings/src/types/typeAliases.d.ts +62 -14
  200. package/umd/typings/src/utils/FromtoItems.d.ts +3 -3
  201. package/umd/typings/src/utils/currentDate.d.ts +7 -0
  202. package/umd/typings/src/utils/markdown/addAutoGeneratedSection.d.ts +2 -2
  203. package/umd/typings/src/utils/markdown/createMarkdownChart.d.ts +6 -9
  204. package/umd/typings/src/utils/markdown/extractAllBlocksFromMarkdown-real.test.d.ts +1 -0
  205. package/umd/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +9 -2
  206. package/umd/typings/src/utils/markdown/extractOneBlockFromMarkdown.d.ts +1 -1
  207. package/umd/typings/src/utils/markdown/parseMarkdownSection.d.ts +3 -3
  208. package/umd/typings/src/utils/organization/TODO.d.ts +4 -0
  209. package/umd/typings/src/utils/organization/TODO_USE.d.ts +11 -0
  210. package/umd/typings/src/utils/organization/___.d.ts +4 -0
  211. package/umd/typings/src/utils/organization/notUsing.d.ts +11 -0
  212. package/umd/typings/src/utils/organization/really_any.d.ts +4 -0
  213. package/umd/typings/src/utils/random/randomSeed.d.ts +7 -0
  214. package/esm/typings/src/collection/constructors/justTestFsImport.d.ts +0 -7
  215. package/esm/typings/src/personas/personaToModelRequirements.d.ts +0 -6
  216. package/esm/typings/src/types/PipelineJson/KnowledgeJson.d.ts +0 -6
  217. package/esm/typings/src/types/PipelineJson/MaterialKnowledgePieceJson.d.ts +0 -28
  218. package/umd/typings/src/collection/constructors/justTestFsImport.d.ts +0 -7
  219. package/umd/typings/src/personas/personaToModelRequirements.d.ts +0 -6
  220. package/umd/typings/src/types/PipelineJson/KnowledgeJson.d.ts +0 -6
  221. package/umd/typings/src/types/PipelineJson/MaterialKnowledgePieceJson.d.ts +0 -28
  222. /package/esm/typings/src/_packages/{markdown-utils.d.ts → markdown-utils.index.d.ts} +0 -0
  223. /package/esm/typings/src/utils/{just.d.ts → organization/just.d.ts} +0 -0
  224. /package/umd/typings/src/_packages/{markdown-utils.d.ts → markdown-utils.index.d.ts} +0 -0
  225. /package/umd/typings/src/utils/{just.d.ts → organization/just.d.ts} +0 -0
@@ -1,4 +1,7 @@
1
+ import type { number_model_temperature } from './typeAliases';
2
+ import type { number_seed } from './typeAliases';
1
3
  import type { string_model_name } from './typeAliases';
4
+ import type { string_system_message } from './typeAliases';
2
5
  export declare const MODEL_VARIANTS: readonly ["COMPLETION", "CHAT", "EMBEDDING"];
3
6
  /**
4
7
  * Model variant describes the very general type of the model
@@ -31,13 +34,31 @@ export type ModelRequirements = {
31
34
  * @example 'gpt-4', 'gpt-4-32k-0314', 'gpt-3.5-turbo-instruct',...
32
35
  */
33
36
  readonly modelName?: string_model_name;
37
+ /**
38
+ * System message to be used in the model
39
+ */
40
+ readonly systemMessage?: string_system_message;
41
+ /**
42
+ * The temperature of the model
43
+ *
44
+ * Note: [💱] Promptbook is using just `temperature` (not `top_k` and `top_p`)
45
+ */
46
+ readonly temperature?: number_model_temperature;
47
+ /**
48
+ * Seed for the model
49
+ */
50
+ readonly seed?: number_seed;
34
51
  /**
35
52
  * Maximum number of tokens that can be generated by the model
36
53
  */
37
54
  readonly maxTokens?: number;
38
55
  };
39
56
  /**
57
+ * TODO: [🈁] `seed` should maybe be somewhere else (not in `ModelRequirements`) (simmilar that `user` identification is not here)
58
+ * TODO: [🧠][💱] Add more model options: `stop_token`, `logit_bias`, `logprobs` (`top_logprobs`), `top_k`, `top_p`, `presence_penalty`, `frequency_penalty`, `bestOf`, `logitBias`, `logitBiasType`,...
59
+ * [💱] Probbably keep using just `temperature` in Promptbook (not `top_k` and `top_p`)
60
+ * TODO: [🛠] Actions, instruments (and maybe knowledge) => Functions and tools
40
61
  * TODO: Maybe figure out better word than "variant"
41
62
  * TODO: Add here more requirement options like max context size, max tokens, etc.
42
- * TODO: [👙][🧠] Just selecting gpt3 or gpt4 level of model
63
+ * TODO: [💕][🧠] Just selecting gpt3 or gpt4 level of model
43
64
  */
@@ -6,21 +6,25 @@ import type { number_positive } from '../typeAliases';
6
6
  * For example 5 words, 3 sentences, 2 paragraphs, ...
7
7
  *
8
8
  * Note: Expectations are performed after all postprocessing steps
9
+ * @see https://github.com/webgptorg/promptbook/discussions/30
9
10
  */
10
11
  export type Expectations = Partial<Record<Lowercase<ExpectationUnit>, {
11
- min?: ExpectationAmount;
12
- max?: ExpectationAmount;
12
+ readonly min?: ExpectationAmount;
13
+ readonly max?: ExpectationAmount;
13
14
  }>>;
14
15
  /**
15
16
  * Units of text measurement
17
+ * @see https://github.com/webgptorg/promptbook/discussions/30
16
18
  */
17
19
  export declare const EXPECTATION_UNITS: readonly ["CHARACTERS", "WORDS", "SENTENCES", "LINES", "PARAGRAPHS", "PAGES"];
18
20
  /**
19
21
  * Unit of text measurement
22
+ * @see https://github.com/webgptorg/promptbook/discussions/30
20
23
  */
21
24
  export type ExpectationUnit = typeof EXPECTATION_UNITS[number];
22
25
  /**
23
26
  * Amount of text measurement
27
+ * @see https://github.com/webgptorg/promptbook/discussions/30
24
28
  */
25
29
  export type ExpectationAmount = number_integer & (number_positive | 0);
26
30
  /**
@@ -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,11 +55,30 @@ 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
- * TODO: !!!!! Implement new commands
58
82
  * Note: There was a proposal for multiple types of promptbook objects 78816ff33e2705ee1a187aa2eb8affd976d4ea1a
59
83
  * But then immediately reverted back to the single type
60
84
  * With knowledge as part of the promptbook and collection just as a collection of promptbooks
@@ -0,0 +1,21 @@
1
+ import type { PromptResultUsage } from '../../execution/PromptResult';
2
+ import type { string_promptbook_version } from '../../version';
3
+ import type { number_id } from '../typeAliases';
4
+ export type PreparationJson = {
5
+ /**
6
+ * Incremental ID of the preparation
7
+ */
8
+ readonly id: number_id;
9
+ /**
10
+ * Version of the promptbook used for the preparation
11
+ */
12
+ readonly promptbookVersion: string_promptbook_version;
13
+ /**
14
+ * Usage of the prompt execution
15
+ */
16
+ readonly modelUsage: PromptResultUsage;
17
+ };
18
+ /**
19
+ * TODO: Maybe put here used `modelName`
20
+ * TODO: [🍥] When using `date` it changes all samples .ptbk.json files each time so until some more elegant solution omit the time from prepared pipeline
21
+ */
@@ -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'];
@@ -74,4 +80,5 @@ export interface PromptTemplateJsonCommon {
74
80
  }
75
81
  /**
76
82
  * TODO: use one helper type> (string_prompt | string_javascript | string_markdown) & string_template
83
+ * TODO: [♈] Probbably move expectations from templates to parameters
77
84
  */
@@ -1,5 +1,6 @@
1
1
  import type { string_markdown_text } from '../typeAliases';
2
- import type { string_name } from '../typeAliases';
2
+ import type { string_parameter_name } from '../typeAliases';
3
+ import type { string_parameter_value } from '../typeAliases';
3
4
  /**
4
5
  * Describes one parameter of the promptbook
5
6
  */
@@ -9,7 +10,7 @@ export type PromptTemplateParameterJson = {
9
10
  * - It must be unique across the pipeline
10
11
  * - It should start lowercase and contain letters and numbers
11
12
  */
12
- readonly name: string_name;
13
+ readonly name: string_parameter_name;
13
14
  /**
14
15
  * The parameter is input of the pipeline
15
16
  */
@@ -23,4 +24,12 @@ export type PromptTemplateParameterJson = {
23
24
  * - It can use simple markdown formatting like **bold**, *italic*, [link](https://example.com), ... BUT not code blocks and structure
24
25
  */
25
26
  readonly description?: string_markdown_text;
27
+ /**
28
+ * Sample values of the parameter
29
+ * Note: This values won't be actually used as some default values, but they are just for better understanding of the parameter
30
+ */
31
+ readonly sampleValues?: Array<string_parameter_value>;
26
32
  };
33
+ /**
34
+ * TODO: [♈] Probbably move expectations from templates to parameters
35
+ */
@@ -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';
@@ -2,13 +2,15 @@ import type { ExpectFormatCommand } from '../commands/EXPECT/ExpectFormatCommand
2
2
  import type { PostprocessingFunction } from '../scripting/javascript/JavascriptExecutionToolsOptions';
3
3
  import type { ModelRequirements } from './ModelRequirements';
4
4
  import type { Expectations } from './PipelineJson/Expectations';
5
- import type { string_name } from './typeAliases';
5
+ import type { string_parameter_name } from './typeAliases';
6
+ import type { string_parameter_value } from './typeAliases';
6
7
  import type { string_pipeline_url_with_hashtemplate } from './typeAliases';
7
8
  import type { string_prompt } from './typeAliases';
8
9
  import type { string_title } from './typeAliases';
9
10
  /**
10
11
  * Prompt in a text along with model requirements, but without any execution or templating logic.
11
12
  *
13
+ * Note: [🛫] This is NOT fully serializable as JSON, it contains functions which are not serializable
12
14
  * @see https://github.com/webgptorg/promptbook#prompt
13
15
  */
14
16
  export type Prompt = {
@@ -58,8 +60,9 @@ export type Prompt = {
58
60
  *
59
61
  * Note: This is redundant (same information is in pipelineUrl+content) but useful for logging and debugging
60
62
  */
61
- readonly parameters: Record<string_name, string>;
63
+ readonly parameters: Record<string_parameter_name, string_parameter_value>;
62
64
  };
63
65
  /**
64
66
  * TODO: [✔] Check ModelRequirements in runtime
67
+ * TODO: [🏳] Add options for translation - maybe create `TranslationPrompt`
65
68
  */
@@ -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
@@ -32,6 +32,12 @@ export type string_text_prompt = string_prompt;
32
32
  * For example `"How many hats does the cat wear?"`
33
33
  */
34
34
  export type string_chat_prompt = string_text_prompt;
35
+ /**
36
+ * Semantic helper
37
+ *
38
+ * For example `"You are an AI assistant. You are here to help me with my work."`
39
+ */
40
+ export type string_system_message = string_text_prompt;
35
41
  /**
36
42
  * Semantic helper
37
43
  *
@@ -73,6 +79,20 @@ export type string_char = string;
73
79
  * For example `"ainautes"`
74
80
  */
75
81
  export type string_name = string;
82
+ /**
83
+ * Semantic helper
84
+ * Unique identifier of anything
85
+ *
86
+ * For example `"eventName"`
87
+ */
88
+ export type string_parameter_name = string;
89
+ /**
90
+ * Semantic helper
91
+ * Unique identifier of anything
92
+ *
93
+ * For example `"DevConf 2024"`
94
+ */
95
+ export type string_parameter_value = string;
76
96
  /**
77
97
  * Semantic helper
78
98
  * Title of anything
@@ -80,6 +100,23 @@ export type string_name = string;
80
100
  * For example `"Ai*nautes"`
81
101
  */
82
102
  export type string_title = string;
103
+ /**
104
+ * Description of persona
105
+ *
106
+ * For example `"Skilled copywriter"`
107
+ */
108
+ export type string_persona_description = string;
109
+ /**
110
+ * Source of one knowledge
111
+ *
112
+ * It can be a link, a relative path to file or direct text
113
+ *
114
+ * For example `"https://pavolhejny.com/"`
115
+ * For example `"./pavol-hejny-cv.pdf"`
116
+ * For example `"Pavol Hejný has web https://pavolhejny.com/"`
117
+ * For example `"Pavol Hejný is web developer and creator of Promptbook and Collboard"`
118
+ */
119
+ export type string_knowledge_source = string_url | string_file_path | string;
83
120
  /**
84
121
  * Semantic helper
85
122
  *
@@ -428,6 +465,14 @@ export type string_date_iso8601 = `${number}-${number}-${number}${string}${numbe
428
465
  * Semantic helper for US Dollars
429
466
  */
430
467
  export type number_usd = number;
468
+ /**
469
+ * Semantic helper for incremental IDs
470
+ */
471
+ export type number_id = number_integer & (number_positive | 0);
472
+ /**
473
+ * Semantic helper for number of rows and columns
474
+ */
475
+ export type number_linecol_number = number_integer & number_positive;
431
476
  /**
432
477
  * Semantic helper for number of tokens
433
478
  */
@@ -437,9 +482,22 @@ export type number_negative = number;
437
482
  export type number_integer = number;
438
483
  /**
439
484
  * Semantic helper;
440
- * Percentage from 0 to 1 (100%)
485
+ * Percentage from 0 to 1 (100%) (and bellow and above)
441
486
  */
442
487
  export type number_percent = number;
488
+ /**
489
+ * Semantic helper;
490
+ * Model temperature
491
+ */
492
+ export type number_model_temperature = number_percent;
493
+ /**
494
+ * Semantic helper;
495
+ * Seed for random generator
496
+ *
497
+ * Percentage from 0 to 1 (100%)
498
+ * TODO: Is seed (in OpenAI) number from 0 to 1?
499
+ */
500
+ export type number_seed = number_percent;
443
501
  /**
444
502
  * Likeness of the wallpaper
445
503
  *
@@ -462,19 +520,9 @@ export type number_kilobytes = number_positive;
462
520
  export type number_megabytes = number_positive;
463
521
  export type number_gigabytes = number_positive;
464
522
  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
- /**
523
+ /**.
524
+ * TODO: !!! Change "For example" to @example
478
525
  * TODO: !! Cleanup
479
526
  * TODO: !! Change to branded types
527
+ * TODO: [📂] Export all this file through `@promptbook/types`
480
528
  */
@@ -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;