@promptbook/openai 0.60.1 → 0.61.0-1

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 (350) hide show
  1. package/README.md +23 -21
  2. package/esm/index.es.js +38 -20
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/promptbook-collection/index.d.ts +61 -4
  5. package/esm/typings/src/_packages/core.index.d.ts +8 -8
  6. package/esm/typings/src/_packages/markdown-utils.d.ts +17 -0
  7. package/esm/typings/src/_packages/types.index.d.ts +11 -6
  8. package/esm/typings/src/_packages/utils.index.d.ts +23 -19
  9. package/esm/typings/src/cli/cli-commands/hello.d.ts +7 -0
  10. package/esm/typings/src/cli/cli-commands/make.d.ts +7 -0
  11. package/esm/typings/src/cli/cli-commands/prettify.d.ts +7 -0
  12. package/esm/typings/src/collection/collectionToJson.d.ts +3 -0
  13. package/esm/typings/src/collection/collectionToJson.test.d.ts +6 -0
  14. package/esm/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +2 -1
  15. package/esm/typings/src/commands/BLOCK/BlockCommand.d.ts +11 -0
  16. package/esm/typings/src/commands/BLOCK/BlockTypes.d.ts +13 -0
  17. package/esm/typings/src/commands/BLOCK/blockCommandParser.d.ts +9 -0
  18. package/esm/typings/src/commands/EXPECT/ExpectAmountCommand.d.ts +14 -0
  19. package/esm/typings/src/commands/EXPECT/ExpectCommand.d.ts +9 -0
  20. package/esm/typings/src/commands/EXPECT/ExpectFormatCommand.d.ts +7 -0
  21. package/esm/typings/src/commands/EXPECT/expectCommandParser.d.ts +9 -0
  22. package/esm/typings/src/commands/JOKER/JokerCommand.d.ts +11 -0
  23. package/esm/typings/src/commands/JOKER/jokerCommandParser.d.ts +9 -0
  24. package/esm/typings/src/commands/KNOWLEDGE/KnowledgeCommand.d.ts +12 -0
  25. package/esm/typings/src/commands/KNOWLEDGE/knowledgeCommandParser.d.ts +9 -0
  26. package/esm/typings/src/commands/MODEL/ModelCommand.d.ts +13 -0
  27. package/esm/typings/src/commands/MODEL/modelCommandParser.d.ts +9 -0
  28. package/esm/typings/src/commands/PARAMETER/ParameterCommand.d.ts +15 -0
  29. package/esm/typings/src/commands/PARAMETER/parameterCommandParser.d.ts +9 -0
  30. package/esm/typings/src/commands/PERSONA/PersonaCommand.d.ts +11 -0
  31. package/esm/typings/src/commands/PERSONA/personaCommandParser.d.ts +9 -0
  32. package/esm/typings/src/commands/POSTPROCESS/PostprocessCommand.d.ts +11 -0
  33. package/esm/typings/src/commands/POSTPROCESS/postprocessCommandParser.d.ts +9 -0
  34. package/esm/typings/src/commands/PROMPTBOOK_VERSION/PromptbookVersionCommand.d.ts +11 -0
  35. package/esm/typings/src/commands/PROMPTBOOK_VERSION/promptbookVersionCommandParser.d.ts +9 -0
  36. package/esm/typings/src/commands/URL/UrlCommand.d.ts +10 -0
  37. package/esm/typings/src/commands/URL/urlCommandParser.d.ts +9 -0
  38. package/esm/typings/src/commands/X_ACTION/ActionCommand.d.ts +9 -0
  39. package/esm/typings/src/commands/X_ACTION/actionCommand.test.d.ts +1 -0
  40. package/esm/typings/src/commands/X_ACTION/actionCommandParser.d.ts +9 -0
  41. package/esm/typings/src/commands/X_INSTRUMENT/InstrumentCommand.d.ts +9 -0
  42. package/esm/typings/src/commands/X_INSTRUMENT/instrumentCommand.test.d.ts +1 -0
  43. package/esm/typings/src/commands/X_INSTRUMENT/instrumentCommandParser.d.ts +9 -0
  44. package/esm/typings/src/commands/_BOILERPLATE/BoilerplateCommand.d.ts +10 -0
  45. package/esm/typings/src/commands/_BOILERPLATE/boilerplateCommand.test.d.ts +1 -0
  46. package/esm/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +12 -0
  47. package/esm/typings/src/commands/_common/parseCommand.d.ts +12 -0
  48. package/esm/typings/src/commands/_common/parseCommand.test.d.ts +1 -0
  49. package/esm/typings/src/commands/_common/types/Command.d.ts +6 -0
  50. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +36 -0
  51. package/esm/typings/src/commands/_common/types/CommandUsagePlaces.d.ts +9 -0
  52. package/esm/typings/src/commands/index.d.ts +4 -0
  53. package/esm/typings/src/config.d.ts +4 -0
  54. package/esm/typings/src/conversion/pipelineJsonToString.d.ts +2 -0
  55. package/esm/typings/src/conversion/pipelineStringToJson.d.ts +2 -3
  56. package/esm/typings/src/conversion/pipelineStringToJsonSync.d.ts +4 -2
  57. package/esm/typings/src/conversion/utils/extractParametersFromPromptTemplate.d.ts +2 -2
  58. package/esm/typings/src/conversion/utils/extractVariables.d.ts +1 -1
  59. package/esm/typings/src/conversion/validation/validatePipeline-logicErrors.test.d.ts +3 -0
  60. package/esm/typings/src/errors/NotYetImplementedError.d.ts +7 -0
  61. package/esm/typings/src/errors/{SyntaxError.d.ts → ParsingError.d.ts} +2 -2
  62. package/{umd/typings/src/errors/ExecutionError.d.ts → esm/typings/src/errors/PipelineExecutionError.d.ts} +2 -2
  63. package/esm/typings/src/errors/_ExpectError.d.ts +2 -2
  64. package/esm/typings/src/execution/ExecutionTools.d.ts +4 -3
  65. package/esm/typings/src/execution/LlmExecutionTools.d.ts +24 -5
  66. package/esm/typings/src/execution/PromptResult.d.ts +2 -2
  67. package/esm/typings/src/execution/assertsExecutionSuccessful.d.ts +1 -1
  68. package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/utils/extractMultiplicatedOccurrence.d.ts +1 -1
  69. package/esm/typings/src/execution/utils/checkExpectations.d.ts +1 -1
  70. package/esm/typings/src/execution/utils/replaceParameters.d.ts +1 -1
  71. package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +5 -0
  72. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +5 -5
  73. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -0
  74. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +5 -0
  75. package/esm/typings/src/llm-providers/langtail/LangtailExecutionTools.d.ts +5 -0
  76. package/esm/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +5 -0
  77. package/esm/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +10 -0
  78. package/esm/typings/src/llm-providers/mocked/fakeTextToExpectations.d.ts +1 -1
  79. package/esm/typings/src/llm-providers/mocked/test/fakeTextToExpectations.test.d.ts +1 -0
  80. package/esm/typings/src/llm-providers/mocked/test/faked-completion.test.d.ts +1 -0
  81. package/esm/typings/src/llm-providers/mocked/test/mocked-chat.test.d.ts +5 -0
  82. package/esm/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +14 -1
  83. package/esm/typings/src/llm-providers/multiple/joinLlmExecutionTools.d.ts +16 -0
  84. package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +6 -1
  85. package/esm/typings/src/llm-providers/openai/computeOpenaiUsage.d.ts +1 -1
  86. package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -0
  87. package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +13 -3
  88. package/esm/typings/src/llm-providers/remote/startRemoteServer.d.ts +1 -0
  89. package/esm/typings/src/personas/personaToModelRequirements.d.ts +6 -0
  90. package/esm/typings/src/scripting/javascript/utils/preserve.d.ts +2 -1
  91. package/esm/typings/src/types/Arrayable.d.ts +10 -0
  92. package/esm/typings/src/types/PipelineJson/Expectations.d.ts +28 -0
  93. package/esm/typings/src/types/PipelineJson/LlmTemplateJson.d.ts +16 -0
  94. package/esm/typings/src/types/PipelineJson/PipelineJson.d.ts +8 -2
  95. package/esm/typings/src/types/PipelineJson/PromptDialogJson.d.ts +7 -0
  96. package/esm/typings/src/types/PipelineJson/PromptTemplateJson.d.ts +6 -142
  97. package/esm/typings/src/types/PipelineJson/PromptTemplateJsonCommon.d.ts +77 -0
  98. package/esm/typings/src/types/PipelineJson/ScriptJson.d.ts +14 -0
  99. package/esm/typings/src/types/PipelineJson/SimpleTemplateJson.d.ts +7 -0
  100. package/esm/typings/src/types/Prompt.d.ts +3 -3
  101. package/esm/typings/src/types/TaskProgress.d.ts +2 -2
  102. package/esm/typings/src/types/execution-report/ExecutionReportJson.d.ts +3 -3
  103. package/esm/typings/src/types/typeAliases.d.ts +50 -6
  104. package/esm/typings/src/utils/arrayableToArray.d.ts +11 -0
  105. package/esm/typings/src/utils/arrayableToArray.test.d.ts +1 -0
  106. package/esm/typings/src/utils/emojis.d.ts +1 -0
  107. package/esm/typings/src/utils/expectation-counters/countCharacters.d.ts +1 -1
  108. package/esm/typings/src/utils/expectation-counters/countLines.d.ts +1 -1
  109. package/esm/typings/src/utils/expectation-counters/countPages.d.ts +1 -1
  110. package/esm/typings/src/utils/expectation-counters/countParagraphs.d.ts +1 -1
  111. package/esm/typings/src/utils/expectation-counters/countSentences.d.ts +1 -1
  112. package/esm/typings/src/utils/expectation-counters/countWords.d.ts +1 -1
  113. package/esm/typings/src/utils/expectation-counters/index.d.ts +2 -2
  114. package/esm/typings/src/utils/markdown/flattenMarkdown.d.ts +14 -0
  115. package/esm/typings/src/utils/markdown/flattenMarkdown.test.d.ts +1 -0
  116. package/esm/typings/src/utils/markdown/parseMarkdownSection.d.ts +30 -0
  117. package/esm/typings/src/utils/markdown/parseMarkdownSection.test.d.ts +1 -0
  118. package/esm/typings/src/utils/markdown/prettifyMarkdown.d.ts +1 -0
  119. package/esm/typings/src/utils/markdown/splitMarkdownIntoSections.d.ts +12 -0
  120. package/esm/typings/src/utils/markdown/splitMarkdownIntoSections.test.d.ts +1 -0
  121. package/esm/typings/src/utils/normalization/normalize-to-kebab-case.d.ts +8 -1
  122. package/esm/typings/src/utils/normalization/normalizeTo_PascalCase.d.ts +8 -1
  123. package/esm/typings/src/utils/normalization/normalizeTo_SCREAMING_CASE.d.ts +13 -1
  124. package/esm/typings/src/utils/normalization/normalizeTo_camelCase.d.ts +8 -1
  125. package/esm/typings/src/utils/normalization/normalizeTo_snake_case.d.ts +8 -1
  126. package/esm/typings/src/{conversion/utils → utils}/parseNumber.d.ts +1 -1
  127. package/esm/typings/src/utils/parseNumber.test.d.ts +1 -0
  128. package/esm/typings/src/utils/sets/difference.d.ts +2 -0
  129. package/esm/typings/src/utils/sets/intersection.d.ts +2 -0
  130. package/esm/typings/src/utils/sets/union.d.ts +2 -0
  131. package/esm/typings/src/utils/validators/email/isValidEmail.d.ts +5 -0
  132. package/esm/typings/src/utils/validators/email/isValidEmail.test.d.ts +1 -0
  133. package/esm/typings/src/utils/validators/filePath/isValidFilePath.d.ts +7 -0
  134. package/esm/typings/src/utils/validators/filePath/isValidFilePath.test.d.ts +1 -0
  135. package/esm/typings/src/utils/validators/javascriptName/isValidJavascriptName.d.ts +2 -0
  136. package/esm/typings/src/utils/validators/javascriptName/isValidJavascriptName.test.d.ts +1 -0
  137. package/esm/typings/src/utils/validators/semanticVersion/isValidPromptbookVersion.d.ts +12 -0
  138. package/esm/typings/src/utils/validators/semanticVersion/isValidPromptbookVersion.test.d.ts +1 -0
  139. package/esm/typings/src/utils/validators/semanticVersion/isValidSemanticVersion.d.ts +9 -0
  140. package/esm/typings/src/utils/validators/semanticVersion/isValidSemanticVersion.test.d.ts +1 -0
  141. package/esm/typings/src/utils/validators/url/isHostnameOnPrivateNetwork.d.ts +9 -0
  142. package/esm/typings/src/utils/validators/url/isHostnameOnPrivateNetwork.test.d.ts +1 -0
  143. package/esm/typings/src/utils/validators/url/isUrlOnPrivateNetwork.d.ts +12 -0
  144. package/esm/typings/src/utils/validators/url/isUrlOnPrivateNetwork.test.d.ts +1 -0
  145. package/esm/typings/src/utils/validators/url/isValidPipelineUrl.d.ts +12 -0
  146. package/esm/typings/src/utils/validators/url/isValidPipelineUrl.test.d.ts +1 -0
  147. package/esm/typings/src/utils/validators/url/isValidUrl.d.ts +3 -0
  148. package/esm/typings/src/utils/validators/uuid/isValidUuid.d.ts +5 -0
  149. package/esm/typings/src/utils/validators/uuid/isValidUuid.test.d.ts +1 -0
  150. package/esm/typings/src/version.d.ts +3 -2
  151. package/package.json +2 -2
  152. package/umd/index.umd.js +38 -20
  153. package/umd/index.umd.js.map +1 -1
  154. package/umd/typings/promptbook-collection/index.d.ts +61 -4
  155. package/umd/typings/src/_packages/core.index.d.ts +8 -8
  156. package/umd/typings/src/_packages/markdown-utils.d.ts +17 -0
  157. package/umd/typings/src/_packages/types.index.d.ts +11 -6
  158. package/umd/typings/src/_packages/utils.index.d.ts +23 -19
  159. package/umd/typings/src/cli/cli-commands/hello.d.ts +7 -0
  160. package/umd/typings/src/cli/cli-commands/make.d.ts +7 -0
  161. package/umd/typings/src/cli/cli-commands/prettify.d.ts +7 -0
  162. package/umd/typings/src/collection/collectionToJson.d.ts +3 -0
  163. package/umd/typings/src/collection/collectionToJson.test.d.ts +6 -0
  164. package/umd/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +2 -1
  165. package/umd/typings/src/commands/BLOCK/BlockCommand.d.ts +11 -0
  166. package/umd/typings/src/commands/BLOCK/BlockTypes.d.ts +13 -0
  167. package/umd/typings/src/commands/BLOCK/blockCommand.test.d.ts +1 -0
  168. package/umd/typings/src/commands/BLOCK/blockCommandParser.d.ts +9 -0
  169. package/umd/typings/src/commands/EXPECT/ExpectAmountCommand.d.ts +14 -0
  170. package/umd/typings/src/commands/EXPECT/ExpectCommand.d.ts +9 -0
  171. package/umd/typings/src/commands/EXPECT/ExpectFormatCommand.d.ts +7 -0
  172. package/umd/typings/src/commands/EXPECT/expectCommand.test.d.ts +1 -0
  173. package/umd/typings/src/commands/EXPECT/expectCommandParser.d.ts +9 -0
  174. package/umd/typings/src/commands/JOKER/JokerCommand.d.ts +11 -0
  175. package/umd/typings/src/commands/JOKER/jokerCommand.test.d.ts +1 -0
  176. package/umd/typings/src/commands/JOKER/jokerCommandParser.d.ts +9 -0
  177. package/umd/typings/src/commands/KNOWLEDGE/KnowledgeCommand.d.ts +12 -0
  178. package/umd/typings/src/commands/KNOWLEDGE/knowledgeCommand.test.d.ts +1 -0
  179. package/umd/typings/src/commands/KNOWLEDGE/knowledgeCommandParser.d.ts +9 -0
  180. package/umd/typings/src/commands/MODEL/ModelCommand.d.ts +13 -0
  181. package/umd/typings/src/commands/MODEL/modelCommand.test.d.ts +1 -0
  182. package/umd/typings/src/commands/MODEL/modelCommandParser.d.ts +9 -0
  183. package/umd/typings/src/commands/PARAMETER/ParameterCommand.d.ts +15 -0
  184. package/umd/typings/src/commands/PARAMETER/parameterCommand.test.d.ts +1 -0
  185. package/umd/typings/src/commands/PARAMETER/parameterCommandParser.d.ts +9 -0
  186. package/umd/typings/src/commands/PERSONA/PersonaCommand.d.ts +11 -0
  187. package/umd/typings/src/commands/PERSONA/personaCommand.test.d.ts +1 -0
  188. package/umd/typings/src/commands/PERSONA/personaCommandParser.d.ts +9 -0
  189. package/umd/typings/src/commands/POSTPROCESS/PostprocessCommand.d.ts +11 -0
  190. package/umd/typings/src/commands/POSTPROCESS/postprocessCommand.test.d.ts +1 -0
  191. package/umd/typings/src/commands/POSTPROCESS/postprocessCommandParser.d.ts +9 -0
  192. package/umd/typings/src/commands/PROMPTBOOK_VERSION/PromptbookVersionCommand.d.ts +11 -0
  193. package/umd/typings/src/commands/PROMPTBOOK_VERSION/promptbookVersionCommand.test.d.ts +1 -0
  194. package/umd/typings/src/commands/PROMPTBOOK_VERSION/promptbookVersionCommandParser.d.ts +9 -0
  195. package/umd/typings/src/commands/URL/UrlCommand.d.ts +10 -0
  196. package/umd/typings/src/commands/URL/urlCommand.test.d.ts +1 -0
  197. package/umd/typings/src/commands/URL/urlCommandParser.d.ts +9 -0
  198. package/umd/typings/src/commands/X_ACTION/ActionCommand.d.ts +9 -0
  199. package/umd/typings/src/commands/X_ACTION/actionCommand.test.d.ts +1 -0
  200. package/umd/typings/src/commands/X_ACTION/actionCommandParser.d.ts +9 -0
  201. package/umd/typings/src/commands/X_INSTRUMENT/InstrumentCommand.d.ts +9 -0
  202. package/umd/typings/src/commands/X_INSTRUMENT/instrumentCommand.test.d.ts +1 -0
  203. package/umd/typings/src/commands/X_INSTRUMENT/instrumentCommandParser.d.ts +9 -0
  204. package/umd/typings/src/commands/_BOILERPLATE/BoilerplateCommand.d.ts +10 -0
  205. package/umd/typings/src/commands/_BOILERPLATE/boilerplateCommand.test.d.ts +1 -0
  206. package/umd/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +12 -0
  207. package/umd/typings/src/commands/_common/parseCommand.d.ts +12 -0
  208. package/umd/typings/src/commands/_common/parseCommand.test.d.ts +1 -0
  209. package/umd/typings/src/commands/_common/types/Command.d.ts +6 -0
  210. package/umd/typings/src/commands/_common/types/CommandParser.d.ts +36 -0
  211. package/umd/typings/src/commands/_common/types/CommandUsagePlaces.d.ts +9 -0
  212. package/umd/typings/src/commands/index.d.ts +4 -0
  213. package/umd/typings/src/config.d.ts +4 -0
  214. package/umd/typings/src/conversion/pipelineJsonToString.d.ts +2 -0
  215. package/umd/typings/src/conversion/pipelineStringToJson.d.ts +2 -3
  216. package/umd/typings/src/conversion/pipelineStringToJsonSync.d.ts +4 -2
  217. package/umd/typings/src/conversion/utils/extractParametersFromPromptTemplate.d.ts +2 -2
  218. package/umd/typings/src/conversion/utils/extractVariables.d.ts +1 -1
  219. package/umd/typings/src/conversion/validation/validatePipeline-logicErrors.test.d.ts +3 -0
  220. package/umd/typings/src/errors/NotYetImplementedError.d.ts +7 -0
  221. package/umd/typings/src/errors/{SyntaxError.d.ts → ParsingError.d.ts} +2 -2
  222. package/{esm/typings/src/errors/ExecutionError.d.ts → umd/typings/src/errors/PipelineExecutionError.d.ts} +2 -2
  223. package/umd/typings/src/errors/_ExpectError.d.ts +2 -2
  224. package/umd/typings/src/execution/ExecutionTools.d.ts +4 -3
  225. package/umd/typings/src/execution/LlmExecutionTools.d.ts +24 -5
  226. package/umd/typings/src/execution/PromptResult.d.ts +2 -2
  227. package/umd/typings/src/execution/assertsExecutionSuccessful.d.ts +1 -1
  228. package/umd/typings/src/execution/translation/automatic-translate/automatic-translators/utils/extractMultiplicatedOccurrence.d.ts +1 -1
  229. package/umd/typings/src/execution/utils/checkExpectations.d.ts +1 -1
  230. package/umd/typings/src/execution/utils/replaceParameters.d.ts +1 -1
  231. package/umd/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +5 -0
  232. package/umd/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +5 -5
  233. package/umd/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -0
  234. package/umd/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +5 -0
  235. package/umd/typings/src/llm-providers/langtail/LangtailExecutionTools.d.ts +5 -0
  236. package/umd/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +5 -0
  237. package/umd/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +10 -0
  238. package/umd/typings/src/llm-providers/mocked/fakeTextToExpectations.d.ts +1 -1
  239. package/umd/typings/src/llm-providers/mocked/test/fakeTextToExpectations.test.d.ts +1 -0
  240. package/umd/typings/src/llm-providers/mocked/test/faked-completion.test.d.ts +1 -0
  241. package/umd/typings/src/llm-providers/mocked/test/mocked-chat.test.d.ts +5 -0
  242. package/umd/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +14 -1
  243. package/umd/typings/src/llm-providers/multiple/joinLlmExecutionTools.d.ts +16 -0
  244. package/umd/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +6 -1
  245. package/umd/typings/src/llm-providers/openai/computeOpenaiUsage.d.ts +1 -1
  246. package/umd/typings/src/llm-providers/openai/openai-models.d.ts +1 -0
  247. package/umd/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +13 -3
  248. package/umd/typings/src/llm-providers/remote/startRemoteServer.d.ts +1 -0
  249. package/umd/typings/src/personas/personaToModelRequirements.d.ts +6 -0
  250. package/umd/typings/src/scripting/javascript/utils/preserve.d.ts +2 -1
  251. package/umd/typings/src/types/Arrayable.d.ts +10 -0
  252. package/umd/typings/src/types/PipelineJson/Expectations.d.ts +28 -0
  253. package/umd/typings/src/types/PipelineJson/LlmTemplateJson.d.ts +16 -0
  254. package/umd/typings/src/types/PipelineJson/PipelineJson.d.ts +8 -2
  255. package/umd/typings/src/types/PipelineJson/PromptDialogJson.d.ts +7 -0
  256. package/umd/typings/src/types/PipelineJson/PromptTemplateJson.d.ts +6 -142
  257. package/umd/typings/src/types/PipelineJson/PromptTemplateJsonCommon.d.ts +77 -0
  258. package/umd/typings/src/types/PipelineJson/ScriptJson.d.ts +14 -0
  259. package/umd/typings/src/types/PipelineJson/SimpleTemplateJson.d.ts +7 -0
  260. package/umd/typings/src/types/Prompt.d.ts +3 -3
  261. package/umd/typings/src/types/TaskProgress.d.ts +2 -2
  262. package/umd/typings/src/types/execution-report/ExecutionReportJson.d.ts +3 -3
  263. package/umd/typings/src/types/typeAliases.d.ts +50 -6
  264. package/umd/typings/src/utils/arrayableToArray.d.ts +11 -0
  265. package/umd/typings/src/utils/arrayableToArray.test.d.ts +1 -0
  266. package/umd/typings/src/utils/emojis.d.ts +1 -0
  267. package/umd/typings/src/utils/expectation-counters/countCharacters.d.ts +1 -1
  268. package/umd/typings/src/utils/expectation-counters/countLines.d.ts +1 -1
  269. package/umd/typings/src/utils/expectation-counters/countPages.d.ts +1 -1
  270. package/umd/typings/src/utils/expectation-counters/countParagraphs.d.ts +1 -1
  271. package/umd/typings/src/utils/expectation-counters/countSentences.d.ts +1 -1
  272. package/umd/typings/src/utils/expectation-counters/countWords.d.ts +1 -1
  273. package/umd/typings/src/utils/expectation-counters/index.d.ts +2 -2
  274. package/umd/typings/src/utils/markdown/flattenMarkdown.d.ts +14 -0
  275. package/umd/typings/src/utils/markdown/flattenMarkdown.test.d.ts +1 -0
  276. package/umd/typings/src/utils/markdown/parseMarkdownSection.d.ts +30 -0
  277. package/umd/typings/src/utils/markdown/parseMarkdownSection.test.d.ts +1 -0
  278. package/umd/typings/src/utils/markdown/prettifyMarkdown.d.ts +1 -0
  279. package/umd/typings/src/utils/markdown/splitMarkdownIntoSections.d.ts +12 -0
  280. package/umd/typings/src/utils/markdown/splitMarkdownIntoSections.test.d.ts +1 -0
  281. package/umd/typings/src/utils/normalization/normalize-to-kebab-case.d.ts +8 -1
  282. package/umd/typings/src/utils/normalization/normalizeTo_PascalCase.d.ts +8 -1
  283. package/umd/typings/src/utils/normalization/normalizeTo_SCREAMING_CASE.d.ts +13 -1
  284. package/umd/typings/src/utils/normalization/normalizeTo_camelCase.d.ts +8 -1
  285. package/umd/typings/src/utils/normalization/normalizeTo_snake_case.d.ts +8 -1
  286. package/umd/typings/src/{conversion/utils → utils}/parseNumber.d.ts +1 -1
  287. package/umd/typings/src/utils/parseNumber.test.d.ts +1 -0
  288. package/umd/typings/src/utils/sets/difference.d.ts +2 -0
  289. package/umd/typings/src/utils/sets/intersection.d.ts +2 -0
  290. package/umd/typings/src/utils/sets/union.d.ts +2 -0
  291. package/umd/typings/src/utils/validators/email/isValidEmail.d.ts +5 -0
  292. package/umd/typings/src/utils/validators/email/isValidEmail.test.d.ts +1 -0
  293. package/umd/typings/src/utils/validators/filePath/isValidFilePath.d.ts +7 -0
  294. package/umd/typings/src/utils/validators/filePath/isValidFilePath.test.d.ts +1 -0
  295. package/umd/typings/src/utils/validators/javascriptName/isValidJavascriptName.d.ts +2 -0
  296. package/umd/typings/src/utils/validators/javascriptName/isValidJavascriptName.test.d.ts +1 -0
  297. package/umd/typings/src/utils/validators/semanticVersion/isValidPromptbookVersion.d.ts +12 -0
  298. package/umd/typings/src/utils/validators/semanticVersion/isValidPromptbookVersion.test.d.ts +1 -0
  299. package/umd/typings/src/utils/validators/semanticVersion/isValidSemanticVersion.d.ts +9 -0
  300. package/umd/typings/src/utils/validators/semanticVersion/isValidSemanticVersion.test.d.ts +1 -0
  301. package/umd/typings/src/utils/validators/url/isHostnameOnPrivateNetwork.d.ts +9 -0
  302. package/umd/typings/src/utils/validators/url/isHostnameOnPrivateNetwork.test.d.ts +1 -0
  303. package/umd/typings/src/utils/validators/url/isUrlOnPrivateNetwork.d.ts +12 -0
  304. package/umd/typings/src/utils/validators/url/isUrlOnPrivateNetwork.test.d.ts +1 -0
  305. package/umd/typings/src/utils/validators/url/isValidPipelineUrl.d.ts +12 -0
  306. package/umd/typings/src/utils/validators/url/isValidPipelineUrl.test.d.ts +1 -0
  307. package/umd/typings/src/utils/validators/url/isValidUrl.d.ts +3 -0
  308. package/umd/typings/src/utils/validators/uuid/isValidUuid.d.ts +5 -0
  309. package/umd/typings/src/utils/validators/uuid/isValidUuid.test.d.ts +1 -0
  310. package/umd/typings/src/version.d.ts +3 -2
  311. package/esm/typings/src/cli/actions/hello.d.ts +0 -7
  312. package/esm/typings/src/cli/actions/make.d.ts +0 -7
  313. package/esm/typings/src/cli/actions/prettify.d.ts +0 -7
  314. package/esm/typings/src/conversion/utils/parseCommand.d.ts +0 -11
  315. package/esm/typings/src/conversion/utils/parseCommand.test.d.ts +0 -4
  316. package/esm/typings/src/errors/TemplateError.d.ts +0 -9
  317. package/esm/typings/src/llm-providers/mocked/mocked-chat.test.d.ts +0 -4
  318. package/esm/typings/src/llm-providers/multiple/MultipleLlmExecutionToolsOptions.d.ts +0 -24
  319. package/esm/typings/src/types/Command.d.ts +0 -101
  320. package/esm/typings/src/types/ExecutionTypes.d.ts +0 -13
  321. package/esm/typings/src/utils/markdown-json/MarkdownStructure.d.ts +0 -25
  322. package/esm/typings/src/utils/markdown-json/countMarkdownStructureDeepness.d.ts +0 -7
  323. package/esm/typings/src/utils/markdown-json/markdownToMarkdownStructure.d.ts +0 -13
  324. package/umd/typings/src/cli/actions/hello.d.ts +0 -7
  325. package/umd/typings/src/cli/actions/make.d.ts +0 -7
  326. package/umd/typings/src/cli/actions/prettify.d.ts +0 -7
  327. package/umd/typings/src/conversion/utils/parseCommand.d.ts +0 -11
  328. package/umd/typings/src/conversion/utils/parseCommand.test.d.ts +0 -4
  329. package/umd/typings/src/errors/TemplateError.d.ts +0 -9
  330. package/umd/typings/src/llm-providers/mocked/mocked-chat.test.d.ts +0 -4
  331. package/umd/typings/src/llm-providers/multiple/MultipleLlmExecutionToolsOptions.d.ts +0 -24
  332. package/umd/typings/src/types/Command.d.ts +0 -101
  333. package/umd/typings/src/types/ExecutionTypes.d.ts +0 -13
  334. package/umd/typings/src/utils/markdown-json/MarkdownStructure.d.ts +0 -25
  335. package/umd/typings/src/utils/markdown-json/countMarkdownStructureDeepness.d.ts +0 -7
  336. package/umd/typings/src/utils/markdown-json/markdownToMarkdownStructure.d.ts +0 -13
  337. /package/esm/typings/src/{conversion/utils/parseNumber.test.d.ts → commands/BLOCK/blockCommand.test.d.ts} +0 -0
  338. /package/esm/typings/src/{llm-providers/mocked/fakeTextToExpectations.test.d.ts → commands/EXPECT/expectCommand.test.d.ts} +0 -0
  339. /package/esm/typings/src/{llm-providers/mocked/faked-completion.test.d.ts → commands/JOKER/jokerCommand.test.d.ts} +0 -0
  340. /package/esm/typings/src/{utils/markdown-json/countMarkdownStructureDeepness.test.d.ts → commands/KNOWLEDGE/knowledgeCommand.test.d.ts} +0 -0
  341. /package/esm/typings/src/{utils/markdown-json/markdownToMarkdownStructure.test.d.ts → commands/MODEL/modelCommand.test.d.ts} +0 -0
  342. /package/{umd/typings/src/conversion/utils/parseNumber.test.d.ts → esm/typings/src/commands/PARAMETER/parameterCommand.test.d.ts} +0 -0
  343. /package/{umd/typings/src/llm-providers/mocked/fakeTextToExpectations.test.d.ts → esm/typings/src/commands/PERSONA/personaCommand.test.d.ts} +0 -0
  344. /package/{umd/typings/src/llm-providers/mocked/faked-completion.test.d.ts → esm/typings/src/commands/POSTPROCESS/postprocessCommand.test.d.ts} +0 -0
  345. /package/{umd/typings/src/utils/markdown-json/countMarkdownStructureDeepness.test.d.ts → esm/typings/src/commands/PROMPTBOOK_VERSION/promptbookVersionCommand.test.d.ts} +0 -0
  346. /package/{umd/typings/src/utils/markdown-json/markdownToMarkdownStructure.test.d.ts → esm/typings/src/commands/URL/urlCommand.test.d.ts} +0 -0
  347. /package/esm/typings/src/llm-providers/mocked/{joker.test.d.ts → test/joker.test.d.ts} +0 -0
  348. /package/esm/typings/src/llm-providers/mocked/{mocked-completion.test.d.ts → test/mocked-completion.test.d.ts} +0 -0
  349. /package/umd/typings/src/llm-providers/mocked/{joker.test.d.ts → test/joker.test.d.ts} +0 -0
  350. /package/umd/typings/src/llm-providers/mocked/{mocked-completion.test.d.ts → test/mocked-completion.test.d.ts} +0 -0
