modelfusion 0.92.0 → 0.93.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 (184) hide show
  1. package/README.md +19 -19
  2. package/core/api/ApiCallError.cjs +9 -1
  3. package/core/api/ApiCallError.d.ts +4 -1
  4. package/core/api/ApiCallError.js +9 -1
  5. package/model-function/{PromptFormat.d.ts → PromptTemplate.d.ts} +2 -2
  6. package/model-function/generate-image/ImageGenerationModel.d.ts +2 -2
  7. package/model-function/generate-image/{PromptFormatImageGenerationModel.cjs → PromptTemplateImageGenerationModel.cjs} +11 -11
  8. package/model-function/generate-image/PromptTemplateImageGenerationModel.d.ts +20 -0
  9. package/model-function/generate-image/{PromptFormatImageGenerationModel.js → PromptTemplateImageGenerationModel.js} +9 -9
  10. package/model-function/generate-structure/StructureFromTextGenerationModel.cjs +6 -6
  11. package/model-function/generate-structure/StructureFromTextGenerationModel.d.ts +4 -4
  12. package/model-function/generate-structure/StructureFromTextGenerationModel.js +6 -6
  13. package/model-function/generate-structure/{StructureFromTextPromptFormat.d.ts → StructureFromTextPromptTemplate.d.ts} +1 -1
  14. package/model-function/generate-structure/StructureFromTextStreamingModel.cjs +4 -4
  15. package/model-function/generate-structure/StructureFromTextStreamingModel.d.ts +2 -2
  16. package/model-function/generate-structure/StructureFromTextStreamingModel.js +4 -4
  17. package/model-function/generate-structure/index.cjs +1 -1
  18. package/model-function/generate-structure/index.d.ts +1 -1
  19. package/model-function/generate-structure/index.js +1 -1
  20. package/model-function/generate-structure/jsonStructurePrompt.d.ts +2 -2
  21. package/model-function/generate-text/{PromptFormatTextGenerationModel.cjs → PromptTemplateTextGenerationModel.cjs} +21 -21
  22. package/model-function/generate-text/PromptTemplateTextGenerationModel.d.ts +35 -0
  23. package/model-function/generate-text/{PromptFormatTextGenerationModel.js → PromptTemplateTextGenerationModel.js} +19 -19
  24. package/model-function/generate-text/PromptTemplateTextStreamingModel.cjs +38 -0
  25. package/model-function/generate-text/PromptTemplateTextStreamingModel.d.ts +16 -0
  26. package/model-function/generate-text/PromptTemplateTextStreamingModel.js +34 -0
  27. package/model-function/generate-text/TextGenerationModel.d.ts +3 -3
  28. package/model-function/generate-text/TextGenerationPromptTemplate.d.ts +11 -0
  29. package/model-function/generate-text/index.cjs +4 -4
  30. package/model-function/generate-text/index.d.ts +4 -4
  31. package/model-function/generate-text/index.js +4 -4
  32. package/model-function/generate-text/{prompt-format/AlpacaPromptFormat.cjs → prompt-template/AlpacaPromptTemplate.cjs} +5 -2
  33. package/model-function/generate-text/{prompt-format/AlpacaPromptFormat.d.ts → prompt-template/AlpacaPromptTemplate.d.ts} +5 -5
  34. package/model-function/generate-text/{prompt-format/AlpacaPromptFormat.js → prompt-template/AlpacaPromptTemplate.js} +5 -2
  35. package/model-function/generate-text/prompt-template/AlpacaPromptTemplate.test.cjs +31 -0
  36. package/model-function/generate-text/prompt-template/AlpacaPromptTemplate.test.js +29 -0
  37. package/model-function/generate-text/{prompt-format/ChatMLPromptFormat.cjs → prompt-template/ChatMLPromptTemplate.cjs} +5 -5
  38. package/model-function/generate-text/{prompt-format/ChatMLPromptFormat.d.ts → prompt-template/ChatMLPromptTemplate.d.ts} +7 -7
  39. package/model-function/generate-text/{prompt-format/ChatMLPromptFormat.js → prompt-template/ChatMLPromptTemplate.js} +5 -5
  40. package/model-function/generate-text/prompt-template/ChatMLPromptTemplate.test.cjs +49 -0
  41. package/model-function/generate-text/prompt-template/ChatMLPromptTemplate.test.js +47 -0
  42. package/model-function/generate-text/{prompt-format → prompt-template}/ChatPrompt.d.ts +1 -1
  43. package/model-function/generate-text/prompt-template/Content.js +1 -0
  44. package/model-function/generate-text/{prompt-format → prompt-template}/InstructionPrompt.d.ts +7 -0
  45. package/model-function/generate-text/prompt-template/InstructionPrompt.js +1 -0
  46. package/model-function/generate-text/{prompt-format/Llama2PromptFormat.cjs → prompt-template/Llama2PromptTemplate.cjs} +8 -7
  47. package/model-function/generate-text/{prompt-format/Llama2PromptFormat.d.ts → prompt-template/Llama2PromptTemplate.d.ts} +7 -6
  48. package/model-function/generate-text/{prompt-format/Llama2PromptFormat.js → prompt-template/Llama2PromptTemplate.js} +8 -7
  49. package/model-function/generate-text/prompt-template/Llama2PromptTemplate.test.cjs +49 -0
  50. package/model-function/generate-text/prompt-template/Llama2PromptTemplate.test.d.ts +1 -0
  51. package/model-function/generate-text/prompt-template/Llama2PromptTemplate.test.js +47 -0
  52. package/model-function/generate-text/{prompt-format/TextPromptFormat.cjs → prompt-template/TextPromptTemplate.cjs} +3 -0
  53. package/model-function/generate-text/{prompt-format/TextPromptFormat.d.ts → prompt-template/TextPromptTemplate.d.ts} +4 -4
  54. package/model-function/generate-text/{prompt-format/TextPromptFormat.js → prompt-template/TextPromptTemplate.js} +3 -0
  55. package/model-function/generate-text/prompt-template/TextPromptTemplate.test.cjs +49 -0
  56. package/model-function/generate-text/prompt-template/TextPromptTemplate.test.d.ts +1 -0
  57. package/model-function/generate-text/prompt-template/TextPromptTemplate.test.js +47 -0
  58. package/model-function/generate-text/{prompt-format/VicunaPromptFormat.d.ts → prompt-template/VicunaPromptTemplate.d.ts} +2 -2
  59. package/model-function/generate-text/prompt-template/VicunaPromptTemplate.test.cjs +21 -0
  60. package/model-function/generate-text/prompt-template/VicunaPromptTemplate.test.d.ts +1 -0
  61. package/model-function/generate-text/prompt-template/VicunaPromptTemplate.test.js +19 -0
  62. package/model-function/generate-text/{prompt-format → prompt-template}/index.cjs +6 -6
  63. package/model-function/generate-text/prompt-template/index.d.ts +10 -0
  64. package/model-function/generate-text/prompt-template/index.js +10 -0
  65. package/model-function/index.cjs +2 -2
  66. package/model-function/index.d.ts +2 -2
  67. package/model-function/index.js +2 -2
  68. package/model-provider/anthropic/{AnthropicPromptFormat.cjs → AnthropicPromptTemplate.cjs} +15 -8
  69. package/model-provider/anthropic/AnthropicPromptTemplate.d.ts +17 -0
  70. package/model-provider/anthropic/{AnthropicPromptFormat.js → AnthropicPromptTemplate.js} +15 -8
  71. package/model-provider/anthropic/AnthropicPromptTemplate.test.cjs +49 -0
  72. package/model-provider/anthropic/AnthropicPromptTemplate.test.d.ts +1 -0
  73. package/model-provider/anthropic/AnthropicPromptTemplate.test.js +47 -0
  74. package/model-provider/anthropic/AnthropicTextGenerationModel.cjs +12 -12
  75. package/model-provider/anthropic/AnthropicTextGenerationModel.d.ts +9 -9
  76. package/model-provider/anthropic/AnthropicTextGenerationModel.js +12 -12
  77. package/model-provider/anthropic/index.cjs +2 -2
  78. package/model-provider/anthropic/index.d.ts +1 -1
  79. package/model-provider/anthropic/index.js +1 -1
  80. package/model-provider/automatic1111/Automatic1111ImageGenerationModel.cjs +5 -5
  81. package/model-provider/automatic1111/Automatic1111ImageGenerationModel.d.ts +4 -4
  82. package/model-provider/automatic1111/Automatic1111ImageGenerationModel.js +5 -5
  83. package/model-provider/automatic1111/Automatic1111ImageGenerationPrompt.d.ts +2 -2
  84. package/model-provider/cohere/CohereTextGenerationModel.cjs +10 -10
  85. package/model-provider/cohere/CohereTextGenerationModel.d.ts +7 -7
  86. package/model-provider/cohere/CohereTextGenerationModel.js +10 -10
  87. package/model-provider/huggingface/HuggingFaceTextGenerationModel.cjs +4 -4
  88. package/model-provider/huggingface/HuggingFaceTextGenerationModel.d.ts +3 -3
  89. package/model-provider/huggingface/HuggingFaceTextGenerationModel.js +4 -4
  90. package/model-provider/llamacpp/{LlamaCppBakLLaVA1Format.cjs → LlamaCppBakLLaVA1PromptTemplate.cjs} +1 -1
  91. package/model-provider/llamacpp/LlamaCppBakLLaVA1PromptTemplate.d.ts +11 -0
  92. package/model-provider/llamacpp/{LlamaCppBakLLaVA1Format.js → LlamaCppBakLLaVA1PromptTemplate.js} +1 -1
  93. package/model-provider/llamacpp/LlamaCppTextGenerationModel.cjs +12 -12
  94. package/model-provider/llamacpp/LlamaCppTextGenerationModel.d.ts +7 -7
  95. package/model-provider/llamacpp/LlamaCppTextGenerationModel.js +12 -12
  96. package/model-provider/llamacpp/index.cjs +2 -2
  97. package/model-provider/llamacpp/index.d.ts +1 -1
  98. package/model-provider/llamacpp/index.js +1 -1
  99. package/model-provider/ollama/OllamaError.cjs +25 -24
  100. package/model-provider/ollama/OllamaError.d.ts +1 -11
  101. package/model-provider/ollama/OllamaError.js +24 -22
  102. package/model-provider/ollama/OllamaTextGenerationModel.cjs +47 -10
  103. package/model-provider/ollama/OllamaTextGenerationModel.d.ts +12 -8
  104. package/model-provider/ollama/OllamaTextGenerationModel.js +48 -11
  105. package/model-provider/ollama/OllamaTextGenerationModel.test.cjs +63 -0
  106. package/model-provider/ollama/OllamaTextGenerationModel.test.d.ts +1 -0
  107. package/model-provider/ollama/OllamaTextGenerationModel.test.js +61 -0
  108. package/model-provider/ollama/index.cjs +1 -3
  109. package/model-provider/ollama/index.d.ts +1 -1
  110. package/model-provider/ollama/index.js +0 -1
  111. package/model-provider/openai/OpenAICompletionModel.cjs +10 -10
  112. package/model-provider/openai/OpenAICompletionModel.d.ts +7 -7
  113. package/model-provider/openai/OpenAICompletionModel.js +10 -10
  114. package/model-provider/openai/OpenAIError.cjs +13 -29
  115. package/model-provider/openai/OpenAIError.d.ts +2 -11
  116. package/model-provider/openai/OpenAIError.js +11 -26
  117. package/model-provider/openai/OpenAIImageGenerationModel.cjs +4 -4
  118. package/model-provider/openai/OpenAIImageGenerationModel.d.ts +3 -3
  119. package/model-provider/openai/OpenAIImageGenerationModel.js +4 -4
  120. package/model-provider/openai/chat/OpenAIChatFunctionCallStructureGenerationModel.cjs +16 -16
  121. package/model-provider/openai/chat/OpenAIChatFunctionCallStructureGenerationModel.d.ts +14 -14
  122. package/model-provider/openai/chat/OpenAIChatFunctionCallStructureGenerationModel.js +16 -16
  123. package/model-provider/openai/chat/OpenAIChatMessage.d.ts +1 -1
  124. package/model-provider/openai/chat/OpenAIChatModel.cjs +15 -15
  125. package/model-provider/openai/chat/OpenAIChatModel.d.ts +12 -12
  126. package/model-provider/openai/chat/OpenAIChatModel.js +15 -15
  127. package/model-provider/openai/chat/{OpenAIChatPromptFormat.cjs → OpenAIChatPromptTemplate.cjs} +1 -1
  128. package/model-provider/openai/chat/OpenAIChatPromptTemplate.d.ts +20 -0
  129. package/model-provider/openai/chat/{OpenAIChatPromptFormat.js → OpenAIChatPromptTemplate.js} +1 -1
  130. package/model-provider/openai/index.cjs +2 -4
  131. package/model-provider/openai/index.d.ts +2 -2
  132. package/model-provider/openai/index.js +1 -2
  133. package/model-provider/openai-compatible/OpenAICompatibleChatModel.cjs +14 -14
  134. package/model-provider/openai-compatible/OpenAICompatibleChatModel.d.ts +11 -11
  135. package/model-provider/openai-compatible/OpenAICompatibleChatModel.js +14 -14
  136. package/model-provider/stability/StabilityImageGenerationModel.cjs +5 -5
  137. package/model-provider/stability/StabilityImageGenerationModel.d.ts +4 -4
  138. package/model-provider/stability/StabilityImageGenerationModel.js +5 -5
  139. package/model-provider/stability/StabilityImageGenerationPrompt.d.ts +2 -2
  140. package/model-provider/whispercpp/WhisperCppTranscriptionModel.cjs +5 -8
  141. package/model-provider/whispercpp/WhisperCppTranscriptionModel.js +5 -8
  142. package/package.json +5 -4
  143. package/tool/generate-tool-call/TextGenerationToolCallModel.d.ts +2 -2
  144. package/tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.cjs +6 -6
  145. package/tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.d.ts +4 -4
  146. package/tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js +6 -6
  147. package/util/AsyncQueue.test.cjs +20 -21
  148. package/util/AsyncQueue.test.js +9 -10
  149. package/util/isDeepEqualData.test.cjs +14 -15
  150. package/util/isDeepEqualData.test.js +14 -15
  151. package/util/runSafe.test.cjs +12 -13
  152. package/util/runSafe.test.js +6 -7
  153. package/model-function/generate-image/PromptFormatImageGenerationModel.d.ts +0 -20
  154. package/model-function/generate-text/PromptFormatTextGenerationModel.d.ts +0 -35
  155. package/model-function/generate-text/PromptFormatTextStreamingModel.cjs +0 -38
  156. package/model-function/generate-text/PromptFormatTextStreamingModel.d.ts +0 -16
  157. package/model-function/generate-text/PromptFormatTextStreamingModel.js +0 -34
  158. package/model-function/generate-text/TextGenerationPromptFormat.d.ts +0 -11
  159. package/model-function/generate-text/prompt-format/index.d.ts +0 -10
  160. package/model-function/generate-text/prompt-format/index.js +0 -10
  161. package/model-provider/anthropic/AnthropicPromptFormat.d.ts +0 -17
  162. package/model-provider/llamacpp/LlamaCppBakLLaVA1Format.d.ts +0 -11
  163. package/model-provider/openai/chat/OpenAIChatPromptFormat.d.ts +0 -20
  164. /package/model-function/{PromptFormat.cjs → PromptTemplate.cjs} +0 -0
  165. /package/model-function/{PromptFormat.js → PromptTemplate.js} +0 -0
  166. /package/model-function/generate-structure/{StructureFromTextPromptFormat.cjs → StructureFromTextPromptTemplate.cjs} +0 -0
  167. /package/model-function/generate-structure/{StructureFromTextPromptFormat.js → StructureFromTextPromptTemplate.js} +0 -0
  168. /package/model-function/generate-text/{TextGenerationPromptFormat.cjs → TextGenerationPromptTemplate.cjs} +0 -0
  169. /package/model-function/generate-text/{TextGenerationPromptFormat.js → TextGenerationPromptTemplate.js} +0 -0
  170. /package/model-function/generate-text/{prompt-format/Content.js → prompt-template/AlpacaPromptTemplate.test.d.ts} +0 -0
  171. /package/model-function/generate-text/{prompt-format/InstructionPrompt.js → prompt-template/ChatMLPromptTemplate.test.d.ts} +0 -0
  172. /package/model-function/generate-text/{prompt-format → prompt-template}/ChatPrompt.cjs +0 -0
  173. /package/model-function/generate-text/{prompt-format → prompt-template}/ChatPrompt.js +0 -0
  174. /package/model-function/generate-text/{prompt-format → prompt-template}/Content.cjs +0 -0
  175. /package/model-function/generate-text/{prompt-format → prompt-template}/Content.d.ts +0 -0
  176. /package/model-function/generate-text/{prompt-format → prompt-template}/InstructionPrompt.cjs +0 -0
  177. /package/model-function/generate-text/{prompt-format → prompt-template}/InvalidPromptError.cjs +0 -0
  178. /package/model-function/generate-text/{prompt-format → prompt-template}/InvalidPromptError.d.ts +0 -0
  179. /package/model-function/generate-text/{prompt-format → prompt-template}/InvalidPromptError.js +0 -0
  180. /package/model-function/generate-text/{prompt-format/VicunaPromptFormat.cjs → prompt-template/VicunaPromptTemplate.cjs} +0 -0
  181. /package/model-function/generate-text/{prompt-format/VicunaPromptFormat.js → prompt-template/VicunaPromptTemplate.js} +0 -0
  182. /package/model-function/generate-text/{prompt-format → prompt-template}/trimChatPrompt.cjs +0 -0
  183. /package/model-function/generate-text/{prompt-format → prompt-template}/trimChatPrompt.d.ts +0 -0
  184. /package/model-function/generate-text/{prompt-format → prompt-template}/trimChatPrompt.js +0 -0
