@promptbook/openai 0.61.0-8 → 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
@@ -1,13 +1,13 @@
1
1
  import type { Promisable } from 'type-fest';
2
- import type { ModelVariant } from '../types/ModelRequirements';
2
+ import type { ModelVariant } from '../types/ModelVariant';
3
3
  import type { Prompt } from '../types/Prompt';
4
4
  import type { string_markdown } from '../types/typeAliases';
5
5
  import type { string_markdown_text } from '../types/typeAliases';
6
6
  import type { string_model_name } from '../types/typeAliases';
7
7
  import type { string_title } from '../types/typeAliases';
8
- import type { PromptChatResult } from './PromptResult';
9
- import type { PromptCompletionResult } from './PromptResult';
10
- import type { PromptEmbeddingResult } from './PromptResult';
8
+ import type { ChatPromptResult } from './PromptResult';
9
+ import type { CompletionPromptResult } from './PromptResult';
10
+ import type { EmbeddingPromptResult } from './PromptResult';
11
11
  /**
12
12
  * Container for all the tools needed to execute prompts to large language models like GPT-4
13
13
  * On its interface it exposes common methods for prompt execution.
@@ -31,15 +31,15 @@ export type LlmExecutionTools = {
31
31
  /**
32
32
  * Calls a chat model
33
33
  */
34
- callChatModel?(prompt: Prompt): Promise<PromptChatResult>;
34
+ callChatModel?(prompt: Prompt): Promise<ChatPromptResult>;
35
35
  /**
36
36
  * Calls a completion model
37
37
  */
38
- callCompletionModel?(prompt: Prompt): Promise<PromptCompletionResult>;
38
+ callCompletionModel?(prompt: Prompt): Promise<CompletionPromptResult>;
39
39
  /**
40
40
  * Calls an embedding model
41
41
  */
42
- callEmbeddingModel?(prompt: Prompt): Promise<PromptEmbeddingResult>;
42
+ callEmbeddingModel?(prompt: Prompt): Promise<EmbeddingPromptResult>;
43
43
  /**
44
44
  * List all available models that can be used
45
45
  */
@@ -63,8 +63,10 @@ export type AvailableModel = {
63
63
  readonly modelVariant: ModelVariant;
64
64
  };
65
65
  /**
66
- * TODO: !!!! Translation model
66
+ * TODO: [🏳] Add `callTranslationModel`
67
+ * TODO: Maybe reorder `listModels` and put it befor `callChatModel`, `callCompletionModel`, `callEmbeddingModel`
67
68
  * TODO: [🧠] Emulation of one type of model with another one - emuate chat with completion; emulate translation with chat
68
69
  * TODO: [🍓][♐] Some heuristic to pick the best model in listed models
69
70
  * TODO: [🧠] Should or should not there be a word "GPT" in both callCompletionModel and callChatModel
71
+ * TODO: [🧠][🪐] Should be common things like types, utils in folder containing A,B,C,.. or else outside this listing folder?
70
72
  */
@@ -1,42 +1,64 @@
1
1
  import type { Promisable } from 'type-fest';
2
+ import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
3
+ import { PipelineExecutionError } from '../errors/PipelineExecutionError';
2
4
  import type { TaskProgress } from '../types/TaskProgress';
3
5
  import type { ExecutionReportJson } from '../types/execution-report/ExecutionReportJson';
4
- import type { string_name } from '../types/typeAliases';
5
- import type { PromptResultUsage } from './PromptResult';
6
+ import type { Parameters } from '../types/typeAliases';
7
+ import type { PromptResultUsage } from './PromptResultUsage';
6
8
  /**
7
9
  * Executor is a simple async function that takes INPUT PARAMETERs and returns result parameters _(along with all intermediate parameters and INPUT PARAMETERs = it extends input object)_.
8
10
  * Executor is made by combining execution tools and pipeline collection.
9
11
  *
10
12
  * It can be created with `createPipelineExecutor` function.
11
13
  *
14
+ * @@@ almost-JSON (what about errors)
15
+ *
12
16
  * @see https://github.com/webgptorg/promptbook#executor
13
17
  */
