modelfusion 0.105.0 → 0.106.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 (151) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +8 -10
  3. package/core/DefaultRun.cjs +0 -4
  4. package/core/DefaultRun.d.ts +0 -2
  5. package/core/DefaultRun.js +0 -4
  6. package/core/ExtensionFunctionEvent.d.ts +11 -0
  7. package/core/FunctionEvent.d.ts +2 -2
  8. package/extension/index.cjs +22 -3
  9. package/extension/index.d.ts +5 -1
  10. package/extension/index.js +4 -1
  11. package/index.cjs +0 -3
  12. package/index.d.ts +0 -3
  13. package/index.js +0 -3
  14. package/model-function/generate-structure/jsonStructurePrompt.cjs +42 -6
  15. package/model-function/generate-structure/jsonStructurePrompt.d.ts +12 -1
  16. package/model-function/generate-structure/jsonStructurePrompt.js +42 -5
  17. package/model-function/generate-text/PromptTemplateTextGenerationModel.d.ts +2 -1
  18. package/model-function/generate-text/PromptTemplateTextGenerationModel.js +1 -1
  19. package/model-function/generate-text/prompt-template/Llama2PromptTemplate.cjs +1 -1
  20. package/model-function/generate-text/prompt-template/Llama2PromptTemplate.d.ts +1 -1
  21. package/model-function/generate-text/prompt-template/Llama2PromptTemplate.js +1 -1
  22. package/model-function/index.cjs +0 -1
  23. package/model-function/index.d.ts +0 -1
  24. package/model-function/index.js +0 -1
  25. package/model-provider/cohere/CohereTextEmbeddingModel.d.ts +3 -3
  26. package/model-provider/cohere/CohereTextGenerationModel.d.ts +6 -6
  27. package/model-provider/llamacpp/LlamaCppTextGenerationModel.d.ts +23 -23
  28. package/model-provider/mistral/MistralTextEmbeddingModel.d.ts +13 -13
  29. package/model-provider/ollama/OllamaChatModel.d.ts +9 -8
  30. package/model-provider/ollama/OllamaChatModel.js +1 -1
  31. package/model-provider/ollama/OllamaCompletionModel.d.ts +2 -1
  32. package/model-provider/ollama/OllamaCompletionModel.js +1 -1
  33. package/model-provider/ollama/OllamaCompletionModel.test.cjs +1 -7
  34. package/model-provider/ollama/OllamaCompletionModel.test.js +1 -7
  35. package/model-provider/openai/OpenAITextEmbeddingModel.d.ts +12 -12
  36. package/model-provider/openai/OpenAITranscriptionModel.d.ts +11 -11
  37. package/model-provider/openai/index.cjs +0 -1
  38. package/model-provider/openai/index.d.ts +0 -1
  39. package/model-provider/openai/index.js +0 -1
  40. package/model-provider/stability/StabilityImageGenerationModel.d.ts +5 -5
  41. package/package.json +9 -20
  42. package/tool/generate-tool-call/TextGenerationToolCallModel.cjs +1 -1
  43. package/tool/generate-tool-call/TextGenerationToolCallModel.d.ts +1 -1
  44. package/tool/generate-tool-call/TextGenerationToolCallModel.js +1 -1
  45. package/tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.d.ts +1 -11
  46. package/tool/generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.d.ts +12 -0
  47. package/tool/generate-tool-calls-or-text/index.cjs +1 -0
  48. package/tool/generate-tool-calls-or-text/index.d.ts +1 -0
  49. package/tool/generate-tool-calls-or-text/index.js +1 -0
  50. package/util/index.cjs +0 -1
  51. package/util/index.d.ts +0 -1
  52. package/util/index.js +0 -1
  53. package/browser/MediaSourceAppender.cjs +0 -54
  54. package/browser/MediaSourceAppender.d.ts +0 -11
  55. package/browser/MediaSourceAppender.js +0 -50
  56. package/browser/convertAudioChunksToBase64.cjs +0 -8
  57. package/browser/convertAudioChunksToBase64.d.ts +0 -4
  58. package/browser/convertAudioChunksToBase64.js +0 -4
  59. package/browser/convertBlobToBase64.cjs +0 -23
  60. package/browser/convertBlobToBase64.d.ts +0 -1
  61. package/browser/convertBlobToBase64.js +0 -19
  62. package/browser/index.cjs +0 -22
  63. package/browser/index.d.ts +0 -6
  64. package/browser/index.js +0 -6
  65. package/browser/invokeFlow.cjs +0 -23
  66. package/browser/invokeFlow.d.ts +0 -8
  67. package/browser/invokeFlow.js +0 -19
  68. package/browser/readEventSource.cjs +0 -29
  69. package/browser/readEventSource.d.ts +0 -9
  70. package/browser/readEventSource.js +0 -25
  71. package/browser/readEventSourceStream.cjs +0 -35
  72. package/browser/readEventSourceStream.d.ts +0 -7
  73. package/browser/readEventSourceStream.js +0 -31
  74. package/composed-function/index.cjs +0 -19
  75. package/composed-function/index.d.ts +0 -3
  76. package/composed-function/index.js +0 -3
  77. package/composed-function/summarize/SummarizationFunction.d.ts +0 -4
  78. package/composed-function/summarize/summarizeRecursively.cjs +0 -19
  79. package/composed-function/summarize/summarizeRecursively.d.ts +0 -11
  80. package/composed-function/summarize/summarizeRecursively.js +0 -15
  81. package/composed-function/summarize/summarizeRecursivelyWithTextGenerationAndTokenSplitting.cjs +0 -25
  82. package/composed-function/summarize/summarizeRecursivelyWithTextGenerationAndTokenSplitting.d.ts +0 -24
  83. package/composed-function/summarize/summarizeRecursivelyWithTextGenerationAndTokenSplitting.js +0 -21
  84. package/cost/Cost.cjs +0 -38
  85. package/cost/Cost.d.ts +0 -16
  86. package/cost/Cost.js +0 -34
  87. package/cost/CostCalculator.d.ts +0 -8
  88. package/cost/calculateCost.cjs +0 -28
  89. package/cost/calculateCost.d.ts +0 -7
  90. package/cost/calculateCost.js +0 -24
  91. package/cost/index.cjs +0 -19
  92. package/cost/index.d.ts +0 -3
  93. package/cost/index.js +0 -3
  94. package/guard/GuardEvent.cjs +0 -2
  95. package/guard/GuardEvent.d.ts +0 -7
  96. package/guard/GuardEvent.js +0 -1
  97. package/guard/fixStructure.cjs +0 -75
  98. package/guard/fixStructure.d.ts +0 -64
  99. package/guard/fixStructure.js +0 -71
  100. package/guard/guard.cjs +0 -79
  101. package/guard/guard.d.ts +0 -29
  102. package/guard/guard.js +0 -75
  103. package/guard/index.cjs +0 -19
  104. package/guard/index.d.ts +0 -3
  105. package/guard/index.js +0 -3
  106. package/model-function/SuccessfulModelCall.cjs +0 -10
  107. package/model-function/SuccessfulModelCall.d.ts +0 -12
  108. package/model-function/SuccessfulModelCall.js +0 -6
  109. package/model-provider/openai/OpenAICostCalculator.cjs +0 -89
  110. package/model-provider/openai/OpenAICostCalculator.d.ts +0 -6
  111. package/model-provider/openai/OpenAICostCalculator.js +0 -85
  112. package/server/fastify/AssetStorage.cjs +0 -2
  113. package/server/fastify/AssetStorage.d.ts +0 -17
  114. package/server/fastify/AssetStorage.js +0 -1
  115. package/server/fastify/DefaultFlow.cjs +0 -22
  116. package/server/fastify/DefaultFlow.d.ts +0 -16
  117. package/server/fastify/DefaultFlow.js +0 -18
  118. package/server/fastify/FileSystemAssetStorage.cjs +0 -60
  119. package/server/fastify/FileSystemAssetStorage.d.ts +0 -19
  120. package/server/fastify/FileSystemAssetStorage.js +0 -56
  121. package/server/fastify/FileSystemLogger.cjs +0 -49
  122. package/server/fastify/FileSystemLogger.d.ts +0 -18
  123. package/server/fastify/FileSystemLogger.js +0 -45
  124. package/server/fastify/Flow.cjs +0 -2
  125. package/server/fastify/Flow.d.ts +0 -9
  126. package/server/fastify/Flow.js +0 -1
  127. package/server/fastify/FlowRun.cjs +0 -71
  128. package/server/fastify/FlowRun.d.ts +0 -28
  129. package/server/fastify/FlowRun.js +0 -67
  130. package/server/fastify/FlowSchema.cjs +0 -2
  131. package/server/fastify/FlowSchema.d.ts +0 -5
  132. package/server/fastify/FlowSchema.js +0 -1
  133. package/server/fastify/Logger.cjs +0 -2
  134. package/server/fastify/Logger.d.ts +0 -13
  135. package/server/fastify/Logger.js +0 -1
  136. package/server/fastify/PathProvider.cjs +0 -34
  137. package/server/fastify/PathProvider.d.ts +0 -12
  138. package/server/fastify/PathProvider.js +0 -30
  139. package/server/fastify/index.cjs +0 -24
  140. package/server/fastify/index.d.ts +0 -8
  141. package/server/fastify/index.js +0 -8
  142. package/server/fastify/modelFusionFlowPlugin.cjs +0 -103
  143. package/server/fastify/modelFusionFlowPlugin.d.ts +0 -12
  144. package/server/fastify/modelFusionFlowPlugin.js +0 -99
  145. package/util/getAudioFileExtension.cjs +0 -29
  146. package/util/getAudioFileExtension.d.ts +0 -1
  147. package/util/getAudioFileExtension.js +0 -25
  148. /package/{composed-function/summarize/SummarizationFunction.cjs → core/ExtensionFunctionEvent.cjs} +0 -0
  149. /package/{composed-function/summarize/SummarizationFunction.js → core/ExtensionFunctionEvent.js} +0 -0
  150. /package/{cost/CostCalculator.cjs → tool/generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.cjs} +0 -0
  151. /package/{cost/CostCalculator.js → tool/generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.js} +0 -0
