Rename nativeCapabilities to capabilities with AgentCapabilities type

This commit is contained in:
ehconitin
2026-04-10 16:07:25 +05:30
parent 5691c9808d
commit 4fcc389c11
7 changed files with 34 additions and 34 deletions
@@ -1625,7 +1625,7 @@ type PublicWorkspaceData {
workspaceUrls: WorkspaceUrls!
}
type NativeModelCapabilities {
type AgentCapabilities {
webSearch: Boolean
twitterSearch: Boolean
}
@@ -1638,7 +1638,7 @@ type ClientAIModelConfig {
sdkPackage: String
inputCostPerMillionTokens: Float
outputCostPerMillionTokens: Float
nativeCapabilities: NativeModelCapabilities
capabilities: AgentCapabilities
isDeprecated: Boolean
isRecommended: Boolean
providerName: String
@@ -1334,10 +1334,10 @@ export interface PublicWorkspaceData {
__typename: 'PublicWorkspaceData'
}
export interface NativeModelCapabilities {
export interface AgentCapabilities {
webSearch?: Scalars['Boolean']
twitterSearch?: Scalars['Boolean']
__typename: 'NativeModelCapabilities'
__typename: 'AgentCapabilities'
}
export interface ClientAIModelConfig {
@@ -1348,7 +1348,7 @@ export interface ClientAIModelConfig {
sdkPackage?: Scalars['String']
inputCostPerMillionTokens?: Scalars['Float']
outputCostPerMillionTokens?: Scalars['Float']
nativeCapabilities?: NativeModelCapabilities
capabilities?: AgentCapabilities
isDeprecated?: Scalars['Boolean']
isRecommended?: Scalars['Boolean']
providerName?: Scalars['String']
@@ -4509,7 +4509,7 @@ export interface PublicWorkspaceDataGenqlSelection{
__scalar?: boolean | number
}
export interface NativeModelCapabilitiesGenqlSelection{
export interface AgentCapabilitiesGenqlSelection{
webSearch?: boolean | number
twitterSearch?: boolean | number
__typename?: boolean | number
@@ -4524,7 +4524,7 @@ export interface ClientAIModelConfigGenqlSelection{
sdkPackage?: boolean | number
inputCostPerMillionTokens?: boolean | number
outputCostPerMillionTokens?: boolean | number
nativeCapabilities?: NativeModelCapabilitiesGenqlSelection
capabilities?: AgentCapabilitiesGenqlSelection
isDeprecated?: boolean | number
isRecommended?: boolean | number
providerName?: boolean | number
@@ -7624,10 +7624,10 @@ export interface LogicFunctionLogsInput {applicationId?: (Scalars['UUID'] | null
const NativeModelCapabilities_possibleTypes: string[] = ['NativeModelCapabilities']
export const isNativeModelCapabilities = (obj?: { __typename?: any } | null): obj is NativeModelCapabilities => {
if (!obj?.__typename) throw new Error('__typename is missing in "isNativeModelCapabilities"')
return NativeModelCapabilities_possibleTypes.includes(obj.__typename)
const AgentCapabilities_possibleTypes: string[] = ['AgentCapabilities']
export const isAgentCapabilities = (obj?: { __typename?: any } | null): obj is AgentCapabilities => {
if (!obj?.__typename) throw new Error('__typename is missing in "isAgentCapabilities"')
return AgentCapabilities_possibleTypes.includes(obj.__typename)
}
@@ -3275,7 +3275,7 @@ export default {
1
]
},
"NativeModelCapabilities": {
"AgentCapabilities": {
"webSearch": [
6
],
@@ -3308,7 +3308,7 @@ export default {
"outputCostPerMillionTokens": [
11
],
"nativeCapabilities": [
"capabilities": [
165
],
"isDeprecated": [
@@ -112,6 +112,12 @@ export type Agent = {
updatedAt: Scalars['DateTime'];
};
export type AgentCapabilities = {
__typename?: 'AgentCapabilities';
twitterSearch?: Maybe<Scalars['Boolean']>;
webSearch?: Maybe<Scalars['Boolean']>;
};
export type AgentChatEvent = {
__typename?: 'AgentChatEvent';
event: Scalars['JSON'];
@@ -867,6 +873,7 @@ export type CheckUserExist = {
export type ClientAiModelConfig = {
__typename?: 'ClientAIModelConfig';
capabilities?: Maybe<AgentCapabilities>;
contextWindowTokens?: Maybe<Scalars['Float']>;
dataResidency?: Maybe<Scalars['String']>;
inputCostPerMillionTokens?: Maybe<Scalars['Float']>;
@@ -877,7 +884,6 @@ export type ClientAiModelConfig = {
modelFamily?: Maybe<ModelFamily>;
modelFamilyLabel?: Maybe<Scalars['String']>;
modelId: Scalars['String'];
nativeCapabilities?: Maybe<NativeModelCapabilities>;
outputCostPerMillionTokens?: Maybe<Scalars['Float']>;
providerLabel?: Maybe<Scalars['String']>;
providerName?: Maybe<Scalars['String']>;
@@ -3841,12 +3847,6 @@ export type MutationVerifyTwoFactorAuthenticationMethodForAuthenticatedUserArgs
otp: Scalars['String'];
};
export type NativeModelCapabilities = {
__typename?: 'NativeModelCapabilities';
twitterSearch?: Maybe<Scalars['Boolean']>;
webSearch?: Maybe<Scalars['Boolean']>;
};
export type NavigationMenuItem = {
__typename?: 'NavigationMenuItem';
applicationId?: Maybe<Scalars['UUID']>;
@@ -34,13 +34,13 @@ export const SettingsAgentModelCapabilities = ({
const aiModels = useAtomStateValue(aiModelsState);
const selectedModel = aiModels.find((m) => m.modelId === selectedModelId);
const nativeCapabilities = selectedModel?.nativeCapabilities;
const capabilities = selectedModel?.capabilities;
if (!isDefined(nativeCapabilities)) {
if (!isDefined(capabilities)) {
return null;
}
if (!nativeCapabilities.webSearch && !nativeCapabilities.twitterSearch) {
if (!capabilities.webSearch && !capabilities.twitterSearch) {
return null;
}
@@ -61,8 +61,8 @@ export const SettingsAgentModelCapabilities = ({
});
};
const capabilities = [
...(nativeCapabilities.webSearch
const capabilityItems = [
...(capabilities.webSearch
? [
{
key: 'webSearch' as const,
@@ -72,7 +72,7 @@ export const SettingsAgentModelCapabilities = ({
},
]
: []),
...(nativeCapabilities.twitterSearch
...(capabilities.twitterSearch
? [
{
key: 'twitterSearch' as const,
@@ -88,7 +88,7 @@ export const SettingsAgentModelCapabilities = ({
<Section>
<InputLabel>{t`Capabilities`}</InputLabel>
<div>
{capabilities.map((capability) => (
{capabilityItems.map((capability) => (
<MenuItemToggle
key={capability.key}
LeftIcon={capability.Icon}
@@ -30,7 +30,7 @@ registerEnumType(AiModelRole, {
});
@ObjectType()
export class NativeModelCapabilities {
export class AgentCapabilities {
@Field(() => Boolean, { nullable: true })
webSearch?: boolean;
@@ -62,8 +62,8 @@ export class ClientAIModelConfig {
@Field(() => Number, { nullable: true })
outputCostPerMillionTokens?: number;
@Field(() => NativeModelCapabilities, { nullable: true })
nativeCapabilities?: NativeModelCapabilities;
@Field(() => AgentCapabilities, { nullable: true })
capabilities?: AgentCapabilities;
@Field(() => Boolean, { nullable: true })
isDeprecated?: boolean;
@@ -17,7 +17,7 @@ import { MaintenanceModeService } from 'src/engine/core-modules/admin-panel/main
import {
type ClientAIModelConfig,
type ClientConfig,
type NativeModelCapabilities,
type AgentCapabilities,
} from 'src/engine/core-modules/client-config/client-config.entity';
import { DomainServerConfigService } from 'src/engine/core-modules/domain/domain-server-config/services/domain-server-config.service';
import { PUBLIC_FEATURE_FLAGS } from 'src/engine/core-modules/feature-flag/constants/public-feature-flag.const';
@@ -38,9 +38,9 @@ export class ClientConfigService {
private maintenanceModeService: MaintenanceModeService,
) {}
private deriveNativeCapabilities(
private deriveAgentCapabilities(
sdkPackage?: AiSdkPackage,
): NativeModelCapabilities | undefined {
): AgentCapabilities | undefined {
const hasNativeWebSearch =
sdkPackage === AI_SDK_OPENAI ||
sdkPackage === AI_SDK_ANTHROPIC ||
@@ -104,7 +104,7 @@ export class ClientConfigService {
sdkPackage: registeredModel.sdkPackage,
providerName,
providerLabel: getProviderLabel(providerName),
nativeCapabilities: this.deriveNativeCapabilities(
capabilities: this.deriveAgentCapabilities(
registeredModel.sdkPackage,
),
inputCostPerMillionTokens: modelConfig?.inputCostPerMillionTokens,