@promptbook/remote-client 0.52.0-9 → 0.53.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 (168) hide show
  1. package/README.md +1 -13
  2. package/esm/index.es.js +1 -1
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/_packages/core.index.d.ts +4 -2
  5. package/esm/typings/_packages/utils.index.d.ts +2 -0
  6. package/esm/typings/conversion/prettify/prettifyPromptbookString.d.ts +1 -1
  7. package/esm/typings/conversion/prettify/renderPromptbookMermaid.d.ts +2 -1
  8. package/esm/typings/conversion/utils/extractParametersFromPromptTemplate.d.ts +3 -3
  9. package/esm/typings/conversion/utils/extractVariables.d.ts +2 -1
  10. package/esm/typings/conversion/validation/_importPromptbook.d.ts +2 -2
  11. package/esm/typings/errors/PromptbookLibraryError.d.ts +7 -0
  12. package/esm/typings/execution/ExecutionTools.d.ts +5 -3
  13. package/esm/typings/execution/LlmExecutionTools.d.ts +4 -2
  14. package/esm/typings/execution/PromptResult.d.ts +5 -1
  15. package/esm/typings/execution/ScriptExecutionTools.d.ts +2 -1
  16. package/esm/typings/execution/UserInterfaceTools.d.ts +2 -1
  17. package/esm/typings/execution/createPromptbookExecutor.d.ts +3 -3
  18. package/esm/typings/execution/plugins/llm-execution-tools/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +4 -3
  19. package/esm/typings/execution/plugins/llm-execution-tools/anthropic-claude/anthropic-claude-models.d.ts +1 -1
  20. package/esm/typings/execution/plugins/llm-execution-tools/azure-openai/AzureOpenAiExecutionTools.d.ts +4 -3
  21. package/esm/typings/execution/plugins/llm-execution-tools/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +2 -1
  22. package/esm/typings/execution/plugins/llm-execution-tools/langtail/LangtailExecutionTools.d.ts +0 -3
  23. package/esm/typings/execution/plugins/llm-execution-tools/mocked/MockedEchoLlmExecutionTools.d.ts +4 -2
  24. package/esm/typings/execution/plugins/llm-execution-tools/mocked/MockedFackedLlmExecutionTools.d.ts +4 -2
  25. package/esm/typings/execution/plugins/llm-execution-tools/mocked/fakeTextToExpectations.d.ts +1 -1
  26. package/esm/typings/execution/plugins/llm-execution-tools/multiple/MultipleLlmExecutionTools.d.ts +4 -2
  27. package/esm/typings/execution/plugins/llm-execution-tools/multiple/MultipleLlmExecutionToolsOptions.d.ts +2 -1
  28. package/esm/typings/execution/plugins/llm-execution-tools/openai/OpenAiExecutionTools.d.ts +5 -3
  29. package/esm/typings/execution/plugins/llm-execution-tools/openai/OpenAiExecutionToolsOptions.d.ts +1 -1
  30. package/esm/typings/execution/plugins/llm-execution-tools/openai/openai-models.d.ts +1 -1
  31. package/esm/typings/execution/plugins/llm-execution-tools/remote/RemoteLlmExecutionTools.d.ts +5 -3
  32. package/esm/typings/execution/plugins/llm-execution-tools/remote/RemoteLlmExecutionToolsOptions.d.ts +2 -1
  33. package/esm/typings/execution/plugins/llm-execution-tools/remote/interfaces/Promptbook_Server_Progress.d.ts +1 -1
  34. package/esm/typings/execution/plugins/llm-execution-tools/remote/interfaces/Promptbook_Server_Response.d.ts +1 -1
  35. package/esm/typings/execution/plugins/llm-execution-tools/remote/interfaces/RemoteServerOptions.d.ts +2 -1
  36. package/esm/typings/execution/plugins/llm-execution-tools/remote/startRemoteServer.d.ts +2 -1
  37. package/esm/typings/execution/plugins/script-execution-tools/python/PythonExecutionTools.d.ts +3 -2
  38. package/esm/typings/execution/plugins/script-execution-tools/typescript/TypescriptExecutionTools.d.ts +3 -2
  39. package/esm/typings/execution/plugins/user-interface-execution-tools/callback/CallbackInterfaceTools.d.ts +3 -2
  40. package/esm/typings/execution/plugins/user-interface-execution-tools/simple-prompt/SimplePromptInterfaceTools.d.ts +3 -2
  41. package/esm/typings/execution/translation/automatic-translate/automatic-translators/DebugAutomaticTranslator.d.ts +1 -1
  42. package/esm/typings/execution/translation/automatic-translate/automatic-translators/FakeAutomaticTranslator.d.ts +1 -1
  43. package/esm/typings/execution/translation/automatic-translate/automatic-translators/LindatAutomaticTranslator.d.ts +2 -2
  44. package/esm/typings/execution/translation/automatic-translate/translateMessages.d.ts +2 -2
  45. package/esm/typings/execution/utils/forEachAsync.d.ts +18 -0
  46. package/esm/typings/execution/utils/replaceParameters.d.ts +2 -2
  47. package/esm/typings/library/SimplePromptbookLibrary.d.ts +1 -1
  48. package/esm/typings/library/constructors/createPromptbookLibraryFromDirectory.d.ts +30 -6
  49. package/esm/typings/library/constructors/createPromptbookLibraryFromDirectory.test.d.ts +1 -0
  50. package/esm/typings/library/constructors/createPromptbookLibraryFromPromise.d.ts +4 -4
  51. package/esm/typings/library/constructors/createPromptbookLibraryFromPromise.test.d.ts +1 -0
  52. package/esm/typings/library/constructors/createPromptbookLibraryFromSources.d.ts +2 -1
  53. package/esm/typings/library/constructors/createPromptbookLibraryFromSources.test.d.ts +1 -0
  54. package/esm/typings/library/constructors/createPromptbookLibraryFromUrl.d.ts +23 -6
  55. package/esm/typings/library/constructors/createPromptbookSublibrary.d.ts +1 -1
  56. package/esm/typings/library/constructors/justTestFsImport.d.ts +7 -0
  57. package/esm/typings/types/Command.d.ts +5 -2
  58. package/esm/typings/types/Prompt.d.ts +5 -2
  59. package/esm/typings/types/PromptbookJson/PromptTemplateJson.d.ts +8 -1
  60. package/esm/typings/types/PromptbookJson/PromptbookJson.d.ts +2 -1
  61. package/esm/typings/types/TaskProgress.d.ts +2 -1
  62. package/esm/typings/types/execution-report/ExecutionReportJson.d.ts +2 -1
  63. package/esm/typings/types/execution-report/countWorkingDuration.d.ts +1 -1
  64. package/esm/typings/types/typeAliases.d.ts +2 -2
  65. package/esm/typings/utils/emojis.d.ts +1 -1
  66. package/esm/typings/utils/expectation-counters/index.d.ts +2 -1
  67. package/esm/typings/utils/extractParameters.d.ts +2 -1
  68. package/esm/typings/utils/markdown/addAutoGeneratedSection.d.ts +2 -1
  69. package/esm/typings/utils/markdown/createMarkdownChart.d.ts +2 -2
  70. package/esm/typings/utils/markdown/createMarkdownTable.d.ts +2 -1
  71. package/esm/typings/utils/markdown/escapeMarkdownBlock.d.ts +1 -1
  72. package/esm/typings/utils/markdown/extractAllListItemsFromMarkdown.d.ts +2 -1
  73. package/esm/typings/utils/markdown/extractOneBlockFromMarkdown.d.ts +2 -2
  74. package/esm/typings/utils/markdown/removeContentComments.d.ts +2 -1
  75. package/esm/typings/utils/markdown/removeMarkdownFormatting.d.ts +1 -1
  76. package/esm/typings/utils/markdown-json/countMarkdownStructureDeepness.d.ts +1 -1
  77. package/esm/typings/utils/markdown-json/markdownToMarkdownStructure.d.ts +1 -1
  78. package/esm/typings/utils/normalization/isValidKeyword.d.ts +1 -1
  79. package/esm/typings/utils/normalization/parseKeywords.d.ts +1 -1
  80. package/esm/typings/utils/normalization/parseKeywordsFromString.d.ts +1 -1
  81. package/esm/typings/utils/normalization/searchKeywords.d.ts +1 -1
  82. package/esm/typings/utils/postprocessing/extractBlock.d.ts +1 -1
  83. package/package.json +2 -2
  84. package/umd/index.umd.js +1 -1
  85. package/umd/index.umd.js.map +1 -1
  86. package/umd/typings/_packages/core.index.d.ts +4 -2
  87. package/umd/typings/_packages/utils.index.d.ts +2 -0
  88. package/umd/typings/conversion/prettify/prettifyPromptbookString.d.ts +1 -1
  89. package/umd/typings/conversion/prettify/renderPromptbookMermaid.d.ts +2 -1
  90. package/umd/typings/conversion/utils/extractParametersFromPromptTemplate.d.ts +3 -3
  91. package/umd/typings/conversion/utils/extractVariables.d.ts +2 -1
  92. package/umd/typings/conversion/validation/_importPromptbook.d.ts +2 -2
  93. package/umd/typings/errors/PromptbookLibraryError.d.ts +7 -0
  94. package/umd/typings/execution/ExecutionTools.d.ts +5 -3
  95. package/umd/typings/execution/LlmExecutionTools.d.ts +4 -2
  96. package/umd/typings/execution/PromptResult.d.ts +5 -1
  97. package/umd/typings/execution/ScriptExecutionTools.d.ts +2 -1
  98. package/umd/typings/execution/UserInterfaceTools.d.ts +2 -1
  99. package/umd/typings/execution/createPromptbookExecutor.d.ts +3 -3
  100. package/umd/typings/execution/plugins/llm-execution-tools/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +4 -3
  101. package/umd/typings/execution/plugins/llm-execution-tools/anthropic-claude/anthropic-claude-models.d.ts +1 -1
  102. package/umd/typings/execution/plugins/llm-execution-tools/azure-openai/AzureOpenAiExecutionTools.d.ts +4 -3
  103. package/umd/typings/execution/plugins/llm-execution-tools/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +2 -1
  104. package/umd/typings/execution/plugins/llm-execution-tools/langtail/LangtailExecutionTools.d.ts +0 -3
  105. package/umd/typings/execution/plugins/llm-execution-tools/mocked/MockedEchoLlmExecutionTools.d.ts +4 -2
  106. package/umd/typings/execution/plugins/llm-execution-tools/mocked/MockedFackedLlmExecutionTools.d.ts +4 -2
  107. package/umd/typings/execution/plugins/llm-execution-tools/mocked/fakeTextToExpectations.d.ts +1 -1
  108. package/umd/typings/execution/plugins/llm-execution-tools/multiple/MultipleLlmExecutionTools.d.ts +4 -2
  109. package/umd/typings/execution/plugins/llm-execution-tools/multiple/MultipleLlmExecutionToolsOptions.d.ts +2 -1
  110. package/umd/typings/execution/plugins/llm-execution-tools/openai/OpenAiExecutionTools.d.ts +5 -3
  111. package/umd/typings/execution/plugins/llm-execution-tools/openai/OpenAiExecutionToolsOptions.d.ts +1 -1
  112. package/umd/typings/execution/plugins/llm-execution-tools/openai/openai-models.d.ts +1 -1
  113. package/umd/typings/execution/plugins/llm-execution-tools/remote/RemoteLlmExecutionTools.d.ts +5 -3
  114. package/umd/typings/execution/plugins/llm-execution-tools/remote/RemoteLlmExecutionToolsOptions.d.ts +2 -1
  115. package/umd/typings/execution/plugins/llm-execution-tools/remote/interfaces/Promptbook_Server_Progress.d.ts +1 -1
  116. package/umd/typings/execution/plugins/llm-execution-tools/remote/interfaces/Promptbook_Server_Response.d.ts +1 -1
  117. package/umd/typings/execution/plugins/llm-execution-tools/remote/interfaces/RemoteServerOptions.d.ts +2 -1
  118. package/umd/typings/execution/plugins/llm-execution-tools/remote/startRemoteServer.d.ts +2 -1
  119. package/umd/typings/execution/plugins/script-execution-tools/python/PythonExecutionTools.d.ts +3 -2
  120. package/umd/typings/execution/plugins/script-execution-tools/typescript/TypescriptExecutionTools.d.ts +3 -2
  121. package/umd/typings/execution/plugins/user-interface-execution-tools/callback/CallbackInterfaceTools.d.ts +3 -2
  122. package/umd/typings/execution/plugins/user-interface-execution-tools/simple-prompt/SimplePromptInterfaceTools.d.ts +3 -2
  123. package/umd/typings/execution/translation/automatic-translate/automatic-translators/DebugAutomaticTranslator.d.ts +1 -1
  124. package/umd/typings/execution/translation/automatic-translate/automatic-translators/FakeAutomaticTranslator.d.ts +1 -1
  125. package/umd/typings/execution/translation/automatic-translate/automatic-translators/LindatAutomaticTranslator.d.ts +2 -2
  126. package/umd/typings/execution/translation/automatic-translate/translateMessages.d.ts +2 -2
  127. package/umd/typings/execution/utils/forEachAsync.d.ts +18 -0
  128. package/umd/typings/execution/utils/replaceParameters.d.ts +2 -2
  129. package/umd/typings/library/SimplePromptbookLibrary.d.ts +1 -1
  130. package/umd/typings/library/constructors/createPromptbookLibraryFromDirectory.d.ts +30 -6
  131. package/umd/typings/library/constructors/createPromptbookLibraryFromDirectory.test.d.ts +1 -0
  132. package/umd/typings/library/constructors/createPromptbookLibraryFromPromise.d.ts +4 -4
  133. package/umd/typings/library/constructors/createPromptbookLibraryFromPromise.test.d.ts +1 -0
  134. package/umd/typings/library/constructors/createPromptbookLibraryFromSources.d.ts +2 -1
  135. package/umd/typings/library/constructors/createPromptbookLibraryFromSources.test.d.ts +1 -0
  136. package/umd/typings/library/constructors/createPromptbookLibraryFromUrl.d.ts +23 -6
  137. package/umd/typings/library/constructors/createPromptbookSublibrary.d.ts +1 -1
  138. package/umd/typings/library/constructors/justTestFsImport.d.ts +7 -0
  139. package/umd/typings/types/Command.d.ts +5 -2
  140. package/umd/typings/types/Prompt.d.ts +5 -2
  141. package/umd/typings/types/PromptbookJson/PromptTemplateJson.d.ts +8 -1
  142. package/umd/typings/types/PromptbookJson/PromptbookJson.d.ts +2 -1
  143. package/umd/typings/types/TaskProgress.d.ts +2 -1
  144. package/umd/typings/types/execution-report/ExecutionReportJson.d.ts +2 -1
  145. package/umd/typings/types/execution-report/countWorkingDuration.d.ts +1 -1
  146. package/umd/typings/types/typeAliases.d.ts +2 -2
  147. package/umd/typings/utils/emojis.d.ts +1 -1
  148. package/umd/typings/utils/expectation-counters/index.d.ts +2 -1
  149. package/umd/typings/utils/extractParameters.d.ts +2 -1
  150. package/umd/typings/utils/markdown/addAutoGeneratedSection.d.ts +2 -1
  151. package/umd/typings/utils/markdown/createMarkdownChart.d.ts +2 -2
  152. package/umd/typings/utils/markdown/createMarkdownTable.d.ts +2 -1
  153. package/umd/typings/utils/markdown/escapeMarkdownBlock.d.ts +1 -1
  154. package/umd/typings/utils/markdown/extractAllListItemsFromMarkdown.d.ts +2 -1
  155. package/umd/typings/utils/markdown/extractOneBlockFromMarkdown.d.ts +2 -2
  156. package/umd/typings/utils/markdown/removeContentComments.d.ts +2 -1
  157. package/umd/typings/utils/markdown/removeMarkdownFormatting.d.ts +1 -1
  158. package/umd/typings/utils/markdown-json/countMarkdownStructureDeepness.d.ts +1 -1
  159. package/umd/typings/utils/markdown-json/markdownToMarkdownStructure.d.ts +1 -1
  160. package/umd/typings/utils/normalization/isValidKeyword.d.ts +1 -1
  161. package/umd/typings/utils/normalization/parseKeywords.d.ts +1 -1
  162. package/umd/typings/utils/normalization/parseKeywordsFromString.d.ts +1 -1
  163. package/umd/typings/utils/normalization/searchKeywords.d.ts +1 -1
  164. package/umd/typings/utils/postprocessing/extractBlock.d.ts +1 -1
  165. package/esm/typings/wizzard/Wizzard.d.ts +0 -4
  166. package/esm/typings/wizzard/sample.d.ts +0 -6
  167. package/umd/typings/wizzard/Wizzard.d.ts +0 -4
  168. package/umd/typings/wizzard/sample.d.ts +0 -6