@@ -3,7 +3,7 @@ import type { PipelineExecutor } from './PipelineExecutor';
3
3
  * Asserts that the execution of a promptnook is successful
4
4
  *
5
5
  * @param executionResult - The partial result of the promptnook execution
6
- * @throws {ExecutionError} If the execution is not successful or if multiple errors occurred
6
+ * @throws {PipelineExecutionError} If the execution is not successful or if multiple errors occurred
7
7
  */
8
8
  export declare function assertsExecutionSuccessful(executionResult: Pick<Awaited<ReturnType<PipelineExecutor>>, 'isSuccessful' | 'errors'>): void;
9
9
  /**
@@ -2,6 +2,6 @@
2
2
  *
3
3
  * @param message
4
4
  * @returns
5
- * @throws {ExecutionError}
5
+ * @throws {PipelineExecutionError}
6
6
  */
7
7
  export declare function extractMultiplicatedOccurrence(message: string): string;
@@ -1,4 +1,4 @@
1
- import type { Expectations } from '../../types/PipelineJson/PromptTemplateJson';
1
+ import type { Expectations } from '../../types/PipelineJson/Expectations';
2
2
  /**
3
3
  * Function checkExpectations will check if the expectations on given value are met
4
4
  *
@@ -6,7 +6,7 @@ import type { string_template } from '../../types/typeAliases';
6
6
  * @param template the template with parameters in {curly} braces
7
7
  * @param parameters the object with parameters
8
8
  * @returns the template with replaced parameters
9
- * @throws {TemplateError} if parameter is not defined, not closed, or not opened
9
+ * @throws {PipelineExecutionError} if parameter is not defined, not closed, or not opened
10
10
  *
11
11
  * @private within the createPipelineExecutor
12
12
  */