14
18
  export type PipelineExecutor = {
15
- (inputParameters: Record<string_name, string>, onProgress?: (taskProgress: TaskProgress) => Promisable<void>): Promise<{
16
- /**
17
- * Whether the execution was successful, details are aviable in `executionReport`
18
- */
19
- isSuccessful: boolean;
20
- /**
21
- * Added usage of whole execution, detailed usage is aviable in `executionReport`
22
- */
23
- usage: PromptResultUsage;
24
- /**
25
- * Errors that occured during the execution, details are aviable in `executionReport`
26
- */
27
- errors: Array<Error>;
28
- /**
29
- * The report of the execution with all details
30
- */
31
- executionReport: ExecutionReportJson;
32
- /**
33
- * Result parameters of the execution
34
- *
35
- * Note: If the execution was not successful, there are only some of the result parameters
36
- */
37
- outputParameters: Record<string_name, string>;
38
- }>;
19
+ (inputParameters: Parameters, onProgress?: (taskProgress: TaskProgress) => Promisable<void>): Promise<PipelineExecutorResult>;
20
+ };
21
+ /**
22
+ * @@@
23
+ *
24
+ * @@@ almost-JSON (what about errors)
25
+ */
26
+ export type PipelineExecutorResult = {
27
+ /**
28
+ * Result parameters of the execution
29
+ *
30
+ * Note: If the execution was not successful, there are only some of the result parameters
31
+ */
32
+ readonly outputParameters: Parameters;
33
+ /**
34
+ * Whether the execution was successful, details are aviable in `executionReport`
35
+ */
36
+ readonly isSuccessful: boolean;
37
+ /**
38
+ * Added usage of whole execution, detailed usage is aviable in `executionReport`
39
+ */
40
+ readonly usage: PromptResultUsage;
41
+ /**
42
+ * Errors that occured during the execution, details are aviable in `executionReport`
43
+ */
44
+ readonly errors: Array<PipelineExecutionError | Error>;
45
+ /**
46
+ * Warnings that occured during the execution, details are aviable in `executionReport`
47
+ */
48
+ readonly warnings: Array<PipelineExecutionError | Error>;
49
+ /**
50
+ * The report of the execution with all details
51
+ */
52
+ readonly executionReport: ExecutionReportJson;
53
+ /**
54
+ * The prepared pipeline that was used for the execution
55
+ *
56
+ * Note: If you called `createPipelineExecutor` with fully prepared pipeline, this is the same object as this pipeline
57
+ * If you passed not fully prepared pipeline, this is same pipeline but fully prepared
58
+ */
59
+ readonly preparedPipeline: PipelineJson;
39
60
  };
40
61
  /**
41
62
  * TODO: [🧠] Should this file be in /execution or /types folder?
63
+ * TODO: [💷] `assertsExecutionSuccessful` should be the method of `PipelineExecutor` result - BUT maybe NOT?
42
64
  */
@@ -1,37 +1,46 @@
1
- import type { KebabCase } from 'type-fest';
2
- import type { ExpectationUnit } from '../types/PipelineJson/Expectations';
3
- import type { number_positive } from '../types/typeAliases';
4
- import type { number_usd } from '../types/typeAliases';
5
1
  import type { string_date_iso8601 } from '../types/typeAliases';
6
2
  import type { string_model_name } from '../types/typeAliases';
3
+ import type { string_prompt } from '../types/typeAliases';
4
+ import type { TODO_object } from '../utils/organization/TODO_object';
7
5
  import type { EmbeddingVector } from './EmbeddingVector';
6
+ import type { PromptResultUsage } from './PromptResultUsage';
8
7
  /**
9
8
  * Prompt result is the simplest concept of execution.
10
9
  * It is the result of executing one prompt _(NOT a template)_.
11
10
  *
12
11
  * @see https://github.com/webgptorg/promptbook#prompt-result
13
12
  */
14
- export type PromptResult = PromptCompletionResult | PromptChatResult | PromptEmbeddingResult;
13
+ export type PromptResult = CompletionPromptResult | ChatPromptResult | EmbeddingPromptResult;
15
14
  /**
16
- * Prompt completion result
17
- * It contains only the following text NOT the whole completion
15
+ * Completion prompt result
16
+ *
17
+ * Note:It contains only the newly generated text NOT the whole completion
18
+ * Note: This is fully serializable as JSON
18
19
  */
