@jaypie/llm 1.2.2 → 1.2.4
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/dist/cjs/constants.d.ts +26 -72
- package/dist/cjs/index.cjs +67 -78
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/operate/adapters/AnthropicAdapter.d.ts +1 -1
- package/dist/cjs/operate/adapters/OpenAiAdapter.d.ts +1 -1
- package/dist/cjs/types/LlmTool.interface.d.ts +2 -1
- package/dist/esm/constants.d.ts +26 -72
- package/dist/esm/index.js +67 -78
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/operate/adapters/AnthropicAdapter.d.ts +1 -1
- package/dist/esm/operate/adapters/OpenAiAdapter.d.ts +1 -1
- package/dist/esm/types/LlmTool.interface.d.ts +2 -1
- package/package.json +1 -1
|
@@ -13,7 +13,7 @@ import { BaseProviderAdapter } from "./ProviderAdapter.interface.js";
|
|
|
13
13
|
*/
|
|
14
14
|
export declare class AnthropicAdapter extends BaseProviderAdapter {
|
|
15
15
|
readonly name: "anthropic";
|
|
16
|
-
readonly defaultModel: "claude-
|
|
16
|
+
readonly defaultModel: "claude-sonnet-4-5";
|
|
17
17
|
buildRequest(request: OperateRequest): Anthropic.MessageCreateParams;
|
|
18
18
|
formatTools(toolkit: Toolkit, outputSchema?: JsonObject): ProviderToolDefinition[];
|
|
19
19
|
formatOutputSchema(schema: JsonObject | NaturalSchema | z.ZodType): JsonObject;
|
|
@@ -12,7 +12,7 @@ import { BaseProviderAdapter } from "./ProviderAdapter.interface.js";
|
|
|
12
12
|
*/
|
|
13
13
|
export declare class OpenAiAdapter extends BaseProviderAdapter {
|
|
14
14
|
readonly name: "openai";
|
|
15
|
-
readonly defaultModel: "gpt-
|
|
15
|
+
readonly defaultModel: "gpt-5.1";
|
|
16
16
|
buildRequest(request: OperateRequest): unknown;
|
|
17
17
|
formatTools(toolkit: Toolkit, _outputSchema?: JsonObject): ProviderToolDefinition[];
|
|
18
18
|
formatOutputSchema(schema: JsonObject | NaturalSchema | z.ZodType): JsonObject;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { AnyValue, JsonObject } from "@jaypie/types";
|
|
2
|
+
import { z } from "zod/v4";
|
|
2
3
|
export interface LlmTool {
|
|
3
4
|
description: string;
|
|
4
5
|
name: string;
|
|
5
|
-
parameters: JsonObject;
|
|
6
|
+
parameters: JsonObject | z.ZodType;
|
|
6
7
|
type: "function" | string;
|
|
7
8
|
call: (args?: JsonObject) => Promise<AnyValue> | AnyValue;
|
|
8
9
|
message?: string | ((args?: JsonObject, context?: {
|
package/dist/esm/constants.d.ts
CHANGED
|
@@ -20,16 +20,7 @@ export declare const PROVIDER: {
|
|
|
20
20
|
readonly DEFAULT: "gemini-3-pro-preview";
|
|
21
21
|
readonly LARGE: "gemini-3-pro-preview";
|
|
22
22
|
readonly SMALL: "gemini-3-flash-preview";
|
|
23
|
-
readonly TINY: "gemini-
|
|
24
|
-
readonly GEMINI_3_FLASH_PREVIEW: "gemini-3-flash-preview";
|
|
25
|
-
readonly GEMINI_3_PRO_PREVIEW: "gemini-3-pro-preview";
|
|
26
|
-
readonly GEMINI_2_5_FLASH: "gemini-2.5-flash";
|
|
27
|
-
readonly GEMINI_2_5_PRO: "gemini-2.5-pro";
|
|
28
|
-
readonly GEMINI_2_0_FLASH: "gemini-2.0-flash";
|
|
29
|
-
readonly GEMINI_2_0_FLASH_LITE: "gemini-2.0-flash-lite";
|
|
30
|
-
readonly GEMINI_1_5_FLASH: "gemini-1.5-flash";
|
|
31
|
-
readonly GEMINI_1_5_FLASH_8B: "gemini-1.5-flash-8b";
|
|
32
|
-
readonly GEMINI_1_5_PRO: "gemini-1.5-pro";
|
|
23
|
+
readonly TINY: "gemini-3-flash-preview";
|
|
33
24
|
};
|
|
34
25
|
readonly MODEL_MATCH_WORDS: readonly ["gemini", "google"];
|
|
35
26
|
readonly NAME: "gemini";
|
|
@@ -40,24 +31,10 @@ export declare const PROVIDER: {
|
|
|
40
31
|
};
|
|
41
32
|
readonly ANTHROPIC: {
|
|
42
33
|
readonly MODEL: {
|
|
43
|
-
readonly DEFAULT: "claude-
|
|
44
|
-
readonly
|
|
45
|
-
readonly
|
|
46
|
-
readonly
|
|
47
|
-
readonly CLAUDE_OPUS_4: "claude-opus-4-1";
|
|
48
|
-
readonly CLAUDE_SONNET_4: "claude-sonnet-4-0";
|
|
49
|
-
readonly CLAUDE_3_HAIKU: "claude-3-5-haiku-latest";
|
|
50
|
-
readonly CLAUDE_3_OPUS: "claude-3-opus-latest";
|
|
51
|
-
readonly CLAUDE_3_SONNET: "claude-3-7-sonnet-latest";
|
|
52
|
-
readonly CLAUDE_OPUS_4_1: "claude-opus-4-1";
|
|
53
|
-
readonly CLAUDE_OPUS_4_0: "claude-opus-4-0";
|
|
54
|
-
readonly CLAUDE_SONNET_4_0: "claude-sonnet-4-0";
|
|
55
|
-
readonly CLAUDE_3_7_SONNET: "claude-3-7-sonnet-latest\t";
|
|
56
|
-
readonly CLAUDE_3_5_SONNET: "claude-3-5-sonnet-latest";
|
|
57
|
-
readonly CLAUDE_3_5_HAIKU: "claude-3-5-haiku-latest";
|
|
58
|
-
readonly CLAUDE_HAIKU_3: "claude-3-5-haiku-latest";
|
|
59
|
-
readonly CLAUDE_OPUS_3: "claude-3-opus-latest";
|
|
60
|
-
readonly CLAUDE_SONNET_3: "claude-3-7-sonnet-latest";
|
|
34
|
+
readonly DEFAULT: "claude-sonnet-4-5";
|
|
35
|
+
readonly LARGE: "claude-opus-4-5";
|
|
36
|
+
readonly SMALL: "claude-sonnet-4-5";
|
|
37
|
+
readonly TINY: "claude-haiku-4-5";
|
|
61
38
|
};
|
|
62
39
|
readonly MODEL_MATCH_WORDS: readonly ["anthropic", "claude", "haiku", "opus", "sonnet"];
|
|
63
40
|
readonly NAME: "anthropic";
|
|
@@ -79,28 +56,10 @@ export declare const PROVIDER: {
|
|
|
79
56
|
};
|
|
80
57
|
readonly OPENAI: {
|
|
81
58
|
readonly MODEL: {
|
|
82
|
-
readonly DEFAULT: "gpt-
|
|
83
|
-
readonly
|
|
84
|
-
readonly
|
|
85
|
-
readonly TINY: "gpt-
|
|
86
|
-
readonly GPT_5: "gpt-5";
|
|
87
|
-
readonly GPT_5_MINI: "gpt-5-mini";
|
|
88
|
-
readonly GPT_5_NANO: "gpt-5-nano";
|
|
89
|
-
readonly GPT_4_1: "gpt-4.1";
|
|
90
|
-
readonly GPT_4_1_MINI: "gpt-4.1-mini";
|
|
91
|
-
readonly GPT_4_1_NANO: "gpt-4.1-nano";
|
|
92
|
-
readonly GPT_4: "gpt-4";
|
|
93
|
-
readonly GPT_4_O_MINI: "gpt-4o-mini";
|
|
94
|
-
readonly GPT_4_O: "gpt-4o";
|
|
95
|
-
readonly GPT_4_5: "gpt-4.5-preview";
|
|
96
|
-
readonly O1: "o1";
|
|
97
|
-
readonly O1_MINI: "o1-mini";
|
|
98
|
-
readonly O1_PRO: "o1-pro";
|
|
99
|
-
readonly O3_MINI: "o3-mini";
|
|
100
|
-
readonly O3_MINI_HIGH: "o3-mini-high";
|
|
101
|
-
readonly O3: "o3";
|
|
102
|
-
readonly O3_PRO: "o3-pro";
|
|
103
|
-
readonly O4_MINI: "o4-mini";
|
|
59
|
+
readonly DEFAULT: "gpt-5.1";
|
|
60
|
+
readonly LARGE: "gpt-5.1";
|
|
61
|
+
readonly SMALL: "gpt-5.1-mini";
|
|
62
|
+
readonly TINY: "gpt-5.1-nano";
|
|
104
63
|
};
|
|
105
64
|
readonly MODEL_MATCH_WORDS: readonly ["openai", "gpt", RegExp];
|
|
106
65
|
readonly NAME: "openai";
|
|
@@ -108,32 +67,27 @@ export declare const PROVIDER: {
|
|
|
108
67
|
};
|
|
109
68
|
export type LlmProviderName = typeof PROVIDER.ANTHROPIC.NAME | typeof PROVIDER.GEMINI.NAME | typeof PROVIDER.OPENAI.NAME | typeof PROVIDER.OPENROUTER.NAME;
|
|
110
69
|
export declare const DEFAULT: {
|
|
70
|
+
readonly MODEL: {
|
|
71
|
+
readonly BASE: "gpt-5.1";
|
|
72
|
+
readonly LARGE: "gpt-5.1";
|
|
73
|
+
readonly SMALL: "gpt-5.1-mini";
|
|
74
|
+
readonly TINY: "gpt-5.1-nano";
|
|
75
|
+
};
|
|
111
76
|
readonly PROVIDER: {
|
|
112
77
|
readonly MODEL: {
|
|
113
|
-
readonly DEFAULT: "gpt-
|
|
114
|
-
readonly
|
|
115
|
-
readonly
|
|
116
|
-
readonly TINY: "gpt-
|
|
117
|
-
readonly GPT_5: "gpt-5";
|
|
118
|
-
readonly GPT_5_MINI: "gpt-5-mini";
|
|
119
|
-
readonly GPT_5_NANO: "gpt-5-nano";
|
|
120
|
-
readonly GPT_4_1: "gpt-4.1";
|
|
121
|
-
readonly GPT_4_1_MINI: "gpt-4.1-mini";
|
|
122
|
-
readonly GPT_4_1_NANO: "gpt-4.1-nano";
|
|
123
|
-
readonly GPT_4: "gpt-4";
|
|
124
|
-
readonly GPT_4_O_MINI: "gpt-4o-mini";
|
|
125
|
-
readonly GPT_4_O: "gpt-4o";
|
|
126
|
-
readonly GPT_4_5: "gpt-4.5-preview";
|
|
127
|
-
readonly O1: "o1";
|
|
128
|
-
readonly O1_MINI: "o1-mini";
|
|
129
|
-
readonly O1_PRO: "o1-pro";
|
|
130
|
-
readonly O3_MINI: "o3-mini";
|
|
131
|
-
readonly O3_MINI_HIGH: "o3-mini-high";
|
|
132
|
-
readonly O3: "o3";
|
|
133
|
-
readonly O3_PRO: "o3-pro";
|
|
134
|
-
readonly O4_MINI: "o4-mini";
|
|
78
|
+
readonly DEFAULT: "gpt-5.1";
|
|
79
|
+
readonly LARGE: "gpt-5.1";
|
|
80
|
+
readonly SMALL: "gpt-5.1-mini";
|
|
81
|
+
readonly TINY: "gpt-5.1-nano";
|
|
135
82
|
};
|
|
136
83
|
readonly MODEL_MATCH_WORDS: readonly ["openai", "gpt", RegExp];
|
|
137
84
|
readonly NAME: "openai";
|
|
138
85
|
};
|
|
139
86
|
};
|
|
87
|
+
export declare const ALL: {
|
|
88
|
+
readonly BASE: readonly ["claude-sonnet-4-5", "gemini-3-pro-preview", "gpt-5.1"];
|
|
89
|
+
readonly COMBINED: readonly ["claude-sonnet-4-5", "claude-opus-4-5", "claude-sonnet-4-5", "claude-haiku-4-5", "gemini-3-pro-preview", "gemini-3-pro-preview", "gemini-3-flash-preview", "gemini-3-flash-preview", "gpt-5.1", "gpt-5.1", "gpt-5.1-mini", "gpt-5.1-nano"];
|
|
90
|
+
readonly LARGE: readonly ["claude-opus-4-5", "gemini-3-pro-preview", "gpt-5.1"];
|
|
91
|
+
readonly SMALL: readonly ["claude-sonnet-4-5", "gemini-3-flash-preview", "gpt-5.1-mini"];
|
|
92
|
+
readonly TINY: readonly ["claude-haiku-4-5", "gemini-3-flash-preview", "gpt-5.1-nano"];
|
|
93
|
+
};
|
package/dist/esm/index.js
CHANGED
|
@@ -35,24 +35,10 @@ const PROVIDER = {
|
|
|
35
35
|
GEMINI: {
|
|
36
36
|
// https://ai.google.dev/gemini-api/docs/models
|
|
37
37
|
MODEL: {
|
|
38
|
-
// Jaypie Aliases
|
|
39
38
|
DEFAULT: "gemini-3-pro-preview",
|
|
40
39
|
LARGE: "gemini-3-pro-preview",
|
|
41
40
|
SMALL: "gemini-3-flash-preview",
|
|
42
|
-
TINY: "gemini-
|
|
43
|
-
// Gemini 3 Models
|
|
44
|
-
GEMINI_3_FLASH_PREVIEW: "gemini-3-flash-preview",
|
|
45
|
-
GEMINI_3_PRO_PREVIEW: "gemini-3-pro-preview",
|
|
46
|
-
// Gemini 2.5 Models
|
|
47
|
-
GEMINI_2_5_FLASH: "gemini-2.5-flash",
|
|
48
|
-
GEMINI_2_5_PRO: "gemini-2.5-pro",
|
|
49
|
-
// Gemini 2.0 Models
|
|
50
|
-
GEMINI_2_0_FLASH: "gemini-2.0-flash",
|
|
51
|
-
GEMINI_2_0_FLASH_LITE: "gemini-2.0-flash-lite",
|
|
52
|
-
// Gemini 1.5 Models (backward compatibility)
|
|
53
|
-
GEMINI_1_5_FLASH: "gemini-1.5-flash",
|
|
54
|
-
GEMINI_1_5_FLASH_8B: "gemini-1.5-flash-8b",
|
|
55
|
-
GEMINI_1_5_PRO: "gemini-1.5-pro",
|
|
41
|
+
TINY: "gemini-3-flash-preview",
|
|
56
42
|
},
|
|
57
43
|
MODEL_MATCH_WORDS: ["gemini", "google"],
|
|
58
44
|
NAME: "gemini",
|
|
@@ -64,29 +50,10 @@ const PROVIDER = {
|
|
|
64
50
|
ANTHROPIC: {
|
|
65
51
|
// https://docs.anthropic.com/en/docs/about-claude/models/overview
|
|
66
52
|
MODEL: {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
SMALL: "claude-sonnet-4-
|
|
70
|
-
TINY: "claude-
|
|
71
|
-
LARGE: "claude-opus-4-1",
|
|
72
|
-
// Latests
|
|
73
|
-
CLAUDE_OPUS_4: "claude-opus-4-1",
|
|
74
|
-
CLAUDE_SONNET_4: "claude-sonnet-4-0",
|
|
75
|
-
CLAUDE_3_HAIKU: "claude-3-5-haiku-latest",
|
|
76
|
-
CLAUDE_3_OPUS: "claude-3-opus-latest",
|
|
77
|
-
CLAUDE_3_SONNET: "claude-3-7-sonnet-latest",
|
|
78
|
-
// Specifics
|
|
79
|
-
CLAUDE_OPUS_4_1: "claude-opus-4-1",
|
|
80
|
-
CLAUDE_OPUS_4_0: "claude-opus-4-0",
|
|
81
|
-
CLAUDE_SONNET_4_0: "claude-sonnet-4-0",
|
|
82
|
-
CLAUDE_3_7_SONNET: "claude-3-7-sonnet-latest ",
|
|
83
|
-
CLAUDE_3_5_SONNET: "claude-3-5-sonnet-latest",
|
|
84
|
-
CLAUDE_3_5_HAIKU: "claude-3-5-haiku-latest",
|
|
85
|
-
// _Note: Claude reversed the order of model name and version in 4_
|
|
86
|
-
// Backward compatibility
|
|
87
|
-
CLAUDE_HAIKU_3: "claude-3-5-haiku-latest",
|
|
88
|
-
CLAUDE_OPUS_3: "claude-3-opus-latest",
|
|
89
|
-
CLAUDE_SONNET_3: "claude-3-7-sonnet-latest",
|
|
53
|
+
DEFAULT: "claude-sonnet-4-5",
|
|
54
|
+
LARGE: "claude-opus-4-5",
|
|
55
|
+
SMALL: "claude-sonnet-4-5",
|
|
56
|
+
TINY: "claude-haiku-4-5",
|
|
90
57
|
},
|
|
91
58
|
MODEL_MATCH_WORDS: [
|
|
92
59
|
"anthropic",
|
|
@@ -115,30 +82,10 @@ const PROVIDER = {
|
|
|
115
82
|
OPENAI: {
|
|
116
83
|
// https://platform.openai.com/docs/models
|
|
117
84
|
MODEL: {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
SMALL: "gpt-
|
|
121
|
-
|
|
122
|
-
TINY: "gpt-4.1-nano",
|
|
123
|
-
// OpenAI Official
|
|
124
|
-
GPT_5: "gpt-5",
|
|
125
|
-
GPT_5_MINI: "gpt-5-mini",
|
|
126
|
-
GPT_5_NANO: "gpt-5-nano",
|
|
127
|
-
GPT_4_1: "gpt-4.1",
|
|
128
|
-
GPT_4_1_MINI: "gpt-4.1-mini",
|
|
129
|
-
GPT_4_1_NANO: "gpt-4.1-nano",
|
|
130
|
-
GPT_4: "gpt-4",
|
|
131
|
-
GPT_4_O_MINI: "gpt-4o-mini",
|
|
132
|
-
GPT_4_O: "gpt-4o",
|
|
133
|
-
GPT_4_5: "gpt-4.5-preview",
|
|
134
|
-
O1: "o1",
|
|
135
|
-
O1_MINI: "o1-mini",
|
|
136
|
-
O1_PRO: "o1-pro",
|
|
137
|
-
O3_MINI: "o3-mini",
|
|
138
|
-
O3_MINI_HIGH: "o3-mini-high",
|
|
139
|
-
O3: "o3",
|
|
140
|
-
O3_PRO: "o3-pro",
|
|
141
|
-
O4_MINI: "o4-mini",
|
|
85
|
+
DEFAULT: "gpt-5.1",
|
|
86
|
+
LARGE: "gpt-5.1",
|
|
87
|
+
SMALL: "gpt-5.1-mini",
|
|
88
|
+
TINY: "gpt-5.1-nano",
|
|
142
89
|
},
|
|
143
90
|
MODEL_MATCH_WORDS: ["openai", "gpt", /^o\d/],
|
|
144
91
|
NAME: "openai",
|
|
@@ -146,11 +93,55 @@ const PROVIDER = {
|
|
|
146
93
|
};
|
|
147
94
|
// Last: Defaults
|
|
148
95
|
const DEFAULT = {
|
|
96
|
+
MODEL: {
|
|
97
|
+
BASE: PROVIDER.OPENAI.MODEL.DEFAULT,
|
|
98
|
+
LARGE: PROVIDER.OPENAI.MODEL.LARGE,
|
|
99
|
+
SMALL: PROVIDER.OPENAI.MODEL.SMALL,
|
|
100
|
+
TINY: PROVIDER.OPENAI.MODEL.TINY,
|
|
101
|
+
},
|
|
149
102
|
PROVIDER: PROVIDER.OPENAI,
|
|
150
103
|
};
|
|
104
|
+
// Only include "first class" models, not OpenRouter or other proxy services
|
|
105
|
+
const ALL = {
|
|
106
|
+
BASE: [
|
|
107
|
+
PROVIDER.ANTHROPIC.MODEL.DEFAULT,
|
|
108
|
+
PROVIDER.GEMINI.MODEL.DEFAULT,
|
|
109
|
+
PROVIDER.OPENAI.MODEL.DEFAULT,
|
|
110
|
+
],
|
|
111
|
+
COMBINED: [
|
|
112
|
+
PROVIDER.ANTHROPIC.MODEL.DEFAULT,
|
|
113
|
+
PROVIDER.ANTHROPIC.MODEL.LARGE,
|
|
114
|
+
PROVIDER.ANTHROPIC.MODEL.SMALL,
|
|
115
|
+
PROVIDER.ANTHROPIC.MODEL.TINY,
|
|
116
|
+
PROVIDER.GEMINI.MODEL.DEFAULT,
|
|
117
|
+
PROVIDER.GEMINI.MODEL.LARGE,
|
|
118
|
+
PROVIDER.GEMINI.MODEL.SMALL,
|
|
119
|
+
PROVIDER.GEMINI.MODEL.TINY,
|
|
120
|
+
PROVIDER.OPENAI.MODEL.DEFAULT,
|
|
121
|
+
PROVIDER.OPENAI.MODEL.LARGE,
|
|
122
|
+
PROVIDER.OPENAI.MODEL.SMALL,
|
|
123
|
+
PROVIDER.OPENAI.MODEL.TINY,
|
|
124
|
+
],
|
|
125
|
+
LARGE: [
|
|
126
|
+
PROVIDER.ANTHROPIC.MODEL.LARGE,
|
|
127
|
+
PROVIDER.GEMINI.MODEL.LARGE,
|
|
128
|
+
PROVIDER.OPENAI.MODEL.LARGE,
|
|
129
|
+
],
|
|
130
|
+
SMALL: [
|
|
131
|
+
PROVIDER.ANTHROPIC.MODEL.SMALL,
|
|
132
|
+
PROVIDER.GEMINI.MODEL.SMALL,
|
|
133
|
+
PROVIDER.OPENAI.MODEL.SMALL,
|
|
134
|
+
],
|
|
135
|
+
TINY: [
|
|
136
|
+
PROVIDER.ANTHROPIC.MODEL.TINY,
|
|
137
|
+
PROVIDER.GEMINI.MODEL.TINY,
|
|
138
|
+
PROVIDER.OPENAI.MODEL.TINY,
|
|
139
|
+
],
|
|
140
|
+
};
|
|
151
141
|
|
|
152
142
|
var constants = /*#__PURE__*/Object.freeze({
|
|
153
143
|
__proto__: null,
|
|
144
|
+
ALL: ALL,
|
|
154
145
|
DEFAULT: DEFAULT,
|
|
155
146
|
PROVIDER: PROVIDER
|
|
156
147
|
});
|
|
@@ -1934,27 +1925,16 @@ class GeminiAdapter extends BaseProviderAdapter {
|
|
|
1934
1925
|
// Export singleton instance
|
|
1935
1926
|
const geminiAdapter = new GeminiAdapter();
|
|
1936
1927
|
|
|
1937
|
-
// OpenAI reasoning models that support extended thinking
|
|
1938
|
-
const
|
|
1939
|
-
// GPT-5
|
|
1940
|
-
|
|
1941
|
-
PROVIDER.OPENAI.MODEL.GPT_5_MINI,
|
|
1942
|
-
PROVIDER.OPENAI.MODEL.GPT_5_NANO,
|
|
1943
|
-
// O-series
|
|
1944
|
-
PROVIDER.OPENAI.MODEL.O1,
|
|
1945
|
-
PROVIDER.OPENAI.MODEL.O1_MINI,
|
|
1946
|
-
PROVIDER.OPENAI.MODEL.O1_PRO,
|
|
1947
|
-
PROVIDER.OPENAI.MODEL.O3,
|
|
1948
|
-
PROVIDER.OPENAI.MODEL.O3_MINI,
|
|
1949
|
-
PROVIDER.OPENAI.MODEL.O3_MINI_HIGH,
|
|
1950
|
-
PROVIDER.OPENAI.MODEL.O3_PRO,
|
|
1951
|
-
PROVIDER.OPENAI.MODEL.O4_MINI,
|
|
1928
|
+
// Patterns for OpenAI reasoning models that support extended thinking
|
|
1929
|
+
const REASONING_MODEL_PATTERNS = [
|
|
1930
|
+
/^gpt-[5-9]/, // GPT-5 and above (gpt-5, gpt-5.1, gpt-5.2, gpt-6, etc.)
|
|
1931
|
+
/^o\d/, // O-series (o1, o3, o4, o5, etc.)
|
|
1952
1932
|
];
|
|
1953
1933
|
/**
|
|
1954
1934
|
* Check if a model is a reasoning model that supports extended thinking
|
|
1955
1935
|
*/
|
|
1956
1936
|
function isReasoningModel(model) {
|
|
1957
|
-
return
|
|
1937
|
+
return REASONING_MODEL_PATTERNS.some((pattern) => pattern.test(model));
|
|
1958
1938
|
}
|
|
1959
1939
|
//
|
|
1960
1940
|
//
|
|
@@ -2927,6 +2907,15 @@ class Toolkit {
|
|
|
2927
2907
|
const toolCopy = { ...tool };
|
|
2928
2908
|
delete toolCopy.call;
|
|
2929
2909
|
delete toolCopy.message;
|
|
2910
|
+
// Convert Zod schema to JSON Schema if needed
|
|
2911
|
+
if (toolCopy.parameters instanceof z.ZodType) {
|
|
2912
|
+
const jsonSchema = z.toJSONSchema(toolCopy.parameters);
|
|
2913
|
+
// Remove $schema property (causes issues with some providers)
|
|
2914
|
+
if (jsonSchema.$schema) {
|
|
2915
|
+
delete jsonSchema.$schema;
|
|
2916
|
+
}
|
|
2917
|
+
toolCopy.parameters = jsonSchema;
|
|
2918
|
+
}
|
|
2930
2919
|
if (this.explain && toolCopy.parameters?.type === "object") {
|
|
2931
2920
|
if (toolCopy.parameters?.properties) {
|
|
2932
2921
|
if (!toolCopy.parameters.properties.__Explanation) {
|