modelfusion 0.57.1 → 0.58.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 +4 -3
- package/core/api/loadApiKey.cjs +3 -3
- package/core/api/loadApiKey.js +1 -1
- 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/ollama/OllamaTextGenerationModel.cjs +18 -2
- package/model-provider/ollama/OllamaTextGenerationModel.js +18 -2
- package/package.json +1 -1
- 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/runSafe.test.cjs +59 -0
- package/util/runSafe.test.d.ts +1 -0
- package/util/runSafe.test.js +57 -0
- 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
@@ -0,0 +1,59 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const vitest_1 = require("vitest");
|
4
|
+
const runSafe_js_1 = require("./runSafe.cjs");
|
5
|
+
(0, vitest_1.test)("catch thrown error in sync function", async () => {
|
6
|
+
const error = new Error("test error");
|
7
|
+
const result = await (0, runSafe_js_1.runSafe)(() => {
|
8
|
+
throw error;
|
9
|
+
});
|
10
|
+
(0, vitest_1.expect)(result).toEqual({
|
11
|
+
ok: false,
|
12
|
+
error,
|
13
|
+
});
|
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
|
+
});
|
24
|
+
(0, vitest_1.test)("catch thrown error in async function", async () => {
|
25
|
+
const error = new Error("test error");
|
26
|
+
const result = await (0, runSafe_js_1.runSafe)(async () => {
|
27
|
+
throw error;
|
28
|
+
});
|
29
|
+
(0, vitest_1.expect)(result).toEqual({
|
30
|
+
ok: false,
|
31
|
+
error,
|
32
|
+
});
|
33
|
+
});
|
34
|
+
(0, vitest_1.test)("catch thrown string in async function", async () => {
|
35
|
+
const result = await (0, runSafe_js_1.runSafe)(async () => {
|
36
|
+
throw "test error";
|
37
|
+
});
|
38
|
+
(0, vitest_1.expect)(result).toEqual({
|
39
|
+
ok: false,
|
40
|
+
error: "test error",
|
41
|
+
});
|
42
|
+
});
|
43
|
+
(0, vitest_1.test)("catch rejected Promise", async () => {
|
44
|
+
const error = new Error("test error");
|
45
|
+
const result = await (0, runSafe_js_1.runSafe)(async () => {
|
46
|
+
return Promise.reject(error);
|
47
|
+
});
|
48
|
+
(0, vitest_1.expect)(result).toEqual({
|
49
|
+
ok: false,
|
50
|
+
error,
|
51
|
+
});
|
52
|
+
});
|
53
|
+
(0, vitest_1.test)("no error", async () => {
|
54
|
+
const result = await (0, runSafe_js_1.runSafe)(async () => "result");
|
55
|
+
(0, vitest_1.expect)(result).toEqual({
|
56
|
+
ok: true,
|
57
|
+
value: "result",
|
58
|
+
});
|
59
|
+
});
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,57 @@
|
|
1
|
+
import { expect, test } from "vitest";
|
2
|
+
import { runSafe } from "./runSafe.js";
|
3
|
+
test("catch thrown error in sync function", async () => {
|
4
|
+
const error = new Error("test error");
|
5
|
+
const result = await runSafe(() => {
|
6
|
+
throw error;
|
7
|
+
});
|
8
|
+
expect(result).toEqual({
|
9
|
+
ok: false,
|
10
|
+
error,
|
11
|
+
});
|
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
|
+
});
|
22
|
+
test("catch thrown error in async function", async () => {
|
23
|
+
const error = new Error("test error");
|
24
|
+
const result = await runSafe(async () => {
|
25
|
+
throw error;
|
26
|
+
});
|
27
|
+
expect(result).toEqual({
|
28
|
+
ok: false,
|
29
|
+
error,
|
30
|
+
});
|
31
|
+
});
|
32
|
+
test("catch thrown string in async function", async () => {
|
33
|
+
const result = await runSafe(async () => {
|
34
|
+
throw "test error";
|
35
|
+
});
|
36
|
+
expect(result).toEqual({
|
37
|
+
ok: false,
|
38
|
+
error: "test error",
|
39
|
+
});
|
40
|
+
});
|
41
|
+
test("catch rejected Promise", async () => {
|
42
|
+
const error = new Error("test error");
|
43
|
+
const result = await runSafe(async () => {
|
44
|
+
return Promise.reject(error);
|
45
|
+
});
|
46
|
+
expect(result).toEqual({
|
47
|
+
ok: false,
|
48
|
+
error,
|
49
|
+
});
|
50
|
+
});
|
51
|
+
test("no error", async () => {
|
52
|
+
const result = await runSafe(async () => "result");
|
53
|
+
expect(result).toEqual({
|
54
|
+
ok: true,
|
55
|
+
value: "result",
|
56
|
+
});
|
57
|
+
});
|
@@ -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
|
-
}
|