Compare commits

..

5 Commits

Author SHA1 Message Date
github-actions[bot]
b6b67773d1 chore: update versions (#2756)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @nhost/google-translation@0.2.1

### Patch Changes

-   33ce955: chore: update @google-cloud/translate dep to v8.3.0

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-18 15:40:14 +01:00
Hassan Ben Jobrane
33ce95536d chore: fix vulnerabilities (#2755) 2024-06-18 14:41:58 +01:00
github-actions[bot]
11f9ed7507 chore: update versions (#2739)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @nhost/dashboard@1.17.0

### Minor Changes

- 77fba27: fix: postgres version validation when activating ai in ai
settings page
-   ac6d1b6: feat: use name instead of awsName

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-05 11:07:59 +01:00
David Barroso
ac6d1b6e01 feat (dashboard): use name instead of awsName (#2745) 2024-06-05 10:55:42 +01:00
Zephyr (David B.M.)
77fba27d12 fix (dashboard): validate postgres version in ai service settings page (#2735) 2024-05-31 12:38:36 +02:00
26 changed files with 267 additions and 214 deletions

View File

@@ -1,5 +1,12 @@
# @nhost/dashboard
## 1.17.0
### Minor Changes
- 77fba27: fix: postgres version validation when activating ai in ai settings page
- ac6d1b6: feat: use name instead of awsName
## 1.16.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@nhost/dashboard",
"version": "1.16.3",
"version": "1.17.0",
"private": true,
"scripts": {
"preinstall": "npx only-allow pnpm",

View File

@@ -32,8 +32,7 @@ import { FormProvider, useForm } from 'react-hook-form';
import { toast } from 'react-hot-toast';
import * as Yup from 'yup';
import { DisableAIServiceConfirmationDialog } from './DisableAIServiceConfirmationDialog';
const MIN_POSTGRES_VERSION_SUPPORTING_AI = '14.6-20231018-1';
import { isPostgresVersionValidForAI } from '@/features/ai/settings/utils/isPostgresVersionValidForAI';
const validationSchema = Yup.object({
version: Yup.object({
@@ -165,7 +164,7 @@ export default function AISettings() {
]);
const toggleAIService = async (enabled: boolean) => {
if (postgresVersion < MIN_POSTGRES_VERSION_SUPPORTING_AI) {
if (!isPostgresVersionValidForAI(postgresVersion)) {
toast.error(
'In order to enable the AI service you need to update your database version to 14.6-20231018-1 or newer.',
{
@@ -495,3 +494,4 @@ export default function AISettings() {
</Box>
);
}

View File

@@ -0,0 +1 @@
export { default as isPostgresVersionValidForAI } from './isPostgresVersionValidForAI';

View File

@@ -0,0 +1,22 @@
import { test, vi } from 'vitest';
import isPostgresVersionValidForAI from './isPostgresVersionValidForAI';
beforeEach(() => {
vi.resetModules();
});
test('greater than minimum version, minor version with two digits, should be valid', () => {
const postgresVersion = '14.11-20240515-1';
expect(isPostgresVersionValidForAI(postgresVersion)).toBe(true);
});
test('less than minimum version, should be invalid', () => {
const postgresVersion = '14.6-20221110-1';
expect(isPostgresVersionValidForAI(postgresVersion)).toBe(false);
});
test('equal to minimum version, should be valid', () => {
const postgresVersion = '14.6-20231018-1';
expect(isPostgresVersionValidForAI(postgresVersion)).toBe(true);
});

View File

@@ -0,0 +1,18 @@
/**
* Check if the given postgres version is valid for enabling AI in the project
*
* @param postgresVersion - Postgres version used in the project.
* @returns Whether is valid for enabling AI.
*/
export default function isPostgresVersionValidForAI(
postgresVersion: string,
): boolean {
const MIN_POSTGRES_VERSION_SUPPORTING_AI = '14.6-20231018-1';
if (/^14\.6-/.test(postgresVersion)) {
return postgresVersion >= MIN_POSTGRES_VERSION_SUPPORTING_AI;
}
// Note: No need to account for versions less than 14.6
return true;
}

View File

@@ -108,7 +108,7 @@ export default function useCurrentWorkspaceAndProject(): UseCurrentWorkspaceAndP
id: null,
countryCode: null,
city: null,
awsName: null,
name: null,
domain: null,
},
createdAt: new Date().toISOString(),

View File

@@ -31,7 +31,7 @@ afterEach(() => {
const region: ProjectFragment['region'] = {
id: '1',
awsName: 'eu-west-1',
name: 'eu-west-1',
domain: 'nhost.run',
city: 'Dublin',
countryCode: 'IE',

View File

@@ -89,7 +89,7 @@ export default function generateAppServiceUrl(
const constructedDomain = [
subdomain,
service,
region?.awsName,
region?.name,
region?.domain || 'nhost.run',
]
.filter(Boolean)

View File

@@ -165,7 +165,7 @@ export default function AuthDomain() {
<VerifyDomain
recordType="CNAME"
hostname={auth_fqdn}
value={`lb.${currentProject.region.awsName}.${currentProject.region.domain}.`}
value={`lb.${currentProject.region.name}.${currentProject.region.domain}.`}
onHostNameVerified={() => setIsVerified(true)}
/>
</div>

View File

@@ -167,7 +167,7 @@ export default function HasuraDomain() {
<VerifyDomain
recordType="CNAME"
hostname={hasura_fqdn}
value={`lb.${currentProject.region.awsName}.${currentProject.region.domain}.`}
value={`lb.${currentProject.region.name}.${currentProject.region.domain}.`}
onHostNameVerified={() => setIsVerified(true)}
/>
</div>

View File

@@ -162,7 +162,7 @@ export default function RunServicePortDomain({
<VerifyDomain
recordType="CNAME"
hostname={runServicePortFQDN}
value={`lb.${currentProject.region.awsName}.${currentProject.region.domain}.`}
value={`lb.${currentProject.region.name}.${currentProject.region.domain}.`}
onHostNameVerified={() => setIsVerified(true)}
/>
</div>

View File

@@ -169,7 +169,7 @@ export default function ServerlessFunctionsDomain() {
<VerifyDomain
recordType="CNAME"
hostname={functions_fqdn}
value={`lb.${currentProject.region.awsName}.${currentProject.region.domain}.`}
value={`lb.${currentProject.region.name}.${currentProject.region.domain}.`}
onHostNameVerified={() => setIsVerified(true)}
/>
</div>

View File

@@ -101,7 +101,7 @@ export default function SystemEnvironmentVariableSettings() {
const systemEnvironmentVariables = [
{ key: 'NHOST_SUBDOMAIN', value: currentProject.subdomain },
{ key: 'NHOST_REGION', value: currentProject.region.awsName },
{ key: 'NHOST_REGION', value: currentProject.region.name },
{
key: 'NHOST_HASURA_URL',
value:

View File

@@ -7,7 +7,7 @@ export default function OverviewProjectInfo() {
const { currentProject } = useCurrentWorkspaceAndProject();
const { region, subdomain } = currentProject || {};
const isRegionAvailable =
region?.awsName && region?.countryCode && region?.city;
region?.name && region?.countryCode && region?.city;
return (
<div className="grid grid-flow-row content-start gap-6">
@@ -17,7 +17,7 @@ export default function OverviewProjectInfo() {
<div className="grid grid-flow-row gap-3">
<InfoCard
title="Region"
value={region?.awsName}
value={region?.name}
customValue={
region?.countryCode &&
region?.city && (
@@ -30,7 +30,7 @@ export default function OverviewProjectInfo() {
/>
<Text className="truncate text-sm font-medium">
{region.city} ({region.awsName})
{region.city} ({region.name})
</Text>
</div>
)

View File

@@ -190,7 +190,7 @@ export default function ServiceForm({
image:
values.image.length > 0
? values.image
: `registry.${currentProject.region.awsName}.${currentProject.region.domain}/${newServiceID}`,
: `registry.${currentProject.region.name}.${currentProject.region.domain}/${newServiceID}`,
},
},
},
@@ -361,7 +361,7 @@ export default function ServiceForm({
{isPlatform && serviceID && serviceImage && (
<InfoCard
title="Private registry"
value={`registry.${currentProject.region.awsName}.${currentProject.region.domain}/${serviceID}`}
value={`registry.${currentProject.region.name}.${currentProject.region.domain}/${serviceID}`}
/>
)}

View File

@@ -43,7 +43,7 @@ export default function PortsFormSection() {
const getPortURL = (_port: string | number, subdomain: string) => {
const port = Number(_port) > 0 ? Number(_port) : '[port]';
return `https://${subdomain}-${port}.svc.${currentProject?.region.awsName}.${currentProject?.region.domain}`;
return `https://${subdomain}-${port}.svc.${currentProject?.region.name}.${currentProject?.region.domain}`;
};
return (

View File

@@ -35,7 +35,7 @@ export default function ServiceDetailsDialog({
const getPortURL = (_port: string | number) => {
const port = Number(_port) > 0 ? Number(_port) : '[port]';
return `https://${subdomain}-${port}.svc.${currentProject?.region.awsName}.${currentProject?.region.domain}`;
return `https://${subdomain}-${port}.svc.${currentProject?.region.name}.${currentProject?.region.domain}`;
};
return (
@@ -44,7 +44,7 @@ export default function ServiceDetailsDialog({
<Text color="secondary">Private registry</Text>
<InfoCard
title=""
value={`registry.${currentProject.region.awsName}.${currentProject.region.domain}/${serviceID}`}
value={`registry.${currentProject.region.name}.${currentProject.region.domain}/${serviceID}`}
/>
</div>

View File

@@ -39,7 +39,7 @@ fragment Project on apps {
region {
id
countryCode
awsName
name
domain
city
}

View File

@@ -50,7 +50,7 @@ export const mockApplication: Project = {
appStates: [],
subdomain: '',
region: {
awsName: 'us-east-1',
name: 'us-east-1',
city: 'New York',
countryCode: 'US',
id: '1',

View File

@@ -2657,6 +2657,12 @@ export type ConfigUserRoleComparisonExp = {
_nin?: InputMaybe<Array<Scalars['ConfigUserRole']>>;
};
export type ContainerError = {
__typename?: 'ContainerError';
lastError: LastError;
name: Scalars['String'];
};
/** Boolean expression to compare columns of type "Int". All fields are combined with logical 'AND'. */
export type Int_Comparison_Exp = {
_eq?: InputMaybe<Scalars['Int']>;
@@ -2683,6 +2689,13 @@ export type InvoiceSummary = {
items: Array<InvoiceItem>;
};
export type LastError = {
__typename?: 'LastError';
exitCode: Scalars['Int'];
message: Scalars['String'];
reason: Scalars['String'];
};
export type Log = {
__typename?: 'Log';
log: Scalars['String'];
@@ -2695,6 +2708,33 @@ export type Metrics = {
value: Scalars['float64'];
};
export type ProjectStatusResponse = {
__typename?: 'ProjectStatusResponse';
services: Array<ServiceStatus>;
};
export type ReplicaStatus = {
__typename?: 'ReplicaStatus';
date: Scalars['Timestamp'];
errors: Array<ContainerError>;
ready: Scalars['Boolean'];
};
export enum ServiceState {
Error = 'Error',
None = 'None',
Running = 'Running',
UpdateError = 'UpdateError',
Updating = 'Updating'
}
export type ServiceStatus = {
__typename?: 'ServiceStatus';
name: Scalars['String'];
replicas: Array<ReplicaStatus>;
state: ServiceState;
};
export type StatsLiveApps = {
__typename?: 'StatsLiveApps';
appID: Array<Scalars['uuid']>;
@@ -15948,6 +15988,7 @@ export type Query_Root = {
getLogsVolume: Metrics;
getPostgresVolumeCapacity: Metrics;
getPostgresVolumeUsage: Metrics;
getProjectStatus: ProjectStatusResponse;
/**
* Returns list of label values for a given label within a range of time.
*
@@ -16801,6 +16842,11 @@ export type Query_RootGetPostgresVolumeUsageArgs = {
};
export type Query_RootGetProjectStatusArgs = {
appID: Scalars['String'];
};
export type Query_RootGetServiceLabelValuesArgs = {
appID: Scalars['String'];
};
@@ -17427,6 +17473,7 @@ export type Regions = {
domain: Scalars['String'];
id: Scalars['uuid'];
isGdprCompliant: Scalars['Boolean'];
name: Scalars['String'];
/** An object relationship */
region_type: Region_Type;
/** An array relationship */
@@ -17804,6 +17851,7 @@ export type Regions_Bool_Exp = {
domain?: InputMaybe<String_Comparison_Exp>;
id?: InputMaybe<Uuid_Comparison_Exp>;
isGdprCompliant?: InputMaybe<Boolean_Comparison_Exp>;
name?: InputMaybe<String_Comparison_Exp>;
region_type?: InputMaybe<Region_Type_Bool_Exp>;
regions_allowed_workspaces?: InputMaybe<Regions_Allowed_Workspace_Bool_Exp>;
regions_allowed_workspaces_aggregate?: InputMaybe<Regions_Allowed_Workspace_Aggregate_Bool_Exp>;
@@ -17831,6 +17879,7 @@ export type Regions_Insert_Input = {
domain?: InputMaybe<Scalars['String']>;
id?: InputMaybe<Scalars['uuid']>;
isGdprCompliant?: InputMaybe<Scalars['Boolean']>;
name?: InputMaybe<Scalars['String']>;
region_type?: InputMaybe<Region_Type_Obj_Rel_Insert_Input>;
regions_allowed_workspaces?: InputMaybe<Regions_Allowed_Workspace_Arr_Rel_Insert_Input>;
type?: InputMaybe<Region_Type_Enum>;
@@ -17847,6 +17896,7 @@ export type Regions_Max_Fields = {
description?: Maybe<Scalars['String']>;
domain?: Maybe<Scalars['String']>;
id?: Maybe<Scalars['uuid']>;
name?: Maybe<Scalars['String']>;
updatedAt?: Maybe<Scalars['timestamptz']>;
};
@@ -17859,6 +17909,7 @@ export type Regions_Max_Order_By = {
description?: InputMaybe<Order_By>;
domain?: InputMaybe<Order_By>;
id?: InputMaybe<Order_By>;
name?: InputMaybe<Order_By>;
updatedAt?: InputMaybe<Order_By>;
};
@@ -17872,6 +17923,7 @@ export type Regions_Min_Fields = {
description?: Maybe<Scalars['String']>;
domain?: Maybe<Scalars['String']>;
id?: Maybe<Scalars['uuid']>;
name?: Maybe<Scalars['String']>;
updatedAt?: Maybe<Scalars['timestamptz']>;
};
@@ -17884,6 +17936,7 @@ export type Regions_Min_Order_By = {
description?: InputMaybe<Order_By>;
domain?: InputMaybe<Order_By>;
id?: InputMaybe<Order_By>;
name?: InputMaybe<Order_By>;
updatedAt?: InputMaybe<Order_By>;
};
@@ -17924,6 +17977,7 @@ export type Regions_Order_By = {
domain?: InputMaybe<Order_By>;
id?: InputMaybe<Order_By>;
isGdprCompliant?: InputMaybe<Order_By>;
name?: InputMaybe<Order_By>;
region_type?: InputMaybe<Region_Type_Order_By>;
regions_allowed_workspaces_aggregate?: InputMaybe<Regions_Allowed_Workspace_Aggregate_Order_By>;
type?: InputMaybe<Order_By>;
@@ -17956,6 +18010,8 @@ export enum Regions_Select_Column {
/** column name */
IsGdprCompliant = 'isGdprCompliant',
/** column name */
Name = 'name',
/** column name */
Type = 'type',
/** column name */
UpdatedAt = 'updatedAt'
@@ -17988,6 +18044,7 @@ export type Regions_Set_Input = {
domain?: InputMaybe<Scalars['String']>;
id?: InputMaybe<Scalars['uuid']>;
isGdprCompliant?: InputMaybe<Scalars['Boolean']>;
name?: InputMaybe<Scalars['String']>;
type?: InputMaybe<Region_Type_Enum>;
updatedAt?: InputMaybe<Scalars['timestamptz']>;
};
@@ -18011,6 +18068,7 @@ export type Regions_Stream_Cursor_Value_Input = {
domain?: InputMaybe<Scalars['String']>;
id?: InputMaybe<Scalars['uuid']>;
isGdprCompliant?: InputMaybe<Scalars['Boolean']>;
name?: InputMaybe<Scalars['String']>;
type?: InputMaybe<Region_Type_Enum>;
updatedAt?: InputMaybe<Scalars['timestamptz']>;
};
@@ -18036,6 +18094,8 @@ export enum Regions_Update_Column {
/** column name */
IsGdprCompliant = 'isGdprCompliant',
/** column name */
Name = 'name',
/** column name */
Type = 'type',
/** column name */
UpdatedAt = 'updatedAt'
@@ -22765,7 +22825,7 @@ export type DeleteApplicationMutation = { __typename?: 'mutation_root', deleteAp
export type GetAllWorkspacesAndProjectsQueryVariables = Exact<{ [key: string]: never; }>;
export type GetAllWorkspacesAndProjectsQuery = { __typename?: 'query_root', workspaces: Array<{ __typename?: 'workspaces', id: any, name: string, slug: string, creatorUserId?: any | null, workspaceMembers: Array<{ __typename?: 'workspaceMembers', id: any, type: string, user: { __typename?: 'users', id: any, email?: any | null, displayName: string } }>, projects: Array<{ __typename?: 'apps', id: any, slug: string, name: string, repositoryProductionBranch: string, subdomain: string, createdAt: any, desiredState: number, nhostBaseFolder: string, config?: { __typename?: 'ConfigConfig', observability: { __typename?: 'ConfigObservability', grafana: { __typename?: 'ConfigGrafana', adminPassword: string } }, hasura: { __typename?: 'ConfigHasura', adminSecret: string, settings?: { __typename?: 'ConfigHasuraSettings', enableConsole?: boolean | null } | null }, ai?: { __typename?: 'ConfigAI', version?: string | null } | null } | null, featureFlags: Array<{ __typename?: 'featureFlags', description: string, id: any, name: string, value: string }>, appStates: Array<{ __typename?: 'appStateHistory', id: any, appId: any, message?: string | null, stateId: number, createdAt: any }>, region: { __typename?: 'regions', id: any, countryCode: string, awsName: string, domain: string, city: string }, plan: { __typename?: 'plans', id: any, name: string, price: number, isFree: boolean, featureMaxDbSize: number }, githubRepository?: { __typename?: 'githubRepositories', fullName: string } | null, deployments: Array<{ __typename?: 'deployments', id: any, commitSHA: string, commitMessage?: string | null, commitUserName?: string | null, deploymentStartedAt?: any | null, deploymentEndedAt?: any | null, commitUserAvatarUrl?: string | null, deploymentStatus?: string | null }>, creator?: { __typename?: 'users', id: any, email?: any | null, displayName: string } | null }> }> };
export type GetAllWorkspacesAndProjectsQuery = { __typename?: 'query_root', workspaces: Array<{ __typename?: 'workspaces', id: any, name: string, slug: string, creatorUserId?: any | null, workspaceMembers: Array<{ __typename?: 'workspaceMembers', id: any, type: string, user: { __typename?: 'users', id: any, email?: any | null, displayName: string } }>, projects: Array<{ __typename?: 'apps', id: any, slug: string, name: string, repositoryProductionBranch: string, subdomain: string, createdAt: any, desiredState: number, nhostBaseFolder: string, config?: { __typename?: 'ConfigConfig', observability: { __typename?: 'ConfigObservability', grafana: { __typename?: 'ConfigGrafana', adminPassword: string } }, hasura: { __typename?: 'ConfigHasura', adminSecret: string, settings?: { __typename?: 'ConfigHasuraSettings', enableConsole?: boolean | null } | null }, ai?: { __typename?: 'ConfigAI', version?: string | null } | null } | null, featureFlags: Array<{ __typename?: 'featureFlags', description: string, id: any, name: string, value: string }>, appStates: Array<{ __typename?: 'appStateHistory', id: any, appId: any, message?: string | null, stateId: number, createdAt: any }>, region: { __typename?: 'regions', id: any, countryCode: string, name: string, domain: string, city: string }, plan: { __typename?: 'plans', id: any, name: string, price: number, isFree: boolean, featureMaxDbSize: number }, githubRepository?: { __typename?: 'githubRepositories', fullName: string } | null, deployments: Array<{ __typename?: 'deployments', id: any, commitSHA: string, commitMessage?: string | null, commitUserName?: string | null, deploymentStartedAt?: any | null, deploymentEndedAt?: any | null, commitUserAvatarUrl?: string | null, deploymentStatus?: string | null }>, creator?: { __typename?: 'users', id: any, email?: any | null, displayName: string } | null }> }> };
export type GetAppPlanAndGlobalPlansAppFragment = { __typename?: 'apps', id: any, subdomain: string, workspace: { __typename?: 'workspaces', id: any, paymentMethods: Array<{ __typename?: 'paymentMethods', id: any }> }, plan: { __typename?: 'plans', id: any, name: string } };
@@ -22822,7 +22882,7 @@ export type GetWorkspaceAndProjectQueryVariables = Exact<{
}>;
export type GetWorkspaceAndProjectQuery = { __typename?: 'query_root', workspaces: Array<{ __typename?: 'workspaces', id: any, name: string, slug: string, creatorUserId?: any | null, workspaceMembers: Array<{ __typename?: 'workspaceMembers', id: any, type: string, user: { __typename?: 'users', id: any, email?: any | null, displayName: string } }>, projects: Array<{ __typename?: 'apps', id: any, slug: string, name: string, repositoryProductionBranch: string, subdomain: string, createdAt: any, desiredState: number, nhostBaseFolder: string, config?: { __typename?: 'ConfigConfig', observability: { __typename?: 'ConfigObservability', grafana: { __typename?: 'ConfigGrafana', adminPassword: string } }, hasura: { __typename?: 'ConfigHasura', adminSecret: string, settings?: { __typename?: 'ConfigHasuraSettings', enableConsole?: boolean | null } | null }, ai?: { __typename?: 'ConfigAI', version?: string | null } | null } | null, featureFlags: Array<{ __typename?: 'featureFlags', description: string, id: any, name: string, value: string }>, appStates: Array<{ __typename?: 'appStateHistory', id: any, appId: any, message?: string | null, stateId: number, createdAt: any }>, region: { __typename?: 'regions', id: any, countryCode: string, awsName: string, domain: string, city: string }, plan: { __typename?: 'plans', id: any, name: string, price: number, isFree: boolean, featureMaxDbSize: number }, githubRepository?: { __typename?: 'githubRepositories', fullName: string } | null, deployments: Array<{ __typename?: 'deployments', id: any, commitSHA: string, commitMessage?: string | null, commitUserName?: string | null, deploymentStartedAt?: any | null, deploymentEndedAt?: any | null, commitUserAvatarUrl?: string | null, deploymentStatus?: string | null }>, creator?: { __typename?: 'users', id: any, email?: any | null, displayName: string } | null }> }> };
export type GetWorkspaceAndProjectQuery = { __typename?: 'query_root', workspaces: Array<{ __typename?: 'workspaces', id: any, name: string, slug: string, creatorUserId?: any | null, workspaceMembers: Array<{ __typename?: 'workspaceMembers', id: any, type: string, user: { __typename?: 'users', id: any, email?: any | null, displayName: string } }>, projects: Array<{ __typename?: 'apps', id: any, slug: string, name: string, repositoryProductionBranch: string, subdomain: string, createdAt: any, desiredState: number, nhostBaseFolder: string, config?: { __typename?: 'ConfigConfig', observability: { __typename?: 'ConfigObservability', grafana: { __typename?: 'ConfigGrafana', adminPassword: string } }, hasura: { __typename?: 'ConfigHasura', adminSecret: string, settings?: { __typename?: 'ConfigHasuraSettings', enableConsole?: boolean | null } | null }, ai?: { __typename?: 'ConfigAI', version?: string | null } | null } | null, featureFlags: Array<{ __typename?: 'featureFlags', description: string, id: any, name: string, value: string }>, appStates: Array<{ __typename?: 'appStateHistory', id: any, appId: any, message?: string | null, stateId: number, createdAt: any }>, region: { __typename?: 'regions', id: any, countryCode: string, name: string, domain: string, city: string }, plan: { __typename?: 'plans', id: any, name: string, price: number, isFree: boolean, featureMaxDbSize: number }, githubRepository?: { __typename?: 'githubRepositories', fullName: string } | null, deployments: Array<{ __typename?: 'deployments', id: any, commitSHA: string, commitMessage?: string | null, commitUserName?: string | null, deploymentStartedAt?: any | null, deploymentEndedAt?: any | null, commitUserAvatarUrl?: string | null, deploymentStatus?: string | null }>, creator?: { __typename?: 'users', id: any, email?: any | null, displayName: string } | null }> }> };
export type InsertApplicationMutationVariables = Exact<{
app: Apps_Insert_Input;
@@ -23014,9 +23074,9 @@ export type GetFilesAggregateQuery = { __typename?: 'query_root', filesAggregate
export type AppStateHistoryFragment = { __typename?: 'appStateHistory', id: any, appId: any, message?: string | null, stateId: number, createdAt: any };
export type ProjectFragment = { __typename?: 'apps', id: any, slug: string, name: string, repositoryProductionBranch: string, subdomain: string, createdAt: any, desiredState: number, nhostBaseFolder: string, config?: { __typename?: 'ConfigConfig', observability: { __typename?: 'ConfigObservability', grafana: { __typename?: 'ConfigGrafana', adminPassword: string } }, hasura: { __typename?: 'ConfigHasura', adminSecret: string, settings?: { __typename?: 'ConfigHasuraSettings', enableConsole?: boolean | null } | null }, ai?: { __typename?: 'ConfigAI', version?: string | null } | null } | null, featureFlags: Array<{ __typename?: 'featureFlags', description: string, id: any, name: string, value: string }>, appStates: Array<{ __typename?: 'appStateHistory', id: any, appId: any, message?: string | null, stateId: number, createdAt: any }>, region: { __typename?: 'regions', id: any, countryCode: string, awsName: string, domain: string, city: string }, plan: { __typename?: 'plans', id: any, name: string, price: number, isFree: boolean, featureMaxDbSize: number }, githubRepository?: { __typename?: 'githubRepositories', fullName: string } | null, deployments: Array<{ __typename?: 'deployments', id: any, commitSHA: string, commitMessage?: string | null, commitUserName?: string | null, deploymentStartedAt?: any | null, deploymentEndedAt?: any | null, commitUserAvatarUrl?: string | null, deploymentStatus?: string | null }>, creator?: { __typename?: 'users', id: any, email?: any | null, displayName: string } | null };
export type ProjectFragment = { __typename?: 'apps', id: any, slug: string, name: string, repositoryProductionBranch: string, subdomain: string, createdAt: any, desiredState: number, nhostBaseFolder: string, config?: { __typename?: 'ConfigConfig', observability: { __typename?: 'ConfigObservability', grafana: { __typename?: 'ConfigGrafana', adminPassword: string } }, hasura: { __typename?: 'ConfigHasura', adminSecret: string, settings?: { __typename?: 'ConfigHasuraSettings', enableConsole?: boolean | null } | null }, ai?: { __typename?: 'ConfigAI', version?: string | null } | null } | null, featureFlags: Array<{ __typename?: 'featureFlags', description: string, id: any, name: string, value: string }>, appStates: Array<{ __typename?: 'appStateHistory', id: any, appId: any, message?: string | null, stateId: number, createdAt: any }>, region: { __typename?: 'regions', id: any, countryCode: string, name: string, domain: string, city: string }, plan: { __typename?: 'plans', id: any, name: string, price: number, isFree: boolean, featureMaxDbSize: number }, githubRepository?: { __typename?: 'githubRepositories', fullName: string } | null, deployments: Array<{ __typename?: 'deployments', id: any, commitSHA: string, commitMessage?: string | null, commitUserName?: string | null, deploymentStartedAt?: any | null, deploymentEndedAt?: any | null, commitUserAvatarUrl?: string | null, deploymentStatus?: string | null }>, creator?: { __typename?: 'users', id: any, email?: any | null, displayName: string } | null };
export type WorkspaceFragment = { __typename?: 'workspaces', id: any, name: string, slug: string, creatorUserId?: any | null, workspaceMembers: Array<{ __typename?: 'workspaceMembers', id: any, type: string, user: { __typename?: 'users', id: any, email?: any | null, displayName: string } }>, projects: Array<{ __typename?: 'apps', id: any, slug: string, name: string, repositoryProductionBranch: string, subdomain: string, createdAt: any, desiredState: number, nhostBaseFolder: string, config?: { __typename?: 'ConfigConfig', observability: { __typename?: 'ConfigObservability', grafana: { __typename?: 'ConfigGrafana', adminPassword: string } }, hasura: { __typename?: 'ConfigHasura', adminSecret: string, settings?: { __typename?: 'ConfigHasuraSettings', enableConsole?: boolean | null } | null }, ai?: { __typename?: 'ConfigAI', version?: string | null } | null } | null, featureFlags: Array<{ __typename?: 'featureFlags', description: string, id: any, name: string, value: string }>, appStates: Array<{ __typename?: 'appStateHistory', id: any, appId: any, message?: string | null, stateId: number, createdAt: any }>, region: { __typename?: 'regions', id: any, countryCode: string, awsName: string, domain: string, city: string }, plan: { __typename?: 'plans', id: any, name: string, price: number, isFree: boolean, featureMaxDbSize: number }, githubRepository?: { __typename?: 'githubRepositories', fullName: string } | null, deployments: Array<{ __typename?: 'deployments', id: any, commitSHA: string, commitMessage?: string | null, commitUserName?: string | null, deploymentStartedAt?: any | null, deploymentEndedAt?: any | null, commitUserAvatarUrl?: string | null, deploymentStatus?: string | null }>, creator?: { __typename?: 'users', id: any, email?: any | null, displayName: string } | null }> };
export type WorkspaceFragment = { __typename?: 'workspaces', id: any, name: string, slug: string, creatorUserId?: any | null, workspaceMembers: Array<{ __typename?: 'workspaceMembers', id: any, type: string, user: { __typename?: 'users', id: any, email?: any | null, displayName: string } }>, projects: Array<{ __typename?: 'apps', id: any, slug: string, name: string, repositoryProductionBranch: string, subdomain: string, createdAt: any, desiredState: number, nhostBaseFolder: string, config?: { __typename?: 'ConfigConfig', observability: { __typename?: 'ConfigObservability', grafana: { __typename?: 'ConfigGrafana', adminPassword: string } }, hasura: { __typename?: 'ConfigHasura', adminSecret: string, settings?: { __typename?: 'ConfigHasuraSettings', enableConsole?: boolean | null } | null }, ai?: { __typename?: 'ConfigAI', version?: string | null } | null } | null, featureFlags: Array<{ __typename?: 'featureFlags', description: string, id: any, name: string, value: string }>, appStates: Array<{ __typename?: 'appStateHistory', id: any, appId: any, message?: string | null, stateId: number, createdAt: any }>, region: { __typename?: 'regions', id: any, countryCode: string, name: string, domain: string, city: string }, plan: { __typename?: 'plans', id: any, name: string, price: number, isFree: boolean, featureMaxDbSize: number }, githubRepository?: { __typename?: 'githubRepositories', fullName: string } | null, deployments: Array<{ __typename?: 'deployments', id: any, commitSHA: string, commitMessage?: string | null, commitUserName?: string | null, deploymentStartedAt?: any | null, deploymentEndedAt?: any | null, commitUserAvatarUrl?: string | null, deploymentStatus?: string | null }>, creator?: { __typename?: 'users', id: any, email?: any | null, displayName: string } | null }> };
export type GithubRepositoryFragment = { __typename?: 'githubRepositories', id: any, name: string, fullName: string, private: boolean, githubAppInstallation: { __typename?: 'githubAppInstallations', id: any, accountLogin?: string | null, accountType?: string | null, accountAvatarUrl?: string | null } };
@@ -23559,7 +23619,7 @@ export const ProjectFragmentDoc = gql`
region {
id
countryCode
awsName
name
domain
city
}

6
flake.lock generated
View File

@@ -40,11 +40,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1716813459,
"narHash": "sha256-kPV0JcxBO3krxLeGEAsk5tZ7GUo+DStD2Cg78iGm4v0=",
"lastModified": 1718635840,
"narHash": "sha256-yAc2I1Y05hzAMI8atcxg3g7eXehsJIifTl/BOWIvD3o=",
"owner": "nhost",
"repo": "nixops",
"rev": "981affa7a17fd064bb5096ccfec8ddd98b115ef5",
"rev": "9ea5d933111bcfb1e2ff881e98dd2c48d1b80965",
"type": "github"
},
"original": {

View File

@@ -1,5 +1,11 @@
# @nhost/google-translation
## 0.2.1
### Patch Changes
- 33ce955: chore: update @google-cloud/translate dep to v8.3.0
## 0.2.0
### Minor Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@nhost/google-translation",
"version": "0.2.0",
"version": "0.2.1",
"description": "Google Translation GraphQL API",
"license": "MIT",
"keywords": [
@@ -41,7 +41,7 @@
"verify:fix": "run-p prettier:fix lint:fix"
},
"dependencies": {
"@google-cloud/translate": "^8.2.0",
"@google-cloud/translate": "^8.3.0",
"@graphql-yoga/node": "^2.13.13",
"@pothos/core": "^3.41.0",
"graphql": "16.8.1",

View File

@@ -140,7 +140,15 @@
"katex@>=0.11.0 <0.16.10": ">=0.16.10",
"katex@>=0.15.4 <0.16.10": ">=0.16.10",
"katex@>=0.10.0-beta <0.16.10": ">=0.16.10",
"express@<4.19.2": ">=4.19.2"
"express@<4.19.2": ">=4.19.2",
"ws@>=2.1.0 <5.2.4": "5.2.4",
"ws@>=6.0.0 <6.2.3": "6.2.3",
"ws@>=7.0.0 <7.5.10": "7.5.10",
"ws@>=8.0.0 <8.17.1": "8.17.1",
"braces@<3.0.3": ">=3.0.3",
"@grpc/grpc-js@>=1.10.0 <1.10.9": ">=1.10.9",
"undici@>=6.0.0 <6.11.1": "6.11.1",
"undici@<5.28.4": "5.28.4"
}
}
}

293
pnpm-lock.yaml generated
View File

@@ -46,6 +46,14 @@ overrides:
katex@>=0.15.4 <0.16.10: '>=0.16.10'
katex@>=0.10.0-beta <0.16.10: '>=0.16.10'
express@<4.19.2: '>=4.19.2'
ws@>=2.1.0 <5.2.4: 5.2.4
ws@>=6.0.0 <6.2.3: 6.2.3
ws@>=7.0.0 <7.5.10: 7.5.10
ws@>=8.0.0 <8.17.1: 8.17.1
braces@<3.0.3: '>=3.0.3'
'@grpc/grpc-js@>=1.10.0 <1.10.9': '>=1.10.9'
undici@>=6.0.0 <6.11.1: 6.11.1
undici@<5.28.4: 5.28.4
importers:
@@ -882,7 +890,7 @@ importers:
version: 18.2.73
'@xstate/inspect':
specifier: ^0.6.5
version: 0.6.5(ws@8.16.0)(xstate@4.38.3)
version: 0.6.5(ws@8.17.1)(xstate@4.38.3)
eslint-config-next:
specifier: 12.0.10
version: 12.0.10(eslint@8.57.0)(next@14.1.4)(typescript@4.9.5)
@@ -890,8 +898,8 @@ importers:
specifier: ^4.9.5
version: 4.9.5
ws:
specifier: ^8.16.0
version: 8.16.0
specifier: 8.17.1
version: 8.17.1
xstate:
specifier: ^4.38.3
version: 4.38.3
@@ -1141,7 +1149,7 @@ importers:
version: 3.1.0(vite@5.2.7)
'@xstate/inspect':
specifier: ^0.6.5
version: 0.6.5(ws@8.16.0)(xstate@4.38.3)
version: 0.6.5(ws@8.17.1)(xstate@4.38.3)
dotenv:
specifier: ^16.4.5
version: 16.4.5
@@ -1161,8 +1169,8 @@ importers:
specifier: ^5.2.7
version: 5.2.7(@types/node@16.18.93)(sass@1.32.0)
ws:
specifier: ^8.16.0
version: 8.16.0
specifier: 8.17.1
version: 8.17.1
xstate:
specifier: ^4.38.3
version: 4.38.3
@@ -1311,7 +1319,7 @@ importers:
version: 4.6.2(vite@5.2.7)(vue@3.4.21)
'@xstate/inspect':
specifier: ^0.6.5
version: 0.6.5(ws@8.16.0)(xstate@4.38.3)
version: 0.6.5(ws@8.17.1)(xstate@4.38.3)
sass:
specifier: 1.32.0
version: 1.32.0
@@ -1426,8 +1434,8 @@ importers:
integrations/google-translation:
dependencies:
'@google-cloud/translate':
specifier: ^8.2.0
version: 8.2.0
specifier: ^8.3.0
version: 8.3.0
'@graphql-yoga/node':
specifier: ^2.13.13
version: 2.13.13(graphql@16.8.1)
@@ -1809,7 +1817,7 @@ importers:
version: 4.6.2(vite@5.2.7)(vue@3.4.21)
'@xstate/inspect':
specifier: ^0.8.0
version: 0.8.0(ws@8.16.0)(xstate@4.38.3)
version: 0.8.0(ws@8.17.1)(xstate@4.38.3)
vue:
specifier: ^3.4.21
version: 3.4.21(typescript@4.9.5)
@@ -1817,8 +1825,8 @@ importers:
specifier: ^4.3.0
version: 4.3.0(vue@3.4.21)
ws:
specifier: ^8.16.0
version: 8.16.0
specifier: 8.17.1
version: 8.17.1
xstate:
specifier: ^4.38.3
version: 4.38.3
@@ -4091,11 +4099,11 @@ packages:
- react-dom
dev: true
/@emnapi/runtime@1.1.1:
resolution: {integrity: sha512-3bfqkzuR1KLx57nZfjr2NLnFOobvyS0aTszaEGCGqmYMVDRaGvgIZbjGSV/MHSSmLgQ/b9JFHQ5xm5WRZYd+XQ==}
/@emnapi/runtime@1.2.0:
resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==}
requiresBuild: true
dependencies:
tslib: 2.6.2
tslib: 2.6.3
dev: true
optional: true
@@ -4881,7 +4889,6 @@ packages:
/@fastify/busboy@2.1.1:
resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==}
engines: {node: '>=14'}
dev: true
/@floating-ui/core@1.6.0:
resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==}
@@ -4919,17 +4926,17 @@ packages:
resolution: {integrity: sha512-MU6FrAyG7DWMCL8mu0JDPvB2tnFcn/lYvVKixzqHb2uefRsLaD6OBFfF1q5RMFsKcFHyPySHM7ZcGw/Q6A1/FA==}
dev: false
/@google-cloud/common@5.0.1:
resolution: {integrity: sha512-7NBC5vD0au75nkctVs2vEGpdUPFs1BaHTMpeI+RVEgQSMe5/wEU6dx9p0fmZA0bj4HgdpobMKeegOcLUiEoxng==}
/@google-cloud/common@5.0.2:
resolution: {integrity: sha512-V7bmBKYQyu0eVG2BFejuUjlBt+zrya6vtsKdY+JxMM/dNntPF41vZ9+LhOshEUH01zOHEqBSvI7Dad7ZS6aUeA==}
engines: {node: '>=14.0.0'}
dependencies:
'@google-cloud/projectify': 4.0.0
'@google-cloud/promisify': 4.0.0
arrify: 2.0.1
duplexify: 4.1.3
ent: 2.2.0
extend: 3.0.2
google-auth-library: 9.7.0
google-auth-library: 9.11.0
html-entities: 2.5.2
retry-request: 7.0.2
teeny-request: 9.0.0
transitivePeerDependencies:
@@ -4947,15 +4954,15 @@ packages:
engines: {node: '>=14'}
dev: false
/@google-cloud/translate@8.2.0:
resolution: {integrity: sha512-PDF5FoFXzCEIKtj5zB5nQRYN6Yr0YqnVU1trozFoomvNlMq8iM5GImeCHKjr883ue397j7oc/J1q9eoduzjKRg==}
/@google-cloud/translate@8.3.0:
resolution: {integrity: sha512-c9VXb0V/OzusaHMPh/hjAmaxPZXtNMEr1cRRHd2rRgsGZLSde7vU8rIsD9F959O7US4uFSkLxqjiyqYm1ConJA==}
engines: {node: '>=14.0.0'}
dependencies:
'@google-cloud/common': 5.0.1
'@google-cloud/common': 5.0.2
'@google-cloud/promisify': 4.0.0
arrify: 2.0.1
extend: 3.0.2
google-gax: 4.3.2
google-gax: 4.3.6
is-html: 2.0.0
transitivePeerDependencies:
- encoding
@@ -4974,7 +4981,7 @@ packages:
dependencies:
gqty: 2.3.0(graphql@16.8.1)
graphql: 16.8.1
undici: 6.10.2
undici: 5.28.4
dev: true
/@gqty/react@2.1.0(gqty@2.3.0)(graphql@16.8.1)(react@18.2.0):
@@ -5680,9 +5687,9 @@ packages:
'@types/ws': 8.5.10
graphql: 16.8.1
graphql-ws: 5.16.0(graphql@16.8.1)
isomorphic-ws: 5.0.0(ws@8.16.0)
isomorphic-ws: 5.0.0(ws@8.17.1)
tslib: 2.6.2
ws: 8.16.0
ws: 8.17.1
transitivePeerDependencies:
- bufferutil
- utf-8-validate
@@ -5733,9 +5740,9 @@ packages:
'@graphql-tools/utils': 10.1.2(graphql@16.8.1)
'@types/ws': 8.5.10
graphql: 16.8.1
isomorphic-ws: 5.0.0(ws@8.16.0)
isomorphic-ws: 5.0.0(ws@8.17.1)
tslib: 2.6.2
ws: 8.16.0
ws: 8.17.1
transitivePeerDependencies:
- bufferutil
- utf-8-validate
@@ -6071,10 +6078,10 @@ packages:
'@types/ws': 8.5.10
'@whatwg-node/fetch': 0.9.17
graphql: 16.8.1
isomorphic-ws: 5.0.0(ws@8.16.0)
isomorphic-ws: 5.0.0(ws@8.17.1)
tslib: 2.6.2
value-or-promise: 1.0.12
ws: 8.16.0
ws: 8.17.1
transitivePeerDependencies:
- '@types/node'
- bufferutil
@@ -6098,10 +6105,10 @@ packages:
'@types/ws': 8.5.10
'@whatwg-node/fetch': 0.9.17
graphql: 16.8.1
isomorphic-ws: 5.0.0(ws@8.16.0)
isomorphic-ws: 5.0.0(ws@8.17.1)
tslib: 2.6.2
value-or-promise: 1.0.12
ws: 8.16.0
ws: 8.17.1
transitivePeerDependencies:
- '@types/node'
- bufferutil
@@ -6241,22 +6248,22 @@ packages:
tslib: 2.6.2
dev: false
/@grpc/grpc-js@1.10.6:
resolution: {integrity: sha512-xP58G7wDQ4TCmN/cMUHh00DS7SRDv/+lC+xFLrTkMIN8h55X5NhZMLYbvy7dSELP15qlI6hPhNCRWVMtZMwqLA==}
/@grpc/grpc-js@1.10.9:
resolution: {integrity: sha512-5tcgUctCG0qoNyfChZifz2tJqbRbXVO9J7X6duFcOjY3HUNCxg5D0ZCK7EP9vIcZ0zRpLU9bWkyCqVCLZ46IbQ==}
engines: {node: '>=12.10.0'}
dependencies:
'@grpc/proto-loader': 0.7.12
'@grpc/proto-loader': 0.7.13
'@js-sdsl/ordered-map': 4.4.2
dev: false
/@grpc/proto-loader@0.7.12:
resolution: {integrity: sha512-DCVwMxqYzpUCiDMl7hQ384FqP4T3DbNpXU8pt681l3UWCip1WUiD5JrkImUwCB9a7f2cq4CUTmi5r/xIMRPY1Q==}
/@grpc/proto-loader@0.7.13:
resolution: {integrity: sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==}
engines: {node: '>=6'}
hasBin: true
dependencies:
lodash.camelcase: 4.3.0
long: 5.2.3
protobufjs: 7.2.6
protobufjs: 7.3.0
yargs: 17.7.2
dev: false
@@ -6499,7 +6506,7 @@ packages:
cpu: [wasm32]
requiresBuild: true
dependencies:
'@emnapi/runtime': 1.1.1
'@emnapi/runtime': 1.2.0
dev: true
optional: true
@@ -10043,7 +10050,7 @@ packages:
sirv: 2.0.4
svelte: 3.59.2
tiny-glob: 0.2.9
undici: 5.28.3
undici: 5.28.4
vite: 5.2.7(@types/node@16.18.93)(sass@1.32.0)
transitivePeerDependencies:
- supports-color
@@ -10860,7 +10867,7 @@ packages:
resolution: {integrity: sha512-G3sY+NpsA9jnwm0ixhAFQSJ3Q9JkpLZpJbI3GMv0mIAT0y3mRabYeINzal5WOChIiaTEGQYlHOKgkaM9EisWHw==}
dependencies:
'@types/caseless': 0.12.5
'@types/node': 18.19.28
'@types/node': 16.18.93
'@types/tough-cookie': 4.0.5
form-data: 2.5.1
dev: false
@@ -12123,7 +12130,7 @@ packages:
form-data-encoder: 1.9.0
formdata-node: 4.4.1
node-fetch: 2.7.0(encoding@0.1.13)
undici: 6.10.2
undici: 5.28.4
web-streams-polyfill: 3.3.3
transitivePeerDependencies:
- encoding
@@ -12208,33 +12215,33 @@ packages:
engines: {node: '>=10.0.0'}
dev: true
/@xstate/inspect@0.6.5(ws@8.16.0)(xstate@4.38.3):
/@xstate/inspect@0.6.5(ws@8.17.1)(xstate@4.38.3):
resolution: {integrity: sha512-lUVb/XHaeOl9UP99yQK/rjS+WVx1ymaz0KX8nUsQ4VG/dxvjF0kRcAPCDMuQ7IhWbp0nER+KLE46UFXrqp20Sg==}
peerDependencies:
'@types/ws': ^8.0.0
ws: ^8.0.0
ws: 8.17.1
xstate: ^4.31.0
peerDependenciesMeta:
'@types/ws':
optional: true
dependencies:
fast-safe-stringify: 2.1.1
ws: 8.16.0
ws: 8.17.1
xstate: 4.38.3
dev: true
/@xstate/inspect@0.8.0(ws@8.16.0)(xstate@4.38.3):
/@xstate/inspect@0.8.0(ws@8.17.1)(xstate@4.38.3):
resolution: {integrity: sha512-wSkFeOnp+7dhn+zTThO0M4D2FEqZN9lGIWowJu5JLa2ojjtlzRwK8SkjcHZ4rLX8VnMev7kGjgQLrGs8kxy+hw==}
peerDependencies:
'@types/ws': ^8.0.0
ws: ^8.0.0
ws: 8.17.1
xstate: ^4.37.0
peerDependenciesMeta:
'@types/ws':
optional: true
dependencies:
fast-safe-stringify: 2.1.1
ws: 8.16.0
ws: 8.17.1
xstate: 4.38.3
dev: true
@@ -12457,6 +12464,9 @@ packages:
/ajv-formats@2.1.1:
resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
peerDependenciesMeta:
ajv:
optional: true
dependencies:
ajv: 8.12.0
dev: true
@@ -12648,11 +12658,6 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
/arr-flatten@1.1.0:
resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==}
engines: {node: '>=0.10.0'}
dev: true
/arr-union@3.1.0:
resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==}
engines: {node: '>=0.10.0'}
@@ -13326,29 +13331,11 @@ packages:
dependencies:
balanced-match: 1.0.2
/braces@2.3.2:
resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==}
engines: {node: '>=0.10.0'}
dependencies:
arr-flatten: 1.1.0
array-unique: 0.3.2
extend-shallow: 2.0.1
fill-range: 4.0.0
isobject: 3.0.1
repeat-element: 1.1.4
snapdragon: 0.8.2
snapdragon-node: 2.1.1
split-string: 3.1.0
to-regex: 3.0.2
transitivePeerDependencies:
- supports-color
dev: true
/braces@3.0.2:
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
/braces@3.0.3:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
dependencies:
fill-range: 7.0.1
fill-range: 7.1.1
/breakword@1.0.6:
resolution: {integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==}
@@ -13796,7 +13783,7 @@ packages:
dependencies:
anymatch: 2.0.0
async-each: 1.0.6
braces: 2.3.2
braces: 3.0.3
glob-parent: 6.0.2
inherits: 2.0.4
is-binary-path: 1.0.1
@@ -13817,7 +13804,7 @@ packages:
engines: {node: '>= 8.10.0'}
dependencies:
anymatch: 3.1.3
braces: 3.0.2
braces: 3.0.3
glob-parent: 5.1.2
is-binary-path: 2.1.0
is-glob: 4.0.3
@@ -15159,7 +15146,7 @@ packages:
cors: 2.8.5
debug: 4.3.4
engine.io-parser: 5.2.2
ws: 8.11.0
ws: 8.17.1
transitivePeerDependencies:
- bufferutil
- supports-color
@@ -15190,10 +15177,6 @@ packages:
strip-ansi: 6.0.1
dev: true
/ent@2.2.0:
resolution: {integrity: sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==}
dev: false
/entities@2.1.0:
resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==}
dev: false
@@ -16962,18 +16945,8 @@ packages:
dev: true
optional: true
/fill-range@4.0.0:
resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==}
engines: {node: '>=0.10.0'}
dependencies:
extend-shallow: 2.0.1
is-number: 3.0.0
repeat-string: 1.6.1
to-regex-range: 2.1.1
dev: true
/fill-range@7.0.1:
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
/fill-range@7.1.1:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
dependencies:
to-regex-range: 5.0.1
@@ -17409,8 +17382,8 @@ packages:
wide-align: 1.1.5
dev: true
/gaxios@6.4.0:
resolution: {integrity: sha512-apAloYrY4dlBGlhauDAYSZveafb5U6+L9titing1wox6BvWM0TSXBp603zTrLpyLMGkrcFgohnUN150dFN/zOA==}
/gaxios@6.6.0:
resolution: {integrity: sha512-bpOZVQV5gthH/jVCSuYuokRo2bTKOcuBiVWpjmTn6C5Agl5zclGfTljuGsQZxwwDBkli+YhZhP4TdlqTnhOezQ==}
engines: {node: '>=14'}
dependencies:
extend: 3.0.2
@@ -17431,7 +17404,7 @@ packages:
resolution: {integrity: sha512-Jh/AIwwgaxan+7ZUUmRLCjtchyDiqh4KjBJ5tW3plBZb5iL/BPcso8A5DlzeD9qlw0duCamnNdpFjxwaT0KyKg==}
engines: {node: '>=14'}
dependencies:
gaxios: 6.4.0
gaxios: 6.6.0
json-bigint: 1.0.0
transitivePeerDependencies:
- encoding
@@ -17636,13 +17609,13 @@ packages:
csstype: 3.1.3
dev: false
/google-auth-library@9.7.0:
resolution: {integrity: sha512-I/AvzBiUXDzLOy4iIZ2W+Zq33W4lcukQv1nl7C8WUA6SQwyQwUwu3waNmWNAvzds//FG8SZ+DnKnW/2k6mQS8A==}
/google-auth-library@9.11.0:
resolution: {integrity: sha512-epX3ww/mNnhl6tL45EQ/oixsY8JLEgUFoT4A5E/5iAR4esld9Kqv6IJGk7EmGuOgDvaarwF95hU2+v7Irql9lw==}
engines: {node: '>=14'}
dependencies:
base64-js: 1.5.1
ecdsa-sig-formatter: 1.0.11
gaxios: 6.4.0
gaxios: 6.6.0
gcp-metadata: 6.1.0
gtoken: 7.1.0
jws: 4.0.0
@@ -17651,20 +17624,20 @@ packages:
- supports-color
dev: false
/google-gax@4.3.2:
resolution: {integrity: sha512-2mw7qgei2LPdtGrmd1zvxQviOcduTnsvAWYzCxhOWXK4IQKmQztHnDQwD0ApB690fBQJemFKSU7DnceAy3RLzw==}
/google-gax@4.3.6:
resolution: {integrity: sha512-z3MR+pE6WqU+tnKtkJl4c723EYY7Il4fcSNgEbehzUJpcNWkca9AyoC2pdBWmEa0cda21VRpUBb4s6VSATiUKg==}
engines: {node: '>=14'}
dependencies:
'@grpc/grpc-js': 1.10.6
'@grpc/proto-loader': 0.7.12
'@grpc/grpc-js': 1.10.9
'@grpc/proto-loader': 0.7.13
'@types/long': 4.0.2
abort-controller: 3.0.0
duplexify: 4.1.3
google-auth-library: 9.7.0
google-auth-library: 9.11.0
node-fetch: 2.7.0(encoding@0.1.13)
object-hash: 3.0.0
proto3-json-serializer: 2.0.1
protobufjs: 7.2.6
proto3-json-serializer: 2.0.2
protobufjs: 7.3.0
retry-request: 7.0.2
uuid: 9.0.1
transitivePeerDependencies:
@@ -17902,7 +17875,7 @@ packages:
resolution: {integrity: sha512-pCcEwRi+TKpMlxAQObHDQ56KawURgyAf6jtIY046fJ5tIv3zDe/LEIubckAO8fj6JnAxLdmWkUfNyulQ2iKdEw==}
engines: {node: '>=14.0.0'}
dependencies:
gaxios: 6.4.0
gaxios: 6.6.0
jws: 4.0.0
transitivePeerDependencies:
- encoding
@@ -17930,7 +17903,7 @@ packages:
source-map: 0.6.1
wordwrap: 1.0.0
optionalDependencies:
uglify-js: 3.17.4
uglify-js: 3.18.0
dev: true
/hard-rejection@2.1.0:
@@ -18400,7 +18373,6 @@ packages:
/html-entities@2.5.2:
resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==}
dev: true
/html-escaper@2.0.2:
resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
@@ -19300,12 +19272,12 @@ packages:
transitivePeerDependencies:
- encoding
/isomorphic-ws@5.0.0(ws@8.16.0):
/isomorphic-ws@5.0.0(ws@8.17.1):
resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==}
peerDependencies:
ws: '*'
ws: 5.2.4
dependencies:
ws: 8.16.0
ws: 8.17.1
dev: true
/istanbul-lib-coverage@3.2.2:
@@ -19605,7 +19577,7 @@ packages:
whatwg-encoding: 2.0.0
whatwg-mimetype: 3.0.0
whatwg-url: 10.0.0
ws: 8.16.0
ws: 8.17.1
xml-name-validator: 4.0.0
transitivePeerDependencies:
- bufferutil
@@ -19643,7 +19615,7 @@ packages:
whatwg-encoding: 2.0.0
whatwg-mimetype: 3.0.0
whatwg-url: 12.0.1
ws: 8.16.0
ws: 8.17.1
xml-name-validator: 4.0.0
transitivePeerDependencies:
- bufferutil
@@ -21552,7 +21524,7 @@ packages:
dependencies:
arr-diff: 4.0.0
array-unique: 0.3.2
braces: 2.3.2
braces: 3.0.3
define-property: 2.0.2
extend-shallow: 3.0.2
extglob: 2.0.4
@@ -21571,7 +21543,7 @@ packages:
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
engines: {node: '>=8.6'}
dependencies:
braces: 3.0.2
braces: 3.0.3
picomatch: 2.3.1
/miller-rabin@4.0.1:
@@ -22331,7 +22303,7 @@ packages:
destr: 1.2.2
node-fetch-native: 0.1.8
ufo: 0.8.6
undici: 6.10.2
undici: 5.28.4
dev: true
/on-exit-leak-free@2.1.2:
@@ -23399,15 +23371,15 @@ packages:
resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
dev: true
/proto3-json-serializer@2.0.1:
resolution: {integrity: sha512-8awBvjO+FwkMd6gNoGFZyqkHZXCFd54CIYTb6De7dPaufGJ2XNW+QUNqbMr8MaAocMdb+KpsD4rxEOaTBDCffA==}
/proto3-json-serializer@2.0.2:
resolution: {integrity: sha512-SAzp/O4Yh02jGdRc+uIrGoe87dkN/XtwxfZ4ZyafJHymd79ozp5VG5nyZ7ygqPM5+cpLDjjGnYFUkngonyDPOQ==}
engines: {node: '>=14.0.0'}
dependencies:
protobufjs: 7.2.6
protobufjs: 7.3.0
dev: false
/protobufjs@7.2.6:
resolution: {integrity: sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw==}
/protobufjs@7.3.0:
resolution: {integrity: sha512-YWD03n3shzV9ImZRX3ccbjqLxj7NokGN0V/ESiBV5xWqrommYHYiihuIyavq03pWSGqlyvYUFmfoMKd+1rPA/g==}
engines: {node: '>=12.0.0'}
requiresBuild: true
dependencies:
@@ -23421,7 +23393,7 @@ packages:
'@protobufjs/path': 1.1.2
'@protobufjs/pool': 1.1.0
'@protobufjs/utf8': 1.1.0
'@types/node': 18.19.28
'@types/node': 16.18.93
long: 5.2.3
dev: false
@@ -24419,11 +24391,6 @@ packages:
strip-ansi: 6.0.1
dev: true
/repeat-element@1.1.4:
resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==}
engines: {node: '>=0.10.0'}
dev: true
/repeat-string@1.6.1:
resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==}
engines: {node: '>=0.10'}
@@ -25158,22 +25125,6 @@ packages:
tslib: 2.6.2
dev: true
/snapdragon-node@2.1.1:
resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==}
engines: {node: '>=0.10.0'}
dependencies:
define-property: 1.0.0
isobject: 3.0.1
snapdragon-util: 3.0.1
dev: true
/snapdragon-util@3.0.1:
resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==}
engines: {node: '>=0.10.0'}
dependencies:
kind-of: 3.2.2
dev: true
/snapdragon@0.8.2:
resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==}
engines: {node: '>=0.10.0'}
@@ -25194,7 +25145,7 @@ packages:
resolution: {integrity: sha512-wDNHGXGewWAjQPt3pyeYBtpWSq9cLE5UW1ZUPL/2eGK9jtse/FpXib7epSTsz0Q0m+6sg6Y4KtcFTlah1bdOVg==}
dependencies:
debug: 4.3.4
ws: 8.11.0
ws: 8.17.1
transitivePeerDependencies:
- bufferutil
- supports-color
@@ -26285,14 +26236,6 @@ packages:
kind-of: 3.2.2
dev: true
/to-regex-range@2.1.1:
resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==}
engines: {node: '>=0.10.0'}
dependencies:
is-number: 3.0.0
repeat-string: 1.6.1
dev: true
/to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
@@ -26607,6 +26550,12 @@ packages:
/tslib@2.6.2:
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
/tslib@2.6.3:
resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==}
requiresBuild: true
dev: true
optional: true
/tsutils@3.21.0(typescript@4.9.5):
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
engines: {node: '>= 6'}
@@ -26851,8 +26800,8 @@ packages:
resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
dev: true
/uglify-js@3.17.4:
resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==}
/uglify-js@3.18.0:
resolution: {integrity: sha512-SyVVbcNBCk0dzr9XL/R/ySrmYf0s372K6/hFklzgcp2lBFyXtw4I7BOdDjlLhE1aVqaI/SHWXWmYdlZxuyF38A==}
engines: {node: '>=0.8.0'}
hasBin: true
requiresBuild: true
@@ -26884,16 +26833,11 @@ packages:
/undici-types@5.26.5:
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
/undici@5.28.3:
resolution: {integrity: sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==}
/undici@5.28.4:
resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==}
engines: {node: '>=14.0'}
dependencies:
'@fastify/busboy': 2.1.1
dev: true
/undici@6.10.2:
resolution: {integrity: sha512-HcVuBy7ACaDejIMdwCzAvO22OsiE6ir6ziTIr9kAE0vB+PheVe29ZvRN8p7FXCO2uZHTjEoUs5bPiFpuc/hwwQ==}
engines: {node: '>=18.0'}
/unfetch@4.2.0:
resolution: {integrity: sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==}
@@ -28299,7 +28243,7 @@ packages:
lodash: 4.17.21
opener: 1.5.2
sirv: 1.0.19
ws: 7.5.9
ws: 7.5.10
transitivePeerDependencies:
- bufferutil
- utf-8-validate
@@ -28618,8 +28562,8 @@ packages:
typedarray-to-buffer: 3.1.5
dev: true
/ws@7.5.9:
resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==}
/ws@7.5.10:
resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==}
engines: {node: '>=8.3.0'}
peerDependencies:
bufferutil: ^4.0.1
@@ -28631,21 +28575,8 @@ packages:
optional: true
dev: true
/ws@8.11.0:
resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==}
engines: {node: '>=10.0.0'}
peerDependencies:
bufferutil: ^4.0.1
utf-8-validate: ^5.0.2
peerDependenciesMeta:
bufferutil:
optional: true
utf-8-validate:
optional: true
dev: true
/ws@8.16.0:
resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==}
/ws@8.17.1:
resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==}
engines: {node: '>=10.0.0'}
peerDependencies:
bufferutil: ^4.0.1