19
- export type PromptCompletionResult = PromptCommonResult;
20
+ export type CompletionPromptResult = CommonPromptResult;
20
21
  /**
21
- * Prompt chat result
22
+ *Chat prompt result
23
+ *
24
+ * Note: This is fully serializable as JSON
22
25
  */
23
- export type PromptChatResult = PromptCommonResult & {};
26
+ export type ChatPromptResult = CommonPromptResult & {};
24
27
  /**
25
- * Prompt embedding result
26
- * It contains only the following text NOT the whole completion
28
+ * Embedding prompt result
29
+ *
30
+ * Note: This is fully serializable as JSON
27
31
  */
28
- export type PromptEmbeddingResult = Omit<PromptCommonResult, 'content'> & {
32
+ export type EmbeddingPromptResult = Omit<CommonPromptResult, 'content'> & {
29
33
  /**
30
34
  * The response from the model
31
35
  */
32
36
  content: EmbeddingVector;
33
37
  };
34
- export type PromptCommonResult = {
38
+ /**
39
+ * Common properties for all prompt results
40
+ *
41
+ * Note: This is fully serializable as JSON
42
+ */
43
+ export type CommonPromptResult = {
35
44
  /**
36
45
  * Exact text response from the model
37
46
  */
@@ -47,68 +56,44 @@ export type PromptCommonResult = {
47
56
  /**
48
57
  * Start of the execution
49
58
  */
50
- start: string_date_iso8601;
59
+ readonly start: string_date_iso8601;
51
60
  /**
52
61
  * First token generated
53
62
  */
54
- firstToken?: string_date_iso8601;
63
+ readonly firstToken?: string_date_iso8601;
55
64
  /**
56
65
  * End of the execution
57
66
  */
58
- complete: string_date_iso8601;
67
+ readonly complete: string_date_iso8601;
59
68
  };
60
69
  /**
61
70
  * Usage of the prompt execution
62
71
  */
63
72
  readonly usage: PromptResultUsage;
64
73
  /**
65
- * Raw response from the model
66
- */
67
- readonly rawResponse: object;
68
- };
69
- /**
70
- * Usage statistics for one or many prompt results
71
- */
72
- export type PromptResultUsage = {
73
- /**
74
- * Cost of the execution in USD
74
+ * Exact text of the prompt (with all replacements)
75
75
  *
76
- * Note: If the cost is unknown, the value 0 and isUncertain is true
76
+ * Note: This contains redundant information
77
77
  */
78
- price: UncertainNumber;
78
+ readonly rawPromptContent: string_prompt;
79
79
  /**
80
- * Number of whatever used in the input aka. `prompt_tokens`
81
- */
82
- input: PromptResultUsageCounts;
83
- /**
84
- * Number of tokens used in the output aka. `completion_tokens`
85
- */
86
- output: PromptResultUsageCounts;
87
- };
88
- /**
89
- * Record of all possible measurable units
90
- */
91
- export type PromptResultUsageCounts = Record<`${KebabCase<'TOKENS' | ExpectationUnit>}Count`, UncertainNumber>;
92
- /**
93
- * Number which can be uncertain
94
- *
95
- * Note: If the value is completelly unknown, the value 0 and isUncertain is true
96
- * Note: Not using NaN or null because it looses the value which is better to be uncertain then not to be at all
97
- */
98
- export type UncertainNumber = {
99
- /**
100
- * The numeric value
80
+ * Raw request to the model
81
+ *
82
+ * Note: This contains redundant information
101
83
  */
102
- value: number_usd & (number_positive | 0);
84
+ readonly rawRequest: TODO_object | null;
103
85
  /**
104
- * Is the value uncertain
86
+ * Raw response from the model
87
+ *
88
+ * Note: This contains redundant information
105
89
  */
106
- isUncertain?: true;
90
+ readonly rawResponse: TODO_object;
107
91
  };
108
92
  /**
109
93
  * TODO: [🧠] Maybe timing more accurate then seconds?
110
94
  * TODO: [🧠] Should here be link to the prompt?
111
- * TODO: [🧠] Maybe type raw properly - not onject but OpenAI.result.whatever
95
+ * TODO: [🧠] Maybe type `rawResponse` properly - not onject but OpenAI.result.whatever
112
96
  * TODO: [🧠] Maybe remove redundant raw.choices.text
113
97
  * TODO: Log raw even if prompt failed - log the raw error
98
+ * TODO: [🏳] Add `TranslationPromptResult`
114
99
  */
@@ -0,0 +1,29 @@
1
+ import type { KebabCase } from 'type-fest';
2
+ import type { ExpectationUnit } from '../types/PipelineJson/Expectations';
3
+ import type { UncertainNumber } from './UncertainNumber';
4
+ /**
5
+ * Usage statistics for one or many prompt results
6
+ */
7
+ export type PromptResultUsage = {
8
+ /**
9
+ * Cost of the execution in USD
10
+ *
11
+ * Note: If the cost is unknown, the value 0 and isUncertain is true
12
+ */
13
+ readonly price: UncertainNumber;
14
+ /**
15
+ * Number of whatever used in the input aka. `prompt_tokens`
16
+ */
17
+ readonly input: PromptResultUsageCounts;
18
+ /**
19
+ * Number of tokens used in the output aka. `completion_tokens`
20
+ */
21
+ readonly output: PromptResultUsageCounts;
22
+ };
23
+ /**
24
+ * Record of all possible measurable units
25
+ */
26
+ export type PromptResultUsageCounts = Record<`${KebabCase<'TOKENS' | ExpectationUnit>}Count`, UncertainNumber>;
27
+ /**
28
+ * TODO: [🍙] Make some standart order of json properties
29
+ */
@@ -1,5 +1,5 @@
1
1
  import type { ScriptLanguage } from '../types/ScriptLanguage';
2
- import type { string_name } from '../types/typeAliases';
2
+ import type { Parameters } from '../types/typeAliases';
3
3
  import type { string_script } from '../types/typeAliases';
4
4
  /**
5
5
  * Represents all the tools needed to EXECUTE SCRIPTs
@@ -16,13 +16,13 @@ export type ScriptExecutionToolsExecuteOptions = {
16
16
  /**
17
17
  * Language of the script
18
18
  */
19
- scriptLanguage: ScriptLanguage;
19
+ readonly scriptLanguage: ScriptLanguage;
20
20
  /**
21
21
  * Parameters for the script
22
22
  * Theese parameters are passed to the script as variables
23
23
  * For example: { "name": "John" } => const name = "John";
24
24
  */
25
- parameters: Record<string_name, string>;
25
+ readonly parameters: Parameters;
26
26
  /**
27
27
  * The content of the script to execute
28
28
  * - It can be a single statement
@@ -31,8 +31,9 @@ export type ScriptExecutionToolsExecuteOptions = {
31
31
  * - It can be IIFE (immediately invoked function expression)
32
32
  * - It can use the parameters as variables and functions from global scope
33
33
  */
34
- script: string_script;
34
+ readonly script: string_script;
35
35
  };
36
36
  /**
37
37
  * TODO: [🧠][💙] Distinct between options passed into ExecutionTools and to ExecutionTools.execute
38
+ * TODO: [🧠][🪐] Should be common things like types, utils in folder containing A,B,C,.. or else outside this listing folder?
38
39
  */
@@ -0,0 +1,18 @@
1
+ import type { number_positive } from '../types/typeAliases';
2
+ import type { number_usd } from '../types/typeAliases';
3
+ /**
4
+ * Number which can be uncertain
5
+ *
6
+ * Note: If the value is completelly unknown, the value 0 and isUncertain is true
7
+ * Note: Not using NaN or null because it looses the value which is better to be uncertain then not to be at all
8
+ */
9
+ export type UncertainNumber = {
10
+ /**
11
+ * The numeric value
12
+ */
13
+ readonly value: number_usd & (number_positive | 0);
14
+ /**
15
+ * Is the value uncertain
16
+ */
17
+ readonly isUncertain?: true;
18
+ };
@@ -21,26 +21,26 @@ export type UserInterfaceToolsPromptDialogOptions = {
21
21
  * Note: This is not a prompt to language model but a prompt to the user
22
22
  * @example "Your name"
23
23
  */
24
- promptTitle: string;
24
+ readonly promptTitle: string;
25
25
  /**
26
26
  * Prompt message
27
27
  *
28
28
  * Note: This is not a prompt to language model but a prompt to the user
29
29
  * @example "Please enter your name, including your last name, title, etc."
30
30
  */
31
- promptMessage: string;
31
+ readonly promptMessage: string;
32
32
  /**
33
33
  * Default value for the input/textarea
34
34
  */
35
- defaultValue: string | null;
35
+ readonly defaultValue: string | null;
36
36
  /**
37
37
  * Placeholder for the input/textarea
38
38
  */
39
- placeholder?: string;
39
+ readonly placeholder?: string;
40
40
  /**
41
41
  * Priority of the prompt
42
42
  *
43
43
  * Note: This would be reflected for example into the UI z-index of the prompt modal
44
44
  */
45
- priority: number_integer & number_positive;
45
+ readonly priority: number_integer & number_positive;
46
46
  };
@@ -5,12 +5,34 @@ type CreatePipelineExecutorSettings = {
5
5
  /**
6
6
  * When executor does not satisfy expectations it will be retried this amount of times
7
7
  *
8
- * @default 3
8
+ * @default MAX_EXECUTION_ATTEMPTS
9
9
  */
10
- readonly maxExecutionAttempts: number;
10
+ readonly maxExecutionAttempts?: number;
11
+ /**
12
+ * Maximum number of tasks running in parallel
13
+ *
14
+ * @default MAX_PARALLEL_COUNT
15
+ */
16
+ readonly maxParallelCount?: number;
17
+ /**
18
+ * If true, the preparation logs additional information
19
+ *
20
+ * @default false
21
+ */
22
+ readonly isVerbose?: boolean;
23
+ /**
24
+ * If you pass fully prepared pipeline, this does not matter
25
+ *
26
+ * Otherwise:
27
+ * If false or not set, warning is shown when pipeline is not prepared
28
+ * If true, warning is suppressed
29
+ *
30
+ * @default false
31
+ */
32
+ readonly isNotPreparedWarningSupressed?: boolean;
11
33
  };
12
34
  /**
13
- * Options for creating a pipeline executor
35
+ * Options for `createPipelineExecutor`
14
36
  */
15
37
  interface CreatePipelineExecutorOptions {
16
38
  /**
@@ -35,8 +57,13 @@ interface CreatePipelineExecutorOptions {
35
57
  export declare function createPipelineExecutor(options: CreatePipelineExecutorOptions): PipelineExecutor;
36
58
  export {};
37
59
  /**
60
+ * TODO: Use isVerbose here (not only pass to `preparePipeline`)
61
+ * TODO: [🪂] Use maxParallelCount here (not only pass to `preparePipeline`)
62
+ * TODO: [♈] Probbably move expectations from templates to parameters
38
63
  * TODO: [🧠] When not meet expectations in PROMPT_DIALOG, make some way to tell the user
39
64
  * TODO: [👧] Strongly type the executors to avoid need of remove nullables whtn noUncheckedIndexedAccess in tsconfig.json
40
65
  * Note: CreatePipelineExecutorOptions are just connected to PipelineExecutor so do not extract to types folder
41
66
  * TODO: [🧠][3] transparent = (report intermediate parameters) / opaque execution = (report only output parameters) progress reporting mode
67
+ * TODO: [🛠] Actions, instruments (and maybe knowledge) => Functions and tools
68
+ * TODO: [🧠][💷] `assertsExecutionSuccessful` should be the method of `PipelineExecutor` result BUT maybe NOT to preserve pure JSON object
42
69
  */
@@ -1,4 +1,4 @@
1
1
  export type TranslatorOptions = {
2
- from?: string;
3
- to: string;
2
+ readonly from?: string;
3
+ readonly to: string;
4
4
  };
@@ -1,7 +1,63 @@
1
- import type { PromptResultUsage } from '../PromptResult';
1
+ import type { PromptResultUsage } from '../PromptResultUsage';
2
+ /**
3
+ * @@@
4
+ *
5
+ * TODO: [🔼] Export with addUsage
6
+ */
7
+ export declare const ZERO_USAGE: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
8
+ readonly price: {
9
+ readonly value: 0;
10
+ };
11
+ readonly input: {
12
+ readonly tokensCount: {
13
+ readonly value: 0;
14
+ };
15
+ readonly charactersCount: {
16
+ readonly value: 0;
17
+ };
18
+ readonly wordsCount: {
19
+ readonly value: 0;
20
+ };
21
+ readonly sentencesCount: {
22
+ readonly value: 0;
23
+ };
24
+ readonly linesCount: {
25
+ readonly value: 0;
26
+ };
27
+ readonly paragraphsCount: {
28
+ readonly value: 0;
29
+ };
30
+ readonly pagesCount: {
31
+ readonly value: 0;
32
+ };
33
+ };
34
+ readonly output: {
35
+ readonly tokensCount: {
36
+ readonly value: 0;
37
+ };
38
+ readonly charactersCount: {
39
+ readonly value: 0;
40
+ };
41
+ readonly wordsCount: {
42
+ readonly value: 0;
43
+ };
44
+ readonly sentencesCount: {
45
+ readonly value: 0;
46
+ };
47
+ readonly linesCount: {
48
+ readonly value: 0;
49
+ };
50
+ readonly paragraphsCount: {
51
+ readonly value: 0;
52
+ };
53
+ readonly pagesCount: {
54
+ readonly value: 0;
55
+ };
56
+ };
57
+ }>;
2
58
  /**
3
59
  * Function `addUsage` will add multiple usages into one
4
60
  *
5
- * Note: If you provide 0 values, it returns void usage
61
+ * Note: If you provide 0 values, it returns ZERO_USAGE
6
62
  */
7
63
  export declare function addUsage(...usageItems: Array<PromptResultUsage>): PromptResultUsage;
@@ -1,4 +1,4 @@
1
- import type { PromptResultUsageCounts } from '../PromptResult';
1
+ import type { PromptResultUsageCounts } from '../PromptResultUsage';
2
2
  /**
3
3
  * Helper of usage compute
4
4
  *
@@ -5,7 +5,7 @@ type ForEachAsyncOptions = {
5
5
  *
6
6
  * @default Infinity
7
7
  */
8
- inParallelCount?: number;
8
+ readonly maxParallelCount?: number;
9
9
  };
