@jaypie/llm 1.2.2 → 1.2.3

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.
@@ -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-opus-4-1";
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-4.1";
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;
@@ -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-2.0-flash-lite";
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-opus-4-1";
44
- readonly SMALL: "claude-sonnet-4-0";
45
- readonly TINY: "claude-3-5-haiku-latest";
46
- readonly LARGE: "claude-opus-4-1";
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-4.1";
83
- readonly SMALL: "gpt-4.1-mini";
84
- readonly LARGE: "gpt-4.1";
85
- readonly TINY: "gpt-4.1-nano";
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-4.1";
114
- readonly SMALL: "gpt-4.1-mini";
115
- readonly LARGE: "gpt-4.1";
116
- readonly TINY: "gpt-4.1-nano";
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-2.0-flash-lite",
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
- // Jaypie Aliases
68
- DEFAULT: "claude-opus-4-1",
69
- SMALL: "claude-sonnet-4-0",
70
- TINY: "claude-3-5-haiku-latest",
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
- // Jaypie Aliases
119
- DEFAULT: "gpt-4.1",
120
- SMALL: "gpt-4.1-mini",
121
- LARGE: "gpt-4.1",
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 REASONING_MODELS = [
1939
- // GPT-5 series
1940
- PROVIDER.OPENAI.MODEL.GPT_5,
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 REASONING_MODELS.some((reasoningModel) => model === reasoningModel || model.startsWith(`${reasoningModel}-`));
1937
+ return REASONING_MODEL_PATTERNS.some((pattern) => pattern.test(model));
1958
1938
  }
1959
1939
  //
1960
1940
  //