modelfusion 0.6.0 → 0.8.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 (126) hide show
  1. package/README.md +27 -16
  2. package/composed-function/index.cjs +0 -3
  3. package/composed-function/index.d.ts +0 -3
  4. package/composed-function/index.js +0 -3
  5. package/composed-function/summarize/summarizeRecursivelyWithTextGenerationAndTokenSplitting.cjs +1 -1
  6. package/composed-function/summarize/summarizeRecursivelyWithTextGenerationAndTokenSplitting.js +1 -1
  7. package/index.cjs +1 -0
  8. package/index.d.ts +1 -0
  9. package/index.js +1 -0
  10. package/model-function/Model.d.ts +2 -2
  11. package/model-function/ModelCallEvent.d.ts +4 -6
  12. package/model-function/SuccessfulModelCall.cjs +6 -3
  13. package/model-function/SuccessfulModelCall.d.ts +3 -3
  14. package/model-function/SuccessfulModelCall.js +6 -3
  15. package/model-function/embed-text/embedText.cjs +16 -30
  16. package/model-function/embed-text/embedText.d.ts +14 -4
  17. package/model-function/embed-text/embedText.js +16 -30
  18. package/model-function/executeCall.cjs +6 -6
  19. package/model-function/executeCall.js +6 -6
  20. package/model-function/generate-image/generateImage.cjs +7 -20
  21. package/model-function/generate-image/generateImage.d.ts +7 -2
  22. package/model-function/generate-image/generateImage.js +7 -20
  23. package/model-function/generate-json/JsonGenerationEvent.d.ts +2 -2
  24. package/model-function/generate-json/generateJson.cjs +7 -5
  25. package/model-function/generate-json/generateJson.d.ts +6 -1
  26. package/model-function/generate-json/generateJson.js +7 -5
  27. package/model-function/generate-json/generateJsonOrText.cjs +11 -9
  28. package/model-function/generate-json/generateJsonOrText.d.ts +10 -1
  29. package/model-function/generate-json/generateJsonOrText.js +11 -9
  30. package/model-function/generate-text/generateText.cjs +7 -17
  31. package/model-function/generate-text/generateText.d.ts +7 -2
  32. package/model-function/generate-text/generateText.js +7 -17
  33. package/model-function/generate-text/streamText.cjs +13 -11
  34. package/model-function/generate-text/streamText.d.ts +9 -1
  35. package/model-function/generate-text/streamText.js +13 -11
  36. package/model-function/index.cjs +1 -1
  37. package/model-function/index.d.ts +1 -1
  38. package/model-function/index.js +1 -1
  39. package/model-function/transcribe-audio/transcribe.cjs +7 -19
  40. package/model-function/transcribe-audio/transcribe.d.ts +7 -2
  41. package/model-function/transcribe-audio/transcribe.js +7 -19
  42. package/model-provider/automatic1111/Automatic1111ImageGenerationModel.d.ts +3 -3
  43. package/model-provider/cohere/CohereTextEmbeddingModel.cjs +1 -1
  44. package/model-provider/cohere/CohereTextEmbeddingModel.d.ts +1 -1
  45. package/model-provider/cohere/CohereTextEmbeddingModel.js +1 -1
  46. package/model-provider/cohere/CohereTextGenerationModel.cjs +1 -1
  47. package/model-provider/cohere/CohereTextGenerationModel.d.ts +1 -1
  48. package/model-provider/cohere/CohereTextGenerationModel.js +1 -1
  49. package/model-provider/huggingface/HuggingFaceTextEmbeddingModel.cjs +1 -1
  50. package/model-provider/huggingface/HuggingFaceTextEmbeddingModel.d.ts +1 -1
  51. package/model-provider/huggingface/HuggingFaceTextEmbeddingModel.js +1 -1
  52. package/model-provider/huggingface/HuggingFaceTextGenerationModel.cjs +1 -1
  53. package/model-provider/huggingface/HuggingFaceTextGenerationModel.d.ts +1 -1
  54. package/model-provider/huggingface/HuggingFaceTextGenerationModel.js +1 -1
  55. package/model-provider/openai/OpenAIImageGenerationModel.cjs +1 -1
  56. package/model-provider/openai/OpenAIImageGenerationModel.d.ts +1 -1
  57. package/model-provider/openai/OpenAIImageGenerationModel.js +1 -1
  58. package/model-provider/openai/OpenAITextEmbeddingModel.cjs +1 -1
  59. package/model-provider/openai/OpenAITextEmbeddingModel.d.ts +1 -1
  60. package/model-provider/openai/OpenAITextEmbeddingModel.js +1 -1
  61. package/model-provider/openai/OpenAITextGenerationModel.cjs +1 -1
  62. package/model-provider/openai/OpenAITextGenerationModel.d.ts +1 -1
  63. package/model-provider/openai/OpenAITextGenerationModel.js +1 -1
  64. package/model-provider/openai/OpenAITranscriptionModel.cjs +1 -1
  65. package/model-provider/openai/OpenAITranscriptionModel.d.ts +1 -1
  66. package/model-provider/openai/OpenAITranscriptionModel.js +1 -1
  67. package/model-provider/openai/chat/OpenAIChatModel.cjs +1 -1
  68. package/model-provider/openai/chat/OpenAIChatModel.d.ts +1 -1
  69. package/model-provider/openai/chat/OpenAIChatModel.js +1 -1
  70. package/model-provider/openai/chat/OpenAIChatPrompt.d.ts +1 -1
  71. package/model-provider/stability/StabilityImageGenerationModel.cjs +1 -1
  72. package/model-provider/stability/StabilityImageGenerationModel.d.ts +1 -1
  73. package/model-provider/stability/StabilityImageGenerationModel.js +1 -1
  74. package/package.json +1 -1
  75. package/run/ConsoleLogger.cjs +2 -2
  76. package/run/ConsoleLogger.d.ts +5 -5
  77. package/run/ConsoleLogger.js +2 -2
  78. package/run/DefaultRun.cjs +7 -7
  79. package/run/DefaultRun.d.ts +6 -6
  80. package/run/DefaultRun.js +7 -7
  81. package/run/Run.d.ts +2 -2
  82. package/run/RunFunction.d.ts +0 -4
  83. package/run/RunFunctionEvent.d.ts +12 -0
  84. package/{model-function/ModelCallEventSource.cjs → run/RunFunctionEventSource.cjs} +7 -7
  85. package/run/RunFunctionEventSource.d.ts +13 -0
  86. package/{model-function/ModelCallEventSource.js → run/RunFunctionEventSource.js} +5 -5
  87. package/run/RunFunctionObserver.cjs +2 -0
  88. package/run/RunFunctionObserver.d.ts +5 -0
  89. package/run/RunFunctionObserver.js +1 -0
  90. package/run/index.cjs +3 -0
  91. package/run/index.d.ts +3 -0
  92. package/run/index.js +3 -0
  93. package/text-chunk/SimilarTextChunksFromVectorIndexRetriever.cjs +1 -1
  94. package/text-chunk/SimilarTextChunksFromVectorIndexRetriever.js +1 -1
  95. package/text-chunk/upsertTextChunks.cjs +1 -1
  96. package/text-chunk/upsertTextChunks.js +1 -1
  97. package/tool/ExecuteToolEvent.cjs +2 -0
  98. package/tool/ExecuteToolEvent.d.ts +22 -0
  99. package/tool/ExecuteToolEvent.js +1 -0
  100. package/{composed-function/use-tool → tool}/Tool.cjs +7 -0
  101. package/{composed-function/use-tool → tool}/Tool.d.ts +5 -2
  102. package/{composed-function/use-tool → tool}/Tool.js +7 -0
  103. package/tool/ToolExecutionError.cjs +31 -0
  104. package/tool/ToolExecutionError.d.ts +11 -0
  105. package/tool/ToolExecutionError.js +27 -0
  106. package/tool/executeTool.cjs +79 -0
  107. package/tool/executeTool.d.ts +20 -0
  108. package/tool/executeTool.js +75 -0
  109. package/tool/index.cjs +22 -0
  110. package/tool/index.d.ts +6 -0
  111. package/tool/index.js +6 -0
  112. package/tool/useTool.cjs +33 -0
  113. package/tool/useTool.d.ts +15 -0
  114. package/tool/useTool.js +29 -0
  115. package/tool/useToolOrGenerateText.cjs +38 -0
  116. package/{composed-function/use-tool/useTool.d.ts → tool/useToolOrGenerateText.d.ts} +2 -15
  117. package/tool/useToolOrGenerateText.js +34 -0
  118. package/composed-function/use-tool/useTool.cjs +0 -59
  119. package/composed-function/use-tool/useTool.js +0 -54
  120. package/model-function/ModelCallEventSource.d.ts +0 -13
  121. package/model-function/ModelCallObserver.d.ts +0 -5
  122. /package/{model-function/ModelCallObserver.cjs → run/RunFunctionEvent.cjs} +0 -0
  123. /package/{model-function/ModelCallObserver.js → run/RunFunctionEvent.js} +0 -0
  124. /package/{composed-function/use-tool → tool}/NoSuchToolError.cjs +0 -0
  125. /package/{composed-function/use-tool → tool}/NoSuchToolError.d.ts +0 -0
  126. /package/{composed-function/use-tool → tool}/NoSuchToolError.js +0 -0
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useToolOrGenerateText = exports.useTool = void 0;
4
- const generateJson_js_1 = require("../../model-function/generate-json/generateJson.cjs");
5
- const generateJsonOrText_js_1 = require("../../model-function/generate-json/generateJsonOrText.cjs");
6
- const NoSuchToolError_js_1 = require("./NoSuchToolError.cjs");
7
- // In this file, using 'any' is required to allow for flexibility in the inputs. The actual types are
8
- // retrieved through lookups such as TOOL["name"], such that any does not affect any client.
9
- /* eslint-disable @typescript-eslint/no-explicit-any */
10
- /**
11
- * `useTool` uses `generateJson` to generate parameters for a tool and then executes the tool with the parameters.
12
- *
13
- * @returns The result contains the name of the tool (`tool` property),
14
- * the parameters (`parameters` property, typed),
15
- * and the result of the tool execution (`result` property, typed).
16
- */
17
- async function useTool(model, tool, prompt, options) {
18
- const { value } = await (0, generateJson_js_1.generateJson)(model, {
19
- name: tool.name,
20
- description: tool.description,
21
- schema: tool.inputSchema,
22
- }, () => prompt(tool), options);
23
- return {
24
- tool: tool.name,
25
- parameters: value,
26
- result: await tool.execute(value),
27
- };
28
- }
29
- exports.useTool = useTool;
30
- async function useToolOrGenerateText(model, tools, prompt, options) {
31
- const expandedPrompt = prompt(tools);
32
- const modelResponse = await (0, generateJsonOrText_js_1.generateJsonOrText)(model, tools.map((tool) => ({
33
- name: tool.name,
34
- description: tool.description,
35
- schema: tool.inputSchema,
36
- })), () => expandedPrompt, options);
37
- const { schema, text } = modelResponse;
38
- if (schema == null) {
39
- return {
40
- tool: null,
41
- parameters: null,
42
- result: null,
43
- text,
44
- };
45
- }
46
- const tool = tools.find((tool) => tool.name === schema);
47
- if (tool == null) {
48
- throw new NoSuchToolError_js_1.NoSuchToolError(schema.toString());
49
- }
50
- const toolParameters = modelResponse.value;
51
- const result = await tool.execute(toolParameters);
52
- return {
53
- tool: schema,
54
- result,
55
- parameters: toolParameters,
56
- text: text, // string | null is the expected value here
57
- };
58
- }
59
- exports.useToolOrGenerateText = useToolOrGenerateText;
@@ -1,54 +0,0 @@
1
- import { generateJson } from "../../model-function/generate-json/generateJson.js";
2
- import { generateJsonOrText } from "../../model-function/generate-json/generateJsonOrText.js";
3
- import { NoSuchToolError } from "./NoSuchToolError.js";
4
- // In this file, using 'any' is required to allow for flexibility in the inputs. The actual types are
5
- // retrieved through lookups such as TOOL["name"], such that any does not affect any client.
6
- /* eslint-disable @typescript-eslint/no-explicit-any */
7
- /**
8
- * `useTool` uses `generateJson` to generate parameters for a tool and then executes the tool with the parameters.
9
- *
10
- * @returns The result contains the name of the tool (`tool` property),
11
- * the parameters (`parameters` property, typed),
12
- * and the result of the tool execution (`result` property, typed).
13
- */
14
- export async function useTool(model, tool, prompt, options) {
15
- const { value } = await generateJson(model, {
16
- name: tool.name,
17
- description: tool.description,
18
- schema: tool.inputSchema,
19
- }, () => prompt(tool), options);
20
- return {
21
- tool: tool.name,
22
- parameters: value,
23
- result: await tool.execute(value),
24
- };
25
- }
26
- export async function useToolOrGenerateText(model, tools, prompt, options) {
27
- const expandedPrompt = prompt(tools);
28
- const modelResponse = await generateJsonOrText(model, tools.map((tool) => ({
29
- name: tool.name,
30
- description: tool.description,
31
- schema: tool.inputSchema,
32
- })), () => expandedPrompt, options);
33
- const { schema, text } = modelResponse;
34
- if (schema == null) {
35
- return {
36
- tool: null,
37
- parameters: null,
38
- result: null,
39
- text,
40
- };
41
- }
42
- const tool = tools.find((tool) => tool.name === schema);
43
- if (tool == null) {
44
- throw new NoSuchToolError(schema.toString());
45
- }
46
- const toolParameters = modelResponse.value;
47
- const result = await tool.execute(toolParameters);
48
- return {
49
- tool: schema,
50
- result,
51
- parameters: toolParameters,
52
- text: text, // string | null is the expected value here
53
- };
54
- }
@@ -1,13 +0,0 @@
1
- import { ErrorHandler } from "../util/ErrorHandler.js";
2
- import { ModelCallFinishedEvent, ModelCallStartedEvent } from "./ModelCallEvent.js";
3
- import { ModelCallObserver } from "./ModelCallObserver.js";
4
- export declare class ModelCallEventSource {
5
- readonly observers: ModelCallObserver[];
6
- readonly errorHandler: ErrorHandler;
7
- constructor({ observers, errorHandler, }: {
8
- observers: ModelCallObserver[];
9
- errorHandler?: ErrorHandler;
10
- });
11
- notifyModelCallStarted(event: ModelCallStartedEvent): void;
12
- notifyModelCallFinished(event: ModelCallFinishedEvent): void;
13
- }
@@ -1,5 +0,0 @@
1
- import { ModelCallFinishedEvent, ModelCallStartedEvent } from "./ModelCallEvent.js";
2
- export type ModelCallObserver = {
3
- onModelCallStarted?: (event: ModelCallStartedEvent) => void;
4
- onModelCallFinished?: (event: ModelCallFinishedEvent) => void;
5
- };