modelfusion 0.21.0 → 0.23.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 (166) hide show
  1. package/README.md +1 -0
  2. package/composed-function/summarize/SummarizationFunction.d.ts +1 -1
  3. package/composed-function/summarize/summarizeRecursively.d.ts +1 -1
  4. package/composed-function/summarize/summarizeRecursivelyWithTextGenerationAndTokenSplitting.d.ts +1 -1
  5. package/{run → core}/DefaultRun.cjs +1 -1
  6. package/{run → core}/DefaultRun.js +1 -1
  7. package/{run → core}/FunctionEvent.d.ts +30 -6
  8. package/core/FunctionOptions.d.ts +33 -0
  9. package/core/GlobalFunctionLogging.cjs +12 -0
  10. package/core/GlobalFunctionLogging.d.ts +3 -0
  11. package/core/GlobalFunctionLogging.js +7 -0
  12. package/core/getFunctionCallLogger.cjs +74 -0
  13. package/core/getFunctionCallLogger.d.ts +3 -0
  14. package/core/getFunctionCallLogger.js +70 -0
  15. package/{run → core}/index.cjs +1 -1
  16. package/{run → core}/index.d.ts +1 -1
  17. package/{run → core}/index.js +1 -1
  18. package/index.cjs +1 -1
  19. package/index.d.ts +1 -1
  20. package/index.js +1 -1
  21. package/model-function/AbstractModel.d.ts +1 -0
  22. package/model-function/Model.d.ts +7 -2
  23. package/model-function/ModelCallEvent.d.ts +39 -5
  24. package/model-function/ModelFunctionOptions.d.ts +1 -1
  25. package/model-function/SuccessfulModelCall.cjs +4 -2
  26. package/model-function/SuccessfulModelCall.d.ts +1 -1
  27. package/model-function/SuccessfulModelCall.js +4 -2
  28. package/model-function/embed-text/TextEmbeddingEvent.d.ts +12 -12
  29. package/model-function/embed-text/TextEmbeddingModel.d.ts +1 -1
  30. package/model-function/embed-text/embedText.cjs +6 -61
  31. package/model-function/embed-text/embedText.d.ts +3 -3
  32. package/model-function/embed-text/embedText.js +6 -61
  33. package/model-function/executeCall.cjs +50 -30
  34. package/model-function/executeCall.d.ts +16 -22
  35. package/model-function/executeCall.js +48 -28
  36. package/model-function/generate-image/ImageGenerationEvent.d.ts +9 -11
  37. package/model-function/generate-image/generateImage.cjs +2 -27
  38. package/model-function/generate-image/generateImage.d.ts +1 -1
  39. package/model-function/generate-image/generateImage.js +2 -27
  40. package/model-function/generate-json/JsonGenerationEvent.d.ts +14 -11
  41. package/model-function/generate-json/JsonGenerationModel.d.ts +13 -0
  42. package/model-function/generate-json/JsonOrTextGenerationModel.d.ts +23 -0
  43. package/model-function/generate-json/JsonTextGenerationModel.cjs +3 -0
  44. package/model-function/generate-json/JsonTextGenerationModel.d.ts +6 -5
  45. package/model-function/generate-json/JsonTextGenerationModel.js +3 -0
  46. package/model-function/generate-json/generateJson.cjs +3 -27
  47. package/model-function/generate-json/generateJson.d.ts +2 -2
  48. package/model-function/generate-json/generateJson.js +3 -27
  49. package/model-function/generate-json/generateJsonOrText.cjs +3 -27
  50. package/model-function/generate-json/generateJsonOrText.d.ts +2 -2
  51. package/model-function/generate-json/generateJsonOrText.js +3 -27
  52. package/model-function/generate-text/TextGenerationEvent.d.ts +14 -11
  53. package/model-function/generate-text/TextGenerationModel.d.ts +5 -0
  54. package/model-function/generate-text/TextStreamingEvent.d.ts +4 -17
  55. package/model-function/generate-text/generateText.cjs +3 -27
  56. package/model-function/generate-text/generateText.d.ts +1 -1
  57. package/model-function/generate-text/generateText.js +3 -27
  58. package/model-function/generate-text/streamText.cjs +31 -33
  59. package/model-function/generate-text/streamText.d.ts +5 -5
  60. package/model-function/generate-text/streamText.js +31 -33
  61. package/model-function/index.cjs +3 -2
  62. package/model-function/index.d.ts +3 -2
  63. package/model-function/index.js +3 -2
  64. package/model-function/synthesize-speech/SpeechSynthesisEvent.d.ts +12 -11
  65. package/model-function/synthesize-speech/SpeechSynthesisModel.d.ts +1 -1
  66. package/model-function/synthesize-speech/synthesizeSpeech.cjs +2 -28
  67. package/model-function/synthesize-speech/synthesizeSpeech.d.ts +1 -1
  68. package/model-function/synthesize-speech/synthesizeSpeech.js +2 -28
  69. package/model-function/transcribe-speech/TranscriptionEvent.d.ts +9 -11
  70. package/model-function/transcribe-speech/TranscriptionModel.d.ts +1 -1
  71. package/model-function/transcribe-speech/transcribe.cjs +2 -27
  72. package/model-function/transcribe-speech/transcribe.d.ts +1 -1
  73. package/model-function/transcribe-speech/transcribe.js +2 -27
  74. package/model-provider/automatic1111/Automatic1111ImageGenerationModel.cjs +9 -0
  75. package/model-provider/automatic1111/Automatic1111ImageGenerationModel.d.ts +1 -0
  76. package/model-provider/automatic1111/Automatic1111ImageGenerationModel.js +9 -0
  77. package/model-provider/cohere/CohereTextEmbeddingModel.cjs +6 -0
  78. package/model-provider/cohere/CohereTextEmbeddingModel.d.ts +4 -3
  79. package/model-provider/cohere/CohereTextEmbeddingModel.js +6 -0
  80. package/model-provider/cohere/CohereTextGenerationModel.cjs +20 -0
  81. package/model-provider/cohere/CohereTextGenerationModel.d.ts +2 -1
  82. package/model-provider/cohere/CohereTextGenerationModel.js +20 -0
  83. package/model-provider/cohere/CohereTokenizer.d.ts +1 -1
  84. package/model-provider/elevenlabs/ElevenLabsSpeechSynthesisModel.cjs +8 -0
  85. package/model-provider/elevenlabs/ElevenLabsSpeechSynthesisModel.d.ts +1 -0
  86. package/model-provider/elevenlabs/ElevenLabsSpeechSynthesisModel.js +8 -0
  87. package/model-provider/huggingface/HuggingFaceTextEmbeddingModel.cjs +7 -0
  88. package/model-provider/huggingface/HuggingFaceTextEmbeddingModel.d.ts +1 -0
  89. package/model-provider/huggingface/HuggingFaceTextEmbeddingModel.js +7 -0
  90. package/model-provider/huggingface/HuggingFaceTextGenerationModel.cjs +16 -0
  91. package/model-provider/huggingface/HuggingFaceTextGenerationModel.d.ts +1 -0
  92. package/model-provider/huggingface/HuggingFaceTextGenerationModel.js +16 -0
  93. package/model-provider/llamacpp/LlamaCppTextEmbeddingModel.cjs +6 -0
  94. package/model-provider/llamacpp/LlamaCppTextEmbeddingModel.d.ts +1 -0
  95. package/model-provider/llamacpp/LlamaCppTextEmbeddingModel.js +6 -0
  96. package/model-provider/llamacpp/LlamaCppTextGenerationModel.cjs +31 -0
  97. package/model-provider/llamacpp/LlamaCppTextGenerationModel.d.ts +6 -0
  98. package/model-provider/llamacpp/LlamaCppTextGenerationModel.js +31 -0
  99. package/model-provider/llamacpp/LlamaCppTokenizer.d.ts +1 -1
  100. package/model-provider/openai/OpenAIImageGenerationModel.cjs +8 -0
  101. package/model-provider/openai/OpenAIImageGenerationModel.d.ts +1 -0
  102. package/model-provider/openai/OpenAIImageGenerationModel.js +8 -0
  103. package/model-provider/openai/OpenAITextEmbeddingModel.cjs +5 -0
  104. package/model-provider/openai/OpenAITextEmbeddingModel.d.ts +12 -11
  105. package/model-provider/openai/OpenAITextEmbeddingModel.js +5 -0
  106. package/model-provider/openai/OpenAITextGenerationModel.cjs +24 -0
  107. package/model-provider/openai/OpenAITextGenerationModel.d.ts +14 -8
  108. package/model-provider/openai/OpenAITextGenerationModel.js +24 -0
  109. package/model-provider/openai/OpenAITranscriptionModel.cjs +7 -0
  110. package/model-provider/openai/OpenAITranscriptionModel.d.ts +2 -0
  111. package/model-provider/openai/OpenAITranscriptionModel.js +7 -0
  112. package/model-provider/openai/chat/OpenAIChatModel.cjs +20 -0
  113. package/model-provider/openai/chat/OpenAIChatModel.d.ts +17 -11
  114. package/model-provider/openai/chat/OpenAIChatModel.js +20 -0
  115. package/model-provider/openai/chat/OpenAIChatPrompt.d.ts +2 -2
  116. package/model-provider/stability/StabilityImageGenerationModel.cjs +15 -0
  117. package/model-provider/stability/StabilityImageGenerationModel.d.ts +1 -0
  118. package/model-provider/stability/StabilityImageGenerationModel.js +15 -0
  119. package/package.json +1 -1
  120. package/prompt/PromptFormatTextGenerationModel.cjs +3 -0
  121. package/prompt/PromptFormatTextGenerationModel.d.ts +1 -0
  122. package/prompt/PromptFormatTextGenerationModel.js +3 -0
  123. package/text-chunk/split/SplitFunction.d.ts +1 -1
  124. package/tool/ExecuteToolEvent.d.ts +7 -16
  125. package/tool/Tool.d.ts +1 -1
  126. package/tool/WebSearchTool.cjs +25 -0
  127. package/tool/WebSearchTool.d.ts +56 -1
  128. package/tool/WebSearchTool.js +25 -0
  129. package/tool/executeTool.cjs +17 -8
  130. package/tool/executeTool.d.ts +1 -1
  131. package/tool/executeTool.js +17 -8
  132. package/tool/useTool.d.ts +2 -2
  133. package/tool/useToolOrGenerateText.d.ts +2 -2
  134. package/vector-index/VectorIndex.d.ts +1 -1
  135. package/vector-index/memory/MemoryVectorIndex.d.ts +1 -1
  136. package/vector-index/pinecone/PineconeVectorIndex.d.ts +1 -1
  137. package/model-function/generate-json/GenerateJsonModel.d.ts +0 -8
  138. package/model-function/generate-json/GenerateJsonOrTextModel.d.ts +0 -18
  139. package/run/ConsoleLogger.cjs +0 -9
  140. package/run/ConsoleLogger.d.ts +0 -5
  141. package/run/ConsoleLogger.js +0 -5
  142. package/run/FunctionOptions.d.ts +0 -19
  143. /package/{run → core}/DefaultRun.d.ts +0 -0
  144. /package/{run → core}/FunctionEvent.cjs +0 -0
  145. /package/{run → core}/FunctionEvent.js +0 -0
  146. /package/{run → core}/FunctionEventSource.cjs +0 -0
  147. /package/{run → core}/FunctionEventSource.d.ts +0 -0
  148. /package/{run → core}/FunctionEventSource.js +0 -0
  149. /package/{run → core}/FunctionObserver.cjs +0 -0
  150. /package/{run → core}/FunctionObserver.d.ts +0 -0
  151. /package/{run → core}/FunctionObserver.js +0 -0
  152. /package/{run → core}/FunctionOptions.cjs +0 -0
  153. /package/{run → core}/FunctionOptions.js +0 -0
  154. /package/{run → core}/GlobalFunctionObservers.cjs +0 -0
  155. /package/{run → core}/GlobalFunctionObservers.d.ts +0 -0
  156. /package/{run → core}/GlobalFunctionObservers.js +0 -0
  157. /package/{run → core}/Run.cjs +0 -0
  158. /package/{run → core}/Run.d.ts +0 -0
  159. /package/{run → core}/Run.js +0 -0
  160. /package/{run → core}/Vector.cjs +0 -0
  161. /package/{run → core}/Vector.d.ts +0 -0
  162. /package/{run → core}/Vector.js +0 -0
  163. /package/model-function/generate-json/{GenerateJsonModel.cjs → JsonGenerationModel.cjs} +0 -0
  164. /package/model-function/generate-json/{GenerateJsonModel.js → JsonGenerationModel.js} +0 -0
  165. /package/model-function/generate-json/{GenerateJsonOrTextModel.cjs → JsonOrTextGenerationModel.cjs} +0 -0
  166. /package/model-function/generate-json/{GenerateJsonOrTextModel.js → JsonOrTextGenerationModel.js} +0 -0