@@ -1,8 +1,8 @@
1
- import { StructureFromTextPromptFormat } from "../../model-function/generate-structure/StructureFromTextPromptFormat.js";
1
+ import { StructureFromTextPromptTemplate } from "../../model-function/generate-structure/StructureFromTextPromptTemplate.js";
2
2
  import { StructureFromTextStreamingModel } from "../../model-function/generate-structure/StructureFromTextStreamingModel.js";
3
- import { PromptFormatTextStreamingModel } from "../../model-function/generate-text/PromptFormatTextStreamingModel.js";
3
+ import { PromptTemplateTextStreamingModel } from "../../model-function/generate-text/PromptTemplateTextStreamingModel.js";
4
4
  import { TextGenerationModelSettings, TextStreamingModel } from "../../model-function/generate-text/TextGenerationModel.js";
5
- import { TextGenerationPromptFormat } from "../../model-function/generate-text/TextGenerationPromptFormat.js";
5
+ import { TextGenerationPromptTemplate } from "../../model-function/generate-text/TextGenerationPromptTemplate.js";
6
6
  import { ToolCallGenerationModel } from "../../tool/generate-tool-call/ToolCallGenerationModel.js";
7
7
  import { ToolCallsOrTextGenerationModel } from "../../tool/generate-tool-calls-or-text/ToolCallsOrTextGenerationModel.js";