@@ -8,6 +8,8 @@ type PrepareKnowledgeFromMarkdownOptions = {
8
8
  content: string_markdown;
9
9
  /**
10
10
  * The LLM tools to use for the conversion and extraction of knowledge
11
+ *
12
+ * Note: If you want to use multiple LLMs, you can use `joinLlmExecutionTools` to join them first
11
13
  */
12
14
  llmTools: LlmExecutionTools;
13
15
  /**
@@ -19,3 +21,6 @@ type PrepareKnowledgeFromMarkdownOptions = {
19
21
  };
20
22
  export declare function prepareKnowledgeFromMarkdown(options: PrepareKnowledgeFromMarkdownOptions): Promise<KnowledgeJson>;
21
23
  export {};
24
+ /**
25
+ * 11:11
26
+ */
@@ -1,8 +1,10 @@
1
1
  import type { AvailableModel } from '../../execution/LlmExecutionTools';
2
2
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
3
3
  import type { PromptChatResult } from '../../execution/PromptResult';
4
- import type { PromptCompletionResult } from '../../execution/PromptResult';
5
4
  import type { Prompt } from '../../types/Prompt';
5
+ import type { string_markdown } from '../../types/typeAliases';
6
+ import type { string_markdown_text } from '../../types/typeAliases';
7
+ import type { string_title } from '../../types/typeAliases';
6
8
  import type { AnthropicClaudeExecutionToolsOptions } from './AnthropicClaudeExecutionToolsOptions';
7
9
  /**
8
10
  * Execution Tools for calling Anthropic Claude API.
@@ -19,14 +21,12 @@ export declare class AnthropicClaudeExecutionTools implements LlmExecutionTools
19
21
  * @param options which are relevant are directly passed to the Anthropic Claude client
20
22
  */
21
23
  constructor(options?: AnthropicClaudeExecutionToolsOptions);
24
+ get title(): string_title & string_markdown_text;
25
+ get description(): string_markdown;
22
26
  /**
23
27
  * Calls Anthropic Claude API to use a chat model.
24
28
  */
25
29
  callChatModel(prompt: Pick<Prompt, 'content' | 'modelRequirements'>): Promise<PromptChatResult>;
26
- /**
27
- * Calls Anthropic Claude API to use a complete model.
28
- */
29
- callCompletionModel(prompt: Pick<Prompt, 'content' | 'modelRequirements'>): Promise<PromptCompletionResult>;
30
30
  /**
31
31
  * Get the model that should be used as default
32
32
  */
@@ -14,6 +14,7 @@ export declare const ANTHROPIC_CLAUDE_MODELS: Array<AvailableModel & {
14
14
  };
15
15
  }>;