@@ -1,17 +1,17 @@
1
1
  import { ModelFunctionOptions } from "../ModelFunctionOptions.js";
2
- import { CallMetadata } from "../executeCall.js";
2
+ import { ModelCallMetadata } from "../executeCall.js";
3
3
  import { DeltaEvent } from "./DeltaEvent.js";
4
4
  import { TextGenerationModel, TextGenerationModelSettings } from "./TextGenerationModel.js";
5
- export declare class StreamTextPromise<PROMPT, FULL_DELTA, SETTINGS extends TextGenerationModelSettings> extends Promise<AsyncIterable<string>> {
5
+ export declare class StreamTextPromise extends Promise<AsyncIterable<string>> {
6
6
  private fullPromise;
7
7
  private outputPromise;
8
8
  constructor(fullPromise: Promise<{
9
9
  output: AsyncIterable<string>;
10
- metadata: Omit<CallMetadata<TextGenerationModel<PROMPT, unknown, FULL_DELTA, SETTINGS>>, "durationInMs" | "finishTimestamp">;
10
+ metadata: Omit<ModelCallMetadata, "durationInMs" | "finishTimestamp">;
11
11
  }>);
12
12
  asFullResponse(): Promise<{
13
13
  output: AsyncIterable<string>;
14
- metadata: Omit<CallMetadata<TextGenerationModel<PROMPT, unknown, FULL_DELTA, SETTINGS>>, "durationInMs" | "finishTimestamp">;
14
+ metadata: Omit<ModelCallMetadata, "durationInMs" | "finishTimestamp">;
15
15
  }>;
16
16
  then<TResult1 = AsyncIterable<string>, TResult2 = never>(onfulfilled?: ((value: AsyncIterable<string>) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;
17
17
  catch<TResult = never>(onrejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | undefined | null): Promise<AsyncIterable<string> | TResult>;
@@ -20,4 +20,4 @@ export declare class StreamTextPromise<PROMPT, FULL_DELTA, SETTINGS extends Text
20
20
  export declare function streamText<PROMPT, FULL_DELTA, SETTINGS extends TextGenerationModelSettings>(model: TextGenerationModel<PROMPT, unknown, FULL_DELTA, SETTINGS> & {
21
21
  generateDeltaStreamResponse: (prompt: PROMPT, options: ModelFunctionOptions<SETTINGS>) => PromiseLike<AsyncIterable<DeltaEvent<FULL_DELTA>>>;
22
22
  extractTextDelta: (fullDelta: FULL_DELTA) => string | undefined;
23
- }, prompt: PROMPT, options?: ModelFunctionOptions<SETTINGS>): StreamTextPromise<PROMPT, FULL_DELTA, SETTINGS>;
23
+ }, prompt: PROMPT, options?: ModelFunctionOptions<SETTINGS>): StreamTextPromise;
@@ -1,6 +1,8 @@
1
1
  import { nanoid as createId } from "nanoid";
2
- import { FunctionEventSource } from "../../run/FunctionEventSource.js";
3
- import { getGlobalFunctionObservers } from "../../run/GlobalFunctionObservers.js";
2
+ import { FunctionEventSource } from "../../core/FunctionEventSource.js";
3
+ import { getGlobalFunctionLogging } from "../../core/GlobalFunctionLogging.js";
4
+ import { getGlobalFunctionObservers } from "../../core/GlobalFunctionObservers.js";
5
+ import { getFunctionCallLogger } from "../../core/getFunctionCallLogger.js";
4
6
  import { startDurationMeasurement } from "../../util/DurationMeasurement.js";
5
7
  import { AbortError } from "../../util/api/AbortError.js";
6
8
  import { runSafe } from "../../util/runSafe.js";
@@ -54,6 +56,7 @@ async function doStreamText(model, prompt, options) {
54
56
  const settings = model.settings;
55
57
  const eventSource = new FunctionEventSource({
56
58
  observers: [
59
+ ...getFunctionCallLogger(options?.logging ?? getGlobalFunctionLogging()),
57
60
  ...getGlobalFunctionObservers(),
58
61
  ...(settings.observers ?? []),
59
62
  ...(run?.observers ?? []),
@@ -63,21 +66,21 @@ async function doStreamText(model, prompt, options) {
63
66
  });
64
67
  const durationMeasurement = startDurationMeasurement();
65
68
  const startMetadata = {
69
+ functionType: "text-streaming",
66
70
  callId: `call-${createId()}`,
67
71
  runId: run?.runId,
68
72
  sessionId: run?.sessionId,
69
73
  userId: run?.userId,
70
74
  functionId: options?.functionId,
71
75
  model: model.modelInformation,
76
+ settings: model.settingsForEvent,
77
+ input: prompt,
72
78
  timestamp: durationMeasurement.startDate,
73
79
  startTimestamp: durationMeasurement.startDate,
74
80
  };
75
81
  eventSource.notify({
76
- ...startMetadata,
77
- functionType: "text-streaming",
78
82
  eventType: "started",
79
- settings,
80
- prompt,
83
+ ...startMetadata,
81
84
  });
82
85
  const result = await runSafe(async () => extractTextDeltas({
83
86
  deltaIterable: await model.generateDeltaStreamResponse(prompt, {
@@ -88,70 +91,65 @@ async function doStreamText(model, prompt, options) {
88
91
  extractDelta: (fullDelta) => model.extractTextDelta(fullDelta),
89
92
  onDone: (fullText, lastFullDelta) => {
90
93
  const finishMetadata = {
91
- ...startMetadata,
92
94
  eventType: "finished",
95
+ ...startMetadata,
93
96
  finishTimestamp: new Date(),
94
97
  durationInMs: durationMeasurement.durationInMs,
95
98
  };
96
99
  eventSource.notify({
97
100
  ...finishMetadata,
98
- functionType: "text-streaming",
99
- status: "success",
100
- settings,
101
- prompt,
102
- response: lastFullDelta,
103
- generatedText: fullText,
101
+ result: {
102
+ status: "success",
103
+ response: lastFullDelta,
104
+ output: fullText,
105
+ },
104
106
  });
105
107
  },
106
108
  onError: (error) => {
107
109
  const finishMetadata = {
108
- ...startMetadata,
109
110
  eventType: "finished",
111
+ ...startMetadata,
110
112
  finishTimestamp: new Date(),
111
113
  durationInMs: durationMeasurement.durationInMs,
112
114
  };
113
115
  eventSource.notify(error instanceof AbortError
114
116
  ? {
115
117
  ...finishMetadata,
116
- functionType: "text-streaming",
117
- status: "abort",
118
- settings,
119
- prompt,
118
+ result: {
119
+ status: "abort",
120
+ },
120
121
  }
121
122
  : {
122
123
  ...finishMetadata,
123
- functionType: "text-streaming",
124
- status: "error",
125
- settings,
126
- prompt,
127
- error,
124
+ result: {
125
+ status: "error",
126
+ error,
127
+ },
128
128
  });
129
129
  },
130
130
  }));
131
131
  if (!result.ok) {
132
132
  const finishMetadata = {
133
- ...startMetadata,
134
133
  eventType: "finished",
134
+ ...startMetadata,
135
135
  finishTimestamp: new Date(),
136
136
  durationInMs: durationMeasurement.durationInMs,
137
137
  };
138
138
  if (result.isAborted) {
139
139
  eventSource.notify({
140
140
  ...finishMetadata,
141
- functionType: "text-streaming",
142
- status: "abort",
143
- settings,
144
- prompt,
141
+ result: {
142
+ status: "abort",
143
+ },
145
144
  });
146
145
  throw new AbortError();
147
146
  }
148
147
  eventSource.notify({
149
148
  ...finishMetadata,
150
- functionType: "text-streaming",
151
- status: "error",
152
- settings,
153
- prompt,
154
- error: result.error,
149
+ result: {
150
+ status: "error",
151
+ error: result.error,
152
+ },
155
153
  });
156
154
  throw result.error;
157
155
  }
@@ -25,10 +25,10 @@ __exportStar(require("./embed-text/embedText.cjs"), exports);
25
25
  __exportStar(require("./generate-image/ImageGenerationEvent.cjs"), exports);
26
26
  __exportStar(require("./generate-image/ImageGenerationModel.cjs"), exports);
27
27
  __exportStar(require("./generate-image/generateImage.cjs"), exports);
28
- __exportStar(require("./generate-json/GenerateJsonModel.cjs"), exports);
29
- __exportStar(require("./generate-json/GenerateJsonOrTextModel.cjs"), exports);
30
28
  __exportStar(require("./generate-json/InstructionWithSchemaPrompt.cjs"), exports);
31
29
  __exportStar(require("./generate-json/JsonGenerationEvent.cjs"), exports);
30
+ __exportStar(require("./generate-json/JsonGenerationModel.cjs"), exports);
31
+ __exportStar(require("./generate-json/JsonOrTextGenerationModel.cjs"), exports);
32
32
  __exportStar(require("./generate-json/JsonTextGenerationModel.cjs"), exports);
33
33
  __exportStar(require("./generate-json/NoSuchSchemaError.cjs"), exports);
34
34
  __exportStar(require("./generate-json/SchemaDefinition.cjs"), exports);
@@ -39,6 +39,7 @@ __exportStar(require("./generate-text/DeltaEvent.cjs"), exports);
39
39
  __exportStar(require("./generate-text/TextDeltaEventSource.cjs"), exports);
40
40
  __exportStar(require("./generate-text/TextGenerationEvent.cjs"), exports);
41
41
  __exportStar(require("./generate-text/TextGenerationModel.cjs"), exports);
42
+ __exportStar(require("./generate-text/TextStreamingEvent.cjs"), exports);
42
43
  __exportStar(require("./generate-text/generateText.cjs"), exports);
43
44
  __exportStar(require("./generate-text/streamText.cjs"), exports);
44
45
  __exportStar(require("./synthesize-speech/SpeechSynthesisEvent.cjs"), exports);
@@ -9,10 +9,10 @@ export * from "./embed-text/embedText.js";
9
9
  export * from "./generate-image/ImageGenerationEvent.js";
10
10
  export * from "./generate-image/ImageGenerationModel.js";
11
11
  export * from "./generate-image/generateImage.js";
12
- export * from "./generate-json/GenerateJsonModel.js";
13
- export * from "./generate-json/GenerateJsonOrTextModel.js";
14
12
  export * from "./generate-json/InstructionWithSchemaPrompt.js";
15
13
  export * from "./generate-json/JsonGenerationEvent.js";
14
+ export * from "./generate-json/JsonGenerationModel.js";
15
+ export * from "./generate-json/JsonOrTextGenerationModel.js";
16
16
  export * from "./generate-json/JsonTextGenerationModel.js";
17
17
  export * from "./generate-json/NoSuchSchemaError.js";
18
18
  export * from "./generate-json/SchemaDefinition.js";
@@ -23,6 +23,7 @@ export * from "./generate-text/DeltaEvent.js";
23
23
  export * from "./generate-text/TextDeltaEventSource.js";
24
24
  export * from "./generate-text/TextGenerationEvent.js";
25
25
  export * from "./generate-text/TextGenerationModel.js";
26
+ export * from "./generate-text/TextStreamingEvent.js";
26
27
  export * from "./generate-text/generateText.js";
27
28
  export * from "./generate-text/streamText.js";
28
29
  export * from "./synthesize-speech/SpeechSynthesisEvent.js";
@@ -9,10 +9,10 @@ export * from "./embed-text/embedText.js";
9
9
  export * from "./generate-image/ImageGenerationEvent.js";
10
10
  export * from "./generate-image/ImageGenerationModel.js";
11
11
  export * from "./generate-image/generateImage.js";
12
- export * from "./generate-json/GenerateJsonModel.js";
13
- export * from "./generate-json/GenerateJsonOrTextModel.js";
14
12
  export * from "./generate-json/InstructionWithSchemaPrompt.js";
15
13
  export * from "./generate-json/JsonGenerationEvent.js";
14
+ export * from "./generate-json/JsonGenerationModel.js";
15
+ export * from "./generate-json/JsonOrTextGenerationModel.js";
16
16
  export * from "./generate-json/JsonTextGenerationModel.js";
17
17
  export * from "./generate-json/NoSuchSchemaError.js";
18
18
  export * from "./generate-json/SchemaDefinition.js";
@@ -23,6 +23,7 @@ export * from "./generate-text/DeltaEvent.js";
23
23
  export * from "./generate-text/TextDeltaEventSource.js";
24
24
  export * from "./generate-text/TextGenerationEvent.js";
25
25
  export * from "./generate-text/TextGenerationModel.js";
26
+ export * from "./generate-text/TextStreamingEvent.js";
26
27
  export * from "./generate-text/generateText.js";
27
28
  export * from "./generate-text/streamText.js";
28
29
  export * from "./synthesize-speech/SpeechSynthesisEvent.js";
@@ -1,20 +1,21 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  import { BaseModelCallFinishedEvent, BaseModelCallStartedEvent } from "../ModelCallEvent.js";
3
- export type SpeechSynthesisStartedEvent = BaseModelCallStartedEvent & {
3
+ export interface SpeechSynthesisStartedEvent extends BaseModelCallStartedEvent {
4
4
  functionType: "speech-synthesis";
5
- settings: unknown;
6
- text: string;
7
- };
8
- export type SpeechSynthesisFinishedEvent = BaseModelCallFinishedEvent & {
9
- functionType: "speech-synthesis";
10
- settings: unknown;
11
- text: string;
12
- } & ({
5
+ input: string;
6
+ }
7
+ export type SpeechSynthesisFinishedEventResult = {
13
8
  status: "success";
14
- response: Buffer;
9
+ response: unknown;
10
+ output: Buffer;
15
11
  } | {
16
12
  status: "error";
17
13
  error: unknown;
18
14
  } | {
19
15
  status: "abort";
20
- });
16
+ };
17
+ export interface SpeechSynthesisFinishedEvent extends BaseModelCallFinishedEvent {
18
+ functionType: "speech-synthesis";
19
+ input: string;
20
+ result: SpeechSynthesisFinishedEventResult;
21
+ }
@@ -3,7 +3,7 @@ import { ModelFunctionOptions } from "../ModelFunctionOptions.js";
3
3
  import { Model, ModelSettings } from "../Model.js";
4
4
  export interface SpeechSynthesisModelSettings extends ModelSettings {
5
5
  }
6
- export interface SpeechSynthesisModel<SETTINGS> extends Model<SETTINGS> {
6
+ export interface SpeechSynthesisModel<SETTINGS extends SpeechSynthesisModelSettings> extends Model<SETTINGS> {
7
7
  /**
8
8
  * Generates an mp3 audio buffer that contains the speech for the given text.
9
9
  */
@@ -7,38 +7,12 @@ const executeCall_js_1 = require("../executeCall.cjs");
7
7
  */
8
8
  function synthesizeSpeech(model, text, options) {
9
9
  return (0, executeCall_js_1.executeCall)({
10
+ functionType: "speech-synthesis",
11
+ input: text,
10
12
  model,
11
13
  options,
12
14
  generateResponse: (options) => model.generateSpeechResponse(text, options),
13
15
  extractOutputValue: (buffer) => buffer,
14
- getStartEvent: (metadata, settings) => ({
15
- ...metadata,
16
- functionType: "speech-synthesis",
17
- settings,
18
- text,
19
- }),
20
- getAbortEvent: (metadata, settings) => ({
21
- ...metadata,
22
- functionType: "speech-synthesis",
23
- status: "abort",
24
- settings,
25
- text,
26
- }),
27
- getFailureEvent: (metadata, settings, error) => ({
28
- ...metadata,
29
- functionType: "speech-synthesis",
30
- settings,
31
- text,
32
- error,
33
- }),
34
- getSuccessEvent: (metadata, settings, response, output) => ({
35
- ...metadata,
36
- functionType: "speech-synthesis",
37
- settings,
38
- text,
39
- response,
40
- speech: output,
41
- }),
42
16
  });
43
17
  }
44
18
  exports.synthesizeSpeech = synthesizeSpeech;
@@ -5,4 +5,4 @@ import { SpeechSynthesisModel, SpeechSynthesisModelSettings } from "./SpeechSynt
5
5
  /**
6
6
  * Synthesizes speech from text.
7
7
  */
8
- export declare function synthesizeSpeech<SETTINGS extends SpeechSynthesisModelSettings>(model: SpeechSynthesisModel<SETTINGS>, text: string, options?: ModelFunctionOptions<SETTINGS>): ModelFunctionPromise<SpeechSynthesisModel<SETTINGS>, Buffer, Buffer>;
8
+ export declare function synthesizeSpeech<SETTINGS extends SpeechSynthesisModelSettings>(model: SpeechSynthesisModel<SETTINGS>, text: string, options?: ModelFunctionOptions<SETTINGS>): ModelFunctionPromise<Buffer, Buffer>;
@@ -4,37 +4,11 @@ import { executeCall } from "../executeCall.js";
4
4
  */
5
5
  export function synthesizeSpeech(model, text, options) {
6
6
  return executeCall({
7
+ functionType: "speech-synthesis",
8
+ input: text,
7
9
  model,
8
10
  options,
9
11
  generateResponse: (options) => model.generateSpeechResponse(text, options),
10
12
  extractOutputValue: (buffer) => buffer,
11
- getStartEvent: (metadata, settings) => ({
12
- ...metadata,
13
- functionType: "speech-synthesis",
14
- settings,
15
- text,
16
- }),
17
- getAbortEvent: (metadata, settings) => ({
18
- ...metadata,
19
- functionType: "speech-synthesis",
20
- status: "abort",
21
- settings,
22
- text,
23
- }),
24
- getFailureEvent: (metadata, settings, error) => ({
25
- ...metadata,
26
- functionType: "speech-synthesis",
27
- settings,
28
- text,
29
- error,
30
- }),
31
- getSuccessEvent: (metadata, settings, response, output) => ({
32
- ...metadata,
33
- functionType: "speech-synthesis",
34
- settings,
35
- text,
36
- response,
37
- speech: output,
38
- }),
39
13
  });
40
14
  }
@@ -1,20 +1,18 @@
1
1
  import { BaseModelCallFinishedEvent, BaseModelCallStartedEvent } from "../ModelCallEvent.js";
2
- export type TranscriptionStartedEvent = BaseModelCallStartedEvent & {
2
+ export interface TranscriptionStartedEvent extends BaseModelCallStartedEvent {
3
3
  functionType: "transcription";
4
- settings: unknown;
5
- data: unknown;
6
- };
7
- export type TranscriptionFinishedEvent = BaseModelCallFinishedEvent & {
8
- functionType: "transcription";
9
- settings: unknown;
10
- data: unknown;
11
- } & ({
4
+ }
5
+ export type TranscriptionFinishedEventResult = {
12
6
  status: "success";
13
7
  response: unknown;
14
- transcription: string;
8
+ output: string;
15
9
  } | {
16
10
  status: "error";
17
11
  error: unknown;
18
12
  } | {
19
13
  status: "abort";
20
- });
14
+ };
15
+ export interface TranscriptionFinishedEvent extends BaseModelCallFinishedEvent {
16
+ functionType: "transcription";
17
+ result: TranscriptionFinishedEventResult;
18
+ }
@@ -2,7 +2,7 @@ import { ModelFunctionOptions } from "../ModelFunctionOptions.js";
2
2
  import { Model, ModelSettings } from "../Model.js";
3
3
  export interface TranscriptionModelSettings extends ModelSettings {
4
4
  }
5
- export interface TranscriptionModel<DATA, RESPONSE, SETTINGS> extends Model<SETTINGS> {
5
+ export interface TranscriptionModel<DATA, RESPONSE, SETTINGS extends TranscriptionModelSettings> extends Model<SETTINGS> {
6
6
  generateTranscriptionResponse: (data: DATA, options?: ModelFunctionOptions<SETTINGS>) => PromiseLike<RESPONSE>;
7
7
  extractTranscriptionText: (response: RESPONSE) => string;
8
8
  }
@@ -18,37 +18,12 @@ const executeCall_js_1 = require("../executeCall.cjs");
18
18
  */
19
19
  function transcribe(model, data, options) {
20
20
  return (0, executeCall_js_1.executeCall)({
21
+ functionType: "transcription",
22
+ input: data,
21
23
  model,
22
24
  options,
23
25
  generateResponse: (options) => model.generateTranscriptionResponse(data, options),
24
26
  extractOutputValue: model.extractTranscriptionText,
25
- getStartEvent: (metadata, settings) => ({
26
- ...metadata,
27
- functionType: "transcription",
28
- settings,
29
- data,
30
- }),
31
- getAbortEvent: (metadata, settings) => ({
32
- ...metadata,
33
- functionType: "transcription",
34
- settings,
35
- data,
36
- }),
37
- getFailureEvent: (metadata, settings, error) => ({
38
- ...metadata,
39
- functionType: "transcription",
40
- settings,
41
- data,
42
- error,
43
- }),
44
- getSuccessEvent: (metadata, settings, response, output) => ({
45
- ...metadata,
46
- functionType: "transcription",
47
- settings,
48
- data,
49
- response,
50
- transcription: output,
51
- }),
52
27
  });
53
28
  }
54
29
  exports.transcribe = transcribe;
@@ -15,4 +15,4 @@ import { TranscriptionModel, TranscriptionModelSettings } from "./TranscriptionM
15
15
  * }
16
16
  * );
17
17
  */
18
- export declare function transcribe<DATA, RESPONSE, SETTINGS extends TranscriptionModelSettings>(model: TranscriptionModel<DATA, RESPONSE, SETTINGS>, data: DATA, options?: ModelFunctionOptions<SETTINGS>): ModelFunctionPromise<TranscriptionModel<DATA, RESPONSE, SETTINGS>, string, RESPONSE>;
18
+ export declare function transcribe<DATA, RESPONSE, SETTINGS extends TranscriptionModelSettings>(model: TranscriptionModel<DATA, RESPONSE, SETTINGS>, data: DATA, options?: ModelFunctionOptions<SETTINGS>): ModelFunctionPromise<string, RESPONSE>;
@@ -15,36 +15,11 @@ import { executeCall } from "../executeCall.js";
15
15
  */
16
16
  export function transcribe(model, data, options) {
17
17
  return executeCall({
18
+ functionType: "transcription",
19
+ input: data,
18
20
  model,
19
21
  options,
20
22
  generateResponse: (options) => model.generateTranscriptionResponse(data, options),
21
23
  extractOutputValue: model.extractTranscriptionText,
22
- getStartEvent: (metadata, settings) => ({
23
- ...metadata,
24
- functionType: "transcription",
25
- settings,
26
- data,
27
- }),
28
- getAbortEvent: (metadata, settings) => ({
29
- ...metadata,
30
- functionType: "transcription",
31
- settings,
32
- data,
33
- }),
34
- getFailureEvent: (metadata, settings, error) => ({
35
- ...metadata,
36
- functionType: "transcription",
37
- settings,
38
- data,
39
- error,
40
- }),
41
- getSuccessEvent: (metadata, settings, response, output) => ({
42
- ...metadata,
43
- functionType: "transcription",
44
- settings,
45
- data,
46
- response,
47
- transcription: output,
48
- }),
49
24
  });
50
25
  }
@@ -38,6 +38,15 @@ class Automatic1111ImageGenerationModel extends AbstractModel_js_1.AbstractModel
38
38
  call: async () => callAutomatic1111ImageGenerationAPI(callSettings),
39
39
  });
40
40
  }
41
+ get settingsForEvent() {
42
+ return {
43
+ baseUrl: this.settings.baseUrl,
44
+ height: this.settings.height,
45
+ width: this.settings.width,
46
+ sampler: this.settings.sampler,
47
+ steps: this.settings.steps,
48
+ };
49
+ }
41
50
  generateImageResponse(prompt, options) {
42
51
  return this.callAPI(prompt, options);
43
52
  }
@@ -14,6 +14,7 @@ export declare class Automatic1111ImageGenerationModel extends AbstractModel<Aut
14
14
  readonly provider: "Automatic1111";
15
15
  get modelName(): string;
16
16
  callAPI(input: A111ImageGenerationPrompt, options?: ModelFunctionOptions<Automatic1111ImageGenerationModelSettings>): Promise<Automatic1111ImageGenerationResponse>;
17
+ get settingsForEvent(): Partial<Automatic1111ImageGenerationModelSettings>;
17
18
  generateImageResponse(prompt: A111ImageGenerationPrompt, options?: ModelFunctionOptions<Automatic1111ImageGenerationModelSettings>): Promise<{
18
19
  images: string[];
19
20
  parameters: {};
@@ -35,6 +35,15 @@ export class Automatic1111ImageGenerationModel extends AbstractModel {
35
35
  call: async () => callAutomatic1111ImageGenerationAPI(callSettings),
36
36
  });
37
37
  }
38
+ get settingsForEvent() {
39
+ return {
40
+ baseUrl: this.settings.baseUrl,
41
+ height: this.settings.height,
42
+ width: this.settings.width,
43
+ sampler: this.settings.sampler,
44
+ steps: this.settings.steps,
45
+ };
46
+ }
38
47
  generateImageResponse(prompt, options) {
39
48
  return this.callAPI(prompt, options);
40
49
  }
@@ -120,6 +120,12 @@ class CohereTextEmbeddingModel extends AbstractModel_js_1.AbstractModel {
120
120
  call: async () => callCohereEmbeddingAPI(callSettings),
121
121
  });
122
122
  }
123
+ get settingsForEvent() {
124
+ return {
125
+ baseUrl: this.settings.baseUrl,
126
+ truncate: this.settings.truncate,
127
+ };
128
+ }
123
129
  generateEmbeddingResponse(texts, options) {
124
130
  return this.callAPI(texts, options);
125
131
  }
@@ -62,14 +62,15 @@ export declare class CohereTextEmbeddingModel extends AbstractModel<CohereTextEm
62
62
  detokenize(tokens: number[]): Promise<string>;
63
63
  private get apiKey();
64
64
  callAPI(texts: Array<string>, options?: ModelFunctionOptions<CohereTextEmbeddingModelSettings>): Promise<CohereTextEmbeddingResponse>;
65
+ get settingsForEvent(): Partial<CohereTextEmbeddingModelSettings>;
65
66
  generateEmbeddingResponse(texts: string[], options?: ModelFunctionOptions<CohereTextEmbeddingModelSettings>): Promise<{
66
- texts: string[];
67
67
  id: string;
68
68
  meta: {
69
69
  api_version: {
70
70
  version: string;
71
71
  };
72
72
  };
73
+ texts: string[];
73
74
  embeddings: number[][];
74
75
  }>;
75
76
  extractEmbeddings(response: CohereTextEmbeddingResponse): number[][];
@@ -97,22 +98,22 @@ declare const cohereTextEmbeddingResponseSchema: z.ZodObject<{
97
98
  };
98
99
  }>;
99
100
  }, "strip", z.ZodTypeAny, {
100
- texts: string[];
101
101
  id: string;
102
102
  meta: {
103
103
  api_version: {
104
104
  version: string;
105
105
  };
106
106
  };
107
+ texts: string[];
107
108
  embeddings: number[][];
108
109
  }, {
109
- texts: string[];
110
110
  id: string;
111
111
  meta: {
112
112
  api_version: {
113
113
  version: string;
114
114
  };
115
115
  };
116
+ texts: string[];
116
117
  embeddings: number[][];
117
118
  }>;
118
119
  export type CohereTextEmbeddingResponse = z.infer<typeof cohereTextEmbeddingResponseSchema>;
@@ -114,6 +114,12 @@ export class CohereTextEmbeddingModel extends AbstractModel {
114
114
  call: async () => callCohereEmbeddingAPI(callSettings),
115
115
  });
