ai-requests-adapter 2.2.0 → 2.3.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.
@@ -1,3 +1,4 @@
1
- import type { CapabilitiesRegistry } from './chat-style-transformer';
2
- export declare const capabilities: CapabilitiesRegistry;
1
+ import type { Registry } from './chat-style-transformer';
2
+ export declare const capabilities: Registry;
3
+ export declare function loadRegistry(): Registry;
3
4
  //# sourceMappingURL=capabilities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE,eAAO,MAAM,YAAY,EAAE,oBAwD1B,CAAC"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAMzD,eAAO,MAAM,YAAY,EAAE,QAoP1B,CAAC;AAKF,wBAAgB,YAAY,IAAI,QAAQ,CAEvC"}
@@ -1,59 +1,248 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.capabilities = void 0;
4
+ exports.loadRegistry = loadRegistry;
4
5
  exports.capabilities = {
6
+ schemaVersion: "2025-12-29",
7
+ defaults: {
8
+ modelResolutionOrder: ["exact", "pattern", "providerApiDefault", "providerDefault"],
9
+ messageJoin: { betweenChunks: "\n\n-------------------------------------------------------------\n\n" }
10
+ },
5
11
  providers: {
6
12
  openai: {
7
- schemaVersion: '2025-12-24',
8
- defaults: {
9
- assumeApiFor: [
10
- { modelPrefix: 'gpt-5', api: 'responses' },
11
- { modelPrefix: 'gpt-5-mini', api: 'responses' },
12
- { modelPrefix: 'gpt-5-nano', api: 'responses' },
13
- { modelPrefix: 'gpt-5.1', api: 'responses' },
14
- { modelPrefix: 'gpt-5.2', api: 'responses' },
15
- { modelPrefix: 'gpt-5.2-pro', api: 'responses' },
16
- ],
17
- tokenParamByApi: {
18
- responses: 'max_output_tokens',
19
- chat_completions: 'max_tokens',
13
+ apiVariants: {
14
+ chat_completions: {
15
+ tokenParam: "max_tokens",
16
+ messagesParam: "messages"
20
17
  },
18
+ responses: {
19
+ tokenParam: "max_output_tokens",
20
+ messagesParam: "input",
21
+ reasoningEffortParamPath: "reasoning.effort"
22
+ }
23
+ },
24
+ providerDefaults: {
25
+ defaultApiVariant: "responses",
26
+ supports: {
27
+ sampling: { temperature: "unknown", top_p: "unknown" },
28
+ penalties: { frequency_penalty: "unknown", presence_penalty: "unknown" },
29
+ stop: "unknown",
30
+ reasoningEffort: "unknown"
31
+ }
21
32
  },
33
+ patterns: [
34
+ {
35
+ match: { regex: "^gpt-5(\\..+)?($|-)" },
36
+ caps: {
37
+ defaultApiVariant: "responses",
38
+ supports: {
39
+ reasoningEffort: "unknown",
40
+ sampling: { temperature: "unknown", top_p: "unknown" },
41
+ penalties: { frequency_penalty: "unknown", presence_penalty: "unknown" },
42
+ stop: true
43
+ }
44
+ }
45
+ },
46
+ {
47
+ match: { regex: "^gpt-4\\.1($|-)" },
48
+ caps: {
49
+ defaultApiVariant: "responses",
50
+ supports: {
51
+ reasoningEffort: false,
52
+ sampling: { temperature: true, top_p: true },
53
+ penalties: { frequency_penalty: true, presence_penalty: true },
54
+ stop: true
55
+ }
56
+ }
57
+ },
58
+ {
59
+ match: { regex: "^gpt-4o($|-)" },
60
+ caps: {
61
+ defaultApiVariant: "responses",
62
+ supports: {
63
+ reasoningEffort: false,
64
+ sampling: { temperature: true, top_p: true },
65
+ penalties: { frequency_penalty: true, presence_penalty: true },
66
+ stop: true
67
+ }
68
+ }
69
+ },
70
+ {
71
+ match: { regex: "^gpt-4(-|$)" },
72
+ caps: {
73
+ defaultApiVariant: "chat_completions",
74
+ supports: {
75
+ reasoningEffort: false,
76
+ sampling: { temperature: true, top_p: true },
77
+ penalties: { frequency_penalty: true, presence_penalty: true },
78
+ stop: true
79
+ }
80
+ }
81
+ }
82
+ ],
22
83
  models: {
23
- 'gpt-5.2': {
24
- api: 'responses',
25
- reasoningEffort: { supported: true, allowed: ['none', 'minimal', 'low', 'medium', 'high'] },
26
- sampling: {
27
- temperature: { supported: 'conditional', when: { reasoningEffortEquals: 'none' } },
28
- top_p: { supported: 'conditional', when: { reasoningEffortEquals: 'none' } },
29
- },
30
- penalties: { frequency: false, presence: false },
31
- stop: { supported: true },
84
+ "gpt-5": {
85
+ defaultApiVariant: "responses"
32
86
  },
33
- 'gpt-4-turbo': {
34
- api: 'chat_completions',
35
- reasoningEffort: { supported: false },
36
- sampling: { temperature: { supported: true }, top_p: { supported: true } },
37
- penalties: { frequency: true, presence: true },
38
- stop: { supported: true },
87
+ "gpt-5.2": {
88
+ defaultApiVariant: "responses"
39
89
  },
40
- },
90
+ "gpt-5.2-pro": {
91
+ defaultApiVariant: "responses"
92
+ },
93
+ "gpt-5-mini": {
94
+ defaultApiVariant: "responses"
95
+ },
96
+ "gpt-5-nano": {
97
+ defaultApiVariant: "responses"
98
+ },
99
+ "gpt-5.1": {
100
+ defaultApiVariant: "responses"
101
+ },
102
+ "gpt-4.1": {
103
+ defaultApiVariant: "responses"
104
+ },
105
+ "gpt-4o": {
106
+ defaultApiVariant: "responses"
107
+ },
108
+ "gpt-4-turbo": {
109
+ defaultApiVariant: "chat_completions"
110
+ }
111
+ }
41
112
  },
42
113
  anthropic: {
43
- schemaVersion: '2025-12-24',
44
- defaults: { tokenParamByApi: { messages: 'max_tokens' } },
45
- models: {},
114
+ apiVariants: {
115
+ messages: {
116
+ tokenParam: "max_tokens",
117
+ messagesParam: "messages",
118
+ systemParam: "system",
119
+ stopParam: "stop_sequences",
120
+ samplingParams: { temperature: "temperature", top_p: "top_p" }
121
+ }
122
+ },
123
+ providerDefaults: {
124
+ defaultApiVariant: "messages",
125
+ supports: {
126
+ sampling: { temperature: true, top_p: true },
127
+ penalties: { frequency_penalty: false, presence_penalty: false },
128
+ stop: true,
129
+ reasoningEffort: "unknown"
130
+ },
131
+ rules: {
132
+ mutualExclusion: [
133
+ {
134
+ appliesToModelRegex: ".*(sonnet\\s*4\\.5|haiku\\s*4\\.5).*",
135
+ params: ["temperature", "top_p"]
136
+ }
137
+ ]
138
+ }
139
+ },
140
+ models: {
141
+ "claude-sonnet-4-5-20250929": { defaultApiVariant: "messages" },
142
+ "claude-haiku-4-5-20250929": { defaultApiVariant: "messages" }
143
+ }
46
144
  },
47
145
  google: {
48
- schemaVersion: '2025-12-24',
49
- defaults: { tokenParamByApi: { generateContent: 'maxOutputTokens' } },
50
- models: {},
146
+ apiVariants: {
147
+ gemini_generateContent: {
148
+ endpointStyle: "models.generateContent",
149
+ tokenParam: "generationConfig.maxOutputTokens",
150
+ stopParam: "generationConfig.stopSequences",
151
+ samplingParams: {
152
+ temperature: "generationConfig.temperature",
153
+ top_p: "generationConfig.topP"
154
+ },
155
+ systemParam: "systemInstruction"
156
+ },
157
+ gemini_openai_compat: {
158
+ endpointStyle: "openai_compat",
159
+ tokenParam: "max_tokens",
160
+ messagesParam: "messages"
161
+ }
162
+ },
163
+ providerDefaults: {
164
+ defaultApiVariant: "gemini_generateContent",
165
+ supports: {
166
+ sampling: { temperature: true, top_p: true },
167
+ penalties: { frequency_penalty: false, presence_penalty: false },
168
+ stop: true,
169
+ reasoningEffort: false
170
+ }
171
+ },
172
+ patterns: [
173
+ {
174
+ match: { regex: "^gemini-" },
175
+ caps: { defaultApiVariant: "gemini_generateContent" }
176
+ }
177
+ ]
178
+ },
179
+ groq: {
180
+ apiVariants: {
181
+ openai_chat_completions: {
182
+ endpointStyle: "openai_compatible",
183
+ tokenParam: "max_tokens",
184
+ messagesParam: "messages"
185
+ },
186
+ responses_beta: {
187
+ endpointStyle: "responses_beta",
188
+ tokenParam: "max_output_tokens",
189
+ messagesParam: "input"
190
+ }
191
+ },
192
+ providerDefaults: {
193
+ defaultApiVariant: "openai_chat_completions",
194
+ supports: {
195
+ sampling: { temperature: true, top_p: true },
196
+ penalties: { frequency_penalty: false, presence_penalty: false },
197
+ stop: true,
198
+ reasoningEffort: "unknown"
199
+ }
200
+ },
201
+ models: {
202
+ "llama-3.1-8b-instant": { defaultApiVariant: "openai_chat_completions" },
203
+ "llama-3.3-70b-versatile": { defaultApiVariant: "openai_chat_completions" },
204
+ "moonshotai/kimi-k2-instruct-0905": { defaultApiVariant: "openai_chat_completions" }
205
+ }
51
206
  },
52
207
  xai: {
53
- schemaVersion: '2025-12-24',
54
- defaults: { tokenParamByApi: { chat: 'max_tokens' } },
55
- models: {},
208
+ apiVariants: {
209
+ openai_chat_completions: {
210
+ endpointStyle: "openai_compatible",
211
+ tokenParam: "max_tokens",
212
+ messagesParam: "messages"
213
+ }
214
+ },
215
+ providerDefaults: {
216
+ defaultApiVariant: "openai_chat_completions",
217
+ supports: {
218
+ sampling: { temperature: "unknown", top_p: "unknown" },
219
+ penalties: { frequency_penalty: "unknown", presence_penalty: "unknown" },
220
+ stop: "unknown",
221
+ reasoningEffort: "unknown"
222
+ }
223
+ }
56
224
  },
57
- },
225
+ moonshot_kimi: {
226
+ apiVariants: {
227
+ openai_chat_completions: {
228
+ endpointStyle: "openai_compatible",
229
+ tokenParam: "max_tokens",
230
+ messagesParam: "messages"
231
+ }
232
+ },
233
+ providerDefaults: {
234
+ defaultApiVariant: "openai_chat_completions",
235
+ supports: {
236
+ sampling: { temperature: "unknown", top_p: "unknown" },
237
+ penalties: { frequency_penalty: "unknown", presence_penalty: "unknown" },
238
+ stop: "unknown",
239
+ reasoningEffort: false
240
+ }
241
+ }
242
+ }
243
+ }
58
244
  };
245
+ function loadRegistry() {
246
+ return exports.capabilities;
247
+ }
59
248
  //# sourceMappingURL=capabilities.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":";;;AAEa,QAAA,YAAY,GAAyB;IAChD,SAAS,EAAE;QACT,MAAM,EAAE;YACN,aAAa,EAAE,YAAY;YAC3B,QAAQ,EAAE;gBACR,YAAY,EAAE;oBACZ,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE;oBAC1C,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE;oBAC/C,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE;oBAC/C,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE;oBAC5C,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE;oBAC5C,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,EAAE;iBACjD;gBACD,eAAe,EAAE;oBACf,SAAS,EAAE,mBAAmB;oBAC9B,gBAAgB,EAAE,YAAY;iBAC/B;aACF;YACD,MAAM,EAAE;gBACN,SAAS,EAAE;oBACT,GAAG,EAAE,WAAW;oBAChB,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;oBAC3F,QAAQ,EAAE;wBACR,WAAW,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE;wBAClF,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE;qBAC7E;oBACD,SAAS,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;oBAChD,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;iBAC1B;gBACD,aAAa,EAAE;oBACb,GAAG,EAAE,kBAAkB;oBACvB,eAAe,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;oBACrC,QAAQ,EAAE,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;oBAC1E,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC9C,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;iBAC1B;aACF;SACF;QAGD,SAAS,EAAE;YACT,aAAa,EAAE,YAAY;YAC3B,QAAQ,EAAE,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;YACzD,MAAM,EAAE,EAAE;SACX;QACD,MAAM,EAAE;YACN,aAAa,EAAE,YAAY;YAC3B,QAAQ,EAAE,EAAE,eAAe,EAAE,EAAE,eAAe,EAAE,iBAAiB,EAAE,EAAE;YACrE,MAAM,EAAE,EAAE;SACX;QACD,GAAG,EAAE;YACH,aAAa,EAAE,YAAY;YAC3B,QAAQ,EAAE,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE;YACrD,MAAM,EAAE,EAAE;SACX;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
@@ -1,77 +1,99 @@
1
- export type ProviderId = 'openai' | 'anthropic' | 'google' | 'xai';
2
- export type ChatRole = 'system' | 'developer' | 'user' | 'assistant';
3
- export type UnifiedChatMessage = {
4
- role: ChatRole;
1
+ type SupportFlag = boolean | "unknown" | "conditional";
2
+ export type UnifiedChatRole = "system" | "user" | "assistant" | "tool";
3
+ export interface UnifiedChatMessage {
4
+ role: UnifiedChatRole;
5
5
  content: string;
6
- };
7
- export type UnifiedChatRequest = {
8
- provider: ProviderId;
6
+ }
7
+ export interface UnifiedChatCompletionsLikeRequest {
9
8
  model: string;
10
9
  messages: UnifiedChatMessage[];
10
+ max_tokens?: number;
11
11
  temperature?: number;
12
12
  top_p?: number;
13
- max_tokens?: number;
14
13
  frequency_penalty?: number;
15
14
  presence_penalty?: number;
16
15
  stop?: string[] | string;
17
- tools?: unknown[];
18
- reasoning?: {
19
- effort?: ReasoningEffort;
20
- };
21
- reasoning_effort?: ReasoningEffort;
22
- reasoningEffort?: ReasoningEffort;
23
- [k: string]: unknown;
24
- };
25
- export type BuiltVendorRequest = {
26
- provider: ProviderId;
27
- api: string;
28
- payload: Record<string, any>;
29
- warnings: string[];
30
- };
31
- export type ReasoningEffort = 'none' | 'minimal' | 'low' | 'medium' | 'high';
32
- export type ApiKindOpenAI = 'responses' | 'chat_completions';
33
- export type SamplingRule = {
34
- supported: false;
35
- } | {
36
- supported: true;
37
- fixedValue?: number;
38
- } | {
39
- supported: 'conditional';
40
- when: {
41
- reasoningEffortEquals: ReasoningEffort;
42
- };
43
- };
44
- export type CapabilityRule = {
45
- api: string;
46
- reasoningEffort: {
47
- supported: boolean;
48
- allowed?: ReasoningEffort[];
49
- };
50
- sampling: {
51
- temperature: SamplingRule;
52
- top_p: SamplingRule;
53
- };
54
- penalties: {
55
- frequency: boolean;
56
- presence: boolean;
57
- };
58
- stop: {
59
- supported: boolean;
60
- };
61
- };
62
- export type ProviderCapabilities = {
16
+ reasoning_effort?: "none" | "minimal" | "low" | "medium" | "high";
17
+ extra?: Record<string, any>;
18
+ }
19
+ export type ProviderKey = "openai" | "anthropic" | "google" | "groq" | "xai" | "moonshot_kimi";
20
+ export type ApiVariantKey = string;
21
+ export interface Target {
22
+ provider: ProviderKey;
23
+ apiVariant?: ApiVariantKey;
24
+ }
25
+ export interface Registry {
63
26
  schemaVersion: string;
64
27
  defaults: {
65
- assumeApiFor?: Array<{
66
- modelPrefix: string;
67
- api: string;
68
- }>;
69
- tokenParamByApi: Record<string, string>;
28
+ modelResolutionOrder: Array<"exact" | "pattern" | "providerApiDefault" | "providerDefault">;
29
+ messageJoin: {
30
+ betweenChunks: string;
31
+ };
70
32
  };
71
- models: Record<string, CapabilityRule>;
33
+ providers: Record<ProviderKey, {
34
+ apiVariants: Record<string, {
35
+ tokenParam: string;
36
+ messagesParam?: string;
37
+ systemParam?: string;
38
+ stopParam?: string;
39
+ reasoningEffortParamPath?: string;
40
+ samplingParams?: Partial<Record<"temperature" | "top_p", string>>;
41
+ endpointStyle?: string;
42
+ }>;
43
+ providerDefaults: {
44
+ defaultApiVariant: string;
45
+ supports: {
46
+ sampling?: {
47
+ temperature?: SupportFlag;
48
+ top_p?: SupportFlag;
49
+ };
50
+ penalties?: {
51
+ frequency_penalty?: SupportFlag;
52
+ presence_penalty?: SupportFlag;
53
+ };
54
+ stop?: SupportFlag;
55
+ reasoningEffort?: SupportFlag;
56
+ };
57
+ rules?: {
58
+ mutualExclusion?: Array<{
59
+ appliesToModelRegex: string;
60
+ params: Array<"temperature" | "top_p">;
61
+ }>;
62
+ };
63
+ };
64
+ patterns?: Array<{
65
+ match: {
66
+ prefix?: string;
67
+ regex?: string;
68
+ };
69
+ caps: {
70
+ defaultApiVariant?: string;
71
+ supports?: any;
72
+ };
73
+ }>;
74
+ models?: Record<string, {
75
+ defaultApiVariant?: string;
76
+ supports?: any;
77
+ }>;
78
+ }>;
79
+ }
80
+ export declare function joinHuman(chunks: string[], betweenChunks?: string): string;
81
+ export declare function mapRoleMessagesToRecord(input: Array<{
82
+ role: string;
83
+ messages: string;
84
+ }>, mapping: Array<{
85
+ role: string;
86
+ propertyName: string;
87
+ }>, betweenChunks?: string): Record<string, any>;
88
+ export declare function resolveModelCaps(registry: Registry, provider: ProviderKey, model: string): {
89
+ defaultApiVariant: string;
90
+ supports: any;
91
+ rules?: any;
72
92
  };
73
- export type CapabilitiesRegistry = {
74
- providers: Record<ProviderId, ProviderCapabilities>;
93
+ export declare function transformUnifiedRequest(unified: UnifiedChatCompletionsLikeRequest, target: Target, registry: Registry): {
94
+ provider: ProviderKey;
95
+ apiVariant: string;
96
+ request: Record<string, any>;
75
97
  };
76
- export declare function transformChatStyleToVendorRequest(req: UnifiedChatRequest, registry: CapabilitiesRegistry): BuiltVendorRequest;
98
+ export {};
77
99
  //# sourceMappingURL=chat-style-transformer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-style-transformer.d.ts","sourceRoot":"","sources":["../src/chat-style-transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-style-transformer.d.ts","sourceRoot":"","sources":["../src/chat-style-transformer.ts"],"names":[],"mappings":"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"}
@@ -1,245 +1,231 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformChatStyleToVendorRequest = transformChatStyleToVendorRequest;
4
- const DEFAULT_SPLITTER = '\n\n-------------------------------------------------------------\n\n';
5
- function trim(s) {
6
- return String(s ?? '').trim();
3
+ exports.joinHuman = joinHuman;
4
+ exports.mapRoleMessagesToRecord = mapRoleMessagesToRecord;
5
+ exports.resolveModelCaps = resolveModelCaps;
6
+ exports.transformUnifiedRequest = transformUnifiedRequest;
7
+ function joinHuman(chunks, betweenChunks = "\n\n-------------------------------------------------------------\n\n") {
8
+ const cleaned = chunks.map((s) => (s ?? "").trim()).filter(Boolean);
9
+ return cleaned.join(betweenChunks);
7
10
  }
8
- function joinHuman(parts, splitter = DEFAULT_SPLITTER) {
9
- const cleaned = parts.map(p => trim(p)).filter(Boolean);
10
- if (cleaned.length === 0)
11
- return '';
12
- if (cleaned.length === 1)
13
- return cleaned[0];
14
- return cleaned.join(splitter);
15
- }
16
- function coerceNumber(v) {
17
- if (typeof v === 'number' && Number.isFinite(v))
18
- return v;
19
- if (typeof v === 'string' && v.trim() !== '' && Number.isFinite(Number(v)))
20
- return Number(v);
21
- return undefined;
22
- }
23
- function normalizeModelKey(model) {
24
- return model.trim().replace(/-\d{4}-\d{2}-\d{2}.*$/, '');
25
- }
26
- function detectReasoningEffort(cfg) {
27
- const direct = cfg.reasoningEffort ??
28
- cfg.reasoning_effort;
29
- if (direct)
30
- return direct;
31
- const reasoning = cfg.reasoning;
32
- if (reasoning && typeof reasoning === 'object') {
33
- const effort = reasoning.effort;
34
- if (effort)
35
- return effort;
36
- }
37
- return undefined;
38
- }
39
- function allowConditional(rule, reasoningEffort) {
40
- if (rule.supported === false)
41
- return { allowed: false, omit: true };
42
- if (rule.supported === true && rule.fixedValue !== undefined) {
43
- return { allowed: false, omit: true, fixedValue: rule.fixedValue };
44
- }
45
- if (rule.supported === true)
46
- return { allowed: true, omit: false };
47
- const ok = reasoningEffort === rule.when.reasoningEffortEquals;
48
- return { allowed: ok, omit: !ok };
11
+ function mapRoleMessagesToRecord(input, mapping, betweenChunks = "\n\n-------------------------------------------------------------\n\n") {
12
+ const roleToProp = new Map();
13
+ for (const m of mapping) {
14
+ if (!roleToProp.has(m.role))
15
+ roleToProp.set(m.role, []);
16
+ roleToProp.get(m.role).push(m.propertyName);
17
+ }
18
+ const propChunks = new Map();
19
+ for (const item of input) {
20
+ const props = roleToProp.get(item.role) ?? [];
21
+ for (const prop of props) {
22
+ if (!propChunks.has(prop))
23
+ propChunks.set(prop, []);
24
+ propChunks.get(prop).push(item.messages ?? "");
25
+ }
26
+ }
27
+ const out = {};
28
+ for (const [prop, chunks] of propChunks.entries()) {
29
+ out[prop] = chunks.length <= 1 ? (chunks[0] ?? "").trim() : joinHuman(chunks, betweenChunks);
30
+ }
31
+ return out;
49
32
  }
50
- function resolveRule(providerCaps, model, warnings) {
51
- const baseKey = normalizeModelKey(model);
52
- const exact = providerCaps.models[model];
53
- if (exact)
54
- return { api: exact.api, rule: exact };
55
- const base = providerCaps.models[baseKey];
56
- if (base)
57
- return { api: base.api, rule: base };
58
- const assume = providerCaps.defaults.assumeApiFor ?? [];
59
- const hit = assume.find(x => baseKey === x.modelPrefix ||
60
- baseKey.startsWith(x.modelPrefix + '-') ||
61
- baseKey.startsWith(x.modelPrefix + '.'));
62
- if (hit) {
63
- warnings.push(`Unknown model "${model}". Falling back to assumed api "${hit.api}".`);
33
+ function resolveModelCaps(registry, provider, model) {
34
+ const p = registry.providers[provider];
35
+ if (!p)
36
+ throw new Error(`Unknown provider: ${provider}`);
37
+ const exact = p.models?.[model];
38
+ if (exact?.defaultApiVariant || exact?.supports) {
64
39
  return {
65
- api: hit.api,
66
- rule: {
67
- api: hit.api,
68
- reasoningEffort: { supported: false },
69
- sampling: { temperature: { supported: false }, top_p: { supported: false } },
70
- penalties: { frequency: false, presence: false },
71
- stop: { supported: true },
72
- },
40
+ defaultApiVariant: exact.defaultApiVariant ?? p.providerDefaults.defaultApiVariant,
41
+ supports: deepMerge(p.providerDefaults.supports, exact.supports ?? {}),
42
+ rules: p.providerDefaults.rules
73
43
  };
74
44
  }
75
- warnings.push(`Unknown model "${model}". Falling back to conservative api "chat_completions".`);
45
+ for (const pat of p.patterns ?? []) {
46
+ const ok = (pat.match.prefix && model.startsWith(pat.match.prefix)) ||
47
+ (pat.match.regex && new RegExp(pat.match.regex).test(model));
48
+ if (ok) {
49
+ return {
50
+ defaultApiVariant: pat.caps.defaultApiVariant ?? p.providerDefaults.defaultApiVariant,
51
+ supports: deepMerge(p.providerDefaults.supports, pat.caps.supports ?? {}),
52
+ rules: p.providerDefaults.rules
53
+ };
54
+ }
55
+ }
76
56
  return {
77
- api: 'chat_completions',
78
- rule: {
79
- api: 'chat_completions',
80
- reasoningEffort: { supported: false },
81
- sampling: { temperature: { supported: true }, top_p: { supported: true } },
82
- penalties: { frequency: true, presence: true },
83
- stop: { supported: true },
84
- },
57
+ defaultApiVariant: p.providerDefaults.defaultApiVariant,
58
+ supports: p.providerDefaults.supports,
59
+ rules: p.providerDefaults.rules
85
60
  };
86
61
  }
87
- function adaptChatStyleConfigToApiParams(providerCaps, api, rule, model, cfg, warnings) {
88
- const config = cfg ?? {};
89
- const out = {};
90
- const effort = detectReasoningEffort(config);
91
- if (effort) {
92
- if (!rule.reasoningEffort.supported) {
93
- warnings.push(`Dropped reasoning effort "${effort}" (not supported).`);
62
+ function deepMerge(a, b) {
63
+ if (Array.isArray(a) || Array.isArray(b))
64
+ return b ?? a;
65
+ if (typeof a !== "object" || a === null)
66
+ return b ?? a;
67
+ if (typeof b !== "object" || b === null)
68
+ return a;
69
+ const out = { ...a };
70
+ for (const k of Object.keys(b)) {
71
+ out[k] = k in out ? deepMerge(out[k], b[k]) : b[k];
72
+ }
73
+ return out;
74
+ }
75
+ function setPath(obj, path, value) {
76
+ const parts = path.split(".");
77
+ let cur = obj;
78
+ for (let i = 0; i < parts.length - 1; i++) {
79
+ const p = parts[i];
80
+ if (!cur[p] || typeof cur[p] !== "object")
81
+ cur[p] = {};
82
+ cur = cur[p];
83
+ }
84
+ cur[parts[parts.length - 1]] = value;
85
+ }
86
+ function toStopArray(stop) {
87
+ if (!stop)
88
+ return undefined;
89
+ return Array.isArray(stop) ? stop : [stop];
90
+ }
91
+ function transformUnifiedRequest(unified, target, registry) {
92
+ const provider = target.provider;
93
+ const caps = resolveModelCaps(registry, provider, unified.model);
94
+ const apiVariant = target.apiVariant ?? caps.defaultApiVariant;
95
+ const api = registry.providers[provider]?.apiVariants?.[apiVariant];
96
+ if (!api) {
97
+ throw new Error(`Unknown apiVariant '${apiVariant}' for provider '${provider}'`);
98
+ }
99
+ const req = { model: unified.model };
100
+ switch (provider) {
101
+ case "openai":
102
+ case "groq":
103
+ case "xai":
104
+ case "moonshot_kimi": {
105
+ const messagesParam = api.messagesParam ?? "messages";
106
+ req[messagesParam] = unified.messages.map((m) => ({ role: m.role, content: m.content }));
107
+ break;
94
108
  }
95
- else if (rule.reasoningEffort.allowed && !rule.reasoningEffort.allowed.includes(effort)) {
96
- warnings.push(`Dropped reasoning effort "${effort}" (not allowed).`);
109
+ case "anthropic": {
110
+ const systemChunks = unified.messages
111
+ .filter((m) => m.role === "system")
112
+ .map((m) => m.content);
113
+ const system = joinHuman(systemChunks, registry.defaults.messageJoin.betweenChunks);
114
+ if (system.trim())
115
+ req[api.systemParam ?? "system"] = system;
116
+ req[api.messagesParam ?? "messages"] = unified.messages
117
+ .filter((m) => m.role !== "system")
118
+ .filter((m) => m.role === "user" || m.role === "assistant")
119
+ .map((m) => ({ role: m.role, content: m.content }));
120
+ break;
97
121
  }
98
- else {
99
- out.reasoning = { effort };
100
- out.reasoning_effort = effort;
122
+ case "google": {
123
+ if (apiVariant === "gemini_openai_compat") {
124
+ req[api.messagesParam ?? "messages"] = unified.messages.map((m) => ({
125
+ role: m.role,
126
+ content: m.content
127
+ }));
128
+ break;
129
+ }
130
+ const systemChunks = unified.messages
131
+ .filter((m) => m.role === "system")
132
+ .map((m) => m.content);
133
+ const system = joinHuman(systemChunks, registry.defaults.messageJoin.betweenChunks);
134
+ if (system.trim()) {
135
+ req[api.systemParam ?? "systemInstruction"] = {
136
+ role: "system",
137
+ parts: [{ text: system }]
138
+ };
139
+ }
140
+ const contents = unified.messages
141
+ .filter((m) => m.role !== "system")
142
+ .filter((m) => m.role === "user" || m.role === "assistant")
143
+ .map((m) => ({
144
+ role: m.role === "assistant" ? "model" : "user",
145
+ parts: [{ text: m.content }]
146
+ }));
147
+ req["contents"] = contents;
148
+ req["generationConfig"] = {};
149
+ break;
101
150
  }
151
+ default:
152
+ throw new Error(`Unhandled provider: ${provider}`);
102
153
  }
103
- const finalEffort = out.reasoning?.effort ?? effort;
104
- const requestedMax = coerceNumber(config.max_tokens) ??
105
- coerceNumber(config.maxTokens) ??
106
- coerceNumber(config.max_output_tokens) ??
107
- coerceNumber(config.maxOutputTokens) ??
108
- coerceNumber(config.max_completion_tokens);
109
- if (requestedMax !== undefined) {
110
- const tokenKey = providerCaps.defaults.tokenParamByApi[api];
111
- if (!tokenKey)
112
- warnings.push(`No tokenParamByApi mapping for api="${api}". Dropping max_tokens.`);
154
+ applyConfig(req, unified, provider, apiVariant, api, caps, registry);
155
+ if (unified.extra && typeof unified.extra === "object") {
156
+ req["extra"] = unified.extra;
157
+ }
158
+ return { provider, apiVariant, request: req };
159
+ }
160
+ function applyConfig(req, unified, provider, apiVariant, api, caps, registry) {
161
+ const supports = caps.supports ?? {};
162
+ const stopArr = toStopArray(unified.stop);
163
+ if (typeof unified.max_tokens === "number") {
164
+ if (api.tokenParam.includes("."))
165
+ setPath(req, api.tokenParam, unified.max_tokens);
113
166
  else
114
- out[tokenKey] = requestedMax;
167
+ req[api.tokenParam] = unified.max_tokens;
115
168
  }
116
- if (config.stop !== undefined) {
117
- if (rule.stop.supported)
118
- out.stop = config.stop;
169
+ if (stopArr && supports.stop !== false) {
170
+ const stopParam = api.stopParam ?? (apiVariant === "responses" ? "stop" : "stop");
171
+ if (stopParam.includes("."))
172
+ setPath(req, stopParam, stopArr);
119
173
  else
120
- warnings.push(`Dropped stop (not supported).`);
121
- }
122
- if (config.temperature !== undefined) {
123
- const res = allowConditional(rule.sampling.temperature, finalEffort);
124
- if (!res.allowed || res.omit) {
125
- warnings.push(res.fixedValue !== undefined
126
- ? `Omitted temperature=${config.temperature} (fixed default ${res.fixedValue}, param not accepted).`
127
- : `Omitted temperature=${config.temperature} (not supported for model/reasoning).`);
174
+ req[stopParam] = stopArr;
175
+ }
176
+ if (unified.reasoning_effort && api.reasoningEffortParamPath) {
177
+ const supported = supports.reasoningEffort;
178
+ if (supported !== false) {
179
+ setPath(req, api.reasoningEffortParamPath, unified.reasoning_effort);
128
180
  }
129
- else {
130
- out.temperature = config.temperature;
181
+ }
182
+ const temperatureSupported = supports.sampling?.temperature !== false;
183
+ const topPSupported = supports.sampling?.top_p !== false;
184
+ const exclusion = caps.rules?.mutualExclusion ?? [];
185
+ let mutuallyExclusiveParams = null;
186
+ for (const rule of exclusion) {
187
+ if (new RegExp(rule.appliesToModelRegex, "i").test(unified.model)) {
188
+ mutuallyExclusiveParams = rule.params;
189
+ break;
131
190
  }
132
191
  }
133
- const topP = coerceNumber(config.top_p) ?? coerceNumber(config.topP);
134
- if (topP !== undefined) {
135
- const res = allowConditional(rule.sampling.top_p, finalEffort);
136
- if (!res.allowed || res.omit)
137
- warnings.push(`Omitted top_p=${topP} (not supported for model/reasoning).`);
138
- else
139
- out.top_p = topP;
192
+ if (mutuallyExclusiveParams?.includes("temperature") && mutuallyExclusiveParams?.includes("top_p")) {
193
+ if (typeof unified.temperature === "number" && typeof unified.top_p === "number") {
194
+ }
140
195
  }
141
- const freq = coerceNumber(config.frequency_penalty) ?? coerceNumber(config.frequencyPenalty);
142
- const pres = coerceNumber(config.presence_penalty) ?? coerceNumber(config.presencePenalty);
143
- if (freq !== undefined) {
144
- if (rule.penalties.frequency)
145
- out.frequency_penalty = freq;
196
+ const tempKey = api.samplingParams?.temperature ?? "temperature";
197
+ const topPKey = api.samplingParams?.top_p ?? "top_p";
198
+ if (typeof unified.temperature === "number" && temperatureSupported) {
199
+ if (mutuallyExclusiveParams &&
200
+ mutuallyExclusiveParams.includes("temperature") &&
201
+ typeof unified.top_p === "number") {
202
+ }
203
+ if (tempKey.includes("."))
204
+ setPath(req, tempKey, unified.temperature);
146
205
  else
147
- warnings.push(`Dropped frequency_penalty=${freq} (not supported).`);
206
+ req[tempKey] = unified.temperature;
148
207
  }
149
- if (pres !== undefined) {
150
- if (rule.penalties.presence)
151
- out.presence_penalty = pres;
152
- else
153
- warnings.push(`Dropped presence_penalty=${pres} (not supported).`);
154
- }
155
- if (config.tools !== undefined)
156
- out.tools = config.tools;
157
- const blocked = new Set([
158
- 'model', 'messages',
159
- 'max_tokens', 'maxTokens', 'max_output_tokens', 'maxOutputTokens', 'max_completion_tokens',
160
- 'temperature',
161
- 'top_p', 'topP',
162
- 'frequency_penalty', 'frequencyPenalty',
163
- 'presence_penalty', 'presencePenalty',
164
- 'stop',
165
- 'tools',
166
- 'reasoning', 'reasoning_effort', 'reasoningEffort',
167
- 'provider'
168
- ]);
169
- for (const [k, v] of Object.entries(config)) {
170
- if (blocked.has(k))
171
- continue;
172
- out[k] = v;
208
+ if (typeof unified.top_p === "number" && topPSupported) {
209
+ if (mutuallyExclusiveParams && mutuallyExclusiveParams.includes("top_p") && typeof unified.temperature === "number") {
210
+ }
211
+ else {
212
+ if (topPKey.includes("."))
213
+ setPath(req, topPKey, unified.top_p);
214
+ else
215
+ req[topPKey] = unified.top_p;
216
+ }
173
217
  }
174
- return out;
175
- }
176
- function buildOpenAIPayloadFromChatStyle(api, model, messages) {
177
- if (api === 'responses') {
178
- const instructions = joinHuman(messages.filter(m => m.role === 'system').map(m => m.content));
179
- const inputArr = [];
180
- for (const m of messages) {
181
- const c = trim(m.content);
182
- if (!c)
183
- continue;
184
- if (m.role === 'system')
185
- continue;
186
- if (m.role === 'developer')
187
- inputArr.push({ role: 'developer', content: c });
188
- if (m.role === 'assistant')
189
- inputArr.push({ role: 'assistant', content: c });
190
- if (m.role === 'user')
191
- inputArr.push({ role: 'user', content: c });
218
+ if (typeof unified.frequency_penalty === "number" && supports.penalties?.frequency_penalty === true) {
219
+ req["frequency_penalty"] = unified.frequency_penalty;
220
+ }
221
+ if (typeof unified.presence_penalty === "number" && supports.penalties?.presence_penalty === true) {
222
+ req["presence_penalty"] = unified.presence_penalty;
223
+ }
224
+ if (provider === "google" && apiVariant === "gemini_generateContent") {
225
+ const gc = req["generationConfig"];
226
+ if (gc && typeof gc === "object" && Object.keys(gc).length === 0) {
227
+ delete req["generationConfig"];
192
228
  }
193
- const onlyUser = inputArr.length === 1 && inputArr[0].role === 'user';
194
- return {
195
- model,
196
- ...(instructions ? { instructions } : {}),
197
- input: onlyUser ? inputArr[0].content : inputArr,
198
- };
199
229
  }
200
- const systemMerged = joinHuman([
201
- ...messages.filter(m => m.role === 'system').map(m => m.content),
202
- ...messages.filter(m => m.role === 'developer').map(m => m.content),
203
- ]);
204
- const outMsgs = [];
205
- if (systemMerged)
206
- outMsgs.push({ role: 'system', content: systemMerged });
207
- for (const m of messages) {
208
- const c = trim(m.content);
209
- if (!c)
210
- continue;
211
- if (m.role === 'user')
212
- outMsgs.push({ role: 'user', content: c });
213
- if (m.role === 'assistant')
214
- outMsgs.push({ role: 'assistant', content: c });
215
- }
216
- return { model, messages: outMsgs };
217
- }
218
- function buildGenericChatPayload(model, messages) {
219
- return {
220
- model,
221
- messages: messages.map(m => ({ role: m.role, content: trim(m.content) })).filter(m => m.content),
222
- };
223
- }
224
- function transformChatStyleToVendorRequest(req, registry) {
225
- const warnings = [];
226
- const providerCaps = registry.providers[req.provider];
227
- if (!providerCaps)
228
- throw new Error(`No capabilities for provider "${req.provider}".`);
229
- const { api, rule } = resolveRule(providerCaps, req.model, warnings);
230
- let base;
231
- if (req.provider === 'openai') {
232
- base = buildOpenAIPayloadFromChatStyle(api, req.model, req.messages);
233
- }
234
- else {
235
- base = buildGenericChatPayload(req.model, req.messages);
236
- }
237
- const configParams = adaptChatStyleConfigToApiParams(providerCaps, api, rule, req.model, req, warnings);
238
- return {
239
- provider: req.provider,
240
- api,
241
- payload: { ...base, ...configParams },
242
- warnings,
243
- };
244
230
  }
245
231
  //# sourceMappingURL=chat-style-transformer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-style-transformer.js","sourceRoot":"","sources":["../src/chat-style-transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-style-transformer.js","sourceRoot":"","sources":["../src/chat-style-transformer.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export type { ProviderId, ChatRole, UnifiedChatMessage, UnifiedChatRequest, BuiltVendorRequest, ReasoningEffort, CapabilitiesRegistry, ProviderCapabilities, CapabilityRule, SamplingRule, } from './chat-style-transformer';
2
- export { transformChatStyleToVendorRequest } from './chat-style-transformer';
3
- export { capabilities } from './capabilities';
1
+ export type { ProviderKey, UnifiedChatRole, UnifiedChatMessage, UnifiedChatCompletionsLikeRequest, Target, Registry, } from './chat-style-transformer';
2
+ export { transformUnifiedRequest, joinHuman, mapRoleMessagesToRecord, resolveModelCaps, } from './chat-style-transformer';
3
+ export { capabilities, loadRegistry } from './capabilities';
4
4
  export interface AIRequest {
5
5
  messages: Array<{
6
6
  role: 'user' | 'assistant' | 'system';
@@ -25,12 +25,16 @@ export interface AIProvider {
25
25
  name: string;
26
26
  sendRequest(request: AIRequest): Promise<AIResponse>;
27
27
  }
28
- import type { UnifiedChatRequest, CapabilitiesRegistry } from './chat-style-transformer';
28
+ import type { UnifiedChatCompletionsLikeRequest, Target, Registry } from './chat-style-transformer';
29
29
  export declare class AIRequestsAdapter {
30
30
  private registry;
31
31
  private defaultProvider?;
32
- constructor(registry?: CapabilitiesRegistry);
33
- transformRequest(request: UnifiedChatRequest): import("./chat-style-transformer").BuiltVendorRequest;
32
+ constructor(registry?: Registry);
33
+ transformRequest(unified: UnifiedChatCompletionsLikeRequest, target?: Target): {
34
+ provider: import("./chat-style-transformer").ProviderKey;
35
+ apiVariant: string;
36
+ request: Record<string, any>;
37
+ };
34
38
  getProviders(): string[];
35
39
  setDefaultProvider(provider: string): void;
36
40
  getDefaultProvider(): string | undefined;
@@ -40,6 +44,10 @@ export declare class AIRequestsAdapter {
40
44
  sendRequestWithProvider(providerName: string, request: AIRequest): Promise<AIResponse>;
41
45
  }
42
46
  export default AIRequestsAdapter;
43
- export declare function createAIAdapter(registry?: CapabilitiesRegistry): AIRequestsAdapter;
44
- export declare function transformToVendorRequest(request: UnifiedChatRequest, registry?: CapabilitiesRegistry): import("./chat-style-transformer").BuiltVendorRequest;
47
+ export declare function createAIAdapter(registry?: Registry): AIRequestsAdapter;
48
+ export declare function transformToVendorRequest(unified: UnifiedChatCompletionsLikeRequest, target: Target, registry?: Registry): {
49
+ provider: import("./chat-style-transformer").ProviderKey;
50
+ apiVariant: string;
51
+ request: Record<string, any>;
52
+ };
45
53
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,YAAY,GACb,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;QACtC,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACtD;AAED,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAIzF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,eAAe,CAAC,CAAS;gBAErB,QAAQ,GAAE,oBAAmC;IAOzD,gBAAgB,CAAC,OAAO,EAAE,kBAAkB;IAO5C,YAAY,IAAI,MAAM,EAAE;IAOxB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAU1C,kBAAkB,IAAI,MAAM,GAAG,SAAS;IAKxC,OAAO,CAAC,SAAS,CAAsC;IAKvD,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,UAAQ,GAAG,IAAI;IAU1E,WAAW,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAUpD,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;CAO7F;AAGD,eAAe,iBAAiB,CAAC;AAGjC,wBAAgB,eAAe,CAAC,QAAQ,CAAC,EAAE,oBAAoB,GAAG,iBAAiB,CAElF;AAGD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,CAAC,EAAE,oBAAoB,yDAEpG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,iCAAiC,EACjC,MAAM,EACN,QAAQ,GACT,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG5D,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;QACtC,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACtD;AAED,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAIpG,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,eAAe,CAAC,CAAS;gBAErB,QAAQ,GAAE,QAAuB;IAO7C,gBAAgB,CAAC,OAAO,EAAE,iCAAiC,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;IAW5E,YAAY,IAAI,MAAM,EAAE;IAOxB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAU1C,kBAAkB,IAAI,MAAM,GAAG,SAAS;IAKxC,OAAO,CAAC,SAAS,CAAsC;IAKvD,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,UAAQ,GAAG,IAAI;IAU1E,WAAW,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAUpD,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;CAO7F;AAGD,eAAe,iBAAiB,CAAC;AAGjC,wBAAgB,eAAe,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,iBAAiB,CAEtE;AAGD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,iCAAiC,EAC1C,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,QAAQ;;;;EAGpB"}
package/dist/index.js CHANGED
@@ -1,12 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AIRequestsAdapter = exports.capabilities = exports.transformChatStyleToVendorRequest = void 0;
3
+ exports.AIRequestsAdapter = exports.loadRegistry = exports.capabilities = exports.resolveModelCaps = exports.mapRoleMessagesToRecord = exports.joinHuman = exports.transformUnifiedRequest = void 0;
4
4
  exports.createAIAdapter = createAIAdapter;
5
5
  exports.transformToVendorRequest = transformToVendorRequest;
6
6
  var chat_style_transformer_1 = require("./chat-style-transformer");
7
- Object.defineProperty(exports, "transformChatStyleToVendorRequest", { enumerable: true, get: function () { return chat_style_transformer_1.transformChatStyleToVendorRequest; } });
7
+ Object.defineProperty(exports, "transformUnifiedRequest", { enumerable: true, get: function () { return chat_style_transformer_1.transformUnifiedRequest; } });
8
+ Object.defineProperty(exports, "joinHuman", { enumerable: true, get: function () { return chat_style_transformer_1.joinHuman; } });
9
+ Object.defineProperty(exports, "mapRoleMessagesToRecord", { enumerable: true, get: function () { return chat_style_transformer_1.mapRoleMessagesToRecord; } });
10
+ Object.defineProperty(exports, "resolveModelCaps", { enumerable: true, get: function () { return chat_style_transformer_1.resolveModelCaps; } });
8
11
  var capabilities_1 = require("./capabilities");
9
12
  Object.defineProperty(exports, "capabilities", { enumerable: true, get: function () { return capabilities_1.capabilities; } });
13
+ Object.defineProperty(exports, "loadRegistry", { enumerable: true, get: function () { return capabilities_1.loadRegistry; } });
10
14
  const chat_style_transformer_2 = require("./chat-style-transformer");
11
15
  const capabilities_2 = require("./capabilities");
12
16
  class AIRequestsAdapter {
@@ -14,8 +18,12 @@ class AIRequestsAdapter {
14
18
  this.providers = new Map();
15
19
  this.registry = registry;
16
20
  }
17
- transformRequest(request) {
18
- return (0, chat_style_transformer_2.transformChatStyleToVendorRequest)(request, this.registry);
21
+ transformRequest(unified, target) {
22
+ const fullTarget = {
23
+ provider: target?.provider || this.defaultProvider || 'openai',
24
+ apiVariant: target?.apiVariant,
25
+ };
26
+ return (0, chat_style_transformer_2.transformUnifiedRequest)(unified, fullTarget, this.registry);
19
27
  }
20
28
  getProviders() {
21
29
  return Object.keys(this.registry.providers);
@@ -54,7 +62,7 @@ exports.default = AIRequestsAdapter;
54
62
  function createAIAdapter(registry) {
55
63
  return new AIRequestsAdapter(registry);
56
64
  }
57
- function transformToVendorRequest(request, registry) {
58
- return (0, chat_style_transformer_2.transformChatStyleToVendorRequest)(request, registry || capabilities_2.capabilities);
65
+ function transformToVendorRequest(unified, target, registry) {
66
+ return (0, chat_style_transformer_2.transformUnifiedRequest)(unified, target, registry || capabilities_2.capabilities);
59
67
  }
60
68
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAiIA,0CAEC;AAGD,4DAEC;AAxHD,mEAA6E;AAApE,2IAAA,iCAAiC,OAAA;AAC1C,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AA+BrB,qEAA6E;AAC7E,iDAA8C;AAE9C,MAAa,iBAAiB;IAI5B,YAAY,WAAiC,2BAAY;QAoCjD,cAAS,GAA4B,IAAI,GAAG,EAAE,CAAC;QAnCrD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAKD,gBAAgB,CAAC,OAA2B;QAC1C,OAAO,IAAA,0DAAiC,EAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnE,CAAC;IAKD,YAAY;QACV,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAKD,kBAAkB,CAAC,QAAgB;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,uCAAuC,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;IAClC,CAAC;IAKD,kBAAkB;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAQD,gBAAgB,CAAC,IAAY,EAAE,QAAoB,EAAE,YAAY,GAAG,KAAK;QACvE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnC,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,WAAW,CAAC,OAAkB;QAClC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IAKD,KAAK,CAAC,uBAAuB,CAAC,YAAoB,EAAE,OAAkB;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,aAAa,YAAY,qCAAqC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChI,CAAC;QACD,OAAO,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;CACF;AAxED,8CAwEC;AAGD,kBAAe,iBAAiB,CAAC;AAGjC,SAAgB,eAAe,CAAC,QAA+B;IAC7D,OAAO,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC;AAGD,SAAgB,wBAAwB,CAAC,OAA2B,EAAE,QAA+B;IACnG,OAAO,IAAA,0DAAiC,EAAC,OAAO,EAAE,QAAQ,IAAI,2BAAY,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAqIA,0CAEC;AAGD,4DAMC;AAtID,mEAKkC;AAJhC,iIAAA,uBAAuB,OAAA;AACvB,mHAAA,SAAS,OAAA;AACT,iIAAA,uBAAuB,OAAA;AACvB,0HAAA,gBAAgB,OAAA;AAGlB,+CAA4D;AAAnD,4GAAA,YAAY,OAAA;AAAE,4GAAA,YAAY,OAAA;AA+BnC,qEAAmE;AACnE,iDAA8C;AAE9C,MAAa,iBAAiB;IAI5B,YAAY,WAAqB,2BAAY;QAwCrC,cAAS,GAA4B,IAAI,GAAG,EAAE,CAAC;QAvCrD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAKD,gBAAgB,CAAC,OAA0C,EAAE,MAAe;QAC1E,MAAM,UAAU,GAAW;YACzB,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,IAAI,CAAC,eAAsB,IAAI,QAAQ;YACrE,UAAU,EAAE,MAAM,EAAE,UAAU;SAC/B,CAAC;QACF,OAAO,IAAA,gDAAuB,EAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrE,CAAC;IAKD,YAAY;QACV,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAKD,kBAAkB,CAAC,QAAgB;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,uCAAuC,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;IAClC,CAAC;IAKD,kBAAkB;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAQD,gBAAgB,CAAC,IAAY,EAAE,QAAoB,EAAE,YAAY,GAAG,KAAK;QACvE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnC,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,WAAW,CAAC,OAAkB;QAClC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IAKD,KAAK,CAAC,uBAAuB,CAAC,YAAoB,EAAE,OAAkB;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,aAAa,YAAY,qCAAqC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChI,CAAC;QACD,OAAO,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;CACF;AA5ED,8CA4EC;AAGD,kBAAe,iBAAiB,CAAC;AAGjC,SAAgB,eAAe,CAAC,QAAmB;IACjD,OAAO,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC;AAGD,SAAgB,wBAAwB,CACtC,OAA0C,EAC1C,MAAc,EACd,QAAmB;IAEnB,OAAO,IAAA,gDAAuB,EAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,IAAI,2BAAY,CAAC,CAAC;AAC5E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-requests-adapter",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "description": "A flexible adapter SDK for handling AI API requests across multiple providers",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",