16
16
  /**
17
+ * Note: [🤖] Add models of new variant
17
18
  * TODO: !!!! Add embedding models OR Anthropic has only chat+completion models?
18
19
  * TODO: [🧠] Some mechanism to propagate unsureness
19
20
  * TODO: [🧠][👮‍♀️] Put here more info like description, isVision, trainingDateCutoff, languages, strengths ( Top-level performance, intelligence, fluency, and understanding), contextWindow,...
@@ -3,6 +3,9 @@ import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
3
3
  import type { PromptChatResult } from '../../execution/PromptResult';
4
4
  import type { PromptCompletionResult } from '../../execution/PromptResult';
5
5
  import type { Prompt } from '../../types/Prompt';
6
+ import type { string_markdown } from '../../types/typeAliases';
7
+ import type { string_markdown_text } from '../../types/typeAliases';
8
+ import type { string_title } from '../../types/typeAliases';
6
9
  import type { AzureOpenAiExecutionToolsOptions } from './AzureOpenAiExecutionToolsOptions';
7
10
  /**
8
11
  * Execution Tools for calling Azure OpenAI API.
@@ -19,6 +22,8 @@ export declare class AzureOpenAiExecutionTools implements LlmExecutionTools {
19
22
  * @param options which are relevant are directly passed to the OpenAI client
20
23
  */
