modelfusion 0.116.1 → 0.118.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 (145) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/README.md +14 -11
  3. package/core/getFunctionCallLogger.cjs +6 -6
  4. package/core/getFunctionCallLogger.js +6 -6
  5. package/model-function/ModelCallEvent.d.ts +1 -1
  6. package/model-function/embed/EmbeddingEvent.d.ts +1 -1
  7. package/model-function/embed/EmbeddingModel.d.ts +1 -1
  8. package/model-function/embed/embed.cjs +5 -5
  9. package/model-function/embed/embed.d.ts +2 -2
  10. package/model-function/embed/embed.js +5 -5
  11. package/model-function/executeStandardCall.cjs +3 -3
  12. package/model-function/executeStandardCall.d.ts +2 -2
  13. package/model-function/executeStandardCall.js +3 -3
  14. package/model-function/generate-image/ImageGenerationEvent.d.ts +1 -1
  15. package/model-function/generate-image/ImageGenerationModel.d.ts +1 -1
  16. package/model-function/generate-image/PromptTemplateImageGenerationModel.d.ts +1 -1
  17. package/model-function/generate-image/generateImage.cjs +2 -2
  18. package/model-function/generate-image/generateImage.d.ts +1 -1
  19. package/model-function/generate-image/generateImage.js +2 -2
  20. package/model-function/generate-speech/SpeechGenerationEvent.d.ts +1 -1
  21. package/model-function/generate-speech/generateSpeech.cjs +2 -2
  22. package/model-function/generate-speech/generateSpeech.d.ts +1 -1
  23. package/model-function/generate-speech/generateSpeech.js +2 -2
  24. package/model-function/generate-structure/StructureFromTextGenerationModel.cjs +1 -1
  25. package/model-function/generate-structure/StructureFromTextGenerationModel.js +1 -1
  26. package/model-function/generate-structure/StructureFromTextStreamingModel.cjs +1 -1
  27. package/model-function/generate-structure/StructureFromTextStreamingModel.js +1 -1
  28. package/model-function/generate-structure/StructureGenerationEvent.d.ts +1 -1
  29. package/model-function/generate-structure/generateStructure.cjs +2 -2
  30. package/model-function/generate-structure/generateStructure.d.ts +1 -1
  31. package/model-function/generate-structure/generateStructure.js +2 -2
  32. package/model-function/generate-text/PromptTemplateFullTextModel.d.ts +2 -2
  33. package/model-function/generate-text/PromptTemplateTextGenerationModel.d.ts +2 -2
  34. package/model-function/generate-text/TextGenerationEvent.d.ts +1 -1
  35. package/model-function/generate-text/TextGenerationModel.d.ts +2 -2
  36. package/model-function/generate-text/generateText.cjs +3 -3
  37. package/model-function/generate-text/generateText.d.ts +1 -1
  38. package/model-function/generate-text/generateText.js +3 -3
  39. package/model-function/generate-text/prompt-template/AlpacaPromptTemplate.cjs +8 -1
  40. package/model-function/generate-text/prompt-template/AlpacaPromptTemplate.d.ts +5 -0
  41. package/model-function/generate-text/prompt-template/AlpacaPromptTemplate.js +6 -0
  42. package/model-function/generate-text/prompt-template/PromptTemplateProvider.cjs +2 -0
  43. package/model-function/generate-text/prompt-template/PromptTemplateProvider.d.ts +8 -0
  44. package/model-function/generate-text/prompt-template/PromptTemplateProvider.js +1 -0
  45. package/model-function/generate-text/prompt-template/VicunaPromptTemplate.cjs +34 -1
  46. package/model-function/generate-text/prompt-template/VicunaPromptTemplate.d.ts +9 -0
  47. package/model-function/generate-text/prompt-template/VicunaPromptTemplate.js +31 -0
  48. package/model-function/generate-text/prompt-template/VicunaPromptTemplate.test.cjs +28 -0
  49. package/model-function/generate-text/prompt-template/VicunaPromptTemplate.test.js +29 -1
  50. package/model-function/generate-text/prompt-template/index.cjs +1 -0
  51. package/model-function/generate-text/prompt-template/index.d.ts +1 -0
  52. package/model-function/generate-text/prompt-template/index.js +1 -0
  53. package/model-function/generate-transcription/TranscriptionEvent.d.ts +1 -1
  54. package/model-function/generate-transcription/TranscriptionModel.d.ts +1 -1
  55. package/model-function/generate-transcription/generateTranscription.cjs +1 -1
  56. package/model-function/generate-transcription/generateTranscription.d.ts +1 -1
  57. package/model-function/generate-transcription/generateTranscription.js +1 -1
  58. package/model-provider/automatic1111/Automatic1111ImageGenerationModel.cjs +3 -3
  59. package/model-provider/automatic1111/Automatic1111ImageGenerationModel.d.ts +1 -1
  60. package/model-provider/automatic1111/Automatic1111ImageGenerationModel.js +3 -3
  61. package/model-provider/cohere/CohereTextEmbeddingModel.cjs +3 -3
  62. package/model-provider/cohere/CohereTextEmbeddingModel.d.ts +1 -1
  63. package/model-provider/cohere/CohereTextEmbeddingModel.js +3 -3
  64. package/model-provider/cohere/CohereTextGenerationModel.cjs +3 -3
  65. package/model-provider/cohere/CohereTextGenerationModel.d.ts +4 -4
  66. package/model-provider/cohere/CohereTextGenerationModel.js +3 -3
  67. package/model-provider/huggingface/HuggingFaceTextEmbeddingModel.cjs +3 -3
  68. package/model-provider/huggingface/HuggingFaceTextEmbeddingModel.d.ts +1 -1
  69. package/model-provider/huggingface/HuggingFaceTextEmbeddingModel.js +3 -3
  70. package/model-provider/huggingface/HuggingFaceTextGenerationModel.cjs +3 -3
  71. package/model-provider/huggingface/HuggingFaceTextGenerationModel.d.ts +4 -4
  72. package/model-provider/huggingface/HuggingFaceTextGenerationModel.js +3 -3
  73. package/model-provider/llamacpp/LlamaCppBakLLaVA1PromptTemplate.cjs +15 -1
  74. package/model-provider/llamacpp/LlamaCppBakLLaVA1PromptTemplate.d.ts +4 -0
  75. package/model-provider/llamacpp/LlamaCppBakLLaVA1PromptTemplate.js +13 -0
  76. package/model-provider/llamacpp/LlamaCppCompletionModel.cjs +37 -27
  77. package/model-provider/llamacpp/LlamaCppCompletionModel.d.ts +18 -8
  78. package/model-provider/llamacpp/LlamaCppCompletionModel.js +37 -27
  79. package/model-provider/llamacpp/LlamaCppFacade.cjs +31 -3
  80. package/model-provider/llamacpp/LlamaCppFacade.d.ts +6 -1
  81. package/model-provider/llamacpp/LlamaCppFacade.js +6 -1
  82. package/model-provider/llamacpp/LlamaCppGrammars.cjs +84 -0
  83. package/model-provider/llamacpp/LlamaCppGrammars.d.ts +18 -0
  84. package/model-provider/llamacpp/LlamaCppGrammars.js +81 -0
  85. package/model-provider/llamacpp/LlamaCppPrompt.cjs +59 -0
  86. package/model-provider/llamacpp/LlamaCppPrompt.d.ts +14 -0
  87. package/model-provider/llamacpp/LlamaCppPrompt.js +31 -0
  88. package/model-provider/llamacpp/LlamaCppTextEmbeddingModel.cjs +3 -3
  89. package/model-provider/llamacpp/LlamaCppTextEmbeddingModel.d.ts +1 -1
  90. package/model-provider/llamacpp/LlamaCppTextEmbeddingModel.js +3 -3
  91. package/model-provider/llamacpp/index.cjs +2 -3
  92. package/model-provider/llamacpp/index.d.ts +1 -2
  93. package/model-provider/llamacpp/index.js +1 -2
  94. package/model-provider/mistral/MistralChatModel.cjs +3 -3
  95. package/model-provider/mistral/MistralChatModel.d.ts +4 -4
  96. package/model-provider/mistral/MistralChatModel.js +3 -3
  97. package/model-provider/mistral/MistralTextEmbeddingModel.cjs +3 -3
  98. package/model-provider/mistral/MistralTextEmbeddingModel.d.ts +1 -1
  99. package/model-provider/mistral/MistralTextEmbeddingModel.js +3 -3
  100. package/model-provider/ollama/OllamaChatModel.cjs +3 -3
  101. package/model-provider/ollama/OllamaChatModel.d.ts +2 -2
  102. package/model-provider/ollama/OllamaChatModel.js +3 -3
  103. package/model-provider/ollama/OllamaCompletionModel.cjs +3 -3
  104. package/model-provider/ollama/OllamaCompletionModel.d.ts +14 -14
  105. package/model-provider/ollama/OllamaCompletionModel.js +3 -3
  106. package/model-provider/ollama/OllamaTextEmbeddingModel.cjs +3 -3
  107. package/model-provider/ollama/OllamaTextEmbeddingModel.d.ts +1 -1
  108. package/model-provider/ollama/OllamaTextEmbeddingModel.js +3 -3
  109. package/model-provider/openai/AbstractOpenAIChatModel.cjs +12 -12
  110. package/model-provider/openai/AbstractOpenAIChatModel.d.ts +6 -6
  111. package/model-provider/openai/AbstractOpenAIChatModel.js +12 -12
  112. package/model-provider/openai/AbstractOpenAICompletionModel.cjs +6 -6
  113. package/model-provider/openai/AbstractOpenAICompletionModel.d.ts +2 -2
  114. package/model-provider/openai/AbstractOpenAICompletionModel.js +6 -6
  115. package/model-provider/openai/OpenAIImageGenerationModel.cjs +3 -3
  116. package/model-provider/openai/OpenAIImageGenerationModel.d.ts +1 -1
  117. package/model-provider/openai/OpenAIImageGenerationModel.js +3 -3
  118. package/model-provider/openai/OpenAITextEmbeddingModel.cjs +3 -3
  119. package/model-provider/openai/OpenAITextEmbeddingModel.d.ts +1 -1
  120. package/model-provider/openai/OpenAITextEmbeddingModel.js +3 -3
  121. package/model-provider/openai/OpenAITranscriptionModel.cjs +3 -3
  122. package/model-provider/openai/OpenAITranscriptionModel.d.ts +1 -1
  123. package/model-provider/openai/OpenAITranscriptionModel.js +3 -3
  124. package/model-provider/stability/StabilityImageGenerationModel.cjs +3 -3
  125. package/model-provider/stability/StabilityImageGenerationModel.d.ts +1 -1
  126. package/model-provider/stability/StabilityImageGenerationModel.js +3 -3
  127. package/model-provider/whispercpp/WhisperCppTranscriptionModel.cjs +3 -3
  128. package/model-provider/whispercpp/WhisperCppTranscriptionModel.d.ts +1 -1
  129. package/model-provider/whispercpp/WhisperCppTranscriptionModel.js +3 -3
  130. package/package.json +1 -1
  131. package/tool/generate-tool-call/TextGenerationToolCallModel.cjs +2 -2
  132. package/tool/generate-tool-call/TextGenerationToolCallModel.d.ts +1 -1
  133. package/tool/generate-tool-call/TextGenerationToolCallModel.js +2 -2
  134. package/tool/generate-tool-call/ToolCallGenerationEvent.d.ts +1 -1
  135. package/tool/generate-tool-call/ToolCallGenerationModel.d.ts +1 -1
  136. package/tool/generate-tool-call/generateToolCall.cjs +2 -2
  137. package/tool/generate-tool-call/generateToolCall.js +2 -2
  138. package/tool/generate-tool-calls/TextGenerationToolCallsModel.cjs +2 -2
  139. package/tool/generate-tool-calls/TextGenerationToolCallsModel.d.ts +1 -1
  140. package/tool/generate-tool-calls/TextGenerationToolCallsModel.js +2 -2
  141. package/tool/generate-tool-calls/ToolCallsGenerationEvent.d.ts +1 -1
  142. package/tool/generate-tool-calls/ToolCallsGenerationModel.d.ts +1 -1
  143. package/tool/generate-tool-calls/generateToolCalls.cjs +2 -2
  144. package/tool/generate-tool-calls/generateToolCalls.d.ts +1 -1
  145. package/tool/generate-tool-calls/generateToolCalls.js +2 -2
