modelfusion 0.29.0 → 0.30.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 (112) hide show
  1. package/README.md +27 -32
  2. package/core/index.cjs +1 -0
  3. package/core/index.d.ts +1 -0
  4. package/core/index.js +1 -0
  5. package/core/structure/Schema.d.ts +24 -0
  6. package/core/structure/StructureDefinition.d.ts +6 -0
  7. package/core/structure/UncheckedJsonSchemaSchema.cjs +26 -0
  8. package/core/structure/UncheckedJsonSchemaSchema.d.ts +14 -0
  9. package/core/structure/UncheckedJsonSchemaSchema.js +22 -0
  10. package/core/structure/UncheckedJsonSchemaStructureDefinition.cjs +30 -0
  11. package/core/structure/UncheckedJsonSchemaStructureDefinition.d.ts +12 -0
  12. package/core/structure/UncheckedJsonSchemaStructureDefinition.js +26 -0
  13. package/core/structure/ZodSchema.cjs +31 -0
  14. package/core/structure/ZodSchema.d.ts +15 -0
  15. package/core/structure/ZodSchema.js +27 -0
  16. package/core/structure/ZodStructureDefinition.cjs +30 -0
  17. package/core/structure/ZodStructureDefinition.d.ts +13 -0
  18. package/core/structure/ZodStructureDefinition.js +26 -0
  19. package/core/structure/index.cjs +22 -0
  20. package/core/structure/index.d.ts +6 -0
  21. package/core/structure/index.js +6 -0
  22. package/model-function/ModelCallEvent.d.ts +3 -3
  23. package/model-function/SuccessfulModelCall.d.ts +1 -1
  24. package/model-function/embed-text/TextEmbeddingModel.d.ts +4 -1
  25. package/model-function/embed-text/embedText.cjs +7 -2
  26. package/model-function/embed-text/embedText.js +7 -2
  27. package/model-function/generate-structure/InstructionWithStructurePrompt.cjs +17 -0
  28. package/model-function/generate-structure/InstructionWithStructurePrompt.d.ts +17 -0
  29. package/model-function/generate-structure/InstructionWithStructurePrompt.js +14 -0
  30. package/model-function/generate-structure/NoSuchStructureError.cjs +17 -0
  31. package/model-function/generate-structure/NoSuchStructureError.d.ts +4 -0
  32. package/model-function/generate-structure/NoSuchStructureError.js +13 -0
  33. package/model-function/{generate-json/JsonTextGenerationModel.cjs → generate-structure/StructureFromTextGenerationModel.cjs} +7 -7
  34. package/model-function/generate-structure/StructureFromTextGenerationModel.d.ts +26 -0
  35. package/model-function/{generate-json/JsonTextGenerationModel.js → generate-structure/StructureFromTextGenerationModel.js} +5 -5
  36. package/model-function/generate-structure/StructureGenerationEvent.d.ts +23 -0
  37. package/model-function/generate-structure/StructureGenerationModel.d.ts +13 -0
  38. package/model-function/generate-structure/StructureOrTextGenerationModel.cjs +2 -0
  39. package/model-function/generate-structure/StructureOrTextGenerationModel.d.ts +23 -0
  40. package/model-function/generate-structure/StructureOrTextGenerationModel.js +1 -0
  41. package/model-function/generate-structure/StructureValidationError.cjs +34 -0
  42. package/model-function/generate-structure/StructureValidationError.d.ts +10 -0
  43. package/model-function/generate-structure/StructureValidationError.js +30 -0
  44. package/model-function/generate-structure/generateStructure.cjs +29 -0
  45. package/model-function/generate-structure/generateStructure.d.ts +5 -0
  46. package/model-function/generate-structure/generateStructure.js +25 -0
  47. package/model-function/generate-structure/generateStructureOrText.cjs +42 -0
  48. package/model-function/generate-structure/generateStructureOrText.d.ts +22 -0
  49. package/model-function/generate-structure/generateStructureOrText.js +38 -0
  50. package/model-function/index.cjs +9 -10
  51. package/model-function/index.d.ts +9 -10
  52. package/model-function/index.js +9 -10
  53. package/model-provider/openai/OpenAICostCalculator.cjs +1 -1
  54. package/model-provider/openai/OpenAICostCalculator.js +1 -1
  55. package/model-provider/openai/OpenAITextEmbeddingModel.cjs +6 -8
  56. package/model-provider/openai/OpenAITextEmbeddingModel.d.ts +2 -2
  57. package/model-provider/openai/OpenAITextEmbeddingModel.js +6 -8
  58. package/model-provider/openai/chat/OpenAIChatModel.cjs +2 -2
  59. package/model-provider/openai/chat/OpenAIChatModel.d.ts +5 -5
  60. package/model-provider/openai/chat/OpenAIChatModel.js +2 -2
  61. package/model-provider/openai/chat/OpenAIChatPrompt.cjs +22 -26
  62. package/model-provider/openai/chat/OpenAIChatPrompt.d.ts +20 -30
  63. package/model-provider/openai/chat/OpenAIChatPrompt.js +22 -26
  64. package/model-provider/openai/index.d.ts +1 -1
  65. package/model-provider/openai/index.js +1 -1
  66. package/package.json +9 -12
  67. package/tool/Tool.cjs +2 -2
  68. package/tool/Tool.d.ts +8 -8
  69. package/tool/Tool.js +2 -2
  70. package/tool/WebSearchTool.cjs +5 -4
  71. package/tool/WebSearchTool.d.ts +2 -22
  72. package/tool/WebSearchTool.js +5 -4
  73. package/tool/executeTool.cjs +1 -1
  74. package/tool/executeTool.d.ts +1 -2
  75. package/tool/executeTool.js +1 -1
  76. package/tool/useTool.cjs +3 -3
  77. package/tool/useTool.d.ts +3 -3
  78. package/tool/useTool.js +3 -3
  79. package/tool/useToolOrGenerateText.cjs +7 -7
  80. package/tool/useToolOrGenerateText.d.ts +2 -2
  81. package/tool/useToolOrGenerateText.js +7 -7
  82. package/util/getErrorMessage.cjs +13 -0
  83. package/util/getErrorMessage.d.ts +1 -0
  84. package/util/getErrorMessage.js +9 -0
  85. package/model-function/generate-json/InstructionWithSchemaPrompt.cjs +0 -17
  86. package/model-function/generate-json/InstructionWithSchemaPrompt.d.ts +0 -26
  87. package/model-function/generate-json/InstructionWithSchemaPrompt.js +0 -14
  88. package/model-function/generate-json/JsonGenerationEvent.d.ts +0 -23
  89. package/model-function/generate-json/JsonGenerationModel.d.ts +0 -13
  90. package/model-function/generate-json/JsonOrTextGenerationModel.d.ts +0 -23
  91. package/model-function/generate-json/JsonTextGenerationModel.d.ts +0 -26
  92. package/model-function/generate-json/NoSuchSchemaError.cjs +0 -17
  93. package/model-function/generate-json/NoSuchSchemaError.d.ts +0 -4
  94. package/model-function/generate-json/NoSuchSchemaError.js +0 -13
  95. package/model-function/generate-json/SchemaDefinition.d.ts +0 -6
  96. package/model-function/generate-json/SchemaValidationError.cjs +0 -36
  97. package/model-function/generate-json/SchemaValidationError.d.ts +0 -11
  98. package/model-function/generate-json/SchemaValidationError.js +0 -32
  99. package/model-function/generate-json/generateJson.cjs +0 -29
  100. package/model-function/generate-json/generateJson.d.ts +0 -5
  101. package/model-function/generate-json/generateJson.js +0 -25
  102. package/model-function/generate-json/generateJsonOrText.cjs +0 -42
  103. package/model-function/generate-json/generateJsonOrText.d.ts +0 -22
  104. package/model-function/generate-json/generateJsonOrText.js +0 -38
  105. /package/{model-function/generate-json/JsonGenerationEvent.cjs → core/structure/Schema.cjs} +0 -0
  106. /package/{model-function/generate-json/JsonGenerationEvent.js → core/structure/Schema.js} +0 -0
  107. /package/{model-function/generate-json/JsonGenerationModel.cjs → core/structure/StructureDefinition.cjs} +0 -0
  108. /package/{model-function/generate-json/JsonGenerationModel.js → core/structure/StructureDefinition.js} +0 -0
  109. /package/model-function/{generate-json/JsonOrTextGenerationModel.cjs → generate-structure/StructureGenerationEvent.cjs} +0 -0
  110. /package/model-function/{generate-json/JsonOrTextGenerationModel.js → generate-structure/StructureGenerationEvent.js} +0 -0
  111. /package/model-function/{generate-json/SchemaDefinition.cjs → generate-structure/StructureGenerationModel.cjs} +0 -0
  112. /package/model-function/{generate-json/SchemaDefinition.js → generate-structure/StructureGenerationModel.js} +0 -0
