Skip to content

Commit 53abf2a

Browse files
authored
Merge pull request #1479 from b4s36t4/fix/transform-types
2 parents dcf4520 + ddd532f commit 53abf2a

8 files changed

Lines changed: 35 additions & 16 deletions

File tree

src/providers/anthropic/chatComplete.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {
55
ContentType,
66
SYSTEM_MESSAGE_ROLES,
77
PromptCache,
8+
ToolChoiceObject,
89
} from '../../types/requestBody';
910
import {
1011
ChatCompletionResponse,
@@ -422,7 +423,10 @@ export const AnthropicChatCompleteConfig: ProviderConfig = {
422423
else if (params.tool_choice === 'auto') return { type: 'auto' };
423424
else if (params.tool_choice === 'none') return { type: 'none' };
424425
} else if (typeof params.tool_choice === 'object') {
425-
return { type: 'tool', name: params.tool_choice.function.name };
426+
return {
427+
type: 'tool',
428+
name: (params.tool_choice as ToolChoiceObject).function.name,
429+
};
426430
}
427431
}
428432
return null;

src/providers/bedrock/chatComplete.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
ToolCall,
1111
SYSTEM_MESSAGE_ROLES,
1212
ContentType,
13+
ToolChoiceObject,
1314
} from '../../types/requestBody';
1415
import {
1516
ChatCompletionResponse,
@@ -375,7 +376,7 @@ export const BedrockConverseChatCompleteConfig: ProviderConfig = {
375376
if (typeof params.tool_choice === 'object') {
376377
toolChoice = {
377378
tool: {
378-
name: params.tool_choice.function.name,
379+
name: (params.tool_choice as ToolChoiceObject).function.name,
379380
},
380381
};
381382
} else if (typeof params.tool_choice === 'string') {

src/providers/bedrock/countTokens.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { ProviderConfig } from '../types';
22
import { BedrockMessagesParams } from './types';
33
import { transformUsingProviderConfig } from '../../services/transformToProviderRequest';
44
import { BedrockConverseMessagesConfig } from './messages';
5-
import { Params } from '../../types/requestBody';
5+
import { Options, Params } from '../../types/requestBody';
66
import { BEDROCK } from '../../globals';
77
import { BedrockErrorResponseTransform } from './chatComplete';
88
import { generateInvalidProviderResponseError } from '../utils';
@@ -13,11 +13,12 @@ export const BedrockConverseMessageCountTokensConfig: ProviderConfig = {
1313
messages: {
1414
param: 'input',
1515
required: true,
16-
transform: (params: BedrockMessagesParams) => {
16+
transform: (params: BedrockMessagesParams, providerOptions: Options) => {
1717
return {
1818
converse: transformUsingProviderConfig(
1919
BedrockConverseMessagesConfig,
20-
params as Params
20+
params as Params,
21+
providerOptions
2122
),
2223
};
2324
},
@@ -28,10 +29,11 @@ export const BedrockAnthropicMessageCountTokensConfig: ProviderConfig = {
2829
messages: {
2930
param: 'input',
3031
required: true,
31-
transform: (params: BedrockMessagesParams) => {
32+
transform: (params: BedrockMessagesParams, providerOptions: Options) => {
3233
const anthropicParams = transformUsingProviderConfig(
3334
AnthropicMessagesConfig,
34-
params as Params
35+
params as Params,
36+
providerOptions
3537
);
3638
delete anthropicParams.model;
3739
anthropicParams.anthropic_version =

src/providers/bedrock/uploadFileUtils.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {
44
Message,
55
MESSAGE_ROLES,
66
Params,
7+
ToolChoiceObject,
78
} from '../../types/requestBody';
89
import {
910
ChatCompletionResponse,
@@ -252,7 +253,10 @@ const BedrockAnthropicChatCompleteConfig: ProviderConfig = {
252253
if (params.tool_choice === 'required') return { type: 'any' };
253254
else if (params.tool_choice === 'auto') return { type: 'auto' };
254255
} else if (typeof params.tool_choice === 'object') {
255-
return { type: 'tool', name: params.tool_choice.function.name };
256+
return {
257+
type: 'tool',
258+
name: (params.tool_choice as ToolChoiceObject).function.name,
259+
};
256260
}
257261
}
258262
return null;

src/providers/openrouter/utils.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ interface OpenrouterUsageParam {
66

77
interface OpenRouterParams extends Params {
88
reasoning?: OpenrouterReasoningParam;
9+
usage?: OpenrouterUsageParam;
10+
stream_options?: {
11+
include_usage?: boolean;
12+
};
913
}
1014

1115
type OpenrouterReasoningParam = {

src/providers/oracle/chatComplete.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,12 @@ export const OracleChatCompleteConfig: ProviderConfig = {
3434
{
3535
param: 'chatRequest',
3636
required: true,
37-
transform: (params: Params) => {
38-
return transformUsingProviderConfig(OracleChatDetailsConfig, params);
37+
transform: (params: Params, providerOptions: Options) => {
38+
return transformUsingProviderConfig(
39+
OracleChatDetailsConfig,
40+
params,
41+
providerOptions
42+
);
3943
},
4044
},
4145
{
@@ -182,9 +186,9 @@ export const OracleChatDetailsConfig: ProviderConfig = {
182186
if (tool.type === 'function') {
183187
transformedTools.push({
184188
type: 'FUNCTION',
185-
description: tool.function.description,
186-
parameters: tool.function.parameters,
187-
name: tool.function.name,
189+
description: tool.function?.description,
190+
parameters: tool.function?.parameters,
191+
name: tool.function?.name,
188192
});
189193
} else if (tool.type === 'custom') {
190194
transformedTools.push({

src/providers/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export interface ParameterConfig {
2828
/** Whether the parameter is required. */
2929
required?: boolean;
3030
/** A function to transform the value of the parameter. */
31-
transform?: (params: Params, providerOptions?: Options) => any;
31+
transform?: (params: any, providerOptions: Options) => any;
3232
}
3333

3434
/**

src/services/transformToProviderRequest.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ const getValue = (
2929
configParam: string,
3030
params: Params,
3131
paramConfig: any,
32-
providerOptions?: Options
32+
providerOptions: Options
3333
) => {
3434
let value = params[configParam as keyof typeof params];
3535

@@ -75,7 +75,7 @@ const getValue = (
7575
export const transformUsingProviderConfig = (
7676
providerConfig: ProviderConfig,
7777
params: Params,
78-
providerOptions?: Options
78+
providerOptions: Options
7979
) => {
8080
const transformedRequest: { [key: string]: any } = {};
8181

0 commit comments

Comments
 (0)