8
8
  import { AbstractOpenAIChatCallSettings, AbstractOpenAIChatModel, OpenAIChatPrompt } from "../openai/chat/AbstractOpenAIChatModel.js";
@@ -27,19 +27,19 @@ export declare class OpenAICompatibleChatModel extends AbstractOpenAIChatModel<O
27
27
  readonly tokenizer: undefined;
28
28
  readonly countPromptTokens: undefined;
29
29
  get settingsForEvent(): Partial<OpenAICompatibleChatSettings>;
30
- asStructureGenerationModel<INPUT_PROMPT>(promptFormat: StructureFromTextPromptFormat<INPUT_PROMPT, OpenAIChatPrompt>): StructureFromTextStreamingModel<INPUT_PROMPT, OpenAIChatPrompt, this>;
30
+ asStructureGenerationModel<INPUT_PROMPT>(promptTemplate: StructureFromTextPromptTemplate<INPUT_PROMPT, OpenAIChatPrompt>): StructureFromTextStreamingModel<INPUT_PROMPT, OpenAIChatPrompt, this>;
31
31
  /**
32
- * Returns this model with a text prompt format.
32
+ * Returns this model with a text prompt template.
33
33
  */
34
- withTextPrompt(): PromptFormatTextStreamingModel<string, OpenAIChatPrompt, OpenAICompatibleChatSettings, this>;
34
+ withTextPrompt(): PromptTemplateTextStreamingModel<string, OpenAIChatPrompt, OpenAICompatibleChatSettings, this>;
35
35
  /**
36
- * Returns this model with an instruction prompt format.
36
+ * Returns this model with an instruction prompt template.
37
37
  */