@@ -1,22 +0,0 @@
1
- import { ModelFunctionOptions } from "../ModelFunctionOptions.js";
2
- import { ModelFunctionPromise } from "../executeCall.js";
3
- import { JsonOrTextGenerationModel, JsonOrTextGenerationModelSettings, JsonOrTextGenerationPrompt } from "./JsonOrTextGenerationModel.js";
4
- import { SchemaDefinition } from "./SchemaDefinition.js";
5
- type SchemaDefinitionArray<T extends SchemaDefinition<any, any>[]> = T;
6
- type ToSchemaDefinitionsMap<T extends SchemaDefinitionArray<SchemaDefinition<any, any>[]>> = {
7
- [K in T[number]["name"]]: Extract<T[number], SchemaDefinition<K, any>>;
8
- };
9
- type ToSchemaUnion<T> = {
10
- [KEY in keyof T]: T[KEY] extends SchemaDefinition<any, infer SCHEMA> ? {
11
- schema: KEY;
12
- value: SCHEMA;
13
- text: string | null;
14
- } : never;
15
- }[keyof T];
16
- type ToOutputValue<SCHEMAS extends SchemaDefinitionArray<SchemaDefinition<any, any>[]>> = ToSchemaUnion<ToSchemaDefinitionsMap<SCHEMAS>>;
17
- export declare function generateJsonOrText<SCHEMAS extends SchemaDefinition<any, any>[], PROMPT, RESPONSE, SETTINGS extends JsonOrTextGenerationModelSettings>(model: JsonOrTextGenerationModel<PROMPT, RESPONSE, SETTINGS>, schemaDefinitions: SCHEMAS, prompt: (schemaDefinitions: SCHEMAS) => PROMPT & JsonOrTextGenerationPrompt<RESPONSE>, options?: ModelFunctionOptions<SETTINGS>): ModelFunctionPromise<{
18
- schema: null;
19
- value: null;
20
- text: string;
21
- } | ToOutputValue<SCHEMAS>, RESPONSE>;
22
- export {};
@@ -1,38 +0,0 @@
1
- import { executeCall } from "../executeCall.js";
2
- import { NoSuchSchemaError } from "./NoSuchSchemaError.js";
3
- import { SchemaValidationError } from "./SchemaValidationError.js";
4
- export function generateJsonOrText(model, schemaDefinitions, prompt, options) {
5
- const expandedPrompt = prompt(schemaDefinitions);
6
- return executeCall({
7
- functionType: "json-or-text-generation",
8
- input: expandedPrompt,
9
- model,
10
- options,
11
- generateResponse: (options) => model.generateJsonResponse(expandedPrompt, options),
12
- extractOutputValue: (response) => {
13
- const { schema, value, text } = expandedPrompt.extractJsonAndText(response);
14
- // text generation:
15
- if (schema == null) {
16
- return { schema, value, text };
17
- }
18
- const definition = schemaDefinitions.find((d) => d.name === schema);
19
- if (definition == undefined) {
20
- throw new NoSuchSchemaError(schema);
21
- }
22
- const parseResult = definition.schema.safeParse(value);
23
- if (!parseResult.success) {
24
- throw new SchemaValidationError({
25
- schemaName: schema,
26
- value,
27
- errors: parseResult.error,
28
- });
29
- }
30
- return {
31
- schema: schema,
32
- value: parseResult.data,
33
- text: text, // text is string | null, which is part of the response for schema values
34
- };
35
- },
36
- extractUsage: (result) => model.extractUsage?.(result),
37
- });
38
- }