116
116
  }
117
+ get settingsForEvent() {
118
+ return {
119
+ baseUrl: this.settings.baseUrl,
120
+ truncate: this.settings.truncate,
121
+ };
122
+ }
117
123
  generateEmbeddingResponse(texts, options) {
118
124
  return this.callAPI(texts, options);
119
125
  }
@@ -102,6 +102,8 @@ class CohereTextGenerationModel extends AbstractModel_js_1.AbstractModel {
102
102
  // to exclude stop tokens from the generated text
103
103
  endSequences: combinedSettings.stopSequences,
104
104
  maxTokens: combinedSettings.maxCompletionTokens,
105
+ // mapped name because of conflict with stopSequences:
106
+ stopSequences: combinedSettings.cohereStopSequences,
105
107
  abortSignal: run?.abortSignal,
106
108
  prompt,
107
109
  responseFormat,
@@ -112,6 +114,24 @@ class CohereTextGenerationModel extends AbstractModel_js_1.AbstractModel {
112
114
  call: async () => callCohereTextGenerationAPI(callSettings),
113
115
  });
114
116
  }
117
+ get settingsForEvent() {
118
+ const eventSettingProperties = [
119
+ "maxCompletionTokens",
120
+ "stopSequences",
121
+ "baseUrl",
122
+ "numGenerations",
123
+ "temperature",
124
+ "k",
125
+ "p",
126
+ "frequencyPenalty",
127
+ "presencePenalty",
128
+ "returnLikelihoods",
129
+ "logitBias",
130
+ "truncate",
131
+ "cohereStopSequences",
132
+ ];
133
+ return Object.fromEntries(Object.entries(this.settings).filter(([key]) => eventSettingProperties.includes(key)));
134
+ }
115
135
  generateTextResponse(prompt, options) {
116
136
  return this.callAPI(prompt, {
117
137
  ...options,