10
10
  /**
11
11
  * Async version of Array.forEach
@@ -1,4 +1,4 @@
1
- import type { UncertainNumber } from '../PromptResult';
1
+ import type { UncertainNumber } from '../UncertainNumber';
2
2
  /**
3
3
  * Make UncertainNumber
4
4
  *
@@ -1,5 +1,5 @@
1
- import type { PromptResultUsage } from '../PromptResult';
2
- import type { UncertainNumber } from '../PromptResult';
1
+ import type { PromptResultUsage } from '../PromptResultUsage';
2
+ import type { UncertainNumber } from '../UncertainNumber';
3
3
  /**
4
4
  * Function usageToWorktime will take usage and estimate saved worktime in hours of reading / writing
5
5
  *
@@ -65,5 +65,5 @@ export type FormatDefinition<TValue extends TPartialValue, TPartialValue extends
65
65
  * TODO: [🍓][👨‍⚖️] Compute TPartialValue dynamically - PartialString<TValue>
66
66
  * TODO: [🍓][🧠] Should execution tools be aviable to heal, canBeValid and isValid?
67
67
  * TODO: [🍓][🧠] llm Provider Bindings
68
- * TODO: [🍓]Export via some package
68
+ * TODO: [🍓][🔼] Export via some package
69
69
  */
