@promptbook/openai 0.61.0-9 → 0.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. package/README.md +46 -5
  2. package/esm/index.es.js +238 -31
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/promptbook-collection/index.d.ts +200 -30
  5. package/esm/typings/src/_packages/core.index.d.ts +7 -2
  6. package/esm/typings/src/_packages/execute-javascript.index.d.ts +1 -1
  7. package/esm/typings/src/_packages/node.index.d.ts +2 -1
  8. package/esm/typings/src/_packages/types.index.d.ts +12 -8
  9. package/esm/typings/src/_packages/utils.index.d.ts +11 -8
  10. package/esm/typings/src/cli/cli-commands/hello.d.ts +3 -0
  11. package/esm/typings/src/cli/cli-commands/make.d.ts +3 -0
  12. package/esm/typings/src/cli/cli-commands/prettify.d.ts +3 -0
  13. package/esm/typings/src/cli/promptbookCli.d.ts +1 -0
  14. package/esm/typings/src/collection/PipelineCollection.d.ts +1 -1
  15. package/esm/typings/src/collection/SimplePipelineCollection.d.ts +10 -10
  16. package/esm/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +7 -7
  17. package/esm/typings/src/collection/constructors/createCollectionFromUrl.d.ts +2 -2
  18. package/esm/typings/src/commands/KNOWLEDGE/KnowledgeCommand.d.ts +2 -3
  19. package/esm/typings/src/commands/MODEL/ModelCommand.d.ts +2 -2
  20. package/esm/typings/src/commands/PERSONA/PersonaCommand.d.ts +4 -2
  21. package/esm/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +1 -0
  22. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +42 -14
  23. package/esm/typings/src/config.d.ts +46 -1
  24. package/esm/typings/src/config.test.d.ts +4 -0
  25. package/esm/typings/src/conversion/pipelineJsonToString.d.ts +1 -1
  26. package/esm/typings/src/conversion/pipelineStringToJson.d.ts +9 -5
  27. package/esm/typings/src/conversion/pipelineStringToJsonSync.d.ts +6 -3
  28. package/esm/typings/src/conversion/prettify/PrettifyOptions.d.ts +2 -2
  29. package/{umd/typings/src/conversion/utils/extractParametersFromPromptTemplate.d.ts → esm/typings/src/conversion/utils/extractParameterNamesFromPromptTemplate.d.ts} +2 -2
  30. package/esm/typings/src/conversion/utils/renameParameter.d.ts +3 -3
  31. package/esm/typings/src/conversion/utils/stringifyPipelineJson.d.ts +14 -0
  32. package/esm/typings/src/conversion/validation/_importPipeline.d.ts +12 -3
  33. package/esm/typings/src/conversion/validation/validatePipeline.d.ts +10 -1
  34. package/esm/typings/src/errors/EnvironmentMismatchError.d.ts +7 -0
  35. package/esm/typings/src/errors/LimitReachedError.d.ts +7 -0
  36. package/esm/typings/src/errors/VersionMismatchError.d.ts +8 -0
  37. package/esm/typings/src/execution/CommonExecutionToolsOptions.d.ts +1 -0
  38. package/esm/typings/src/execution/LlmExecutionTools.d.ts +10 -8
  39. package/esm/typings/src/execution/PipelineExecutor.d.ts +48 -26
  40. package/esm/typings/src/execution/PromptResult.d.ts +39 -54
  41. package/esm/typings/src/execution/PromptResultUsage.d.ts +29 -0
  42. package/esm/typings/src/execution/ScriptExecutionTools.d.ts +5 -4
  43. package/esm/typings/src/execution/UncertainNumber.d.ts +18 -0
  44. package/esm/typings/src/execution/UserInterfaceTools.d.ts +5 -5
  45. package/esm/typings/src/execution/createPipelineExecutor.d.ts +30 -3
  46. package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/TranslatorOptions.d.ts +2 -2
  47. package/esm/typings/src/execution/utils/addUsage.d.ts +58 -2
  48. package/esm/typings/src/execution/utils/computeUsageCounts.d.ts +1 -1
  49. package/esm/typings/src/execution/utils/forEachAsync.d.ts +1 -1
  50. package/esm/typings/src/execution/utils/uncertainNumber.d.ts +1 -1
  51. package/esm/typings/src/execution/utils/usageToWorktime.d.ts +2 -2
  52. package/esm/typings/src/formats/_common/FormatDefinition.d.ts +1 -1
  53. package/esm/typings/src/formats/csv/ListFormatDefinition.d.ts +2 -1
  54. package/esm/typings/src/formats/json/JsonFormatDefinition.d.ts +2 -1
  55. package/esm/typings/src/formats/list/ListFormatDefinition.d.ts +2 -1
  56. package/esm/typings/src/formats/xml/XmlFormatDefinition.d.ts +1 -0
  57. package/esm/typings/src/knowledge/dialogs/callback/CallbackInterfaceToolsOptions.d.ts +1 -1
  58. package/esm/typings/src/knowledge/dialogs/simple-prompt/SimplePromptInterfaceTools.d.ts +3 -0
  59. package/esm/typings/src/knowledge/prepare-knowledge/_common/Scraper.d.ts +27 -0
  60. package/esm/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.d.ts +18 -0
  61. package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +9 -23
  62. package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.test.d.ts +3 -0
  63. package/esm/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +8 -14
  64. package/esm/typings/src/llm-providers/_common/createLlmToolsFromEnv.d.ts +30 -0
  65. package/esm/typings/src/llm-providers/_common/getLlmToolsForCli.d.ts +10 -0
  66. package/esm/typings/src/llm-providers/_common/getLlmToolsForTestingAndScriptsAndPlayground.d.ts +11 -0
  67. package/esm/typings/src/llm-providers/_common/utils/cache/CacheItem.d.ts +29 -0
  68. package/esm/typings/src/llm-providers/_common/utils/cache/CacheLlmToolsOptions.d.ts +10 -0
  69. package/esm/typings/src/llm-providers/_common/utils/cache/cacheLlmTools.d.ts +16 -0
  70. package/esm/typings/src/llm-providers/_common/utils/count-total-cost/LlmExecutionToolsWithTotalCost.d.ts +11 -0
  71. package/esm/typings/src/llm-providers/_common/utils/count-total-cost/countTotalCost.d.ts +14 -0
  72. package/esm/typings/src/llm-providers/_common/utils/count-total-cost/limitTotalCost.d.ts +32 -0
  73. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +4 -3
  74. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +1 -1
  75. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +3 -3
  76. package/esm/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +3 -0
  77. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +5 -4
  78. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +5 -5
  79. package/esm/typings/src/llm-providers/azure-openai/playground/playground.d.ts +3 -0
  80. package/esm/typings/src/llm-providers/langtail/LangtailExecutionTools.d.ts +3 -0
  81. package/esm/typings/src/llm-providers/langtail/LangtailExecutionToolsOptions.d.ts +1 -1
  82. package/esm/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +5 -5
  83. package/esm/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +7 -7
  84. package/esm/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +12 -8
  85. package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +7 -6
  86. package/esm/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +1 -1
  87. package/esm/typings/src/llm-providers/openai/computeOpenaiUsage.d.ts +1 -1
  88. package/esm/typings/src/llm-providers/openai/computeUsage.d.ts +2 -2
  89. package/esm/typings/src/llm-providers/openai/openai-models.d.ts +3 -2
  90. package/esm/typings/src/llm-providers/openai/playground/playground.d.ts +3 -0
  91. package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +10 -8
  92. package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionToolsOptions.d.ts +1 -1
  93. package/esm/typings/src/llm-providers/remote/startRemoteServer.d.ts +2 -2
  94. package/esm/typings/src/personas/preparePersona.d.ts +15 -0
  95. package/esm/typings/src/prepare/PrepareOptions.d.ts +22 -0
  96. package/esm/typings/src/prepare/isPipelinePrepared.d.ts +14 -0
  97. package/esm/typings/src/prepare/preparePipeline.d.ts +17 -0
  98. package/esm/typings/src/prepare/prepareTemplates.d.ts +31 -0
  99. package/esm/typings/src/prepare/unpreparePipeline.d.ts +11 -0
  100. package/esm/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +1 -1
  101. package/esm/typings/src/scripting/javascript/utils/preserve.d.ts +1 -1
  102. package/esm/typings/src/scripting/javascript/utils/unknownToString.d.ts +2 -1
  103. package/esm/typings/src/storage/_common/PromptbookStorage.d.ts +25 -0
  104. package/esm/typings/src/storage/_common/PromptbookStorage.test-type.d.ts +5 -0
  105. package/esm/typings/src/storage/files-storage/FilesStorage.d.ts +30 -0
  106. package/esm/typings/src/storage/files-storage/FilesStorageOptions.d.ts +13 -0
  107. package/esm/typings/src/storage/files-storage/utils/nameToSubfolderPath.d.ts +7 -0
  108. package/esm/typings/src/storage/local-storage/getLocalStorage.d.ts +9 -0
  109. package/esm/typings/src/storage/local-storage/getSessionStorage.d.ts +9 -0
  110. package/esm/typings/src/storage/memory/MemoryStorage.d.ts +34 -0
  111. package/esm/typings/src/storage/utils/PrefixStorage.d.ts +26 -0
  112. package/esm/typings/src/storage/utils/makePromptbookStorageFromWebStorage.d.ts +11 -0
  113. package/esm/typings/src/types/ModelRequirements.d.ts +71 -11
  114. package/esm/typings/src/types/ModelVariant.d.ts +14 -0
  115. package/esm/typings/src/types/PipelineJson/Expectations.d.ts +6 -2
  116. package/esm/typings/src/types/PipelineJson/KnowledgePieceJson.d.ts +70 -0
  117. package/esm/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +27 -0
  118. package/esm/typings/src/types/PipelineJson/LlmTemplateJson.d.ts +10 -1
  119. package/esm/typings/src/types/PipelineJson/PersonaJson.d.ts +41 -0
  120. package/esm/typings/src/types/PipelineJson/PipelineJson.d.ts +31 -5
  121. package/esm/typings/src/types/PipelineJson/PreparationJson.d.ts +22 -0
  122. package/esm/typings/src/types/PipelineJson/PromptDialogJson.d.ts +8 -2
  123. package/esm/typings/src/types/PipelineJson/PromptTemplateJson.d.ts +5 -1
  124. package/esm/typings/src/types/PipelineJson/PromptTemplateJsonCommon.d.ts +23 -4
  125. package/esm/typings/src/types/PipelineJson/PromptTemplateParameterJson.d.ts +12 -2
  126. package/esm/typings/src/types/PipelineJson/ScriptJson.d.ts +7 -2
  127. package/esm/typings/src/types/PipelineJson/SimpleTemplateJson.d.ts +7 -2
  128. package/esm/typings/src/types/PipelineString.d.ts +1 -1
  129. package/esm/typings/src/types/Prompt.d.ts +54 -10
  130. package/esm/typings/src/types/execution-report/ExecutionReportJson.d.ts +4 -4
  131. package/esm/typings/src/types/execution-report/ExecutionReportStringOptions.d.ts +3 -3
  132. package/esm/typings/src/types/execution-report/countWorkingDuration.d.ts +1 -1
  133. package/esm/typings/src/types/typeAliases.d.ts +114 -15
  134. package/esm/typings/src/utils/FromtoItems.d.ts +3 -3
  135. package/esm/typings/src/utils/currentDate.d.ts +7 -0
  136. package/esm/typings/src/utils/deepClone.d.ts +9 -0
  137. package/esm/typings/src/utils/deepFreeze.d.ts +22 -0
  138. package/esm/typings/src/utils/emojis.d.ts +2 -2
  139. package/esm/typings/src/utils/{extractParameters.d.ts → extractParameterNames.d.ts} +2 -2
  140. package/esm/typings/src/utils/formatNumber.d.ts +1 -1
  141. package/esm/typings/src/utils/isRunningInWhatever.d.ts +3 -0
  142. package/esm/typings/src/utils/markdown/addAutoGeneratedSection.d.ts +3 -3
  143. package/esm/typings/src/utils/markdown/createMarkdownChart.d.ts +7 -10
  144. package/esm/typings/src/utils/markdown/createMarkdownTable.d.ts +1 -1
  145. package/esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +9 -2
  146. package/esm/typings/src/utils/markdown/extractOneBlockFromMarkdown.d.ts +1 -1
  147. package/esm/typings/src/utils/markdown/parseMarkdownSection.d.ts +3 -3
  148. package/esm/typings/src/utils/normalization/parseKeywords.d.ts +2 -1
  149. package/esm/typings/src/utils/organization/TODO_USE.d.ts +12 -0
  150. package/esm/typings/src/utils/organization/TODO_any.d.ts +6 -0
  151. package/esm/typings/src/utils/organization/TODO_object.d.ts +6 -0
  152. package/esm/typings/src/utils/organization/TODO_unknown.d.ts +6 -0
  153. package/esm/typings/src/utils/organization/___.d.ts +6 -0
  154. package/{umd/typings/src/utils → esm/typings/src/utils/organization}/just.d.ts +5 -1
  155. package/esm/typings/src/utils/organization/keepUnused.d.ts +16 -0
  156. package/esm/typings/src/utils/organization/really_any.d.ts +6 -0
  157. package/esm/typings/src/utils/organization/really_unknown.d.ts +6 -0
  158. package/esm/typings/src/utils/random/randomSeed.d.ts +7 -0
  159. package/esm/typings/src/{execution/utils → utils}/replaceParameters.d.ts +2 -4
  160. package/esm/typings/src/utils/replaceParameters.test.d.ts +1 -0
  161. package/esm/typings/src/utils/sets/difference.d.ts +3 -0
  162. package/esm/typings/src/utils/validators/email/isValidEmail.d.ts +2 -1
  163. package/esm/typings/src/utils/validators/filePath/isValidFilePath.d.ts +2 -1
  164. package/esm/typings/src/utils/validators/javascriptName/isValidJavascriptName.d.ts +2 -1
  165. package/esm/typings/src/utils/validators/semanticVersion/isValidPromptbookVersion.d.ts +2 -1
  166. package/esm/typings/src/utils/validators/semanticVersion/isValidSemanticVersion.d.ts +2 -1
  167. package/esm/typings/src/utils/validators/url/isValidPipelineUrl.d.ts +2 -1
  168. package/esm/typings/src/utils/validators/url/isValidUrl.d.ts +2 -1
  169. package/esm/typings/src/utils/validators/uuid/isValidUuid.d.ts +2 -1
  170. package/package.json +2 -2
  171. package/umd/index.umd.js +238 -31
  172. package/umd/index.umd.js.map +1 -1
  173. package/umd/typings/promptbook-collection/index.d.ts +200 -30
  174. package/umd/typings/src/_packages/core.index.d.ts +7 -2
  175. package/umd/typings/src/_packages/execute-javascript.index.d.ts +1 -1
  176. package/umd/typings/src/_packages/node.index.d.ts +2 -1
  177. package/umd/typings/src/_packages/types.index.d.ts +12 -8
  178. package/umd/typings/src/_packages/utils.index.d.ts +11 -8
  179. package/umd/typings/src/cli/cli-commands/hello.d.ts +3 -0
  180. package/umd/typings/src/cli/cli-commands/make.d.ts +3 -0
  181. package/umd/typings/src/cli/cli-commands/prettify.d.ts +3 -0
  182. package/umd/typings/src/cli/promptbookCli.d.ts +1 -0
  183. package/umd/typings/src/collection/PipelineCollection.d.ts +1 -1
  184. package/umd/typings/src/collection/SimplePipelineCollection.d.ts +10 -10
  185. package/umd/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +7 -7
  186. package/umd/typings/src/collection/constructors/createCollectionFromUrl.d.ts +2 -2
  187. package/umd/typings/src/commands/KNOWLEDGE/KnowledgeCommand.d.ts +2 -3
  188. package/umd/typings/src/commands/MODEL/ModelCommand.d.ts +2 -2
  189. package/umd/typings/src/commands/PERSONA/PersonaCommand.d.ts +4 -2
  190. package/umd/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +1 -0
  191. package/umd/typings/src/commands/_common/types/CommandParser.d.ts +42 -14
  192. package/umd/typings/src/config.d.ts +46 -1
  193. package/umd/typings/src/config.test.d.ts +4 -0
  194. package/umd/typings/src/conversion/pipelineJsonToString.d.ts +1 -1
  195. package/umd/typings/src/conversion/pipelineStringToJson.d.ts +9 -5
  196. package/umd/typings/src/conversion/pipelineStringToJsonSync.d.ts +6 -3
  197. package/umd/typings/src/conversion/prettify/PrettifyOptions.d.ts +2 -2
  198. package/{esm/typings/src/conversion/utils/extractParametersFromPromptTemplate.d.ts → umd/typings/src/conversion/utils/extractParameterNamesFromPromptTemplate.d.ts} +2 -2
  199. package/umd/typings/src/conversion/utils/extractParameterNamesFromPromptTemplate.test.d.ts +1 -0
  200. package/umd/typings/src/conversion/utils/renameParameter.d.ts +3 -3
  201. package/umd/typings/src/conversion/utils/stringifyPipelineJson.d.ts +14 -0
  202. package/umd/typings/src/conversion/utils/stringifyPipelineJson.test.d.ts +1 -0
  203. package/umd/typings/src/conversion/validation/_importPipeline.d.ts +12 -3
  204. package/umd/typings/src/conversion/validation/validatePipeline.d.ts +10 -1
  205. package/umd/typings/src/errors/EnvironmentMismatchError.d.ts +7 -0
  206. package/umd/typings/src/errors/LimitReachedError.d.ts +7 -0
  207. package/umd/typings/src/errors/VersionMismatchError.d.ts +8 -0
  208. package/umd/typings/src/execution/CommonExecutionToolsOptions.d.ts +1 -0
  209. package/umd/typings/src/execution/LlmExecutionTools.d.ts +10 -8
  210. package/umd/typings/src/execution/PipelineExecutor.d.ts +48 -26
  211. package/umd/typings/src/execution/PromptResult.d.ts +39 -54
  212. package/umd/typings/src/execution/PromptResultUsage.d.ts +29 -0
  213. package/umd/typings/src/execution/ScriptExecutionTools.d.ts +5 -4
  214. package/umd/typings/src/execution/UncertainNumber.d.ts +18 -0
  215. package/umd/typings/src/execution/UserInterfaceTools.d.ts +5 -5
  216. package/umd/typings/src/execution/createPipelineExecutor.d.ts +30 -3
  217. package/umd/typings/src/execution/translation/automatic-translate/automatic-translators/TranslatorOptions.d.ts +2 -2
  218. package/umd/typings/src/execution/utils/addUsage.d.ts +58 -2
  219. package/umd/typings/src/execution/utils/computeUsageCounts.d.ts +1 -1
  220. package/umd/typings/src/execution/utils/forEachAsync.d.ts +1 -1
  221. package/umd/typings/src/execution/utils/uncertainNumber.d.ts +1 -1
  222. package/umd/typings/src/execution/utils/usageToWorktime.d.ts +2 -2
  223. package/umd/typings/src/formats/_common/FormatDefinition.d.ts +1 -1
  224. package/umd/typings/src/formats/csv/ListFormatDefinition.d.ts +2 -1
  225. package/umd/typings/src/formats/json/JsonFormatDefinition.d.ts +2 -1
  226. package/umd/typings/src/formats/list/ListFormatDefinition.d.ts +2 -1
  227. package/umd/typings/src/formats/xml/XmlFormatDefinition.d.ts +1 -0
  228. package/umd/typings/src/knowledge/dialogs/callback/CallbackInterfaceToolsOptions.d.ts +1 -1
  229. package/umd/typings/src/knowledge/dialogs/simple-prompt/SimplePromptInterfaceTools.d.ts +3 -0
  230. package/umd/typings/src/knowledge/prepare-knowledge/_common/Scraper.d.ts +27 -0
  231. package/umd/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.d.ts +18 -0
  232. package/umd/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.test.d.ts +1 -0
  233. package/umd/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +9 -23
  234. package/umd/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.test.d.ts +3 -0
  235. package/umd/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +8 -14
  236. package/umd/typings/src/llm-providers/_common/createLlmToolsFromEnv.d.ts +30 -0
  237. package/umd/typings/src/llm-providers/_common/getLlmToolsForCli.d.ts +10 -0
  238. package/umd/typings/src/llm-providers/_common/getLlmToolsForTestingAndScriptsAndPlayground.d.ts +11 -0
  239. package/umd/typings/src/llm-providers/_common/utils/cache/CacheItem.d.ts +29 -0
  240. package/umd/typings/src/llm-providers/_common/utils/cache/CacheLlmToolsOptions.d.ts +10 -0
  241. package/umd/typings/src/llm-providers/_common/utils/cache/cacheLlmTools.d.ts +16 -0
  242. package/umd/typings/src/llm-providers/_common/utils/count-total-cost/LlmExecutionToolsWithTotalCost.d.ts +11 -0
  243. package/umd/typings/src/llm-providers/_common/utils/count-total-cost/countTotalCost.d.ts +14 -0
  244. package/umd/typings/src/llm-providers/_common/utils/count-total-cost/limitTotalCost.d.ts +32 -0
  245. package/umd/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +4 -3
  246. package/umd/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +1 -1
  247. package/umd/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +3 -3
  248. package/umd/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +3 -0
  249. package/umd/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +5 -4
  250. package/umd/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +5 -5
  251. package/umd/typings/src/llm-providers/azure-openai/playground/playground.d.ts +3 -0
  252. package/umd/typings/src/llm-providers/langtail/LangtailExecutionTools.d.ts +3 -0
  253. package/umd/typings/src/llm-providers/langtail/LangtailExecutionToolsOptions.d.ts +1 -1
  254. package/umd/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +5 -5
  255. package/umd/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +7 -7
  256. package/umd/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +12 -8
  257. package/umd/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +7 -6
  258. package/umd/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +1 -1
  259. package/umd/typings/src/llm-providers/openai/computeOpenaiUsage.d.ts +1 -1
  260. package/umd/typings/src/llm-providers/openai/computeUsage.d.ts +2 -2
  261. package/umd/typings/src/llm-providers/openai/openai-models.d.ts +3 -2
  262. package/umd/typings/src/llm-providers/openai/playground/playground.d.ts +3 -0
  263. package/umd/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +10 -8
  264. package/umd/typings/src/llm-providers/remote/RemoteLlmExecutionToolsOptions.d.ts +1 -1
  265. package/umd/typings/src/llm-providers/remote/startRemoteServer.d.ts +2 -2
  266. package/umd/typings/src/personas/preparePersona.d.ts +15 -0
  267. package/umd/typings/src/personas/preparePersona.test.d.ts +1 -0
  268. package/umd/typings/src/prepare/PrepareOptions.d.ts +22 -0
  269. package/umd/typings/src/prepare/isPipelinePrepared.d.ts +14 -0
  270. package/umd/typings/src/prepare/isPipelinePrepared.test.d.ts +1 -0
  271. package/umd/typings/src/prepare/preparePipeline.d.ts +17 -0
  272. package/umd/typings/src/prepare/prepareTemplates.d.ts +31 -0
  273. package/umd/typings/src/prepare/unpreparePipeline.d.ts +11 -0
  274. package/umd/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +1 -1
  275. package/umd/typings/src/scripting/javascript/utils/preserve.d.ts +1 -1
  276. package/umd/typings/src/scripting/javascript/utils/unknownToString.d.ts +2 -1
  277. package/umd/typings/src/storage/_common/PromptbookStorage.d.ts +25 -0
  278. package/umd/typings/src/storage/_common/PromptbookStorage.test-type.d.ts +5 -0
  279. package/umd/typings/src/storage/files-storage/FilesStorage.d.ts +30 -0
  280. package/umd/typings/src/storage/files-storage/FilesStorageOptions.d.ts +13 -0
  281. package/umd/typings/src/storage/files-storage/utils/nameToSubfolderPath.d.ts +7 -0
  282. package/umd/typings/src/storage/files-storage/utils/nameToSubfolderPath.test.d.ts +1 -0
  283. package/umd/typings/src/storage/local-storage/getLocalStorage.d.ts +9 -0
  284. package/umd/typings/src/storage/local-storage/getSessionStorage.d.ts +9 -0
  285. package/umd/typings/src/storage/memory/MemoryStorage.d.ts +34 -0
  286. package/umd/typings/src/storage/utils/PrefixStorage.d.ts +26 -0
  287. package/umd/typings/src/storage/utils/makePromptbookStorageFromWebStorage.d.ts +11 -0
  288. package/umd/typings/src/types/ModelRequirements.d.ts +71 -11
  289. package/umd/typings/src/types/ModelVariant.d.ts +14 -0
  290. package/umd/typings/src/types/PipelineJson/Expectations.d.ts +6 -2
  291. package/umd/typings/src/types/PipelineJson/KnowledgePieceJson.d.ts +70 -0
  292. package/umd/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +27 -0
  293. package/umd/typings/src/types/PipelineJson/LlmTemplateJson.d.ts +10 -1
  294. package/umd/typings/src/types/PipelineJson/PersonaJson.d.ts +41 -0
  295. package/umd/typings/src/types/PipelineJson/PipelineJson.d.ts +31 -5
  296. package/umd/typings/src/types/PipelineJson/PreparationJson.d.ts +22 -0
  297. package/umd/typings/src/types/PipelineJson/PromptDialogJson.d.ts +8 -2
  298. package/umd/typings/src/types/PipelineJson/PromptTemplateJson.d.ts +5 -1
  299. package/umd/typings/src/types/PipelineJson/PromptTemplateJsonCommon.d.ts +23 -4
  300. package/umd/typings/src/types/PipelineJson/PromptTemplateParameterJson.d.ts +12 -2
  301. package/umd/typings/src/types/PipelineJson/ScriptJson.d.ts +7 -2
  302. package/umd/typings/src/types/PipelineJson/SimpleTemplateJson.d.ts +7 -2
  303. package/umd/typings/src/types/PipelineString.d.ts +1 -1
  304. package/umd/typings/src/types/Prompt.d.ts +54 -10
  305. package/umd/typings/src/types/execution-report/ExecutionReportJson.d.ts +4 -4
  306. package/umd/typings/src/types/execution-report/ExecutionReportStringOptions.d.ts +3 -3
  307. package/umd/typings/src/types/execution-report/countWorkingDuration.d.ts +1 -1
  308. package/umd/typings/src/types/typeAliases.d.ts +114 -15
  309. package/umd/typings/src/utils/FromtoItems.d.ts +3 -3
  310. package/umd/typings/src/utils/currentDate.d.ts +7 -0
  311. package/umd/typings/src/utils/deepClone.d.ts +9 -0
  312. package/umd/typings/src/utils/deepFreeze.d.ts +22 -0
  313. package/umd/typings/src/utils/emojis.d.ts +2 -2
  314. package/umd/typings/src/utils/{extractParameters.d.ts → extractParameterNames.d.ts} +2 -2
  315. package/umd/typings/src/utils/extractParameterNames.test.d.ts +1 -0
  316. package/umd/typings/src/utils/formatNumber.d.ts +1 -1
  317. package/umd/typings/src/utils/isRunningInWhatever.d.ts +3 -0
  318. package/umd/typings/src/utils/markdown/addAutoGeneratedSection.d.ts +3 -3
  319. package/umd/typings/src/utils/markdown/createMarkdownChart.d.ts +7 -10
  320. package/umd/typings/src/utils/markdown/createMarkdownTable.d.ts +1 -1
  321. package/umd/typings/src/utils/markdown/extractAllBlocksFromMarkdown-real.test.d.ts +1 -0
  322. package/umd/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +9 -2
  323. package/umd/typings/src/utils/markdown/extractOneBlockFromMarkdown.d.ts +1 -1
  324. package/umd/typings/src/utils/markdown/parseMarkdownSection.d.ts +3 -3
  325. package/umd/typings/src/utils/normalization/parseKeywords.d.ts +2 -1
  326. package/umd/typings/src/utils/organization/TODO_USE.d.ts +12 -0
  327. package/umd/typings/src/utils/organization/TODO_any.d.ts +6 -0
  328. package/umd/typings/src/utils/organization/TODO_object.d.ts +6 -0
  329. package/umd/typings/src/utils/organization/TODO_unknown.d.ts +6 -0
  330. package/umd/typings/src/utils/organization/___.d.ts +6 -0
  331. package/{esm/typings/src/utils → umd/typings/src/utils/organization}/just.d.ts +5 -1
  332. package/umd/typings/src/utils/organization/keepUnused.d.ts +16 -0
  333. package/umd/typings/src/utils/organization/really_any.d.ts +6 -0
  334. package/umd/typings/src/utils/organization/really_unknown.d.ts +6 -0
  335. package/umd/typings/src/utils/random/randomSeed.d.ts +7 -0
  336. package/umd/typings/src/{execution/utils → utils}/replaceParameters.d.ts +2 -4
  337. package/umd/typings/src/utils/replaceParameters.test.d.ts +1 -0
  338. package/umd/typings/src/utils/sets/difference.d.ts +3 -0
  339. package/umd/typings/src/utils/validators/email/isValidEmail.d.ts +2 -1
  340. package/umd/typings/src/utils/validators/filePath/isValidFilePath.d.ts +2 -1
  341. package/umd/typings/src/utils/validators/javascriptName/isValidJavascriptName.d.ts +2 -1
  342. package/umd/typings/src/utils/validators/semanticVersion/isValidPromptbookVersion.d.ts +2 -1
  343. package/umd/typings/src/utils/validators/semanticVersion/isValidSemanticVersion.d.ts +2 -1
  344. package/umd/typings/src/utils/validators/url/isValidPipelineUrl.d.ts +2 -1
  345. package/umd/typings/src/utils/validators/url/isValidUrl.d.ts +2 -1
  346. package/umd/typings/src/utils/validators/uuid/isValidUuid.d.ts +2 -1
  347. package/esm/typings/src/collection/constructors/justTestFsImport.d.ts +0 -7
  348. package/esm/typings/src/personas/personaToModelRequirements.d.ts +0 -6
  349. package/esm/typings/src/types/Parameters.d.ts +0 -14
  350. package/esm/typings/src/types/PipelineJson/KnowledgeJson.d.ts +0 -6
  351. package/esm/typings/src/types/PipelineJson/MaterialKnowledgePieceJson.d.ts +0 -28
  352. package/umd/typings/src/collection/constructors/justTestFsImport.d.ts +0 -7
  353. package/umd/typings/src/personas/personaToModelRequirements.d.ts +0 -6
  354. package/umd/typings/src/types/Parameters.d.ts +0 -14
  355. package/umd/typings/src/types/PipelineJson/KnowledgeJson.d.ts +0 -6
  356. package/umd/typings/src/types/PipelineJson/MaterialKnowledgePieceJson.d.ts +0 -28
  357. /package/esm/typings/src/conversion/utils/{extractParametersFromPromptTemplate.test.d.ts → extractParameterNamesFromPromptTemplate.test.d.ts} +0 -0
  358. /package/esm/typings/src/{execution/addPromptResultUsage.test.d.ts → conversion/utils/stringifyPipelineJson.test.d.ts} +0 -0
  359. /package/esm/typings/src/{execution/utils/replaceParameters.test.d.ts → knowledge/prepare-knowledge/_common/prepareKnowledgePieces.test.d.ts} +0 -0
  360. /package/esm/typings/src/{utils/extractParameters.test.d.ts → personas/preparePersona.test.d.ts} +0 -0
  361. /package/esm/typings/src/{utils/postprocessing → postprocessing/utils}/extractBlock.d.ts +0 -0
  362. /package/{umd/typings/src/conversion/utils/extractParametersFromPromptTemplate.test.d.ts → esm/typings/src/prepare/isPipelinePrepared.test.d.ts} +0 -0
  363. /package/{umd/typings/src/execution/addPromptResultUsage.test.d.ts → esm/typings/src/storage/files-storage/utils/nameToSubfolderPath.test.d.ts} +0 -0
  364. /package/{umd/typings/src/execution/utils/replaceParameters.test.d.ts → esm/typings/src/utils/extractParameterNames.test.d.ts} +0 -0
  365. /package/{umd/typings/src/utils/extractParameters.test.d.ts → esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown-real.test.d.ts} +0 -0
  366. /package/umd/typings/src/{utils/postprocessing → postprocessing/utils}/extractBlock.d.ts +0 -0