@@ -87,14 +87,14 @@ export class AbstractOpenAIChatModel extends AbstractModel {
87
87
  schema: zodSchema(openAIChatResponseSchema),
88
88
  }));
89
89
  }
90
- processTextGenerationResponse(response) {
90
+ processTextGenerationResponse(rawResponse) {
91
91
  return {
92
- response,
93
- textGenerationResults: response.choices.map((choice) => ({
92
+ rawResponse,
93
+ textGenerationResults: rawResponse.choices.map((choice) => ({
94
94
  text: choice.message.content ?? "",
95
95
  finishReason: this.translateFinishReason(choice.finish_reason),
96
96
  })),
97
- usage: this.extractUsage(response),
97
+ usage: this.extractUsage(rawResponse),
98
98
  };
99
99
  }
100
100
  translateFinishReason(finishReason) {
@@ -130,7 +130,7 @@ export class AbstractOpenAIChatModel extends AbstractModel {
130
130
  return firstChoice.delta.content ?? undefined;
131
131
  }
132
132
  async doGenerateToolCall(tool, prompt, options) {
133
- const response = await this.callAPI(prompt, options, {
133
+ const rawResponse = await this.callAPI(prompt, options, {
134
134
  responseFormat: OpenAIChatResponseFormat.json,
135
135
  toolChoice: {
136
136
  type: "function",
@@ -147,20 +147,20 @@ export class AbstractOpenAIChatModel extends AbstractModel {
147
147
  },
148
148
  ],
149
149
  });
150
- const toolCalls = response.choices[0]?.message.tool_calls;
150
+ const toolCalls = rawResponse.choices[0]?.message.tool_calls;
151
151
  return {
152
- response,
152
+ rawResponse,
153
153
  toolCall: toolCalls == null || toolCalls.length === 0
154
154
  ? null
155
155
  : {
156
156
  id: toolCalls[0].id,
157
157
  args: parseJSON({ text: toolCalls[0].function.arguments }),
158
158
  },
159
- usage: this.extractUsage(response),
159
+ usage: this.extractUsage(rawResponse),
160
160
  };
161
161
  }
162
162
  async doGenerateToolCalls(tools, prompt, options) {
163
- const response = await this.callAPI(prompt, options, {
163
+ const rawResponse = await this.callAPI(prompt, options, {
164
164
  responseFormat: OpenAIChatResponseFormat.json,
165
165
  toolChoice: "auto",
166
166
  tools: tools.map((tool) => ({
@@ -172,16 +172,16 @@ export class AbstractOpenAIChatModel extends AbstractModel {
172
172
  },
173
173
  })),
174
174
  });
175
- const message = response.choices[0]?.message;
175
+ const message = rawResponse.choices[0]?.message;
176
176
  return {
177
- response,
177
+ rawResponse,
178
178
  text: message.content ?? null,
179
179
  toolCalls: message.tool_calls?.map((toolCall) => ({
180
180
  id: toolCall.id,
181
181
  name: toolCall.function.name,
182
182
  args: parseJSON({ text: toolCall.function.arguments }),
183
183
  })) ?? null,
184
- usage: this.extractUsage(response),
184
+ usage: this.extractUsage(rawResponse),
185
185
  };
186
186
  }
187
187
  extractUsage(response) {
@@ -79,19 +79,19 @@ class AbstractOpenAICompletionModel extends AbstractModel_js_1.AbstractModel {
79
79
  schema: (0, ZodSchema_js_1.zodSchema)(OpenAICompletionResponseSchema),
80
80
  }));
81
81
  }
82
- processTextGenerationResponse(response) {
82
+ processTextGenerationResponse(rawResponse) {
83
83
  return {
84
- response,
85
- textGenerationResults: response.choices.map((choice) => {
84
+ rawResponse,
85
+ textGenerationResults: rawResponse.choices.map((choice) => {
86
86
  return {
87
87
  finishReason: this.translateFinishReason(choice.finish_reason),
88
88
  text: choice.text,
89
89
  };
90
90
  }),
91
91
  usage: {
92
- promptTokens: response.usage.prompt_tokens,
93
- completionTokens: response.usage.completion_tokens,
94
- totalTokens: response.usage.total_tokens,
92
+ promptTokens: rawResponse.usage.prompt_tokens,
93
+ completionTokens: rawResponse.usage.completion_tokens,
94
+ totalTokens: rawResponse.usage.total_tokens,
95
95
  },
96
96
  };
97
97
  }
@@ -31,7 +31,7 @@ export declare abstract class AbstractOpenAICompletionModel<SETTINGS extends Abs
31
31
  responseFormat: OpenAITextResponseFormatType<RESULT>;
32
32
  }): Promise<RESULT>;
33
33
  doGenerateTexts(prompt: string, options: FunctionCallOptions): Promise<{
34
- response: {
34
+ rawResponse: {
35
35
  object: "text_completion";
36
36
  model: string;
37
37
  usage: {
@@ -60,7 +60,7 @@ export declare abstract class AbstractOpenAICompletionModel<SETTINGS extends Abs
60
60
  };
61
61
  }>;
62
62
  restoreGeneratedTexts(rawResponse: unknown): {
63
- response: {
63
+ rawResponse: {
64
64
  object: "text_completion";
65
65
  model: string;
66
66
  usage: {
@@ -76,19 +76,19 @@ export class AbstractOpenAICompletionModel extends AbstractModel {
76
76
  schema: zodSchema(OpenAICompletionResponseSchema),
77
77
  }));
78
78
  }
79
- processTextGenerationResponse(response) {
79
+ processTextGenerationResponse(rawResponse) {
80
80
  return {
81
- response,
82
- textGenerationResults: response.choices.map((choice) => {
81
+ rawResponse,
82
+ textGenerationResults: rawResponse.choices.map((choice) => {
83
83
  return {
84
84
  finishReason: this.translateFinishReason(choice.finish_reason),
85
85
  text: choice.text,
86
86
  };
87
87
  }),
88
88
  usage: {
89
- promptTokens: response.usage.prompt_tokens,
90
- completionTokens: response.usage.completion_tokens,
91
- totalTokens: response.usage.total_tokens,
89
+ promptTokens: rawResponse.usage.prompt_tokens,
90
+ completionTokens: rawResponse.usage.completion_tokens,
91
+ totalTokens: rawResponse.usage.total_tokens,
92
92
  },
93
93
  };
94
94
  }
@@ -127,12 +127,12 @@ class OpenAIImageGenerationModel extends AbstractModel_js_1.AbstractModel {
127
127
  return Object.fromEntries(Object.entries(this.settings).filter(([key]) => eventSettingProperties.includes(key)));
128
128
  }
129
129
  async doGenerateImages(prompt, options) {
130
- const response = await this.callAPI(prompt, options, {
130
+ const rawResponse = await this.callAPI(prompt, options, {
131
131
  responseFormat: exports.OpenAIImageGenerationResponseFormat.base64Json,
132
132
  });
133
133
  return {
134
- response,
135
- base64Images: response.data.map((item) => item.b64_json),
134
+ rawResponse,
135
+ base64Images: rawResponse.data.map((item) => item.b64_json),
136
136
  };
137
137
  }
138
138
  withPromptTemplate(promptTemplate) {
@@ -52,7 +52,7 @@ export declare class OpenAIImageGenerationModel extends AbstractModel<OpenAIImag
52
52
  }): Promise<RESULT>;
53
53
  get settingsForEvent(): Partial<OpenAIImageGenerationSettings>;
54
54
  doGenerateImages(prompt: string, options: FunctionCallOptions): Promise<{
55
- response: {
55
+ rawResponse: {
56
56
  data: {
57
57
  b64_json: string;
58
58
  }[];
@@ -123,12 +123,12 @@ export class OpenAIImageGenerationModel extends AbstractModel {
123
123
  return Object.fromEntries(Object.entries(this.settings).filter(([key]) => eventSettingProperties.includes(key)));
124
124
  }
125
125
  async doGenerateImages(prompt, options) {
126
- const response = await this.callAPI(prompt, options, {
126
+ const rawResponse = await this.callAPI(prompt, options, {
127
127
  responseFormat: OpenAIImageGenerationResponseFormat.base64Json,
128
128
  });
129
129
  return {
130
- response,
131
- base64Images: response.data.map((item) => item.b64_json),
130
+ rawResponse,
131
+ base64Images: rawResponse.data.map((item) => item.b64_json),
132
132
  };
133
133
  }
134
134
  withPromptTemplate(promptTemplate) {
@@ -125,10 +125,10 @@ class OpenAITextEmbeddingModel extends AbstractModel_js_1.AbstractModel {
125
125
  if (texts.length > this.maxValuesPerCall) {
126
126
  throw new Error(`The OpenAI embedding API only supports ${this.maxValuesPerCall} texts per API call.`);
127
127
  }
128
- const response = await this.callAPI(texts, callOptions);
128
+ const rawResponse = await this.callAPI(texts, callOptions);
129
129
  return {
130
- response,
131
- embeddings: response.data.map((data) => data.embedding),
130
+ rawResponse,
131
+ embeddings: rawResponse.data.map((data) => data.embedding),
132
132
  };
133
133
  }
134
134
  withSettings(additionalSettings) {
@@ -50,7 +50,7 @@ export declare class OpenAITextEmbeddingModel extends AbstractModel<OpenAITextEm
50
50
  callAPI(texts: Array<string>, callOptions: FunctionCallOptions): Promise<OpenAITextEmbeddingResponse>;
51
51
  get settingsForEvent(): Partial<OpenAITextEmbeddingModelSettings>;
52
52
  doEmbedValues(texts: string[], callOptions: FunctionCallOptions): Promise<{
53
- response: {
53
+ rawResponse: {
54
54
  object: "list";
55
55
  model: string;
56
56
  usage: {
@@ -120,10 +120,10 @@ export class OpenAITextEmbeddingModel extends AbstractModel {
120
120
  if (texts.length > this.maxValuesPerCall) {
121
121
  throw new Error(`The OpenAI embedding API only supports ${this.maxValuesPerCall} texts per API call.`);
122
122
  }
123
- const response = await this.callAPI(texts, callOptions);
123
+ const rawResponse = await this.callAPI(texts, callOptions);
124
124
  return {
125
- response,
126
- embeddings: response.data.map((data) => data.embedding),
125
+ rawResponse,
126
+ embeddings: rawResponse.data.map((data) => data.embedding),
127
127
  };
128
128
  }
129
129
  withSettings(additionalSettings) {
@@ -55,12 +55,12 @@ class OpenAITranscriptionModel extends AbstractModel_js_1.AbstractModel {
55
55
  return this.settings.model;
56
56
  }
57
57
  async doTranscribe(data, options) {
58
- const response = await this.callAPI(data, options, {
58
+ const rawResponse = await this.callAPI(data, options, {
59
59
  responseFormat: exports.OpenAITranscriptionResponseFormat.verboseJson,
60
60
  });
61
61
  return {
62
- response,
63
- transcription: response.text,
62
+ rawResponse,
63
+ transcription: rawResponse.text,
64
64
  };
65
65
  }
66
66
  async callAPI(data, callOptions, options) {
@@ -66,7 +66,7 @@ export declare class OpenAITranscriptionModel extends AbstractModel<OpenAITransc
66
66
  readonly provider: "openai";
67
67
  get modelName(): "whisper-1";
68
68
  doTranscribe(data: OpenAITranscriptionInput, options: FunctionCallOptions): Promise<{
69
- response: {
69
+ rawResponse: {
70
70
  text: string;
71
71
  duration: number;
72
72
  task: "transcribe";
@@ -51,12 +51,12 @@ export class OpenAITranscriptionModel extends AbstractModel {
51
51
  return this.settings.model;
52
52
  }
53
53
  async doTranscribe(data, options) {
54
- const response = await this.callAPI(data, options, {
54
+ const rawResponse = await this.callAPI(data, options, {
55
55
  responseFormat: OpenAITranscriptionResponseFormat.verboseJson,
56
56
  });
57
57
  return {
58
- response,
59
- transcription: response.text,
58
+ rawResponse,
59
+ transcription: rawResponse.text,
60
60
  };
61
61
  }
62
62
  async callAPI(data, callOptions, options) {
@@ -94,10 +94,10 @@ class StabilityImageGenerationModel extends AbstractModel_js_1.AbstractModel {
94
94
  };
95
95
  }
96
96
  async doGenerateImages(prompt, callOptions) {
97
- const response = await this.callAPI(prompt, callOptions);
97
+ const rawResponse = await this.callAPI(prompt, callOptions);
98
98
  return {
99
- response,
100
- base64Images: response.artifacts.map((artifact) => artifact.base64),
99
+ rawResponse,
100
+ base64Images: rawResponse.artifacts.map((artifact) => artifact.base64),
101
101
  };
102
102
  }
103
103
  withTextPrompt() {
@@ -67,7 +67,7 @@ export declare class StabilityImageGenerationModel extends AbstractModel<Stabili
67
67
  callAPI(input: StabilityImageGenerationPrompt, callOptions: FunctionCallOptions): Promise<StabilityImageGenerationResponse>;
68
68
  get settingsForEvent(): Partial<StabilityImageGenerationSettings>;
69
69
  doGenerateImages(prompt: StabilityImageGenerationPrompt, callOptions: FunctionCallOptions): Promise<{
70
- response: {
70
+ rawResponse: {
71
71
  artifacts: {
72
72
  base64: string;
73
73
  finishReason: "ERROR" | "SUCCESS" | "CONTENT_FILTERED";
@@ -91,10 +91,10 @@ export class StabilityImageGenerationModel extends AbstractModel {
91
91
  };
92
92
  }
93
93
  async doGenerateImages(prompt, callOptions) {
94
- const response = await this.callAPI(prompt, callOptions);
94
+ const rawResponse = await this.callAPI(prompt, callOptions);
95
95
  return {
96
- response,
97
- base64Images: response.artifacts.map((artifact) => artifact.base64),
96
+ rawResponse,
97
+ base64Images: rawResponse.artifacts.map((artifact) => artifact.base64),
98
98
  };
99
99
  }
100
100
  withTextPrompt() {
@@ -26,10 +26,10 @@ class WhisperCppTranscriptionModel extends AbstractModel_js_1.AbstractModel {
26
26
  });
27
27
  }
28
28
  async doTranscribe(data, options) {
29
- const response = await this.callAPI(data, options);
29
+ const rawResponse = await this.callAPI(data, options);
30
30
  return {
31
- response,
32
- transcription: response.text,
31
+ rawResponse,
32
+ transcription: rawResponse.text,
33
33
  };
34
34
  }
35
35
  async callAPI(data, callOptions) {
@@ -16,7 +16,7 @@ export declare class WhisperCppTranscriptionModel extends AbstractModel<WhisperC
16
16
  readonly provider: "whispercpp";
17
17
  readonly modelName: null;
18
18
  doTranscribe(data: WhisperCppTranscriptionInput, options: FunctionCallOptions): Promise<{
19
- response: {
19
+ rawResponse: {
20
20
  text: string;
21
21
  };
22
22
  transcription: string;
@@ -23,10 +23,10 @@ export class WhisperCppTranscriptionModel extends AbstractModel {
23
23
  });
24
24
  }
25
25
  async doTranscribe(data, options) {
26
- const response = await this.callAPI(data, options);
26
+ const rawResponse = await this.callAPI(data, options);
27
27
  return {
28
- response,
29
- transcription: response.text,
28
+ rawResponse,
29
+ transcription: rawResponse.text,
30
30
  };
31
31
  }
32
32
  async callAPI(data, callOptions) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "modelfusion",
3
3
  "description": "The TypeScript library for building AI applications.",
4
- "version": "0.116.1",
4
+ "version": "0.118.0",
5
5
  "author": "Lars Grammel",
6
6
  "license": "MIT",
7
7
  "keywords": [
@@ -30,13 +30,13 @@ class TextGenerationToolCallModel {
30
30
  return this.model.settingsForEvent;
31
31
  }
32
32
  async doGenerateToolCall(tool, prompt, options) {
33
- const { response, text, metadata } = await (0, generateText_js_1.generateText)(this.model, this.format.createPrompt(prompt, tool), {
33
+ const { rawResponse, text, metadata } = await (0, generateText_js_1.generateText)(this.model, this.format.createPrompt(prompt, tool), {
34
34
  ...options,
35
35
  fullResponse: true,
36
36
  });
37
37
  try {
38
38
  return {
39
- response,
39
+ rawResponse,
40
40
  toolCall: this.format.extractToolCall(text, tool),
41
41
  usage: metadata?.usage,
42
42
  };
@@ -20,7 +20,7 @@ export declare class TextGenerationToolCallModel<SOURCE_PROMPT, TARGET_PROMPT, M
20
20
  get settings(): TextGenerationModelSettings;
21
21
  get settingsForEvent(): Partial<MODEL["settings"]>;
22
22
  doGenerateToolCall(tool: ToolDefinition<string, unknown>, prompt: SOURCE_PROMPT, options?: FunctionOptions): Promise<{
23
- response: unknown;
23
+ rawResponse: unknown;
24
24
  toolCall: {
25
25
  id: string;
26
26
  args: unknown;
@@ -27,13 +27,13 @@ export class TextGenerationToolCallModel {
27
27
  return this.model.settingsForEvent;
28
28
  }
29
29
  async doGenerateToolCall(tool, prompt, options) {
30
- const { response, text, metadata } = await generateText(this.model, this.format.createPrompt(prompt, tool), {
30
+ const { rawResponse, text, metadata } = await generateText(this.model, this.format.createPrompt(prompt, tool), {
31
31
  ...options,
32
32
  fullResponse: true,
33
33
  });
34
34
  try {
35
35
  return {
36
- response,
36
+ rawResponse,
37
37
  toolCall: this.format.extractToolCall(text, tool),
38
38
  usage: metadata?.usage,
39
39
  };
@@ -4,7 +4,7 @@ export interface ToolCallGenerationStartedEvent extends BaseModelCallStartedEven
4
4
  }
5
5
  export type ToolCallGenerationFinishedEventResult = {
6
6
  status: "success";
7
- response: unknown;
7
+ rawResponse: unknown;
8
8
  value: unknown;
9
9
  usage?: {
10
10
  promptTokens: number;
@@ -5,7 +5,7 @@ export interface ToolCallGenerationModelSettings extends ModelSettings {
5
5
  }
6
6
  export interface ToolCallGenerationModel<PROMPT, SETTINGS extends ToolCallGenerationModelSettings = ToolCallGenerationModelSettings> extends Model<SETTINGS> {
7
7
  doGenerateToolCall(tool: ToolDefinition<string, unknown>, prompt: PROMPT, options?: FunctionOptions): PromiseLike<{
8
- response: unknown;
8
+ rawResponse: unknown;
9
9
  toolCall: {
10
10
  id: string;
11
11
  args: unknown;
@@ -33,7 +33,7 @@ async function generateToolCall(model, tool, prompt, options) {
33
33
  });
34
34
  }
35
35
  return {
36
- response: result.response,
36
+ rawResponse: result.rawResponse,
37
37
  extractedValue: {
38
38
  id: toolCall.id,
39
39
  name: tool.name,
@@ -57,7 +57,7 @@ async function generateToolCall(model, tool, prompt, options) {
57
57
  return options?.fullResponse
58
58
  ? {
59
59
  toolCall: fullResponse.value,
60
- response: fullResponse.response,
60
+ response: fullResponse.rawResponse,
61
61
  metadata: fullResponse.metadata,
62
62
  }
63
63
  : fullResponse.value;
@@ -30,7 +30,7 @@ export async function generateToolCall(model, tool, prompt, options) {
30
30
  });
31
31
  }
32
32
  return {
33
- response: result.response,
33
+ rawResponse: result.rawResponse,
34
34
  extractedValue: {
35
35
  id: toolCall.id,
36
36
  name: tool.name,
@@ -54,7 +54,7 @@ export async function generateToolCall(model, tool, prompt, options) {
54
54
  return options?.fullResponse
55
55
  ? {
56
56
  toolCall: fullResponse.value,
57
- response: fullResponse.response,
57
+ response: fullResponse.rawResponse,
58
58
  metadata: fullResponse.metadata,
59
59
  }
60
60
  : fullResponse.value;
@@ -30,14 +30,14 @@ class TextGenerationToolCallsModel {
30
30
  return this.model.settingsForEvent;
31
31
  }
32
32
  async doGenerateToolCalls(tools, prompt, options) {
33
- const { response, text: generatedText, metadata, } = await (0, generateText_js_1.generateText)(this.model, this.template.createPrompt(prompt, tools), {
33
+ const { rawResponse, text: generatedText, metadata, } = await (0, generateText_js_1.generateText)(this.model, this.template.createPrompt(prompt, tools), {
34
34
  ...options,
35
35
  fullResponse: true,
36
36
  });
37
37
  try {
38
38
  const { text, toolCalls } = this.template.extractToolCallsAndText(generatedText);
39
39
  return {
40
- response,
40
+ rawResponse,
41
41
  text,
42
42
  toolCalls,
43
43
  usage: metadata?.usage,
@@ -14,7 +14,7 @@ export declare class TextGenerationToolCallsModel<SOURCE_PROMPT, TARGET_PROMPT,
14
14
  get settings(): ToolCallsGenerationModelSettings;
15
15
  get settingsForEvent(): Partial<MODEL["settings"]>;
16
16
  doGenerateToolCalls(tools: Array<ToolDefinition<string, unknown>>, prompt: SOURCE_PROMPT, options?: FunctionOptions): Promise<{
17
- response: unknown;
17
+ rawResponse: unknown;
18
18
  text: string | null;
19
19
  toolCalls: {
20
20
  id: string;
@@ -27,14 +27,14 @@ export class TextGenerationToolCallsModel {
27
27
  return this.model.settingsForEvent;
28
28
  }
29
29
  async doGenerateToolCalls(tools, prompt, options) {
30
- const { response, text: generatedText, metadata, } = await generateText(this.model, this.template.createPrompt(prompt, tools), {
30
+ const { rawResponse, text: generatedText, metadata, } = await generateText(this.model, this.template.createPrompt(prompt, tools), {
31
31
  ...options,
32
32
  fullResponse: true,
33
33
  });
34
34
  try {
35
35
  const { text, toolCalls } = this.template.extractToolCallsAndText(generatedText);
36
36
  return {
37
- response,
37
+ rawResponse,
38
38
  text,
39
39
  toolCalls,
40
40
  usage: metadata?.usage,
@@ -4,7 +4,7 @@ export interface ToolCallsGenerationStartedEvent extends BaseModelCallStartedEve
4
4
  }
5
5
  export type ToolCallsGenerationFinishedEventResult = {
6
6
  status: "success";
7
- response: unknown;
7
+ rawResponse: unknown;
8
8
  value: unknown;
9
9
  usage?: {
10
10
  promptTokens: number;
@@ -5,7 +5,7 @@ export interface ToolCallsGenerationModelSettings extends ModelSettings {
5
5
  }
6
6
  export interface ToolCallsGenerationModel<PROMPT, SETTINGS extends ToolCallsGenerationModelSettings> extends Model<SETTINGS> {
7
7
  doGenerateToolCalls(tools: Array<ToolDefinition<string, unknown>>, prompt: PROMPT, options?: FunctionOptions): PromiseLike<{
8
- response: unknown;
8
+ rawResponse: unknown;
9
9
  text: string | null;
10
10
  toolCalls: Array<{
11
11
  id: string;
@@ -20,7 +20,7 @@ async function generateToolCalls(model, tools, prompt, options) {
20
20
  // no tool calls:
21
21
  if (rawToolCalls == null) {
22
22
  return {
23
- response: result.response,
23
+ rawResponse: result.rawResponse,
24
24
  extractedValue: { text, toolCalls: null },
25
25
  usage: result.usage,
26
26
  };
@@ -49,7 +49,7 @@ async function generateToolCalls(model, tools, prompt, options) {
49
49
  };
50
50
  });
51
51
  return {
52
- response: result.response,
52
+ rawResponse: result.rawResponse,
53
53
  extractedValue: {
54
54
  text,
55
55
  toolCalls: toolCalls,
@@ -27,7 +27,7 @@ export declare function generateToolCalls<TOOLS extends ToolDefinition<any, any>
27
27
  text: string | null;
28
28
  toolCalls: Array<ToOutputValue<TOOLS>>;
29
29
  };
30
- response: unknown;
30
+ rawResponse: unknown;
31
31
  metadata: ModelCallMetadata;
32
32
  }>;
33
33
  export {};
@@ -17,7 +17,7 @@ export async function generateToolCalls(model, tools, prompt, options) {
17
17
  // no tool calls:
18
18
  if (rawToolCalls == null) {
19
19
  return {
20
- response: result.response,
20
+ rawResponse: result.rawResponse,
21
21
  extractedValue: { text, toolCalls: null },
22
22
  usage: result.usage,
23
23
  };
@@ -46,7 +46,7 @@ export async function generateToolCalls(model, tools, prompt, options) {
46
46
  };
47
47
  });
48
48
  return {
49
- response: result.response,
49
+ rawResponse: result.rawResponse,
50
50
  extractedValue: {
51
51
  text,
52
52
  toolCalls: toolCalls,