@@ -8,4 +8,5 @@ export declare const CsvFormatDefinition: FormatDefinition<string, string, objec
8
8
  * TODO: [🍓] In `CsvFormatDefinition` implement partial `canBeValid`
9
9
  * TODO: [🍓] In `CsvFormatDefinition` implement `heal
10
10
  * TODO: [🍓] In `CsvFormatDefinition` implement `extractValues`
11
- */
11
+ * TODO: [🏢] Allow to expect something inside CSV objects and other formats
12
+ */
@@ -12,4 +12,5 @@ export declare const JsonFormatDefinition: FormatDefinition<string, string, obje
12
12
  * TODO: [🍓] In `JsonFormatDefinition` implement partial `canBeValid`
13
13
  * TODO: [🍓] In `JsonFormatDefinition` implement `heal
14
14
  * TODO: [🍓] In `JsonFormatDefinition` implement `extractValues`
15
- */
15
+ * TODO: [🏢] Allow to expect something inside JSON objects and other formats
16
+ */
@@ -10,4 +10,5 @@ export declare const ListFormatDefinition: FormatDefinition<string, string, obje
10
10
  * TODO: [🍓] In `ListFormatDefinition` implement partial `canBeValid`
11
11
  * TODO: [🍓] In `ListFormatDefinition` implement `heal
12
12
  * TODO: [🍓] In `ListFormatDefinition` implement `extractValues`
13
- */
13
+ * TODO: [🏢] Allow to expect something inside each item of list and other formats
14
+ */
@@ -12,4 +12,5 @@ export declare const XmlFormatDefinition: FormatDefinition<string, string, objec
12
12
  * TODO: [🍓] In `XmlFormatDefinition` implement partial `canBeValid`
13
13
  * TODO: [🍓] In `XmlFormatDefinition` implement `heal
