diff --git a/gql-queries-generator/doc/queries.graphql b/gql-queries-generator/doc/queries.graphql index eeb98ec69..a5e66599b 100644 --- a/gql-queries-generator/doc/queries.graphql +++ b/gql-queries-generator/doc/queries.graphql @@ -3878,6 +3878,14 @@ query consoleListImagePullSecrets($projectName: String!, $envName: String!, $sea } } +mutation authCli_updateDeviceCluster($deviceName: String!, $clusterName: String!) { + core_updateVpnClusterName(deviceName: $deviceName, clusterName: $clusterName) +} + +mutation authCli_UpdateDeviceNs($deviceName: String!, $ns: String!) { + core_updateVpnDeviceNs(deviceName: $deviceName, ns: $ns) +} + mutation authCli_CoreUpdateDevicePorts($deviceName: String!, $ports: [PortIn!]!) { core_updateVPNDevicePorts(deviceName: $deviceName, ports: $ports) } @@ -3957,120 +3965,6 @@ mutation authCli_updateCoreDevicePorts($deviceName: String!, $ports: [PortIn!]!) core_updateVPNDevicePorts(deviceName: $deviceName, ports: $ports) } -query authCli_getDevice($clusterName: String!, $name: String!) { - infra_getVPNDevice(clusterName: $clusterName, name: $name) { - displayName - markedForDeletion - metadata { - name - namespace - } - spec { - cnameRecords { - host - target - } - activeNamespace - nodeSelector - ports { - port - targetPort - } - } - status { - isReady - message { - RawMessage - } - } - wireguardConfig { - encoding - value - } - } -} - -query authCli_listDevices($pq: CursorPaginationIn, $clusterName: String) { - infra_listVPNDevices(clusterName: $clusterName, pq: $pq) { - edges { - node { - displayName - metadata { - name - } - spec { - activeNamespace - disabled - nodeSelector - ports { - port - targetPort - } - } - status { - isReady - message { - RawMessage - } - } - wireguardConfig { - encoding - value - } - } - } - } -} - -mutation authCli_updateDevice($clusterName: String!, $vpnDevice: VPNDeviceIn!) { - infra_updateVPNDevice(clusterName: $clusterName, vpnDevice: $vpnDevice) { - metadata { - name - } - spec { - activeNamespace - cnameRecords { - target - host - } - ports { - targetPort - port - } - } - status { - message { - RawMessage - } - isReady - } - } -} - -mutation authCli_updateDevicePort($clusterName: String!, $deviceName: String!, $ports: [PortIn!]!) { - infra_updateVPNDevicePorts( - clusterName: $clusterName - deviceName: $deviceName - ports: $ports - ) -} - -mutation authCli_updateDeviceNs($clusterName: String!, $deviceName: String!, $namespace: String!) { - infra_updateVPNDeviceNs( - clusterName: $clusterName - deviceName: $deviceName - namespace: $namespace - ) -} - -mutation authCli_createDevice($clusterName: String!, $vpnDevice: VPNDeviceIn!) { - infra_createVPNDevice(clusterName: $clusterName, vpnDevice: $vpnDevice) { - metadata { - name - } - } -} - query authCli_CoreCheckNameAvailability($resType: ConsoleResType!, $name: String!) { core_checkNameAvailability(resType: $resType, name: $name) { result diff --git a/src/apps/auth/server/gql/cli-queries.ts b/src/apps/auth/server/gql/cli-queries.ts index a060711e6..7479f72bd 100644 --- a/src/apps/auth/server/gql/cli-queries.ts +++ b/src/apps/auth/server/gql/cli-queries.ts @@ -1,12 +1,29 @@ /* eslint-disable camelcase */ import gql from 'graphql-tag'; import { IExecutor } from '~/root/lib/server/helpers/execute-query-with-context'; -import { infraQueries } from './queries/infra-queries'; import { vpnQueries } from './queries/device-queries'; export const cliQueries = (executor: IExecutor) => ({ ...vpnQueries(executor), - ...infraQueries(executor), + + cli_coreCheckNameAvailability: executor( + gql` + query Core_checkNameAvailability( + $resType: ConsoleResType! + $name: String! + ) { + core_checkNameAvailability(resType: $resType, name: $name) { + result + suggestedNames + } + } + `, + { + transformer: (data: any) => data.core_checkNameAvailability, + vars: (_: any) => {}, + } + ), + cli_getMresKeys: executor( gql` query Core_getManagedResouceOutputKeyValues( @@ -251,35 +268,17 @@ export const cliQueries = (executor: IExecutor) => ({ edges { cursor node { - createdBy { - userEmail - userId - userName - } - creationTime displayName - enabled environmentName - kind - lastUpdatedBy { - userEmail - userId - userName - } markedForDeletion metadata { annotations - creationTimestamp - deletionTimestamp - generation - labels name namespace } projectName spec { displayName - freeze containers { args command @@ -296,62 +295,13 @@ export const cliQueries = (executor: IExecutor) => ({ type } image - imagePullPolicy - livenessProbe { - failureThreshold - httpGet { - httpHeaders - path - port - } - initialDelay - interval - shell { - command - } - tcp { - port - } - type - } name - readinessProbe { - failureThreshold - initialDelay - interval - type - } - resourceCpu { - max - min - } - resourceMemory { - max - min - } - volumes { - items { - fileName - key - } - mountPath - refName - type - } - } - hpa { - enabled - maxReplicas - minReplicas - thresholdCpu - thresholdMemory } intercept { enabled toDevice } nodeSelector - region replicas serviceAccount services { @@ -360,39 +310,16 @@ export const cliQueries = (executor: IExecutor) => ({ targetPort type } - tolerations { - effect - key - operator - tolerationSeconds - value - } } status { checks isReady - lastReadyGeneration - lastReconcileTime message { RawMessage } - resources { - apiVersion - kind - name - namespace - } } - updateTime } } - pageInfo { - endCursor - hasNextPage - hasPreviousPage - startCursor - } - totalCount } } `, diff --git a/src/apps/auth/server/gql/queries/device-queries.ts b/src/apps/auth/server/gql/queries/device-queries.ts index d7bca0a14..0e21a7fb1 100644 --- a/src/apps/auth/server/gql/queries/device-queries.ts +++ b/src/apps/auth/server/gql/queries/device-queries.ts @@ -2,7 +2,35 @@ import gql from 'graphql-tag'; import { IExecutor } from '~/root/lib/server/helpers/execute-query-with-context'; export const vpnQueries = (executor: IExecutor) => ({ - cli_CoreUpdateDevicePorts: executor( + cli_updateDeviceCluster: executor( + gql` + mutation Core_updateVpnClusterName( + $deviceName: String! + $clusterName: String! + ) { + core_updateVpnClusterName( + deviceName: $deviceName + clusterName: $clusterName + ) + } + `, + { + transformer: (data: any) => data.core_updateVpnClusterName, + vars: (_: any) => {}, + } + ), + cli_updateDeviceNs: executor( + gql` + mutation Core_updateVpnDeviceNs($deviceName: String!, $ns: String!) { + core_updateVpnDeviceNs(deviceName: $deviceName, ns: $ns) + } + `, + { + transformer: (data: any) => data.core_updateVpnDeviceNs, + vars: (_: any) => {}, + } + ), + cli_coreUpdateDevicePorts: executor( gql` mutation Core_updateVPNDevicePorts( $deviceName: String! @@ -16,7 +44,7 @@ export const vpnQueries = (executor: IExecutor) => ({ vars: (_: any) => {}, } ), - cli_CoreUpdateDeviceEnv: executor( + cli_coreUpdateDeviceEnv: executor( gql` mutation Core_updateVPNDeviceEnv( $deviceName: String! @@ -46,6 +74,7 @@ export const vpnQueries = (executor: IExecutor) => ({ name } projectName + clusterName status { isReady message { @@ -80,6 +109,7 @@ export const vpnQueries = (executor: IExecutor) => ({ metadata { name } + clusterName projectName spec { activeNamespace @@ -132,184 +162,4 @@ export const vpnQueries = (executor: IExecutor) => ({ vars: (_: any) => {}, } ), - - cli_getDevice: executor( - gql` - query Infra_getVPNDevice($clusterName: String!, $name: String!) { - infra_getVPNDevice(clusterName: $clusterName, name: $name) { - displayName - markedForDeletion - metadata { - name - namespace - } - spec { - cnameRecords { - host - target - } - activeNamespace - nodeSelector - ports { - port - targetPort - } - } - status { - isReady - message { - RawMessage - } - } - wireguardConfig { - encoding - value - } - } - } - `, - { - transformer: (data: any) => data.infra_getVPNDevice, - vars: (_: any) => {}, - } - ), - - cli_listDevices: executor( - gql` - query Infra_listVPNDevices( - $pq: CursorPaginationIn - $clusterName: String - ) { - infra_listVPNDevices(clusterName: $clusterName, pq: $pq) { - edges { - node { - displayName - metadata { - name - } - spec { - activeNamespace - disabled - nodeSelector - ports { - port - targetPort - } - } - status { - isReady - message { - RawMessage - } - } - wireguardConfig { - encoding - value - } - } - } - } - } - `, - { - transformer: (data: any) => data.infra_listVPNDevices, - vars: (_: any) => {}, - } - ), - - cli_updateDevice: executor( - gql` - mutation Mutation($clusterName: String!, $vpnDevice: VPNDeviceIn!) { - infra_updateVPNDevice( - clusterName: $clusterName - vpnDevice: $vpnDevice - ) { - metadata { - name - } - spec { - activeNamespace - cnameRecords { - target - host - } - ports { - targetPort - port - } - } - status { - message { - RawMessage - } - isReady - } - } - } - `, - { - transformer: (data: any) => data.infra_updateVPNDevice, - vars: (_: any) => {}, - } - ), - - cli_updateDevicePort: executor( - gql` - mutation Mutation( - $clusterName: String! - $deviceName: String! - $ports: [PortIn!]! - ) { - infra_updateVPNDevicePorts( - clusterName: $clusterName - deviceName: $deviceName - ports: $ports - ) - } - `, - { - transformer: (data: any) => data.infra_updateVPNDevicePorts, - vars: (_: any) => {}, - } - ), - cli_updateDeviceNs: executor( - gql` - mutation Infra_updateVPNDeviceNs( - $clusterName: String! - $deviceName: String! - $namespace: String! - ) { - infra_updateVPNDeviceNs( - clusterName: $clusterName - deviceName: $deviceName - namespace: $namespace - ) - } - `, - { - transformer: (data: any) => data.infra_updateVPNDeviceNs, - vars: (_: any) => {}, - } - ), - cli_createDevice: executor( - gql` - mutation Infra_createVPNDevice( - $clusterName: String! - $vpnDevice: VPNDeviceIn! - ) { - infra_createVPNDevice( - clusterName: $clusterName - vpnDevice: $vpnDevice - ) { - metadata { - name - } - } - } - `, - { - transformer: (data: any) => data.infra_createVPNDevice, - vars: (_: any) => {}, - } - ), }); diff --git a/src/apps/auth/server/gql/queries/infra-queries.ts b/src/apps/auth/server/gql/queries/infra-queries.ts deleted file mode 100644 index a53ea1479..000000000 --- a/src/apps/auth/server/gql/queries/infra-queries.ts +++ /dev/null @@ -1,22 +0,0 @@ -import gql from 'graphql-tag'; -import { IExecutor } from '~/root/lib/server/helpers/execute-query-with-context'; - -export const infraQueries = (executor: IExecutor) => ({ - cli_CoreCheckNameAvailability: executor( - gql` - query Core_checkNameAvailability( - $resType: ConsoleResType! - $name: String! - ) { - core_checkNameAvailability(resType: $resType, name: $name) { - result - suggestedNames - } - } - `, - { - transformer: (data: any) => data.core_checkNameAvailability, - vars: (_: any) => {}, - } - ), -}); diff --git a/src/apps/console/components/logger.tsx b/src/apps/console/components/logger.tsx index b0756937e..f62a8cf0f 100644 --- a/src/apps/console/components/logger.tsx +++ b/src/apps/console/components/logger.tsx @@ -14,7 +14,6 @@ import { useSearch, } from '~/root/lib/client/helpers/search-filter'; import useClass from '~/root/lib/client/hooks/use-class'; -import logger from '~/root/lib/client/helpers/log'; import { socketUrl } from '~/root/lib/configs/base-url.cjs'; import { generatePlainColor } from './color-generator'; import Pulsable from './pulsable'; @@ -403,13 +402,19 @@ const LogBlock = ({ ); const [showAll, setShowAll] = useState(true); + const ref = useRef(null); + // const listRef = useRef(null); useEffect(() => { + console.log('data', ref.current); + (async () => { if (follow && ref.current) { // @ts-ignore - ref.current.scrollTo(0, ref.current.scrollHeight); + ref.current.scrollToIndex({ + index: data.length - 1, + }); } })(); }, [data, maxLines]); @@ -470,11 +475,15 @@ const LogBlock = ({ >
- + {(log, index) => { return ( { }; }; +export const clearAppState = () => { + if (typeof window === 'undefined') return; + sessionStorage.removeItem('state'); +}; + export const AppContextProvider = ({ children, initialAppState, diff --git a/src/apps/console/routes/_main+/$account+/$project+/$environment+/apps/route.tsx b/src/apps/console/routes/_main+/$account+/$project+/$environment+/apps/route.tsx index 5016b3f86..a62eb7f54 100644 --- a/src/apps/console/routes/_main+/$account+/$project+/$environment+/apps/route.tsx +++ b/src/apps/console/routes/_main+/$account+/$project+/$environment+/apps/route.tsx @@ -10,6 +10,8 @@ import { ensureAccountSet } from '~/console/server/utils/auth-utils'; import { getPagination, getSearch } from '~/console/server/utils/common'; import { IRemixCtx } from '~/root/lib/types/common'; import fake from '~/root/fake-data-generator/fake'; +import { clearAppState } from '~/console/page-components/app-states'; +import { useEffect } from 'react'; import AppsResources from './apps-resources'; import Tools from './tools'; @@ -38,12 +40,16 @@ export const loader = async (ctx: IRemixCtx) => { const Apps = () => { const { promise } = useLoaderData(); + useEffect(() => { + clearAppState(); + }, []); + return ( {({ appsData }) => { const apps = parseNodes(appsData); diff --git a/src/apps/console/routes/_main+/$account+/projects/project-resources.tsx b/src/apps/console/routes/_main+/$account+/projects/project-resources.tsx index 7ca5dadd6..a57d84a22 100644 --- a/src/apps/console/routes/_main+/$account+/projects/project-resources.tsx +++ b/src/apps/console/routes/_main+/$account+/projects/project-resources.tsx @@ -121,6 +121,18 @@ const ListView = ({ items }: { items: BaseType[] }) => { }, status, listFlex({ key: `${keyPrefix}flex` }), + { + key: generateKey(keyPrefix, item.clusterName || ''), + className: '', + render: () => ( +
+ cluster:{' '} + + {item.clusterName} + +
+ ), + }, { key: generateKey(keyPrefix, updateInfo.author), className: listClass.author, diff --git a/src/apps/console/routes/_main+/$account+/repo+/$repo+/buildruns/buildruns-resources.tsx b/src/apps/console/routes/_main+/$account+/repo+/$repo+/buildruns/buildruns-resources.tsx index e27b6e731..4b059266b 100644 --- a/src/apps/console/routes/_main+/$account+/repo+/$repo+/buildruns/buildruns-resources.tsx +++ b/src/apps/console/routes/_main+/$account+/repo+/$repo+/buildruns/buildruns-resources.tsx @@ -9,7 +9,6 @@ import DeleteDialog from '~/console/components/delete-dialog'; import Grid from '~/console/components/grid'; import List from '~/console/components/list'; import ListGridView from '~/console/components/list-grid-view'; -import ResourceExtraAction from '~/console/components/resource-extra-action'; import { useConsoleApi } from '~/console/server/gql/api-provider'; import { ExtractNodeType, @@ -47,34 +46,11 @@ const parseItem = (item: BaseType) => { }; }; -interface IExtraButton { - onDelete: () => void; -} -const ExtraButton = ({ onDelete }: IExtraButton) => { - return ( - , - // type: 'item', - // onClick: onDelete, - // key: 'delete', - // className: '!text-text-critical', - // }, - ] - } - /> - ); -}; - interface IResource { items: BaseType[]; - onDelete: (item: BaseType) => void; } -const GridView = ({ items, onDelete }: IResource) => { +const GridView = ({ items }: IResource) => { return ( {items.map((item, index) => { @@ -169,32 +145,30 @@ const ListItem = ({ item }: { item: BaseType }) => {
} subtitle={ -
- {`#${commitHash.substring( - commitHash.length - 7, - commitHash.length - )}`} - - {item.metadata?.annotations['github.com/branch']}{' '} +
+
+ {`#${commitHash.substring( + commitHash.length - 7, + commitHash.length + )}`} +
+
+ + {item.metadata?.annotations['github.com/branch']}{' '} +
+ +
+ {item.spec?.registry.repo.tags.map((tag) => ( +
+ + {tag}{' '} +
+ ))} +
} />
- -
-
- {item.spec?.registry.repo.tags.map((tag) => ( - - ))} -
-
@@ -231,7 +205,7 @@ const ListItem = ({ item }: { item: BaseType }) => {
); }; -const ListView = ({ items, onDelete }: IResource) => { +const ListView = ({ items }: IResource) => { return ( {items.map((item, index) => { @@ -265,9 +239,9 @@ const BuildRunResources = ({ items = [] }: { items: BaseType[] }) => { const props: IResource = { items, - onDelete: (item) => { - setShowDeleteDialog(item); - }, + // onDelete: (item) => { + // setShowDeleteDialog(item); + // }, }; const params = useParams(); diff --git a/src/apps/devdoc/public/healthy.txt b/src/apps/devdoc/public/healthy.txt new file mode 100644 index 000000000..d86bac9de --- /dev/null +++ b/src/apps/devdoc/public/healthy.txt @@ -0,0 +1 @@ +OK diff --git a/src/generated/gql/sdl.graphql b/src/generated/gql/sdl.graphql index 24f94c999..29f984698 100644 --- a/src/generated/gql/sdl.graphql +++ b/src/generated/gql/sdl.graphql @@ -387,6 +387,7 @@ enum ConsoleResType { type ConsoleVPNDevice { accountName: String! apiVersion: String + clusterName: String createdBy: Github__com___kloudlite___api___common__CreatedOrUpdatedBy! creationTime: Date! displayName: String! @@ -394,6 +395,7 @@ type ConsoleVPNDevice { id: String! kind: String lastUpdatedBy: Github__com___kloudlite___api___common__CreatedOrUpdatedBy! + linkedClusters: [String!] markedForDeletion: Boolean metadata: Metadata projectName: String @@ -412,6 +414,7 @@ type ConsoleVPNDeviceEdge { input ConsoleVPNDeviceIn { apiVersion: String + clusterName: String displayName: String! environmentName: String kind: String @@ -2889,8 +2892,10 @@ type Mutation { core_updateProjectManagedService(pmsvc: ProjectManagedServiceIn!, projectName: String!): ProjectManagedService core_updateRouter(envName: String!, projectName: String!, router: RouterIn!): Router core_updateSecret(envName: String!, projectName: String!, secret: SecretIn!): Secret + core_updateVpnClusterName(clusterName: String!, deviceName: String!): Boolean! core_updateVPNDevice(vpnDevice: ConsoleVPNDeviceIn!): ConsoleVPNDevice core_updateVPNDeviceEnv(deviceName: String!, envName: String!, projectName: String!): Boolean! + core_updateVpnDeviceNs(deviceName: String!, ns: String!): Boolean! core_updateVPNDevicePorts(deviceName: String!, ports: [PortIn!]!): Boolean! cr_addBuild(build: BuildIn!): Build cr_addBuildCacheKey(buildCacheKey: BuildCacheKeyIn!): BuildCacheKey @@ -3262,6 +3267,8 @@ type Query { core_listSecrets(envName: String!, pq: CursorPaginationIn, projectName: String!, search: SearchSecrets): SecretPaginatedRecords core_listVPNDevices(pq: CursorPaginationIn, search: CoreSearchVPNDevices): ConsoleVPNDevicePaginatedRecords core_listVPNDevicesForUser: [ConsoleVPNDevice!] + core_restartApp(appName: String!, envName: String!, projectName: String!): Boolean! + core_restartProjectManagedService(name: String!, projectName: String!): Boolean! core_resyncApp(envName: String!, name: String!, projectName: String!): Boolean! core_resyncConfig(envName: String!, name: String!, projectName: String!): Boolean! core_resyncEnvironment(name: String!, projectName: String!): Boolean! diff --git a/src/generated/gql/server.ts b/src/generated/gql/server.ts index 667c4765b..9dfdd3566 100644 --- a/src/generated/gql/server.ts +++ b/src/generated/gql/server.ts @@ -689,6 +689,7 @@ export type SecretIn = { export type ConsoleVpnDeviceIn = { apiVersion?: InputMaybe; + clusterName?: InputMaybe; displayName: Scalars['String']['input']; environmentName?: InputMaybe; kind?: InputMaybe; @@ -5132,6 +5133,24 @@ export type ConsoleListImagePullSecretsQuery = { }; }; +export type AuthCli_UpdateDeviceClusterMutationVariables = Exact<{ + deviceName: Scalars['String']['input']; + clusterName: Scalars['String']['input']; +}>; + +export type AuthCli_UpdateDeviceClusterMutation = { + core_updateVpnClusterName: boolean; +}; + +export type AuthCli_UpdateDeviceNsMutationVariables = Exact<{ + deviceName: Scalars['String']['input']; + ns: Scalars['String']['input']; +}>; + +export type AuthCli_UpdateDeviceNsMutation = { + core_updateVpnDeviceNs: boolean; +}; + export type AuthCli_CoreUpdateDevicePortsMutationVariables = Exact<{ deviceName: Scalars['String']['input']; ports: Array | PortIn; @@ -5209,97 +5228,6 @@ export type AuthCli_UpdateCoreDevicePortsMutation = { core_updateVPNDevicePorts: boolean; }; -export type AuthCli_GetDeviceQueryVariables = Exact<{ - clusterName: Scalars['String']['input']; - name: Scalars['String']['input']; -}>; - -export type AuthCli_GetDeviceQuery = { - infra_getVPNDevice?: { - displayName: string; - markedForDeletion?: boolean; - metadata?: { name: string; namespace?: string }; - spec?: { - activeNamespace?: string; - nodeSelector?: any; - cnameRecords?: Array<{ host?: string; target?: string }>; - ports?: Array<{ port?: number; targetPort?: number }>; - }; - status?: { isReady: boolean; message?: { RawMessage?: any } }; - wireguardConfig?: { encoding: string; value: string }; - }; -}; - -export type AuthCli_ListDevicesQueryVariables = Exact<{ - pq?: InputMaybe; - clusterName?: InputMaybe; -}>; - -export type AuthCli_ListDevicesQuery = { - infra_listVPNDevices?: { - edges: Array<{ - node: { - displayName: string; - metadata?: { name: string }; - spec?: { - activeNamespace?: string; - disabled?: boolean; - nodeSelector?: any; - ports?: Array<{ port?: number; targetPort?: number }>; - }; - status?: { isReady: boolean; message?: { RawMessage?: any } }; - wireguardConfig?: { encoding: string; value: string }; - }; - }>; - }; -}; - -export type AuthCli_UpdateDeviceMutationVariables = Exact<{ - clusterName: Scalars['String']['input']; - vpnDevice: VpnDeviceIn; -}>; - -export type AuthCli_UpdateDeviceMutation = { - infra_updateVPNDevice?: { - metadata?: { name: string }; - spec?: { - activeNamespace?: string; - cnameRecords?: Array<{ target?: string; host?: string }>; - ports?: Array<{ targetPort?: number; port?: number }>; - }; - status?: { isReady: boolean; message?: { RawMessage?: any } }; - }; -}; - -export type AuthCli_UpdateDevicePortMutationVariables = Exact<{ - clusterName: Scalars['String']['input']; - deviceName: Scalars['String']['input']; - ports: Array | PortIn; -}>; - -export type AuthCli_UpdateDevicePortMutation = { - infra_updateVPNDevicePorts: boolean; -}; - -export type AuthCli_UpdateDeviceNsMutationVariables = Exact<{ - clusterName: Scalars['String']['input']; - deviceName: Scalars['String']['input']; - namespace: Scalars['String']['input']; -}>; - -export type AuthCli_UpdateDeviceNsMutation = { - infra_updateVPNDeviceNs: boolean; -}; - -export type AuthCli_CreateDeviceMutationVariables = Exact<{ - clusterName: Scalars['String']['input']; - vpnDevice: VpnDeviceIn; -}>; - -export type AuthCli_CreateDeviceMutation = { - infra_createVPNDevice?: { metadata?: { name: string } }; -}; - export type AuthCli_CoreCheckNameAvailabilityQueryVariables = Exact<{ resType: ConsoleResType; name: Scalars['String']['input'];