21
24
  constructor(options: AzureOpenAiExecutionToolsOptions);
25
+ get title(): string_title & string_markdown_text;
26
+ get description(): string_markdown;
22
27
  /**
23
28
  * Calls OpenAI API to use a chat model.
24
29
  */
@@ -1,7 +1,12 @@
1
1
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
2
+ import type { string_markdown } from '../../types/typeAliases';
3
+ import type { string_markdown_text } from '../../types/typeAliases';
4
+ import type { string_title } from '../../types/typeAliases';
2
5
  import { OpenAiExecutionTools } from '../openai/OpenAiExecutionTools';
3
6
  /**
4
7
  * Execution Tools for calling OpenAI API.
5
8
  */
6
9
  export declare class LangtailExecutionTools extends OpenAiExecutionTools implements LlmExecutionTools {
10
+ get title(): string_title & string_markdown_text;
11
+ get description(): string_markdown;
7
12
  }
@@ -4,12 +4,17 @@ import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
4
4
  import type { PromptChatResult } from '../../execution/PromptResult';
5
5
  import type { PromptCompletionResult } from '../../execution/PromptResult';
6
6
  import type { Prompt } from '../../types/Prompt';
7
+ import type { string_markdown } from '../../types/typeAliases';
8
+ import type { string_markdown_text } from '../../types/typeAliases';
9
+ import type { string_title } from '../../types/typeAliases';
7
10
  /**
8
11
  * Mocked execution Tools for just echoing the requests for testing purposes.
9
12
  */
