modelfusion 0.57.2 → 0.59.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.
- package/README.md +6 -4
- package/core/api/retryWithExponentialBackoff.cjs +5 -4
- package/core/api/retryWithExponentialBackoff.js +5 -4
- package/model-function/embed/embed.cjs +8 -44
- package/model-function/embed/embed.d.ts +23 -5
- package/model-function/embed/embed.js +8 -44
- package/model-function/generate-image/generateImage.cjs +12 -28
- package/model-function/generate-image/generateImage.d.ts +16 -3
- package/model-function/generate-image/generateImage.js +12 -28
- package/model-function/generate-speech/generateSpeech.cjs +4 -22
- package/model-function/generate-speech/generateSpeech.d.ts +12 -3
- package/model-function/generate-speech/generateSpeech.js +4 -22
- package/model-function/generate-speech/streamSpeech.cjs +5 -31
- package/model-function/generate-speech/streamSpeech.d.ts +11 -3
- package/model-function/generate-speech/streamSpeech.js +5 -31
- package/model-function/generate-structure/StructureFromTextGenerationModel.cjs +4 -1
- package/model-function/generate-structure/StructureFromTextGenerationModel.js +4 -1
- package/model-function/generate-structure/generateStructure.cjs +4 -45
- package/model-function/generate-structure/generateStructure.d.ts +12 -3
- package/model-function/generate-structure/generateStructure.js +4 -45
- package/model-function/generate-structure/generateStructureOrText.cjs +4 -66
- package/model-function/generate-structure/generateStructureOrText.d.ts +16 -3
- package/model-function/generate-structure/generateStructureOrText.js +4 -66
- package/model-function/generate-structure/streamStructure.cjs +4 -71
- package/model-function/generate-structure/streamStructure.d.ts +10 -2
- package/model-function/generate-structure/streamStructure.js +4 -71
- package/model-function/generate-text/generateText.cjs +5 -28
- package/model-function/generate-text/generateText.d.ts +12 -3
- package/model-function/generate-text/generateText.js +5 -28
- package/model-function/generate-text/streamText.cjs +4 -29
- package/model-function/generate-text/streamText.d.ts +10 -2
- package/model-function/generate-text/streamText.js +4 -29
- package/model-function/generate-transcription/generateTranscription.cjs +4 -23
- package/model-function/generate-transcription/generateTranscription.d.ts +12 -3
- package/model-function/generate-transcription/generateTranscription.js +4 -23
- package/model-provider/elevenlabs/ElevenLabsSpeechModel.cjs +1 -0
- package/model-provider/elevenlabs/ElevenLabsSpeechModel.d.ts +1 -1
- package/model-provider/elevenlabs/ElevenLabsSpeechModel.js +1 -0
- package/model-provider/ollama/OllamaTextGenerationModel.cjs +18 -2
- package/model-provider/ollama/OllamaTextGenerationModel.js +18 -2
- package/package.json +1 -1
- package/tool/NoSuchToolError.cjs +8 -0
- package/tool/NoSuchToolError.d.ts +6 -0
- package/tool/NoSuchToolError.js +8 -0
- package/tool/ToolExecutionError.cjs +10 -0
- package/tool/ToolExecutionError.d.ts +8 -0
- package/tool/ToolExecutionError.js +10 -0
- package/tool/executeTool.cjs +5 -41
- package/tool/executeTool.d.ts +11 -16
- package/tool/executeTool.js +4 -39
- package/tool/useTool.cjs +4 -1
- package/tool/useTool.js +4 -1
- package/tool/useToolOrGenerateText.cjs +4 -1
- package/tool/useToolOrGenerateText.js +4 -1
- package/util/JSONParseError.cjs +1 -0
- package/util/JSONParseError.d.ts +1 -0
- package/util/JSONParseError.js +1 -0
- package/util/runSafe.test.cjs +10 -1
- package/util/runSafe.test.js +10 -1
- package/model-function/AsyncIterableResultPromise.cjs +0 -37
- package/model-function/AsyncIterableResultPromise.d.ts +0 -16
- package/model-function/AsyncIterableResultPromise.js +0 -33
- package/model-function/ModelFunctionPromise.cjs +0 -37
- package/model-function/ModelFunctionPromise.d.ts +0 -18
- package/model-function/ModelFunctionPromise.js +0 -33
- package/model-function/generate-image/ImageGenerationPromise.cjs +0 -50
- package/model-function/generate-image/ImageGenerationPromise.d.ts +0 -22
- package/model-function/generate-image/ImageGenerationPromise.js +0 -46
@@ -16,7 +16,10 @@ export async function useToolOrGenerateText(model, tools, prompt, options) {
|
|
16
16
|
name: tool.name,
|
17
17
|
description: tool.description,
|
18
18
|
schema: tool.inputSchema,
|
19
|
-
})), expandedPrompt,
|
19
|
+
})), expandedPrompt, {
|
20
|
+
...options,
|
21
|
+
returnType: "structure",
|
22
|
+
});
|
20
23
|
const { structure, text } = modelResponse;
|
21
24
|
if (structure == null) {
|
22
25
|
return {
|
package/util/JSONParseError.cjs
CHANGED
package/util/JSONParseError.d.ts
CHANGED
package/util/JSONParseError.js
CHANGED
package/util/runSafe.test.cjs
CHANGED
@@ -12,6 +12,15 @@ const runSafe_js_1 = require("./runSafe.cjs");
|
|
12
12
|
error,
|
13
13
|
});
|
14
14
|
});
|
15
|
+
(0, vitest_1.test)("catch thrown string in sync function", async () => {
|
16
|
+
const result = await (0, runSafe_js_1.runSafe)(() => {
|
17
|
+
throw "test error";
|
18
|
+
});
|
19
|
+
(0, vitest_1.expect)(result).toEqual({
|
20
|
+
ok: false,
|
21
|
+
error: "test error",
|
22
|
+
});
|
23
|
+
});
|
15
24
|
(0, vitest_1.test)("catch thrown error in async function", async () => {
|
16
25
|
const error = new Error("test error");
|
17
26
|
const result = await (0, runSafe_js_1.runSafe)(async () => {
|
@@ -22,7 +31,7 @@ const runSafe_js_1 = require("./runSafe.cjs");
|
|
22
31
|
error,
|
23
32
|
});
|
24
33
|
});
|
25
|
-
(0, vitest_1.test)("catch thrown string", async () => {
|
34
|
+
(0, vitest_1.test)("catch thrown string in async function", async () => {
|
26
35
|
const result = await (0, runSafe_js_1.runSafe)(async () => {
|
27
36
|
throw "test error";
|
28
37
|
});
|
package/util/runSafe.test.js
CHANGED
@@ -10,6 +10,15 @@ test("catch thrown error in sync function", async () => {
|
|
10
10
|
error,
|
11
11
|
});
|
12
12
|
});
|
13
|
+
test("catch thrown string in sync function", async () => {
|
14
|
+
const result = await runSafe(() => {
|
15
|
+
throw "test error";
|
16
|
+
});
|
17
|
+
expect(result).toEqual({
|
18
|
+
ok: false,
|
19
|
+
error: "test error",
|
20
|
+
});
|
21
|
+
});
|
13
22
|
test("catch thrown error in async function", async () => {
|
14
23
|
const error = new Error("test error");
|
15
24
|
const result = await runSafe(async () => {
|
@@ -20,7 +29,7 @@ test("catch thrown error in async function", async () => {
|
|
20
29
|
error,
|
21
30
|
});
|
22
31
|
});
|
23
|
-
test("catch thrown string", async () => {
|
32
|
+
test("catch thrown string in async function", async () => {
|
24
33
|
const result = await runSafe(async () => {
|
25
34
|
throw "test error";
|
26
35
|
});
|
@@ -1,37 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.AsyncIterableResultPromise = void 0;
|
4
|
-
class AsyncIterableResultPromise extends Promise {
|
5
|
-
constructor(fullPromise) {
|
6
|
-
super((resolve) => {
|
7
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
8
|
-
resolve(null); // we override the resolve function
|
9
|
-
});
|
10
|
-
Object.defineProperty(this, "fullPromise", {
|
11
|
-
enumerable: true,
|
12
|
-
configurable: true,
|
13
|
-
writable: true,
|
14
|
-
value: fullPromise
|
15
|
-
});
|
16
|
-
Object.defineProperty(this, "valuePromise", {
|
17
|
-
enumerable: true,
|
18
|
-
configurable: true,
|
19
|
-
writable: true,
|
20
|
-
value: void 0
|
21
|
-
});
|
22
|
-
this.valuePromise = fullPromise.then((result) => result.value);
|
23
|
-
}
|
24
|
-
asFullResponse() {
|
25
|
-
return this.fullPromise;
|
26
|
-
}
|
27
|
-
then(onfulfilled, onrejected) {
|
28
|
-
return this.valuePromise.then(onfulfilled, onrejected);
|
29
|
-
}
|
30
|
-
catch(onrejected) {
|
31
|
-
return this.valuePromise.catch(onrejected);
|
32
|
-
}
|
33
|
-
finally(onfinally) {
|
34
|
-
return this.valuePromise.finally(onfinally);
|
35
|
-
}
|
36
|
-
}
|
37
|
-
exports.AsyncIterableResultPromise = AsyncIterableResultPromise;
|
@@ -1,16 +0,0 @@
|
|
1
|
-
import { ModelCallMetadata } from "./ModelCallMetadata.js";
|
2
|
-
export declare class AsyncIterableResultPromise<T> extends Promise<AsyncIterable<T>> {
|
3
|
-
private fullPromise;
|
4
|
-
private valuePromise;
|
5
|
-
constructor(fullPromise: Promise<{
|
6
|
-
value: AsyncIterable<T>;
|
7
|
-
metadata: Omit<ModelCallMetadata, "durationInMs" | "finishTimestamp">;
|
8
|
-
}>);
|
9
|
-
asFullResponse(): Promise<{
|
10
|
-
value: AsyncIterable<T>;
|
11
|
-
metadata: Omit<ModelCallMetadata, "durationInMs" | "finishTimestamp">;
|
12
|
-
}>;
|
13
|
-
then<TResult1 = AsyncIterable<T>, TResult2 = never>(onfulfilled?: ((value: AsyncIterable<T>) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;
|
14
|
-
catch<TResult = never>(onrejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | undefined | null): Promise<AsyncIterable<T> | TResult>;
|
15
|
-
finally(onfinally?: (() => void) | undefined | null): Promise<AsyncIterable<T>>;
|
16
|
-
}
|
@@ -1,33 +0,0 @@
|
|
1
|
-
export class AsyncIterableResultPromise extends Promise {
|
2
|
-
constructor(fullPromise) {
|
3
|
-
super((resolve) => {
|
4
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
5
|
-
resolve(null); // we override the resolve function
|
6
|
-
});
|
7
|
-
Object.defineProperty(this, "fullPromise", {
|
8
|
-
enumerable: true,
|
9
|
-
configurable: true,
|
10
|
-
writable: true,
|
11
|
-
value: fullPromise
|
12
|
-
});
|
13
|
-
Object.defineProperty(this, "valuePromise", {
|
14
|
-
enumerable: true,
|
15
|
-
configurable: true,
|
16
|
-
writable: true,
|
17
|
-
value: void 0
|
18
|
-
});
|
19
|
-
this.valuePromise = fullPromise.then((result) => result.value);
|
20
|
-
}
|
21
|
-
asFullResponse() {
|
22
|
-
return this.fullPromise;
|
23
|
-
}
|
24
|
-
then(onfulfilled, onrejected) {
|
25
|
-
return this.valuePromise.then(onfulfilled, onrejected);
|
26
|
-
}
|
27
|
-
catch(onrejected) {
|
28
|
-
return this.valuePromise.catch(onrejected);
|
29
|
-
}
|
30
|
-
finally(onfinally) {
|
31
|
-
return this.valuePromise.finally(onfinally);
|
32
|
-
}
|
33
|
-
}
|
@@ -1,37 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.ModelFunctionPromise = void 0;
|
4
|
-
class ModelFunctionPromise extends Promise {
|
5
|
-
constructor(fullPromise) {
|
6
|
-
super((resolve) => {
|
7
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
8
|
-
resolve(null); // we override the resolve function
|
9
|
-
});
|
10
|
-
Object.defineProperty(this, "fullPromise", {
|
11
|
-
enumerable: true,
|
12
|
-
configurable: true,
|
13
|
-
writable: true,
|
14
|
-
value: fullPromise
|
15
|
-
});
|
16
|
-
Object.defineProperty(this, "valuePromise", {
|
17
|
-
enumerable: true,
|
18
|
-
configurable: true,
|
19
|
-
writable: true,
|
20
|
-
value: void 0
|
21
|
-
});
|
22
|
-
this.valuePromise = fullPromise.then((result) => result.value);
|
23
|
-
}
|
24
|
-
asFullResponse() {
|
25
|
-
return this.fullPromise;
|
26
|
-
}
|
27
|
-
then(onfulfilled, onrejected) {
|
28
|
-
return this.valuePromise.then(onfulfilled, onrejected);
|
29
|
-
}
|
30
|
-
catch(onrejected) {
|
31
|
-
return this.valuePromise.catch(onrejected);
|
32
|
-
}
|
33
|
-
finally(onfinally) {
|
34
|
-
return this.valuePromise.finally(onfinally);
|
35
|
-
}
|
36
|
-
}
|
37
|
-
exports.ModelFunctionPromise = ModelFunctionPromise;
|
@@ -1,18 +0,0 @@
|
|
1
|
-
import { ModelCallMetadata } from "./ModelCallMetadata.js";
|
2
|
-
export declare class ModelFunctionPromise<VALUE> extends Promise<VALUE> {
|
3
|
-
private fullPromise;
|
4
|
-
private valuePromise;
|
5
|
-
constructor(fullPromise: Promise<{
|
6
|
-
value: VALUE;
|
7
|
-
response: unknown;
|
8
|
-
metadata: ModelCallMetadata;
|
9
|
-
}>);
|
10
|
-
asFullResponse(): Promise<{
|
11
|
-
value: VALUE;
|
12
|
-
response: unknown;
|
13
|
-
metadata: ModelCallMetadata;
|
14
|
-
}>;
|
15
|
-
then<TResult1 = VALUE, TResult2 = never>(onfulfilled?: ((value: VALUE) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;
|
16
|
-
catch<TResult = never>(onrejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | undefined | null): Promise<VALUE | TResult>;
|
17
|
-
finally(onfinally?: (() => void) | undefined | null): Promise<VALUE>;
|
18
|
-
}
|
@@ -1,33 +0,0 @@
|
|
1
|
-
export class ModelFunctionPromise extends Promise {
|
2
|
-
constructor(fullPromise) {
|
3
|
-
super((resolve) => {
|
4
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
5
|
-
resolve(null); // we override the resolve function
|
6
|
-
});
|
7
|
-
Object.defineProperty(this, "fullPromise", {
|
8
|
-
enumerable: true,
|
9
|
-
configurable: true,
|
10
|
-
writable: true,
|
11
|
-
value: fullPromise
|
12
|
-
});
|
13
|
-
Object.defineProperty(this, "valuePromise", {
|
14
|
-
enumerable: true,
|
15
|
-
configurable: true,
|
16
|
-
writable: true,
|
17
|
-
value: void 0
|
18
|
-
});
|
19
|
-
this.valuePromise = fullPromise.then((result) => result.value);
|
20
|
-
}
|
21
|
-
asFullResponse() {
|
22
|
-
return this.fullPromise;
|
23
|
-
}
|
24
|
-
then(onfulfilled, onrejected) {
|
25
|
-
return this.valuePromise.then(onfulfilled, onrejected);
|
26
|
-
}
|
27
|
-
catch(onrejected) {
|
28
|
-
return this.valuePromise.catch(onrejected);
|
29
|
-
}
|
30
|
-
finally(onfinally) {
|
31
|
-
return this.valuePromise.finally(onfinally);
|
32
|
-
}
|
33
|
-
}
|
@@ -1,50 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.ImageGenerationPromise = void 0;
|
4
|
-
class ImageGenerationPromise extends Promise {
|
5
|
-
constructor(fullPromise) {
|
6
|
-
super((resolve) => {
|
7
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
8
|
-
resolve(null); // we override the resolve function
|
9
|
-
});
|
10
|
-
Object.defineProperty(this, "fullPromise", {
|
11
|
-
enumerable: true,
|
12
|
-
configurable: true,
|
13
|
-
writable: true,
|
14
|
-
value: fullPromise
|
15
|
-
});
|
16
|
-
Object.defineProperty(this, "imageBase64Promise", {
|
17
|
-
enumerable: true,
|
18
|
-
configurable: true,
|
19
|
-
writable: true,
|
20
|
-
value: void 0
|
21
|
-
});
|
22
|
-
Object.defineProperty(this, "imageBufferPromise", {
|
23
|
-
enumerable: true,
|
24
|
-
configurable: true,
|
25
|
-
writable: true,
|
26
|
-
value: void 0
|
27
|
-
});
|
28
|
-
this.imageBase64Promise = fullPromise.then((result) => result.value);
|
29
|
-
this.imageBufferPromise = this.imageBase64Promise.then((base64Text) => Buffer.from(base64Text, "base64"));
|
30
|
-
}
|
31
|
-
asFullResponse() {
|
32
|
-
return this.fullPromise;
|
33
|
-
}
|
34
|
-
asBase64Text() {
|
35
|
-
return this.imageBase64Promise;
|
36
|
-
}
|
37
|
-
asBuffer() {
|
38
|
-
return this.imageBufferPromise;
|
39
|
-
}
|
40
|
-
then(onfulfilled, onrejected) {
|
41
|
-
return this.imageBufferPromise.then(onfulfilled, onrejected);
|
42
|
-
}
|
43
|
-
catch(onrejected) {
|
44
|
-
return this.imageBufferPromise.catch(onrejected);
|
45
|
-
}
|
46
|
-
finally(onfinally) {
|
47
|
-
return this.imageBufferPromise.finally(onfinally);
|
48
|
-
}
|
49
|
-
}
|
50
|
-
exports.ImageGenerationPromise = ImageGenerationPromise;
|
@@ -1,22 +0,0 @@
|
|
1
|
-
/// <reference types="node" />
|
2
|
-
import { ModelCallMetadata } from "../ModelCallMetadata.js";
|
3
|
-
export declare class ImageGenerationPromise extends Promise<Buffer> {
|
4
|
-
private fullPromise;
|
5
|
-
private imageBase64Promise;
|
6
|
-
private imageBufferPromise;
|
7
|
-
constructor(fullPromise: Promise<{
|
8
|
-
value: string;
|
9
|
-
response: unknown;
|
10
|
-
metadata: ModelCallMetadata;
|
11
|
-
}>);
|
12
|
-
asFullResponse(): Promise<{
|
13
|
-
value: string;
|
14
|
-
response: unknown;
|
15
|
-
metadata: ModelCallMetadata;
|
16
|
-
}>;
|
17
|
-
asBase64Text(): Promise<string>;
|
18
|
-
asBuffer(): Promise<Buffer>;
|
19
|
-
then<TResult1 = Buffer, TResult2 = never>(onfulfilled?: ((value: Buffer) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;
|
20
|
-
catch<TResult = never>(onrejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | undefined | null): Promise<Buffer | TResult>;
|
21
|
-
finally(onfinally?: (() => void) | undefined | null): Promise<Buffer>;
|
22
|
-
}
|
@@ -1,46 +0,0 @@
|
|
1
|
-
export class ImageGenerationPromise extends Promise {
|
2
|
-
constructor(fullPromise) {
|
3
|
-
super((resolve) => {
|
4
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
5
|
-
resolve(null); // we override the resolve function
|
6
|
-
});
|
7
|
-
Object.defineProperty(this, "fullPromise", {
|
8
|
-
enumerable: true,
|
9
|
-
configurable: true,
|
10
|
-
writable: true,
|
11
|
-
value: fullPromise
|
12
|
-
});
|
13
|
-
Object.defineProperty(this, "imageBase64Promise", {
|
14
|
-
enumerable: true,
|
15
|
-
configurable: true,
|
16
|
-
writable: true,
|
17
|
-
value: void 0
|
18
|
-
});
|
19
|
-
Object.defineProperty(this, "imageBufferPromise", {
|
20
|
-
enumerable: true,
|
21
|
-
configurable: true,
|
22
|
-
writable: true,
|
23
|
-
value: void 0
|
24
|
-
});
|
25
|
-
this.imageBase64Promise = fullPromise.then((result) => result.value);
|
26
|
-
this.imageBufferPromise = this.imageBase64Promise.then((base64Text) => Buffer.from(base64Text, "base64"));
|
27
|
-
}
|
28
|
-
asFullResponse() {
|
29
|
-
return this.fullPromise;
|
30
|
-
}
|
31
|
-
asBase64Text() {
|
32
|
-
return this.imageBase64Promise;
|
33
|
-
}
|
34
|
-
asBuffer() {
|
35
|
-
return this.imageBufferPromise;
|
36
|
-
}
|
37
|
-
then(onfulfilled, onrejected) {
|
38
|
-
return this.imageBufferPromise.then(onfulfilled, onrejected);
|
39
|
-
}
|
40
|
-
catch(onrejected) {
|
41
|
-
return this.imageBufferPromise.catch(onrejected);
|
42
|
-
}
|
43
|
-
finally(onfinally) {
|
44
|
-
return this.imageBufferPromise.finally(onfinally);
|
45
|
-
}
|
46
|
-
}
|