@@ -58,14 +58,14 @@ export declare class LlamaCppTextGenerationModel<CONTEXT_WINDOW_SIZE extends num
58
58
  countPromptTokens(prompt: LlamaCppTextGenerationPrompt): Promise<number>;
59
59
  doGenerateTexts(prompt: LlamaCppTextGenerationPrompt, options?: FunctionOptions): Promise<{
60
60
  response: {
61
- stop: true;
62
61
  model: string;
63
- prompt: string;
62
+ stop: true;
64
63
  content: string;
64
+ prompt: string;
65
65
  generation_settings: {
66
- stop: string[];
67
66
  model: string;
68
67
  stream: boolean;
68
+ stop: string[];
69
69
  seed: number;
70
70
  mirostat: number;
71
71
  frequency_penalty: number;
@@ -117,14 +117,14 @@ export declare class LlamaCppTextGenerationModel<CONTEXT_WINDOW_SIZE extends num
117
117
  };
118
118
  }>;
119
119
  doStreamText(prompt: LlamaCppTextGenerationPrompt, options?: FunctionOptions): Promise<AsyncIterable<Delta<{
120
- stop: true;
121
120
  model: string;
122
- prompt: string;
121
+ stop: true;
123
122
  content: string;
123
+ prompt: string;
124
124
  generation_settings: {
125
- stop: string[];
126
125
  model: string;
127
126
  stream: boolean;
127
+ stop: string[];
128
128
  seed: number;
129
129
  mirostat: number;
130
130
  frequency_penalty: number;
@@ -208,9 +208,9 @@ declare const llamaCppTextGenerationResponseSchema: z.ZodObject<{
208
208
  top_p: z.ZodNumber;
209
209
  typical_p: z.ZodNumber;
210
210
  }, "strip", z.ZodTypeAny, {
211
- stop: string[];
212
211
  model: string;
213
212
  stream: boolean;
213
+ stop: string[];
214
214
  seed: number;
215
215
  mirostat: number;
216
216
  frequency_penalty: number;
@@ -232,9 +232,9 @@ declare const llamaCppTextGenerationResponseSchema: z.ZodObject<{
232
232
  top_p: number;
233
233
  typical_p: number;
234
234
  }, {
235
- stop: string[];
236
235
  model: string;
237
236
  stream: boolean;
237
+ stop: string[];
238
238
  seed: number;
239
239
  mirostat: number;
240
240
  frequency_penalty: number;
@@ -295,14 +295,14 @@ declare const llamaCppTextGenerationResponseSchema: z.ZodObject<{
295
295
  tokens_predicted: z.ZodNumber;
296
296
  truncated: z.ZodBoolean;
297
297
  }, "strip", z.ZodTypeAny, {
298
- stop: true;
299
298
  model: string;
300
- prompt: string;
299
+ stop: true;
301
300
  content: string;
301
+ prompt: string;
302
302
  generation_settings: {
303
- stop: string[];
304
303
  model: string;
305
304
  stream: boolean;
305
+ stop: string[];
306
306
  seed: number;
307
307
  mirostat: number;
308
308
  frequency_penalty: number;
@@ -343,14 +343,14 @@ declare const llamaCppTextGenerationResponseSchema: z.ZodObject<{
343
343
  tokens_predicted: number;
344
344
  truncated: boolean;
345
345
  }, {
346
- stop: true;
347
346
  model: string;
348
- prompt: string;
347
+ stop: true;
349
348
  content: string;
349
+ prompt: string;
350
350
  generation_settings: {
351
- stop: string[];
352
351
  model: string;
353
352
  stream: boolean;
353
+ stop: string[];
354
354
  seed: number;
355
355
  mirostat: number;
356
356
  frequency_penalty: number;
@@ -393,14 +393,14 @@ declare const llamaCppTextGenerationResponseSchema: z.ZodObject<{
393
393
  }>;
394
394
  export type LlamaCppTextGenerationResponse = z.infer<typeof llamaCppTextGenerationResponseSchema>;
395
395
  declare const llamaCppTextStreamChunkSchema: import("../../core/schema/ZodSchema.js").ZodSchema<{
396
- stop: true;
397
396
  model: string;
398
- prompt: string;
397
+ stop: true;
399
398
  content: string;
399
+ prompt: string;
400
400
  generation_settings: {
401
- stop: string[];
402
401
  model: string;
403
402
  stream: boolean;
403
+ stop: string[];
404
404
  seed: number;
405
405
  mirostat: number;
406
406
  frequency_penalty: number;
@@ -456,14 +456,14 @@ export declare const LlamaCppTextGenerationResponseFormat: {
456
456
  json: {
457
457
  stream: false;
458
458
  handler: ResponseHandler<{
459
- stop: true;
460
459
  model: string;
461
- prompt: string;
460
+ stop: true;
462
461
  content: string;
462
+ prompt: string;
463
463
  generation_settings: {
464
- stop: string[];
465
464
  model: string;
466
465
  stream: boolean;
466
+ stop: string[];
467
467
  seed: number;
468
468
  mirostat: number;
469
469
  frequency_penalty: number;
@@ -514,14 +514,14 @@ export declare const LlamaCppTextGenerationResponseFormat: {
514
514
  handler: ({ response }: {
515
515
  response: Response;
516
516
  }) => Promise<AsyncIterable<Delta<{
517
- stop: true;
518
517
  model: string;
519
- prompt: string;
518
+ stop: true;
520
519
  content: string;
520
+ prompt: string;
521
521
  generation_settings: {
522
- stop: string[];
523
522
  model: string;
524
523
  stream: boolean;
524
+ stop: string[];
525
525
  seed: number;
526
526
  mirostat: number;
527
527
  frequency_penalty: number;
@@ -32,16 +32,16 @@ export declare class MistralTextEmbeddingModel extends AbstractModel<MistralText
32
32
  doEmbedValues(texts: string[], options?: FunctionOptions): Promise<{
33
33
  response: {
34
34
  object: string;
35
- usage: {
36
- prompt_tokens: number;
37
- total_tokens: number;
38
- };
39
- model: string;
40
35
  data: {
41
36
  object: string;
42
37
  embedding: number[];
43
38
  index: number;
44
39
  }[];
40
+ usage: {
41
+ prompt_tokens: number;
42
+ total_tokens: number;
43
+ };
44
+ model: string;
45
45
  id: string;
46
46
  };
47
47
  embeddings: number[][];
@@ -77,29 +77,29 @@ declare const MistralTextEmbeddingResponseSchema: z.ZodObject<{
77
77
  }>;
78
78
  }, "strip", z.ZodTypeAny, {
79
79
  object: string;
80
- usage: {
81
- prompt_tokens: number;
82
- total_tokens: number;
83
- };
84
- model: string;
85
80
  data: {
86
81
  object: string;
87
82
  embedding: number[];
88
83
  index: number;
89
84
  }[];
90
- id: string;
91
- }, {
92
- object: string;
93
85
  usage: {
94
86
  prompt_tokens: number;
95
87
  total_tokens: number;
96
88
  };
97
89
  model: string;
90
+ id: string;
91
+ }, {
92
+ object: string;
98
93
  data: {
99
94
  object: string;
100
95
  embedding: number[];
101
96
  index: number;
102
97
  }[];
98
+ usage: {
99
+ prompt_tokens: number;
100
+ total_tokens: number;
101
+ };
102
+ model: string;
103
103
  id: string;
104
104
  }>;
105
105
  export type MistralTextEmbeddingResponse = z.infer<typeof MistralTextEmbeddingResponseSchema>;
@@ -8,7 +8,8 @@ import { PromptTemplateTextStreamingModel } from "../../model-function/generate-
8
8
  import { TextStreamingModel } from "../../model-function/generate-text/TextGenerationModel.js";
9
9
  import { TextGenerationPromptTemplate } from "../../model-function/generate-text/TextGenerationPromptTemplate.js";
10
10
  import { TextGenerationToolCallModel, ToolCallPromptTemplate } from "../../tool/generate-tool-call/TextGenerationToolCallModel.js";
11
- import { TextGenerationToolCallsOrGenerateTextModel, ToolCallsOrGenerateTextPromptTemplate } from "../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js";
11
+ import { TextGenerationToolCallsOrGenerateTextModel } from "../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js";
12
+ import { ToolCallsOrGenerateTextPromptTemplate } from "../../tool/generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.js";
12
13
  import { OllamaTextGenerationSettings } from "./OllamaTextGenerationSettings.js";
13
14
  export type OllamaChatMessage = {
14
15
  role: "system" | "user" | "assistant";
@@ -38,11 +39,11 @@ export declare class OllamaChatModel extends AbstractModel<OllamaChatModelSettin
38
39
  get settingsForEvent(): Partial<OllamaChatModelSettings>;
39
40
  doGenerateTexts(prompt: OllamaChatPrompt, options?: FunctionOptions): Promise<{
40
41
  response: {
41
- model: string;
42
42
  message: {
43
43
  role: string;
44
44
  content: string;
45
45
  };
46
+ model: string;
46
47
  done: true;
47
48
  created_at: string;
48
49
  total_duration: number;
@@ -58,11 +59,11 @@ export declare class OllamaChatModel extends AbstractModel<OllamaChatModelSettin
58
59
  }[];
59
60
  }>;
60
61
  doStreamText(prompt: OllamaChatPrompt, options?: FunctionOptions): Promise<AsyncIterable<import("../../index.js").Delta<{
61
- model: string;
62
62
  message: {
63
63
  role: string;
64
64
  content: string;
65
65
  };
66
+ model: string;
66
67
  done: false;
67
68
  created_at: string;
68
69
  } | {
@@ -115,11 +116,11 @@ declare const ollamaChatResponseSchema: z.ZodObject<{
115
116
  eval_count: z.ZodNumber;
116
117
  eval_duration: z.ZodNumber;
117
118
  }, "strip", z.ZodTypeAny, {
118
- model: string;
119
119
  message: {
120
120
  role: string;
121
121
  content: string;
122
122
  };
123
+ model: string;
123
124
  done: true;
124
125
  created_at: string;
125
126
  total_duration: number;
@@ -129,11 +130,11 @@ declare const ollamaChatResponseSchema: z.ZodObject<{
129
130
  load_duration?: number | undefined;
130
131
  prompt_eval_duration?: number | undefined;
131
132
  }, {
132
- model: string;
133
133
  message: {
134
134
  role: string;
135
135
  content: string;
136
136
  };
137
+ model: string;
137
138
  done: true;
138
139
  created_at: string;
139
140
  total_duration: number;
@@ -145,11 +146,11 @@ declare const ollamaChatResponseSchema: z.ZodObject<{
145
146
  }>;
146
147
  export type OllamaChatResponse = z.infer<typeof ollamaChatResponseSchema>;
147
148
  declare const ollamaChatStreamChunkSchema: ZodSchema<{
148
- model: string;
149
149
  message: {
150
150
  role: string;
151
151
  content: string;
152
152
  };
153
+ model: string;
153
154
  done: false;
154
155
  created_at: string;
155
156
  } | {
@@ -179,11 +180,11 @@ export declare const OllamaChatResponseFormat: {
179
180
  requestBodyValues: unknown;
180
181
  response: Response;
181
182
  }) => Promise<{
182
- model: string;
183
183
  message: {
184
184
  role: string;
185
185
  content: string;
186
186
  };
187
+ model: string;
187
188
  done: true;
188
189
  created_at: string;
189
190
  total_duration: number;
@@ -203,11 +204,11 @@ export declare const OllamaChatResponseFormat: {
203
204
  handler: ({ response }: {
204
205
  response: Response;
205
206
  }) => Promise<AsyncIterable<import("../../index.js").Delta<{
206
- model: string;
207
207
  message: {
208
208
  role: string;
209
209
  content: string;
210
210
  };
211
+ model: string;
211
212
  done: false;
212
213
  created_at: string;
213
214
  } | {
@@ -8,7 +8,7 @@ import { AbstractModel } from "../../model-function/AbstractModel.js";
8
8
  import { PromptTemplateTextStreamingModel } from "../../model-function/generate-text/PromptTemplateTextStreamingModel.js";
9
9
  import { textGenerationModelProperties, } from "../../model-function/generate-text/TextGenerationModel.js";
10
10
  import { TextGenerationToolCallModel, } from "../../tool/generate-tool-call/TextGenerationToolCallModel.js";
11
- import { TextGenerationToolCallsOrGenerateTextModel, } from "../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js";
11
+ import { TextGenerationToolCallsOrGenerateTextModel } from "../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js";
12
12
  import { createJsonStreamResponseHandler } from "../../util/streaming/createJsonStreamResponseHandler.js";
13
13
  import { OllamaApiConfiguration } from "./OllamaApiConfiguration.js";
14
14
  import { chat, instruction, text } from "./OllamaChatPromptTemplate.js";
@@ -8,7 +8,8 @@ import { PromptTemplateTextStreamingModel } from "../../model-function/generate-
8
8
  import { TextStreamingModel } from "../../model-function/generate-text/TextGenerationModel.js";
9
9
  import { TextGenerationPromptTemplate } from "../../model-function/generate-text/TextGenerationPromptTemplate.js";
10
10
  import { TextGenerationToolCallModel, ToolCallPromptTemplate } from "../../tool/generate-tool-call/TextGenerationToolCallModel.js";
11
- import { TextGenerationToolCallsOrGenerateTextModel, ToolCallsOrGenerateTextPromptTemplate } from "../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js";
11
+ import { TextGenerationToolCallsOrGenerateTextModel } from "../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js";
12
+ import { ToolCallsOrGenerateTextPromptTemplate } from "../../tool/generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.js";
12
13
  import { OllamaTextGenerationSettings } from "./OllamaTextGenerationSettings.js";
13
14
  export interface OllamaCompletionPrompt {
14
15
  /**
@@ -8,7 +8,7 @@ import { AbstractModel } from "../../model-function/AbstractModel.js";
8
8
  import { PromptTemplateTextStreamingModel } from "../../model-function/generate-text/PromptTemplateTextStreamingModel.js";
9
9
  import { textGenerationModelProperties, } from "../../model-function/generate-text/TextGenerationModel.js";
10
10
  import { TextGenerationToolCallModel, } from "../../tool/generate-tool-call/TextGenerationToolCallModel.js";
11
- import { TextGenerationToolCallsOrGenerateTextModel, } from "../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js";
11
+ import { TextGenerationToolCallsOrGenerateTextModel } from "../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js";
12
12
  import { createJsonStreamResponseHandler } from "../../util/streaming/createJsonStreamResponseHandler.js";
13
13
  import { OllamaApiConfiguration } from "./OllamaApiConfiguration.js";
14
14
  import { failedOllamaCallResponseHandler } from "./OllamaError.js";
@@ -132,13 +132,7 @@ describe("streamStructure", () => {
132
132
  raw: true,
133
133
  })
134
134
  .withTextPromptTemplate(TextPrompt.instruction())
135
- .asStructureGenerationModel((0, jsonStructurePrompt_js_1.jsonStructurePrompt)((instruction, schema) => ({
136
- system: "JSON schema: \n" +
137
- JSON.stringify(schema.getJsonSchema()) +
138
- "\n\n" +
139
- "Respond only using JSON that matches the above schema.",
140
- instruction,
141
- }))), (0, ZodSchema_js_1.zodSchema)(zod_1.z.object({ name: zod_1.z.string() })), "generate a name");
135
+ .asStructureGenerationModel(jsonStructurePrompt_js_1.jsonStructurePrompt.text()), (0, ZodSchema_js_1.zodSchema)(zod_1.z.object({ name: zod_1.z.string() })), "generate a name");
142
136
  // note: space moved to last chunk bc of trimming
143
137
  expect(await (0, arrayFromAsync_js_1.arrayFromAsync)(stream)).toStrictEqual([
144
138
  { isComplete: false, value: {} },
@@ -107,13 +107,7 @@ describe("streamStructure", () => {
107
107
  raw: true,
108
108
  })
109
109
  .withTextPromptTemplate(TextPrompt.instruction())
110
- .asStructureGenerationModel(jsonStructurePrompt((instruction, schema) => ({
111
- system: "JSON schema: \n" +
112
- JSON.stringify(schema.getJsonSchema()) +
113
- "\n\n" +
114
- "Respond only using JSON that matches the above schema.",
115
- instruction,
116
- }))), zodSchema(z.object({ name: z.string() })), "generate a name");
110
+ .asStructureGenerationModel(jsonStructurePrompt.text()), zodSchema(z.object({ name: z.string() })), "generate a name");
117
111
  // note: space moved to last chunk bc of trimming
118
112
  expect(await arrayFromAsync(stream)).toStrictEqual([
119
113
  { isComplete: false, value: {} },
@@ -52,16 +52,16 @@ export declare class OpenAITextEmbeddingModel extends AbstractModel<OpenAITextEm
52
52
  doEmbedValues(texts: string[], options?: FunctionOptions): Promise<{
53
53
  response: {
54
54
  object: "list";
55
- usage: {
56
- prompt_tokens: number;
57
- total_tokens: number;
58
- };
59
- model: string;
60
55
  data: {
61
56
  object: "embedding";
62
57
  embedding: number[];
63
58
  index: number;
64
59
  }[];
60
+ usage: {
61
+ prompt_tokens: number;
62
+ total_tokens: number;
63
+ };
64
+ model: string;
65
65
  };
66
66
  embeddings: number[][];
67
67
  }>;
@@ -95,28 +95,28 @@ declare const openAITextEmbeddingResponseSchema: z.ZodObject<{
95
95
  }>;
96
96
  }, "strip", z.ZodTypeAny, {
97
97
  object: "list";
98
- usage: {
99
- prompt_tokens: number;
100
- total_tokens: number;
101
- };
102
- model: string;
103
98
  data: {
104
99
  object: "embedding";
105
100
  embedding: number[];
106
101
  index: number;
107
102
  }[];
108
- }, {
109
- object: "list";
110
103
  usage: {
111
104
  prompt_tokens: number;
112
105
  total_tokens: number;
113
106
  };
114
107
  model: string;
108
+ }, {
109
+ object: "list";
115
110
  data: {
116
111
  object: "embedding";
117
112
  embedding: number[];
118
113
  index: number;
119
114
  }[];
115
+ usage: {
116
+ prompt_tokens: number;
117
+ total_tokens: number;
118
+ };
119
+ model: string;
120
120
  }>;
121
121
  export type OpenAITextEmbeddingResponse = z.infer<typeof openAITextEmbeddingResponseSchema>;
122
122
  export {};
@@ -64,6 +64,9 @@ export declare class OpenAITranscriptionModel extends AbstractModel<OpenAITransc
64
64
  doTranscribe(data: OpenAITranscriptionInput, options?: FunctionOptions): Promise<{
65
65
  response: {
66
66
  text: string;
67
+ task: "transcribe";
68
+ language: string;
69
+ duration: number;
67
70
  segments: {
68
71
  text: string;
69
72
  id: number;
@@ -77,9 +80,6 @@ export declare class OpenAITranscriptionModel extends AbstractModel<OpenAITransc
77
80
  no_speech_prob: number;
78
81
  transient?: boolean | undefined;
79
82
  }[];
80
- task: "transcribe";
81
- language: string;
82
- duration: number;
83
83
  };
84
84
  transcription: string;
85
85
  }>;
@@ -141,6 +141,9 @@ declare const openAITranscriptionVerboseJsonSchema: z.ZodObject<{
141
141
  text: z.ZodString;
142
142
  }, "strip", z.ZodTypeAny, {
143
143
  text: string;
144
+ task: "transcribe";
145
+ language: string;
146
+ duration: number;
144
147
  segments: {
145
148
  text: string;
146
149
  id: number;
@@ -154,11 +157,11 @@ declare const openAITranscriptionVerboseJsonSchema: z.ZodObject<{
154
157
  no_speech_prob: number;
155
158
  transient?: boolean | undefined;
156
159
  }[];
160
+ }, {
161
+ text: string;
157
162
  task: "transcribe";
158
163
  language: string;
159
164
  duration: number;
160
- }, {
161
- text: string;
162
165
  segments: {
163
166
  text: string;
164
167
  id: number;
@@ -172,9 +175,6 @@ declare const openAITranscriptionVerboseJsonSchema: z.ZodObject<{
172
175
  no_speech_prob: number;
173
176
  transient?: boolean | undefined;
174
177
  }[];
175
- task: "transcribe";
176
- language: string;
177
- duration: number;
178
178
  }>;
179
179
  export type OpenAITranscriptionVerboseJsonResponse = z.infer<typeof openAITranscriptionVerboseJsonSchema>;
180
180
  export type OpenAITranscriptionResponseFormatType<T> = {
@@ -192,6 +192,9 @@ export declare const OpenAITranscriptionResponseFormat: {
192
192
  type: "verbose_json";
193
193
  handler: ResponseHandler<{
194
194
  text: string;
195
+ task: "transcribe";
196
+ language: string;
197
+ duration: number;
195
198
  segments: {
196
199
  text: string;
197
200
  id: number;
@@ -205,9 +208,6 @@ export declare const OpenAITranscriptionResponseFormat: {
205
208
  no_speech_prob: number;
206
209
  transient?: boolean | undefined;
207
210
  }[];
208
- task: "transcribe";
209
- language: string;
210
- duration: number;
211
211
  }>;
212
212
  };
213
213
  text: {
@@ -34,7 +34,6 @@ __exportStar(require("./OpenAIChatMessage.cjs"), exports);
34
34
  __exportStar(require("./OpenAIChatModel.cjs"), exports);
35
35
  exports.OpenAIChatPrompt = __importStar(require("./OpenAIChatPromptTemplate.cjs"));
36
36
  __exportStar(require("./OpenAICompletionModel.cjs"), exports);
37
- __exportStar(require("./OpenAICostCalculator.cjs"), exports);
38
37
  exports.openai = __importStar(require("./OpenAIFacade.cjs"));
39
38
  __exportStar(require("./OpenAIImageGenerationModel.cjs"), exports);
40
39
  __exportStar(require("./OpenAISpeechModel.cjs"), exports);
@@ -5,7 +5,6 @@ export * from "./OpenAIChatMessage.js";
5
5
  export * from "./OpenAIChatModel.js";
6
6
  export * as OpenAIChatPrompt from "./OpenAIChatPromptTemplate.js";
7
7
  export * from "./OpenAICompletionModel.js";
8
- export * from "./OpenAICostCalculator.js";
9
8
  export { OpenAIErrorData } from "./OpenAIError.js";
10
9
  export * as openai from "./OpenAIFacade.js";
11
10
  export * from "./OpenAIImageGenerationModel.js";
@@ -5,7 +5,6 @@ export * from "./OpenAIChatMessage.js";
5
5
  export * from "./OpenAIChatModel.js";
6
6
  export * as OpenAIChatPrompt from "./OpenAIChatPromptTemplate.js";
7
7
  export * from "./OpenAICompletionModel.js";
8
- export * from "./OpenAICostCalculator.js";
9
8
  export * as openai from "./OpenAIFacade.js";
10
9
  export * from "./OpenAIImageGenerationModel.js";
11
10
  export * from "./OpenAISpeechModel.js";
@@ -69,8 +69,8 @@ export declare class StabilityImageGenerationModel extends AbstractModel<Stabili
69
69
  doGenerateImages(prompt: StabilityImageGenerationPrompt, options?: FunctionOptions): Promise<{
70
70
  response: {
71
71
  artifacts: {
72
- finishReason: "ERROR" | "SUCCESS" | "CONTENT_FILTERED";
73
72
  base64: string;
73
+ finishReason: "ERROR" | "SUCCESS" | "CONTENT_FILTERED";
74
74
  seed: number;
75
75
  }[];
76
76
  };
@@ -86,24 +86,24 @@ declare const stabilityImageGenerationResponseSchema: z.ZodObject<{
86
86
  seed: z.ZodNumber;
87
87
  finishReason: z.ZodEnum<["SUCCESS", "ERROR", "CONTENT_FILTERED"]>;
88
88
  }, "strip", z.ZodTypeAny, {
89
- finishReason: "ERROR" | "SUCCESS" | "CONTENT_FILTERED";
90
89
  base64: string;
90
+ finishReason: "ERROR" | "SUCCESS" | "CONTENT_FILTERED";
91
91
  seed: number;
92
92
  }, {
93
- finishReason: "ERROR" | "SUCCESS" | "CONTENT_FILTERED";
94
93
  base64: string;
94
+ finishReason: "ERROR" | "SUCCESS" | "CONTENT_FILTERED";
95
95
  seed: number;
96
96
  }>, "many">;
97
97
  }, "strip", z.ZodTypeAny, {
98
98
  artifacts: {
99
- finishReason: "ERROR" | "SUCCESS" | "CONTENT_FILTERED";
100
99
  base64: string;
100
+ finishReason: "ERROR" | "SUCCESS" | "CONTENT_FILTERED";
101
101
  seed: number;
102
102
  }[];
103
103
  }, {
104
104
  artifacts: {
105
- finishReason: "ERROR" | "SUCCESS" | "CONTENT_FILTERED";
106
105
  base64: string;
106
+ finishReason: "ERROR" | "SUCCESS" | "CONTENT_FILTERED";
107
107
  seed: number;
108
108
  }[];
109
109
  }>;
package/package.json CHANGED
@@ -1,20 +1,19 @@
1
1
  {
2
2
  "name": "modelfusion",
3
3
  "description": "The TypeScript library for building multi-modal AI applications.",
4
- "version": "0.105.0",
4
+ "version": "0.106.0",
5
5
  "author": "Lars Grammel",
6
6
  "license": "MIT",
7
7
  "keywords": [
8
+ "ai",
8
9
  "llm",
10
+ "multimodal",
9
11
  "embedding",
10
12
  "openai",
11
- "huggingface",
12
- "gpt-3",
13
13
  "gpt-4",
14
- "whisper",
15
- "chatbot",
16
- "ai",
17
- "multimodal"
14
+ "ollama",
15
+ "llamacpp",
16
+ "whisper"
18
17
  ],
19
18
  "homepage": "https://modelfusion.dev/",
20
19
  "repository": {
@@ -47,21 +46,12 @@
47
46
  "types": "./extension/index.d.ts",
48
47
  "import": "./extension/index.js",
49
48
  "require": "./extension/index.cjs"
50
- },
51
- "./browser": {
52
- "types": "./browser/index.d.ts",
53
- "import": "./browser/index.js",
54
- "require": "./browser/index.cjs"
55
- },
56
- "./fastify-server": {
57
- "types": "./server/fastify/index.d.ts",
58
- "import": "./server/fastify/index.js",
59
- "require": "./server/fastify/index.cjs"
60
49
  }
61
50
  },
62
51
  "scripts": {
63
52
  "lint": "eslint --ext .ts src",
64
53
  "clean": "rimraf build dist .turbo node_modules",
54
+ "clean:build": "rimraf build dist",
65
55
  "build": "pnpm build:esm && pnpm build:cjs && pnpm build:copy-files",
66
56
  "build:esm": "tsc --outDir dist/",
67
57
  "build:cjs": "tsc --outDir build/cjs/ -p tsconfig.cjs.json && node bin/prepare-cjs.js",
@@ -70,7 +60,7 @@
70
60
  "test:watch": "vitest watch --config vitest.config.js",
71
61
  "test:coverage": "vitest run --config vitest.config.js --coverage",
72
62
  "test:coverage:ui": "vitest --config vitest.config.js --coverage --ui",
73
- "dist": "pnpm clean && pnpm lint && pnpm test && pnpm build"
63
+ "dist": "pnpm clean:build && pnpm lint && pnpm test && pnpm build"
74
64
  },
75
65
  "dependencies": {
76
66
  "eventsource-parser": "1.1.1",
@@ -90,7 +80,6 @@
90
80
  "@vitest/ui": "1.1.0",
91
81
  "eslint": "^8.45.0",
92
82
  "eslint-config-prettier": "9.1.0",
93
- "fastify": "^4.0.0",
94
- "msw": "2.0.10"
83
+ "msw": "2.0.11"
95
84
  }
96
85
  }
@@ -37,7 +37,7 @@ class TextGenerationToolCallModel {
37
37
  try {
38
38
  return {
39
39
  response,
40
- toolCall: this.format.extractToolCall(text),
40
+ toolCall: this.format.extractToolCall(text, tool),
41
41
  usage: metadata?.usage,
42
42
  };
43
43
  }
@@ -4,7 +4,7 @@ import { ToolDefinition } from "../ToolDefinition.js";
4
4
  import { ToolCallGenerationModel } from "./ToolCallGenerationModel.js";
5
5
  export interface ToolCallPromptTemplate<SOURCE_PROMPT, TARGET_PROMPT> {
6
6
  createPrompt: (prompt: SOURCE_PROMPT, tool: ToolDefinition<string, unknown>) => TARGET_PROMPT;
7
- extractToolCall: (response: string) => {
7
+ extractToolCall: (response: string, tool: ToolDefinition<string, unknown>) => {
8
8
  id: string;
9
9
  args: unknown;
10
10
  } | null;
@@ -34,7 +34,7 @@ export class TextGenerationToolCallModel {
34
34
  try {
35
35
  return {
36
36
  response,
37
- toolCall: this.format.extractToolCall(text),
37
+ toolCall: this.format.extractToolCall(text, tool),
38
38
  usage: metadata?.usage,
39
39
  };
40
40
  }