@@ -5,6 +5,7 @@ import { extractVariables } from '../conversion/utils/extractVariables';
5
5
  import { parseNumber } from '../conversion/utils/parseNumber';
6
6
  import { renameParameter } from '../conversion/utils/renameParameter';
7
7
  import { titleToName } from '../conversion/utils/titleToName';
8
+ import { forEachAsync } from '../execution/utils/forEachAsync';
8
9
  import { replaceParameters } from '../execution/utils/replaceParameters';
9
10
  import { CountUtils } from '../utils/expectation-counters';
10
11
  import { countCharacters } from '../utils/expectation-counters/countCharacters';
@@ -46,6 +47,7 @@ import { union } from '../utils/sets/union';
46
47
  import { trimCodeBlock } from '../utils/trimCodeBlock';
47
48
  import { trimEndOfCodeBlock } from '../utils/trimEndOfCodeBlock';
48
49
  import { unwrapResult } from '../utils/unwrapResult';
50
+ export { forEachAsync };
49
51
  export { extractAllBlocksFromMarkdown, // <- [🌻]
50
52
  extractAllListItemsFromMarkdown, extractBlock, // <- [🌻]
51
53
  extractOneBlockFromMarkdown, extractParameters, extractVariables, isValidJsonString, parseNumber, // <- [🌻]
@@ -1,4 +1,4 @@
1
- import { PromptbookString } from '../../types/PromptbookString';
1
+ import type { PromptbookString } from '../../types/PromptbookString';
2
2
  import type { PrettifyOptions } from './PrettifyOptions';
3
3
  /**
4
4
  * Prettyfies Promptbook string and adds Mermaid graph
@@ -1,4 +1,5 @@
1
- import type { PromptbookJson, PromptTemplateJson } from '../../_packages/types.index';
1
+ import type { PromptbookJson } from '../../types/PromptbookJson/PromptbookJson';
2
+ import type { PromptTemplateJson } from '../../types/PromptbookJson/PromptTemplateJson';
2
3
  import type { string_href } from '../../types/typeAliases';
3
4
  /**
4
5
  * Addtional options for rendering Mermaid graph
@@ -1,5 +1,5 @@
1
- import { PromptTemplateJson } from '../../types/PromptbookJson/PromptTemplateJson';
2
- import { string_name } from '../../types/typeAliases';
1
+ import type { PromptTemplateJson } from '../../types/PromptbookJson/PromptTemplateJson';
2
+ import type { string_name } from '../../types/typeAliases';
3
3
  /**
4
4
  * Parses the prompt template and returns the set of all used parameters
5
5
  *
@@ -10,4 +10,4 @@ import { string_name } from '../../types/typeAliases';
10
10
  export declare function extractParametersFromPromptTemplate(promptTemplate: Pick<PromptTemplateJson, 'title' | 'description' | 'executionType' | 'content'>): Set<string_name>;
11
11
  /**
12
12
  * TODO: [🔣] If script require contentLanguage
13
- */
13
+ */
@@ -1,4 +1,5 @@
1
- import { string_javascript, string_javascript_name } from '../../types/typeAliases';
1
+ import type { string_javascript } from '../../types/typeAliases';
2
+ import type { string_javascript_name } from '../../types/typeAliases';
2
3
  /**
3
4
  * Parses the given script and returns the list of all used variables that are not defined in the script
4
5
  *
@@ -1,5 +1,5 @@
1
- import { PromptbookJson } from '../../types/PromptbookJson/PromptbookJson';
2
- import { PromptbookString } from '../../types/PromptbookString';
1
+ import type { PromptbookJson } from '../../types/PromptbookJson/PromptbookJson';
2
+ import type { PromptbookString } from '../../types/PromptbookString';
3
3
  /**
4
4
  * Import the text file
5
5
  *
@@ -0,0 +1,7 @@
1
+ /**
2
+ * This error indicates that the promptbook library cannot be propperly loaded
3
+ */
4
+ export declare class PromptbookLibraryError extends Error {
5
+ readonly name = "PromptbookLibraryError";
6
+ constructor(message: string);
7
+ }
@@ -9,6 +9,9 @@ import type { UserInterfaceTools } from './UserInterfaceTools';
9
9
  export type ExecutionTools = {
10
10
  /**
11
11
  * Tools for executing prompts to large language models like GPT-4
12
+ *
13
+ * Tip: Combine multiple LLM execution tools with `MultipleLlmExecutionTools`
14
+ * @see https://github.com/webgptorg/promptbook/?tab=readme-ov-file#llm-execution-tools
12
15
  */
13
16
  llm: LlmExecutionTools;
14
17
  /**
@@ -16,15 +19,14 @@ export type ExecutionTools = {
16
19
  *
17
20
  * Note: You can pass multiple ScriptExecutionTools, they will be tried one by one until one of them supports the script
18
21
  * If none of them supports the script, an error is thrown
22
+ * @see https://github.com/webgptorg/promptbook/?tab=readme-ov-file#script-execution-tools
19
23
  */
20
24
  script: Array<ScriptExecutionTools>;
21
25
  /**
22
26
  * Tools for interacting with the user
23
27
  *
24
28
  * Note: When undefined, the user interface is disabled and promptbook which requires user interaction will fail
29
+ * @see https://github.com/webgptorg/promptbook/?tab=readme-ov-file#user-interface-tools
25
30
  */
26
31
  userInterface?: UserInterfaceTools;
27
32
  };
28
- /**
29
- * TODO: [🍓] !!!! Allow to have more LlmExecutionTools
30
- */
@@ -1,8 +1,10 @@
1
1
  import type { Promisable } from 'type-fest';
2
2
  import type { ModelVariant } from '../types/ModelRequirements';
3
3
  import type { Prompt } from '../types/Prompt';
4
- import type { string_model_name, string_title } from '../types/typeAliases';
5
- import type { PromptChatResult, PromptCompletionResult } from './PromptResult';
4
+ import type { string_model_name } from '../types/typeAliases';
5
+ import type { string_title } from '../types/typeAliases';
6
+ import type { PromptChatResult } from './PromptResult';
7
+ import type { PromptCompletionResult } from './PromptResult';
6
8
  /**
7
9
  * Container for all the tools needed to execute prompts to large language models like GPT-4
8
10
  * On its interface it exposes common methods for prompt execution.
@@ -1,4 +1,8 @@
1
- import type { number_positive_or_zero, number_tokens, number_usd, string_date_iso8601, string_model_name } from '.././types/typeAliases';
1
+ import type { number_positive_or_zero } from '../types/typeAliases';
2
+ import type { number_tokens } from '../types/typeAliases';
3
+ import type { number_usd } from '../types/typeAliases';
4
+ import type { string_date_iso8601 } from '../types/typeAliases';
5
+ import type { string_model_name } from '../types/typeAliases';
2
6
  /**
3
7
  * Prompt result is the simplest concept of execution.
4
8
  * It is the result of executing one prompt _(NOT a template)_.
@@ -1,4 +1,5 @@
1
- import type { string_name, string_script } from '.././types/typeAliases';
1
+ import type { string_name } from '../types/typeAliases';
2
+ import type { string_script } from '../types/typeAliases';
2
3
  import type { ScriptLanguage } from '../types/ScriptLanguage';
3
4
  /**
4
5
  * Represents all the tools needed to EXECUTE SCRIPTs
@@ -1,4 +1,5 @@
1
- import type { number_integer, number_positive } from '../types/typeAliases';
1
+ import type { number_integer } from '../types/typeAliases';
2
+ import type { number_positive } from '../types/typeAliases';
2
3
  /**
3
4
  * Represents all the tools needed to interact with the user.
4
5
  *
@@ -1,6 +1,6 @@
1
- import { PromptbookJson } from '../_packages/types.index';
2
- import { ExecutionTools } from './ExecutionTools';
3
- import { PromptbookExecutor } from './PromptbookExecutor';
1
+ import type { PromptbookJson } from '../types/PromptbookJson/PromptbookJson';
2
+ import type { ExecutionTools } from './ExecutionTools';
3
+ import type { PromptbookExecutor } from './PromptbookExecutor';
4
4
  type CreatePromptbookExecutorSettings = {
5
5
  /**
6
6
  * When executor does not satisfy expectations it will be retried this amount of times
@@ -1,6 +1,8 @@
1
1
  import type { Prompt } from '../../../../types/Prompt';
2
- import type { AvailableModel, LlmExecutionTools } from '../../../LlmExecutionTools';
3
- import type { PromptChatResult, PromptCompletionResult } from '../../../PromptResult';
2
+ import type { AvailableModel } from '../../../LlmExecutionTools';
3
+ import type { LlmExecutionTools } from '../../../LlmExecutionTools';
4
+ import type { PromptChatResult } from '../../../PromptResult';
5
+ import type { PromptCompletionResult } from '../../../PromptResult';
4
6
  import type { AnthropicClaudeExecutionToolsOptions } from './AnthropicClaudeExecutionToolsOptions';
5
7
  /**
6
8
  * Execution Tools for calling Anthropic Claude API.
@@ -36,7 +38,6 @@ export declare class AnthropicClaudeExecutionTools implements LlmExecutionTools
36
38
  }
37
39
  /**
38
40
  * TODO: [🧠] Maybe handle errors via transformAnthropicError (like transformAzureError)
39
- * TODO: [🍓][♐] Allow to list compatible models with each variant
40
41
  * TODO: Maybe Create some common util for gptChat and gptComplete
41
42
  * TODO: Maybe make custom OpenaiError
42
43
  */
@@ -1,4 +1,4 @@
1
- import { number_usd } from '../../../../types/typeAliases';
1
+ import type { number_usd } from '../../../../types/typeAliases';
2
2
  import type { AvailableModel } from '../../../LlmExecutionTools';
3
3
  /**
4
4
  * List of available Anthropic Claude models with pricing
@@ -1,6 +1,8 @@
1
1
  import type { Prompt } from '../../../../types/Prompt';
2
- import type { AvailableModel, LlmExecutionTools } from '../../../LlmExecutionTools';
3
- import type { PromptChatResult, PromptCompletionResult } from '../../../PromptResult';
2
+ import type { AvailableModel } from '../../../LlmExecutionTools';
3
+ import type { LlmExecutionTools } from '../../../LlmExecutionTools';
4
+ import type { PromptChatResult } from '../../../PromptResult';
5
+ import type { PromptCompletionResult } from '../../../PromptResult';
4
6
  import type { AzureOpenAiExecutionToolsOptions } from './AzureOpenAiExecutionToolsOptions';
5
7
  /**
6
8
  * Execution Tools for calling Azure OpenAI API.
@@ -35,7 +37,6 @@ export declare class AzureOpenAiExecutionTools implements LlmExecutionTools {
35
37
  listModels(): Promise<Array<AvailableModel>>;
36
38
  }
37
39
  /**
38
- * TODO: [🍓][♐] Allow to list compatible models with each variant
39
40
  * TODO: Maybe Create some common util for gptChat and gptComplete
40
41
  * TODO: Maybe make custom AzureOpenaiError
41
42
  */
@@ -1,4 +1,5 @@
1
- import { string_name, string_token } from '../../../../types/typeAliases';
1
+ import type { string_name } from '../../../../types/typeAliases';
2
+ import type { string_token } from '../../../../types/typeAliases';
2
3
  import type { CommonExecutionToolsOptions } from '../../../CommonExecutionToolsOptions';
3
4
  /**
4
5
  * Options for AzureOpenAiExecutionTools
@@ -5,6 +5,3 @@ import { OpenAiExecutionTools } from '../openai/OpenAiExecutionTools';
5
5
  */
6
6
  export declare class LangtailExecutionTools extends OpenAiExecutionTools implements LlmExecutionTools {
7
7
  }
8
- /**
9
- * TODO: [🍓][♐] Allow to list the available prompts in Langtail
10
- */
@@ -1,7 +1,9 @@
1
1
  import type { Prompt } from '../../../../types/Prompt';
2
2
  import type { CommonExecutionToolsOptions } from '../../../CommonExecutionToolsOptions';
3
- import type { AvailableModel, LlmExecutionTools } from '../../../LlmExecutionTools';
4
- import type { PromptChatResult, PromptCompletionResult } from '../../../PromptResult';
3
+ import type { AvailableModel } from '../../../LlmExecutionTools';
4
+ import type { LlmExecutionTools } from '../../../LlmExecutionTools';
5
+ import type { PromptChatResult } from '../../../PromptResult';
6
+ import type { PromptCompletionResult } from '../../../PromptResult';
5
7
  /**
6
8
  * Mocked execution Tools for just echoing the requests for testing purposes.
7
9
  */
@@ -1,7 +1,9 @@
1
1
  import type { Prompt } from '../../../../types/Prompt';
2
2
  import type { CommonExecutionToolsOptions } from '../../../CommonExecutionToolsOptions';
3
- import type { AvailableModel, LlmExecutionTools } from '../../../LlmExecutionTools';
4
- import type { PromptChatResult, PromptCompletionResult } from '../../../PromptResult';
3
+ import type { AvailableModel } from '../../../LlmExecutionTools';
4
+ import type { LlmExecutionTools } from '../../../LlmExecutionTools';
5
+ import type { PromptChatResult } from '../../../PromptResult';
6
+ import type { PromptCompletionResult } from '../../../PromptResult';
5
7
  /**
6
8
  * Mocked execution Tools for just faking expected responses for testing purposes
7
9
  */
@@ -1,5 +1,5 @@
1
1
  import type { Expectations } from '../../../../types/PromptbookJson/PromptTemplateJson';
2
- import { PostprocessingFunction } from '../../script-execution-tools/javascript/JavascriptExecutionToolsOptions';
2
+ import type { PostprocessingFunction } from '../../script-execution-tools/javascript/JavascriptExecutionToolsOptions';
3
3
  /**
4
4
  * Gets the expectations and creates a fake text that meets the expectations
5
5
  *
@@ -1,6 +1,8 @@
1
1
  import type { Prompt } from '../../../../types/Prompt';
2
- import type { AvailableModel, LlmExecutionTools } from '../../../LlmExecutionTools';
3
- import type { PromptChatResult, PromptCompletionResult } from '../../../PromptResult';
2
+ import type { AvailableModel } from '../../../LlmExecutionTools';
3
+ import type { LlmExecutionTools } from '../../../LlmExecutionTools';
4
+ import type { PromptChatResult } from '../../../PromptResult';
5
+ import type { PromptCompletionResult } from '../../../PromptResult';
4
6
  /**
5
7
  * Multiple LLM Execution Tools is a proxy server that uses multiple execution tools internally and exposes the executor interface externally.
6
8
  *
@@ -1,4 +1,5 @@
1
- import type { client_id, string_uri } from '../../../../types/typeAliases';
1
+ import type { client_id } from '../../../../types/typeAliases';
2
+ import type { string_uri } from '../../../../types/typeAliases';
2
3
  import type { CommonExecutionToolsOptions } from '../../../CommonExecutionToolsOptions';
3
4
  /**
4
5
  * Options for MultipleLlmExecutionTools
@@ -1,6 +1,8 @@
1
1
  import type { Prompt } from '../../../../types/Prompt';
2
- import type { AvailableModel, LlmExecutionTools } from '../../../LlmExecutionTools';
3
- import type { PromptChatResult, PromptCompletionResult } from '../../../PromptResult';
2
+ import type { AvailableModel } from '../../../LlmExecutionTools';
3
+ import type { LlmExecutionTools } from '../../../LlmExecutionTools';
4
+ import type { PromptChatResult } from '../../../PromptResult';
5
+ import type { PromptCompletionResult } from '../../../PromptResult';
4
6
  import type { OpenAiExecutionToolsOptions } from './OpenAiExecutionToolsOptions';
5
7
  /**
6
8
  * Execution Tools for calling OpenAI API.
@@ -39,7 +41,7 @@ export declare class OpenAiExecutionTools implements LlmExecutionTools {
39
41
  listModels(): Array<AvailableModel>;
40
42
  }
41
43
  /**
42
- * TODO: [🍓][] Allow to list compatible models with each variant
44
+ * TODO: [🧠][🧙‍♂️] Maybe there can be some wizzard for thoose who want to use just OpenAI
43
45
  * TODO: Maybe Create some common util for gptChat and gptComplete
44
46
  * TODO: Maybe make custom OpenaiError
45
47
  */
@@ -1,5 +1,5 @@
1
1
  import type { ClientOptions } from 'openai';
2
- import type { string_token } from '../../../.././types/typeAliases';
2
+ import type { string_token } from '../../../../types/typeAliases';
3
3
  import type { CommonExecutionToolsOptions } from '../../../CommonExecutionToolsOptions';
4
4
  /**
5
5
  * Options for OpenAiExecutionTools
@@ -1,4 +1,4 @@
1
- import { number_usd } from '../../../../types/typeAliases';
1
+ import type { number_usd } from '../../../../types/typeAliases';
2
2
  import type { AvailableModel } from '../../../LlmExecutionTools';
3
3
  /**
4
4
  * List of available OpenAI models with pricing
@@ -1,6 +1,8 @@
1
1
  import type { Prompt } from '../../../../types/Prompt';
2
- import type { AvailableModel, LlmExecutionTools } from '../../../LlmExecutionTools';
3
- import type { PromptChatResult, PromptCompletionResult } from '../../../PromptResult';
2
+ import type { AvailableModel } from '../../../LlmExecutionTools';
3
+ import type { LlmExecutionTools } from '../../../LlmExecutionTools';
4
+ import type { PromptChatResult } from '../../../PromptResult';
5
+ import type { PromptCompletionResult } from '../../../PromptResult';
4
6
  import type { RemoteLlmExecutionToolsOptions } from './RemoteLlmExecutionToolsOptions';
5
7
  /**
6
8
  * Remote server is a proxy server that uses its execution tools internally and exposes the executor interface externally.
@@ -35,6 +37,6 @@ export declare class RemoteLlmExecutionTools implements LlmExecutionTools {
35
37
  listModels(): Promise<Array<AvailableModel>>;
36
38
  }
37
39
  /**
38
- * TODO: [🍓][♐] Allow to list compatible models with each variant
40
+ * TODO: [🍓] Allow to list compatible models with each variant
39
41
  * TODO: [🤹‍♂️] RemoteLlmExecutionTools should extend Destroyable and implement IDestroyable
40
42
  */
@@ -1,4 +1,5 @@
1
- import type { client_id, string_uri } from '../../../../types/typeAliases';
1
+ import type { client_id } from '../../../../types/typeAliases';
2
+ import type { string_uri } from '../../../../types/typeAliases';
2
3
  import type { CommonExecutionToolsOptions } from '../../../CommonExecutionToolsOptions';
3
4
  /**
4
5
  * Options for RemoteLlmExecutionTools
@@ -1,4 +1,4 @@
1
- import { TaskProgress } from '../../../../../types/TaskProgress';
1
+ import type { TaskProgress } from '../../../../../types/TaskProgress';
2
2
  /**
3
3
  * Socket.io progress for remote text generation
4
4
  *
@@ -1,4 +1,4 @@
1
- import { PromptResult } from '../../../../PromptResult';
1
+ import type { PromptResult } from '../../../../PromptResult';
2
2
  /**
3
3
  * Socket.io error for remote text generation
4
4
  *
@@ -1,5 +1,6 @@
1
1
  import type { PromptbookLibrary } from '../../../../../library/PromptbookLibrary';
2
- import type { client_id, string_uri } from '../../../../../types/typeAliases';
2
+ import type { client_id } from '../../../../../types/typeAliases';
3
+ import type { string_uri } from '../../../../../types/typeAliases';
3
4
  import type { CommonExecutionToolsOptions } from '../../../../CommonExecutionToolsOptions';
4
5
  import type { LlmExecutionTools } from '../../../../LlmExecutionTools';
5
6
  export type RemoteServerOptions = CommonExecutionToolsOptions & {
@@ -1,5 +1,5 @@
1
1
  import type { IDestroyable } from 'destroyable';
2
- import { RemoteServerOptions } from './interfaces/RemoteServerOptions';
2
+ import type { RemoteServerOptions } from './interfaces/RemoteServerOptions';
3
3
  /**
4
4
  * Remote server is a proxy server that uses its execution tools internally and exposes the executor interface externally.
5
5
  *
@@ -10,6 +10,7 @@ import { RemoteServerOptions } from './interfaces/RemoteServerOptions';
10
10
  */
11
11
  export declare function startRemoteServer(options: RemoteServerOptions): IDestroyable;
12
12
  /**
13
+ * TODO: [⚖] Expose the library to be able to connect to same library via createPromptbookLibraryFromUrl
13
14
  * TODO: Handle progress - support streaming
14
15
  * TODO: [🤹‍♂️] Do not hang up immediately but wait until client closes OR timeout
15
16
  * TODO: [🤹‍♂️] Timeout on chat to free up resources
@@ -1,5 +1,6 @@
1
- import { CommonExecutionToolsOptions } from '../../../CommonExecutionToolsOptions';
2
- import { ScriptExecutionTools, ScriptExecutionToolsExecuteOptions } from '../../../ScriptExecutionTools';
1
+ import type { CommonExecutionToolsOptions } from '../../../CommonExecutionToolsOptions';
2
+ import type { ScriptExecutionTools } from '../../../ScriptExecutionTools';
3
+ import type { ScriptExecutionToolsExecuteOptions } from '../../../ScriptExecutionTools';
3
4
  /**
4
5
  * ScriptExecutionTools for Python
5
6
  *
@@ -1,5 +1,6 @@
1
- import { CommonExecutionToolsOptions } from '../../../CommonExecutionToolsOptions';
2
- import { ScriptExecutionTools, ScriptExecutionToolsExecuteOptions } from '../../../ScriptExecutionTools';
1
+ import type { CommonExecutionToolsOptions } from '../../../CommonExecutionToolsOptions';
2
+ import type { ScriptExecutionTools } from '../../../ScriptExecutionTools';
3
+ import type { ScriptExecutionToolsExecuteOptions } from '../../../ScriptExecutionTools';
3
4
  /**
4
5
  * ScriptExecutionTools for TypeScript
5
6
  *
@@ -1,5 +1,6 @@
1
- import { UserInterfaceTools, UserInterfaceToolsPromptDialogOptions } from '../../../UserInterfaceTools';
2
- import { CallbackInterfaceToolsOptions } from './CallbackInterfaceToolsOptions';
1
+ import type { UserInterfaceTools } from '../../../UserInterfaceTools';
2
+ import type { UserInterfaceToolsPromptDialogOptions } from '../../../UserInterfaceTools';
3
+ import type { CallbackInterfaceToolsOptions } from './CallbackInterfaceToolsOptions';
3
4
  /**
4
5
  * Delagates the user interaction to a async callback function
5
6
  * You need to provide your own implementation of this callback function and its bind to UI.
@@ -1,5 +1,6 @@
1
- import { CommonExecutionToolsOptions } from '../../../CommonExecutionToolsOptions';
2
- import { UserInterfaceTools, UserInterfaceToolsPromptDialogOptions } from '../../../UserInterfaceTools';
1
+ import type { CommonExecutionToolsOptions } from '../../../CommonExecutionToolsOptions';
2
+ import type { UserInterfaceTools } from '../../../UserInterfaceTools';
3
+ import type { UserInterfaceToolsPromptDialogOptions } from '../../../UserInterfaceTools';
3
4
  /**
4
5
  * Wrapper around `window.prompt` synchronous function that interacts with the user via browser prompt
5
6
  *
@@ -1,4 +1,4 @@
1
- import { AutomaticTranslator } from './AutomaticTranslator';
1
+ import type { AutomaticTranslator } from './AutomaticTranslator';
2
2
  /**
3
3
  * This will wrap an automatic translator and log each translation into the console
4
4
  */
@@ -1,4 +1,4 @@
1
- import { AutomaticTranslator } from './AutomaticTranslator';
1
+ import type { AutomaticTranslator } from './AutomaticTranslator';
2
2
  export declare class FakeAutomaticTranslator implements AutomaticTranslator {
3
3
  constructor();
4
4
  translate(message: string): string;
@@ -1,5 +1,5 @@
1
- import { AutomaticTranslator } from './AutomaticTranslator';
2
- import { TranslatorOptions } from './TranslatorOptions';
1
+ import type { AutomaticTranslator } from './AutomaticTranslator';
2
+ import type { TranslatorOptions } from './TranslatorOptions';
3
3
  interface LindatAutomaticTranslatorOptions extends TranslatorOptions {
4
4
  apiUrl: URL;
5
5
  }
@@ -1,5 +1,5 @@
1
- import { AutomaticTranslator } from './automatic-translators/AutomaticTranslator';
2
- import { TranslatorOptions } from './automatic-translators/TranslatorOptions';
1
+ import type { AutomaticTranslator } from './automatic-translators/AutomaticTranslator';
2
+ import type { TranslatorOptions } from './automatic-translators/TranslatorOptions';
3
3
  export declare function translateMessages({ automaticTranslator, from, to, }: {
4
4
  automaticTranslator: AutomaticTranslator;
5
5
  } & TranslatorOptions): Promise<void>;
@@ -0,0 +1,18 @@
1
+ import type { Promisable } from 'type-fest';
2
+ type ForEachAsyncOptions = {
3
+ /**
4
+ * Maximum number of tasks running in parallel
5
+ *
6
+ * @default Infinity
7
+ */
8
+ inParallelCount?: number;
9
+ };
10
+ /**
11
+ * Async version of Array.forEach
12
+ *
13
+ * @param array - Array to iterate over
14
+ * @param options - Options for the function
15
+ * @param callbackfunction - Function to call for each item
16
+ */
17
+ export declare function forEachAsync<TItem>(array: Array<TItem>, options: ForEachAsyncOptions, callbackfunction: (value: TItem, index: number, array: Array<TItem>) => Promisable<void>): Promise<void>;
18
+ export {};
@@ -1,5 +1,5 @@
1
- import { Parameters } from '../../types/Parameters';
2
- import { string_template } from '../../types/typeAliases';
1
+ import type { Parameters } from '../../types/Parameters';
2
+ import type { string_template } from '../../types/typeAliases';
3
3
  /**
4
4
  * Replaces parameters in template with values from parameters object
5
5
  *
@@ -1,7 +1,7 @@
1
1
  import type { Prompt } from '../types/Prompt';
2
2
  import type { PromptbookJson } from '../types/PromptbookJson/PromptbookJson';
3
3
  import type { string_promptbook_url } from '../types/typeAliases';
4
- import { PromptbookLibrary } from './PromptbookLibrary';
4
+ import type { PromptbookLibrary } from './PromptbookLibrary';
5
5
  /**
6
6
  * Library of promptbooks that groups together promptbooks for an application.
7
7
  * This implementation is a very thin wrapper around the Array / Map of promptbooks.
@@ -1,5 +1,5 @@
1
- import { string_folder_path } from '../../types/typeAliases';
2
- import { PromptbookLibrary } from '../PromptbookLibrary';
1
+ import type { string_folder_path } from '../../types/typeAliases';
2
+ import type { PromptbookLibrary } from '../PromptbookLibrary';
3
3
  /**
4
4
  * Options for `createPromptbookLibraryFromDirectory` function
5
5
  */
@@ -10,20 +10,44 @@ type CreatePromptbookLibraryFromDirectoryOptions = {
10
10
  * @default true
11
11
  */
12
12
  isRecursive?: boolean;
13
+ /**
14
+ * If true, the library creation outputs information about each file it reads
15
+ *
16
+ * @default false
17
+ */
18
+ isVerbose?: boolean;
19
+ /**
20
+ * If true, directory will be scanned only when needed not during the construction
21
+ *
22
+ * @default false
23
+ */
24
+ isLazyLoaded?: boolean;
25
+ /**
26
+ * If true, whole library creation crashes on error in any promptbook
27
+ * If true and isLazyLoaded is true, the error is thrown on first access to the promptbook
28
+ *
29
+ * @default true
30
+ */
31
+ isCrashOnError?: boolean;
13
32
  };
14
33
  /**
15
34
  * Constructs Promptbook from given directory
16
35
  *
17
36
  * Note: Works only in Node.js environment because it reads the file system
18
- * Note: The function does NOT return promise it returns the library directly which dynamically loads promptbooks when needed
19
- * SO during the construction syntax and logic sources IS NOT validated
20
37
  *
21
38
  * @param path - path to the directory with promptbooks
22
39
  * @param options - Misc options for the library
23
40
  * @returns PromptbookLibrary
24
41
  */
25
- export declare function createPromptbookLibraryFromDirectory(path: string_folder_path, options?: CreatePromptbookLibraryFromDirectoryOptions): PromptbookLibrary;
42
+ export declare function createPromptbookLibraryFromDirectory(path: string_folder_path, options?: CreatePromptbookLibraryFromDirectoryOptions): Promise<PromptbookLibrary>;
26
43
  export {};
27
44
  /***
28
- * TODO: [🍓][🚯] !!! Add to README and samples + maybe make `@promptbook/library` package
45
+ * TODO: [🧠] Maybe do not do hacks like [1] and just create package @promptbook/node
46
+ * [🍓][🚯] maybe make `@promptbook/library` package
47
+ * TODO: Fix the dynamic import issue in Webpack (! Not working !)
48
+ * > ./node_modules/@promptbook/core/esm/index.es.js
49
+ * > Critical dependency: the request of a dependency is an expression
50
+ *
51
+ * Note: [1] Using require(just('fs/promises')) to allow
52
+ * the `@promptbook/core` work for both Node.js and browser environments
29
53
  */
@@ -1,6 +1,6 @@
1
1
  import type { PromptbookJson } from '../../types/PromptbookJson/PromptbookJson';
2
- import { PromptbookString } from '../../types/PromptbookString';
3
- import { PromptbookLibrary } from '../PromptbookLibrary';
2
+ import type { PromptbookString } from '../../types/PromptbookString';
3
+ import type { PromptbookLibrary } from '../PromptbookLibrary';
4
4
  /**
5
5
  * Constructs Promptbook from async sources
6
6
  * It can be one of the following:
@@ -14,11 +14,11 @@ import { PromptbookLibrary } from '../PromptbookLibrary';
14
14
  * Note: The function does NOT return promise it returns the library directly which waits for the sources to be resolved
15
15
  * when error occurs in given promise or factory function, it is thrown during `listPromptbooks` or `getPromptbookByUrl` call
16
16
  *
17
+ * Note: Consider using `createPromptbookLibraryFromDirectory` or `createPromptbookLibraryFromUrl`
17
18
  *
18
19
  * @param promptbookSourcesPromiseOrFactory
19
20
  * @returns PromptbookLibrary
20
- *
21
- * @deprecated Consider using `createPromptbookLibraryFromUrl` or `createPromptbookLibraryFromDirectory`
21
+ * @private Just internal tool for other constructor functions
22
22
  */
23
23
  export declare function createPromptbookLibraryFromPromise(promptbookSourcesPromiseOrFactory: Promise<Array<PromptbookJson | PromptbookString>> | (() => Promise<Array<PromptbookJson | PromptbookString>>)): PromptbookLibrary;
24
24
  /***
@@ -1,4 +1,5 @@
1
- import { PromptbookJson, PromptbookString } from '../../_packages/types.index';
1
+ import type { PromptbookJson } from '../../types/PromptbookJson/PromptbookJson';
2
+ import type { PromptbookString } from '../../types/PromptbookString';
2
3
  import { SimplePromptbookLibrary } from '../SimplePromptbookLibrary';
3
4
  /**
4
5
  * Creates PromptbookLibrary from array of PromptbookJson or PromptbookString