modelfusion 0.111.0 → 0.112.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/CHANGELOG.md +11 -0
- package/README.md +41 -65
- package/core/FunctionEvent.d.ts +3 -3
- package/model-function/ModelCallEvent.d.ts +3 -3
- package/model-function/generate-text/PromptTemplateFullTextModel.cjs +2 -2
- package/model-function/generate-text/PromptTemplateFullTextModel.d.ts +3 -3
- package/model-function/generate-text/PromptTemplateFullTextModel.js +2 -2
- package/model-function/generate-text/PromptTemplateTextGenerationModel.cjs +2 -2
- package/model-function/generate-text/PromptTemplateTextGenerationModel.d.ts +3 -3
- package/model-function/generate-text/PromptTemplateTextGenerationModel.js +2 -2
- package/model-provider/mistral/MistralChatModel.d.ts +4 -4
- package/model-provider/mistral/MistralTextEmbeddingModel.d.ts +3 -3
- package/model-provider/ollama/OllamaChatModel.cjs +2 -2
- package/model-provider/ollama/OllamaChatModel.d.ts +3 -3
- package/model-provider/ollama/OllamaChatModel.js +2 -2
- package/model-provider/ollama/OllamaCompletionModel.cjs +2 -2
- package/model-provider/ollama/OllamaCompletionModel.d.ts +3 -3
- package/model-provider/ollama/OllamaCompletionModel.js +2 -2
- package/model-provider/openai/AbstractOpenAIChatModel.cjs +1 -1
- package/model-provider/openai/AbstractOpenAIChatModel.d.ts +7 -7
- package/model-provider/openai/AbstractOpenAIChatModel.js +1 -1
- package/model-provider/openai/AbstractOpenAICompletionModel.d.ts +4 -4
- package/model-provider/openai/OpenAIChatFunctionCallStructureGenerationModel.d.ts +1 -1
- package/model-provider/openai/OpenAIChatModel.d.ts +2 -2
- package/model-provider/openai/OpenAITextEmbeddingModel.d.ts +3 -3
- package/model-provider/openai-compatible/OpenAICompatibleChatModel.d.ts +2 -2
- package/package.json +1 -1
- package/tool/Tool.cjs +0 -10
- package/tool/Tool.d.ts +0 -1
- package/tool/Tool.js +0 -10
- package/tool/{generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.cjs → generate-tool-calls/TextGenerationToolCallsModel.cjs} +7 -7
- package/tool/{generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.d.ts → generate-tool-calls/TextGenerationToolCallsModel.d.ts} +6 -6
- package/tool/{generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js → generate-tool-calls/TextGenerationToolCallsModel.js} +5 -5
- package/tool/generate-tool-calls/ToolCallsGenerationEvent.d.ts +23 -0
- package/tool/{generate-tool-calls-or-text/ToolCallsOrTextGenerationModel.d.ts → generate-tool-calls/ToolCallsGenerationModel.d.ts} +3 -3
- package/tool/{generate-tool-calls-or-text/ToolCallsOrTextParseError.cjs → generate-tool-calls/ToolCallsParseError.cjs} +5 -5
- package/tool/{generate-tool-calls-or-text/ToolCallsOrTextParseError.d.ts → generate-tool-calls/ToolCallsParseError.d.ts} +1 -1
- package/tool/{generate-tool-calls-or-text/ToolCallsOrTextParseError.js → generate-tool-calls/ToolCallsParseError.js} +3 -3
- package/tool/{generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.d.ts → generate-tool-calls/ToolCallsPromptTemplate.d.ts} +1 -1
- package/tool/{generate-tool-calls-or-text/generateToolCallsOrText.cjs → generate-tool-calls/generateToolCalls.cjs} +5 -5
- package/tool/{generate-tool-calls-or-text/generateToolCallsOrText.d.ts → generate-tool-calls/generateToolCalls.d.ts} +3 -3
- package/tool/{generate-tool-calls-or-text/generateToolCallsOrText.js → generate-tool-calls/generateToolCalls.js} +3 -3
- package/tool/{generate-tool-calls-or-text → generate-tool-calls}/index.cjs +6 -6
- package/tool/generate-tool-calls/index.d.ts +6 -0
- package/tool/generate-tool-calls/index.js +6 -0
- package/tool/index.cjs +2 -3
- package/tool/index.d.ts +2 -3
- package/tool/index.js +2 -3
- package/tool/use-tools/UseToolsEvent.d.ts +7 -0
- package/tool/{use-tools-or-generate-text → use-tools}/index.cjs +2 -2
- package/tool/use-tools/index.d.ts +2 -0
- package/tool/use-tools/index.js +2 -0
- package/tool/{use-tools-or-generate-text/useToolsOrGenerateText.cjs → use-tools/useTools.cjs} +6 -6
- package/tool/{use-tools-or-generate-text/useToolsOrGenerateText.d.ts → use-tools/useTools.d.ts} +2 -2
- package/tool/{use-tools-or-generate-text/useToolsOrGenerateText.js → use-tools/useTools.js} +4 -4
- package/tool/InvalidToolNameError.cjs +0 -17
- package/tool/InvalidToolNameError.d.ts +0 -7
- package/tool/InvalidToolNameError.js +0 -13
- package/tool/generate-tool-calls-or-text/ToolCallsOrTextGenerationEvent.d.ts +0 -23
- package/tool/generate-tool-calls-or-text/index.d.ts +0 -6
- package/tool/generate-tool-calls-or-text/index.js +0 -6
- package/tool/use-tools-or-generate-text/UseToolsOrGenerateTextEvent.d.ts +0 -7
- package/tool/use-tools-or-generate-text/index.d.ts +0 -2
- package/tool/use-tools-or-generate-text/index.js +0 -2
- /package/tool/{generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.cjs → generate-tool-calls/ToolCallsGenerationEvent.cjs} +0 -0
- /package/tool/{generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.js → generate-tool-calls/ToolCallsGenerationEvent.js} +0 -0
- /package/tool/{generate-tool-calls-or-text/ToolCallsOrTextGenerationEvent.cjs → generate-tool-calls/ToolCallsGenerationModel.cjs} +0 -0
- /package/tool/{generate-tool-calls-or-text/ToolCallsOrTextGenerationEvent.js → generate-tool-calls/ToolCallsGenerationModel.js} +0 -0
- /package/tool/{generate-tool-calls-or-text/ToolCallsOrTextGenerationModel.cjs → generate-tool-calls/ToolCallsPromptTemplate.cjs} +0 -0
- /package/tool/{generate-tool-calls-or-text/ToolCallsOrTextGenerationModel.js → generate-tool-calls/ToolCallsPromptTemplate.js} +0 -0
- /package/tool/{use-tools-or-generate-text/UseToolsOrGenerateTextEvent.cjs → use-tools/UseToolsEvent.cjs} +0 -0
- /package/tool/{use-tools-or-generate-text/UseToolsOrGenerateTextEvent.js → use-tools/UseToolsEvent.js} +0 -0
package/tool/{use-tools-or-generate-text/useToolsOrGenerateText.cjs → use-tools/useTools.cjs}
RENAMED
@@ -1,11 +1,11 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
3
|
+
exports.useTools = void 0;
|
4
4
|
const executeFunctionCall_js_1 = require("../../core/executeFunctionCall.cjs");
|
5
5
|
const ToolCallError_js_1 = require("../ToolCallError.cjs");
|
6
6
|
const safeExecuteToolCall_js_1 = require("../execute-tool/safeExecuteToolCall.cjs");
|
7
|
-
const
|
8
|
-
async function
|
7
|
+
const generateToolCalls_js_1 = require("../generate-tool-calls/generateToolCalls.cjs");
|
8
|
+
async function useTools(model, tools, prompt, options) {
|
9
9
|
// Note: PROMPT must not be a function.
|
10
10
|
const expandedPrompt = typeof prompt === "function"
|
11
11
|
? prompt(tools)
|
@@ -13,9 +13,9 @@ async function useToolsOrGenerateText(model, tools, prompt, options) {
|
|
13
13
|
return (0, executeFunctionCall_js_1.executeFunctionCall)({
|
14
14
|
options,
|
15
15
|
input: expandedPrompt,
|
16
|
-
functionType: "use-tools
|
16
|
+
functionType: "use-tools",
|
17
17
|
execute: async (options) => {
|
18
|
-
const modelResponse = await (0,
|
18
|
+
const modelResponse = await (0, generateToolCalls_js_1.generateToolCalls)(model, tools, expandedPrompt, { ...options, fullResponse: false });
|
19
19
|
const { toolCalls, text } = modelResponse;
|
20
20
|
// no tool calls:
|
21
21
|
if (toolCalls == null) {
|
@@ -45,4 +45,4 @@ async function useToolsOrGenerateText(model, tools, prompt, options) {
|
|
45
45
|
},
|
46
46
|
});
|
47
47
|
}
|
48
|
-
exports.
|
48
|
+
exports.useTools = useTools;
|
package/tool/{use-tools-or-generate-text/useToolsOrGenerateText.d.ts → use-tools/useTools.d.ts}
RENAMED
@@ -1,7 +1,7 @@
|
|
1
1
|
import { FunctionOptions } from "../../core/FunctionOptions.js";
|
2
2
|
import { Tool } from "../Tool.js";
|
3
3
|
import { ToolCallResult } from "../ToolCallResult.js";
|
4
|
-
import {
|
4
|
+
import { ToolCallsGenerationModel, ToolCallsGenerationModelSettings } from "../generate-tool-calls/ToolCallsGenerationModel.js";
|
5
5
|
type ToolArray<T extends Tool<any, any, any>[]> = T;
|
6
6
|
type ToToolMap<T extends ToolArray<Tool<any, any, any>[]>> = {
|
7
7
|
[K in T[number]["name"]]: Extract<T[number], Tool<K, any, any>>;
|
@@ -11,7 +11,7 @@ type ToToolCallUnion<T> = {
|
|
11
11
|
[KEY in StringKeys<T>]: T[KEY] extends Tool<any, infer PARAMETERS, infer OUTPUT> ? ToolCallResult<KEY, PARAMETERS, OUTPUT> : never;
|
12
12
|
}[StringKeys<T>];
|
13
13
|
type ToOutputValue<TOOLS extends ToolArray<Tool<any, any, any>[]>> = ToToolCallUnion<ToToolMap<TOOLS>>;
|
14
|
-
export declare function
|
14
|
+
export declare function useTools<PROMPT, TOOLS extends Array<Tool<any, any, any>>>(model: ToolCallsGenerationModel<PROMPT, ToolCallsGenerationModelSettings>, tools: TOOLS, prompt: PROMPT | ((tools: TOOLS) => PROMPT), options?: FunctionOptions): Promise<{
|
15
15
|
text: string | null;
|
16
16
|
toolResults: Array<ToOutputValue<TOOLS>> | null;
|
17
17
|
}>;
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { executeFunctionCall } from "../../core/executeFunctionCall.js";
|
2
2
|
import { ToolCallError } from "../ToolCallError.js";
|
3
3
|
import { safeExecuteToolCall } from "../execute-tool/safeExecuteToolCall.js";
|
4
|
-
import {
|
5
|
-
export async function
|
4
|
+
import { generateToolCalls } from "../generate-tool-calls/generateToolCalls.js";
|
5
|
+
export async function useTools(model, tools, prompt, options) {
|
6
6
|
// Note: PROMPT must not be a function.
|
7
7
|
const expandedPrompt = typeof prompt === "function"
|
8
8
|
? prompt(tools)
|
@@ -10,9 +10,9 @@ export async function useToolsOrGenerateText(model, tools, prompt, options) {
|
|
10
10
|
return executeFunctionCall({
|
11
11
|
options,
|
12
12
|
input: expandedPrompt,
|
13
|
-
functionType: "use-tools
|
13
|
+
functionType: "use-tools",
|
14
14
|
execute: async (options) => {
|
15
|
-
const modelResponse = await
|
15
|
+
const modelResponse = await generateToolCalls(model, tools, expandedPrompt, { ...options, fullResponse: false });
|
16
16
|
const { toolCalls, text } = modelResponse;
|
17
17
|
// no tool calls:
|
18
18
|
if (toolCalls == null) {
|
@@ -1,17 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.InvalidToolNameError = void 0;
|
4
|
-
class InvalidToolNameError extends Error {
|
5
|
-
constructor({ toolName, namePattern, }) {
|
6
|
-
super(`Invalid tool name '${toolName}'. The tool name must match the regular expression pattern ${namePattern}.`);
|
7
|
-
Object.defineProperty(this, "toolName", {
|
8
|
-
enumerable: true,
|
9
|
-
configurable: true,
|
10
|
-
writable: true,
|
11
|
-
value: void 0
|
12
|
-
});
|
13
|
-
this.name = "InvalidToolNameError";
|
14
|
-
this.toolName = toolName;
|
15
|
-
}
|
16
|
-
}
|
17
|
-
exports.InvalidToolNameError = InvalidToolNameError;
|
@@ -1,13 +0,0 @@
|
|
1
|
-
export class InvalidToolNameError extends Error {
|
2
|
-
constructor({ toolName, namePattern, }) {
|
3
|
-
super(`Invalid tool name '${toolName}'. The tool name must match the regular expression pattern ${namePattern}.`);
|
4
|
-
Object.defineProperty(this, "toolName", {
|
5
|
-
enumerable: true,
|
6
|
-
configurable: true,
|
7
|
-
writable: true,
|
8
|
-
value: void 0
|
9
|
-
});
|
10
|
-
this.name = "InvalidToolNameError";
|
11
|
-
this.toolName = toolName;
|
12
|
-
}
|
13
|
-
}
|
@@ -1,23 +0,0 @@
|
|
1
|
-
import { BaseModelCallFinishedEvent, BaseModelCallStartedEvent } from "../../model-function/ModelCallEvent.js";
|
2
|
-
export interface ToolCallsOrTextGenerationStartedEvent extends BaseModelCallStartedEvent {
|
3
|
-
functionType: "generate-tool-calls-or-text";
|
4
|
-
}
|
5
|
-
export type ToolCallsOrTextGenerationFinishedEventResult = {
|
6
|
-
status: "success";
|
7
|
-
response: unknown;
|
8
|
-
value: unknown;
|
9
|
-
usage?: {
|
10
|
-
promptTokens: number;
|
11
|
-
completionTokens: number;
|
12
|
-
totalTokens: number;
|
13
|
-
};
|
14
|
-
} | {
|
15
|
-
status: "error";
|
16
|
-
error: unknown;
|
17
|
-
} | {
|
18
|
-
status: "abort";
|
19
|
-
};
|
20
|
-
export type ToolCallsOrTextGenerationFinishedEvent = BaseModelCallFinishedEvent & {
|
21
|
-
functionType: "generate-tool-calls-or-text";
|
22
|
-
result: ToolCallsOrTextGenerationFinishedEventResult;
|
23
|
-
};
|
@@ -1,6 +0,0 @@
|
|
1
|
-
export * from "./TextGenerationToolCallsOrGenerateTextModel.js";
|
2
|
-
export * from "./ToolCallsOrGenerateTextPromptTemplate.js";
|
3
|
-
export * from "./ToolCallsOrTextGenerationEvent.js";
|
4
|
-
export * from "./ToolCallsOrTextGenerationModel.js";
|
5
|
-
export * from "./ToolCallsOrTextParseError.js";
|
6
|
-
export * from "./generateToolCallsOrText.js";
|
@@ -1,6 +0,0 @@
|
|
1
|
-
export * from "./TextGenerationToolCallsOrGenerateTextModel.js";
|
2
|
-
export * from "./ToolCallsOrGenerateTextPromptTemplate.js";
|
3
|
-
export * from "./ToolCallsOrTextGenerationEvent.js";
|
4
|
-
export * from "./ToolCallsOrTextGenerationModel.js";
|
5
|
-
export * from "./ToolCallsOrTextParseError.js";
|
6
|
-
export * from "./generateToolCallsOrText.js";
|
@@ -1,7 +0,0 @@
|
|
1
|
-
import { BaseFunctionFinishedEvent, BaseFunctionStartedEvent } from "../../core/FunctionEvent.js";
|
2
|
-
export interface UseToolsOrGenerateTextStartedEvent extends BaseFunctionStartedEvent {
|
3
|
-
functionType: "use-tools-or-generate-text";
|
4
|
-
}
|
5
|
-
export interface UseToolsOrGenerateTextFinishedEvent extends BaseFunctionFinishedEvent {
|
6
|
-
functionType: "use-tools-or-generate-text";
|
7
|
-
}
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|