38
- withInstructionPrompt(): PromptFormatTextStreamingModel<import("../../index.js").MultiModalInstructionPrompt | import("../../index.js").TextInstructionPrompt, OpenAIChatPrompt, OpenAICompatibleChatSettings, this>;
38
+ withInstructionPrompt(): PromptTemplateTextStreamingModel<import("../../index.js").MultiModalInstructionPrompt | import("../../index.js").TextInstructionPrompt, OpenAIChatPrompt, OpenAICompatibleChatSettings, this>;
39
39
  /**
40
- * Returns this model with a chat prompt format.
40
+ * Returns this model with a chat prompt template.
41
41
  */
42
- withChatPrompt(): PromptFormatTextStreamingModel<import("../../index.js").TextChatPrompt | import("../../index.js").MultiModalChatPrompt, OpenAIChatPrompt, OpenAICompatibleChatSettings, this>;
43
- withPromptFormat<INPUT_PROMPT>(promptFormat: TextGenerationPromptFormat<INPUT_PROMPT, OpenAIChatPrompt>): PromptFormatTextStreamingModel<INPUT_PROMPT, OpenAIChatPrompt, OpenAICompatibleChatSettings, this>;
42
+ withChatPrompt(): PromptTemplateTextStreamingModel<import("../../index.js").TextChatPrompt | import("../../index.js").MultiModalChatPrompt, OpenAIChatPrompt, OpenAICompatibleChatSettings, this>;
43
+ withPromptTemplate<INPUT_PROMPT>(promptTemplate: TextGenerationPromptTemplate<INPUT_PROMPT, OpenAIChatPrompt>): PromptTemplateTextStreamingModel<INPUT_PROMPT, OpenAIChatPrompt, OpenAICompatibleChatSettings, this>;
44
44
  withSettings(additionalSettings: Partial<OpenAICompatibleChatSettings>): this;
45
45
  }
@@ -1,7 +1,7 @@
1
1
  import { StructureFromTextStreamingModel } from "../../model-function/generate-structure/StructureFromTextStreamingModel.js";
2
- import { PromptFormatTextStreamingModel } from "../../model-function/generate-text/PromptFormatTextStreamingModel.js";
2
+ import { PromptTemplateTextStreamingModel } from "../../model-function/generate-text/PromptTemplateTextStreamingModel.js";
3
3
  import { AbstractOpenAIChatModel, } from "../openai/chat/AbstractOpenAIChatModel.js";
4
- import { chat, instruction, text, } from "../openai/chat/OpenAIChatPromptFormat.js";
4
+ import { chat, instruction, text, } from "../openai/chat/OpenAIChatPromptTemplate.js";
5
5
  /**
6
6
  * Create a text generation model that calls an API that is compatible with OpenAI's chat API.
7
7
  *
@@ -55,39 +55,39 @@ export class OpenAICompatibleChatModel extends AbstractOpenAIChatModel {
55
55
  ];
56
56
  return Object.fromEntries(Object.entries(this.settings).filter(([key]) => eventSettingProperties.includes(key)));
57
57
  }
58
- asStructureGenerationModel(promptFormat) {
58
+ asStructureGenerationModel(promptTemplate) {
59
59
  return new StructureFromTextStreamingModel({
60
60
  model: this,
61
- format: promptFormat,
61
+ template: promptTemplate,
62
62
  });
63
63
  }
64
64
  /**
65
- * Returns this model with a text prompt format.
65
+ * Returns this model with a text prompt template.
66
66
  */
67
67
  withTextPrompt() {
68
- return this.withPromptFormat(text());
68
+ return this.withPromptTemplate(text());
69
69
  }
70
70
  /**
71
- * Returns this model with an instruction prompt format.
71
+ * Returns this model with an instruction prompt template.
72
72
  */
73
73
  withInstructionPrompt() {
74
- return this.withPromptFormat(instruction());
74
+ return this.withPromptTemplate(instruction());
75
75
  }
76
76
  /**
77
- * Returns this model with a chat prompt format.
77
+ * Returns this model with a chat prompt template.
78
78
  */
79
79
  withChatPrompt() {
80
- return this.withPromptFormat(chat());
80
+ return this.withPromptTemplate(chat());
81
81
  }