10
13
  export declare class MockedEchoLlmExecutionTools implements LlmExecutionTools {
11
14
  private readonly options;
12
15
  constructor(options?: CommonExecutionToolsOptions);
16
+ get title(): string_title & string_markdown_text;
17
+ get description(): string_markdown;
13
18
  /**
14
19
  * Mocks chat model
15
20
  */
@@ -3,13 +3,19 @@ import type { AvailableModel } from '../../execution/LlmExecutionTools';
3
3
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
4
4
  import type { PromptChatResult } from '../../execution/PromptResult';
5
5
  import type { PromptCompletionResult } from '../../execution/PromptResult';
6
+ import type { PromptEmbeddingResult } from '../../execution/PromptResult';
6
7
  import type { Prompt } from '../../types/Prompt';
8
+ import type { string_markdown } from '../../types/typeAliases';
9
+ import type { string_markdown_text } from '../../types/typeAliases';
10
+ import type { string_title } from '../../types/typeAliases';
7
11
  /**
8
12
  * Mocked execution Tools for just faking expected responses for testing purposes
9
13
  */
10
14
  export declare class MockedFackedLlmExecutionTools implements LlmExecutionTools {
11
15
  private readonly options;
12
16
  constructor(options?: CommonExecutionToolsOptions);
17
+ get title(): string_title & string_markdown_text;
18
+ get description(): string_markdown;
13
19
  /**
14
20
  * Fakes chat model
15
21
  */
@@ -18,6 +24,10 @@ export declare class MockedFackedLlmExecutionTools implements LlmExecutionTools
18
24
  * Fakes completion model
19
25
  */
20
26
  callCompletionModel(prompt: Pick<Prompt, 'content' | 'modelRequirements' | 'expectations' | 'postprocessing'>): Promise<PromptCompletionResult>;
27
+ /**
28
+ * Fakes embedding model
29
+ */
30
+ callEmbeddingModel(prompt: Pick<Prompt, 'content' | 'modelRequirements' | 'expectations' | 'postprocessing'>): Promise<PromptEmbeddingResult>;
21
31
  /**
22
32
  * List all available fake-models that can be used
23
33
  */
@@ -1,5 +1,5 @@
1
1
  import type { PostprocessingFunction } from '../../scripting/javascript/JavascriptExecutionToolsOptions';
2
- import type { Expectations } from '../../types/PipelineJson/PromptTemplateJson';
2
+ import type { Expectations } from '../../types/PipelineJson/Expectations';
3
3
  /**
4
4
  * Gets the expectations and creates a fake text that meets the expectations
5
5
  *
@@ -0,0 +1,5 @@
1
+ export {};
2
+ /**
3
+ * TODO: [🧠] What should be name of this test "MockedEchoExecutionTools.test.ts" or "createPipelineExecutor.test.ts"
4
+ * Note: [🤖] For each new model variant consider adding new testing unit like "faked-completion.test.ts", "mocked-chat.test.ts" and "mocked-completion.test.ts"
5
+ */
@@ -2,11 +2,15 @@ import type { AvailableModel } from '../../execution/LlmExecutionTools';
2
2
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
3
3
  import type { PromptChatResult } from '../../execution/PromptResult';
4
4
  import type { PromptCompletionResult } from '../../execution/PromptResult';
5
+ import type { PromptEmbeddingResult } from '../../execution/PromptResult';
5
6
  import type { Prompt } from '../../types/Prompt';
7
+ import type { string_markdown } from '../../types/typeAliases';
8
+ import type { string_markdown_text } from '../../types/typeAliases';
9
+ import type { string_title } from '../../types/typeAliases';
6
10
  /**
7
11
  * Multiple LLM Execution Tools is a proxy server that uses multiple execution tools internally and exposes the executor interface externally.
8
12
  *
9
- * @see https://github.com/webgptorg/promptbook#multiple-server
13
+ * @private Internal utility of `joinLlmExecutionTools`
10
14
  */
11
15
  export declare class MultipleLlmExecutionTools implements LlmExecutionTools {
12
16
  /**
@@ -17,6 +21,8 @@ export declare class MultipleLlmExecutionTools implements LlmExecutionTools {
17
21
  * Gets array of execution tools in order of priority
18
22
  */
19
23
  constructor(...llmExecutionTools: Array<LlmExecutionTools>);
24
+ get title(): string_title & string_markdown_text;
25
+ get description(): string_markdown;
20
26
  /**
21
27
  * Calls the best available chat model
22
28
  */
@@ -25,6 +31,10 @@ export declare class MultipleLlmExecutionTools implements LlmExecutionTools {
25
31
  * Calls the best available completion model
26
32
  */
27
33
  callCompletionModel(prompt: Prompt): Promise<PromptCompletionResult>;
34
+ /**
35
+ * Calls the best available embedding model
36
+ */
37
+ callEmbeddingModel(prompt: Prompt): Promise<PromptEmbeddingResult>;
28
38
  /**
29
39
  * Calls the best available model
30
40
  */
@@ -35,3 +45,6 @@ export declare class MultipleLlmExecutionTools implements LlmExecutionTools {
35
45
  */
36
46
  listModels(): Promise<Array<AvailableModel>>;
37
47
  }
48
+ /**
49
+ * TODO: [🧠][🎛] Aggregating multiple models - have result not only from one first aviable model BUT all of them
50
+ */
@@ -0,0 +1,16 @@
1
+ import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
2
+ import { MultipleLlmExecutionTools } from './MultipleLlmExecutionTools';
3
+ /**
4
+ * Joins multiple LLM Execution Tools into one
5
+ *
6
+ * @returns {LlmExecutionTools} Single wrapper for multiple LlmExecutionTools
7
+ *
8
+ * 0) If there is no LlmExecutionTools, it warns and returns valid but empty LlmExecutionTools
9
+ * 1) If there is only one LlmExecutionTools, it returns it wrapped in a proxy object
10
+ * 2) If there are multiple LlmExecutionTools, first will be used first, second will be used if the first hasn`t defined model variant or fails, etc.
11
+ * 3) When all LlmExecutionTools fail, it throws an error with a list of all errors merged into one
12
+ *
13
+ *
14
+ * Tip: You don't have to use this function directly, just pass an array of LlmExecutionTools to the `ExecutionTools`
15
+ */
16
+ export declare function joinLlmExecutionTools(...llmExecutionTools: Array<LlmExecutionTools>): MultipleLlmExecutionTools;
@@ -4,6 +4,9 @@ import type { PromptChatResult } from '../../execution/PromptResult';
4
4
  import type { PromptCompletionResult } from '../../execution/PromptResult';
5
5
  import type { PromptEmbeddingResult } from '../../execution/PromptResult';
6
6
  import type { Prompt } from '../../types/Prompt';
7
+ import type { string_markdown } from '../../types/typeAliases';
8
+ import type { string_markdown_text } from '../../types/typeAliases';
9
+ import type { string_title } from '../../types/typeAliases';
7
10
  import type { OpenAiExecutionToolsOptions } from './OpenAiExecutionToolsOptions';
8
11
  /**
9
12
  * Execution Tools for calling OpenAI API.
@@ -20,6 +23,8 @@ export declare class OpenAiExecutionTools implements LlmExecutionTools {
20
23
  * @param options which are relevant are directly passed to the OpenAI client
21
24
  */
22
25
  constructor(options?: OpenAiExecutionToolsOptions);
26
+ get title(): string_title & string_markdown_text;
27
+ get description(): string_markdown;
23
28
  /**
24
29
  * Calls OpenAI API to use a chat model.
25
30
  */
@@ -31,7 +36,7 @@ export declare class OpenAiExecutionTools implements LlmExecutionTools {
31
36
  /**
32
37
  * Calls OpenAI API to use a embedding model
33
38
  */
34
- embed(prompt: Pick<Prompt, 'content' | 'modelRequirements'>): Promise<PromptEmbeddingResult>;
39
+ callEmbeddingModel(prompt: Pick<Prompt, 'content' | 'modelRequirements'>): Promise<PromptEmbeddingResult>;
35
40
  /**
36
41
  * Get the model that should be used as default
37
42
  */
@@ -7,7 +7,7 @@ import type { Prompt } from '../../types/Prompt';
7
7
  * @param promptContent The content of the prompt
8
8
  * @param resultContent The content of the result (for embedding prompts or failed prompts pass empty string)
9
9
  * @param rawResponse The raw response from OpenAI API
10
- * @throws {ExecutionError} If the usage is not defined in the response from OpenAI
10
+ * @throws {PipelineExecutionError} If the usage is not defined in the response from OpenAI
11
11
  * @private internal util of `OpenAiExecutionTools`
12
12
  */
13
13
  export declare function computeOpenaiUsage(promptContent: Prompt['content'], // <- Note: Intentionally using [] to access type properties to bring jsdoc from Prompt/PromptResult to consumer
@@ -15,6 +15,7 @@ export declare const OPENAI_MODELS: Array<AvailableModel & {
15
15
  };
16
16
  }>;
17
17
  /**
18
+ * Note: [🤖] Add models of new variant
18
19
  * TODO: [🧠] Some mechanism to propagate unsureness
19
20
  * TODO: [🕚][👮‍♀️] Make this list dynamic - dynamically can be listed modelNames but not modelVariant, legacy status, context length and pricing
20
21
  * TODO: [🧠][👮‍♀️] Put here more info like description, isVision, trainingDateCutoff, languages, strengths ( Top-level performance, intelligence, fluency, and understanding), contextWindow,...
@@ -2,7 +2,11 @@ import type { AvailableModel } from '../../execution/LlmExecutionTools';
2
2
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
3
3
  import type { PromptChatResult } from '../../execution/PromptResult';
4
4
  import type { PromptCompletionResult } from '../../execution/PromptResult';
5
+ import type { PromptEmbeddingResult } from '../../execution/PromptResult';
5
6
  import type { Prompt } from '../../types/Prompt';
7
+ import type { string_markdown } from '../../types/typeAliases';
8
+ import type { string_markdown_text } from '../../types/typeAliases';
9
+ import type { string_title } from '../../types/typeAliases';
6
10
  import type { RemoteLlmExecutionToolsOptions } from './RemoteLlmExecutionToolsOptions';
7
11
  /**
8
12
  * Remote server is a proxy server that uses its execution tools internally and exposes the executor interface externally.
@@ -15,20 +19,26 @@ import type { RemoteLlmExecutionToolsOptions } from './RemoteLlmExecutionToolsOp
15
19
  export declare class RemoteLlmExecutionTools implements LlmExecutionTools {
16
20
  private readonly options;
17
21
  constructor(options: RemoteLlmExecutionToolsOptions);
22
+ get title(): string_title & string_markdown_text;
23
+ get description(): string_markdown;
18
24
  /**
19
25
  * Creates a connection to the remote proxy server.
20
26
  */
21
27
  private makeConnection;
22
28
  /**
23
- * Calls remote proxy server to use a chat model.
29
+ * Calls remote proxy server to use a chat model
24
30
  */
25
31
  callChatModel(prompt: Prompt): Promise<PromptChatResult>;
26
32
  /**
27
- * Calls remote proxy server to use a completion model.
33
+ * Calls remote proxy server to use a completion model
28
34
  */
29
35
  callCompletionModel(prompt: Prompt): Promise<PromptCompletionResult>;
30
36
  /**
31
- * Calls remote proxy server to use both completion or chat model.
37
+ * Calls remote proxy server to use a embedding model
38
+ */
39
+ callEmbeddingModel(prompt: Prompt): Promise<PromptEmbeddingResult>;
40
+ /**
41
+ * Calls remote proxy server to use both completion or chat model
32
42
  */
33
43
  private callModelCommon;
34
44
  /**
@@ -15,4 +15,5 @@ export declare function startRemoteServer(options: RemoteServerOptions): IDestro
15
15
  * TODO: [🤹‍♂️] Do not hang up immediately but wait until client closes OR timeout
16
16
  * TODO: [🤹‍♂️] Timeout on chat to free up resources
17
17
  * TODO: [🃏] Pass here some security token to prevent malitious usage and/or DDoS
18
+ * TODO: [0] Set unavailable models as undefined in `RemoteLlmExecutionTools` NOT throw error here
18
19
  */
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Function personaToModelRequirements will @@@
3
+ *
4
+ * @private within the package
5
+ */
6
+ export declare function personaToModelRequirements(value: string): boolean;
@@ -1,3 +1,4 @@
1
+ import type { really_any } from '../../../types/typeAliases';
1
2
  /**
2
3
  * Does nothing, but preserves the function in the bundle
3
4
  * Compiler is tricked into thinking the function is used
@@ -5,7 +6,7 @@
5
6
  * @param value any function to preserve
6
7
  * @returns nothing
7
8
  */
8
- export declare function preserve(func: (...params: Array<any>) => unknown): void;
9
+ export declare function preserve(func: (...params: Array<really_any>) => unknown): void;
9
10
  /**
10
11
  * TODO: !! [1] This maybe does memory leak
11
12
  */
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Item or array of items
3
+ *
4
+ * 1) Any item except array and undefined represents array with that one item (also null)
5
+ * 2) Undefined represents empty array
6
+ * 3) Array represents itself
7
+ *
8
+ * @private Internal utility type
9
+ */
10
+ export type Arrayable<TItem> = TItem | Array<TItem> | undefined;
@@ -0,0 +1,28 @@
1
+ import type { number_integer } from '../typeAliases';
2
+ import type { number_positive } from '../typeAliases';
3
+ /**
4
+ * Expect this amount of each unit in the answer
5
+ *
6
+ * For example 5 words, 3 sentences, 2 paragraphs, ...
7
+ *
8
+ * Note: Expectations are performed after all postprocessing steps
9
+ */
10
+ export type Expectations = Partial<Record<Lowercase<ExpectationUnit>, {
11
+ min?: ExpectationAmount;
12
+ max?: ExpectationAmount;
13
+ }>>;
14
+ /**
15
+ * Units of text measurement
16
+ */
17
+ export declare const EXPECTATION_UNITS: readonly ["CHARACTERS", "WORDS", "SENTENCES", "LINES", "PARAGRAPHS", "PAGES"];
18
+ /**
19
+ * Unit of text measurement
20
+ */
21
+ export type ExpectationUnit = typeof EXPECTATION_UNITS[number];
22
+ /**
23
+ * Amount of text measurement
24
+ */
25
+ export type ExpectationAmount = number_integer & (number_positive | 0);
26
+ /**
27
+ * TODO: [💝] Unite object for expecting amount and format - remove expectFormat
28
+ */
@@ -0,0 +1,16 @@
1
+ import type { ModelRequirements } from '../ModelRequirements';
2
+ import type { PromptTemplateJsonCommon } from './PromptTemplateJsonCommon';
3
+ /**
4
+ * Template for prompt to LLM
5
+ */
6
+ export type LlmTemplateJson = PromptTemplateJsonCommon & {
7
+ readonly blockType: 'PROMPT_TEMPLATE';
8
+ /**
9
+ * Requirements for the model
10
+ * - This is required only for blockType PROMPT_TEMPLATE
11
+ */
12
+ readonly modelRequirements: ModelRequirements;
13
+ };
14
+ /**
15
+ * TODO: [👙][🧠] Just selecting gpt3 or gpt4 level of modelT
16
+ */
@@ -1,6 +1,7 @@
1
+ import type { string_file_path } from '../typeAliases';
1
2
  import type { string_markdown_text } from '../typeAliases';
2
3
  import type { string_pipeline_url } from '../typeAliases';
3
- import type { string_version } from '../typeAliases';
4
+ import type { string_semantic_version } from '../typeAliases';
4
5
  import type { KnowledgeJson } from './KnowledgeJson';
5
6
  import type { PromptTemplateJson } from './PromptTemplateJson';
6
7
  import type { PromptTemplateParameterJson } from './PromptTemplateParameterJson';
@@ -21,6 +22,10 @@ export type PipelineJson = {
21
22
  * Warning: Do not hash part of the URL, hash part is used for identification of the prompt template in the pipeline
22
23
  */
23
24
  readonly pipelineUrl?: string_pipeline_url;
25
+ /**
26
+ * Internal helper for tracking the source `.ptbk.md` file of the pipeline
27
+ */
28
+ readonly sourceFile?: string_file_path;
24
29
  /**
25
30
  * Title of the promptbook
26
31
  * -It can use simple markdown formatting like **bold**, *italic*, [link](https://example.com), ... BUT not code blocks and structure
@@ -29,7 +34,7 @@ export type PipelineJson = {
29
34
  /**
30
35
  * Version of the .ptbk.json file
31
36
  */
32
- readonly promptbookVersion: string_version;
37
+ readonly promptbookVersion: string_semantic_version;
33
38
  /**
34
39
  * Description of the promptbook
35
40
  * It can use multiple paragraphs of simple markdown formatting like **bold**, *italic*, [link](https://example.com), ... BUT not code blocks and structure
@@ -49,6 +54,7 @@ export type PipelineJson = {
49
54
  readonly knowledge: KnowledgeJson;
50
55
  };
51
56
  /**
57
+ * TODO: !!!!! Implement new commands
52
58
  * Note: There was a proposal for multiple types of promptbook objects 78816ff33e2705ee1a187aa2eb8affd976d4ea1a
53
59
  * But then immediately reverted back to the single type
54
60
  * With knowledge as part of the promptbook and collection just as a collection of promptbooks
@@ -0,0 +1,7 @@
1
+ import type { PromptTemplateJsonCommon } from './PromptTemplateJsonCommon';
2
+ /**
3
+ * Template for prompt to user
4
+ */
5
+ export interface PromptDialogJson extends PromptTemplateJsonCommon {
6
+ readonly blockType: 'PROMPT_DIALOG';
7
+ }
@@ -1,145 +1,9 @@
1
- import type { ExpectFormatCommand } from '../Command';
2
- import type { ExecutionType } from '../ExecutionTypes';
3
- import type { ModelRequirements } from '../ModelRequirements';
4
- import type { ScriptLanguage } from '../ScriptLanguage';
5
- import type { number_integer } from '../typeAliases';
6
- import type { number_positive } from '../typeAliases';
7
- import type { string_javascript } from '../typeAliases';
8
- import type { string_javascript_name } from '../typeAliases';
9
- import type { string_markdown } from '../typeAliases';
10
- import type { string_markdown_text } from '../typeAliases';
11
- import type { string_name } from '../typeAliases';
12
- import type { string_prompt } from '../typeAliases';
13
- import type { string_template } from '../typeAliases';
1
+ import type { ___ } from '../typeAliases';
2
+ import type { LlmTemplateJson } from './LlmTemplateJson';
3
+ import type { PromptDialogJson } from './PromptDialogJson';
4
+ import type { ScriptJson } from './ScriptJson';
5
+ import type { SimpleTemplateJson } from './SimpleTemplateJson';
14
6
  /**
15
7
  * Describes one prompt template in the promptbook
16
8
  */
17
- export type PromptTemplateJson = LlmTemplateJson | SimpleTemplateJson | ScriptJson | PromptDialogJson;
18
- /**
19
- * Template for prompt to LLM
20
- */
21
- export type LlmTemplateJson = PromptTemplateJsonCommon & {
22
- readonly executionType: 'PROMPT_TEMPLATE';
23
- /**
24
- * Requirements for the model
25
- * - This is required only for executionType PROMPT_TEMPLATE
26
- */
27
- readonly modelRequirements: ModelRequirements;
28
- };
29
- /**
30
- * Expect this amount of each unit in the answer
31
- *
32
- * For example 5 words, 3 sentences, 2 paragraphs, ...
33
- *
34
- * Note: Expectations are performed after all postprocessing steps
35
- */
36
- export type Expectations = Partial<Record<Lowercase<ExpectationUnit>, {
37
- min?: ExpectationAmount;
38
- max?: ExpectationAmount;
39
- }>>;
40
- /**
41
- * Units of text measurement
42
- */
43
- export declare const EXPECTATION_UNITS: readonly ["CHARACTERS", "WORDS", "SENTENCES", "LINES", "PARAGRAPHS", "PAGES"];
44
- /**
45
- * Unit of text measurement
46
- */
47
- export type ExpectationUnit = typeof EXPECTATION_UNITS[number];
48
- /**
49
- * Amount of text measurement
50
- */
51
- export type ExpectationAmount = number_integer & (number_positive | 0);
52
- /**
53
- * Template for simple concatenation of strings
54
- */
55
- export interface SimpleTemplateJson extends PromptTemplateJsonCommon {
56
- readonly executionType: 'SIMPLE_TEMPLATE';
57
- }
58
- /**
59
- * Template for script execution
60
- */
61
- export interface ScriptJson extends PromptTemplateJsonCommon {
62
- readonly executionType: 'SCRIPT';
63
- /**
64
- * Language of the script
65
- * - This is required only for executionType SCRIPT
66
- *
67
- */
68
- readonly contentLanguage?: ScriptLanguage;
69
- }
70
- /**
71
- * Template for prompt to user
72
- */
73
- export interface PromptDialogJson extends PromptTemplateJsonCommon {
74
- readonly executionType: 'PROMPT_DIALOG';
75
- }
76
- /**
77
- * Common properties of all prompt templates
78
- */
79
- interface PromptTemplateJsonCommon {
80
- /**
81
- * Name of the template
82
- * - It must be unique across the pipeline
83
- * - It should start uppercase and contain letters and numbers
84
- * - The pipelineUrl together with hash and name are used to identify the prompt template in the pipeline
85
- */
86
- readonly name: string_name;
87
- /**
88
- * Title of the prompt template
89
- * It can use simple markdown formatting like **bold**, *italic*, [link](https://example.com), ... BUT not code blocks and structure
90
- */
91
- readonly title: string;
92
- /**
93
- * Description of the prompt template
94
- * It can use multiple paragraphs of simple markdown formatting like **bold**, *italic*, [link](https://example.com), ... BUT not code blocks and structure
95
- */
96
- readonly description?: string_markdown_text;
97
- /**
98
- * List of parameter names that are used in the prompt template and must be defined before the prompt template is executed
99
- *
100
- * Note: Joker is one of the dependent parameters
101
- */
102
- readonly dependentParameterNames: Array<string_name>;
103
- /**
104
- * If theese parameters meet the expectations requirements, they are used instead of executing this prompt template
105
- */
106
- readonly jokers?: Array<string>;
107
- /**
108
- * Type of the execution
109
- * This determines if the prompt template is send to LLM, user or some scripting evaluation
110
- */
111
- readonly executionType: ExecutionType;
112
- /**
113
- * Content of the template with {placeholders} for parameters
114
- */
115
- readonly content: (string_prompt | string_javascript | string_markdown) & string_template;
116
- /**
117
- * List of postprocessing steps that are executed after the prompt template
118
- */
119
- readonly postprocessing?: Array<string_javascript_name>;
120
- /**
121
- * Expect this amount of each unit in the answer
122
- *
123
- * For example 5 words, 3 sentences, 2 paragraphs, ...
124
- *
125
- * Note: Expectations are performed after all postprocessing steps
126
- */
127
- readonly expectations?: Expectations;
128
- /**
129
- * Expect this format of the answer
130
- *
131
- * Note: Expectations are performed after all postprocessing steps
132
- * @deprecated [💝]
133
- */
134
- readonly expectFormat?: ExpectFormatCommand['format'];
135
- /**
136
- * Name of the parameter that is the result of the prompt template
137
- */
138
- readonly resultingParameterName: string_name;
139
- }
140
- export {};
141
- /**
142
- * TODO: [💝] Unite object for expecting amount and format - remove expectFormat
143
- * TODO: use one helper type> (string_prompt | string_javascript | string_markdown) & string_template
144
- * TODO: [👙][🧠] Just selecting gpt3 or gpt4 level of model
145
- */
9
+ export type PromptTemplateJson = LlmTemplateJson | SimpleTemplateJson | ScriptJson | PromptDialogJson | ___ | ___ | ___ | ___;