14
14
  * TODO: [🍓] In `XmlFormatDefinition` implement `extractValues`
15
+ * TODO: [🏢] Allow to expect something inside XML and other formats
15
16
  */
@@ -2,7 +2,7 @@ import type { Promisable } from 'type-fest';
2
2
  import type { CommonExecutionToolsOptions } from '../../../execution/CommonExecutionToolsOptions';
3
3
  import type { UserInterfaceToolsPromptDialogOptions } from '../../../execution/UserInterfaceTools';
4
4
  /**
5
- * Options for CallbackInterfaceTools
5
+ * Options for `CallbackInterfaceTools`
6
6
  */
7
7
  export type CallbackInterfaceToolsOptions = CommonExecutionToolsOptions & {
8
8
  /**
@@ -15,3 +15,6 @@ export declare class SimplePromptInterfaceTools implements UserInterfaceTools {
15
15
  */
16
16
  promptDialog(options: UserInterfaceToolsPromptDialogOptions): Promise<string>;
17
17
  }
18
+ /**
19
+ * Note: [🔵] This code should never be published outside of `@promptbook/browser`
20
+ */
@@ -0,0 +1,27 @@
1
+ import type { Promisable } from 'type-fest';
2
+ import type { string_file_path } from '../../../types/typeAliases';
3
+ import type { string_knowledge_source_link } from '../../../types/typeAliases';
4
+ import type { string_markdown } from '../../../types/typeAliases';
5
+ import type { string_markdown_text } from '../../../types/typeAliases';
6
+ import type { string_mime_type } from '../../../types/typeAliases';
7
+ import type { string_mime_type_with_wildcard } from '../../../types/typeAliases';
8
+ import type { string_promptbook_documentation_url } from '../../../types/typeAliases';
9
+ import type { really_unknown } from '../../../utils/organization/really_unknown';
10
+ export type Scraper = {
11
+ readonly description: string_markdown_text;
12
+ readonly documentationUrl: string_promptbook_documentation_url;
13
+ readonly examples: Array<string_file_path>;
14
+ readonly mimeTypes: Array<string_mime_type_with_wildcard>;
15
+ scrape(source: ScraperSourceOptions): Promisable<string_markdown>;
16
+ };
17
+ export type ScraperSourceOptions = {
18
+ readonly source: string_knowledge_source_link;
19
+ readonly mimeType: string_mime_type;
20
+ asJson(): Promise<really_unknown>;
21
+ asText(): Promise<really_unknown>;
22
+ asBlob(): Promise<really_unknown>;
23
+ };
24
+ /**
25
+ * TODO: [🐝] @@@ Annotate all
26
+ * TODO: [🔼] Export via types
27
+ */