@@ -0,0 +1,27 @@
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
+ };
25
+ /**
26
+ * TODO: [🍙] Make some standart order of json properties
27
+ */
@@ -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;
8
13
  /**
9
14
  * Requirements for the model
10
15
  * - This is required only for blockType PROMPT_TEMPLATE
@@ -12,5 +17,9 @@ 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: [🧠][🥜]
21
+ * TODO: [👙][🧠] Maybe add `knowledge`, `actions` and `instruments` to be available granularly for each template
22
+ * @see https://github.com/webgptorg/promptbook/discussions/79
23
+ * TODO: [💕][🧠] Just selecting gpt3 or gpt4 level of model
24
+ * TODO: [🍙] Make some standart order of json properties
16
25
  */
@@ -0,0 +1,41 @@
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';
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: ChatModelRequirements;
34
+ /**
35
+ * List of preparation ids that were used to prepare this persona
36
+ */
37
+ readonly preparationIds: Array<number_id>;
38
+ };
39
+ /**
40
+ * TODO: [🍙] Make some standart order of json properties
41
+ */
@@ -2,14 +2,19 @@ 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
  /**
9
14
  * Promptbook is the **core concept of this package**.
10
15
  * It represents a series of prompt templates chained together to form a pipeline / one big prompt template with input and result parameters.
11
16
  *
12
- * @see !!! https://github.com/webgptorg/promptbook#promptbook
17
+ * @see @@@ https://github.com/webgptorg/promptbook#promptbook
13
18
  */