82
- withPromptFormat(promptFormat) {
83
- return new PromptFormatTextStreamingModel({
82
+ withPromptTemplate(promptTemplate) {
83
+ return new PromptTemplateTextStreamingModel({
84
84
  model: this.withSettings({
85
85
  stopSequences: [
86
86
  ...(this.settings.stopSequences ?? []),
87
- ...promptFormat.stopSequences,
87
+ ...promptTemplate.stopSequences,
88
88
  ],
89
89
  }),
90
- promptFormat,
90
+ promptTemplate,
91
91
  });
92
92
  }
93
93
  withSettings(additionalSettings) {
@@ -5,7 +5,7 @@ const zod_1 = require("zod");
5
5
  const callWithRetryAndThrottle_js_1 = require("../../core/api/callWithRetryAndThrottle.cjs");
6
6
  const postToApi_js_1 = require("../../core/api/postToApi.cjs");
7
7
  const AbstractModel_js_1 = require("../../model-function/AbstractModel.cjs");
8
- const PromptFormatImageGenerationModel_js_1 = require("../../model-function/generate-image/PromptFormatImageGenerationModel.cjs");
8
+ const PromptTemplateImageGenerationModel_js_1 = require("../../model-function/generate-image/PromptTemplateImageGenerationModel.cjs");
9
9
  const StabilityApiConfiguration_js_1 = require("./StabilityApiConfiguration.cjs");
10
10
  const StabilityError_js_1 = require("./StabilityError.cjs");
11
11
  const StabilityImageGenerationPrompt_js_1 = require("./StabilityImageGenerationPrompt.cjs");
@@ -79,12 +79,12 @@ class StabilityImageGenerationModel extends AbstractModel_js_1.AbstractModel {
79
79
  };
80
80
  }
81
81
  withTextPrompt() {
82
- return this.withPromptFormat((0, StabilityImageGenerationPrompt_js_1.mapBasicPromptToStabilityFormat)());
82
+ return this.withPromptTemplate((0, StabilityImageGenerationPrompt_js_1.mapBasicPromptToStabilityFormat)());
83
83
  }
84
- withPromptFormat(promptFormat) {
85
- return new PromptFormatImageGenerationModel_js_1.PromptFormatImageGenerationModel({
84
+ withPromptTemplate(promptTemplate) {
85
+ return new PromptTemplateImageGenerationModel_js_1.PromptTemplateImageGenerationModel({
86
86
  model: this,
87
- promptFormat,
87
+ promptTemplate,
88
88
  });
89
89
  }
90
90
  withSettings(additionalSettings) {
@@ -2,9 +2,9 @@ import { z } from "zod";
2
2
  import { FunctionOptions } from "../../core/FunctionOptions.js";
3
3
  import { ApiConfiguration } from "../../core/api/ApiConfiguration.js";
4
4
  import { AbstractModel } from "../../model-function/AbstractModel.js";
5
- import { PromptFormat } from "../../model-function/PromptFormat.js";
5
+ import { PromptTemplate } from "../../model-function/PromptTemplate.js";
6
6
  import { ImageGenerationModel, ImageGenerationModelSettings } from "../../model-function/generate-image/ImageGenerationModel.js";
7
- import { PromptFormatImageGenerationModel } from "../../model-function/generate-image/PromptFormatImageGenerationModel.js";
7
+ import { PromptTemplateImageGenerationModel } from "../../model-function/generate-image/PromptTemplateImageGenerationModel.js";
8
8
  import { StabilityImageGenerationPrompt } from "./StabilityImageGenerationPrompt.js";
9
9
  /**
10
10
  * Create an image generation model that calls the Stability AI image generation API.
@@ -44,8 +44,8 @@ export declare class StabilityImageGenerationModel extends AbstractModel<Stabili
44
44
  };
45
45
  base64Image: string;
46
46
  }>;
47
- withTextPrompt(): PromptFormatImageGenerationModel<string, StabilityImageGenerationPrompt, StabilityImageGenerationSettings, this>;
48
- withPromptFormat<INPUT_PROMPT>(promptFormat: PromptFormat<INPUT_PROMPT, StabilityImageGenerationPrompt>): PromptFormatImageGenerationModel<INPUT_PROMPT, StabilityImageGenerationPrompt, StabilityImageGenerationSettings, this>;
47
+ withTextPrompt(): PromptTemplateImageGenerationModel<string, StabilityImageGenerationPrompt, StabilityImageGenerationSettings, this>;
48
+ withPromptTemplate<INPUT_PROMPT>(promptTemplate: PromptTemplate<INPUT_PROMPT, StabilityImageGenerationPrompt>): PromptTemplateImageGenerationModel<INPUT_PROMPT, StabilityImageGenerationPrompt, StabilityImageGenerationSettings, this>;
49
49
  withSettings(additionalSettings: StabilityImageGenerationSettings): this;
50
50
  }
51
51
  declare const stabilityImageGenerationModels: readonly ["stable-diffusion-v1-5", "stable-diffusion-512-v2-1", "stable-diffusion-xl-1024-v0-9", "stable-diffusion-xl-1024-v1-0"];
@@ -2,7 +2,7 @@ import { z } from "zod";
2
2
  import { callWithRetryAndThrottle } from "../../core/api/callWithRetryAndThrottle.js";
3
3
  import { createJsonResponseHandler, postJsonToApi, } from "../../core/api/postToApi.js";
4
4
  import { AbstractModel } from "../../model-function/AbstractModel.js";
5
- import { PromptFormatImageGenerationModel } from "../../model-function/generate-image/PromptFormatImageGenerationModel.js";
5
+ import { PromptTemplateImageGenerationModel } from "../../model-function/generate-image/PromptTemplateImageGenerationModel.js";
6
6
  import { StabilityApiConfiguration } from "./StabilityApiConfiguration.js";
7
7
  import { failedStabilityCallResponseHandler } from "./StabilityError.js";
8
8
  import { mapBasicPromptToStabilityFormat, } from "./StabilityImageGenerationPrompt.js";
@@ -76,12 +76,12 @@ export class StabilityImageGenerationModel extends AbstractModel {
76
76
  };
77
77
  }
78
78
  withTextPrompt() {
79
- return this.withPromptFormat(mapBasicPromptToStabilityFormat());
79
+ return this.withPromptTemplate(mapBasicPromptToStabilityFormat());
80
80
  }
81
- withPromptFormat(promptFormat) {
82
- return new PromptFormatImageGenerationModel({
81
+ withPromptTemplate(promptTemplate) {
82
+ return new PromptTemplateImageGenerationModel({
83
83
  model: this,
84
- promptFormat,
84
+ promptTemplate,
85
85
  });
86
86
  }
87
87
  withSettings(additionalSettings) {
@@ -1,4 +1,4 @@
1
- import { PromptFormat } from "../../model-function/PromptFormat.js";
1
+ import { PromptTemplate } from "../../model-function/PromptTemplate.js";
2
2
  export type StabilityImageGenerationPrompt = Array<{
3
3
  text: string;
4
4
  weight?: number;
@@ -6,4 +6,4 @@ export type StabilityImageGenerationPrompt = Array<{
6
6
  /**
7
7
  * Formats a basic text prompt as a Stability prompt.
8
8
  */
9
- export declare function mapBasicPromptToStabilityFormat(): PromptFormat<string, StabilityImageGenerationPrompt>;
9
+ export declare function mapBasicPromptToStabilityFormat(): PromptTemplate<string, StabilityImageGenerationPrompt>;
@@ -72,15 +72,12 @@ class WhisperCppTranscriptionModel extends AbstractModel_js_1.AbstractModel {
72
72
  }
73
73
  }
74
74
  exports.WhisperCppTranscriptionModel = WhisperCppTranscriptionModel;
75
- const whisperCppTranscriptionJsonSchema = zod_1.z.union([
76
- zod_1.z.object({ text: zod_1.z.string() }),
77
- zod_1.z.object({ error: zod_1.z.string() }),
78
- ]);
75
+ const whisperCppTranscriptionJsonSchema = new ZodSchema_js_1.ZodSchema(zod_1.z.union([zod_1.z.object({ text: zod_1.z.string() }), zod_1.z.object({ error: zod_1.z.string() })]));
79
76
  const successfulResponseHandler = async ({ response, url, requestBodyValues }) => {
80
77
  const responseBody = await response.text();
81
78
  const parsedResult = (0, parseJSON_js_1.safeParseJSON)({
82
79
  text: responseBody,
83
- schema: new ZodSchema_js_1.ZodSchema(whisperCppTranscriptionJsonSchema),
80
+ schema: whisperCppTranscriptionJsonSchema,
84
81
  });
85
82
  if (!parsedResult.success) {
86
83
  throw new ApiCallError_js_1.ApiCallError({
@@ -106,12 +103,12 @@ const successfulResponseHandler = async ({ response, url, requestBodyValues }) =
106
103
  };
107
104
  };
108
105
  const failedResponseHandler = async ({ response, url, requestBodyValues, }) => {
109
- const message = await response.text();
106
+ const responseBody = await response.text();
110
107
  return new ApiCallError_js_1.ApiCallError({
111
- message,
108
+ message: responseBody,
112
109
  url,
113
110
  requestBodyValues,
114
111
  statusCode: response.status,
115
- responseBody: message,
112
+ responseBody,
116
113
  });
117
114
  };
@@ -68,15 +68,12 @@ export class WhisperCppTranscriptionModel extends AbstractModel {
68
68
  return new WhisperCppTranscriptionModel(Object.assign({}, this.settings, additionalSettings));
69
69
  }
70
70
  }
71
- const whisperCppTranscriptionJsonSchema = z.union([
72
- z.object({ text: z.string() }),
73
- z.object({ error: z.string() }),
74
- ]);
71
+ const whisperCppTranscriptionJsonSchema = new ZodSchema(z.union([z.object({ text: z.string() }), z.object({ error: z.string() })]));
75
72
  const successfulResponseHandler = async ({ response, url, requestBodyValues }) => {
76
73
  const responseBody = await response.text();
77
74
  const parsedResult = safeParseJSON({
78
75
  text: responseBody,
79
- schema: new ZodSchema(whisperCppTranscriptionJsonSchema),
76
+ schema: whisperCppTranscriptionJsonSchema,
80
77
  });
81
78
  if (!parsedResult.success) {
82
79
  throw new ApiCallError({
@@ -102,12 +99,12 @@ const successfulResponseHandler = async ({ response, url, requestBodyValues }) =
102
99
  };
103
100
  };
104
101
  const failedResponseHandler = async ({ response, url, requestBodyValues, }) => {
105
- const message = await response.text();
102
+ const responseBody = await response.text();
106
103
  return new ApiCallError({
107
- message,
104
+ message: responseBody,
108
105
  url,
109
106
  requestBodyValues,
110
107
  statusCode: response.status,
111
- responseBody: message,
108
+ responseBody,
112
109
  });
113
110
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "modelfusion",
3
3
  "description": "The TypeScript library for building multi-modal AI applications.",
4
- "version": "0.92.0",
4
+ "version": "0.93.0",
5
5
  "author": "Lars Grammel",
6
6
  "license": "MIT",
7
7
  "keywords": [
@@ -62,8 +62,8 @@
62
62
  "build": "npm run build:esm && npm run build:cjs",
63
63
  "build:esm": "tsc --outDir dist/",
64
64
  "build:cjs": "tsc --outDir build/cjs/ -p tsconfig.cjs.json && node bin/prepare-cjs.js",
65
- "test": "vitest run src",
66
- "test-interactive": "vitest watch",
65
+ "test": "vitest --config vitest.config.js --run src",
66
+ "test:watch": "vitest watch--config vitest.config.js",
67
67
  "dist": "npm run clean && npm run lint && npm run test && npm run build && npm run dist:copy-files",
68
68
  "dist:copy-files": "copyfiles package.json README.md LICENSE dist"
69
69
  },
@@ -87,9 +87,10 @@
87
87
  "fastify": "^4.0.0",
88
88
  "husky": "^8.0.3",
89
89
  "lint-staged": "15.1.0",
90
+ "msw": "2.0.10",
90
91
  "prettier": "3.1.0",
91
92
  "rimraf": "5.0.5",
92
93
  "typescript": "5.2.2",
93
- "vitest": "^0.34.5"
94
+ "vitest": "1.0.4"
94
95
  }
95
96
  }
@@ -2,7 +2,7 @@ import { FunctionOptions } from "../../core/FunctionOptions.js";
2
2
  import { TextGenerationModel, TextGenerationModelSettings } from "../../model-function/generate-text/TextGenerationModel.js";
3
3
  import { ToolDefinition } from "../ToolDefinition.js";
4
4
  import { ToolCallGenerationModel } from "./ToolCallGenerationModel.js";
5
- export interface ToolCallPromptFormat<SOURCE_PROMPT, TARGET_PROMPT> {
5
+ export interface ToolCallPromptTemplate<SOURCE_PROMPT, TARGET_PROMPT> {
6
6
  createPrompt: (prompt: SOURCE_PROMPT, tool: ToolDefinition<string, unknown>) => TARGET_PROMPT;
7
7
  extractToolCall: (response: string) => {
8
8
  id: string;
@@ -14,7 +14,7 @@ export declare class TextGenerationToolCallModel<SOURCE_PROMPT, TARGET_PROMPT, M
14
14
  private readonly format;
15
15
  constructor({ model, format, }: {
16
16
  model: MODEL;
17
- format: ToolCallPromptFormat<SOURCE_PROMPT, TARGET_PROMPT>;
17
+ format: ToolCallPromptTemplate<SOURCE_PROMPT, TARGET_PROMPT>;
18
18
  });
19
19
  get modelInformation(): import("../../index.js").ModelInformation;
20
20
  get settings(): TextGenerationModelSettings;
@@ -4,21 +4,21 @@ exports.TextGenerationToolCallsOrGenerateTextModel = void 0;
4
4
  const generateText_js_1 = require("../../model-function/generate-text/generateText.cjs");
5
5
  const ToolCallsOrTextParseError_js_1 = require("./ToolCallsOrTextParseError.cjs");
6
6
  class TextGenerationToolCallsOrGenerateTextModel {
7
- constructor({ model, format, }) {
7
+ constructor({ model, template, }) {
8
8
  Object.defineProperty(this, "model", {
9
9
  enumerable: true,
10
10
  configurable: true,
11
11
  writable: true,
12
12
  value: void 0
13
13
  });
14
- Object.defineProperty(this, "format", {
14
+ Object.defineProperty(this, "template", {
15
15
  enumerable: true,
16
16
  configurable: true,
17
17
  writable: true,
18
18
  value: void 0
19
19
  });
20
20
  this.model = model;
21
- this.format = format;
21
+ this.template = template;
22
22
  }
23
23
  get modelInformation() {
24
24
  return this.model.modelInformation;
@@ -30,12 +30,12 @@ class TextGenerationToolCallsOrGenerateTextModel {
30
30
  return this.model.settingsForEvent;
31
31
  }
32
32
  async doGenerateToolCallsOrText(tools, prompt, options) {
33
- const { response, value, metadata } = await (0, generateText_js_1.generateText)(this.model, this.format.createPrompt(prompt, tools), {
33
+ const { response, value, metadata } = await (0, generateText_js_1.generateText)(this.model, this.template.createPrompt(prompt, tools), {
34
34
  ...options,
35
35
  returnType: "full",
36
36
  });
37
37
  try {
38
- const { text, toolCalls } = this.format.extractToolCallsAndText(value);
38
+ const { text, toolCalls } = this.template.extractToolCallsAndText(value);
39
39
  return {
40
40
  response,
41
41
  text,
@@ -53,7 +53,7 @@ class TextGenerationToolCallsOrGenerateTextModel {
53
53
  withSettings(additionalSettings) {
54
54
  return new TextGenerationToolCallsOrGenerateTextModel({
55
55
  model: this.model.withSettings(additionalSettings),
56
- format: this.format,
56
+ template: this.template,
57
57
  });
58
58
  }
59
59
  }
@@ -2,7 +2,7 @@ import { FunctionOptions } from "../../core/FunctionOptions.js";
2
2
  import { TextGenerationModel } from "../../model-function/generate-text/TextGenerationModel.js";
3
3
  import { ToolDefinition } from "../ToolDefinition.js";
4
4
  import { ToolCallsOrTextGenerationModel, ToolCallsOrTextGenerationModelSettings } from "./ToolCallsOrTextGenerationModel.js";
5
- export interface ToolCallsOrGenerateTextPromptFormat<SOURCE_PROMPT, TARGET_PROMPT> {
5
+ export interface ToolCallsOrGenerateTextPromptTemplate<SOURCE_PROMPT, TARGET_PROMPT> {
6
6
  createPrompt: (prompt: SOURCE_PROMPT, tools: Array<ToolDefinition<string, unknown>>) => TARGET_PROMPT;
7
7
  extractToolCallsAndText: (response: string) => {
8
8
  text: string | null;
@@ -15,10 +15,10 @@ export interface ToolCallsOrGenerateTextPromptFormat<SOURCE_PROMPT, TARGET_PROMP
15
15
  }
16
16
  export declare class TextGenerationToolCallsOrGenerateTextModel<SOURCE_PROMPT, TARGET_PROMPT, MODEL extends TextGenerationModel<TARGET_PROMPT, ToolCallsOrTextGenerationModelSettings>> implements ToolCallsOrTextGenerationModel<SOURCE_PROMPT, MODEL["settings"]> {
17
17
  private readonly model;
18
- private readonly format;
19
- constructor({ model, format, }: {
18
+ private readonly template;
19
+ constructor({ model, template, }: {
20
20
  model: MODEL;
21
- format: ToolCallsOrGenerateTextPromptFormat<SOURCE_PROMPT, TARGET_PROMPT>;
21
+ template: ToolCallsOrGenerateTextPromptTemplate<SOURCE_PROMPT, TARGET_PROMPT>;
22
22
  });
23
23
  get modelInformation(): import("../../index.js").ModelInformation;
24
24
  get settings(): ToolCallsOrTextGenerationModelSettings;
@@ -1,21 +1,21 @@
1
1
  import { generateText } from "../../model-function/generate-text/generateText.js";
2
2
  import { ToolCallsOrTextParseError } from "./ToolCallsOrTextParseError.js";
3
3
  export class TextGenerationToolCallsOrGenerateTextModel {
4
- constructor({ model, format, }) {
4
+ constructor({ model, template, }) {
5
5
  Object.defineProperty(this, "model", {
6
6
  enumerable: true,
7
7
  configurable: true,
8
8
  writable: true,
9
9
  value: void 0
10
10
  });
11
- Object.defineProperty(this, "format", {
11
+ Object.defineProperty(this, "template", {
12
12
  enumerable: true,
13
13
  configurable: true,
14
14
  writable: true,
15
15
  value: void 0
16
16
  });
17
17
  this.model = model;
18
- this.format = format;
18
+ this.template = template;
19
19
  }
20
20
  get modelInformation() {
21
21
  return this.model.modelInformation;
@@ -27,12 +27,12 @@ export class TextGenerationToolCallsOrGenerateTextModel {
27
27
  return this.model.settingsForEvent;
28
28
  }
29
29
  async doGenerateToolCallsOrText(tools, prompt, options) {
30
- const { response, value, metadata } = await generateText(this.model, this.format.createPrompt(prompt, tools), {
30
+ const { response, value, metadata } = await generateText(this.model, this.template.createPrompt(prompt, tools), {
31
31
  ...options,
32
32
  returnType: "full",
33
33
  });
34
34
  try {
35
- const { text, toolCalls } = this.format.extractToolCallsAndText(value);
35
+ const { text, toolCalls } = this.template.extractToolCallsAndText(value);
36
36
  return {
37
37
  response,
38
38
  text,
@@ -50,7 +50,7 @@ export class TextGenerationToolCallsOrGenerateTextModel {
50
50
  withSettings(additionalSettings) {
51
51
  return new TextGenerationToolCallsOrGenerateTextModel({
52
52
  model: this.model.withSettings(additionalSettings),
53
- format: this.format,
53
+ template: this.template,
54
54
  });
55
55
  }
56
56
  }
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
3
  const delay_js_1 = require("./delay.cjs");
5
4
  const AsyncQueue_js_1 = require("./AsyncQueue.cjs");
6
- (0, vitest_1.test)("receive values in order for single iterator created before pushing", async () => {
5
+ it("should receive values in order for single iterator created before pushing", async () => {
7
6
  const asyncQueue = new AsyncQueue_js_1.AsyncQueue();
8
7
  const receivedValues = [];
9
8
  const receiveValuesPromise = (async () => {
@@ -16,9 +15,9 @@ const AsyncQueue_js_1 = require("./AsyncQueue.cjs");
16
15
  asyncQueue.push(3);
17
16
  asyncQueue.close();
18
17
  await receiveValuesPromise;
19
- (0, vitest_1.expect)(receivedValues).toEqual([1, 2, 3]);
18
+ expect(receivedValues).toEqual([1, 2, 3]);
20
19
  });
21
- (0, vitest_1.test)("receive values in order for single iterator created after closing", async () => {
20
+ it("should receive values in order for single iterator created after closing", async () => {
22
21
  const asyncQueue = new AsyncQueue_js_1.AsyncQueue();
23
22
  asyncQueue.push(1);
24
23
  asyncQueue.push(2);
@@ -31,9 +30,9 @@ const AsyncQueue_js_1 = require("./AsyncQueue.cjs");
31
30
  }
32
31
  })();
33
32
  await receiveValuesPromise;
34
- (0, vitest_1.expect)(receivedValues).toEqual([1, 2, 3]);
33
+ expect(receivedValues).toEqual([1, 2, 3]);
35
34
  });
36
- (0, vitest_1.test)("handle delayed pushing", async () => {
35
+ it("should handle delayed pushing", async () => {
37
36
  const asyncQueue = new AsyncQueue_js_1.AsyncQueue();
38
37
  setTimeout(() => {
39
38
  asyncQueue.push(1);
@@ -44,12 +43,12 @@ const AsyncQueue_js_1 = require("./AsyncQueue.cjs");
44
43
  for await (const value of asyncQueue) {
45
44
  receivedValues.push(value);
46
45
  }
47
- (0, vitest_1.expect)(receivedValues).toEqual([1, 2]);
46
+ expect(receivedValues).toEqual([1, 2]);
48
47
  });
49
- (0, vitest_1.test)("error handling in consumer", async () => {
48
+ it("should error handling in consumer", async () => {
50
49
  const asyncQueue = new AsyncQueue_js_1.AsyncQueue();
51
50
  asyncQueue.push(1);
52
- await (0, vitest_1.expect)((async () => {
51
+ await expect((async () => {
53
52
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
54
53
  for await (const _value of asyncQueue) {
55
54
  throw new Error("Consumer error");
@@ -62,23 +61,23 @@ const AsyncQueue_js_1 = require("./AsyncQueue.cjs");
62
61
  for await (const value of asyncQueue) {
63
62
  receivedValues.push(value);
64
63
  }
65
- (0, vitest_1.expect)(receivedValues).toEqual([1, 2]);
64
+ expect(receivedValues).toEqual([1, 2]);
66
65
  });
67
- (0, vitest_1.test)("behavior on empty queue closing", async () => {
66
+ it("should behavior on empty queue closing", async () => {
68
67
  const asyncQueue = new AsyncQueue_js_1.AsyncQueue();
69
68
  asyncQueue.close();
70
69
  const receivedValues = [];
71
70
  for await (const value of asyncQueue) {
72
71
  receivedValues.push(value);
73
72
  }
74
- (0, vitest_1.expect)(receivedValues).toEqual([]);
73
+ expect(receivedValues).toEqual([]);
75
74
  });
76
- (0, vitest_1.test)("multiple closings", async () => {
75
+ it("should multiple closings", async () => {
77
76
  const asyncQueue = new AsyncQueue_js_1.AsyncQueue();
78
77
  asyncQueue.close();
79
- (0, vitest_1.expect)(() => asyncQueue.close()).not.toThrow();
78
+ expect(() => asyncQueue.close()).not.toThrow();
80
79
  });
81
- (0, vitest_1.test)("receive all values in multiple independent consumers", async () => {
80
+ it("should receive all values in multiple independent consumers", async () => {
82
81
  const asyncQueue = new AsyncQueue_js_1.AsyncQueue();
83
82
  const consumerPromises = [1, 2].map(async () => {
84
83
  const receivedValues = [];
@@ -97,10 +96,10 @@ const AsyncQueue_js_1 = require("./AsyncQueue.cjs");
97
96
  asyncQueue.close();
98
97
  const allReceivedValues = await Promise.all(consumerPromises);
99
98
  allReceivedValues.forEach((receivedValues) => {
100
- (0, vitest_1.expect)(receivedValues).toEqual([1, 2, 3]);
99
+ expect(receivedValues).toEqual([1, 2, 3]);
101
100
  });
102
101
  });
103
- (0, vitest_1.test)("each consumer receives all pushed values under varying conditions", async () => {
102
+ it("should each consumer receives all pushed values under varying conditions", async () => {
104
103
  const asyncQueue = new AsyncQueue_js_1.AsyncQueue();
105
104
  // Start the first consumer, which will await values.
106
105
  const receivedValues1 = [];
@@ -128,11 +127,11 @@ const AsyncQueue_js_1 = require("./AsyncQueue.cjs");
128
127
  asyncQueue.close();
129
128
  await Promise.all([consumer1, consumer2]);
130
129
  // Both consumers should have received all values, even if they started at different times.
131
- (0, vitest_1.expect)(receivedValues1).toEqual([1, 2, 3]);
132
- (0, vitest_1.expect)(receivedValues2).toEqual([1, 2, 3]); // This will likely fail because consumer2 started late.
130
+ expect(receivedValues1).toEqual([1, 2, 3]);
131
+ expect(receivedValues2).toEqual([1, 2, 3]); // This will likely fail because consumer2 started late.
133
132
  });
134
- (0, vitest_1.test)("throw error when pushing to a closed queue", async () => {
133
+ it("should throw error when pushing to a closed queue", async () => {
135
134
  const asyncQueue = new AsyncQueue_js_1.AsyncQueue();
136
135
  asyncQueue.close();
137
- (0, vitest_1.expect)(() => asyncQueue.push(1)).toThrowError("Cannot push value to closed queue.");
136
+ expect(() => asyncQueue.push(1)).toThrowError("Cannot push value to closed queue.");
138
137
  });
@@ -1,7 +1,6 @@
1
- import { expect, test } from "vitest";
2
1
  import { delay } from "./delay.js";
3
2
  import { AsyncQueue } from "./AsyncQueue.js";
4
- test("receive values in order for single iterator created before pushing", async () => {
3
+ it("should receive values in order for single iterator created before pushing", async () => {
5
4
  const asyncQueue = new AsyncQueue();
6
5
  const receivedValues = [];
7
6
  const receiveValuesPromise = (async () => {
@@ -16,7 +15,7 @@ test("receive values in order for single iterator created before pushing", async
16
15
  await receiveValuesPromise;
17
16
  expect(receivedValues).toEqual([1, 2, 3]);
18
17
  });
19
- test("receive values in order for single iterator created after closing", async () => {
18
+ it("should receive values in order for single iterator created after closing", async () => {
20
19
  const asyncQueue = new AsyncQueue();
21
20
  asyncQueue.push(1);
22
21
  asyncQueue.push(2);
@@ -31,7 +30,7 @@ test("receive values in order for single iterator created after closing", async
31
30
  await receiveValuesPromise;
32
31
  expect(receivedValues).toEqual([1, 2, 3]);
33
32
  });
34
- test("handle delayed pushing", async () => {
33
+ it("should handle delayed pushing", async () => {
35
34
  const asyncQueue = new AsyncQueue();
36
35
  setTimeout(() => {
37
36
  asyncQueue.push(1);
@@ -44,7 +43,7 @@ test("handle delayed pushing", async () => {
44
43
  }
45
44
  expect(receivedValues).toEqual([1, 2]);
46
45
  });
47
- test("error handling in consumer", async () => {
46
+ it("should error handling in consumer", async () => {
48
47
  const asyncQueue = new AsyncQueue();
49
48
  asyncQueue.push(1);
50
49
  await expect((async () => {
@@ -62,7 +61,7 @@ test("error handling in consumer", async () => {
62
61
  }
63
62
  expect(receivedValues).toEqual([1, 2]);
64
63
  });
65
- test("behavior on empty queue closing", async () => {
64
+ it("should behavior on empty queue closing", async () => {
66
65
  const asyncQueue = new AsyncQueue();
67
66
  asyncQueue.close();
68
67
  const receivedValues = [];
@@ -71,12 +70,12 @@ test("behavior on empty queue closing", async () => {
71
70
  }
72
71
  expect(receivedValues).toEqual([]);
73
72
  });
74
- test("multiple closings", async () => {
73
+ it("should multiple closings", async () => {
75
74
  const asyncQueue = new AsyncQueue();
76
75
  asyncQueue.close();
77
76
  expect(() => asyncQueue.close()).not.toThrow();
78
77
  });
79
- test("receive all values in multiple independent consumers", async () => {
78
+ it("should receive all values in multiple independent consumers", async () => {
80
79
  const asyncQueue = new AsyncQueue();
81
80
  const consumerPromises = [1, 2].map(async () => {
82
81
  const receivedValues = [];
@@ -98,7 +97,7 @@ test("receive all values in multiple independent consumers", async () => {
98
97
  expect(receivedValues).toEqual([1, 2, 3]);
99
98
  });
100
99
  });
101
- test("each consumer receives all pushed values under varying conditions", async () => {
100
+ it("should each consumer receives all pushed values under varying conditions", async () => {
102
101
  const asyncQueue = new AsyncQueue();
103
102
  // Start the first consumer, which will await values.
104
103
  const receivedValues1 = [];
@@ -129,7 +128,7 @@ test("each consumer receives all pushed values under varying conditions", async
129
128
  expect(receivedValues1).toEqual([1, 2, 3]);
130
129
  expect(receivedValues2).toEqual([1, 2, 3]); // This will likely fail because consumer2 started late.
131
130
  });
132
- test("throw error when pushing to a closed queue", async () => {
131
+ it("should throw error when pushing to a closed queue", async () => {
133
132
  const asyncQueue = new AsyncQueue();
134
133
  asyncQueue.close();
135
134
  expect(() => asyncQueue.push(1)).toThrowError("Cannot push value to closed queue.");