14
19
  export type PipelineJson = {
15
20
  /**
@@ -50,12 +55,33 @@ 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
- * Note: There was a proposal for multiple types of promptbook objects 78816ff33e2705ee1a187aa2eb8affd976d4ea1a
82
+ * TODO: [🍙] Make some standart order of json properties
83
+ * TODO: [🧠] Maybe wrap all {parameterNames} in brackets for example { "resultingParameterName": "{foo}" }
84
+ * Note: [💼] There was a proposal for multiple types of promptbook objects 78816ff33e2705ee1a187aa2eb8affd976d4ea1a
59
85
  * But then immediately reverted back to the single type
60
86
  * With knowledge as part of the promptbook and collection just as a collection of promptbooks
61
87
  */
@@ -0,0 +1,22 @@
1
+ import type { PromptResultUsage } from '../../execution/PromptResultUsage';
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: [🍙] Make some standart order of json properties
20
+ * TODO: Maybe put here used `modelName`
21
+ * 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
22
+ */
@@ -1,7 +1,13 @@
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
- export interface PromptDialogJson extends PromptTemplateJsonCommon {
7
+ export type PromptDialogJson = PromptTemplateJsonCommon & {
6
8
  readonly blockType: 'PROMPT_DIALOG';
7
- }
9
+ };
10
+ /**
11
+ * TODO: [🧠][🥜]
12
+ * TODO: [🍙] Make some standart order of json properties
13
+ */
@@ -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';
@@ -7,3 +7,7 @@ import type { SimpleTemplateJson } from './SimpleTemplateJson';
7
7
  * Describes one prompt template in the promptbook
8
8
  */
9
9
  export type PromptTemplateJson = LlmTemplateJson | SimpleTemplateJson | ScriptJson | PromptDialogJson | ___ | ___ | ___ | ___;
10
+ /**
11
+ * TODO: [🧠][🥜] What is propper name for this - "Template", "Prompt template",...
12
+ * TODO: [🧠][🥜] Reduce confusion of `PromptTemplateJson` vs (`LlmTemplateJson` which is 'PROMPT_TEMPLATE')
13
+ */
@@ -5,6 +5,7 @@ import type { string_javascript_name } from '../typeAliases';
5
5
  import type { string_markdown } from '../typeAliases';
6
6
  import type { string_markdown_text } from '../typeAliases';
7
7
  import type { string_name } from '../typeAliases';
8
+ import type { string_parameter_name } from '../typeAliases';
8
9
  import type { string_prompt } from '../typeAliases';
9
10
  import type { string_template } from '../typeAliases';
10
11
  import type { Expectations } from './Expectations';
@@ -15,7 +16,7 @@ export interface PromptTemplateJsonCommon {
15
16
  /**
16
17
  * Name of the template
17
18
  * - It must be unique across the pipeline
18
- * - It should start uppercase and contain letters and numbers
19
+ * - It should start uppercase and can contain letters and numbers
19
20
  * - The pipelineUrl together with hash and name are used to identify the prompt template in the pipeline
20
21
  */
21
22
  readonly name: string_name;
@@ -34,11 +35,13 @@ export interface PromptTemplateJsonCommon {
34
35
  *
35
36
  * Note: Joker is one of the dependent parameters
36
37
  */
37
- readonly dependentParameterNames: Array<string_name>;
38
+ readonly dependentParameterNames: Array<string_parameter_name>;
38
39
  /**
39
40
  * If theese parameters meet the expectations requirements, they are used instead of executing this prompt template
41
+ *
42
+ * @see https://github.com/webgptorg/promptbook/discussions/66
40
43
  */
41
- readonly jokers?: Array<string>;
44
+ readonly jokerParameterNames?: Array<string_parameter_name>;
42
45
  /**
43
46
  * Type of the execution
44
47
  * This determines if the prompt template is send to LLM, user or some scripting evaluation
@@ -46,24 +49,38 @@ export interface PromptTemplateJsonCommon {
46
49
  readonly blockType: BlockType;
47
50
  /**
48
51
  * Content of the template with {placeholders} for parameters
52
+ *
53
+ * @@@ content vs preparedContent
49
54
  */
50
55
  readonly content: (string_prompt | string_javascript | string_markdown) & string_template;
56
+ /**
57
+ * @@@ Content of the template with {placeholders} for parameters
58
+ *
59
+ * @@@ content vs preparedContent
60
+ *
61
+ * @default "{content}"
62
+ */
63
+ readonly preparedContent?: (string_prompt | string_javascript | string_markdown) & string_template;
51
64
  /**
52
65
  * List of postprocessing steps that are executed after the prompt template
66
+ *
67
+ * @see https://github.com/webgptorg/promptbook/discussions/31
53
68
  */
54
- readonly postprocessing?: Array<string_javascript_name>;
69
+ readonly postprocessingFunctionNames?: Array<string_javascript_name>;
55
70
  /**
56
71
  * Expect this amount of each unit in the answer
57
72
  *
58
73
  * For example 5 words, 3 sentences, 2 paragraphs, ...
59
74
  *
60
75
  * Note: Expectations are performed after all postprocessing steps
76
+ * @see https://github.com/webgptorg/promptbook/discussions/30
61
77
  */
62
78
  readonly expectations?: Expectations;
63
79
  /**
64
80
  * Expect this format of the answer
65
81
  *
66
82
  * Note: Expectations are performed after all postprocessing steps
83
+ * @see https://github.com/webgptorg/promptbook/discussions/30
67
84
  * @deprecated [💝]
68
85
  */
69
86
  readonly expectFormat?: ExpectFormatCommand['format'];
@@ -73,5 +90,7 @@ export interface PromptTemplateJsonCommon {
73
90
  readonly resultingParameterName: string_name;
74
91
  }
75
92
  /**
93
+ * TODO: [🧠][🥜]
76
94
  * TODO: use one helper type> (string_prompt | string_javascript | string_markdown) & string_template
95
+ * TODO: [♈] Probbably move expectations from templates to parameters
77
96
  */
@@ -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,13 @@ 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
+ * TODO: [🍙] Make some standart order of json properties
36
+ */
@@ -2,8 +2,10 @@ 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
- export interface ScriptJson extends PromptTemplateJsonCommon {
8
+ export type ScriptJson = PromptTemplateJsonCommon & {
7
9
  readonly blockType: 'SCRIPT';
8
10
  /**
9
11
  * Language of the script
@@ -11,4 +13,7 @@ export interface ScriptJson extends PromptTemplateJsonCommon {
11
13
  *
12
14
  */
13
15
  readonly contentLanguage?: ScriptLanguage;
14
- }
16
+ };
17
+ /**
18
+ * TODO: [🍙] Make some standart order of json properties
19
+ */
@@ -1,7 +1,12 @@
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
- export interface SimpleTemplateJson extends PromptTemplateJsonCommon {
7
+ export type SimpleTemplateJson = PromptTemplateJsonCommon & {
6
8
  readonly blockType: 'SIMPLE_TEMPLATE';
7
- }
9
+ };
10
+ /**
11
+ * TODO: [🍙] Make some standart order of json properties
12
+ */
@@ -2,7 +2,7 @@
2
2
  * Promptbook is the **core concept of this package**.
3
3
  * It represents a series of prompt templates chained together to form a pipeline / one big prompt template with input and result parameters.
4
4
  *
5
- * @see !!! https://github.com/webgptorg/promptbook#promptbook
5
+ * @see @@@ https://github.com/webgptorg/promptbook#promptbook
6
6
  */
7
7
  export type PipelineString = string & {
8
8
  readonly _type: 'Promptbook';
@@ -1,17 +1,61 @@
1
1
  import type { ExpectFormatCommand } from '../commands/EXPECT/ExpectFormatCommand';
2
2
  import type { PostprocessingFunction } from '../scripting/javascript/JavascriptExecutionToolsOptions';
3
+ import type { ChatModelRequirements } from './ModelRequirements';
4
+ import type { CompletionModelRequirements } from './ModelRequirements';
5
+ import type { EmbeddingModelRequirements } from './ModelRequirements';
3
6
  import type { ModelRequirements } from './ModelRequirements';
4
7
  import type { Expectations } from './PipelineJson/Expectations';
5
- import type { string_name } from './typeAliases';
8
+ import type { Parameters } from './typeAliases';
6
9
  import type { string_pipeline_url_with_hashtemplate } from './typeAliases';
7
10
  import type { string_prompt } from './typeAliases';
11
+ import type { string_template } from './typeAliases';
8
12
  import type { string_title } from './typeAliases';
9
13
  /**
10
14
  * Prompt in a text along with model requirements, but without any execution or templating logic.
11
15
  *
16
+ * Note: [🛫] This is NOT fully serializable as JSON, it contains functions which are not serializable
12
17
  * @see https://github.com/webgptorg/promptbook#prompt
13
18
  */
14
- export type Prompt = {
19
+ export type Prompt = CompletionPrompt | ChatPrompt | EmbeddingPrompt;
20
+ /**
21
+ * Completion prompt
22
+ *
23
+ * Note: [🛫] This is NOT fully serializable as JSON, it contains functions which are not serializable
24
+ */
25
+ export type CompletionPrompt = CommonPrompt & {
26
+ /**
27
+ * Requirements for completion model
28
+ */
29
+ modelRequirements: CompletionModelRequirements;
30
+ };
31
+ /**
32
+ * Chat prompt
33
+ *
34
+ * Note: [🛫] This is NOT fully serializable as JSON, it contains functions which are not serializable
35
+ */
36
+ export type ChatPrompt = CommonPrompt & {
37
+ /**
38
+ * Requirements for chat model
39
+ */
40
+ modelRequirements: ChatModelRequirements;
41
+ };
42
+ /**
43
+ * Embedding prompt
44
+ *
45
+ * Note: [🛫] This is NOT fully serializable as JSON, it contains functions which are not serializable
46
+ */
47
+ export type EmbeddingPrompt = CommonPrompt & {
48
+ /**
49
+ * Requirements for chat model
50
+ */
51
+ modelRequirements: EmbeddingModelRequirements;
52
+ };
53
+ /**
54
+ * Common properties for all prompt results
55
+ *
56
+ * Note: This is fully serializable as JSON
57
+ */
58
+ export type CommonPrompt = {
15
59
  /**
16
60
  * The title of the prompt
17
61
  *
@@ -19,12 +63,11 @@ export type Prompt = {
19
63
  */
20
64
  readonly title: string_title;
21
65
  /**
22
- * The text of the prompt
66
+ * The text of the prompt with placeholders for parameters
23
67
  *
24
- * Note: This is not a template, this is exactly the text that will be sent to the model
25
- * @example "What is the capital of France?"
68
+ * @example "What is the capital of {country}?"
26
69
  */
27
- readonly content: string_prompt;
70
+ readonly content: string_prompt & string_template;
28
71
  /**
29
72
  * Requirements for the model
30
73
  */
@@ -54,12 +97,13 @@ export type Prompt = {
54
97
  */
55
98
  readonly pipelineUrl?: string_pipeline_url_with_hashtemplate;
56
99
  /**
57
- * Parameters used in the prompt
58
- *
59
- * Note: This is redundant (same information is in pipelineUrl+content) but useful for logging and debugging
100
+ * Parameters used in the `content`
60
101
  */
61
- readonly parameters: Record<string_name, string>;
102
+ readonly parameters: Parameters;
62
103
  };
63
104
  /**
105
+ * TODO: [🔼] !!!! Export all from `@promptbook/types`
106
+ * TODO: [🧄] Replace all "github.com/webgptorg/promptbook#xxx" with "ptbk.io/xxx"
64
107
  * TODO: [✔] Check ModelRequirements in runtime
108
+ * TODO: [🏳] Add options for translation - maybe create `TranslationPrompt`
65
109
  */
@@ -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'>;
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
@@ -2,6 +2,6 @@ import type { FromtoItems } from '../../utils/FromtoItems';
2
2
  /**
3
3
  * Count the duration of working time
4
4
  *
5
- * @private within the package
5
+ * @private within the repository
6
6
  */
7
7
  export declare function countWorkingDuration(items: FromtoItems): number;